Anda di halaman 1dari 10

Pertemuan 15 :

Tree, Binary Tree, &


Traversal Tree
Algoritma & Struktur Data
Eko Budiarto, S. Kom., MM.
Teknik Informatika – S1
Fakultas Teknik
Universitas Pelita Bangsa
Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

TREE

Tree merupakan salah satu bentuk struktur data bukan linier yang

menggambarkan bentuk hierarki antara elemen-elemen. Tree atau pohon biasanya

terdiri dari root atau akar, dan node-node atau simpul-simpul yang berada di

bawah root. Pohon atau tree dapat kita temukan dalam kehidupan sehari-hari yang

berbentuk struktur pohon, khususnya untuk menggambarkan sesuatu yang

berjenjang atau dapat disebut berhirarki. Contohnya yaitu diagram struktur

organisasi mulai dari pimpinan puncak ke para pegawai di bawahnya, diagram

silsilah keluarga, atau jadwal pertandingan dengan system gugur. Implementasi

struktur pohon dapat memanfaatkan pointer seperti model linked list. Setiap node

mempunyai bagian data dan bagian pointer (Siahaan, 2018).

Algoritma & Struktur Data – Eko Budiarto 1


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

Istilah-istilah pada tree antara lain :

1. Degree (derajat) adalah jumlah edge yang keluar dan masuk dari sebuah
node.
Contoh : node E memiliki in degree 1 dan out degree 2

2. Root (akar) adalah node yang memiliki derajat keluar ≥ 0 dan derajat masuk
= 0.
Contoh : node A adalah root

3. Subtree adalah adalah bagian salah satu node di bawah root sampai ke
bawah.
Contoh :
tree C adalah right subtree dari A, dan
tree B merupakan left subtree dari A

4. Parent adalah predecessor satu level di atas satu node.


Contoh : node F merupakan parent dari node J dan K

5. Child adalah successor satu level di bawah suatu node.


Contoh : node G dan F merupakan child dari node C

6. Predecessor adalah node yang berada di atas node tertentu.


Contoh : node B adalah predecessor dari node E

7. Successor adalah node yang berada di bawah node tertentu.


Contoh : node E adalah successor dari node A.

8. Size adalah banyaknya node dalam suatu tree.


Contoh : 11 node

9. Ancestor adalah seluruh node yang terletak sebelum node tertentu dan
terletak pada jalur yang sama.
Contoh : ancestor dari J adalah F, C, A

10. Descendant adalah seluruh node yang terletak sesudah node tertentu dan
terletak pada jalur yang sama.
Contoh : descendant dari F adalah J, K

11. Leaf (daun) adalah semua node yang derajat masuknya 1 dan derajat
keluarnya 0.
Contoh : node D, H, I, J, K, dan G adalah leaf

Algoritma & Struktur Data – Eko Budiarto 2


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

12. Sibling adalah node yang mempunyai level yang sama dan parent yang
sama.
Contoh : node D adalah sibling dari node E

13. Height (ketinggian) adalah banyaknya tingkatan/level dalam suatu tree


Contoh : height dari tree A adalah 4

14. Weight (bobot) adalah jumlah daun/leaf pada tree.


Contoh : weight dari tree A adalah 6

BINARY TREE

Binary Tree adalah sebuah tree dengan syarat bahwa tiap node hanya

boleh memiliki maksimal 2 subtree yang disebut sebagai subpohon kiri(left

subtree) dan subpohon kanan (right subtree) dan kedua subtree tersebut harus

terpisah, atau dengan kata lain tiap node dalam binary tree hanya boleh memiliki

paling banyak 2 child.

Binary tree terdiri dari :

1. Full Binary Tree : semua node (kecuali leaf) pasti memiliki 2 anak dan subtree

memiliki panjang path yang sama.

Algoritma & Struktur Data – Eko Budiarto 3


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

2. Complete Binary Tree : mirip dengan full binary tree, tetapi tiap subtree boleh

memiliki panjang path yang berbeda dan tiap node (kecuali leaf) memiliki 2

anak).

3. Skewed Binary Tree : binary tree yang semua nodenya (kecuali leaf) hanya

memiliki satu anak.

Algoritma & Struktur Data – Eko Budiarto 4


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

TREE TRAVERSAL

Ada tiga pola umum yang digunkaan untuk mengunjungi semua node dalam tree.

Perbedaan antara 3 pola ini adalah urutan kunjungan terhadap node.

Kunjungan ini dinamakan “traversal.”, yaitu preorder, inorder dan postorder.

Preorder : Penelusuran node berawal dari ROOT, kemudian berlanjut ke turunan

dari sebelah kiri, jika sedah jalur kiri sudah tidak ada anak lagi, diteruskan ke jalur

turunan sebelah kanan, terus berlanjut sampai akhir node. Atau pertama menuju

ke node ROOT kemudian secara recursive melakukan preorder pada subtree

sebelah kiri, diikuti dengan traversal preorder secara recursive ke subtree sebelah

kanan.

Algoritma & Struktur Data – Eko Budiarto 5


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

Inorder : Melakukan traversal inorder secara recursive pada subtree sebelah kiri,

menuju ke node ROOT, dan terakhir melakukan traversal inorder secara recursive

pada subtree sebelah kanan.

Postorder : Melakukan traversal postorder secara recursive pada subtree bagian

kiri dan kanan, lalu berkunjung ke node ROOT.

Algoritma & Struktur Data – Eko Budiarto 6


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

Algoritma & Struktur Data – Eko Budiarto 7


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

Algoritma & Struktur Data – Eko Budiarto 8


Fakultas Teknik - Program Studi Teknik Informatika Universitas Pelita Bangsa

Terimakasih
Eko Budiarto, S. Kom., MM.
ekobudiarto@pelitabangsa.ac.id
0878.4405.5481

Algoritma & Struktur Data – Eko Budiarto 9

Anda mungkin juga menyukai