← JavaScript51 / 69
Debugging sistematis
Cara amatir: mengubah kode secara acak sampai jalan. Cara profesional: reproduce (buat error muncul konsisten) → isolate (persempit sampai kode terkecil yang masih gagal) → fix → verify. Fungsi di bawah punya bug klasik; temukan lewat isolasi, bukan tebakan. Setelah bug ditemukan, tulis satu test kecil yang gagal sebelum perbaikan dan lulus sesudahnya — itu cara termurah memastikan bug yang sama tidak kembali.
👀 Contoh dulu
// BUG: kenapa hasilnya undefined?
function ambilPertama(arr) {
return arr[1]; // ← isolasi: cek asumsi indeks
}
console.log(ambilPertama(['a', 'b'])); // 'b', bukan 'a'
// PERBAIKAN: indeks pertama adalah 0
function ambilPertamaBenar(arr) {
return arr[0];
}
console.log(ambilPertamaBenar(['a', 'b']));Hasilnya: b a
💡 Proses: reproduce (jalankan, lihat 'b') → isolate (curigai indeks) → fix (ubah ke 0) → verify (jalankan lagi).
📝 Sekarang giliranmu
Fungsi ambilTerakhir mengembalikan undefined. Perbaiki bug off-by-one-nya (indeks array dimulai dari 0), lalu tampilkan hasilnya.
Preview