AI untuk Debugging
Teknik memakai AI untuk menemukan bug: dari menempel error sampai meminta hipotesis berlapis.
AI sebagai Partner Debugging, Bukan Tukang Tebak
Debugging adalah aktivitas yang paling banyak memakan waktu developer, dan ironisnya juga yang paling cocok dibantu AI. Kenapa? Karena debugging adalah pekerjaan pola: membaca error, membentuk hipotesis, memverifikasi, mengulang. AI sangat cepat di dua langkah pertama (membaca dan hipotesis), sedangkan kamu tetap pegang langkah verifikasi. Modul ini mengajarkan cara membagi kerja itu dengan benar.
Kuncinya: jangan minta solusi dulu. Minta AI membantu berpikir. Solusi yang datang dari hipotesis yang terverifikasi hampir selalu benar; solusi yang langsung diminta hampir selalu perlu 3 putaran revisi.
Contoh 1: Workflow Debug Sistematis (Langkah Bertahap)
Situasi: tombol "Simpan" di aplikasimu tidak melakukan apa-apa. Tidak ada error di console.
Langkah 1, kumpulkan bukti sebelum bertanya. Catat: (a) apa yang seharusnya terjadi, (b) apa yang benar-benar terjadi, (c) kapan mulai rusak ("tadi pagi masih jalan, setelah aku ubah X jadi rusak"), (d) kode yang relevan (fungsi handler tombol + fungsi simpan).
Langkah 2, minta hipotesis, bukan solusi:
Tombol Simpan tidak bereaksi dan tidak ada error di console. Kode handler: [paste, maksimal 60 baris] Yang berubah terakhir: aku menambah validasi di fungsi validasiForm(). Beri 3 hipotesis penyebab, urut dari paling mungkin. Untuk tiap hipotesis, tulis 1 cara memverifikasi (console.log apa / breakpoint di mana). Jangan kasih solusi dulu.
Langkah 3, verifikasi sendiri. Misal hipotesis 1: "validasiForm() return false diam-diam sehingga simpan dibatalkan". Kamu tambah console.log di titik itu, klik tombol, lihat hasil. Kalau terbukti, barulah: "hipotesis 1 benar, sekarang kasih perbaikan minimal."
Langkah 4, minta AI menjelaskan akar masalahnya. Setelah bug ketemu: "jelaskan kenapa ini bisa terjadi dan bagaimana mencegahnya lain kali." Ini mengubah setiap bug jadi pelajaran, bukan sekadar perbaikan.
Contoh 2: Debugging Error yang Membingungkan (Praktik)
Error seperti undefined is not a function atau stack trace 20 baris bikin pemula panik. Pola prompt yang bekerja:
Aku dapat error ini: [paste error LENGKAP termasuk stack trace] Kode di baris yang ditunjuk: [paste 15 baris sekitarnya] Jelaskan dengan bahasa sederhana:
- Baris mana yang sebenarnya bermasalah (bisa beda dari baris yang ditunjuk error)
- Apa yang terjadi di memori saat error (variabel apa yang undefined/kosong)
- 2 kemungkinan penyebab paling umum untuk pola error ini Jangan langsung kasih kode perbaikan.
Poin 1 penting: baris yang ditunjuk error sering hanya "korban", bukan "pelaku". Meminta AI melacak ke pelaku sebenarnya melatih intuisi debugging-mu sendiri. Setelah paham, kamu yang tulis perbaikannya (atau minta AI, lalu review).
Catatan teknis: AI tidak bisa menjalankan kodemu (kecuali via agent dengan akses terminal). Artinya ia men-debug secara statis: menalar dari kode dan pesan error tanpa observasi runtime. Ini batasan sekaligus keunggulan: ia memaksamu menyediakan observasi (console.log, nilai variabel) yang justru merupakan keterampilan debugging inti. Untuk bug runtime yang kompleks (race condition, masalah async), observasi yang kamu kumpulkan (urutan log, timing) jauh lebih berharga daripada kode itu sendiri. Selalu sertakan "apa yang terjadi" bukan cuma "kodenya begini".
Kesalahan Umum
- Paste error tanpa kode. "Error: X, kenapa?" tanpa konteks = AI menebak. Sertakan kode di sekitar baris error dan apa yang terakhir berubah.
- Minta solusi untuk bug yang belum dipahami. Solusi tanpa pemahaman = bug yang sama muncul lagi minggu depan dalam bentuk berbeda. Luangkan 5 menit memahami akar masalahnya.
- Tidak memberi tahu hasil verifikasi. "Solusinya tidak berhasil" tanpa menjelaskan apa yang terjadi setelah dicoba membuat AI menebak lagi. Selalu laporkan: "setelah dicoba, error berubah jadi Y" atau "sekarang tidak error tapi hasilnya Z".
- Debug marathon tanpa istirahat pola. Kalau 3 putaran dengan AI belum menyelesaikan, berhenti. Jelaskan masalahnya ke teman (atau ke AI dengan kata-katamu sendiri, teknik "rubber duck"). Seringkali jawabannya muncul saat kamu merumuskan ulang.
Rangkuman
AI mempercepat debugging lewat hipotesis cepat, tapi verifikasi tetap milikmu. Workflow-nya: kumpulkan bukti > minta hipotesis + cara verifikasi > verifikasi sendiri > minta solusi untuk hipotesis terbukti > pelajari akar masalahnya. Debugging dengan AI yang disiplin tidak cuma memperbaiki bug lebih cepat, tapi juga membuatmu debugger yang lebih tajam.
Tantangan
Debug dengan Hipotesis
Ambil satu bug nyata yang pernah kamu hadapi (atau buat bug sengaja di kode latihan). Terapkan Teknik 2: minta AI memberikan 3 hipotesis penyebab + cara verifikasi tiap hipotesis. Verifikasi satu per satu sampai ketemu. Catat: apakah hipotesis pertama benar?