Linier Binary Search

Linier Search & Binary Search


Hai kawan semua !! kali ini saya akan melakukan pembahasan tentang Linier dan Binary Search. Btw kalian udah tau belum apa itu Linier dan Binary search? nahh! untuk lebih jelasnya simak materi dibawah yaaa...


Fungsi Linier dan Binary Search


  1. Membaca data yang ada di array, jika data belum terurut, maka lakukan pengurutan data.
  1. Menentukan data yang akan dicari di dalam array.
  1. Menentukan nilai elemen tengah array, jika nilai elemen tengah array sama dengan data yang dicari, maka pencarian akan dihentikan, jika elemen tengah tidak sama dengan data yang dicari, maka:
  • Jika nilai tengah lebih besar dari nilai yang dicari, maka pencarian hanya dilakukan pada setengah array pertama.
  • Jika nilai tengah lebih kecil dari nilai yang dicari, maka pencarian hanya dilakukan pada setengah array sisa.
Hasil Code diatas :


Pada kali saya akan membahas tentang Linier Search dan Binary Search. Disini saya menggunakan bahasa Pemrograman Python untuk implementasinya.
Apa itu Linier Search ?
Linear search merupakan program search yang mudah dipahami, linear search memiliki kelebihan apabila data yang di cari letaknya pada data – data awal sehingga prosesnya berjalan cepat, namun apabila data yang di cari letaknya pada data terakhir maka pencarian lebih memakan waktu yang cukup lama pula.
Apa itu Binary Search ?
Binary search, bisa dilakukan jika data sudah terurut, dimana sistem pencariannya yang relatif cepat dan efisien walaupun ada banyak data sekalipun. Karena data dicari dari depan, tengah dan belakang. Tetapi sintaks dan algoritmanya sedikit lebih rumit, karena kita harus mengurutkan data terlebih dahulu. Pengurutan data disini bisa kalian lakukan dengan metode ascending ataupun descending.
Untuk dasar dari binary search ini, saya akan memberikan array dengan data yang telah diurut sebelumnya. Agar lebih mudah memahami dasar dari binary search ini. Adapun algoritma dari binary search ini adalah sebagai berikut :
Jadi untuk pencarian data, jika data tidak urut dan data lebih banyak dengan menggunakan metode Binary Search,  data diurutkan terlebih dahulu dan mencari nilai tengah untuk mempermudah pencarian data, dan membuang proses yang memang tidak diperlukan lagi. Dan untuk Linier Search, data tidak harus diurutkan terlebih dahulu, dia langsung mencari dimana data itu akan ditemukan, jika ketemu langsung ditampilkan, kelemahannya ada pada jika data terlalu banyak proses bisa menjadi lama.
Contoh soal 


1. Tuliskan jumlah iterasi yang dilakukan dalam sebuah algoritma binary search dalam melakukan pencarian data 
a. Jika data tersebut ada dalam list
b. Jika data tersebut tidak ada dalam list
Input : data yang dicari(ada dan tidakada dalam list)
Output : Jumlah iterasi sebanyak n kali

2. Modifikasi algoritma linear search, buat agar data dalam list terurut terlebih dahulu. Kemudian lakukan pencarian. Jika data yang dicari tidak ada dalam list dan data yang dicari lebih kecil dari data ke n. Maka iterasi berhenti. Bandingkan jumlah iterasi dengan soal no 1.
Input : 
- Data yang dicari:4
- List : 10,1,6,4,7,8
Algoritma :
- Sort
-Modifikasi linier search
Output : Jumlah iterasi sebanyak n kali


Code Binary Search:



Hasil Running code diatas :



Code linier Search :



Hasil Running code diatas :



Sekian materi dari saya, terima kasih dan semoga bermanfaat ^_^

Tidak ada komentar:

Posting Komentar