Sunday, July 01, 2007

Pemrograman Mikrokontroler: PBASIC versus BASCOM

Pada bagian ini, saya ingin membandingkan kedua produk BASIC untuk mikrokontroler yang cukup banyak penggunanya.

Bila melihat sejarahnya, BASIC adalah bahasa interpreter. Artinya, akan diterjemahkan ke dalam machine code saat program di-eksekusi. Positif-nya, kita bisa memberikan perintah pada command line, dan langsung melihat hasilnya. Negatif-nya, lambat. Namun, sekali lagi, soal cepat atau lambat, tergantung pada kebutuhan. Bila jeda yang terjadi masih dalam batas-batas yang dapat diterima, berarti kelambatan yang terjadi dapat diabaikan.

PBASIC dikembangkan oleh Parallax, Inc. untuk mendukung produk mereka, BASIC Stamp. Program yang ditulis dengan PBASIC akan disimpan dalam bentuk token, dalam sebuah EEPROM eksternal, kemudian akan dibaca, diterjemahkan dan di-eksekusi saat program dijalankan. Interpreter BASIC ditanam dalam memori program di dalam chip mikrokontroler yang mereka jual (berbasis PIC atau Ubicom). Dalam penggunaannya, Parallax menjual modul yang terdiri dari mikrokontroler, EEPROM serial, dan komponen pendukung lainnya. Modul ini dapat langsung dihubungkan dengan port serial atau USB komputer, dan melalui BASIC Stamp Editor, kita bisa langsung menggunakannya. Harus diakui, menggunakannya cukup mudah. Hanya saja, kemudahan dan kesederhanaan yang ditawarkan, harus dibayar dengan harga yang lumayan. Referensi dari situs Parallax Inc. menunjukkan harga USD 49 untuk satu modul BASIC Stamp 2.

BASCOM dikembangkan oleh MCS Electronics, dan merupakan BASIC compiler. Program yang dibuat dalam bahasa BASIC, akan di-kompilasi menjadi machine code, untuk kemudian dimasukkan ke dalam mikrokontroler melalui sebuah programmer. Saat ini, sesuai dengan referensi dari situs web MCS Electronics, BASCOM baru mendukung mikrokontroler keluarga MCS51 (BASCOM-8051) dan keluarga AVR (BASCOM-AVR), keduanya produk dari Atmel Corp. Kita bisa memperoleh chip kelas AT89S51/52 dengan harga sangat terjangkau (di bawah 20 ribu rupiah), dan dapat diprogram secara ISP (In-System Programming).

Bila melihat cara kerja keduanya, maka kita dapat menyimpulkan, kinerja PBASIC pastilah lebih rendah dibanding BASCOM. Apalagi dengan penggunaan EEPROM serial untuk menyimpan token.

Berikut adalah contoh program untuk membuat sebuah LED berkedip, dengan PBASIC dan BASCOM-AVR:

--- PBASIC ---
DO
HIGH 0
PAUSE 500
LOW 0
PAUSE 500
LOOP
END

--- BASCOM-AVR ---
Config PORTD = Output
DO
SET Portd.0 = 1
WAITMS 500
SET Portd.0 = 0
WAITMS 500
LOOP
END

Pihak MCS Electronics menyediakan BASCOM-8051 dan BASCOM-AVR versi demo, yang dapat di-download di situs mereka. Versi demo memiliki fasilitas yang sama dengan versi komersial, kecuali, program yang dibuat (machine code) dibatasi sampai 4 KB saja .

No comments: