Modifikasi Struktur Data di diktat pada BAB 10 menggunakan Linklist

1. Analisi Masalah
=>Mengitung IPK mahasiswa

2. Analisis

    - Input jumlah sks dan nilai dalam bentuk huruf [A-E]

    - Output nilai IPK berdasarkan jumlah sks dan nilai huruf

3. Algoritma

Procedure IPK (input/output matkul[50] ::char , jmk :: integer, bsks::integer)
Deklarasi
                x -> integer
                bernilai[100]->integer
                mutu[100]->integer
Deskripsi
                

4. Program C++

    #include <iostream>
    #include <conio.h>
    #include <windows.h>
    /* run this program using the console pauser or add your own getch, system("pause") or input loop */
    using namespace std;
    class Mhs{
    public:
    void Buat_berikut_list();
    char Nama[20];
    char Nim[10];
    int Nilai;
    Mhs *berikut;
    };
    void Mhs::Buat_berikut_list(){
    Mhs *Ptr_Kepala = NULL;
    Mhs *Ptr_Baru;
    char lagi;
    do{
    Ptr_Baru= new Mhs;
    cout<<"\nNama Mahasiswa : ";
    cin>>Ptr_Baru->Nama;
    cout<<"Nim Mahasiswa : ";
    cin>>Ptr_Baru->Nim;
    cout<<"Nilai Mahasiswa : ";
    cin>>Ptr_Baru->Nilai;
    Ptr_Baru->berikut=Ptr_Kepala;
    Ptr_Kepala=Ptr_Baru;
    cout<<"Tambah (y/t) : ";
    cin>>lagi;
    } while (lagi=='Y' || lagi=='y');
    system("cls");
    cout<<"\nAnda telah memasukkan data : "<<endl;
    Mhs *cetak= Ptr_Kepala;
    cout<<"Nama \t\t Nim \t\t Nilai Angka \t\t Nilai Huruf"<<endl;
    while (cetak !=NULL){
    cout<<cetak->Nama<<" \t\t"<<cetak->Nim<<" \t\t"<<cetak->Nilai<<" \t\t";
    if (cetak->Nilai>=0&&cetak->Nilai<20)
    cout<<"E"<<endl;
    else if(cetak->Nilai>=20&&cetak->Nilai<40)
    cout<<"D"<<endl;
    else if(cetak->Nilai>=40&&cetak->Nilai<60)
    cout<<"C"<<endl;
    else if(cetak->Nilai>=60&&cetak->Nilai<80)
    cout<<"B"<<endl;
    else
    cout<<"A"<<endl;
    cetak=cetak->berikut;
    }
    }
    int main(int argc, char** argv) {
    Mhs *simpul;
    simpul->Buat_berikut_list();
    getch();

    } 

6. Eksekusi

Comments