Anda di halaman 1dari 15

Data

Collection
Pemrograman Berorientasi Objek
Pengertian collection
Collection adalah suatu objek yang bisa digunakan untuk
menyimpan sekumpulan objek.
Objek yang ada di dalam collection disebut element
Collection menyimpan element yang berbentuk objek, sehingga
berbagai tipe objek bisa disimpan dalam collection.
Collection merupakan suatu penyimpanan yang memungkinkan
untuk menyimpan, mengambil, serta memanipulasi objek-objek
dengan mudah. Salah satu contoh paling sederhana adalah array.
Kelebihan Collection
1. Mengurangi upaya dalam membuat program, karena sudah tersedia struktur
data dan algoritma tanpa harus menulis sendiri

2. Meningkatkan performa, karena setiap implementasi berfungsi maksimal


sesuai kasus yang ada.

3. Dapat dikembangkan dan fleksibel terhadap tipe objek yang ada di dalam
collection

4. Semua class yang berhbungan dengan collection tergabung dalam java


collection framework dan terdapat dalam package java.util yang mempunyai
interface utama, yaitu collection dan map.
Interface Collection di Java
1. Set
2. List
3. Map
Implementasi dasar
1. Hash Table
2. Resizeable Array
3. Balanced Tree
4. LinkedList
5. Hash Table + LinkedList
1. List
• List atau terkadang disebut sequence merupaka koleksi terurut
memperbolehkan adanya element yang sama.

• Class yang mengimplementasikan interface list adalah vector, stack,


LinkedList, dan ArrayList. Terdapat Interface List, interface ini menyimpan
objek menggunakan metode FIFO (First In First Out). Dimana data yang
masuk pertama akan keluar pertama. Class – class yang
mengimplementasikan Queue adaah Priority Queue dan Linkedlist.
Class-class yang mengimplementasikan
interface list
a. ArrayList
• ArrayList digunakan untuk membuat array yang ukurannya
dinamis (dapat berubah). Berbeda dengan array biasa dimana
ukurannya harus ditentukan diawal deklarasi. Kelebihan lain
dari collection ramework ini adalah kemampuannya untuk
membuat perulangan dirinya sendiri, sebab collection
framework mengimplementasikan interface iterable.
Class-class yang mengimplementasikan
interface list
b. LinkedList
LinkedList adalah salah satu bentuk struktur data yang berisi kumpulan data (node) yang
tersusun secara sekuensial. Saling sambung-menyambung dan dinamis. LinkedList sering
disebut juga dengan senarai-berantai. Beberapa methode dalam LinkedList antara lain:
1) addFirst(E) : menambahkan elemen didepan list.
2) addLast (E) : Menambahkan Elemen di akhir list.
3) get(int) : mendapatkan list bendasarkan index
4) remove() : menghapus head/element pertama pada list
5) removeLast(): menghapus element terakhir pada list
Class-class yang mengimplementasikan
interface list
c. Vector
• Vector merupakan suatu bentuk array dinamis, sehingga perlu mengubah ukuran array saat melakukan
penambahan pada array yangn sudah penuh.
• Perbedaan antara vector dengan array yaitu pengaksesan elemen pada vector tidak bisa dilakukan secara
langsung, tetapi harus menggunakan method getter dan setter. Untuk menggunakan vector harus melakukan
impor package java.util.vector
• Adapun beberapa method dalam vector, antara lain sebagai berikut :
1) size() : untuk mengembalikan jumlah elemen di dalam vector
2) addElement(obj) : untuk menambahkan objek obj pada akhir vector
3) removeElement(obj) : untuk menghapus obj dari dalam vector, hanya obj pertama yang ditemui yang dihapus.
4) removeElementAt(N) : untuk menghapus elemen ke-N N harus berada pada rentang 0 hingga vector.size()-1
5) setSize(N) : untuk mengubah ukuran vector menjadi N.jika dalam vector terdapat elemen yang jumlahnya
lebih banyak dari N, maka elemen lainnya akan dihapus.
6) setElementAt(object,index): untuk mengubah element pada index yang diatur dengan nilai baru
Class-class yang mengimplementasikan
interface list
d. Stack
• Stack merupakan sebuah collection sederhana yang menerapkan aturan
LIFO (LastIn First Out) artinya element yang masuk terakhir akan
dikeluarkan terlebih dahulu. Method yang umum digunakan dalam stack
adalah
1) push() : untuk memasukkan elemen
2) pop() : untuk mengeluarkan elemen
3) Empty() : untuk mengecek apakah stack kosong
4) Peek() : untuk melihat elemen teratas
2. Set
Set adalah jenis collection yang elemen nya unik karena tidak memperbolehkan
adanya elemen yang sama. Salah satu class yang mengimplementasikan
interface Set adalah HashSet mengikuti model himpunan, dimana
objek/anggota yang tersimpan dalam set harus unik. Untuk mengurutkan set
dapat menggunakan class yang mengimplementasikan interface shortedSet,
yaitu class ThreeSet. shortedSet memiliki aturan yang sama dengan interface
Set, namun menolak adanya duplikat.
HashSet TreeSet
Diimplementasikan menggunakan Diimplementasikan menggunakan
table Hash struktur pohon
Elemen tidak urut Elemen dalam keadaan terurut
Method yang digunakan yaitu add, Method yang digunakan yaitu add,
remove, dan contains. Kompleksitas remove, dan contains, kompleksitas
waktu O (c) waktu logaritmik O(log(n))
Sepertihalnya List, set juga dapat menampung beragam tpe data
bahkan object, tidak ada jaminan data akan terurut dalam set, data
yang pertama dimasukkan belum tentu akan menempati ruang
pertama pada set.
3. Map
Map merupakan collection pasangan key ke value, dimana nilai keynya unik. Class yang
mengimplementasikan interface Map, antara lain HashMap, HashTable dan TreeMap. Map
sama seperti List dan Set dapat menampung beragam tipe data. Berbeda dengan List dan Set
Map hanya bisa menyimpan data secara berpasangan yang terdiri atas key dan value. Apabila
memasukkan key dan value yang sama hanya yang terakhirlah yang disimpan. Map juga dikenal
sebagai dictionary atau kamus. Pada saat menggunakan kamus, perlu suatu kata yang
digunakan untuk pencarian.
Map dapat dipandang sebagai collection dengan tiga acara, yaitu:
a. keySet, menghasilkan Set Key yang ada pada Map
b. Values, collection values yang ada pada map. Collection disini bukan set
karena banyak key dapat mempunyai nilai yang sama.
c. entrySet, hasil disimpan pada Set psangan ke-value yang ada pada Map.
Method yang digunakan pada Map, antara lain sebagai berikut
a. Method untuk menambah dang menghapus objek
1) Put (object key, object value) :menambah objek
2) Remove (objek key) : menghapus objek
b. Method untuk mengambil objek : get (object key)
c. Method untuk mengambil key, value, dan pasangan (key, value)
3) keyset() : menghasilkan sebuah set key
4) values() : menghasilkan sebuah collection
5) entrySet() : menghasilkan sebuah set