FONDASI PEMROGRAMAN & STRUKTUR DATA #13

Slides:



Advertisements
Presentasi serupa
Array.
Advertisements

Dasar-Dasar Pemrograman
PERTEMUAN 4 Penyeleksian kondisi
STACK.
- PERTEMUAN 4 - PERULANGAN
Diberikan pada Kuliah Sela Teknik Informatika - Universitas Muhammadiyah Malang Tahun 2011.
Struktur Data List Linear : Linked List (Double Linkedlist)
Object Oriented Programming with JAVA 2011/2012
Linear List.
Struktur Data List Linear : Linked List (Single Linkedlist)
Pemrograman Berorientasi Obyek Lanjut (IT251)
Algoritma & Pemrograman 1
STACK.
Fondasi Pemrograman & Struktur Data
Bahasa Pemrograman (Pemrograman Visual)
Pengantar Struktur Data Pertemuan 1 Season 1
JAVA ARRAY.
Stack (Tumpukan) Pertemuan 4 Season 1
Perulangan.
Nilai dan Tipe Data Nilai dan Tipe data
PBO Daniel Riano Kaparang, S.Kom., M.Cs
Pemrograman Berbasis Obyek Oleh Tita Karlita
Java array.
DASAR DASAR JAVA Dengan Netbans PBO Java.
Dasar pemrograman java
Algoritma & pemrograman 1B
INPUT DATA, PERCABANGAN & PERULANGAN DENGAN JAVA
Fondasi Pemrograman & Struktur Data
Java array.
PERCABANGAN & PERULANGAN DALAM JAVA
FONDASI PEMROGRAMAN & STRUKTUR DATA #4
ARRAY Misalnya kamu pelatih sebuah tim sepakbola anak-anak, dan kamu ingin mengawasi pemain mana yang hadir latihan di lapangan. Apa yang kamu perlukan.
Kelas-kelas Dasar di Java
Pengenalan dan Struktur Java (Deklarasi dan Inisialisasi Variabel)
Pemrograman berorientasi Objek
JAVA FUNDAMENTAL Dhea Raniasti.
Java array.
S. Indriani Lestariningati, M.T
Perulangan / Looping / Repetisi PEMROGRAMAN DASAR
Linear Data Structures (Array)
Pemrograman Berorientasi Object
Tipe Data, Variabel, dan Operator
Pengenalan dan Struktur Java (Operator dan Input)
PENERAPAN DASAR-DASAR SYNTAX JAVA
As’ad Djamalilleil Array As’ad Djamalilleil
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Java array.
Pemrograman II Dasar Java (Jcreator)
Dasar Bahasa Java.
Interface Umar muhammad JAVA.
PEMROGRAMAN BERORIENTASI OBYEK PENDAHULUAN
PEMROGRAMAN JAVA.
JAVA FUNDAMENTAL (Array / Larik)
Array / Larik Java Fundamental Syahrul Mauluddin S.Kom.
Perulangan.
Java array.
TIPE-TIPE DATA PHP Bandung 2009, by hery dwi y.
Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator
Tipe Data, Variabel, dan Operator
Mengulang Kembali Type Data Input Output Struktur Kontrol
Java array.
Bahasa Pemrograman (Pemrograman Visual)
FONDASI PEMROGRAMAN & STRUKTUR DATA #5 - 1
FONDASI PEMROGRAMAN & STRUKTUR DATA #6
Bahasa Pemrograman (Pemrograman Visual)
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 4
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
FONDASI PEMROGRAMAN & STRUKTUR DATA #3 - 3
Transcript presentasi:

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

Apa itu LinkedList Dinamakan LinkedList, karena LinkedList adalah daftar (data atau node) yang saling terkoneksi. (Sumber: https://www.callicoder.com/java-linkedlist/)

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

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.

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

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

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

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

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

LinkedList Class Methods By: Augury El Rayeb

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”);

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]

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();

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());

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

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”);

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]

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()]);

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:

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

Random Class Random Methods By: Augury El Rayeb

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).

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

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 231-1. 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

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: -2139750117, 137166391, -1540582377, 1581246612, 990431965, Angka integer random (maks: 15): 5, 9, 2, 10, 12,

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,

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 263-1. 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();

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: -1242873502150095614, -5532790556524144079, -9093428016420873613, 5797809972343494695, 3299685599484688010, Angka double random: 0.1662789898625857, 0.011977071218056357, 0.992981750266763, 0.3493700103753422, 0.8113454732394572, Angka float random: 0.7869263, 0.76029694, 0.27006423, 0.5059633, 0.18753684,

Contoh Kasus Random Numbers By: Augury El Rayeb

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

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

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.

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++;

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

See You Next Topic Thanks