Pada minggu ini kelas besar data
structure diadakan dengan metode yang berbeda, yaitu melalui ZOOM degan
metode video confrence, dikarenakan kondisi pandemi yang sedang terjadi
saat ini. Di minggu ini kelas data structure dibawakan oleh pembicara yaitu kak
Okky yang ternyata adalah alumni BINUS juga. Pada sesi ini kak Okky menjelaskan
tentang konsep dari materi data structure yaitu AVL Tree. Kak Okky menjelaskan
tentang konsep-konsep yang ada di AVL Tree, juga memberikan trick-trick
bagaimana cara menghafal beberapa materi. Berikut adalah rangkuman yang saya
dapatkan.
AVL Tree
Gampangnya AVL Tree itu adalah
BST (Binary Search Tree) tapi yang self-balancing. Maksud dan tujuannya
AVL Tree itu agar depth dari tree nya itu ga terlalu dalem yang
berdampak berkurangnya waktu untuk melakukan searching (waktu searching
menjadi lebih cepat). Dalam AVL Tree juga terdapat Rotation, ada 4 jenis
Rotation yaitu LL Rotation, LR Rotation, RL Rotation,
dan RR Rotation. Rotation ini terjadi ketika kita melakukan
Insertion atau Deletion yang menyebabkan hilangnya keseimbangan dari Tree.
Keseimbangan ini disebut juga Balance Factor, Balance Factor dihitung
dengan cara mengurangi depth dari left-subtree dengan depth
dari right-subtree.
B-Tree
Kemudian setelah materi dari Kak
Okky, kita lanjut lagi belajar sama Pak Henry dan Pak Jaka. Materi yang diajarkan
yaitu B-Tree. Sebenarnya tujuan dari B-Tree itu sama kayak AVL Tree, cuma
bedanya B-Tree digunakan kalo data yang ada sudah menyentuh angka ribuan. Di
dalam B-Tree terdapat hal yang dinamakan Ordo, maksud dari kata Ordo adalah menunjukkan
seberapa banyak data yang bisa ditampung di dalam satu node, jadi kalo
di dalam AVL Tree maupun BST kan biasanya satu node hanya bisa menampung
satu buah data, tapi di dalam B-Tree daya yang bisa ditampung per node
nya bisa lebih dari satu. Jadi jika satu node bisa menampung maksimal 3
buah data maka dinamakan Tree ordo 3 atau bisa juga disebut 2-3 Tree, jika data
maksimal yang bisa ditampung adalah 4 buah maka dinamakan Tree ordo 4 atau 2-3-4
Tree. Pemberian nama ini bisa sampai berapa pun tapi biasanya B-Tree digunakan
sampai maksimal delapan data saja. Di dalam B-Tree juga jika parent node
nya bisa menampung maksimal tiga buah data misalnya, maka child node nya
hanya bisa menampung maksimal dua buah data saja, jadi bisa dibilang child
node hanya bisa menampung n-1 data di mana n adalah jumlah data yang ada di
parent node. B-Tree juga digunakan di dalam mySQL.
Comments
Post a Comment