Lewati ke isi
JRG++JRG++ v0.2.0

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-rataGrade
≥ 90A — Luar Biasa
80 – 89B — Bagus
70 – 79C — Cukup
60 – 69D — Perlu Perbaikan
< 60E — Belum Lulus

Kode JRGKalkulator rapor dalam JRG

Program ini memakai konsep dari Bab 8, 9, dan 11 sekaligus: fungsi, perulangan, rata-rata, dan median.

kalkulator_rapor.jrg
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