You are on page 1of 6

Dokumen Hafiludin S.

Matematika Diskrit 18-5-2017

LINTASAN TERPENDEK

Aplikasi dari teori lintasan terpendek biasanya bisa dijumpai dalam masalah
transportasi. Perluasannya bisa mencakup jalur tersingkat, jalur yang ekonomis
(biaya murah), atau kombinasi dari keduanya. Konsep yang dipakai untuk
menentukan lintasan terpendek salah satunya adalah algoritma Dijkstra.

Definisi:
Diberikan graf G dengan himpuanan sisi-sisi E(G) dan himpunan titik-titik
V(G). Dibuat aturan relasi W: E(G) R di mana e dipetakan ke W(e), untuk
setiap e E(G). Dalam hal ini, W(e) disebut bobot (weight) dari sisi e.

Definisi:
Sebuah graf G yang setiap sisinya dikaitkan dengan bilangan real disebut Graf-
Bobot. Bobot dari sebuah graf G, yang dinotasikan dengan W(G), adalah jumlah
bobot semua sisi G.

Definisi:
Panjang suatu lintasan dalam sebuah graf-bobot adalah jumlah bobot dari
semua sisi dalam lintasan tersebut.

Definisi:
Lintasan (u,v) di G yang panjangnya minimum disebut lintasan terpendek di
antara titik u dan titik v.
Jarak dari u ke v dinotasikan dengan dG(u,v) atau d(u,v) adalah panjang
lintasan terpendek antara titik-titik u dan v di G.

Contoh: Perhatikan graf-bobot G berikut.


V1 1 V6 1 V7
2 7 8 6
V2 1
V5
1 2
3 4 V8
1 1 9
V3 V9
3 V4 1
Lintasan terpendek yang menghubungkan titik v1 dengan v8 adalah v1-v6-v7-v8
yang panjangnya adalah 1 + 1 + 1 = 3. Jadi, d(v1,v8) = 3. Bobot dari graf G adalah
(2 + 3) + (1 + 7 + 1 + 4 + 3) +(8 + 1) + (1 + 6 + 2 + 1 + 1) + (1 + 9) = 5 + 16 + 9 + 11
+10 = 51

Sejarah singkat Algoritma

Muhammad bin Musa Al-Khwarizmi biasa dikenal dengan sebutan Algoritmi.


Biasa juga disebut Algorithmus, Alchwarizmi, Al-Karismi, Algorismi. Penulis
Kitab al-Muhtasar fi Hisab al-Jabr Wa’l-Muqabala dalam bahasa Inggris The
Book of Restoring and Balancing dan penggagas Aljabar (164-235 H atau 800-

1
Dokumen Hafiludin S. Matematika Diskrit 18-5-2017

847 M). Istilah al-jabr dan al-muqabala ternyata juga menarik perhatian orang-
orang di Eropa Lama sehingga dalam bahasa Latin kedua istilah itu menjadi
algebra et almucabala. Demikianlah akhirnya kata al-jabr itu berkembang
menjadi kata algebra atau aljabar dan dipergunakan sebagai nama dari
keseluruhan ilmu itu seperti apa yang kita kenal sekarang ini. Meskipun
Algoritmi hidup dan menerapkan ilmunya di Baghdad ibukota Kekhalifahan
Islam (Abbasiyah) di Timur (Negeri masyriq), ia berasal dari daerah Khwarizm,
sebuah wilayah di timur danau Laut Kaspia. Lokasi ini berdekatan dengan delta
sungai Amu Dar’ya (Oxus) di atasnya adalah danau Laut Aral. Ia menjadi
pembantu dari Khalifah al-Ma’mun (813-833 M).
Pengaruh lain nama Algoritmi yaitu berkaitan dengan suku kata
“algoritm” yang diartikan sebagai prosedur baku dalam menghitung sesuatu
ketika menyelesaikan masalah matematika. Ini menjadi istilah yang penting
dalam ilmu komputer terutama terkait dengan bahasa program.

Algoritma Dijkstra

Algoritma ini diperkenalkan oleh Dijkstra pada tahun 1959. Algortima ini
digunakan untuk mencari panjang lintasan terpendek dari sebuah titik ke titik
lain di dalam graf-bobot, di mana bobot setiap sisi di graf tersebut merupakan
bilangan real non negatif.

Prosedur algoritma Dijkstra dalam mencari lintasan terpendek (jarak) dari titik
s ke titik t.
INPUT : Graf-bobot G dengan s, t V(G)
STEP 1: Beri label titik s dengan (s) = 0. Sedangkan untuk setiap v V(G)
dengan v ≠ s, beri label (v) = .
Tulis T = V(G)
STEP 2: Pilih u T (pada STEP 1) di mana (u) paling kecil (minimum).
STEP 3: Bila u = t, STOP; dan beri pesan “panjang lintasan terpendek dari s ke t
adalah (t).
STEP 4: Jika u ≠ t lanjutkan dengan melihat sisi-sisi yang terhubung ke titik u.
Untuk setiap e = uv di mana v T, ganti label v dengan k di mana
k = min { (v), (u) + W(uv)} . Dalam hal ini (v) adalah label v pada
STEP sebelumnya.
STEP 5: Tulis T* = T – {u} dan selanjutnya pergi ke STEP 2 yaitu pilih lagi u T*
dengan (u) paling kecil.

Contoh: Tentukan d(v1,v9) dari graf-bobot berikut


V1 1 V6 1 V7
2 7 8 6
V2 1
V5
1 2
3 4 V8
1 1 9
V3 V9
3 V4 1

2
Dokumen Hafiludin S. Matematika Diskrit 18-5-2017

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T =V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
Pilih v1, sebab (v1) yang terkecil. Karena v1 ≠ v9 kita lanjutkan melihat sisi elemen
V(G) terhubung ke v1. Yakni v2 dan v6.
(v2) = > 2 = 0 + 2 = (v1)+ W(v1v2). Jadi (v2) = 2
(v6) = > 1 = 0 + 1 = (v1)+ W(v1v6). Jadi (v2) = 1

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9

Pilih v6 sebab (v6) yang terkecil. Karena v6 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v6. Yakni v2, v5, v7, v8.
(v2) = 2 < 8 = 1 + 7 = (v6)+ W(v2v6). Jadi (v2) tetap yakni = 2
(v5) = > 9 = 1 + 8 = (v1)+ W(v5v6). Jadi (v5) = 9
(v7) = > 2 = 1 + 1 = (v1)+ W(v7v6). Jadi (v7) = 2
(v8) = > 7 = 1 + 6 = (v1)+ W(v5v6). Jadi (v5) = 7

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9

Pilih v7 sebab (v7) yang terkecil. Karena v7 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v7. Yakni v8.
(v8) = 7 > 3 = 2 + 1 = (v7)+ W(v7v8). Jadi (v8) tetap yakni = 3
V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9
0 2 9 1 2 3
T* --- v2 v3 v4 v5 --- --- v8 v9

Pilih v2 sebab (v2) yang terkecil. Karena v2 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v2. Yakni v3, v4, v5.
(v3) = > 5 = 2 + 3 = (v2)+ W(v2v3). Jadi (v3) = 5
(v4) = > 6 = 2 + 4 = (v2)+ W(v2v4). Jadi (v4) = 6
(v5) = 9 > 3 = 2 + 1 = (v2)+ W(v2v5). Jadi (v5) = 3

3
Dokumen Hafiludin S. Matematika Diskrit 18-5-2017

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9
0 2 9 1 2 3
T* --- v2 v3 v4 v5 --- --- v8 v9
0 2 5 6 3 1 2 3
T* --- --- v3 v4 v5 --- --- v8 v9

Pilih v8 sebab (v8) yang terkecil. Karena v8 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v8. Yakni v4, v5, v9.
(v4) = 6 > 4 = 3 + 1 = (v8)+ W(v8v4). Jadi (v4) = 4
(v5) = 3 < 5 = 3 + 2 = (v8)+ W(v8v5). Jadi (v5) tetap = 3
(v9) = > 12 = 3 + 9 = (v8)+ W(v8v9). Jadi (v9) = 12

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9
0 2 9 1 2 3
T* --- v2 v3 v4 v5 --- --- v8 v9
0 2 5 6 3 1 2 3
T* --- --- v3 v4 v5 --- --- v8 v9
0 2 5 4 3 1 2 3 12
T* --- --- v3 v4 v5 --- --- --- v9

Pilih v5 sebab (v5) yang terkecil. Karena v5 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v5. Yakni v4.
(v4) = 4 = 4 = 3 + 1 = (v5)+ W(v5v4). Jadi (v4) tetap = 4

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9

4
Dokumen Hafiludin S. Matematika Diskrit 18-5-2017

0 2 9 1 2 3
T* --- v2 v3 v4 v5 --- --- v8 v9
0 2 5 6 3 1 2 3
T* --- --- v3 v4 v5 --- --- v8 v9
0 2 5 4 3 1 2 3 12
T* --- --- v3 v4 v5 --- --- --- v9
0 2 5 4 3 1 2 3 12
T* --- --- v3 v4 --- --- --- --- v9

Pilih v4 sebab (v4) yang terkecil. Karena v4 ≠ v9 kita lanjutkan melihat sisi elemen
T* terhubung ke v4. Yakni v3,v9.
(v3) = 5 < 7 = 4 + 3 = (v4)+ W(v3v4). Jadi (v3) tetap = 5
(v9) = 12 > 5 = 4 + 1 = (v4)+ W(v9v4). Jadi (v9) = 5

V(G) v1 v2 v3 v4 v5 v6 v7 v8 v9
0
T v1 v2 v3 v4 v5 v6 v7 v8 v9
0 2 1
T* --- v2 v3 v4 v5 v6 v7 v8 v9
0 2 9 1 2 7
T* --- v2 v3 v4 v5 --- v7 v8 v9
0 2 9 1 2 3
T* --- v2 v3 v4 v5 --- --- v8 v9
0 2 5 6 3 1 2 3
T* --- --- v3 v4 v5 --- --- v8 v9
0 2 5 4 3 1 2 3 12
T* --- --- v3 v4 v5 --- --- --- v9
0 2 5 4 3 1 2 3 12
T* --- --- v3 v4 --- --- --- --- v9
0 2 5 4 3 1 2 3 5
T* --- --- v3 --- --- --- --- --- v9

Pilih v9 sebab (v9) yang terkecil. Karena v9 = v9, proses dihentikan. Tulis pesan:
“Panjang lintasan terpendek dari v1 ke v9 adalah (v9) = 5”.
Jadi jarak dari v1 ke v9 = d(v1,v9) = 5.

Untuk mencari lintasannya kita menelusuri balik, yaitu dari v9 ke v1.

(v9) = 5 = 4 + 1 = (v4)+ W(v9v4)


(v4) = 4 = 3 + 1 = (v5)+ W(v5v4)
(v5) = 3 = 2 + 1 = (v2)+ W(v2v5)
(v2) = 2 = 0 + 2 = (v1)+ W(v1v2)
Jadi v1-v2-v5-v4-v9 adalah lintasan terpendek.

5
Dokumen Hafiludin S. Matematika Diskrit 18-5-2017

Kita menelusuri lintasan terpendek yang lainnya.


(v9) = 5 = 4 + 1 = (v4)+ W(v9v4)
(v4) = 4 = 3 + 1 = (v8)+ W(v8v4)
(v8) = 3 = 2 + 1 = (v7)+ W(v8v7)
(v7) = 2 = 1 + 1 = (v6)+ W(v6v7)
(v6) = 1 = 0 + 1 = (v1)+ W(v1v6)
Jadi v1-v6-v7-v8-v4-v9 adalah lintasan terpendek yang lainnya dari v1 ke v9.

You might also like