• Tidak ada hasil yang ditemukan

Hati Ikhlas – Pikiran CerdasKompetensi 13, 14, 15 : Mempraktekan Penggunaan Method Function Pada Struktur List, Vector Hati Ikhlas - Pikiran Cerdas

N/A
N/A
Protected

Academic year: 2017

Membagikan "Hati Ikhlas – Pikiran CerdasKompetensi 13, 14, 15 : Mempraktekan Penggunaan Method Function Pada Struktur List, Vector Hati Ikhlas - Pikiran Cerdas"

Copied!
3
0
0

Teks penuh

(1)

Algoritma dan Struktur Data, Teknik Elektro Unsoed, Aetthea---1

Dokumen Pendukung Pembelajaran

Kompetensi :

13,14,15

Target :

Mahasiswa mampu mempraktekkan penggunaan metode Searching di berbagai Struktur

Data, misalnya List, Vector.

1. #ifndef GERBONG_H 2. #define GERBONG_H 3. #include <iostream> 4. using namespace std; 5. class Gerbong 6. {

7. public : 8. typedef struct { 9. int nokursi;

10. int statuskursi; //0 = kursi kosong; 1=kursi terisi orang/barang 11. } InfoKursi;

12. InfoKursi Kursi[4][10]; 13. int NoGerbong; 14. public : 15. Gerbong(void);

16. // Contructor Class Gerbong, melakukan inisialisasi no gerbong dengan -99 17. // dan menomori kursi setiap gerbong sejumlah 40 kursi dari no 1 sd 40 18. Gerbong IsiGerbong(int _nogb, InfoKursi* _kursi);

19. // Kondisi Awal (IS) : Gerbong telah terdefinisi 20. // Kondisi Akhir (FS) : Gerbong terisi InfoKursi; 21. void CetakGerbong(void);

22. // Metod untuk melihat nomor gerbong, no kursi beserta statusnya seluruh 23. // gerbong dalam rangkaian Kereta Api

24. void PesanMakan(int nomenu, int nokursi, int nogerbong); 25. };

26. #endif

K2.

Gerbong.h

(K1). Driver

class

gerbong dan

(2)

Algoritma dan Struktur Data, Teknik Elektro Unsoed, Aetthea---2

1. #include <list> 2. using namespace std; 3. class gerbongobserver 4. {

5. public :

6. gerbongobserver(void);

7. // Contructor Class Gerbong, melakukan inisialisasi no gerbong dengan -99 8. // dan menomori kursi setiap gerbong sejumlah 40 kursi dari no 1 sd 40 9.

10. list<Gerbong>::iterator CariGerbong(list<Gerbong>& cl, int No); 11. // Pre-Condition : list gerbong telah berisi gerbong sembarang,

12. // variabel No telah berisi nilai integer sebagai no gerbong yang akan dicari 13. // Post Condition : alamat pos menunjuk ke suatu alamat.

14.

15. int CariKursiBerdampinganKesampingOrDepan(list<Gerbong>& cl, int JmlKursiPesan); 16. // Pre-Condition : list gerbong telah berisi gerbong sembarang,

17. // variabel JmlKursiPesan telah berisi nilai integer sebagai jumlah kursi yang dipesan secara berdampingan 18. // Post Condition : return true jika kursi yang dipesan ada

19. list<int> CariDaftarKursiKosongAllGerbong(list<Gerbong>& cl); 20. //

21.

22. // list<int> DeteksiPenumpangTurunStasiun(list<Gerbong>& cl, String Statsiun); 23. };

1. #include <list> 2. #include <iostream> 3. #include "gerbong.h" 4. #include "gerbongobserver.h" 5. using namespace std; 6.

7. gerbongobserver::gerbongobserver(void) { ;}

8. // Contructor Class Gerbong, melakukan inisialisasi no gerbong dengan -99 9. // dan menomori kursi setiap gerbong sejumlah 40 kursi dari no 1 sd 40 10.

11. list<Gerbong>::iterator gerbongobserver::CariGerbong(list<Gerbong>& cl, int No) 12. {

13. list<Gerbong>::iterator pos; 14. int found = false;

15. pos=cl.begin();

16. while ( (!found) && (pos!=cl.end()) ){ 17.

18. if ( pos->NoGerbong == No ){ 19. found = true;

20. return pos; // Ketemu 21. }

22. else { 23. pos++; 24. } 25. } 26. if (!found) 27. {

28. return pos; // tidak ketemu 29. }

30. }

K3. Gerbongobserver.h

(3)

Algoritma dan Struktur Data, Teknik Elektro Unsoed, Aetthea---3

1. #include "gerbong.h" 2. #include "gerbongobserver.h" 3. using namespace std; 4. int main()

5. {

6. // CreateList Kereta Api 7. list<Gerbong> L;

8. list<Gerbong>::iterator pos; 9. gerbongobserver ob;

19. // Cetak isi rangkaian gerbong dengan menggunakan pointer pos sebagai penunjuk gerbong 20. pos = L.begin();

30. pos->IsiGerbong(1); pos->IsiGerbong(10); pos->IsiGerbong(11); pos->IsiGerbong(15); pos->IsiGerbong(12); 31. pos->IsiGerbong(17); pos->IsiGerbong(18); pos->IsiGerbong(19); pos->CariKursiKosongGerbong(vc); 32. pos->CetakGerbong();

5. #include <cstdlib> #include <iostream> using namespace std; 6. class Gerbong

15. // Contructor Class Gerbong, melakukan inisialisasi no gerbong dengan -99 16. // dan menomori kursi setiap gerbong sejumlah 40 kursi dari no 1 sd 40 17. void IsiGerbong(int nokursi);

18. // Kondisi Awal (IS) : Gerbong telah terdefinisi

19. // Proses : Mengisi satu buah kursi yang masih kosong sesuai nokursi yang dipesan 20. // Kondisi Akhir (FS) : Gerbong terisi InfoKursi;

21. void CariKursiKosongGerbong(vector<int> &v); 22. // Kondisi Awal (IS) : Gerbong telah terdefinisi 23. // Kondisi Akhir (FS) : Vector V terisi no kursi kosong. 24. void CetakGerbong(void);

25. // Metod untuk menampilkan nomor gerbong, no kursi beserta statusnya seluruh 26. // gerbong dalam rangkaian Kereta Api

27. }; 28. #endif

K5. Driver class gerbong

dan observer gerbong,

struktur Vector

Referensi

Dokumen terkait