Anda di halaman 1dari 14

Pohon

Pohon adalah graf tak-berarah terhubung yang tidak mengandung sirkuit


a

pohon

pohon

bukan pohon

bukan pohon

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.

Hutan yang terdiri dari tiga buah pohon Pohon mempunyai bilangan kromatis = 2.

Sifat-sifat Pohon
Teorema. isalkan G = (V, E) adalah graf tak-berarah sederhana dan !umlah simpulnya n. aka, semua pernyataan di ba"ah ini adalah eki#alen$ 1. G adalah pohon. 2. 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 buah sisi. (. G tidak mengandung sirkuit dan penambahan satu sisi pada graf akan membuat hanya satu sirkuit. ). G terhubung dan semua sisinya adalah !embatan. *eorema 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 dalam graf. sirkuit di

T1

T2

T%

T'

Setiap graf terhubung mempunyai paling sedikit satu buah pohon merentang.

+raf tak-terhubung dengan k komponen mempunyai k buah hutan merentang yang disebut hutan merentang (spanning forest).

Aplikasi Pohon Merentang


1. ,alan-!alan seminimum mungkin yang menghubungkan semua kota sehingga setiap kota tetap terhubung satu sama lain. 2. Perutean (routing) pesan pada !aringan komputer.

(a) Router Subnetwork

(b)

(a) ,aringan komputer, (b) Pohon merentang multicast

Pohon Rentang Minimum


+raf terhubung-berbobot mungkin mempunyai lebih dari 1 pohon merentang.

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

a 55 b 5 e 35 25 40

45 c 20

a d 30 h 50 g 10 f f 25 b 5 e 10 40 d c 20 15 g 30 h

15

Algoritma Prim -angkah 1$ ambil sisi dari graf G yang berbobot minimum, masukkan ke dalam T. -angkah 2$ pilih sisi (u, v) yang mempunyai bobot minimum dan bersisian dengan simpul di T, tetapi (u, v) tidak membentuk sirkuit di T. asukkan (u, v) ke dalam T. -angkah %$ ulangi langkah 2 sebanyak n & 2 kali. ,umlah langkah seluruhnya di dalam algoritma Prim adalah 1 . (n & 2) = n & 1 yaitu sebanyak !umlah sisi di dalam pohon rentang dengan n buah simpul.
procedure Prim(input G : graf, output T : pohon) { Membentuk pohon merentang minimum T dari graf terhubungberbobot G. Masukan: graf-berbobot terhubung G = (V, E), dengan V= n e!uaran: pohon rentang minimum T = (V, E") # Deklarasi i, p, q, u, v : integer Algoritma

'

Cari sisi (p,q) dari E yang berbobot terkeci T !(p,q)" for i# to n$% do Pi ih sisi (u,v) dari E yang bobotnya terkeci bersisian dengan simpu di T T T !(u,v)" endfor

namun

/ontoh$
1 30 4 20 6 45 25 55 10 40 2 50 35 5 15 3

-angkah

Sisi

0obot
1
1

Pohon rentang
10
10

1
3

(1, 2)
(3, 6)

10 15

1 2 (2, 6) 25
25

10

25
6

15

(4, 6)

20 4

10

2 3

25 20 6 2 35 25 20 6 55 5 15 3 15

(3, 5)

35 4

1 45

10

Pohon merentang minimum yang dihasilkan$


1 45 4 20 6 25 55 5 15 10 2 3

35

0obot = 11 . 2( . 1( . 21 . %( = 11(

Pohon merentang yang dihasilkan tidak selalu unik meskipun bobotnya tetap sama. 2ni ter!adi !ika ada beberapa sisi yang akan dipilih berbobot sama. /ontoh$
a 4 e 5 i 4 5 3 j 4 3 2 f 4 b 4 3 g 5 k 2 l 4 c 2 d 6 h 4

*iga buah pohon merentang minimumnya$


a ' e ( i j % b 2 ' k l g c % 2 h ' 2 d ' e ( i j a % b 2 c % ' 2 h ' l d ' e ( i j a % b 2 ' g c % ' 2 h ' l d

% ' k

% k

'

0obotnya sama yaitu = %)

Algoritma Kruskal ( -angkah 1$ sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya & dari bobot ke3il ke bobot besar) -angkah 1$ T masih kosong -angkah 2$ pilih sisi (u, v) dengan bobot minimum yang tidak membentuk sirkuit di T. *ambahkan (u, v) ke dalam T. -angkah %$ ulangi langkah 2 sebanyak n & 1 kali.
procedure &ruska (input G : graf, output T : pohon) { Membentuk pohon merentang minimum T dari graf terhubung $ berbobot G. Masukan: graf-berbobot terhubung G = (V, E), dengan V= n e!uaran: pohon rentang minimum T = (V, E") # Deklarasi i, p, q, u, v : integer Algoritma ( %sumsi: sisi-sisi dari graf sudah diurut menaik berdasarkan bobotn&a $ dari bobot ke'i! ke bobot besar) T !" 'hi e (um ah sisi T ) n$# do Pi ih sisi (u,v) dari E yang bobotnya terkeci if (u,v) tidak membentuk sik us di T then T T !(u,v)" endif endfor

/ontoh$
1 30 4 20 6 45 25 55 10 40 2 50 35 5 15 3

Sisi-sisi diurut menaik$ Sisi 0obot (1,2) 11 (%,)) 1( (',)) 21 (2,)) 2( (1,') %1 (%,() %( (2,() '1 (1,() '( (2,%) (1 ((,)) ((

-angkah
0

Sisi

0obot
1

Hutan merentang
2 3 4 5 6

(1, 2)

10

(3, 6)

15

6 3 (4, 6) 20

4 6

5 4

(1, 6) 4) (2,

30 25

1 4

ditolak 2

(3, 5)

35

1 4

2 5

Pohon merentang minimum yang dihasilkan$


1 45 4 20 6 25 55 5 15 10 2 3

35

0obot = 11 . 2( . 1( . 21 . %( = 11(

Pohon Berakar Pohon yang satu buah simpulnya diperlakukan sebagai akar dan sisi-sisinya diberi arah sehingga men!adi graf berarah dinamakan pohon berakar (rooted tree).

b c e

b c e

6
h i j h i j

(a)

(b)

(a) Pohon berakar, (b) sebagai per!an!ian, tanda panah pada sisi dapat dibuang

b a b c d e g h f a e c g d d

f b

h a

b sebagai akar

e sebagai akar

Pohon dan dua buah pohon berakar yang dihasilkan dari pemilihan dua simpul berbeda sebagaia akar

Terminologi pa a Pohon Berakar


a

c f g k

!. Anak (child atau children) an "rangtua (parent) b, c, dan d adalah anak-anak simpul a,
11

a adalah orangtua dari anak-anak itu #. $intasan (path) -intasan dari a ke j adalah a, b, e, j. Pan!ang lintasan dari a ke j adalah %. Sau ara kan ung (sibling) f adalah saudara kandung e, tetapi, g berbeda. bukan saudara kandung e, karena orangtua mereka

%papohon (subtree)
a

g k

&era'at (degree) &era'at sebuah simpul adalah !umlah upapohon (atau !umlah anak) pada simpul tersebut. 7era!at a adalah %, dera!at b adalah 2, 7era!at d adalah satu dan dera!at c adalah 1. ,adi, dera!at yang dimaksudkan di sini adalah dera!at-keluar. 7era!at maksimum dari semua simpul merupakan dera!at pohon itu sendiri. Pohon di atas berdera!at %

11

c f g k

&aun (leaf) Simpul yang berdera!at nol (atau tidak mempunyai anak) disebut aun. Simpul h, i, j, f, c, l, dan m adalah daun. Simpul &alam (internal nodes) Simpul yang mempunyai anak disebut simpul alam. Simpul b, d, e, g, dan k adalah simpul dalam.

Aras (level) atau Tingkat


Aras a 0

b e

c f g k

1 2 3 4

j l

Tinggi (height) atau Ke alaman (depth)


12

8ras maksimum dari suatu pohon disebut tinggi atau ke alaman pohon tersebut. Pohon di atas mempunyai tinggi '. Pohon Terurut Pohon berakar yang urutan anak-anaknya penting disebut pohon terurut (ordered tree).
1 1

3 6 7 8

10

10

(a)

(b)

Pohon m-ary Pohon berakar yang setiap simpul 3abangnya mempunyai paling banyak m buah anak disebut pohon m-ary. ,ika m = 2, pohonnnya disebut pohon biner (binary tree Pohon m!ary dikatakan teratur atau penuh (full) !ika setiap simpul 3abangnya mempunyai tepat m anak.
9 senten(e)

9sub'e(t)

*+erb)

*ob'e(t)

1%

*arti(le)

*noun phrase)

wears

9arti(le)

*noun)

"

9a 'e(ti+e) *noun) tall boy

9a 'e(ti+e) red

9noun) hat

,ambar Pohon parsing dari kalimat 8 tall boy "ears a red hat

1'