Collections. Collections Framework

dokumen-dokumen yang mirip
Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

Pemrograman Berbasis Objek. Collections. Politeknik Elektronika Negeri Surabaya

INSTITUT TEKNOLOGI SUMATERA COLLECTION: SET DAN MAP

Pemrograman Berorientasi. Array dan Collections

Boxing & AutoBoxing Java Collection Framework. Collection List Map Set. Generics vs Inheritance

03/04/2018. Collection set List Map. Pemrograman Berorientasi Object

Java Collections Framework

Pemrograman Berorientasi Obyek Lanjut (IT251) Ramos Somya, S.Kom., M.Cs.

Gambar 1. Single Linked List

KOLEKSI OBJECT. Farah Zakiyah Rahmanti, M.T Universitas Dian Nuswantoro

PRAKTIKUM 20 JAVA COLLECTION FRAMEWORK : MAP

Gambar 1. Single Linked List

Jobsheet 16 String dan Collection (List, Set, Map)

Score: 94.0 Persentage: % ~ u ~ Generated by Foxit PDF Creator Foxit Software For evaluation only.

MODUL III ARRAYLIST TUGAS PENDAHULUAN

Gambar 1. Single Linked List

PEMROGRAMAN BERORIENTASI OBJEK COLLECTION DAN MULTITHREADING. ADAM MUKHARIL BACHTIAR TEKNIK INFORMATIKA UNIKOM

Pemrograman Berorientasi Objek Collection dan Multithreading. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Grouping Object. Viska Mutiawani, M.Sc

A. TUJUAN PEMBELAJARAN 1. Memahami konsep Class LinkedList di Collection 2. Memahami penggunaan method-method pada Class LinkedList.

BAB 2 COLLECTION & THREAD

Pada pembuatan game di java, sering kali para programer. mendefinisikan banyak object seperti suara, gambar, dan grafik geometri yang

Java Generic & Collection

Algoritma & Struktur Data. Array. Oleh : Nur Hayatin, M.Kom

IMPLEMENTASI STRUKTUR DATA LIST, QUEUE DAN STACK DALAM JAVA

IT 405: KPLBO MATERI 9 RELASI ANTAR OBJEK III. Ayi Purbasari, ST., MT. If-Unpas, 2014

KUM 3 IMPLEMENTASI LIST

ABSTRAK. Kata Kunci : Map, TreeMap, AVL tree. vii Universitas Kristen Maranatha

Outline STRUKTUR DATA. VII. Sorting

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 1)

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

Belajar ArrayList di Java

STRUKTUR DATA (3) sorting array. M.Cs

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA LINKED LIST (BAGIAN 2)

Bab 3. Modul ini mengenalkan suatu teknik pemrograman yang lebih tinggi. Dalam bagian ini Anda akan mempelajari rekursif dan tipe data abstrak.

Politeknik Elektronika Negeri Surabaya

TUGAS PEMROGRAMAN III

Algoritma Pemrograman [BS204]

1. Latar Belakang Didalam pembuatan game java sering kali kita mendefinisikan banyak object seperti gambar, dan grafik geometri yang begitu banyak,

GENERICS. Yuliana Setiowati. Politeknik Elektronika Negeri Surabaya. Topik

IF PEMROGRAMAN LANJUT GENERIC. Oleh : Andri Heryandi, M.T.

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA BUBBLE SORT, SELECTION SORT, INSERTION SORT

IKI 20100: Struktur Data & Algoritma

PEMROGRAMAN JAVA : ARRAY

A. TUJUAN PEMBELAJARAN 1. Memahami konsep dan operasi pada Stack. 2. Mampu mengimplementasikan struktur data Stack pada array dan List.

Algoritma dan Struktur Data. Queue

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Praktikum Stack. A. Stack Collection di java.util.collection. Percobaan 1. Percobaan 2. import java.util.iterator; import java.util.

Praktikum Algoritma dan Struktur Data 2010

Topic Complexity of Hashing Search & Binary Search Tree Algorithm

KUM 6 IMPLEMENTASI BINARY TREE

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

Agar lebih mudah mengerti, cobalah untuk melakukan hal-hal berikut ini: 1. Bacalah terlebih dahulu ide dasar dari masing-masing algoritma.

Modul ini mengenalkan Anda konsep dasar mengenai Java generic types.

BAB 2 TINJAUAN PUSTAKA

MINGGU X : COLLECTIONS

BAB VI ARRAY Mendeklarasikan Variabel Array int[ ] bilangan; int bilangan[ ]; Mendefinisikan Array Bilangan = new int[5]; Latihan 21. ArrSatu.

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Politeknik Elektronika Negeri Surabaya

List: Pokok Bahasan dan TIK

BAB VIII Pencarian(Searching)

Linked List dan Implementasinya dalam Bahasa Java

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

Generics. Prepared by Viska Mutiawani. 1

Modul Praktikum 6 Pemograman Berorientasi Objek

Silsilah keluarga Hasil pertandingan yang berbentuk turnamen Struktur organisasi dari sebuah perusahaan. B.1 Pohon Biner (Binary Tree)

Politeknik Elektronika Negeri Surabaya

B.1 Mengurutkan Objek String Terdapat array dengan tipe String, untuk mengurutkan data String pada array gunakan Arrays.sort().

Jobsheet 09. Overloading and Overriding Method

A. TUJUAN Mahasiswa diharapkan mampu : 1. Memahami Konsep Binary Search Tree 2. Mengimplementasaikan Binary Search Tree

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA GENERIC DAN IMPLEMENTASI COMPARETO()

Struktur Data Pohon Untuk Memodelkan Struktur Data Himpunan

Everybody in this country should learn how to program a computer because it teaches you how to think. Steve Jobs

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

STRUKTUR DATA SORTING ARRAY

Operator dan Assignment

Binary Search Tree (BST)

SORTING (BAGIAN II) Proses kelima

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Modul Praktikum Bahasa Pemrograman 1

BAB 2 TINJAUAN PUSTAKA

ALGORITMA-ALGORITMA PARALLEL RANDOM ACCESS MACHINE (PRAM = pea ram)

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Pemrograman Berbasis Objek Operator dan Assignment

Pemrograman Berbasis Obyek. Yuliana Setiowati. Elektronika Negeri Surabaya PJJ PENS-ITS

TIPE DATA PADA JAVA. Pertemuan (K-04/L-04)

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

Arrays. Misalkan kita ingin menyimpan 100 buah integer Buat 100 variabel bertipe integer. Tidak efisien!

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

IKI 20100: Struktur Data & Algoritma

Struktur Data dan Algoritma

Problem 1. Implementasi Interface. Diberikan definisi interface BentukDuaDimensi berikut:

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

Permainan Remi Sederhana

MODUL PRAKTIKUM BASIS DATA PENGENALAN STRUKTUR DATA DAN KOMPLEKSITAS WAKTU

Penggunaan Metode Binary Search Pada Translator Bahasa Indonesia Bahasa Jawa

Transkripsi:

Collections Collections Framework Dikenalkan pada Java 2 SDK. Collection sudah ada sejak JDK 1.0 Hashtable Vector 1

Collections Collection adalah suatu obyek yang bisa digunakan untuk menyimpan sekumpulan obyek Obyek yang ada dalam Collection disebut elemen Collection menyimpan elemen yang bertipe Object, sehingga berbagai tipe obyek bisa disimpan dalam Collection 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. Set: sekumpulan obyek yang tidak berdasarkan urutan (unordered) dan menolak duplikat. Map: mendukung pencarian berdasarkan key, key ini harus unik. Has no particular order. 2

Interface Collection dan Hirarki Class Collection Set (HashSet) SortedSet (TreeSet) List (ArrayList, LinkedList, Vector) Map (Hashtable, HashMap) SortedMap TreeMap Collection Interfaces and Classes 6 3

Interface Collection Set : HashSet Elemen pada Set selalu unik Set menolak duplikat Elemen yang tersimpan tidak berdasarkan urutan(unorder) dan tidak di sorting (unsorted) Berhubungan dengan definisi matematika mengenai himpunan. Interface Set merupakan subinterface dari interface Collection Class yang mengimplementasikan interface Set adalah HashSet 4

Set: HashSet Hasil: 5

Set: HashSet Set: HashSet 6

Operasi Besar (Bulk operations) pada Set: HashSet Merupakan operasi pada Himpunan s1.containsall(s2) mengembalikan nilai true jika s2 adalah subset s1. (Set s2 adalah subset s1 apabila s1 berisi semua anggota s2) s1 = s1 U s2 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 yang berisi semua elemen yang ada pada s1 tetapi tidak ada pada s2. 7

SortedSet:TreeSet Aturan sama dengan interface Set menolak duplikat. Ingat SortedSet adalah subinterface Set. Beda: elemen tersimpan dalam urutan ascending sorted. Contoh SortedSet: TreeSet. SortedSet: TreeSet Chess Output: [BlackJack, Checkers, Chess, Whist] 8

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, remove, and contains kompleksitas waktu logarithmic O(log (n)), dimana n adalah jumlah elemen pada set. 17 List Elemen tersimpan berdasarkan urutan masukan (ordered). Menerima duplikat. Contoh List: LinkedList : elemen dalam LinkedList masuk dari awal dan dihapus dari akhir. Vector : a growable array of object. ArrayList: mirip vector, bersifat unsyncronized (jika multiple threads mengakses object ArrayList, object ini harus syncronized secara eksternal) 9

List Pengembangan 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) 19 List add(object) : menambahkan elemen diakhir list remove(object) : menghapus di awal list list1.equals(list2) : dikatakan sama dengan memperhatikan urutan elemen 20 10

List Class ArrayList dan LinkedList Class ArrayList dan LinkedList mengimplementasikan interface List. ArrayList adalah sebuah implementasi array dimana elemenelemennya dapat diakses secara langsung menggunakan get and set methods. 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 performance yang lebih jelek untuk method get and set dibandingkan ArrayList. 22 11

List : ArrayList List: Vector Output: [Duke, Zak, Gordon, Lara, Zak] Gordon 12

List Collection menyediakan method untuk merandom isi dari Collection 13

List Output program sama dengan sebelumnya tapi lebih singkat List Output 2 14

List List Tambahkan program sebelumnya 15

Output 16

List Sebagian besar algoritma(method) pada class Collections diaplikasikan ke List. Sehingga dengan algoritma ini memudahkan untuk memanipulasi data pada List. sort(list) mengurutkan List dengan algoritma merge sort shuffle(list) Permutasi secara random pada List reverse(list) membalik urutan elemen 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. binarysearch(list, Object) Mencari sebuah element pada List dengan algoritma binary Search ListIterator ListIterator adalah subinterface dari Iterator. Dengan menggunakan ListIterator pada List, maka elemen dapat diambil secara backward. Gunakan method next atau previous sebagai navigasi. 17

Hirarki Interface Iterator ListIterator 18

Map Menyimpan elemen dengan key unik. Satu key untuk satu 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 Map Map dapat dipandang sebagai Collection dengan 3 cara: keyset menghasilkan Set key yang ada pada Map 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 19

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) Method untuk mengambil key, value dan pasangan (key, value) keyset() // returns a Set values() // returns a Collection, entryset() // returns a set 39 Map 20

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

Map: HashMap Output: {Game4=Chess, Game3=Whist, Game1=Hearts, null=chess} 22

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

SortedMap: TreeMap Output: {1=Euchre, 2=Tic Tac Toe, 3=Checkers, 4=Chess} 24