Seperti terlihat pada gambar 2.10, Code vision AVR pada dasarnya telah mengintegrasikan
komponen-komponen penting
dalam pemrograman
microcontroller AVR: Editor,Compiler C, assembler dan ISP In System Programmer. Khusus dengan ISP, ada beberapa jenis perangkat keras
programmer dongle berikut papan pengembangnya yang telah didukung oleh perangkat lunak Code vision AVR ini, salah satu diantaranya adalah Kanda
System STK 200300 produk Perusahaan Kanda yang terhubung pada saluran antarmuka port Paralel Komputer.
2.10 Mikrokontroler AVR Dan Bahasa C
Tidak dapat disangkal, dewasa ini penggunaan bahasa pemrograman aras tinggi seperti C, Basic, Pascal dan sebagainya semakin populer dan banyak
digunakan untuk memprogram sistem microcontroller. Berdasarkan sifatnya yang sangat fleksibel dalam hal keleluasaan pemrogram untuk mengakses perangkat
keras, Bahasa C merupakan bahasa pemrograman yang paling cocok dibandingkan bahasa-bahasa pemrograman aras tinggi lainnya.
Dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomson pada tahun 1972, Bahasa C merupakan salah satu bahasa pemrograman yang paling
populer untuk pengembangan program-program aplikasi yang berjalan pada sistem microprocessor komputer. Karena kepopulerannya, vendor-vendor
perangkat lunak kemudian mengembangkan compiler C sehingga menjadi beberapa varian berikut: Turbo C, Borland C, Microsoft C, Power C, Zortech C
dan lain sebagainya. Untuk menjaga portabilitas, compiler-compiler C tersebut menerapkan ANSI C ANSI: American National Standards Institute sebagai
standar bakunya. Perbedaan antara compiler-compiler tersebut umumnya hanya terletak pada pengembangan fungsi-fungsi library serta fasilitas IDE Integrated
Development Environment –nya saja. Relatif dibandingkan dengan bahasa aras
tinggi lain, bahasa C merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat dengan berbagai aturan yang sifatnya kaku. Satu-satunya hal
yang membatasi penggunaan bahasa C dalam sebuah aplikasi adalah semata-mata kemampuan imaginasi programmer-nya saja. Sebagai ilustrasi, dalam program C
kita dapat saja secara bebas menjumlahkan karakter huruf misal „A‟ dengan
Universitas Sumatera Utara
sebuah bilangan bulat misal „2‟, dimana hal yang sama tidak mungkin dapat dilakukan dengan menggunakan bahasa aras tinggi lainnya. Karena sifatnya ini,
seringkali bahasa C dikatagorikan sebagai bahasa aras menengah mid level language.
Dalam kaitannya dengan pemrograman microcontroller, Tak pelak lagi bahasa C saat ini mulai menggeser penggunaan bahasa aras rendah assembler.
Penggunaan bahasa C akan sangat efisien terutama untuk program microcontroller yang berukuran relatif besar. Dibandingkan dengan bahasa assembler,
penggunaan bahasa C dalam pemrograman memiliki beberapa kelebihan berikut: Mempercepat waktu pengembangan, bersifat modular dan terstruktur, sedangkan
kelemahannya adalah kode program hasil kompilasi akan relative lebih besar dan sebagai konsekuensinya hal ini terkadang akan mengurangi kecepatan eksekusi.
Khusus pada microcontroller AVR, untuk mereduksi konsekuensi negative diatas, Perusahaan Atmel merancang sedemikian sehingga arsitektur AVR ini efisien
dalam mendekode serta mengeksekusi instruksi-instruksi yang umum dibangkitkan oleh compiler C Dalam kenyataannya, pengembangan arsitektur
AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama dengan salah satu vendor pemasok compiler C untuk microcontroller tersebut,
yaituI ARC. Seperti halnya compiler C untuk sistem microprocessor, di pasaran ada beberapa varian compiler C untuk memprogram sistem microcontroller AVR.
Dengan beberapa kelebihan yang dimilikinya, saat ini Code Vision AVR produk Perusahaan Pavel Haiduc merupakan compiler C yang relative banyak digunakan
dibandingkan compiler-compiler C lainnya. Bahasa C telah dikritisi secara meluas, dan banyak orang dengan cepat menemukan masalahnya. Tapi sebagai
bahasa yang telah hadir, C tetap tak tersentuh. Code Vision AVR adalah salah satu yang memanfaatkan keunggulan C dalam hal pemrograman mikrokontroler.
Salah satu ungkapan menyatakan bahwa “jika kamu membuat perangkat lunak yang akan tetap layak suatu hari nanti, jangan belajar bahasa yang popular saat
ini, pelajarilah C”. C tidak membatasi pandangan orang mengenai sebuah bahasa pemrograman. C tidak object oriented, tetapi kita dapat menerapkan konsep objek
oriented padanya. Bukan juga bahasa fungsional, tetapi kita dapat dapat menerapkan pemrograman fungsional menggunakannya. Kebanyakan interpreter
Universitas Sumatera Utara
LISP dan skema interpreters-interpreterskompiler-kompiler ditulis dengan menggunakan C. kita dapat memproses list menggunakan C, meski tak semudah
menggunakan LISP. C juga memiliki fitur-fitur tambahan seperti rekursi, prosedur sebagai tipe data kelas pertama, dan banyak lagi. Banyak orang yang merasakan
C kekurangan akan kemudahan seperti JAVA, atau C++. Padahal C adalah bahasa yang sederhana. Tapi karena kesederhanaan ini dianggap kurang memadai
sehingga membuat C diadaptasi sebagai perkenalan pertama ke tahap bahasa tingkat tinggi yang kompleks yang memungkinkan kita mengontrol dengan baik
apa yang kita program tanpa fitur yang disembunyikan. Compiler tidak akan melakukan apapun sampai kita memerintahkan untuk melakukan sesuatu. Bahasa
yang ada adalah transparan, bahkan jika beberapa fitur dari JAVA seperti garbage collection diikutsertakan pada implementasi C yang akan digunakan. Sebagai
bahasa pemrograman, C tetap ada. Ini adalah inti dari development dilingkungan system operasi UNIX. Dan juga inti dari revolusi mikrokomputer, diantara C++,
Delphi, JAVA dan lainnya, C masih tetap bertahan,dengan karakteristiknya sendiri.
Universitas Sumatera Utara
BAB 1
PENDAHULUAN
1.1 Latar Belakang