Anda di halaman 1dari 22

TREE

Dany Candra Febrianto, S,Kom., M,Eng.


DEFINISI 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

 Insert : fungsi untuk memasukan data (node) ke dalam BST

 Delete : fungsi untuk menghapus data didalam BST

 Find : fungsi untuk mencari nilai data dalam BST

 Sorting : fungsi untuk mengurutkan data dalam BST


INSERT
Insert
15
18

9 17

 Mulai dari root

4 12 20  Pindah ke Node 17 sebelah kanan karena 18 > 15

 Pindah ke Node 20 sebelah kanan karena 18 > 17


18
6  Tempatkan 18 disebelah kiri node 20 karena 18 < 20
& node seblah kiri masih kosong
DELETE : KONDISI 1

 Kondisi yang dihapus ada leaf node

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

 Bandingkan nilai yang akan dicari dengan root 12 < 15


4 12 20
pindah ke left child
 Bandingkan nilai yang akan dicari dengan left child (9)
6 12 > 9 pindah ke right child
 Node 12 ditemukan
TRAVELSALS
 Travelsals merupakan cara untuk mengunjungi node pada binary tree. Ada 3 cara tree
traversals, yaitu: in-order, pre-order, dan post-order. Berikut adalah cara
penggunaannya:

• In-order : kiri, root, kanan


• Pre-order : root, kiri, kanan
• Post-order : kiri, kanan, root
IN-ORDER

15

9 17

 In-order : kiri, root, kanan


4 12 20
 [4, 6, 9, 12, 15, 17, 20]

6
PRE-ORDER

15

9 17

 Pre-order : root, kiri, kanan


4 12 20
 [15,9,4,6,12,17,20]

6
PRE-ORDER

15

9 17

 Post-order : kiri, kanan, root


4 12 20
 [6,4,12,9,20,17,15]

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

 Operasi Pada Tree :


 Find : fungsi untuk mencari nilai data dalam BST
 Sorting : fungsi untuk mengurutkan data dalam BST
 Insert : fungsi untuk memasukan data (node) ke dalam BST
 Delete : fungsi untuk menghapus data didalam BST
MATERI

 bit.ly/3qDKXSt
QIUZ

 bit.ly/42UAQ9l

Anda mungkin juga menyukai