Abstract Data Type
Abstract Data Type
enqueue dequeue
getFront
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)) •
Set
tambah
Map
:Nama Abdul Betty Chairul Dian
:Nilai
• 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)?
Priority Queue
insert deleteMin
findMin
Highest
priority
• 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.
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.
Iterator
Iterator User
(program yang
mengakses data)
Collection
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.
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
ADT in Java
Abstract Data Type in Java
• 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 (ADT) in Java
• List
– Vector
– ArrayList
– LinkedList
• Set
– HashSet
– TreeSet
• Map
– TreeMap
– HashTable
– HashMap
Collection Classes
Java 2
Library untuk implementasi ADT di Java
AbstractCollection Hashtable
:superclass(
)Dictionary
HashSet
ArrayList TreeMap
TreeSet