Source Code

Banyak orang mendengung-dengungkan open source, namun sebagian orang mempertanyakan ini: lalu kalau punya sourcenya, buat apa? saya kan bukan programmer?. Bukan cuma programmer yang bisa diuntungkan secara langsung dengan ketersediaan source code.

Pertama perlu saya ceritakan sedikit sejarah open source ini dalam 2 paragraf. Gerakan untuk membuka kode sumber program diawali oleh Richard Stallman, dan dinamakan sebagai Free Software Movement. Stallman menggunakan kata “free” dalam arti kebebasan, bukan dalam arti gratis. Karena kata Free ini dianggap kurang bisa “menjual”, maka muncullah istilah baru “open source”, yang ingin menekankan source code yang terbuka. Stallman sendiri tidak setuju dengan istilah open source, karena dalam kata opensource, semangat “kebebasan” tidak terasa. Sebagian orang mengambil jalan tengah dengan menggunakan istilah Free and Open Source Software (FOSS).

Kebebasan apa yang dimaksud dalam bidang software? Stallman mendefinisikan 4 tingkat kebebasan. Nomor 0: bebas menjalan program untuk keperluan apa saja, Nomor 1: bebas mempelajari program dan mengubah program semau kita, Nomor 2: bebas membagikan program ke orang lain, Nomor 3: bebas menyebarkan perubahan program ke orang lain. Membuka source code akan memberi jalan untuk kebebasan-kebebasan tersebut.

Sekarang coba kita lihat contoh-contoh di mana source code yang terbuka berguna bagi programmer dan non programmer. Kita lihat kasus sangat sederhana ini (dialami oleh ribuan orang): ada program yang fiturnya kurang sedikit dari yang kita inginkan. Ini bisa berupa aplikasi desktop, mobile atau web. Kita ambil contoh kecil, mungkin Anda cuma ingin menambahkan supaya muncul nama hari pasaran Jawa di blog Anda (Sabtu Pon misalnya). Jika Anda memakai software yang sifatnya tertutup, maka Anda perlu meminta kepada pembuat aplikasi itu. Perubahan menambahkan nama pasaran itu sangat mudah, tapi kira-kira apakah pembuatnya mau menambahkan? apakah itu memberi nilai komersial yang besar untuknya sehingga dia mau menambahkannya? Apakah perubahan itu akan merepotkan pembuat software tersebut, bagaimana jika orang dari daerah lain ingin kalender mereka juga didukung?

Nah sekarang kita lihat andaikan aplikasi itu sifatnya open source: Anda bisa minta tolong siapa saja untuk menambahkan hari pasarannya. Anda bisa memposting iklan di situs freelancer (misalnya guru.com), lalu Anda kan mendapatkan tawaran yang bersaing. Hal yang sama tidak bisa Anda lakukan jika aplikasinya tidak open source, karena hanya produsen aplikasi tersebut yang bisa melakukannya. Contoh yang saya berikan ini bukan hal yang mengada-ada. Coba Anda tengok ke situs guru.com atau situs freelancer sejenis, banyak sekali pekerjaan yang berhubungan dengan memodifikasi source code. Dengan adanya source code, sebagai end user, Anda punya pilihan. Selain pekerjaan modifikasi, Anda juga bisa memberi kontrak maintenance ke pihak manapun yang kerjanya bagus dan harganya bersaing. Nah di sini Anda sebagai user punya kebebasan.
Lanjutkan membaca “Source Code”

Gadget dan mainan baru

Sejak Jonathan lahir, waktu saya untuk ngoprek program dan hadware semakin berkurang, tapi bukan berarti tidak ada waktu sama sekali. Setiap siang saya pulang dari tempat kerja untuk bermain dengan Jonathan. Demikian juga tiap malam main dengan Jonathan. Setelah Jonathan tidur, barulah “hacking time” dimulai. Dari sejak awal tahun ini sudah ada banyak yang bisa dioprek, tapi sebagian besar belum optimal ngopreknya.

Pertama ada Beagleboard-XM, ini sumbangan untuk development FreeBSD, namun sayangnya sampai saat ini saya masih belum optimal mengembangkannya:

Lalu berikutnya dapat gratis eZ430-F2013 karena ada promosi (termasuk juga gratis ongkos kirim). Saya belum bereksperimen banyak dengan benda ini, tapi sudah cukup belajar mengenai MSP430. Saya juga sempat menulis tutorial singkat untuk mulai bermain-main dengan benda ini:

Karena promosi tersebut, saya jadi tertarik pada MSP430, jadi saya membeli LaunchPad. Harga satuannya 4.30 USD, termasuk ongkos kirim. Saya beli 3 buah (max boleh beli 3, karena sebenarnya ini adalah benda promosi, mereka jual rugi, 4 dollar 30 sen = 4.30 karena mempromosikan MSP430):



Salah satu dari 3 benda itu saya pakai untuk mengendalikan colokan listrik (electrical socket) via USB:

Lanjutkan membaca “Gadget dan mainan baru”

Bible Plus: Alkitab untuk Blackberry.

Sejak banyaknya orang beralih dari smartphone berbasis symbian ke smartphone blackberry, sudah banyak orang yg ‘request’ ke Joe minta dibuatin aplikasi bible reader seperti symbian bible. Awalnya kami ga punya alasan buat memakai BB karena di sini blum ada layanan BB. Layanan BB baru mulai menjamur di Thailand awal tahun 2010 ini. Saya sudah lebih dulu menggunakan BB, tapi karena Joe belum menggunakannya (selain dia sibuk dengan porting freebsd) dia belum juga bisa merealisasikan request dari banyak orang.

Bulan Juni yang lalu, untuk memudahkan komunikasi selama Joe pulang ke Jakarta (berhubung saya ga bisa ikut pulang), maka akhirnya Joe pun memakai Blackberry juga. BB pertama yg saya pakai itu BB ‘murah’ yg beli bekas dari Indoneia, jenis 8800 (huron), lalu Joe beli versi yg lebih bagusan di banding huron (nitip adiknya cariin bb 8520- gemini bekas yang masih bagus).  Sesampainya di sini BB nya ditukar pakai dengan saya (saya pakai gemini, Joe pakai huron).

Awalnya Joe kurang begitu sering menggunakan BB nya, karena selama di Chiang Mai, koneksi internet selalu ada di kantor dan di rumah. Selain itu BB huron itu super lambat dibandingkan dengan smartphone symbian yang terakhir kami pakai. Setelah mertua saya (orang tua) Joe pake BB juga dan mulai ber BBM, akhirnya Joe mulai aktif menggunakan BB nya. Bapak Mertua saya salah seorang pengguna setia Symbian Bible, dan ketika beliau beralih ke BB, pertanyaanya sama dengan semua orang: “Alkitabnya kok ga ada yang kayak di HP sebelumnya?”

Sebulan belakangan ini, akhirnya Joe tergerak untuk memulai mendevelop Bible Plus. Motivasinya cuma 1: menyambut kelahiran anak pertama kami 😀 (saat ini saya sedang hamil 33 minggu). Jadi kalau dulu dia mendevelop symbian bible buat mengimpress saya, sekarang dia develop Bible Plus untuk menyambut anak kami dengan harapan bisa memberi motivasi buat anak kami menjadi orang yang rajin membaca Alkitab dan siapa tahu bisa jadi programmer juga? hehehe (orang tua memberi contoh baik dengan harapan anak menjadi baik juga).

Bible Plus ini merupakan aplikasi pertama yang di buat Joe untuk Blackberry, seperti halnya dulu symbian bible merupakan aplikasi pertama yang dibuat untuk smartphone symbian. Berbeda dengan mendevelop untuk symbian, mendevelop untuk BB ternyata butuh kesabaran extra terutama dengan waktu tunggu untuk merestart device BB. Perbedaan lainnnya, kami harus membayar untuk memungkinkan mengetes aplikasinya di BB nya (bukan hanya di simulator), sementara untuk symbian semua bisa dilakukan dengan gratis. Akan tetapi, tetap saja aplikasi ini kami sebarkan secara gratis dan open source supaya tidak tertutup kemungkinan semakin banyak orang yg bisa berkontribusi memperbaiki aplikasi ini. Supaya semakin banyak juga orang yamg bisa membaca firman Tuhan kapan saja dan di mana saja (jangan cuma baca fesbuk dan social networking saja :P).

Sebenarnya Joe berniat membuat BB Plus untuk orang buta juga seperti halnya symbian bible, sayangnya software text to speech yg ada di BB harganya sangat mahal (450 USD) dan tidak ada versi trialnya. Mungkin nanti kalau ada software text to speech yg murah dan Joe ga terlalu sibuk bisa direalisasikan, tapi masih dalam to do list sekarang ini.

Untuk fitur-fitur dan link downloadnya langsung saja ke halaman http://compactbyte.com/bb-bible/ . Saat ini sudah dicobakan di berbagai jenis Blackberry, mulai dari 8800, 8520, 8900 dan saya ga inget lagi tipe BB yang ada. Yang jelas untuk sistem operasi 4.5 dan 5 ke atas aplikasi ini sudah bisa dicoba. Petunjuk instalasi ada di sini: http://compactbyte.com/bb-bible/id/petunjuk/. Kalau Anda menemukan masalah dalam instalasi atau pengoperasian silakan saja kontak kami. Harapan kami semoga Bible plus ini bisa berguna untuk banyak orang yang membutuhkan Alkitab kapan saja dan di mana saja.

Mengenal Bahasa Pemrograman Qu dan BAIK Karya Anak Indonesia

Implementasi interpreter dan compiler bukanlah hal yang sulit, ini terbukti dari sudah adanya implementasi interpreter, compiler, dan translator program di berbagai tugas akhir mahasiswa sejak tahun 1981 (bisa di cek di perpustakaan Informatika ITB, dan saya yakin Ilmu Komputer UI/UGM/IPB juga memiliki banyak tugas akhir semacam ini). Buku mengenai pembuatan interpreter berbahasa Indonesia juga sudah ditulis, sejak 1984 (misalnya KILANG 002: BASIC dalam Bahasa Indonesia, Jakarta: Kesaint Blanc, 1984), dan satu lagi yang diterbitkan di tahun 1995 (Tuntunan Praktis Pemrograman Merekayasa Interpreter: Sebuah Penerapan Teknik Kompilasi, Sukamdi, 1995 ISBN :979-637-744-6 ), dalam buku karya Sukamdi ditunjukkan mengenai pembuatan bahasa ALIN untuk memproses ekspresi aljabar linier.

Bahasa KILANG dibuat oleh Prof.Dr.Ir.Dali Santun Naga KILANG merupakan singkatan dari Kaidah Informasi Lambang Aneka Nalar dan Guna, di tahun 1984 bahasa ini sudah mencapai versi 2. Bahasa KILANG ini pernah dibahas di Seminar Komputer dan Diskusi Ilmiah Dies Natalis III Himpunan Mahasiswa Informatika ITB, Bandung, 19 Maret 1986 “Dua Tahun KILANG 002: Kisah Singkat tentang Pendomestikasian Bahasa Komputer”. Sayangnya saat ini belum terdengar lagi kelanjutannya.

Dua bahasa pemrograman yang saat ini masih kembangkan oleh putra Indonesia secara opensource adalah bahasa Qu dan bahasa BAIK. Bahasa Qu sudah bisa dipakai sejak 2002, definisi bisa dipakai adalah interpreternya sudah berjalan. Di tahun 2007 Qu sudah memiliki banyak fitur dan didokumentasikan dengan baik. Bahasa Qu ditujukan sebagai bahasa umum (general purpose language). Bahasa Qu yang bersifat open source ini sudah dipakai untuk membuat aplikasi web dan aplikasi komersial.

Sementara bahasa BAIK yang baru dikembangkan sejak tahun 2008, sudah memiliki interpreter di tahun yang sama, dan di tahun 2009-2010 sudah ada 3 naskah ilmiah (paper) nasional dan internasional yang membahas bahasa BAIK. Bahasa BAIK ditujukan untuk pembelajaran pemrograman. Source code baik juga terbuka untuk umum. Sebagai tambahan informasi, bahasa baik berusaha menggunakan bahasa Indonesia, mirip seperti yang dilakukan bahasa KILANG.

Penjelasan lebih lengkap mengenai bahasa BAIK dan Qu bisa dilihat di http://yohan.es/bahasa-pemrograman-indonesia/

Kaskus Spoiler

Saya nggak begitu sering mengunjungi kaskus, tapi kadang-kadang kalau lagi iseng seneng juga lihat-lihat gambar dan cerita di sana. Nah masalahnya gambar-gambar di sana kebanyakan “disembunyikan” dengan tombol “spoiler”. Kalo ngeklik sedikit sih gak apa-apa, tapi sempet capek waktu ketemu posting ini: 30 Foto Paling dilihat di situs Flickr Tahun 2009. Gile lu ndro, masak gw disuruh ngeklik 30 kali buat buka semua fotonya?

Cari kanan kiri gak ada tombol show all spoiler, cari di google juga gak nemu. Tadinya sampe mau bikin extension Google Chrome buat bikin skrip pembuka spoiler ini. Tapi ternyata kemarin baru diumumkan bahwa sekarang Google Chrome sudah mendukung Greasemonkey Script (resmi, dari tahun lalu dah bisa tapi masih development).

Dengan beberapa baris kode, jadilah skrip Greasemonkey ini:

http://userscripts.org/scripts/show/67846

Buat pengguna chrome, tinggal klik install aja buat menginstall. Buat pengguna firefox, install dulu Greasemonkey. Habis itu, kunjungi link tadi, terus klik install. Sekarang kalau mengunjungi forum kaskus, otomatis semua spoiler akan diklik.

Tadinya kirain gak akan ada yang butuh skrip semacam ini, tapi baru kemarin ditaruh publik, hari ini dah ada 11 orang yang menginstall plus 2 review. Padahal niatnya di taruh di situs userscripts cuma biar gampang aja diakses kalau lagi butuh. Ya sekalian diumumkan di blog ini deh, semoga berguna buat yang lain.

Kernel FreeBSD

Dua hari yang lalu untuk kali pertama, kode program saya masuk ke kernel FreeBSD (versi development). Kode ini bisa diakses di:

http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/arm/econa/

Kode tersebut merupakan port FreeBSD ke platform Cavium Econa CNS11XX. Secara sederhana, artinya sekarang FreeBSD bisa berjalan di device di bawah ini (Emprex NSD-100):

NSD_100_1

Saya kenal Linux dulu kali pertama waktu masuk Informatika ITB tahun 1998. Kami sempat mendapatkan pelatihan menggunakan Linux selama seminggu, dan di salah satu sesinya ada sedikit cerita mengenai sejarah Linux. Sejak saat itu saya tertarik dengan sistem operasi. Sebelum kuliah OS, saya sudah menyelesaikan membaca buku Tannenbaum (Operating System: Design and Implementation). Pernah dulu mau berusaha bikin OS sendiri, tapi ya karena saya tidak sejenius Linus Torvalds, akhirnya saya menyerah dan meninggalkan usaha tersebut.
Lanjutkan membaca “Kernel FreeBSD”

Kenangan Masa SMU

Posting ini tidak akan membahas banyak hal waktu sama masih SMU. Posting akan membahas kisah cinta saya, cinta pada programming. Saya belajar komputer kali pertama kelas 2 SMP, tahun 1994. Waktu itu saya ikut kursus DOS, Wordstar dan Lotus 123. Nama tempat kursus saya waktu itu adalah Linggar jati, di dekat pertigaan jalan raya bogor ke arah Cibubur. Dari segi komputer dan pengajar, tempat itu sangat biasa, yang luar biasa adalah: semua siswa boleh belajar di luar jam kursus, dan bahkan jika ada kursus lain pun boleh menggunakan komputer yang di belakang (jika tidak dipakai), asalkan tidak menganggu yang lain.

Di situlah saya belajar sendiri memprogram dalam bahasa BASIC. Buku pegangan saya cuma buku panduan ujian bahasa BASIC. Bukunya tidak punya teori, cuma soal pilihan ganda dan kunci jawaban saja. Ternyata buku semacam itu mudah untuk dipelajari, misalnya ada pertanyaan “Fungsi LEFT$ berguna untuk?”, lalu saya cari jawabannya, misalnya “mengambil N karakter terkiri”, nah dari situ saya tahu apa gunanya fungsi LEFT$. Setahun kemudian ayah saya membelikan Apple II/e (komputer tua yang dibeli karena bapak saya tidak mengerti soal komputer, dan kebetulan ada yang menjual murah). Saya banyak memprogram BASIC di komputer itu, tapi sayang dalam beberapa bulan komputernya mulai rusak, dan saya tidak punya lagi arsip program-program lama saya.

Tanggal 10 Januari 1997, kelas 2 SMU saya dibelikan PC pertama saya: Pentium 120 Mhz, Ram 16 Mb, harddisk 1 GB. Itulah dimulainya petualangan memprogram. Hari ini saya menemukan beberapa program yang saya buat waktu itu. Melihat program-program tersebut, aneka hal muncul di pikiran saya:

  1. Melihat sebagian program, saya berpikir: wah kok saya dulu goblok banget ya, kan ini mestinya bisa begini
  2. Melihat sebagian program lain saya berpikir: wah hebat juga ya, dulu saya bisa ngerti ini, padahal cuma belajar sendiri
  3. Wah kok dulu kepikiran ya bikin program ini
  4. Ngapain coba bikin program ini, gak ada gunanya
  5. Wah ternyata dulu saya fans Sailor Moon
Lanjutkan membaca “Kenangan Masa SMU”