Program Input Nilai Mahasiswa C++ untuk Menentukan Predikat — Contoh & Penjelasan Lengkap

Pelajari cara membuat program input nilai mahasiswa dengan bahasa C++ untuk menghitung nilai akhir dan menentukan predikat otomatis.
Program Input Nilai Mahasiswa C++ untuk Menentukan Predikat — Contoh & Penjelasan Lengkap

Dalam dunia pendidikan, penilaian mahasiswa menjadi bagian penting untuk mengukur pemahaman terhadap materi. Salah satu cara efektif untuk melakukan penilaian otomatis adalah dengan membuat program input nilai mahasiswa menggunakan bahasa C++.

Program ini memungkinkan kita untuk:

  • Memasukkan data satu mahasiswa (NIM, Nama, Nilai Absen, Tugas, UTS, UAS)
  • Menghitung nilai akhir berdasarkan bobot penilaian
  • Menentukan predikat nilai secara otomatis

Berikut contoh kode lengkapnya 👇

#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

string hitungPredikat(double nilaiAkhir) {
    if (nilaiAkhir >= 100.0) return "A (AMAT BAIK)";
    else if (nilaiAkhir >= 70.0) return "B (BAIK)";
    else if (nilaiAkhir >= 55.0) return "C (CUKUP BAIK)";
    else if (nilaiAkhir >= 30.0) return "D (KURANG BAIK)";
    else return "E (SANGAT BURUK)";
}

int main() {
    string nim, nama;
    double absen, tugas, uts, uas, nilaiAkhir;
    string predikat;

    cout << "PROGRAM DATA NILAI MAHASISWA\n";
    cout << "---------------------------------\n";

    cout << "Masukkan NIM   : ";
    getline(cin, nim);
    cout << "Masukkan Nama  : ";
    getline(cin, nama);
    cout << "Nilai Absen (0-100) : ";
    cin >> absen;
    cout << "Nilai Tugas (0-100) : ";
    cin >> tugas;
    cout << "Nilai UTS   (0-100) : ";
    cin >> uts;
    cout << "Nilai UAS   (0-100) : ";
    cin >> uas;

    // Hitung nilai akhir
    nilaiAkhir = 0.15 * absen + 0.30 * tugas + 0.20 * uts + 0.35 * uas;

    // Tentukan predikat
    predikat = hitungPredikat(nilaiAkhir);

    // Tampilkan hasil
    cout << "\nHASIL DATA NILAI MAHASISWA\n";
    cout << "---------------------------------------------------------------\n";
    cout << left << setw(12) << "NIM"
         << left << setw(20) << "NAMA"
         << right << setw(8) << "ABSEN"
         << right << setw(8) << "TUGAS"
         << right << setw(8) << "UTS"
         << right << setw(8) << "UAS"
         << right << setw(15) << "NILAI_AKHIR"
         << "   PREDIKAT\n";

    cout << "---------------------------------------------------------------\n";
    cout << fixed << setprecision(2);
    cout << left << setw(12) << nim
         << left << setw(20) << nama
         << right << setw(8) << absen
         << right << setw(8) << tugas
         << right << setw(8) << uts
         << right << setw(8) << uas
         << right << setw(15) << nilaiAkhir
         << "   " << predikat << "\n";

    return 0;
}

🧠 Penjelasan Program

  1. Input Data Program menerima input dari pengguna berupa NIM, Nama, dan nilai absen, tugas, UTS, serta UAS.

  2. Perhitungan Nilai Akhir Rumus yang digunakan:

    Nilai Akhir = (0.15 × Absen) + (0.30 × Tugas) + (0.20 × UTS) + (0.35 × UAS)
    
  3. Penentuan Predikat Fungsi hitungPredikat() akan menentukan predikat berdasarkan skor akhir:

    • ≥ 100 → A (Amat Baik)
    • ≥ 70 → B (Baik)
    • ≥ 55 → C (Cukup Baik)
    • ≥ 30 → D (Kurang Baik)
    • < 30 → E (Sangat Buruk)
  4. Output Tabel Nilai Program menampilkan data mahasiswa dalam format tabel rapi menggunakan manipulasi output iomanip.