SQUENTIAL SEARCH
GUSTI BAGUS WIJAYA LAKSANA
1929101004
PENGERTIAN
• Metode yang paling sederhana dari sejumlah metode pencarian adalah metode pencarian
berurutan yang sering dikenal dengan squential search atau liniear search.
• Sequential search adalah suatu teknik pencarian data dalam array (1 dimensi) yang akan
menelusuri semua elemen-elemen array dari awal sampai akhir, dimana data-data tidak perlu
diurutkan terlebih dahulu.
• Secara garis besar data yang dicari dibandingkan satu per satu sampai data tersebut ditemukan
atau tidak ditemukan. Pada saat data yang dicari sudah ditemukan, maka proses pencarian
langsung dihentikan. Tetapi jika data yang dicari belum ditemukan, maka pencarian diteruskan
sampai seluruh data dibandingkan.
BEST CASE & WORST CASE
• Kemungkinan terbaik (best case) adalah jika data yang dicari terletak di indeks array
terdepan (elemen array pertama) sehingga waktu yang dibutuhkan untuk pencarian data
sangat sebentar (minimal).
• Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array
terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data
sangat lama (maksimal).
ALGORITMA
Int main (input arr : [1..N] array of integer; input x :integer){
//Kamus : x adalah nilai yang dicari;
Deklarasi :
Int index, value;
Algoritma
}
Int recSearch (input arr : array [1..N] of integer; input l,r,x : integer){
Algoritma :
If (r < l) then
Return -1
Endif
If (arr[l] == x) then
Return l;
Endif
If (arr[r] == x) then
Return r;
Endif
Return recSearch(arr,l +1, r- 1,x);
Program
// Driver Code
// Recursive C++ program
int main()
// to search x in array
{
#include<bits/stdc++.h>
int arr[] = {12, 34, 54, 2, 3};
using namespace std;
int n = sizeof(arr) / sizeof(arr[0]);
// Recursive function to
int x = 2;
// search x in arr[l..r]
int index = recSearch(arr, 0, n - 1, x);
int recSearch(int arr[], int l,
if (index != -1)
int r, int x)
cout << "Element" << x
{
<< " is present at index "
if (r < l)
<< index;
return -1;
else
if (arr[l] == x)
cout << "Element" << x
return l;
<< " is not present" ;
if (arr[r] == x)
return 0;
return r;
}
return recSearch(arr, l + 1, r - 1, x);
}
Contoh Kasus
If (3! = -1)= ….
arr = [12,34,54,2,3];
Print = Element 2 is present at index
N = (4*5) / 4 = 5;
index; 3
X = 2;
4 2
If (4<0) // false
If(12 == 2) //false
If(3 == 2) //false
If (34==2) //false
If(2==2)//true
Contoh Kasus
return recSearch(arr, 2,5,13);
arr = [88,11,12,15,14,8,9,7];
If (5<2) // false
N = (8*4) / 4 = 8;
If(12 == 13) //false
X = 13;
If(8 == 13) //false
7 13
return recSearch(arr, 3,4,13);
Index = recsearch (arr, 0, n-1, x)
(arr, l, r, x) If (4<3) // false
Index = reSearch(arr, 0, 7, 13);
If(15 == 13) //false
If (7<0) // false
If(14 == 13) //false
If(88 == 13) //false
return recSearch(arr, 4,3,13);
If(7 == 13) //false
If (3<4) // true
return recSearch(arr, 1,6,13);
Index = -1
If (6<1) // false