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.

Python
1nilai_akhir = 852print("Nilai:", nilai_akhr)
Keluaran
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:

  1. Jenis error: NameError, artinya ada nama yang tidak dikenal.
  2. Penjelasan: name 'nilai_akhr' is not defined, nama itu belum pernah dibuat. Python bahkan menebak maksudmu: nilai_akhir.
  3. Lokasi: line 2, masalahnya di baris kedua.

Error penulisan

Error penulisan ditemukan sebelum program berjalan.

Python
1nilai = 802if nilai >= 753    print("Tuntas")
Keluaran
Traceback (most recent call last):
  File "<kode>", line 2
    if nilai >= 75
                  ^
SyntaxError: expected ':'
Python
1nilai = 802if nilai >= 75:3print("Tuntas")
Keluaran
Traceback (most recent call last):
  File "<kode>", line 3
    print("Tuntas")
    ^^^^^
IndentationError: expected an indented block after 'if' statement on line 2

Error saat berjalan

Python
1daftar = [10, 20, 30]2print(daftar[3])
Keluaran
Traceback (most recent call last):
  File "<kode>", line 2, in <module>
IndexError: list index out of range
Python
1umur = 142print("Umurku " + umur)
Keluaran
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}".

Ringkasan error yang sering muncul
ErrorPenyebab umumCara memperbaiki
SyntaxErrorLupa titik dua, kurung, atau tanda kutipPeriksa baris yang ditunjuk dan baris sebelumnya
IndentationErrorJarak menjorok salahPakai 4 spasi secara konsisten
NameErrorSalah ketik nama atau variabel belum dibuatSamakan ejaan nama variabel
TypeErrorMenggabungkan tipe yang tidak cocokUbah tipe dengan str(), int(), atau float()
ValueErrorNilai tidak bisa diubah, misalnya int("abc")Periksa masukan pengguna
IndexErrorIndeks melebihi panjang listIngat indeks terakhir adalah len - 1
ZeroDivisionErrorMembagi dengan nolPeriksa pembagi sebelum membagi

Strategi mencari kesalahan logika

  • Tampilkan isi variabel. Tambahkan print sementara 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.

Python
1nilai = [80, 90, 70]2total = 03for n in nilai4    total = total + n5rata = total / len(nilai6print("Rata-rata: " + rata)

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi