Anda di halaman 1dari 26

1

DPH1H4 - Implementasi Struktur Data

Tree
Terminology
Tim Dosen Implementasi Struktur Data

D3 RPLA – Fakultas Ilmu Terapan

1
2

TREE

• Kumpulan elemen yang salah satunya disebut akar (root) dan sisa
elemen yang lain disebut simpul (node)
• Bentuk struktur data tidak linier (non linear)
• Biasanya digunakan untuk menggambarkan hubungan yang
bersifat hierarki, seperti :
• struktur organisasi
• pohon klasifikasi / silsilah
• pohon sintaks / pohon ekspresi

2
3

Tree pada sistem file LINUX

3 3
4

Contoh hubungan hierarkhi


Pohon ekspresi untuk ekspresi aritmatika
((6-(12-(3+7)))/(1+0)+2)*(2*(3+1))

4 4
5

Tree Terminology
Edge
• Root
Firstnode pada sebuah tree
• Edge
Penghubung antara node dengan node lainnya
• Parent
Node pada hirarki langsung diatas node tersebut
(predecessor satu level)
Contoh: B adalah Parent D, E, F
• Child
Node pada hirarki langsung dibawah node tersebut
(successor satu level)
Contoh: D, E, F adalah child dari B
5
6

Tree Terminology
Predecessor
Node yang berada sebelum node tertentu
A Successor
Node yang berada setelah node tertentu
Ancestor/nenek moyang
Seluruh node yang terletak sebelum node tertentu pada jalur yang sama
B C (A adalah Ancestor dari B, C, D, E, F, G)
Descendant/Keturunan
Seluruh node yang terletak sesudah node tertentu pada jalur yang sama
D E F G (B, C, D, E, F, G adalah Descendant dari A)

6
7

Tree Terminology
Sibling
Node-node yang satu ayah, sehingga berlevel sama.
Dikenal juga istilah sibling yang tepat di kanan dan sibling yang tepat
di kiri (B adalah Sibling C)
Subtree
Bagian dari tree berupa suatu node beserta descendantnya
Size
Banyaknya node dalam suatu tree
Level (Depth)
Hirarki suatu node. Root berhirarki 0, node dibawahnya berhirarki 1
dan seterusnya.
Height
Selisih hirarki dari level terendah ke level tertinggi/nomor level leaf
terbawah.

7
8
Tree Terminology

Depth/Kedalaman
Jumlah edge dari root sampai dengan node tersebut
Degree
Banyaknya child dari suatu node
(Degree B adalah 3, Degree A, E, dan C adalah 2)
Forest
Himpunan dari sejumlah tree

8
9

9
10

Jenis Tree

• Berdasarkan banyaknya anak :


• Binary tree / pedigree chart : Complete Binary Tree tingkat N,Skewed BinaryTree
• Non Binary Tree (N-ary) & lineal chart

• Dari pentingnya urutan Isi :


• Ordered tree
• Non ordered tree

10
11

Binary Tree

kumpulan simpul yang mungkin


kosong atau mempunyai akar dan
dua subpohon yang saling terpisah
(left subtree dan right subtree)

11
12

Pohon Biner

 Derajat maksimal = 2
 Complete binary tree tingkat N : pohon biner yang semua daunnya terdapat
pada tingkat N dan semua simpul yang lebih kecil dari N pasti mempunyai
cabang kiri dan kanan
 Banyak simpul maksimum pada tingkat N = 2N-1
 Skewed binary tree : pohon biner yang banyaknya simpul cabang kiri tidak
seimbang dengan banyak simpul cabang kanan

12
13

Contoh Pohon Biner :

Contoh Bukan Pohon Biner :


Mengapa ketiga
pohon tsb tidak
dapat disebut
Pohon Biner ?

13
14
Full Binary Tree

Binary tree yang :


Setiap node memiliki tepat 0 atau 2 child

14
15
Complete Binary Tree
Binary tree yang :
1.Setiap leaf memiliki depth n or n-1
2.Setiap leaf pada depth n / pada level terendah merapat ke kiri

√ √ X
15
16

Perfect Binary Tree

Binary tree yang :


1. Setiap inner memiliki tepat dua child
2. Setiap leaf terletak pada depth yang sama

16
17
Skewed Binary Tree

Binary tree yang semua nodenya kecuali leaf hanya memiliki


satu child

17
18

Tree
Traversal
Seperti halnya graf, tree juga menggunakan
algoritma tertentu untuk mengunjungi node
yang berada pada suatu tree.

18
19

Traversal / Kunjungan

Traversal : Mengunjungi setiap node pada tree


Ada tiga cara mengunjungi node-node pada suatu tree :
 preorder traversal : root, node left in the subtree, node right in the subtree
 inorder traversal : node left in the subtree, root, node right in the subtree
 postorder traversal : node left in the subtree, node right in the subtree, root

Note : You may ``pass-through'' a node


as many times as you like but you must
only process the node once.

19
20

Traversal Pada Tree

20
21
Preorder : root, kiri, kanan

A A

B C B C

D E F G D E F

G H
A B D E C F G
A B D G H C E F

21
22
Inorder : kiri, root, kanan

B C

D E F

G H

B G D H A E C F

22
23
Postorder : kiri, kanan, root

B C

D E F

G H

G H D B E F C A

23
24
Try This One !

B C

D E F

Pre-Order: A-B-D-C-E-F
In-Order: B-D-A-E-C-F
Post-Order: D-B-E-F-C-A

24
25

LATIHAN

Tulislah hasil penelusuran tree berikut


berdasarkan:
Pre-Order, In-Order, dan Post-Order

25 Sumber Referensi: https://www.sanfoundry.com/data-structure-questions-answers-inorder-traversal/


26

LATIHAN

Tulislah hasil penelusuran tree


berikut berdasarkan:
Pre-Order, In-Order, dan Post-Order

26 Sumber Referensi: https://en.wikibooks.org/wiki/A-level_Computing/AQA/Paper_1/Fundamentals_of_algorithms/Tree_traversal

Anda mungkin juga menyukai