Program Utuh · Pelajaran 10 dari 11
Membaca pesan error
8 menit baca · BelajarCode
Pesan error Python disebut traceback. Bentuknya mungkin menakutkan, tetapi isinya sangat membantu.
1nilai_akhir = 852print("Nilai:", nilai_akhr)Traceback (most recent call last): File "<kode>", line 2, in <module> NameError: name 'nilai_akhr' is not defined. Did you mean: 'nilai_akhir'?
Baca dari bawah ke atas:
- Jenis error:
NameError, artinya ada nama yang tidak dikenal. - Penjelasan:
name 'nilai_akhr' is not defined, nama itu belum pernah dibuat. Python bahkan menebak maksudmu:nilai_akhir. - Lokasi:
line 2, masalahnya di baris kedua.
Error penulisan
Error penulisan ditemukan sebelum program berjalan.
1nilai = 802if nilai >= 753 print("Tuntas")Traceback (most recent call last):
File "<kode>", line 2
if nilai >= 75
^
SyntaxError: expected ':'1nilai = 802if nilai >= 75:3print("Tuntas")Traceback (most recent call last):
File "<kode>", line 3
print("Tuntas")
^^^^^
IndentationError: expected an indented block after 'if' statement on line 2Error saat berjalan
1daftar = [10, 20, 30]2print(daftar[3])Traceback (most recent call last): File "<kode>", line 2, in <module> IndexError: list index out of range
1umur = 142print("Umurku " + umur)Traceback (most recent call last): File "<kode>", line 2, in <module> TypeError: can only concatenate str (not "int") to str
Teks tidak bisa digabung langsung dengan angka. Perbaikannya: "Umurku " + str(umur), atau memakai f-string f"Umurku {umur}".
| Error | Penyebab umum | Cara memperbaiki |
|---|---|---|
SyntaxError | Lupa titik dua, kurung, atau tanda kutip | Periksa baris yang ditunjuk dan baris sebelumnya |
IndentationError | Jarak menjorok salah | Pakai 4 spasi secara konsisten |
NameError | Salah ketik nama atau variabel belum dibuat | Samakan ejaan nama variabel |
TypeError | Menggabungkan tipe yang tidak cocok | Ubah tipe dengan str(), int(), atau float() |
ValueError | Nilai tidak bisa diubah, misalnya int("abc") | Periksa masukan pengguna |
IndexError | Indeks melebihi panjang list | Ingat indeks terakhir adalah len - 1 |
ZeroDivisionError | Membagi dengan nol | Periksa pembagi sebelum membagi |
Strategi mencari kesalahan logika
- Tampilkan isi variabel. Tambahkan
printsementara untuk melihat nilai di tengah program. - Uji dengan contoh kecil yang jawabannya sudah kamu ketahui.
- Jelaskan kodemu baris demi baris, kepada teman atau bahkan kepada benda di mejamu. Sering kali kesalahannya terlihat saat dijelaskan.
- Ubah satu hal setiap kali, lalu jalankan lagi.
Cek pemahaman
Pesan SyntaxError: expected ':' paling mungkin muncul karena apa?
Latihan
Perbaiki tiga kesalahan
Program ini seharusnya menampilkan rata-rata tiga nilai, tetapi ada tiga kesalahan. Temukan dan perbaiki semuanya.
1nilai = [80, 90, 70]2total = 03for n in nilai4 total = total + n5rata = total / len(nilai6print("Rata-rata: " + rata)Pembahasan
- Baris
forkurang titik dua. len(nilaikurang kurung tutup."Rata-rata: " + ratamenggabungkan teks dengan angka. Pakai f-string.
1nilai = [80, 90, 70]2total = 03for n in nilai:4 total = total + n5rata = total / len(nilai)6print(f"Rata-rata: {rata}")Rata-rata: 80.0
Python hanya melaporkan satu error setiap kali dijalankan. Perbaiki yang pertama, jalankan lagi, lalu perbaiki yang berikutnya.
Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.