Lewati navigasi
Pustaka TEMAS / Menelusuri bug dan menangani kesalahan · Pustaka
← Kembali ke Pustaka
Informatika Kelas IXPelajaran 12 / 32
BAB 3 · Kelas IX · semester 1

Menelusuri bug dan menangani kesalahan

INFO9-12

Tujuan belajar

Membedakan kesalahan sintaks, saat berjalan, dan logika serta memperbaiki dengan bukti.

Bekal awal: Memahami jejak variabel dan pengujian.

Konteks bab

Ketelitian memeriksa pekerjaan menjadi bentuk amanah. Program dan data digunakan sebagai contoh, tanpa akun atau transaksi nyata.

Bacaan dan kasus

3 · Program yang selalu tampak berhasil

Bacaan pendalaman

Kasus dan angka yang dibuat untuk latihan adalah simulasi/rekaan; fakta konsep dan sumber dibedakan dalam uraian.

Fungsi model menerima total8 dan dipinjam3. Pembuat berharap sisa5, tetapi kode menjumlahkan keduanya sehingga keluar11. Karena program tidak berhenti dengan pesan kesalahan, hasil semula dianggap benar. Pemeriksa kemudian meminta kontrak dan hitungan manual.

Perbaikan pertama mengganti penjumlahan dengan pengurangan. Uji8,3 lulus, tetapi data2,5 menghasilkan−3. Kelompok menyadari perhitungan benar belum cukup tanpa validasi. Mereka menambahkan pemeriksaan rentang serta kasus0,0 dan pinjam=total.

Laporan uji mencatat data, harapan, aktual, dan alasan. Kelompok tidak mengubah harapan5 menjadi11 agar semua tampak lulus. Mereka menyimpan versi awal untuk menjelaskan perubahan. Bukti belajar muncul dari kemampuan menemukan hubungan antara kontrak, bug, perbaikan, dan hasil uji.

Fokus pemeriksaan. Mengapa program yang selesai berjalan masih dapat salah?

Kesalahan mempunyai bentuk berbeda

Kesalahan sintaks membuat kode tidak dapat dibaca menurut aturan bahasa, misalnya tanda titik dua yang hilang. Kesalahan saat berjalan terjadi ketika suatu operasi tidak dapat diselesaikan, misalnya mengambil indeks di luar daftar. Kesalahan logika dapat menghasilkan keluaran tanpa pesan error, tetapi jawabannya tidak sesuai tujuan. Program yang selesai berjalan belum tentu benar.

Reproduksi kecil membantu menemukan sebab

Catat masukan yang memicu masalah, hasil harapan, hasil aktual, dan langkah. Perkecil kasus sambil mempertahankan kegagalan. Jika total selalu nol, periksa kapan akumulator dibuat dan diubah. Jika entri terakhir terlewat, periksa batas range atau kondisi loop. Ubah satu dugaan penting lalu jalankan uji yang relevan, bukan mengganti banyak bagian sekaligus tanpa jejak.

Pesan kesalahan perlu ditangani sesuai jenis

Tangkap kesalahan yang memang diperkirakan pada bagian tertentu. Menangkap semua exception dan menampilkan “berhasil” menyembunyikan masalah. Pada latihan, konversi teks jumlah dapat gagal; beri pesan dan minta koreksi, bukan mengeksekusi teks sebagai kode. Jangan menggunakan eval() untuk membaca angka masukan.

Konversi teks tanpa mengeksekusinya

for teks in ["7", "tujuh"]:
    try:
        angka = int(teks)
    except ValueError:
        print("Periksa angka")
    else:
        print(angka)
Keluaran contoh
7
Periksa angka

Contoh memeriksa konversi teks. Tambahkan aturan rentang dan tipe sesuai kontrak sebelum menggunakan hasil untuk keputusan.

Telusuri contoh

Kode memakai range(len(data)-1) untuk menjumlah semua data. Apa akibatnya?

  1. Indeks terakhir tidak diproses.
  2. Uji daftar satu elemen dapat menunjukkan hasil salah.
  3. Gunakan iterasi semua elemen atau batas yang benar.

Mengapa daftar satu elemen berguna untuk debugging?

  1. Kasus kecil memudahkan jejak.
  2. Jika elemen terlewat, hasil langsung menunjukkan masalah batas.
  3. Setelah diperbaiki, uji kembali kasus lain yang relevan.
Waspadai kekeliruan

Tidak ada pesan error bukan jaminan benar; banyak perubahan sekaligus dapat mengaburkan penyebab.

Latihan mandiri

1 Apa beda error logika dan sintaks?

Petunjuk awal

Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.

Pembahasan · buka setelah mencoba

Logika dapat berjalan tetapi hasil salah; sintaks melanggar aturan penulisan sehingga kode gagal dibaca.

2 Apa empat bagian laporan bug?

Petunjuk awal

Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.

Pembahasan · buka setelah mencoba

Masukan, langkah, hasil harapan, dan hasil aktual, ditambah lingkungan bila relevan.

3 Mengapa tidak menangkap semua error sebagai sukses?

Petunjuk awal

Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.

Pembahasan · buka setelah mencoba

Menyembunyikan kegagalan dan membuat pengguna percaya hasil yang tidak sah.

4 Bagaimana membaca teks angka dengan aman pada contoh?

Petunjuk awal

Pisahkan informasi yang diketahui, alasan yang diperlukan, dan batas kesimpulan. Periksa kembali contoh sebelum membuka pembahasan.

Pembahasan · buka setelah mencoba

Gunakan konversi terarah seperti int dengan penanganan ValueError serta validasi; jangan eval.

PENDALAMAN WEB

Perluas pemahamanmu

Tulis catatan sebelum–sesudah perbaikan yang memuat kasus pemicu, perubahan, hasil uji, dan hal yang masih belum diperiksa.

Coba dengan umpan balik

Latihan otomatis membantu pemeriksaan; tuliskan alasan dan langkah untuk membuktikan pemahaman.

1 Program berjalan tetapi menjumlah total+dipinjam untuk sisa adalah…

Pilih satu jawaban

Petunjuk awal

Tentukan informasi, konsep dan bukti yang dibutuhkan.

Pembahasan · buka setelah mencoba

D. kesalahan logika. Kode dapat sah secara sintaks tetapi tidak sesuai kontrak.

Praktik dan refleksi

Telusuri akumulator untuk data[2,0,3] di kertas. Buat contoh kesalahan batas lalu jelaskan mengapa keluaran seharusnya5.

Penanda pribadi di perangkat ini; bukan nilai atau bukti penguasaan.

Pustaka Ponpes TemasVersi 1 · 14 Oktober 2026

Catat bacaanmu

Informatika Kelas IX · Pelajaran 12 · Menelusuri bug dan menangani kesalahan

Tersimpan di perangkat ini. Masuk agar progres dapat dibuka di perangkat lain.
Masuk untuk sinkronisasi

BERSAMA MENYEMPURNAKAN PUSTAKA

Catatan & masukan pembaca

Ada yang perlu diperbaiki? Bantu kami melalui koreksi, saran, atau rujukan.

Untuk Informatika Kelas IX · Pelajaran 12 · Menelusuri bug dan menangani kesalahanVersi 1

Masuk dengan Google agar nama terisi otomatis dan masukan terhubung ke riwayat serta penilaian poin kontribusi.

Beri masukan Nama wajib diisi · tanpa daftar akun
Kutip teks yang ingin dikoreksi opsional
Tambahkan usulan perbaikan & rujukan opsional

Masukan ditelaah pengelola sebelum ditampilkan. Nama yang diisi ikut tampil jika masukan diterbitkan.

Catatan yang telah ditinjau 0

Belum ada catatan yang ditampilkan untuk bagian ini. Masukan Anda tetap dapat dikirim kepada pengelola.

Beri masukan