#kamiskoding #10: Kiat-Kiat Debugging

Hello… udah sore aja! Ini hari kamis, saya gak lupa kok. Berarti waktunya #kamiskoding dong! Maaf, telat nih… tadi masih ada perlu.🙂
Thu May 03 2012 – 09:42:59 (+7 hour)

Langsung aja ya… #kamiskoding lanjut bahasan pekan lalu, masih ttg debugging. Bantu RT ya. Trims. *colek om @nukman @jazle @priyadi*🙂
Thu May 03 2012 – 09:44:31 (+7 hour)

Kali ini saya akan bahas ttg kiat2 agar debugging lebih efektif dan efisien. Tentu, sekali lagi, ini versi saya.🙂 #kamiskoding
Thu May 03 2012 – 09:49:43 (+7 hour)

Ada bbrp kiat agar debugging lebih mudah & cepat. Pertama: dokumentasi. Catat setiap kali ada bug, terutama yg major (serius). #kamiskoding
Thu May 03 2012 – 09:51:39 (+7 hour)

Catatannya tentu yg komprehensif dong. Seluruh proses debugging 1-7 itu, mulai dari dampak bug, perubahan yg dilakukan, dst. #kamiskoding
Thu May 03 2012 – 09:54:19 (+7 hour)

Utk bantu proses dokumentasi, gunakan berbagai tool bug documenter yg banyak tersedia. Misal: bugtrack, mantis, bugzilla, dsb. #kamiskoding
Thu May 03 2012 – 09:57:26 (+7 hour)

Dgn adanya dokumentasi, jika bug lama muncul lagi, penanganan bisa dilakukan dgn lebih cepat krn sudah ada catatan pengalaman. #kamiskoding
Thu May 03 2012 – 10:00:12 (+7 hour)

Kedua: gunakan version control system (VCS) utk kode program. Ini penting utk “undo” implementasi solusi yg telah berjalan. #kamiskoding
Thu May 03 2012 – 10:06:27 (+7 hour)

Dgn VCS, kode program bisa dikembalikan ke posisi sebelum solusi diterapkan. Dlm banyak kasus, “undo” ini sangat penting. #kamiskoding
Thu May 03 2012 – 10:08:33 (+7 hour)

Syukurnya, VCS ini juga banyak tersedia. Yg komersil atau open source, semua ada. Misal: subversion (svn), git, bazaar, dsb. #kamiskoding
Thu May 03 2012 – 10:14:04 (+7 hour)

Kiat ke-3: sertakan log dlm aplikasi. Log adlh senjata utama dlm debugging. Log bantu proses identifikasi dan analisa bug. #kamiskoding
Thu May 03 2012 – 10:17:52 (+7 hour)

Ada sebagian yg anggap bhw log tak perlu dipasang di aplikasi final. Cukup dipasang saat pengujian saja. Ini anggapan yg salah. #kamiskoding
Thu May 03 2012 – 10:19:21 (+7 hour)

Justru log lebih bermanfaat di aplikasi final (yg dilepas ke user). Krn apa yg terjadi saat di user, diluar kendali programmer. #kamiskoding
Thu May 03 2012 – 10:20:39 (+7 hour)

Log jadi satu2-nya media bagi programmer utk “hadir” saat aplikasi sepenuhnya di user. Tak ada log, debugging akan lebih sulit. #kamiskoding
Thu May 03 2012 – 10:23:07 (+7 hour)

Beda dgn saat testing dmn aplikasi masih dikawal programmer dan dijalankan di lingkungan terkendali. Debugging relatif mudah. #kamiskoding
Thu May 03 2012 – 10:24:39 (+7 hour)

Itu sebabnya, nyaris di semua bhs pemrograman tersedia pustaka logging masing2. Di Java ada log4j, di .Net ada log4net, dst. #kamiskoding
Thu May 03 2012 – 10:29:21 (+7 hour)

Ok… kultwit saya pause dulu… udah masuk maghrib di sini. Ntar lanjut lagi ya… I’ll be right back!🙂 #kamiskoding
Thu May 03 2012 – 10:30:56 (+7 hour)

Ok… mari kita lanjut lagi bahasan #kamiskoding yg terputus tadi. Sampai mana tadi?🙂
Thu May 03 2012 – 11:54:11 (+7 hour)

Kiat terakhir, keempat: sediakan error/log reporting di aplikasi. Ini penerapan dari prinsip “help your users to help you”.🙂 #kamiskoding
Thu May 03 2012 – 11:57:55 (+7 hour)

Error reporting (ER) adlh tindak lanjut dari log. Dgn teknis penangkapan exception yg baik, ER jadi feedback teknis yg bagus. #kamiskoding
Thu May 03 2012 – 12:00:18 (+7 hour)

Log berfungsi utk catat apa yg terjadi saat muncul kesalahan di app, ER berfungsi utk kirim catatan tsb kembali ke programmer. #kamiskoding
Thu May 03 2012 – 12:01:51 (+7 hour)

Jangan berharap user akan bisa berikan laporan kesalahan dgn baik dan rinci. User tak paham teknis. Dan itu bukan tugas mereka. #kamiskoding
Thu May 03 2012 – 12:03:23 (+7 hour)

Utk bantu user berikan laporan kesalahan, ER jadi media penghubung user dgn programmer. User cukup klik, ER terkirim otomatis. #kamiskoding
Thu May 03 2012 – 12:07:59 (+7 hour)

Pesan kesalahan yg tampil ke user jangan dgn bhs yg terlalu teknis. Tak ada manfaatnya juga buat user krn toh tak paham juga. #kamiskoding
Thu May 03 2012 – 12:09:40 (+7 hour)

Saat muncul error, aplikasi cukup tampilkan dialog dgn bhs ramah. Dan minta user utk kirim ER dgn klik tombol di dialog tsb. #kamiskoding
Thu May 03 2012 – 12:11:42 (+7 hour)

ER otomatis ambil log aplikasi, kirim laporan ke programmer (via email/http). User tak repot, programmer juga senang.🙂 #kamiskoding
Thu May 03 2012 – 12:13:33 (+7 hour)

Dgn ER, aplikasi dan programmer terkesan lebih profesional. Itu sebabnya ER jadi fitur baku/wajib di aplikasi2 terkenal/mahal. #kamiskoding
Thu May 03 2012 – 12:17:10 (+7 hour)

Utk bisa terapkan 4 kiat tadi dibutuhkan usaha lebih dari programmer. Programmer dituntut bekerja rapi, tertib, dan disiplin. #kamiskoding
Thu May 03 2012 – 12:18:18 (+7 hour)

Dan krn debugging adlh proses penting dlm pemrograman. Kiat2 tadi bisa dipakai utk menilai mutu program dan programmer-nya. #kamiskoding
Thu May 03 2012 – 12:20:10 (+7 hour)

Demikian #kamiskoding utk pekan ini. Silakan jika ada tanggapan/saran/kritik. Semoga bermanfaat. Sampai jumpa di bahasan berikutnya.🙂
Thu May 03 2012 – 12:24:40 (+7 hour)

Oh ya, jika ingin simak atau tanggapi bahasan #kamiskoding saya pekan2 lalu, silakan kunjungi blog saya. Tepatnya di http://t.co/MzHq1dp0
Thu May 03 2012 – 12:26:50 (+7 hour)

Eh, #kamiskoding ini bukan harus selalu saya yg ngisi. Rekan2 programmer lain saya harapkan juga mau berbagi ilmu dan pengalamannya.🙂
Thu May 03 2012 – 12:32:50 (+7 hour)

*colek programmer2 dewa: @jazle @priyadi @idham @imam_ms @luridarmawan @OchIwansa @jingglang @hurie83 @coderbuzz* #kamiskoding🙂
Thu May 03 2012 – 12:37:52 (+7 hour)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: