Pages

C++: Menghitung Nilai Mahasiswa (Array)

Menentukan nilai akhir dan nilai huruf dari beberapa mahasiswa dengan ketentuan sebagai berikut :
  • Input : NIM, Nama, Absensi (10 Pertemuan), Nilai Per-Tugas (5 Tugas), Nilai Mid, dan Nilai Final.
  • Absensi diisi dengan 1 jika HADIR dan 0 jika TIDAK HADIR.
  • Nilai Absen diperoleh dari Total Kehadiran x 10.
  • Nilai Tugas diperoleh dari Jumlah Nilai Per-Tugas / 5.
  • Nilai Akhir diperoleh dari 10% Nilai Absen, 20% Nilai Tugas, 30% Nilai Mid, dan 40% Nilai Final.
  • Nilai Huruf diperoleh dari :
    • A = 85 - 100
    • B = 75 - 84
    • C = 65 - 74
    • D = 50 - 64
    • E =  0 - 49 
  • Konfirmasi di akhir program jika masih ada data mahasiswa lain yang ingin diinput.
  • Setelah semua data terinput, tampilkan :
    • Data (NIM, Nama, Nilai Akhir, Nilai Huruf) mahasiswa yang sudah diinput dalam bentuk tabel.
    • Jumlah Mahasiswa yang sudah diinput. 
    • Jumlah Mahasiswa yang mendapatkan Nilai Huruf A, B, C, D, dan E.
    • Data (NIM, Nama, Nilai Akhir, Nilai Huruf) untuk mahasiswa dengan Nilai Tertinggi dan Nilai Terendah.

Script:

#include<iostream>
#include<iomanip>

using namespace std; 
 
float nilaiakhir(float a, float b, float c, float d)
{
    return ((0.1 * a) + (0.2 * b) + (0.3 * c) + (0.4 * d));
}

char nilaihuruf(float na, int &a, int &b, int &c, int &d, int &e)
{
    char huruf;
    if((na >= 85) && (na <= 100))
    {
        huruf = 'A';
        a++;
    }
    else if((na >= 75) && (na < 85))
    {
        huruf = 'B';
        b++;
    }
    else if((na >= 65) && (na < 75))
    {
        huruf = 'C';
        c++;
    }
    else if((na >= 50) && (na < 65))
    {
        huruf = 'D';
        d++;
    }
    else
    {
        huruf = 'E';
        e++;
    }

    return(huruf);
}

int main()
{
    char NIM[40][15], nama[40][20], nhuruf[40], lagi;
    int absen[40][10], tabsen[40], tugas[40][5], ttugas[40];
    float nabsen[40], ntugas[40], nmid[40], nfinal[40], nakhir[40];
    int x = 0, y, A = 0, B = 0, C = 0, D = 0, E = 0, jumlah, max, min;

    do
    {
        system("cls");
        cout<<"NIM     : ";
        cin>>NIM[x];
        cout<<"Nama    : ";
        cin>>nama[x];

        cout<<"-------------------\n";
        cout<<"  KEHADIRAN [1/0]  \n";
        cout<<"-------------------\n";
        tabsen[x] = 0;
        for(y = 0; y < 10; y++)
        {
            cout<<"Pertemuan ke-"<<1 + y<<" : ";
            cin>>absen[x][y];
            tabsen[x] += absen[x][y];
        }
        nabsen[x] = tabsen[x] * 10;

        cout<<"-------------------\n";
        cout<<"       TUGAS       \n";
        cout<<"-------------------\n";
        ttugas[x] = 0;
        for(y = 0; y < 5; y++)
        {
            cout<<"Tugas ke-"<<1 + y<<"   : ";
            cin>>tugas[x][y];
            ttugas[x] += tugas[x][y];
        }
        ntugas[x] = ttugas[x] / 5;

        cout<<"-------------------\n";
        cout<<"Nilai MID    : ";
        cin>>nmid[x];
        cout<<"Nilai FINAl  : ";
        cin>>nfinal[x];
        cout<<"-------------------\n";

        nakhir[x] = nilaiakhir(nabsen[x], ntugas[x], nmid[x], nfinal[x]);
        nhuruf[x] = nilaihuruf(nakhir[x], A, B, C, D, E);

        if(x==0)
        {
            max = x;
            min = x;
        }
        else
        {
            if(nakhir[x] > nakhir[max])
                max = x;
            if(nakhir[x] < nakhir[min])
                min = x;
        }

        system("cls");
        cout<<"---------------------\n";
        cout<<"Mahasiswa ke-"<<1 + x<<endl;
        cout<<"---------------------\n";
        cout<<"NIM  : "<<NIM[x]<<endl;
        cout<<"Nama : "<<nama[x]<<endl;
        cout<<"---------------------\n";
        cout<<"Nilai Absen   : "<<nabsen[x]<<endl;
        cout<<"Nilai Tugas   : "<<ntugas[x]<<endl;
        cout<<"Nilai Mid     : "<<nmid[x]<<endl;
        cout<<"Nilai Final   : "<<nfinal[x]<<endl;
        cout<<"Nilai Akhir   : "<<nakhir[x]<<endl;
        cout<<"Nilai Huruf   : "<<nhuruf[x]<<endl;
        cout<<"---------------------\n";

        x++;
        cout<<"Input Lagi [Y/T] ? ";
        cin>>lagi;
    }
    while((lagi=='Y')||(lagi=='y'));

    jumlah = x;
    system("cls");
    cout<<"----------------------------------------------------\n";
    cout<<"|      NIM      |        Nama        |  NA  |  NH  |\n";
    cout<<"----------------------------------------------------\n";
    for(x = 0; x < jumlah; x++)
    {
         cout<<"|"<<setw(13)<<NIM[x]<<"  ";
         cout<<"|"<<setw(18)<<nama[x]<<"  ";
         cout<<"|"<<setw(5)<<nakhir[x]<<" ";
         cout<<"|"<<setw(4)<<nhuruf[x]<<"  ";
         cout<<"|"<<endl;
    }
    cout<<"----------------------------------------------------\n";
    cout<<"Jumlah Mahasiswa diinput  = "<<jumlah<<" Orang"<<endl;
    cout<<"----------------------------------------------------\n";
    cout<<"Jumlah Mahasiswa Nilai A  = "<<A<<" Orang"<<endl;
    cout<<"Jumlah Mahasiswa Nilai B  = "<<B<<" Orang"<<endl;
    cout<<"Jumlah Mahasiswa Nilai C  = "<<C<<" Orang"<<endl;
    cout<<"Jumlah Mahasiswa Nilai D  = "<<D<<" Orang"<<endl;
    cout<<"Jumlah Mahasiswa Nilai E  = "<<E<<" Orang"<<endl;
    cout<<"----------------------------------------------------\n";
    cout<<"                   NILAI TERTINGGI                  \n";
    cout<<"----------------------------------------------------\n";
    cout<<"NIM          : "<<NIM[max]<<endl;
    cout<<"Nama         : "<<nama[max]<<endl;
    cout<<"Nilai Akhir  : "<<nakhir[max]<<endl;
    cout<<"Nilai Huruf  : "<<nhuruf[max]<<endl;
    cout<<"----------------------------------------------------\n";
    cout<<"----------------------------------------------------\n";
    cout<<"                   NILAI TERENDAH                   \n";
    cout<<"----------------------------------------------------\n";
    cout<<"NIM          : "<<NIM[min]<<endl;
    cout<<"Nama         : "<<nama[min]<<endl;
    cout<<"Nilai Akhir  : "<<nakhir[min]<<endl;
    cout<<"Nilai Huruf  : "<<nhuruf[min]<<endl;
    cout<<"----------------------------------------------------";

    return 0;
}

Zhuel Rainz

Rainz Code adalah blog berisi tutorial, script, atau project dari berbagai macam bahasa pemrograman yan diharapkan bisa membantu pembaca untuk belajar pemrograman, membuat tugas, skripsi, atau bahkan membuat aplikasi yang bisa menghasilkan uang. Khusus untuk source code, silahkan email atau hubungi penulis melalui link-link yang sudah tersedia di bawah ini.

No comments:

Post a Comment