14 graph2

9
http://mahmud-imrona.blogspot.com Tree 1/9 Tree Definisi: graph terhubung tak berarah yang tidak mempunyai simple sirkuit Contoh Tree Contoh bukan Tree Teorema: Graph tak berarah adalah tree jika dan hanya jika setiap pasang vertex yang berbeda mempunyai simple path yang unik (tunggal). Contoh: Simple path dari a ke h, hanya satu saja yaitu a-d-e-h, begitupun simple path d-c hanya satu, yaitu: d-e-c. Istilah-istilah yang berkaitan dengan tree: 1. Tree berakar: tree yang mempunyai vertex yang diletakkan pada bagian paling atas, dan mempunyai kesan vertex-vertex berikutnya terhubung ke bawah dari vertex ini. Vertex ini disebut root (akar). 2. Parent (orang tua): yaitu vertex yang terletak lebih di atas dibanding vertex yang bertetangga di bawahnya, vertex ini harus mempunyai child yang merupakan vertex bertetangga di bawahnya 3. Child (anak): vertex yang bertetangga dengan parent, terletak lebih di bawah dibanding parent 4. Right child (anak kanan): child yang terletak di kanan 5. Left child (anak kiri): child yang terletak di sebelah kiri 6. Right Subtree (sub tree kanan): sub tree yang terletak di kanan f a g b e c h d

Transcript of 14 graph2

Page 1: 14 graph2

http://mahmud-imrona.blogspot.com Tree 1/9

Tree Definisi: graph terhubung tak berarah yang tidak mempunyai simple sirkuit

Contoh Tree

Contoh bukan Tree

Teorema: Graph tak berarah adalah tree jika dan hanya jika setiap pasang vertex yang berbeda mempunyai simple path yang unik (tunggal). Contoh:

Simple path dari a ke h, hanya satu saja yaitu a-d-e-h, begitupun simple path d-c hanya satu, yaitu: d-e-c. Istilah-istilah yang berkaitan dengan tree: 1. Tree berakar: tree yang mempunyai vertex yang diletakkan pada bagian paling atas,

dan mempunyai kesan vertex-vertex berikutnya terhubung ke bawah dari vertex ini. Vertex ini disebut root (akar).

2. Parent (orang tua): yaitu vertex yang terletak lebih di atas dibanding vertex yang bertetangga di bawahnya, vertex ini harus mempunyai child yang merupakan vertex bertetangga di bawahnya

3. Child (anak): vertex yang bertetangga dengan parent, terletak lebih di bawah dibanding parent

4. Right child (anak kanan): child yang terletak di kanan 5. Left child (anak kiri): child yang terletak di sebelah kiri 6. Right Subtree (sub tree kanan): sub tree yang terletak di kanan

f

a

g

b

e

c

h d

Page 2: 14 graph2

http://mahmud-imrona.blogspot.com Tree 2/9

7. Left Subtree (sub tree kiri): sub tree yang terletak di kiri 8. Sibling (Saudara Kandung): vertex yang sejajar dengan vertex bersangkutan dengan

parent yang sama 9. Ancestor (nenek moyang): dari suatu vertex adalah vertex yang dilewati path dari

vertex tersebut ke root, tidak termasuk vertex itu sendiri, tetapi root termasuk 10. Descendant (anak cucu): semua vertex yang berasal dari vertex tersebut dan berakhir

pada daun 11. Leaf (daun): vertex yang tidak mempunyai child 12. Internal vertex (vertex dalam): vertex yang bukan root dan bukan daun (berdasarkan

teorema ttg tree full m-ary, ternyata root termasuk internal vertex) Contoh:

Pada tree di atas: Root: a a sebagai parent dari b, c, d child dari a: b, c, d descendant dari b: e, j, k, f, g, l, m anchestor dari m: g, b, a internal vertex: b, d, e, g, h, i, o, (a termasuk internal vertex melihat teorema ttg full m-ary) leaf: c, f, j, k, l, m, n, p, q, r, s sibling dari e: f, g (h dan i bukan sibling dari e) Jenis Tree: 1. Tree m-ary adalah tree dengan child untuk masing-masing vertex maksimal m 2. Tree Full m-ary adalah semua vertex harus mempunyai child sebanyak m 3. Binary Tree: kasus dimana tree m-ary dengan m=2. Sifat-sifat Tree: 1. Tree dengan n vertex mempunyai n-1 busur 2. Tree full m-ary dengan internal vertex sebanyak i mempunyai vertex sebanyak

n=m*i + 1 3. Tree full m-ary dengan

a

b c d

e f g h i

j k l m n o p

q r s

Page 3: 14 graph2

http://mahmud-imrona.blogspot.com Tree 3/9

a. Vertex sebanyak n mempunyai internal vertex sebanyak i=(n-1)/m dan daun sebanyak l=[(m-1)*n + 1]/ m

b. Internal vertex sebanyak i mempunyai vertex sebanyak n=m*i + 1 dan daun sebanyak l=(m-1)*i + 1

c. Daun sebanyak l mempunyai vertex sebanyak n = (m*l -1)/(m – 1) dan internal vertex sebanyak i=(l-1)/(m-1)

Level dari suatu vertex v dari tree berakar adalah panjang path unik dari root ke vertex v Height (tinggi) dari tree berakar adalah level terpanjang dari semua daun yang ada Tree m-ary berakar dengan tinggi (height) h disebut balanced (seimbang) jika semua daunnya mempunyai level h atau h-1. Pada contoh tree di atas, maka tidak termasuk tree m-ary yang balanced, karena h=4, tetapi level c hanya 1. Teorema: Ada paling banyak mh daun pada tree m-ary dengan tinggi h Akibat: Jika tree m-ary dengan tinggi h mempunyai daun sebanyak l, maka h ≥ mlog l. Jika tree m-ary adalah full dan balanced, maka h= mlog l

Dari Tree di atas, jawablah pertanyaan di bawah ini:

1. Benarkah? Termasuk tree 4-ary. 2. Benarkah? Semua daunnya adalah: c, f, j, k, l, m, n, q, r, s, dan p 3. Benarkah? j, k, l, m, n, o, p adalah sibling 4. Nenek moyang p adalah: …………… 5. Cucu moyang d adalah ...... 6. Semua internal vertex adalah ………… 7. Height: 4

a

b c d

e f g h i

j k l m n o p

q r s

Comment [Mr1]: a, d, dan i

Comment [Mr2]: i, p, h, n, o, q, r, s

Comment [Mr3]: b, e, g, h, d, i, dan o

Page 4: 14 graph2

http://mahmud-imrona.blogspot.com Tree 4/9

8. Level o = 3 9. Level q = 4 10. Sub tree kiri dari b = e, j, k (gambarnya mana?) 11. Apakah tree tersebut balanced? Tidak karena height=4, tetapi vertex c hanya

mempunyai level=1 Traversal (Penelusuran) Pohon Ada tiga algoritma, yaitu: Pre Order, In Order dan Post Order Pre Order: 1. Proses akar 2. Telusur Anak kiri dalam Pre Order 3. Telusur Anak kanan dalam Pre Order In Order: 1. Telusur Anak kiri dalam In Order 2. Proses 3. Telusur Anak kanan dalam In Order Post Order 1. Telusur Anak kiri dalam Post Order 2. Telusur Anak kanan dalam Post Order 3. Proses Soal dari pohon ke urutan Dari dua urutan ke pohon khusus untuk tree biner: In order: D B F E A G C L J H K Post order: D F E B G L J K H C A Jawab: Dalam menentukan akar dari Tree dapat digunakan karakteristik dari Post Order, bahwa akar diproses paling akhir, akibatnya A menjadi akar. Berdasarkan In Order, maka didapat D B F E merupakan anak kiri dari A dan G C L J H K merupakan anak kanan dari A. Berdasarkan post order berarti yang terdekat dengan A adalah C, dan terletak di kanan A, karena keterangan di atas. Dari in order, maka anak kiri C adalah G dan anak kanan adalah L J H K. Karena G sendirian, maka node dari G dapat digambarkan dekat dengan C dan terletak di kiri C. Dst sehingga didapat gambar berikut:

Page 5: 14 graph2

http://mahmud-imrona.blogspot.com Tree 5/9

Diberikan urutan penelusuran di bawah ini, buatlah pohonnya: Pre Order: G B Q A C K F P D E R H In Order: Q B K C F A G P E D H R Jawab: Diberikan urutan penelusuran di bawah ini, buatlah pohonnya: In Order: E A C K F H D B G Pre Order: F A E K C D H G B Jawab: Notasi Infix, Prefix, dan Sufix Infix: sudah biasa kita kenal, yaitu operator di tengah, contoh: (x+y)*z Buat tree dari (x+y)*z Prefix: operator di depan, sehingga utk contoh di atas, notasi prefix-nya: *+xyz Ekspresi yang dituliskan dalam bentuk prefik disebut: notasi Polish Postfix: operator di belakang, sehingga utk contoh di atas: xy+z* Berapakah nilai dari ekspresi prefix berikut: + - * 2 3 5 / ^ 2 3 4 Jawab: 3 Berapakah nilai dari operasi postfix berikut: 7 2 3 * - 4 ^ 9 3 / + Jawab: 4 Tree dan Sorting Bubble Sort Merge Sort

A

B C

DE

F

G H

J K

L

Page 6: 14 graph2

http://mahmud-imrona.blogspot.com Tree 6/9

Spanning Trees (Pohon pembangun) Definisi. Misalkan G sebuah simple graph. Spanning tree (Pohon pembangun) dari G adalah sub graph yang berbentuk tree yang berisikan setiap vertex dari G. Contoh: halaman 571 gambar 2 yg spanning tree-nya dapat bermacam2, yaitu: gambar 3 dan gambar 4

Beberapa spanning tree dari simple graph di atas:

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

Page 7: 14 graph2

http://mahmud-imrona.blogspot.com Tree 7/9

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

a b c d

ef

g

Page 8: 14 graph2

http://mahmud-imrona.blogspot.com Tree 8/9

Teorema: Sebuah simple graph merupakan graph terhubung jika dan hanya jika graph tersebut mempunyai spanning tree Algoritma untuk mengkonstruksi spanning tree Algoritma untuk membentuk spanning tree - Depth-First Search (Backtracking) - Breath-First Search Minimum Spanning Tree Definisi: Minimum spanning tree dari graph yang diberi bobot adalah spanning tree yang mempunyai jumlah bobot terkecil pada busurnya. Algoritma: - Greedy Algoritma yg didasarkan pada algoritma Prim (Robert Clay Prim). Pilih bobot paling kecil, dari busur ini pilih busur lain yg bobot kecil dan berhubung dgn busur tsb, dst sepanjang tdk membentuk sirkuit dan membentuk pohon Algoritma Prim: Procedure Prim(G: graph tak berarah terhubung berbobot dengan vertex sebanyak n) T:= busur dengan bobot minimum For i:=1 to n-2 Begin e:= busur berbobot minimum yang incident ke vertex pada T dan tidak membentuk

simple sirkuit pada T jika ditambahkan ke T T:= T dengan e ditambahkan End {T spanning tree minimum dari G}

Dengan algoritma Prim spanning tree minimum yang dapat dibuat dari graph di atas adalah: Penjelasan Pilihan Busur Bobot Ada tiga pilihan busur yang mempunyai bobot minimum, yaitu: {b,f}, {c,d}, {k,l} dengan bobot 1

1 {b,f} 1

a b c d

e f g h

i j k

2

2 3 1

13 4

1

5 3 3

3 334 42

l

Page 9: 14 graph2

http://mahmud-imrona.blogspot.com Tree 9/9

Dengan memilih {b,f} maka node yang adjacent adalah: a, c, e, g, j dan tidak membentuk simple sirkuit diantara vertex-vertex tsb yg mempunyai busur minimum adalah {b, a} dan {f, j} dengan bobot 2

2 {f, j} 2

Dengan mendapatkan busur {b, f} dan {f, j}, maka vertex-vertex yang adjancent adalah a, e, i, k, g, dan c dan busur minimum adalah {b, a} dengan bobot 2

3 {b,a} 2

Langkah di atas diteruskan 4 {j, k} 3 - Algoritma Kruskal Procedure Kruskal (G: graph tak berarah terhubung berbobot dengan vertex sebanyak n) T:=graph kosong For i:=1 to n-1 Begin E:= sebarang busur pada G dengan bobot terkecil yang tidak membentuk simple

sirkuit jika ditambahkan ke T T:= T dengan e ditambahkan End {T spanning tree minimum dari G}