Dikenalkan pada Java 2 SDK. • Collection sudah ada sejak JDK 1.0

Pemrograman Berbasis Objek

Collections

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Collections Framework
Collections Framework
• Dikenalkan pada Java 2 SDK
SDK.
• Collection sudah ada sejak JDK 1.0
– Hashtable
H ht bl
– Vector

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek


Collections
• Collection adalah suatu obyek yang bisa
digunakan untuk menyimpan sekumpulan
obyek
• Obyek yang ada dalam Collection disebut
elemen
• Collection menyimpan elemen yang
b ti Obj
bertipe
Object,
t sehingga
hi
b
berbagai
b
i titipe
obyek bisa disimpan dalam Collection
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek


The Java Collections API
The Java Collections API
• Java Collections API terdiri dari interface:
– Collection : sekumpulan obyek yang tidak
mempunyai posisi yang tetap (no particular order)
dan menerima duplikat.
– List: sekumpulan obyek yang berdasarkan urutan
(ordered) dan menerima duplikat
duplikat.
– Set: sekumpulan obyek yang tidak berdasarkan
urutan (unordered) dan menolak duplikat.
– Map: mendukung pencarian berdasarkan key, key ini
harus unik. Has no particular order.
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Interface Collection dan Hirarki Class
Interface Collection dan Hirarki Class

Collection

Set

List

Map

(HashSet)

(ArrayList,
Li k dLi t
LinkedList,
Vector)

(Hashtable,
H hM )
HashMap)

SortedSet


SortedMap

(Tree)

TreeMap
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Collection Interfaces and Classes
Collection Interfaces and Classes

Politeknik Elektronika Negeri Surabaya

6

Pemrograman Berbasis Objek

Interface Collection

Interface Collection

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Set : HashSet
Set : HashSet
• Elemen pada Set selalu unik
• Set
S t menolak
l k duplikat
d lik t
• Elemen yang tersimpan tidak berdasarkan
urutan(unorder)
(
) dan tidak di sorting
g ((unsorted))
• Berhubungan dengan definisi matematika mengenai
himpunan.

• Interface
I t f
S t merupakan
Set
k subinterface
bi t f
d i interface
dari
i t f
Collection
• Class yang mengimplementasikan interface Set adalah
HashSet

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek


Set: HashSet

Hasil:
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Set: HashSet
Set: HashSet

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Set: HashSet
Set: HashSet

Politeknik Elektronika Negeri Surabaya


Pemrograman Berbasis Objek

Operasi Besar (Bulk operations)
pada
d Set: HashSet
S H hS
Merupakan
p
operasi
p
pada Himpunan
p
p








s1.containsAll(s2)
mengembalikan nilai true jika s2 adalah subset s1. (Set s2 adalah
subset s1 apabila s1 berisi semua anggota s2)
s1
1 = s1
1 U s2
2
s1.addAll(s2)
hasil dari s1 adalah gabungan (union) dari s1 dan s2
s1 = s1 ∩ s2
s1.retainAll(s2)
hasil dari s1 adalah irisan(intersection) dari s1 dan s2.
s1 = s1 – s2
s1.removeAll(s2)
hasil dari s1 adalah selisih dari s1 dengan s2
Selisih ((s1 - s2)) adalah set y
yang
g berisi semua elemen y
yang
g ada

pada s1 tetapi tidak ada pada s2.
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

SortedSet:TreeSet
• Aturan sama dengan interface Set Æ
menolak duplikat.
• Ingat Æ SortedSet adalah subinterface
Set.
• Beda:
B d elemen
l
ttersimpan
i
d

dalam
l
urutan
t
ascending Æ sorted.
• Contoh SortedSet: TreeSet.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

SortedSet: TreeSet
SortedSet: TreeSet

Chess

Output:
p [[BlackJack,, Checkers,, Chess,, Whist]]
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Class HashSet and TreeSet
Class HashSet
and TreeSet


HashSet and TreeSet mengimplementasikan interface Set.

HashSet
• Diimplementasikan menggunakan hash table
• Element tidak terurut
• Method add, remove, and contains, kompleksitas waktu O(c).
TreeSet
• Diimplementasikan menggunakan struktur pohon.
• Dijamin elemen dalam keadaan terurut.
• Method add
add, remove
remove, and contains kompleksitas waktu logarithmic
O(log (n)),
dimana n adalah jumlah elemen pada set.

Politeknik Elektronika Negeri Surabaya

17

Pemrograman Berbasis Objek

List
• Elemen tersimpan berdasarkan urutan masukan
(
(ordered).
)
• Menerima duplikat.
• Contoh List:
– Li
LinkedList
k dLi t : elemen
l
d l
dalam
Li k dLi t masuk
LinkedList
k dari
d i awall dan
d
dihapus dari akhir.
– Vector : a growable array of object.
– ArrayList: mirip vector,
vector bersifat unsyncronized (jika multiple
threads mengakses object ArrayList, object ini harus
syncronized secara eksternal)

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List
• Pengembangan
g
g dari Interface Collection.
– Pengaksesan elemen melalui indeks seperti array
add (int, Object), get(int), remove(int), set(int, Object)
– Pencarian element
indexOf(Object), lastIndexOf(Object)
– Menggunakan Iterator tertentu disebut ListIterator
– Dapat mengambil subList
subList(int fromIndex, int toIndex)

Politeknik Elektronika Negeri Surabaya

19

Pemrograman Berbasis Objek

List
• add(Object)
( j ) : menambahkan elemen diakhir list
• remove(Object) : menghapus di awal list
• list1.equals(list2) : dikatakan sama dengan
memperhatikan urutan elemen

Politeknik Elektronika Negeri Surabaya

20

Pemrograman Berbasis Objek

List

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Class ArrayList dan LinkedList
Class ArrayList







Class ArrayList dan LinkedList mengimplementasikan interface
Li t
List.
ArrayList adalah sebuah implementasi array dimana elemenelemennya dapat diakses secara langsung menggunakan get and
sett methods.
th d
Biasanya ArrayList untuk urutan sederhana (simple sequence).
LinkedList menggunakan double linked list
Memberikan performance yang lebih baik untuk method add dan
remove dibandingkan ArrayList.
Memberikan p
performance yyang
g lebih jjelek untuk method g
get and
set dibandingkan ArrayList.

Politeknik Elektronika Negeri Surabaya

22

Pemrograman Berbasis Objek

List : ArrayList
y

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List: Vector
List: Vector

Output: [Duke, Zak, Gordon, Lara, Zak]
Gordon
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List
• Collection menyediakan method untuk merandom isi dari
C ll ti
Collection

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List
• Output program sama dengan sebelumnya tapi lebih
singkat

Politeknik Elektronika Negeri Surabaya

2

Output

Politeknik Elektronika Negeri Surabaya

List

Pemrograman Berbasis Objek

Pemrograman Berbasis Objek

List

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List
• Tambahkan program sebelumnya

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Output

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

List








Sebagian besar algoritma(method) pada class Collections diaplikasikan ke
List Sehingga dengan algoritma ini memudahkan untuk memanipulasi data
List.
pada List.
sort(List)
mengurutkan List dengan algoritma merge sort
shuffle(List)
h ffl (Li t)
Permutasi secara random pada List
reverse(List)
membalik urutan elemen p
pada List
fill(List, Object)
Mengganti setiap elemen pada List dengan value yang ditentukan
copy(List dest, List src)
Mengkopikan source List ke destination List
List.
binarySearch(List, Object)
Mencari sebuah element pada List dengan algoritma binary Search

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

ListIterator
• ListIterator adalah subinterface dari
Iterator.

g menggunakan
gg
ListIterator p
pada List,,
• Dengan
maka elemen dapat diambil secara backward.
previous sebagai
g
• Gunakan method next atau p
navigasi.

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Hirarki Interface Iterator
Hirarki Interface Iterator

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

ListIterator

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Map








Menyimpan elemen dengan key unik.
Satu key untuk satu elemen.
elemen
Key disimpan dalam bentuk object.
Map tidak bisa menyimpan duplicate key.
Map bisa menyimpan duplicate element.
Has no particular order.
Contoh:
– Hashtable
– HashMap
• not syncronized for threads
• permits null values to be stored

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Map


Map dapat dipandang sebagai Collection dengan 3
cara:




keySet
menghasilkan Set key yang ada pada Map
V l
Values
Collection values yang ada pada Map. Collection disini bukan
Set karena multiple key dapat mempunyai nilai yang sama.
entrySet
Hasil disimpan pada Set, pasangan key-value yang ada pada
Map

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Map



Map adalah object yang memetakan key dengan value. Disebut
juga dengan associative array atau dictionary.
Method untuk menambah dan menghapus
– put(Object key, Object value)
– remove (Object key)



Method untuk mengambil object.
– get (Object key)



g
key,
y value dan p
pasangan
g ((key,
y value))
Method untuk mengambil
– keySet() // returns a Set
– values() // returns a Collection,
– entrySet() // returns a set

Politeknik Elektronika Negeri Surabaya

39

Pemrograman Berbasis Objek

Map

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Map: Hashtable
Map: Hashtable
class CollectionTest{
public static void main(String [] arg){
Hashtable ht = new Hashtable();
ht.put(“key1”, new Integer(12));
}
}

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Map: HashMap
Map: HashMap

Output:
p {{Game4=Chess,, Game3=Whist,, Game1=Hearts,, null=Chess}}
Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

MultiMap

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

SortedMap: TreeMap
SortedMap: TreeMap
• Aturan mirip Map
• Beda: obyek tersimpan secara sorted
berdasarkan key
key.
• No duplicate key.
• Elements may be duplicate.
y tidak boleh null value.
• Key

Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek

SortedMap: TreeMap
SortedMap: TreeMap 

Output: {1=Euchre,
{1=Euchre 2=Tic Tac Toe,
Toe 3=Checkers,
3=Checkers 4=Chess}
Politeknik Elektronika Negeri Surabaya

Dokumen yang terkait

AN ANALYSIS ON GRAMMATICAL ERROR IN WRITING MADE BY THE TENTH GRADE OF MULTIMEDIA CLASS IN SMK MUHAMMADIYAH 2 MALANG

26 336 20

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

DAMPAK INVESTASI ASET TEKNOLOGI INFORMASI TERHADAP INOVASI DENGAN LINGKUNGAN INDUSTRI SEBAGAI VARIABEL PEMODERASI (Studi Empiris pada perusahaan Manufaktur yang Terdaftar di Bursa Efek Indonesia (BEI) Tahun 2006-2012)

12 142 22

A DESCRIPTIVE STUDY ON THE TENTH YEAR STUDENTS’ RECOUNT TEXT WRITING ABILITY AT MAN 2 SITUBONDO IN THE 2012/2013 ACADEMIC YEAR

5 197 17

Integrated Food Therapy Minuman Fungsional Nutrafosin Pada Penyandang Diabetes Mellitus (Dm) Tipe 2 Dan Dislipidemia

5 149 3