1 / 17

Searching

Searching. Algoritma dan Struktur Data. Daniel Riano Kaparang. Searching.

opal
Download Presentation

Searching

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Searching Algoritma dan Struktur Data Daniel RianoKaparang

  2. Searching • Pencarian data seringjugadisebut table look-up atau storage and retrieval information adalahsuatuprosesuntukmengumpulkansejumlahinformasididalampengingatkomputerdankemudianmencarikembaliinformasi yang diperlukansecepatmungkin. • Contohpencarian: • Pencarian Data : katadalamkamus, nomortelepondalambukutelepon. • Editing Data • Penyisipan Data • Find and Replace

  3. MetodePencarian • Sequential Searching • Binary Searching

  4. Sequential Searching • Pencarianberurutanseringdisebutpencarian linear merupakanmetodepencarian yang paling sederhana. • Prinsippencarian: Data yang adadibandingkansatu per satusecaraberurutandengan yang dicarisampai data tersebutditemukanatautidakditemukan. • Padakasus yang paling buruk, untuk N elemen data harusdilakukanpencariansebanyak N kali pula.

  5. Algoritma Sequential Searching 1. i ← 0 2. ditemukan ← false 3. Selama (tidak ditemukan) dan (i <= N) kerjakan baris 4 4. Jika (Data[i] = x) maka ditemukan ← true, jika tidak i ← i + 1 5. Jika (ditemukan) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemukan.

  6. Algoritma Sequential Searching Proses searching

  7. Binary Searching • Syaratpencarian: data sudahurut, jika data belumurutpencariantidakdapatdilakukan. • Contoh: Misalnya saat ingin mencari suatu kata dalam kamus. • Mula-muladiambil : • posisiawal 0danposisiakhir = N - 1, • kemudiandicariposisi data tengahdenganrumus (posisiawal + posisiakhir) / 2. • Kemudian data yang dicaridibandingkandengan data tengah. • Jikalebihkecil, prosesdilakukankembalitetapiposisiakhirdianggapsamadenganposisitengah –1. • Jikalebihbesar, prosesdilakukankembalitetapiposisiawaldianggapsamadenganposisitengah + 1.Demikianseterusnyasampai data tengahsamadengan yang dicari.

  8. Contoh Binary Searchingcariangka 17 N=10 N-1 = 9 • Misalinginmencari data 17 padakumpulan data: • Mula-mula dicari data tengah, dengan rumus (0 + 9) / 2 = 4. • Berarti data tengahadalah data ke-4, yaitu 15. Data yang dicari, yaitu 17, dibandingkandengan data tengahini. • Karena 17 > 15, berartiprosesdilanjutkantetapi kali iniposisiawaldianggapsamadenganposisitengah + 1 atau 5. 9 0 4

  9. • Data tengah yang baru didapat dengan rumus (5 + 9) / 2 = 7. Berarti data tengah yang baru adalah data ke-7, yaitu 23. • Data yang dicari yaitu 17 dibandingkan dengan data tengah ini. Karena 17 < 23, berarti proses dilanjukkan tetapi kali ini posisi akhir dianggap sama dengan posisi tengah -1 atau 6. 5 7 9

  10. • Data tengah yang barudidapatdenganrumus (5 + 6) / 2 = 5. Berartidata tengah yang baruadalah data ke-5, yaitu 17. • Data yang dicaridibandingkandengan data tengahinidanternyatasama. Jadi data ditemukanpadaindeks ke-5. • Pencarianbineriniakanberakhirjika data ditemukanatauposisiawallebihbesardaripadaposisiakhir. • Jikaposisisudahlebihbesardaripadaposisiakhirberarti data tidakditemukan.

  11. Contohcariangka 16 9 0 4 Cari angka 16 : 16>15 maka posisi awal dianggap sama dengan posisi tengah + 1. 5 7 9 awal tengah akhir 16<23 maka posisi akhir dianggap sama dengan posisi tengah –1. 5 6 Awal=tengah akhir

  12. 5 6 Awal=tengah akhir 16<17 maka posisi akhir dianggap sama dengan posisi tengah –1. 4 5 akhir awal Disini dapat dilihat bahwa posisi awal lebih besar daripada posisi akhir, yang artinya data tidak ditemukan.

  13. Algoritma Binary Searching 1. L ← 0 2. R ← N – 1 3. ditemukan ← false 4. Selama (L <= R) dan (tidak ditemukan) kerjakan baris 5 sampai dengan 8 5. m ← (L + R) / 2 6. Jika (Data[m] = x) maka ditemukan ← true 7. Jika (x < Data[m]) maka R ← m – 1 8. Jika (x > Data[m]) maka L ← m + 1 9. Jika (ditemukan) maka m adalah indeks dari data yang dicari, jika tidak data tidak ditemukan.

  14. Algoritma Binary Searching Proses searching

  15. Kesimpulan • Algoritma pencarian berurutan digunakan untuk mencari data pada sekumpulan data atau rekaman yang masih acak. • Algoritma pencarian biner digunakan untuk mencari data pada sekumpulan data atau rekaman yang sudah dalam keadaan terurut.

  16. TugasTake Home : Terdapatderetangkasebagaiberikut : 0,2,4,6,8,9,12,18,20,23,29,32,47,79,85,90 Jelaskanproses yang terjadimenurutAlgoritma Binary Searchingketikaakanmencariangka 23 dan 30 !! Dikirimkekaparangdr@gmail.com Subject: TUGAS_ASD_<KELAS>_NIM Paling lambat 1 harisebelumpertemuanberikutnya!

  17. Selesai

More Related