2. Pengertian
Struktur pohon (Tree structure) adalah salah satu
bentuk struktur data non-linier.
Pohon adalah susunan dari satu atau lebih simpul
(node) yang terdiri dari satu simpul khusus yang
disebut akar (root) sedang sisanya membentuk
subtree dari akar.
10/12/2012 Nurdiansah PTIK 09 UNM 2
3. Akar (root) dari struktur pohon tersebut
adalah A.
Satu simpul akan berisi :
- informasi (mis : A, B, dst).
- cabang-cabang (link) yang menghubungkan
ke simpul-simpul yang lain.
Simpul A sebagai akar mempunyai 3 link yang
membentuk SUBTREE B, C, dan D.
Jumlah Subtree dari satu simpul disebut
Derajat (Degree).
Derajat dari simpul : A = 3, B = 2, C = 1, G =
0.
Simpul yang mempunyai derajat = 0 disebut
SIMPUL TERMINAL atau DAUN (LEAF).
10/12/2012 Nurdiansah PTIK 09 UNM 3
4. Struktur pohon yang terkenal adalah
struktur geneologi (silsilah).
Dalam struktur pohon silsilah dikenal
istilah simpul anak (children) dan orang
tua dari anak (parent).
Anak dari orang tua yang sama disebut
SIBLING (saudara).
Dua buah simpul yang mempunyai tingkat
yang sama dalam sebuah pohon disebut
SEPUPU.
DERAJAT (Degree) suatu pohon adalah
derajat maksimum dari suatu simpul
dalam pohon.
10/12/2012 Nurdiansah PTIK 09 UNM 4
5. NENEK MOYANG dari suatu simpul adalah
seluruh simpul-simpul yang ada
sepanjang lintasan dari akar sampai
simpul tersebut.
KEDALAMAN (Height atau Depth) dari
suatu pohon ditentukan oleh level
maksimum dari simpul dalam pohon.
HUTAN (Forest) adalah susunan dari
beberapa pohon.
10/12/2012 Nurdiansah PTIK 09 UNM 5
6. Ada 2 cara untuk menyatakan struktur
pohon, yaitu :
1. Gambar
2. Daftar (List)
Contoh : (A (B(E(K,L),F), C(G),
D(H(M),I,J)))
Cara Menyatakan Struktur Pohon
10/12/2012 Nurdiansah PTIK 09 UNM 6
7. Jika diketahui : n = jumlah simpul/node.
k = derajat pohon
JUMLAH LINK = n . K
JUMLAH NULL – LINK = n (k -1) + 1
JUMLAH NON – ZERO LINK = n – 1
Struktur node k – ary :
Perhitungan dalam Struktur Pohon
10/12/2012 Nurdiansah PTIK 09 UNM 7
9. Dari gambar di atas diketahui :
n = 10
k=3
maka dapat dihitung :
Jumlah Link = n. k = 10 . 3 = 30
Jumlah null –link = n (k-1) + 1
= 10 ( 3 – 1) + 1
= 21
Jumlah non – zero link = n – 1
= 10 – 1 = 9
10/12/2012 Nurdiansah PTIK 09 UNM 9
10. Pohon Biner (Binary Tree)
Pohon Biner memiliki k = 2.
Pohon Biner adalah himpunan terbatas yang :
1. Mungkin kosong atau
2. Terdiri dari sebuah simpul yang disebut
sebagai akar dan dua buah himpunan lain
yang tidak berhubungan dan membentuk
subtree kiri dan subtree kanan dari pohon
biner tersebut.
Simpul dalam pohon biner adalah susunan dari
simpul- simpul yang masing-masing bisa
kosong atau terdiri dari akar dan dua buah
pohon biner yang terpisah (subtree kiri dan
kanan).
10/12/2012 Nurdiansah PTIK 09 UNM 10
11. Full Binary Tree Complete Binary
Tree
10/12/2012 Nurdiansah PTIK 09 UNM 11
12. Pohon biner penuh (Full Binary Tree) adalah
pohon biner yang mempunyai simpul atau
node lengkap dari level 1 sampai level i.
Pohon biner lengkap (Complete Binary Tree)
adalah pohon biner yang mempunyai simpul
dengan nomor urut 1 sampai dengan n.
Kedalaman minimal dari pohon biner adalah :
log2 n + 1 , dimana n = jumlah
simpul
Jumlah maksimum simpul dari pohon biner
dengan level i, adalah
2i – 1 , dimana i > = 1
Jumlah simpul pada level i adalah
2i – 1
10/12/2012 Nurdiansah PTIK 09 UNM 12
13. Contoh Soal 1
Bila kedalaman suatu pohon = 4 maka
jumlah simpul dari pohon tersebut adalah
:
24 – 1 = 16 – 1 = 15
Banyak simpul pada :
level 1 : 21-1 = 1
level 2 : 22-1 = 2
level 3 : 23-1 = 4
level 4 : 24-1 = 8
10/12/2012 Nurdiansah PTIK 09 UNM 13
15. Skewed Tree
Skewed Tree adalah struktur pohon biner
yang miring ke kiri atau kanan, atau dengan
kata lain adalah pohon biner dengan subtree
kiri kosong atau kanan kosong.
Bentuk pohon ini apabila disimpan dalam
bentuk array akan sangat memboroskan dan
tidak efisien
10/12/2012 Nurdiansah PTIK 09 UNM 15
17. Penyimpanan data dalam memory dari pohon
biner hanya menguntungkan kalau pohon
binernya penuh sehingga tidak memboroskan
tempat.
Untuk menanggulangi ini maka digunakan
representasi linked list dimana masing-
masing simpul akan mempunyai 3 field, yaitu
:
10/12/2012 Nurdiansah PTIK 09 UNM 17
18. Deklarasi :
struct nama simpul
{
tipe data DATA;
struct nama_simpul *RCHILD,
*LCHILD;
};
10/12/2012 Nurdiansah PTIK 09 UNM 18
19. Pohon Biner Biasa Skewed
Tree
Representasi Link
10/12/2012 Nurdiansah PTIK 09 UNM 19