Python Code Reading Challenge
Tantangan integratif tingkat lanjut: menggabungkan pemahaman variabel, list, perulangan for, dan percabangan if-else untuk menganalisis algoritma pemrosesan data nyata.
Konsep Membaca Kode
1. Pola Filter & Counter Data
Pola ini mengkombinasikan perulangan for untuk memeriksa seluruh data, dan percabangan if untuk menyaring data yang memenuhi kriteria tertentu. Jika kriteria terpenuhi, variabel penghitung (counter) ditambah 1.
- jumlah = 0 (penghitung awal).
- if kondisi: jumlah += 1 (hanya bertambah jika syarat terpenuhi).
- Biasa digunakan untuk menghitung siswa tuntas, menghitung barang habis, dll.
2. Pola Pencarian Nilai Ekstrem (Max / Min)
Cara komputer mencari nilai tertinggi: tetapkan elemen pertama sebagai juara sementara (maks = nilai[0]), lalu bandingkan dengan setiap elemen lainnya. Jika ada yang lebih tinggi, juara sementara diganti!
- maks = nilai[0]
- for n in nilai: if n > maks: maks = n
- Setelah loop selesai, variabel maks dijamin memegang angka terbesar.
3. Jebakan Kode yang Sering Terjadi
Saat membaca kode orang lain, perhatikan dua kesalahan logika umum:
- Variabel penghitung direset di dalam loop: jika jumlah = 0 diletakkan di DALAM loop, nilainya akan selalu kembali ke 0 setiap putaran!
- Indentasi salah: meletakkan print di dalam loop saat yang diinginkan adalah hasil akhir setelah loop selesai.
Code Viewer & Telaah Baris demi Baris
2
Penjelasan Setiap Baris Program:
| Baris | Kode | Penjelasan Komputasional |
|---|---|---|
| 1 | nilai = [80, 65, 90, 70] |
Daftar nilai 4 siswa. |
| 2 | jumlah_lulus = 0 |
Variabel counter mula-mula 0. |
| 3 | (baris kosong) |
Baris kosong. |
| 4 | for n in nilai: |
Iterasi setiap nilai siswa. |
| 5 | if n >= 75: |
Syarat lulus: nilai minimal 75. |
| 6 | jumlah_lulus += 1 |
Jika memenuhi syarat, tambah counter. |
| 7 | (baris kosong) |
Loop selesai. |
| 8 | print(jumlah_lulus) |
Cetak jumlah siswa lulus: 80 (lulus), 65 (tidak), 90 (lulus), 70 (tidak). Total = 2. |
Trace Code Interaktif (Langkah demi Langkah)
Latihan Prediksi Output
Berapakah output dari kode pencarian nilai tertinggi berikut?
Kuis Pemahaman Membaca Kode (4 Soal)
Perhatikan program berikut. Berapa nilai yang dicetak?
Apa yang salah dari potongan kode berikut jika tujuannya menghitung berapa banyak angka genap?
Perhatikan kode pemrosesan daftar kata berikut:
Apa hasil cetakan dari kode Python berikut?
Playground Latihan 4: Algoritma Filter & Counter Siswa
Ubah daftar nilai di bawah ini dan uji kemampuan logika Anda dalam menghitung berapa banyak siswa yang tuntas (nilai >= 75)!