UNIVERSITAS YARSI Hash Map Iterator Struktur Data dan

  • Slides: 29
Download presentation
UNIVERSITAS YARSI Hash. Map & Iterator Struktur Data dan Algoritma CC Content by: Andreas

UNIVERSITAS YARSI Hash. Map & Iterator Struktur Data dan Algoritma CC Content by: Andreas F. , Elan S. , Herika H. , M. Faturrachman, and Nova E. D. Desain by Arksnet – Desain Modified by Andreas F. BY-NO-SA 4. 0 International

CC BY-NO-SA 4. 0 International UNIVERSITAS YARSI Lisensi Distribusi Materi, urutan penyajian, animasi, dan

CC BY-NO-SA 4. 0 International UNIVERSITAS YARSI Lisensi Distribusi Materi, urutan penyajian, animasi, dan pertanyaan yang ada dalam berkas ini merupakan karya orang-orang yang namanya disebutkan di halaman pertama, dan sengaja didistribusikan dengan lisensi Creative Common by-no-sa 4. 0 International, yang berarti bisa digunakan diubah sesuai dengan kebutuhan selama tidak untuk kepentingan komersial dan memberikan kredit pada pencipta. Karya ini dan ubahannya boleh didistribusikan ulang selama masih menggunakan lisensi yang sama. Gambar yang digunakan merupakan milik penciptanya masing-masing. Informasi lebih lanjut silahkan lihat: https: //creativecommons. org/licenses/by-nc-sa/4. 0/ 2

UNIVERSITAS YARSI Hash. Map 3

UNIVERSITAS YARSI Hash. Map 3

UNIVERSITAS Hash dan Map YARSI Hash. Map terdiri dari dua kata, yaitu Hash dan

UNIVERSITAS Hash dan Map YARSI Hash. Map terdiri dari dua kata, yaitu Hash dan Map. Agar lebih mudah dalam memahami Hash. Map, Anda perlu mengerti Hash dan Map. Image by @carella. titasa 4

UNIVERSITAS YARSI Hash merupakan sebuah fungsi yang mengubah suatu nilai (i. e. , data)

UNIVERSITAS YARSI Hash merupakan sebuah fungsi yang mengubah suatu nilai (i. e. , data) menjadi nilai lain yang memiliki panjang konstan. Fungsi ini biasanya digunakan dalam kriptografi, kompresi, checksum, dan indexing. https: //techterms. com/definition/hash Image by @carella. titasa 5

UNIVERSITAS YARSI Password Bayangkan password email Anda disimpan dalam format plaintext (i. e. ,

UNIVERSITAS YARSI Password Bayangkan password email Anda disimpan dalam format plaintext (i. e. , apa adanya) dan password yang sama juga digunakan untuk akun daring di bank dan tempat belanja. Bayangkan admin server email Anda melakukan query ke basis data untuk mendapatkan seluruh pasangan username dan password… Image by @carella. titasa 6

UNIVERSITAS YARSI Admin akan memiliki akses ke akun daring bank dan belanja miliki kita…

UNIVERSITAS YARSI Admin akan memiliki akses ke akun daring bank dan belanja miliki kita… mengerikan sekali. Berarti password tidak pernah disimpan secara plaintext, lalu diapakan? Image by @carella. titasa 7

UNIVERSITAS YARSI Illustrasi Hash Password Hash (md 5) – 32 Characters 20190302 9 ec

UNIVERSITAS YARSI Illustrasi Hash Password Hash (md 5) – 32 Characters 20190302 9 ec 3 a 568891 c 19 a 18 ae 9431 af 211 c 479 SDAKeren i. Love. You. SDA Fungsi Hash 2 d 7 b 06042 aae 214663 ed 9 a 49167989 fd bad 70434921 ebd 1945660958 a 3507 e 6 d akan. Lulus. SDA 79 bac 8 fbd 066 b 326 feceea 43 adb 7 d 6 d 1 bel@j@r. Kod 1 ng b 210 ab 9 d 3911995 cf 3 af 90 c 6179 efbfb 8

UNIVERSITAS YARSI Soal 1 Jika panjang hash password adalah 32 karakter dan salah seorang

UNIVERSITAS YARSI Soal 1 Jika panjang hash password adalah 32 karakter dan salah seorang pengguna memiliki password yang terdiri dari 10 karakter, seperti apakah hash dari password tersebut? 9

UNIVERSITAS YARSI Panjang Hash Panjang hash tidak selalu 32 karakter, namun bisa diubah-ubah sesuai

UNIVERSITAS YARSI Panjang Hash Panjang hash tidak selalu 32 karakter, namun bisa diubah-ubah sesuai dengan kebutuhan, selama fungsi hash bisa mengakomodir dan memberikan hasil yang konsisten. Image by @carella. titasa 10

UNIVERSITAS YARSI Map atau kamus adalah sebuah objek yang memetakan kunci (keys) ke datum

UNIVERSITAS YARSI Map atau kamus adalah sebuah objek yang memetakan kunci (keys) ke datum (satu data atau value), seperti hasil query ke basis data. Sebuah kunci tidak dapat digunakan untuk merujuk dua data berbeda. https: //docs. oracle. com/en/javase/11/docs/api/java. base/java/util/Map. html Image by @carella. titasa 11

UNIVERSITAS YARSI Contoh: Map Poin Bonus { "Mayrizka" "Farhah" "Fajar" "Alief" "Fuady" "Farah" "Bob"

UNIVERSITAS YARSI Contoh: Map Poin Bonus { "Mayrizka" "Farhah" "Fajar" "Alief" "Fuady" "Farah" "Bob" "Mustikasari" keys : 8. 0, : 6. 0, : 5. 5, : 5. 5 } values 12

UNIVERSITAS YARSI Soal 2 Berikan empat contoh penggunaan map dalam dunia nyata! 13

UNIVERSITAS YARSI Soal 2 Berikan empat contoh penggunaan map dalam dunia nyata! 13

UNIVERSITAS YARSI Hash. Map merupakan struktur yang memetakan data menggunakan identifier (ID) yang diperoleh

UNIVERSITAS YARSI Hash. Map merupakan struktur yang memetakan data menggunakan identifier (ID) yang diperoleh dengan mengeksekusi fungsi hash terhadap setiap kunci dari data. Hash. Map tidak menyimpan data dalam urutan tertentu. https: //javatutoring. com/java-hashmap-guide/ Image by @carella. titasa 14

UNIVERSITAS YARSI Contoh Hash. Map Kunci Identifier - Hash (md 5) – 32 Characters

UNIVERSITAS YARSI Contoh Hash. Map Kunci Identifier - Hash (md 5) – 32 Characters Data Mayrizka 287 db 39144 a 3 bc 3 b 88 c 9822688958409 8. 0 Farhah 3 cde 6 a 3 eb 6 c 33 f 63248 a 4 e 89 cd 82939 a 6. 0 Fajar aa 956 cdbc 76 c 25 c 5916 c 51 f 326 f 7 ae 3 e 6. 0 8707684089 fd 1349 ee 0 cc 58887 fe 2 e 16 6. 0 42 fa 4 c 3 fb 4325 c 431 d 029 d 2 d 836 c 7247 5. 5 Farah a 6 b 7 cc 30 d 968 aff 9 dadabcc 877 dabd 50 5. 5 Bob 2 fc 1 c 0 beb 992 cd 7096975 cfebf 9 d 5 c 3 b 5. 5 Mustikasari fea 413 f 2 e 6 c 0 e 66 d 063 d 564017794 a 71 5. 5 Alief Fuady Fungsi Hash 15

UNIVERSITAS YARSI Import Hash. Map Pastikan Anda meng-import kelas Hash. Map sebelum menggunakannya: import

UNIVERSITAS YARSI Import Hash. Map Pastikan Anda meng-import kelas Hash. Map sebelum menggunakannya: import java. util. Hash. Map; public class Tes{ public static void main(String[] args) { } } 16

UNIVERSITAS YARSI Deklarasi dan Inisialisasi Example: Hash. Map<K, V> id = new Hash. Map<>();

UNIVERSITAS YARSI Deklarasi dan Inisialisasi Example: Hash. Map<K, V> id = new Hash. Map<>(); Hash. Map<String, String> map 1 = new Hash. Map<>(); Hash. Map<String, Integer> map 2 = new Hash. Map<>(); Hash. Map<Double, Stack> map 3 = new Hash. Map<>(); Hash. Map<Character, Linked. List> map 4 = new Hash. Map<>(); 17

UNIVERSITAS YARSI Prilaku Hash. Map Output: Hash. Map<String, String> map = new Hash. Map<>();

UNIVERSITAS YARSI Prilaku Hash. Map Output: Hash. Map<String, String> map = new Hash. Map<>(); map. put("Type", "Veg/Fruit"); map Type map. clear(); Olive map. put("Kale", "Vegetable"); Plum map. put("Plum", "Vegetable"); map. put("Olive", "Fruit"); Rambutan map. put("Rambutan", "Fruit"); map. put("Plum", "Fruit"); Kale System. out. println(map. get("Plum")); System. out. println(map. key. Set()); System. out. println(map); Veg/Fruit Vegetable Fruit [Olive, Plum, Rambutan, Kale] {Olive=Fruit, Plum=Fruit, Rambutan=Fruit, Kale=Vegetable} 18

UNIVERSITAS YARSI Urutan Data Hash. Map Bentuk dan urutan data pada ilustrasi sebelumnya hanya

UNIVERSITAS YARSI Urutan Data Hash. Map Bentuk dan urutan data pada ilustrasi sebelumnya hanya untuk keperluan kuliah. Pola urutan penyimpanan data dalam Hash. Map tidak sesederhana itu. Image by @carella. titasa 19

UNIVERSITAS YARSI Soal 3 Pada ilustrasi sebelumnya, Plum diasosiasikan dengan Vegetable. Namun, ketika variabel

UNIVERSITAS YARSI Soal 3 Pada ilustrasi sebelumnya, Plum diasosiasikan dengan Vegetable. Namun, ketika variabel map dicetak, Plum diasosiasikan dengan Fruit, bukan dengan Vegetable. Mengapa hal itu bisa terjadi? 20

UNIVERSITAS YARSI Modifier and Type Method Hash. Map Method and Description void clear() Removes

UNIVERSITAS YARSI Modifier and Type Method Hash. Map Method and Description void clear() Removes all of the mappings from this map. boolean contains. Key(Object key) Returns true if this map contains a mapping for the specified key. boolean contains. Value(Object value) Returns true if this maps one or more keys to the specified value. Set<K> key. Set() Returns a Set view of the keys contained in this map. int size() Returns the number of key-value mappings in this map. Collection<V> values() Returns a Collection view of the values contained in this map. Sumber: https: //docs. oracle. com/en/javase/11/docs/api/java. base/java/util/Hash. Map. html 21

UNIVERSITAS YARSI Soal 4 Apakah keluaran dari potongan program berikut: java. util. Hash. Map<String,

UNIVERSITAS YARSI Soal 4 Apakah keluaran dari potongan program berikut: java. util. Hash. Map<String, String> kriuk = new java. util. Hash. Map<>(); kriuk. put("Rhoma 1", "Bagaimana kabar project SDA mu, Ani? "); kriuk. put("Ani 1", "Tiiiddaaaakkk Roma!!!"); kriuk. put("Rhoma 2", "Tapi kita harus lulus kuliah ini, bukan? !"); kriuk. put("Ani 2", "Cukuuuuupp Rhoma! Cukup!!"); System. out. println(kriuk. key. Set() +); System. out. println(kriuk. values()); kriuk. clear(); System. out. println(kriuk); 22

UNIVERSITAS YARSI Iterator 23

UNIVERSITAS YARSI Iterator 23

UNIVERSITAS YARSI Iterator Itertor atau kursor (cursor) digunakan untuk menunjuk data yang ingin dibaca

UNIVERSITAS YARSI Iterator Itertor atau kursor (cursor) digunakan untuk menunjuk data yang ingin dibaca dalam berbagai struktur data di Java™ Collection Framework, seperti Array. List, Linked. List, Stack, Queue, Hash. Map, dan Linked. Hash. Map. https: //www. journaldev. com/13460/java-iterator Image by @carella. titasa 24

UNIVERSITAS YARSI Import Iterator Pastikan Anda meng-import kelas Iterator sebelum menggunakannya: import java. util.

UNIVERSITAS YARSI Import Iterator Pastikan Anda meng-import kelas Iterator sebelum menggunakannya: import java. util. Iterator; public class Tes{ public static void main(String[] args) { } } 25

UNIVERSITAS YARSI Prilaku Iterator Linked. List<String> list = new Linked. List<>(); list. add("Magical"); list

UNIVERSITAS YARSI Prilaku Iterator Linked. List<String> list = new Linked. List<>(); list. add("Magical"); list Magical list. add("things"); things list. add("happened"); happened Output: Iterator<String> iterator = list. iterator(); while(iterator. has. Next()) System. out. println(iterator. next()); Magical things happened iterator 26

UNIVERSITAS YARSI Soal 5 Apakah keluaran dari potongan program berikut: java. util. Queue<String> queue

UNIVERSITAS YARSI Soal 5 Apakah keluaran dari potongan program berikut: java. util. Queue<String> queue = new java. util. Linked. List<>(); queue. add("This"); queue. add("cool"); java. util. Iterator iterator = queue. iterator(); while(iterator. has. Next()) System. out. println(iterator. next()); 27

UNIVERSITAS YARSI Iterator Hash. Map Output: Hash. Map<String, String> language = new Hash. Map<>();

UNIVERSITAS YARSI Iterator Hash. Map Output: Hash. Map<String, String> language = new Hash. Map<>(); language. put("html", "web programming"); language. put("php", "web programming"); language. put("c", "desktop programming"); Iterator<Map. Entry<String, String>> iterator = language. entry. Set(). iterator(); while(iterator. has. Next()) { Map. Entry<String, String> entry = iterator. next(); System. out. println(entry. get. Key() + ": " + entry. get. Value()); } c: desktop programming php: web programming html: web programming 28

UNIVERSITAS YARSI Soal 6 Tampilkan seluruh data dalam Hash. Map di bawah dengan menggunakan

UNIVERSITAS YARSI Soal 6 Tampilkan seluruh data dalam Hash. Map di bawah dengan menggunakan iterator! java. util. Hash. Map<Integer, Character> data = new java. util. Hash. Map<>(); data. put(1, '1'); data. put(2, '2'); data. put(3, '3'); data. put(4, '4'); data. put(5, '5'); 29