Searching - PowerPoint PPT Presentation

carissa-booker
searching n.
Skip this Video
Loading SlideShow in 5 Seconds..
Searching PowerPoint Presentation
play fullscreen
1 / 24
Download Presentation
Searching
145 Views
Download Presentation

Searching

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Searching Struktur Data

  2. Searching Linier Search • Mencari dari data pertama sampai data terakhir • Pencarian selesai jika ketemu atau sudah habis

  3. Searching Liniear Search 7 Angka yang dicari : Angka yang ke 1 = 7 ? Tidak If Angka[1] = ygDicari then

  4. Searching Liniear Search 7 Angka yang dicari : Angka yang ke 2 = 7 ? Tidak If Angka[2] = ygDicari then

  5. Searching Liniear Search 7 Angka yang dicari : Angka yang ke 3 = 7 ? Tidak If Angka[3] = ygDicari then

  6. Searching Liniear Search 7 Angka yang dicari : Angka yang ke 4 = 7 ? Tidak If Angka[4] = ygDicari then

  7. Searching Liniear Search 7 Angka yang dicari : Angka yang ke 5 = 7 ? Tidak If Angka[5] = ygDicari then

  8. KETEMU? • Mana angka 7 ? • Setelah dicari sampai habis ternyata tidak ada

  9. Kesimpulan • Ada 5 perintah IF If Angka[1] = ygDicari then If Angka[2] = ygDicari then If Angka[3] = ygDicari then If Angka[4] = ygDicari then If Angka[5] = ygDicari then

  10. Disederhanakan • Berapa lama pencarian dilakukan • Manusia ingin yang tercepat For i := 1 to 5 do begin If Angka[i] = ygDicari then Ketemu = True end

  11. Searching Binary Search • Data angka harus urut (kecil kebesar, atau sebaliknya) • Data dibandingkan dengan data yang ditengah ( Angka[NT] ) • NT = (BB + BA) / 2 • Pencarian selesai jika ketemu atau BA < BB

  12. Searching Binary Search 7 Angka yang dicari : BB = 1 = 5 BA NT = (BB + BA) / 2 = ( 1 + 5 ) / 2 = 3

  13. Searching Binary Search 7 Angka yang dicari : BB = 1 = 5 BA Angka yang ke 3 = 7 ? Tidak NT = (BB + BA) / 2 = ( 1 + 5 ) / 2 = 3 Jika Angka yang dicari > Angka ke 3 maka BB = NT + 1 Sebaliknya BA = NT - 1

  14. Searching Binary Search 7 Angka yang dicari : BB = 1 = 5 BA Angka yang ke 3 = 7 ? Tidak NT = (BB + BA) / 2 = ( 1 + 5 ) / 2 = 3 Jika Angka yang dicari > Angka ke 3 maka BB = NT + 1 Sebaliknya BA = NT - 1

  15. Searching Binary Search 7 Angka yang dicari : BB = 4 = 5 BA NT = (BB + BA) / 2 = ( 4 + 5 ) / 2 = 4.5 = 5

  16. Searching Binary Search 7 Angka yang dicari : BB = 4 = 5 BA Angka yang ke 5 = 7 ? NT = (BB + BA) / 2 = ( 4 + 5 ) / 2 = 4.5 = 5

  17. Searching Binary Search 7 Angka yang dicari : BB = 4 = 5 BA Angka yang ke 5 = 7 ? Tidak NT = (BB + BA) / 2 = ( 4 + 5 ) / 2 = 4.5 = 5 Jika Angka yang dicari > Angka ke 5 maka BB = NT + 1 Sebaliknya BA = NT - 1

  18. Searching Binary Search 7 Angka yang dicari : BB = 4 = 5 BA Angka yang ke 5 = 7 ? Tidak NT = (BB + BA) / 2 = ( 4 + 5 ) / 2 = 4.5 = 5 Jika Angka yang dicari > Angka ke 5 maka BB = NT + 1 Sebaliknya BA = NT - 1

  19. Searching Binary Search 7 Angka yang dicari : BB = 4 = 4 BA NT = (BB + BA) / 2 = ( 4 + 4 ) / 2 = 4

  20. Searching Binary Search 7 Angka yang dicari : BB = 4 = 4 BA Angka yang ke 4 = 7 ? Tidak NT = (BB + BA) / 2 = ( 4 + 4 ) / 2 = 4 Jika Angka yang dicari > Angka ke 4 maka BB = NT + 1 Sebaliknya BA = NT - 1

  21. Searching Binary Search 7 Angka yang dicari : BB = NT + 1 = 5 BA = 4 BA Angka yang ke 4 = 7 ? Tidak NT = (BB + BA) / 2 = ( 4 + 4 ) / 2 = 4 Jika Angka yang dicari > Angka ke 4 maka BB = NT + 1 Sebaliknya BA = NT - 1 Karena BA < BB maka pencarian selesai Dengan hasil tidak ditemukan

  22. Selengkapnya While (BB <= BA) and NOT Ketemu do NT = (BB + BA) / 2 if ygDicari = Angka[NT] then Ketemu = True else if ygDicari > Angka[NT] then BB = NT + 1 else BA = NT – 1 wend

  23. Kesimpulan • Lebih cepat ½ kali lipat • Tapi data harus diurutkan terlebih dahulu

  24. Latihan • Datanya 129, 184, 80, 106, 822, 885 • Diurutkan : 80, 106, 129, 184, 822, 885 • Yang dicari 100