Ini adalah postingan terakhir saya untuk tugas workshop ALPRO, BAB ini adalah soal terakhir untuk tugas workshop diktat ALPRO.
Oke langsung saja pada soalnya.
Latihan
Modifikasilah struktur data dari algoritma 9.1. dan algoritma 9.2. sehingga sesuai dengan tabel di bawah ini dengan menggunakan link list.
NO
|
NIM
|
NAMA
|
UJIAN
|
NILAI
|
||
MID
|
AKHIR
|
TOTAL
|
HURUF
|
|||
1
|
990510001
|
Khoirul Anam
|
80
|
95
|
90
|
A
|
2
|
990510002
|
Siti Rohmah
|
45
|
30
|
35
|
D
|
3
|
990510003 |
Nur Rohmah
|
50
|
50
|
50
|
C
|
4
|
990510004
|
Agus Muhammad
|
90
|
60
|
70
|
B
|
5
|
990510005
|
Nur Iskandar
|
40
|
10
|
20
|
E
|
1. Identifikasi Masalah
→Modifikasi struktur data dari algoritma 9.1. dan algoritma 9.2. sehingga sesuai dengan
tabel di atas dengan menggunakan link list.
1. Menentukain input dan output
→input :Nama
Nim
Nilai
→output :Nilai Huruf adalah
2. Membuat Algoritma atau Flowchart
Algoritma
Deklarasi:
Nama[30] :karakter
Nim[10] :karakter
Nilai :integer
Deskripsi:
while when lagi=='Y' then lagi=='y'
while (cetak !=NULL)
if when cetak->Nilai>=0 and cetak->Nilai<20
E
else if when cetak->Nilai>=20 and cetak->Nilai<40
else if when cetak->Nilai>=40 and cetak->Nilai<60
C
else if when cetak->Nilai>=60 and cetak->Nilai<80
B
Else
A
cetak=cetak->berikut
end if
end while
end while
3. Test menggunakan data
→input :Nama adalah
Khoirul Anam
Siti Zulaiha
Nur Rohmah
Agus Mhammad
Nur Iskandar
Nim adalah
990510001
990510002
990510003
990510004
990510005
Nilai adalah
95
30
50
80
10
→output : Nilai Huruf adalah
A
D
C
B
E
4. Source Code
#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[30];
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<<"\nNim Mahasiswa : ";
cin>>Ptr_Baru->Nim;
cout<<"\nNilai 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();
}
HASIL OUTPUT :
