Bab 20 · Proyek Akhir
Proyek: Kalkulator Rapor
Titik kumpul dari seluruh perjalanan. Proyek ini menggabungkan statistik (Bab 11), fungsi (Bab 9), dan variabel (Bab 8) jadi satu alat yang benar-benar berguna: kalkulator rapor otomatis.
KonsepApa yang akan dihitung?
Masukkan beberapa nilai ujian dipisah koma. Alat ini akan menghitung rata-rata (mean), median, nilai tertinggi & terendah, lalu menentukan grade huruf berdasarkan rata-rata — semua konsep yang sudah kamu kuasai satu per satu di bab-bab sebelumnya, sekarang bekerja bersama.
| Rata-rata | Grade |
|---|---|
| ≥ 90 | A — Luar Biasa |
| 80 – 89 | B — Bagus |
| 70 – 79 | C — Cukup |
| 60 – 69 | D — Perlu Perbaikan |
| < 60 | E — Belum Lulus |
Kode JRGKalkulator rapor dalam JRG
Program ini memakai konsep dari Bab 8, 9, dan 11 sekaligus: fungsi, perulangan, rata-rata, dan median.
fn hitungMean(data: []float) -> float {
let mut total = 0.0
for _, n in data { total += n }
return total / data.len() as float
}
fn tentukanGrade(rata: float) -> string {
if rata >= 90.0 { return "A - Luar Biasa" }
else if rata >= 80.0 { return "B - Bagus" }
else if rata >= 70.0 { return "C - Cukup" }
else if rata >= 60.0 { return "D - Perlu Perbaikan" }
else { return "E - Belum Lulus" }
}
pub fn main() {
let nilai = [78.0, 85.0, 92.0, 67.0, 88.0]
let rata = hitungMean(nilai)
wok("Rata-rata:", rata)
wok("Median:", arr::median(nilai))
wok("Grade:", tentukanGrade(rata))
}Rata-rata: 82.0
Median: 85.0
Grade: B - Bagus