Sunday, July 01, 2007

Pemrograman Mikrokontroler: Low Level atau High Level Language

Dalam menyelami dunia mikrokontroler, umumnya kita terkendala dengan urusan pemrograman berbasis assembly. Bila melihat sejarahnya, memang mikrokontroler, juga mikroprosesor, hadir dengan kemampuan memahami bahasa tersebut, yang notabene kurang manusiawi.

Namun, dalam perkembangannya, terdapat cukup banyak pilihan pemrograman mikrokontroler dengan bahasa yang lebih beradab, seperti C, BASIC, Pascal, dan yang lainnya.

Hanya saja, bagi sebagian orang, rasanya kurang afdol, dan kurang sempurna untuk seorang programmer mikrokontroler sejati,kalau belum menaklukkan bahasa assembly :) Ini adalah tantangan, namun kita tidak boleh terpaku mengutak-atik bahasa assembly, sampai aplikasi yang ditargetkan, tidak pernah lahir.

Perkembangan teknologi mengarah pada kemudahan pemakaian. Maka dari itu, kalau ada pilihan yang lebih mudah dalam memprogram mikrokontroler, kenapa tidak menggunakannya? Mungkin hasilnya kurang optimal dibanding assembly, namun, dengan semakin meningkatnya performa dari mikrokontroler dan aplikasi yang dibuatpun tidak menuntut proses yang realtime; maka faktor tersebut, menurut hemat saya, dapat diabaikan.

Saya pribadi cenderung menggunakan bahasa BASIC (BASCOM, BASIC Stamp) dan C (SDCC). Dan bila melihat kiprah dan implementasi keduanya di dunia mikrokontroler, kelihatannya sudah cukup lama juga.

Kedua, belajar bahasa-bahasa tersebut lebih "aman", karena tidak tergantung pada tipe mikrokontroler yang digunakan.

Sebagaimana kita ketahui, beda keluarga, beda bahasa assembly-nya. Sebagai contoh, keluarga MCS51, keluarga AVR dan keluarga AVR (ketiganya merupakan keluarga mikrokontroler yang cukup populer), memiliki pakem assembly yang berbeda. Namun, dengan statement BASIC atau C yang sama, kita bisa membuat program yang sama untuk ketiganya :)

No comments: