21 mikrokontroler yang berfungsi mengeksekusi program sesuai waktu yang
dikehendaki oleh pemrogram. Mikrokontroler juga memiliki UART Universal Asynchronous Receive Transmit sebagai jalur komunikasi secara serial tak
sinkron.
Fasilitas lain yaitu PWM Pulse Width Modulation, mikrokontroler dapat
membuat gelombang kotak yang dapat diatur kecepatan hidup-mati modulasi
gelombang. Mikrokontroler terdapat fitur ADC Analog to Digital Converter
adalah fitur dari IC mikrokontroler yang dapat mengkonversi nilai analog yang
berupa tegangan ke dalam bentuk nilai digital. Fitur lain yaitu SPI Serial Peripheral Interface adalah jalur komunikasi data secara serial sinkron. Fitur
yang terahkir yaitu ISP In System Programming adalah kemampuan IC
mikrokontroler untuk dapat diprogram secara langsung yang hanya membutuhkan kaki yang minimalis. Suprapto, 2012 :20.
a. Pemrograman mikrokontroler
Terdapat beberapa bahasa pemrograman yang digunakan utnuk menulis program dari komputer. Bahasa pemrograman seperti dalam Suprapto 2012, 33-
35 adalah sebuah notasi yang memiliki suatu ketentuan khusus pada setiap jenis bahasa pemrograman untuk memprograman melalui komputer ke suatu objek
yang diprogram. Bahasa pemrograman dibagi menjadi dua tingkat, yaitu bahasa mesin,
bahasa tingkat tinggi dan tingkat rendah. Bahasa mesin machine language yaitu bahasa yang sulit dipahami oleh manusia, namun proses eksekusinya sangat
cepat, dan memerlukan penerjemah atau interpreter. Bahasa tingkat rendah low level language atau bahasa assembly adalah bahasa yang apabila di eksekusi
22 harus ada assembler untuk menerjemahkan ke mesin, bahasa pemrograman jenis
ini juga sulit dipahami oleh manusia. Jenis bahasa pemrograman yang terakhir yaitu bahasa tingkat tinggihigh
level language yaitu bahasa yang mudah dipahami oleh manusia karena susunan bahasanya mirip bahasa manusia, apabila dieksekusi bahasa ini memerlukan
compiler atau interpreter. Bahasa tingkat tinggi memiliki beberapa jenis seperti basic, fortran, cobol, pascal, C, C++, C, java dan visual basic.
Pada pemrograman mikrokontroler bahasa yang digunakan yaitu bahasa C. Menurut Andik Asmara 2013:1 bahasa C digunakan didunia pendidikan karena
struktur dan kemudahan untuk memahami yang dipilih sebagai bahasa pemrograman mikrokontroler. Manusia akan memrogram menggunakan bahasa
C akan diterjemahkan ke dalam bentuk bahasa tingkat rendah oleh software lalu dikirim ke mikrokontroler. Bahasa C memiliki sifat case sensitive, yaitu dalam
penulisan program peka mendeteksi perbedaan huruf kapital dan tidak kapital pada pendeklarasian maupun memrogram mikrokontroler.
b. ATmega32
Pada penelitian yang dilakukan peneliti akan menggunakan mikrokontroler ATmega32. Berdasarkan Datasheet IC Mikrokontroler ATmega32 adapun Fitur
dan fasilitas dari ATmega32 ditinjau dari kecanggihan arsitektur RISC Reduced Instruction Set Computer , ATmega32 memiliki 131 instruksi andal yang umumnya
hanya membutuhkan 1 siklus clock dan 32 x 8 yang bersifat general purpose working register. Kecepatan mikrokonroler mencapai 16 MIPSmillion instruction
per second serta On-chip 2-cycle multiplier.
23 Mikrokontroler ATmega32 memiliki memori program dan memori data yang
bersifat Non-volatile seperti memiliki memori flash sebesar 32K Bytes yang bersifat In-System Self-Programmable dan memiliki kapasitas EEPROM 1024
Bytes dan memori internal SRAM sebesar 2K Byte. Dapat diisi program atau dihapus sebanyak 10.000 kali untuk memori flash, 100.000 memori EEPROM.
Pada sisi pemrograman, mikrokontroler ini juga dilengkapi dengan fasilitas programming lock untuk mengamankan program yang sudah ada di dalam IC
supaya aman. Memiliki optional boot code section with independet lock bits. Selain itu mikrokontroler ATmega32 memiliki beberapa fitur periperal yaitu
memiliki dua buah timercounter 8bit dengan mode separate prescaler dan compare, Satu buah timercounter 16bit dengan mode separate prescaler,
compare mode, dan capture. Memiliki real time counter dengan oscillator berdiri sendiri dan memiliki 4 saluran PWMpulse width modulation. Terdapat 8 saluran
10bit ADC. Memiliki antarmuka serial dua kabel yang berorentasi byte serta pemrograman serta bersifat programmable serial USART, dan yang paling
terkakhir dari fitur periperal memiliki analog comparator. Selain memiliki fitur periperal, ATmega32 memiliki spesial fitur mikrokontroler,
seperti Power-on reset dan programmable deteksi brown-out. Memiliki Internal RC oscillator yang terkalibrasi, External dan internal intterrupt. Memiliki enam mode
sleep yaitu : idle, ADC Noise Reduction, power save, powerdown, standby, dan extended standby.
Mikrokotroler ATmega32 memiliki 32 jalur IO yang bersifat programmable dapat diprogram ulang. Memiliki 40pin untuk paket PDIP, 44pin untuk TQFP,
44pin untuk paket QFNMLF. Tegangan kerja mikrokontroler yaitu berkisar pada 2.7
– 5.5Volt untuk ATmega32L, namun tegangan kerja untuk ATmega32 berkisar