Pola yang Sering Muncul · Pelajaran 7 dari 8

Studi kasus: rata-rata nilai kelas

10 menit baca · BelajarCode

Seorang guru ingin program untuk mengolah nilai ulangan. Guru akan mengetik nilai satu per satu, dan mengetik -1 jika sudah selesai. Program harus menampilkan banyak siswa, rata-rata, banyak siswa yang tuntas (nilai 75 ke atas), dan nilai tertinggi.

Flowchart

Mengolah nilai kelas
  1. Langkah 1, Mulai: Mulai
  2. Langkah 2, Proses: banyak ← 0, total ← 0, tuntas ← 0, tertinggi ← -1
  3. Langkah 3, Masukan: Baca nilai
  4. Langkah 4, Keputusan: nilai ≠ -1?Yajika ya, proses nilai ini (lihat langkah berikutnya)Tidakjika tidak, lompat ke "Ada data?"
  5. Langkah 5, Proses: banyak ← banyak + 1, total ← total + nilai
  6. Langkah 6, Keputusan: nilai ≥ 75?Yajika ya, tuntas ← tuntas + 1Tidakjika tidak, lanjut
  7. Langkah 7, Keputusan: nilai > tertinggi?Yajika ya, tertinggi ← nilai, lalu baca nilai berikutnyaTidakjika tidak, baca nilai berikutnya
  8. Langkah 8, Keputusan: Ada data? (banyak > 0)Yajika ya, tampilkan banyak, total ÷ banyak, tuntas, tertinggiTidakjika tidak, tampilkan "Belum ada nilai"
  9. Langkah 9, Selesai: Selesai

Perhatikan keputusan terakhir. Kalau guru langsung mengetik -1, banyak bernilai 0 dan pembagian total ÷ banyak akan error. Flowchart yang baik memikirkan kasus seperti ini.

Program

Python
1banyak = 02total = 03tuntas = 04tertinggi = -156nilai = int(input("Nilai (-1 untuk selesai): "))7while nilai != -1:8    banyak += 19    total += nilai10    if nilai >= 75:11        tuntas += 112    if nilai > tertinggi:13        tertinggi = nilai14    nilai = int(input("Nilai (-1 untuk selesai): "))1516if banyak > 0:17    print("Banyak siswa:", banyak)18    print(f"Rata-rata: {total / banyak:.2f}")19    print("Tuntas:", tuntas)20    print("Tertinggi:", tertinggi)21else:22    print("Belum ada nilai")
Contoh saat dijalankan
Nilai (-1 untuk selesai): 80
Nilai (-1 untuk selesai): 65
Nilai (-1 untuk selesai): 92
Nilai (-1 untuk selesai): 74
Nilai (-1 untuk selesai): 88
Nilai (-1 untuk selesai): -1
Banyak siswa: 5
Rata-rata: 79.80
Tuntas: 3
Tertinggi: 92

Menguji dengan kasus batas

Program yang baik diuji bukan hanya dengan data biasa, tetapi juga dengan kasus batas:

  • Tanpa data sama sekali: langsung -1. Hasilnya harus "Belum ada nilai".
  • Satu data saja.
  • Nilai tepat 75: harus terhitung tuntas.
  • Semua nilai sama.

Cek pemahaman

Kenapa tertinggi diberi nilai awal -1 pada program ini?

Latihan

Persentase kelulusan

Tambahkan persentase siswa yang tuntas ke dalam laporan, dibulatkan satu angka di belakang koma. Untuk contoh di atas, hasilnya 60.0%.

Jalankan contoh kode di pelajaran ini tanpa instalasi lewat compiler Python online.

Tandai pelajaran ini selesai

Masuk ke aplikasi untuk mencatat kemajuan, lalu lanjutkan ke pelajaran berikutnya dari perangkat mana pun.

Buka di aplikasi