Oke, pada kesempatan kali ini saya akan posting latihan Diktat yang terakhir yaitu latihan Diktat bab 10.
Translasi 9.1
#include <iostream>
#include <conio.h>
using namespace std;
class Mhs {
public:
void Buat_berikut_list();
char Nama[20];
char Nim[10];
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 Mhs : ";
cin >> Ptr_Baru->Nim;
Ptr_Baru->berikut = Ptr_Kepala;
Ptr_Kepala = Ptr_Baru;
cout << "Tambah (y/t) : ";
} while ((lagi=getch()) !='t');
cout << "\nAnda telah memasukkan data : ";
Mhs *cetak = Ptr_Kepala;
// mencetak isi link list
while (cetak != NULL) {
cout << "\nNama Mahasiswa : " << cetak->Nama;
cout << "\tNim Mhs : " << cetak->Nim;
cetak = cetak->berikut;
}
}
main() {
Mhs *simpul;
simpul->Buat_berikut_list();
getch();
}
Mahasiswa
#include <iostream>
using namespace std;
class Mhs {
public :
int nim;
char nilai;
};
typedef Mhs *Ptrmhs;
main() {
Ptrmhs P1, P2, P3;
P1 = new Mhs;
P1->nim = 101;
P1->nilai = 'A';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
P2 = new Mhs;
P2 = P1; /* salin alamatnya */
cout << "P2 : " << P2->nim << " " << P2->nilai << endl;
P2->nim = 102;
P2->nilai = 'B';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P2 : " << P2->nim << " " << P2->nilai << endl;
P3 = new Mhs;
*P3 = *P1; /* salin isinya */
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P3 : " << P3->nim << " " << P3->nilai << endl;
P3->nim = 103;
P3->nilai = 'C';
cout << "P1 : " << P1->nim << " " << P1->nilai << endl;
cout << "P3 : " << P3->nim << " " << P3->nilai << endl;
return 0;
}
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
|
Huruf
|
Huruf
|
|||
1
|
990510001
|
Khoirul Anwar
|
80
|
95
|
90
|
A
|
2
|
990510002
|
Siti Zulaiha
|
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 Anwar
|
||||||||||
Siti Zulaiha
|
||||||||||
Nur Rohmah
|
||||||||||
Agus Muhammad
|
||||||||||
Nur Iskandar
Nim adalah
Nilai 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();
}
5.
Eksekusi
Sekian Postingan Kali ini, semoga bermanfaat
Wassalamu'alaikum wr.wb
Tidak ada komentar:
Posting Komentar