Oleh: Bandung Arry Sanjoyo 1 1 Modul 5 TEORI GRAF Pendahuluan Permasalahan yang muncul di dunia nyata sering terkait dengan objek diskrit dan relasi antar objek tersebut. Sebagai contoh: ada beberapa kota dalam suatu propinsi, dan ada jalan yang menghubungkan dar suatu kota ke kota lain. Hal ini kota merupakan objek diskrit, sedangkan jalan merelasikan antar satu objek ke objek lainnya. Contoh lainnya, dalam sistem jaringan komputer terdiri dari objek-objek computer baik sebagai server maupun workstation. Disini kita bisa mencari apakah satu komputer dapat terhubung ke komputer lainnya. Permasalahan-permasalahan seperti ini dapat dimodelkan secara baik dengan menggunakan konsep, graf, graf berarah, pohon, maupun pohon biner. Dalam bab ini kita akan membahas tentang konsep dasar graf, contoh-contoh pemakaian dalam kehidupan sehari-hari, dan bagaimana mengimplementasikan graf dalam pemrograman komputer. Tujuan Instruksional Umum Mahasiswa mengerti konsep graf, macam-macam graf, dan dapat menerapkan dalam kehidupan sehari-hari. Tujuan Instruksional Khusus Mahasiswa diharapkan dapat: 1. Memahami definisi graf tak berarah dan graf berarah, dan dapat mengaitkannya dalam permasalahan sehari-hari. 2. Memahami pengertian lintasan dan sirkuit dalam graf tak berarah dan graf berarah. 3. Memahami pengertian Sikuit Euler Dan Hamilton dan penerapannya. 4. Mampu menyelesaikan Permasalahan Perjalanan Penjual. 5. Memahami definisi dan dapat mengenali Graf Isomophic.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Oleh: Bandung Arry Sanjoyo 1
1 Modul 5 TEORI GRAF
Pendahuluan
Permasalahan yang muncul di dunia nyata sering terkait dengan objek diskrit dan relasi antar
objek tersebut. Sebagai contoh: ada beberapa kota dalam suatu propinsi, dan ada jalan yang
menghubungkan dar suatu kota ke kota lain. Hal ini kota merupakan objek diskrit, sedangkan
jalan merelasikan antar satu objek ke objek lainnya. Contoh lainnya, dalam sistem jaringan
komputer terdiri dari objek-objek computer baik sebagai server maupun workstation. Disini kita
bisa mencari apakah satu komputer dapat terhubung ke komputer lainnya.
Permasalahan-permasalahan seperti ini dapat dimodelkan secara baik dengan menggunakan
konsep, graf, graf berarah, pohon, maupun pohon biner. Dalam bab ini kita akan membahas
tentang konsep dasar graf, contoh-contoh pemakaian dalam kehidupan sehari-hari, dan
bagaimana mengimplementasikan graf dalam pemrograman komputer.
Tujuan Instruksional Umum
Mahasiswa mengerti konsep graf, macam-macam graf, dan dapat menerapkan dalam kehidupan
sehari-hari.
Tujuan Instruksional Khusus
Mahasiswa diharapkan dapat:
1. Memahami definisi graf tak berarah dan graf berarah, dan dapat mengaitkannya dalam
permasalahan sehari-hari.
2. Memahami pengertian lintasan dan sirkuit dalam graf tak berarah dan graf berarah.
3. Memahami pengertian Sikuit Euler Dan Hamilton dan penerapannya.
4. Mampu menyelesaikan Permasalahan Perjalanan Penjual.
5. Memahami definisi dan dapat mengenali Graf Isomophic.
Oleh: Bandung Arry Sanjoyo 2
6. Memhami penertian Graf Planar dan dapat mengaitkannya dalam permasalahan sehari-
hari.
7. Dapat merepresentasikan Graf Dalam Program Komputer
Oleh: Bandung Arry Sanjoyo 3
5.1 Kegiatan Belajar I:
Definisi Graf Tak Berarah Dan Graf Berarah
Suatu graf adalah himpunan benda-benda yang disebut verteks (atau node) yang terhubung
oleh edge-edge (atau arc). Biasanya graf digambarkan sebagai kumpulan titik-titik
(melambangkan verteks) yang dihubungkan oleh garis-garis (melambangkan edge). Secara
fataumal, definisi dari graf sebagaimana yang terlihat pada definisi dibawah ini.
Definisi 5.1.1. Suatu graf tak berarah (Undirected graf) G adalah suatu pasangan terurut (V,
E) dengan V merupakan himpunan verteks (node) dan E adalah himpunan dari multiset yang
terdiri dari dua elemen di V, elemen dari E dinamakan edge atau arc. Graf tak berarah ini
biasa disimbolkan dengan G=(V,E).
Himpunan verteks V biasa dituliskan dengan },...,,{ 21 nvvvV , dalam hal ini V mempunyai n
buah elemen yaitu nvdanvv ,...,, 21 . Begitu juga himpunan E biasa dituliskan juga dengan
},...,,{ 21 meeeE dimana jkkji evve },{ .
Verteks u dan v dikatakan adjacent jika ada sebuah edge e = {u, v }. Dalam hal ini, verteks u
dan v disebut titik ujung dari e, dan e dikatakan menghubungkan verteks u dan v. Atau edge e
dikatakan incident dengan vertek u dan v.
Untuk bisa memahami definisi graf tak berarah diatas, akan diberikan beberapa contoh berikut
ini.
Contoh 5.1.1:
G=({a, b, c, d}, {{a,b}, {a,d}, {b,b}, {b,c}, {c,d}}) merupakan graf tak berarah. Pada graf G
ini mempunyai himpunan verteks V={a, b, c, d}, jadi himpunan V terdiri dari verteks – verteks
a, b, c, dan d. Sedangkan himpunan edge E adalah {{a,b}, {a,d}, {b,b}, {b,c}, {c,d}}, terlihat
bahwa setiap elemen dari E merupakan multiset yang terdiri dari dua verteks di V. Jadi sesuai
dengan definisi diatas G merupakan graf tak berarah. Verteks a dan b dikatakan adjacent karena
ada edge {a,b} yang menghubungkan antara verteks a dan b.
Oleh: Bandung Arry Sanjoyo 4
Penggambaran Graf Tak Berarah
Suatu graf tak berarah G=(V,E) dapat dinyatakan dalam bentuk gambar dengan aturan
penggambaran sebagai berikut:
1. Untuk setiap verteks Vvi digambarkan dengan lingkaran kecil atau titik berlabel vi.
2. Untuk setiap edge },{atau jiijij vveEe digambarkan dengan garis yang
menghubungkan dari verteks vi ke verteks vj .
Contoh 5.1.2:
Untuk graf tak berarah pada Contoh 5.1.1. dapat dinyatakan dalam bentuk Gambar 5.1.1 (a)
atau Gambar 5.1.1. (b).
a b
d c
a b
cd
(a) (b)
Gambar 5.1.1.
Contoh 5.1.3:
Graf tak berarah pada Gambar 5.1.2. merupakan graf dengan verteks adalah sub-sub program
p1, p2, p3, p4, dan p5. Dan edge {pi, pj} menyatakan dua sub program pi dan pj yang
menggunakan data yang bersama.
p1
p2p3
p4p5
Gambar 5.1.2.
Oleh: Bandung Arry Sanjoyo 5
Definisi 5.1.2. Suatu graf berarah (Directed graf) G adalah suatu pasangan terurut (V, E)
dengan V merupakan himpunan verteks (node) dan E adalah relasi biner pada V atau E:V→V.
Elemen dari E dinamakan edge atau arc (busur). Graf berarah ini biasa disimbolkan dengan
G=(V,E).
Sebagaimana pada graf tak berarah, himpunan verteks V biasa dituliskan dengan
},...,,{ 21 nvvvV , dalam hal ini V mempunyai n buah elemen yaitu nvdanvv ,...,, 21 . Begitu
juga himpunan E biasa dituliskan juga dengan },...,,{ 21 meeeE dimana
),( kji vve merupakan pasangan terurut verteks. Ingat bahwa ),(),( jkkj vvvv .
Verteks u dan v dikatakan adjacent jika ada sebuah edge e = (u, v) atau e = (v, u). Dalam hal e =
(u, v), verteks u disebut verteks awal dari e dan verteks v disebut verteks akhir dari e, dan e
dikatakan menghubungkan dari (incident from) verteks u dan menghubungkan ke (incedent
to) verteks v.
Untuk bisa memahami definisi graf tak berarah diatas, akan diberikan beberapa contoh berikut
ini.
Contoh 5.1.4:
G=({a, b, c, d}, {(a,b), (a,d), (b,b), (b,c), (c,d)} merupakan graf tak berarah. Pada graf G ini
mempunyai himpunan verteks V={a, b, c, d}, jadi himpunan V terdiri dari verteks – verteks a,
b, c, dan d. Sedangkan himpunan edge E adalah {(a,b), (a,d), (b,b), (b,c), (c,d)}, terlihat bahwa
setiap elemen dari E merupakan himpunan dari pasangan terurut dari dua verteks di V. Jadi
sesuai dengan definisi diatas G merupakan graf berarah. Verteks a dan b dikatakan adjacent
karena ada edge (a,b) yang menghubungkan antara verteks a dan b.
Penggambaran Graf Berarah
Suatu graf berarah G=(V,E) dapat dinyatakan dalam bentuk gambar dengan aturan
penggambaran sebagai berikut:
1. Untuk setiap verteks Vvi digambarkan dengan lingkaran kecil atau titik berlabel vi.
2. Untuk setiap edge ),(atau jiijij vveEe digambarkan dengan garis berarah yang
menghubungkan dari verteks vi berarah ke verteks vj .
Oleh: Bandung Arry Sanjoyo 6
Contoh 5.1.5:
Untuk graf berarah pada Contoh 5.1.4. dapat dinyatakan dalam bentuk Gambar 5.1.3 (a) atau
Gambar 5.1.3. (b).
a b
d c
a b
cd
(a) (b)
Gambar 5.1.3.
Contoh 5.1.6:
Graf berarah pada Gambar 5.1.4. merupakan graf dengan verteks adalah gardu
transfataumatatau aliran listrik g1, g2, g3, g4, dan g5. Dan edge (gi, gj) menyatakan aliran listrik
mengalir dari gardu pi ke gardu pj.
g1
g2g3
g4g5
Gambar 5.1.4.
Contoh 5.1.7:
Dalam suatu kompetisi catur yang menggunakan aturan permainan setengah kompetisi, setiap
pasang pemain hanya bertdaning satu kali. Ada empat pemain yaitu: Anang, Badu, Cecep,
dan Deny. Hasil dari kompetisi tersebut disajikan dalam graf berarah pada Gambar 5.1.4.
Setiap pemain dinyatakan dengan verteks dan edge (u,v) menyatakan bahwa pemain u
mengalahkan pemain v.
Oleh: Bandung Arry Sanjoyo 7
Gambar 5.1.4.
Untuk selanjutnya istilah graf mempunyai makna graf berarah atau graf tak berarah.
Oleh: Bandung Arry Sanjoyo 8
5.2 Kegiatan Belajar II:
Multigraf Dan Graf Berbobot
Lihat graf pada Gambar 5.2.1, edge e5 dan e6 menghubungkan veteks yang sama, dua edge yang
mengubungkan vertek yang sama dinamakan edge yang sejajar/paralel atau biasa dinamakan
juga dengan multiedge. Sedangkan edge e3 incedent pada satu verteks b, suatu edge yang
incident pada sebuah verteks dinmakan loop. Suatu graf G dapat memuat edge sejajar atau loop,
dan ini kan membawa kita pada definisi berikut ini.
a b
d c
e1
e2
e3
e4e5
e6
Gambar 5.2.1.
Definisi 5.2.1.
Suatu Multigraf G=(V, E) adalah graf berarah atau tak berarah dengan V merupakan
himpunan verteks dan E berupa multiset dengan elemen:
i. berupa pasangan terurut verteks (u, v) jika graf G berarah, atau
ii. berupa himpunan dengan elemen dua verteks {u, v} jika graf G tak berarah.
Suatu Mutigraf yang tidak memuat edge paralel dan tidak memuat loop dinamakan graf
sederhana.
Dari definisi diatas, suatu multigraf dapat berupa graf berarah ataupun tak berarah. Perlu dilihat
lebih jauh, bahwa dengan didefinisikannya E merupakan multiset, mempunyai makna bahwa E
boleh mempunyai elemen kembar.
Oleh: Bandung Arry Sanjoyo 9
Suatu multigraf dikatakan berhingga jika graf tersebut mempunyai jumlah verteks berhingga.
Sebagai akibat dari jumah verteks berhingga, maka banyaknya edge juga berhingga. Suatu graf
berhingga dengan banyaknya verteks hanya satu dinamakan graf trivial.
Definisi 5.2.2. Derajat dari suatu verteks pada graf G=(V, E)
i. Untuk graf tak berarah G, derajat dari verteks u, disimbolkan dengan deg(u), adalah
banyaknya edge yang incident dengan verteks u.
ii. Untuk graf berarah G, derajat masuk dari verteks u adalah banyaknya edge yang
terhubung ke verteks u. Sedangkan derajat keluar dari verteks u adalah banyaknya edge
yang terhubung dari verteks u. Derajat dari verteks u adalah derajat masuk + derajat
keluar.
Contoh 5.2.1:
Pada Gambar 5.2.2 merupakan multigraf tak berarah, yaitu ada lebih dari satu edge yang
menghubungkan verteks Jkt dan Bdg. Multigraf banyak dijumpai pada jalur transpatautasi yang
menghubungkan antar kota, biasanya dari kota / tempat satu ke kota / tempat lain ada lebih dari
satu jalur. Derajat dari verteks masing-masing verteks adalah:
deg(Jkt)=3, deg(Bdg)=3, deg(Smg)=3, deg(Jgy)=2, deg(Sby)=3, dan jumahan dari semua
derajat verteks ini adalah 14.
Gambar 5.2.2.
Teorema 5.2.1. Untuk suatu graf G=(V,E), jumlahan dari derajat verteks sama dengan dua
kali banyaknya edge pada G. Atau Vv
Ev ||2)deg(
Bukti:
Oleh: Bandung Arry Sanjoyo 10
Untuk setiap edge Ee , memberikan kontribusi sebanyak 2 pada penghitungan derajat pada
verteks, dan dari definisi derajat dari verteks adalah banyaknya edge yang terhubung dengan
verteks tersebut, maka jumlahan derajat dari semua verteks adaah 2|E|. [Terbukti].
Contoh 5.2.2:
Pada Gambar 5.2.3 merupakan multigraf berarah, karena ada lebih dari satu edge yang
menghubungkan verteks 1 dan 3. Derajat pada setiap verteks adalah:
Verteks Derajat masuk Derajat keluar Jumlah
1 1 4 5
2 2 0 2
3 3 1 4
4 1 2 3
Jumlah 7 7 14
Terlihat bahwa jumlahan derajat (masuk dan keluar) adalah 14 dan banyaknya edge adalah 7.
Suatu verteks yang mempunyai derajat nol dikatakan verteks terisolasi (isolated vertex).
1 2
3 4
Gambar 5.2.3.
Jika kita memperhatikan kembali graf-graf pada contoh yang terdahulu, maka
banyaknya verteks yang berderajat ganjil adalah genap. Pada graf Gambar 5.2.2 bayaknya
verteks berderajat ganjil adalah 4, yaitu verteks Jkt, Bdg, Smg, dan Sby. Pada graf Gambar 5.2.3
banyaknya verteks berderajat ganjil adalah 2 yaitu verteks 1 dan 4. Hal ini kita nyatakan dalam
teorema berikut ini.
Teorema 5.2.2. Untuk suatu graf G=(V,E), banyaknya verteks yag berderajat ganjil adalah
genap.
Bukti:
Kebenaran dari Teorema 5.2.2 akan kita buktikan secara induksi. Misal banyaknya edge adalah
n.
Basis induksi:
Oleh: Bandung Arry Sanjoyo 11
Untuk setiap n=0, banyaknya edge yang berderajat ganjil adalah 0 atau genap. Sebagai
gambaran lihat Gambar 5.2.4, verteks yang berwarna hitam berderajat ganjil, dan banyaknya
adalah genap .
(a) (b) (c)
Gambar 5.2.4.
Langkah asumsi:
Kita anggap bahwa untuk graf G=(V,E) dengan banyak edge n= k mempunyai banyak
verteks yang berderajat ganjil adalah genap. Jadi pernyataan benar untuk n=k.
Langkah induksi:
Selanjutnya akan ditunjukkan pernyataan benar untuk n=k+1, atau akan ditunjukkan bahwa
pernyataan benar apabila edge bertambah satu. Penambahan satu edge akan mengakibatkan
beberapa alternatif berikut ini:
i. Jika kedua verteks ujung dari edge yang baru keduanya berderajat ganjil (yang berarti
sebelum penambahan edge keduanya berderajat genap) maka terjadi penambahan dua
buah edge yang berderajat ganjil. Sehingga banyaknya edge yang berderajat ganjil
adalah tetap genap.
ii. Jika kedua verteks ujung dari edge yang baru keduanya berderajat genap (yang berarti
sebelum penambahan edge keduanya berderajat ganjil) maka terjadi pengurangan dua
buah edge yang berderajat ganjil. Sehingga banyaknya edge yang berderajat ganjil
adalah tetap genap.
iii. Jika satu verteks ujung dari edge yang baru berderajat ganjil dan satu ujung lain
berderajat genap maka tidak ada penambahan atau pengurangan verteks yang berderjat
ganjil. Sehingga banyaknya edge yang berderajat ganjil adalah tetap genap.
Dengan demikian kebenaran teorema di atas terbukti secara induksi. [Terbukti].
Sekarang kita akan menuju ke suatu graf yang setiap edgenya berlabel sebuah bilangan
riil seperti graf pada Gambar 5.2.4. Label pada setiap edge pada graf tersebut menyatakan jarak
antar kota dalam kilo meter. Label bilangan riil pada edge dinamakan bobot dari edge tersebut.
Oleh: Bandung Arry Sanjoyo 12
Suatu graf (berarah atau tak berarah) yang setiap edgenya mempnyai bobot dinamakan graf
berbobot dan secara fataumal didefinisikan sebagai berikut.
Gambar 5.2.4.
Definisi 5.2.3. Graf berbobot (weighted graf) adalah suatu graf (berarah atau tak berarah)
yang setiap edge Ee diberikan label bobot bilangan riil. Graf berbobot disimbolkan dengan
G=(V, E,W) degan (V,E) dapat berupa graf berarah atau tak berarah dan W merupakan suatu
fungsi yang memetakan himpunan edge ke himpunan bilangan riil R atau W:E→R. Untuk
edge Ee dan Rr , w(e)=r menyatakan label r pada edge e.
Contoh 5.2.3:
Dalam suatu kompetisi catur yang menggunakan aturan permainan sistem kompetisi penuh,
setiap pasang pemain hanya bertdaning dua kali. Ada empat pemain yaitu: Anang, Badu,
Cecep, dan Deny. Hasil dari kompetisi tersebut disajikan dalam graf berarah pada Gambar
5.2.5. Setiap pemain dinyatakan dengan verteks dan edge (u,v,r) menyatakan bahwa pemain u
mengalahkan pemain v dalam waktu r menit.
Gambar 5.2.5.
Edge dari Anang ke Badu berabel 100 artinya Anang mengalahkan Badu dalam waktu 100
menit. Ada juga edge dari Badu ke Anang berlabel 150 artinya bahwa dalam pertemuan yang
lain Badu mengalahkan Anang dalam waktu 150 menit. Ada dua edge dari Anang ke deny
Oleh: Bandung Arry Sanjoyo 13
masing-masing berabel 80 dan 75, artinya bahwa dalam dua pertemuan Anang mengalahkan
Badu dalam waktu 80 menit dan 70 menit.
Oleh: Bandung Arry Sanjoyo 14
5.3 Kegiatan Belajar III:
Lintasan Dan Sirkuit
Dalam suatu graf G, jika verteks menyatakan kota dan edge menyatakan jalan yag
menghubugkan kota satu dengan kota lain, maka perjalanan dari suatu kota melewati beberapa
kota dan berkhir di kota yang lain melalui sederetan jalan. Sederetan jalan yang demikian ini
dinamakan suatu lintasan dari kota awal menuju kota akhir.
Definisi 5.3.1. Lintasan
Dalam suatu graf G=(V,E), Lintasan (path) dari vertek v0 menuju vn dengan panjang n
adalah sederetan berselang-seling antara (n+1) verteks dan n edge yang berawal dari verteks
v0 da berakhir dengan verteks vn atau dalam bentuk simbol sebagai berikut.
v0, e1, v1, e2,..., vn-1, en, vn
edge ei incident dengan verteks vi-1 dan vi untuk i=1, 2, ..., n.
Dalam suatu graf G=(V,E,W), Lintasan (path) dari vertek v0 menuju vt adalah sederetan
berselang-seling verteks dan edge yang berawal dari verteks v0 da berakhir dengan verteks vt
atau dalam bentuk simbol sebagai berikut.
v0, e1, v1, e2,..., vt-1, et, vt
edge ei incident dengan verteks vi-1 dan vi untuk i=1, 2, ..., t.
Panjang lintasan dalam graf berbobot G adalah )(1
t
i
iew atau jumlahan dari semua bobot
edge dalam lintasan tersebut.
Kalau kita perhatikan definisi lintasan diatas, panjang lintasan dalam graf berbobot dan tidak
berbobot ada perbedaan. Dalam graf berbobot panjang lintasan adalah jumlahan semua bobot
edge pada lintasan. Sedangkan dalam graf tidak berbobot panjang lintasan adalah banyaknya
edge pada lintasan tersebut. Untuk lebih jelasnya kita lihat contoh berikut ini.
Ingat bahwa verteks dan edge yang dilalui di dalam lintasan boleh diulang-ulang. Sebuah
lintasan dikatakan lintasan sederhana (simple path) jika lintasan tersebut tidak
memuat/melewati edge yang sama dua kali (setiap edge yang dilalui hanya satu kali). Sebuah
Oleh: Bandung Arry Sanjoyo 15
lintasan dikatakan lintasan dasar (elementary path) jika lintasan tersebut tidak
memuat/melewati verteks yang sama dua kali (setiap verteks yang dilalui hanya satu kali,
verteks awal dan akhir boleh sama).
Jika graf yang sedang kita tinjau merupakan graf sederhana, maka simbol – simbol edge pada
penuisan lintasan dapat kita hilangkan. Hal ini dikarenakan edge dari verteks u ke v dalam graf
sederhana tidak lebih dari satu. Sedangan pada multigraf, penulisan lintasan harus lengkap.
Definisi 5.3.2. Sirkuit
Dalam suatu graf G, Suatu Lintasan (path) yang mempunyai verteks awal dan verteks akhir
sama dinamakan Sirkuit (Circuit) atau Cycle.
Sebuah sirkuit dikatakan sirkuit sederhana (simple circuit) jika sirkuit tersebut tidak
memuat/melewati edge yang sama dua kali (setiap edge yang dilalui hanya satu kali). Sebuah
sirkuit dikatakan sirkuit dasar (elementary circuit) jika sirkuit tersebut tidak memuat/melewati
verteks yang sama dua kali (setiap verteks yang dilalui hanya satu kali, verteks awal dan akhir
boleh sama).
Contoh 5.3.1:
Untuk graf tak berarah dan tak berbobot pada Gambar 5.3.1, carilah:
a. Lintasan dari a ke d yang panjangnya masing-masing 1, 2, 3, dan 6?
b. Lintasan sederhana dari c ke b yang panjangnya 4?
c. Sirkuit sederhana dari a ke a yang panjangnya 5?
a b
d c
e1
e2
e3
e4e5
e6
Gambar 5.3.1.
Penyelesaian:
a. Lintasan dari a ke d:
Oleh: Bandung Arry Sanjoyo 16
Yang panjangnya 1: a-e2-d merupakan lintasan sederhana dan juga lintasan dasar.
Yang panjangnya 2: tidak ada
Yang panjangnya 3: a-e2-d-e5-c-e5-d bukan lintasan sederhana, juga bukan litasan dasar.
a-e2-d-e5-c-e6-d merupakan lintasan sederhana, bukan lintasan
dasar.
a-e1-b-e4-c-e6-d merupakan lintasan sederhana.
dan yang lainnya, silahkan dicoba cari yang lainnya.
Yang panjangnya 6: a-e1-b-e3-b-e4-c-e5-d-e6-c-e5-d bukan lintasan sederhana.
Dan masih ada satu lagi, silahkan dicoba untuk dicari.
b. Lintasan sederhana dari c ke b yang panjangnya 4 adalah a-e5-d-e6-c-e4-b-e3-b.
Dan masih ada satu lagi, silahkan dicoba untuk dicari.
c. Sirkuit sederhana dari a ke a yang panjangnya 5: a-e2-d-e6-c-e4-b-e3-b-e1-a.
Dan silahkan dicoba untuk mencari yang lainnya.
Contoh 5.3.2:
Untuk graf berarah dan tak berbobot pada Gambar 5.3.2, carilah lintasan dari a ke d yang
panjangnya masing-masing 1, dan 4?
a b
d c
Gambar 5.3.2.
Penyelesaian:
Graf pada Gambar 5.3.2, himpunan edge E tidak memuat memuat elemen kembar. Oleh karena
itu lintasannya dapat dituliskan dengan meggunakan sederatan verteks-verteks saja.
Lintasan dari a ke d yang panjangnya 1 adalah a-d, merupakan lintasan sederhana dan lintasan dasar.
Lintasan dari a ke d yang panjangnya 4 adalah a-b-b-c-d, merupakan lintasan sederhana dan bukan lintasan dasar.
Oleh: Bandung Arry Sanjoyo 17
Contoh 5.3.3:
Untuk graf tak berarah dan berbobot pada Gambar 5.3.3, carilah beberapa lintasan dari a ke z
dan tentukan panjangnya?
a
b
c
d
e
f1
24
1
5
7
3
2
6
Gambar 5.3.3.
Penyelesaian:
No Lintasan dari a ke z Panjang lintasan
1 a-c-e-f 11
2 a-b-d-f 10
3 a-b-e-f 12
4 a-b-c-e-f 10
5 a-b-c-e-d-f 8
...
Selanjutnya kita akan melihat keterhubungan suatu graf. Keterhubungan dua buah verteks
dalam suatu graf adalah penting. Dua buah verteks u dan verteks v dikatakan terhubung jika
terdapat lintasan dari u ke v. Jika verteks u terhubung dengan verteks v maka pasti verteks v
dapat dicapai dari verteks u. Misal suatu graf menggambarkan suatu jaringan komputer, maka
dua komputer akan dapat berkomunikasi apabila kedua komputer tersbut terhubung dalam
jaringan. Secara fataumal, definisi graf terhubung adalah sebagai berikut:
Definisi 5.3.3. Graf Tak Berarah Terhubung
Dalam suatu graf tak berarah G, G disebut graf terhubung (connected graf) jika untuk setiap
pasang verteks u dan v di dalam himpunan V terdapat lintasan dari u ke. Jika tidak demikian
maka graf G disebut graf tak-terhubung (disconnected graf).
Contoh 5.3.4:
Oleh: Bandung Arry Sanjoyo 18
Untuk graf tak berarah pada Gambar 5.3.4 (a) merupakan graf terhubung, karena jika kita ambil
dua verteks sembarang u dan v pada graf tersebut, maka ada lintasan dari u ke v. Sedangkan
untuk graf tak berarah pada Gambar 5.3.4 (b) merupakan graf tak terhubung, karena ada
sepasang verteks yang tidak ada lintasan yang menghuungkannya, yaitu tidak ada lintasan dari
verteks a dan f.
(a) (b)
Gambar 5.3.4.
Definisi 5.3.3. Graf Berarah Terhubung
Suatu graf berarah G disebut graf terhubung (connected graf) jika arah pada setiap edge
pada G dihilangkan, akan didapat graf tak berarah terhubung. Jika tidak demikian maka graf
berarah G disebut graf tak-terhubung (disconnected graf).
Dalam graf berarah terhubung, dua verteks u dan v dikatakan terhubung kuat (strongly
connected) jika terdapat lintasan berarah dari u ke v dan terdapat lintasan berarah dari v ke u.
Dan dua verteks u dan v dikatakan terhubung lemah (weakly connected) jika terdapat lintasan
berarah dari u ke v tetapi tida ada lintasan dari v ke u.
Definisi 5.3.4. Graf Berarah Terhubung Kuat
Suatu graf berarah G disebut graf terhubung kuat (strongly connected graf) jika setiap
pasang verteks pada G terhubung kuat. Jika ada sepasang verteks di G yang tidak terhubung
kuat, maka graf G dikatakan terhubung lemah (weakly connected graf) dihilangkan, akan
didapat graf tak berarah terhubung. Jika tidak demikian maka graf berarah G disebut graf tak-
terhubung (disconnected graf).
Contoh 5.3.5:
Untuk graf tak berarah pada Gambar 5.3.5 (a) merupakan graf terhubung kuat, karena untuk
setiap pasang verteks u dan v di dalam graf tersebut terdapat lintasan dari u ke v dan lintasan
Oleh: Bandung Arry Sanjoyo 19
dari v ke u. Sedangkan graf pada Gambar 5.3.5 (b) merupakan graf terhubung lemah, karena
tidak semua pasangan verteks mempunyai lintasan dari dua arah. Contohnya: untuk verteks a
dan verteks d, ada lintasan dari a ke d, akan tetapi tidakada lintasan dari d ke a.
(a) (b)
Gambar 5.3.4.
.
Oleh: Bandung Arry Sanjoyo 20
5.4 Kegiatan Belajar IV:
Lintasan Euler Dan Hamilton
Tulisan pertama tentang tentang graf adalah karya Leonhard Euler pada 1736. Tulisan tersebut
menyajikan sebuah permasalahan umum yang menyertakan sebuah solusi yang sekarang
disebut masalah jembatan Königsberg. Dua pulau terhampar di Sungai Pregel yang terletak di
kota Königsberg (saat ini Kaliningrad di Rusia) saling terhubung oleh jembatan-jembatan,
seperti yang diperlihatkan dalam Gambar 5.4.1 (a). Permasalahannya adalah untuk memulai
berjalan dari sembarang lokasi A, B, C, atau D menyeberangi setiap jembatan satu kali,
kemudian kembali lagi pada tempat semula. Ini yang dinamakan dengan permasalahan sirkuit
Euler. Permasalahan Euler pada jembatan Königsberg dapat disederhanakan dalam bentuk graf
seperti yang terlihat pada Gambar 5.4.1 (b).
(a) (b)
Gambar 5.4.1 Jembatan Kőnigsberg dan grafnya
Definisi 5.4.1. Lintasan Euler dan Sirkuit Euler
Lintasan Euler pada suatu graf G adalah suatu lintasan yang melewati setiap edge pada graf
G tepat satu kali.
Sirkuit Euler pada suatu graf G adalah suatu sirkuit yang melewati setiap edge pada graf G
tepat satu kali.
Lintasan Euler melewati setiap edge dari graf tepat satu kali. Bila lintasan Euler tersebut
kembali ke verteks asal maka lintasan tertutup tersebut dinamakan sirkuit Euler. Graf yang
mempunyai sirkuit Euler disebut graf Euler (Eulerian graf). Sedangkan graf G hanya memiliki
lintasan Euler dinamakan graf semi-Euler (semi-Eulerian graf).
Oleh: Bandung Arry Sanjoyo 21
Contoh 5.4.1:
Perhatikan Gambar 5.4.2. Setiap graf yang berada pada gambar tersebut merupakan graf semi
Euler, yaitu hanya terdapat lintasan Euler.
a
b
c
d
e
a
b
c
d
e
f
(a) (b)
Gambar 5.4.2 Graf semi Euler
Untuk graf pada Gambar 5.4.2 (a), salah satu lintasan Eulernya adalah: c-a-b-c-e-b-d-e. Dan
graf ini tidak memiliki sirkuit Euler. Sedangkan untuk graf pada Gambar 5.4.2 (b), salah satu
lintasan Eulernya adalah: c-a-b-c-e-b-d-e-f-d. Dan graf ini tidak memiliki sirkuit Euler.
Contoh 5.4.2:
Perhatikan Gambar 5.4.3. Setiap graf yang berada pada gambar tersebut merupakan graf Euler,
yaitu terdapat sirkuit Euler.
a
b
c
d
e
a
b d
e
f
c
(a) (b)
Gambar 5.4.3 Graf Euler
Untuk graf pada Gambar 5.4.3 (a), salah satu sirkuit Eulernya adalah: a-b-c-d-e-c-a. Sedangkan
untuk graf pada Gambar 5.4.3 (b), salah satu lintasan Eulernya adalah: a-b-c-e-b-d-e-f-d-c-a.
Contoh 5.4.2:
Perhatikan graf Gambar 5.4.1. Graf permasalahan jembatan Königsberg tersebut tidak
mempunyai lintasan maupun sirkuit Euler.
Oleh: Bandung Arry Sanjoyo 22
a
b
c
d
e
a
b d
e
f
c
(a) (b)
Gambar 5.4.3 Graf Euler
Untuk graf pada Gambar 5.4.3 (a), salah satu sirkuit Eulernya adalah: a-b-c-d-e-c-a. Sedangkan
untuk graf pada Gambar 5.4.3 (b), salah satu lintasan Eulernya adalah: a-b-c-e-b-d-e-f-d-c-a.
Syarat cukup dan perlu keberadaan lintasan Euler maupun sirkuit Euler dalam suatu graf
ternyata sangat sederhana. Euler menemukan syarat tersebut untuk memecahkan masalah
jembatan Konigsberg, yang dinyatakan di dalam Teorema 5.4.1 sampai dengan teorema 5.4.3.
Teorema 5.4.1. Jika suatu graf tak berarah terhubung G terdapat sirkuit Euler maka setiap
verteks di dalam graf G tersebut berderajat genap.
Bukti:
Dipunyai bahwa dalam suatu graf G yang terdapat sirkuit Euler yang berawal dari suatu
verteks, misal a, dan akan berakhir di a. Ini berarti bahwa ada edge awal dan edge akhir dari
sirkuit yang memberikan kontribusi pada jumlahan derajat dari a sebanyak dua. Sedangkan
untuk verteks lain b, yang bukan verteks awal atau akhir dari sirkuit, yang dilalui sirkuit,
ada edge menuju b dan edge keluar b. Ini mengakibatkan derajat dari verteks tersebut
bertambah dua (genap). Karena setiap edge pada graf G harus dilalui oleh sirkuit Euler dan
setiap edge yang dilalui derajatnya bertambah dua (genap), maka setiapverteks akan
berderajat genap.
Teorema 5.4.2. Jika setiap verteks di dalam suatu graf tak berarah terhubung G berderajat
genap maka pada graf G terdapat sirkuit Euler.
Bukti:
Pembuktin teorema ini akan dilakukan secara induksi. Misal banyaknya edge adalah n.
Basis induksi:
Oleh: Bandung Arry Sanjoyo 23
Untuk n=0, graf G terhubung dan tidak mempunyai edge, berarti graf G hanya terdiri dari
sebuah verteks. Oleh karena itu pada G ada sirkuit Euler yang terdiri dari verteks tunggal
dan tanpa edge.
Langkah asumsi dan induksi:
Danaikan G mempunyai n edge, n > 0, dan bahwa sembarang graf terhubung dengan k edge,
k < n, setiap verteks mempunyai derajat genap maka G mempunyai sebuah sirkuit Euler. Ini
merupakan cara langsung untuk membuktikan bahwa sebuah graf terhubung dengan verteks
atau lebih, masing-masing mempunyai derajat genap, mempunyai sebuah sirkuit, sehingga
kita asumsikan bahwa graf tersebut mempunyai paling sedikit tiga verteks.
Karena G terhubung, terdapat verteks v1, v2, dan v3 di G dengan edge e1 insident pada v1 dan
v2, serta edge e2 insiden pada v2 dan v3. Jika kita hapus edge e1, dan e2, tetapi kita biarkan
verteks-verteksnya, dan kita tambahkan sebuah edge e yang insiden pada v1 dan v3 untuk
memperoleh graf G' seperti terlihat pada Gambar 5.4.4(a). Perhatikan bahwa setiap
komponen dari graf G' mempunyai edge lebih sedikit dari n edge. Dan dalam setiap
komponen dari graf G' setiap verteks mempunyai derajat genap. Kita tunjukkan bahwa G'
mempunyai satu atau pun dua komponen.
(a) (b) (c)
Gambar 5.4.3 Pembuktian teorema 5.4.2
Misalkan v adalah sebuah verteks di G. Karena G terhubung, terdapat sebuah lintasan P di G
dari v ke v1. Misalkan P' adalah bagian dari lintasan P yang berawal dari v yang edge-
edgenya juga di G'. Selanjutnya P' berakhir baik pada v1, v2, ataupun v3 karena satu-satunya
cara P gagal sebagai sebuah lintasan di V' adalah P mengdanung satu dari edge-edge
terhapus e1 atau e2. Jika P' berakhir di v1, maka v berada di komponen yang sama seperti v1
di G, Jika P' berakhir di v3 [lihat Gambar 5.4.3 (b)], maka v berada di komponen yang sama
Oleh: Bandung Arry Sanjoyo 24
dengan v3 di G’, yang berada dalam komponen yang sama dengan v1 di G' (karena edge e di
G' insiden pada v1 dan v3). Jika P' berakhir di v2, maka v2 berada dalam komponen yang
sama dengan v. Oleh karena itu, sembarang verteks di G' berada dalam komponen yang
sama dengan baik v1 maupun v2. Sehingga G' mempunyai satu atau dua komponen.
Jika G' mempunyai satu komponen, yakni, jika G' terhubung, kita dapat menerapkan
hipotesis induktif untuk menyimpulkan bahwa G' mempunyai sebuah sirkuit Euler C'.
Sirkuit Euler ini dapat dimodifikasi untuk menghasilkan sebuah sirkuit Euler di G, kita
hanya mengganti kemunculan edge e di C' dengan edge-edge e1 dan e2.
Danaikan bahwa G' mempunyai dua komponen [lihat Gambar 5.4.3 (c)]. Menurut hipotesis
induktif, komponen yang mengdanung v1 mempunyai sebuah sirkuit Euler C' dan komponen
yang mengdanung v2 mempunyai sebuah sirkuit Euler C" yang berawal dan berakhir di v2.
Sebuah sirkuit Euler di G diperoleh dengan memodifikasi C' dengan menggantikan (v1, v3)
di C' dengan (v1, v2) yang diikuti oleh (v2, v3) atau dengan menggantikan (v3, v1) di C'
dengan (v3, v2) yang diikuti oleh C" yang diikuti oleh (v2, v1). Langkah Induktif telah
lengkap dan G mempunyai sebuah sirkuit Euler. [Terbukti]
Teorema 5.4.3. Untuk suatu graf tak berarah terhubung G merupakan graf semi Euler
(terdapat lintasan Euler) jika dan hanya jika di dalam graf G tersebut terdapat tepat dua
verteks berderajat ganjil.
Bukti:
Bukti dari teorema ini dibiarkan untuk latihan.
Pembahasan lintasan dan sirkuit Euler di atas untul graf tak berarah terhubung. Bagaimana
dengan graf yang berarah terhubung. Untuk graf berarah, keberaaan lintasan dan sirkuit
Euler lang disajikan pada teorema 5.4.4 yang tidak sertai dengan bukti.
Teorema 5.4.4. Graf berarah terhubung G memiliki sirkuit Euler jika dan hanya jika G
terhubung dan setiap verteks memiliki derajat-masuk dan derajat-keluar sama. G
memiliki lintasan Euler jika dan hanya jika G terhubung dan setiap verteks memiliki
derajat masuk dan derajat-keluar sama kecuali dua verteks, yang pertama memiliki
derajat keluar satu lebih besar derajat-masuknya, dan yang kedua memiliki derajat
masuk satu lebih besar dari derajat-keluarnya.
Oleh: Bandung Arry Sanjoyo 25
Jika pada pembahasan lintasan dan sirkuit Euler melewati setiap edge dari graf tepat sekali,
maka selanjutnya kita akan mengkaji permasalahan suatu lintasan yang melewati setiap verteks
pada graf tepat satu kali.
Definisi 5.4.2. Lintasan dan Sirkuit Hamilton
Lintasan Hamilton pada suatu graf G adalah suatu lintasan yang melewati setiap verteks graf
G tepat satu kali.
Sirkuit Hamilton pada suatu graf G adalah suatu sirkuit yang melewati setiap edge pada graf
G tepat satu kali.
Dari definisi di atas, apabila dalam lintasan Hamilton verteks awal sama dengan verteks akhir,
lintasan tersebut menjadi tertutup dan dinamakan sikuit Hamilton. Graf yang memiliki sirkuit
Hamilton dinamakan graf Hamilton, sedangkan graf yang hanya memiliki lintasan Hamilton
disebut graf semi-Hamilton.
Nama sirkuit Hamilton muncul ketika Sir William Hamilton membuat permainan
dodecahedron. Pada tahun 1859 Sir William Hamilton menawarkan mainan teka-teki ke pabrik
alat mainan Dublin. Mainan itu terdiri dari dodecahedron (yaitu benda yang disusun oleh 12
buah pentagonal dan di sini ada 20 buah titik sudut) dan tiap titik sudut diberi nama ibukota
negara seperti terlihat pada Gambar 5.4.4 (a). Permainan yang dapat dilakukan adalah
membentuk perjalanan keliling dunia, yang mengunjungi 1 ibukota tepat satu kali dan kembali
lagi ke kota asal. Persoalan ini dinamakan mencari sirkuit Hamilton. Gambar 5.4.4 (b) adalah
graf yang memodelkan proyeksi dodecahedron dengan sebuah sirkuit Hamilton yang bergaris
tebal.
Oleh: Bandung Arry Sanjoyo 26
(a) (b)
Gambar 5.4.4 Sirkuit Hamilton pada dodecahedron
Selanjutnya akan dibahas beberapa teorema yang menunjukkan keberadaan lintasan atau sirkuit
Hamilton, yaitu Teorema Dirac dan Teorema Ataue.
Teorema 5.4.5. Dirac
Jika graf G merupakan graf sederhana dengan n buah verteks, n ≥ 3, sedemikian sehingga
derajat tiap verteks paling sedikit n/2 maka graf merupakan graf Hamilton.
Teorema 5.4.6. Ataue
Jika graf G merupakan graf sederhana dengan n buah verteks, n ≥ 3, sedemikian sehingga
jumlah derajat tiap pasang verteks u dan v di G yang tidak adjacent paling sedikit n atau d(u)
+d(v) ≥ n maka graf merupakan graf Hamilton.
Teorema 5.4.7. Jika graf G adalah graf lengkap maka G merupakan graf Hamilton.
Teorema 5.4.6. Jika graf G merupakan graf lengkap dengan n buah verteks, n ≥ 3, maka
terdapat (n - 1)!/2 buah sirkuit Hamilton.
Teorema 5.4.7.
Oleh: Bandung Arry Sanjoyo 27
Jika graf G merupakan graf lengkap dengan n buah verteks, n ≥ 3 dan n ganjil, maka terdapat
(n - 1)/2 buah sirkuit Hamilton yang saling lepas (tidak ada edge yang beririsan).
Jika graf G merupakan graf lengkap dengan n buah verteks, n ≥ 3 dan n genap, maka terdapat
(n - 2)/2 buah sirkuit Hamilton yang saling lepas.
Contoh 5.4.3:
Persoalan pengaturan tempat duduk: Sembilan anggota sebuah klub bertemu tiap hari untuk
makan siang pada sebuah meja bundar. Mereka memutuskan duduk sedemikian sehingga setiap
anggota mempunyai tetangga duduk berbeda pada setiap makan siang. Berapa hari pengaturan
tersebut dapat dilaksanakan?.
Penyelesaian:
Persoalan di atas dapat direpresentasikan oleh sebuah graf dengan sembilan buah verteks
sedemikian sehingga setiap verteks menyatakan anggota klub, dan edge yang menghubungkan
dua buah verteks menyatakan kedua verteks tersebut bertetangga dalam tempat duduk, lihat
Gambar 5.5.5.
8
7
6 5
4
3
2
1
9
Gambar 5.5.5
Sirkuit Hamilton: 1, 2, 3, 4, 5, G, 7, 8, 9, 1 edge dengan garis tebal, menyatakan salah satu cara
pengaturan tempat duduk. Pada fataumasi ini atauang 1 bertetangga kiri dengan 2 dan
bertetangga kanan dengan atauang 9. Atauang 2 bertetangga kiri dengan 3 dan bertetangga
kanan dengan atauang 1, dan seterusnya.
Sirkuit Hamilton: 1, 5, 9, 4, 8, 3, 7, 2, 6, 1 edge dengan garis tipis, menyatakan salah satu cara
lain pengaturan tempat duduk. Pada fataumasi ini atauang 1 bertetangga kiri dengan 5 dan
Oleh: Bandung Arry Sanjoyo 28
bertetangga kanan dengan atauang 6. Atauang 2 bertetangga kiri dengan 6 dan bertetangga
kanan dengan atauang 7, dan seterusnya.
Kalau kita lihat sirkuit Hamilton garis tebal dan garis tipis tidak beririsan edge dengan sirkuit
Hamilton yang bergaris tipis, atau kedua sirkuit tersebut saling asing.
Jumlah pengaturan tempat duduk yang berbeda ada (9-1)/2 = 4. Oleh karena itu atauang dalam
klub tersebut dapat bertemu dalam 4 hari dengan selalu berganti tetangga duduk.
Suatu graf dapat berupa graf Hamilton dan sekaligus berupa graf Euler, seperti graf pada
Gambar 5.5.6.
a
b d
e
f
c
Gambar 5.5.6 Graf Hamilton sekaligus graf Euler
Oleh: Bandung Arry Sanjoyo 29
5.5 Kegiatan Belajar V:
Lintasan Terpendek
Dalam suatu graf berbobot G=(V,E,W), panjang lintasan dari verteks awal s ke verteks akhir t
adalah )(1
t
i
iew dengan w(ei) adalah bobot pada edge ei yang berada pada lintasan tersebut,
atau jumlahan dari semua bobot edge dalam lintasan tersebut. Sebagaimana kita ketahui
sebelumnya bahwa lintasan dari satu verteks ke verteks lain tidak tunggal, sehingga panjang
lintasan dari verteks s ke verteks t bisa lebih dari satu nilai. Dari sini, muncul suatu
permasalahan bagaimana mencari lintasan terpendek dari vertek s ke verteks t.
Definisi 5.5.1. Lintasan Terpendek
Lintasan terpendek dari verteks s ke verteks t pada suatu graf berbobot G=(V,E,W) adalah
minimal dari semua panjang lintasan yang dapat dibentuk dari verteks s menuju verteks v.
Contoh 5.5.1:
Perhatikan graf tak berarah berbobot dan terhubung pada Gambar 5.5.1.
a
b
d
c
3 5
7
1
3
Gambar 5.5.1.
Tabel berikut ini menampilkan beberapa lintasan terpendek dari suatu verteks ke satu verteks
yang lain.
Oleh: Bandung Arry Sanjoyo 30
Vertek awal
s
Vertek tujuan
t
Lintasan dari s ke t Panjang
lintasan
Lintasan terpendek dan
dan panjangnya
a b a-b 3
a-c-b 8
a-c-d-b 15
Dan lainnya
a d a-b-d 8
a-b-c-d 7
a-c-d 10
Dan lainnya
d b d-b 5
d-c-b 4
d-c-a-b 13
Dan lainnya
a-b
Panjang = 3
a-b-c-d
Panjang = 7
d-c-b
Panjang = 4
Dan yang lainnya
Contoh 5.5.2:
Perhatikan graf berarah berbobot dan terhubung pada Gambar 5.5.2.
a
b
d
c
3 5
7
1
3
-2
Gambar 5.5.2.
Tabel berikut ini menampilkan beberapa lintasan terpendek dari suatu verteks ke satu verteks
yang lain.
Vertek awal
s
Vertek tujuan
t
Lintasan dari s ke t Panjang
lintasan
Lintasan terpendek dan
dan panjangnya
a d a-b-d 8
a-c-b-d 13
a-c-d 10
a-c-d-a-b-d 16
Dan lainnya
a c a-c 7
a-b-d-a-c 13
Dan lainnya
a-b-d
Panjang = 8
a-c
Panjang = 7
Dan yang lainnya
Oleh: Bandung Arry Sanjoyo 31
Langkah-langkah untuk mencari lintasan terpendek dari satu verteks ke satu verteks lain
ditemukan oleh E. W. Dijkstra, lahir 5 Mei 1930 di Rotterdam Beldana. Oleh karena itu,
langkah-langkah untuk mencari lintasan terpendek ini dikenal sebagai algoritma Dijkstra.
Karena dedikasinya pada pemograman maka pada saat pernikahannya di tahun 1957, ia
mencantumkan prdariesinya sebagai seatauang programmer. Akan tetapi pemerintah Beldana
menyatakan bahwa prdariesi semacam itu tidak ada dan dia harus mengubah prdariesi menjadi
"fisikawan teatauitis:" Ia memenangkan Turing Award dari Association fatau Computing
Machinery pada tahun 1972. Ia juga terpilih sebagai Schlumbleger Centennial Chair in
Computer Science di Universitas Texas, Austin tahun 1984.
Ingat bahwa dalam pembahasan pencarian lintasan terpendek ini, graf G=(V,E,W) menyatakan
sebuah graf berbobot tersambung dan tidak memuat sirkuit (cycle) dengan panjang negatif.
Algatauitma Dijkstra melibatkan pemasangan label pada setiap verteks v V. Anggaplah kita
akan mencari lintasan terpendek dari verteks s ke verteks lainnya. Dua langkah utama dalam
algatauitma Dijkstra adalah:
1. Pemberian label pada vertek
2. Pencarian lintasan dan penghitungan panjang lintasan terpendek
1. Langkah Pemberian label pada verteks
Pada setiap vertek v V diberikan label [p(v), d(v), m(v)] dimana:
p(v) : predecessatau v (verteks sebelum v di dalam lintasan)
d(v) : Panjang (distance) lintasan dari verteks awal s menuju verteks v.
m(v) : suatu tdana yang nilainya permanen (’*’) atau sementara (’-’).
Urutan langkah-langkah pencarian pemebrian label dalam algatauitma Dijkstra sebagai berikut:
i. Langkah inisialisasi:
Untuk verteks awal s diberikan label p(s)=s, d(s)=0, dan m(s)=’*’ atau [s,0,*].
Untuk setiap verteks v V selain s diberikan label p(v)=v, d(v)= , dan m(s)=’-‘ atau
[v, , -].
t = verteks terakhir yang diberikan tdana permanen (*), pada awal ini t=s.
ii. Untuk setiap verteks v V yang adjacent dengan t dan tidak berlabel permanen, lakukan: