Panduan Claude Code

Perbaiki Bug dalam Hitungan Detik dengan Claude Code

Baca, diagnosis, perbaiki, verifikasi, loop debugging berbasis AI

Claude Code melakukan debugging dengan membaca output error, menelusuri codebase Anda, dan menerapkan perbaikan yang tepat sasaran, semuanya dari satu perintah terminal. Daripada menyusuri kode secara manual dengan debugger atau menaburkan pernyataan print di sana-sini, Anda cukup menjelaskan masalahnya dan Claude Code akan membaca file yang relevan, menemukan akar masalah, dan menulis perbaikannya. Ini bekerja dengan bahasa apa pun, framework apa pun, dan ukuran proyek apa pun.

Debugging dengan Claude Code bekerja dengan cara menjelaskan bug menggunakan bahasa alami. Claude membaca kode sumber yang relevan, menemukan akar masalah, menerapkan perbaikan, dan menjalankan test suite Anda untuk memverifikasinya. Satu prompt saja bisa menggantikan 30 menit debugging manual dengan memanfaatkan konteks seluruh codebase.

Prosesnya

Cara Kerja Debugging dengan Claude Code

1
Baca: Claude Code menyerap konteks error

Saat Anda menempelkan pesan error, stack trace, atau menjelaskan perilaku yang tidak terduga, Claude Code mulai dengan membaca file sumber yang relevan. Ia tidak menebak, melainkan membuka kode asli Anda, membaca rantai import, memeriksa file konfigurasi, dan membangun model mental tentang bagaimana kode seharusnya bekerja. Jika error merujuk ke file dan baris tertentu, ia mulai dari sana. Jika Anda menjelaskan sebuah gejala, ia menelusuri proyek Anda untuk menemukan jalur kode yang relevan.

2
Diagnosis: menemukan akar masalah

Setelah membaca kode, Claude Code menjelaskan apa yang salah dan mengapa. Ini bukan sekadar mengulang pesan error, ia menelusuri alur logika, menemukan di mana asumsi menjadi tidak berlaku, dan menunjukkan akar masalahnya. Misalnya, jika komponen React menampilkan data yang usang, Claude Code bisa menelusuri masalah tersebut dari komponen itu, melalui sebuah custom hook, hingga ke dependensi yang hilang dalam array useEffect. Ia menjelaskan rangkaian sebab-akibatnya, bukan sekadar gejalanya.

3
Perbaiki: menulis perubahan kode yang tepat sasaran

Claude Code tidak hanya memberi tahu apa yang harus diubah, ia langsung mengedit file tersebut. Ia menulis perbaikan yang minimal dan benar di lokasi yang tepat. Jika perbaikan membutuhkan perubahan di beberapa file (misalnya memperbarui definisi tipe dan semua yang menggunakannya), Claude Code menanganinya semua secara berurutan. Anda meninjau diff-nya sebelum menerimanya, sehingga Anda tetap memegang kendali atas apa yang di-commit.

4
Verifikasi: menjalankan test Anda untuk memastikan perbaikan berhasil

Setelah menerapkan perbaikan, Claude Code dapat menjalankan test suite, linter, atau perintah build Anda untuk memverifikasi bahwa perubahan tersebut berfungsi. Jika masih ada yang gagal, ia membaca error yang baru dan mengulang loop diagnosis, perbaiki, verifikasi, sampai masalahnya selesai. Pendekatan berulang ini mencerminkan cara developer berpengalaman melakukan debugging, tetapi terjadi dalam hitungan detik, bukan menit.

Workflow

Workflow Debugging yang Umum

Analisis stack trace

Tempelkan sebuah stack trace dan Claude Code membaca setiap file dalam rantai pemanggilan. Ia menemukan akar masalahnya, bukan hanya baris yang melempar error, dengan menelusuri batas asinkron, lapisan middleware, dan pemanggilan library pihak ketiga.

Diagnosis test yang gagal

Beri tahu Claude Code test mana yang gagal, dan ia akan membaca file test maupun implementasinya. Ia membandingkan perilaku yang diharapkan dengan yang sebenarnya, menemukan ketidaksesuaiannya, dan memperbaiki kode (atau test-nya, jika test tersebut yang salah).

Penyelesaian error tipe

Error tipe pada TypeScript dan Python sering menjalar, satu tipe yang salah bisa memicu dua puluh error. Claude Code menelusuri kembali hingga ketidaksesuaian tipe aslinya, memperbaikinya di sumbernya, dan memverifikasi bahwa perbaikan tersebut menyelesaikan semua error yang muncul setelahnya.

Investigasi crash saat runtime

Untuk exception null pointer, akses nilai undefined, dan crash saat runtime, Claude Code membaca kode di sekitarnya, menemukan variabel mana yang bisa menjadi undefined dan alasannya, lalu menambahkan pemeriksaan null yang sesuai atau memperbaiki alur datanya.

Praktik Terbaik

Tips untuk Debugging yang Efektif

Tempelkan error secara lengkap, jangan hanya ringkasannya

Claude Code bekerja paling baik dengan pesan error dan stack trace yang persis. Salin seluruh output terminal daripada menyampaikannya dengan kata-kata sendiri. Nomor baris, path file, dan kode error dalam stack trace mentah memberi Claude Code titik awal yang presisi. Ringkasan seperti "error saat login" hanya memaksa untuk menebak-nebak. TypeError: Cannot read properties of undefined (reading 'user') yang sebenarnya memberi tahu Claude Code secara tepat ke mana harus melihat.

Jelaskan apa yang Anda harapkan dibandingkan apa yang terjadi

Untuk bug perilaku yang tidak disertai pesan error, jelaskan kesenjangan antara perilaku yang diharapkan dan yang sebenarnya terjadi. "API mengembalikan 200 tetapi isi responsnya kosong" jauh lebih berguna daripada "API-nya tidak berfungsi." Semakin spesifik penjelasan Anda, semakin cepat Claude Code bisa mempersempit jalur kode yang menghasilkan hasil yang salah.

Biarkan Claude Code membaca file terlebih dahulu

Jangan menjelaskan arsitektur Anda lebih dulu. Claude Code membaca file sumber Anda yang sebenarnya, yang jauh lebih bisa diandalkan daripada penjelasan Anda tentangnya. Jika Anda bilang "middleware auth memeriksa JWT" tetapi kode Anda sebenarnya melewatkan validasi untuk rute tertentu, Claude Code akan menemukannya saat membaca file tersebut. Percayakan kepada alat ini untuk membaca kode Anda, bukan menceritakannya.

Gunakan CLAUDE.md untuk mengatur konteks debugging

Tambahkan perintah test, perintah build, dan jebakan umum di proyek Anda ke file CLAUDE.md Anda. Ketika Claude Code tahu bahwa npm test menjalankan test suite Anda dan npm run lint memeriksa gaya penulisan kode, ia bisa memverifikasi perbaikan secara otomatis. Ini mengubah debugging dari sekadar percakapan menjadi loop yang terotomatisasi.

Perbandingan

Debugging vs. IDE Tradisional

Memahami makna, bukan sekadar sintaksis

Debugger IDE menunjukkan nilai variabel pada breakpoint. Linter menangkap masalah sintaksis. Tetapi keduanya tidak memahami apa yang seharusnya dilakukan kode Anda. Claude Code membaca maksud di balik kode Anda, nama fungsi, logika di sekitarnya, ekspektasi test, dan menemukan kapan implementasinya menyimpang dari maksud tersebut. Ia menangkap bug logis yang tidak akan pernah terungkap oleh highlight sintaksis apa pun.

Penalaran lintas file

Debugger tradisional hanya menyusuri satu jalur eksekusi. Claude Code membaca seluruh proyek Anda, menelusuri bagaimana sebuah tipe yang didefinisikan di satu file digunakan oleh fungsi di file lain yang kemudian memberi data ke komponen di file ketiga. Ia bisa menemukan bahwa bug Anda bukan berada di file yang melempar error, melainkan di fungsi utilitas tiga import lebih dalam yang diam-diam mengembalikan bentuk data yang salah.

Tanpa setup, tanpa konfigurasi

Debugger IDE membutuhkan konfigurasi peluncuran, source map, dan pengaturan breakpoint. Claude Code bekerja begitu Anda membuka terminal. Tidak ada debugger yang perlu dikonfigurasi, tidak ada breakpoint yang perlu dipasang, tidak ada watch expression yang perlu didefinisikan. Anda menjelaskan masalahnya dengan bahasa biasa dan Claude Code langsung mulai menyelidikinya. Ini membuatnya sangat efektif untuk codebase yang belum dikenal, di mana Anda bahkan tidak tahu harus memasang breakpoint di mana.

Pertanyaan Umum

Debugging dengan Claude Code, Pertanyaan Umum

Bisakah Claude Code melakukan debugging masalah di production?

Bisa. Tempelkan stack trace production atau log error ke Claude Code, dan ia akan menelusuri masalah tersebut kembali ke kode sumber Anda. Ia bisa membaca file log, menemukan fungsi yang bermasalah, dan menyarankan perbaikan. Untuk masalah yang khas production, seperti ketidaksesuaian environment atau konfigurasi yang hilang, bagikan konteks deployment yang relevan dan Claude Code akan mempertimbangkannya dalam diagnosisnya.

Apakah Claude Code memahami framework saya?

Claude Code bekerja dengan semua framework utama, React, Next.js, Django, FastAPI, Rails, Express, Spring Boot, dan masih banyak lagi. Ia membaca file proyek Anda (package.json, pyproject.toml, Gemfile) untuk memahami stack Anda dan menerapkan strategi debugging yang spesifik untuk framework tersebut. Ia juga mengenali jebakan umum yang khas pada setiap framework, seperti ketidaksesuaian hydration pada React, batas komponen server/client pada Next.js, dan masalah query ORM Django.

Bagaimana Claude Code menangani bug yang melibatkan banyak file?

Di sinilah Claude Code mengungguli alat debugging tradisional. Ia bisa membaca banyak file dalam proyek Anda, menelusuri pemanggilan fungsi antar modul, mengikuti rantai import, dan menemukan di mana sebuah nilai menjadi rusak saat berpindah antar komponen. Anda menjelaskan gejalanya, dan Claude Code menavigasi graf dependensi untuk menemukan akar masalahnya, bahkan ketika bug tersebut berada tiga file jauhnya dari tempat error muncul.

Apakah Claude Code lebih baik daripada debugging dengan print?

Untuk sebagian besar bug, ya. Debugging dengan print itu lambat karena Anda harus menebak di mana menambahkan log, menjalankan kode, membaca output, dan mengulanginya lagi. Claude Code membaca seluruh jalur kode yang relevan sekaligus dan menemukan masalahnya dalam hitungan detik. Meski begitu, untuk bug yang bergantung pada timing atau masalah yang hanya muncul saat beban tinggi, Claude Code bisa membantu Anda menambahkan logging strategis tepat di tempat yang benar, bukan menaburkan pernyataan print di mana-mana.

Apa cara terbaik untuk melakukan debugging dengan Claude Code?

Tempelkan pesan error atau stack trace secara langsung dan biarkan Claude Code menelusuri codebase Anda. Berikan langkah-langkah untuk mereproduksi masalahnya dan detail environment yang relevan. Claude Code akan membaca file-file yang terlibat, menemukan akar masalahnya, mengusulkan perbaikan, dan jika Anda mau, menjalankan test Anda untuk memverifikasi bahwa perbaikan tersebut berhasil. Kuncinya adalah memberinya konteks error yang lengkap, bukan menyampaikannya dengan kata-kata sendiri.

Bisakah Claude Code memperbaiki bug secara otomatis?

Bisa. Ketika Claude Code menemukan sebuah bug, ia bisa mengedit file sumber, menerapkan perbaikan, dan menjalankan test suite Anda untuk memastikan masalahnya telah selesai. Untuk bug yang sederhana seperti error off-by-one, pemeriksaan null yang hilang, atau pemanggilan API yang salah, biasanya ia memperbaikinya dalam satu kali proses. Untuk bug yang kompleks, ia bekerja secara berulang: menerapkan perbaikan, menguji, dan menyesuaikan sampai test-nya berhasil.

Pelajari Cara Debugging Seperti Profesional dengan Claude Code

Berhenti membaca saja. Buat sesuatu.

Nightschool AI adalah platform pembelajaran independen dan tidak berafiliasi dengan, didukung oleh, atau disponsori oleh Anthropic. Claude adalah merek dagang dari Anthropic, PBC. Mencari Claude Academy resmi dari Anthropic? Kunjungi academy.claude.com.