[
Tugas Kuliah ] Algoritma dan Pemrograman 2 | Searching - Binary
Tugas
TI POLITALA Alpro 2C
Nama :
Prima Angelia Rehulina Barus
Kelas :
2C
Jurusan :
Teknik Informatika
NIM :
1801301109
Matkul :
Alpro 2 Tugas 2
Semester :
II
SEARCHING
Pada pembahasan
kali ini, saya akan menjelaskan tentang materi searching khususnya materi
searching dengan metode binary.
Pengertian Searching
(pencarian)
Proses searching (pencarian)
adalah proses untuk menemukan nilai (data) tertentu di dalam sekumpulan data
yang bertipe sama (baik bertipe dasar atau bertipe bentukan). Tempat pencarian
data dapat berupa array dalam memori, bisa juga pada file pada external
storage.
Ada 2 metode
seacrching (pencarian) yaitu
1. Metode
pencarian sekuensial ( sequential search )
2. Metode
pencarian biner ( binary search )
Tetapi pada kali ini
saya akan membahas tentang salah satu materi yaitu metode pencarian biner( binary
search )
a. Metode
pencarian biner ( binary search )
Suatu teknik
pencarian data dengan cara membagi data menjadi dua bagian setiap kali terjadi
proses pengurutan. Data yang disimpan harus sudah terurut. Pencarian dilakukan dengan cara menentukan
apakah data yang dicari ada berada ditengah-tengah data, kemudian membandingkan
data yang dicari dengan data yang berada ditengah. Bila data yang ditengah sama
dengan data yang dicari, berarti data tersebut ditemukan. Namun, bila data yang
ditengah lebih besar daripada data yang dicari, maka dapat data yang dicari
kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan
data tengah dapat diabai.
b. Algoritma
dari metode biner
Adapun Proses
Algoritma Sequential Searching adalah sebagai berikut:
1.
Data diambil dari posisi 1 sampai posisi akhir N
2.
Kemudian cari posisi data tengah dengan rumus:
(posisi awal + posisi akhir) / 2
3.
Kemudian data yang dicari dibandingkan dengan data
yang di tengah, apakah sama atau lebih kecil, atau lebih besar?
4.
Jika lebih besar, maka proses pencarian dicari
dengan posisi awal adalah posisi tengah + 1
5.
Jika lebih kecil, maka proses pencarian dicari
dengan posisi akhir adalah posisi tengah – 1
6.
Jika data sama,
berarti ketemu.
Algoritma pencarian
sekuensial dapat dituliskan sebagai berikut :
awal=0 ,akhir=n-1;
do
{
tengah = (awal+akhir)/2;
if(x < data[tengah])
akhir=tengah-1;
else
awal=tengah+1;
}
while ((akhir>=awal)&&(data[tengah]!=x));
if(data[tengah]==x)
cout<<"Data\t"<<x<<"\tditemukan"<<"\tpada posisi "<<tengah+1;
else
cout<<"Data tidak ditemukan "<<endl;
c. Data 6 4 8 9 5
Carilah data angka 8
Penyelesaian :
Data yang dicari adalah 8
-
n = 5 , awal = 0, akhir = 5 – 1 = 4 → akhir > awal
tengah
= ( awal + akhir ) / 2 = ( 0 + 4 )/2 = 2
x
.... Data [tengah] → x ... Data [2]
8 = 8
Data
8 pada posisi 3.
Sekian penjelasan
dari saya tentang materi searching yaitu searching dengan metode biner (binary
search). Semoga bermanfaat.
Daftar pustaka
0 komentar:
Posting Komentar