Deprecated: Required parameter $output follows optional parameter $depth in /home/pkaykstj/andiandaria.trinita.ac.id/wp-content/themes/jannah/framework/classes/class-tielabs-mega-menu.php on line 451
Pertemuan 4 (Hardware dan Software Mikrokontroler AVR dan Arduino – 2) – Charissa
Periferal dan Antarmuka

Pertemuan 4 (Hardware dan Software Mikrokontroler AVR dan Arduino – 2)

DAFTAR ISI
2.4 Bahasa Pemprograman
2.4.1 Bahasa Mesin
2.4.2 Bahasa Assembly
2.4.3 Bahasa Tingkat Tinggi

2.5 Bahasa Pemrograman C
2.5.1 Penulisan Bahasa C AVR
2.5.2 Penulisan Bahasa C Arduino
2.5.3 Tipe Data
2.5.4 Operator

TUJUAN PEMBELAJARAN
1. Peserta Didik mampu menjelaskan tentang mikrokontroler AVR.
2. Peserta Didik mampu menjelaskan tentang Arduino.
3. Peserta Didik mampu menguraikan jenis bahasa pemprograman mikrokontroler.
4. Peserta Didik mampu mencontohkan pengaplikasian sintak dasar bahasa pemprograman C.

2.4 Bahasa Pemprograman
Untuk menjalanakan mikrokontroler dibutuhkan sebuah program atau kode inisialisasi dalam bentuk biner 0 dan 1. Dalam menginisialisai program tersebut dibutuhkan sebuah pengkonversi (compiller) untuk mempermudah manusia dalam menentukan fungsi mikrokontroller tersebut dalam arti lain mengubah bahasa manusia menjadi bahasa kode mikrokontroller yaitu 0/1.

Bahasa yang dimaksud dalam pengkonversi tersebut disebut sebagai code program / pemprograman. Dalam pemprograman suatu mikrokontroler terdapat 3 level atau tingkatan berdasarkan tingkat kesukaranya yaitu bahasa mesin, assembly, dan bahasa tingkat tinggi.

2.4.1 Bahasa Mesin
Bahasa mesin (machine language/machine code) adalah bahasa yang dipahami oleh komputer. Kode yang terdapat pada bahasa ini berupa kode bilangan biner yang dapat diproses oleh mikrokontroler sehingga sulit dipahami oleh manusia.

Bahasa mesin umumnya bersifat spesifik, yaitu tidak lintas jenis mikrokontroler sehingga suatu jenis mikrokontroler memiliki bahasa pemrograman yang berbeda dengan jenis mikrokontroler lainnya.

File bahasa mesin memiliki ekstensi .hex, karena untuk kepentingan manusia yang memprogram kode biner dikonversikan menjadi kode bilangan heksadesimal.

2.4.2 Bahasa Assembly
Bahasa Assembly terdiri dari instruksi berupa representasi mnemonic dari instruksi berupa kode bilangan biner dari bahasa mesin. Umumnya mnemonic berupa singkatan tiga atau empat huruf dari kata yang mewakili suatu instruksi.

Contohnya instruksi Assembly adalah sebagai berikut :
• SUB adalah kode Assembly untuk instruksi substract, yaitu mengurangkan suatu angka dari angka lain.
• CBI adalah kode Assembly untuk instruksi Clear Bit I/O, yaitu memberi logika nol pada suatu pin I/O digital.

Instruksi pada Bahasa Assembly diterjemahkan menjadi bahasa mesin oleh perangkat lunak Assembler.

Seperti juga bahasa mesin bahasa Assembly juga spesifik untuk suatu jenis mikrokontroler tertentu.

2.4.3 Bahasa Tingkat Tinggi
Bahasa pemrograman tingkat tinggi (high level programming language) memiliki sintaks yang lebih mendekati bahasa manusia. Hal ini menyebabkan bahasa tingkat tinggi lebih mudah untuk dipelajari.

Meski demikian bahasa tingkat tinggi umumnya menghasilkan ukuran kode yang lebih besar dibandingkan bahasa Assembly.

Bahasa tingkat tinggi memerlukan perangkat lunak kompiler (compiler) untuk menerjemahkan kode menjadi bahasa mesin.

Contoh compiler atau bahsa pemprograman yang berada pada tingkat tinggi:
• Bahasa C
• Bahasa Basic

Pada buku ini akan lebih memfokuskan pada penggunaan bahasa tingkat tinggi C. Pemrograman mikrokontroler dilakukan dalam beberapa langkah.

Langkah pertama adalah penulisan kode program menggunakan perangkat lunak text editor yang menghasilkan file .asm untuk Assembly, .c untuk C, dan .bas untuk Basic.

Langkah berikutnya adalah proses kompilasi program menggunakan perangkat lunak compiler yang menghasilkan file .hex yang berisi kode bahasa mesin.

Sebelum dikompilasi file sumber diperiksa sintaksnya terlebih dahulu oleh preangkat lunak debugger.

File .hex inilah yang dimasukkan ke mikrokontroler menggunakan perangkat lunak programmer.

Saat proses pemasukan program ini mikrokontroler dipasang pada rangkaian downloader dan dihubungkan dengan PC melalui perangkat keras programmer.

Setelah diprogram mikrokontroler menjalankan fungsinya sebagai kontroler/pengendali pada rangkaian sistem minimum (Sismin) yang merupakan rangkaian yang berisi beberapa komponen tambahan pendukung mikrokontroler.

Saat ini tidak diperlukan rangkaian downloader khusus karena AVR memiliki fasilitas ISP (In System Programming) sehingga AVR dapat diprogram langsung pada rangkaian kerjanya menggunakan programmer.

Beberapa perangkat lunak pemrograman AVR merupakan IDE (Integrated Development Environment).

IDE adalah suatu perangkat lunak pemrograman yang memuat seluruh/sebagian besar fasilitas untuk memprogram mikrokontroler, seperti text editor, debugger, compiler, dan downloader, sehingga tidak diperlukan lagi perangkat lunak lainnya.

Beberapa IDE bahkan juga memiliki fasilitas simulator dan komunikasi serial.

Berbeda dengan mikrokontroler AVR, proses Upload program pada Arduino sudah tidak menggunakan perangkat keras berupa downloader karena papan arduino telah tersedia chip bootloader yang memungkinkan upload program dilakukan lewat data serial USART (rx dan tx).

2.5 Bahasa Pemrograman C
Menurut Iswanto (2011) bahasa C adalah bahasa pemrograman yang dapat dikatakan berada di bahasa beraras tinggi. Bahasa beraras rendah artinya bahasa yang berorientasi pada mesin, sedangkan beruas tinggi berorientasi pada manusia.

Bahasa beraras rendah, misalnya bahasa assembler, ditulis dengan sandi yang hanya dimengerti oleh mesin sehingga hanya digunakan bagi yang memrogram mikrokontroler.

Bahasa beraras rendah merupakan bahasa yang membutuhkan kecermatan tinggi bagi pemrogram karena perintahnya harus rinci, ditambah lagi masingmasing pabrik mempunyai sandi perintah sendiri.

Bahasa tinggi relatif mudah digunakan karena ditulis dengan bahasa manusia sehingga mudah dimengerti dan tidak tergantung mesinnya. Bahasa beraras tinggi umumnya digunakan pada komputer.

Pencipta bahasa C adalah Brian Wr Kemighan dan Denis M. Ritchi sekitar 1972. Penulisan program dalam bahasa C dilakukan dengan membagi dalam blok-blok sehingga bahasa C disebut bahasa terstruktur.

Bahwa C dapat digunakan di berbagai mesin dengan mudah, mulai dari PC sampai mainframe, serta menggunakan berbagai sistem operasi misalnya DOS, UNIX, VMS, dan lain-lain.

2.5.1 Penulisan Bahasa C AVR
Program Bahasa C tidak mengenal aturan penulisan di kolom tertentu sehingga bisa dimulai dari kolom manapun. Namun demikian, untuk mempermudah pembacaan program dan keperluan dokumentasi, sebaiknya penulisan bahasa C diatur sedemikian rupa sehingga mudah dan enak dibaca.

Program dalam bahasa C selalu berbentuk fungsi seperti ditunjukkan main(). Program yang dijalankan berada dalam tubuh program dan dimulai dengan tanda kurung buka”f” dan diakhiri dengan kurung tutup”g” Semua yang tertulis di dalam tubuh program disebut blok.

Tanda “()” digunakan untuk mengapit argumen suatu fungsi.

Argumen adalah suatu nilai yang akan digunakan dalam fungsi tersebut. Dalam fungsi main, tidak ada argumen sehingga tak ada data dalam ().

Dalam tubuh fungsi antara tanda “[” dan tanda “]”, ada sejumlah pernyataan yang merupakan perintah dan harus dikerjakan oleh prosesor. Setiap pernyataan diakhiri tanda titik koma “;”.

Gambar 2.5: Contoh Penulisan Program Pada C AVR

Baris pertama #include <…> bukanlah pernyataan sehingga tak diakhiri tanda titik koma “;”. Baris tersebut meminta kompiler untuk menyertakan file yang namanya ada di antara tanda <…> dalam proses kompilasi.

File-file ini (berekstensi .h) berisi deklarasi fungsi ataupun variable.

File ini disebut header dan digunakan semacam perpustakaan untuk pernyataan yang ada di tubuh program.

Gambar 2.6: Code Vision AVR

Ada beberapa program yang dapat digunakan sebagai editor dan compiler untuk mikrokontroler AVR, salah satunya adalah CodeVisionAVR.

CodeVisionAVR adalah salahsatu alat bantu pemrograman (programing tools) yang bekerja dalam lingkunga pengambangan perangkat lunak yang terintegrasi (Integrated Develoment Environment, IDE ).

Seperti aplikasi IDE lainya, CodevisionAVR dilengkapi dengan sourcecode editor, compiler, linker, dan dapat memanggil Atmel AVR studio untuk debuggernya.

2.5.2 Penulisan Bahasa C Arduino
Penulisan program bahasa C di Arduino:

Gambar 2.7: Contoh Penulisan Program Pada C Arduino

Penjelasan tentang fungsi setiap sintak pada Arduino hampir sama dengan AVR. Beberapa bagian yang membedakannya adalah sebagai berikut:

  • “void main(void)” menjadi “void setup()”: penanda atau sebagai penunjuk isi dari program dalam pemprograman AVR, isi dari program dimulai dari tanda kurung kurawal { dan diakhiri pula dengan tanda tutup kurung kurawal }.
  • perintah “while(1)” sendiri juga dapat digunakan di arduino, tapi secara khusus aplikasi arduino sudah menyediakan tempat untuk menulis program yang memiliki karakteristik berulang (looping) yang tertulis “void loop()”.

Secara Prinsip, sketch selalu melibatkan dua fungsi, yaitu setup() dan loop(). Kode Sketch menimal dapat dilihat pada gambar 2.7.

Baris yang mengandung void dan nama fungsi adalah judul fungsi, sedangkan bagian { } dinamakan tubuh fungsi. Semua definisi fungsi melibatkan judul fungsi dan tubuh fungsi.

Menurut Kadir (2015) fungsi sendiri adalah deretan instruksi yang diberi suatu anam, umumnya fungsi memberikan nilai ketika dipanggil. Nilai yang diberikan tersebut dinamakan nilai balik.

2.5.3 Tipe Data
Dalam Pemprograman Mikrokontroller, ram rom maupun register harus diisi data untuk menjalankan suatu program tertentu, data yang diisi pun beragam tergantung besar bit data yang digunakan. Jenis data tersebut dapat dilihat di tabel berikut:

2.5.4 Operator
Operator adalah source code yang digunakan dalam mengelolah data baik itu membandingkan, menyamakan, menjumlahkan, dst.

RANGKUMAN

1. Mikrokontroller yang populer dalam kalangan masyarakat saat ini adalah mikrokontroller jenis AVR dan pengembangannya yang dikenal dengan nama Arduino.
2. Mikrokontroller AVR adalah jenis mikrokontroller yang tampilannya hanya sebatas IC mikrokontroller tampa tambahan perangkat interfaces.
3. Arduino adalah Papan yang menggunakan jenis mikrokontroler AVR yang telah mengalami perkembangan di bagian penggunaan port dan uploading program (bootloader).
4. Bahasa pemprograman terdiri dari tiga level yaitu bahasa mesin, assembly, dan bahasa tingkat tinggi.
5. Bahasa pemrograman C adalah bahasa level tinggi yang populer digunakan di kalangan umum dan memilik source code yang open source.
6. Dalam penggunaan bahasa C hal perlu diperhatikan ada beberapa hal yaitu, sintak, penulisan source code, tipe data, operator – operator kondisi.

TUGAS FORMATIF
1. Uraikanlah jenis-jenis bahasa pemrograman untuk mikrokontroler?
2. Tuliskan contoh perintah atau sintak dasar bahasa pemrograman C?

DAFTAR PUSTAKA

  1. Adrianto, H.: 2013, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
  2. Adrianto, H.: 2015, Pemrograman Mikrokontroler AVR ATmega16 Menggunakan Bahasa C (CodeVisionAVR), Informatika bandung, Bandung.
  3. E. Knuth, D.: 2011, The Art of Computer Programing, Addison Wesley, United States.
  4. Fahmizal: 2011, Jenis dan Tipe Motor Servo. URL: https://fahmizaleeits.wordpress.com/
  5. Fauzi, F. A.: 2015, Downloader). URL: https://fajarahmadfauzi.wordpress.com/
  6. Grupta, M.: 2012, Perkenalan Seputar Mikrokontroler. URL: https://guptayp.wordpress.com/
  7. Iswanto: 2011, Belajar Mikrokontroler AT89S51 dengan Bahasa C, CV Andi Offset, Yogyakarta.
  8. Kadir, A.: 2015, Buku Pintar Pemrograman Arduino, MediaKom, Yogyakarta.
  9. Marta Dinata, Yuwono: 2015, Arduino Itu Mudah, PT Alex Media Komputindo, Jakarta.
  10. Rachmat, O.: 2012, Panduan Praktis Membuat Robotik dengan Pemrograman C++, CV Andi Offset, Yogyakarta.
  11. Rangkuti, S.: 2011, Mikrokontroler Atmel AVR Simulasi dan Praktik Menggunakan ISIS Proteus dan CodeVisionAVR, Informatika Bandung, Bandung.
  12. Saputra, E.: 2015, Materi dasar Algoritma dan Pemograman. URL: https://suhaebiebi40.wordpress.com/
  13. Spurianto: 2015, Pengertian Push Button Switch (Saklar Tombol Tekan)). URL: http://blog.unnes.ac.id/
  14. Syahrul: 2012, Mikrokontroler AVR ATmega8535, Informatika Bandung, Bandung.
  15. syarif, m.: 2014, Serial Pheripheral Interface (SPI) dan Universal Synchronous Asynchronous Receiver Transmitter (USART). URL: http://muhammadsyarif.ilearning.me/
  16. Wangready: 2012, Kendali Motor Servo Menggunakan PWM dari Timer). URL: https://wangready.wordpress.com/
  17. zonaelektro.net: 2014, ADC (Analog To Digital Converter). URL: http://zonaelektro.net/adc-analog-to-digital-converter/

Related Articles

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button