0% menganggap dokumen ini bermanfaat (0 suara)
238 tayangan9 halaman

Pencarian Searching

Dokumen tersebut membahas tentang metode pencarian data, yaitu linear search dan binary search. Linear search melakukan pencarian secara berurutan dengan membandingkan satu per satu data yang dicari. Sedangkan binary search memerlukan data yang terurut dan membagi wilayah pencarian menjadi bagian kiri dan kanan. Kedua metode dijelaskan algoritmanya beserta contoh penerapannya.

Diunggah oleh

Heri Setiawan
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
238 tayangan9 halaman

Pencarian Searching

Dokumen tersebut membahas tentang metode pencarian data, yaitu linear search dan binary search. Linear search melakukan pencarian secara berurutan dengan membandingkan satu per satu data yang dicari. Sedangkan binary search memerlukan data yang terurut dan membagi wilayah pencarian menjadi bagian kiri dan kanan. Kedua metode dijelaskan algoritmanya beserta contoh penerapannya.

Diunggah oleh

Heri Setiawan
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPT, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

Pencarian ( Searching)

Metode Pencarian
Linear Search
Tanpa Boolean
Dengan Sentinel Tanpa Sentinel

Dengan Boolean

Binary Search

Linear Search (Pencarian Berurutan)


Metoda yang paling sederhana dari sejumlah metoda pencarian adalah metoda pencarian berurutan yang sering dikenal dengan sequential searching atau linear search. Secara garis besar metoda ini bisa dijelaskan sbb:
Dari vektor yang diketahui, data yang dicari dibandingkan satu per satu sampai data tersebut ditemukan atau tidak ditemukan. Pada saat data yang dicari sudah ketemu, maka proses pencarian langsung dihentikan. Tetapi jika data yang dicari belum ketemu, maka pencarian diteruskan sampai seluruh data dibandingkan. Dalam kasus yang paling buruk, untuk venktor dengan N elemen harus dilakukan pencarian sebanyak N kali pula.

Algoritma Linear Search


For I = 1 to maks_array do Begin If Data_cari = nama_array[i] Then Ketemu := True Else Ketemu := False; End;

Linear Search
Tanpa boolean tanpa sentinel: 1.Tidak menggunakan variabel boolean. 2.Tidak mempunyai tambahan elemen di akhir array. Tanpa boolean dengan sentinel: 1.Tidak menggunakan variabel boolean. 2.Mempunyai tambahan elemen di akhir array untuk menyimpan data cari apabila data cari tidak ditemukan.

Linear Search
Dengan boolean: 1.Menggunakan variabel boolean. 2.Menghasilkan nilai TRUE atau FALSE di akhir pencarian.
Algortima : Input (datacari) Ketemu := false I := 1 While (not ketemu and I = maks_array) do Begin if (datacari = bilangan[i]) then ketemu := true else I := I +1; End;

Binary Search
1. 2. Data harus terurut baik secara ascending atau descending. Mekanismenya adalah dengan cara membagi dua bagian yaitu bagian kiri (indeks terkecil/Ia) sampai ke indeks tengah dan bagian kanan mulai dari indeks tengah sampai indeks terbesar (Ib) 3. 4. 5. Indeks tengah (k) : (Ia+Ib) div 2. Jika data yang dicari lebih kecil dari data di indeks tengah maka pencarian dilanjutkan ke bagian kiri. Jika data yang dicari lebih besar dari data di indeks tengah maka pencarian dilanjutkan ke bagian kanan.

Contoh :
Di bawah ini adalah kuncikunci carilah kunci 39 dengan mengunakan algorithm Binary Search. [13, 16, 18, 27, 28, 29, 38, 39, 53]. 1 2 3 4 5 6 7 8 9 File ini dinamakan File Sequential (secara berurutan). Cara penyelesaian. Bila di cari kunci 39 maka ; terendah = 1, dan tertinggi = 9, maka 1 + 9 = 10 , lalu 10 / 2 = 5. Nomor urut 5, adalah kunci 28 , tapi 28 < 39, [13, 16, 18, 27, 28, 29, 38, 39, 53]. maka terendah = 5 , dan tertinggi = 9, maka : 5 + 9 = 14 14 / 2 = 7. Nomor urut 7 adalah 38 , tapi 38 < 39, [13, 16, 18, 27, 28, 29, 38, 39, 53]. maka terendah = 8, dan tertinggi = 9, (karena mid + 1 jadi 7+1=8) maka : 8 + 9 = 17 17 / 2 = 8,5 => 8,5 8 Note: kl mengambil kebawah, haruskonsisten untuk jawaban selanjutnya jika ada kasus yg sama juga harus kebawah Nomor urut 8 adalah kunci 39 , dimana kunci 39 = 39. Ketemu pada nomor urut ke 8. [13, 16, 18, 27, 28, 29, 38, 39, 53]

Latihan
Buatkan Program untuk mengimplementasikan pencarian dengan Linear dan Binary!

Anda mungkin juga menyukai