SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
APLIKASI PENCARIAN RUTE PENERBANGAN TERPENDEK
DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA
PADA PT DWIDAYA INDOEXCHANGE
Muhamad Imam Suwatno
Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur
Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260
Telp. (021) 5853753, Fax. (021) 5866369
E-mail : imam26_it@yahoo.com
ABSTRAKSI
Pencarian jarak terpendek merupakan suatu permasalahan yang sering timbul pada pengguna pesawat terbang,
karena pengguna dalam melakukan perjalanan membutuhkan solusi bagaimana rute yang akan dilalui adalah
rute atau jarak yang paling minimum (terpendek). Sehingga efisiensi waktu dan biaya dapat terpenuhi. Salah
satu cara yang paling efektif yaitu dengan mencari rute alternatif yang dapat dilalui. Aplikasi pencarian jarak
terpendek yang dibuat, didasarkan pada metode Dijkstra. Algoritma Dijsktra adalah salah satu algoritma untuk
memecahkan masalah pencarian rute terpendek. Algoritma ini biasanya diterapkan pada sebuah aplikasi
pencari rute penerbangan yang terdekat dari suatu daerah ke daerah lainnya. Adapun penggunaan algoritma
Dijkstra karena algoritma ini dipastikan menemukan solusi terbaik dan memiliki kompleksitas yang lebih sedikit
jika dibandingkan dengan algoritma sejenis. Program dirancang untuk mensimulasikan jarak antar bandara
kemudian dihasilkan rute yang terpilih dengan jarak minimum.
Kata kunci: Rute Terpendek, Algoritma Dijsktra, Hill Climbing
1. PENDAHULUAN
PT Dwidaya Indoexchange atau biasa disebut
Ezytravel adalah perusahaan yang bergerak
dibidang Online Travel Agent (OTA). Ezytravel
didirikan pada tanggal 23 September 2011, dibawah
PT Dwidaya World Wide dengan bisnis pemesanan
tiket dan hotel secara online. Pada tahun 2014,
Ezytravel bertransformasi menjadi perusahaan
teknologi dengan expertise di dunia Travel. Kantor
Ezytravel berada di Jl. K.H. Samanhudi No. 22 C
Pasar Baru.
Bisnis dibidang Travel Agent adalah bisnis yang
sedang berkembang, terlihat dengan banyaknya
bermunculan perusahaan-perusahaan baru dibidang
ini. Dengan memiliki visi “To be the most inspiring
online travel agency in Indonesia”, Ezytravel terus
melakukan inovasi.
Kemajuan dan perkembangan teknologi, khususnya
teknologi komunikasi dan teknologi informasi
menjadikan sebuah informasi dapat diperoleh
dengan mudah kapanpun dan dimanapun, dengan
berkembangnya teknologi telah merubah pola
dalam berorganisasi, bisnis dan menjalankan
aktivitas lainnya.
Secara umum informasi tentang jadwal
penerbangan dari Ezytravel cukup lengkap dan
memadai namun berdasarkan hasil pengamatan,
penulis menemukan beberapa kelemahan yang
belum bisa dipenuhi oleh suatu situs travel agent.
Para calon penumpang sudah bisa memilih rute dan
jadwal yang dikehendaki pada daftar yang
diberikan begitu juga dengan pilihan daftar kota-
kota tujuan yang dilayani, akan tetapi pilihan hanya
terbatas pada rute perjalanan yang sudah disediakan
oleh maskapai, dan ketika ingin mencari alternatif
rute itu sendiri. Selain itu, ketika konsumen ingin
menempuh perjalanan antara kota asal dan kota
tujuan yang tidak terhubung langsung, maka
mereka harus mencari rute alternatif yang
memungkinkan untuk menghubungkan kota asal
dan tujuan.
Persoalan pemilihan jalur alternatif di atas akan
semakin rumit bila dihadapkan pada tuntutan untuk
memilih pilihan rute yang paling cepat sampai di
kota tujuan atau rute yang menghasilkan total biaya
perjalanan yang termurah. Perhitungan yang lebih
praktis tentu haruslah dengan satu aplikasi yang
sudah mencakup semua maskapai penerbangan dan
dapat membantu perhitungan pemilihan rute
penerbangan yang tercepat secara otomatis.
Oleh karena itu diperlukanlah suatu aplikasi yang
bisa memberikan masukan ke konsumen dalam
merencanakan perjalanannya dengan menentukan
rute perjalanan terpendek. Dimana pengguna hanya
menginput kota asal dan kota tujuan. Adapun
penggunaan algoritma Dijkstra dalam aplikasi ini
dilakukan karena algoritma ini sangat cocok dan
efisien dalam mencari path dengan bobot terkecil
pada sebuah graf.
1.1 Masalah
Berdasarkan latar belakang di atas, maka pokok
permasalahan ini adalah sebagai berikut:
a. Apakah dapat dicari rute dengan jarak terpendek
jika terdapat beberapa rute penerbangan?
b. Apakah dapat dibuat suatu aplikasi
menggunakan konsep pemrograman berorientasi
objek untuk menentukan rute terpendek dengan
algoritma Dijkstra?
c. Bagaimana kefektifan dari implementasi
penggunaan teknologi Google Maps dalam
menentukan rute terpendek yang ditentukan
menggunakan algoritma Dijkstra?
1.2 Batasan Masalah
Batasan masalah yang menjadi tolak ukur
pembuatan tugas akhir ini, yaitu:
a. Algoritma yang digunakan untuk menyelesaikan
masalah rute terpendek adalah algoritma
Dijkstra.
b. Graf yang digunakan adalah graf berarah.
c. Rute penerbangan yang digunakan yaitu rute
penerbangan domestik dan internasional yang
dimiliki oleh Ezytravel.
d. Jenis penerbangan yang akan dianalisa jenis
penerbangan langsung dan penerbangan dengan
2 (dua) kali transit.
e. Aplikasi yang dibuat dengan menggunakan
bahasa pemrograman PHP.
2. LANDASAN TEORI
Model rute terpendek adalah salah satu model
jaringan yang dapat digunakan untuk menentukan
jarak terpendek dari berbagai alternative rute yang
tersedia atau mencoba untuk memecahkan masalah
pemilihan jaringan paling efisien yang akan
menghubungkan satu titik ke titik yang lain. Suatu
lintasan antara dua buah titik adalah serangkaian
garis yang berbeda yang menghubungkan titik-titik
tersebut. Setiap dua titik dapat terjadi beberapa
lintasan, baik lintasan dengan jarak terpendek
ataupun bobot minimum. Bobot minimum dapat
berupa jarak, waktu tempuh atau ongkos
transportasi dari satu titik ke titik yang lainnya yang
berbentuk lintasan tertentu [7]. Faktor-faktor yang
mempengaruhi pemilihan lintasan diantaranya
adalah waktu tempuh, jarak, ongkos, kemacetan
dan antrian.
Terdapat beberapa macam persoalan lintasan
terpendek sebagai berikut:
a. Lintasan terpendek antara dua buah titik
tertentu.
b. Lintasan terpendek antara semua pasangan titik.
Dapat diselesaikan dengan menggunakan
algoritma Floyd-Warshall.
c. Lintasan terpendek dari titik tertentu ke semua
titik yang lain. Dapat diselesaikan misalnya
dengan menggunakan algoritma Dijkstra atau
Bellman-Ford.
d. Lintasan terpendek antara dua buah titik yang
melalui beberapa titik tertentu.
2.1 Algoritma Dijkstra
Algoritma Dijkstra (dinamai sesuai penemunya,
Edsger Dijkstra) adalah sebuah algoritma greedy
(greedy algorithm) yang dipakai dalam
memecahkan masalah jarak terpendek (shortest
path problem) untuk sebuah graf berarah (direct
graph) dengan bobot – bobot ssis yang bernilai tak-
negatif [5].
Algoritma ini menggunakan strategi greedy sebagai
berikut:
a. Untuk setiap simpul sumber (source) dalam
graf, algoritma ini akan mencari jalur dengan
cost minimum antara simpul tersebut dengan
simpul lainnya.
b. Algoritma ini juga dapat digunakan untuk
mencari total biaya (cost) dari lintasan
terpendek yang dibentuk dari sebuah simpul ke
sebuah simpul tujuan.
Algoritma Dijkstra mencari jarak terpendek untuk
tiap vertex dari suatu graf yang berbobot. Algoritma
Dijkstra mencari jarak terpendek dari node asal ke
vertex terdekatnya, kemudian vertex kedua, dan
seterusnya. Secara umum, sebelum dilakukan
iterasi, algoritma sudah mengidentifikasi jarak
terdekat dari i-1 vertex terdekatnya. Selama seluruh
edge berbobot tertentu yang (positif), maka vertex
terdekat berikutnya dari node asal dapat ditemukan
selama vertex berdekatan dengan vertex Ti.
Kumpulan vertex yang berdekatan dengan vertex di
Ti data dikatakan sebagai “fringe vertices”. Vertex
inilah yang merupakan kandidat dari Algoritma
Dijkstra untuk memilih vertex berikutnya dari node
asal.
Secara singkat algoritma Dijkstra dapat dijelaskan
sebagai berikut [8]:
Masukkan : Graf berbobot.
Proses :
a. Inisialisasi verteks.
b. Inisialisasi jarak antar verteks.
c. Tentukan verteks awal (s) dan verteks tujuan (t).
d. Beri label permanen = 0 ke verteks awal (s) dan
label sementara = ∞ ke verteks lainnya.
e. Untuk setiap verteks vt yang belum mendapat
label permanen, mendapatkan label sementara =
min {label lama vt, (label lama vt + Dst)}.
f. Cari harga minim di antara semua verteks yang
masih berlabel sementara.
g. Jadikan verteks minimum yang berlabel
sementara menjadi verteks dengan label
permanen, jika lebih dari satu verteks dipilih
sembarang.
h. Ulangi langkah 5 sampai 7 hingga verteks
tujuan mendapat label permanen.
i. Simpan hasil perhitangan.
j. Tampilkan hasil pencarian.
Ada beberapa kasus pencarian lintasan terpendek
yang diselesaikan menggunakan algoritma Dijkstra,
yaitu:
a. Pencarian lintasan terpendek antara dua buah
simpul tertentu (a pair shortest path),
b. Pencarian lintasan terpendek antara semua
pasangan simpul (all pairs shortest path),
c. Pencarian lintasan terpendek dari simpul
tertentu ke semua simpul yang lain (single-
source shortest path), dan
d. Pencarian lintasan terpendek antara dua buah
simpul yang melalui beberapa simpul tertentu
(intermediate shortest path) [3].
Berikut ini pseudocode Algoritma Dijkstra dalam
mencari rute terpendek pada sebuah graf.
Pseudocode algoritma Dijkstra (Fauzi, 2011):
(pre–cond) : G is a weighted (directed or
undirected) graph and s is one
of its nodes.
(post–cond) : π specifies a shortest weighted
path from s to each node of G
and d specifies their lengths.
1) mulai
2) notHandled = antrian prioritas semua
node. Prioritas diberikan oleh
d(v).
3) loop
4) (loop–invariant): lihat di bawah.
5) exit ketika notHandled = Φ
6) jadi u sebagai node dari notHandled
dengan terkecil d(u)
7) for each v terhubung dengan u
8) foundPathLength = d(u) + w(u, v)
9) if d(v) > foundPathLength then
10) d(v) = foundPathLength
11) (update antrian prioritas
notHandled)
12) π(v) = u
13) end if
14) end for
15) pindahkan u dari notHandled ke
handled
16) end loop
17) return (d, π)
18) akhir
Pada pseudocode Dijkstra tersebut terdapat tiga
elemen utama yang menggambarkan kondisi status
dari setiap simpul yang sedang ditelusuri. Adapun
tiga kondisi tersebut yaitu:
a. Kondisi node yang belum ditemukan dan belum
dikunjungi
b. Kondisi node yang sudah ditemukan tetapi
belum dikunjungi
c. Kondisi node yang telah ditemukan dan sudah
dikunjungi
Dalam hal ini node yang dikunjungi merupakan
node yang terpendek dari setiap tahap Algoritma
Dijkstra. Jadi jalur atau rute yang dibentuk oleh
Algoritma Dijkstra tersusun dari node yang telah
ditemukan dan telah dikunjungi.
2.2 Algoritma Hill Climbing
Algoritma Hill Climbing adalah metode pencarian
berdasarkan nilai tetangga. Algoritma ini
menggerakan variable keputusan xj menuju (xj +
step) atau (xj – step) berdasarkan nilai fungsi
obyektif. Pada masalah maksimasi, xj menuju (xj +
step) jika f(xj + step) > f(xj – step), xj menuju (xj –
step) jika f(xj + step) < f(xj – step). Pada masalah
minimasi berlaku sebaliknya. Step adalah nilai
perubahan yang diinginkan, jika dipilih terlalu kecil
maka pencarian berjalan lambat, jika terlalu besar
maka bisa jadi titik optimum akan terlewati.
Algoritma Hill Climbing hampir sama dengan
metode pembangkitan & pengujian (Generate and
Test), hanya saja proses pengujian dilakukan
dengan menggunakan fungsi heuristic.
Pembangkitan keadaan berikutnya sangat
tergantung pada feedback dari prosedur pengetesan.
Tes yang berupa fungsi heuristic ini akan
menunjukkan seberapa baiknya nilai terkaan yang
diambil terhadap keadaan-keadaan lainnya yang
mungkin.
Algoritma ini merupakan variasi dari depth-first
search. Dengan Algoritma Hill Climbing,
eksplorasi terhadap keputusan dilakukan dengan
cara depth-first search dengan mencari path yang
bertujuan menurunkan cost untuk menuju kepada
goal/keputusan. Yaitu dengan selalu memilih nilai
heuristic terkecil.
3. ANALISA MASALAH DAN
RANCANGAN SISTEM
3.1 Analisa Masalah
Kemajuan teknologi membuat masyarakat
pengguna internet dapat dengan mudah
mendapatkan informasi, tidak menutup
kemungkinan termasuk rute penerbangan yang pada
masa sebelumnya hanya bisa didapat dari masing-
masing maskapai. Peningkatan yang signifikan juga
terjadi terhadap pengguna transportasi udara,
pesawat terbang.
Salah satu kebutuhan informasi yang menarik dari
pemanfaatan internet melalui sebuah website adalah
pencarian rute penerbangan untuk mencapai suatu
negara atau suatu kota. Dengan kita menginputkan
kata kunci pada media pencari di internet dan
kemudian mengeksekusi perintahnya maka kita
akan ditawarkan beragam pilihan. Salah satu
pilihannya adalah google maps. Dengan
menggunakan google maps, seseorang dapat
melakukan penelurusan peta berbasis web guna
mencari suatu lokasi yang diinginkan.
Kekurangannya adalah belum tersediannya
penyajian data rute penerbangan untuk menuju
lokasi yang diinginkan.
Topik rute penerbangan terpendek sering kali
digunakan untuk menyelesaikan pencarian suatu
rute dari suatu tempat ke tempat yang lain. Sebagai
contoh Ezytravel dalam bidang bisnisnya penjualan
tiket pesawat harus dapat menentukan rute
penerbangan selain yang ditawarkan oleh maskapai
penerbangan. Pada pencarian suatu rute terpendek,
hal yang menjadi perhatian utama adalah
menentukan rute-rute satu arah yang disediakan
oleh maskapai penerbangan.
3.2 Penyelesaian Masalah
Dalam penyusunan tugas akhir ini, penulis
merancang suatu aplikasi berbasis website yang
dapat dimanfaatkan untuk mencari rute
penerbangan terpendek menuju suatu kota atau
suatu negara menggunakan algoritma Dijkstra.
Algoritma Dijkstra merupakan salah satu algoritma
yang efektif dalam memberikan solusi rute atau
lintasan terpendek dari suatu lokasi ke lokasi yang
lain. Prinsip dari algoritma Dijkstra adalah dengan
pencarian dua lintasan yang paling. Algoritma
Dijkstra memiliki iterasi untuk mencari titik yang
jaraknya dari titik awal adalah paling pendek. Pada
setiap iterasi, jarak titik yang diketahui (dari titik
awal) diperbarui bila ternyata didapat titik yang
baru yang memberikan jarak terpendek.
3.3 Skema Proses Sistem Aplikasi
Tahapan yang terjadi dalam skema proses sistem
aplikasi ini adalah Skema Algoritma Dijkstra.
Berdasarkan terminologi teori graf, maka suatu
jaringan akan terdiri dari suatu himpunan titik-titik
yang disebut node. Node tersebut saling
dihubungkan oleh suatu garis dan disebut edge.
Pada graf berikut akan menentukan rute terpendek
dari node CGK ke node BRU.
Gambar 1 : Graf menentukan rute terpendek dari
node CGK ke node BRU
Ada beberapa rute yang mungkin misalnya CGK ->
AUH -> BRU, atau CGK -> PEK -> BRU dan lain-
lain, tetapi cara yang paling efektif adalah :
a. Menentukan node awal dengan memberikan
nilai 0 pada node tersebut dan memberikan nilai
tak hingga (∞) pada node yang lainnya.
Gambar 2 : Node awal (1) bernilai 0 dan lainnya
bernilai tak hingga (∞)
b. Menentukan bobot paling kecil untuk
melangkah ke node selanjutnya. Pada gambar
diketahui bahwa untuk melangkah ke node
BKK memiliki bobot terkecil, kemudian
memberikan nilai atau label tetap pada node
BKK yaitu bernilai 829.9.
Gambar 3 : Menentukan bobot minimum
c. Mencari node terpendek berikutnya yaitu yang
memiliki bobot minimum dengan
membandingkan nilai biaya menuju node
tersebut atau melalui node yang telah memiliki
nilai tetap.
Gambar 4 : Menentukan bobot minimum untuk
menuju node selanjutnya
d. Node AUH memiliki nilai yang lebih kecil dari
node CAI, tetapi selain dua node tersebut, ada
satu node yang ternyata langsung ke node
tujuan, yaitu BRU.
Gambar 5 : Menentukan rute yang paling efektif
dari node BKK
Gambar 6 : Menentukan rute yang paling efektif
dari node BKK
Setelah dibandingkan, ternyata rute dari node awal
ke node BKK memiliki nilai paling minimum. Lalu,
setelah dari node BKK, ditemukan langsung node
tujuan, BRU. Sehingga bisa ditentukan rute
terpendek dari node CGK ke node BRU adalah
CGK -> BKK -> BRU.
3.4 Flowchart
Flowchart yang terdapat pada pengguna aplikasi
adalah pencarian. Pengguna dalam melakukan
pencarian rute penerbangan dari suatu kota atau
negara ke kota atau negara lain. Flowchart untuk
pencarian adalah sebagai berikut:
Gambar 7 : Flowchart Pencarian
3.5 Rancangan Layar
Rancangan halaman ini merupakan perencanaan
halaman awal. Dari halaman awal ini terdapat
pengantar tentang kegunaan aplikasi. Berikut ini
Gambar 8 adalah rancangan layar halaman awal.
Gambar 8 : Rancangan Halaman Awal
4. IMPLEMENTASI DAN ANALISA
HASIL UJI COBA PROGRAM
4.1 Implementasi Program
Pada tahap implementasi akan dibagi ke dalam tiga
bagian utama program yaitu pencarian rute
penerbangan, analisa rute terpendek dan visualisasi
ke dalam peta digital google maps.
Proses pencarian rute penerbangan berdasarkan
kota asal dan kota tujuan. Program akan memanggil
fungsi yang ada pada baris program dengan
menggunakan bahasa pemrograman PHP untuk
melakukan pencarian rute penerbangan. Berikut
adalah tampilan layar program pencarian rute
penerbangan pada aplikasi.
Gambar 9 : Halaman Depan Pencarian
Setelah halaman depan atau muka muncul, silakan
memasukkan kota asal dan kota tujuan. Peta digital
akan mengarahkan pointer ke kota asal yang
dipilih, dan ketika klik tombol cari, program akan
melakukan blok halaman dan menampilkan proses
loading pencarian.
Gambar 10 : Proses Pencarian Rute Penerbangan
Gambar 11 : Hasil Pencarian Dalam Bentuk Peta
Digital
Setelah mendapatkan hasil pencarian rute
penerbangan, data tersebut diolah sedemikian rupa
dan kemudian akan dicari rute penerbangan
terpendek menggunakan algoritma Dijkstra.
Gambar 12 : Rute Terpendek Ditandai Dengan
Garis Hitam
Gambar 13 : Rute Terpendek Ditandai Dengan
Latar Belakang Berwarna Putih
Penggunaan Google Maps pada aplikasi berfungsi
memberikan gambaran tentang rute penerbangan
yang sudah dihasilkan dan perbandingannya dengan
rute terpendek.
Gambar 14 : Visualisasi Hasil Pencarian Dalam
Bentuk Peta Digital
4.2 Pengujian Program
Pengujian program dilakukan dengan berbagai jenis
rute dengan 1 (satu) kali transit dan 2 (dua) kali
transit. Pada penyusunan tugas akhir ini pengujian
program dilakukan secara localhost dengan
menggunakan Aplikasi XAMPP versi 1.8.3-4.
Berikut merupakan rincian dan gambaran pengujian
program aplikasi.
1) Pengujian 1
Asal : Heathrow (LHR)
Tujuan : Bali (DPS)
Rute : 10 rute ditemukan
Waktu Proses : 0.001 detik
Gambar 15 : Rute Penerbangan Terpendek Hasil
Pengujian LHR-DPS
Gambar 16 : Hasil Pengujian Proses Pencarian
LHR-DPS
2) Pengujian 2
Asal : Sydney Intl (SYD)
Tujuan : Heathrow (LHR)
Rute : 18 rute ditemukan
Waktu Proses : 0.005 detik
Gambar 17 : Rute Penerbangan Terpendek Hasil
Pengujian SYD-LHR
Gambar 18 : Hasil Pengujian Proses Pencarian
SYD-LHR
Tabel 1 : Hasil Pengujian Proses Pencarian
Rute
Terpendek
Jarak
(Km)
Waktu
Proses
(detik)
Pengujian
1
LHR-SIN-
DPS
12342.7 0.001
Pengujian
2
SYD-
DXB-LHR
15749 0.005
5. KESIMPULAN
Berdasarkan perumusan masalah dan serangkaian
penelitian yang telah penulis lakukan. Maka dapat
disimpulkan beberapa hal sebagai berikut.
a. Cara menemukan rute terpendek dari suatu kota
ke kota lain, dalam hal ini berupa suatu
penerbangan adalah dengan menggunakan
algoritma Dijkstra dengan input berupa airport
asal dan tujuan serta sebuah graf yang
merepresentasikan node sebagai simpul atau
path sebagai rute yang menghubungkannya.
b. Faktor-faktor yang dapat diperhitungkan dalam
mencari rute penerbangan terpendek yaitu titik
koordinat x dan y.
Adapun saran dari penulis adalah sebagai berikut:
a. Memperluas cakupan tidak hanya berdasarkan
jarak, tetapi juga waktu tempuh.
b. Menggunakan data yang real time, sehingga
dapat menghasilkan jam penerbangan dan
harga, sehingga pengguna sangat terbantu jika
ingin melakukan bepergian yang efektif dan
efisien.
c. Perlu dikembangkan lagi aplikasi pencarian rute
penerbangan terpendek ini menggunakan
metode atau algoritma lain sebagai pembanding.
DAFTAR PUSTAKA
[1] Ardiani, Farida 2011, Penentuan Jarak
Terpendek Dan Waktu Tempuh Menggunakan
Algoritma Dijkstra Dengan Pemrograman
Berbasis Objek, Yogyakarta, Universitas
Islam Negeri Sunan Kalijaga.
[2] Edmons, Jeff 2008, How to Think About
Algorithm, Cambridge University Press, New
York: xi + 439 hlm.
[3] Faizah, Ifatul 2010, Rancang Bangun
Perangkat Lunak Penentuan Rute Perjalanan
Wisata Di Malang Menggunakan Algoritma
Dijkstra, Malang, Universitas Islam Negeri
Maulana Malik Ibrahim.
[4] Fauzi, Imron 2011, Penggunaan Algoritma
Dijkstra Dalam Pencarian Rute Tercepat Dan
Rute Terpendek, Jakarta, Universitas Islam
Negeri Syarif Hidayatullah.
[5] Hidayat, A., Yuda, B., & Septiana, D 2013.
Analisis Pemecahan Masalah Rute Terpendek
Antara Kota Jakarta Dan Kota Bandung
Dengan Algoritma Dijkstra, Bandung.
[6] Pradana, Bayu, 2006, Studi dan Implementasi
Persoalan Lintasan Terpendek Suatu graf
dengan Algoritma Dijkstra dan Algoritma
Bellman-ford, Bandung, Institut Teknologi
Bandung.
[7] Prasetyo, V 2013, Peneranpan Algoritma
Dijkstra Untuk Perutean Adaptif Pada
Jaringan Pendistribusian Air PDAM Di
Kabupaten Demak, Semarang, Universitas
Negeri Semarang.
[8] Puspika, B., Rachmat, A., & Kurniawan, E
2012, Implementasi Algoritma Dijkstra Dalam
Penentuan Jalur Terpendek Di Yogyakarta
Menggunakan GPS dan Qt Geolocation (Vol.
8), Yogyakarta, Universitas Kristen Duta
Wacana.
[9] Siswanto 2011, Algoritma dan Struktur Data
Non Linier Dengan Java, Yogyakarta, Graha
Ilmu.
[10] Yulianto, W., Nurafrianto, S. W., Damar, H.
W., & Purnama, J 2007, Implementation of
Dijkstra Algorithm to Track Location in a
Mall, Tangerang, Swiss German University.
[11] Chamero, J 2006. Dijkstra’s Algorithm As a
Dynamic Programming Strategy, diakses 20
Mei 2015,
<http://www.intag.org/downloads/ds_006.pdf
>.
[12] Nurhayati, Oky D 2010, Dasar Algoritma,
diakses 28 Mei 2015,
<http://eprints.undip.ac.id/18630/1/pertemuan
2.pdf>.

Contenu connexe

Tendances

End System in Telecommunication
End System in TelecommunicationEnd System in Telecommunication
End System in TelecommunicationEfrilia Khusna
 
Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Ihsan Nurhalim
 
 Manajemen memory dan Swapping
 Manajemen memory dan Swapping Manajemen memory dan Swapping
 Manajemen memory dan SwappingEdho Pratama
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasiahmad haidaroh
 
Sistem Operasi - Perangkat keras Input Output
Sistem Operasi - Perangkat keras Input OutputSistem Operasi - Perangkat keras Input Output
Sistem Operasi - Perangkat keras Input OutputAdi Ginanjar Kusuma
 
Pengenalan Komputer Kelas 1.pptx
Pengenalan Komputer Kelas 1.pptxPengenalan Komputer Kelas 1.pptx
Pengenalan Komputer Kelas 1.pptxJokoSetiawan35
 
9. Scheduling Pada Multiprocessor
9. Scheduling Pada Multiprocessor9. Scheduling Pada Multiprocessor
9. Scheduling Pada MultiprocessorHaddad Sammir
 
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)Colin Chae
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekLaili Wahyunita
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristikahmad haidaroh
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javanur achlish rosyadi
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarDisma Ariyanti W
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasiahmad haidaroh
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dagsindhu mathi
 
Laporan praktikum modul i
Laporan praktikum modul iLaporan praktikum modul i
Laporan praktikum modul iDevi Apriansyah
 
Penjelasan indexing database 1411510850
Penjelasan indexing database 1411510850Penjelasan indexing database 1411510850
Penjelasan indexing database 1411510850fitrohtulhadi
 

Tendances (20)

Structure and pointer
Structure and pointerStructure and pointer
Structure and pointer
 
End System in Telecommunication
End System in TelecommunicationEnd System in Telecommunication
End System in Telecommunication
 
Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1Interaksi manusia dengan komputer 1
Interaksi manusia dengan komputer 1
 
 Manajemen memory dan Swapping
 Manajemen memory dan Swapping Manajemen memory dan Swapping
 Manajemen memory dan Swapping
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
02 struktur-sistem-operasi
02 struktur-sistem-operasi02 struktur-sistem-operasi
02 struktur-sistem-operasi
 
Sistem Operasi - Perangkat keras Input Output
Sistem Operasi - Perangkat keras Input OutputSistem Operasi - Perangkat keras Input Output
Sistem Operasi - Perangkat keras Input Output
 
Pengenalan Komputer Kelas 1.pptx
Pengenalan Komputer Kelas 1.pptxPengenalan Komputer Kelas 1.pptx
Pengenalan Komputer Kelas 1.pptx
 
9. Scheduling Pada Multiprocessor
9. Scheduling Pada Multiprocessor9. Scheduling Pada Multiprocessor
9. Scheduling Pada Multiprocessor
 
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)
예제로 배우는 이더리움 결제구현 (거래소 지갑 구현 예시)
 
Algoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendekAlgoritma pencarian lintasan jalur terpendek
Algoritma pencarian lintasan jalur terpendek
 
Modul 3 pencarian heuristik
Modul 3   pencarian heuristikModul 3   pencarian heuristik
Modul 3 pencarian heuristik
 
Ppt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman javaPpt pengenalan dan pemrograman java
Ppt pengenalan dan pemrograman java
 
Pertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasarPertemuan 3 pemrograman dasar
Pertemuan 3 pemrograman dasar
 
Analisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik KompilasiAnalisis Semantik - P 6 Teknik Kompilasi
Analisis Semantik - P 6 Teknik Kompilasi
 
Middleware
MiddlewareMiddleware
Middleware
 
Modul praktikum Bahasa assembly
Modul praktikum Bahasa assemblyModul praktikum Bahasa assembly
Modul praktikum Bahasa assembly
 
Generating code from dags
Generating code from dagsGenerating code from dags
Generating code from dags
 
Laporan praktikum modul i
Laporan praktikum modul iLaporan praktikum modul i
Laporan praktikum modul i
 
Penjelasan indexing database 1411510850
Penjelasan indexing database 1411510850Penjelasan indexing database 1411510850
Penjelasan indexing database 1411510850
 

En vedette

Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortKuliahKita
 
Shortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraShortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraOnggo Wiryawan
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchartismailtelkom
 
Pencarian Rute Terpendek Dengan Menggunakan Algoritma Djikstrak
Pencarian Rute Terpendek Dengan Menggunakan Algoritma DjikstrakPencarian Rute Terpendek Dengan Menggunakan Algoritma Djikstrak
Pencarian Rute Terpendek Dengan Menggunakan Algoritma DjikstrakArinten Hidayat
 
Project Studi Kasus Toko Langganan Sistem Informasi Akuntansi
Project Studi Kasus Toko Langganan Sistem Informasi AkuntansiProject Studi Kasus Toko Langganan Sistem Informasi Akuntansi
Project Studi Kasus Toko Langganan Sistem Informasi AkuntansiRaysha md
 
Algorithm and Programming (Branching Structure)
Algorithm and Programming (Branching Structure)Algorithm and Programming (Branching Structure)
Algorithm and Programming (Branching Structure)Adam Mukharil Bachtiar
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAri Septiawan
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchartiphientcomp
 

En vedette (8)

Algoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge SortAlgoritma dan Struktur Data - Merge Sort
Algoritma dan Struktur Data - Merge Sort
 
Shortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma DijkstraShortest Path Problem: Algoritma Dijkstra
Shortest Path Problem: Algoritma Dijkstra
 
Algoritma dan flowchart
Algoritma dan flowchartAlgoritma dan flowchart
Algoritma dan flowchart
 
Pencarian Rute Terpendek Dengan Menggunakan Algoritma Djikstrak
Pencarian Rute Terpendek Dengan Menggunakan Algoritma DjikstrakPencarian Rute Terpendek Dengan Menggunakan Algoritma Djikstrak
Pencarian Rute Terpendek Dengan Menggunakan Algoritma Djikstrak
 
Project Studi Kasus Toko Langganan Sistem Informasi Akuntansi
Project Studi Kasus Toko Langganan Sistem Informasi AkuntansiProject Studi Kasus Toko Langganan Sistem Informasi Akuntansi
Project Studi Kasus Toko Langganan Sistem Informasi Akuntansi
 
Algorithm and Programming (Branching Structure)
Algorithm and Programming (Branching Structure)Algorithm and Programming (Branching Structure)
Algorithm and Programming (Branching Structure)
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Pertemuan 1 algoritma pemrograman dan flowchart
Pertemuan 1   algoritma pemrograman dan flowchartPertemuan 1   algoritma pemrograman dan flowchart
Pertemuan 1 algoritma pemrograman dan flowchart
 

Similaire à RUTE TERPENDEK

Matematika diskrit Aplikasi Graf / Graf
Matematika diskrit  Aplikasi Graf / GrafMatematika diskrit  Aplikasi Graf / Graf
Matematika diskrit Aplikasi Graf / GrafSiti Khotijah
 
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...faisalpiliang1
 
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA... TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...Joshua Rumagit
 
Presentasi Seminar Proposal
Presentasi Seminar ProposalPresentasi Seminar Proposal
Presentasi Seminar ProposalDaryan Ramadhany
 
Traffic Lights Infographics by Slidesgo.pptx
Traffic Lights Infographics by Slidesgo.pptxTraffic Lights Infographics by Slidesgo.pptx
Traffic Lights Infographics by Slidesgo.pptxEvolutionTechnologyI
 
Implementasi Algoritma Djikstra
Implementasi Algoritma DjikstraImplementasi Algoritma Djikstra
Implementasi Algoritma DjikstraLusiana Diyan
 
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...pasek_andi
 
Tgo kelas d_tugas01_140-145-147-150 - copy
Tgo kelas d_tugas01_140-145-147-150 - copyTgo kelas d_tugas01_140-145-147-150 - copy
Tgo kelas d_tugas01_140-145-147-150 - copyawaliaharfiani
 
real time pada lampu lalu lintas
real time pada lampu lalu lintasreal time pada lampu lalu lintas
real time pada lampu lalu lintassudartisimatupang
 
Makalah seminar hasil adi
Makalah seminar hasil adiMakalah seminar hasil adi
Makalah seminar hasil adiAdy Tri
 
06. MODEL ARUS JARINGAN.pdf
06. MODEL ARUS JARINGAN.pdf06. MODEL ARUS JARINGAN.pdf
06. MODEL ARUS JARINGAN.pdfRizka85
 
06. model arus jaringan dikonversi
06. model arus jaringan dikonversi06. model arus jaringan dikonversi
06. model arus jaringan dikonversirizirahman
 
Bab ii a star revisi 1
Bab ii a star revisi 1Bab ii a star revisi 1
Bab ii a star revisi 1Vera Silalahi
 
Algoritma dijkstra1
Algoritma dijkstra1Algoritma dijkstra1
Algoritma dijkstra1Lan Zi
 

Similaire à RUTE TERPENDEK (20)

Matematika diskrit Aplikasi Graf / Graf
Matematika diskrit  Aplikasi Graf / GrafMatematika diskrit  Aplikasi Graf / Graf
Matematika diskrit Aplikasi Graf / Graf
 
Algoritma Djikstra-1.pptx
Algoritma Djikstra-1.pptxAlgoritma Djikstra-1.pptx
Algoritma Djikstra-1.pptx
 
Review jurnal
Review jurnalReview jurnal
Review jurnal
 
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...
Penerapan Algoritma Greedy Dalam Menentukan Rute Terpendek Puskesmas (Studi K...
 
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA... TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
TEKNIK MENENTUKAN LINTASAN TERPENDEK PADA JARINGAN LOKAL KOMPUTER MENGGUNAKA...
 
Spanning Tree Greedy.pptx
Spanning Tree Greedy.pptxSpanning Tree Greedy.pptx
Spanning Tree Greedy.pptx
 
Presentasi Seminar Proposal
Presentasi Seminar ProposalPresentasi Seminar Proposal
Presentasi Seminar Proposal
 
Traffic Lights Infographics by Slidesgo.pptx
Traffic Lights Infographics by Slidesgo.pptxTraffic Lights Infographics by Slidesgo.pptx
Traffic Lights Infographics by Slidesgo.pptx
 
Implementasi Algoritma Djikstra
Implementasi Algoritma DjikstraImplementasi Algoritma Djikstra
Implementasi Algoritma Djikstra
 
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
Makalah Jaringan Komputer Ide Pemanfaatan ITS dan GoogleMaps Dalam Pencarian ...
 
lintasan terpendek fuzzy
lintasan terpendek fuzzy lintasan terpendek fuzzy
lintasan terpendek fuzzy
 
Tgo kelas d_tugas01_140-145-147-150 - copy
Tgo kelas d_tugas01_140-145-147-150 - copyTgo kelas d_tugas01_140-145-147-150 - copy
Tgo kelas d_tugas01_140-145-147-150 - copy
 
real time pada lampu lalu lintas
real time pada lampu lalu lintasreal time pada lampu lalu lintas
real time pada lampu lalu lintas
 
Makalah seminar hasil adi
Makalah seminar hasil adiMakalah seminar hasil adi
Makalah seminar hasil adi
 
Algoritma Dijstra
Algoritma DijstraAlgoritma Dijstra
Algoritma Dijstra
 
06. MODEL ARUS JARINGAN.pdf
06. MODEL ARUS JARINGAN.pdf06. MODEL ARUS JARINGAN.pdf
06. MODEL ARUS JARINGAN.pdf
 
06. model arus jaringan dikonversi
06. model arus jaringan dikonversi06. model arus jaringan dikonversi
06. model arus jaringan dikonversi
 
Slide Ta
Slide TaSlide Ta
Slide Ta
 
Bab ii a star revisi 1
Bab ii a star revisi 1Bab ii a star revisi 1
Bab ii a star revisi 1
 
Algoritma dijkstra1
Algoritma dijkstra1Algoritma dijkstra1
Algoritma dijkstra1
 

RUTE TERPENDEK

  • 1. APLIKASI PENCARIAN RUTE PENERBANGAN TERPENDEK DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA PADA PT DWIDAYA INDOEXCHANGE Muhamad Imam Suwatno Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260 Telp. (021) 5853753, Fax. (021) 5866369 E-mail : imam26_it@yahoo.com ABSTRAKSI Pencarian jarak terpendek merupakan suatu permasalahan yang sering timbul pada pengguna pesawat terbang, karena pengguna dalam melakukan perjalanan membutuhkan solusi bagaimana rute yang akan dilalui adalah rute atau jarak yang paling minimum (terpendek). Sehingga efisiensi waktu dan biaya dapat terpenuhi. Salah satu cara yang paling efektif yaitu dengan mencari rute alternatif yang dapat dilalui. Aplikasi pencarian jarak terpendek yang dibuat, didasarkan pada metode Dijkstra. Algoritma Dijsktra adalah salah satu algoritma untuk memecahkan masalah pencarian rute terpendek. Algoritma ini biasanya diterapkan pada sebuah aplikasi pencari rute penerbangan yang terdekat dari suatu daerah ke daerah lainnya. Adapun penggunaan algoritma Dijkstra karena algoritma ini dipastikan menemukan solusi terbaik dan memiliki kompleksitas yang lebih sedikit jika dibandingkan dengan algoritma sejenis. Program dirancang untuk mensimulasikan jarak antar bandara kemudian dihasilkan rute yang terpilih dengan jarak minimum. Kata kunci: Rute Terpendek, Algoritma Dijsktra, Hill Climbing 1. PENDAHULUAN PT Dwidaya Indoexchange atau biasa disebut Ezytravel adalah perusahaan yang bergerak dibidang Online Travel Agent (OTA). Ezytravel didirikan pada tanggal 23 September 2011, dibawah PT Dwidaya World Wide dengan bisnis pemesanan tiket dan hotel secara online. Pada tahun 2014, Ezytravel bertransformasi menjadi perusahaan teknologi dengan expertise di dunia Travel. Kantor Ezytravel berada di Jl. K.H. Samanhudi No. 22 C Pasar Baru. Bisnis dibidang Travel Agent adalah bisnis yang sedang berkembang, terlihat dengan banyaknya bermunculan perusahaan-perusahaan baru dibidang ini. Dengan memiliki visi “To be the most inspiring online travel agency in Indonesia”, Ezytravel terus melakukan inovasi. Kemajuan dan perkembangan teknologi, khususnya teknologi komunikasi dan teknologi informasi menjadikan sebuah informasi dapat diperoleh dengan mudah kapanpun dan dimanapun, dengan berkembangnya teknologi telah merubah pola dalam berorganisasi, bisnis dan menjalankan aktivitas lainnya. Secara umum informasi tentang jadwal penerbangan dari Ezytravel cukup lengkap dan memadai namun berdasarkan hasil pengamatan, penulis menemukan beberapa kelemahan yang belum bisa dipenuhi oleh suatu situs travel agent. Para calon penumpang sudah bisa memilih rute dan jadwal yang dikehendaki pada daftar yang diberikan begitu juga dengan pilihan daftar kota- kota tujuan yang dilayani, akan tetapi pilihan hanya terbatas pada rute perjalanan yang sudah disediakan oleh maskapai, dan ketika ingin mencari alternatif rute itu sendiri. Selain itu, ketika konsumen ingin menempuh perjalanan antara kota asal dan kota tujuan yang tidak terhubung langsung, maka mereka harus mencari rute alternatif yang memungkinkan untuk menghubungkan kota asal dan tujuan. Persoalan pemilihan jalur alternatif di atas akan semakin rumit bila dihadapkan pada tuntutan untuk memilih pilihan rute yang paling cepat sampai di kota tujuan atau rute yang menghasilkan total biaya perjalanan yang termurah. Perhitungan yang lebih praktis tentu haruslah dengan satu aplikasi yang sudah mencakup semua maskapai penerbangan dan dapat membantu perhitungan pemilihan rute penerbangan yang tercepat secara otomatis. Oleh karena itu diperlukanlah suatu aplikasi yang bisa memberikan masukan ke konsumen dalam merencanakan perjalanannya dengan menentukan rute perjalanan terpendek. Dimana pengguna hanya menginput kota asal dan kota tujuan. Adapun penggunaan algoritma Dijkstra dalam aplikasi ini dilakukan karena algoritma ini sangat cocok dan efisien dalam mencari path dengan bobot terkecil pada sebuah graf.
  • 2. 1.1 Masalah Berdasarkan latar belakang di atas, maka pokok permasalahan ini adalah sebagai berikut: a. Apakah dapat dicari rute dengan jarak terpendek jika terdapat beberapa rute penerbangan? b. Apakah dapat dibuat suatu aplikasi menggunakan konsep pemrograman berorientasi objek untuk menentukan rute terpendek dengan algoritma Dijkstra? c. Bagaimana kefektifan dari implementasi penggunaan teknologi Google Maps dalam menentukan rute terpendek yang ditentukan menggunakan algoritma Dijkstra? 1.2 Batasan Masalah Batasan masalah yang menjadi tolak ukur pembuatan tugas akhir ini, yaitu: a. Algoritma yang digunakan untuk menyelesaikan masalah rute terpendek adalah algoritma Dijkstra. b. Graf yang digunakan adalah graf berarah. c. Rute penerbangan yang digunakan yaitu rute penerbangan domestik dan internasional yang dimiliki oleh Ezytravel. d. Jenis penerbangan yang akan dianalisa jenis penerbangan langsung dan penerbangan dengan 2 (dua) kali transit. e. Aplikasi yang dibuat dengan menggunakan bahasa pemrograman PHP. 2. LANDASAN TEORI Model rute terpendek adalah salah satu model jaringan yang dapat digunakan untuk menentukan jarak terpendek dari berbagai alternative rute yang tersedia atau mencoba untuk memecahkan masalah pemilihan jaringan paling efisien yang akan menghubungkan satu titik ke titik yang lain. Suatu lintasan antara dua buah titik adalah serangkaian garis yang berbeda yang menghubungkan titik-titik tersebut. Setiap dua titik dapat terjadi beberapa lintasan, baik lintasan dengan jarak terpendek ataupun bobot minimum. Bobot minimum dapat berupa jarak, waktu tempuh atau ongkos transportasi dari satu titik ke titik yang lainnya yang berbentuk lintasan tertentu [7]. Faktor-faktor yang mempengaruhi pemilihan lintasan diantaranya adalah waktu tempuh, jarak, ongkos, kemacetan dan antrian. Terdapat beberapa macam persoalan lintasan terpendek sebagai berikut: a. Lintasan terpendek antara dua buah titik tertentu. b. Lintasan terpendek antara semua pasangan titik. Dapat diselesaikan dengan menggunakan algoritma Floyd-Warshall. c. Lintasan terpendek dari titik tertentu ke semua titik yang lain. Dapat diselesaikan misalnya dengan menggunakan algoritma Dijkstra atau Bellman-Ford. d. Lintasan terpendek antara dua buah titik yang melalui beberapa titik tertentu. 2.1 Algoritma Dijkstra Algoritma Dijkstra (dinamai sesuai penemunya, Edsger Dijkstra) adalah sebuah algoritma greedy (greedy algorithm) yang dipakai dalam memecahkan masalah jarak terpendek (shortest path problem) untuk sebuah graf berarah (direct graph) dengan bobot – bobot ssis yang bernilai tak- negatif [5]. Algoritma ini menggunakan strategi greedy sebagai berikut: a. Untuk setiap simpul sumber (source) dalam graf, algoritma ini akan mencari jalur dengan cost minimum antara simpul tersebut dengan simpul lainnya. b. Algoritma ini juga dapat digunakan untuk mencari total biaya (cost) dari lintasan terpendek yang dibentuk dari sebuah simpul ke sebuah simpul tujuan. Algoritma Dijkstra mencari jarak terpendek untuk tiap vertex dari suatu graf yang berbobot. Algoritma Dijkstra mencari jarak terpendek dari node asal ke vertex terdekatnya, kemudian vertex kedua, dan seterusnya. Secara umum, sebelum dilakukan iterasi, algoritma sudah mengidentifikasi jarak terdekat dari i-1 vertex terdekatnya. Selama seluruh edge berbobot tertentu yang (positif), maka vertex terdekat berikutnya dari node asal dapat ditemukan selama vertex berdekatan dengan vertex Ti. Kumpulan vertex yang berdekatan dengan vertex di Ti data dikatakan sebagai “fringe vertices”. Vertex inilah yang merupakan kandidat dari Algoritma Dijkstra untuk memilih vertex berikutnya dari node asal. Secara singkat algoritma Dijkstra dapat dijelaskan sebagai berikut [8]: Masukkan : Graf berbobot. Proses : a. Inisialisasi verteks. b. Inisialisasi jarak antar verteks. c. Tentukan verteks awal (s) dan verteks tujuan (t). d. Beri label permanen = 0 ke verteks awal (s) dan label sementara = ∞ ke verteks lainnya. e. Untuk setiap verteks vt yang belum mendapat label permanen, mendapatkan label sementara = min {label lama vt, (label lama vt + Dst)}. f. Cari harga minim di antara semua verteks yang masih berlabel sementara. g. Jadikan verteks minimum yang berlabel sementara menjadi verteks dengan label
  • 3. permanen, jika lebih dari satu verteks dipilih sembarang. h. Ulangi langkah 5 sampai 7 hingga verteks tujuan mendapat label permanen. i. Simpan hasil perhitangan. j. Tampilkan hasil pencarian. Ada beberapa kasus pencarian lintasan terpendek yang diselesaikan menggunakan algoritma Dijkstra, yaitu: a. Pencarian lintasan terpendek antara dua buah simpul tertentu (a pair shortest path), b. Pencarian lintasan terpendek antara semua pasangan simpul (all pairs shortest path), c. Pencarian lintasan terpendek dari simpul tertentu ke semua simpul yang lain (single- source shortest path), dan d. Pencarian lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate shortest path) [3]. Berikut ini pseudocode Algoritma Dijkstra dalam mencari rute terpendek pada sebuah graf. Pseudocode algoritma Dijkstra (Fauzi, 2011): (pre–cond) : G is a weighted (directed or undirected) graph and s is one of its nodes. (post–cond) : π specifies a shortest weighted path from s to each node of G and d specifies their lengths. 1) mulai 2) notHandled = antrian prioritas semua node. Prioritas diberikan oleh d(v). 3) loop 4) (loop–invariant): lihat di bawah. 5) exit ketika notHandled = Φ 6) jadi u sebagai node dari notHandled dengan terkecil d(u) 7) for each v terhubung dengan u 8) foundPathLength = d(u) + w(u, v) 9) if d(v) > foundPathLength then 10) d(v) = foundPathLength 11) (update antrian prioritas notHandled) 12) π(v) = u 13) end if 14) end for 15) pindahkan u dari notHandled ke handled 16) end loop 17) return (d, π) 18) akhir Pada pseudocode Dijkstra tersebut terdapat tiga elemen utama yang menggambarkan kondisi status dari setiap simpul yang sedang ditelusuri. Adapun tiga kondisi tersebut yaitu: a. Kondisi node yang belum ditemukan dan belum dikunjungi b. Kondisi node yang sudah ditemukan tetapi belum dikunjungi c. Kondisi node yang telah ditemukan dan sudah dikunjungi Dalam hal ini node yang dikunjungi merupakan node yang terpendek dari setiap tahap Algoritma Dijkstra. Jadi jalur atau rute yang dibentuk oleh Algoritma Dijkstra tersusun dari node yang telah ditemukan dan telah dikunjungi. 2.2 Algoritma Hill Climbing Algoritma Hill Climbing adalah metode pencarian berdasarkan nilai tetangga. Algoritma ini menggerakan variable keputusan xj menuju (xj + step) atau (xj – step) berdasarkan nilai fungsi obyektif. Pada masalah maksimasi, xj menuju (xj + step) jika f(xj + step) > f(xj – step), xj menuju (xj – step) jika f(xj + step) < f(xj – step). Pada masalah minimasi berlaku sebaliknya. Step adalah nilai perubahan yang diinginkan, jika dipilih terlalu kecil maka pencarian berjalan lambat, jika terlalu besar maka bisa jadi titik optimum akan terlewati. Algoritma Hill Climbing hampir sama dengan metode pembangkitan & pengujian (Generate and Test), hanya saja proses pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan berikutnya sangat tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin. Algoritma ini merupakan variasi dari depth-first search. Dengan Algoritma Hill Climbing, eksplorasi terhadap keputusan dilakukan dengan cara depth-first search dengan mencari path yang bertujuan menurunkan cost untuk menuju kepada goal/keputusan. Yaitu dengan selalu memilih nilai heuristic terkecil. 3. ANALISA MASALAH DAN RANCANGAN SISTEM 3.1 Analisa Masalah Kemajuan teknologi membuat masyarakat pengguna internet dapat dengan mudah mendapatkan informasi, tidak menutup kemungkinan termasuk rute penerbangan yang pada masa sebelumnya hanya bisa didapat dari masing- masing maskapai. Peningkatan yang signifikan juga terjadi terhadap pengguna transportasi udara, pesawat terbang.
  • 4. Salah satu kebutuhan informasi yang menarik dari pemanfaatan internet melalui sebuah website adalah pencarian rute penerbangan untuk mencapai suatu negara atau suatu kota. Dengan kita menginputkan kata kunci pada media pencari di internet dan kemudian mengeksekusi perintahnya maka kita akan ditawarkan beragam pilihan. Salah satu pilihannya adalah google maps. Dengan menggunakan google maps, seseorang dapat melakukan penelurusan peta berbasis web guna mencari suatu lokasi yang diinginkan. Kekurangannya adalah belum tersediannya penyajian data rute penerbangan untuk menuju lokasi yang diinginkan. Topik rute penerbangan terpendek sering kali digunakan untuk menyelesaikan pencarian suatu rute dari suatu tempat ke tempat yang lain. Sebagai contoh Ezytravel dalam bidang bisnisnya penjualan tiket pesawat harus dapat menentukan rute penerbangan selain yang ditawarkan oleh maskapai penerbangan. Pada pencarian suatu rute terpendek, hal yang menjadi perhatian utama adalah menentukan rute-rute satu arah yang disediakan oleh maskapai penerbangan. 3.2 Penyelesaian Masalah Dalam penyusunan tugas akhir ini, penulis merancang suatu aplikasi berbasis website yang dapat dimanfaatkan untuk mencari rute penerbangan terpendek menuju suatu kota atau suatu negara menggunakan algoritma Dijkstra. Algoritma Dijkstra merupakan salah satu algoritma yang efektif dalam memberikan solusi rute atau lintasan terpendek dari suatu lokasi ke lokasi yang lain. Prinsip dari algoritma Dijkstra adalah dengan pencarian dua lintasan yang paling. Algoritma Dijkstra memiliki iterasi untuk mencari titik yang jaraknya dari titik awal adalah paling pendek. Pada setiap iterasi, jarak titik yang diketahui (dari titik awal) diperbarui bila ternyata didapat titik yang baru yang memberikan jarak terpendek. 3.3 Skema Proses Sistem Aplikasi Tahapan yang terjadi dalam skema proses sistem aplikasi ini adalah Skema Algoritma Dijkstra. Berdasarkan terminologi teori graf, maka suatu jaringan akan terdiri dari suatu himpunan titik-titik yang disebut node. Node tersebut saling dihubungkan oleh suatu garis dan disebut edge. Pada graf berikut akan menentukan rute terpendek dari node CGK ke node BRU. Gambar 1 : Graf menentukan rute terpendek dari node CGK ke node BRU Ada beberapa rute yang mungkin misalnya CGK -> AUH -> BRU, atau CGK -> PEK -> BRU dan lain- lain, tetapi cara yang paling efektif adalah : a. Menentukan node awal dengan memberikan nilai 0 pada node tersebut dan memberikan nilai tak hingga (∞) pada node yang lainnya. Gambar 2 : Node awal (1) bernilai 0 dan lainnya bernilai tak hingga (∞) b. Menentukan bobot paling kecil untuk melangkah ke node selanjutnya. Pada gambar diketahui bahwa untuk melangkah ke node BKK memiliki bobot terkecil, kemudian memberikan nilai atau label tetap pada node BKK yaitu bernilai 829.9. Gambar 3 : Menentukan bobot minimum c. Mencari node terpendek berikutnya yaitu yang memiliki bobot minimum dengan membandingkan nilai biaya menuju node tersebut atau melalui node yang telah memiliki nilai tetap.
  • 5. Gambar 4 : Menentukan bobot minimum untuk menuju node selanjutnya d. Node AUH memiliki nilai yang lebih kecil dari node CAI, tetapi selain dua node tersebut, ada satu node yang ternyata langsung ke node tujuan, yaitu BRU. Gambar 5 : Menentukan rute yang paling efektif dari node BKK Gambar 6 : Menentukan rute yang paling efektif dari node BKK Setelah dibandingkan, ternyata rute dari node awal ke node BKK memiliki nilai paling minimum. Lalu, setelah dari node BKK, ditemukan langsung node tujuan, BRU. Sehingga bisa ditentukan rute terpendek dari node CGK ke node BRU adalah CGK -> BKK -> BRU. 3.4 Flowchart Flowchart yang terdapat pada pengguna aplikasi adalah pencarian. Pengguna dalam melakukan pencarian rute penerbangan dari suatu kota atau negara ke kota atau negara lain. Flowchart untuk pencarian adalah sebagai berikut: Gambar 7 : Flowchart Pencarian 3.5 Rancangan Layar Rancangan halaman ini merupakan perencanaan halaman awal. Dari halaman awal ini terdapat pengantar tentang kegunaan aplikasi. Berikut ini Gambar 8 adalah rancangan layar halaman awal. Gambar 8 : Rancangan Halaman Awal 4. IMPLEMENTASI DAN ANALISA HASIL UJI COBA PROGRAM 4.1 Implementasi Program Pada tahap implementasi akan dibagi ke dalam tiga bagian utama program yaitu pencarian rute penerbangan, analisa rute terpendek dan visualisasi ke dalam peta digital google maps. Proses pencarian rute penerbangan berdasarkan kota asal dan kota tujuan. Program akan memanggil fungsi yang ada pada baris program dengan menggunakan bahasa pemrograman PHP untuk melakukan pencarian rute penerbangan. Berikut adalah tampilan layar program pencarian rute penerbangan pada aplikasi.
  • 6. Gambar 9 : Halaman Depan Pencarian Setelah halaman depan atau muka muncul, silakan memasukkan kota asal dan kota tujuan. Peta digital akan mengarahkan pointer ke kota asal yang dipilih, dan ketika klik tombol cari, program akan melakukan blok halaman dan menampilkan proses loading pencarian. Gambar 10 : Proses Pencarian Rute Penerbangan Gambar 11 : Hasil Pencarian Dalam Bentuk Peta Digital Setelah mendapatkan hasil pencarian rute penerbangan, data tersebut diolah sedemikian rupa dan kemudian akan dicari rute penerbangan terpendek menggunakan algoritma Dijkstra. Gambar 12 : Rute Terpendek Ditandai Dengan Garis Hitam Gambar 13 : Rute Terpendek Ditandai Dengan Latar Belakang Berwarna Putih Penggunaan Google Maps pada aplikasi berfungsi memberikan gambaran tentang rute penerbangan yang sudah dihasilkan dan perbandingannya dengan rute terpendek. Gambar 14 : Visualisasi Hasil Pencarian Dalam Bentuk Peta Digital 4.2 Pengujian Program Pengujian program dilakukan dengan berbagai jenis rute dengan 1 (satu) kali transit dan 2 (dua) kali transit. Pada penyusunan tugas akhir ini pengujian program dilakukan secara localhost dengan menggunakan Aplikasi XAMPP versi 1.8.3-4. Berikut merupakan rincian dan gambaran pengujian program aplikasi. 1) Pengujian 1 Asal : Heathrow (LHR) Tujuan : Bali (DPS) Rute : 10 rute ditemukan Waktu Proses : 0.001 detik Gambar 15 : Rute Penerbangan Terpendek Hasil Pengujian LHR-DPS
  • 7. Gambar 16 : Hasil Pengujian Proses Pencarian LHR-DPS 2) Pengujian 2 Asal : Sydney Intl (SYD) Tujuan : Heathrow (LHR) Rute : 18 rute ditemukan Waktu Proses : 0.005 detik Gambar 17 : Rute Penerbangan Terpendek Hasil Pengujian SYD-LHR Gambar 18 : Hasil Pengujian Proses Pencarian SYD-LHR Tabel 1 : Hasil Pengujian Proses Pencarian Rute Terpendek Jarak (Km) Waktu Proses (detik) Pengujian 1 LHR-SIN- DPS 12342.7 0.001 Pengujian 2 SYD- DXB-LHR 15749 0.005 5. KESIMPULAN Berdasarkan perumusan masalah dan serangkaian penelitian yang telah penulis lakukan. Maka dapat disimpulkan beberapa hal sebagai berikut. a. Cara menemukan rute terpendek dari suatu kota ke kota lain, dalam hal ini berupa suatu penerbangan adalah dengan menggunakan algoritma Dijkstra dengan input berupa airport asal dan tujuan serta sebuah graf yang merepresentasikan node sebagai simpul atau path sebagai rute yang menghubungkannya. b. Faktor-faktor yang dapat diperhitungkan dalam mencari rute penerbangan terpendek yaitu titik koordinat x dan y. Adapun saran dari penulis adalah sebagai berikut: a. Memperluas cakupan tidak hanya berdasarkan jarak, tetapi juga waktu tempuh. b. Menggunakan data yang real time, sehingga dapat menghasilkan jam penerbangan dan harga, sehingga pengguna sangat terbantu jika ingin melakukan bepergian yang efektif dan efisien. c. Perlu dikembangkan lagi aplikasi pencarian rute penerbangan terpendek ini menggunakan metode atau algoritma lain sebagai pembanding. DAFTAR PUSTAKA [1] Ardiani, Farida 2011, Penentuan Jarak Terpendek Dan Waktu Tempuh Menggunakan Algoritma Dijkstra Dengan Pemrograman Berbasis Objek, Yogyakarta, Universitas Islam Negeri Sunan Kalijaga. [2] Edmons, Jeff 2008, How to Think About Algorithm, Cambridge University Press, New York: xi + 439 hlm. [3] Faizah, Ifatul 2010, Rancang Bangun Perangkat Lunak Penentuan Rute Perjalanan Wisata Di Malang Menggunakan Algoritma Dijkstra, Malang, Universitas Islam Negeri Maulana Malik Ibrahim. [4] Fauzi, Imron 2011, Penggunaan Algoritma Dijkstra Dalam Pencarian Rute Tercepat Dan Rute Terpendek, Jakarta, Universitas Islam Negeri Syarif Hidayatullah. [5] Hidayat, A., Yuda, B., & Septiana, D 2013. Analisis Pemecahan Masalah Rute Terpendek Antara Kota Jakarta Dan Kota Bandung Dengan Algoritma Dijkstra, Bandung. [6] Pradana, Bayu, 2006, Studi dan Implementasi Persoalan Lintasan Terpendek Suatu graf dengan Algoritma Dijkstra dan Algoritma Bellman-ford, Bandung, Institut Teknologi Bandung. [7] Prasetyo, V 2013, Peneranpan Algoritma Dijkstra Untuk Perutean Adaptif Pada Jaringan Pendistribusian Air PDAM Di Kabupaten Demak, Semarang, Universitas Negeri Semarang. [8] Puspika, B., Rachmat, A., & Kurniawan, E 2012, Implementasi Algoritma Dijkstra Dalam Penentuan Jalur Terpendek Di Yogyakarta Menggunakan GPS dan Qt Geolocation (Vol. 8), Yogyakarta, Universitas Kristen Duta Wacana. [9] Siswanto 2011, Algoritma dan Struktur Data Non Linier Dengan Java, Yogyakarta, Graha Ilmu.
  • 8. [10] Yulianto, W., Nurafrianto, S. W., Damar, H. W., & Purnama, J 2007, Implementation of Dijkstra Algorithm to Track Location in a Mall, Tangerang, Swiss German University. [11] Chamero, J 2006. Dijkstra’s Algorithm As a Dynamic Programming Strategy, diakses 20 Mei 2015, <http://www.intag.org/downloads/ds_006.pdf >. [12] Nurhayati, Oky D 2010, Dasar Algoritma, diakses 28 Mei 2015, <http://eprints.undip.ac.id/18630/1/pertemuan 2.pdf>.