• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN FLOYD- WARSHALL UNTUK MENCARI RUTE TERPENDEK (STUDI KASUS: RUTE JAKARTA-JOGJA) NASKAH PUBLIKASI

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN FLOYD- WARSHALL UNTUK MENCARI RUTE TERPENDEK (STUDI KASUS: RUTE JAKARTA-JOGJA) NASKAH PUBLIKASI"

Copied!
7
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN

FLOYD-WARSHALL UNTUK MENCARI RUTE TERPENDEK

(STUDI KASUS: RUTE JAKARTA-JOGJA)

NASKAH PUBLIKASI

diajukan oleh

Gopinda Al Araaf

12.12.6435

kepada

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

YOGYAKARTA

2014

(2)
(3)

1

IMPLEMENTASI ALGORITMA BELLMAN-FORD DAN FLOYD-WARSHALL UNTUK

MENCARI RUTE TERPENDEK

(STUDI KASUS: RUTE JAKARTA-JOGJA)

Gopinda Al Araaf

)

, Nila Feby Puspitasari

2)

,

1)

Sistem Informasi STMIK AMIKOM Yogyakarta

2)

Teknik Informatika STMIK AMIKOM Yogyakarta

Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia 55283

Email : gopinda.a@students.amikom.ac.id1), nilafeby@amikom.ac.id2)

Abstract – Jakarta-Yogyakarta route is one of most popular route in Indonesia. Every day about a thousand of vehicles were crosses the path. Start from two wheeled vehicle to wheeled lot.

Especially at certain moments, the path could experience a surge in the number of vehicles is large enough. So sometimes also cause congestion on some roads. This is certainly an impact on travel time are getting longer.

This research aims to find the shortest route (read: alternative) between Jakarta to Yogyakarta. Floyd-Warshall and Bellman-Ford Algorithm is used to calculate the shortest route. This Software was designed by UML and Flowchart. Results of this research will be realized in the web-based software. So anyone can use it while they are connected the internet. Keyword: Floyd-Warshall Algorithm, Bellman-Ford Algorithm, implementation of algorithm, the shourtest path.

1. Pendahuluan

Dalam kehidupan sehari-hari, kita hampir selalu melakukan perjalanan dari suatu tempat ke tempat yang lain. Dari kota A ke kota B atau pun sebaliknya. Dan dalam melakukan perjalanan tersebut, tentu kita akan selalu mempertimbangkan tingkat efisiensi terhadap waktu dan jarak. Sehingga diperlukan suatu perencanaan yang terukur dalam penentuan rute terpendek

(shortest-path) antara dua tempat tersebut.

Rute Jakarta-Jogja adalah salah satu rute terpopuler di Indonesia. Hampir setiap hari ada ribuan kendaraan yang melintasi jalur tersebut. Ada sekitar puluhan bahkan ratusan jalan yang menghubungkan ke dua tempat tersebut. Sehingga kemungkinan jalan yang dapat dilalui pun akan semakin banyak dan beragam.

Bagi masyarakat awam, bepergian dari Jakarta ke Jogja atau pun sebaliknya tanpa petunjuk arah tentu saja merupakan suatu masalah. Jalur tersebut terlintasi ratusan bahkan mungkin ribuan jalan. Sehingga kemungkinan untuk nyasar pun semakin besar. Maka sangat diperlukan untuk diciptakan suatu alat yang tidak hanya mampu menunjukkan arah, tapi juga dapat menunjukkan jalur tercepat. Sehingga waktu perjalanan pun tidak terbuang sia-sia.

1.1 Rumusan Masalah

Berdasarkan uraian yang di atas, maka berikut adalah rumusan masalah yang diangkat dalam penelitian ini: Bagaimana merancang suatu aplikasi yang dapat menentukan rute terpendek (shortest-path) antara Jakarta-Jogja dengan menggunakan algoritma Bellman-ford dan Floyd-Warshall-Ford?

1.2 Tujuan Penelitian

1. Menghasilkan suatu aplikasi yang dapat menghitung rute terpendek (shortest-path) dengan menggunakan algoritma Floyd-Warshall atau Bellman-Ford.

2. Membandingkan informasi yang dihasilkan oleh algoritma Floyd-Warshall dan Bellman-Ford.

1.3 Metodologi Penelitian

Dalam penelitian ini, penulis tidak melakukan observasi langsung di lapangan. Melainkan hanya menggunakan data-data GPS yang telah tersedia secara gratis oleh aplikasi Google Maps. Sehingga dalam hal ini, metode penelitian yang digunakan hanyalah metode kepustakaan.

(4)

2

2. Landasan Teori

2.1 Teori Graf

Teori graf pertama kali muncul pada tahun 1736. Ketika itu permasalahan yang akan diselesaikan adalah mencari suatu rute agar dapat melewati ketujuh Jembatan Könsigsberg (Gambar 2.1) tepat satu kali dan kemudian kembali lagi ke titik semula Teori graf didefinisikan sebagai pasangan himpunan (V,E) yang ditulis dengan notasi G=(V,E). Dimana V adalah himpunan tidak-kosong dari simpul-simpul (vertices atau simpul) dan E adalah himpunan sisi (edge atau arcs) yang menghubungkan sepasang simpul. [1]

2.2 Global Positioning System (GPS)

GPS adalah sistem yang digunakan untuk menentukan letak di permukaan bumi dengan bantuan penyelarasan (synchronization) sinyal satelit. Sistem ini menggunakan 24 satelit untuk mengirimkan sinyal gelombang mikro ke Bumi. Sinyal tersebut kemudian diterima oleh alat penerima di permukaan bumi dan digunakan untuk menentukan letak, kecepatan, arah dan waktu. Sistem yang serupa dengan GPS antara lain, GLONASS dari Rusia, Galileo dari Uni Eropa, dan IRNSS dari India. [2]

2.3 Google Maps

Google Maps mapping service adalah sebuah aplikasi berbasis online yang memberikan informasi kepada penggunanya dengan berbagai fitur-fitur peta, seperti: tampilan street-map, arahan kemudi point-to-point, serta jalur-jalur untuk mencari lokasi bisnis di berbagai kota. Dengan tambahan street-map dan terrain view, satellite atau aerial view, dapat memberikan kemudahan bagi penggunanya dalam menggunakan perangkat tersebut. Selain itu, aplikasi ini juga bisa diakses dari mana saja dan dengan perangkat apa saja— selagi masih terkoneksi dengan internet (Frazel, 2009).

2.4 Algoritma Bellman-Ford

Algoritma Bellman-Ford adalah algoritma yang digunakan untuk mencari rute terpendek (dari satu sumber) pada sebuah graf berbobot. Artinya, dalam mencari solusi jalur terpendek, algoritma Bellman-Ford akan menghitung setiap semua jarak terpendek yang berasal dari satu titik node/simpul. Dalam penerapannya, algoritma ini hanya digunakan jika ada sisi berbobot negatif.

Sebagai contoh seperti yang ditunjukkan pada Gambar 1 di bawah ini.

Gambar 1 salah satu contoh graf dengan sisi bernilai

negatif

Dalam algoritma Bellman-Ford, apabila ingin dicari lintas dengan bobot paling sedikit dari simpul bernomor 1 ke simpul bernomor 2, maka lintasannya adalah 1-4-3-2, sehingga bobot yang didapat adalah 7-3-2=2

Berikut algoritma Bellman-Ford jika disajikan dalam bentuk notasi matematika:

M [i,v] = min( M [i-1,v] , ( M [i-1,n]+ Cvn))

i = iterasi, v = vertex = node, n = node neighbor, C = cost

2.5 Algoritma Floyd-Warshall

Algoritma Floyd-Warshall ditemukan oleh R. Floyd.

Algoritma Floyd merupakan algoritma yang dapat digunakan untuk membangun sebuah sistem yang membutuhkan mekanisme pencarian jalur tercepat. Sementara Floyd, merupakan suatu algoritma untuk mencari jalur atau lintasan terpendek pada suatu graf berbobot (weighted graph). Algoritma ini juga dapat melakukan analisis dan penyelesaian kerumitan terhadap suatu proses. [3] (Purwanto, 2005).

Algoritma ini adalah salah satu dari beberapa varian dari pemrograman dinamis. Yaitu suatu metode pemecahan masalah yang didapat dari kesimpulan-kesimpulan yang ada.

Dalam melakukan pencarian solusi, algoritma Floyd-Warshall melakukan pemecahan masalah dengan memandang solusi yang akan diperoleh sebagai suatu keputusan yang saling terkait. Artinya, dalam mengambil kesimpulan, algoritma Floyd-Warshall akan mengacu pada kesimpulan-kesimpulan sebelumnya.

Sebagai gambaran, berikut contoh pencarian rute oleh algoritma Floyd-Warshall yang tunjukkan pada Gambar 2.

(5)

3

Gambar 2 Contoh Rute

Dalam contoh di atas, diumpakan akan mencari rute terpendek dari simpul A ke simpul C. Maka yang akan dilakukan oleh algoritma Floyd-Warshall adalah:

1. Menghitung nilai jarak simpul yang dapat dijangkau.

2. Membandingkan nilai jarak tersebut dan memilih nilai jarak terendah.

3. Jika jarak antara simpul A-C lebih rendah dari pada jarak A-C melalui B, maka pilih opsi pertama. Jika tidak pilih opsi kedua.

Maka dalam implementasinya, untuk menuju simpul C, algoritma Floyd-Warshall akan melewati simpul A-B-D-C.

Berikut algoritma Floyd-Warshall jika disajikan dalam bentuk notasi matematika:

f(i, j, 0) = cost(i, j)

f(i, j, k) = min(f(i, k, k − 1) + f(k, j, k − 1), f(i, j, k − 1)) i,j,k: simpul

3. Pembahasan 3.1 Pemodelan Sistem

Pemodelan sistem yang akan dibangun pada penelitian ini adalah menggunakan bahasa pemrograman PHP. Pemodelan yang dibuat dalam optimasi pencarian rute terpendek ini menggunakan titik koordinat GPS antara lokasi awal atau asal dan lokasi akhir atau tujuan sebagai. Sedangkan dalam implemantasinya, penelitian ini akan menggunakan dua metode sekaligus, yaitu: metode Bellman-Ford dan Floyd-Warshall. Parameter-prameter yang digunakan dalam penelitian ini antara lain: koordinat lokasi (awal dan akhir), jalur, jarak antara simpul atau node, dan jarak total yang dihasilkan antara titik awal dan akhir.

3.2 Pemodelan Algoritma Bellman-Ford dan Floyd-Warshall

Pada pemodelan menggunakan algoritma Bellman-Ford dan Floyd-Warshall, akan dilakukan sebuah implementasi pencarian rute terpendek dari dua titik,

yaitu titik asal dan titik tujuan. Ada beberapa hal yang harus dirancang dalam rangka implementasi algoritma Bellman-Ford ini, yaitu fungsi obyektif (cost function), penentuan titik asal dan titik tujuan, baru kemudian dilakukan proses iterasi atau pencarian rute. Tiap hal tersebut akan diuraikan sebagai berikut:

a) Fungsi Obyektif

Fungsi obyektif yang dicari dalam implementasi ini adalah nilai jarak minimum antara Jakarta dan Yogyakarta.

b) Penentuan titik asal dan titik tujuan

Titik asal dan titik tujuan adalah lokasi yang menjadi acuan dari algoritma atau sistem dalam membangun rute. Dalam penelitian ini, lokasi asal dan lokasi tujuan ditentukan ke menjadi beberapa tempat. Sehingga pengguna dapat memilih salah satu di antaranya.

c) Proses iterasi

Proses iterasi dilakukan untuk mencari nilai jarak terendah antara Jakarta dan Yogyakarta setelah dilakukan penentuan lokasi seperti yang telah disebutkan di atas. Secara acak, sistem akan mencari rute terdekat berdasarkan pendekatan masing-masing algoritma.

Berdasarkan uraian di atas, akan dikembangkan sebuah pemodelan menggunakan algoritma Bellman-Ford dan Floyd-Warshall untuk pencarian rute terpendek antara Jakarta dan Yogyakarta seperti yang ditunjukkan pada Gambar 2 dan Gambar 3.

(6)

4

Berikut akan dijelaskan secara detil proses iterasi dari algoritma Bellman-Ford seperti yang tersaji pada Gambar 3 di atas.

1. Aplikasi dijalankan. Dalam tahapan ini, akan diaktifkan aplikasi Xampp dan kemudian membuka program menggunakan aplikasi

browser dan mengetik

localhost:8080/implementasi_algoritma pada kolom address bar.

2. Aplikasi akan mengambil seluruh data jalur dari database.

3. Selanjutnya dilakukan tahap inisiasi; setiap nilai jarak D dari i akan diberi nilai awal tak terdefinisi, dengan semua i tidak sama dengan d dan untuk jarak D dari node d bernilai 0. Dimana D adalah nilai jarak masing-masing simpul yang terdapat di dalam database, sementara i menunjukkan urutan simpul, dan d adalah simpul tujuan (destination).

4. Langkah selanjutnya adalah membandingkan nilai atau bobot simpul. Pada langkah ini, nilai D pada simpul i diperbaharui dengan mengecek nilai yang dari penjumlahan nilai jarak C antara simpul i dan j dengan nilai jarak D dari simpul j, untuk setiap i yang tidak sama dengan j. Sebagai catatan, nilai D adalah nilai bobot yang berada pada tabel in-progress, sementara nilai C adalah nilai yang berada pada simpul tabel yang diketahui.

5. Setelah melakukan perhitungan seperti pada langkah no. 4, algoritma Bellman-Ford akan mengecek baris iterasi pada tabel; jika baris iterasi x sama dengan baris iterasi x-1, maka proses dihentikan. Akan langsung ke tahap cetak jalur. Namun jika belum, akan kembali ke langkah no.4 dan melakukan perulangan hingga statement iterasi x = iterasi x-1.

Gambar 4 Flowchart Algoritma Floyd-Warshall

Setelah dijelaskan proses pencarian rute berdasarkan algoritma Bellman-Ford, selanjutkan akan dijelaskan pula proses pencarian rute dari algoritma Floyd-Warshall.

Berdasarkan flowchart di atas, berikut ini dijelaskan secara detil proses iterasi dari algoritma Floyd-Warshall.

1. Aplikasi dijalankan. Dalam tahapan ini, akan diaktifkan aplikasi Xampp dan kemudian membuka program menggunakan aplikasi

browser dan mengetik

localhost:8080/implementasi_algoritma pada kolom address bar.

2. Mengambil data jalur dari database.

3. Selanjutnya algoritma akan melakukan inisiasi awal; simpul i dan simpul j bernilai awal nol. Kemudian diberikan statement,jika jarak simpul i ke j kurang dari tak-terdefinisi, maka jarak yang digunakan adalah nilai dari i.

4. Memeriksa nilai bobot simpul pada tiap simpul yang dapat dijangkau langsung dari simpul awal. Pilih simpul dengan nilai jarak terkecil kemudian kemudian menuliskannya pada label jarak sementara serta ditambahkan pula urutannya (iterasi).

5. Masukan nilai jarak sementara pada tiap simpul yang belum memiliki urutan dan jarak. Nilainya adalah penjumlahan antara nilai bobot dari simpul sebelumnya dan simpul yang dijalankan. Jika simpul tersebut sudah memiliki nilai, maka hanya diganti jika nilai penjumlahan tadi lebih kecil dibanding nilai semula.

(7)

5

6. Kemudian aplikasi akan mengecek simpul. Jika belum menemukan simpul tujuan, maka proses pada langkah ke-5 akan terus dijalankan.

7. Selanjutnya aplikasi akan diperintahkan untuk mencetak jalur yang harus dilalui. Cetak jalur terjadi jika simpul tujuan = iterasi (x-1).

8. Kemudian aplikasi akan melakukan pengecekan nilai bobot simpul dari simpul tujuan ke simpul asal. Sayaratnya: selisih graph harus mendekati 0 tapi tidak bernilai negatif. Jika syarat terpenuhi, maka aplikasi akan memilih jalur tersebut. 9. Langkah ini akan terus berjalan hingga bertemu

pada simpul tujuan. 10. Selesai.

3.3 Hasil Implementasi Algoritma

Tabel 1 Pengujian Pencarian Rute TMII (Jakarta) –

STMIK Amikom (Yogyakarta) Algoritma Titik asal Titik tujuan Jarak (m) Waktu (s) Bellman-Ford STMIK Amikom TMII 530609,632 0,0100 Floyd-Warshall STMIK Amikom TMII 530609,632 0,0300

Tabel 2 Hasil Pengujian TMII-Malioboro

Algoritma Titik asal Titik tujuan Jarak (m) Waktu (s) Bellman-Ford TMII Jl. Malioboro 530609,632 0,00300 Floyd-Warshall TMII Jl. Malioboro 530609,632 0,02000 4.Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan oleh peneliti seperti yang telah diuraikan di atas, maka berikut ini beberapa kesimpulan yang bisa diambil:

1) Algoritma Bellman-Ford dan Floyd-Warshall menghasilkan output yang sama. Sehingga dapat disimpulkan bahwa algoritma Bellman-Ford dan

Floyd-Warshall adalah sama dalam artian yang sebenarnya. Artinya, untuk menentukan rute terdekat antara dua titik, bisa menggunakan algoritma Bellman-Ford atau Floyd-Warshall. 2) Algoritma Bellman-Ford dan Floyd-Warshall layak

dijadikan referensi untuk mencari rute terdekat antara dua simpul. Hal ini karena kedua algoritma di atas mampu menghasilkan jarak yang lebih dekat, dengan waktu proses yang lebih cepat pula tentunya, jika dibandingkan dengan metode pencarian rute secara manual.

Daftar Pustaka

[1] Munir, Rinaldi. 2005. Matematika Diskrit. Bandung: Penerbit Informatika.

[2] Winardi. 2006. Penentuan Posisi Dengan GPS Untuk Survei Terumbu Karang. Jakarta: Puslit Oseanografi—Lipi.

[3] Purwanto, Taufik H. 2004. Pemodelan Spasial Dengan Sistem Informasi Geografis untuk Analisis Jaringan Kemacetan Lalulintas Di Kotamadya Yogyakarta. Yogyakarta: Prodi Kartografi dan Penginderaan Jauh Fakultas Geografi UGM

Biodata Penulis

Gopinda Al Araaf, memperoleh gelar Sarjana Komputer

(S.Kom), Jurusan Sistem Informasi STMIK AMIKOM Yogyakarta, lulus tahun 2016. Saat ini menjadi freelance

web programmer dan penulis konten.

Nila Feby Puspitasari, memperoleh gelar Sarjana

Komputer (S.Kom), Jurusan Teknik Informatika STMIK AMIKOM Yogyakarta. Memperoleh gelar Master of Computer Sience (M.Cs) Program Pasca Sarjana Magister Teknologi Informasi Fakultas Ilmu Komputer Universitas Gajah Mada Yogyakarta, lulus tahun 2014. Saat ini menjadi Dosen di STMIK AMIKOM Yogyakarta.

Gambar

Gambar 1 salah satu contoh graf dengan sisi bernilai  negatif
Gambar 4 Flowchart Algoritma Floyd-Warshall  Setelah  dijelaskan  proses  pencarian  rute  berdasarkan  algoritma  Bellman-Ford,  selanjutkan  akan  dijelaskan  pula  proses  pencarian  rute  dari  algoritma   Floyd-Warshall
Tabel 1 Pengujian Pencarian Rute TMII (Jakarta) –  STMIK Amikom (Yogyakarta)

Referensi

Dokumen terkait

rute yang akan dicoba dengan menggunakan kedua algoritma tersebut adalah Jalan. Sei Padang menuju

rute SPBU dengan urutan jarak paling pendek menggunakan algoritma Bellman-Ford. Untuk mendapatkan tampilan dalam bentuk peta dan rute yang akan dilewati, user. dapat

pada penelitian ini digunakan Algoritma Bellman-Ford, untuk menentukan lintasan terpendek untuk 31 titik batas jalan yang terdapat di 15 nama jalan yang ada di Salah satu

Tujuan penelitian tugas akhir ini adalah mendapatkan solusi lintasan terpendek yang terbaik dengan menggunakan algoritma Bellman-Ford pada jalur pengangkutan kelapa sawit di

Judul : IMPLEMENTASI ALGORITMA BELLMAN-FORD DALAM PENCARIAN SEKOLAH TAMAN KANAK-KANAK (TK) TERDEKAT DI KOTA MEDAN BERBASIS SISTEM INFORMASI GEOGRAFIS.. Kategori

Dari hasil pengujian menyimpulkan bahwa dengan menggunakan GPS dan algoritma Bellman-Ford pada aplikasi android maka aplikasi ini dapat menampilkan tiga

Seperti yang terlihat pada Gambar 4, interaksi antara pengguna (user) dengan aplikasi adalah sebagai berikut: (1) User membuka aplikasi terlebih dahulu; (2) User akan diminta

Gambar 6 merupakan tahapan awal dalam Algoritma Bellman-Ford yaitu menggambarkan masing-masing node dan graf yang saling terhubung mewakili masing- masing jalur