Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Abstract Data Type (C++ and Java). Container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat.

Presentasi serupa


Presentasi berjudul: "Abstract Data Type (C++ and Java). Container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat."— Transcript presentasi:

1 Abstract Data Type (C++ and Java)

2 Container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat dilakukan: – Membuat container baru(konstruktor) – Menaruh benda – Mengambil benda – Mencari benda tertentu – Mengosongkannya (atau periksa apakah kosong)‏ – Mendapatkan jumlah benda dalam container (size) Di C++ container diimplementasikan oleh Standart Template Library Di Java, container diimplementasikan oleh class Collection dan Map Container Data

3 ADT in C++

4 Abstract Data Type (ADT) in C++ Diimplementasikan oleh Standart Template Library(STL) ADT Container di C++ terdiri dari 3 macam – Sequence containers => Container yang tersusun berderet-deret. – Associative containers => merupakan container yang key-nya diasosiasikan dengan suatu value. – Container adapters => merupakan containers dengan interface spesifik, memanfaatkan containers lain untuk implementasinya.

5 Sequence containers vector rapid insertions and deletions at back direct access to any element deque rapid insertions and deletions at front or back direct access to any element list doubly linked list, rapid insertion and deletion anywhere

6 Associative containers set rapid lookup, no duplicates allowed multiset rapid lookup, duplicates allowed map one-to-one mapping, no duplicates allowed, rapid key-based lookup multimap one-to-many mapping, duplicates allowed, rapid key-based lookup

7 Container adapters stack last-in, first-out (LIFO) queue first-in, first-out (FIFO) priority_queue highest-priority element is always the first element out

8 Queue Sebuah Queue adalah kumpulan benda di mana hanya benda yang least recently inserted dapat diakses. Bayangkan antrian printer job pada jaringan. Benda yang paling awal ditambahkan berada di depan antrian (front). Operasi pada Queue membutuhkan waktu konstan (O(1)). enqueue Most recentLeast recent dequeue getFront

9 Set tambah

10 Map Map adalah struktur data yang berisi sekumpulan pasangan nama (keys) dan nilai (values) dari nama tersebut. Nama (Keys) harus unik, tapi nilai (values) tidak. Bayangkan basis-data yang berisi informasi peserta kuliah. Apa yang menjadi “nama” (keys)? AbdulBettyChairulDian Nama: Nilai:

11 Priority Queue Priority Queue adalah struktur data queue yang tiap elemen data dapat miliki nilai prioritas. Data dengan nilai prioritas tertinggilah yang dapat diakses terlebih dulu. Bayangkan sebuah antrian pada printer jaringan. Misalkan ada sebuah permintaan cetak untuk 100 halaman hanya beberapa detik lebih awal dari permintaan cetak selembar halaman. Highest priority insertdeleteMin findMin

12 Iterator Sebuah object yang mengizinkan programmer melintasi semua element data dari sebuah collection, tanpa memperhatikan bagaimana sebuah collection diimplementasikan Objek iterator mengendalikan iterasi pembacaan data pada struktur data. Secara umum Iterator bekerja sebagai berikut: Mulai dengan mengatur iterator pada elemen pertama pada struktur data. Satu-persatu berlanjut pada elemen selanjutnya Berakhir ketika tidak ada lagi elemen pada struktur data yang belum dibaca.

13 Iterator Collection User (program yang mengakses data)

14 STL STL => Standard Template Library – Adalah merupakan kumpulan library yang melengkapi library standard C++. – Berisi kumpulan class-class yang umum digunakan, seperti container, algorithm, dan iterator. – Menyediakan algoritma dan struktur data dasar untuk permasalahan komputasi.

15 STL STL (meliputi) Container – Sequence Container : vector, deque, list – Associative containers : set, multiset, multimap, map – Container adapters :stack, queue, priority queue Algorithm : equal, mismatch, lexicographical_compare, remove, remove_if, replace, replace_if, random_shuffle, count, count_if, min_element, max_element, accumulate, for_each, dll Iterator

16 ADT in Java

17 Diimplementasikan oleh library Collection Classes Ketika ada data dan wadah, data tersebut ditata dalam wadah dengan beberapa cara berikut : – Disusun berdasarkan urutan atau berderet-deret. Contoh : Array, Linked List, Vector – Disimpan tanpa memperhatikan urutan (analogi seperti menyimpan dalam karung) Contoh : Set – Data disimpan berpasangan key-value nya. Seperti data phonebook, key berupa nama orang, value berupa nomer telepon Contoh : Map Abstract Data Type in Java

18 Abstract Data Type (ADT) in Java List – Vector – ArrayList – LinkedList Set – HashSet – TreeSet Map – TreeMap – HashTable – HashMap

19 Java 2 Collections ©1999 Trygve Reenskaug 19 Collection Classes Java 2 Library untuk implementasi ADT di Java AbstractCollection HashSet TreeSet ArrayList TreeMap Hashtable (superclass: Dictionary)

20 Concrete Collections concrete implements description collection ArrayList List resizable-array LinkedList List linked list Vector List resizable-array HashSet Set hash table TreeSet SortedSet balanced binary tree HashMap Map hash table TreeMap SortedMap balanced binary tree Hashtable Map hash table

21 Vector

22 Hash table A hash table is an array of linked lists. Each list is called a bucket


Download ppt "Abstract Data Type (C++ and Java). Container Sebuah struktur data dapat dipandang sebagai tempat penyimpanan benda (container). Beberapa hal yang dapat."

Presentasi serupa


Iklan oleh Google