Teori Graf Naufal Ishartono, M.Pd. Teori graf adalah cabang kajian yang mempelajari tentang sifat-sifat “graf” atau “grafik”.
• •
Leonhard Euler 15 April 1707 – 18 September 1783
Graf yang merepresentasikan jembatan Konigsberg: Simpul (vertex) → menyatakan daratan Sisi (edge) → menyatakan jembatan Bisakah melalui setiap jembatan tepat sekali dan kembali lagi ke tempat semula?
1
Dua
Adjacent/Bertetangga
buah
simpul
dikatakan
bertetangga jika kedua simpul tersebut dihubungkan oleh satu sisi.
2
Incidency/Bersisian
Suatu sisi e bersisian dengan simpul
𝑣1
dan
𝑣2
jika
e
menghubungkan simpul 𝑣1 dan 𝑣2 atau dengan kata lain 𝑒 = (𝑣1 , 𝑣2 ).
3
Simpul Terpencil
Jika suatu simpul tidak mempunyai sisi yang bersisian dengannya, maka simpul tersebut dinamakan simpul terpencil.
4
•
Derajat/Degree & Kardinalitas
Derajat suatu simpul adalah jumlah sisi yang bersisian terhadap simpul tersebut yang dinotasikan dengan d(v) = n dimana n adalah jumlah sisi dari suatu simpul.
•
Sedangkan
kardinalitas
suatu
graph
adalah jumlah simpul/titik di dalam graph tersebut yang dinotasikan n(G) dimana pada gambar disamping n(G) = 5.
4
Derajat/Degree (Cont’d)
Derajat suatu simpul dari sebuah graf berarah dijelaskan sebagai berikut: •
𝑑𝑖𝑛 (𝑣) merupakan jumlah busur yang masuk ke simpul v
•
𝑑𝑜𝑢𝑡 (𝑣) merupakan jumlah busur yang keluar dari simpul v
•
Maka diperoleh 𝑑 𝑣 = 𝑑𝑖𝑛 𝑣 + 𝑑𝑜𝑢𝑡 (𝑣)
•
Jumlah derajat semua simpul pada suatu graf adalah genap yaitu dua kali dari jumlah sisi pada graph tersebut. Jika 𝐺 = 𝑉, 𝐸 σ𝑣∈𝑉 𝑑 𝑣 = 2 𝐸 .
merupakan
suatu
graph,
maka
5
Lintasan/Path
• Jalur dari simpul awal 𝑣0 ke simpul 𝑣𝑡 di dalam suatu graf G yang tidak
melewati simpul yang sama maka jalur tersebut dinamakan lintasan. • Suatu lintasan memiliki panjang n jika lintasan ini memuat n buah sisi dari simpul awal 𝑣0 ke simpul 𝑣𝑡 di dalam suatu graf G.
• Suatu jalur yang berawal dan berakhir di simpul yang sama disebut sirkuit. • Sebuah lintasan yang berawal dan berakhir di simpul yang sama dinamakan siklus.
• Diameter suatu graf adalah lintasan terpanjang dari graf tersebut. • Panjang suatu siklus terpendek pada suatu lintasan dari graf sederhana adalah tiga, sedangkan pada graf semu adalah satu.
• Walk adalah jalur dari satu titik ke titik
Koneksitas
lain. • Closed walk adalah walk yang titik awal sama dengan titik akhir. • Trail adalah walk yang semua sisinya
Rembang Brebes
Tegal
Pemalang
Slawi
Blora Temanggung Wonosobo
• Path adalah walk yang semua titiknya Purwokerto
berlainan.
Sragen
Kroya Cilacap
cycle yang lain. • Circumference adalah cycle terpanjang dari cycle-cycle yang lain.
Purwodadi
Salatiga
Purbalingga Banjarnegara
• Cycle adalah path yang titik awal sama • Girth adalah cycle terpendek dari cycle-
Semarang
Pekalongan
berlainan.
dengan titik akhir.
Demak
Kendal
Kudus
Boyolali
Solo Sukoharjo
Kebumen
Magelang Klaten Purworejo Wonogiri
1
Multigraph
Multigraph adalah graph yang mempunyai satu atau lebih pasangan rusuk ganda yang menghubungkan titiknya.
2
buah
2
Pseudograph
Pseudograph adalah graph yang memiliki satu atau lebih pasang rusuk ganda yang menghubungkan dua buah titiknya (multigprah) dan memiliki satu atau lebih loop pada titiknya.
Panjang
suatu
siklus
terpendek pada suatu lintasan graf semu adalah satu.
3
Graph Lengkap
Graph lengkap adalah graph yang semua titik simpulnya terhubung satu sama lain dan hanya oleh satu sisi. Graph lengkap dengan n buah simpul dilambangkan dengan Kn dengan jumlah sisi adalah
𝑛(𝑛−1) 2
sisi.
4
Graph Lingkaran
Graph lingkaran adalah graph sederhana yang setiap simpulnya berderajat dua dan dilambangkan dengan Cn.
5
Graph Roda
Graph roda adalah graph yang diperoleh dengan menambahkan satu simpul pada graph lingkaran Cn, dan menghubungkan simpul tersebut dengan simpul-simpul
yang lain.
6
Graph Teratur
• Graph teratur merupakah graph yang setiap simpulnya memiliki derajat yang sama. • Jika derajat sebuah simpul dalam graph teratur itu adalah sejumlah r, maka graph tersebut disebut graph teratur berderajat r. • Jumlah sisi pada graph teratur n simpul adalah
𝑛𝑟 2
sisi.
7
Graph Planar
Graph yang dapat digambarkan pada bidang
datar dan setiap sisinya tidak ada yang berpotongan.
Contoh: • Semua graph lingkaran adalah graph planar
• Graph lengkap K1, K2, K3 dan K4 merupakan
graph
planar,
merupakan graph tak planar.
selebihnya
7
Graph Planar (Cont’d)
• Rumus Euler: jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul, dan r merupakan jumlah daerah pada graph planar
tersebut, maka 𝑟 = 𝑒 − 𝑣 + 2. • Ketaksamaan Euler: jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul (𝑣 ≥ 3) maka 𝑒 ≤ 3𝑣 − 6. • jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul (𝑣 ≥ 3) dan tidak memuat sirkuit dengan panjang 3, maka 𝑒 ≤ 2𝑣 − 4
7
•
Graph Planar (Cont’d)
Rumus Euler: jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul, dan r merupakan jumlah daerah pada graph planar tersebut, maka 𝑟 = 𝑒 −
𝑣 + 2. •
Ketaksamaan Euler: jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul (𝑣 ≥ 3)
maka 𝑒 ≤ 3𝑣 − 6. •
Jika G merupakan graph planar terhubung dengan e buah sisi dan v buah simpul (𝑣 ≥ 3) dan tidak memuat sirkuit
dengan panjang 3, maka 𝑒 ≤ 2𝑣 − 4 •
Jumlah derajatnya adalah σ deg 𝑟 = 2 σ 𝑒
8
Graph Bipartite
Graph bipartite adalah sebuah graph dimana simpul-simpulnya dapat dipartisi menjadi dua himpunan simpul X dan Y sehingga setiap sisi hanya adapat
menghubungkan sebuah simpul dalam X dan sebuah simpul dalam Y.
X
Y
8
Graph Bipartite (Cont’d)
9
Traversable Graph
Traversable graph adalah graph yang semua rusuk-rusuknya dapat dilalui masing-masing sekali atau graph
dapat
digambar
mengangkat pensil.
tanpa
10
Graph Euler
• Lintasan Euler ialah litasan yang melalui tiap sisi dalam graf tepat sekali.
• Sirkuit Euler ialah sirkuit yang melalui tiap sisi dalam graf tepat satu kali.
• Graf Euler ialah graf yang mempunyai sirkuit euler.
• Graf Semi Euler ialah graf yang hanya mempunyai lintasan Euler.
10
Graph Euler (Cont’d)
• Graph Euler adalah graph yang semua rusuknya hanya dilalui satu kali, dan merupkan graph tertutup. • Teori Euler: jika sebuah graph semua simpulnya berderajat genap, maka graph tersebut memiliki lintasan Euler. • Graph
Euler
Traversable.
juga
merupakan
graph
10
Graph Euler (Cont’d)
1. Graph mana sajakah yang merupakan graph teratur? 2. Graph mana sajakah yang merupakan graph semu? 3. Graph mana sajakah yang merupakan graph ganda? 4. Graph mana sajakah yang memiliki Lintasan Euler? 5. Graph mana sajakah yang memiliki sirkuit euler? 6. Graph mana sajakah yang dapat disebut graph euler? 7. Graph mana sajakah yang dapat disebut graph semi euler?
11
Graph Hamilton
Sir William Hamilton pada tahun 1859 menciptakan sebuah permainan Dodecahedron yang ditawarkan pada pabrik mainan di Dublin. Permainan tersebut
terdiri dari 12 pentagonal dan ada 20 titik sudut (setiap titik sudut diberi nama ibu kota di setiap
negara). Permainan ini
membentuk
perjalanan
keliling dunia yang mengunjungi setiap ibu kota negara tepat satu kali dan kembali ke kota asal. Bagaimanakah lintasannya?
11
Graph Hamilton (Cont’d)
11
Graph Hamilton (Cont’d)
• Lintasan Hamilton merupakan lintasan yang melalui setiap simpulnya hanya sekali. • Sirkuit Hamilton adalah lintasan Hamilton
yang tertutup. • Graph Hamilton adalah graph yang setiap simpul-simpulnya hanya dilalui sekali dan mempunyai lintasan tertutup. • Graph semi Hamilton adalah graph yang hanya
memiliki lintasan Hamilton.
12
•
Subgraph & Subgraph Merentang
Subgraph adalah graph yang himpunan titik dan sisinya merupakan
bagian
dari
graph yang lain. •
Subgraph
merentang/spanning subgraph adalah subgraph yang mengandung semua titik/simpul induknya.
pada
graph
Pohon ➢ Pohon adalah graph tak berarah terhubung yang tidak mengandung sirkuit.
1
Pohon/Tree
Teorema. Misalkan G = (V, E) adalah graph tak berarah sederhana dengan kardinalitas simpul n. maka semua
pernyataan dibawah ini adalah ekuivalen: • G adalah pohon. • Setiap pasang simpul di dalam G terhubung dengan lintasan tunggal. • G terhubung dan memiliki m = n – 1 buah sisi. • G tidak mengandung sirkuit dan memiliki m = n – 1 buah sisi. • G terhubung dan semua sisinya adalah jembatan.
Dari contoh graph di bawah ini manakah yang termasuk Pohon dan mana yang bukan?
2
Hutan/Forest
• Hutan adalah kumpulan pohon yang saling lepas. Setiap komponen di dalam graph terhubung tersebut adalah pohon. • Banyak sisi = banyak titik - banyak pohon
3
Pohon Merentang
• Pohon merentang dari graph terhubung adalah subgraph merentag yang berupa pohon. • Pohon merentang diperoleh dengan memutus sirkuit di dalam graph.
• Setiap graph terhubung paling tidak memiliki satu buah pohon merentang. • Graph terhubung dengan k komponen memiliki k buah pohon merentang disebut hutan merentang.
4
Penerapan Pohon Merentang
Adapun
beberapa
contoh
penggunaan pohon merentang adalah:
1.
Jumlah
ruas
jalan
seminimum mungkin yang menghubungkan
semua
kota sehingga setiap kota tetap terhubung satu sama lain.
2.
Routing
pesan
jaringan computer.
dari
5
Pohon Merentang Minimum
• Graph terhubung berbobot
mungkin memiliki lebih dari 1 pohon merentang. • Pohon merentang yang berbobot minimum dinamakan pohon merentang
minimum (minimum spanning tree).
• Pohon merentang minimum di samping berbobot 12,31.
Dalam menentukan keminimumannya dapat menggunakan: • Algoritma Prim • Algoritma Kruskal
5
Pohon Merentang Minimum (Cont’d)
• Pohon merentang yang dihasilkan tidak selalu unik atau tunggal meskipun
bobotnya sama. • Hal ini bias terjadi jika ada beberapa isis yang bobotnya sama.
6
Pohon Berakar
• Akar pohon adalah titik yang indegreenya nol (titik sumber) dimana ditandai dengan lingkaran yang
mengelilingi titik tersebut. Semua titik bias menjadi akar selama indegreenya 0. • Daun pohon adalah setiap titik (bukan akar) yang indegreenya 1 dan outdegreenya 0 (rink). • Tinggi pohon adalah panjang rusuk maksimum dari akar sampai daun.
• A = titik akar pohon
• B, C, D, E, F, H, I = titik cabang • a, b, k, …, l = daun • Tinggi pohon = 4 yaitu dari A ke j.
7
Memotong Pohon
• Sebuah pohon dapat dipotong pada sembarang titik cabangnya menjadi dua atau lebih sub pohon sesuai dengan
banyaknya rusuk pada titik cabang tersebut. • Misalkan pohon dibawah akan dipotong pada titik T maka akan menjadi 4 sub pohon baru karena titik T memiliki 4 rusuk.
8
Berat Pohon
• Berat pohon di suatu titik adalah jumlah rusuk maksimum dari semua cabang di titik tersebut. 𝑇1 dengan 5 rusuk 𝑇2 dengan 3 rusuk 𝑇3 dengan 2 rusuk
𝑇4 dengan 6 rusuk Maka berat pohon di titik T dapat diketahui adalah 6. • Titik berat pohon adalah titik dimana berat pohon di titik tersebut adalah minimum.
• Pusat berat adalah himpunan titik berat dari suatu pohon jika titik beratnya lebih dari satu.
8
Berat Pohon (Cont’d)
Titik berat pohon di samping adalah 16, karena 16 adalah berat minimum dari semua titik yang ada.
Titik berat pohon di samping adalah 4
yaitu pada titik P dan Q, dan pusat berat pohon di samping adalah {P , Q}.
8
Berat Pohon (Cont’d)
Dari graph disamping: 1.
Jika titik potongnya adalah K, maka terdapat berapakah sub pohon yang terbentuk?
2.
Tentukan
berat
pohon,
titik
berat dan pusat berat (bila ada).
Jarak antara dua titik merupakan walk yang semua simpul/titiknya berlainan dan memiliki jarak terpendek. Rembang Brebes
Tegal
Pemalang
Demak
Kendal
Kudus
Semarang
Pekalongan Slawi
Blora Temanggung Wonosobo
Purwokerto
Purwodadi
Salatiga
Purbalingga Sragen Banjarnegara
Kroya Cilacap
Boyolali
Solo Sukoharjo
Kebumen
Magelang Klaten Purworejo Wonogiri
1
Eksentrisitas Suatu Titik
Eksentrisitas suatu titik (e(u)) adalah jarak terpanjang sauatu titik terhadap semua titik dalam sebuah graph.
Jarak A – B = 1 A–C=2 A–D=2 A–E=1 A–F=2 A–H=3 A–I =4 Jadi eksentrisitas titik A adalah e(A) = 4.
Berdasarkan graph tersebut maka tentukan e(B), e(C), e(D), e(E), e(F), e(H), dan e(I).
2
Jari-Jari dan Diameter Graph
Jari-jari (r(G)) adalah eksentrisitas titik terkecil dalam sebuah graph, sedangkan diamerternya (d(G))adalah dua kali jari-jari graph tersebut.
Berdasarkan graph tersebut maka: e(A) = 4 e(B) = 3 e(C) = 4 e(D) = 4 e(E) = 3 e(F) = 2 e(H) = 3 e(I) = 4 Jadi jari-jari graph G adalah r(G) = 2 dan diameter graph G adalah d(G) = 4.
3
Titik Sentral dan Pusat Graph
• Titik sentral graph adalah adalah titiktitik/simpul yang nilai eksentrisitasnya
sama dengan nilai jari-jarinya. Dalam kasus graph di samping maka titik
sentralnya adalah titik F. • Pusat graph adalah himpunan titik-titik yang nilai eksentrisitasnya sama dengan nilai jari-jarinya. Dari contoh graph di samping, pusat graph adalah {F}.
Latihan soal
Tentukan nilai eksentrisitas, jari-jari, diameter, titik sentral, dan pusat dari masingmasing graph dibawah:
Titik Potong Suatu Graph Jika suatu titik dalam suatu graph dinyatakan sebagai sebuah titik potong, maka titik tersebut dan semua sisi yang incident pada titik tersebut dihilangkan.
Titik manakah yang dipotong?
Graph Isomorphic Sebuah graph dapat kita pelajari melalui
ukuran graphisnya: ➢ Jumlah Rusuk
➢ Jumlah Titik ➢ Derajad Titik ➢ Titik Potong
Dua buah graph yang memiliki ukuranukuran
graphis
isomorphic graph.
yang
sama
disebut
Sebuah graph dapat direpresentasikan dalam bentuk matriks: a.
Matrik titik (Adjacent Matrix)
b.
Matrik sisi (Edge Matrix)
c.
Matrik titik-sisi (Incidence Matrix)
Nyatakan graph berikut dalam matriks titik, sisi, titik-sisi:
Matrik Graph
Matrik Graph
Labeled Digraph ❖ Dalam menggambarkan logika dari suatu
kejadian sebuah graph sering sekali diberikan label/bobot, graph demikian
disebut Labelled Graph. ❖ Rusuk sebuah graph dapat pula diberikan arah
untuk
menggambarkan
logika
sebuah system yang berarah, graph demikan disebut Digraph, sedangkan
rusuk yang berarah disebut arcus (arc).
Labeled Digraph Cont’d Hubungan antar titik dapat dikategorikan menjadi tiga yaitu: ❖ Lemah (weak) yaitu apabila arcusnya berlawanan ❖ Unilateral yaitu apabila arcusnya searah ❖ Kuat (strong) yaitu apabila arcusnya searah dan tertutup
Labeled Digraph Cont’d Semisal A, B, C dan D bermain tembak-tembakan,
maka: ➢ A dapat menembak B dan D sehingga bobot AB = AD = 50%
➢ B dapat menembak A dan D sehingga bobot BA = BD = 50% ➢ C dapat menembak B dan D sehingga bobot
CB = CD = 50% ➢ D
dapat
menembak
C
saja
sehingga
bobot
DC = 100%
Arcus menunjukkan arah tembakan, bobot menentukan peluang masing-masing tembakan.
Pewarnaan Graph Pewarnaan suatu graph dapat dilakukan dengan tiga cara: ➢ Mewarnai titik ➢ Mewarnai sisi ➢ Mewarnai wilayah
Prinsip Pewarnaan ❖ Banyak warna yang digunakan harus seminimum mungkin, banyak warna minimum
disebut bilangan kromatik (X(G)) ❖ Duah buah titik yang terhubung oleh satu atau lebih sisi tidak boleh diberi warna yang
sama (pewarnaan titik) ❖ Dua buah sisi atau lebih yang bertemu pada sebuah titik tidak boleh diberi warna yang sama (pewarnaan sisi)
❖ Dalam mewarnai peta, pakailah sebuah warna secara optimum, artinya warna kedua tidak dapat digunakan setelah warna pertama tidak dapat digunakan lagi, demikian serterusnya
sehingga sampai semua titik/sisi/wilayah terwarnai semua
Pewarnaan Titik Cara mewarnai titik: 1. Titik A kita beri warna 1
2. Titik D dan F kita beri warna satu karena baik titik D dan F tidak terhubung langsung dengan titik A. 3. Titik B, C dan E saling terhubung langsung
sehingga
harus
diberi
warna yang berbeda yaitu warna 2, 3 dan 4. Jadi bilangan kromatik X(G) = 4.
Pewarnaan Sisi
Pewarnaan Sisi (Cont’d)
Pewarnaan Wilayah Cara mewarnai titik: 1. Wilayah ujung kiri diberikan warna
biru,
berikutnya
sebelahnya
diberikan warna ungu dan hijau. 2. Dipastikan
bahwa
daerah
bersebelahan memiliki warna yang berbeda sehingga semua daerah
terwarnai. Jadi bilangan kromatik X(G) = 4.
Soal Latihan Tentukan jumlah pewarnaan titik, rusuk, dan wilayah dari graph dibawah.