Kompetensi Mahasiswa mampu menggunakan rutin yang ada dalam




















- Slides: 20

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 Pesan. Kursi(), metode Cetak. Status. Kursi(), Hitung. Kursi. Kosong(), Search. Nama. Penumpang().

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 Gb 1, Gb 2, Gb 3 dari Class Gerbong

Mengakses Metode atau Atribut Object dari Class Gerbong • Didefinisikan Gb 1, Gb 2, Gb 3 sebagai object dari Class Gerbong : Gerbong Gb 1, Gb 2, Gb 3; • Diakses metode Cetak. Gerbong dari Object Gb 1, Gb 2, Gb 3 sebagai berikut : Gb 1. Cetak. Gerbong() Gb 2. Cetak. Gerbong() Gb 3. Cetak. Gerbong()

Memasukkan object Gb 1, Gb 2, Gb 3 ke dalam List L • Dimasukkan satu per satu dari Gb 1, Gb 2, Gb 3 sbb :

Mengakses salah satu metode Cetak. Gerbong dari object Gb 1, Gb 2, Gb 3 yang sudah dirangkai dalam List • Pos->Cetak. Gerbong(), 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.