fbpx

Algoritma dan Pemrogaman : Pencarian Sekuensial Pada Array Terurut dan Tidak Terurut Bahasa Pascal

Pada artikel ini kita akan membahas tentang pencarian. Proses pencarian adalah proses menemukan data tertentu di dalam sekumpulan data yang bertipe sama. Pada modul, sekumpulan data yang bertipe sama kita akan menggunakan array. Pencarian adalah salah satu hal yang fundamental dalam pemrograman. Jika kita membuka aplikasi pada komputer, fitur yang hampir pasti selalu ada adalah fitur pencarian. Entah itu mencari sebuah kata dalam kumpulan teks, mencari data tertentu pada spreadsheet, mencari mahasiswa dengan nama tertentu pada aplikasi database dan lain sebagainya.

Akan di bahas dua macam pencarian yaitu pencarian sekuensial dan biner. Pada artikel ini akan di bahas terlebih dahulu proses pencarian secara sekuensial.


Pencarian Sekuensial Pada Array Tidak Terurut

Pada pencarian sekuensial pada array yang tidak terurut, proses pencarian adalah proses iterasi yang dimulai dari data indeks pertama pada array sampai data yang dicari ditemukan atau sampai data pada indeks terakhir.

Dari pernyataan di atas, terdapat 2 kondisi dimana proses pencarian berhenti yaitu:

  1. Jika data yang dicari ditemukan
  2. Jika sudah sampai di data indeks terakhir.

Berikut adalah fungsi pencarian sekuensial untuk mencari data integer pada array of
integer yang tidak terurut :

Type Larik = array [1..100] of integer;
Function SequentialSearch(A:Larik; N:integer; X:integer) : integer;
Var
i:integer;
Begin
  i:=1;
  while (i<N) and (A[i] <> X) do 
    i:= i + 1;
  if (A[i] <> X) then SequentialSearch:=0
  else SequentialSearch:=i;
End;

dimana i adalah indeks array, N adalah jumlah data, X adalah nilai yang mau dicari. Hasil dari fungsi di atas adalah nomor indeks array dimana data X ditemukan atau 0 jika tidak ada data yang dicari pada array.


Pencarian Sekuensial Pada Array Terurut

Pada pencarian sekuensial pada array yang terurut, proses pencarian adalah proses iterasi yang dimulai dari data indeks pertama pada array sampai data yang dicari ditemukan atau nilai yang dicari sudah melebihi atau kurang dari nilai data pada indeks array yang dikunjungi atau sampai data pada indeks terakhir.

Dari pernyataan di atas, terdapat 3 kondisi dimana proses pencarian berhenti yaitu:

  1. Jika data yang dicari ditemukan
  2. Jika nilai data pada indeks array yang sedang dikunjungi sudah melebihi atau kurang dari nilai yang dicari (tergantung array terurut menaik atau menurun).
  3. Jika sudah sampai di data indeks terakhir.

Berikut adalah fungsi pencarian sekuensial untuk mencari data integer pada array of
integer yang terurut dari kecil ke besar

Type Larik = array [1..100] of integer;
Function Sequentialsearch(A:Larik; N:integer; X:integer): 
integer;
Var
i:integer;
Begin
  i:=1;
  while (i<N) and (A[i] < X) do i:= i + 1;
  if (A[i] = X) then Sequentialsearch:=i
  else Sequentialsearch:=0;
End;

dimana i adalah indeks array, N adalah jumlah data, X adalah nilai yang mau dicari. Hasil dari fungsi di atas adalah nomor indeks array dimana data X ditemukan atau 0 jika tidak ada data yang dicari pada array.


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Pencarian, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up