Design Pattern Abuse

Dalam dunia programming / pembuatan software, dikenal istilah yang namanya design pattern :

In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.

Secara sederhana, design pattern itu semacam template solusi yang bisa dibilang “best practice” untuk berbagai macam permasalahan design yang muncul pada saat kita membuat software. Design pattern bukan semacam silver bullet yang bisa menyelesaikan semua masalah. Design pattern ada banyak. Masing-masing pattern memberikan solusi untuk domain problem yang spesifik. 

So,apakah kita harus selalu menggunakan design pattern saat membuat program? Read the rest of this entry »

Tentang Tugas Proyek

Beberapa mata kuliah di jurusan gw ( ilmu komputer ) menyertakan tugas besar berupa proyek pembuatan software sebagai salah satu komponen penilaian. Mata kuliah yang ada tugas tipe-tipe kayak gitu antara lain Rekayasa Perangkat Lunak, Pemrograman Sistem Berorientasi Objek, Sistem Informasi, Interaksi Manusia Komputer, dll. Empat mata kuliah yang disebutkan diawal memiliki sedikit perbedaan : Software yang kiat buat adalah software yang idenya muncul dari kelompok lain. Jadi semacam simulasi pengerjaan proyek gitu. Kita bikin program berdasarkan requirement dari orang lain.

Menurut gw pribadi, model kayak gitu lumayan bagus. Di dunia nyata emang seringnya kita bikin program berdasarkan keinginan orang lain, kecuali kita emang mau jualan software atau nyediain service – Itu juga desain softwarenya gak sepenuhnya bisa sesuka kita. Tetep harus ngikutin role-role yang ada biar tu software bisa kepake.

Tapi jujur, gw sangat kecewa saat tugas proyek Pengembangan Sistem Berorientasi Objek ternyata menggunakan sistem tukar-tukaran juga.

Read the rest of this entry »

Trik Memasang Flash Player di Firefox Portable

Beberapa situs di internet seperti situs video streaming ( youtube ) membutuhkan plugin flash player pada browser agar dapat bekerja. Biasanya jika ternyata flash player belum terpasang, kita cukup mendownload plugin flash tersebut dari situs adobe lalu meningstallnya. Setelah merestart browser, voila ! Content-content berbasis flash pun siap kita nikmati.

Untuk menginstall plugin flash player, kita memerlukan hak akun administrator. Bagaimana jika kita ingin memasang flash player di komputer publik yang tidak memberikan kita hak administrator? di lab komputer kampus atau di warnet misalkan? Ternyata sangat sederhana. Sebagai contoh, kita akan memasang flash player pada browser firefox portable : Read the rest of this entry »

Alamat Email Sekali Pakai

Email merupakan sarana komunikasi yang sangat populer di jaman sekarang ini. Bisa dibilang, email beserta rekan sejawatnya yaitu sms telah berhasil menggusur surat dan perangko dari kancah komunikasi berbasis tulisan.

Email unggul karena, murah, mudah dan cepat. Biaya yang kita keluarkan untuk mengirim dan menerima email rasa-rasanya hanya biaya koneksi internet yang tidak seberapa. Banyak provider email berkualitas tinggi menyediakan servicenya untuk kita nikmati secara gratis.

Nyaris semua pengguna internet memiliki setidaknya satu buah alamat email.

Kenyataan ini pula yang membuat email bisa dan biasa digunakan sebagai pengganti identitas didunia maya. Memang, seringkali sulit untuk memverifikasi pemilik alamat email tersebut sebenarnya. Untuk soal validitas, facebook account rasanya lebih baik daripada email. Tapi bukankah untuk memiliki akun di facebook juga kita harus memilki alamat email?

Read the rest of this entry »

Tipe Data Waktu Pada MySQL

Ok. Kali ini kita bakan ngomongin tetang cara nyimpen data yang jenisnya waktu di MySQL. Ngomongin soal data waktu emang gampang-gampang susah. Dilihat-lihat gampang setelah dicoba eh ternyata susah juga. Mirip kayak pdkt ama cewek lah, he3.. ;))

Sebelum kita berlanjut, ada beberapa hal yang harus diluruskan mengenai penggunaan istilah. Gw sendiri sebenarnya bingung apa istilah bahasa indonesia yang tepat untuk “YYYY-MM-DD”. ya , tanggal. Tapi kata “tanggal” juga memiliki definisi sendiri. Oleh karena itu, gw mau bikin beberapa perjanjian :

  • Kata “tanggal” secara default maknanya adalah “DD”, 1 sampai 31. Kalau yang gw maksud dengan “tanggal” adalah “YYYY-MM-DD”, maka gw akan memberi keterangan dalam kurung ( YMD )
  • Kata “waktu” secara default artinya semua data atau tipe data yang berhubungan dengan waktu baik itu tanggal, bulan, tahun, jam, menit, detik, dan sebagainya. Gw juga akan menggunakan kata “data waktu” atau “tipe data waktu” dengan makna yang sama. Tapi kalau yang gw maksud dengan “waktu” adalah bagian “HH:MM:SS”, maka gw akan memberikan keterangan dalam kurung ( HMS ).
  • Kata “jam” secara default bermakna “HH”, 0-23 atau 0-12. Kadangkala yang gw maksud dengan jam adalah “HH:MM:SS”, maka gw akan memberikan keterangan
  • Jika ada penulisan diluar perjanjian diatas artinya gw khilaf :-"

Read the rest of this entry »

Kuesioner 101

Tadi siang gw baru pulang responsi SI dan IMK bersama pa firman ( Ok, hari sabtu ada responsi emang menyebalkan, tapi mau diapakan lagi ). Di responsi itu kita ngebahas tugas kuesioner untuk mendapatkan informasi calon user yang akan menggunakan software kita ( tugas imk si juga ). Pak Firman menjelaskan kesalahan-kesalan dari daftar pertanyaan yang kita buat plus gimana sebaiknya. Disini gw mencoba menjelaskan kembali apa yang gw dapet di ruang kuliah + pemahaman gw sendiri. Warning ! Artikel ini rada-rada panjang. Gak usah dibaca kalau bukan lagi bikin kuesioner.

Secara singkat, hal-hal yang perlu diperhatikan dalam menyusun sebuah kuesioner adalah :

  • Tujuan dari kuesioner : Tentukan informasi apa yang ingin kita gali dari kuesioner tersebut.
  • Deskripsi Singkat dari Kuesioner : Membantu responden untuk memahami maksud dan arah dari pertanyaan yang kita sampaikan
  • Tujuan dari pertanyaan : Informasi yang ingin digali dari suatu pertanyaan. Tentukanlah apakah suatu pertanyaan memang harus dilemparkan atau tidak
  • Pilihan jawaban yang jelas : Jangan membuat responden bingung dengan pilihan yang ambigu atau samar-samar perbedaannya.
  • Kenali Responden : Pilih istilah yang kira-kira dapat dipahami oleh seluruh responden
  • Jenis pertanyaan yang tepat : Pilih jenis pertanyaan yang sesuai ( pilihan ganda, benar salah ) sesuai dengan isi pertanyaan dan informasi yang ingin kita gali
  • Gunakan pilihan “lain-lain” dengan tepat : Kenali kapan kita harus memasang pilihan “lain-lain” dan kapan pilihan tersebut hanya akan membingungkan responden atau merusak jawaban.
  • Mulai Dari Pertanyaan yang Bersifat Umum : Tanyakan hal-hal yang umum terlebih dahulu lalu lanjutkan ke hal-hal yang lebih spesifik ke tujuan kuesioner
  • Alur Lompatan yang Jelas : Jika responden harus melompat ke pertanyaan lain, maka beri keterangan yang jelas untuk semua pilihan jawaban, kemana ia harus melompat.
  • Kompensasi Untuk Responden : Buatlah responden bersemangat dalam mengisi kuesioner denan cara memberikan kompensasi.

Read the rest of this entry »

Update Notifier : Memeriksa Versi Terbaru dari Software

Update Notifier adalah program dengan fungsi yang sederhana tapi melakukan tugasnya dengan baik. Program ini akan melakukan pemeriksaaan terhadap software-software yang terinstall pada komputer kita, kemudian menampilkan informasi software mana saja yang sudah terupdate dan mana saja yang belum. Dari program itu juga kita diberikan tautan ke halaman yang berisi inforrmasi singkat software tersebut, versi terbarunya, dan link untuk mendownloadnya kalau mau.

Untuk menjalankan program ini, kita memerlukan koneksi internet – ya iya lah.. – klo gak ada koneksi internet, gimana dia bisa tau versi terbaru dari software yang dicari? Saat pertama dijalankan, dia bakalan mencari software apa aja yang terinstall, kemudian membandingkan versi software yang ada di komputer ktia dengan versi terbaru di databasenya. Read the rest of this entry »

Deskpot : Multiple Desktop Manager Buat Windows

Buat yang menggunakan sistem operasi linux mungkin sudah biasa dengan feature multiple desktop manager nya ( atau mungkin disebut juga virtual desktop ). Ya.. intinya, dengan feature ini kita bisa punya beberapa desktop sekalgus dengan program, icon, dan taskbar yang berbeda-beda. Mantaf.

Nah.. deskpot ini adalah software yang bisa kita pake biar ms windows juga bisa punya virtual desktop. Biar pun namanya kayak tempat pipis portable, software ini cukup powerfull dan yang paling penting adalah gratis untuk penggunaan pribadi :D Kita gak akan di ganggu ama iklan atau peringatan untuk segera me-register karena masa trial udah mau habis, he3.. Read the rest of this entry »

Nonton ISC @ Gymnasium

Seperti hari kemarin, hari ini gw juga pergi buat nonton ISC ( Ilkomer Sport Championship ). Tontonan akhir pekan yang lumayan menghibur terutama buat yang gak punya duit buat ke bioskop, wkwkwkwkw.. Apa mau dikata, ternyata anak 43 banyakan dibantai daripada menangnya. Padahal kalau soal rusuh kita gak gitu kalah ama angkatan yang laen ;))

Pembantainan pertama terjadi waktu tim futsal A 43 lawan anak 45. Weks.. ntah kenapa anak-anak pada loyo-loyo maennya. Gw jadi curiga jangan-jangan paginya mereka pada nonton film porno :-? . Baru beberapa menit pertandingan dimulai, anak 45 yang notabene masih kecil-kecil dan mungil ( gak segitunya juga sih ) itu sudah berhasil menjebol gawang yang dijaga ama yoga :o Sebenernya itu bukan kekalahan pertama. Tim futsal yang satunya lagi juga kalah lawan angkatan 41, tapi karena perlawannannya cukup sengit dan skornya gak jauh tipis, maka kekalahan itu belum bisa dibilang pembantaian, he3..

Kekalahan rada telak lainnya dialami oleh tim basket putri. Meskipun sudah berjuang keras, tampakanya anak 45 masih terlalu hebat untuk dilawan ( yeah, anak 45 lagi yang ngebantai :( ). Tapi gpp lah, setidaknya kalian sudah berusah *mode bijaksana*

Untung saja gak selamanya kita dibantai. Basket cowok berhasil kita menangkan meskipun dengan skor tipis dan harus melalui perpanjangan waktu. Faktor latihan rutin dari anak basket + baju baru yang super keren itu sepertinya berpengaruh banyak pada kemenangan kita. Anak-anak tampil bagus. Si onta yang terlihat sangat cupu saat main futsal karena karena kehausan kali ini berhasil menunjukan permainan yang menarik dan menawan. mungkin karena dia sudah minum air cukup banyak. mantaf!.

kabar gembira gak cuman dari tim basket putra. Di sudut lain gymnasium, tim tenis meja juga memuluskan langkahnya menuju final. tim yang berisi endy, iki, ira, dkk itu berhasil mengalahkan tim 42 dengan mulus. Gw sendiri gak nonton pertandingannya karena dateng telat + masih ngantuk, he3.. selamat buat tim tenis meja, semoga pulang membawa juara ( emang pulang kemana? :p ). Anyway, ngomong-ngomong soal tenis meja gw jadi inget kawan gw Omen .. Pemain Tenis Meja terbaik yang kita punya. Untuk ISC kali ini dia tidak bisa ikut karena sudah dipanggil lebih dahulu oleh Yang Kuasa :(

Ok.. mari kita tunggu besok, di cabang apa aja kita ( anak 43 ) berhasil menang selain bulutangkis :D

Adobe AIR

Pernah denger Adobe AIR ( Adobe Integrated Runtime ) ?

Adobe® AIR® is a cross-operating system runtime that lets developers combine HTML, Ajax, Adobe Flash®, and Adobe Flex® technologies to deploy rich Internet applications (RIAs) on the desktop

Secara sederhana, Adobe AIR memungkinkan kita buat bikin program berbasis desktop menggunakan skill yang biasa digunakan untuk bikin aplikasi berbasis web ( kayak javascript, flash, ataupun flex ). Asik bukan? Iya dong, dengan satu skill kita bisa bikin aplikasi di dua platform sekaligus ( platform disini secara sederhana artinya desktop atau web ). Buat kalian yang seumur hidup mendalami dan membuat program berbasis web, sekarang bisa iseng-iseng ( dan tentunya bisa juga serius ) bikin program yang jalan di desktop.

Adobe AIR bisa dibilang membawa wajah baru ke dunia desktop ( caehlah, he3.. ). Tapi emang bener sih. Kalau kita perhatikan, interface yang menarik dan colorfull jauh lebih sering kita temukan di dunia web. Aplikasi desktop tampilannya kebanyakan gitu-gitu aja, crapy, he3.. Dengan Adobe AIR, kita bisa bikin program penuh warna di dunia desktop yang suram ini :p

Terus, apa bedanya dengan bikin program yang dijalanin via localhost? Jelas beda ! Read the rest of this entry »