Presentation is loading. Please wait.

Presentation is loading. Please wait.

ADT STATIS Sorting pada Collections, ArrayList, Set(Himpunan)

Similar presentations


Presentation on theme: "ADT STATIS Sorting pada Collections, ArrayList, Set(Himpunan)"— Presentation transcript:

1 ADT STATIS Sorting pada Collections, ArrayList, Set(Himpunan)
KELOMPOK 2

2 KENSA BAEREN DEFTNAMOR IMAM SAYYID RAHMAN 1217050071
KELOMPOK 2 KENSA BAEREN DEFTNAMOR HUBBAL KHOLIQ HABBAZA IMAM SAYYID RAHMAN MUHAMAD IQBAL FAUZI KIREINA AMANI RIDIESTO MOCHAMMAD FAUZAN SATRIAWAN MUHAMMAD FAIZ ROBBANY MUHAMMAD FAUZAN IRAWAN SUGIYANTO

3 01 Pengertian

4 Pengertian Tipe Data Abstrak
Tipe data abstrak dalam bahasa inggris disebut dengan Abstract Data Type (ADT) adalah sebuah model matematika yang merujuk pada sejumlah bentuk struktur data yang mempunyai kegunaan maupun prilaku yang sama, atau juga suatu tipe data dari sebuah bahasa pemrograman yang memiliki sematik yang sama. Tipe data abstrak juga dikenal dengan tipe data bentukan. Umumnya, tipe data abstrak didefinisikan melalui operasi matematis tertentu sehingga membutuhkan penggunaan tipe data tersebut meski dengan resiko kompleksitas yang lebih tinggi atas operasi tersebut. Contoh dari tipe data abstrak adalah Stack, Queue dan List. 

5 Pengertian Collection
Koleksi adalah sekelompok objek individual yang direpresentasikan sebagai satu kesatuan. Java menyediakan Kerangka Koleksi yang mendefinisikan beberapa kelas dan antarmuka untuk mewakili sekelompok objek sebagai satu kesatuan. Collection adalah sebuah framework yang dibuat untuk menyimpan dan memanipulasi sebuah objek. Collection biasanya digunakan pada sebuah data seperti mencari, meng-urutkan, meng-input dan menghapus. Kerangka kerja (Framework) menyediakan dalam bentuk Interface (contoh : Set, List, Queue, Deque dll). untuk class (ArrayList, Vector, LingkedList, PriorityQueue, HashSet, LinkedHashSet, TreeSet dll).

6 Pengertian Set (Himpunan)
Set (Himpunan) merupakan collection yang tidak dapat memuat elemen yang sama sebanyak dua kali atau lebih. Interface set memuat beberapa metoda yang di warisinya dari collection dan menambahkan batasan untuk mencegah masuknya elemen yang sama. Interface set juga mendefinisikan ulang perilaku operasi-operasi equals() dan hashCode(), dimana hal ini memungkinkan elemen-elemen pada set di bandingkan secara lebih bermakna meski implementasi tipe data elemen-elemennya berbeda. Sesungguhnya, dua objek set dikatakan sama jika mereka masing-masing memiliki elemen-elemen yang bernilai sama di dalamnya. Platform java yang di spesifikasi dalam JDK (Java Development Kit) memuat 3 jenis implementasi interface Set, yaitu: HashSet, TreeSet, dan LinkedHashSet. HashSet yang menyimpan elemen-elemen dalam tabel hash, merupakan implementasi yang memiliki kinerja paling baik. Meski demikian ia tidak dapat menjamin hal-hal yang berkaitan dengan urutan elemen-elemen di dalamnya.

7 02 Set

8 HashSet HashSet class adalah anggota dari framework koleksi Java. Ini mengimplementasikan Set Interface. HashSet digunakan untuk menyimpan koleksi elemen unik. Berikut adalah beberapa poin penting yang perlu diperhatikan tentang HashSet di Java : HashSet tidak dapat berisi nilai duplikat. HashSet memungkinkan nilai null. HashSet adalah koleksi tidak berurutan. Itu tidak menjaga urutan di mana elemen-elemen disisipkan. HashSet secara internal menggunakan HashMap untuk menyimpan elemen-elemennya. HashSet tidak aman-thread. Jika beberapa utas mencoba memodifikasi HashSet secara bersamaan, maka hasil akhirnya tidak bersifat deterministik.

9 Program HashSet import java.util.HashSet;
public class HashSetExample { public static void main(String args[]) { // HashSet declaration HashSet<String> hset = new HashSet<String>(); // Adding elements to the HashSet hset.add("Senin"); hset.add("Selasa"); hset.add("Rabu"); hset.add("Kamis"); hset.add("Jumat"); hset.add("Sabtu"); hset.add("Minggu");

10 Program HashSet //Addition of duplicate elements hset.add("Senin");
hset.add("Selasa"); //Addition of null values hset.add(null); //Displaying HashSet elements System.out.println(hset); }

11 TreeSet TreeSet adalah salah satu implementasi terpenting dari interface SortedSet atau bisa disebut turunan dari set dan sortedset di Java yang memungkinkannya untuk menyimpan unsur dalam yang diurutkan secara ascending yang ditentukan oleh interface Comparable atau Comparator.TreeSet menolak duplikat dan data disimpan menggunakan Tree untuk penyimpanan. Kelebihan - Dapat diakses dengan cepat - TreeSet tidak dapat menerima element null,tidak seperti HashSet - Dapat mengatasi kesalahan seperti memasukkan data yang sama karena TreeSet menolak duplikat dan jika ada 2 data yang sama maka hanya akan ditampilkan 1 saja. - Berbeda dengan HashSet,TreeSet akan secara otomatis mengurutkan data secara ascending.

12 Program TreeSet import java.util.TreeSet; public class TreeSetContoh {
public class TreeSetContoh { public static void main(String[] args) { // Deklarasi TreeSet String TreeSet<String> tset = new TreeSet<String>(); // Memasukkan element kedalam TreeSet String tset.add("Apel"); tset.add("Mangga"); tset.add("Jeruk"); tset.add("Semangka"); tset.add("Nanas");

13 Program TreeSet // Menampilkan TreeSet String
System.out.println(tset); // Deklarasi TreeSet Integer TreeSet<Integer> tset2 = new TreeSet<Integer>(); // Memasukkan element kedalam TreeSet Integer tset2.add(8); tset2.add(0); tset2.add(20); tset2.add(1); tset2.add(6); // Menampilkan TreeSet Integer System.out.println(tset2); } Output :

14 LinkedHashSet LinkedHashSet adalah versi HashSet yang diurutkan yang memelihara Daftar tertaut ganda di semua elemen. Ketika urutan iterasi diperlukan untuk dipertahankan, kelas ini digunakan. Saat melakukan iterasi melalui HashSet, urutannya tidak dapat diprediksi, sementara LinkedHashSet memungkinkan kita melakukan iterasi melalui elemen sesuai urutan penyisipannya. Saat bersepeda melalui LinkedHashSet menggunakan iterator, elemen akan dikembalikan sesuai urutan penyisipannya.

15 LinkedHashSet Hirarki LinkedHashSet adalah sebagai berikut:

16 LinkedHashSet LinkedHashSet(): Konstruktor ini digunakan untuk membuat HashSet default LinkedHashSet<E> hs = new LinkedHashSet<E>(); LinkedHashSet(Collection C): Digunakan dalam menginisialisasi HashSet dengan elemen dari koleksi C. LinkedHashSet<E> hs = new LinkedHashSet<E>(Koleksi c); LinkedHashSet(int size): Digunakan untuk menginisialisasi ukuran LinkedHashSet dengan bilangan bulat yang disebutkan dalam parameter. LinkedHashSet<E> hs = new LinkedHashSet<E>(ukuran int); LinkedHashSet(int capacity, float fillRatio): Dapat digunakan untuk menginisialisasi kapasitas dan rasio pengisian, juga disebut kapasitas beban LinkedHashSet dengan argumen yang disebutkan dalam parameter. Ketika jumlah elemen melebihi kapasitas set hash dikalikan dengan rasio pengisian sehingga memperluas kapasitas LinkedHashSet. LinkedHashSet<E> hs = new LinkedHashSet<E>(int kapasitas, int fillRatio);

17 Program LinkedHashSet
import java.util.LinkedHashSet; public class LinkedHashSetExample { public static void main(String args[]) { // LinkedHashSet of String Type LinkedHashSet<String> lhset = new LinkedHashSet<String>(); // Adding elements to the LinkedHashSet lhset.add("Z"); lhset.add("PQ"); lhset.add("N"); lhset.add("O"); lhset.add("KK"); lhset.add("FGH"); System.out.println(lhset);

18 Program LinkedHashSet
// LinkedHashSet of Integer Type LinkedHashSet<Integer> lhset2 = new LinkedHashSet<Integer>(); // Adding elements lhset2.add(99); lhset2.add(7); lhset2.add(0); lhset2.add(67); lhset2.add(89); lhset2.add(66); System.out.println(lhset2); }

19 LinkedHashSet Menjaga urutan penyisipan di LinkedHashmap dan LinkedHashset memiliki biaya tambahan terkait, baik dalam hal menghabiskan siklus CPU tambahan dan membutuhkan lebih banyak memori. Jika Anda tidak perlu mempertahankan urutan penyisipan, disarankan untuk menggunakan HashSet dan HashMap yang lebih ringan sebagai gantinya. LinkedHashSet LinkedHashSet adalah implementasi Hashtable dan LinkedList dari interface Set.LinkedHashSet mewarisi class HashSet dan mengimplementasikan interface Set Poin penting dari LinkedHashSet : - Hanya menyimpan nilai unik - Memperbolehkan nilai null - Menjaga urutan pemasukan data

20 ARRAYLIST Berbeda dengan array biasa, ArrayList memiliki sejumlah operasi yang lebih lengkap dan mudah digunakan dibandingkan dengan array biasa. ArrayList merupakan collection yang menjadi bagian dari Java Util. Seperti biasa, ArrayList dapat menambah data baru secara dinamis tanpa harus menentukan ukurannya di awal. Berbagai operasi dapat Anda lakukan terhadap ArrayList seperti berikut: size(), untuk mencari panjang ArrayList add(), untuk menambah elemen baru get(), untuk mengambil elemen pada indeks tertentu isEmpty(), untuk memeriksa apakah ArrayList kosong atau tidak indexOf(), untuk mengetahui indeks dari suatu nilai contains(), untuk memeriksa apakah suatu nilai ada dalam ArrayList set(), untuk menimpa nilai pada indeks tertentu remove(), untuk menghapus nilai pada indeks tertentu

21 ARRAYLIST Kelebihan Array Dan Array List
Array Pengaksesan dapat secara acak langsung melalui elemen lain dan mudah menemui elemen berikutnya,mudah di akses sehingga cepat pengeksekusian,tidak mudah crash Array List Lebih dinamis dan jumlahnya lebih fleksibel Kekurangan Array dan Array List Array Selalu bertipe homogen dan ukuranya sulit di ubah setelah di eksekusi sehinggah tidak efesien dalam memori dan banyak waktu terbuang saat komputasi banyak beban program yang besar Array List Lama akses mudah crash dan pengeksekusian

22 Program ARRAYLIST import java.util.ArrayList;
import java.util.Scanner; public class ArrayListOJAN{ public static void main(String[] args){ ArrayList arr_data = new ArrayList(); System.out.print("\nPROGRAM LIST MAHASISWA"); System.out.print("\n========================"); System.out.print("\nMasukan Jumlah Mahasiswa : "); int jlh_data = new Scanner(System.in).nextInt(); for(int a = 0; a < jlh_data; a++){ System.out.print("Nama Mahasiswa ke-"+(a+1)+": "); arr_data.add(new Scanner(System.in).nextLine()); }

23 Program ARRAYLIST System.out.println("\nData Nama Mahasiswa");
for(Object o : arr_data){ System.out.println(o); } System.out.print("\nMasukan Data Mahasiswa yang akan dihapus : "); String data_hapus = new Scanner(System.in).nextLine(); arr_data.remove(data_hapus); System.out.println("\nData Nama Mahasiswa Setelah Update"); for(Object o : arr_data)

24 Perbedaan

25 Perbedaan Set dan List Set
Set adalah jenis array yang tidak membolehkan adanya value duplicate, saat ada insert value yang sudah ada sebelumnya, maka value itu akan otomatis dibuang salah satunya dan akhirnya value tersebut hanya tetap ada satu saja. List List adalah jenis array yang membolehkan adanya value duplicate atau nilai yang sama dalam index yang berbeda.

26 Perbedaan Hash set, Tree set dan Linked Hash set.
Kelas HashSet adalah implementasi inheren dari struktur data tabel hash. Objek yang dimasukkan ke dalam HashSet tidak menjamin untuk dimasukkan dalam urutan yang sama. Objek dimasukkan berdasarkan kode hashnya. Kelas ini juga memungkinkan penyisipan elemen NULL. Tree set Kelas TreeSet menggunakan Tree untuk penyimpanan. Pengurutan elemen dipertahankan oleh suatu himpunan menggunakan pengurutan alaminya terlepas dari apakah komparator eksplisit disediakan atau tidak. Ini harus konsisten dengan equals jika ingin mengimplementasikan antarmuka Set dengan benar. Itu juga dapat dipesan oleh Pembanding yang disediakan pada waktu pembuatan yang ditentukan, tergantung pada konstruktor mana yang digunakan. Linked Hash set LinkedHashSet sangat mirip dengan HashSet. Perbedaannya adalah bahwa ini menggunakan daftar tertaut ganda untuk menyimpan data dan mempertahankan urutan elemen.

27 Perbedaan Linked list dan Array list
Linked list adalah struktur data yang digunakan untuk menyimpan kumpulan data. Linked list memiliki properti seperti berikut: Elemen berurutan yang dihubungkan oleh sebuah pointer. Elemen terakhir selalu dalam keadaan NULL. Dapat bertambah atau berkurang ukurannya selama program dieksekusi. Dapat diciptakan selama diperlukan sampai kondisi memori sistem habis. Tidak membuang-buang ruang memori akan tetapi membutuhkan memori tambahan untuk pointer dan selalu mengalokasikan memori saat ukurannya bertambah. Array List Array adalah kumpulan item atau elemen yang semuanya memiliki tipe data yang sama. Elemen dari array hanya dapat diakses dari nilai indeksnya.

28 Sort Collection Sorting Collection adalah pengurutan data pada Array List yang memanfaatkan sebuah method static dengan nama sort() dari kelas Collections. Sorting di List Method Keterangan Collection.sort(list) Mengurutkan list dengan Comparable dari elemen Collection.sort(list.comparator) Mengurutkan list dengan Comparator

29 Program Sort Collection
Collection.sort(list) import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Sorting1{ public static void main(String[] args){ List<String> list = new ArrayList<>(); list.addAll(List.of("Kensa","Hubbal","Fauzan","Kirei")); Collections.sort(list); for (var value : list){ System.out.println(value); }

30 Program Sort Collection
Collection.sort(list.comparator) import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Comparator; public class Sorting1b { public static void main(String[] args){ List<String> list = new ArrayList<>(); list.addAll(List.of("Kensa","Hubbal","Fauzan","Kirei")); Collections.sort(list); Comparator<String> reverse = new Comparator<String>(){ public int compare(String o1, String o2){ return o2.compareTo(o1); } };

31 Program Sort Collection
Collection.sort(list.comparator) Collections.sort(list, reverse); for (var value : list){ System.out.println(value); }

32 Terima Kasih !


Download ppt "ADT STATIS Sorting pada Collections, ArrayList, Set(Himpunan)"

Similar presentations


Ads by Google