SEQUENTIAL
SEARCH
- Pengertian
Sequential Search adalah teknik pencarian data dimana data
dicari secara urut dari depan ke belakang atau dari awal sampai akhir.
berdasarkan key yang di cari Kelebihan dari proses pencarian secara sequential
ini
jika data yang dicari terletak didepan, maka data akan
ditemukan dengan cepat.
Tetapi dibalik kelebihannya ini, teknik ini juga memiliki
kekurangan.
jika data yang dicari terletak dibelakang atau paling akhir,
maka akan membutuhkan waktu yang lama dalam proses pencariannya.
beban komputer akan semakin bertambah jika jumlah data dalam
array sangat banyak.
Proses:
Mulai dari awal(atau dari akhir) cek seluruh record dalam
array atau list, baca satu persaru
Temukan record sesuai dengan key yang dicari.
Proses Searching berhenti karena salah satu alasan.
Success – Found the target key
End of List – No more records to compare
Diaplikasikan pada Array (sorted &unsorted) atau Linked
List.
- Sequential Search Analysis
Bagaimana worst case dan average case untuk metode sequential
search?
Kita harus mendefinisikan O-notation untuk nilai dari operasi
yang dibutuhkan dalam pencarian
Jumlah operasi pencarian bergantung pada nilai n, yaitu
jumlah elemen dalam list.
Worst Case Time for Sequential Search:
Untuk sebuah array dengan elemen, makaworst case time untuk
sequential search requires n array
accesses: O
Kondisi yang mengharuskan pengecekanterhadap semua elemen
array (record) adalah: Record yang
dicari berada pada posisiterakhir dari array.
Setelah pengecekan seluruh elemen array,ternyata record yang
dicari tidak berhasilditemukan dalam array tersebut.
- Algoritma Sequential Search
i ? 0
ketemu ?false
Selama (tidak ketemu) dan (i < N) kerjakan baris 4
Jika (Data[i] = key) maka
ketemu ?true
jika tidak
i ?i+1
Jika (ketemu) maka
i adalah indeks dari data yang dicari
jika tidak
data tidak ditemukan
- Contoh Program dalam bahasa C++ :
#include <iostream>
#include <conio>
void main(){
const int n = 5;
int A[n]={24,1,25,40,50};
int B=0;
int C;
cout<<"Masukkan angka yang di cari : "; cin>>C;
for(int i=0;i<n;i++)
{
if(A[i]==C)
{
for(int k=i;k<n;k++){
A[k]=A[k+1];
}
}
}
for(int i=0;i<n;i++){
cout<<"isi array ke-"<<i+1<<" adalah : "<<A[i]<<endl;
}
getch();
}
- Ini hasil dari contoh coding diatas :
Semoga bermanfaat untuk kita semua :) Sekian dan Terimakasih sampai jumpa dipost selanjutnya :)
Salam STIKOMERS www.stikom-bali.ac.id
Tidak ada komentar:
Posting Komentar