Algoritma Searching ( Pencarian ) | Ariyo Web

Algoritma Searching ( Pencarian )

Pencarian/ Searching adalah proses mencari suatu data di tentukan suatu kumpulannya, misal pada suatu array , linked-list, file, atau pada kumpulan data yang lain.

Algoritma pencarian

  1. Pencarian Beruntun ( Linear Searching)

    Ide Pencarian : Elemen yang dicari dibandingkan dengan element-element yang ada pada kumpulan data tempat pencarian satu persatu mulai dari element pertama.

  2. Algoritma : CARI ( A, N, x )
          {Mencari data x pada array A yang elemennya sebanyak N} 
            read (x) 
            I ← 1
            while x <> A(I) AND <= N DO
            I ← I + 1
            end

    Pengaturan Hasil (Output)

    Sesuai permasalahan pada pencarian yang di kemukakan di atas maka output yang di inginkan dari proses pencarian tersebut bisa disesuaikan dengan permasalahan di atas, yaitu :

    1. Jika yang di inginkan berupa komentar bahwa data x di temukan atau tidak :
    2. if I <= N then 
           write (x,' Found')
      else
           write(x,' Not Found')
      end
    3. Jika hasil yang di inginkan berupa status bahwa data x ditemukan atau tidak :
    4. if I <= N then 
           Ketemu ← TRUE
      else
           Ketemu ← FALSE
      end
    5. Jika hasil yang di inginkan berupa indeks data x pada array A :
    6. if I <= N then 
           Hasil ← 1
      else
           Hasil ← 0 { Jika tdk di temukan di beri variabel 0 }
      end 
  3. Pencarian Biner/ Bagi Dua ( Binary Searching)
  4. Ide Pencarian : Elemen yang dicari dibandingkan dengan elemen tengah dari kumpulan data pencarian. Jika sama maka data yang dicari ditemukan, jika tidak sama (belum ditemukan) maka data yang dicari itu dibandingkan lagi dengan elemen tengah tersebut.

    Jika lebih kecil maka pencarian dilanjutkan kebagian array sebelah kiri (bagian yang lebih kecil dari elemen tengah). Sebaliknya jika lebih besar maka pencarian dilanjutkan di sebelah kanan elemen tengah. Ulangi langkah tersebut sampai di temukan atau kumpulan data tidak bisa dibagi lagi menjadi dua bagian.

    Algoritma : CARI ( A, N, x )
          {Mencari data x pada array A yang elemennya sebanyak N} 
            read (x) 
            a ← 1
            b ← N
      Ketemu ← FALSE
            while ketemu and a < b do
            T ← (a+b) mod 2
         if x = A(T) then Ketemu TRUE ← TRUE
         else if x < A(T) then ← T - 1
                  else a ← T + 1
            end

    Pengaturan Hasil (Output)

    1. Jika yang di inginkan berupa komentar bahwa data x di temukan atau tidak :
    2. if Ketemu = TRUE then 
           write (x,' Found')
      else
           write(x,' Not Found')
      end
    3. Jika hasil yang di inginkan berupa status bahwa data x ditemukan atau tidak :
    4. if Ketemu = TRUE then 
           Ketemu ← TRUE
      else
           Ketemu ← FALSE
      end
    5. Jika hasil yang di inginkan berupa indeks data x pada array A :
    6. if Ketemu = TRUE then 
           Hasil ← T
      else
           Hasil ← 0 { Jika tdk di temukan di beri variabel 0 }
      end 

Related Post

Kolom Komentar

Delete this element to display blogger navbar

 
© Ariyo Web | Design by Blog template in collaboration with Concert Tickets, and Menopause symptoms
Powered by Blogger