P. 1
8. Graf, Diagram Pohon Dan Aplikasinya

8. Graf, Diagram Pohon Dan Aplikasinya

|Views: 238|Likes:
Published by Deedee F Roshadi

More info:

Published by: Deedee F Roshadi on Mar 23, 2012
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

04/01/2015

pdf

text

original

8.

Graf, Diagram Pohon dan Aplikasinya
Pengantar
Definisi. Suatu graf sederhana G=(V,E) terdiri dari himpunan tak kosong dari simpul (vertex) V, dan himpunan pasangan tak berurut anggota berlainan dari V yang disebut sebagai garis hubung (edge) E.

Graf sederhana mirip seperti graf berarah, tetapi arah garis hubungnya tidak ditentukan (tidak memiliki arah). Kadangkala kita ingin memodelkan berbagai hubungan antar simpul yang tidak mungkin dilakukan dengan graf sederhana. multigraf. Pada kasus ini, kita harus memakai

Definisi. Suatu multigraf G=(V,E) terdiri dari himpunan simpul V, himpunan garis hubung E, dan sebuah fungsi f dari E ke {{u, v} | u, v ∈ V, u ≠ v}.

Garis hubung e1 dan e2 disebut garis hubung ganda atau garis hubung sejajar jika f(e1)=f(e2). Catatan: • Garis hubung dalam multigraf tidak perlu didefinisikan sebagai pasangan, tapi bisa berjenis apapun. • Loop tidak diperbolehkan di dalam multigraf (u ≠ v).

Contoh 8.1: Suatu multigraf G dengan simpul V={a, b, c, d}, garis hubung {1, 2, 3, 4, 5} dan fungsi f dengan f(1)={a, b}, f(2) = {a, b}, f(3) = {b, c}, f(4) = {c, d} dan f(5) = {c, d} dapat digambarkan sebagai berikut.

1 a 2 b 3 c

4 d

5

8. Graf, Diagram Pohon dan Aplikasinya - 1

Untuk mengantisipasi keberadaan loop didalam graf, kita perlu mendefinisikan graf berjenis berikut ini.

Definisi. Suatu pseudograf G=(V, E) terdiri dari himpunan simpul V, himpunan garis hubung E, dan fungsi f dari E ke {{u, v} | u, v ∈ V}.

Suatu garis hubung disebut loop jika f(e) = {u, u} untuk suatu u∈V.

Definisi. Suatu graf berarah G=(V, E) terdiri dari himpunan simpul V dan himpunan garis hubung E yaitu pasangan berurut anggota V.

Definisi. Suatu multigraf berarah G=(V, E) terdiri dari himpunan simpul V, himpunan garis hubung E, dan fungsi f dari E ke {(u, v) | u, v ∈ V}.

Garis hubung e1 dan e2 disebut sebgai garis hubung ganda jika f(e1) = f(e2). Contoh 8.2: Suatu multigraf berarah G dengan simpul V={a, b, c, d}, garis hubung {1, 2, 3, 4, 5} dan fungsi f dimana f(1) = (a, b), f(2) = (b, a), f(3) = (c, b), f(4) = (c, d) dan f(5) = (c, d) digambarkan sebagai berikut.

1 a 2 b 3 c

4 d

5

Risalah dari beberapa jenis graf dan sifat-sifatnya diiberikan pada tabel berikut ini.

No 1 2 3 4 5

Jenis Graf Sederhana Multigraf Pseudograf Graf Berarah Multigraf Berarah

Garis hubung? Tak berarah Tak berarah Tak berarah Berarah Berarah

Ada Grs. Hub. Ganda? Tidak Ya Ya Tidak Ya

Ada Loop? Tidak Tidak Ya Ya Ya

8. Graf, Diagram Pohon dan Aplikasinya - 2

Model dari Graf
Contoh 8.3: Bagaimana cara menyatakan jaringan (dua arah) Kerta Api yang menghubungkan sekumpulan kota? Kita harus memakai graf sederhana dengan garis hubung {a, b} merupakan jalur langsung yang menghubungkan kota a dengan kota b.

Cirebon

Jakarta Ponorogo Bandung Madiun

Tasikmalaya

Contoh 8.4: Di dalam suatu turnamen sepakbola, setiap tim bertanding dengan tim lain tepat satu kali. Bagaimana cara merepresentasikan hasil turnamen (suatu tim mengalahkan tim lain)? Kita harus menggunakan graf berarah dengan garis hubung (a, b) menunjukkan tim a mengalahkan tim b.

Juventus

Real Madrid

AC Milan

Persib

Beberapa Terminologi dalam Graf
Definisi. Dua buah simpul, u dan v, dalam graf tak berarah G disebut berdekatan (atau bertetangga) dalam G jika {u, v} adalah suatu garis hubung dalam G.

8. Graf, Diagram Pohon dan Aplikasinya - 3

dan simpul a.simpul tersebut. atau disebut juga menghubungkan u dengan v./berakhir ke. Graf. Contoh 8. Derajat dari suatu simpul pada graf tak berarah adalah banyaknya garis hubung yang berasal dari. Definisi. Derajat maksimum adalah deg(g)=5.4 .6: Amati graf yang sama dan tentukan banyaknya garis hubung dan jumlah dari derajat semua simpulnya. yaitu dengan menghitung banyaknya garis yang menyentuh simpul tersebut. perdefinisi. Graf tersebut merupakan pseudograf (tak berarah. loop).Jika e = {u. kecuali loop di dalam simpul yang menyumbang derajat simpul sebanyak dua. v}. 8. garis hubung e disebut sebagai incident dengan simpul u dan v. tidak terisolasi. derajat dari simpul dapat ditentukan secara sederhana. Simpul u dan v disebut juga titik ujung (endpoints) dari garis hubung {u. Contoh 8. Simpul ini terhubung dengan tepat satu buah simpul lainnya. v}. Simpul dengan derajat nol disebut sebagai simpul yang terisolasi. meski dia tidak terhubung ke simpul yang lain. karena tidak terhubung (adjacent) dengan simpul lain manapun. Catatan: Suatu simpul yang memiliki loop setidaknya akan berderajat 2 dan. Diagram Pohon dan Aplikasinya . Dengan kata lain. Simpul berderajat satu disebut sebagai simpul yang tergelantung (pendant). dan berapakah derajat maksimumnya? Tentukan juga jenis dari graf? i d a f e g b c j h Jawab: Simpul f terisolasi. Derajat dari suatu simpul v dituliskan sebagai deg(v). manakah simpul yang terisolasi. d. dan j tergelantung.5: Diantara graf berikut. yang tergelantung.

Misalkan G = (V. Penjelasannya: setiap garis hubung baru menambah hasil penjumlahan derajat sebanyak dua (2×9=18). Jadi akan ada 30 buah garis hubung. Ide: Ada tiga kemungkinan untuk menambahkan garis hubung untuk menyambung dua simpul dalam graf.5 . Menurut teorema handshaking.7: Ada berapa garis hubungkah dalam suatu graf yang memiliki 6 simpul.Jawab : Ada 9 garis hubung. Teorema Handshaking. yakni 8. yang masing-masing simpulnya berderajat 10? Jawab: Jumlah seluruh derajat simpul adalah 6⋅10=60. Graf. Maka 2e = ∑ deg ( v ) v∈V Catatan: Teorema ini tetap berlaku meskipun pada graf terdapat garis hubung ganda maupun loop ganda. Diagram Pohon dan Aplikasinya . Sebelum Kedua simpul berderajat genap Kedua simpul berderajat ganjil Satu simpul berderajat ganjil. dan jumlah seluruh derajat simpulnya adalah 18. Teorema. maka 2e=60 sehingga e = 30. Suatu graf yang tak berarah. Contoh 8. yakni. yang lainnya berderajat genap ⇒ ⇒ ⇒ Sesudah Kedua simpul berderajat ganjil Kedua simpul berderajat genap Satu simpul berderajat genap. akan selalu memiliki simpul berderajat ganjil dengan jumlah genap. yang lainnya berderajat ganjil Ada dua kemungkinan menambahkan suatu loop ke simpul dalam graf . E) suatu graf tak berarah dengan garis hubung e.

Contoh 8. dituliskan sebagai deg+(v). dan v dikatakan terhubung dari (adjacent from) u. u disebut terhubung ke (adjacent to) v. Derajat keluar (out-degree) dari v.8: Berapakah derajat keluar dan kedalam dari simpul a. b. c.Sebelum Simpul berderajat genap Simpul berderajat ganjil ⇒ ⇒ Sesudah Simpul berderajat genap Simpul berderajat ganjil Jadi. Bagaimana perubahan derajat keluar dan kedalam suatu simpul terhadap penambahan suatu loop ke simpul tsb? Penambahan ini meningkatkan baik derajat keluar maupun kedalam dari simpul yang bersangkutan sebesar satu. dituliskan sebagai deg-(v). Graf. Simpul awal dan simpul akhir dari suatu loop adalah sama. derajat kedalam (in-degree) dari simpul v. karena suatu graf tak berarah tanpa garis hubung memiliki sejumlah genap simpul berderajat ganjil (nol).6 . Dalam graf dengan garis hubung berarah. Jika (u. Simpul u disebut sebagai simpul awal (initial vertex) dari (u. Definisi. jika dalam graf ada sejumlah genap simpul berderajat ganjil. dan v disebut sebagai simpul akhir (terminal vertex) dari (u.v). hal yang sama berlaku untuk sebarang graf tak berarah. Diagram Pohon dan Aplikasinya . adalah banyaknya garis hubung dengan v sebagai simpul awalnya. Bukti dapat dipelajari dari buku referensi. d pada graf berikut? deg-(a) = 1 a deg+(a) = 2 b deg-(b) = 4 deg+(b) = 2 deg-(d) = 2 deg+(d) = 1 d c deg-(c) = 0 deg+(c) = 2 8. v) suatu garis hubung dari graf dengan garis hubung berarah G. Maka.v). Definisi. adalah banyaknya garis hubung dengan v sebagai simpul akhirnya. hasil penambahan garis hubung masih saja menghasilkan simpul berjumlah genap.

maka: ∑ deg ( v ) = ∑ deg ( v ) = E − + v∈V v∈V Ini mudah diperiksa. vn dan garis hubung {v1. { vn-1. terdiri atas n buah simpul v1. { v1. sebab setiap penambahan garis hubung baru akan meningkatkan baik derajat kedalam maupun derajat keluar sebanyak satu. Graf. Pemberian satu simpul tambahan pada suatu siklus Cn. E) graf dengan garis hubung berarah. Graf-Graf Khusus Definisi: Graf lengkap (complete graph) pada n buah simpul. Misalkan G = (V. dan lalu menghubungkan simpul tsb ke setiap simpul pada Cn dengan garis hubung baru akan menghasilkan roda (wheel).v2}. K1 K2 K3 K4 K5 Definisi.Teorema. Diagram Pohon dan Aplikasinya . vn}. v3}. { vn. v21. v1}. n≥3. C3 C4 C5 C6 Definisi. adalah graf sederhana yang mengandung tepat satu garis hubung antara dua simpul yang berbeda. n ≥ 3. Siklus (cycle) Cn. 8. ….7 . dituliskan sebagai Kn. ….

Kubus-n (n-cube) dituliskan sebagai Qn adalah graf yang simpulnya merepresentasikan string 2n bit sepanjang n.8 . Suatu graf sederhana G disebut bipartite jika himpunan simpul V-nya dapat dipartisi menjadi dua himpunan tak kosong yang tak beririsan V1 dan V2 sedemikian hingga setiap garis hubung dalam graf menghubungkan suatu simpul di V1 dengan simpul di V2 (sedemikian hingga tak ada garis hubung di dalam G menghubungkan dua simpul di V1 maupun di V2). 110 10 0 Q1 1 11 100 010 00 Q2 01 000 Q3 001 101 111 011 Definisi. Diagram Pohon dan Aplikasinya . Dua simpul terhubung jika dan hanya jika bit string yang direpresentasikannya berbeda tepat satu bit. Sebagai conoth. karena setiap garis hubung menghubungkan simpul dalam himpunan bagian penduduk pria dengan simpul didalam himpunan bagian penduduk wanita (dalam pernikahan tradisional). Graf. 8.W3 W4 W5 W6 Definisi. tinjau suatu graf yang merepresen-tasikan setiap penduduk di suatu desa dengan simpul dan setiap pernikahan dengan garis hubung. Graf ini bipartite.

masing-masing dengan m dan n buah simpul.n adalah graf yang himpunan simpulnya dipartisi kedalam dua himpunan bagian. Graf.10: Apakah C6 v6 v2 v4 v5 v3 Ya. sebab tidak ada cara mem-partisi simpul menjadi dua v2 v3 himpunan sedemikian hingga tidak ada garis hubung dengan kedua titik akhir di himpunan yang sama. Dua simpul terhubung jika dan hanya jika mereka berada di himpunan bagian yang berbeda.2 K3. K3. sehingga kita tidak bisa membuang titik ujung dari garis hubung yang tersisa saat kita membentuk H.v1 Contoh 8. Catatan: Tentu saja H adalah graf yang valid. E) adalah graf H = (W. 8. Diagram Pohon dan Aplikasinya . F) dimana W⊆V dan F⊆E. sebab C6 bisa ditampilkan sebagai berikut: Definisi. Graf bipartite lengkap Km. v1 v2 v3 v6 v5 v4 v1 Contoh bipartite? 8.9 .4 Operasi Pada Graf Definisi.9: Apakah C3 bipartite? Tidak. Suatu subgraf dari graf G = (V.

Gabungan dari dua graf sederhana G1 = (V1. a d b c a d c b 8. E2) adalah graf sederhana dengan himpunan simpul V1∪V2 dan himpunan garis hubung E1∪E2.10 . Gabungan dari G1 dan G2 dituliskan sebagai G1∪G2. G1 G2 G1 ∪ G2 = K5 Representasi Graf Perhatikan dua graf berikut ini. Graf. Diagram Pohon dan Aplikasinya . E1) dan G2 = (V2.Contoh 8. Simpula awal.11 subgraf dari K5 K5 Definisi. tetangga dan simpul akhir didaftarkan pada tabel di bawahnya.

Elemen ke (i. AG. E) adalah sebuah graf sederhana dengan |V| = n.11 . b. maka berlaku ⎣ ⎦ ⎧1. v j } adalah sebuah garis hubung dari G ⎪ ai . d a.12 Tentukan matriks kedekatan AG untuk graf di samping berdasarkan urutan simpul a. d a. d a. yang berkaitan dengan simpul-simpul. c Simpul a b c d Simpul akhir c a a. vn Matriks kedekatan (Adjacency matrix) dari graf G. c. untuk sebuah matriks kedekatan A = ⎡ aij ⎤ . j = ⎨ ⎪0. Graf. c. vj}. adalah sebuah matriks boolean n×n dengan elemen ke (i. j) berharga 1 jika vi dan vj bertetangga. jika {vi . matriks boolean tidak bisa dipakai dan sebagai gantinya dipergunakan matriks bilangan cacah. 8. b. v2 …. b. jika bukan garis hubung dari G ⎩ a d b Contoh 8. c Definisi: Misalkan G = (V. Anggap simpul pada G disusun dengan urutan v1. Diagram Pohon dan Aplikasinya . j) dari matriks tersebut sama dengan jumlah garis hubung yang terdapat pada kedua simpul {vi. dan d ! Jawab: ⎡0 ⎢1 AG = ⎢ ⎢1 ⎢ ⎣1 1 0 0 1 1 0 0 1 1⎤ 1⎥ ⎥ 1⎥ ⎥ 0⎦ c Catatan: Matriks kedekatan dari graf tak berarah selalu simetris Untuk representasi graf dengan garis hubung ganda (multiple edge). dan selainnya itu berharga 0. Dengan kata lain.Simpul a b c d Simpul tetangga b.

Matriks insiden (Incidence matrix) dari G yang berkaitan dengan simpul dan garis hubung adalah matriks boolean n×m dengan elemen ke (i. ….13 Tentukan matriks kedekatan AG untuk graf di samping berdasarkan urutan simpul a. maka berlaku ⎧1. Misalkan G = (V. 2. setiap kolomnya akan berisi 2 buah nilai 1 jika garis hubung menghubungkan dua buah simpul dan berisi 1 buah nilai 1 untuk loop. Graf sederhana G1 = (V1. dan d ! Jawab: ⎡0 ⎢1 AG = ⎢ ⎢1 ⎢ ⎣2 1 1 0 1 1 0 0 3 2⎤ 1⎥ ⎥ 3⎥ ⎥ 0⎦ d Definisi.14: Tentukan matriks insiden M untuk graf 1 berikut berdasarkan urutan simpul a. Dengan kata lain . d dan urutan garis b 5 hubung 1. j = ⎨ ⎩0. Graf-Graf yang Isomorfis Definisi. Diagram Pohon dan Aplikasinya . jika garis e j terhubung dengan vi mi . Anggap simpul dan garis hubung pada G disusun dengan urutan seperti v1. 4. E) sebuah graf tak berarah dengan |V| = n.12 . vn dan e1. E2) disebut isomorfis jika ada sebuah fungsi bijektif (satu-ke-satu dan onto) dari V1 ke V2 dengan sifat bahwa a bertetangga dengan 8.selain itu a 2 d 3 4 Contoh 8. dan selain itu berharga 0. c. Graf. b. em. E1) dan G2 = (V2. v2. 6! Jawab: ⎡1 ⎢1 M =⎢ ⎢0 ⎢ ⎣0 1 0 0 1 0 1 0 1 0 0 1 1 1 0 1 0 0⎤ 0⎥ ⎥ 1⎥ ⎥ 0⎦ 6 c Catatan : Matriks insiden dari graf tidak berarah. b. 3. j) =1 jika garis ej terhubung dengan simpul vi. untuk sebuah incidence matrix M = [mij]. …. e2. 5. c.a b c Contoh 8.

belum tentu graf tersebut isomorfis. isomorfis jika graf-graf tersebut dapat disusun dengan suatu cara sedemikian rupa sehingga tampilannya identik (tentu tanpa merubah ketetanggaan). tetapi jika seluruhnya sesuai. Graf. Menentukan dua buah graf tidak isomorfis lebih mudah dibandingkan dengan menentukan apakah dua buah graf isomorfis. dua buah graf. Untuk itu kita dapat memeriksa invarian. Fungsi f seperti itu disebut isomorfisme. Diagram Pohon dan Aplikasinya . G1 dan G2 adalah isomorfis jika simpul-simpulnya dapat diurutkan dengan suatu cara sedemikian rupa sehingga matriks kedekatan M G1 dan M G2 adalah identik. dan derajat dari simpul-simpulnya sama. untuk seluruh a dan b pada V1. maka akan ada n! kemungkinan isomorfisme yang harus diperiksa. Contoh 8. Keduanya haruslah memiliki jumlah simpul yang sama.b pada G1 jika dan hanya jika f(a) bertetangga dengan f(b) pada G2. jika pada graf sebelah kanan kita gerakkan simpul b kesebelah kiri garis hubung 8. Untuk dua buah graf sederhana dengan masing-masing simpulnya berjumlah n buah. dan jumlah garis hubung yang sama .15: Apakah kedua graf berikut isomorfis ? a a c b d e c e b d Jawab : Ya. Secara visual. yaitu. Dapat diamati.13 . Dengan kata lain. Perhatikan bahwa dua graf yang salah satu dari invarian di atas berbeda pasti menyebabkan kedua graf tersebut tidak isomorfis. G1 dan G2. keduanya isomorfis karena dapat disusun sehingga terlihat identik. sifat yang harus dimiliki oleh dua buah graf sederhana yang isomorfis.

Graf.c}. Maka fungsi isomorfis f dari graf kiri ke graf sebelah kanan adalah: f(a) = e. x1. Lintasan adalah sebuah sirkit jika dimulai dan diakhiri pada simpul yang sama. yaitu jika u = v. …. tetapi tidak ada satupun simpul pada graf dikiri yang berderajat 1. Graf tak berarah disebut terhubung (connected) jika ada lintasan diantara setiap pasangan dari simpul yang berbeda dalam graf 8. …. x1.14 . Diagram Pohon dan Aplikasinya . f(d) = c. en dari graf sehingga f(e1)={x0. Lintasan atau sirkit disebut sederhana jika tidak mengandung garis yang sama lebih dari sekali. Konektivitas Graf Definisi. xn-1. Contoh 8. e2. kita menuliskan lintasan tersebut dengan urutan/ deretan simpul x0. Sebuah lintasan (path) dengan panjang n dari u ke v. f(en) = {xn-1. f(e2) = {x1. dimana n adalah bilangan bulat positif dalam sebuah graf tidak berarah adalah sebuah urutan garis hubung e1. Definisi. x1}. x2}. f(e) = d.{a. Simpul d pada graf dikanan berderajat satu. ….16: Apakah kedua graf berikut isomorfis ? b c a e d a e b c d Jawab : Tidak. dgn x0= u dan xn = v. f(b) = a. Lintasan atau sirkit ini disebut melalui (pass through/ traverse) x0. Jika graf tersebut adalah sebuah graf sederhana. xn}. karena derajat dari simpul-simpulnya berlainan. karena secara unik dapat menentukan lintasan. xn. f(c) = b. Definisi (Lanjutan).

15 .17: tentukan komponen-komponen terhubung dari graf berikut ini? g a d e i b c f j h 8. setiap dua komputer dalam jaringan dapat berkomunikasi jika dan hanya jika graf dari jaringan tersebut terhubung. Selalu ada lintasan sederhana antara setiap pasangan simpul yang berbeda dari suatu graf-tak-berarah yang terhubung Definisi. Contoh 8. Graf. Subgraf-subgraf yang terhubung tetapi disjoint ini disebut komponen-komponen terhubung dari graf. Diagram Pohon dan Aplikasinya . sebuah graf yang tidak terhubung adalah gabungan dari dua atau lebih subgraf yang terhubung dengan masing-masing pasangan darinya tidak memiliki simpul bersama (disjoint). [Catatan: sebuah graf yang mengandung hanya satu simpul selalu terhubung karena tidak berisi suatu pasangan simpul yang berbeda]. Gambar di atas menunjukkan contoh-contoh graf yang terhubung dan yang tak-terhubung. Teorema.b c a e b c d tak terhubung a e terhubung d b c a d terhubung b e c a d f e tak terhubung Sebagai contoh.

c.16 . tetapi tidak dari b ke a. atau sebaliknya) Contoh 8. seluruh kemungkinan pasangan simpul. Jumlah dan ukuran dari komponen dan sirkit terhubung merupakan invarian berkaitan dengan isomorfisme dari graf sederhana Contoh 8. Sebuah graf berarah disebut terhubung kuat (strongly connected) jika ada sebuah lintasan dari a ke b dan dari b ke a untuk semua pasangan simpul a. i. b.19: Apakah dua graf berikut ini isomorfis ? 8. karena ada lintasan diantara tidak ada lintasan dari b ke d. Sebuah graf berarah disebut terhubung lemah (weakly connected) jika hanya ada sebuah lintasan diantara dua simpul dalam graf tidak berarahnya. Definisi.18: Apakah graf berarah berikut ini terhubung kuat atau lemah? a b d c d a b c Terhubung lemah. Definisi. ( Ada lintasan dari a ke b. d}. {f}. {e}.Jawab: Komponen-komponen terhubung adalah graf dengan simpul-simpul {a. karena (misalnya) Terhubung kuat. b pada graf. Diagram Pohon dan Aplikasinya . dan {g. j}. h. Graf.

untuk merepresentasikan jarak antara kota dalam jaringan jalan kereta. karena graf sebelah kanan berisi sirkit dengan panjang 3 . Algoritma berhenti setelah simpul z tercapai. Pseudocode dari algoritma Dijkstra dapat dilihat di bawah ini. Satu pertanyaan yang sangat penting yang dapat kita selidiki pada graf seperti ini adalah: “Yang manakah lintasan terpendek antara dua simpul dalam graf. Bo go r 25 Jakarta 600 180 400 Bandung Yogyakarta Pembobotan graf dapat juga dipakai untuk memodelkan jaringan komputer dengan response time atau biaya sebagai bobotnya.Jawab: tidak . a dan z.17 . sebagai contoh. sedangkan pada graf sebelah kiri tidak ada sirkit yang demikian. 8. Graf. yaitu. di dalam graf dengan pembobot. Prosedur ini dilaksanakan dengan cara mencari panjang lintasan terpendek dari sebuah simpul pendahulu dan menambahkan simpulsimpul tersebut ke himpunan simpul S. lintasan dengan jumlah bobot minimal sepanjang jalannya?“ Hal ini misalnya berkaitan dengan koneksi tercepat pada jaringan komputer atau hubungan lintasan kereta terpendek Algoritma Dijkstra Algoritma Dijkstra adalah sebuah prosedur iteratif untuk mencari lintasan terpendek antara dua simpul. seperti dilukiskan pada graf berikut ini. Diagram Pohon dan Aplikasinya . Masalah Lintasan Terpendek Kita dapat memberikan bobot pada garis dari graf.

STEP-0 STEP-1 b∞ a 0 2 c∞ 4 1 5 8 d ∞ 6 ∞ z 0 a 4 1 2 b 4(a) 5 8 d ∞ 6 2 e ∞ 3 ∞ z 2 e ∞ 3 10 c 2(a) 10 8. v) { ini menjumlahkan sebuah simpul ke S dengan label minimal dan memperbaharui label-label simpul yang tidak di S} end {L(z) = panjang jalur terpendek dari a ke z} Contoh 8.18 . vj). dengan simpul a = v0. v) < L(v) then L(v) := L(u) + w(u. Graf. vj) = ∞ jika {vi.20: Tentukan lintasan terpendek dari graf berikut ini dengan menggunakan algoritma Dijkstra. vj} bukan garis hubung pada G) for i := 1 to n L(vi) := ∞ L(a) := 0 S := ∅ {label-label sekarang diinisialisasi sehingga label dari a adalah nol dan label yang lainnya adalah ∞. dan set S adalah kosong} while z∉S begin u := simpul tidak pada S dengan minimal L(u) S := S∪{u} for seluruh simpul v tidak pada S if L(u) + w(u. dimana w(vi. …. v1. vn = z dan bobot positif w(vi.procedure Dijkstra(G: graf sederhana yang terhubung dan dengan pembobot. Diagram Pohon dan Aplikasinya .

tidak berarah. Diagram Pohon dan Aplikasinya . dengan pembobot. c) 3 ∞ z c 2(a) 10 STEP-4 STEP-5 b 3 (a.STEP-2 STEP-3 b 3 (a. c. Algoritma Dijkstra akan mencari panjang lintasan terpendek antara dua simpul dalam graf yang terhubung. d) b 3 (a. b. b. c. b. c. c. c. e) e 10(a. c) 5 a 0 4 1 2 c 2(a) 10 8 d 10 (a. b. c.19 . c. c) 5 8 d 10 (a. b) 6 2 e 3 z 13 (a. b. b) 6 2 e 3 z 13 (a. d.b) 6 2 e 12 (a. c. c) 5 a 0 4 1 2 c 2(a) 10 8 d 8(a. d) 10(a. c) 3 ∞ z a 0 4 1 2 b 3 (a. b. b) 6 2 e z 3 14 (a. c. c) 5 a 0 4 1 2 c 2(a) 10 8 d 10 (a. 8. c. d. e) 10(a. b) 6 2 e 12 (a. sederhana. c) 5 a 0 4 1 2 c 2(a) 10 8 d 10 (a. Graf. d) STEP-6: b 3 (a. c. d) Teorema.

Jo r o n g 650 700 550 Jogja 200 Semarang Jakarta 700 600 Jawab: Lintasan terpendek adalah Jogja. Contoh 8. Tentunya ia ingin menghemat waktu dan energi.Teorema.000 Km). Graf. Jorong. tidak berarah. tidak berarah. yang dapat kita bentuk dengan menghubungkan simpul-simpul tersebut dengan garis hubung? 8. Kita dapat merepresentasikan kota-kota dan jarak nya dengan sebuah graf dengan pembobot. lengkap. berapa banyak siklis Cn berbeda. Permasalahan ini dapat dilukiskan sebagai berikut: Seorang traveling salesman ingin mengunjungi sejumlah kota dan kembali ke titik awal mula pemberangkatan. Algorithm Dijkstra menggunakan O(n2) operasi (penjumlahan dan perbandingan) untuk mencari panjang lintasan terpendek antara dua simpul dalam graf yang terhubung. Jogja (2.21: Lintasan mana yang akan diambil oleh traveling salesman untuk mengunjungi kota-kota berikut? (Jarak dinyatakan dalam kilometer). Masalahnya adalah menentukan sirkit dengan total bobot yang minimum dan setiap simpul dikunjungi tepat satu kali. Diagram Pohon dan Aplikasinya . Traveling Salesman Problem (TSP) TSP adalah salah satu masalah klasik dalam ilmu komputer. sederhana. sehingga ia ingin mementukan lintasan terpendek dalam perjalanannya.22: Diberikan n buah simpul. Semarang.20 . Jakarta. dengan pembobot. Contoh8.

Karena tree tidak mempunyai sirkit sederhana.jumlah ini termasuk siklis yang identik yang dibentuk dalam arah kebalikannya. kita dapat menggunakan algoritma pendekatan yang efisien dalam menentukan sebuah lintasan.Jawab: Pertama kita pilih titik awal.Ini artinya. Sebuah graf tidak berarah adalah tree jika dan hanya jika ada sebuah lintasan sederhana yang unik antara simpul-simpulnya. Kemudian kita memiliki (n–1) pilihan untuk simpul ke dua dalam siklis. Sampai saat ini belum ada algoritma yang dapat menyelesaikan masalah TSP dengan kompleksitas polynomial worst-case time complexity . dst. Diagram Pohon dan Aplikasinya . maka tidak akan ada garis-hubung paralel atau loop didalam sebuah tree. Oleh karena itu. tree haruslah sebuah graf yang sederhana.21 . sehingga ada (n–1)! Buah pilihan untuk seluruh siklis. (n–2) untuk simpul ketiga. yang tidak mengandung sirkit sederhana. penyelesaian TSP (secara analitik) tidak praktis. Akan tetapi. Oleh karena itu jumlah siklis yang berbeda sesungguhnya adalah Cn = (n – 1)!/2. untuk jumlah simpul yang banyak. t re e bukan tree 8. Graf. misalnya dengan algoritma jaringan syaraf tiruan. Diagram pohon (tree) adalah sebuah graf tak berarah yang terhubung (connected). Teorema. Gambar berikut ini menunjukkan graf yang berupa tree dan yang bukan tree. Diagram Pohon (Tree) Definisi. dimana lintasan yang diperoleh mungkin sedikit lebih panjang dibanding lintasan traveling salesman yang seharusnya tetapi dengan kompleksitas perhitungan polinomial. Dalam kasus ini.

Jika u parent dari v maka v adalah child dari u Siblings adalah simpul-simpul dengan parent yang sama Ancestors dari suatu simpul (selain root) adalah simpul-simpul pada lintasan dari root ke simpul tersebut. Kita sering memilih simpul tertentu dari tree sebagai akarnya (root). Sebuah tree bersama-sama dengan root-nya menghasilkan sebuah graf berarah yang disebut sebuah rooted-tree. 8. Descendants dari simpul v adalah simpul-simpul dengan v sebagai ancestor-nya.22 . Secara umum. Height dari rooted tree adalah level maksimum dari simpul Sebuah tree bias menggambarkan silsilah keturunan dari sebuah keluarga. kita menggunakan tree untuk merepresentasikan struktur bertingkat (hierarchical structures). Sebuah graf tidak berarah yang tidak berisi sirkit sederhana dan tidak perlu terhubung disebut sebuah forest. atau direktori dalam sebuah komputer seperti yang dilukiskan pada gambar berikut ini. Level dari simpul v adalah panjang dari lintasan yang unik dari root ke simpul tersebut. diluar simpul itu sendiri dan termasuk root. Level dari root didefinisikan = 0. Diagram Pohon dan Aplikasinya . Sebuah simpul dari sebuah tree disebut sebagai leaf jika ia tidak memiliki children.bukantree t re e Definisi. Beberapa istilah dalam tree: • • • • • • • Parent dari simpul v (selain root) adalah simpul u yang unik sedemikian sehingga ada sebuah garis-hubung berarah dari u ke v. Graf.

computer. Teorema. Pohon Pencari Biner (Binary Search Tree) Binary search tree (BST) berguna untuk melakukan pencarian besar-besaran pada daftar item tertentu. m-ary tree dengan m = 2 disebut sebagai binary tree.y) y Definisi. Full m-ary tree dengan i-buah simpul internal mengandung n = mi + 1 simpul. Diagram Pohon dan Aplikasinya . Graf.23 . Tree dengan n simpul memiliki (n – 1) buah garis hubung. Khususnya. Saat membuat tree tersebut. zoo. Teorema. simpul-simpul diberi kunci sedemikian hingga kunci pada suatu simpul lebih besar daripada kunci lain pada subtree kiri dan sekaligus lebih kecil daripada semua simpul pada subtree kanan. book diberikan pada diagram berikut. power. BST adalah sebuah binary tree yang masing-masing child dari simpul ditentukan sebagai child kanan atau kiri. Rooted-tree disebut sebuah m-ary tree jika setiap simpul internal tidak memiliki lebih dari m children. Sebuah tree disebut full m-ary tree jika setiap simpul internal memiliki tepat m children. Sebagai contoh.Uwes Tini B o no usr / bin temp Franky Jo n i Petra bin spool ls Tree di samping menyatakan ekspresi aritmatika ⋅ + z x y (y + z)⋅(x . north. dentist. 8. BST untuk string math. dan masing-masing simpul dilabeli dengan sebuah key.

pencarian dapat dibentuk dengan jumlah langkah maksimumsebesar ⎡log(n + 1)⎤ Aplikasi dari Tree Ada sejumlah aplikasi penting dari tree. kita dapat memulai dari root dan membandingkan key-nya dengan x. diantaranya : • • • Optimasi jaringan dengan pohon pembentang minimum (minimum spanning trees) Penyelesaian masalah dengan proses lacak-balik pada pohon keputusan (backtracking in decision trees) Kompresi data dengan pohon pengkode Huffman (Huffman coding trees) Definisi. E) adalah graf terhubung pada V dengan jumlah garis minimum = (|V| .1). Pohon pembentang (spanning tree) dari G adalah sebuah sub-graf dari G yang merupakan tree yang berisi setiap simpul dari G.23: Ketika musim dingin. Untuk n item.24 . Catatan: Pohon pembentang dari G=(V. kita teruskan ke child kiri dari simpul tersebut.math computer power book dentist no rth zoo Untuk melakukan pencarian sebuah item x pada BST. Jika x lebih kecil dari key. 8. Graf. Diagram Pohon dan Aplikasinya . suhu di Boston bisa menjadi sangat dingin. Prosedur tersebut diulang terus sampai kita menemukan item yang kita cari atau kita tidak dapat meneruskannya lebih lanjut lagi. dan jika x lebih besar dari key. Berikut ini adalah graf lengkap dari rancangan (awal) terowongan tersebut. kita teruskan ke sebelah kanan. sehingga keenam buah universitas di wilayah ini memutuskan untuk membangun sistem terowongan yang akan menghubungkan seluruh perpustakaan di universitas yang ada di Boston. Contoh 8. Misalkan G sebuah graf sederhana.

Brandeis Univ Harvard Univ MIT Boston Univ Tufts Univ Univ Mass Akan ada suatu pohon pembentang dari graf ini yang menghubungkan seluruh perpustakaan dengan jumlah terowongan yang minimum. Diagram Pohon dan Aplikasinya . MST pada graf terhubung dan dengan pembobot adalah sebuah pohon pembentang yang mempunyai jumlah bobot paling kecil. pohon pembentang berikut ini yang menyatakan lima buah terowongan sudah cukup untuk menghubungkan ke enam buah perpustakaan. Brandeis Univ Harvard Univ MIT Boston Univ Tufts Univ Univ Mass Masalah berikutnya adalah bagaimana cara menentukan sistem terowongan tersebut dengan biaya semurah mungkin. Sebagai contoh. Graf.25 . Jika diberikan sebuah 8. Inilah yang disebut sebagai masalah pohon pembentang minimum (MST-Minimum Spanning Tree).

Brandeis Univ 7 8 9 Harvard Univ 4 2 3 6 Boston Univ 9 4 6 MIT 5 4 5 4 Tufts Univ Univ Mass Dengan melihat graf diatas. • Secara berurutan tambahkan pada garis-hubung dengan bobot minimum yang terhubung pada simpul yang telah ada pada tree dan tidak membentuk sirkit sederhana dengan garis-garis yang telah ada pada tree • Berhenti saat (n – 1) buah garis-hubung telah ditambahkan.grf terbobot. Algoritma Prim Berikut ini langkah-langkah dalam algoritma Prim : • Mulai dengan memilih suatu garis dengan bobot terkecil. dan letakkan pada pohon pembentang. Dua diantaranya yang akan kita bahas adalah algoritma Prim dan algoritma Kruskal. kecuali bahwa algoritma ini tidak membutuhkan garis-hubung baru untuk dihubungkan ke simpul yang telah ada pada tree. diperlukan algoritma untuk mencari MST. Algoritma Kruskal Algoritma Kruskal identik dengan algoritma Prim. Graf. diperoleh bahwa biaya termurah adalah 20 Milyar rupiah. Diagram Pohon dan Aplikasinya . Untuk graf dengan ukuran besar.26 . bagaimana cara menentukan MST? Berikut ini graf seperto contoh diatas tetapi dengan bobot yang menyatakan biaya pembangunan terowongan dalam Milyar rupiah. 8.

Lacak Balik Pada Pohon Keputusan Pohon keputusan adalah suatu rooted-tree dimana masing-masing simpul internal berkaitan dengan keputusan/tindakan. Dalam beberapa kasus.Kedua algoritma dijamin dapat menghasilkan pohon pembentang yang minimum dari graf terhubung dan terboboti. Contoh 8. lalu bergerak turun. Terdapat sekelompok masalah yang memerlukan exhaustive search dari seluruh kemungkinan rangkaian keputusan guna mendapatkan pemecahan. dengan sub-tree pada simpul-simpul tersebut adalah semua hasil dari keputusan yang mungkin. sampai tercapai solusi atau sampai pada situasi dimana tidak ada solusi yang didapatkan. lacak-balik ke parent-nya. Kemungkinan solusi dari masalah berkaitan dengan lintasan dari root ke leaf dari pohon keputusan. Kita dapat menyelesaikan masalah yang demikian dengan membuat pohon keputusan yang lengkap dan kemudian menentukan lintasan dari root ke leave yang berkorespondensi dengan solusi dari masalah tersebut. Diagram Pohon dan Aplikasinya . Jika seluruh lintasan dari simpul ini telah dikaji. Pohon keputusan dapat dipakai untuk memodelkan suatu pengambilan keputusan terhadap masalah tertentu.24 : [Masalah n-queen] Bagaimana cara menempatkan n buah queen pada papan catur berukuran n×n sedemikian hingga tidak ada dua queen dapat saling menangkap/ memakan? 8. membuat rangkaian keputusan. yakni. Graf. Idenya: Kita mulai pada root dari pohon keputusan. Dalam kasus terakhir. lacak-balik ke parent dari simpul terkini dan ambil lintasan lain turun darinya. efisiensi dari prosedur ini dapat meningkat secara dramatis dengan tenik lacak balik (backtracking). Teruskan prosedur sampai kita mendapatkan solusi atau tidak terdapat solusi (tidak ada lagi lintasan yang dapat dicoba). dimana rangkaian keputusan membawa kepada suatu solusi.27 .

dan X X X Disini petak target yang mungkin dari queen Q ditandai dengan X. 8. Oleh karena itu. Graf. X X X X X X X X X X X X X X X X X X X X diagonal. Diagram Pohon dan Aplikasinya .Sebuah queen dapat bergerak dalam sejumlah petak secara horizontal.28 . akan ada tepat satu queen pada masing-masing kolom dari papan. kita dapat menggambarkan solusi dari masalah ini sebagai rangkaian dari n buah keputusan : Keputusan 1: Tempatkan queen pada kolom ke-1 Keputusan 2: Tempatkan queen pada kolom ke-2 …. … Keputusan n: Tempatkan queen pada kolom ke-n Kita sekarang akan menyelesaikan masalah 4-queens menggunakan metoda backtracking. Q X X X X Jelaslah bahwa pada suatu solusi dari masalah n-queen. vertikal.

ada 7 buah koin diatas meja. dst. dimana keputusan pertama oleh komputer. Kemudian permainan dapat gambarkan sebagai rangkaian dari keputusan. ke-2 oleh manusia. Contoh 8. Pemain pertama mendapat giliran pertama.25: Pada permulaan permainan. dst.Papan Kosong Q Q Tempat queen ke-1 Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Tempat queen ke-2 Q Tempat queen ke-3 Tempat queen ke-4 Kita dapat juga menggunakan metoda backtracking untuk menuliskan program “pintar” yang dapat memainkan suatu game anatara komputer dengan manusia sebagai lawannya.29 . 2. Sampai seluruh koin habis diambil. bergantian. atau 3 koin. ke-3 oleh komputer . kemudian pemain ke-2. pemain mengambil 1. Graf. Diagram Pohon dan Aplikasinya . Pemain yang dapat mengambil seluruh koin tersisa adalah yang keluar sebagai pemenangnya Marilah kita asumsikan bahwa komputer (C) merupakan pemain pertama yang harus melakukan pergerakan pertama. Komputer ingin membuat keputusan yang 8. Setiap mendapat giliran.

dan “t” dengan “01”. 8 bit untuk ASCII). Pohon Pengkode Huffman Kita biasanya mengkodekan suatu string dengan menggunakan kode yang panjangnya tetap (fixed-length codes) pada seluruh alfabet (mis.menjamin bahwa kemenangan selalu ada ditangannya. kita ingin mengkodekan karakter “e” dengan bit “0”. Asumsikan bahwa pemain manusia (H) selalu mencari pergerakan yang optimal. Pemain komputer hanya melihat beberapa jumlah pergerakan tertentu ke depan dan memperkirakan peluang dari kemenangan. jika karakter yang berbeda muncul dengan frekuensi yang berbeda. Diagram Pohon dan Aplikasinya . Graf. Misalnya. Ide dasar dari teknik pengkodean ini adalah nya adalah memakai kode terpendek untuk karakter yang paling sering muncul. tidak mungkin memeriksa setiap kemungkinan urutan pergerakan. Bagaimana 8. Ada beberapa hal yang harus diperhatikan ketika menggunakan VLC.30 . “a” dengan “1”. kita dapat menghemat memori dan mereduksi waktu transmisi dengan cara menggunakan kode yang panjangnya dapt diubah (VLC-variable length codes). Untuk permainan lain yang lebih kompleks dan menarik seperti catur. C H C H C 4 1 3 2 2 1 3 1 1 2 7 3 6 1 2 1 5 1 3 3 4 2 2 1 3 5 1 3 4 2 2 1 3 1 3 4 2 2 1 3 2 1 1 3 2 1 1 3 2 C C C 3 2 H H H H H H C C C Komputer harus mulai dengan mengambil 3 buah koin agar terjamin dia akan selalu menang . Akan tetapi.

Maka.kemudian kita mengkodekan kata “tea”? Dari system ini. dimana karakter adalah label dari leaf dalam pohon biner tersebut. Pada kode prefiks. maka kodenya adalah “0101”. kode tersebut rancu. kata “tea” akan dikodekan sebagai “11010”. Untuk menentukan kode yang optimal (terpendek) dari suatu string. Bit string ini adalah unik karena hanya kata tea dan tidak ada kata lain yang dapat dikodekan dengan hasil yang sama. “a” dengan “10”. karena kode tersebut bisa juga dihasilkan dari kata “eat”. Maka. Sebagai contoh. Untuk menghindari kerancuan ini. Bit string yang dipakai untuk mengkodekan karakter adalah rangkaian label dari garis dalam lintasan yang unik dari root ke leaf yang dilabeli dengan karakter tersebut. 0 1 Pada pohon biner ini tidak ada leaf yang dapat menjadi ancestor e 0 1 dari leaf lainnya. Tentu saja kode yang demikian tidak dapat diterima karena dapat menyebabkan kesalahan/ kehilangan informasi. dan “t” dengan “11” adalah kode prefiks. pohon biner untuk contoh pengkodean “tea” yang telah dibahas adalah sebagai berikut. Diagram Pohon dan Aplikasinya . “eaea”. bit string untuk sebuah karakter tidak pernah akan menjadi prefiks (bagian pertama) dari bit string karakter lainnya. Ambil contoh string “eeadfeejjeggebeeggddehhhececddeciedee” 8. Graf.31 . Sehingga. kita dapat menggunakan kode prefiks (prefix code). pengkodean “e” dengan “0”. atau “tt”. Kode prefiks dapat disusun dengan bantuan pohon biner. Garis dari tree dilabeli sedemikian hingga garis ke child kiri diberi bit “0” dan ke ichild kanan dengan bit “1”. Kalau dilihat lebih cermat. tidak ada kode dari karakter dapat menjadi prefix dari kode karakter lainnya. Inilah yang dimaksud a t dengan kore prefiks. pertama kita harus mencari frekuensi karakter dalam string tersebut.

1×i. algoritma Huffman mulai dengan n simpul. dilabeli dengan huruf dan frekuensinya. Diagram Pohon dan Aplikasinya . satu untuk masingmasing huruf. dan 2×j. STEP-1 1 a STEP-2 1 b 1 f 1 i 2 j 3 c 3 h 4 g 6 d 15 e 2 1 a STEP-3 1 1 b f 1 i 2 j 3 c 3 h 4 g 6 d 15 e 2 1 a 1 b 1 f 2 1 i 2 j 3 c 3 h 4 g 6 d 15 e 8. 3×c. Ini diulang sehingga kita dapatkan tree tunggal. 4×g. Graf.String ini berisi 1×a. kita menentukan 2 frekuensi terendah antara simpul-simpul tunggal dan root-root dari tree-tree yang telah kita buat. Kita sekarang dapat menggunakan algoritma Huffman untuk membuat coding tree yang optimal. 3×h. 6×d. 1×f. Untuk alfabet berisi n huruf. Pada langkah berikutnya. 1×b. Kita kemudian menentukan 2 buah simpul yang paling kecil frekuensinya dan gantikan mereka dengan tree dimana root dilabeli dengan jumlah dari kedua frekuensi tersebut dan yang dua childrennya adalah dua simpul yang kita gantikan.32 . 15×e.

Graf. Diagram Pohon dan Aplikasinya .33 .STEP-4 2 1 a 1 b 1 f STEP-5 4 2 1 i 2 j 3 c 3 h 4 g 6 d 15 e 5 2 1 a 1 b 3 c 1 f 2 4 2 j 1 i 3 h 4 g 6 d 15 e STEP-6 5 2 1 a 1 b 3 c 1 f 2 4 2 j 1 i 3 h 7 4 g 6 d 15 e 8.

34 . Graf.STEP-7 9 5 2 1 a 1 b 3 c 1 f 2 1 i 4 2 j 3 h 7 4 g 6 d 15 e STEP-8 9 5 2 1 a 1 b 3 c 1 f 2 1 i 4 2 j 3 h 7 13 6 4 g d 15 e 8. Diagram Pohon dan Aplikasinya .

Graf. Diagram Pohon dan Aplikasinya .35 .STEP-9 22 9 5 2 1 a 1 b 3 c 1 f 2 1 i 4 2 j 3 h 7 4 g 13 6 d 15 e STEP-10 37 22 9 5 2 1 a 1 b 3 c 1 f 2 1 i 4 2 j 15 13 7 3 h 4 g e 6 d 8.

Dapat diperlihatkan bahwa untuk setiap string yang diberikan. Diagram Pohon dan Aplikasinya . 3): 0100 i (freq. Sehingga. 1): 00001 c (freq.Akhirnya kita bisa mengubahnya menjadi kode prefiks sebagai berikut: 0 0 0 0 0 a 1 1 c 0 b f 1 0 1 1 j i 0 h 0 1 1 e 1 1 d g VLC-nya adalah: a (freq. string asal “eeadfeejjeggebeeggddehhhececddeciedee” menggunakan kode dengan panjang tetap. 4): 0101 h (freq. 3): 0001 d (freq. panjang kode dari seluruh string adalah 4⋅37 = 148 bit. Tetapi dengan VLC. 2): 0011 Sehingga. kita hanya membutuhkan 1⋅5 +1⋅5 + 3⋅4 + 6⋅3 + 15⋅1 + 1⋅5 + 4⋅4 + 3⋅4 + 1⋅5 + 2⋅4 = 101 bit. 8. 1): 00100 g (freq. 1): 00101 j (freq. Graf. kita memerlukan 4 bit setiap karakternya (ada 10 karakter yang berbeda). 1): 00000 b (freq.36 . 6): e (freq. 15): 011 1 f (freq. pohon pengkode Huffman selalu menghasilkan VLC dengan panjang deskripsi yang minimum untuk string tersebut.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->