Kamis, 15 Juni 2017

workshop 10

#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
 TOTAL
 HURUF
 1
 1600018037
 AJI
 80
 95
 90
 A
 2
 1600018019
 OKO
 45
30 
35 
 D
 3
 1600018003
 PACE
 50
50 
50 
 B
 4
 1600018040
 FAJAR
 90
60 
70 
 B
 5
 1600018018
 RIZAL
 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
 FAJR AJI SAPUTRO
 OKO
PUTRA
 FAJAR DIKDUK
  RIZAL


          Nim adalah
1600018037
 1600018019
 1600018003
 1600018040
1600018018

         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();
}


5.       Eksekusi
Share:

0 komentar:

Posting Komentar

Recent Post

BTemplates.com

Diberdayakan oleh Blogger.

Beauty

Breaking News

Labels