Anda di halaman 1dari 26

POHON / TREE

LUH KESUMA WARDHANI, MT


JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS & TEKNOLOGI
UIN SUSKA RIAU

DEFINISI

Pohon adalah graf tak-berarah terhubung yang tidak


mengandung sirkuit.
Contoh pohon:
a

b
d
f

Sifat pohon : hanya ada satu lintasan unik antara setiap


pasang simpul.
Pada cth 1 : dari b ke f b,a,d,f,
m8_matdis / LKW / 2007

SIFAT-SIFAT POHON

Jika G=(V,N) adalah graf tak berarah sederhana dan


jumlah simpulnya n, maka semua pernyataan di bawah
ini adalah ekivalen :
1.
2.
3.
4.
5.
6.

G adalah pohon
Setiap pasang simpul di dalam G terhubung dengan lintasan
tunggal.
G terhubung dan memiliki m = n-1 buah sisi.
G tidak mengandung sirkuit dan memiliki m = n-1 sisi.
G tidak mengandung sirkuti dan penambahan 1 sisi pada graf
akan membuat hanya satu sirkuit.
G terhubung dan semua sisinya adalah jembatan.
( jembatan = sisi yang bila dihanpus menyebabkan graf
terpecah menjadi 2 komponen )
m8_matdis / LKW / 2007

POHON MERENTANG

Jika G=(V,E) adalah graf tak berarah terhubung


bukan pohon mengandung sirkuit.
G dapat diubah menjadi pohon T=(V,E) dengan cara
memutuskan sirkuit yang ada.
Caranya : pilih sebuah sirkuit, lalu hapus satu sisi dari
sirkuit tersebut. Lakukan proses ini berulang-ulang
sampai semua sirkuit hilang.
Pohon yang terbentuk disebut pohon merentang
(spanning tree).
Pohon merentang adalah pohon yang semua simpul di
pohon T sama dengan semua simpul di graf G, dan sisi
di pohon T sisi di graf G.
m8_matdis / LKW / 2007

POHON MERENTANG

Contoh :

Pada graf terhubung, setidaknya terdapat 1


buah pohon merentang.

m8_matdis / LKW / 2007

POHON MERENTANG MINIMUM

Pohon merentang minimum adalah pohon


merentang dengan bobot yang paling minimum.
Terapan :
Penghitungan

cost pada saat membangun rel KA


yang menghubungkan sejumlah kota.

Algoritma membangun pohon merentang


minimum :
Algo.

Prim
Algo. Kruskal

m8_matdis / LKW / 2007

ALGO. PRIM
1.
2.

3.

Ambil sisi dari graf G yang berbobot minimum,


masukkan ke dalam T.
Pilih sisi e yang mempunyai bobot minimum, dan
bersisian dengan simpul di T,tetapi e tidak membentuk
sirkuit di T. Masukkan e ke dalam T.
Ulangi sebanyak n-2 kali.
Jumlah langkah seluruhnya adalah = n-1 langkah
jumlah sisi di dalam pohon merentang dengan n
simpul.

m8_matdis / LKW / 2007

CONTOH SOAL

Carilah pohon merentang minimum dari graf berikut :


1

10

50

30

45

40
35

25
20

5
55

m8_matdis / LKW / 2007

15

PENYELESAIAN
Langkah Sisi
1
2

(1,2)
(2,6)

Bobot
10
25

Pohon Merentang
1

2
1

1
3

(3,6)

6
2

15

3
6

m8_matdis / LKW / 2007

Langkah Sisi
4.

(4,6)

Bobot
20

Pohon Merentang
1

2
3

4
4
6
5.

(3,5)

35

2
3

44

5
6

Bobot pohon merentang adalah = 10 + 25 + 15+ 20 + 35 = 105


m8_matdis / LKW / 2007

10

ALGO. KRUSKAL

1.
2.
3.

(Asumsi : sisi-sisi graf sudah diurut menaik


berdasarkan bobotnya).
T masih kosong
Pilih sisi e dengan bobot minimum yang tidak
membentuk sirkuit di T. Masukkan e ke dalam T.
Ulangi langkah 2 sebanyak n-1 kali.

m8_matdis / LKW / 2007

11

Langkah
3

Sisi
(4,6)

Bobot

Pohon Merentang
1

20

6
4

(2,6)

25

6
3

(1,4)

30

ditolak
1

(3,5)

35

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

m8_matdis / LKW / 2007

3
4

12

POHON BERAKAR

Pohon berakar pohon yang simpulnya diperlakukan


sebagai akar dan sisi-sisinya diberi arah menjauh dari
akar.
Derajat masuk akar = 0
Derajat masuk simpul lain = 1
Simpul yang derajat keluar = 0 disebut simpul terminal /
daun.
Simpul yang derajat keluar <>0 disebut simpul dalam
atau simpul cabang.

m8_matdis / LKW / 2007

13

PENYELESAIAN (CTH SOAL ALGO. PRIM)

Sisi graf diurutkan menaik :

Sisi

(1,2)

(3,6)

(4,6)

(2,6)

(1,4)

(3,5)

(2,5)

(1,5)

(2,3)

(5,6)

Bobot

10

15

20

25

30

35

40

45

50

55

Langkah
0

Sisi

Bobot

Pohon Merentang


1 2

5 6

(1,2)

10

(3,6)

15

2 3 4 5
6

m8_matdis / LKW / 2007

14

POHON BERAKAR TERURUT

Pohon berakar yang urutan anak-anaknya


penting disebut pohon berakar terurut.
Urutan dispesifikasikan dari kiri ke kanan.
Pentingnya urutan ini adalah dalam
merepresentasikan pohon di dalam komputer,
karena penelusuran 2 buah pohon yang berbeda
akan menghasilkan urutan simpul yang berbeda
pula.

m8_matdis / LKW / 2007

15

POHON M-ARY

Adalah pohon berakar yang setiap simpul


cabangnya mempunyai paling banyak n buah
anak.
Jika m= 2 pohon biner (binary)
Pohon penuh / pohon teratur tiap simpul
cabangnya mempunyai tepat m buah anak.
Pada pohon m-ary penuh dengan tinggi h, maka
jumlah daun = mh

m8_matdis / LKW / 2007

16

POHON BINER

Pohon biner adalah pohon yang setiap simpul


cabangnya mempunyai paling banyak 2 anak.
Simpul anak disebut anak kiri dan anak kanan.
Pohon yang semua simpulnya terletak di bagian
kiri saja atau di bagian kanan saja disebut pohon
condong.
Pohon biner penuh adalah pohon biner yang
setiap simpulnya tepat 2 anak, kiri dan kanan,
kecuali simpul daun.
m8_matdis / LKW / 2007

17

POHON BINER SEIMBANG

Adalah pohon biner yang perbedaan tinggi


antara level maksimal 1.
Terapan pohon biner :
Pohon

ekspresi
Pohon keputusan
Kode prefix
Kode Huffman
Pohon pencarian.

m8_matdis / LKW / 2007

18

POHON EKSPRESI

Definisi : pohon biner dengan daun menyatakan operand


dan simpul dalam (termasuk akar) menyatakan operator.
Contoh : (a+b)*(c/(d+e))
*

+
b

c
d

m8_matdis / LKW / 2007

19

POHON EKSPRESI

Ekspresi dapat ditulis dalam notasi :


Infix

: operator berada di antara dua buah operand.


Prefix : operator mendahului dua buah operand
Postfix : kedua operand mendahului operator.
(a+b)*(c/(d+e)) infix
Prefix : * + a b / c + d e
Postfix : a b + c d e + / *

m8_matdis / LKW / 2007

20

MEMBANGUN POHON EKSPRESI INFIX

Ekspresi infix dibangun dari bawah ke atas dengan


memperhatikan prioritas pengerjaan operator.
(a+b)*(c/(d+e))
+

/
+

b
/

a
+

c
d

e
d

b
d

m8_matdis / LKW / 2007

21

POHON PENCARIAN

Pohon pencarian = binary search tree.


Banyak diterapkan pada operasi pencarian, penyisipan
dan penghapusan elemen.
Pohon pencarian biner adalah pohon biner yang setiap
kuncinya diatur dengan urutan tertentu :

Jika R adalah akar, dan semua kunci yang tersimpan pada


setiap simpul tidak ada yang sama, maka :
Semua simpul di sub pohon kiri mempunyai kunci lebih kecil
dari kunci R.
Semua simpul di sub pohon kanan mempunyai kunci lebih
besar dari kunci R.

m8_matdis / LKW / 2007

22

CONTOH BST

Buatlah sebuah pohon pencarian dengan urutan kunci


sebagai berikut :
50, 32, 18, 40, 60, 52, 5, 25, 70
50

50

32

18

40

52

70

25

m8_matdis / LKW / 2007

23

TRAVERSAL POHON BINER

Misalkan R = akar, T1 = subpohon kiri, T2 = subpohon kanan.

Terdapat 3 skema traversal pohon biner :


Preorder R (proses simpul R), T1, T2
Inorder T1, R (proses simpul R), T2
Postorder T1, T2 , R (proses simpul R)

Proses yang dilakukan terhadap simpul yang dikunjungi : cetak


informasi, manipulasi nilai dsb.

Kunjungan preorder ekspresi prefix


inorder ekspresi infix
postorder ekspresi postfix
m8_matdis / LKW / 2007

24

CONTOH TRAVERSAL BST

Preorder :
A,B,D,E,H,C,F,G,I,J

Inorder :
D,B,H,E,A,F,C,I,G,J

Postorder :
D,H,E,B,F,I,J,G,C,A

A
C

G
I

m8_matdis / LKW / 2007

25

CONTOH TRAVERSAL PADA POHON 4-ARY


a

Preorder : a,b,e,n,o,f,g,c,h,I,d,j,k,l,p,q,m
Inorder : n,e,o,b,f,g,a,h,c,i,j,d,k,p,l,q,m
Postorder : n,o,e,f,g,b,h,I,c,j,k,p,q,l,m,d,a
m8_matdis / LKW / 2007

26

Anda mungkin juga menyukai