Sabtu, 06 Juni 2015

SEQUENTIAL SEARCH

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