Programming, skill yang harus terus diasah

Kemarin saya mencoba membuat konversi program dari C ke perl. Saya membutuhkan perl karena dia sangat bagus untuk string manipulation. Ok. Kelihatannya straight forward.

Baru mulai coding saya mulai bingung. Bagaimana membuat array ya? Hadoh. Hal yang semudah (trivial) ini kok lupa lagi. Masalahnya sebetulnya tidak terlalu rumit. Saya lupa apakah array itu diawali dengan “$” atau “@” dan apakah elemennya saya daftar dengan menggunakan “{” atau “(“. Untungnya memang hanya masalah syntax yang mudah dipecahkan dengan melihat perl reference card.

Masalah yang kedua muncul adalah bagaimana membuat subroutine. Kok lupa lagi. Yang ini saya pecahkan dengan membaca selintas tutorial perl di internet. Thank God for the internet. Hal-hal yang terkait dengan paramater passing dan seterusnya jadi ingat lagi. perl memang keren πŸ™‚

print reverse(@array);

Kalau jaman dahulu (sekitar akhir tahun 80-an atau wal 90-an), waktu internet masih lambat, saya menyimpan buku yang isinya adalah contoh-contoh program perl yang kecil-kecil. Kalau tidak salah buku itu karangan Tom Christiansen. Sayangnya saya tidak tahu buku itu ada di mana.

Pelajaran apa yang saya peroleh dari kejadian ini?

  1. Skill programming harus terus dilatih (dengan membuat program-program kecil saja);
  2. simpan contoh-contoh program untuk menjadi pengingat.

Original Atau Abal-Abal?

Baju, bukan yang dikilo – setidaknya bermerek, lokalpun boleh

Makan, yang original dong, bukan yang dimirip-miripkan dan gak enak

Sekolah, yang berakreditasi bagus dong, mosok milih sekolah yang gak jelas

Komputer, brand name – merek lokal juga boleh, supaya ada support

Software, … lah kok bukan 100% original? terus minta support?

Salah (dalam menyalahkan RIM/BlackBerry)

Tadinya saya mau diam saja mengenai soal perseteruan antara Pemerintah dan Research In Motion (RIM), perusahaan yang mengembangkan BlackBerry. Tapi nampaknya saya harus beropini karena kelihatannya kok makin “lucu” (baca: memalukan).

Singkatnya; menurut saya adalah salah jika Pemerintah menuntut RIM untuk membayar ini dan itu. Kesannya kok Pemerintah menjadi tukang palak (preman).

Mari kita lihat dulu struktur operasional dan bisnis dari layanan BlackBerry yang diberikan oleh RIM ini. Secara umum, gambarannya adalah seperti ini. (Maaf, gambar saya ini terlalu sederhana karena saya belum sempat untuk membuatnya dalam bentuk yang lebih menarik. Any takers?)

Di sebelah kiri adalah pengguna yang menggunakan perangkat BlackBerry. Pengguna berlangganan layanan komunikasi (telepon, akses internet, dan seterusnya) melalui operator. Dalam hal ini operator adalah operator seluler. Operator ini memiliki beberapa layanan (aplikasi), yang mana salah satunya adalah layanan BBM (dan kawan-kawannya) yang diberikan oleh RIM. Pelanggan tidak langsung berhadapan dengan RIM tetapi melalui operator.

Nah, sekarang katakanlah RIM dan operator seluler memiliki kerjasama yang mengatakan bahwa untuk setiap pelanggan RIM mendapatkan $7/bulan. Terserah kepada operator untuk menjualnya kepada pengguna. Operator bisa saja menujalnya dengan harga Rp. 300 ribu/bulan atau Rp 90.000/bulan. Pada kenyataannya para operator ini banting harga. Harga yang terendah yang dia pakai.

Lucunya … sekarang kita (siapa kita di sini? Pemerintah? Operator?) marah-marah ke RIM dengan mengatakan bahwa RIM untung banyak sementara operator rugi. Boleh saya tertawa sebentar? Atau, mungkin ada baiknya saya menangis saja?

Apa salahnya RIM? Dia kan sudah dari awal menetapkan harganya. Lah salah operatornya jika mereka menjual dengan harga bantingan. Mengapa kok ini dipermasalahkan? Jika ini bisnis yang merugi bagi operator, mengapa dipertahankan? Apakah para pimpinan operator ini tidak dipanggil oleh BoD karena decision mereka yang salah? Jika ini memang untuk menarik customer, ya jangan merengek-rengek. Malu.

Oh ya, jika memang RIM tetap mau dipermasalahkan, bagaimana juga dengan layanan aplikasi yang lain? Di sebelah kanan ada banyak aplikasi yang berbayar; misalnya di luar negeri adaΒ  amazon, flickr, blog yang berbayar, dan seterusnya. Oh ya, ada juga layanan iTunes. Nanti dengan semakin populernya iPad (dan tentunya iPhone) jangan-jangan Apple juga ditekan seperti RIM ini. Belum lagi ada aplikasi internet banking, transaksi saham, jual beli, e-commerce, dan sebentar lagi e-procurement. Apa nanti mereka juga akan ditekan seperti RIM karena mereka juga mengambil keuntungan? Belum lagi nanti ada banyak layanan cloud computing.

Jika memang mau dipermasakahkan, maka permasalahkan operatornya, bukan RIM.

Semoga tulisan ini dapat memberikan pencerahan.

Iseng Coding Perl

Ceritanya saya mendapatkan email yang isinya adalah berbagai berita tetapi terformat dalam satu baris yang sangat panjaaannnggg …. Potongannya seperti ini:

1 ) Tertibkan Anggaran, BPK Minta Mendiknas Kontrol Pejabat Eselon I http://us.detiknews.com/read/2011/01/10/223052/1543626/10/tertibkan-anggaran-bpk-minta-mendiknas-kontrol-pejabat-eselon-i?n991103605 Senin, 10/01/2011 22:30 WIB Jakarta – Badan Pemeriksa Keuangan (BPK) mengapresiasi langkah Mendiknas M Nuh yang akan mengecek anggaran Rp 2,3 triliun yang tidak jelas penggunaannya. … …dst 2 ) Upss…. Kemdiknas Bantah Temuan BPK! http://edukasi.kompas.com/read/2011/01/10/18271811/Upss…..Kemdiknas.Bantah.Temuan.BPK. Senin, 10 Januari 2011 | 18:27 WIB JAKARTA, KOMPAS.com – Kementerian Pendidikan Nasional membantah temuan Badan Pemeriksa Keuangan tentang kasus pengadaan tanah untuk kompleks Sekolah Indonesia … dst 3 ) Restrukturisasi Kemendiknas Dijanjikan Tuntas Pekan Ini http://www.republika.co.id/berita/pendidikan/berita/11/01/10/157533-restrukturisasi-kemendiknas-dijanjikan-tuntas-pekan-ini Senin, 10 Januari 2011, 09:43 WIB REPUBLIKA.CO.ID,JAKARTA – Reformasi birokrasi Kementerian Pendidikan Nasional rencananya rampung minggu ini. Hal ini disampaikan Menteri Pendidikan Nasional,…

Kalimat itu merupakan gabungan dari berbagai berita, yang dalam hal ini ada sekitar 12 atau 13 berita. Membacanya menjadi males.

Jadi kepikiran untuk membuat sebuah skrip singkat yang memisahkan berita-berita tersebut menjadi beberapa paragraf. Hmm… ini ide bagus untuk diversion sejenak.

Idenya adalah untuk setiap “1 )” atau “2 )” dan seterusnya ditambahkan dua return sebelum angkanya. Jadi “\n\n 1)” atau “\n\n 2)”, dan seterusnya. Jadilah skripnya seperti ini:

while (<>) {
   $_ =~ s/(\d+)\s+\)/\n\n$1 \)/g;
   print $_;
}

Hasilnya? Ya kira-kira seperti di bawah ini. Lebih mudah dibacanya kan?

1 ) Tertibkan Anggaran, BPK Minta Mendiknas Kontrol Pejabat Eselon I http://us.detiknews.com/read/2011/01/10/223052/1543626/10/tertibkan-anggaran-bpk-minta-mendiknas-kontrol-pejabat-eselon-i?n991103605 Senin, 10/01/2011 22:30 WIB Jakarta – Badan Pemeriksa Keuangan (BPK) mengapresiasi langkah Mendiknas M Nuh yang akan mengecek anggaran Rp 2,3 triliun yang tidak jelas penggunaannya. … …dst

2 ) Upss…. Kemdiknas Bantah Temuan BPK! http://edukasi.kompas.com/read/2011/01/10/18271811/Upss&#8230;..Kemdiknas.Bantah.Temuan.BPK. Senin, 10 Januari 2011 | 18:27 WIB JAKARTA, KOMPAS.com – Kementerian Pendidikan Nasional membantah temuan Badan Pemeriksa Keuangan tentang kasus pengadaan tanah untuk kompleks Sekolah Indonesia … dst

3 ) Restrukturisasi Kemendiknas Dijanjikan Tuntas Pekan Ini http://www.republika.co.id/berita/pendidikan/berita/11/01/10/157533-restrukturisasi-kemendiknas-dijanjikan-tuntas-pekan-ini Senin, 10 Januari 2011, 09:43 WIB REPUBLIKA.CO.ID,JAKARTA – Reformasi birokrasi Kementerian Pendidikan Nasional rencananya rampung minggu ini. Hal ini disampaikan Menteri Pendidikan Nasional,…

Email yang lebih beretika

Salah satu hal yang menyebalkan bagi saya adalah kalau terima email (misalnya dari mailing list) yang email lamanya tidak dihapus. Kalau istilah dahulu ini disebut “top posting”. Reply dari email menyertakan email sebelumnya, dan email sebelumnya, dan email sebelumnya, … dan seterusnya. Akhirnya email menjadi terlalu panjang dan menyebalkan untuk dilihat. (Belum lagi dia menghabiskan bandwidth dan biaya.)

Salah satu offender yang cukup besar adalah BlackBerry. Email yang di-reply dari BlackBerry biasanya melakukan hal di atas, top posting. Gak beretika. Grrr…

Nah, untungnya ternyata ada aplikasi yang bisa digunakan untuk mengedit email sehingga beretika. Ini URL-nya: http://www.bberryapp.com/blackberryapplications/forwardreply/

Soal BlackBerry dan RIM

Belakangan ini (dan sudah beberapa kali) ada “keributan” soal regulasi yang terkait dengan BlackBerry dan pengembangnya RIM. Saya sendiri tidak terlalu mengamati keributan ini karena (1) saya tidak punya BlackBerry dan tidak ingin punya πŸ™‚ dan (2) sebentara lagi BlackBerry akan turun popularitasnya.

Yang menarik dari layanan BlackBerry adalah BBM dan push email. Sementara itu saya tidak membutuhkan keduanya. BBM bahkan bagi saya dapat menjadi sebuah gangguan (distraction). Masih ada SMS untuk berkomunikasi. Bahkan adanya biaya untuk SMS (meskipun sudah sangat murah) sedikit banyak mengurangi terjadinya spim/spam pesan yang tidak perlu.

Push email pun tidak saya butuhkan karena saya terlalu banyak menerima email. Bisa jadi lebih dari 100 email yang saya terlima. Kalau ditambah dengan email dari milis-milis dan spam, mungkin setiap harinya ada lebih dari 500 email. Mau di-push? he he he. Maboklah. Jadi push email juga tidak saya butuhkan.

Untuk hal yang kedua, soal penurunan popularitas BlackBerry, ada beberapa faktor. Handphone yang mirip BlackBerry sudah terlalu banyak sehingga dia tidak modis lagi. Kalau dulu mungkin orang bisa gaya dnegan menggunakan BlackBerry. Sekarang … tidak lagi πŸ™‚Β  Itu kalau dilihat BlackBerry sebagai lifestyle. Sekarang orang malah sedang demen Android, Apple iPad, Galaxy tab, (yang kedua terakhir ini mungkin gak nyambung dengan telepon – tapi kita sedang bicara lifestyle) dan mungkin sebentara lagi WinPhone 7 (iPhone baru kok kurang greget kayaknya).

Maka, apa lagi yang menarik dari BlackBerry? (Sebetulnya ada sih, but I am not telling you. ha ha ha.) Popularitas mereka akan anjlok.

Masih ada yang ingat Communicator? Sekarang pada disimpan di mana ya? πŸ™‚ hi hi hi. Padahal dahulu orang-orang demikian fanatiknya dengan communicator ini.

Jadi … daripada kita ribut-ribut soal regulasi BB dan RIM, lebih baik kita habiskan energi untuk belajar dari pengalaman ini. Apa pelajaran yang bisa kita peroleh? Lesson(s) learned? Ini bisa kita lihat dari kacamata teknologi, bisnis, regulasi, dan kultur. Siapa yang mau mulai?

Biarlah BB dan RIM jika mereka memang tidak mau hadir di Indonesia secara korporat dan support. (Bahkan yang mengamati soal BB di Indonesia pun tempatnya di Singapura. weee.) Silahkan rugi sendiri. Padahal kalau mereka hadir di Indonesia, mereka bisa melakukan inovasi-inovasi yang khas Indonesia. Ya sudahlah. Gak usah dukung mereka saja πŸ™‚

Listrik, … mana listrik

Satu hal yang berbeda sekarang dan dahulu adalah saya membawa banyak gadget. Ada handphone, notebook, kamera digital, pemutar MP3, … apa lagi ya? udah. Satu hal yang sama dari semuanya adalah mereka semua perangkat elektronik yang membutuhkan listrik. Batre yang digunakanpun seringkali sudah bermasalah sehingga tidak bisa lama digunakan.

Jadi, ketika memasuki ruangan, hal yang pertama saya cari adalah colokan listrik (electrical outlet). he he he.

Sayangnya, banyak tempat yang pelit colokan listrik. Di ruang pertemuan untuk rapat biasanya hanya ada satu atau dua colokan. Itupun sudah dipakai untuk infocus dan penguat suara. Padahal peserta rapat biasanya membawa notebook dan (hampir pasti) membawa handphone juga. Apabila rapatnya lama, pasti mulai ada yang resah mencari colokan listrik.

Di ruang kuliah pun biasanya hanya tersedia satu atau dua colokan listrik. Padahal mahasiswa juga menggunakan notebook.

Nah, untuk para desainer ruangan (arsitek?) lain kali kalau mendesain ruangan tolong sedikit obral dengan colokan listrik ya. Jangan terlalu pelit ah.

Twitter Ngaco

Entah kenapa, tiba-tiba jumlah twit saya dikorting oleh twitter menjadi sekitar 150-an (dan sekarang mungkin sudah 170-an). Padahal sebelumnya jumlah twit saya sudah mencapai lebih dari 2000. Saya ingat ini karena pernah membuat sebuah “target” bahwa jumlah twit saya harus dua kali jumlah followers. (Target nggak nyambung.) Waktu itu jumlah follower-nya sekitar 1000-an dan saya berhasil meng-twit lebih dari 2000 πŸ™‚

Untungnya twit saya tidak penting, tetapi ada orang-orang yang menggunakan twitter sebagai mekanisme untuk mengajar, memberikan informasi, atau mencatat URL (atau hal-hal kecil – menjadikan twitter seperti notes). Untuk hal-hal seperti itu catatan (archive) dari twit mereka mungkin penting. Itulah sebabnya lebih baik menggunakan blog untuk hal itu. Twitter untuk hal-hal yang tidak penting saja?

Tapi tidak apa-apa. Pengortingan ini bisa jadi alasan untuk ngamuk meng-twit lagi. he he he. Yuk mari …

Sementara itu … setelah saya pikir-pikir, hasilnya seperti ini:

you can measure one’s unproductive time by counting the number tweets they produce

he he he …

[Membaca kembali tulisan saya di atas agak lucu juga. Banyak kata-kata yang kalau dibaca 10 tahun yang lalu mungkin tidak bisa dimengerti. Apa itu twit? hi hi hi. Nampaknya akan banyak kata-kata teknis yang bakalan masuk ke kamuas.]

Flipboard yang non-iPad?

Ternyata aplikasi yang paling memukau di iPad adalah Flipboard. (Silahkan kunjungin situs mereka.)

Pada prinsipnya, aplikasi ini mengambil data dari stream jejaring sosial kita (twitter, facebook, dan lain-lain) dan kemudian melayout datanya menjadi sebuah majalah. Persis majalah konvensional; dengan typography yang menawan, image, video, dan seterusnya. Jika data yang dari twitter ada URL, maka content dari URL tersebut dia tampilkan di halamannya.

Kita dapat melihat halaman berikutnya seperti membaca majalah biasa, flip. Hadoh. Intuitif sekali. Pokoknya bagus deh.

Nah, sekarang saya jadi ingin punya aplikasi ini untuk komputer-komputer saya yang menggunakan OS Mac OS X, Windows 7, dan Linux (Ubuntu). Sayangnya belum ada. Ayo … buat dong!

Saya sebenarnya ingin coding lagi juga, tetapi banyak hal yang harus dipelajari ya? Apa saja sih yang harus dikuasai? CSS? XML? RSS? dll. Hadoh. Kapan punya waktu untuk belajar ya?

Twitter Cepat Basi

Tulisan yang ada di Twitter hanya bisa dibaca sekarang juga. Jika lewat, dia menjadi basi. Sebetulnya secara teknis bisa saja kita baca nanti-nanti, tetapi umumnya kita membaca twitter sekarang juga kan? Ada gak yang membaca tulisan di twitter 1 minggu yang lalu? 6 bulan yang lalu? Rasanya jarang ya. Ini yang saya maksud dengan cepat basi.

Demikian pula status di Facebook juga tidak jauh berbeda, meskipun menurut saya dia lebih “sticky” (lebih bertahan lama). Jadi kebasiannya tidak secepat Twitter, meskipun basi juga. Memangnya ada yang pernah membaca status orang 6 bulan yang lalu?

Nah yang paling tidak basi sebetulnya adalah tulisan blog dan web. Tulisan di sana masih dapat dibaca beberapa tahun kemudian dan memang demikian. Saya lihat tulisan saya yang dibuat tahun 2007, misalnya, masih ramai dibaca juga.

Bagaimana menurut Anda?

Excel Bug?

Saya masih bingung dengan percobaan ini dengan menggunakan Microsoft Excel:

  1. Isi satu cell (katakanlah A1) dengan angka -2
  2. Buat formula cell di bawahnya yang menambahkan 0.1 ke angka di atasnya (A1 + 0.1)
  3. Copy formula tersebut ke bawah beberapa kali
  4. Nah di cell A21 seharusnya isinya adalah nol (0), tetapi ternyata tidak nol. Angka yang ada adalah 6.3838 E-16. Memang angkanya sangat kecil tetapi tidak nol.

Mengapa demikian? Apakah ini bug di Microsoft Excel? Help

Kultur Bisa Berubah

Ketika masih remaja, saya tidak pernah mengenakan helm ketika mengendarai motor. Bukan karena saya ingin merasa sok jago atau karena ingin melanggar hukum, tetapi waktu itu memang penggunaan helm tidak diwajibkan. Bahkan orang yang mengenakan helm malah menjadi perhatian orang, β€œWah … hebat. Pembalap nih?” Waktu itu memang helm masih menjadi barang yang langka. Kalaupun ada harganya bisa dikatakan mahal.

Sekarang, silahkan coba mengendarai motor tanpa helm. Dapat dipastikan langsung menjadi perhatian pak Polisi. Jangankan pak Polisi, masyarakat pun akan mengerutkan alis. β€œBerani sekali naik motor tanpa helm???”

Perubahan ini terjadi karena adanya aturan yang mewajibkan penggunaan helm, adanya kesadaran akan masalah keamanan, dan helm sudah tersedia di mana-mana dengan harga yang terjangkau. Kesemuanya ini mengubah kultur.

Nah sekarang kita pindah ke dunia software.

Pada awalnya software tidak dijual secara komersial karena software menjadi bagian (paket) dari hardware mainframe. Tidak ada yang membeli software secara khusus karena tidak ada orang yang punya mainframe di rumahnya. Kemudian terjadi penemuan komputer pribadi (personal computer, PC) dan software kemudian mulai dijual terpisah. Maka muncullah industri software.

Di Indonesia, ketika komputer – dalam hal ini komputer pribadi – mulai ramai digunakan, tidak banyak orang yang membeli software. Maklum, di toko jarang ada yang jual dan kalaupun ada harganya luar biasa mahal. Umumnya orang hanya mengopy software dari orang lain. Bahkan toko pun memasangkan software tanpa memungut biaya. Mungkin hanya perusahaan multi nasional yang membeli software asli. β€œMembajak” software merupakan norma pada waktu itu. Tidak ada yang aneh.

Sekarang situasinya sudah berbeda. Harga software sudah lebih terjangkau, aturan hukum mulai ditegakkan, dan ada banyak alternatif software lain (free software, open source) sehingga semakin banyak orang yang menggunakan software yang 100% original. Bahkan sekarang normanya adalah menggunakan software legal. Penjual hardware (komputer) pun sekarang sudah memasangkan software yang original.

Ternyata memang kultur bisa berubah ya. Bagaimana dengan Anda? Masih tetap seperti dulu?

100% original

Pangkatkan Ini

Setelah kemarin saya memberikan “pemanasan” dengan tulisan “Kalikan Bilangan Ini“, maka sekarang saya naikkan tingkat kesulitannya.

Diketahui rumus berikut: z = (x^y) mod n, dimana “mod” merupakan operasi modulus. Berapakah z untuk data berikut:

x = 622288097498926496141095869268883999563096063592498055290461

y = 610692533270508750441931226384209856405876657993997547171387

n = 2425967623052370772757633156976982469681

z = ?

Bagaimana cara Anda menyelesaikan hal ini?

Catatan: rumus yang digunakan merupakan rumus yang digunakan oleh algoritma RSA. Angka yang digunakan kebetulan hanya 60 digit. Untuk RSA yang sesungguhnya, angka yang digunakan bisa mencapai 2048-bit.

Aspek Hukum Penelitian Security

Salah satu mahasiswa saya sedang melakukan penelitian tentang keamanan informasi (security). Fokus utama penelitiannya adalah tentang penggunaan password. Ada banyak aspek yang ditelitinya, seperti misalnya adalah seberapa sering pengguna mengganti password, seberapa kuat password yang dipilihnya, dan seterusnya.

Salah satu hal yang sedang diteliti adalah apakah pengguna memakai password yang samaΒ  untuk aplikasi yang berbeda (password reuse). Untuk hal ini, peneliti sudah mendapatkan satu set password (secara legal tentunya) dari sebuah aplikasi. Nah, peneliti ingin menguji apakah password yang sama ini digunakan oleh pengguna untuk aplikasi yang lain, seperti misalnya facebook, yahoo, gmail, dan seterusnya. Apakah peneliti boleh langsung menggunakan data yang dia miliki untuk mencobakan password tersebut kepada account pengguna yang bersangkutan?

Masalahnya, jika pengguna ditanya, maka pengguna akan mengatakan passwordnya beda. Padahal dalam kenyataannya belum tentu. Ini yang menyebabkan peneliti mencoba langsung. Tentu saja data setiap individu tidak akan ditampilkan dalam hasil penelitian, tetapi hanya agregatnya saja.

Masalahnya, apakah yang dilakukan oleh peneliti ini legal atau tidak? Mohon masukan. (Kami belum mengeksekusi hal ini. Menunggu masukan dari berbagai pihak dulu.)

Bisnis Internet Untuk Anak

Kemarin ada yang bertanya apakah ada layanan (dari siapa saja) yang menyediakan layanan akses internet untuk anak-anak kecil. (Perhatikan bahwa ini untuk anak-anak kecil.) Menarik juga ya? Kenapa kok tidak ada?

Mestinya ada ISP yang memberikan layanan proxy, yang mana hanya URL tertentu yang boleh diakses (dalam bentuk whitelist). Jadi semacam sandbox, gitu. Daftar URL ini diperiksa dan ditambah secara berkala oleh tim (yang ikut mereview kontennya, yang mungkin menyertakan anak-anak juga).

Rasanya ada banyak orang tua yang mau mengambil layanan ini. Kenapa kok belum ada ya?