Monday, June 2, 2014

Surat Untuk Yth Bapak Calon Presiden 2014

Yth Bapak Jokowi dan Bapak Prabowo,
Perkenalkan, saya Riza umur 29 tahun dengan pekerjaan Wirausaha perusahaan IT Software Service. Terima kasih saya ucapkan jika Bapak-Bapak sempat membaca surat ini. Langsung saja, melalui surat ini, ada yang ingin saya tanyakan, Jika Bapak-Bapak nanti terpilih menjadi Presiden:

  1. bagaimana cara untuk rakyat biasa seperti saya ini bisa menyampaikan aspirasi yang akan diterima langsung oleh Bapak?
  2. bukti apa yang bisa diberikan oleh Bapak kepada saya, bahwa benar aspirasi saya sudah diterima langsung oleh Bapak, bukan oleh Staff-Staff Bapak?
  3. adakah cara rakyat biasa seperti saya untuk bisa bertemu dan berdialog langsung dengan Bapak meskipun hanya untuk 5 menit saja?
Sudi kiranya Bapak-Bapak mau menjawab tiga pertanyaan saya, jawaban (atau tidak adanya jawaban) dari Bapak-Bapak akan sangat membantu saya dalam menggunakan hak pilih saya nanti.

Terima kasih sebelumnya atas perhatian Bapak-Bapak. Jawaban bisa saya terima sebagai comment post ini atau dikirim ke email saya yang bisa dilihat di profil saya.

PS: Penyebutan nama diurut berdasarkan Alfabet


Monday, March 11, 2013

Software Documentation Hierarchy


Disclaimer: kontent posting ini adalah opini dari penulis dan merupakan konten yang experimental, oleh karena itu sangat boleh untuk didebat dan penulis tidak diwajibkan untuk mempertahankannya.

Sewaktu melihat artikel wikipedia tentang software documentation, menurut Saya diperlukan konsep yang berbeda untuk kategorisasi dokumentasi software sebagai komplemen dari kategorisasi yang sudah dikemukakan di artikel tersebut. 

Konsep kategori pada artikel tersebut dibuat dari perspektif pengembangan, sehingga untuk situasi dan kondisi tertentu justu akan kontra-produktif. Misalnya, ada seorang programmer yang ingin mencari tau bagaimana cara install open source software X, kemudian dia mengambil dokumentasi mengenai arsitektur. Dia hanya akan dibombardir oleh informasi-informasi yang belum dia butuhkan, yang mungkin sekali akan membuatnya bingung.

Oleh karena itu, perlu dibuatkan lagi kategorisasi software documentation yang dirancang berdasarkan kebutuhan, situasi dan kondisi user, kategori tersebut yakni:
  1. Dokumentasi yang membuat pembaca bisa menggunakan software
  2. Dokumentasi yang membuat pembaca bisa meng-install software
  3. Dokumentasi yang membuat pembaca bisa mengkonfigurasi software
  4. Dokumentasi yang membuat pembaca bisa meng-compile/build software
  5. Dokumentasi yang membuat pembaca bisa mengembangkan software
Dengan kategorisasi diatas, dapat dilihat bahwa kategori tersebut merupakan konsep hirarki dokumentasi. Hirarki yang dibangun berdasarkan dependencies dari pengetahuan mengenai perangkat lunak tersebut dan kebutuhan user. Dengan begini, pembaca dokumentasi bisa mendapatkan gambaran mengenai informasi-informasi apa saja yang akan didapat sesuai dengan hirarkinya.

Terkait dengan kebutuhan project, perlu dianlisis terlebih dahulu sampai mana kebutuhan dokumentasi yang diperlukan, karena semakin dalam kebutuhan yang ada, akan semakin mahal membuatnya. Analisis ini dapat mempertimbangkan juga profil user project tersebut, apabila tidak ada programmer atau developer didalam jajaran user, maka hirarki Level 3 (Konfigurasi Software) adalah level terdalam yang masih efektif untuk dibuat.

Monday, March 4, 2013

Pentingnya Performance dalam Software


Abis nonton video disini: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/video-lectures/lecture-1-administrivia-introduction-analysis-of-algorithms-insertion-sort-mergesort/

Baru 25 menit nonton, sudah mendapatkan pencerahan yang outstanding. Ada alasannya memang, kenapa MIT terkenal sebagai salah satu universitas Top di Dunia, kuliah undergraduate-nya saja masih bisa memberikan pencerahan kepada salah satu lulusan S2 ITB. 

25 menit awal tersebut membicara performance. Professor tersebut menanyakan hal apa yang lebih penting dari performance? beberapa mahasiswa menjawab:
  • Correctness. Benar atau tidaknya program
  • Stability/ Robustness. Robust atau tidaknya program
  • Programmer Time. Waktu yang dihabiskan untuk membuat program
  • Scalability. apakah program bisa di scale-up-kan atau tidak
  • User-Friendliness. Apakah program mudah digunakan atau tidak
  • Security. Keamanan dari program
Kemudian professor tersebut menambahkan lagi:
  • Modularity. Modularitas program, agar bug/perubahan di satu tempat tidak mempengaruhi tempat lain
  • Functionality. Apakah program memiliki fitur-fitur yang lengkap atau tidak
Ternyata banyak parameter yang lebih penting dari performance. Lantas mengapa justru performance yang dipelajari?
Melihat parameter-parameter lain diatas yang lebih penting dari performa, apabila ditelusuri lebih dalam, sebenarnya membutuhkan performa. Sebagai contoh:
  • User-Friendliness. Program jadi not so user friendly kalo ada lag ato musti nunggu lama
  • Correctness. Bila ada kebutuhan 'real-time', performance kurang baik yang mengakibatkan ada delay 1 menit akan membuat program tersebut not so realtime
Oleh karena itu, performa adalah mata uang dalam program. Dengan performa, security bisa diaplikasikan. Dengan performa, user-friendliness bisa dicapai, dengan performa, correctness bisa dipenuhi. Parameter-parameter lain dipenuhi oleh performa. Parameter-parameter lain di-'beli' oleh performa. Perfoma by itself tidak penting, namun menjadi salah satu paling penting jika digunakan untuk mengadakan parameter-parameter lain. Mirip dengan uang, by itself uang tidak bisa dimakan, dikenakan, ditinggali, namun uang bisa digunakan untuk mengadakan makanan, baju, tempat tinggal dan lain-lain.

Semoga bermanfaat, dan please do visit link diatas jika ada waktu senggang.

Friday, November 2, 2012

Salah Satu Ahli Surga

Dapet cerita waktu ceramah Idul Adha, ceritanya inspiratif, setidaknya menurut gw. Credits untuk yang pertama kali menceritakan ini, dan Uztad yang ceramah di Idul Adha Jatiwaringin Asri Blok E deket puskesmas tempat gw sholat ied, hehe.

 ---------------------------

Alkisah pada suatu waktu, Rasulullah SAW sedang menunggu sholat dzuhur di mesjid bersama sahabat-sabahat-nya. Ditengah-tengah menunggu adzan, Beliau berkata sebentar lagi seorang ahli surga akan melewati pintu mesjid. Sahabat-Sahabat kemudian memperhatikan pintu tersebut, kemudian didapati seorang pemuda Anshor yang nampak biasa-biasa saja, bukan termasuk sahabat terdekat Rasulullah.

Kejadian ini berulang sampai beberapa kali, Rasulullah SAW mengatakan ahli surga akan masuk melewati pintu mesjid, dan didapati pemuda tersebut lagi yang muncul. Singkat kata, memang pemuda tersebut yang dimaksud Rasulullah SAW sebagai ahli surga.

Kemudian salah satu sahabat sangat penasaran dan berniat mengetahui alasan mengapa pemuda tersebut dikatakan ahli surga. Sahabat tersebut mendatangi pemuda untuk meminta izin menginap di rumah pemuda tersebut beberapa hari dengan alasan tidak bisa pulang ke rumahnya sendiri. Sang Pemuda mengizinkan dengan senang hati.

Sahabat mengamati betul Sang Pemuda, diikuti gerak-geriknya dirumah atau diluar rumah, untuk mencari amalan khusus apa yang dilakukan sang pemuda sampai Rasulullah SAW menyebutkan ahli surga. Setelah beberapa hari mengamati, Sang Sahabat tidak menemukan amalan khusus tersebut. Ia memutuskan untuk berhenti mengamati dan akan pamit kepada Sang Pemuda.

Ketika berpamitan, Sang Sahabat mengatakan sejujurnya bahwa sebenarnya ia sedang mengamati Sang Pemuda untuk mencari amalan khusus, dan tidak ditutupi kekecewaaannya karena tidak menemukan amalan tersebut. Sang Pemuda tersebut menjawab, memang beginilah apa adanya dirinya, dan amalan-amalan yang ia lakukan tidak ada yang belum dilihat oleh Sang Sahabat.

Namun ketika Sang Sahabat hendak pergi, Sang Pemuda mengatakan bahwa ia selalu bersyukur, puas dan merasa cukup atas nikmat Allah yang diberikan kepadanya, terus gigih berjuang mengejar nikmat-nikmat Allah lainnya dan tidak pernah sekalipun merasa iri atau tamak atas nikmat Allah untuk orang lain yang tidak dimilikinya atau tidak diberikan Allah kepadanya.

Mendengar perkataan Sang Pemuda, Sang Sahabat sadar bahwa inilah kualitas yang Sang Pemuda yang menjadikannya seorang Ahli Surga.
---------------------------

Setidaknya sekarang gw tau, ada  1 lagi kualitas seorang muslim yang perlu dimiliki. Semoga dapat mencapainya 100%, aamiin.

Thursday, August 2, 2012

Hikmah Dari Upaya Contribute Ke Open Source

Sudah menjadi knowledge umum di internet kalau cara termudah untuk bekerja sama dengan orang-orang brilian di seluruh dunia adalah dengan bergabung ke open-source project mereka. Project-project open-source tertentu memang ada yang sarat dengan ilmu, dan Bombermaaan salah satunya.

Awalnya ngeliat bombermaaan dari game di liberkey, karena dulu waktu kecil suka bermain game itu, maka di download-lah dan dimainkan. Begitu ditekahui bombermaaan itu open source, iseng-iseng checkout source-code-nya, ngeliat to-do list-nya, mau mencoba implement team-mode.

And that turns out to be a good decision, ngeliat code-based-nya project bombermaaan, akhirnya sadar betapa bergunanya komentar kode yang konsisten dan extensive. Author-author sebelumnya seperti memulai coding dengan pseudocode, setelah rampung baru dicoding ke bahasa spesifik (C++). Pseudocode tersebut akhirnya menjadi komentar-komentar yang sangat membantu dalam pembacaan kode, penelusuran kode, dan tentunya dalam memahami apa yang terjadi pada kode.

Selama ini Saya berpikir bahwa naming variabel, method dan class yang baik cukup untuk membuat suatu kode nyaman dibaca. Namun setelah melihat kode bombermaan, hal tersebut saya sadari salah karena meskipun kode tersebut memiliki naming yang baik, komentar-komentar yang berupa pseudocode-nya lah yang paling membantu saya dalam memahami kode.

Saat ini sedang menunggu balasan author-nya untuk request agar mereka melihat hasilnya dan meminta feedback. Semoga lancar dan akhirnya kode dicommit, sehingga bisa dihitung telah benar-benar contribute kode ke open source project.
-------
Update: Author sudah me-reply, dia menyarankan untuk melakukan fork-ing terhadap project ini karena memang tidak ada aktivitas lagi di project ini dari original author-author-nya. Sayang sekali saya belum berpikir untuk memaintain suatu open source project. Berarti saatnya hunting open source project lain untuk berkontribusi. Ada ide?