Menguji dan Memperbaiki Algoritma
PT-INF-VII-020
Membandingkan hasil yang diharapkan dan hasil aktual dengan kasus biasa serta batas.
Bekal awal: Menelusuri variabel, percabangan, dan pengulangan.
Jejak Ponpes Temas
Model pemeriksaan jumlah dikaitkan dengan amanah penggunaan perlengkapan. Nilai dan prosedurnya merupakan latihan; keluaran program tidak menetapkan izin meminjam barang Ponpes Temas.
Kartu Sumber dan Kasus
5A · Mesin Kertas untuk Memeriksa Jumlah
Model algoritma
Program semu untuk latihan, bukan sistem peminjaman atau pemberian izin pondok. Masukan dibatasi bilangan bulat: stok 0–50, minta 0–50.
BACA stok, minta
JIKA minta >= 1 DAN minta <= stok
sisa ← stok - minta
TULIS "layak secara jumlah", sisa
LAINNYA
TULIS "tidak layak secara jumlah", stok
SELESAIModel menerima stok yang tersedia dan jumlah yang diminta. Permintaan layak secara jumlah apabila sedikitnya 1 dan tidak melebihi stok. Jika layak, model menampilkan sisa. Jika tidak, stok tidak berubah. Keputusan nyata tentang peminjaman tetap mengikuti pengelola.
Tanda panah kiri berarti menyimpan nilai pada variabel. Kata DAN mengharuskan kedua syarat benar. Indentasi menunjukkan instruksi di dalam cabang. Ketika menelusuri, tulis nilai stok dan minta terlebih dahulu, periksa syarat, kemudian jalankan satu cabang saja.
Coba stok 8 dengan permintaan 3, 8, 9, dan 0. Sisa untuk dua contoh pertama adalah 5 dan 0. Dua contoh terakhir ditolak oleh model dan stok tetap 8. Keberhasilan satu contoh belum cukup; batas 0 dan tepat sama dengan stok perlu diuji.
Fokus pemeriksaan. Bedakan validasi masukan, syarat model, nilai sisa, dan izin peminjaman nyata.
5B · Menjumlah dengan Pengulangan
Model algoritma
Program semu dan angka simulasi; dapat ditelusuri di kertas. n adalah bilangan bulat 0–10.
BACA n
total ← 0
bilangan ← 1
SELAMA bilangan <= n
total ← total + bilangan
bilangan ← bilangan + 1
TULIS totalKita ingin menjumlahkan bilangan 1 sampai n. Variabel total dimulai dari 0 dan bilangan dimulai dari 1. Selama bilangan tidak melebihi n, tambahkan bilangan ke total, lalu naikkan bilangan satu. Pengulangan berhenti ketika syarat tidak lagi benar.
Untuk n = 3, isi total berturut-turut 1, 3, dan 6. Sesudah penambahan terakhir, bilangan menjadi 4 sehingga pengulangan berhenti. Untuk n = 0, syarat awal salah dan total tetap 0; badan pengulangan tidak dijalankan.
Jika instruksi menaikkan bilangan hilang, model dengan n = 3 tidak mencapai syarat berhenti. Jika total diatur kembali ke 0 pada setiap putaran, hasil bukan akumulasi. Mesin kertas dan simulator web membatasi masukan agar jejak dapat diperiksa tanpa putaran tak berhingga.
Fokus pemeriksaan. Tunjukkan keadaan sebelum putaran, perubahan total, dan alasan berhenti.
Tentukan harapan sebelum menjalankan
Pengujian memeriksa apakah hasil sesuai tujuan dan aturan model. Pilih masukan, hitung hasil yang diharapkan secara mandiri, lalu jalankan algoritma. Untuk stok 8 dan minta 3, hasil yang diharapkan ialah layak secara jumlah, sisa 5. Jika program menghasilkan 11, selisih harapan dan hasil menunjukkan masalah yang perlu ditelusuri. Jangan mengganti harapan hanya agar semua pengujian tampak lulus.
Kasus batas menemukan kesalahan
Uji minta 0, minta sama stok, dan minta lebih besar daripada stok. Uji pula masukan di luar aturan seperti −1 atau 2,5; masukan tersebut harus ditandai tidak valid sebelum model dijalankan. Pada pengulangan, uji n = 0, 1, dan 10. Nilai tengah saja tidak menemukan semua kesalahan batas. Kasus tidak valid berbeda dari permintaan valid yang tidak layak secara jumlah.
Perbaikan perlu diuji kembali
Debugging menelusuri dan memperbaiki penyebab hasil yang keliru. Baca jejak dari langkah pertama yang berbeda, periksa operator atau urutan, ubah bagian yang relevan, lalu ulangi kasus yang gagal serta kasus lain yang berkaitan. Catat perubahan agar teman memahami alasannya. Satu set uji yang lulus meningkatkan keyakinan, tetapi tidak membuktikan program bebas dari semua kemungkinan kesalahan atau siap menjadi sistem pondok nyata.
Telusuri contoh
Program memakai minta < stok. Uji apa yang menemukan masalah?
- Gunakan stok 8 dan minta 8.
- Harapan: layak secara jumlah dengan sisa 0. Program menolak.
- Perbaiki batas menjadi <= sesuai model, lalu uji 0, 3, 8, dan 9 kembali.
Model pengulangan untuk n = 3 menghasilkan 3. Apa yang diperiksa?
- Bandingkan jejak yang diharapkan: total 1, 3, 6.
- Periksa apakah total diatur ulang di dalam putaran.
- Jika itu penyebabnya, pindahkan inisialisasi sebelum putaran dan uji ulang; penyebab harus ditunjukkan lewat jejak.
Menganggap keluaran salah selalu disebabkan komputer, atau satu contoh berhasil sudah menjamin semua kasus benar.
Latihan mandiri
1 Buat satu kasus biasa dan hasil harapan model 5A.
Petunjuk awal
Tentukan fakta yang tersedia, konsep yang dipakai, dan alasan yang mendukung keputusanmu.
Pembahasan · buka setelah mencoba
Contoh: stok 10, minta 4 → layak secara jumlah, sisa 6.
2 Buat kasus tepat pada batas stok.
Petunjuk awal
Tentukan fakta yang tersedia, konsep yang dipakai, dan alasan yang mendukung keputusanmu.
Pembahasan · buka setelah mencoba
Contoh: stok 10, minta 10 → layak secara jumlah, sisa 0.
3 Bedakan minta 11 ketika stok 10 dengan minta 2,5.
Petunjuk awal
Tentukan fakta yang tersedia, konsep yang dipakai, dan alasan yang mendukung keputusanmu.
Pembahasan · buka setelah mencoba
11 masukan bulat dalam rentang tetapi tidak layak karena melebihi stok; 2,5 tidak valid karena bukan bilangan bulat.
4 Apa yang dicatat setelah perbaikan?
Petunjuk awal
Tentukan fakta yang tersedia, konsep yang dipakai, dan alasan yang mendukung keputusanmu.
Pembahasan · buka setelah mencoba
Bagian yang diubah, alasan/bukti kegagalan, kasus uji, hasil harapan dan aktual, serta batas yang belum diuji.
Perluas pemahamanmu
Susun tabel enam uji untuk model 5A: stok nol, permintaan nol, permintaan biasa, sama stok, melebihi stok, dan masukan pecahan. Jelaskan hasil tiap jenis.
Coba dengan umpan balik
Latihan otomatis membantu pemeriksaan; tuliskan alasan dan langkah untuk membuktikan pemahaman.
1 Uji minta sama stok terutama memeriksa…
Petunjuk awal
Periksa semua pilihan sebelum menjawab. Cari alasan, bukan sekadar kata yang terdengar baik.
Pembahasan · buka setelah mencoba
B. batas kesamaan. Kesalahan < dibanding <= terlihat pada kesamaan.
2 Masukan 2,5 benda dalam model bulat ialah…
Petunjuk awal
Periksa semua pilihan sebelum menjawab. Cari alasan, bukan sekadar kata yang terdengar baik.
Pembahasan · buka setelah mencoba
C. tidak valid. Model membatasi bilangan bulat.
3 Sesudah memperbaiki program, kita…
Petunjuk awal
Periksa semua pilihan sebelum menjawab. Cari alasan, bukan sekadar kata yang terdengar baik.
Pembahasan · buka setelah mencoba
A. menguji ulang kasus yang relevan. Uji ulang memeriksa apakah perbaikan sesuai tujuan.
Coba di Ponpes Temas
Saling tukar program semu rekaan yang sengaja memiliki satu kesalahan batas. Teman harus menunjukkan masukan pembukti sebelum mengusulkan perbaikan.
Penanda pribadi di perangkat ini; bukan nilai atau bukti penguasaan.