Anda di halaman 1dari 8

LAPORAN ALGORITMA DAN STRUKTUR DATA

Nama : Yanada Sari Situmorang


Kelas : 12 IF 1
NIM : 11S18015

Materi Praktikum

4. Carilah kelas diagram dari Java Collection API (minimal nama kelas/interface tanpa properti dan method).
Pilih salah satu kelas collection dan jelaskan bagaimana hubungannya dengan kelas/interface lain berdasarkan
diagram Java Collection API yang anda dapatkan.

Pembahasan :

Pada bahasa pemrograman Java, terhadap Collection yang tugasnya untuk menyimpan data dalam
memori. Collection ini merupakan suatu objek yang dapat digunakan untuk menyimpan sekumpulan objek.
Objek-objek yang terdapat di dalam Collection disebut dengan elemen. Collection ini menyimpan elemen yang
bertipe object, sehingga berbagai tipe objek dapat disimpan di dalam Collection.

The Java Collection API

Class diagram dibawah menunjukkan gambaran umum yang singkat dari Java Collections Framework yang
dibagi menjadi empat kelompok yaitu : list, set, map, dan queue.
1. List

List merupakan pengelompokan berdasarkan urutan, ia memiliki posisi awal dan juga posisi akhir. List juga
tidak harus memiliki isi yang unik dan ia juga dapat menampung berbagai macam tipe data seperti String, Long,
Integer bahkan Object.

 List adalah interface dasar untuk semua jennis list. Ini mendefinisikan operasi umum untuk tipe list.
 Subclass abstract : AbstractList dan AbstractSequentialList.
 Class implementasi konkret : ArrayList, Vector, LinkedList, dan CopyOnWriteArrayList (semua
class ini menggunakan java.util.concurrent ).
 Legacy collection : Vector.
 Class implementasi di JDK yang bukan anggota Java Collections Framework : AttributeList, RoleList,
RoleUnresolvedList, dan Stack

Class Diagram dibawah ini menjelaskan struktur hierarki API List Java Collection Framework.

Penjelasan :

Class LinkedList<E> yang menampung generik E menextends ke class AbstractSequentialList<E> yang juga
meampung generik E. Kemudian, class AbstarctSequentialLis<E>, ArrayList<E>, dan Vector<E> yang sama-
sama menampung generik E juga sama-sama extends ke class AbstractiList<E>. Dan ternyata class
AbstractList<E> bersama dengan class CopyOnWriteArrayList<E> implements dengan Interface List<E>. Lalu
Interface ini lah yang extends ke interface Collection.

Studi Kasus :
Buatlah atau sajikanlah suatu program yang dapat menciptakan suatu array yang diisi dengan angka-angka dan
menyisipkan elemen-elemen baru pada lokasi-lokasi tertentu di dalam list. Contoh ini juga menciptakan suatu
list berantai dari list array tersebut dan menyisipkan dan menghapus elemen-elemen dari list. Terakhir, contoh
ini juga menjelajah list secara maju maupun mundur.

Berikut Code Programnya :

Diperoleh output nya :

2. Set

Set merupakan sekumpulan objek yang tidak didasarkan dengan urutan (unordered) dan menolak duplikat.
Pada set, setiap anggotanya harus unik. Sedangkan untuk urutan dan tataletak dari anggotanya tidak begitu
penting. Set juga dapat menampung berbagai tipe data bahkan objek.
 Set<E>adalah interface dasar untuk semua jenis set. Interface ini memperluas semua metode dari
interface Collection <E> dan tidak mendefinisikan metode baru.
 Sub interface: SortedSet <E> dan NavigableSet <E>.
 Subclass abstrak: AbstractSet <E> dan EnumSet <E extends enum <E>>.
 Class implementasi yang konkret : HashSet<E>, LinkedHashSet<E>, TreeSet<E>,
ConcurrentSkipListSet<E> dan CopyOnWriteArraySet<E> (dua class terakhir berada di bawah
paket java.util.concurrent).
 Class JobStateReasons extends HashSet <E> tetapi itu bukan anggota Java Collections Framework.

Class Diagram dibawah ini menjelaskan struktur hierarki API Set Java Collection Framework.

Penjelasan :

 Class LinkedHashSet<E> yang menampung generik extends dengan sebuah class HashSet<E>,
yang mana class HashSet<E> bersama dengan class Enumset<E extends enum<E>>, class
CopyOnWriteArraySet dan class ConcurrentSkipListSet<E> juga extends dengan class
AbstactSet<E>. Lalu class AbstractSet<E> ini implements dengan interface Set<E>, yang
mana interface inilah yang bakal dengan implements dengan interface Collection<E>.
 Class TreeSet<E> extends dengan interface NavigableSet<E>, lalu extends lagi dengan
interface SortedSet<E> dan kemudian extends lagi dengan interface Set<E>. Interface Set<E>
inilah yang akan extends dengan interface Collection<E>.

Studi Kasus :

Buatlah atau sajikanlah suatu program yang menciptakan suatu set hash untuk menyimpan string-string
dan menggunakan suatu iterator untuk menjelajah elemen-elemen di dalam set tersebut.
Berikut Code Programnya :

Diperoleh output seperti berikut :

String-string ditambahkan ke dalam set (baris 9-14). “Jogjakarta”ditambahkan dua kali ke dalam set, namun
hanya satu yang disimpan, karena set tidak mengijinkan duplikasi elemen.

Seperti yang tertampil di dalam keluaran, string-string tidak disimpan terurut sesuai saat disisipkan ke dalam set.
Tidak ada urutan khusus di dalam set hash.

3. Map

Map merupakan pendukung pencarian berdasarkan key dengan syarat harus unik. Map juga dapat
menampung beragam tipe data, sama dengan List dan Set. Namun bedanya, Map dapat menyimpan data secara
berpasangan yang terdiri dari key dan value. Untuk nilai dari key, harus unik dan tidak beloeh ada yang sama.
Namun jika kamu tetap menyimpan nilai dengan key yang sama, maka nilai key yang terakhir disimpanlah yang
akan tersimpan didalam Map.

 Interface Map : ConcurrentMap<K, V>, sortedMap<K, V>, NavigableMap<K, V> dan


ConcurrentNavigableMap<K, V>.
 Class abstact Map : AbstractMap<E>
 Class yang implements Map :
 Hashtable <K, V>
 HashMap <K, V>
 LinkedHashMap <K, V>
 IdentityHashMap <K, V>
 ConcurrentHashMap <K, V>
 ConcurrentSkipListMap <K, V>
 EnumMap <K extends Enum <K>, V>
 WeakHashMap <K, V>
 TreeMap <K, V>

Class Diagram dibawah ini menjelaskan struktur hierarki API Map Java Collection Framework.

Studi Kasus

Buatlah suatu program untuk menciptakan suatu map hash, map hash berantai, dan map tree yang memetakan
mahasiswa pada umur. Program pertama-tama menciptakan suatu map hash dengan nama mahasiswa sebagai
kunci dan umur sebagai nilai. Program kemudian menciptakan suatu map tree dari map hash dan menampilkan
pemetaan dengan urutan kunci secara menaik. Terakhir, program menciptakan suatu map hash berantai,
menambah entri ke dalam map, dan menampilkan entri-entri di dalam map.

Berikut Code Programnya :


Diperoleh outputnya :

Seperti tertampil pada keluaran, urutan entri di dalam HashMap adalah acak. Entri di


dalam TreeMap memiliki urutan kunci menaik. Entri di dalam LinkedHashMap berurutan sesuai dengan
akses, dari yang telah lama diakses sampai yang baru saja diakses.

Semua kelas konkrit yang mengimplementasikan antarmuka Map paling sedikit memiliki dua konstruktor. Satu
adalah konstruktor tanpa-argumen yang menciptakan suatu peta kosong, konstruktor yang lain adalah yang
menciptakan suatu peta dari instans Map. Jadi, new TreeMap(String, Integer)<hashMap> (baris 16-17)
menciptakan suatu peta tree dari suatu peta hash.

Anda bisa menciptakan peta hash berantai dengan urutan akses atau urutan penyisipan. Suatu peta hash berantai
dengan urutan akses diciptakan pada baris 22-23. Entri yang paling baru diakses ditempatkan di akhir peta. Entri
dengan kunci Agung diakses terakhir diakses pada baris 31, jadi ditempatkan di akhir peta pada baris 34. 
4. Queue

API Antrian adalah API paling kompleks dalam keluarga Java Collections Framework. Antrean <E>adalah
antarmuka dasar untuk semua jenis antrian.

 Sub interface: BlockingQueue <E>, Deque <E> dan BlockingDeque <E> .
 Class abstrak: AbstractQueue <E> .
 Class implementasi:
 ArrayBlockingQueue <E>
 ArrayDeque<E>
 ConcurrentLinkedQueue <E>
 DelayQueue <E extends Delayed>
 LinkedBlockingDeque <E>
 LinkedBlockingQueue <E>
 LinkedList <E>
 PriorityBlockingQueue <E>
 Rangkaian Prioritas <E>
 SynchronousQueue <E>

Class Diagram dibawah ini menjelaskan struktur hierarki API Queue Java Collection Framework.

Berdasarkan uraian diatas, dengan pengelompokkan dalam grup, terdapat beberapa manfaat diantaranya :

1. Menyimpan elemen dengan urutan tertentu


2. Mengambil kembali elemen tersebut dengan index maupun dengan berbagai cara yang spesifik
3. Memanipulasi data
4. Dan berbagai transformasi manfaat lainnya.

Anda mungkin juga menyukai