1. Sequential search (pencarian linear)
Sequential search adalah sebuah proses pencarian data yang akan menelusuri semua elemen - elemen pada data tersebut dari awal sampai elemen yg kita cari ketemu, elemen yang akan kita cari tidak perlu diurutkan terlebih dahulu.
Squential search terbagi atas 2 jenis:
1. Squential search tanpa boolean:
a. Tanpa sentinel
b. Memakai sentinel
2. Squential search memakai boolean
Sebelum kta masuk pada bagian 1, skrng saya akan menjelaskan apa itu boolean. Boolean adalah sebuah tipe data yg memiliki dua buah nilai, nilai tersebut adalah true atau false (benar atau salah), dalam beberapa bahasa pemograman true atau false biasanya diganti dengan angka 1 untuk true dan angka 0 untuk false.
1. Sequential search tanpa boolean
a. Squential search tanpa sentinel
Misalkan ada sebuah data sebagai berikut:
Ada sebuah perintah untuk mencari angka 12.
Langkah 1:
Dimulai dari kiri, apakah urutan angka ke-1 adalah angka 12? Jika tidak maka lanjut ke array berikutnya.
Langkah 2:
Apakah urutan angka ke-2 adalah angka 12? Jika tidak maka lanjut ke array berikutnya.
Langkah 3:
Apakah urutan angka ke-3 adalah angka 12? Jika tidak maka lanjut ke array berkutnya.
Langkah 4:
Apakah urutan angka ke-4 adalah angka 12? Jika iya maka array telah ditemukan
Angka 12 telah ditemukan pada indeks ke-4
b. Sequential search memakai sentinel
Sequentian search memakai sentinel adalah sebuah proses pencarian yg memiliki elemen fiktif pada elemen terakhir data.
Misalkan ada sebuah data sebagai berikut:
Ada sebuah perintah untuk mencari angka 6.
Langkah 1:
Tempatkan data yg akan dicari pada sentinel
Langkah 2:
Telusuri array seperti sequential search tanpa tanpa sentinel yang ada diatas, jika data yang ditemukan berada pada sentinel, maka data yang kita cari tidak ditemukan dan jika daya yang kita cari ditemukan bukan dalam sentinel, maka data yang kita cari ditemukan.
2. Sequential search memakai boolean
Sequential search memakai boolean adalah sebuah proses pencarian data yang akan menelusuri semua elemen - elemen pada data tersebut dari awal sampai elemen yg kita cari ketemu memakai variabel bertipe boolean (true or false).
Misalkan ada sebuah data sebagai berikut:
Langkah:
Penelusuran arraynya sama seperti sequential search yang lain, hanya saja pada penelurusan ini memakai variabel bertipe boolean (true or false).
2. Interpolation Search
Interpolatiaon search adalah sebuah metode pencarian dengan cara menelusuri posisi data yang dibutuhkan user. Untuk pencarian ini data harus terurut secara ascending. Metode pencarian ini mempunyai rumus relatif pencarian sebagai berikut.
Jika posisi data sekarang > data yang dicari = posisi – 1
Jika posisi data sekarang < data yang dicari = posisi + 1
3. Binary Search
Binary search ato biasa disebut dengan pencarian biner adalah sebuah pencarian data yg telah terurut dengan melakukan pembagian 2 larik dan melakukan pembandingan nilai tengah dengan data yg dicari, apabila tidak sama maka pencarian akan dilanjutkan ke larik bagian kiri atau bagian kanan.
Fungsi binary search (pencarian biner) adalah untuk memperkecil kemungkinan perbandingan data yang harus dilakukan antara data yang dicari dengan data yang ada pada tabel.
Misalkan ada sebuah data sebagai berikut:
Ada sebuah perintah untuk mencari angka 27.
Langkah 1:
Membagi larik menjadi 2 bagian dengan cara:
Tengah = (indeks kanan + indeks kiri) div 2
Nilai tengahnya berada pada indeks ke-3, proses ini bertujuan untuk menentukan nilai tengah.
Langkah 2:
Membandingkan nilai tengah dengan data yang dicari, apakah 16 = 27? Jika tidak maka kta lanjutkan ke bagian berikutnya. Untuk menentukan bagian mana yang harus kita cari berikutnya cukup dengan membandingkan kembali larik tengan dengan angka yang dicari, perbandingan 16 < 27, ternyata nilai tengah lebih kecil dari angka yang dicari, jadi pencarian dilanjutkan ke bagian kanan, karena lebih kecil.
Langkah 3:
Hitung kembali nilai tengahnya dan hasilnya adalah nilai tengah berada pada indeks ke-4, lalu lakukan pencarian seperti langkah ke-2, angka 27 ditemukan pada indeks ke-5
Angka 27 terletak pada indeks ke-5 looping ke-3.
Sumber :
Modul Struktur Data Ibu Tati Harihayati
Wikipedia
Bagikan
Searching
4/
5
Oleh
Rifaldi Yunus