Programer mana pun (insyaallah) pernah mengalami error macam ini. Kadang gara-gara kesalahan konyol seperti teledor tidak menginisiasi instans dari objek. Sering juga karena kesalahan yang suliiiiittt sekali ditemukan. Bagai mencari jarum dalam jerami. Kesalahan kecil yang bikin S.T.R.E.S.S seharian !!!
Lalu bagaimana mengatasinya?
Dahulu kala saya melakukan “System.out.println(isi dari variabel)” pada baris-baris yang dicurigai sebagai penyebab kesalahan. Agak repot, karena terkadang kesalahan muncul pada titik yang tidak terduga. Seperti kata bang Napi, kesalahan itu ada jika ada kesempatan. (MODE maksa : ON )
Kini, ketika mulai menggali “daleman” NetBeans, ternyata ada satu fitur yang amat membantu, yaitu Debug. Ini bukanlah sejenis makanan khas Yogyakarta, itu mah “gudeg”. Dan bukan pula bunyi orang jatuh, itu mah “gedebuk!”. (duh.. becanda lagi nih..)
Debug adalah fitur untuk menjalankan aplikasi tahap-per-tahap, baris-per-baris. Mudah untuk dipelajari. Dan berdasarkan pengalaman pribadi, fitur ini amat membantu “pencarian jarum yang hilang”.
Bagaimana cara menggunakannya? Yuk kita pelajari bersama. (Saya menggunakan NetBeans 6.5)
Secara umum, debug dapat dikatakan sebagai proses eksekusi program per baris code. Nah, karena dieksekusi per baris code maka dapat dilihat perkembangan yang terjadi pada aplikasi setiap kali suatu baris (perintah) dijalankan. User dapat memperhatikan objek yang muncul, objek yang terhapus, hingga perubahan nilai dari suatu objek.
Kalau baris code-nya ratusan bahkan ribuan, gimana? Berarti dijalankannya pelan-pelan banget donk!! Yuk rame-rame bilang :
Tenang, pemirsa. NetBeans punya cara untuk langsung mengarahkan debug pada baris yang kita tuju. Yaitu dengan menggunakan
Nah, sepertinya sudah cukup “pendahuluan” untuk prosesi debug ini. Sekarang kita lanjut ke praktiknya.
Pertama, pada baris yang ingin dianalisa, berikan
Selanjutnya klik kanan pada proyek utama (main project), pilih menu “Debug”.
Tunggu beberapa saat. NetBeans sedang berusaha menjalankan debug. Perhatikan panel “output” pada NetBeans. Jika tidak ada masalah maka aplikasi akan berjalan seperti biasa. Namun ada hal yang berbeda pada toolbar NetBeans. Ada penambahan icon-icon baru yang akan menjalankan fungsinya sebagai debugger.
Langkah selanjutnya, lakukanlah aktifitas pada aplikasi yang akan membuat program mengeksekusi baris yang dicurigai itu.
Voila! Eksekusi program akan berhenti pada titik
Jika tombol “step over” di klik satu kali, maka panah hijau akan berpindah ke satu baris kode selanjutnya.
Ini menandakan eksekusi baris sebelumnya telah dilakukan. Untuk melihat perubahan yang terjadi tiap kali eksekusi baris, lihat panel tambahan untuk Debug yang ada di dekat panel Output.
Ada beberapa pilihan disana. Untuk menganalisa objek gunakan panel local variables. Pada panel ini saya dapat melihat variabel-variabel yang aktif, tipe kelas, dan nilainya.
Misalnya pada contoh, ketika baris ke-47 belum dieksekusi, variabel “userInfo” belum terdaftar.
Namun ketika baris ke-47 telah dieksekusi, variabel “userInfo” pun muncul beserta nilainya. Ternyata eksekusi baris ini berhasil!
Gimana, sederhana kan!
Tapi ingat! Apa yang saya jelaskan disini baru “kail”nya saja, bukan “ikan”nya. Untuk bisa mahir menggunakan debug, perlu iseng-iseng ngutak-atik fungsi khusus debugging.
Sederhana! Tapi manfaatnya besar.
Hore!!! Selamat tinggal “Null Pointer Exception” !!!