Java,  Netbeans,  Programming,  Tekno

Fitur “Debug” Pada NetBeans Untuk Mengatasi “Null Pointer Exception Error”

Null Pointer Exception Error!

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 bookmark breakpoint (penanda) sebagai line breakpoint (baris penghentian eksekusi program terjadi).

Nah, sepertinya sudah cukup “pendahuluan” untuk prosesi debug ini. Sekarang kita lanjut ke praktiknya.

Pertama, pada baris yang ingin dianalisa, berikan bookmarkbreakpoint dengan melakukan klik. Sehingga nanti pada titik yang di-klik akan muncul kotak merah dan latar belakang baris itu menjadi ikutan berwarna merah. Saya contohkan, pada baris ke-47. Misalkan saya ingin mengetahui apakah perintah pada baris ini sukses? (Tandanya dengan adanya nilai untuk atribut “userInfo“)

bookmark
Bookmark

Selanjutnya klik kanan pada proyek utama (main project), pilih menu “Debug”.

Pilih Debug
Pilih 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.

Tambahan Toolbar
Toolbar Untuk Debugging

Langkah selanjutnya, lakukanlah aktifitas pada aplikasi yang akan membuat program mengeksekusi baris yang dicurigai itu.

Voila! Eksekusi program akan berhenti pada titik bookmarkbreakpoint. Di tempat “line number“, akan ada panah berwarna hijau. Dan baris yang segaris dengan panah itu pun akan turut berwarna hijau pada latarnya. Ini menandakan titik dimana ekseskusi program berhenti.

Eksekusi Berhenti Sejenak
Eksekusi Berhenti Sejenak

Jika tombol “step over” di klik satu kali, maka panah hijau akan berpindah ke satu baris kode selanjutnya.

Eksekusi Berlanjut Satu Baris Kode
Eksekusi Berlanjut Satu Baris Kode

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.

Panel Tambahan
Panel Debugging

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.

Variabel "userLogin" Belum Ada
Variabel “userLogin” Belum Ada

Namun ketika baris ke-47 telah dieksekusi, variabel “userInfo” pun muncul beserta nilainya. Ternyata eksekusi baris ini berhasil!

Variabel userInfo Ada dan Bernilai
Variabel userInfo Ada dan Bernilai

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” !!!

0 Comments

  • Mamanya Putri

    Bagaimana sederhana Put. Bisa sederhana kalau sudah belajar se abrek-abrek. Selamat balajar terus ya.


    putrichairina berkata :
    Akhirnya datang juga!!! Hoho.. senangnya mama berkomentar di blog ini. Iya, ma! Putri sedang belajar untuk “menyederhanakan” sesuatu yang rumit. Seperti kata mama, kuncinya : “belajarlah dengan hati yang gembira”.

  • agni199

    hi putri.. nice to know there’s a woman who has interest and passion in IT.. especially in programming.


    putrichairina says :
    nice to know you too, agni! πŸ˜‰

  • mirkenken

    Btw, Fitur Debugging udah ada sejak kita Turbo C++ layar biru loh put, cuma mgk karena gak pernah diulas ama asistennya aj waktu dulu kita belajar C, padahal proses men-debug ini penting banget.

    Skg Fitur Debugging ud ada disetiap IDE modern seperti Visual Studio, Eclipse, dan Netbeans yang baru aja Putri bahas…

    Nice post Put… πŸ™‚

    • putrichairina

      Iya, Mir. Fitur Debugging memang ada di setiap IDE dan fitur ini sangat penting! Terutama jika menghadapi error yang tidak diketahui sebab-musababnya. Makasi sudah berkomentar, Mir.
      Sekarang sibuk apa,nih?
      Sudah tercapai cita-citanya menjadi guru pemrograman?^^

  • Rachman

    Mbak,

    Udah mencoba memodifikasi Nilai dari Variabel dengan memasukkan nilai baru di “Variabel” panel.
    Ini berguna untuk memodifikasi perilaku dari suatu program, tanpa mengubah kode sumber dan mengkompilasi ulang.

    Kalo di VB kita merubahnya lewat window immediate

  • Rachman

    Bukan pernyataan ataupun pertanyaan tapi saran agar lebih komplit.
    caranya kan sudah saya sebutkan di atas yaitu dengan memasukkan nilai baru di β€œVariabel” panel. untuk contoh diatas lakukan dobel klik “jabrix” ubah menjadi “jambul” maka username sudah berubah dengan nilai menjadi “jambul”

    Bila perlu tambahkan lagi cara melakukan customize breakpoint, menambahkan new watch dll
    Selamat mencoba

  • ayip.eiger

    kayaknya ada yang salah, untuk memberikan tanda merah pada baris yang akan dihentikan debugnya, adalah memberikan breakpoint bukan bookmark..

Leave a Reply

Your email address will not be published. Required fields are marked *