Siapa Bilang Pemograman Embedded Hardware Harus Selalu Assembly?


Gadget impian saya bukanlah iPhone atau Samsung Galaxy Tab (Android) terbaru.  Yang saya inginkan saat ini adalah Raspberry Pi Model B.   Benda apa itu?  Berikut ini adalah gambar yang diambil dari situs resminya di http://www.raspberrypi.org:

Sebuah Raspberry Pi

Sebuah Raspberry Pi

Benda seukuran kartu kredit ini sebenarnya adalah sebuah komputer mini.  Tetapi komputer mini ini dapat dirangkai sebagai bagian dari sistem lain yang lebih rumit.  Raspberry Pi Model B dijual seharga US$35 (belum termasuk ongkos kirim dan customs bila dipesan ke Indonesia).

Apa saja ‘komponen‘ yang terdapat pada Raspberry Pi Model B?

  1. Memakai SoC (System on a Chip) Broadcom BCM2835.  Di dalamnya sudah terdapat Prosesor ARM11 dan GPU Videocore 4.   Ini adalah generasi prosesor yang sama yang dipakai pada Kindle 2, iPhone 3G, Nintendo 3DS, Samsung Galaxy Mini, dan sebagainya.  Prosesor yang dipakai oleh Raspberry Pi berjalan pada clock rate 700 MHz.  Sementara itu GPU Videocore 4 mendukung OpenGL ES2.0 and OpenVG libraries.  Menurut keterangan dari situs resminya, kinerja GPU yang dipakai setara dengan Xbox 1.
  2. SD Card Slot yang mendukung SD card (kartu memori) hingga maksimal 32GB (minimal 2GB).
  3. Memori 256 MB (revisi 1) atau 512 MB (revisi 2).
  4. 10/100 wired Ethernet untuk terhubung ke LAN.
  5. 2 buah port USB 2.0.
  6. Output audio jack 3.5mm.
  7. Composite RCA (PAL and NTSC) untuk output ke layar televisi.  Yup, kebanyakan televisi analog memiliki TV in  (‘colokan‘ bulat dengan ‘lubang‘ ditengahnya) sehingga harusnya tidak sulit menjadikan televisi sebagai layar monitor.
  8. HDMI untuk output ke layar monitor.  Sayangnya, Raspberry Pi tidak mendukung VGA, padahal disini monitor VGA masih banyak dipakai.
  9. microUSB sebagai pemberi catu daya 5V.  Untuk mengambil catu daya dari ‘colokan listrik’ di rumah, bisa memakai power supply yang dijual terpisah.   Bisa juga digantikan dengan 4 baterai AA.  4 x 1.5 = 6 V sehingga disarankan untuk memakai voltage regulator.
  10. Terdapat GPIO di board, tetapi belum ada datasheet yang tersedia bagi yang tertarik dengan proyek elektronik.

Karena saya tidak pernah menyentuh benda ini, saya tidak dapat melakukan review.  Saya hanya akan merangkum informasi yang diperoleh dari situs resminya.

Apa yang harus dilakukan setelah memiliki Raspberry Pi?   Sebuah hardware digital tanpa software ibarat sebuah tubuh yang hanya bisa terbaring kaku tanpa roh.  Oleh sebab itu, tujuan utama membeli Raspberry Pi adalah untuk diprogram untuk menciptakan gadget sesuai kreatifitas pemiliknya.  Well, sesungguhnya, Raspberry Pi awalnya dipakai untuk pembelajaran di perkuliahan computer science (btw, kebanyakan universitas ilmu komputer di Indonesia tidak menganut penamaan seperti di US; tetapi jurusan Teknik Informatika adalah sinonim untuk  jurusan Computer Science) .  Dengan harganya yang terjangkau, setiap  mahasiswa bisa membeli Raspberry Pi dan bisa bereksperimen di rumah masing-masing🙂

Sistem operasi dan kode program yang menjadi software bagi Raspberry Pi akan disimpan di SD card.   Sistem operasi yang direkomendasikan adalah Raspbian yang dapat di-download di situs resmi Raspberry Pi.  Tetapi Raspberry Pi dapat memakai sistem operasi lain seperti Debian Squeeze dan sistem operasi Linux lainnya yang mendukung prosesor ARM.

Jadi, begitu Raspberry Pi mendapat catu daya, ia akan mengerjakan sistem operasi di SD card.  Dengan demikian, dibutuhkan komputer lain yang akan men-format dan men-install sistem operasi di SD card.

Lalu bagaimana dengan bahasa pemograman?  Apakah harus memakai bahasa pemograman assembly seperti di pemograman microcontroller?  Tidak!  Raspberry Pi dapat diprogram dengan bahasa pemograman yang didukung oleh sistem operasi yang dipakai, seperti Python, C/C++, Java dan lainnya!

Bicara soal Java, hampir semua mahasiswa telah mengetahui bahwa teknologi Java dibedakan ke dalam Java Standard Edition (JSE), Java Micro Edition (JME), dan Java Enterprise Edition (JEE).   Tapi sebenarnya masih ada yang lain juga, seperti Java Card dan Java SE Embedded.

Java SE Embedded?  Bukankah untuk perangkat mobile sudah ada Java Micro Edition (JME)?   JME ditargetkan untuk perangkat mobile dengan kinerja terbatas sehingga banyak fitur JSE yang dipangkas dan dimodifikasi sehingga JME terlihat ramping dan ‘mini’!  Tapi seiring perkembangan zaman, perangkat mobile sudah semakin canggih sehingga mereka bahkan sanggup menjalankan Java Standard Edition (JSE), misalnya pada perangkat Android.  JavaSE  Embedded pada dasarnya adalah Java Standard Edition (JSE) yang  diatur untuk keperluan embedded, misalnya optimalisasi garbage collector dan berjalan pada headless mode (konfigurasi dimana tidak ada keyboard, mouse, dan layar).   Kesimpulannya:  membuat program untuk Java SE Embedded hampir sama dengan untuk Java Standard Edition (JSE); tetapi membuat kode program di Java Micro Edition (JME) membutuhkan adaptasi lagi karena lumayan berbeda dari Java Standard Edition (JSE).

Kabar gembiranya, Java SE Embedded sudah mendukung prosesor ARM.  Tapi ada juga kabar buruknya:  Oracle membolehkan developer men-download dan membuat kode program dengan Java SE Embedded secara gratis;  tetapi pada saat distribusi, Oracle akan me-‘nagih’ lisensi yang tidak gratis!!!   Berikut ini adalah kutipan dari FAQ di http://www.oracle.com/technetwork/java/embedded/resources/se-embeddocs/index.html :

Q10. How is Java SE Embedded licensed?

Java SE is free to use for development of embedded applications. We provide affordable licensing for deploying Java SE in an embedded device or as part of a embedded-based system. Please contact us when you are ready to deploy or if you have already deployed but not sure you have the correct license

Q11. Does deploying Java SE embedded devices or purposes require a royalty?

Yes. Oracle's license for Java SE enables it to be freely used for general purpose desktops or servers. If Java SE is bundled as part of a dedicated solution that involves or controls hardware of some kind, then it's likely an embedded application and is subject to modest royalty payments.

Mahasiswa masih tetap dapat memakai Java SE Embedded di  Raspberry Pi asalkan tidak menjual alat hasil rancangannya🙂

Untuk informasi lebih lanjut, silahkan baca artikel http://www.oracle.com/technetwork/articles/java/raspberrypi-1704896.html menjelaskan secara lengkap bagaimana menggunakan Java SE embedded di Raspberry Pi.

Kesimpulannya: Membuat program untuk Raspberry Pi akan terasa mudah bila dibandingkan mem-‘program’ microcontroller (walaupun tidak semua microcontroller harus diprogram dengan assembly).   Karena Raspberry Pi adalah sebuah mini komputer yang cukup lengkap, programmer dapat menghindari banyak hal yang berkaitan dengan elektronik (solder-menyolder).    Programmer bisa memakai port USB yang disediakan Raspberry Pi untuk berkomunikasi dengan hardware USB lain.   Tapi tetap terbuka peluang bagi programmer yang hobi melakukan eksperimen elektronika;  mereka dapat menggunakan pin GPIO dan library C untuk mem-‘program’ pin tersebut seperti yang dibicarakan di http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=30315.

Perihal Solid Snake
I'm nothing...

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: