Kompetensi : -Mahasiswa mampu menggunakan rutin yang ada dalam bahasa C++ menggunakan STL - Memahami “list” & aplikasinya #8 17 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().
Dilayar ? Salah atau Benar 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; Dilayar ? Salah atau Benar 20 19 18 17 16 15 14 ….. 5 4 3 2 1
ADT (Abstract Data Type) Gerbong OO Concept Prosedural
Class Gerbong ATRIBUT / VARIABEL METODE / 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.