Tampilkan postingan dengan label Pencarian Data. Tampilkan semua postingan
Tampilkan postingan dengan label Pencarian Data. Tampilkan semua postingan

Selasa, 22 November 2016

C Programming : Linear Search

Assalamu'alaikum.
Postingan kali ini saya mau bahas problem acak lagi, yaitu Linear Search.

Apa itu Linear Search?
Langsung saja, Pencarian data secara garis lurus.
Karena suatu array satu dimensi diibaratkan layaknya garis lurus, maka pencarian data dilakukan terurut dari posisi awal sampai posisi akhir.

Intinya, pencariannya dimulai dari posisi ke-0, lalu posisi ke-1, 2, dst sampai posisi akhir.
Kalau datanya ditemukan, langsung keluarkan posisinya.

Gambaran source codenya bisa dilihat dibawah.
Untuk program utamanya.


Untuk fungsi binary search nya.


Oh iya. Disini saya menggunakan beberapa fungsi tambahan selain int main(),
tapi jika kalian ingin membuat linear searchnya ke dalam fungsi main() pun tidak masalah.

Kemudian contoh eksekusi program.


Sekian penjelasan singkat tentang Linear Search.
Kalo ada pertanyaan atau saran pada postingan ini, silahkan tulis di komentar.
Terima kasih.
Wassalamu'alaikum.

C Programming : Binary Search

Assalamu'alaikum.
Postingan kali ini saya mau bahas problem acak lagi, yaitu Binary Search.

Apa itu binary search?
Binary = Biner
Search = Mencari
Jadi arti dari bubble sort adalah mencari biner.

Maksudnya adalah teknik mencari data dengan menggunakan konsep biner.
Nah, biner sendiri kan bilangan 0 dan 1 aja.
Jadi teknik pencarian data ini adalah dengan membagi sebuah array satu dimensi data menjadi 2 sampai datanya ditemukan.

Biar tahu, langsung aku kasih contohnya nih.
Oh iya, sama ini PENTING BANGET!! Syarat dari binary search adalah, data yang ingin dijadikan tempat pencarian harus sudah terurut entah itu ascending atau descending.
INGET YA.. HARUS SUDAH TERURUT.

Contoh proses Binary Search :
Misalkan data-datanya adalah 2 3 5 7 11 13 17
Ingin mencari nilai data 11 ada di posisi mana.

Maka :

<Langkah 1>
Titik awal = 1, Titik akhir = 7
Jumlah data = 7 data
data dibagi 2, yaitu 4 data awal dan 3 data akhir.
Titik tengah = (Titik awal + Titik akhir) / 2 = 8 / 2 = 4
Posisi titik ke-4 memiliki nilai data 7
11 tidak sama dengan 7

<Langkah 2>
Titik awal = Titik tengah + 1 = 5, Titik akhir = 7
Jumlah data = 3 data
data dibagi 2, yaitu 2 data awal dan 1 data akhir
Titik tengah = (5 + 7) / 2 = 12 / 2 = 6
Posisi titik ke-6 memiliki nilai data 13
11 tidak sama dengan 13

<Langkah 3>
Titik awal = 5, Titik akhir = Titik tengah - 1 = 5
Jumlah data = 1 data
data dibagi 2, yaitu 1 data awal dan 0 data akhir
Titik tengah = (5 + 5) / 2 = 10 / 2 = 5
Posisi titik ke-5 memiliki nilai data 11
11 sama dengan 11

Maka, nilai data 11 bisa ditemukan pada posisi data ke-5

Gambaran source codenya bisa dilihat dibawah.
Untuk program utamanya.


Untuk fungsi binary search nya.


Oh iya. Disini saya menggunakan beberapa fungsi tambahan selain int main(),
tapi jika kalian ingin membuat binary searchnya ke dalam fungsi main() pun tidak masalah.

Kemudian contoh eksekusi program.



Sekian penjelasan singkat tentang Binary Search.
Kalo ada pertanyaan atau saran pada postingan ini, silahkan tulis di komentar.
Terima kasih.
Wassalamu'alaikum.