Skip to main content

Pembahasan Dan Contoh Algoritma Pencarian | Algoritma Searching

Pencarian dalam konteks pemrograman adalah proses mencari sebuah data dengan kriteria tertentu. Konsep dasar dari algoritma pencarian mempunyai alur sebagai berikut:
Proses searching :
  1. Sistem menerima suatu nilai yang dicari
  2. Jika nilai ditemukan, menampilkan data yang bersangkutan
  3. Jika nilai tidak ditemukan, menampilkan pesan data tidak ditemukan

Metoda Pencarian :

  • Pencarian berturutan (sequential search)
    • Skema dengan boolean
    • Skema tanpa boolean
  • Pencarian sequential pada tabel terurut
  • Pencarian sequential dengan sentinel
  • Binary Search
    • Mulai dari posisi tengah
    • (tabel harus terurut membesar)

Pembahasan Algoritma


Deklarasi Tabel
   Kamus
   Constant NMax = 100
   Type Tabint : array[1..NMax] of integer
   T : Tabint {tabel integer}
   N : integer {banyaknya elemen tabel T yang sudah terdefinisi}

Pencarian Sequential
Pembahasan Dan Contoh Algoritma Pencarian Sequential
Kasus 1 untuk X = 42
  • Diperiksa terhadap {20,15,45,90,76,36,42}
  • Ditemukan pada indeks ke 7
  • Pencarian dihentikan pada indeks i=7
Kasus 2 untuk X = 58
  • Diperiksa terhadap  {20,15,45,90,76,36,42,67,88,23}
  • Pencarian dihentikan pada indeks i=11

Algoritma Pencarian Sequential skema dengan boolean

Procedure SeqSearch1
                       (input T:Tabint, N:integer, X:integer output IX : integer; Found : boolean)
Kamus i:integer
Algoritma
     i ← 1 ; Found ← false
     while (i≤N) and (not Found) do
           if (T[i] = X) then
               Found ← true
           else i ← i+1
           endif
endwhile
{(i>N) or (Found) }
if (Found)
then IX ← i
else IX ← 0
endif

Contoh Program

Program Cari
Kamus
     {deklarasi tabel T}
      x : integer
      procedure SeqSearch(input T:Tabint, N:integer, X:integer, output IX : integer, Found : boolean)
      procedure IsiTabel(output T:Tabint,N:integer)
Algoritma
     IsiTabel(T,N)
     input(X)
     SeqSearch(T,N,X,IN,Found)
     if (Found) then
          output (“X ada di indeks ke “,IN)
     else output (“X tidak ada”)
     endif

Pencarian Sequential skema tanpa boolean

Procedure SeqSearch2
     (input T:Tabint, N:integer, X:integer 
     output IX : integer)
Kamus i:integer
Algoritma
     i ← 1
     while (i < N) and (T[i] ≠ X) do
                   i ← i+1
     endwhile
     {(i >= N) or (T[i] = X) }
     if (T[i]=X)
     then IX ← i
     else IX ← 0
     endif


Pencarian Sequential pada tabel terurut

Procedure SeqSearchSorted
     (input T:Tabint, N:integer, X:integer
     output IX : integer)
Kamus i:integer
Algoritma
     i ← 1
     while (i < N) and (T[i] < X) do
                  i ← i+1
     endwhile
     {(i >= N) or (T[i] >= X) }
     if (T[i]=X)
     then IX ← i
     else IX ← 0
     endif

Pencarian Sequential dengan sentinel

Procedure SeqSearchSentinel
     (input T:Tabint, N:integer, X:integer
     output IX : integer)
Kamus i:integer
Algoritma
     T[N+1] = X {pasang sentinel}
     i ← 1
     while (T[i] ≠ X) do
                  i ← i+1
     endwhile
     {(T[i] = X) }
     if (i<N+1)
     then IX ← i
     else IX ← 0
     endif

Binary Search

Procedure BinSearch
     (input T:Tabint, N:integer, X:integer
     output IX : integer)
Kamus Atas,Bawah,Tengah:integer
                Found : boolean
Algoritma
     Atas←1; Bawah←N; Found←false; IX ← 0
     while (Atas <= Bawah)and(not Found) do
                  Tengah ← (Atas+Bawah) div 2
                 if(X=T[Tengah])
                 then Found←true;IX←Tengah
                 else if(X<T[Tengah])
                          then Bawah←Tengah-1
                          else Atas←Tengah+1
                          endif
                 endif
endwhile
{(Atas > Bawah)or Found }


Demikian artikel Pembahasan Dan Contoh Algoritma Pencarian.

Dan seperti biasa, terima kasih:)

Comments

Popular posts from this blog

Pemrograman Java : Cara getText dan setText Pada Java GUI

Pada Java GUI untuk mendapatkan text yang user input kamu harus mengambil text dari text area atau bisa juga text field. Untuk melakukannya bisa menggunakan fungsi getText() yang ada pada Java. getText() adalah fungsi yang ada pada Java untuk mengambil teks yang diinput pada form. Lalu untuk memunculkan sebuah teks pada text area atau text field  dapat menggunakan fungsi setText(). Akan diberikan contoh form sebagai berikut untuk lebih memahami penggunaan setText() dan getText() pada Java. Berikut adalah Cara getText dan setText Pada Java GUI : Buatlah form pada JFrame seperti gambar diatas. Caranya hanya tinggal klik kanan pada package yang diinginkan new-->JFrame Form... Lalu buat form seperti berikut: Berikan nama variabel pada text field  sesuai kegunaan. Contohnya text field  jurusan akan diberi nama variabel "jurusan". Caranya klik kanan pada text field yang dikehendaki lalu pilih Change variable name. Ini untuk memudahkan menggunaka...

Pemrograman Java : Cara Membuat Matriks Pada Java

Pengertian umum dari matriks adalah type data yang mengacu sekumpulan elemen bertipe sama melalui 2 indeks (baris & kolom). Atau ada juga yang mengartikan matriks sebagai array dua dimensi. Jika array satu dimensi hanya terdiri satu baris dan beberapa kolom sedangkan matriks memiliki baris dan kolom lebih dari satu. Jika ingin mendapat dasar pembahasan dan contoh algoritma matriks bisa dilihat pada artikel  Pembahasan Dan Contoh Algoritma Matriks . Dalam artikel tersebut dijelaskan konsep dasar dari algoritma matriks tanpa  berkaitan dengan bahasa pemrograman apapun. Kembali ke pembahasan kita kali ini, yaitu membuat Cara Membuat Matriks Pada Java. Berikut adalah code seluruh program dari pembuatan matriks pada java. import java.util.Scanner; public class Array { public static void main(String[] args) { int jumlahBaris, jumlahKolom; Scanner scanner = new Scanner(System.in); System.out.print("Masukan Jumlah indeks baris martriks...

cara membuat menu Dropdown pada web responsif menggunakan Bootstrap

Menu Dropdown adalah menu yang berisi submenu dan submenu akan muncul jika tombol menu ditekan. Dan jika menu tersebut dibuat pada web responsif maka tampilan menu akan menyesuaikan dengan ukuran layar device yang digunakan untuk membuka halaman web. Dengan membuat menu pada web responsif memungkinkan pengunjung web yang membuka halaman web menggunakan smartphone akan mendapat tampilan desain web yang baik dan rapih, sehingga memudahkan pengunjung menjelajahi halaman sebuah web responsif. Lalu bagaimana cara membuat menu Dropdown pada web responsif menggunakan Bootstrap? Kamu tinggal memanggil class untuk menu Dropdown yang disediakan oleh Bootstrap. Berikut adalah uraian bagaimana cara membuat menu Dropdown pada web responsif menggunakan Bootstrap : <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/...