Pemberitahuan: Progres & nilai kuis Anda tersimpan otomatis di browser perangkat ini.
Pertemuan 04 90 Menit (2 JP) Informatika Kelas XII

Python Code Reading Challenge

Tantangan integratif tingkat lanjut: menggabungkan pemahaman variabel, list, perulangan for, dan percabangan if-else untuk menganalisis algoritma pemrosesan data nyata.

Target Kemampuan (Tujuan Pembelajaran):
Membaca dan menjelaskan fungsi algoritma filter data (menghitung elemen yang memenuhi syarat).
Menelusuri algoritma pencarian nilai ekstrem (mencari nilai maksimum/minimum dalam list).
Memprediksi keluaran program kompleks yang memiliki perulangan dan percabangan bersarang.
Menghubungkan pola logika kode dengan permasalahan nyata di sekolah (misal: menghitung siswa lulus kriteria).
Bagian 1

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.
Bagian 2

Code Viewer & Telaah Baris demi Baris

Contoh Program 4.1: Menghitung Siswa yang Lulus KKTP
program.py
1 nilai = [80, 65, 90, 70]
2 jumlah_lulus = 0
3
4 for n in nilai:
5 if n >= 75:
6 jumlah_lulus += 1
7
8 print(jumlah_lulus)
Output Hasil Program:
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.
Bagian 3

Trace Code Interaktif (Langkah demi Langkah)

Interactive Trace: Filter dan Counter Langkah 1
Program yang Ditelaah:
tracer.py
1 nilai = [80, 65, 90, 70]
2 jumlah_lulus = 0
3 for n in nilai:
4 if n >= 75:
5 jumlah_lulus += 1
6 print("Jumlah lulus:", jumlah_lulus)
Tekan "Langkah Berikutnya" untuk memulai penelusuran.
Memory Watch (Variabel):
Variabel Nilai Status
Memuat variabel...
Output Terminal Layar:
// Belum ada output
Bagian 4

Latihan Prediksi Output

Berapakah output dari kode pencarian nilai tertinggi berikut?

1 data = [12, 45, 23, 67, 34]
2 maks = data[0]
3 for x in data:
4 if x > maks:
5 maks = x
6 print(maks)
Pilihan bantuan: 12 34 67 45
Bagian 5

Kuis Pemahaman Membaca Kode (4 Soal)

Jawab semua soal & periksa jawaban
Soal 1 dari 4 Pilihan Ganda

Perhatikan program berikut. Berapa nilai yang dicetak?

1 angka = [3, 6, 9, 12, 15]
2 total = 0
3 for x in angka:
4 if x > 10:
5 total = total + x
6 print(total)
Soal 2 dari 4 Pilihan Ganda

Apa yang salah dari potongan kode berikut jika tujuannya menghitung berapa banyak angka genap?

1 bilangan = [2, 4, 7, 8]
2 for b in bilangan:
3 genap = 0
4 if b % 2 == 0:
5 genap += 1
6 print(genap)
Soal 3 dari 4 Pilihan Ganda

Perhatikan kode pemrosesan daftar kata berikut:

1 kata = ["apel", "mangga", "pisang", "kiwi"]
2 panjang = []
3 for k in kata:
4 if len(k) > 4:
5 panjang.append(k)
6 print(len(panjang))
Soal 4 dari 4 Pilihan Ganda

Apa hasil cetakan dari kode Python berikut?

1 status = []
2 for i in range(1, 4):
3 if i % 2 == 1:
4 status.append("G")
5 else:
6 status.append("P")
7 print("".join(status))
Bagian 6

Playground Latihan 4: Algoritma Filter & Counter Siswa

Python 3 In-Browser

Ubah daftar nilai di bawah ini dan uji kemampuan logika Anda dalam menghitung berapa banyak siswa yang tuntas (nilai >= 75)!

Tantangan: Ganti angka di data_nilai dengan nilai kelas Anda dan lihat hasilnya!
playground_pertemuan_4.py
Sisipkan:
[Tab] = 4 spasi | [Ctrl+Enter] = Run
Siap dijalankan
Terminal Output:
// Klik tombol "Jalankan Kode ▶" di sebelah kiri untuk melihat output program...
Dijalankan 100% aman di browser Anda tanpa instalasi software.