200 likes | 344 Views
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++)
E N D
Kompetensi : -Mahasiswa mampumenggunakanrutin yang adadalambahasa 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
KegiatanMengajar • Mahasiswaakandiarahkanuntukmemahamistruktur List<gerbong> yang memuat object gerbong. • Mahasiswadiarahkanuntukmemahami dan menggunakan variabel pos, *pos, pos-> untuk mengakses struktur list dalam STL C++. • Mahasiswadiarahkanuntukmemahami dan menggunakan metode end(), begin() yang dimiliki oleh object list STL C++. • Mahasiswadiarahkanuntukmampu menambahkan dan menggunakan beberapa metode baru dari Class Gerbong meliputi PesanKursi(), metodeCetakStatusKursi(), 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; • } Dilayar ? SalahatauBenar 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;
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.
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.