SEQUENTIAL SEARCH

June 29, 2009

SEQUENTIAL SEARCH


Sebuah teknik pencarian data dimana teknik ini mencari data secara berurut dari awal sampai akhir. Kelebihan dari teknik ini adalah jika data yang dicari itu terletak didepan, maka data itu akan langsung di-detect dan ketemu lebih cepat. Algoritmanya juga sederhana.Selain itu, sumber data tidak perlu diurut terlebih dahulu sebelum dilakukan pencarian. Namun ada juga kekurangannya, yaitu jika data yang dicari berada pada baris paling akhir, maka waktu pencariannya akan cukup lama. Selain itu beban komputasi akan meningkat jika dilakukan pencarian pada sumber data yang cukup banyak.



Sebelum melanjut ke Penjelasan Berikutnya, Silakan Download terlebih dahulu Scriptnya dengan Mengklik Disini, Karena Script Program tersebut berhubungan dengan penjelasan di bawah..



Penjelasan :


Diketahui sebuah diketahui sebuah aray bernama data dengan jumlah data 8 dan isi data_sekarang adalah 8,10,6,-2,10,7,1,100. maka kalo ditulis atau dideklarasikan dengan bahasa C++ menjadi int data[8]={8,10,6,-2,10,7,1,100}. kita juga mendeklarasikan terlebih dahulu variable yang bebas anda beri nama, misalnya disini saya beri nama index, ketemu, dan cari. misalnya anda mencari nilai 7 pada data yang sebelumnya sudah dideklarasikan. maka nanti nilai 7 akan dimasukan ke dalam variable cari. maka dengan menggunakan perintah for yang isi dari data_sekarang akan diulang dan dibandingkan dengan variable cari.
data_sekarang itu sama dengan cari. maka akan dijalankan perintah dibawahnya, yaitu nilai variable ketemu yang awalnya adalah 0 diganti dengan 1, statemen ” index = i ” maksudnya adalah variable index diisi dengan nilai i pada perulangan for dimana nilai i itu mewakili indeks pada data yang sama dengan variable cari.
selanjutnya pada statemen if( ketemu==1 ) , jika benar ketemu bernilai 1 maka akan ditampilkan ke layar anda bahwa DATA KETEMU !!! posisi indeks dari data itu ditemukan ditampilkan , namun variable ketemu tidak sama dengan 1 , maka yang ditampilkan adalah ” Data tidak ditemukan”.

Prinsip kerja dari Sekuensial Searching ini adalah semua data di cek oleh variabel cari. jadi misalnya jumlah data adalah seratus, akan dibandingkan dengan seratus data satu per satu dari posisi indeks awal sampai akhir. jika nilai yang dicari sudah ketemu, maka data dibelakang nilai itu tidak akan diproses. namun bukan tidak mungkin data itu diproses. kita lihat kembali isi dari variable data_sekarang pada potongan progam di atas. ada 2 nilai yang sama namun berada pada posisi indeks yang berbeda. jika program itu dikompile atau dieksekusi, maka coba anda masukan nilai 3 pada variable cari, maka akan ditemukan pada posisi …. namun mengapa 3 pada indeks ini tidak diproses ??? seharusnya menurut logika kita, ada 2 nilai yang sama dan harus ditampilkan pada posisi …. dan ….. namun mengapa tidak ??? ini dikarenakan ada statemen ” Break; ” . statemen ini yang mengakibatkan jika data sudah ditemukan pada posisi awal maka pencarian diakhiri, walaupun masih ada 2 ato 10 data yang bernilai sama dibelakang data yang ditemukan pertama kali, itu semua tidak akan diproses… namun jika Statemen break ini dihilangkan, Maka meskipun data sudah ditemukan di depan, program akan terus berusaha mencari data yang yang bernilai sama sampai data itu ditemukan . maka jika datanya masih ada yang sama, maka posisi indeks akan diganti dengan posisi akhir data ditemukan. misalnya ada nilai 3 pada posisi …… dan ada lagi nilai 3 pada posisi …. maka jika pada variable cari berisi angka 3
. maka nanti programnya mengatakan DATA KETEMU dimana indeksnya yang brubah. awalnya indeks tersebut sebelum Break; dihilangkan berada pada posisi …. , kemudian setelah dihilangkan pada posisi…., ini dikarenakan saat data ditemukan program tidak langsung berhenti melainkan tetap mencari kemungkinan data yang berada pada variable cari itu masih ada. jika ada maka indeksnya akan berganti dengan indeks data terakhir yang ditemukan.


ILUSTRASI DARI SEQUENTIAL SEARCH


Diketahui ada data {8,10,6,-2,10,7,1,100} Dan kemudian sub data yang ingin dicari adalah misalnya angka 5. Seperti pada tabel di bawah ini :

Array 0 1 2 3 4 5 6 7
DATA 8 10 6 -2 10 7 1 100
TARGET 1

Maka Sesuai dengan permintaan di atas pada bagian Pencarian maka langkah penemuannya adalah :

  1. Bandingkan data pada array 0 dengan Target. ternyata 8 != 1, maka lanjutkan ke array selanjutnya.
  2. Sekarang data pada array 1 dibandingkan dengan Target. ternyata juga 10 != 1, maka lanjut
  3. Begitu seterusnya sampai berhenti pada Array ke 6. karena nilai array ke 6 = target, maka tampilkan data pada array ke 6.

NAMA I GST AG NGR DHARMA ATMAJA
NIM 080010312
KELAS O_081