Anda di halaman 1dari 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:

Simple Graph, Multi Graph,


dan Pseudo Graph

Multigraph dan Pseudo Graph

Pseudo Graph

Jika dinyatakan dalam himpunan bagian:


Simple Graph ⊆ Multi Graph ⊆ Pseudo Graph

4. Simple Graph Directed: graph berarah yang boleh mempunyai loop

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


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

Contoh:

Simple Graph dan Multigraph


Directed

Multigraph Directed

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:

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


e1
b c
e7 e2
e4
e3 d
e5 a
e
e6

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:

e1
b c
e7 e2
e4
e3 d
e5 a
e
f
e6

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

http://mahmud-imrona.blogspot.com Graph.doc 3/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:

e2
e1
e3
a b
e7 e6 e4
e5
d c

e8
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

K1
K2
K3 K4 K5
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

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


3. Graph Wheel: Wn, n ≥ 3

W3 W4 W5
W6

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

Q0 Q1 Q2 Q3

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.
a b c d e

b f
a

c i g
d
h
G H

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:

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


a b b

c
d
a
e
c d f
g
h
G H i
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?

H3
G H1 H2

H4
H5 H7
H6
C
A

H8 H9 H10 H11
B

Bridge (jembatan), yaitu busur yang jika dihapus menyebabkan graph terbagi dua.

Pada graph G tidak ada jembatan.

http://mahmud-imrona.blogspot.com Graph.doc 6/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).
v1 e1 v2 v4 e8 v5

e2 e3 e6 e7
e4 e5
v7
v3
v6
- 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
v1 e1 v2 v3

e2 e3 e6
e4 e5
v7
v3
v6

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.

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


B
e2
e4
e1 e3 C
A
e7 e6 D e5
E
Jawab:

A B C D E
A ⎡1 2 0 0 0 ⎤
B ⎢⎢2 0 1 0 1⎥⎥
A=
C ⎢0 1 0 1 0⎥
⎢ ⎥
D ⎢0 0 1 0 0⎥
E ⎢⎣0 1 0 0 1⎥⎦
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.
e1 e2 e3 e4 e5 e6 e7
A ⎡1 1 1 0 0 0 0⎤
B ⎢⎢0 1 1 1 0 1 0⎥⎥
M=
C ⎢0 0 0 1 1 0 0 ⎥
⎢ ⎥
D ⎢0 0 0 0 1 0 0 ⎥
E ⎢⎣0 0 0 0 0 1 1⎥⎦
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

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


e1
a e2 b

e3
e6 e7
e4 e5
e8
d
c e9 e10

Jawab:
⎡0 3 2 0⎤
⎢3 0 1 1 ⎥⎥
A= ⎢
⎢2 1 0 2⎥
⎢ ⎥
⎣0 1 2 1⎦

e1 e2 e3 e4 e5 e6 e7 e8 e9 e10
a ⎡1 1 1 1 1 0 0 0 0 0⎤
M= b ⎢1 1 1 0 0 1 1 0 0 0⎥⎥

c ⎢0 0 0 1 1 1 0 1 1 0⎥
⎢ ⎥
d ⎣0 0 0 0 0 0 1 1 1 1⎦

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

A B 1 2
E 6
F 5
3
4
C D

F: A ~ 5, B ~ 2, C ~ 3, D ~ 4, E ~ 1, F ~ 6

Contoh 5
Manakah dari pasangan graph berikut yang isomorphisme?

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


v2 u2

v10 u1 u7 u3
v1
v6 v9 v3 u10
u8
u9
u4
v8 u6
v7
v5 u5
v4

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:

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


Manakah pasangan graph berarah berikut yang isomorphic?

(a)

(b)

(c)
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.

http://mahmud-imrona.blogspot.com Graph.doc 11/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:
a
b

d c
Jawab:
⎡0 1 1 0⎤
⎢1 0 0 1⎥⎥
A= ⎢
⎢1 0 0 1⎥
⎢ ⎥
⎣0 1 1 0⎦
⎡0 1 1 0⎤ ⎡0 1 1 0⎤ ⎡ 2 0 0 2⎤
⎢1 0 0 1⎥⎥ ⎢1 0 0 1⎥⎥ ⎢⎢0 2 2 0⎥⎥
A2= ⎢ ⎢ =
⎢1 0 0 1⎥ ⎢1 0 0 1⎥ ⎢0 2 2 0⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 1 1 0⎦ ⎣0 1 1 0⎦ ⎣ 2 0 0 2⎦

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


⎡2 0 0 2⎤ ⎡2 0 0 2⎤ ⎡8 0 0 8⎤
⎢ 0 2 2 0 ⎥ ⎢ 0 2 2 0 ⎥ ⎢0 8 8 0 ⎥
A4 = ⎢ ⎥⎢ ⎥ =⎢ ⎥
⎢ 0 2 2 0 ⎥ ⎢ 0 2 2 0 ⎥ ⎢0 8 8 0 ⎥
⎢ ⎥⎢ ⎥ ⎢ ⎥
⎣2 0 0 2⎦ ⎣2 0 0 2⎦ ⎣8 0 0 8⎦
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

http://mahmud-imrona.blogspot.com Graph.doc 13/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:

45

1 50 2 10
5
40
15 35
20 10 20
30

3 15 4 3 6
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}

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


Contoh:
Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A A
sampai dengan D:
B 8 C
2 8 1
4
A 3 4 D
6 2
F 5 E

Jawab:
S={A, B, F, C, D}
L(D)=10

Contoh:
Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A sampai
dengan D:
B 8 C
2 8 1
5
A 3 4 D
6 2
F 5 E

Jawab:

Contoh:
Tentukan lintasan terpendek dengan menggunakan algoritma Dijkstra dari A sampai
dengan Z:
D 3
2
F H
1 1 5 2 3
A 2 3
C 3 1
Z
2 E 5
1 3 1
4 I
3
B G
Jawab:

Algoritma lain yang digunakan untuk mencari lintasan terpendek untuk sembarang dua
pasang node adalah Algoritma Floyd. Algoritma ini adalah pengembangan dari algoritma

http://mahmud-imrona.blogspot.com Graph.doc 15/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:
D 3
1
F H
1 2 5 4 3
A 2 2
C 3 1
Z
2 E 5
1 3 1
4 I
3
B G

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

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


Contoh:

v1 v2 v1 v2

v3 v4 v3 v4

Representasi Planar

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

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


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

v10
v1
v6 v9 v3

v8
v7
v5
v4

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

r4 r1
r2 r3

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

http://mahmud-imrona.blogspot.com Graph.doc 18/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

http://mahmud-imrona.blogspot.com Graph.doc 19/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.

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

Anda mungkin juga menyukai