Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

FONDASI PEMROGRAMAN & STRUKTUR DATA #13

Presentasi serupa


Presentasi berjudul: "FONDASI PEMROGRAMAN & STRUKTUR DATA #13"— Transcript presentasi:

1 FONDASI PEMROGRAMAN & STRUKTUR DATA #13
LinkedList Java API & Random java API

2 Apa itu LinkedList Dinamakan LinkedList, karena LinkedList adalah daftar (data atau node) yang saling terkoneksi. (Sumber:

3 LinkedList dan Node Linked List adalah Struktur data Berkait, yaitu suatu kumpulan komponen yang disusun secara berurutan dan berkait dengan bantuan Pointer. Masing-masing komponen pada Linked List dinamakan dengan Simpul (Node). Linked List . data1 next prev data2 next prev data3 next prev . Node Berisi Data data next prev Berisi penunjuk pada node sebelumnya Berisi penunjuk pada node berikutnya

4 LinkedList dalam Struktur Data
LinkedList adalah suatu Abstract Data Type. LinkedList digunakan sebagai kontainer untuk menampung object Untuk memasukkan atau mengeluarkan object ke/dari list (daftar) dengan LinkedList tidak memerlukan urutan tertentu.

5 LinkedList Java API Sebelum menggunakan LinkedList java API, lakukan import dengan menuliskan: import java.util.LinkedList; Selanjutnya buat object dengan type LinkedList: LinkedList theList = new LinkedList( ); Jika daftar akan berisi object Atau: Jika daftar akan berisi String LinkedList<String> theList = new LinkedList<String>( ); Atau: Jika daftar akan berisi angka integer LinkedList<Integer> theList = new LinkedList<Integer>( ); Selanjutnya gunakan method yang diperlukan sesuai fungsinya

6 Memasukkan Object ke List dengan LinkedList Java API
Untuk memasukkan object ke dalam list (daftar) dengan LinkedList tidak memerlukan urutan tertentu. Kita bisa memasukkan object ke list (daftar) dengan memasukkannya pada: Posisi depan (first) Posisi belakang (last) Posisi index tertentu item 3 item 1 item 4 item 2

7 Memasukkan Object ke List dengan LinkedList Java API
import java.util.LinkedList; public class LinkedList2 { public static void main(String args[]) { // Membuat list LinkedList daftar = new LinkedList(); // menambah object ke list daftar.add("Item1"); daftar.addLast("Item2"); daftar.addFirst("Item3"); daftar.add(2, "Item4"); System.out.println(“Isi daftar: " + daftar); } Output: Isi daftar: [Item3, Item1, Item4, Item2] item 3 item 1 item 2 item 4

8 Mengeluarkan Object dari List dengan LinkedList
Untuk mengeluarkan object dari list (daftar) dengan LinkedList tidak memerlukan urutan tertentu. Kita bisa mengeluarkan object dari list (daftar) pada: Posisi depan (first) Posisi belakang (last) Posisi index tertentu item 3 item 1 item 4 item 2

9 Mengeluarkan Object ke List dengan LinkedList Java API
import java.util.LinkedList; public class LinkedList2 { public static void main(String args[]) { LinkedList daftar = new LinkedList(); daftar.add("Item3"); daftar.add("Item1"); daftar.add("Item4"); daftar.add("Item2"); System.out.println("Isi Daftar Sekarang: " + daftar); System.out.println(daftar.removeFirst()+" keluar"); System.out.println(daftar.remove(1)+" keluar"); System.out.println(daftar.removeLast()+" keluar"); System.out.println(daftar.remove("Item1")+“ , sudah keluar"); } Output: Isi Daftar Sekarang: [Item3, Item1, Item4, Item2] Item3 keluar Isi Daftar Sekarang: [Item1, Item4, Item2] Item4 keluar Isi Daftar Sekarang: [Item1, Item2] Item2 keluar Isi Daftar Sekarang: [Item1] true , sudah keluar Isi Daftar Sekarang: [] item 3 item 1 item 4 item 2

10 LinkedList Class Methods
By: Augury El Rayeb

11 Method pada Class LinkedList
Berikut adalah method Class LinkedList untuk menambahkan element (item) pada list: Method Summary  void add(int index, Object element)  Memasukkan element pada posisi index tertentu ke list. Contoh: daftar.add(1, “Rayputra”);  boolean add(Object element)  Memasukkan element ke bagian akhir dari list. daftar.add(“Maylia”); addAll(Collection list)  Menambahkan kumpulan element dari suatu list sumber ke bagian akhir dari list yang dituju. daftar.addAll(daftarNama); daftarlist yang dituju daftarNamalist sumber addAll(int index, Collection c)  Menambahkan kumpulan element dari suatu list sumber mulai dari posisi index tertentu pada list yang dituju. daftar.addAll(1, daftarNama); addFirst(Object o)  Memasukkan element ke bagian awal dari list. daftar.addFirst(“Aprilio”); addLast(Object o)  Memasukkan element ke bagian akhir dari list. daftar.addLast(“Nabila”);

12 Contoh Method pada Class LinkedList
Contoh penggunaan method addAll() import java.util.LinkedList; public class LinkedList4 { public static void main(String args[]) { LinkedList daftar = new LinkedList(); LinkedList nama = new LinkedList(); daftar.add("Item1"); daftar.add("Item2"); daftar.add("Item3"); System.out.println("Isi daftar: " + daftar); nama.add("Ray"); nama.add("Maylia"); nama.add("Aprilio"); System.out.println("Nama: " + nama); daftar.addAll(1,nama); System.out.println("Isi daftar sekarang: " + daftar); } Output: Isi daftar: [Item1, Item2, Item3] Nama: [Ray, Maylia, Aprilio] Isi daftar sekarang: [Item1, Ray, Maylia, Aprilio, Item2, Item3]

13 Method pada Class LinkedList
Berikut adalah method Class LinkedList untuk menghapuskan/mengeluarkan element (item) pada list: Method Summary  Object remove(int index)  Removes the element at the specified position in this list.  Contoh: daftar.remove(2);  boolean remove(Object o)  Removes the first occurrence of the specified element in this list. daftar.remove("Item1"); removeFirst()  Removes and returns the first element from this list. daftar.removeFirst(); removeLast()  Removes and returns the last element from this list. daftar.removeLast();

14 Method pada Class LinkedList
Berikut adalah method Class LinkedList lainnya: Method Summary int size()  Returns the number of elements in this list.  Contoh: jumlahIsi = daftar.size();  void clear()  Menghapus semua element dari list. Contoh: daftar.clear();  Object clone()  clone terhadap isi list. daftar = (LinkedList) daftar.clone();  boolean contains(Object objCari)  Memeriksa apakah objCari ada dalam list, Returns: true,  jika objCari ada dalam list. if(daftar.contains(“Rayputra”)) System.out.println(“Rayputra ada”); get(int index)  Membaca isi list pada index yang ditentukan. System.out.println(daftar.get(2)); getFirst()  Membaca isi list yang paling depan. System.out.println(daftar.getFirst()); getLast()  Membaca isi list yang paling belakang. System.out.println(daftar.getLast());

15 Contoh Method pada Class LinkedList
import java.util.LinkedList; public class LinkedList5 { public static void main(String args[]) { LinkedList daftar = new LinkedList(); LinkedList daftarTemp = new LinkedList(); daftar.add("Rayputra"); daftar.add("Maylia"); daftar.add("Aprilio"); daftar.add("Nabila"); System.out.println("Isi Daftar Sekarang: " + daftar); System.out.println("Jumlah isi daftar: " + daftar.size()); daftarTemp = (LinkedList) daftar.clone(); System.out.println("Isi Daftar Temporary: " + daftarTemp); daftarTemp.clear(); System.out.println("Isi Daftar index 2: " + daftar.get(2)); System.out.println("Isi depan Daftar : " + daftar.getFirst()); System.out.println("Isi belakang Daftar : " + daftar.getLast()); if(daftar.contains("Rayputra")) { System.out.println("Rayputra ada dalam daftar"); } else { System.out.println("Rayputra tidak ada dalam daftar"); } Contoh Method pada Class LinkedList Contoh penggunaan method size(), clear(), clone(), get(), getFirst(), getLast(), dan contains() Output: Isi Daftar Sekarang: [Rayputra, Maylia, Aprilio, Nabila] Jumlah isi daftar: 4 Isi Daftar Temporary: [Rayputra, Maylia, Aprilio, Nabila] Isi Daftar Temporary: [] Isi Daftar index 2: Aprilio Isi depan Daftar : Rayputra Isi belakang Daftar : Nabila Rayputra ada dalam daftar

16 Method pada Class LinkedList
Berikut adalah method Class LinkedList lainnya: Method Summary  int indexOf(Object item)  Mencari posisi index suatu item pada list. Returns index dari item yang pertama ditemukan pada list, atau -1 pada list tidak ada item yang dicari tersebut. Contoh: posisi = daftar.indexOf(“Maylia”); lastIndexOf(Object o)  Mencari posisi index suatu item pada list. Returns index dari item yang terakhir ditemukan pada list, atau -1 pada list tidak ada item yang dicari tersebut. posisi = daftar.indexOf(“Rayputra”);  Object set(int index, Object element)  Mengganti isi list pada posisi index tertentu dengan element baru. daftar.set(3, “Rafif”);

17 Contoh Method pada Class LinkedList
Contoh penggunaan method indexOf(), lastIndexOf(), dan set() import java.util.LinkedList; public class LinkedList6 { public static void main(String args[]) { LinkedList daftar = new LinkedList(); daftar.add("Rayputra"); daftar.add("Maylia"); daftar.add("Aprilio"); daftar.add("Rayputra"); daftar.add("Nabila"); System.out.println("Isi Daftar Sekarang: " + daftar); System.out.println("Posisi Rayputra: " + daftar.indexOf("Rayputra")); System.out.println("Posisi Rayputra akhir: " + daftar.lastIndexOf("Rayputra")); System.out.println("Posisi Rayputra: " + daftar.set(3, "Rafif")); } Output: Isi Daftar Sekarang: [Rayputra, Maylia, Aprilio, Rayputra, Nabila] Posisi Rayputra: 0 Posisi Rayputra akhir: 3 Posisi Rayputra: Rayputra Isi Daftar Sekarang: [Rayputra, Maylia, Aprilio, Rafif, Nabila]

18 Method pada Class LinkedList
Berikut adalah method Class LinkedList lainnya: Method Summary  ListIterator listIterator()  Konversi list menjadi iterasi list dengan urutan yang sesuai dengan yang ada pada list. Contoh: ListIterator iterasiDaftar = daftar.listIterator(); listIterator(int index)  Konversi list menjadi iterasi list dengan urutan yang sesuai dengan yang ada pada list, mulai dari element dengan index yang ditentukan. ListIterator iterasiDaftar = daftar.listIterator(2);  Object[] toArray(Object[] a)  Returns an array containing all of the elements in this list in the correct order; the runtime type of the returned array is that of the specified array. String [] arrDaftar = daftar.toArray(new String[daftar.size()]); Atau Integer [] arrDaftar = daftar.toArray(new Integer [daftar.size()]);

19 Contoh Method pada Class LinkedList
import java.util.LinkedList; import java.util.ListIterator; public class LinkedList7 { public static void main(String args[]) { LinkedList daftar = new LinkedList(); daftar.add("Rayputra"); daftar.add("Maylia"); daftar.add("Aprilio"); daftar.add("Rayputra"); daftar.add("Nabila"); System.out.println("Daftar: " + daftar); // Membuat dan menghasilkan ListIterator ListIterator iterasiDaftar = daftar.listIterator(); // menampilkan list secara iterasi berurutan System.out.println("Forward iteration:"); while(iterasiDaftar.hasNext()){ System.out.println(iterasiDaftar.next()); } // menampilkan list secara iterasi urutan terbalik System.out.println("\nBackward iteration:"); while(iterasiDaftar.hasPrevious()){ System.out.println(iterasiDaftar.previous()); Contoh Method pada Class LinkedList Contoh penggunaan method lisIterator() Output: Daftar: [Rayputra, Maylia, Aprilio, Rayputra, Nabila] Forward iteration: Rayputra Maylia Aprilio Nabila Backward iteration:

20 Contoh Method pada Class LinkedList
Contoh penggunaan method toArray() import java.util.LinkedList; public class LinkedList8 { public static void main(String args[]) { LinkedList<String> daftar = new LinkedList<String>(); daftar.add("Rayputra"); daftar.add("Maylia"); daftar.add("Aprilio"); daftar.add("Rayputra"); daftar.add("Nabila"); System.out.println("Daftar: " + daftar); String [] arrDaftar = daftar.toArray(new String[daftar.size()]); for(String nama: arrDaftar) { System.out.println(nama); } Output: Daftar: [Rayputra, Maylia, Aprilio, Rayputra, Nabila] Rayputra Maylia Aprilio Nabila

21 Random Class Random Methods
By: Augury El Rayeb

22 Random Numbers (Angka Random)
Random numbers digunakan dan sangat diperlukan dalam beberapa penggunaan, diantaranya: cryptography, simulation, and program testing. Angka yang dihasilkan oleh proses random oleh komputer sangat tergantung pada algoritma yang digunakan untuk menghasilkan angka-angka tersebut dan tidak random secara penuh (pseudorandom).

23 Random Java API Sebelum menggunakan method-method pada Random java API, lakukan import dengan menuliskan: import java.util.Random; Selanjutnya buat object dengan type Random: Random acak = new Random( ); Selanjutnya gunakan method yang diperlukan sesuai fungsinya

24 Method pada Class Random
Berikut adalah method Class Random untuk angka acak bilangan bulat: Method Summary int nextInt()  Menghasilkan satu angka bilangan bulat (integer) secara acak atau random (pseudorandom) setiap kali dipanggil. Angka acak tersebut antara -231 sampai dengan Contoh: int angka = acak.nextInt(); Variabel angka akan berisi angka secara acak antara -231 sampai 231-1 nextInt(int n)  Menghasilkan satu angka bilangan bulat (integer) secara acak atau random (pseudorandom) setiap kali dipanggil. Angka acak tersebut antara 0 sampai dengan nilai yang ditentukan pada n. int angka = acak.nextInt(100); Variabel angka akan berisi angka secara acak antara 0 sampai 100 void nextBytes(byte[] arrAcak)  Menghasilkan angka-angka acak atau random (pseudorandom) dan angka-angka tersebut akan disimpan dalam variable array byte yang dituliskan pada arrAcak. Angka-angka acak tersebut antara -128 sampai dengan 127 byte arrAngka=new byte[5]; acak.nextBytes(arrAngka); Akan menghasilkan 5 angka secara acak dalam variable array arrAngka

25 Contoh Method pada Class Random
Contoh penggunaan method nextInt() dan nextInt(int n) import java.util.Random; public class Random1 { public static void main(String[] args) { Random acak = new Random(); System.out.println("Angka integer: "); for(int i=1; i<=5; i++) { System.out.print(acak.nextInt() + ", "); } System.out.println(" "); System.out.println("Angka integer random (maks: 15): "); System.out.print(acak.nextInt(15) + ", "); Output: Angka integer random: , , , , , Angka integer random (maks: 15): 5, 9, 2, 10, 12,

26 Contoh Method pada Class Random
Contoh penggunaan method nextBytes(arrayByte) import java.util.Random; public class Random2 { public static void main(String[] args) { Random acak = new Random(); byte[] angkaByte = new byte[5]; acak.nextBytes(angkaByte); System.out.print(“Isi array angkaByta: “); for(byte isi: angkaByte) { System.out.println(isi + “, “); } Output: Isi array angkaByta: 100, 68, 84, 115, 33,

27 Method pada Class Random
Berikut adalah method Class Random untuk angka acak bilangan bulat long, angka desimal double, dan angka floating point: Method Summary  long nextLong()  Menghasilkan satu angka bilangan bulat (integer) secara acak atau random (pseudorandom) setiap kali dipanggil. Angka acak tersebut antara -263 sampai dengan Contoh: int angka = acak.nexLong(); Variabel angka akan berisi angka secara acak antara -263 sampai 263-1  double nextDouble()  Menghasilkan satu angka bilangan desimal (double) secara acak atau random (pseudorandom) setiap kali dipanggil. int angka = acak.nexDouble();  float nextFloat()  Menghasilkan satu angka bilangan floating point (float) secara acak atau random (pseudorandom) setiap kali dipanggil. int angka = acak.nexFloat();

28 Contoh Method pada Class Random
Contoh penggunaan method nextLong(), nextDouble() dan nextFloat() import java.util.Random; public class Random3 { public static void main(String[] args) { Random acak = new Random(); System.out.println("Angka long random: "); for(int i=1; i<=5; i++) { System.out.print(acak.nextLong() + ", "); } System.out.println(" "); System.out.println("Angka double random: "); System.out.print(acak.nextDouble() + ", "); System.out.println("Angka float random: "); System.out.print(acak.nextFloat() + ", "); Output: Angka long random: , , , , , Angka double random: , , , , , Angka float random: , , , , ,

29 Contoh Kasus Random Numbers
By: Augury El Rayeb

30 Contoh Kasus Random Numbers: Membuat Huruf Random
Seperti kita ketahui dengan class Random, kita hanya bisa membuat random dalam bentuk angka. Untuk membuat huruf Random kita harus: Membuat array huruf dari a-z Membuat object dari class Random Membuat random numbers (angka random) dengan batasan sampai 25 (25 karena a-z adalah 26 huruf, dan index array dimulai dari 0 maka index dari huruf dalam array paling besar adalah 26-1=25) Gunakan angka random sebagai index untuk mendapatkan huruf

31 Contoh Kasus Random Numbers: Membuat Huruf Random
1 2 3 4 5 6 7 8 9 10 11 12 import java.util.Random; public class Random4 { public static void main(String[] args) char [] huruf = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; Random acak = new Random(); int index; index=acak.nextInt(25); System.out.println("Huruf yang terpilih adalah index no " + index + “, yaitu: "+ huruf[index]); } Output: Huruf yang terpilih adalah index no 0, yaitu: a Output: Huruf yang terpilih adalah index no 0, yaitu: a Output: Huruf yang terpilih adalah index no 4, yaitu: e Output: Huruf yang terpilih adalah index no 10, yaitu: k

32 Contoh Kasus Random Numbers: Membuat Undian 3 Nama dari sejumlah Nama
Dengan metode sebelumnya (huruf random), huruf yang sama bisa muncul lagi. Karena kita ingin membuat undian 3 nama, maka kita harus menghindarkan nama yang sama muncul kembali pada hasil random. Untuk membuat undian 3 nama dari sejumlah nama kita harus: Membuat array string nama untuk menampung sejumlah nama Membuat object dari class Random Membuat random numbers (angka random) dengan batasan sampai panjang array – 1 Jika angka random belum pernah muncul, maka tampilkan nama pada dengan nomor indeks dari angka random Ulangi langkah 3 dan 4 sampai didapatkan 3 nama.

33 Contoh Kasus Random Numbers: Membuat Huruf Random
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import java.util.Random; import java.util.Scanner; public class Random5 { public static void main(String[] args) { String [] nama = new String[5]; int [] indeks = {-1, -1, -1}; Random acak = new Random(); int ulang=0; int indexAcak; boolean ada=false; Scanner masukanNama = new Scanner(System.in); for(int i=0; i<nama.length; i++) { System.out.print("Nama: "); nama[i]=masukanNama.nextLine(); } System.out.print("[ "); for(String isi: nama) { System.out.print(isi + ", "); System.out.println("]"); 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 while(ulang<3) { indexAcak=acak.nextInt(nama.length-1); for(int cek: indeks) { if(indexAcak==cek) { ada=true; } if(!ada) { ada=false; indeks[ulang] = indexAcak; System.out.println(indeks[ulang]); System.out.print ("Nama yang terpilih no “); System.out.print(ulang + " adalah: “) System.out.println(nama[indeks[ulang]]); ulang++;

34 Contoh Kasus Random Numbers: Membuat Huruf Random
Output: Nama: Augury Nama: Rayputra Nama: Maylia Nama: Nabila Nama: Aprilio [ Augury, Rayputra, Maylia, Nabila, Aprilio, ] 3 Nama yang terpilih no 0 adalah: Nabila 1 Nama yang terpilih no 1 adalah: Rayputra 2 Nama yang terpilih no 2 adalah: Maylia

35 See You Next Topic Thanks


Download ppt "FONDASI PEMROGRAMAN & STRUKTUR DATA #13"

Presentasi serupa


Iklan oleh Google