PERBANDINGAN BAHASA RAKITAN DAN BAHASA C SEBAGAI BAHASA PEMOGRAMAN UNTUK
MIKROKONTROLER
Kristian Ismail 1 dan Bambang Susanto 2
1,2)Pusat Penelitian Tenaga Listrik dan Mekatronik, Lembaga Ilmu Pengetahuan Indonesia
Bandung, Indonesia
[email protected], [email protected]
Abstrak
Kemajuan teknologi kontrol saat ini semakin memudahkan para pengguna sehingga menunjang akan perkembangan dunia industry dan pendidikan. Kemajuan teknologi kontrol didukung oleh hardware dan software, dimana kehadiran mikrokontrol sangatlah signifikan dalam memenuhi kebutuhan pasar. Dalam pengoprasiannya mikrokontrol membutuhkan software atau bahasa pemograman mulai dari bahasa mesin, rakitan dan C. pada tulisan ini akan dibahas perbandingan kedua bahasa tersebut dari sisi kerumitan/kemudahan dan besar file kompilasi akhirnya. Perbandingan dilakukan secara praktikum dimana dua jenis mikrokontrol deprogram dengan tugas yang sama namun setiap tugas dibuat dengan dua bahasa pemograman (bahasa rakitan dan bahasa C). hasil akhirnya terlihat dimana pada pemograman tugas yang rumit seperti pemograman LCD dan 7 segmen pemograman yang dilakukan oleh bahasa C jauh lebih sederhana jika dibandingkan dengan bahasa rakitan, walau besar file kompilasi akhirnya lebih kecil. Dengan penelitian ini diharapkan dapat member masukan sebagai pertimbangan kepada para pengguna dalam memilih bahasa pemograman untuk mikrokontroler.
Kata Kunci: mikrokontrol, bahasa rakitan, bahasa C, kompilasi
I. PENDAHULUAN
Bahasa Pemrograman- Perangkat lunak bahasa pemrograman (language software) merupakan program yang digunakan untuk menerjemahkan perintah-perintah yang ditulis dalam bahasa program ke dalam bahasa mesin (machine languange), sehingga dapat diterima dan dimengerti oleh prosesor (Kuswayatno, 2007). Apabila languange software tidak tersedia, maka pembuat program harus menulis programnya langsung dengan bahasa mesin yang berbentuk bilangan-bilangan binary atau hexa. Suatu instruksi program yang ditulis dalam bahasa mesin dapat berbentuk seperti 10110010b atau C2h. Tanpa mengetahui arti tertentu dari masing-masing bagian dari bilangan binary tersebut secara persis, maka akan sangat sulit untuk dimengerti dengan benar maksud dari instruksi tersebut secara langsung.
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer adalah instruksi standar untuk memerintah prosesor. Bahasa pemrograman ini merupakan suatu himpunan dari aturan sintaks dan semantik yang dipakai untuk mendefinisikan program menjadi perintah. Bahasa ini memungkinkan seorang programmer dapat menentukan secara
persis data mana yang akan diolah oleh prosesor, bagaimana data ini akan disimpan/diteruskan/proses, dan jenis langkah apa secara persis yang akan diambil dalam berbagai situasi.
Pembagian/klasifikasi jenis pemograman dibedakan menjadi pemograman berdasarkan generasi dan pemograman berdasarkan aras/tingkat (Budiman, 2011).
Generasi Pertama adalah bahasa yang berorientasi pada mesin. Program disusun menggunakan bahasa mesin/kode mesin. Bahasa Mesin adalah bahasa tingkat rendah yang hanya dipahami oleh komputer. Bahasa mesin ini sangat sulit dipahami oleh orang awam sehingga programmer harus menguasai operasi komputer secara teknis. Abstraksi bahasa ini adalah kumpulan kombinasi kode biner “0” dan “1” yang sangat tidak alamiah bagi kebanyakan orang – kecuali insinyur pembuat mesin komputer. Karena tidak alamiah bagi kebanyakan orang, bahasa mesin juga disebut bahasa tingkat rendah.
Generasi Kedua adalah bahasa pemrograman yang menggunakan bahasa rakitan / Assembly. Bahasa Assembly adalah bahasa pemrograman yang menggunakan instruksi yang sama seperti pada bahasa mesin, tetapi instruksi dan variable yang digunakan mempunyai nama sehingga mempermudah proses pemrograman. Karena tidak lagi menggunakan deretan kode biner untuk melakukan pemrograman. Bahasa rakitan ada yang mengkatagorikan sebagai bahasa tingkat rendah [Hartono] karena masih menggunakan instruksi yang sama pada bahasa mesin namun bahasa rakitan telah membuat intruksi dan variable dengan sebuah nama/sintak atau dikenal dengan mnemonic yang merupakan julukan/kependekan kata dari instruksi sehingga beberapa literature menyebut bahasa rakitan merupakan bahasa tingkat menengah.
Generasi Ketiga adalah bahasa pemrograman yang menggunakan pendekatan prosedural.
Instruksi program ditulis menggunakan kata-kata yang biasa digunakan oleh manusia. Bahasa pada generasi ini disebut juga Bahasa beraras tinggi / High Level Language. Contoh bahasa pemrogaman :PASCAL, FORTRAN, C, COBOL, BASIC dll ada beberapa literature yang mengatakan bahwa bahasa C adalah bahasa tingkat menengah.
Pada generasi bahasa pemrograman terakhir sekarang ini, kedua cara interpretasi dan kompilasi digabungkan dalam satu lingkungan pengembangan terpadu (IDE = integrated development environment). Cara interpretasi memudahkan dalam pembuatan program secara interaktif dan cara kompilasi menjadikan eksekusi program lebih cepat.
Pertama program dikembangkan interaktif, kemudian setelah tidak ada kesalahan keseluruhan program dikompilasi. Contoh bahasa program seperti ini adalah Visual BASIC yang berbasis BASIC dan Delphi yang berbasis PASCAL.
Bahasa tingkat tinggi bersifat portable. Program yang dibuat menggunakan bahasa tingkat tinggi pada suatu mesin komputer bersistem operasi tertentu, hampir 100% bisa digunakan pada berbagai mesin dengan aneka sistem operasi. Kalaupun ada perbaikan sifatnya kecil sekali.
Generasi keempat merupakan Bahasa Non-Prosedural. Bahasa pemrograman Generasi ini dirancang untuk mengurangi waktu pemrogram untuk membuat program sehingga pembuatan program dibuat dengan waktu lebih cepat. Program ini dapat digunakan oleh pemakai yang kurang mengenal hal-hal teknis pemrograman tanpa perlu bantuan seorang programmer professional.
Generasi kelima merupakan bahasa pemrograman yang ditujukan untuk menangani kecerdasan buatan (artificial intelligence/AI). AI adalah disiplin dari ilmu komputer yang mempelajari cara komputer meniru kecerdasan manusia[AHMAD].
1. PEMBAHASAN
2.1 Bahasa C
Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richard pada tahun 1967. Bahasa ini memberikan ide kepada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C oleh Dennis Ricthie sekitar tahun 1972-an di Bell Telephone Laboratories Inc.( sekarang adalah AT&T Bell Laboratories).
Beberapa alasan mengapa bahasa C banyak digunakan, diantaranya adalah sebagai berikut :
1. Bahasa C tersedia hampir di semua jenis computer
2. Kode bahasa C sifatnya adalah portable Aplikasi yang ditulis dengan bahasa C untuk suatu komputer tertentu dapat digunakan di komputer lain hanya dengan sedikit modifikasi.
3. Bahasa C hanya menyediakan sedikit kata-kata kunci 4. Proses executable program bahasa C lebih cepat
5. Dukungan pustaka yang banyak Keandalan bahasa C dicapai dengan adanya fungsifungsi pustaka.
6. Bahasa C mempunyai struktur yang baik sehingga mudah untuk dipahami. C mempunyai fungsi-fungsi sebagai program bagiannya.
7. Selain bahasa tingkat tinggi, C juga dianggap sebagai bahasa tingkat menengah. Bahasa C mampu menggabungkan kemampuan bahasa tingkat tingkat tinggi dengan bahasa tingkat tingkat rendah.
8. Bahasa C adalah compiler Karena C sifatnya adalah kompiler, maka akan menghasilkan executable program yang banyak dibutuhkan oleh program-program komersial.
Selain alasan tersebut ada beberapa alasan lain mengapa menggunakan bahasa C, yaitu:
C adalah bahasa pemrograman yang memiliki portabilitas tinggi. Program C yang kita tulis untuk satu jenis platform, bisa kita kompile dan jalankan di platform lain dengan tanpa ataupun hanya sedikit perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C. C adalah bahasa pemrograman dengan kata kunci (keyword) sedikit. Kata kunci disini adalah merupakan fungsi ataupun kata dasar yang disediakan oleh kompiler suatu bahasa pemrograman. Hal ini membawa pengaruh semakin mudahnya kita menulis program dengan bahasa tingkat rendah. Pengaruh lain dari sedikitnya kata kunci ini adalah proses eksekusi program C yang sangat cepat.
Adapun kekurangan yang biasa di Bahasa C antara lain :
1. Banyaknya Operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai.
2. Bagi pemula pada umumnya akan kesulitan menggunakan pointer.
2.2 Bahasa Rakitan
Bahasa rakitan (bahasa Inggris: assembly language) adalah bahasa pemrograman komputer tingkat rendah. Bahasa rakitan merupakan notasi untuk bahasa mesin yang dapat dibaca oleh manusia dan bahasa tersebut berbeda-beda tergantung dari arsitektur prosesor yang digunakan.
Berbeda dengan bahasa pemrograman tingkat tinggi, bahasa assembly atau rakitan biasanya memiliki hubungan 1-1 dengan instruksi bahasa mesin. Misalnya, tiap julukan (mnemonic)
yang ditulis di program dengan bahasa rakitan akan diterjemahkan menjadi tepat satu kode operasi yang dapat dimengerti langsung oleh komputer. Pada bahasa tingkat tinggi, satu perintah dapat diterjemahkan menjadi beberapa kode operasi dalam bahasa mesin. Proses pengubahan bahasa rakitan ke bahasa mesin dilakukan oleh assembler, dan proses balikannya dilakukan oleh disassembler. Setiap arsitektur komputer memiliki bahasa
mesin yang berbeda-beda sehingga bahasa rakitannya pun berbeda-beda Kelebihan Bahasa Assembly:
1. Ketika di-compile lebih kecil ukuran 2. Lebih efisien/hemat memori
3. Lebih cepat dieksekusi
4. Penulisan huruf besar dan huruf kecil untuk bahasa assembly dianggap sama.
Kekurangan Bahasa Assembly:
1. Dalam melakukan suatu pekerjaan, baris program relatif lebih panjang dibanding bahasa tingkat tinggi
2. Relatif lebih sulit untuk dipahami terutama jika jumlah baris sudah terlalu banyak 3. Lebih sulit dalam melakukan pekerjaan rumit, misalnya operasi matematis trigonometri
2. MIKROKONTROLER
Mikrokontroler, sebagai suatu terobosan teknologi mikroprosesor dan mikrokomputer merupakan teknologi baru untuk memenuhi kebutuhan pasar. Mikrokontroler sebagai teknologi baru, yaitu teknologi semikonduktor dengan kandungan transistor yang lebih banyak namun hanya membutuhkan ruang yang kecil sehingga mikrokontroler dapat diproduksi secara masal (dalam jumlah banyak) membuat harganya menjadi lebih murah (dibandingkan mikroprosesor). Mikrokontroler sebagai kebutuhan pasar, mikrokontroler hadir untuk memenuhi selera industri dan para konsumen akan kebutuhan dan keinginan alat-alat bantu bahkan mainan yang lebih baik dan canggih
Tidak seperti sistem komputer, yang mampu menangani berbagai macam program aplikasi (misalnya pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa digunakan untuk suatu aplikasi tertentu saja (hanya satu program saja yang bisa disimpan). Perbedaan lainnya terletak pada perbandingan RAM dan ROM. Pada sistem komputer perbandingan RAM dan ROM-nya besar, artinya program-program pengguna disimpan dalam ruang RAM yang relatif besar, sedangkan rutin-rutin antarmuka perangkat keras disimpan dalam ruang ROM yang kecil. Sedangkan pada Mikrokontroler, perbandingan ROM dan RAM-nya yang besar, artinya program kontrol disimpan dalam ROM (bisa Masked ROM atau Flash PEROM) yang ukurannya relatif lebih besar, sedangkan RAM digunakan sebagai tempat penyimpan sementara, termasuk register-register yang digunakan pada mikrokontroler yang bersangkutan
Adapun kelebihan dari mikrokontroller adalah sebagai berikut :
1. Penggerak pada mikrokontoler menggunakan kaidah digital dasar sehingga pengoperasian sistem menjadi sangat mudah dikerjakan sesuai dengan logika system.
2. Mikrokontroler tersusun dalam satu chip dimana prosesor, memori, dan I/O terintegrasi menjadi satu kesatuan kontrol sistem sehingga dapat bekerja secara inovatif sesuai dengan kebutuhan sistem.
3. Sistem running mikrokontroler berdiri sendiri tanpa tergantung dengan komputer sedangkan parameter komputer hanya digunakan untuk download perintah instruksi atau program.
4. Langkah-langkah untuk download komputer dengan mikrokontroler sangat mudah digunakan karena tidak menggunakan banyak perintah.
5. Pada mikrokontroler tersedia fasilitas tambahan untuk pengembangan memori dan I/O yang disesuaikan dengan kebutuhan sistem.
6. Harga mikrokontroler lebih murah dan mudah didapat.
3.1 Dasar Kerja Program
Program untuk mengendalikan kerja dari mikrokontroler disimpan di dalam memori program. Program pengendali tersebut merupakan kumpulan dari instruksi kerja mikrokontroler, 1 instruksi merupakan kode yang panjangnya bisa satu sampai empat byte.
Sepanjang mikrokontroler bekerja, instruksi tersebut byte demi byte diambil ke CPU dan selanjutnya dipakai untuk mengatur kerja mikrokontroler.
Proses pengambilan instruksi dari memori program dikatakan sebagai fetch cycles dan saat-saat CPU melaksanakan instruksi disebuat sebagai execute cycles. Register berfungsi sebagai pengatur fetch cycles dinamakan Program Counter. Nilai Program Counter secara otomatis bertambah satu setiap kali selesai mengambil 1 byte isi memori program, dengan demikian isi memori program bisa berurutan diumpankan ke CPU
Saat mikrokontroler di-reset, isi Program Counter di-reset menjadi 0000. Artinya sesaat setelah reset proses pengambilan isi dari memori program nomor 0 dan seterusnya akan dilakukan kembali ke CPU dan diperlakukan sebagai instruksi yang akan mengatur kerja mikrokontroler. Dengan demikian, awal dari program pengendali harus ditempatkan di memori nomor 0.
Jika sarana interupsi diaktipkan, maka proses menjalankan program di atas akan dihentikan sebentar, mikrokontroler melayani dulu permintaan interupsi, selesai melayani permintaan interupsi CPU akan melanjutkan mengerjakan program utama lagi. Untuk melaksanakan hal tersebut, pertama-tama CPU menyimpan nilai Program Counter ke Stack (Stack merupakan satu bagian kecil dari data memori – RAM), kemudian mengganti isi Program Counter. Selesai melayani interupsi, nilai Program Counter yang tadi disimpan ke dalam Stack akan dikembalikan ke Program Counter, dengan demikian CPU bisa melanjutkan pekerjaan di program Utama.
3.2 Proses Pembuatan Program
Proses pembuatan program dimulai pada saat menulis kode sumber pada teks editor (misalnya notepad) proses selanjtnya adalah mengubahnya menjadi bahasa mesin yang dapat dieksekusi oleh CPU. Proses pengubahan kode sumber (source code) menjadi bahasa mesin (machine language) ini terdiri dari dua macam yaitu kompilasi dan interpretasi
Dalam proses kompilasi semua kode sumber dibaca terlebih dahulu dan jika tidak ada kesalahan dalam menulis program maka akan dibentuk kode mesinnya sehingga program bisa dijalankan. Program yang melakukan tugas ini disebut Compiler. Program hasil kompilasi akan berbentuk executable. Program bisa langsung dijalankan tanpa harus memiliki Compiler
di komputer yang menjalankan program tersebut. Bahasa yang menggunakan teknik kompilasi misalnya bahasa C, Pascal dan rakitan.
Bahasa yang menggunakan teknik interpretasi akan membaca kode sumber perbaris dan dieksekusi perbaris. Jika ditemukan kesalahan dalam penulisan program maka di baris kesalahan itulah program akan dihentikan. Program yang melakukan tugas ini disebut Interpreter. Pada teknik tidak menghasilkan program standalone, artinya untuk menjalankan program harus ada kode sumbernya sekaligus interpreter program tersebut. Bahasa yang menggunakan teknik interpretasi misalnya bahasa Perl, Python dan Ruby.
3.3 Bahasa Rakitan untuk Mikrokontroler
Dalam program bahasa rakitan terdapat dua jenis yang kita tulis dalam program yaitu:
1. Assembly Directive (yaitu merupakan kode yang menjadi arahan bagi assembler/compiler untuk menata program)
2. Instruksi (yaitu kode yang harus dieksekusi oleh CPU mikrokontroler)
Software aplikasi untuk membantu memprogram mikrokontroler sudah banyak tersedia. Untuk mempermudah maka dapat dipilih software yang merupakan Integrated Development Environment (IDE) yaitu software yang merupakan editor sekaligus compiler.
Bahkan juga ada yang sekaligus debugger dan simulator. Salah satunya yang banyak digunakan pada training dan kuliah adalah Read51,MIDE51, AVR studio, codevision AVR dll.
3.4 Bahasa C untuk Mikrokontroler
Pemrograman Bahasa C untuk mikrokontroler sudah umum digunakan. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Berikut penjelasan kode-kode dasar bahasa C untuk pemrograman mikrokontroler yang sering digunakan:
1. Struktur penulisan program Dalam pemrograman C, Pendeklarasian library harus ada sesuai dengan kode program yang digunakan. (misalnya #include <reg51.h> #include <stdio.h>
2. Tipe data (misalnya char, int, float) 3. Deklarasi variabel dan konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah. Global variable atau konstanta dapat diakses di seluruh bagian program. Local variable atau konstanta hanya dapat diakses oleh fungsi tempat dideklarasikannya.
4. Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ].
Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.
5. Function adalah bagian program yang dapat dipanggil oleh program utama.
6. Conditional statement dan looping yang dikenal juga dengan percabangan. if else digunakan untuk penyeleksian kondisi. Do while for switch digunakan untuk looping
7. Operasi digunakan untuk perhitungan aritmatik, pemrosesan logikan dan untuk perbandingan numeric
8. interupsi mikrokontroler, ada beberapa interupsi yang dapat diinisialisasi pada pemrograman bahasa C, kegunaan masing-masing interupsi tersebut berbeda. Contohnya adalah : interupsi serial, timer dan eksternal:
Pada mikrokontroler, ada beberapa register yang memiliki fungsi tersendiri selain itu ada juga pengaturan timer / clock yang harus diinisialisasi. Sebagai contoh pada mikrokontroler ada register yang berfungsi untuk menyimpan karakter secara sementara yaitu register SBUF (serial Buffer). Register tersebut dimanfaatkan untuk proses pengiriman data.
Software kompilasi bahasa C haruslah mendukung pemograman untuk inisiasi register.
3. PERBANDINGAN/KOMPARASI
4.1 Perbandingan Bahasa rakitan dengan bahasa mesin bahasa rakitan merupakan representasi atas bahasa mesin yang dirancang agar lebih mudah dipahami oleh manusia.
Dengan menggunakan bahasa rakitan, seorang programmer dapat lebih mudah mengingat instruksi-instruksi dengan menggunakan simbol mnemonic yang lebih dimengerti dibandingkan bila menggunakan symbol hexa kode mesin secara langsung. Demikian halnya pula dengan mekanisme lompatan yang umum terdapat dalam bahasa mesin yang biasanya menggunakan alamat memori, programmer dapat lebih mudah menggunakan fasilitas pelabelan yang terdapat pada bahasa rakitan dibandingkan menggunakan alamat memori tertentu dalam kode
4.2 Bahasa rakitan dibandingkan dengan bahasa tingkat tinggi bahasa rakitan memungkinkan programmer untuk mengontrol serta memanfaatkan
secara penuh kapabilitas yang terdapat atas suatu perangkat keras, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang memiliki banyak keterbatasan dalam pemanfaatan secara penuh suatu perangkat keras.
Bahasa rakitan menjanjikan tingkat unjuk kerja yang maksimum karena sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin, berbeda halnya dengan bahasa pemrograman tingkat tinggi yang biasanya menerjemahkan sebuah instruksi menjadi sejumlah kode mesin
4.3 Perbandingan dengan Percobaan
Percobaan dilakukan dengan dua mikrokontroler yaitu mikrokontroler MCS51 dengan AVR Atmega kedua mikrokontroler tersebut masih dalam keluarga ATMEL. Percobaan masing-masing mikrokontroler dititik beratkan kepada perbandingan panjang koding (untuk melihat seberapa rumit prosese pemograman) juga kepada perbandingan besar file kompilasi akhir (hex), karena file tersebut yang akan dibebankan/download kepada mikrokontrolernya.
Percobaan pemograman pada MCS51 dengan bahasa rakitan dilakukan pengeditan dan kompilasi dengan software Read51 sedangkan untuk MCS51 dengan bahasa C pengeditan dan kompilasi dilakukan pada software MIDE51.
Percobaan pemograman pada AVR Atmega dengan bahasa rakitan dilakukan pengeditan dan kompilasi dengan software AVR studio sedangkan untuk AVR Atmega dengan bahasa C pengeditan dan kompilasi dilakukan pada software Codevision AVR..
4. HASIL DAN PEMBAHASAN
Hasil-hasil dari percobaan untuk melihat komplesitas pemograman dapat dilihat dari gambar-gambar dibawah ini
Gambar 1. Pemograman 7segment MCS51 dengan bahasa Rakitan
Percobaan pemograman pertama adalah pemograman penampil 7 segment pada salah satu port mikrokontroler MSC51 dengan bahasa rakitan dan bahasa C. pada gambar 1 (dengan bahasa rakitan) terlihat panjang koding yang panjang dan banyak sehingga kompleksitas meningkat. Sedangkan pada gambar 2 (dengan bahasa C) terlihat jauh lenih sedikit coding yang dibutuhkan dengan kata lain sangatlah sederhana jika dibandingkan dengan menggunakan bahasa rakitan. Perbandingan selanjutnya adalah besar file hex antar kedua program diatas, hasil kompilasi menunjukan ternyata pemograman menggunakan bahasa rakitan adalah satu kilobyte sedangkan jika menggunakan bahasa C besar file dua kilobyte.
Gambar 2. Pemograman 7segment dengan bahasa C
Percobaan pemograman pertama adalah pemograman tampilan LCD pada port mikrokontroler AVR Atmega dengan bahasa rakitan dan bahasa C.
Gambar 3. Pemograman LCD AVR Atmega dengan bahasa Rakitan
Gambar 4. Pemograman LCD AVR Atmega dengan bahasa C pada gambar 3 (dengan bahasa rakitan) terlihat panjang koding yang panjang dan banyak sehingga kompleksitas meningkat. Sedangkan pada gambar 4 (dengan bahasa C) terlihat jauh lebih sedikit coding yang dibutuhkan dengan kata lain sangatlah sederhana jika dibandingkan dengan menggunakan bahasa rakitan. Perbandingan selanjutnya adalah besar file hex antar kedua program diatas, hasil kompilasi menunjukan ternyata pemograman menggunakan bahasa rakitan adalah satu kilobyte sedangkan jika menggunakan bahasa C besar file dua kilobyte.
5. KESIMPULAN
Dari beberapa penjabaran diatas maka dapat ditari kesimpulan seperti berikut ini :
- Pemograman tugas yang rumit seperti pemograman LCD dan 7 segmen pemograman yang dilakukan oleh bahasa C jauh lebih sederhana jika dibandingkan dengan bahasa rakitan - Besar file kompilasi akhirnya bahasa rakitan lebih kecil dibandingkan jika menggunakan
bahasa C dengan tugas yang sama.
- Bahasa rakitan mununjukan unjuk kerja yang maksimum karena sifatnya yang menerjemahkan secara langsung instruksi rakitan menjadi instruksi mesin
- Penggunaan bahasa C lebih memudahkan dalam struktur data dan interaksi dengan register.
Karena software kompilasi bahasa C sudah memfasilitasi inisialisasi registernya.
6. SARAN
Dari perbandingan pemograman bahasa rakitan dan bahasa C dari berbagai sisi maka penulis memberi masukan/saran :
- Untuk pemograman mikrokontroler dengan kompleksitas tinggi disarankan untuk menggunakan bahasa C.
- Untuk pemograman mikrokontroler dengan kompleksitas rendah disarankan untuk menggunakan bahasa rakitan.
DAFTAR PUSTAKA
[1]. Budiman, A. A. ( 2011, November 23rd). Retrieved Desember 13, 2015, from www.uii.ac.id: http://aab19.students.uii.ac.id/page/2/
[2]. Lia Kuswayatnodkk, 2007, Mahir Berkomputer. Bandung: PT Grafindo Media Pratama.
[3]. Iswanto, 2011, Belajar Mikrokontroler At89s51 Dengan Bahasa C, Penerbit Andi
Yogyakarta
[4]. MacKenzie, L. Scott, 1995, ”The 8051 Microcontroller, 2nd edition”, Prentice Hall, Inc., USA
[5]. Agfianto Eko Putra, 2004, "BELAJAR MIKROKONTOLER AT89C51/52/55 (Teori dan aplikasi) " Penerbit Gava Media, Yogyakarta
[6]. Heryanto, M. Ary, Ir. Wisnu, Adi P, 2008, Pemrograman Bahasa C untuk Mikrokontroller ATMEGA8535, ISBN 9789792902099 Penerbit ANDI, Yogyakarta
[7]. Hartono Partoharsodjo, 1995, "Tuntunan praktis pemrograman bahasa assembly : menggunakan turbo assembler pada Bios IBM-Pc " Jakarta : Elex Media Komputindo
[8]. Entin Martiana Kusumaningtyas, Modul kuliah "SEKILAS
TENTANG
C"entin.lecturer.pens.ac.id/Konsep%20Pemrograman/buku/BAB%20I.pdf