Lewati navigasi
Pustaka TEMAS / Menguji, Menemukan Sebab, dan Memperbaiki Kode · Ponpes Temas
← Kembali ke Pustaka
Informatika Kelas VIII — Menata Data, Menguji Langkah, Membuat Karya · Ponpes TemasPelajaran 20 / 32
BAB 5 · Pendalaman kelas VIII · semester 2

Menguji, Menemukan Sebab, dan Memperbaiki Kode

PT-INF-VIII-020

Tujuan belajar

Menyusun kasus uji dengan keluaran harapan serta membedakan jenis kesalahan.

Bekal awal: Membaca program dasar dan tabel jejak.

Jejak Ponpes Temas

Python menjadi jembatan tambahan pilihan Ponpes Temas. Program memakai data rekaan. Latihan dapat ditelusuri di kertas; pelaksanaan pada perangkat dilaporkan hanya bila benar-benar dilakukan.

Kartu Sumber dan Kasus

5A · Masukan, Validasi, dan Percabangan

Kode Python 3 asli untuk latihan

Seluruh data, tokoh, berkas, dan hasil baru pada kartu ini adalah simulasi/rekaan pembelajaran; bukan katalog, pengguna, fasilitas, atau kejadian nyata Ponpes Temas.

try:
    stok = int(input("Stok model: "))
    dipinjam = int(input("Dipinjam model: "))
except ValueError:
    print("Masukan harus bilangan bulat.")
else:
    if stok < 0 or dipinjam < 0 or dipinjam > stok:
        print("Data tidak sesuai model.")
    else:
        print("Tersedia:", stok - dipinjam)

Program pendek membaca dua teks masukan lalu mencoba mengubahnya menjadi integer. Kesalahan konversi ditangani dengan pesan. Sesudah konversi, jumlah diperiksa terhadap syarat tidak negatif dan dipinjam tidak melebihi stok. Program tidak memakai jaringan, akun, atau data katalog nyata.

Masukan 8 dan 3 menghasilkan Tersedia: 5; 6 dan 6 menghasilkan Tersedia: 0; 5 dan 7 menghasilkan pesan data tidak sesuai model. Teks tiga atau 3.5 menghasilkan pesan bilangan bulat. Konversi dan validasi rentang merupakan pemeriksaan berbeda.

Telusuri indentasi empat spasi dan cabang yang benar-benar dijalankan. Latihan mengasumsikan pengguna memberikan masukan melalui lingkungan yang disiapkan guru; ini bukan aplikasi operasional dengan seluruh kebutuhan pemulihan, penyimpanan, atau antarmuka. Tanpa perangkat, tulis jejak dan keluaran di kertas.

Fokus pemeriksaan. Tentukan hasil yang diharapkan sebelum menjalankan; praktik perangkat dan penelusuran kertas memberi bukti yang berbeda.

5B · Dua Daftar yang Harus Tetap Sejajar

Kode dan keluaran Python 3

Seluruh data, tokoh, berkas, dan hasil baru pada kartu ini adalah simulasi/rekaan pembelajaran; bukan katalog, pengguna, fasilitas, atau kejadian nyata Ponpes Temas.

stok = [8, 6, 10, 5, 7, 4]
dipinjam = [3, 6, 4, 2, 1, 0]
tersedia = []
for i in range(len(stok)):
    tersedia.append(stok[i] - dipinjam[i])
banyak = 0
for nilai in tersedia:
    if nilai >= 3:
        banyak = banyak + 1
print(tersedia)
print("Total:", sum(tersedia))
print("Minimal 3:", banyak)

Dua daftar mengikuti urutan kode B01–B06, mempunyai panjang sama, serta nilai yang telah memenuhi syarat model. Kode sederhana mengandalkan prasyarat ini; perubahan panjang atau pasangan harus divalidasi jika dipakai untuk data lain. Indeks dimulai nol, sehingga range(len(stok)) memberi 0 sampai 5.

Keluaran baris pertama adalah [5, 0, 6, 3, 6, 4]. Baris kedua Total: 24 dan ketiga Minimal 3: 5. append menambah nilai ke akhir daftar. Perbandingan minimal 3 memakai >=, bukan >. Penambahan banyak berada di dalam blok if.

Coba menelusuri versi keliru yang menginisialisasi banyak menjadi nol di dalam putaran atau memakai >3. Bandingkan dengan harapan dari aturan dan hitungan manual. Jangan mengubah dua daftar secara terpisah lalu menganggap posisi tetap merujuk jenis sama. Kode baru hasil revisi diberi catatan serta diuji.

Fokus pemeriksaan. Panjang sama belum cukup jika urutan pasangan rusak; kontrak data harus jelas.

Harapan ditentukan sebelum melihat hasil

Kasus uji memuat masukan, keluaran yang diharapkan, serta alasan. Untuk aturan minimal 3, nilai 2 seharusnya tidak memenuhi, 3 memenuhi, 4 memenuhi. Jika harapan dibuat sesudah melihat keluaran program, kesalahan dapat diterima sebagai benar. Gunakan hitungan manual atau aturan kebutuhan sebagai pembanding independen.

Kesalahan berbeda memerlukan penelusuran berbeda

Kesalahan sintaks menghalangi pembacaan program, misalnya tanda yang tidak lengkap. Kesalahan saat berjalan dapat muncul ketika mengonversi teks tidak sah atau mengakses indeks di luar rentang. Kesalahan logika dapat menghasilkan angka yang tampak wajar tetapi salah, misalnya total diinisialisasi ulang pada tiap putaran. Kode berjalan belum membuktikan semua kebutuhan terpenuhi.

Perbaikan diuji dengan alasan

Cari langkah tempat nilai mulai berbeda dari harapan. Ubah bagian yang berkaitan, jalankan kembali kasus gagal, lalu periksa kasus relevan yang dapat terdampak. Catat perubahan serta hasil; jangan menyembunyikan kasus gagal. Jumlah uji terbatas memberi bukti pada kasus itu, bukan jaminan program bebas dari seluruh kesalahan.

Telusuri contoh

Program menghitung >3 padahal kebutuhan minimal 3. Uji mana menangkapnya?

  1. Uji nilai tepat 3 dengan harapan memenuhi.
  2. Keluaran tidak memenuhi menunjukkan ketidaksesuaian.
  3. Ganti operator lalu periksa 2,3,4.

Total model menjadi 4, bukan 24. Apa yang ditelusuri?

  1. Periksa inisialisasi dan pembaruan akumulator.
  2. Jika total diatur nol setiap putaran, hasil sebelumnya hilang.
  3. Pindahkan inisialisasi sebelum loop dan periksa jejak.
Waspadai kekeliruan

Berjalan tanpa error berbeda dari benar; hasil uji tidak boleh menjadi pengganti kebutuhan yang jelas.

Latihan mandiri

1 Apa isi kasus uji bermakna?

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

Masukan, harapan sebelum menjalankan, alasan pemilihan kasus, hasil aktual, serta tindak lanjut jika berbeda.

2 Bedakan kesalahan runtime dan logika.

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

Runtime terjadi saat pelaksanaan seperti indeks di luar rentang; logika dapat berjalan tetapi menghasilkan keputusan atau angka yang salah.

3 Mengapa perlu memeriksa kasus lain setelah perbaikan?

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

Perubahan dapat memengaruhi perilaku lain yang berkaitan; bukti perbaikan tidak cukup hanya tampilan satu kasus.

4 Apa batas klaim semua uji lulus?

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

Program sesuai pada kasus yang diuji; belum menjamin bebas seluruh kesalahan atau layak dipakai pada data nyata tanpa penilaian lanjutan.

PENDALAMAN WEB

Perluas pemahamanmu

Buat tabel pengujian fungsi sisa dengan keadaan biasa, tepat nol, dan pelanggaran syarat. Tentukan bagian sistem yang bertanggung jawab menolak data tidak sah.

Coba dengan umpan balik

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

1 Kasus uji untuk membedakan >3 dan >=3 harus mencakup…

Pilih satu jawaban

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

C. nilai 3. Tepat batas mengungkap perbedaan operator.

2 Program berjalan tetapi total salah termasuk…

Pilih satu jawaban

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

B. kemungkinan kesalahan logika. Logika dapat salah tanpa pesan runtime.

3 Harapan keluaran sebaiknya ditentukan…

Pilih satu jawaban

Petunjuk awal

Tentukan sumber, konsep, dan bukti. Jelaskan alasan serta batas simpulan; jangan menambahkan data yang belum tersedia.

Pembahasan · buka setelah mencoba

A. sebelum melihat hasil program. Pembanding independen mencegah menerima kesalahan sebagai benar.

Coba di Ponpes Temas

Tukar program model dengan teman dan periksa menggunakan harapan yang ditulis sebelum menjalankan. Catat bantuan, perbaikan, serta kasus yang belum sempat diuji.

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

Pondok Pesantren Ibadurrahman TemasVersi 1 · 14 Oktober 2026

Catat bacaanmu

Informatika Kelas VIII — Menata Data, Menguji Langkah, Membuat Karya · Pelajaran 20 · Menguji, Menemukan Sebab, dan Memperbaiki Kode

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 VIII — Menata Data, Menguji Langkah, Membuat Karya · Pelajaran 20 · Menguji, Menemukan Sebab, dan Memperbaiki KodeVersi 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