Binary search adalah algoritma pencarian untuk data yang terurut

advertisement
NAMA : Dede Arseyani
NRP
: G 551140031
Catatan Matakuliah Metkom (Tanggal 23 Desember 2016)
Binary Search
Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan
dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian
membandingkan data yang dicari dengan data yang ada ditengah. Bila data yang ditengah sama
dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar
dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada
disebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabaikan. Contoh
Binary Tree dan juga bukan binary tree :
Yang Akan dibahas mengenai salah satu metode pencarian, yaitu Binary Search. Pada sesi
ini hanya akan membahas mengenai:

Pengertian/konsep binary search

Algoritma binary search

Contoh study kasus

Contoh program binary search
Keunggulan
Keunggulan utama dari algoritma binary search adalah kompleksitas algoritmanya yang lebih
kecil daripada kompleksitas algoritma sequential search. Hal ini menyebabkan waktu yang
dibutuhkan algoritma binary search dalam mencari sebuah record dalam sebuah table, lebih
kecil daripada waktu yang dibutuhkan algoritma sequential search.
Kelemahan
Data harus disorting dahulu dan algoritma lebih rumit, tidak baik untuk data berantai. algoritma
ini hanya bisa digunakan pada tabel yang elemennya sudah terurut baik menaik maupun
menurun.
Fungsi
Pencarian Biner (Binary Search) dilakukan untuk :

Memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang
dicari dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat
besar ukurannya.

Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulangulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi
(berarti ada kemungkinan data tidak ditemukan).

Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut,
misalkan terurut menaik.
Inorder Listing



Visit left substree
Visit node
Visit right subtree
PREORDER Listing
Kunjungan jenis ini mempunyai urutan kunjungan sebagai berikut :
– Cetak isi simpul yang dikunjungi.
– Kunjungi cabang kiri.
– Kunjungi cabang kanan
Untuk Algoritma In-Order
Untuk Algoritma Pre-Order
AVL TREE
Dalam ilmu komputer, sebuah pohon AVL adalah sebuah pohon biner terurut yang dapat
menyeimbangkan dirinya sendiri. Pada sebuah pohon AVL, tinggi dari dua anak sub pohon
dari simpul apapun memiliki perbedaan paling besar 'satu'. Lookup, penyisipan(insertion),
dan penghapusan (deletion) semuanya memerlukan O(logn) kali dalam kasus biasa dan
kasus terburuk. Penambahan(additions) dan penghapusan membutuhkan pohon tersebut
untuk menyeimbangkan kembali dirinya melalui rotasi pohon satu kali atau lebih.cara
perurutannya yaitu sebelah kiri nilai yang paling rendah sedangkan sebelah kanan nilai
paling besar dari nilai utamanya (root),left<root<right. Contoh AVL Tree :
Download