Pengantar Graph

20
http://mahmud-imrona.blogspot.com Graph.doc 1/20 Graph G=(V, E) disebut graph jika V himpunan tak kosong dari vertex (titik atau node) dan E himpunan edge (busur) yang merupakan pasangan tak terurut dari vertex. Contoh: G=(V, E) dimana V={a, b, c, d, e}, dan E={{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}} Lambang {a, b} pada anggota E menyatakan ketakurutan dari a dan b, yang menyatakan busur yang menghubungkan a dan b. Klasifikasi (Kenneth Rossen): 1. Simple Graph: graph yang tidak mengandung busur parallel dan loop 2. Multigraph: graph yang tidak mengandung loop, boleh mengandung busur sejajar (parallel) 3. Pseudo graph: graph yang boleh mengandung busur parallel dan loop Contoh: Jika dinyatakan dalam himpunan bagian: Simple Graph Multi Graph Pseudo Graph 4. Simple Graph Directed: graph berarah yang boleh mempunyai loop Multigraph dan Pseudo Graph Pseudo Graph Simple Graph, Multi Graph, dan Pseudo Graph

Transcript of Pengantar Graph

Page 1: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 1/20

Graph G=(V, E) disebut graph jika V himpunan tak kosong dari vertex (titik atau node) dan E himpunan edge (busur) yang merupakan pasangan tak terurut dari vertex. Contoh: G=(V, E) dimana V={a, b, c, d, e}, dan E={{a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}} Lambang {a, b} pada anggota E menyatakan ketakurutan dari a dan b, yang menyatakan busur yang menghubungkan a dan b. Klasifikasi (Kenneth Rossen): 1. Simple Graph: graph yang tidak mengandung busur parallel dan loop 2. Multigraph: graph yang tidak mengandung loop, boleh mengandung busur sejajar

(parallel) 3. Pseudo graph: graph yang boleh mengandung busur parallel dan loop Contoh:

Jika dinyatakan dalam himpunan bagian: Simple Graph ⊆ Multi Graph ⊆ Pseudo Graph 4. Simple Graph Directed: graph berarah yang boleh mempunyai loop

Multigraph dan Pseudo Graph

Pseudo Graph

Simple Graph, Multi Graph, dan Pseudo Graph

Page 2: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 2/20

5. Multigraph Directed:graph berarah yang boleh mempunyai busur paralel dan sekaligus loop

Contoh:

Ringkasan dari jenis-2 graph di atas

Type Edge Multiple Edge Allowed Loops Allowed

Simple Graph Undirected No No

Multi Graph Undirected Yes No

Pseudo Graph Undirected Yes Yes

Simple Graph Directed Directed No Yes

Multigraph Directed Directed Yes Yes

Sumber: Kenneth Rossen, Discrete Mathematics and Its Applications, 4th edition, McGraw Hill, 1999 Istilah-istilah yang berkaitan dengan simpul dan busur dari graph tak berarah 1. Adjacent/ Bertetangga: Dua simpul atau titik atau node disebut adjacent/ bertetangga,

jika mempunyai busur yang sama 2. Incident: simpul dengan busur disebut incident jika simpul dan busur saling

terhubung Contoh:

Simple Graph dan Multigraph Directed

Multigraph Directed

Page 3: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 3/20

Pada graph di atas berlaku: Node a dan b bertetangga (adjacent). Node b dan d saling bertetangga (adjacent). Node b dan c tidak bertetangga (not adjacent). Node d dan a tidak bertetangga (not adjacent). Node b dan busur e1 saling bersisian (incident). Node b dan busur e2 saling bersisian (incident). Node e dan busur e4 tidak bersisian (not incident). Istilah-istilah yang berkaitan dengan graph tak berarah: 1. Derajat: banyak busur pada node tersebut 2. Teorema Handshaking Σdegree = 2Σbusur Contoh:

Pada graph di atas berlaku: Deg(a) = 2 Deg(b) = 5 Deg(c) = 1 Deg(d) = 3 Deg(e) = 3 Deg(f) = 0 Jumlah degree seluruh node = 14 Jumlah busur = 7, sehingga memenuhi 2x7 = 14 (teorema handshaking) Node f disebut juga node yang terisolasi (isolated node). Istilah-istilah yang berkaitan dengan graph berarah: 1. In Degree: banyaknya busur yang masuk ke vertex

ea

d

c

e6

e1

e2 e3

e5

e4 b

e7

f

e2

ea

d

c

e6

e1

e3 e5

e4 b

e7

Page 4: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 4/20

2. Out Degree: banyaknya busur yang keluar dari vertex 3. Initial Point: vertex awal 4. Terminal Point: vertex akhir 5. End Point: ujung dari busur Contoh:

Pada graph di atas berlaku: Pada busur e1 initial point adalah a dan terminal point adalah b Pada busur e8 end point-nya adalah node d dan node c In_deg(a) = 3 Out_deg(a) = 3 In_deg(b) = 3 Out_deg(b) = 0 Beberapa Simple Graph : 1. Graph Lengkap (complete): setiap vertex adjacent dengan vertex yang lain

Karena setiap vertex pasti bertetangga dengan vertex yang lain, berarti derajat dari masing-masing vertex adalah n-1. 2. Graph Cycle: Cn, n ≥ 3

C3 C4 C5

e8

b

d c

e1 e3

e4 e5 e7 e6

a

e2

K1 K2

K3 K4 K5

Page 5: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 5/20

3. Graph Wheel: Wn, n ≥ 3

4. Graph n-cubes: Qn, 2n = banyak node

5. Graph Bipartite: Simple graph G disebut bipartite jika himpunan vertex V dapat

dipartisi menjadi dua himpunan yang tak kosong, misalkan V1 dan V2, sedemikian sehingga setiap busur pada graph hanya menghubungkan vertex di V1 dan vertex di V2 (Tidak ada busur di G yang terhubung di V1 saja atau di V2 saja)

Contoh: Apakah graph G dan H di bawah ini termasuk graph bipartite? Jika benar, ubahlah representasi graph tersebut membentuk representasi graph bipartite.

Jawab: Graph G dan H dapat diubah menjadi dua himpunan vertex yang tidak saling bertetangga dalam satu himpunan tersebut dan bertetangga hanya dengan vertex yang menjadi anggota himpunan yang lain, berikut ini:

W3 W4 W5 W6

a b

d c

a b

c d e

f

gh

i

G H

Q0 Q1 Q2 Q3

Page 6: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 6/20

6. Graph reguler: graph yang semua vertexnya mempunyai degree yang sama Contoh: Pada contoh-contoh di atas, maka yang termasuk graph reguler adalah: graph lengkap (complete), graph circle, dan graph cubes. Sedangkan graph Wheel bukan graph reguler mulai W4. Sub Graph Bisa dibuat sebuah graph baru dari graph yang telah dipunyai: Sub graph: seperti pada himpunan, di himpunan dikenal sub himpunan, dengan ide yang mirip dapat dibuat sub graph Misalkan: G=(V,E) suatu graph. Sub graph dari G, misalkan H=(V’, E’), dimana V’ ⊆ V dan E’ ⊆ E Contoh 1 Manakah yang menjadi sub graph G?

Bridge (jembatan), yaitu busur yang jika dihapus menyebabkan graph terbagi dua. Pada graph G tidak ada jembatan.

b

d c

a

b

c de f ghi G H

a

G H1 H2 H3

H4 H5 H6 H7

H8 H9 H10 H11

A

B

C

Page 7: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 7/20

Pada graph H11 ada dua jembatan Pada graph H7 ada satu jembatan Pada graph H10 tidak ada jembatan Cut Set: sehimpunan penghilangan busur, misalkan pada H11 dapat dibuat cut set {{A, B}, {B, C}}. Lebih panjangnya dapat dibaca di buku tulisan Munir. Titik Potong (Cut Node), Node yang jika dihapus beserta busur yang incident, menyebabkan graph terbagi menjadi beberapa sub graph yang terpisah Semua graph di atas tidak ada cut node (titik potong), kecuali H11 Contoh 2 Dari graph di bawah ini, tentukan semua vertex yang menjadi titik potong (cut node), dan juga semua busur yang menjadi bridge (jembatan).

- Operasi terhadap dua graph Union dari dua simple graph G1=(V1, E1) dan G2=(V2, E2) adalah simple graph dengan vertexnya V1 ∪ V2 dan busur E1 ∪E2. Union G1 dan G2 ditulis G1 ∪G2

Representasi Graph 1. Menggunakan gambar: verteks (titik) dan edge (busur) 2. Matrik adjacency ~ adjacent (matrik ketetanggaan): didasarkan banyaknya busur

antara satu verteks dengan verteks yang lain. A=[aij], aij= 1, verteks ke-vi mempunyai satu busur ke verteks ke-vj dan di luar tersebut diberi nilai 0.

3. Matrik incidence ~ incident: hubungan antara vertex dengan busur. M=[mij], mij=1, jika ada hubungan antara verteks ke-vi dengan busur ke-ej, dan diluar tersebut bernilai 0.

Contoh 3 Dari graph di bawah ini, tentukan matrik ketetanggaan dan matrik incident-nya.

v1 v2

v3

v3

v6

v7

e1

e2 e3 e4 e5 e6

v1 v2

v3

v4 v5

v6

v7

e1

e2 e3 e4 e5 e6 e7

e8

Page 8: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 8/20

Jawab:

A=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

1001000100010101010200021

EDCBA

EDCBA

Jumlah dari semua entry pada kolom menunjukkan derajat, kecuali untuk entry pada diagonal utama harus dikali 2. Matrik berbentuk matrik simetri, sehingga dengan menuliskan entry setengah bagian saja, informasi sudah didapat secara penuh. Loop dinyatakan pada entry pada diagonal utama Pada multigraph dan pseudograph entry tidak hanya nol dan satu saja.

M=

⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢

11000000010000001100001011100000111

7654321

EDCBA

eeeeeee

Jumlah entry pada kolom maksimal 2, dan jika hanya satu maka busur tersebut berupa loop. Jumlah entry pada setiap baris ditambah 2kali jumlah loop menghasilkan derajat pada verteks tersebut Entry pada matrik incident hanya nol (0 ) dan (1), walaupun pseudo graph Contoh 4 Dari graph di bawah ini, tentukan matrik ketetanggaan (adjacency) dan matrik incident-nya

A

B

C

D

E

e1

e2

e3 e4

e5 e6 e7

Page 9: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 9/20

Jawab:

A=

⎥⎥⎥⎥

⎢⎢⎢⎢

1210201211030230

M=

⎥⎥⎥⎥

⎢⎢⎢⎢

1111000000011011100000011001110000011111

dcba

10987654321 eeeeeeeeee

Isomorphism: iso ~ sama, morphis ~ bentuk = bentuknya pada dasarnya sama namun digambarkan secara berbeda, matrik adjacency dapat diubah menjadi matrik yang sama Definisi: G1=(V1,E1) dan G2=(V2, E2) dua simple graph yang isomorphism berarti jika ada fungsi korespondensi satu-satu, misalkan fungsi tersebut f dari V1 ke V2 dengan sifat jika a dan b bertetangga di G1, jika dan hanya jika f(a) dan f(b) bertetangga di G2, untuk semua a, b ∈G1

F: A ~ 5, B ~ 2, C ~ 3, D ~ 4, E ~ 1, F ~ 6 Contoh 5 Manakah dari pasangan graph berikut yang isomorphisme?

a b

c d

e1 e2

e3

e4 e5 e6 e7

e8

e10 e9

A B

C D

EF

1 2

3 4

56

Page 10: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 10/20

Sifat yang membuat dua graph bukan isomorphic disebut invarian. Untuk nomor 1, invarian pada jumlah node, pada graph pertama mempunyai node sebanyak 6 sedangkan pada graph kedua mempunyai node sebanyak 7. Untuk nomor 2, fungsi isomorphism: v1~u1, v2~u2, v3~u3, v4~u4, v5~u8, v6~u6, v7~u10, v8~u5, v9~u9, v10~u7 Untuk nomor 3, tidak isomorphisme karena invarian pada node yang berderajat 4 pada graph yang pertama bertetangga, tetapi pada graph kedua tidak bertetangga Jika dua graph isomorphism v1 v2 … vn

v1 v2 : vn Akan sama dengan matrik adjacency (ketetanggaan) f(v1) f(v2) … f(vn) f(v1) f(v2) : f(vn) Sehingga untuk nomor 2 di atas didapat matrik ketetanggaan:

v3v1

v2

v4v5

v6

v8v7

v9v10 u3

u2

u1

u4

u5

u6

u7

u8u9

u10

Page 11: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 11/20

Manakah pasangan graph berarah berikut yang isomorphic?

a) Graph berarah yang pertama isomorphisme: dengan fungsi isomorphism v1~u4, v2~u3, v3~u1 b) Yang kedua, tidak isomorphisme karena pada graph pertama node v3 dan v4 tidak bertetangga, sedangkan pada graph yang kedua u1 dan u2 saling bertetangga c) Bukan isomorphisme karena pada graph pertama terdapat arah panah yang saling membentuk putaran yaitu dari v3 ke v2 ke v4, tetapi bentuk yang demikian tidak ada dalam graph yang kedua Connectivity (Keterhubungan) Definisi: Path (Lintasan) dengan panjang n dari u ke v, dimana n bilangan bulat positif, pada graph tak berarah adalah barisan busur e1, e2, …, en sedemikian sehingga f(e1)={x0, x1}, f(e2)={x1, x2}, …, f(en)={xn-1, xn}, dimana x0=u dan xn=v. Jika pada simple graph, path ini dapat ditulis x0, x1, …, xn. Sebuah path adalah sirkuit jika dimulai dan diakhiri pada vertex yang sama, atau u=v. Path atau sirkuit disebut simple jika tidak ada busur yang sama. Setiap sirkuit adalah path, tetapi tidak setiap path membentuk sirkuit Pada graph berarah, perhatikan arah dari busur! Definisi: Sebuah graph tak berarah disebut terhubung (connected) jika ada path untuk setiap pasang vertex yang berbeda pada graph tersebut. Teorema: Ada simple path diantara sepasang vertex yang berbeda dari graph tak berarah terhubung.

(a)

(b)

(c)

Page 12: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 12/20

Graph tak terhubung merupakan union dari subgraph yang terhubung. Subgraph yang disjoin ini disebut connected component (komponen terhubung) dari graph. Keterhubungan pada Graph Berarah Definisi: Graph berarah adalah strongly connected (terhubung secara kuat) jika setiap path dari a ke b dan selalu ada path dari b ke a, jika a dan b vertex pada graph. Definisi: Graph berarah adalah weakly connected jika ada path diantara dua vertex yang hanya satu arah saja. Dengan menggunakan konsep path (lintasan) dapat pula membantu menentukan graph-graph yang isomorphisme. Menghitung Path diantara vertex-vertex Teorema: Misalkan G graph dengan matrik adjacency A terhadap urutan v1, v2, …, vn (dengan busur berarah atau tak berarah, dengan busur sejajar dan loop diperbolehkan). Banyaknya path yang berbeda dengan panjang r dari vi ke vj, dimana r bilangan bulat positif, sama dengan entry ke (i, j) pada Ar. Contoh: Berapa banyak path yang berbeda dengan panjang 4 dari a ke d pada graph di bawah ini:

Jawab:

A=

⎥⎥⎥⎥

⎢⎢⎢⎢

0110100110010110

A2=

⎥⎥⎥⎥

⎢⎢⎢⎢

0110100110010110

⎥⎥⎥⎥

⎢⎢⎢⎢

0110100110010110

=

⎥⎥⎥⎥

⎢⎢⎢⎢

2002022002202002

ab

cd

Page 13: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 13/20

A4 =

⎥⎥⎥⎥

⎢⎢⎢⎢

2002022002202002

⎥⎥⎥⎥

⎢⎢⎢⎢

2002022002202002

=

⎥⎥⎥⎥

⎢⎢⎢⎢

8008088008808008

Jadi, path a-d dengan panjang 4 adalah 8. Apa saja path itu? 1. a-b-a-c-d 2. a-b-a-b-d 3. a-b-d-c-d 4. a-b-d-b-d 5. a-c-a-c-d 6. a-c-a-b-d 7. a-c-d-c-d 8. a-c-d-b-d

Path Euler dan Hamilton Definisi: Sebuah sirkuit Euler pada sebuah graph G adalah simple sirkuit yang berisikan setiap busur dari G. Path Euler pada G adalah simple path yang berisikan seluruh busur dari G. Teorema: Multigraph terhubung mempunyai sirkuit Euler jika dan hanya jika setiap vertex mempunyai derajat genap Teorema: Multigraph terhubung mempunyai path Euler tetapi bukan sirkuit Euler jika dan hanya jika tepat mempunyai dua vertex yang berderajat ganjil. Definisi: Graph yang mempunyai sirkuit Euler disebut Graph Euler Sedangkan graph yang hanya mempunyai path Euler disebut Graph Semi Euler Definisi: Pada Simple Graph. Jika path x0, x1, …, xn-1, xn pada graph G=(V, E) disebut path Hamilton jika V = {x0, x1, …, xn-1, xn} dan xi ≠ xj untuk 0 ≤ i < j ≤ n. Sirkuit x0, x1, …, xn-

1, xn, x0 (dengan n > 1) pada graph G=(V, E) disebut sirkuit Hamilton jika x0, x1, …, xn-1, xn adalah path Hamilton. Kn mempunyai sirkuit Hamilton, jika n ≥ 3 Teorema: Jika G graph simple terhubung dengan vertex sebanyak n, dimana n ≥ 3, maka G mempunyai sirkuit Hamilton jika derajat setiap vertex paling sedikit n/2

Page 14: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 14/20

Soal: Buatlah graph simple yang terdiri dari 5 vertex (jumlah busur terserah) 1. Graph Euler bukan graph Hamilton 2. Graph Hamilton bukan graph Euler Graph Berbobot Graph yang busur-busurnya diberi bobot (bobot-bobot ini dapat menyatakan berbagai macam penggunaan, misal waktu tempuh, jarak, kualitas, kuantitas, dll) Contoh:

Lintasan terpendek Algoritma Dijkstra Procedure Dijkstra (G: simple graph yg diberi bobot, dgn bobot selalu positif) {G punya vertex a=vo, v1, …, vn=z dan bobot w(vi, vj) dimana w(vi, vj)= ∞ jika (vi, vj) bukan busur di G} For i:= 1 to n L(vi):= ∞ {panjang lintasan dari a ke vi} L(a):=0 {panjang lintasan dari a ke a} S:= ∅ {semua variable sudah diinisiasi sehingga panjang a = 0 dan yg lainnya tak hingga, sedangkan S himpunan kosong} While z ∉ S Begin u:= vertex bukan anggota S dengan L(u) minimum S:=S ∪ {u} For semua vertex v bukan anggota S If L(u)+w(u,v) < L(v) then L(v):= L(u) + w(u,v) End {L(z)= panjang lintasan terpendek dari a ke z}

45

50 10

3530

315

1540

20 10 20

1 2

3 4 6

5

Page 15: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 15/20

Contoh: Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A sampai dengan D:

B C

EF

8

5

3A D

8

2

1

6

44

2

Jawab: S={A, B, F, C, D} L(D)=10 Contoh: Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A sampai dengan D:

B C

EF

8

5

3A D

8

2

1

6

54

2

Jawab: Contoh: Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A sampai dengan Z:

Jawab:

Algoritma lain yang digunakan untuk mencari lintasan terpendek untuk sembarang dua

pasang node adalah Algoritma Floyd. Algoritma ini adalah pengembangan dari algoritma

1 2

1 2 1

3

5 3

3 3

2

1

2

3

4

13

5

A Z

B

C

D

E

F

G

H

I

A

Page 16: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 16/20

Dijkstra. Tentu algoritma ini digunakan untuk graph yang mempunyai node cukup

banyak.

Algoritma Floyd

Procedure Floyd(G: simple graph yang diboboti)

{menentukan lintasan terpendek dari vi ke vj}

{G mempunyai vertex v1, v2, …, vn dan bobot w(vi, vj) dengan w(vi, vj)= ∞ jika tidak ada

busur}

for i:=1 to n

for j:=1 to n

d(vi, vj):=w(vi, vj)

for i:=1 to n

for j:= 1 to n

for k:=1 to n

if d(vj, vi)+ d(vi, vk)< d(vj, vk):= then d(vj, vk):= d(vj, vi)+ d(vi, vk)

{ d(vi, vj) panjang lintasan terpendek diantara vi dan vj}

Contoh: Tentukan lintasan terpendek dari node B ke node F dari graph yang berbobot berikut ini:

TSP (Traveling Salesman Problem) Ada beberapa kota yang harus dilalui dengan waktu tempuh untuk seluruh kota2 tersebut dan kembali ke kota awal dengan waktu yang sesingkat-singkatnya. Syarat jaringan kota2 ini membentuk graph lengkap. Graph Planar Definisi: Sebuah graph disebut planar jika dapat digambarkan pada bidang tanpa membuat busur yang saling bersilangan. Gambar yang demikian ini disebut representasi planar

1 2

1 2 2

3

5 3

3 3

4

1

1

2

4

13

5

A Z

B

C

D

E

F

G

H

I

Page 17: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 17/20

Contoh:

Homomorphic: Graph G=(V,E) homomorphic dengan graph H=(V’, E’) jika graph H dibentuk dari G dengan cara menambahkan beberapa vertex pada beberapa busur. Teorema Kuratowski Graph yang mempunyai sub graph yang homomorphic dengan K3,3 atau K5, bukan merupakan graph planar.

H2 H3

W G E

v1 v2

v3 v4

v1 v2

v3 v4

Representasi Planar

Page 18: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 18/20

Contoh: Tentukan apakah graph berikut termasuk graph planar atau bukan? Jika bukan, apakah mempunyai sub graph yang homomorphic dengan K3,3 atau K5?

Region Representasi planar membuat bidang di-split dalam beberapa region, termasuk region yang tak terbatas.

Pada graph tersebut membentuk region sebanyak 4. Rumus Euler: Simple Graph Planar Terhubung dengan busur sebanyak e dan vertex sebanyak v, serta region sebanyak r memenuhi rumus: r = e – v + 2 Contoh: Sebuah simple graph planar terhubung dengan 20 vertex yang masing-masing mempunyai derajat 3. Ada berapa regionnya? Jawab: Rumus handshaking= jumlah derajat = 2e Jumlah derajat: 3x20 = 60 Sehingga r =12 Akibat rumus Euler: Simple Graph Planar Terhubung dengan busur sebanyak e dan vertex sebanyak v, dimana v≥3, maka e ≤ 3v – 6

r1

r3

r4

r2

v1

v2

v4 v5

v6

v8 v7

v9 v10

v3

Page 19: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 19/20

Akibat 2: Jika simple graph planar terhubung dengan busur sebanyak e dan vertex sebanyak v, dimana v≥3, dan tidak ada sirkuit dengan panjang 3, maka e ≤ 2v – 4 Graph Coloring (Pewarnaan Graph) Definisi: Pewarnaan dari simple graph adalah pemberian warna pada setiap vertex dari graph sehingga tidak ada vertex yang bertetangga mempunyai warna yang sama. Definisi: Bilangan kromatik dari sebuah graph adalah bilangan terkecil dari banyaknya warna yang digunakan dalam perwarnaan graph. Algoritma Welch-Powell: 1. Urutkan node berdasarkan derajat menurun (representasi ini tidak tunggal, karena

derajat node bisa sama) 2. Berilah warna mulai dari node yang berderajat terbesar. 3. Berilah warna yang sama, sepanjang bukan node yang bertetangga, terhadap node

yang mempunyai derajat yang sama atau lebih kecil. 4. Langkah 3 diulang sampai habis. 5. Langkah 2., 3., dan 4., diulang sampai semua node diberi warna Contoh Aplikasi: 1. Pewarnaan pada peta dunia. Jika negara saling berbatasan tidak boleh mempunyai

warna yang sama. 2. Penyimpanan bahan kimia berbahaya, jika dikumpulkan dalam satu ruangan bisa

menimbulkan ledakan 3. Penjadwalan ujian, sehingga tidak ada mahasiswa yang ujian dalam satu waktu. 4. Pengaturan Frekuensi. Sehingga dua stasiun TV yang berdekatan tidak menggunakan

frekuensi yang sama Contoh: A B C D E A 0 2 1 3 2 B 2 0 0 1 1 C 1 0 0 1 2 D 3 1 1 0 1 E 2 1 2 1 0 Dari matrik ketetanggaan multi graph di atas tentukan nilai kromatiknya Jawab: Node A D E B C Derajat 8 6 6 4 4 Warna m b k hj hj

Page 20: Pengantar Graph

http://mahmud-imrona.blogspot.com Graph.doc 20/20

Teorema Empat Warna: Bilangan kromatik dari graph planar tidak lebih dari empat. Akibatnya untuk mewarnai peta dunia cukup digunakan maksimal empat warna saja, karena dual dari peta dunia membentuk graph planar.