Tree
Tree
Tree adalah bentuk struktur data yang menggambarkan hubungan antara sejumlah elemen yang
bersifat hierarki (hubungan satu kebanyak). Tree terdiri dari gabungan node (daun) yang saling
berhubungan.
Node memiliki fungsi untuk menyimpan data.
Analogi Tree seperti pohon yang terbalik, dengan root (akar) yang menjadi bagian puncak.
KEUNGGULAN & FUNGSI TREE
Keunggulan :
Konsep Tree dapat memudahkan melakukan pencarian karena tidak perlu melalui proses pengurutan
data terlebih dahulu.
Fungsi :
Membantu pengindeksan pada database.
Domain Name Server juga menggunakan struktur data tree.
Kasus penggunaan tree yang paling umum adalah situs jejaring sosial, seperti Facebook, Instagram, Twitter,
dll.
ANATOMI TREE
ISTILAH DALAM TREE
1. Node adalah entitas pada struktur data tree
yang mengandung sebuah nilai. >>
A,B,C,D,E,F,G,H
2. Root merupakan node akar atau node
paling atas dari sebuah tree >> Node A
3. Parent/Internal Node (Induk) adalah node
yang berada diatas node yang lain secara
langsung. (Sebuah node disebut parent jika
memiliki minimal 1 child node) >> Node
A,B,C,D Ex: Node B adalah induk dari Node
D & Node E
4. Child Node / Subtree (Anak) adalah sebuah
node yang berada tepat di bawah suatu
node tertentu >> B,C,D,E,F,G,H Ex: Node D
& E adalah anak dari Node B
ISTILAH DALAM TREE
5. Sibiling adalah node yang memiliki induk yang
sama >> Node D&E adalah sibiling karena
berinduk yang sama yaitu node B
6. Level merupakan tingkatan biilangan yang
menunjukan hierarki sebuah node >> Node
A ada di level 0,
7. Leaf Node adalah node yang tidak memiliki
child >> Node H,E,F,G
8. Edge merujuk pada garis yang
menghubungkan antara dua buah node
dalam tree. Jika sebuah tree memiliki N
node maka tree tersebut akan memiliki (N-
1) edge.
BINARY SEARCH TREE (BST)
Binary Seacrh Tree adalah tree yang memiliki syarat bahwa tiap node hanya boleh memiliki maksimal dua child
node, yaitu left child dan right child. Sehingga sebuah node boleh tidak memiliki child node atau maksimal dua
child node.
15
15
15 15 15 Salah, Karena
child bukan kiri
maupun kanan
Benar
9 17 17
9 17
Benar
Benar Benar
ATURAN BINARY SEARCH TREE
Semua node yang berada pada bagian kiri dari suatu node X, nilainya harus lebih
kecil dari node X tersebut.
Semua node yang berada pada bagian kanan dari suatu node X, nilainya harus
lebih besar dari node X tersebut.
OPERASI UMUM PADA BST
9 17
delete
15 15
6
9 17 9 17
20 4 12 20
4 12
18 18
6
DELETE : KONDISI 2
Kondisi Apabila node yang dihapus hanya memiliki salah satu dari node child (left child/right child) yang dimiliki.
delete
15 15
4
9 17 9 17
20 6 12 20
4 12
18 18
6
DELETE : KONDISI 3A
Kondisi Apabila node yang dihapus memiliki dua child sekaligus (left child dan right child). Kondisi seperti ini
membutuhkan node Successor (node dengan nilai yang paling kecil di sebalah kanan node yang akan dihapus)
yang digunakan sebagai pengganti node yang akan dihapus, sehingga akan ada 2 kemungkinan yaitu:
1. Node successor tepat berada di sebelah kanan node yang akan dihapus.
delete
15 17
15
20
9 17 9
successor
4 12 20 6 12 18
6 18
DELETE : KONDISI 3B
2. Node successor tidak berada tepat disebalah kanan,proses penghapusan dilakukan secara bertahap yaitu
dengan menjadikan node successor sebagai parent dari right child node yang akan dihapus. Selanjutnya node
yang dihapus akan digantikan oleh node successornya.
delete 15 2
15 1 18
15
20
20 9
9
25
19 18
25 4 12
4 12 18
successor
9 20
6
6 19
19 25
4 12
6
FIND
Find
15
12
9 17
Mulai dari root
15
9 17
6
PRE-ORDER
15
9 17
6
PRE-ORDER
15
9 17
6
KESIMPULAN
Tree terdiri dari gabungan node (daun) yang saling berhubungan & bersifat hierarkis.
Keunggulan : Konsep Tree dapat memudahkan melakukan pencarian karena tidak perlu melalui proses
pengurutan data terlebih dahulu.
Anatomi & Istilah Tree
bit.ly/3qDKXSt
QIUZ
bit.ly/42UAQ9l