Materi JavaScript 4
Debug JavaScript
oleh: Suryo Adhy Chandra, ST
Debug adalah proses mencari tahu apakah kode berjalan dengan benar atau menemukan penyebab kesalahan pada program. Dalam JavaScript, salah satu alat debug paling sederhana adalah console yang ada di browser.
1. Membuka console di browser
Untuk membuka console, klik kanan pada halaman web, pilih Inspect atau Inspect Element,
lalu buka tab Console. Pada beberapa browser, console juga bisa dibuka dengan tombol
F12 atau kombinasi Ctrl + Shift + I.
2. Menggunakan console.log()
Perintah console.log() digunakan untuk menampilkan pesan biasa di console.
Ini sering dipakai untuk mengecek apakah kode sudah berjalan.
3. Menggunakan console.warn() dan console.error()
Selain pesan biasa, kita juga bisa menampilkan peringatan dan pesan error. Ini membantu membedakan jenis informasi yang muncul di console.
4. Contoh debug di dalam HTML
Contoh berikut membuat tombol yang memanggil fungsi JavaScript. Ketika tombol diklik, pesan akan muncul di console.
Demo console:
Setelah tombol diklik, buka console browser untuk melihat pesan debug.
5. Debug input kosong
Console juga bisa membantu kita mengecek isi input. Pada contoh ini, jika input masih kosong, JavaScript akan menampilkan peringatan.
Demo cek input:
console.log() untuk mengecek alur program,
console.warn() untuk peringatan, dan console.error() untuk menandai
kesalahan yang perlu diperbaiki.
6. Jenis-jenis error pada JavaScript
Ketika program tidak berjalan semestinya, penyebabnya biasanya masuk dalam tiga golongan. Mengenalinya mempercepat perbaikan, seperti dokter yang mengenali gejala sebelum memberi obat.
- Syntax error: penulisan melanggar aturan bahasa, misalnya lupa menutup kurung atau tanda kutip. Program bahkan tidak mulai berjalan.
- Runtime error: penulisan benar, tetapi terjadi masalah saat berjalan, misalnya memanggil variabel yang belum dibuat (
ReferenceError) atau mengakses elemen yang tidak ada. - Logic error: program berjalan tanpa pesan error, tetapi hasilnya salah, misalnya memakai
+padahal seharusnya-. Ini yang paling sulit dicari.
Pesan error di console selalu mencantumkan jenis error, penjelasan singkat, dan nomor baris. Biasakan membacanya dari atas; sering kali satu error di awal memicu banyak error lanjutan di bawahnya.
7. Contoh bug dan cara menemukannya
Perhatikan kode berikut. Tujuannya menghitung rata-rata dua nilai, tetapi hasilnya aneh.
function rataRata(a, b) {
return a + b / 2;
}
console.log(rataRata(80, 90)); // 125, seharusnya 85
Hasil 125 muncul karena pembagian dikerjakan lebih dulu daripada penjumlahan: 90 / 2 = 45, lalu ditambah 80. Untuk menemukan penyebabnya, kita tambahkan console.log di langkah-langkah antara, lalu memperbaikinya dengan tanda kurung.
function rataRata(a, b) {
console.log("a =", a, "b =", b);
let jumlah = a + b;
console.log("jumlah =", jumlah);
return jumlah / 2;
}
console.log(rataRata(80, 90)); // 85
8. Alat bantu lain: debugger dan breakpoint
Selain console.log, browser memiliki tab Sources untuk menjeda program pada baris tertentu. Klik nomor baris untuk memasang breakpoint; saat program mencapai baris tersebut, ia berhenti dan kamu bisa melihat nilai semua variabel serta berjalan satu langkah demi satu langkah. Kamu juga bisa menuliskan kata kunci debugger; di dalam kode, dan browser akan berhenti di situ selama Developer Tools terbuka. Cara ini seperti memutar film dengan tombol jeda dan maju per bingkai.
9. Langkah sistematis saat menemukan bug
- Baca pesan error dan catat nomor barisnya.
- Ulangi masalah supaya kamu yakin kapan terjadinya.
- Persempit area: matikan sementara sebagian kode dengan komentar
//. - Cetak nilai variabel penting dengan
console.log. - Ubah satu hal pada satu waktu, lalu uji ulang.
10. Kesalahan yang sering terjadi
- Membiarkan puluhan
console.logtertinggal di versi akhir; hapus setelah selesai. - Membaca pesan error sepintas tanpa melihat nomor baris.
- Mengubah banyak bagian sekaligus sehingga tidak tahu perubahan mana yang menyelesaikan masalah.
- Menggunakan
=(pengisian) padahal bermaksud==atau===(perbandingan) di dalamif.
11. Ringkasan
console.log, dan manfaatkan breakpoint untuk menelusuri program langkah demi langkah.
12. Latihan
- Error jenis apa bila kamu lupa menutup tanda kurung pada
console.log("halo"?Lihat jawaban
Syntax error. - Program berjalan lancar tetapi total belanja selalu salah. Jenis error apa ini?
Lihat jawaban
Logic error; rumus atau urutan perhitungannya keliru. - Perbaiki:
function rata(a,b,c){ return a+b+c/3; }Lihat jawaban
return (a + b + c) / 3; - Apa gunanya breakpoint dibanding
console.log?Lihat jawaban
Breakpoint menghentikan program di baris tertentu sehingga semua variabel bisa diperiksa dan dijalankan langkah demi langkah tanpa mengubah kode.