Debugging & Developer Tools
Debugging adalah skill yang sangat penting — bahkan programmer senior pun menghabiskan banyak waktu untuk mencari dan memperbaiki bug. Di halaman ini, kamu akan belajar tools dan teknik untuk debugging yang efektif.
Chrome Developer Tools
Developer Tools (DevTools) adalah senjata utama web developer. Tekan F12 atau klik kanan → Inspect untuk membukanya.
Tab Elements — Inspeksi HTML & CSS
Tab ini menampilkan struktur HTML dan CSS dari halaman yang sedang dibuka.
Cara menggunakan:
- Klik icon 🔍 (Select element) di pojok kiri DevTools
- Arahkan mouse ke elemen di halaman
- Klik untuk memilih elemen tersebut
- Lihat HTML di panel kiri, CSS di panel kanan
Yang bisa kamu lakukan:
- ✏️ Edit HTML langsung (double-click)
- ✏️ Edit CSS langsung (klik value)
- 👁️ Lihat computed styles
- 📐 Lihat box model (margin, padding, border)
Perubahan di DevTools tidak tersimpan — refresh halaman dan semua kembali seperti semula. Ini aman untuk eksperimen!
Tab Console — Debug JavaScript
Console menampilkan pesan error dan output dari console.log().
Error JavaScript:
Di Console akan muncul:
Artinya:
namaatidak ditemukan (typo, seharusnyanama)- Error di file
script.js, baris 2, karakter 13
Console untuk debugging:
Tab Network — Lihat Request/Response
Tab ini menampilkan semua HTTP request yang dikirim browser.
Kapan digunakan:
- Form tidak submit? Cek apakah request terkirim
- Data tidak muncul? Cek response dari server
- Halaman lambat? Cek file mana yang lama di-load
Cara membaca:
Contoh debugging form:
- Buka tab Network
- Centang "Preserve log"
- Submit form
- Klik request yang muncul
- Lihat tab Payload (data yang dikirim)
- Lihat tab Response (jawaban server)
Tab Application — Lihat Storage
Tab ini untuk melihat data yang disimpan browser:
- Cookies — Data kecil dari server (session, preferences)
- Local Storage — Data yang disimpan JavaScript
- Session Storage — Seperti Local Storage, tapi hilang saat tab ditutup
Debugging PHP
PHP dijalankan di server, jadi tidak bisa di-debug di browser. Tapi ada beberapa teknik:
var_dump() — Cek Nilai Variabel
Output:
print_r() — Untuk Array/Object
Output lebih mudah dibaca:
Bungkus dengan <pre> agar format terjaga di browser!
die() / exit() — Stop Eksekusi
Gunakan untuk menghentikan eksekusi dan cek nilai di titik tertentu:
Error Reporting
Pastikan error ditampilkan saat development:
Matikan display_errors di production! Error messages bisa mengungkap informasi sensitif.
Membaca Error Message
Error message adalah petunjuk, bukan musuh. Pelajari cara membacanya:
PHP Error
Artinya:
- Fatal error — Error serius, kode berhenti
- Call to undefined function — Fungsi
hitungTotal()tidak ada - in .../index.php on line 15 — Lokasi error
Solusi: Cek apakah fungsi sudah didefinisikan, atau ada typo di nama fungsi.
MySQL Error
Artinya:
- Tabel
produkstidak ada di databasetoko - Mungkin typo (seharusnya
produk?) atau belum create table
JavaScript Error
Artinya:
- Mencoba akses
.addEventListenerdarinull - Elemen yang dicari tidak ditemukan
- Di file
script.jsbaris 5
Solusi: Cek selector, pastikan elemen ada di HTML, atau pastikan script diload setelah DOM ready.
Checklist Debugging
Ketika menemui error, ikuti langkah ini:
1. Baca Error Message
- Baca seluruh pesan error
- Identifikasi jenis error
- Catat lokasi (file dan baris)
2. Reproduce Error
- Pastikan bisa mengulang error
- Catat langkah-langkah yang menyebabkan error
3. Isolasi Masalah
- Gunakan
var_dump()/console.log()untuk cek nilai - Comment kode yang mencurigakan
- Persempit area masalah
4. Cari Solusi
- Google error message
- Cek dokumentasi
- Tanya di forum/komunitas (sertakan kode & error)
5. Test & Verify
- Implementasi solusi
- Test apakah error hilang
- Test apakah tidak ada error baru
Error Umum Pemula
"Undefined variable"
Solusi: Definisikan variabel dulu: $nama = "Budi";
"Cannot redeclare function"
Solusi: Hapus duplikat, atau gunakan nama berbeda.
"Headers already sent"
Solusi: header() harus dipanggil sebelum ada output apapun.
"Access denied for user"
Solusi: Cek username/password database di konfigurasi.
Selanjutnya
Sekarang kamu punya bekal untuk debugging! Mari lanjut ke Dasar HTML → dan mulai coding.