Kompetensi : -Mahasiswa mampu menggunakan rutin yang ada dalam bahasa C++ menggunakan STL - Memahami “list” & aplikasinya #8 17 MEI 2013 (Kompetensi 6,7,8)
Jan 05, 2016
Kompetensi : -Mahasiswa mampu menggunakan rutin yang
ada dalam bahasa C++ menggunakan STL - Memahami “list” & aplikasinya
#817 MEI 2013
(Kompetensi 6,7,8)
Syarat
• Mahasiswa sudah memahami operasi push, pop, reverse, add dalam STL list.h (C++)
• Mahasiswa sudah memahami ADT kereta api pada kuliah Dasar Pemrograman
Problem
• Pada pertemuan #2, dijelaskan bagaimana menggunakan library list.h yang memuat berbagai metode seperti push, pop, add, dsb.
• Pertemuan #2 baru menjelaskan penggunaan list untuk tipe data dasar (int, char, ...)
• Pertemuan #3 bagaimana menggunakan list.h untuk tipe data buatan
• Objek pembelajaran #3 ADT Kereta Api
Kegiatan Mengajar
• Mahasiswa akan diarahkan untuk memahami struktur List<gerbong> yang memuat object gerbong.
• Mahasiswa diarahkan untuk memahami dan menggunakan variabel pos, *pos, pos-> untuk mengakses struktur list dalam STL C++.
• Mahasiswa diarahkan untuk memahami dan menggunakan metode end(), begin() yang dimiliki oleh object list STL C++.
• Mahasiswa diarahkan untuk mampu menambahkan dan menggunakan beberapa metode baru dari Class Gerbong meliputi PesanKursi(), metode CetakStatusKursi(), HitungKursiKosong(), SearchNamaPenumpang().
Kompetensi 2,3,4• #include <iostream.h>• #include <list.h>
• int main()• {• list<int> coll; // list container for integer elements
• // append elements from 1 to 20• for (int c=1; c<=20; ++c) {• coll.push_front(c);• }
• while (! coll.empty()) {• cout << coll.back() << ' ';• coll.pop_back();• }• cout << endl;
• system("PAUSE");• return 0;• }
20 19 18 17 16 15 14 ….. 5 4 3 2 1
Dilayar ? Salah atau Benar
ADT (Abstract Data Type) GerbongOO
Concept
Prosedural
Class Gerbong
ATRIBUT / VARIABELMETODE / PROCEDURE/ FUNCTION
CONSTRUCTOR = Metod yang namanya sama dengan nama Kelas
List Bertipe Data Buatan
• List <Gerbong> lgerbong;
list<int> coll;
Rekonstruksi Class Gerbong
Definisi List dalam STL C++• List dalam STL C++ menggunakan double link
list. Gambaran double link list sbb :
Pointer Pos sebagai penunjuk akses ke berbagai node dalam list<Gerbong>
• Pos didefinisikan sebagai beriku :List<Gerbong>::iterator Pos;
• Pos ditunjukkan ke node awal dari list L :Pos = L.begin()
Pointer Pos digerakkan ke node Next atau Prev
Pos++;
Pos--;
Mengetahui Batas Akhir atau Awal suatu List L
Apakah pointer pos sudah mencapai akhir List L?
if (pos ! = L.end()) { cout << “Pointer pos belum mencapai L.end()” << endl;
}else cout << “Pointer pos sudah mencapai L.end()” << endl;
Mengakses Metode atau Atribut Object dari Class Gerbong
Gambaran Struktur Class Gerbong
Gambaran Object Gb1, Gb2, Gb3 dari Class Gerbong
Mengakses Metode atau Atribut Object dari Class Gerbong
• Didefinisikan Gb1, Gb2, Gb3 sebagai object dari Class Gerbong :
Gerbong Gb1, Gb2, Gb3;• Diakses metode CetakGerbong dari Object
Gb1, Gb2, Gb3 sebagai berikut : Gb1.CetakGerbong() Gb2.CetakGerbong() Gb3.CetakGerbong()
Memasukkan object Gb1, Gb2, Gb3 ke dalam List L
• Dimasukkan satu per satu dari Gb1, Gb2, Gb3 sbb :
Mengakses salah satu metode CetakGerbong dari object Gb1, Gb2, Gb3 yang sudah dirangkai dalam List
• Pos->CetakGerbong(), maka yang tercetak adalah info kursi dan no gerbong dari Node Pertama.
Contoh Program List L
Tugas List Buatan
• Membuat Metod baru di dalam Class Gerbong• Membuat Driver untuk menguji metod baru
tersebut• Tugas dalam Project List Gerbong dalam 3 file
(*.h, *.cpp, Driver).• Dikerjakan secara kelompok, dikumpulkan
tanggal 22 Mei 2013.