Professional Documents
Culture Documents
Dengan
Jika titik adjacent dari titik maka:
, dengan
.
Setelah semua
]}
Untuk dan , dengan .
3. Ulangi langkah 2, untuk
4. Penghentian iterasi
Jika diperoleh
5. Setiap di , jlankan algoritma Djikstra untuk menghitung
d
6. d
7. Setiap di ; d
8.
Keterangan :
= bobot sisi dari s ke v
= panjang lintasan terpendek dari s ke v
w
= bobot sisi baru dari u ke v
d
= panjang lintasan terpendek dari u ke v dan yang dihitung
adalah bobot sisi baru ( w )
= panjang lintasan terpendek dari u ke v
= matriks hasil perhitungan lintasan terpendek dari tiap-tiap
pasangan titik dan bobot sisi yang digunakan adalah w
= matriks hasil akhir dari perhitungan
Contoh:
Misalkan diketahui graph berarah (digraf) ) , ( E V G =
Penyelesaian:
Langkah 1:
Mengkontruksi digraph baru dengan menambahkan titik baru pada digraph
lama misal s
Langkah 2
Memberi bobot sisi yang kedua dari titik s ke semua titik lain dengan 0
dan tidak ada sisi yang masuk ke titik s tersebut
Langkah 3
Mengerjakan algoritma Bellman-ford untuk mengecek sikel yang berbobot
negative. Bila ada sikel berbobot negative maka algoritma johnson akan
berhenti dan tidak bisa dijalankan akan tetapi apabila tidak terdapat sikel
yang negative maka langkah selanjutnya akan mencari lintasan terpendek
dari titik baru ke setiap titik v pada digraph.
Langkah-langkahnya sebagai berikut:
1. memberi label titik awal s dengan 0 dan semua titik lain dengan
2. pada langkah ini akan dilakukan proses iterasi sehingga akan diperoleh
nilai baru untuk titik-titik yang lain
Iterasi 1:
Titik s bergerak menuju ke titik tang berhubungan langsung dengan titik s
tersebut, yaitu
4 3 2 1
, , v v v v lalu memberi label titik
4 3 2 1
, , v v v v dengan 0 di
peroleh lintasan( ) ( ) ( ) ( )
4 3 2 1
, , , , , , , v s v s v s v s
Iterasi 2:
Label titik
4 3 2 1
, , v v v v bernilai 0 sehingga keempat titik tersebut
mempunyai kesempatan yang sama menjadi titik awal untuk iterasi ini
Titik
1
v berhubung langsung dengan titik
4
v maka titik
1
v bergerak
menuju ke titrik
4
v karena 0 ) , (
4
= v s d u 3 ) , ( ) , (
2 1 1
= + v v w v s d maka label
titik
4
v tetap 0
Titik
2
v berhubungan langsung dengan
1
v dan
3
v ,maka titik
2
v
bergerak menuju ke
1
v dan
3
v . Karena
3 ) , ( ) , ( 0 ) , (
2 1 2 1
= + > = v v w v s d v s d
maka label
1
v berubah menjadi -3
karena 0 ) , (
3
= v s d u 2 ) , ( ) , (
3 2 2
= + v v w v s d maka label
3
v tetap 0.
Diperoleh lintasan ) , (
1 2
v v
Titik
3
v berhubung langsung dengan
2
v maka
3
v bergerak menuju
2
v karena 1 ) , ( ) , ( 0 ) , (
2 3 3 2
= + > = v v w v s d v s d maka label
2
v berubah
menjadi -1 diperoleh lintasan ) , (
2 3
v v
Titik
4
v berhubungan langsung dengan
1
v dan
3
v maka
4
v bergerak
menuju ke
1
v dan
3
v karena 4 ) , ( ) , ( 3 ) , (
1 4 4 1
= + > = v v w v s d v s d maka
1
v berubah menjadi -4 karena 2 ) , ( ) , ( 0 ) , (
3 4 4 3
= + > = v v w v s d v s d maka
label
3
v berubah menjadi -2 diperoleh lintasan ) , ( ), , ( ), , (
1 4 2 3 3 4
v v dan v v v v
Iterasi 3:
Titik awal
dan
3
v
Titik
1
v berhubungan langsung dengan
4
v ,maka
1
v bergerak menuju ke
4
v
.karena 0 ) , (
4
= v s d u 3 ) , ( ) , (
4 1 1
= + v v w v s d maka label
4
v tetap 0
Titik
3
v berhubung langsung dengan
2
v , maka
3
v bergerak menuju ke
2
v
.karena , 3 ) , ( ) , ( 0 ) , (
2 3 1 2
= + > = v v w v s d v s d maka label 2 berubah
menjadi -3 diperoleh lintasan ) , (
2 3
v v
Iterasi 4:
Titik awal
Titik
2
v
berhubungan langsung dengan
1
v
dan
3
v , maka
2
v
bergerak
menuju ke
1
v
dan
3
v karena
6 ) , ( ) , ( 4 ) , (
1 4 4 1
= + > = v v w v s d v s d
maka
label
1
v
berubah menjadi -6. karena 2 ) , (
3
= v s d u
1 ) , ( ) , (
3 2 2
= + v v w v s d maka label
3
v
tetap -2 diperoleh lintasan
) , (
1 2
v v
Iterasi 5:
Dari iterasi 4 diperoleh lintasan ) , (
1 2
v v di titik awal pada iterasi ini adalah
1
v . Titik
1
v berhubung langsung dengan
4
v maka
1
v bergerak menuju
4
v
karena 0 ) , (
4
= v s d u 1 ) , ( ) , (
4 1 1
= + v v w v s d maka label
4
v tetap 0.
Dari gambar di atas didapatkan panjang lintasan terpendek sari dari titik
awal s ke semua titik lain.
Panjang lintasan sebagai berikut:
0 ) , ( , 2 ) , ( , 3 ) , ( , 6 ) , (
4 3 2 1
= = = = v s d v s d v s d v s d
Selain itu dapan disimpulkan tidak terdapat sikel negative karena tidak
terdapat lintasan dengan titik awal dan titik akhir sama yang bernilai
negative. Sebagai contoh untuk titik awal dan titik akhir
4
v , panjang
lintasannya 1
Langkah 4
Mengubah bobot semua sisi pada digraph baru dengan menggunakan
lintasan terpendek dari baru ke setiap titik dengan cara
( ) ( ) ( ) ( ) v s d u s d v u w v u
w
r
, , , , + = agar bobot setiap sisi bernilai positif dan
dapat digunakan untuk mencari lintasan terpendek dengan menggunakan
algoritma Djikstra sehingga:
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) 0 ) 2 ( 0 2 , , , ,
2 ) 6 ( 0 4 , , , ,
0 ) 3 ( ) 2 ( 1 , , , ,
1 ) 2 ( ) 3 ( 2 , , , ,
0 ) 6 ( ) 3 ( 3 , , , ,
1 0 ) 6 ( 7 , , , ,
2 ) 2 ( 0 0 , , , ,
3 ) 3 ( 0 0 , , , ,
6 ) 6 ( 0 0 , , , ,
3 4 3 4 3 4
1 4 1 4 1 4
2 3 2 3 2 3
3 2 3 2 3 2
1 2 1 2 1 2
4 1 4 1 4 1
3 3 3
2 2 0
1 1 1
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
v s d v s d v v w v v
w
r
v s d v s d v v w v v
w
r
v s d v s d v v w v v
w
r
v s d v s d v v w v v
w
r
v s d v s d v v w v v
w
r
v s d v s d v v w v v
w
r
v s d s s d v s w v s
w
r
v s d s s d v s w v s
w
r
v s d s s d v s w v s
w
r
Langkah 5
Setelah semua sisi tidak ada yang mempunyain bobot negative maka
langkah selanjutnya adalah menjalankan algoritma Djikstra untuk
menghitung lintasan terpendek dari satu titik ke semua titik lainya
Akan dicari lintasan terpendek dengan titik
1
v sebagai titik awalnya
Iterasi 1
Tahap1:
{ } { } { }
3 2 4 4 1
, , v v v T T v v p = = =
( ) ( )
( ) ( ) 7
0
4 3
2 1
= ' = '
= ' =
v L v L
v L v L
Tahap 2:
{ } { }
4 3 2 1
, v v v T v p = =
( ) ( ) ( ) ( ) { }
( ) ( ) ( ) { }
3 4 4 3 3
2 4 4 2 1
, , min 7 ) (
, , min 0
v v d v L v L v L
v v d v L v L v L
+ ' = ' =
+ ' = ' =
Lalu pilih titik yang punya bobot terkecil yaitu
4
v dan dimasukkan ke p,
hasil perhitungan akhir ini akan masuk ke dalam iterasi 2
Iterasi 2
Tahap 1:
{ } { }
( ) ( ) 5 7
) ( 0 ) (
, ,
3 4
2 1
3 2 4 1
= ' =
= ' =
= =
v L v L
v L v L
v v T v v p
Tahap 2:
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) 5 7
, , min 0
, ,
3 4
2 3 3 2 1
2 3 3 4 1
= =
+ ' = ' =
= = =
v L v L
v v d v L v L v L
v v T T v v v p
Karena tiik
3
v mempunyai bobot terkecil maka titik
3
v
diberi tanda tetap,
dan hasil perhitungan akhir ini masuk ke dalam iterasi 3.
Iterasi 3
Tahap 1:
{ } { }
( ) ( )
( ) ( ) 5 7
4 0
, ,
3 4
2 1
2 3 4 1
= =
= ' =
= =
v L v L
v L v L
v T v v v p
Tahap 2:
{ } { }
( ) ( )
( ) ( ) 4 7
5 0
, ,
2 4
3 1
2 3 4 1
= =
= =
= =
v L v L
v L v L
T v v v v p
Memilih titik
2
v dan memberi tanda tetap pada titik
2
v
Dari iterasi terakhir diperoleh lintasan terpendek dari tidak
1
v ke semua
titik lain dan panjang lintasannya yaitu
( ) 0 ,
1 1
= v v d
Titik
1
v berhubungan langsung dengan
4
v dan diperoleh ( ) 1 ,
4 1
= v v d
Lintasan terpendek dari titik
1
v ke tetik
3
v melalui
4
v ) , , (
3 4 1
v v v dan
diperoleh ( ) 1 ,
3 1
= v v d
Lintasan terpendek dari titik
1
v ke titik
2
v melalui
3
v ( )
2 3 4 1
, , , v v v v dan
diperoleh ( ) 1 ,
2 1
= v v d
Akan dicari lintasan terpendek dengan titik
2
v sebagai titik awalnya
Iterasi 1
Tahap 1
{ } { }
( ) ( )
( ) ( ) = = ' = '
= = ' =
= =
4 3
1 2
4 3 1 2
2
3 0
, ,
v L v L
v L v L
v v v T v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) ( ) ( ) { }
4 1 1 4 1
3 1 1 3 2
4 3 1 1 2
, , min 3
, , 2 min 0
, ,
v v d v L v L v L
v v d v L v L v L
v v v T T v v p
+ ' = ' =
+ ' = ' =
= = =
Lalu memilih titik yang mempunyai bobot terkecil yaitu
1
v dan
dimasukkan ke p, hasil perhitungan akhir ini dimasukkan akan masuk ke
iterasi 2
Iterasi 2
Tahap 1
{ } { }
( ) ( )
( ) ( ) 4 3
2 0
, ,
4 1
3 2
4 3 1 2
= ' =
= ' =
= =
v L v L
v L v L
v v T v v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) 2 3
, , 4 min 0
, ,
3 1
4 3 3 4 2
4 3 3 1 2
= =
+ ' = ' =
= = =
v L v L
v v d v L v L v L
v v T T v v v p
Karena titik
3
v
punya bobot negatif, maka titik
3
v diberi tanda tetap dan
hasil perhitungan akhir ini masuk iterasi 3
Iterasi 3
Tahap 1
{ } ( )
( ) ( )
( ) ( ) 2 3
4 0
, ,
3 1
4 2
4 3 1 2
= =
= ' =
= =
v L v L
v L v L
v T v v v p
Tahap 2
{ } { }
( ) ( )
( ) ( ) 4 3
2 0
, , ,
4 1
3 2
4 3 1 2
= =
= =
= =
v L v L
v L v L
T v v v v p
Memilih titik
4
v dan memberi tanda pada
4
v
Dari iterasi yang terakhir diperoleh lintasan tependek dari titik
2
v ke semua
titik lain dan panjang lintasan terpendeknya yaitu:
( ) 0 ,
2 2
= v v d
Titik
2
v berhubungan langsung dengan titik
1
v ,diperoleh ( ) 0 ,
1 2
= v v d
Titik
2
v berhubungan langsung dengan titik
3
v diperoleh ( ) 1 ,
3 2
= v v d
Lintasan terpendek dari titik
2
v ke titik
4
v melalui ) , , (
4 1 2 1
v v v v dan
diperoleh ( ) 1 ,
4 2
= v v d
Akan dicari lintasan terpendek dengan titik
3
v sebagai titik awal
Iterasi 1
Tahap 1
{ } { }
( ) ( )
( ) ( ) = = ' = '
= = ' =
= =
4 2
1 3
4 2 1 3
1
0
, ,
v L v L
v L v L
v v v T v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) ( ) ( ) { }
4 2 2 4 2
1 2 2 1 3
4 1 2 2 3
, , min 1
, , min 0
, ,
v v d v L v L v L
v v d v L v L v L
v v v T T v v p
+ ' = ' =
+ ' = ' =
= = =
Lalu memilih titik yang mempunyai bobot terkecil yaitu
2
v dan
dimasukkan ke p, hasil perhitungan akhir ini akan masuk ke iterasi 2
Iterasi 2
Tahap 1
{ } { }
( ) ( )
( ) ( ) = ' =
= ' =
= =
4 2
1 3
4 1 2 3
1
4 0
, ,
v L v L
v L v L
v v T v v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) 4 1
, , min 0
, ,
1 2
4 1 1 4 3
4 1 1 2 3
= =
+ ' = ' =
= = =
v L v L
v v d v L v L v L
v v T T v v v p
Karena titik
1
v punya bobot negative, maka titik
1
v diberi tanda tetap
Hasil perhitungn akhir ini masuk ke iterasi 3
Iterasi 3
Tahap 1
{ } ( )
( ) ( )
( ) ( ) 4 1
3 0
, ,
1 2
4 3
4 1 2 3
= =
= ' =
= =
v L v L
v L v L
v T v v v p
Tahap 2
{ } { }
( ) ( )
( ) ( ) 3 1
4 0
, , ,
4 2
1 3
4 1 2 3
= =
= =
= =
v L v L
v L v L
T v v v v p
Memilih titik
4
v dan memberi tanda tetap pada titik
4
v
Dari iterasi yang terakhir diperoleh lintasan tependek dari titik
3
v
ke
semua titik lain dan panjang lintasan terpendeknya yaitu:
( ) 0 ,
3 3
= v v d
Titik
3
v berhubungan langsung dengan titik
2
v ,diperoleh
( ) 0 ,
2 3
= v v d
Lintasan terpendek dari titik
3
v ke titik
1
v melalui ) , , (
1 2 3 2
v v v v
dan
diperoleh ( ) 0 ,
1 3
= v v d
Lintasan terpendek dari titik
3
v ke titik
4
v melalui ) , , , (
4 1 2 3 1
v v v v v
dan diperoleh ( ) 1 ,
4 3
= v v d
Akan dicari lintasan terpendek dengan titik
4
v sebagai titik awal
Iterasi 1
Tahap 1
{ } { }
( ) ( )
( ) ( ) 2
4 0
, ,
3 2
1 4
3 2 1 4
= = ' = '
= = ' =
= =
v L v L
v L v L
v v v T v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) ( ) ( ) { }
3 1 1 3 1
2 1 1 2 4
3 2 1 1 4
, , min 4
, , min 0
, ,
v v d v L v L v L
v v d v L v L v L
v v v T T v v p
+ ' = ' =
+ ' = ' =
= = =
Lalu memilih titik yang mempunyai bobot terkecil yaitu
1
v dan
dimasukkan ke p, hasil perhitungan akhir ini akan masuk ke iterasi 2
Iterasi 2
Tahap 1
{ } { }
( ) ( )
( ) ( ) 2 4
0
, ,
3 1
2 4
3 2 1 4
= ' =
= ' =
= =
v L v L
v L v L
v v T v v p
Tahap 2
{ } { } { }
( ) ( ) ( ) ( ) { }
( ) ( ) 2 4
, , min 0
, ,
3 1
1 3 3 2 4
2 3 3 1 4
= =
+ ' = ' =
= = =
v L v L
v v d v L v L v L
v v T T v v v p
Karena titik
3
v
punya bobot negative maka titik
3
v diberi tanda tetap,
Hasil perhitungn akhir ini masuk iterasi 3
Iterasi 3
Tahap 1
{ } { }
( ) ( )
( ) ( ) 2 4
3 0
, ,
3 1
2 4
2 3 1 4
= =
= ' =
= =
v L v L
v L v L
v T v v v p
Memilih titik
2
v dan memberi tanda tetap pada titik
2
v
Tahap 2
{ } { }
( ) ( )
( ) ( ) 3 4
2 0
, ,
2 1
3 4
2 3 4 1
= =
= =
= =
v L v L
v L v L
T v v v v p
Karena ada lintasan dari v
2
ke v
1
, maka
( ) ( ) ( ) { } { } 6 6 , 4 min , , 4 min
1 2 2 1
= = + ' = ' v v d v L v L
Sehingga dipilih
Dari iterasi yang terakhir ini diperoleh lintasan terpendek dari titik
4
v ke semua titik lain dan panjang lintasan terpendeknya yaitu
0 ) , (
4 4
= v v d
Titik
4
v berhubungan lngsung dengan titik
3
v dan diperoleh
0 ) , (
3 4
= v v d
Lintasan terpendek dari titik
4
v ke titik
2
v melalui
3
v ) , , (
2 3 4
v v v
diperoleh 0 ) , (
2 4
= v v d
Lintasan terpendek dari titik
4
v ke
5
v melalui ( )
5 2 3 4 1
, , , v v v v v
dan
diperoleh 0 ) , (
5 4
= v v d
Langkah 6
Selelah mengetahui panjang lintasan terpendek dari setiap titik ke
semua titik lain maka selanjutnya adalah menyimpan hasil perhitungan
tersebut dalam bentuk matriks
(
(
(
(
= '
0 0 0 0
1 0 0 0
1 1 0 0
1 1 1 0
D
Langkah 7
Karena sudah diketahui panjang lintasan terpendek dari setiap titik ke
titik lain hasil mengubah semua bobot sisimaka selanjutnya adalah
mengubah kembali nilai nilai bobot dari semua lintasan terpendek pada
matriks D dengan menggunakan lintasan terpendek dari titik baru ke semua
titik yaitu, ( ) ( ) ), , ( , ) , (
, u s d v s d v u d v u d + = sehingga diperoleh:
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( ) 0 0 0 0 , , ,
) , (
2 0 ) 2 ( 0 , , ,
) , (
3 0 ) 3 ( 0 , , ,
) , (
6 0 ) 6 ( 0 , , ,
) , (
3 ) 2 ( 0 1 , , ,
) , (
0 ) 2 ( ) 2 ( 0 , , ,
) , (
1 ) 2 ( ) 3 ( 0 , , ,
) , (
4 ) 2 ( ) 6 ( 0 , , ,
) , (
4 ) 3 ( 0 1 , , ,
) , (
2 ) 3 ( ) 2 ( 1 , , ,
) , (
0 ) 63 ( ) 3 ( 0 , , ,
) , (
3 ) 3 ( ) 6 ( 0 , , ,
) , (
7 ) 6 ( 0 1 , , ,
) , (
5 ) 6 ( ) 2 ( 1 , , ,
) , (
4 ) 6 ( ) 3 ( 1 , , ,
) , (
0 ) 6 ( ) 6 ( 0 , , ,
) , (
4 4 4 4 4 4
4 3 3 4 3 4
4 2 2 4 2 4
4 1 1 4 1 4
3 4 4 3 4 3
3 3 3 3 3 3
3 2 2 3 2 3
3 1 1 3 1 3
2 4 4 2 4 2
2 3 3 2 3 2
2 2 2 2 2 2
2 1 1 2 1 2
1 4 4 1 4 1
1 3 3 1 3 1
1 2 2 1 2 1
1 1 1 1 1 1
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
= + = + =
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
v s d v s d v v d v v d
Langkah 8
Langkah terakhir dari algoritma ini adalah menyimpan kembali
perhitungan perubahan nilai bobot lintasan terpendek dari tiap titik ke semua
titik lain dalam matriks
(
(
(
(
=
0 2 3 6
3 0 1 4
4 2 0 3
7 5 4 0
D
13. Algoritma Exhaustic Search
Mencari lintasan terpendek dengan exhaustive search yaitu dengan
mengenumerasi setiap lintasan yang mungkin dengan cara yang sistematis.
Dari setiap kemungkinan tersebut dievaluasi satu persatu, selanjutnya
bandingkan setiap lintasan yang telah dievaluasi, lintasan yang
memberikan nilai terkecil merupakan lintasan terpendek yang kita cari.
Contoh :
Misalkan akan dicari lintasan terpendek dari titik 1 ke 6. Banyaknya
kemungkinan lintasan dari titik 1 ke titik 6 adalah sebagai berikut.
14. Algoritma UCS ( Uniform Cost Search )
Uniform Cost Search (UCS) adalah pencarian yang digunakan untuk
melewati dan menemukan jalan terpendek di pohon berbobot dan grafik.
Uniform Cost Search (UCS) dimulai pada titik awal dan akan terus
memperluas titik, pengambilan titik dengan terkecil, dimana
adalah total jarak di titik awal sampai mencapai titik berikutnya. Algoritma
ini tidak peduli tentang berapa banyak langkah jalan yang dimiliki hanya
biaya total jalan(Sumber:Graham, 2001).
Langkah-langkah Uniform Cost Search (UCS) :
1. Tentukan titik awal
2. Ekspansi anak-anaknya(titik-titik yang terkait dengan titik awal),
kemudian hitung nilai dari masing-masing anak-anaknya yaitu total
jarak awal sampai titik anak.
3. Pilih titik dari titik anak dengan nilai terkecil, titik yang terpilih akan
mendapat prioritas utama untuk diekspansi anak-anaknya.
4. Bandingkan dengan nilai lain yang telah didapatkan, ulangi langkah
3 sampai titik tujuan.
5. Jika tidak ada lagi nilai terkecil selain nilai pada rute yang telah
menenmukan titik tujuan, maka proses dihentikan.
6. Urutan titik-titik yang terpilih adalah rute yang lintasan terpendek yang
dihasilkan.
15. Algoritma Wall-Follower
Algoritma Wall Follower adalah jenis yang paling sederhana dari teknik
maze solving lainnya. Prinsipnya adalah mengikuti dinding kanan atau kiri
secara terus menerus selama menjelajahi labirin. Ketika sensor pada robot
mendeteksi dinding yang terbuka (terdapat jalan) maka robot akan berhenti
dan belok pada arah yang bersangkutan, kemudian berjalan lurus dan
mengikuti dinding kembali. Algoritma ini cenderung berharap menemukan
jalan keluar dibanding mencoba menyelesaikan labirin tersebut.
Langkah-langkah yang dilakukan adalah sebagai berikut
(dalam pseudo-code):
Algoritma sederhana seperti mengikuti dinding kanan atau kiri terbukti
tidak dapat digunakan pada pola labirin seperti pada Gambar 1.2 yang
merupakan sebuah imperfect maze. Kebanyakan kompetisi saat ini secara
If ada jalan ke kanan
Belok ke kanan
Else if ada jalan ke depan
Do nothing
Else if ada jalan ke kiri
Belok ke kiri
Else
Balik badan
End if
Maju ke depan satu sel
sengaja membuat labirin dengan pola seperti ini, sehingga algoritma ini
sudah tidak sesuai untuk digunakan dalam kompetisi micromouse.
16. Algoritma Depth Frist Search
Algoritma Depth-First Search biasa digunakan untuk proses traversal atau
pencarian dalam struktur pohon atau graf. Aplikasi algoritma ini pada
pohon akan memberikan hasil seperti ini:
Gambar 2.2. Hasil traversal sebuah pohon dengan algoritma Depth-First
Search. Angka disini menunjukkan urutan simpul tersebut dikunjungi.
Algoritma ini juga dapat diadaptasi menjadi salah satu metode intuitif
untuk pencarian dalam labirin. Pertama-tama robot akan berjalan lurus,
ketika menemukan percabangan jalan maka robot akan memilih salah satu
dari jalan yang tersedia secara acak. Apabila jalan yang dipilih ternyata
merupakan jalan buntu, maka robot akan melakukan backtracking ke
percabangan tadi kemudian memilih jalan yang lain. Proses seperti ini
akan membuat robot mencoba semua kemungkinan jalan yang ada.
Dengan menjelajahi semua sel dalam labirin, pada akhirnya robot akan
dapat menemukan tempat yang dituju. Algoritma ini akan selalu berhasil
menyelesaikan labirin ketika pencarian jalur terpendek tidak dibutuhkan,
tetapi proses ini akan membutuhkan waktu yang cukup lama tergantung
kompleksitas dari labirin yang dihadapi.
17. Algoritma Exhaustic Combinatorial
Pada prinsipnya metode ini merupakan penggabungan antara depth first
search dengan pelacakan mundur (backtracking), yaitu pelacakan bergerak
ke belakang menuju pada suatu keadaan awal. Nilai dari pengujian yang
dilakukan adalah ya atau tidak. Dengan kata lain metode ini adalah
pencarian buta yang mencari semua kemungkinan yang ada dari
permasalahan yang diproses. (Kristanto, 2004).
Secara garis besar cara kerja algoritma ini adalah sebagai berikut:
1. Membandingkan semua kemungkinan solusi (membangkitkan suatu
titik tertentu atau lintasan tertentu dari keadaan awal ).
2. Melakukan pengujian untuk melihat apakah titik tersebut benar-benar
merupakan solusi yang diharapkan dengan cara membandingkan titik
tersebut atau titik akhir dari suatu lintasan yang dipilih dengan kumpulan
tujuan yang diharapkan.
3. Jika solusi tersebut memenuhi syarat yang diinginkan, keluar. Jika
tidak, ulangi kembali langkah yang pertama untuk mencari kemungkinan
yang lain.
18. Algoritma Neural-Network Hopfield
Algoritma Neural Network Hopfield pertama kali dikenalkan oleh John
Hopfield dari California Institute of Technology pada tahun 1982. John
Hopfield merancang sebuah jaringan syaraf tiruan yang kemudian dikenal
dengan nama jaringan Hopfield. Dalam jaringan Hopfield semua neuron
berhubungan penuh. Neuron yang satu mengeluarkan output dan
kemudian menjadi input untuk semua neuron yang lain. Proses
penerimaan sinyal antara neuron ini secara feedback tertutup terus
menerus sampai dicapai kondisi stabil (Kristanto
2004).
Dalam model diskritnya, jaringan Hopfield bobot sinaptiknya
menggunakan vektor biner berdimensi n atau {}
Pada formula di atas, notasi X dan Y menunjukkan kota, sedangkan notasi
i dan j menunjukkan posisi kota tersebut pada rute. n adalah jumlah kota
dan
secara acak.
Langkah 2: hitung nilai pbjektif dari semua kromosom melalui stokastik
Langkah 3: komputasikan kecocokan setiap kromosom. Fungsi evaluasi
berdasarkan tingkatan didefinisikan sebagai berikut:
Dimana kromosom-kromosom tersebut diasumsikan telah disusun kembali
dari baik ke buruk menurut nilai objektifnya merupakan sebuah
parameter pada sistem genetik.
Langkah 4: pilih kromosom-kromosom untuk populasi baru.
Langkah 5: perbarui kromosom-kromosom
melalui operasi silang dan operasi mutasi disebutkan sebelumnya.
Langkah 6: ulangi langkah ke-2 hingga ke-5 sesuai dengan jumlah
kebutuhan yang diberikan
Langkah 7: laporkan kromosom terbaik
.
2.2 Hasil Penelitian yang telah dilakukan
Hasil Penelitian yang berkaitan dengan Shortest Path, yang telah
dilakukan sebelumnya adalah sebagai berikut:
1. Judul : Optimalisasi Rute yang Ditempuh Mobil Box
PT.Pos Indonesia (Persero) untuk Wilayah Surabaya Malang
dengan Menggunakan Algoritma-Algoritma pada Shortest Path.
Penulis : Elli Purnamasari (305312479083) dan Tri Hariyati
Nur Indah Sari (405312479996)
Tahun : 2008
Kesimpulan :
Masalah shortest path dapat diaplikasikan dalam berbagai masalah
dalam kehidupan sehari-hari, diantaranya rute pengantaran barang
pos untuk tiap kantor pos daerah bagian Malang oleh sopir mobil
box.
Dalam penggunaan alat bantu terdapat kelebihan dan kelemahan
dari alat bantu tersebut yaitu:
Pada alat bantu Giden dan Grin terdapat kelebihan bisa
mengetahui panjang lintasan yang disertai lintasan atau rute
yang harus ditempuh sehingga ditemukan lintasan
terpendek yang minimal. Namun, pada Giden
kelemahannya yaitu harus menggambar dari graph yang
ingin dicari lintasannya sehingga membutuhkan waktu yang
cukup lama, dan pada Grin harus menggambar dari graph
yang ingin dicari lintasannya kemudian mengisi tabel
keterhubungan antar titik untuk mengetahui jarak antar titik
pada graph yang telah digambar sebelumnya sehingga
membutuhkan waktu yang lebih lama.
Pada alat bantu WinQSB terdapat kelebihan yaitu tidak
perlu menggambar grap, tetapi langsung saja mengisi tabel
keterhubungan antar titik sehingga membutuhkan waktu
yang singkat. Namun kelemahannya, output yang dihasilkan
tidak menunjukkan lintasan atau rute yang harus ditempuh
namun langsung menunjukkan panjang lintasannya saja.
Hal ini mempersulit pengguna untuk memilih jalan mana
yang harus ditempuh meskipun sudah mengetahui jarak
tempuhnya.
2. Judul : Penerapan Lintasan Terpendek (Shortest Path)
untuk Perancangan Model Jaringan
Penulis : Muttaqin Eko Wirawan
Tahun : 2004
Kesimpulan :
Permasalan jaringan jalan raya di sini adalah mencari suatu jalan
terpendek dari dua buah kota. Dengan bantuan matematika jaringan
jalan raya dimodelkan ke dalam bentuk graph. Seperti pada contoh
penerapannya, mencari suatu jarak terpendek pada jaringan jalan
raya kota-kota di Jepang yaitu kota Tokushima ke kota Tottori dan
ditemukan jarak terpendek dari kota Tokushima ke kota Tottori
adalah 212 km dan pada contoh penerapan mencari suatu jalan
terpendek pada jaringan jalan raya kota-kota di jawa timur yaitu
dari kota Malang ke kota Ngawi dan ditemukan jarak terpendeknya
adalah 232 km.
3. Judul : Penentuan Lintasan Terpendek (Shortest Path)
menggunakan Algoritma Warshall
Penulis : Muslimin Firmansyah (301312412304)
Tahun : 2005
Kesimpulan :
Hasil penentuan lintasan terpendek dengan program
warshall sama dengan hasil penentuan lintasan terpendek
dengan program giden yang merupakan aplikasi dari
algoritma djikstra
Algoritma Warshall adalah suatu algoritma yang digunakan
unutk menentukan lintasan terpendek dengan didasarkan
pada proses iterasi yang dilakukan sebanyak jumlah titik,
di mana proses iterasi adalah perubahan nilai bobot dari
setiap busur. Algoritma ini bekerja dalam penentuan
lintasan terpendek hanya pada graph berarah saja.
Pada algoritma Warshall setelah melalui proses iterasi bisa
mengetahui lintasan terpendek dari titik ke semua titik yang
lain.
4. Judul : Penentuan Lintasan Terpendek (Shotest Path)
dengan Algoritma Djikstra, Algoritma Floyd-Warshall dan
Algoritma Bellman-Ford
Penulis : Dwi Erna Novianti
Tahun : 2005
Alat bantu : Menggunakan program GIDEN
Kesimpulan :
Algoritma Djikstra memuat panjang lintasan terpendek dan
lintasan yang dilalui tetapi hanya untuk digraph yang bermuatan
negative. Algoritma Floyd-Warshall memuat jarak terpendek dari
semua pasangan titik tetapi tidak memuat pasangan yang dilalui.
Algoritma Bellman-Ford akan menunjukkan berapa jarak
terpendeknya, juga berlaku untuk digraph yang berbobot negative.
5. Judul : Penyelesaian Masalah Lintasan Terpendek
(Shortest Path) dengan menggunakan Algoritma Johnson
Penulis : Dewi Wahyuningsih
Tahun : 2007
Alat bantu : menggunakan program GIDEN
Kesimpulan :
Kelebihan dari Algoritma Johnson adalah dapat digunakan untuk
digraph yang berbobot negative dan untuk menyelesaikan lintasan
terpendek dari tiap titik ke semua titik lain. Tahap-tahap
pengerjakan Algoritma Johnson melibatkan Algoritma Djikstra.
Dengan menggunakan Algoritma Johnson dan Floyd-Warshall
diperoleh hasil yang sama. Hasil yang sama juga diperoleh dengan
menggunakan program bantu GIDEN. Sehingga Algoritma
Johnson dapat menjadi metode alternative dalam menyelesaikan
masalah lintasan terpendek.
6. Judul : Penerapan Teori Grap Dalam Menetukan Lintasan
Terpendek Dari Pasar Karangploso ke Pasar Gadang dengan
Algoritma Bellman-Ford
Penulis : Didik Nurdiansyah (302312417234)
Tahun : 2006
Kesimpulan :
Dengan menggunakan Algoritma Bellman-Ford kita mendapatkan
lintasan terpendek dari Pasar Karangploso ke Pasar Gadang yaitu
Pasar Karangploso-Pasar Dinoyo-Pasar Sukun-Pasar Gadang
dengan panjang lintasan 18km. Dan hasil yang sama diperoleh dari
alat bantu yang digunakan yaitu program Grin dan Giden.
Kelebihan dari algoritma Bellman-Ford ini adalah dapat digunakan
untuk menghitung grap berbobot negatif. Namun karena masalah
yang diambil dalam makalah ini mengenai jarak maka grap yang
digunakan adalah grap yang berbobot positif.
7. Judul : Optimalisasi Lintasan Terpendek Jalur Pariwisata di
Kabupaten Malang
Penulis : Arrohmawati (304312473201) dkk.
Tahun : 2006
Kesimpulan :
Permasalahan penentuan lintasan terpendek dalam makalah ini
adalah mencari jarak terpendek dari Hotel Kusuma ke beberapa
tempat objek wisata. Pada penentuan lintasan terpendek Hotel
Kusuma ke beberapa tempat objek wisata dengan menggunakan
algoritma djikstra diperoleh jarak terpendeknya sebagai berikut:
o Dari Hotel Kusuma ke Tirta Nirwana 5 km, dengan lintasan
Hotel Kusuma-Pemandian Tirta Nirwana.
o Dari Hotel Kusuma ke Jatim Park adalah 2 km, dengan
lintasan Hotel Kusuma Jatim Park.
o Dari Hotel Kusuma ke Kebun Teh Lawang adalah 32 km,
dengan lintasan Hotel Kusuma JatimPark Kebun Teh
Lawang.
o Dari Hotel Kusuma ke Taman Rekreasi Sengkaling adalah 10
km, dengan lintasan Hotel Kusuma - Taman Rekreasi
Sengkaling.
o Dari Hotel Kusuma ke Candi Badut adalah 16 km, dengan
lintasan Hotel Kusuma Candi Badut.
o Dari Hotel Kusuma ke Pemandian Wendit adalah 25 km,
dengan lintasan Hotel Kusuma Jatim Park - Pemandian
Wendit.
o Dari Hotel Kusuma ke Wisata Pantai Bale Kambang adala 73
km, dengan lintasan Hotel Kusuma Taman Rekreasi
Sengkaling Wisata Pantai Bale Kambang.
Pada hasil akhirnya dapat diketahui jarak terpendek antar tempat
objek wisata dengan menggunakan software Giden didapat hasil
akhir lintasan terpendek yang sama dengan penggunaan
Algoritma Djikstra secara manual.
2.3 DAFTAR PUSTAKA
Aldous, Joan M. and Wilson, Robin J,(2004), GRAPH AND
APLICATIONS An Introductory Approach, Springer, Great
Britain.
Michael, J. D., Rosen, K.H. 1991. Application of Discrete Mathematics.
New York: McGraw Hill Inc.
https://diazscript.wordpress.com/tag/seperti-biasa-contoh-source-
algoritma-floyd-warshall-dalam-bentuk-php-dapat-di-minta-
dengan-kirim-email-ke-vendiaz_cossinyahoo-com/
http://www.google.co.id/url?sa=t&rct=j&q=algoritma%20djikstra&sourc
e=web&cd=3&ved=0CDUQFjAC&url=http%3A%2F%2Frep
ository.usu.ac.id%2Fbitstream%2F123456789%2F14038%2F1
%2F09E00633.pdf&ei=EFYvT6zAOMfnrAeyu5DsDA&usg=
AFQjCNEuzlBjmfDoCPJModd2GOX0M21bzw&cad=rja
BAB III
METODOLOGI
3.1 Data yang diperlukan
Dalam survey yang kami lakukan , kami membutuhkan beberapa data ,
dimana data tersebut dapat direpresentasikan sebagai bagian atau unsur-
unsur pada graph, yakni data yang diambil adalah sebagai berikut:
1. Nama persimpangan jalan, dan beberapa lokasi yang sering
dikunjungi
2. Jarak antara setiap persimpangan dan/atau jarak antara setiap
lokasi
3. Jalur yang dapat dilalui antar setiap persimpangan dan/atau setiap
lokasi
Data tersebut dimisalkan:
1. nama persimpangan dan lokasi sebagai titik (V)
2. jarak sebagai bobot(w)
3. jalur sebagai sisi(E).
Algoritma yang akan dipakai adalah algoritma djikstra, perkalian
matriks, greedy, Exhautis Search dan Floyd warshall dengan
menggunakan alat bantu Giden, Grin dan WinQsb. Kelima algoritma
tersebut merupakan algoritma yang mudah dipahami dalam kehidupan
bermasyarakat.
Misalkan kita mempunyai graf seperti di bawah ini :
1.2 Analisa data dengan algoritma
Contoh Persoalan: Suatu agen koran CENTER akan mendistribusikan
koran pada 11 toko langganan yaitu:
Toko Makmur : Jl Soekarno Hatta no. 2
Toko Abadi : Jl Moch. Yamin no. 3
Toko Indah : Jl Mawar no. 23
Toko Amin : Jl Indramayu no. 21
Toko Sederhana : Jl Melati no. 1
Toko Sejati : Jl Bogor no. 20
Toko Citra : Jl Toyib no. 18
Toko Sinar : Jl Sumbersari no. 466
Toko Wijaya : Jl Pahlawan no. 19
Toko Kembar : Jl Terusan Ambarawa no. 40
Toko Amanda : Jl Semarang no. 55
Agen koran CENTER akan mendistribusikan korannya dari Toko
Makmur sampai ke Toko Amanda. Agen koran ini ingin mencari jalur
terpendek dari toko Makmur ke toko Citra dengan melewati toko-toko
yang lain.
Penyelesaian :
Dimisalkan
A= Toko Makmur
B=Toko Abadi
C= Toko Indah
D= Toko Amin
E= Toko Sederhana
F=Toko Sejati
G= Toko Citra
H= Toko Sinar
I= Toko Wijaya
J= Toko Kembar
K= Toko Amanda
Jalur toko-toko tersebut seperti dalam gambar berikut
Karena akan mencari lintasan tependek dari titik A ke titik G maka kita
akan menggunakan Algoritma-algoritma:
1. Algoritma floyd warshall
Diambil contoh subgraph dari graph tersebut,
Didapatkan penyelesaian sebagai berikut:
w*=w
4 12
5
3
4
4 7
7
W
ij
dengan harga , berarti tidak ada lintasan dari v
i
ke v
j
,
langsung ataupun tidak. Cari lintasan terpendek dari titik v
i
ke v
j
(i, j=
1, 2, 3, 4, 5, 6) graph berarah berlabel di atas.
- Iterasi untuk k=1
Untuk setiap sel matrik w dicek apakah w[i, j]> w[i,1]+w[1,j]. Jika ya,
maka w [i, j] dganti w[i,1]+w[1,j].
Sehingga menjadi
i,j w[i,j] w[i,1]+w[1,j] Keterangan
I J
1 1 Tetap
1 2 4 Tetap
1 3 Tetap
1 4 Tetap
1 5 Tetap
1 6 12 Tetap
2 1 Tetap
2 2 Tetap
2 3 5 Tetap
2 4 Tetap
2 5 Tetap
2 6 Tetap
3 1 Tetap
3 2 Tetap
3 3 Tetap
3 4 3 Tetap
3 5 Tetap
3 6 Tetap
4 1 Tetap
4 2 Tetap
4 3 Tetap
4 4 Tetap
4 5 4 Tetap
4 6 Tetap
5 1 Tetap
5 2 Tetap
5 3 Tetap
5 4 4 Tetap
5 5 Tetap
5 6 7 Tetap
6 1 Tetap
6 2 Tetap
6 3 Tetap
6 4 Tetap
6 5 7 Tetap
6 6 Tetap
Diperoleh matriks
W1 =
- Iterasi untuk k=2
Untuk setiap sel matrik w dicek apakah w[i, j]> w[i,2]+w[2,j]. Jika ya,
maka w [i, j] dganti w[i,2]+w[2,j].
Sehingga menjadi
i,j w[i,j] w[i,2]+w[2,j] Keterangan
I J
1 1 4+ Tetap
1 2 4 Tetap
1 3 Tetap
1 4 Tetap
1 5 Tetap
1 6 12 Tetap
2 1 Tetap
2 2 Tetap
2 3 5 Tetap
2 4 Tetap
2 5 Tetap
2 6 Tetap
3 1 Tetap
3 2 Tetap
3 3 Tetap
4 12
5
3
4
4 7
7
3 4 3 Tetap
3 5 Tetap
3 6 Tetap
4 1 Tetap
4 2 Tetap
4 3 Tetap
4 4 Tetap
4 5 4 Tetap
4 6 Tetap
5 1 Tetap
5 2 Tetap
5 3 Tetap
5 4 4 Tetap
5 5 Tetap
5 6 7 Tetap
6 1 Tetap
6 2 Tetap
6 3 Tetap
6 4 Tetap
6 5 7 Tetap
6 6 Tetap
Diperoleh matriks
Wi =
4 12
5
3
4
4 7
7
2. Algoritma Djikstra
Tentukan titik awal dan beri label temporer 0. Lalu tentukan bobot titik
lain yang paling pendek dari jalur yang lain. Sampai pada titik tujuan.
Sehingga diperoleh graf berikut:
Jadi lintasan terpendek dari titik A ke titik G adalah 16. Dengan jalur
A B E F G.
3. Algoritma Greedy
Dari titik awal pilih bobot yang paling minimum, lalu pada titik
selanjutnya juga pilih bobot yang paling minimum, lakukan sampai titik
tujuan.
Pilih titik A sebagai titik awal, lalu pilih titik B karena bobotnya lebih
sedikit dari pada titik H yaitu 4 < 11. Lalu dari titik B pilihlah titik C
karena bobotnya lebih sedikit daripada titik E yaitu 3 < 5. Dari titik C
lanjutkan dengan memilih titik E karena bobotnya lebih sedikit daripada
titik D yaitu 8 < 9. Lalu dari titik E pilih titik F dengan bobot 3 karena
bobot lebih sedikit daripada titik I yang berbobot 12. Setelah itu pilih titik
G karena bobotnya lebih sedikit daripaa titik H yaitu 4 < 6. Karena telah
sampai pada titik tujuan, maka pemilihan titik selanjutnya berhenti.
Sehingga diperoleh jalur dari A ke G melewati A B C E F G
dengan panjang jalan 4 + 3 + 8 + 3 + 4 =22
Alat bantu Program :
a. Grin
1. Membuka program Grin40, Ketik File New
2. Ketik File New
3. Untuk membuat titik klik Edit Add Add Point. Untuk
memberikan sisi klik Edit Add Add Edge
4. Untuk merubah nama titik klik Table Name Name. Untuk
memberikan sisi klik Table Name Weight
5. Untuk menyelesaikan Klik Property Shortest Path
6. Langkah selanjutnya adalah klik titik yang dijadikan titik awal,
kemudian klik titik yang dijadikan titik akhir. Didapatkan hasil sebagai
berikut :
Dengan alat bantu Grin didapatkan lintasan terpendek dari 1 2 3 9
14 dengan panjang lintasan 8.4
b. Giden
- Input data untuk sisi dan titik sesuai petunjuk Giden yang telah
dibahas di halaman sebelumnya
- Kemudian tambahkan sisi dan atur agar mudah dipahami
- Kemudian beri bobot pada setiap sisi pada graph tersebut
- pada kolom pilihan length pilih jarak kemudian klik accept
- Klik Trace kemudian tentukan titik awal
- klik trace berulang kali sampak mendapatkan shortest path
sehingga diperoleh shorthest pathnya adalah 1-3-5-9-11
c. WinQSB
1. Membuka Program WINQSB klik Network Modelling
2. Pilih shortest path problem
3. Isilah form berikut:
4. Kilik File New Problem, pada Problem Type isi Shortest Path
Problem lalu tulis judul permasalahan sesuai keinginan pada Problem
Title kemudian isi Number Of Nodes dengan jumlah titik pada
permasalahan anda kemudian klik OK
5. Setelah klik OK maka akan muncul table sebanyak n baris dan n kolom
kemudian isi table tersebut sesuai dengan matriks keterhubungan
langsung hingga titik yang ke n dengan n adalah banyak titik.
6. Setelah semua terisi maka langkah selanjutnya adalah mencari lintasan
terpendeknya yaitu dengan memilih Solve and Analyze pilih Solve the
Problem.
Dengan alat bantu WinQSB didapatkan lintasan terpendek dari titik
1(A)-2(B)-5(E)-9(I)-14(N) dengan panjang lintasan 8.44
Contoh kasus penggunaan alat bantu Giden, Grin dan WinQsb untuk
Optimalisasi Pendistribusian Roti Sari Roti di CV. Duta Mulya dengan
Menggunakan Algoritma-Algoritma Pada Lintasan Terpendek oleh Annisa
Masruroh, Nindy Sagita, Rachmadania Akbarita, Elvira Firdausi pada tahun
2011. Dari hasil survey yang dilakukan, diperoleh lintasan terpendek dari
CV Duta Mulya ke Toko Sardo yang diselesaikan dengan menggunakan
algoritma Greedy, Djikstra, Semut, A*, Floyd Warshall dan Bellman Ford
diperoleh hasil bahwa semua algortima dan alat bantu program yang
digunakan kecuali algoritma Greedy mendapatkan hasil lintasan terpendek
yang sama yakni 8,22 km.
1. Giden
Dengan menggunakan alat bantu giden-dijkstra, maka diperoleh hasil seperti
dibawah ini:
Penjelasan: Dari titik awal yaitu CV Duta Mulya (Sari Roti) dengan nomor
titik 28 yang diberi label 0 akan menuju Sardo. Sehingga diperoleh 28-29-
30-11-12-9-5-4-16 dengan jumlah bobot 8220.
Kelebihan : mengetahui panjang lintasan yang disertai lintasan yang dilalui,
mengetahui lintasan ke titik-titik yang lain.
Kekurangan: harus menggambar terlebih dahulu sehingga membutuhkan
waktu yang lebih lama.
2. Grin
- Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,
maka akan didapat graph seperti dibawah ini:
- Sehingga diperoleh penyelesaian sebagai berikut:
Dengan gambar lintasan yang dilewati sebagai berikut:
Dari hasil alat bantu Grin, diperoleh lintasan dari CV.Duta Mulia ke Sardo
dengan panjang lintasan 8220 m dan melewati CV. Duta Mulia(Sari Roti)
jl Aluminium jl Sunandar Priyo Sudarmo jl Ciliwung jl Letjend.
Sutoyo jl Kedawung jl Kalpataru jl Soekarno Hatta Sardo.
Kelebihan : mengetahui panjang lintasan terpendek dan lintasan yang
dilalui secara langsung.
Kekurangan : harus menggambar terlebih dahulu, serta mengisi tabel
keterhubungan untuk mengisikan bobotnya.
3. WIN_QSB
Dengan mengisi bobot graph pada tabel yang telah disediakan
Sehingga muncul kotak dialog sebagai berikut, dan memilih titik
ke 28 sebagai titik awal dan 16 sebagai titik akhir
Maka hasilnya berupa grafik sebagai berikut :
BAB IV
PEMBAHASAN
4.1 Narasi Permasalahan
PT.Citra Perdana Kendedes merupakan salah satu perusahaan yang
bergerak di bidang jasa dalam mengantarkan para konsumennya dari suatu
lokasi ke lokasi yang lain. Biasanya dalam mengantarkan para konsumennya
para sopir taksi mempunyai banyak pilihan jalur yang dapat dilalui sehingga
diperlukan pemilihan jalur yang optimal agar waktu tempuh minimum serta
bahan bakar yang digunakan juga minimum.
Pada laporan ini kami membahas tentang jalur terpendek yang dapat
ditempuh oleh taksi Citra dalam mengantarkan para konsumennya di daerah
Kota Malang. Dengan menggunakan algoritma-algoritma pada shortest path
dapat ditentukan jalur terpendek dari suatu lokasi ke lokasi yang lain. Pada
shortest path ada 2 jenis permasalahan yaitu masalah single path dan masalah
all path. Dalam masalah single path kami menentukan lintasan terpendek
yang dapat di tempuh dari Terminal Arjosari ke Museum Brawijaya Malang.
Untuk menuju lokasi tersebut banyak pilihan jalur yang dapat ditempuh,
sehingga para sopir taksi harus menentukan lintasan terpendek mana yang
dapat ditempuh. Hal ini karena sebagian besar para konsumen menginginkan
waktu tempuh yang minimum sehingga pemilihan lintasan yang terpendek
sangat diperlukan.
Data yang diperoleh saat melakukan survey yakni dengan melakukan
wawancara dengan beberapa sopir taksi, dari hasil wawancara tersebut
diketahui bahwa lokasi-lokasi yang sering dikunjungi oleh para pengguna
taksi beserta jalur-jalur yang dapat dilaluinya. Adapun lokasi-lokasi tersebut
yaitu :
1. Terminal Arjosari
2. Persimpangan Taspen
3. Persimpangan A.Yani dan R.Intan
4. Persimpangan Laksda Adi Sucipto dan Panji Suroso
5. Persimpangan Ledjen Suparman dan Laksda Adi Sucipto
6. Pesimpangan Masjid Sabillillah
7. Persimpangan Pesawat
8. Persimpangan Kedawung dan Ledjend Sutoyo
9. Perempatan Kalpataru
10. Persimpangan Jl.Coklat dan Sukarno Hatta
11. Persimpangan Jempatan Sukarno hatta dan UB
12. Persimpangan jalan Mawar
13. Simpang Sarangan dan Ledjend Sutoyo
14. SMP 5
15. Persimpangan Gajayana dan Maijen Haryono
16. Bank Universal (BHS)
17. Persimpangan Dr.Cipto dan Pangsud
18. SMP 3
19. Bumi Putera
20. Bundaran Bandung (UNMER)
21. Perempatan ITN
22. Pesimpangan jalan Surabaya dan bendungan Sutami
23. Simpang jalan Surabaya dan Gede
24. Persimpangan jalan Pahlawan dan Ijen
25. Persimpangan jalan Pattimura dan Jaksa Agung Supriyadi
26. Simpang 4 pasar Klojen
27. Rampal
28. Simpang gajah Mada dan Pangsud
29. Stasiun Kota Malang
30. Tugu
31. Persimpangan Sarinah
32. Persimpangan Mojopahit dan Sugito
33. Bundaran Terusan Ijen
34. Pertigaan Dieng, Wilis dan Kawi
35. Perempatan Tidar
36. Persimpangan simpang wilis dan wilis
37. Persimpangan Simpang Wilis dan Betawu
38. Persimpangan BCA
39. Persimpangan Mc.Donald
40. Museum Brawijaya
Dalam masalah all pairs kami mengambil 12 persimpangan yang akan
digunakan sebagai titik, yaitu:
1. Terminal arjosari
2. Persimpangan taspen
3. Persimpangan A.Yani dan Raden Intan
4. Majid Sabilillah
5. Patung Pesawat
6. Jembatan sukarno Hatta
7. Perempatan ITN
8. Budaran Bandung dan UNMER
9. Lapangan Rampal
10. Stasiun Kota Malang
11. Persimpangan BCA
12. Museum Brawijaya
Dan model graph yang terbentuk adalah sebagai berikut:
Untuk Single Path:
Untuk All pairs:
Dalam hal ini akan ditentukan jarak terpendek dari masing-masing
persimpangan / lokasi.
4.2 Penyelesaian Masalah Dengan Algoritma
o Single Path
1) Algoritma Greedy
Berikut ini adalah langkah-langkah untuk menentukan lintasan
terpendek dari Terminal Arjosari ke Museum Brawijaya dengan
menggunakan algoritma greedy. Dengan merepresentasikan titik 1
sebagai terminal arjosari dan titik 40 sebagai museum brawijaya,
maka didapat hasil sebagai berikut:
1. (1,2) = 5,7 [pilih (1,2)]
2. (2,3) = 1,4 [pilih (2,3)]
(2,4) = 8,3
3. (3,5) = 8,1 [pilih (3,5)]
4. (5,6) = 0,8
(5,4) = 3,8 [pilih (5,6)]
5. (6,7) = 10,1
(6,8) = 7,1 [pilih (6,8)]
6. (8,13) = 5
(8,9) = 4,7 [pilih (8,9)]
7. (9,10) = 8,3
(9,12) = 5 [pilih (9,12)]
8. (12,13) = 2,8 [pilih (12,13)]
(12,16) = 5,1
9. (13,16) = 2,7 [pilih (13,16)]
10. (16,14) = 2,9
(16,19) = 1,7 [pilih (16,19)]
11. (19,18) = 2,2 [pilih (19,18)]
(19,25) = 2,4
12. (18,17) = 1,3 [pilih (18,17)]
(18,26) = 2,5
13. (17,27) = 3,8 [pilih (17,27)]
14. (27,26) = 1,2 [pilih (27,26)]
(27,28) = 4,6
15. (26,25) = 4
(26,29) = 2,4 [pilih (26,29)]
16. (29,28) =1,2 [pilih (29,28)]
17. (28,30) = 3,2 [pilih (28,30)]
18. (30,38) = 2,5
(30,32) = 2,3 [pilih (30,32)]
19. (32,38) = 2,7
(32,31) = 0,8 [pilih (32,31)]
20. (31,33) = 6,5 [pilih (31,33)]
21. (33,40) = 2 [pilih (33,40)]
(33,34) = 3,4
Dari hasil di atas didapatkan lintasan terpendeknya yaitu:1-2-3-5-6-8-9-12-
13-16-19-18-17-27- 26-29-28-30-32-31-33-40 dengan bobot total sebesar 13,38
km.
2) Algoritma Dijkstra
Dengan menggunakan algoritma dijkstra di peroleh hasil
sebagai berikut :
Dari perhitungan secara manual dengan menggunakan algoritma dijkstra di
peroleh lintasan terpendek yakni 1-2-4-14-17-18-26-29-30-38-40 dengan bobot
total 466 atau 9,32 km.
3) Exhautis Search
Dengan menggunakan algoritma exhautis search akan
ditentukan semua kemungkinan lintasan yang dapat
dilalui, dalam pembahasan ini, kami hanya melaporkan
10 kemungkinan lintasan yang mungkin dapat dilalui oleh
taksi. Berikut ini adalah 10 kemungkinan lintasan yang
dimaksud :
No Lintasan yang Mungkin Bobot
1 1-2-4-14-17-27-26-29-30-38-40
478
2 1-2-4-14-16-19-18-26-29-30-38-40
508
3 1-2-4-14-17-18-26-29-30-38-40
466
4 1-2-4-14-17-27-28-29-30-38-40
500
5 1-2-4-14-17-27-28-30-38-40
507
6 1-2-3-5-6-8-13-16-19-18-26-29-30-38-40
486
7 1-2-3-5-6-8-13-16-19-25-26-29-30-38-40
503
8 1-2-3-5-6-7-10-11-20-24-40
520
9 1-2-3-5-6-7-10-11-15-21-20-24-40
676
10 1-2-3-5-6-7-10-11-15-21-22-35-37-40
632
Dll
Dari table di atas dapat dilihat bahwa lintasan terpendek yang total
bobotnya paling minimum adalah 1-2-4-14-17-18-26-29-30-38-40 dengan total
bobot adalah 466 atau pada jarak sebenarnya 9,32 km.
o All Pairs
4) Algoritma Perkalian Matriks
Langkah-langkah:
Mencari
Untuk semua titik i dan j:
1.
2.
}
3. Jika tidak terdapat sikel negatif, maka
Di mana
Untuk semua i dan :
1.
2.
min{
}
3. jika tidak terdapat sikel negatif, maka
dimana
baris ke kolom ke
MATRIKSNYA
4.3 Penyelesaian Masalah Dengan Alat Bantu
1) Giden
Masalah Single Pairs
Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,
maka berdasarkan permasalahan akan didapat graph seperti dibawah ini:
- Dengan menggunakan alat bantu giden-dijkstra, maka diperoleh :
- Dengan menggunakan alat bantu giden-FIFO Label Correcting, maka
diperoleh :
Penjelasan: Dengan menggunakan program Giden baik dengan algoritma dijkstra
maupun FIFO Label Correcting diperoleh hasil lintasan terpendek dari Terminal
Arjosari ke Museum Brawijaya 1-2-4-14-17-18-26-29-30-38-40 dengan bobot
total 466 atau 9,32 km.
Masalah All Pairs
Gambar all pairs.
- Dengan menggunakan algoritma dijkstra , diperoleh :
- Dengan menggunakan algoritma FIFO Label Correcting, diperoleh :
2) Grin
Dengan alat bantu Grin 40, diperoleh penyelesaian untuk masalah all pairs
sebagai berikut:
- Masalah Single Path
Dan diperoleh hasil sebagai berikut :
- Masalah All Pairs
Dan diperoleh hasil sebagai berikut :
3) WinQsb
- Masalah Single Pairs
Dengan langkah-langkah pengerjaan yang telah dijelaskan sebelumnya,
- Buka aplikasi WIN_QSB
- Klik file, lalu pilih new problem
- Pilih shortest path problem
- Isilah form berikut:
- Kemudian mengisi bobot graph pada tabel yang telah
disediakan
- Setelah selesai mengisi tabel, maka pilih Solve and Analyze
Solve the Problem
- Sehingga muncul kotak dialog sebagai berikut, dan memilih
titik ke 1 sebagai titik awal dan 40 sebagai titik akhir
Maka diperoleh hasil berikut :
Dan grafiknya sebagai berikut:
Penjelasan : Dengan menggunakan program WinQsb, diperoleh hasil lintasan
terpendek dari Terminal Arjosari ke Museum Brawijaya adalah 1-2-4-14-17-18-
26-29-30-38-40 dengan bobot total 466 atau 9,32 km.
- Masalah All Pairs
Dengan mengisikan bobot masing-masing sisi pada Tabel, diperoleh:
Dan hasilnya sebagai berikut :
4.4 Analisa Hasil
Dari hasil survey yang kami lakukan, diperoleh lintasan terpendek dari Terminal
Arjosari ke Museum Brawijaya adalah
Dengan Algoritma
1. Algoritma Greedy
Total bobot sebesar 13,38 km
Kekurangan : Tetapi hasil ini tidak optimal karena lintasan yang diperoleh
bukan merupakan lintasan terpendek dan ada kemungkinan gagal dalam
pencarian.
Kelebihan : Prosesnya cepat, mudah dibandingkan dengan algoritma yang
lainnya.
2. Algoritma Dijkstra
Total Bobot 9,32 km
Kekurangan : Prosesnya agak lama
Kelebihan : Hasil yang diperoleh optimum
3. Algoritma Floyd-Warshall
Total Bobot sebesar 9,32 km.
Kekurangan : Harus membuat matrik sebanyak titik pada graph
Kelebihan : Hasilnya Optimum, dan perhitungannya lebih mudah dari
pada perkalian matriks.
4. Algoritma Exhautis Search
Total Bobot sebesar 9,32 km.
Kekurangan : Prosesnya terlalu lama karena harus menentukan lintasan
terpendek yang mungkin.
Kelebihan : Hasil yang diperoleh optimum
5. Algoritma Perkalian Matriks
Total Bobot 9,32 km.
Kekurangan : Perhitungannya sulit , dan dibutuhkan ketelitian yang tinggi.
Kelebihan : Hasilnya optimum, tidak harus membuat matriks sebanyak
titik yang ada pada graph.
Dengan Alat bantu Program
1. Giden
Kelebihan : Grap yang dibuat dapat di gunakan untuk graph berarah.
Kekurangan : Masih harus menggambar graphnya terlebih dahulu, serta
dalam pengisian bobotnya masih harus diisi secara satu per satu, sehingga
membutuhkan waktu yang agak lama.
2. Grin
Kelebihan : Pada saat mengisi tabel, jika memasukkan bobot dari titik i ke
titik j secara otomatis dari titik j ke titik i bobotnya juga berubah.
Di hasil akhir langsung dapat di lihat bobot total, sehingga bisa
mempermudah.
Kekurangan : Graph yang di hasilkan di anggap 2 arah, sehingga jika ada
jalan yang searah akan sulit jika menggunakan alat bantu ini.
3. WinQsb
Kelebihan : Di hasil akhir langsung keluar graphnya beserta tabel yang
berisi total bobot lintasan terpendek yang diperoleh.
Kekurangan : Dalam menginputkan bobot pada tabel, tidak dapat secara
otomatis terisi bolak balik, sehingga membutuhkan waktu yang agak
lama.
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Dari hasil survey yang kami lakukan, diperoleh lintasan terpendek dari Terminal
Arjosari ke Museum Brawijaya adalah
Dengan Algoritma
1. Algoritma Greedy
Dengan menggunakan algoritma greedy didapatkan bobot total sebesar
13,38 km, tetapi hasil ini tidak optimal karena dengan menggunakan
algoritma yang lain didapatkan hasil dengan jarak yang lebih pendek.
Algoritma ini memiliki kelebihan yaitu cepat dalam proses pencarian
lintasan terpendeknya. Sedangkan kekurangannya yaitu tidak optimal dan
ada kemungkinan gagal dalam pencarian dan mungkin lintasan yang
diperoleh bukanlah yang terpendek.
2. Algoritma Floyd-Warshall
Dengan menggunakan algoritma ini didapatkan bobot antar titik dan
lintasan terpendek dari Terminal Arjosari ke museum brawijaya bobotnya
adalah 466 atau pada jarak sebenarnya 9,32 km. Perhitungan pada
algoritma ini harus membuat matrik sebanyak titik pada graph. Namun,
hasilnya optimum, dan perhitungannya lebih mudah dari pada perkalian
matriks.
3. Algoritma Perkalian Matriks
Dengan menggunakan algoritma ini didapatkan bobot antar titik dan
lintasan terpendek dari Terminal Arjosari ke museum brawijaya bobotnya
adalah 466 atau pada jarak sebenarnya 9,32 km. Pada algoritma ini,
kekurangannya adalah perhitungannya sulit , dan dibutuhkan ketelitian
yang tinggi. Namun hasil yang diperoleh optimum, tidak harus membuat
matriks sebanyak titik yang ada pada graph.
Dengan Alat bantu Program
1. Giden
Dengan menggunakan alat bantu giden, baik dengan menggunakan
algoritma Djikstra maupun FIFO Label Correcting diperoleh lintasan
terpendek dengan total bobot 466 atau 9,32 km
2. Grin
Dengan menggunakan alat bantu grin, diperoleh lintasan terpendek dengan
jumlah bobot 447 atau pada jarak sebenarnya adalah 8,94 km.
3. WinQsb
Dengan menggunakan alat bantu WinQsb,diperoleh lintasan terpendek
dengan jumlah bobot 466 atau pada jarak sebenarnya adalah 9,32 km.
Jadi dapat disimpulkan bahwa lintasan terpendek dari Terminal Arjosari
menuju Museum brawijaya yaitu dengan bobot 466 atau pada jarak
sebenarnya adalah 9,32 km.
5.2 SARAN
Dari data hasil survai yang diperoleh, jalur atau rute yang digunakan oleh
PT Citra Perdana Kendedes untuk mengantarkan penumpang dari terminal
Arjosari menuju ke Museum brawijaya dengan panjang lintasan dengan jumlah
bobot 466 atau pada jarak sebenarnya adalah 9,32 km. Sedangkan berdasarkan
hasil perhitungan dengan menggunakan algoritma-algoritma Shortest path dan alat
bantu program yaitu Giden, Grin40, dan WinQsb diperoleh jalur atau rute yang
sama yaitu dengan bobot 466 atau pada jarak sebenarnya 9,32 km. Oleh karena
terdapat lintasan yang lebih pendek dari jalur yang biasanya ditempuh oleh supir
taksi, mungkin jalur yang telah kami berikan dapat dijadikan sebagai jalur
alternatif.
PENGALAMAN SURVEY
Pada tanggal 13 Februari 2012 sekitar pukul 9.30 WIB kami melakukan
survey yang pertama di PT.Citra Perdana Kendedes yang berlokasi di Jl.
Bunga Merak No.2 Malang. Sesampainya di kantor kami menemui Bapak
Cholil selaku Asisiten Manager di PT.Citra Perdana Kendedes. Disana kami
diberikan beberapa gambaran tentang bagaimana permasalahan yang terjadi
di lapangan serta lokasi-lokasi pangkalan yang terdapat didaerah Kota
Malang. Setelah kurang lebih 45 menit kami memutuskan untuk ke kampus
tercinta untuk mengikuti kuliah selanjutnya.
Pada tanggal 15 Februari 2012 kami melakukan survey kembali ke salah satu
pangkalan didaerah Soekarno-Hatta. Disana kami bertemu dengan para sopir
taksi, kami melakukan wawancara dengan para sopir taksi yang sedang
menunggu penumpang di pangkalan tersebut. Dari hasil wawancara yang
kami lakukan kami memperoleh informasi tentang lokasi-lokasi yang sering
dikunjungi oleh para konsumen taksi di daerah Malang Kota serta jalur mana
saja yang dapat dilalui untuk menempuh lokasi tersebut.
Setelah mendapat informasi, kami mampir sejenak di warung gorengan yang
lokasinya berada di pangkalan tersebut. Selanjutnya kami memutuskan untuk
kembali ke kampus.
Dari dua kali survey kami mulai untuk mengolah data yang kami peroleh,
namun ditengah-tengah kami menyusun laporan, ternyata ada satu hal
penting yang kami lupakan yaitu dokumentasi. Akhirnya kami memutuskan
untuk kembali ke kantor taksi Citra untuk menemui Bapak Cholil. Setibanya
di lokasi ternyata beliau tidak berada di tempat akhirnya kami memutuskan
untuk ke pangkalan taksi yang berada didaerah Soekarno-Hatta. Disana
hanya ada satu taksi yang sedang menunggu penumpang. Akhirnya kami
mewawancarai sopir taksi itu, namun kami lupa untuk menanyakan identitas
beliau, setelah wawancara kami mengajak beliau untuk foto bersama kami
sebagai dokumentasi, ternyata beliau tidak keberatan untuk di ajak foto
bersama.
Setelah berfoto-foto kami mohon pamit kepada beliau dan tidak lupa
mengucapkan terima kasih.
DOKUMENTASI