Program Utuh · Pelajaran 11 dari 11

Proyek: kalkulator nilai rapor

10 menit baca · BelajarCode

Kita akan membuat program yang menerima nilai beberapa mata pelajaran, lalu menampilkan ringkasan rapor.

Kebutuhan program

  1. Tanyakan berapa mata pelajaran yang akan dimasukkan.
  2. Untuk setiap mata pelajaran, tanyakan nama dan nilainya. Nilai harus 0 sampai 100. Jika tidak, tanyakan lagi.
  3. Tampilkan setiap mata pelajaran beserta predikatnya.
  4. Tampilkan rata-rata, nilai tertinggi, dan nilai terendah.

Programnya

Python
1def predikat(nilai):2    if nilai >= 90:3        return "A"4    elif nilai >= 80:5        return "B"6    elif nilai >= 70:7        return "C"8    return "D"91011def baca_nilai(mapel):12    nilai = int(input(f"Nilai {mapel}: "))13    while nilai < 0 or nilai > 100:14        print("Nilai harus 0 sampai 100.")15        nilai = int(input(f"Nilai {mapel}: "))16    return nilai171819jumlah = int(input("Berapa mata pelajaran? "))20daftar_mapel = []21daftar_nilai = []2223for i in range(jumlah):24    mapel = input(f"Nama mapel ke-{i + 1}: ")25    daftar_mapel.append(mapel)26    daftar_nilai.append(baca_nilai(mapel))2728print()29print("=== RAPOR ===")30for i in range(jumlah):31    nilai = daftar_nilai[i]32    print(f"{daftar_mapel[i]:<15}{nilai:>4}  {predikat(nilai)}")3334rata = sum(daftar_nilai) / jumlah35print(f"Rata-rata : {rata:.1f} ({predikat(rata)})")36print("Tertinggi :", max(daftar_nilai))37print("Terendah  :", min(daftar_nilai))
Kalkulator nilai rapor
Contoh saat dijalankan
Berapa mata pelajaran? 3
Nama mapel ke-1: Matematika
Nilai Matematika: 88
Nama mapel ke-2: Informatika
Nilai Informatika: 105
Nilai harus 0 sampai 100.
Nilai Informatika: 95
Nama mapel ke-3: IPA
Nilai IPA: 76

=== RAPOR ===
Matematika       88  B
Informatika      95  A
IPA              76  C
Rata-rata : 86.3 (B)
Tertinggi : 95
Terendah  : 76

Hal baru di program ini

  • {daftar_mapel[i]:<15} menulis teks rata kiri selebar 15 karakter, dan {nilai:>4} menulis angka rata kanan selebar 4 karakter. Hasilnya kolom yang sejajar.
  • Fungsi baca_nilai memakai while untuk terus bertanya sampai nilainya masuk akal. Teknik ini disebut validasi masukan.
  • Fungsi predikat dipakai ulang untuk setiap mapel dan untuk rata-rata.

Pecah menjadi fungsi kecil

Program yang panjang lebih mudah dibuat kalau dipecah menjadi fungsi kecil yang masing-masing mengerjakan satu hal. Uji setiap fungsi sendiri-sendiri sebelum menggabungkannya.

Cek pemahaman

Apa gunanya perulangan while di dalam fungsi baca_nilai?

Latihan

Hitung mapel yang tuntas

Tambahkan fitur baru: tampilkan berapa mata pelajaran yang tuntas (nilai 75 ke atas) dan daftar nama mapel yang belum tuntas. Kalau semua tuntas, tampilkan Semua mapel tuntas.

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