Anda di halaman 1dari 37

ITSNU SRIWIJAYA SUMSEL

Pertemuan Ke 15
Matematika Diskrit

Pohon (Tree)
Defenisi

 Pohon (tree) adalah sebuah graf tak berarah yang


terhubung (connected), yang tidak mengandung
sirkuit sederhana, tidak ada loop, dan tidak
terdapat garis parallel

 Hutan (forest) adalah


 kumpulan pohon yang saling lepas, atau
 graf tidak terhubung yang tidak mengandung
sirkuit. Setiap komponen di dalam graf
terhubung tersebut adalah pohon.
Istilah-Istilah dalam Tree

 Pohon Semu (Trivial Tree) : tree yang hanya terdiri


dari sebuah simpul.
 Pohon Kosong (Empty Tree) : tree yang tidak
mempunyai simpul.
 Hutan (Forest) : Kumpulan tree yang tidak memuat
sirkuit dan tidak saling berhubungan antar tree-nya.
 Daun (leaf / terminal vertex) : simpul dalam tree yang
berderajat 1.
 Titik cabang (Branch / Internal Vertex) : simpul dalam
tree yang berderajat > 1
Istilah-Istilah dalam Tree
 Akar (Root) : simpul yang dikhususkan dari simpul yang lainnya
atau parent tertinggi.
 Tingkat (Level) simpul : banyaknya garis/sisi antara simpul
tersebut dengan akar.
 Tinggi (Height) tree : tingkat maksimum yang dimiliki oleh
simpul-simpul tree.
 Anak (Children) dari simpul v : semua simpul yang berhubungan
langsung dengan v, tetapi mempunyai tingkat yang lebih tinggi
dari v.
 Orang tua (Parent) : jika w anak dari v, maka v adalah parent dari
w.
 Saudara (Sibling) : simpul- simpul dengan parent yang sama
 Ancestors : simpul- simpul pada lintasan dari root ke simpul
tersebut, di luar simpul itu sendiri dan termasuk root.
 Descendants simpul v : simpul- simpul dengan v sebagai
ancestors-nya.
Sifat-sifat Pohon
Teorema. Misalkan G = (V, E) adalah graf tak-
berarah sederhana dan jumlah simpulnya n. Maka, semua
pernyataan di bawah ini adalah ekivalen:
1. G adalah pohon.
2. Setiap pasang simpul di dalam G terhubung dengan
lintasan tunggal.
3. G terhubung dan memiliki m = n – 1 buah sisi.
4. G tidak mengandung sirkuit dan memiliki m = n – 1
buah sisi.
5. G tidak mengandung sirkuit dan penambahan satu
sisi pada graf akan membuat hanya satu sirkuit.
6. G terhubung dan semua sisinya adalah jembatan.
Teorema di atas dapat dikatakan sebagai definisi
lain dari pohon.
Pohon Merentang (spanning tree)

Pohon merentang dari graf terhubung adalah


upagraf merentang yang berupa pohon.
Pohon merentang diperoleh dengan memutus
sirkuit di dalam graf.

Setiap graf terhubung mempunyai paling sedikit


satu buah pohon merentang.
Graf tak-terhubung dengan k komponen
mempunyai k buah hutan merentang yang disebut hutan
merentang (spanning forest).
Aplikasi Pohon Merentang

 Jumlah ruas jalan seminimum mungkin yang


menghubungkan semua kota sehingga setiap kota tetap
terhubung satu sama lain.
Perutean (routing) pesan pada jaringan komputer

(a) (b)

Router Subnetwork

(a) Jaringan komputer, (b) Pohon merentang


multicast
Pohon Rentang Minimum

Graf terhubung-berbobot mungkin mempunyai lebih dari


1 pohon merentang.
Pohon rentang yang berbobot minimum dinamakan
pohon merentang minimum (minimum spanning tree).

a a
45
55 d d
25 30 25 30
c h c h
b b
40 20 40 20
50
5 15 5 15
g g
e e
35 10 10

f f
Algoritma Prim
 Langkah 1: ambil sisi dari graf G yg berbobot
minimum, masukkan ke dlm T.
 Langkah 2: pilih sisi (u, v) yg mempunyai bobot
minimum dan bersisian dgn simpul di T, tetapi (u,
v) tidak membentuk sirkuit di T. Masukkan (u, v)
ke dlm T.
 Langkah 3: ulangi langkah 2 sebanyak n – 2 kali.

1 10 2
50 1 10 2
30 45 40 3
35 45 3
4 35
25 4
5 25
20 55 5
15 20 55
15
6
6
Algoritma Prim
Tabel Pembentukan Pohon merentang minimum dg
Algoritma Prim:
Pohon merentang minimum yang dihasilkan:
1 10 2

3
35
4
25
5
20
15

Bobot = 10 + 25 + 15 + 20 + 35 = 105
Pohon merentang yang dihasilkan tidak selalu unik
meskipun bobotnya tetap sama.
Algoritma Kruskal
 Langkah 0: sisi-sisi dari graf sudah diurut menaik
berdasarkan bobotnya – dari bobot kecil ke bobot
besar.
 Langkah 1: T masih kosong.
 Langkah 2: pilih sisi (u, v) dengan bobot
minimum yang tidak membentuk sirkuit di T.
Tambahkan (u, v) ke dalam T.
 Langkah 3: ulangi langkah 2 sebanyak n – 1
kali. 2
1 10
50 1 10 2
30 45 40 3
35 45 3
4 35
25 4
5 25
20 55 5
15 20 55
15
6
6
Algoritma Kruskal
Sisi-sisi Graf diurut menaik berdasarkan bobotnya:
Pohon merentang minimum yang dihasilkan:
1 10 2

3
35
4
25
5
20
15

Bobot = 10 + 25 + 15 + 20 + 35 = 105
Pohon Berakar

Pohon yang satu buah simpulnya diperlakukan


sebagai akar dan sisi-sisinya diberi arah sehingga menjadi
graf berarah dinamakan pohon berakar (rooted tree).

a a

b b
d d
c c

e e
f g f g

h i j h i j
Pohon Berakar
Terminologi pada Pohon Berakar

1. Anak (child atau children) dan


a
Orangtua (parent)
 b, c, dan d adalah anak-anak simpul
a, b
c d
 a adalah orangtua dari anak-anak itu
e
2. Lintasan (path) f g
 Lintasan dari a ke j adalah a, b, e, j.
k
Panjang lintasan dari a ke j adalah 3. h i j

l m
Terminologi pada Pohon Berakar

a
3. Saudara kandung (sibling)
 f adalah saudara kandung e, tetapi, g
bukan saudara kandung e, karena b
orangtua mereka berbeda. c d

e
4. Upapohon (subtree) f g

k
h i j

l m
Terminologi pada Pohon Berakar

5. Derajat (degree) a
Derajat sebuah simpul adalah jumlah
upapohon (atau jumlah anak) pada simpul
tersebut. b
Derajat a adalah 3, derajat b adalah 2, Derajat c d
d adalah 1 dan derajat c adalah 0.
Jadi, derajat yang dimaksudkan disini adalah e f g
derajat-keluar.
Derajat maksimum dari semua simpul k
h i j
merupakan derajat pohon itu sendiri.
Pohon di samping berderajat 3
l m
Terminologi pada Pohon Berakar

6. Daun (leaf)
 Simpul yang berderajat nol (atau tidak a
mempunyai anak) disebut daun.
 Simpul h, i, j, f, c, l, dan m adalah
daun. b
c d

7. Simpul Dalam (internal nodes) e


f g
 Simpul yang mempunyai anak disebut
simpul dalam. h i j
k
 Simpul b, d, e, g, dan k adalah simpul
dalam.
l m
Terminologi pada Pohon Berakar

8. Aras (level) atau Tingkat Aras


Akar mempunyai aras = 0, sedangkan a
0
aras simpul lainnya = 1 + panjang
lintasan dari akar ke simpul tsb.
b 1
9. Tinggi (height) atau Kedalaman c d
(depth)
e 2
Aras maksimum dari suatu pohon f g
disebut tinggi atau kedalaman pohon
tersebut. Pohon di sebelah mempunyaih i k 3
j
tinggi 4.
4
l m
Pohon Berakar Terurut

Pohon berakar yang urutan anak-anaknya penting


disebut pohon terurut (ordered tree).

1 1

2 4 3 4 2
3

5 6 7 8 9 8 9 6 5 7

10 10
Pohon m-ary
 Pohon berakar yg setiap simpul cabangnya mempunyai
paling banyak m buah anak disebut pohon m-ary.
 Jika m = 2, pohonnnya disebut pohon biner (binary
tree.
 Pohon m-ary dikatakan teratur atau penuh (full) jika
setiap simpul cabangnya mempunyai tepat m anak.
Pohon Biner
 Pohon Biner adalah pohon n-ary dengan n = 2.
 Pohon yang palingpenting karena aplikasinya.
 Setiap simpul di dalam pohonbiner
mempunyai paling banyak 2 buah anak.
 Dibedakan antara anak kiri (left child) dan
anak kanan (right child)
 Karena ada perbedaan urutan anak, maka
pohon biner adalah pohon terurut.
a a

b c b c

d d
Gambar Dua buah pohon biner yang berbeda
Pohon Biner

a a

b b

d c

c d

Pohon condong pohon condong Pohon biner


kiri kanan penuh
Pohon Biner Seimbang

Pada beberapa aplikasi, diinginkan tinggi upapohon


kiri dan tinggi upapohon kanan yang seimbang, yaitu
berbeda maksimal 1.

T1 T2 T3
T1 dan T2 adalah pohon seimbang, sedangkan T3
bukan pohon seimbang.
Pohon Pencarian Biner
Pohon Pencarian Biner (binary search tree – BST)
adalah pohon biner yang setiap simpul kuncinya nya
diatur dalam suatu urutan tertentu.
Jika R adalah akar, dan semua kunci yg teersimpan
pd setiap simpul tdk ada yg sama, maka:
a.Semua simpul pd cabang kiri mempunyai kunci
lebih kecil dari kunci (R);
b.Semua simpul pd cabang kinan mempunyai kunci
lebih besar dari kunci (R);
R

Kunci(T1) < Kunci(R)


Kunci(T2) > Kunci(R)
T1 T2
Contoh:
Diketahui data masukan dg urutan sbb: 50, 32, 18,
40, 60, 52, 5, 25, 70
Pohon pencarian biner yg terbentuk yaitu:
50

32 60

18 40 52 70

5 25
Penelusuran (Traversal) Pohon Biner
Preorder : R, T1, T2
- kunjungi R
- kunjungi T1 secara preorder
- kunjungi T2 secara preorder
Langkah 1: kunjungi R
R

T1 T2

Langkah 2: kunjungi T1 Langkah 3: kunjungi T2


secara preorder secara preorder
Penelusuran (Traversal) Pohon Biner
Inorder : T1, R, T2
- kunjungi T1 secara inorder
- kunjungi R (sekaligus proses simpul R)
- kunjungi T2 secara inorder
Langkah 2: kunjungi R
R

T1 T2

Langkah 1: kunjungi T1 Langkah 3: kunjungi T2


secara inorder secara inorder
Penelusuran (Traversal) Pohon Biner
Postorder : T1, T2, R
- kunjungi T1 secara postorder
- kunjungi T2 secara postorder
- kunjungi R (sekaligus memproses simpul R)
Langkah 3: kunjungi R
R

T1 T2

Langkah 1: kunjungi T1 Langkah 2: kunjungi T2


secara postorder secara postorder
Contoh:
Tinjau pohon ekspresi berikut:
*

+ -

a / d *

b c e f

preorder : * + a / b c - d * e f (prefix)
inorder : a + b / c * d - e * f (infix)
postorder : a b c / + d e f * - * (postfix)
Tugas 10

1.Tentukan dan gambarkan pohon merentang


minimum dari graf di bawah ini:
Tugas 10

2.Diketahui sebuah pohon m-ary berikut:

Sebutkan terminologi dari pohon tersebut!


Tugas 10

3.Diberikan masukan berupa rangkaian karakter


dengan urutan sebagai berikut:
P, T, B, F, H, K, N, S, A, U, M, I, D, C, W, O
a)Gambarkan pohon pencarian (search tree) yang
terbentuk.
b)Tentukan hasil penelusuran preorder, inorder, dan
postorder, dari pohon jawaban (a) di atas.
Tugas 10

4.Diketahui pohon ekspresi berikut:

a)Tentukan hasil penelusuran preorder, inorder, dan


postorder, dari pohon tersebut.
b)Lakukan evaluasi pada pohon tersebut, dan tentukan
nilai akhirnya.
‫ َأْش َهُد َأْن َال ِإَلٰـ َه ِإَّال‬، ‫ُس ْبَح اَنَك الَّلُهَّم َو ِبَح ْم ِد َك‬
‫ َو َأُتْو ُب ِإَلْيَك‬، ‫ َأْس َتْغ ِفُر َك‬، ‫َأْنَت‬
Subhanakallahumma wa bihamdika asyhadu
anlaa illaha illaa anta astaghfruka wa atuubu
ilaika
Maha Suci Engkau, ya Allah Tuhanku, dan
aku bersaksi tiada Tuhan selain Engkau.
Ampunilah dosa-dosaku dan aku bertobat
kepada-Mu.

Anda mungkin juga menyukai