Senin, 03 Oktober 2016

SEARCHING


Apa itu searching?

Searching adalah metode pencarian untuk menemukan data dari sekumpulan banyak data, metode searching ada dua macam yaitu sequential dan binary. Perbedaan sequential searching dan binary searching yaitu pada keadaan datanya, binary search memerlukan data yang sudah terurut sedangkan sequential search tidak perlu terurut untuk mencari sebuah data.



Sequential search

Sequential search adalah metode pencarian dengan cara menelusuri semua data atau satu-persatu data sampai banyaknya data(n), dalam metode ini data tidak perlu diurutkan terlebih dahulu untuk melakukan pencarian.

Cara kerja dan implementasi dari sequential search

gb.1.0 (implementasi search pada sequential search)
Sequential search bekerja dengan membandingkan data yang dicari dengan data dari kiri ke kanan, kemudian jika data yang dicari ditemukan pencarian dihentikan kemudian data yg ditemukan di tampilkan ke output.

source code sequential search

function sequen(cari: integer): integer;
begin
        i:=1;
        while ((i<n) and (data[i]<>cari)) do
        i:= i+1;
                if data[i]= cari then
                        sequen:=i
                else
                        sequen:=0;
end;


Binary Seaech

Binary search adalah metode pencarian data dengan membagi data menjadi dua bagian menjadi dua dibatasi dengan tengah, metode ini akan bekerja jika data yang digunakan sudah terurut.
Baca Selengkapnya

Cara kerja Binary Search

gb. 2.0(implementasi binary search)
1. Data yang sudah terurut kemudian dibagi menjadi 2 bagian
2. Setelah mendapatkan tengah-tengah pada data tersebut data tengah di bandingkan dengan data yang dicari jika data yang dicari lebih besar dari data tengah maka data kanan yang di pakai untuk perbandingan selanjutnya
3. Kemudian data yang di pakai mencari tinggal ada 5, kelima data tersebut di bagi menjadi 2 dan di tentukan tengahnya seperti langkah 2
4.Data yang tersisa tinggal 2, jika data sama dengan data yang dicari berarti data telah ditemukan.

source code binary search (pascal)

function binary(cari: integer):integer;
var
        awal,akhir,tengah: integer;
        ketemu:boolean;
        indeksxx: integer;
begin
        awal:= 1;
        akhir:= n;
        ketemu :=false;
        indeksxx := 0;
        while ((awal <= akhir) and (not ketemu)) do
        begin
                tengah:= (awal+akhir) div 2;
                if cari = data[tengah] then
                begin
                        ketemu := true;
                        indeksxx := tengah;
                end
                else
                begin
                        if cari < data[tengah] then
                        akhir :=  tengah-1
                        else
                        awal := tengah+1;
                end;
        end;
        binary:=indeksxx;
end;

Kekurangan dan kelebihan sequential dan binary search

Sequential Search

Kelebihan
-implementasinya mudah di pahami
-tidak memerlukan data terurut

Kekurangan
-membutuhkan waktu lebih lama jika di bandingkan dengan binary search

Binary Search

Kelebihan
-cepat

Kekurangan
-implementasinya susah untuk di pahami
-memerlukan data yang sudah terurut

Referensi

1. http://aguspande96.blogspot.co.id/2015/06/sequential-dan-binary-search.html
2. http://www.bloginformatika.com/2010/08/struktur-data-searching.html
3. http://madisite.blogspot.co.id/2015/04/program-sequintial-search-dan-binary.html

1 komentar:

  1. jika ada yang salah tolong tegur dan beritahu, karena saya masih belajar :)

    BalasHapus