Langkah Pertama · Pelajaran 6 dari 8
Tidak takut pada error
7 menit baca · BelajarCode
Semua programmer, termasuk yang sudah berpengalaman puluhan tahun, bertemu error setiap hari. Bedanya, mereka sudah terbiasa membaca pesan error sebagai petunjuk.
Tiga jenis kesalahan
| Jenis | Kapan terjadi | Contoh |
|---|---|---|
| Kesalahan penulisan (syntax error) | Sebelum program berjalan | Lupa menutup tanda kurung atau tanda kutip |
| Kesalahan saat berjalan (runtime error) | Saat program sedang berjalan | Membagi dengan nol, memakai variabel yang belum ada |
| Kesalahan logika | Program berjalan, tetapi hasilnya salah | Rumus rata-rata keliru |
Membaca pesan error
1jumlah_peserta = 02total_biaya = 5000003print(total_biaya / jumlah_peserta)Traceback (most recent call last): File "<kode>", line 3, in <module> ZeroDivisionError: division by zero
Cara membacanya:
- Lihat baris terakhir:
ZeroDivisionError: division by zeroartinya ada pembagian dengan nol. - Lihat nomor barisnya:
line 3menunjukkan masalahnya ada di baris ketiga. - Periksa baris itu:
jumlah_pesertabernilai 0, jadi pembagiannya tidak mungkin.
| Nama error | Artinya |
|---|---|
SyntaxError | Ada aturan penulisan yang dilanggar |
IndentationError | Jarak menjorok di awal baris tidak sesuai |
NameError | Memakai nama variabel yang belum dibuat atau salah ketik |
TypeError | Menggabungkan jenis data yang tidak cocok, misalnya teks dengan angka |
ValueError | Nilainya tidak bisa diproses, misalnya int("dua") |
ZeroDivisionError | Membagi dengan nol |
Kesalahan logika: yang paling licik
Kesalahan logika tidak memunculkan pesan apa pun. Contohnya menghitung rata-rata tiga nilai:
1a = 802b = 903c = 704rata = a + b + c / 35print(rata)193.33333333333334
Rata-rata tidak mungkin 193! Pembagian dikerjakan lebih dulu, jadi yang dibagi 3 hanya c. Perbaikannya dengan tanda kurung:
1a = 802b = 903c = 704rata = (a + b + c) / 35print(rata)80.0
Penjelasan dalam Bahasa Indonesia
Saat menjalankan Python di Playground BelajarCode, pesan error juga dijelaskan dalam Bahasa Indonesia, lengkap dengan saran perbaikannya.
Cek pemahaman
Program berjalan tanpa pesan error, tetapi total belanja yang dihitung salah. Kesalahan jenis apa ini?
Latihan
Perbaiki hitungan diskon
Program ini seharusnya menghitung harga setelah diskon 10%, tetapi hasilnya aneh. Temukan dan perbaiki kesalahannya.
1harga = 2000002harga_akhir = harga - harga * 103print(harga_akhir)Pembahasan
Program itu mengurangi harga dengan harga * 10, yaitu sepuluh kali lipat harganya, sehingga hasilnya -1800000. Diskon 10% artinya 10 per 100:
1harga = 2000002harga_akhir = harga - harga * 10 / 1003print(harga_akhir)180000.0
Hasilnya 180000.0. Angka .0 muncul karena pembagian dengan / selalu menghasilkan bilangan desimal.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.