Mikrokontroler ATmega 8535 Sistem penimbang berat bayi berbasis ATMega8535.

6. Port D PortD0…PortD7 merupakan pin inputoutput dua arah dan pin fungsi khusus, seperti yang terlihat pada tabel 2.4 Tabel 2.4 Fungsi Khusus Port D Pin Fungsi Khusus Port D.7 OC2 TimerCounter Output Compare Match Output Port D.6 ICP TimerCounter1 Input Capture Pin Port D.5 OC1A TimerCounter1 Output Compare A Match Output Port D.4 OC1B TimerCounter1 Output Compare B Match Output Port D.3 INT1 External Interrupt 1 Input Port D.2 INT0 External Interrupt 0 Input Port D.1 TXD USART Output Pin Port D.0 RXD USART Input Pin 7. RXD USART Input Pin 8. XTAL1 dan XTAL2 merupakan pin masukan clock eksternal. 9. AVCC merupakan pin masukan tegangan untuk ADC. 10. AREFF merupakan pin masukan tegangan referensi ADC.

2.5.3. USART Universal Synchronous and Ansynchronous Serial Receiver and Transmitter

USART merupakan komunikasi yang memiliki fleksibilitas tinggi, yang dapat digunakan untuk melakukan transfer data baik antar mikrokontroler maupun dengan modul-modul eksternal termasuk PC yang memiliki fitur UART. USART memungkinkan transmisi data baik secara syncrhronous maupun asyncrhronous, sehingga dengan memiliki USART pasti kompatibel dengan UART. Pada ATmega8535, secara umum pengaturan mode syncrhronous maupun asyncrhronous adalah sama. Perbedaannya hanyalah terletak pada sumber clock saja. Jika pada mode asyncrhronous masing-masing peripheral memiliki sumber clock sendiri, maka pada mode syncrhronous hanya ada satu sumber clock yang digunakan secara bersama-sama. Dengan demikian, secara hardware untuk mode asyncrhronous hanya membutuhkan 2 pin yaitu TXD dan RXD, sedangkan untuk mode syncrhronous harus 3 pin yaitu TXD, RXD dan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI XCK. Komunikasi serial data antara master dan slave pada SPI diatur melalui 4 buah pin yang terdiri dari SCLK, MOSI, MISO, dan SS sbb: a. SCLK dari master ke slave yang berfungsi sebagai clock. b. MOSI jalur data dari master dan masuk ke dalam slave. c. MISO jalur data keluar dari slave dan masuk ke dalam master. d. SS slave select merupakan pin yang berfungsi untuk mengaktifkan slave.

2.5.4. Serial Peripheral Interface SPI

Serial Peripheral Interface SPI adalah protokol data serial sinkron digunakan oleh mikrokontroler untuk berkomunikasi dengan satu atau lebih perangkat periferal cepat jarak pendek. Hal ini juga dapat digunakan untuk komunikasi antara dua mikrokontroler. Dengan koneksi SPI selalu ada perangkat satu master biasanya mikrokontroler yang mengontrol perangkat periferal Komunikasi SPI membutuhkan 3 jalur yaitu MOSI, MISO, dan SCK. Melalui komunikasi ini data dapat saling dikirimkan baik antara mikrokontroller maupun antara mikrokontroller dengan peripheral lain di luar mikrokontroller. Penjelasan 3 jalur utama dari SPI adalah sebagai berikut : a. MOSI : Master Output Slave Input, yaitu jika dikonfigurasi sebagai Master maka pin MOSI sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin MOSI sebagai input. b. MISO : Master Input Slave Output, yaitu jika dikonfigurasi sebagai Master maka pin MISO sebagai input tetapi jika dikonfigurasi sebagai Slave maka pin MISO sebagai output. c. CLK : Clock, jika dikonfigurasi sebagai Master maka pin CLK berlaku sebagai output tetapi jika dikonfigurasi sebagai Slave maka pin CLK berlaku sebagai input. Ada dua macam SPI, yaitu satu master dengan satu slave dan satu master dengan banyak slave. Pada gambar 2.10 ditunjukkan sambungan antar master dan slave dengan SPI. Gambar 2.10 Koneksi Master-Slave dengan SPI [8] PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Register yang berhubungan dengan SPI terdapat seperti gambar 2.11. Gambar 2.11. SPI Control Register [8] Setiap bit dari register SPCR mempunyai fungsinya masing-masing. Dan untuk mengaktifkan SPI, maka perlu diketahui setiat bit register tersebut, sebagai berikut: a. Bit 7 – SPIE: SPI Interrupt Enable. SPIE digunakan untuk mengaktifkan interupsi SPI. b. Bit-6 SPE SPI Enable. SPE digunakan untuk mengaktifkan dan menonaktifkan komunikasi SPI dimana jika SPI bernilai 1 maka komunikasi SPI aktif sedangkan jika bernilai 0 maka komunikasi SPI tidak aktif. c. Bit 5 – DORD: Data Order. DORD digunakan untuk memilih urutan pengiriman data, dari LSB atau MSB terlebih dahulu. Nilai satu untuk LSB dan nilai nol untuk MSB. d. Bit-4 MSTR Master or Slave Select. MSTR digunakan untuk mengkonfigurasi sebagai master atau slave secara software dimana jika MSTR bernilai 1 maka terkonfigurasi sebagai master sedangkan MSTR bernilai 0 maka terkonfigurasi sebagai slave. Pengaturan bit MSTR ini tidak akan bisa dilakukan jika pin SS dikonfigurasi sebagai input karena jika pin SS dikonfigurasi sebagai input maka penentuan master atau slavenya otomatis dilakukan secara hardware yaitu dengan membaca level tegangan pada SS. e. Bit-3 CPOL dan Bit-2 CPHA digunakan untuk pengaturan polaritas dan fasa dari clock. f. Bit-1 SPR10 SPI Clock Rate Select SPR1 dan SPR0 digunakan untuk menentukan kecepatan clock yang digunakan dalam komunikasi SPI. Tabel 2.5. Hubungan SCK dan Frekuensi Osilator [8] SPI2x SPR1 SPR0 SCK Frequency 4 1 16 1 64 1 1 128 1 2 Tabel 2.5 Lanjutan Hubungan SCK dan Frekuensi Osilator [8] 1 1 8 1 1 32 1 1 1 64 Gambar 2.12. SPI Status Register [8] SPIF SPI Interrupt Flag merupakan bendera yang digunakan untuk mengetahui bahwa proses pengiriman data 1 byte sudah selesai. Jika proses pengiriman data sudah selesai maka SPIF akan bernilai satu high. SPIF ini berada dalam SPI Status Register SPSR. Gambar 2.13. SPI Data Register [8] SPI Data Register SPDR SPDR merupakan register yang digunakan untuk menyimpan data yang akan dikirim atau diterima pada komunikasi SPI.

2.6. Analog Digital Converter

Analog To Digital Converter ADC adalah pengubah input analog menjadi kode – kode digital.[9] ADC banyak digunakan sebagai pengatur proses industri, komunikasi digital dan rangkaian pengukuranpengujian. Umumnya ADC digunakan sebagai perantara antara sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya, tekananberat, aliran dan sebagainya kemudian diukur dengan menggunakan sistem digital komputer. ADC Analog to Digital Converter memiliki 2 karakter prinsip, yaitu kecepatan sampling dan resolusi.kecepatan sampling suatu ADC menyatakan seberapa sering sinyal analog dikonversikan ke bentuk sinyal digital pada selang waktu tertentu.Kecepatan sampling biasanya dinyatakan dalam sample per second SPS. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Prinsip kerja ADC adalah mengkonversi sinyal analog ke dalam bentuk besaran yang merupakan rasio perbandingan sinyal input dan tegangan referensi. = ∗ 2 2.6 Sistem mikroprosesor hanya dapat mengolah memproses data dalam bentuk biner saja, atau lebih sering disebut besaran digital, oleh sebab itu setiap data analog yang akan diproses oleh mikrokomputer harus diubah terlebih dahulu kedalam bentuk kode biner digital.[9] Tegangan analog yang merupakan masukan dan ADC berasal dari transducer. Tranducer inilah yang mengubah besaran kontinyu seperti temperatur, tekanan, kecepatan, ataupun putaran motor menjadi tegangan listrik. Tegangan listnik yang dihasilkan oleh transducer yang berubah secara kontinyu pada suatu range tertentu disebut tegangan analog, dan tegangan analog ini diubah oleh ADC menjadi bentuk digital yang sebanding dengan tegangan analognya. Ada 3 karakteristik yang perlu diperhatikan dalam pemilihan komponen ADC, antara lain: Resolusi. Merupakan spesifikasi terpenting untuk ADC, yaitu jumlah langkah dan sinyal skala penuh yang dapat dibagi, dan juga ukuran dan langkah-langkah. Boleh juga dinyatakan dalam jumlah bit yang ada dalam satu kata digital word, ukuran LSB langkah terkecil sebagai persen dan skala penuh atau dapat juga LSB dalam mV untuk skala penuh yang diberikan. Akurasi. Adalah jumlah dan semua kesalahan, misalnya kesalahan non linieritas, skala penuh, skala nol, dll. Dapat juga menyatakan perbedaan antara tegangan input analog secara teoritis yang dibutuhkan untuk menghasilkan suatu kode biner tertentu terhadap tegangan input nyata yang menghasilkan tegangan kode biner tersebut. Waktu konversi. Waktu yang dibutuhkan untuk mendigitalkan setiap sampel atau yang diperlukan untuk menyelesaikan suatu konversi.

2.7. Visual Basic

Visual Basic adalah salah suatu development tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan dialok bahasa Basic yang cenderung mudah dipelajari.Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer dalam pengembangan aplikasi skala kecil sampai ke skala besar.

2.7.1. Tipe Variabel

Ketepatan pemilihan tipe variabel akan sangat menentukan pemakaian resources oleh aplikasi yang dihasilkan, adalah tugas programmer untuk memilih tipe yang sesuai untuk menghasilkan program yang efisien dan berperfomance tinggi [10]. Tabel 2.6. Tipe variabel, pemakaian storage dan jangkauan masing-masing [10] Type Data Ukuran Storage Jangkauan Byte 1 byte 0 sd 255 Boolean 2 byte True atau False Integer 3 byte -32,768 sd 32767 Long 4 byte -2,147,483,648 sd 2,147,483,647 Single 4 byte -3.402823E38 sd -1.401298E-45 - 1.401298E-45 sd 3.402823E38 + Double 8 byte -1.79769313486232E308 sd - 4.94065645841247E-324 - Currency 8 byte -922,337,203,685,477.5808 sd 922,337,203,685,477.580 Decimal 14 byte +79,228,162,514,264,337,593,543,9 50,335 Date 8 byte 1 Januari 100 sd 31 Desember 9999 Object 4 byte Mengacu pada objek tertentu String panjang variabel 10 byte + panjang string 0 sampai lebih kurang 2 milyar String panjang tetap panjang dari string 1 sampai lebih kurang 65,400 Variant dengan angka 16 byte Sembarang angka sampai jangkauan jenis Double PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Tabel 2.6 Lanjutan Tipe Variabel, pemakaian storage dan jangkauan masing-masing [10] Single 4 byte -3.402823E38 sd -1.401298E-45 - Decimal 14 byte +79,228,162,514,264,337,593,543,9 50,335

2.7.2. Operator pada Visual Basic dan Urutan Operasinya

Visual basic meyediakan operator aritmatika, komparasi dan logika, salah satu hal yang harus dipahami oleh programmer adalah tata urutan operasi dari masing-masing operator tersebut sehingga mampu membuat ekspresi yang akan menghasilkan nilai yang benar, Tabel 2.7 menunjukkan operator dan urutan operasinya dari atas ke bawah. Tabel 2.7. Operator pada Visual Basic dan urutan operasi dari atas ke bawah Aritmatika Komparasi Logika Pangkat Sama = Not Negatif - Tidak sama And Kali dan Bagi , Kurang dari Or Pembagian bulat \ Lebih dari Xor Sisa Bagi Mod Kurang dari atau sama = Eqv Tambah dan Kurang +,- Lebih dari atau sama = Imp Pengabungan String Like

2.7.3. Operator Like

Salah satu operator yang menarik untuk dibahas adalah operator like, karena operatorini tidak tersedia pada bahasa BASIC. Operator digunakan untuk operasi pencocokan polapada string yang akan sangat membantu programmer. Tabel 2.8. menunjukan karakter dalam pencocokan pola pada operator like. Tabel 2.8. Karakter dalam pencocokan pola pada Operator Like Karakter dalam pola Penyamaan dalam string ? Sembarang karakter tunggal Tabel 2.8 Lanjutan Karakter dalam pencocokan pola pada Operator Like Nol atau lebih karakter Sembarang digit tunggal 0-9 [charlist] Sembarang karakter yang berada dalam charlist [charlist] Sembarang karakter yang tidak berada dalam charlist

2.7.4. Deklarasi Variabel

a. Deklarasi variabel pada bagian deklarasi general declaration di suatu form, standar, atau class module, dari pada dalam suatu procedure, membuat variabel itu berlaku untuk semua procedure dan function dalam module tersebut b. Deklarasi variabel dengan menggunakan keyword Public membuatnya berlaku pada keseluruhan aplikasi anda. c. Deklarasi suatu variabel lokal dengan menggunakanan keyword Static akan menyimpan nilainya ketika suatu procedure berakhir.

2.7.5. Mengenal Struktur Kendali

Struktur kendali memungkinkan anda untuk mengatur jalannya program anda, Jika membiarkan tanpa di periksa oleh statement control-flow, suatu logika program akan berjalan dari kiri ke kanan dan dari atas kebawah. Hanya program yang sangat sederhana dapat ditulis tanpa statement control-flow. Struktur keputusan yang didukung oleh Visual Basic adalah sebagai berikut : a. If…Then Kondisi biasanya berupa suatu perbandingan, maupun ekspresi yang menghasilkan nilai numerik.Visual Basic menginterpretasikan False sebagai nol 0, dan True sebagai bukan nol. b. If…Then…Else Visual Basic awalnya akan mencoba kondisi1. Jika False, maka Visual Basic akan memeriksa kondisi2, dan seterusnya sampai menemukan suatu kondisi True untuk dijalankan blok pernyataannya. c. Select Case Visual Basic menyediakan struktur Select Case sebagai suatu alternatif terhadap If...Then...Else.Suatu Select Case statement memiliki kemampuan yang sama dengan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI If…Then…Else…, tetapi membuat code lebih mudah dibaca. Struktur Select Case bekerja dengan suatu percobaan tunggal yang hanya dievaluasi satu kali pada bagian atas struktur.Visual Basic then membandingkan hasil ekspresi dengan nilai pada setiap case didalam struktur tersebut, jika ada yang sesuai, akan dijalankan blok statement yang sesuai.

2.7.6. Deklarasi Konstanta

Membuat code dapat ditangani dengan menggunakan suatu konstanta [9]. Suatu konstanta adalah nama yang menyimpan dari suatu nilai yang tidak dapat berubah. Ada dua sumber dari suatu konstanta : a. Intrinsic atau System-defined konstanta yang disediakan oleh suatu aplikasi atau kontrol. Konstanta Visual Basic terdaftar pada Visual Basic VB, Visual Basic for Application VBA, dan Data Access DAO. b. Symbolic atau User-defined konstanta adalah dideklarasikan dengan menggunakan statement Const. c. Membuat suatu konstanta yang mana hanya ada dalam suatu procedure, deklarasikan di dalam procedure tersebut d. Membuat suatu konstanta berlaku pada semua procedure dalam suatu module, deklarasikan dia pada bagian deklarasi di module tersebut. e. Membuat suatu konstanta berlaku pada semua aplikasi, deklarasikan dia dengan keyword Public sebelum kata Const.

2.7.7. Struktur Pengulangan

Struktur loop memperbolehkan untuk melaksanakan sekelompok baris lebih dari satu kali [9]: a. Do…Loop Ketika Visual menjalankan Do loop ini, pertama kali akan di coba kondisinya, jika kondisi False 0, akan diloncati semua statements yang mengikuti kondisi tersebut. Visual Basic akan menjalankan statements jika kondisi benar dan kembali ke Do…Loop berikutnya. b. For…Next Do loops bekerja dengan baik, ketika anda tidak tahu berapa bayak kali untuk butuhkan untuk menjalankan statement. Ketika anda mengetahui harus menjalankan