Anda di halaman 1dari 5

Penerapan Algoritma Dikjstra pada Penentuan Rute Perjalanan

Terpendek dari Takengon Menuju Medan


Syahrul Ramadhan/24010316120040
Program Studi Ilmu Komputer/ Informatika
Universitas Diponegoro
Semarang, Indonesia
Masradeen007@gmail.com

Abstract-Pemilihan rute perjalanan tentu sarana transportasi yang dapat menghubungkan dari
sangat penting bagi keluarga jika ingin berpergian dari satu tempat ke tempat lain. Dengan adanya jalan,
suatu tempat ke tempat lainnya demi kenyamanan saat manusia dapat berpindah dari satu tempat ke tempat
diperjalanan dan menghemat waktu, kali ini penulis lain dengan waktu yang lebih efisien. Saat ini, jalan
mencoba untuk membuat suatu program pada rute
terbagi-bagi menjadi beberapa ruas meskipun menuju
perjalanan agar para pengendaran dapat menemukan
rute tercepat untuk sampai dari titik awal ke titik tujuan
ke satu titik yang mungkin saja menjadi tujuan dan
melalui jalur yang mana dari sekian banyak jalur yang sering kali terjadi kemacetan dibeberapa ruas jalan
dapat dilewati. Sehingga, perjalanan lebih efisien Untuk tiba disatu destinasi atau di satu tujuan
termasuk menghemat waktu perjalanan lebih baik jika ering kali memiliki banyak jalur yang dapat dilalui.
dibandingkan melalui jalur yang lainnya Oleh karena Sehingga terkadang pengendara bingung memutuskan
itu, dibutuhkan suatu perhitungan untuk dapat memilih jalur yang mana pada perjalanannya apalagi
memaksimalkan rute perjalanan sehingga menghasilkan jika tujuannya adalah tempat yang pertama kali dia
rute terpendek yang dilalui dari titik awal ke titik tujuan
tuju dan belum pernah kesana sama sekali. Para
dengan menggunakan algoritma dikjstra yang
pengendara cenderung mengikuti petunjuk yang ada di
implementasinya mirip pada rute yang diberikan oleh
google maps. Google Maps adalah salah satu contoh
pinggir jalan untuk memastikan arahnya sudah benar
aplikasi yang dimana menerapkan algoritma dijkstra atau kemana tujuan mereka. Padahal dibeberapa
pada penggunaannya, tidak hanya menunjukkan simpang yang tidak memberikan arahan petunjuk,
lintasan atau jalur, google maps juga menunjukkan ternyata memiliki jalur yang lebih cepat untuk sampai
status lalu lintas selama perjalanan dari titk ke tujuan. Banyaknya pilihan lintasan mendefinisikan
keberangkatan sampai titik tujuan dan selalu update waktu, jarak, dan biaya yang dibutuhkan agar sampai
dengan koneksi jaringan internet. Google maps dapat ke tujuan. Shortest path adalah masalah yang paling
memberikan petunjuk arah pada pengguna selama umum dalam kehidupan sehari-hari seperti sector
berkendara dan menampilkan jalur alternative jika
transportasi, komunikasi dan lainnya. Hal ini yang
terjadi kemacetan pada rute yang dilalui juga dapat
mengatur pengguna untuk menggunakan jalan tol guna
dapat menjadi pertimbangan dalam penggunaan
mempersingkat waktu perjalanan. Mencari shortest path google maps.
antara vertek pada suatu graf merupakan sesuatu yang Perjalanan dari Takengon menuju Medan dapat
dapat diselesaikan dengan menggunakan algoritma ditempuh melalui beberapa jalur yang pada setiap jalur
dikjstra seperti pencarian rute terpendek dari Takengon berkesinambungan sehingga dapat melewati semua
menuju ke Medan sehingga dapat menampilkan rute jalur bahkan berputar untuk dilalui.
mana yang dapat dipilih agar perjalanan lebih cepat dari Algoritma adalah salah satu ilmu sains tentang
beberapa jalur yang dapat dilewati seperti . kecerdasan. Merupakan manifestasi alamiah dari
penalaran logis ataupun induksi matematika. Banyak
Keywords: Algoritma Dikjstra; Rute Terpendek;
graf
langkah dalam pengerjaan suatu algoritma yang
memiliki hubungan sehingga menjadi relasi
pengulangan sederhana, langkah rekursif yang
I. PENDAHULUAN
menghasilkan kompleksitas tanpa batas. Dan dalam
Rute perjalanan merupakan arah atau jarak yang
penyelesaiannya dibutuhkan perhitungan yang sesuai
harus ditempuh oleh para pengendara. Rute perjalanan
untuk melihat nilai kompleksitasnya.
dimulai dari titik awal ke titik tujuan, Jalan adalah
Pelopor Algoritma Dijkstra adalah Edsger W masalah dapat dicapai dengan elegan, sederhana, dan
Dijkstra. Dengan temuannya inilah yang membuat bahkan secara intuitif di atas kertas.
algoritma ini dinamakan algoritma Dijkstra sesuai
dengan nama aslinya dan dianggap sebagai salah satu II. DASAR TEORI
temuan yang cerdas dalam bidang ilmu computer. Algoritma Dijkstra adalah algoritma yang dapat
Dasarnya adalah bahwa Dijkstra percaya pada setiap digunakan untuk menyederhanakan permasalahan
masalah rumit memiliki rantai yang mudah diakses yang di anggap komplek hingga menjadi bagian-
dan matematika adalah alat untuk membedah bagian yang dapat dikerjakan sehingga terlihat
permasalahan tersebut. gampang dalam penyelesaiannya. Dijkstra merupakan
Cara mudah untuk menjelaskan algoritma algoritma yang menerapkan graf berarah juga
Dijkstra bisa dengan menggunakan contoh graf, berbobot, dimana jarak antar titik adalah bobok pada
dimana bobot yang diberikan terdapat pada setiap titik tiap vertek (Lubis,2009). Algoritma ini mencari jalur
yang tersambung. Sebagai contoh kita menempatkan s dengan rute terpendek antar satu dengan lainnya
adalah posisi awal dengan nilai 0. Maka dari itu hingga sampai pada tujuan. Algoritma juga merupakan
dibutuhkan 0 meter untuk dapat sampai ke titik ini lagi pengembangan dari algoritma greedy sehingga
karena ia adalah posisi awal. Kemudian, kita beroperasi pada seluruh fungsi yang ada hingga
sambungkan simpul-simpul pada vertek s untuk menentukan rute terpendek.
menjelajahi. Graf dalam algoritma dijkstra memiliki bobot
pada setiap sisinya. Pada setiap sisi memiliki bobot
yang berbeda-beda tergantung pada model grafnya.
Bobot ini dapat menyatakan jarak antar kota atau antar
node, bobot ini menyatakan estimasi perjalanan, biaya
perjalanan, waktu tempuh pesan, ongkos produksi dan
lainnya.
Google Maps saat ini menjadi pilihan aplikasi
untuk memfasilitasi perjalanan dalam pemilihan rute.
Google Maps tersedia secara gratis yang dikeluarkan
oleh Google dalam kategori teknologi yang
Fig 1. Contoh graf dalam implementasi algoritma Dijkstra
Sumber https://motherboard.vice.com/en_us/ menunjukkan citra satelit, peta jalan, panorama jalan
article/4x3pp9/the-simple-elegant-algorithm-that-makes-google- 360 derajat.
maps-possible Dalam kasus kali ini kita mencari rute terpendek
Pada iterasi pertama, kita melihat ke vertek di dalam graf. Graf yang kita gunakan dalam mencari
terdekat yaitu 1 dan melabelkan dengan node a, dan lintasan terpendek adalah weighted graph yang
selanjutnya dengan jarak masing-masing. Sampai dimana setiap sisinya diberikan bobot atau nilai. Bobot
terhitung semua, dan karena kita mencari rute ini menyatakan jarak antar kota, ongkos perjalanan
terpendek maka kita terpaksa pindah ke d dari node s dan lain-lainnya. Asumsinya disini adalah setiap bobot
dan menetapkan nilai 2 hingga ke d. pada iterasi bernilai positif dan pada setiap rute hingga tujuan kita
berikutnya kita melihat ke c yang jauh yaitu 12. Tetapi akan menentukan jalur paling efektifnya atau
kita masih melihat dari segi yang lainnya yaitu a terpendeknya.
dimana jarak ia ke c bernilai 3. Dan dari a ke b bernilai Tujuan penulisan makalah ini adalah untuk dapat
2. Namun dari b ke t menempuh jarak yang cukup jauh menentukan rute perjlanan terpendek dari
yaitu 12 (akumulasi dari awal) sehingga kita berpindah implementasi medan perjalanan dari Takengon ke
menghitung dari a menuju ke c yang bernilai 3. Hal ini Medan dengan algoritma Dijkstra dan
terlihat rumit, nyatanya tidak karena dengan seperti ini implementasinya dalam Google Maps yang sudah
kita langsung menempuh langsung ke vertek t yang menggunakan
bernilai 4 dari akumulasi awal dan merupakan jalur III. PENYELESAIAN PERHITUNGAN
terpendek yang dapat ditempuh. Dan dengan demikian PENCARIAN RUTE DENGAN
kompleks yang kompleks - eksplosif kompleks- ALGORITMA DIJKSTRA
Shortest path merupakan metode pencarian rute 1. Pilih vertek vi+1 dengan label L(vi+1)
terpendek antara titik pada graf atau jalur yang akan minimum, lalu
dilalui. Masalah yang terjadi pada pencarian lintasan 2. Si+1 = Si {vi+1}
terpendek adalah bagaimana kita mencari sebuah jalur 3. I=i+1, jika i=n-1, selesai. Jika tidak
maka kembali kelangkah kedua.
pada graf yang akan menunjukkan bobot edge
minimum pembentuk jalur tersebut. Untuk Dalam metode lainnya, berikut adalah
memecahkan masalah pencarian rute terpendek dapat algoritma Dijkstra dinyatakan dalam
dilakukan dengan Algoritma Dijkstra. Urutan pseudo-code seperti berikut (Rinaldi
logikanya adalah sebagai berikut: Munir 2005, hal 414) :
1. Berikan bobot untuk setiap titik ke titik Produce Dijkstra (input a: simpul awal,
m:matrix)
lainnya, lalu atur nilai 0 pada node awal dan
(
nilai tak hingga ke node lainnya yang belum Algoritma ini untuk mencari lintasan
terisi. terpendek dari titik atau simpul awal (a)
2. Tambahkan keterangan pada semua titik ke semua simpul yang
“belum terkunjungi” dan set node awal berkesinambungan.
sebagai “Node keberangkatan”. Input : matix (m) dari graf berbobot G
3. Dari node keberangkatan, pertimbangkan dan simpul awal (a)
Output: lintasan terpendek dari a ke
node tetangga yang belum dikunjungi dan simpul lainnya.
hitung jaraknya dimulai dari titik )
keberangkatan. Deklarasi
4. Jika sudah selesai mempertimbangkan setiap s1, s2, ..., sn :integer (tabel integer)
jarak terhadap node tetangga, kita lalu d1, d2, ..., dn :integer (tabel integer)
menandai node yang telah terkunjungi i, j, k: integer
sebagai “Node terkunjungi”. Node Algoritma
( langkah 0 (Inisialisasi:)
terkunjungi tidak akan pernah dicek kembali, for i  1 to n do
jarak yang tersimpan adalah jarak terakhir si0
dan yang paling minimum bobotnya. di mai
Set “Node belum terkunjungi” dengan jarak endfor
paling kecil dari node keberangkatan sebagai (Langkah 1:)
“Node keberangkatan” dan lanjutkan dengan Sa1
Daoo
kembali ke langkah ketiga. Pencarian rute
(Langkah 2,3…,n-1:)
terpendek menggunakan algoritma Dijkstra For k 2 to n do
secara formal akan mengikuti langkah- Jsimpul dengan sj = 0, dj
langkah sebagai berikut: minimal
1. Inisialisasi : i = 0, S0 = {v0} beri vertek Sj1
v0 dengan (0,-) dan pada setiap v v0 akan For semua simpul I dengan si=0 do
diberikan label (~,-). Jika n=1, V={v0} If dj+mji<di then
Didj+mji
maka selesai, jika n lebih dari 1,
Endif
lanjutkan ke langkah kedua. Endfor
2. Untuk setiap v ϵ Si gantikan label pada v Endfor
dengan (L(v),y) dengan : )

IV. IMPLEMENTASI PENCARIAN


RUTE TERPENDEK DENGAN
dimana y adalah vertek didalam S1 ALGORITMA DIJKSTRA
dengan Lv minimum. Dalam studi kasus kali ini, kita akan mencoba
3. Jika setiap vertek di melakukan implementasi algoritma Dijkstra dalam
Berlabel (~,-) maka selesai. Jika tidak penerapan rute perjalanan dari Takengon menuju
selesai maka akan dilakukan: Medan guna mendapati rute tercepat dari sekian
banyak rute yang dapat dilalui dan dihadirkan dalam
penerapannya menggunakan google maps yang node g akan memakan estimasi waktu sepanjang
merupakan aplikasi dengan penerapan algoritma 446km juga menempuh waktu perjalanan yang jauh
dijkstra. Pada kasus kali ini, kita hanya akan menilai lebih lama yaitu 11 jam 57 menit. Meski hanya
jarak efektif atau jarak tercepat yang dapat dilalui dan berbeda beberapa kilometer, disini kemampuan
melewati jalur mana saja dengan implementasi algoritma Dijkstra berlaku bahwa ia dapat menghitung
algoritma tersebut. kompleksitas dari suatu rute perjalanan seperti
Penerapan Algoritma Dijkstra dari Takengon menimbang banyak lampu lalu lintas, kemacetan jalan
menuju medan dengan sarana google maps sebagai dan aspek lainnya sehingga memaksimalkan rute
aplikasi pengguna dijkstra perjalanan kita.

function Dijkstra(Graph, source):


for each vertex v in Graph:
dist[v] := infinity ;

previous[v] := undefined ;
end for
dist[source] := 0 ;
Q := the set of all nodes in Graph ;

while Q is not empty:


u := vertex in Q with smallest distance
in dist[] ;
remove u from Q ;
if dist[u] = infinity:
break ;
end if

for each neighbor v of u:


alt := dist[u] + dist_between(u, v) ;
if alt < dist[v]:
dist[v] := alt ;
previous[v] := u ;
decrease-key v in Q;
end if
end for
end while
return dist;

Titik awal langsung kita fokuskan pada kota


Takengon yang berada di Aceh dan menganggapnya
sebagai node a, kemudian memiliki 2 vertek yang
mengarah ke Lhokseumawe (anggap sebagai node b)
dan satunya ke Blangkejeren (anggap sebagai node c).
yang dimana masing-masing node memiliki nilai
untuk menentukan apakah lintasan tersebut
merupakan jalur terpendek atau tidak. Kemudian dari
node b mengarah ke Langsa ( anggap sebagai node d).
Dimana node c mengarah ke kutacane (node e). Dari
node e ditarik vertek langsung hingga sampai ke Fig 2. Contoh rute perjalanan Takengon menuju Medan.
Medan (node g). Sedang dari node d masih menarik Sumber : Aplikasi Google Maps.
vertek ke note f yaitu ke kota binjai terlebih dahulu,
baru tiba ke kota Medan. Menurut perhitungan yang
dilakukan oleh google maps adalah tertera pada
gambar berikut. Dimana perjalanan dari node a --
node b node d  node f  note g merupakan rute
terpendek dengan menempuh jalur sempanjang 442km
dan memakan estimasi waktu 8 jam 56 menit. Dimana
jika menggunakan rute node a  node c  node e 
menjalani studi juga teman-teman yang ikut
Simpul Simpul Lintasan Jarak memberikan support kepada saya. Juga kepada
Asal Tujuan Terpendek (km) kampus yang sudah menerima saya untuk dapat
A B A-B 120 melanjutkan studi yaitu Universitas Diponegoro.
A D A-B-D 286
A F A-B-D-F 432
A G A-B-D-F-G 442 REFERENCES
A C A-C 137
A E A-C-E 238 [1] Jhonsonbaugh Richard 1998: Matematika Diskrit.
A G A-C-E-G 446 PT. Prenhallindom Jakarta Kusuma R, 2014:
Dengan penerapan algoritma dijkstra untuk Lintasan Terpendek.
mencari lintasan terpendek dapat membantu siapapun [2] Munir, Rinaldi. 2007. Diktat Kuliah IF2211
termasuk pengguna jalan, traveler, TSP, perusahaan Strategi Algoritma. Bandung
dalam bidang pariwisata atau angkutan antar provinsi, [3] Cormen, Thomas H. dkk. 2009. Introduction to
instansi pemerintahan yang sedang melakukan Algorithms Third Edition. Cambridge. The MIT
kunjungan dinas ke suatu daerah dan lain sebagainya Press.
terutama untuk setiap individu yang membutuhkan [4] Rossen, 2005: Algoritma Dijkstra
informasi seputar lintasan terpendek disekitarnya https://dokumen.tips/documents/menggunakan-
untuk mencapai ke satu tujuan. algoritma-untuk-mencari-lintasan-terpendek.html .
V. KESIMPULAN diunduh pada 17 Desember 2018.
Berdasarkan hasil dari percobaan pada rute
perjalanan Takengon menuju ke Medan di atas, kita PERNYATAAN
dapat melalui dua jalur dari titik awal keberangkatan Saya menyatakan bahwa makalah yang saya
yang dimana menjadi pilihan kita berkendara untuk tulis ini merupakan hasil dari tulisan saya sendiri
dapat tiba ke tujuan dengan jarak yang lebih cepat. bukan merupakan jiplakan atau terjemahan dari
Dengan perhitungan program Dijkstra dan makalah orang lain, dan bukan merupakan plagiasi
penerapannya dalam google maps dapat disimpulkan dari milik orang lain.
bahwa algoritma Dijkstra memberikan jalur tercepat Semarang, 18 Desember 2018
yaitu melalui node A-B-D-F-G yang dimana memakan
jarak lebih cepat dan estimasi waktu yang jauh lebih
cepat dibandingkan melalui rute yang satunya walau
jika dibandingkan jaraknya yang tidak terlalu jauh.
Dari node A(takengon) menuju ke node
B(Lhokseumawe) menempuh jarak 120km terus
dilanjurkan ke node D(kota Langsa) menghasilkan
simpul berjumlah 286 km lalu melanjutkan ke Syahrul Ramadhan
F(Binjai) dengan akumulasi 432km hingga tiba di 24010316120040
tujuan akhir yaitu Medan (node G) dengan akumulasi
jarak 442km.

UCAPAN TERIMA KASIH


Puji dan Syukur penulis panjatkan kepada
Tuhan yang Maha Esa dengan rahmat dan karunia-
Nya yang membantu penulis untuk dapat
menyelesaikan makalah dengan judul “Penerapan
Algoritma Dikjstra pada Penentuan Rute Perjalanan
Terpendek dari Takengon Menuju Medan: Tak lupa
pula ucapan terimakasih kepada dosen mata kuliah
Analisis dan Strategi Algoritma, Dr. Eng. Adi
Wibowo S.Si., M.Kom yang telah dengan sukarela
mengajarkan kami dengan bijaksananya dan tanpa
lelah untuk menyalurkan ilmu yang telah dia miliki
kepada kami para mahasiswanya. Untuk terakhir,
penulis berterimakasih kepada keluarga yang selalu
memberikan dukungan juga semangat selama

Anda mungkin juga menyukai