Anda di halaman 1dari 21

Bab 4b

Teori Graf
Tujuan

• Mempelajari sifat-sifat dasar teori graf


• Mempelajari tentang perjalanan, jejak, lintasan, rangkaian dan
siklus dalam sebuah graf.
• Mempelajari bagaimana graf direpresentasikan dalam memori
komputer.
• Mempelajari tentang siklus Euler dan Hamilton
• Mempelajari tentang keisomorfisan graf
• Mempelajari berbagai algoritma graf
• Menguji graf planar.
Topik Lalu
• Karakterisasi Graf:
• graf,
• edge,
• verteks,
• lintasan,
• lintasan sederhana,
• siklus,
• siklus sederhana,
• siklus euler,
• siklus Hamilton.

Page 3
Gray Code

• Misalkan G1 menyatakan barisan 0,1. Kita mendefinisikan Gn dalam hal


Gn-1 dengan aturan-aturan berikut:
• a). Misalkan GRn-1 menyatakan barisan Gn-1 yang ditulis terbalik.
•  b). Misalkan G’n-1 menyatakan barisan yang diperoleh dengan
menambahkan imbuhan pada masing-masing anggota dengan 0.
•  c). Misalkan G’’n-1 menyatakan barisan yang diperoleh dengan
menambahkan imbuhan pada masing-masing dengan 1.
•  d). Misalkan Gn adalah barisan berisi G’n-1 diikuti oleh G’’n-1.
Gray Code
• Maka Gn adalah kode Gray untuk setiap integer n.
• Maka dari definisi di atas dapat dibentuk kode gray G3 dimulai dengan G1.
•  G1 0 1
•  GR1 1 0
•  G’1 00 01
• G’’1 11 10
• G2 00 01 11 10
• GR2 10 11 01 00
• G’2 000 001 011 010
• G’’2 110 111 101 100
• G3 000 001 011 010 110 111 101 100
Algoritma lintasan terpendek
 Algoritma ini adalah untuk menentukan lintasan terpendek dari suatu graf bernilai
(berbobot).
 Algoritma ini dikembangkan oleh E.W. Dijkstra, seorang ahli pemrograman
berkebangsaan Belanda.
 Perhatikan graf berikut.
Algoritma lintasan terpendek
Algoritma lintasan terpendek
Algoritma lintasan terpendek
Algoritma lintasan terpendek
Representasi Graf

 Sebuah Graf dapat direpresentasikan dengan cara matriks dalam dua cara:
1. Matriks berdekatan
2. Matriks bersisian
 Representasi graf dengan matriks berdekatan adalah dengan memasangkan
antara verteks dengan verteks yang terdapat pada graf, sehingga didapat
matriks yang bujur sangkar.
 Representasi graf dengan matriks bersisian adalah dengan memasangkan
antara verteks (pada baris) dengan edges (pada kolom) dari suatu graf.
Matriks berdekatan
 Perhatikan graf berikut. Buatlah sebuah matriks berdekatan untuk graf
tersebut.
a b c d e
a b a 0 1 0 0 1
 
b 1 0 1 0 1
c c 0 1 1 0 1
 
d0 0 0 0 1
d e  
e 1 1 1 1 0

Perhatikan bahwa dengan menjumlahkan semua angka pada baris kita dapat
menentukan derajat dari masing-masing verteks. Misalnya derajat dari verteks a
adalah 2 dan derajat verteks e adalah 4.
Matriks berdekatan a b c d e
a 0 1 0 0 1
 
a b b 1 0 1 0 1
c 0 1 1 0 1
 
c d0 0 0 0 1
d e  
e 1 1 1 1 0

 Perhatikan juga bahwa representasi graf dengan cara ini memungkinkan


sebuah loop dapat direpresentasikan, akan tetapi tidak dapat
direpresentasikan edge sejajar/paralel. Tetapi jika kita memodifikasi definisi
dari matriks berdekatan ini sehingga diperbolehkan menggunakan sembarang
bilangan bulat bukan negatif sebagai masukan maka kita dapat
merepresentasikan edge sejajar.
 Matriks berdekatan bukanlah cara yang sangat efisien untuk
merepresentasikan sebuah graf. Karena matriks menjadi simetris sepanjang
diagonal utamanya, sehingga informasi kecuali pada diagonal utama, muncul
dua kali.
Matriks berdekatan a b c d e
a 0 1 0 1 0
 
a b b 1 0 1 0 1
c 0 1 0 1 1
 
c d 1 0 1 0 0
d e  
e 0 1 1 0 0

 Perhatikan graf di atas dan matriks representasinya.


 Jika A adalah matriks berdekatan dari sebuah graf, maka pangkat dari A:

 A, A2, A3,…
 
menyatakan jumlah lintasan dengan berbagai panjang. Jelasnya, jika
verteks dari graf G diberi label 1,2,3,…, maka elemen ke-ij dalam matriks
An sama dengan jumlah lintasan dari i ke j dengan panjang n. Sebagai
contoh, dari misalkan matriks di atas adalah A, maka:
Matriks berdekatan
0 1 0 1 0 0 1 0 1 0 a b c d e
    a 2 0 2 0 1
1 0 1 0 1  1 0 1 0 1  
b 0 3 1 2 1
A2  0 1 0 1 1 x 0 1 0 1 1
    c 2 1 3 0 1
 
1 0 1 0 0  1 0 1 0 0 d0 2 0 2 1
     
0 1 1 0 0 0 1 1 0 0 e 1 1 1 1 2

 Dari matriks A2 di atas, perhatikan elemen baris pertama (a) dan kolom ketiga (c),
yaitu 2. Berarti ada 2 lintasan dengan panjang 2 (n=2), yaitu (a,b,c) dan (a,d,c).
Contoh lain verteks b ke b (baris 2, kolom 2), elemennya adalah 3, maka terdapat 3
lintasan dengan panjang 2, yaitu (b,c,c), (b,a,b) dan (b,e,b).
 Jika A adalah matriks berdekatan dari sebuah graf sederhana, maka elemen ke-ij
dari An sama dengan jumlah lintasan dengan panjang n dari verteks i ke verteks j,
n=1,2,3,…
Matriks berdekatan
a b c d e
a  9 3 11 1 6 
 
b  3 15 7 11 8 
c 11 7 15 3 8 
 
d  1 11 3 9 6 
 
e  6 8 8 6 8

 Bila dipangkat 4 (A4), maka matriksnya seperti di atas.


 Elemen baris d dan kolom e adalah 6, berarti bahwa ada 6 lintasan dengan
panjang 4 dari d ke e, yaitu: (d,a,d,c,e), (d,c,d,c,e), (d,a,b,c,e), (d,c,e,c,e),
(d,c,e,b,e) dan (d,c,b,c,e).
Matriks bersisian (insidensi)

e1 e2 e3 e4 e5 e6 e7
v1 e3 v2 v3 a 1 1 1 0 0 0 0
e1 e5  
e2 b 0 0 1 1 1 0 1
e4
e6 c 0 0 0 0 0 1 0
e7  
v4 v5 d 1 1 0 1 0 0 0
 
e 0 0 0 0 1 1 0

 Perhatikan graf di atas dan matriks bersisian yang merepresentasikannya.


 Matriks insiden memungkinkan kita merepresentasikan edge dan loop.
Perhatikan bahwa dalam graf tanpa loop maka masing-masing kolom
edge akan memiliki dua angka 1 dan jika jumlah dari baris tertentu
menyatakan derajat dari verteks yang dinyatakan dalam baris itu.
Keisomorfisan Graf

Perhatikan dua graf berikut.


Sekalipun kedua graf kelihatannya berbeda, namun keduanya adalah isomorfis.
Graf G1 dan G2 disebut isomorfis jika ada fungsi pada, satu-satu (f) dari verteks-
verteks graf G1 ke verteks-verteks graf G2 dan fungsi pada, satu-satu (g) dari
edges graf G1 ke edge graf G2, sehingga sebuah e ada pada v dan w dalam G11
jika dan hanya jika g(e) ada pada f(v) dan f(w) dalam G2. Pasangan fungsi f dan
g disebut keisomorfisan G1 dan G2.

a A
x1 x2 y1 y2
b y4 D
e C
x5 x3
y5 y3
d x4 c E B
Keisomorfisan Graf

• Misalkan G1 dan G2 adalah graf sederhana. Maka pernyataan berikut adalah ekuivalen.
• G1 dan G2 adalah isomorfis.
• Ada fungsi f pada,satu-satu dari kumpulan verteks G 1 kepada kumpulan verteks G2 yang
memenuhi: verteks-verteks v dan w bertetangga dalam G 1 jika dan hanya jika verteks f(v) dan f(w)
adalah bertetangga dalam G2.
•  Graf sederhana G1 dan G2 adalah isomorfis jika dan hanya jika untuk beberapa
verteks yang berurutan, matriks yang berdekatan adalah sama.
• Periksalah matriks berdekatan untuk kedua graf di bawah ini, apakah sama atau tidak.

a A
x1 x2 y1 y2
b
e C y4 D
x5 x3

d x4 c E y5 y3
B
Graf Planar
K1 K2 K3

K4 K5 K6

 Perhatikan gambar di atas, misalkan pada tiga kota K1, K2 dan K3 akan dibangun
jalan langsung dari masing-masing kota ke semua kota K4 K5, dan K6. Apakah
mungkin membangun jalan tersebut tanpa saling-silang?
 Sebuah graf adalah planar jika dapat digambarkan dalam bidang itu tanpa edgenya
bersilangan.
 Masalah graf planar ini diterapkan dalam bidang elektronika, dimana kalau
seseorang ingin mendisain rangkaian elektronik harus diusahakan sedemikian rupa
agar garis-garis rangkaian tidak saling bersilangan, sehingga seorang ahli disain
rangkaian elektronik menghadapi masalah planaritas.
Graf Planar
 Jika sebuah sebuah graf terhubung yang planar dibuat dalam bidang,
bidang dibagi kedalam daerah yang disebut muka (faces). Sebuah
muka dicirikan dengan sebuah lingkaran yang membentuk
batasannya.
 Bila f adalah muka (faces), e adalah edges dan v adalah verteks,
maka pada graf planar berlaku hubungan berikut:
 f = e – v + 2.
 Perhatikan contoh graf berikut. F = 4, E=8, dan v = 6. Maka 4 = 8-6+2
1 2
D
C
6 B 5 A
4 3

Anda mungkin juga menyukai