GRAF
BAB 9. GRAF
Kompetensi dasar: Memahami konsep dasar graf dan mampu
menggunakannya dalam menyelesaikan berbagai kasus
aplikasi graf
A. Pengertian Graf
Contoh. Himpunan Vertex = {1,2,3,4}, dan Himpunan Edge = { {1,2}, {1,3}, {1,4},
{3,4} }, maka G=(V,E) adalah suatu graf.
Definisi. Jika terdapat suatu graf G = (V,E) dan edge e E dengan e = {vi,vj}, vi, vj
V, maka kedua vertex vi, vj dikatakan adjacent, dan edge e dikatakan
incident dengan vertex vi, vj.. Jika untuk setiap e = {vi,vj}, berlaku e = {vi, vj} =
{vj, vi}, maka graf G disebut graf tak berarah. Jika tidak demikian, maka graf G
disebut graf berarah.
Definisi. Ordo dan ukuran dari graph G=(V,E) disajikan lewat kardinalitas dari V dan
E yang dinotasikan dengan | V | = n dan | E | = m.
Contoh. Pada graf G di atas, maka vertex 1 adjacent dengan vertex 2, 3 dan 4,
vertex 2 adjacent dengan vertex 3 dan vertex 3 juga adjacent dengan vertex 4.
Ordo dari graf =|V| = 4 sedangkan ukuran dari graf = |E|= 5.
Definisi. Jika pada graf G terdapat edge e = {vi, vj} E dengan vi = vj, maka e
disebut loop. Jika terdapat dua atau lebih edge yang menghubungkan dua
vertex yang sama, katakan e1 = {vi , vj} dan e2 = {vi, vj} dengan e1 e2, maka
edge e disebut paralel edge dan graf G disebut dengan multi graf. Graf G yang
tidak punya loop dan paralel edge disebut dengan graf sederhana dan
disingkat sebagai graf
Pada multi graf di atas, 4 kelompok paralel edge, dan 3 buah loop
Definisi. Jika pada graf G=(V,E), terdapat partisi pada V atas dua himpunan V1 dan
V2, yaitu V = V1 U V2 dan V1 saling asing dengan V2 sedemikian hingga setiap
edge e = { vi, vj } maka vi V1 dan vj V2, maka graf G disebut graf bipartite
B. Penyajian Graf
Definisi. Dua buah graf G(V,E) = G1 (V1,E1) bila dan hanya bila V=V1 dan E = E1.
Perhatikan bahwa kedua graf berikut adalah sama, sebab memuat himpunan
vertex dan edge yang sama
c. Penyajian graf dengan matrik. Cara ini menggunakan matrik relasi antar
vertex atau antara vertex dengan edge. Cara ini sering digunakan dalam
menyimpan sebuah graf dalam memori komputer (struktur data). Cara lainnya
dalam menyimpan graf pada memori komputer adalah dengan cara list atau
struktur data graf. Cara penyimpanan pada memori komputer tidak dibahas
dalam dalam bab ini tetapi pada bab selanjutnya.
Ditentukan suatu graph G =(V,E) dan suatu relasi R:V →V. Suatu vertex x berelasi
dengan vertex y, yaitu x R y jika dan hanya jika edge (x,y) E.
Definisi. Matrik adjacence dari G(V,E), dinotasikan dengan A(G) atau A, adalah
matrik bujursangkar ordo n = |V|, dengan setiap elemen
1, bila (i , j ) E
aij =
0, bila (i. j ) E
Contoh graph G=(V,E) dengan V={1,2,3,4} dan E = {(1,2), (1,3), (1,4), (2,4), (3,4) }
disajikan dalam bentuk matrik adjacence 0-1 sebagai
0 1 1 1
1 0 0 1
A
1 0 0 1
1 1 1 0
Kelemahan utama dari penyajian graph dengan matrik adjacence adalah bahwa
matrik tersebut kurang efisien disebabkan sifat simetri matrik itu, yaitu informasi
elemen tidak pada diagonal utama akan disajikan 2 kali. Penyajian graph dengan
matrik dapat juga dilakukan lewat matrik incidence.
Ditentukan suatu graph G =(V,E) dan suatu relasi R: V E. Suatu vertex x berelasi
dengan edge e, yaitu x R e jika dan hanya jika terdapat suatu vertex k sehingga
edge e = (x,k) E.
n = |V| dan m = |E| dikatakan matrik incidence dari graph G(V,E) jika
a. b i j = 1 bila terdapat insidensi vertex i dengan edge e j , dan
Contoh graph G=(V,E) dengan V={1,2,3,4} dan E = {(1,2), (1,3), (1,4), (2,4), (3,4) }
disajikan dalam bentuk matrik incidence 0-1 sebagai
1 1 1 0 0
1 0 0 1 0
B
0 1 0 0 1
0 0 0 0 1
Keuntungan utama dari penyajian dengan matrik ini adalah bawa penyajian ini
memungkinkan pengajian suatu graph yang mempunyai loop ataupun multi graf.
Definisi. Dua buah graf G(V,E) dan G1 (V1,E1) bila dan hanya bila V V1 dan E
E1, maka graf G disebut subgraf dari G1. Jika pada subgraf G, berlaku V = V1,
maka subgraf G disebut spanning subgraf dari G1
Contoh
C. Degree (Derajat)
Definisi. Degree (derajat) dari suatu vertex x pada graf G(V, E), ditulis dengan d(v)
adalah cacah edge yang insiden dengan vertex v. Jika graf G berarah , degree-
in dari vertex, di tulis dengan d+ (x), adalah cacah edge insiden dengan v yang
“masuk” ke v, dan degree-out dari vertex v, ditulis dengan d- (x), adalah cacah
edge insiden dengan v yang “keluar” dari v.
Jelas bahwa d(v) = d+(v) + d- (v).
Contoh
Ditentukan graf G(V,E) seperti
gambar di samping. Degree dari
vertex 1, d(1) = 4, d(2) = 2, d(4) =
3, dan d(5)= 1, serta d(6) = 0.
Suatu vertex v dengan d(v) = 0
disebut dengan vertex terisolir
(isolated vertex).
Perhatikan bahwa setiap edge dalam graf G(V,E) selalu memberikan kontribusi 1
degree pada masing-masing vertex yang insiden dengannya. Sehingga diperoleh
kenyataan jumlah total vertex pada suatu graf adalah genap.
Teorema. Pada sebarang graf G(V,E), cacah vertex berdegree ganjil adalah genap
Bukti. Kelompokkan himpunan vertex berdegree genap ke S dan yang berdegree
ganjil ke T. Maka d (v ) d ( v ) 2 | E |
x S x T
karena d (v) genap | maka
x S
d (v) genap |
x T
Terkait dengan degree dari suatu graf G(V,E) yang disajikan dengan matrik relasi
dapat ditunjukkan bahwa:
a. Jika G adalah sederhana, maka jumlah elemen dalam suatu baris pada matrik
adjacent A atau incidence B sama dengan derajat dari vertex yang
bersesuaian
b. Jika jumlah elemen dari suatu baris pada matrik matrik relasi adalah nol maka
vertex yang bersesuaian adalah vertex terisolir (isolated vertex).
Definisi. Jika pada graf G(V,E), untuk setiap vertex v V, d(v) = k, maka G disebut
reguler Gk . Jika pada graf reguler Gk dengan k = |V| - 1, maka G disebut graf
komplit (complete graph)
Graf di atas adalah contoh graf reguler dengan k=0, k=1 dan k = 2
Teorema. Ditentukan graf komplit G(V,E) dengan ordo n dan ukuran m, maka:
a. d (v) n (n 1)
x V
n (n 1)
b. m
2
Bukti. Diserahkan pada pembaca sebagai bahan latihan
pekerja dikualifikasi untuk satu atau lebih pekerjaan, seperti yang ditunjukkan di
bawah ini :
Pekerja Pekerjaan yang dikualifikasikan
W1 J1, J2 dan J3
W2 J2 dan J4
W3 J1 dan J3
W4 J3, J5 dan J6
W5 J2
W6 J4 dan J5
Penugasan mungkin jika dan hanya jika G memuat 1 regular spanning graf
(subgraf yang memiliki 1 faktor). Salah satu dari subgraf ditunjukkan oleh
Gambar di bawah ini, dengan edge dari subgraf diberi garis tebal.
W6 J5
Pengertian lintasan, panjang lintasan, sirkuit dan keterhubungan pada suatu graf
banyak dibahas karena mempunyai aplikasi yang sangat luas, khususnya pada
persoalan transportasi dan jaringan komunikasi, telekomunikasi serta berbagai
kasus geometri lainnya.
Berikut ini akan disajikan beberapa pengertian dasar dari lintasan, sirkuit dan
keterhubungan serta beberapa teorema yang terkait.
Definisi. Suatu lintasan (path) adalah barisan dari vertex v1, v2, v3, ..., vn sedemikian
hingga setiap k = 2, 3, ... , n berlaku {vk-1, vk} E. Jika dalam suatu lintasan
terjadi bahwa v1 = vn, dan tidak terdapat dua vertex yang sama, maka lintasan
tersebut disebut dengan sirkuit. Panjang dari lintasan adalah cacah edge yang
termuat didalamnya.
Jika didalam lintasan terdapat vertex yang sama, maka lintasan disebut dengan
jalan (walk)
Contoh
Pada graf G = (V,E) di samping, maka
barisan vertex 1, 3, 5, 4, 6 adalah suatu
lintasan dengan panjang 4, sedangkan
baris 1,2,4,3,1 adalah sirkuit dengan
panjang 4.
Barisan 1,2,4,3,5,4,2 adalah sebuah jalan
Definisi. Jika pada graf G(V,E) diantara 2 sebarang vertex, selalu terdapat lintasan
yang menghubungkannya, maka graf G disebut graf terhubung (connected
graph).
Definisi. Komponen dari suatu graf G adalah subgraf terhubung G’ dari G di mana
G” subgraf dari G dan G’ subgraf dari G, maka G’ = G”. Dengan kata lain,
komponen dari graf G adalah subgraf terhubung maksimal dari graf G.
Selanjutnya cacah komponen pada suatu graf G disajikan dengan C(G). Jelas
bahwa jika C(G) = 1, maka graf G terhubung. Selanjutnya dapat diperhatikan bahwa
komponen membentuk partisi pada suatu graf atas beberapa subgraf terhubung
maksimal.
Berkaitan dengan penyajian graf dengan matrik relasi, dapat diperoleh kenyataan
bahwa :
a. Jika dilakukan operasi pergandaan matrik adjacency A, dengan operasi antar
elemennya adalah operasi Boolean, yaitu 0.0 = 0.1 = 1.0 = 0, 1.1 = 1, 0+0 =
0, 0 + 1 = 1+0 = 1+1 = 1, maka elemen baris ke i kolom ke j dari Ak adalah
Kasus lintasan Euler merupakan masalah klasik pada awal perkembangan graf,
yaitu pada kasus jembatan Konisberg. Pada kasus tersebut, secara graf dapat
disajikan sebagai
Adakah suatu litasan yang berawal
dari suatu vertex A, B, C, atau D,
yang melewati semua jembatan
(edge) tepat satu kali, dan kembali
ke tempat asal.
Definisi. Lintasan Euler pada suatu graf G adalah lintasan yang melewati semua
edge tepat satu kali. Jika lintasan itu berupa sirkuit, maka sirkuit disebut sirkuit
Euler. Lintasan Hamilton adalah lintasan yang mulai dan berakhir pada vertex
yang sama dan melewati semua vertex tepat satu kali
Contoh
Pada graf disamping terdapat lintasan
Euler dan sekaligus lintasan Hamilton.
Perhatikan bahwa pada lintasan Euler,
lintasan melewati edge tepat satu kali,
sedangkan pada lintasan Hamilton
melewati vertex tepat satu kali.
Teorema. Suatu grap mempunyai sirkuit Euler jika dan hanya jika graf itu terhubung
dan semua vertex berdegree genap
Bukti. Andaikan graf mempunyai sirkuit Euler. Jelas bahwa graf akan terhubung.
Karena penelusuran sirkuit berarti masuk dari suatu edge ke vertex dan keluar
lewat edge lainnya, maka vertex harus berdegree genap. Akibatnya semua
vertex berdegree genap. Pembuktian konverse diserahkan pada pembaca.
Teorema. Pada suatu graf G(V,E) mempunyai suatu lintasan dari vertex v ke w
dengan v ≠ w yang memuat semua vertex dan edge jika dan hanya jika G(V,E)
terhubung dan hanya vertex v dan w berdegree ganjil
Bukti.Andaikan terdapat lintasan P dari v ke w yang memuat semua vertex dan
edge. Jelas bahwa G akan terhubung. Jika ditambahkan edge dari w ke v,
katakan e = {v,w}, maka P adalah lintasan Euler. Dengan teorema terdahulu,
maka setiap vertex akan berdegree genap. Jika edge e dihilangkan, maka
degree dari v dan degree dari w akan berkurang 1, sehingga vertex v dan w
berdegree ganjil, sedangkan vertex lainnya berdegree genap.
Perhatikan bahwa keberadaan lintasan dan sirkuit Euler pada suatu graf dapat
ditunjukkan oleh adanya suatu teorema di muka. Akan tetapi keberadaan lintasan
dan sirkuit Hamilton tidak dapat dijamin oleh suatu teorema tertentu. Meskipun
demikian beberapa pernyataan berikut ini dapat digunakan untuk melacak
keberasaan lintasan Hamilton dalam suatu graf G(V,E).
a. Jika graf G mempunyai sirkuit Hamilton, maka setiap vertex berdegree
minimal 2
b. Jika suatu vertex x, dengan d(x) = 2, maka dua edge yang insiden dengan x
harus termuat dalam lintasan Hamilton
c. Jika suatu vertex x, dengan d(x) > 2, maka sekali lintasan Hamilton lewat
vertex x, maka semua edge insiden dengan x yang tidak digunakan dapat
dihapus dari pertimbangan pada pencarian lintasan Hamilton
d. Dalam membangun sirkuit Hamilton dari graf G, maka kita tidak dapat
menentukan sirkuit sederhana dari subgraf dari G yang memuat semua
vertex dari G
Beberapa problema lintasan dan sirkuit banyak dibahas pada graf berlabel, yaitu jika
setiap diberikan bobot yang mungkin dapat menyatakan biaya tempuh atau jarak
antar 2 vertex. Problema tersebut misalnya travelling salesman problem (TSP) yang
merupakan perkembangan dari sirkuit Hamilton, dan chinese postman problem
(CPP) yang merupakan perkembangan dari sirkuit Euler
F. Graf Berlabel
Definisi. Andaikan terdapat suatu himpunan bilangan real tidak negatif Z+. Suatu
graph G(V,E) disebut graph berlabel (labelled graph) jika terdapat pemetaan
dari α : G(V,E)→Z+.
Teorema. Jika G merupakan graf bipartite maka G tidak punya sirkuit dari panjang
ganjil.
Bukti Andaikan lintasan C = v0, v1, v2, v k -1,v0 adalah sirkuit di G. G bipartite jika 2-
colourable. Jadi vertex-vertex pada C dapat diwarnai dengan 2 warna berbeda, jika
dan hanya jika vertex adjacent berbeda warna. Vertex dengan indek genap
diberi satu putih dan vertex indek ganjil diberi warna hitam. Hanya mungkin
jika k bilangan bulat genap dan C sebuah sirkuit dengan panjang genap.
Collorary. Graf yang tidak punya sirkuit dari panjang ganjil adalah bipartite, atau
graf dikatakan bipartite jika dan hanya jika tidak punya sirkuit dengan panjang
ganjil.
Definisi. Jarak dua vertex x dan y, disajikan dengan d(x,y), adalah bobot terkecil
dari semua lintasan dari x. Lintasan dengan bobot minimal disebut dengan
lintasan terpendek dari vertex x ke vertex y. Jarak terjauh dari dari dua x, y
dalam graf G(V,E) disebut diameter, dan ditulis dengan diam(G).
Pada graf bebobot G(V,E) di atas maka d(1,4) = 4, d(1,7) = 6. Diameter dari
G, ditulis diam(G) = 8.
Dalam rancangan jaringan, diameter dari sebuah graf merupakan sebuah parameter
penting yang menghubungkan jumlah maksimum dari jaringan termasuk pesan
antara dua pusat dalam jaringan harus yang dilalui. Jadi, pada suatu jaringan
komunikasi, diameter merupakan ukuran keefisienan dan keefektifan yang penting
dalam jaringan di mana waktu tunda atau banyak signal terkirim turun secara
proporsional terhadap panjang lintasan yang akan digunakan.
Berkaitan dengan graf berbobot, maka penyajian graf G(V,E) dengan matrik relasi
adjacency tidak lagi setiap elemen adalah 0 atau 1, tetapi elemen itu menyatakan
jarak dari 2 vertex pada baris dan kolom yang bersesuaian. Dalam hal ini jika salah
satu dari vertex x atau y atau keduanya adalah vertex terisolir, maka jarak d(x,y) = ∞
G. Isomorphisme Graf
Definisi. Dua graf G(V,E) dan G’(V’,E’) dikatakan isomorphic jika terdapat suatu
fungsi bijektif f : V → V’ dan fungsi bijektif g : E → E’ sedemikian hingga edge e
= {v,w} E jika dan hanya jika edge g(e) = {f(v), f(w} E’
Contoh
Contoh Kedua graf di muka adalah isomorphic jika didefinisikan f(1) = a, f(2) = d, f(3)
= e, f(4) = c, f(5) = b, dan g({1,2}) = {a,d}, g({2,4}) = {d,c}, g({4,5}) = {c,b},
g({5,3}) = {b,e}, g({3,1}) = {e,a},
Teorema. Dua graf G(V,E) dan G’(V’,E’) isomorphic jika dan hanya jika untuk
beberapa pengurutan vertex dan edge, matrik insidensi kedua graf tersebut
adalah sama.
Bukti. Diserahkan kepada pembaca sebagai bahan latihan.
Perhatikan bahwa pada kedua graf contoh dimuka mempunyai matrik insidensi
1 1 0 0 0
0 1 1 0 0
0 0 1 1 0
0 0 0 1 1
1 0 0 0 1
H. Graf Planar
Definisi. Suatu graf disebut planar, jika graf tersebut dapat digambarkan dalam
bidang datar sedemikian hingga tidak terdapat edge berpotongan kecuali pada
vertex yang adjacent dengannya.
Jika terdapat suatu graf terhubung planar digambarkan pada suatu bidang datar,
maka graf akan membagi bidang datar atas beberapa wilayah, yang disebut dengan
muka (face). Muka dicirikan dengan adanya suatu sirkuit yang membatasinya..
Graf terhubung planar di samping
mempunyai 4 muka, A, B, C dan D
Teorema Euler pada Graf. Pada graf G(V,E) yang terhubung dan planar dengan n
= |V|, m = |E|, dan mempunyai muka sebanyak f, maka f = m – n + 2
Bukti. Teorema ini dapat dibuktikan dengan menggunakan induksi terhadap cacah
edge m. Bukti selengkapnya diserahkan pada pembaca sebagai bahan latihan.
Soal Latihan
1. Suatu graf G(V,E) didefinisikan dengan V = {1,2,3,4,5}, dengan E={ {1,2}, {1,3},
{2.3}, {2,4}, {3,4}, {4,5} }.
a. Sajikan graf G dalam diagram grafik
b. Tentukan matrik adjacency dan matrik insidensi dari G
c. Tentukan degree dari semua vertex
d. Lakukan pewarnaan graf agar G menjadi kromatik dan tentukan C(G)
2. Sebuah perusahaan minuman mempunyai 3 jenis minuman B1, B2, dan B3.
Masing-masing minuman mempunyai kapasitas produksi 5000 karton per
bulan. Perusahaan mempunyai outlet di Louisville (M1), Plains (M2), Pittsburg
(M3) dan St. Louis (M4) yang membutuhkan 1.500, 3.500, 2.000, dan 2.500
karton per bulan. Biaya pengiriman per 100 karton minuman Bi, i = 1, 2, 3, ke
outlet-outlet Mj , j = 1, 2, 3, 4 diberikan dalam matriks di bawah ini :
M1 M2 M3 M4
3. Pada graf soal nomor 1 di atas, tentukan A2 dan A3 dengan operasi biner
maupun dengan operasi arithmetika. Tentukan berapa banyak lintasan dari
vertex 1 ke vertex 5 dengan panjang 2 dan panjang 3.
a. Apakah G terhubung
b. Hitunglah d(1,3) dan d(1,4)
c. Hitunglah diam(G)
10. Berilah contoh graf terhubung planar dengan ordo 4 dan 5 masing-masing 2
buah. Dengan contoh graf tersebut, tunjukkan kebenaran formula Euler pada
graf plannar.
11. Graf G(V,E) disebut acyclic jika tidak memuat suatu sirkuit. Tunjukkan bahwa
jika graf G(V,E) acyclic, maka |E| = |V| + C(G)
12. Tunjukkan bahwa jika graf G(V,E) terhubung, maka |E| ≥ |V| - 1
13. Tunjukkan dengan lengkap bahwa suatu graf mempunyai sirkuit Euler jika dan
hanya jika graf itu terhubung dan semua vertex berdegree genap
14. Tunjukkan bahwa jika pada graf G(V,E) dengan ordo n dan ukuran m, serta δ =
min(d(v), untuk semua v V) dan Δ = max(d(v), untuk semua v V), maka
2m
berlaku δ ≤ ≤Δ
n
15. Tunjukkan bahwa jika dalam graf sederhana G(V,E) dengan ordo n dan ukuran
m, berlaku δ ≥ c n / 2, untuk suatu bilangan bulat positif c, maka G terhubung
16. Terdapat barisan bilangan berikut. Jelaskan apakah barisan bilangan itu dapat
membentuk degree vertex dari suatu graf sederhana. Jelaskan !
a. (4, 1, 3, 6, 5, 1)
b. (6, 6, 5, 5, 4, 3, 1)