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 :