public class LaporanRapi {

    // Method murni kecil: satu pertanyaan, satu jawaban
    static String statusNilai(int nilai) {
        return (nilai >= 75) ? "LULUS" : "REMEDIAL";
    }

    static double hitungRataRata(int[] nilai) {
        int total = 0;
        for (int n : nilai) {
            total += n;
        }
        return (double) total / nilai.length;
    }

    static int nilaiTertinggi(int[] nilai) {
        int tertinggi = nilai[0];
        for (int n : nilai) {
            if (n > tertinggi) {
                tertinggi = n;
            }
        }
        return tertinggi;
    }

    static void cetakRincian(String[] nama, int[] nilai) {
        for (int i = 0; i < nilai.length; i++) {
            System.out.println(nama[i] + " : " + nilai[i]
                    + " (" + statusNilai(nilai[i]) + ")");
        }
    }

    static void cetakLaporan(String[] nama, int[] nilai) {
        System.out.println("=== Laporan Nilai Ujian ===");
        System.out.println("---------------------------");
        cetakRincian(nama, nilai);
        System.out.println("---------------------------");
        System.out.println("rata-rata : " + hitungRataRata(nilai));
        System.out.println("tertinggi : " + nilaiTertinggi(nilai));
    }

    public static void main(String[] args) {
        String[] nama = {"Budi", "Siti", "Dewi"};
        int[] nilai = {78, 85, 92};
        cetakLaporan(nama, nilai);
    }
}
