Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017 ISSN 2301-9425 (Media Cetak) Hal: 223-227
PERANCANGAN APLIKASI MENCARI JALAN TERPENDEK KOTA MEDAN MENGGUNAKAN ALGORITMA DJIKSTRA Fitria Ariska Mahasiswa Teknik Informatika STMIK Budi Darma Jl. Sisingamangaraja No. 338 Simpanglimun Medan ABSTRAK Algoritma Djikstra menurut penemunya seorang ilmuwan komputer Edager Djikstra adalah sebuah algoritma rakus yang dipakai untuk memecahkan masalah dalam penentuan jalur terpendek. Persoalan ini sering diimplementasikan dengan bentuk graph. Teori graph merupakan pokok bahasan yang usianya sudah tua, namun memiliki banyak tarapan sampai saat ini. Graph digunakan untuk mempersentasekan diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graph adalah dengan menyatakan objek dinyatakan sebagai bulatan atan. Dengan menggunakan Aplikasi Penentuan Rute Terpendek Menggunakan Algoritma Dijkstra sehingga aplikasi tersebut layak untuk digunakan. Namun hal itu tergantung pada persoalan-persoalan yang dihadapi. Maka dengan menggunakan metode algoritma Djikstra akan membantu pencarian waktu yang efisien yang menggunakan proses-proses yang sebagian besar dilakukan secara acak, dan menghasilkan solusi yang bagus dengan kecepatan yang cepat. Kata Kunci: Algoritma Dijkstra, Rute Terpendek
I. PENDAHULUAN Perangkat Lunak Aplikasi (software application) adalah suatu sub kelas perangkat lunak komputer yang memanfaatkan kemampuan langsung untuk melakukan suatu tugas yang diinginkan pengguna. Manfaat software sebagai sarana untuk merubah data jenis dan memberikan seluruh hasil laporan dari menu-menu aplikasi sangat mudah dioperasikan bagi setiap user oleh sebab itu dapat meningkatkan kinerja. Medan dikenal sebagai kota wisata dan salah satu kota besar di Indonesia. Kulinernya yang terkenal lezat, objek religi dan lainnya yang terkenal dengan keindahan alamnya, dan perkembangan pusat pembelanjaan khususnya dalam bidang market seperti Mall yang pesat beberapa tahun terakhir ini membuat Medan menjadi tujuan wisata yang layak untuk dikunjungi. Berdasarkan hasil pengamatan di lapangan dan jalan-jalan di kota besar sangat membingungkan karena Medan adalah salah satu kota besar di Indonesia, walau pemetaan kota Medan yang cukup lumayan baik,tetapi pendatang masih dihadapkan kebingungan dengan jalan- jalan kota Medan,dengan itu pendatang menjadi kesulitan untuk mencari jalan yang dituju, dan pendatang pun kebingungan untuk mencari rute menuju tujuan serta memilih jenis transportasi. Karena permasalahan di atas maka di perlukan sebuah sistem yang membantu informasikan rute jalan yang harus dilalui menuju jalan tujuan dengan waktu yang efisien untuk mendukung kemajuan pariwisata kota Medan, dengan dukungan informasi dari Dinas Perhubungan Provinsi Sumatera Utara.Agar pemilihan rute jalan bisa sesuai dengan kriteria yang diharapkan, perlu dilakukan proses penyeleksian rute jalan terlebih dahulu. Namun dikarenakan penyeleksian rute jalan yang masih manual tidak mungkin dilakukan, maka dibutuhkan waktu lebih dan kecermatan dalam proses untuk menentukan rute terpendek.
Peneletian yang dilakukan oleh Shaga Bogas Priatmoko yang berjudul” Algoritma Djikstra Untuk Pencarian Rute Terdekat Dan Rekomendasi Objek Parawisata Dipulau Bali” Dalam penyelesaian rute terpendek tersebut sistem memerlukan suatu metode yang dapat digunakan untuk membantu pencarian rute terpendek, Dari beberapa cara yang ada yang sesuai untuk pencarian rute terpendek adalah dengan menggunakan Algoritma Djikstra. Algoritma ini dipilih karena dapat menyelesaikan pencarian rute terpendek dari satu simpul kesemua simpul yang ada pada suatu graf berarah dengan bobot dan nilai tidak negative. Metode yang digunakan untuk pencarian rute terpendek tersebut adalah Algoritma Djikstra , karena Algoritma Djikstra menurut penemunya seorang ilmuwan komputer Edager Djikstra adalah sebuah algoritma rakus yang dipakai untuk memecahkan masalah dalam penentuan jalur terpendek. Persoalan ini sering diimplementasikan dengan bentuk graph. Teori graph merupakan pokok bahasan yang usianya sudah tua, namun memiliki banyak tarapan sampai saat ini. Graph digunakan untuk mempersentasekan diskrit dan hubungan antara objek-objek tersebut. Representasi visual dari graph adalah dengan menyatakan objek dinyatakan sebagai bulatan. II. TEORITIS A. Graf Secara matematis Graf didefenisikan sebagai pasangan himpunan (v, e) di tulis dengan notasi G=(V, E) yang dalam hal ini V adalah himpumam tidak kosong dari simpul-simpul (vertices dan node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul. Jadi defenisi diatas menyatakan bahwa V tidak boleh kosong , sedangkan E boleh kosong. Suatu graf dimungkinkan tidak mempunyai sisi satu buahpun, tetepi simpulnya harus ada, minimal satu. Graf yang hanya mempunyai satu buah simpul 223
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017 ISSN 2301-9425 (Media Cetak) Hal: 223-227
tanpa sebuah sisi dainamakaan graf trivitalsederhana (Rinaldi Munir, 2012).
4.
Untuk setiap vj∈V, w* (1,j) = D (j)
III. ANALISA dan PEMBAHASAN Pencarian Jalur Terpendek ini merupakan masalah untuk mencari rute atau lintasan terpendek yang bisa dilalui pengunjung yang ingin mengunjungi beberapa titik objek tanpa harus mendatangi objek wisata yang sama lebih dari satu kali, dan kemudian akan kembali ke objek awal. Permasalahan pencarian terpendek merupakan salah satu topik teori graf yang menarik bagi banyak peneliti. Gambar 1. Contoh Graf B. Lintasan Terpendek Persoalan mencari lintasan terpendekdidalam graf merupakan salah satupersoalan optimasi.Graf yang digunakan dalam pencarian lintasan terpendek adalah graf berbobot (weighted graph), yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot. Bobot pada sisi graf menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan adalah bahwa setiap bobot bernilai positif. Kata terpendek jangan selalu diartiakan secara fisik sebagai panjang minimum, sebab kata terpendek berbeda-beda maknanya bergantung pada tivikal persoalan yang akan diselesaikan. Namun secara umum terpendek berarti meminimisasi bobot pada suatu lintasan di dalam graf.Contoh-contoh terapan pencarian lintasan terpendek(Sumber : Rinaldi Munir, Matematika Diskrit, 2012). C. Algoritma Djiksra Algoritma Djikstra yang ditemukan oleh Djikstraa untuk mencari path terpendek merupakan algoritma yang lebih efesien.Dibandingkan algoritma wharshall, meskipun implementasinya juga lebih sukar. Misalkan G adalah graf berarah berlebel dengan titiktitik V(G)= {v1, v2 ...,vn}danpath terpendek yang dicari adalah dari v1 ke vn.Algoritma Djikstra dimulai dari titik v1.Dalam iterasinya, algoritma akan mencari satu titik yang jumlah bobotnya dari 1 terkecil. Titik-titik yang terpilih dipisahkan, dan titik-titik tersebut tidak diperhatikan lagi dalam iterasberikutnya. Misalkan: V(G) ={v1,v2,...vn}. L =Himpunan titik-titk∈V(G) yang sudah terpilih dalam jalur pathterpende D (j) = Jumlah bobot path terkecil v1 ke v2. W (i,j) = Bobot garis dari titik v1ke titik vj. W*(1,j) = Jumlah bobot path terkecil dari v1 ke vj. Secara formal, algoritma Djikstra untuk mencari path terpendek adalah sebagai berikut: 1. L = { }; V = { v2, v3,...,vn}. 2. Untuk i = 2, ..., n, lakukan D (i) = W (1,i) 3. Selama vn ∈L lakukan : a. Pilih titik vk ∈V-L dengan D (k) terkecil L= L ∪ {vk} b. Untuk setiap vj ∈ V-L lakukan : Jika D (j) >D (k) + W (kj) maka ganti D (j) dengan D (k) + W(k,j)
Gambar 2. Peta Kota Medan Penyelesaian menggunakan algoritma Djisktra menghasilkan solusi dengan rute perjalanan yang memiliki jarak terpendek. Penyelesaian perhitungan menggunakan algoritma Djisktra muncul dua kasus, yaitu kasus khusus solusi tidak tunggal dan kasus khusus satu arah. Algoritma Djisktra berhasil dibuat menjadi perangkat lunak, sehingga proses perhitungan dan penentuan rute terdekat akan jauh lebih cepat dibandingkan dengan perhitungan secara manual .Hasil yang didapatkan antara perhitungan dengan program algoritma Djisktra sama dengan perhitungan secara manual. Perbedaan hanya dalam perhitungan kasus khusus solusi tidak tunggal. Hal ini dikarenakan dalam perhitungan menggunakan program algoritma Djisktra, hanya memilih salah satu dari biaya penyisipan objek paling minimal yang ada, sedangkan jika dihitung secara manual ,maka semua kemungkinan yang ada dicoba untuk mendapatkan solusi yang optimal. Berikut ini adalah tata urutan algoritma Djisktra : a. Penelusuran dimulai dari sebuah objek pertama yang dihubungkan dengan sebuah objek terakhir. b. Dibuat sebuah hubungan subtour antara 2 objek tersebut. Yang dimaksud subtour adalah perjalanan dari objek pertama dan berakhir di objek pertama, misalnya (1,3)(3,2) (2,1) seperti tergambar dalam gambar 3.2.
224
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017 ISSN 2301-9425 (Media Cetak) Hal: 223-227
a. b. c.
3
Tabel 2. Arc Penambah Subtourke 1 Tambah Arc yang Arc yang an ditambahkan ke akan diganti Jarak subtour
1
2
(1,5) (Medan Tuntungan,M edan Johor)
Gambar 3. Subtour c.
d.
Ganti salah satu arah hubungan (arc) dari dua objek dengan kombinasi dua arc, yaitu arc (i,j) dengan arc (i,k) dan arc (k,j), dengan k diambil dari objekyang belum masuk subtour dan dengan tambahan jarak terkecil. Jarak diperoleh dari: Cik + Ckj - Cij Dimana Cik = jarak dari objek i ke objek k, Ckj =jarak dari objek k ke objek j dan Cij = adalah jarak dari objek i ke objek j
(1,5) (Medan Tuntungan,M edan Johor) (1,5) (Medan Tuntungan,M edan Johor) (5,1) (Medan Johor,Medan Tuntungan)
Ulangi langkah 3 sampai seluruh objek masuk dalam subtour Sebagai contoh diberikan 5 objek dengan jarak antar objek dan dengan menggunakan Sepeda Motor atau Mobil untuk menempuh Objek tersebut,seperti tertera dalam tabel 1 dibawah ini.
(5,1) (Medan Johor,Medan Tuntungan)
Tabel 1 Jarak Antar Objek Objek Asal 1(Medan Tuntungan) 1(Medan Tuntungan) 1(Medan Tuntungan) 1(Medan Tuntungan) 2(Istana Maimun) 2(Istana Maimun) 2(Istana Maimun) 3(Medan Area) 3(Medan Area) 4(Medan Baru)
Ambil perjalanan dari objek 1 ke 5 Buat jalur dari (1,5) (5,1) Buat tabel yang menyimpan objek yang bisa disisipkan dalam jalur beserta tambahan jaraknya, seperti ditampilkan dalam tabel 2.
Objek Tujuan 2(Istana Maimun) 3(Medan Area)
Jarak 40
4(Medan Baru)
30
5(Medan Johor) 3(Medan Area)
19
(5,1) (Medan Johor,Medan Tuntungan)
50
(1,2) – (2,5) (Medan Tuntungan,Maimun ) – (Maimun,Medan Johor) (1,3) – (3,5) (MedanTuntungan, Medan Area) – (Medan Area,Medan Johor) (1,4) – (4,5) (MedanTuntungan, Medan Baru)(Medan Baru,Medan Johor) (5,2) – (2,1) (Medan Johor,Maimun)(Maimun,Medan Tuntungan) (5,3) – (3,1) (Medan Johor,Medan Area)(Medan Area,Medan Tuntungan) (5,4) – (4,1) (Medan Johor,Medan Baru)(Medan Baru,Medan Tuntungan)
C12 + C25 + C15 = 88
C13 + C35 + C15 = 108
C14 + C45 + C15 = 83
C52 + C21 + C51 = 88
C52 + C31 + C51 =108
C54 + C41 + C51 = 83
17
4(Medan Baru)
15
5(Medan Johor) 4(Medan Baru) 5(Medan Johor) 5(Medan Johor)
29
Dari tabel 2 diperoleh tambahan jarak terkecil apabila arc(1,5) diganti dengan arc(1,4) dan arc(4,5) atau arc(5,1) diganti dengan arc(5,4) dan arc(4,1). dari kemungkinan tersebut,bisa dipilih salah satu. Misal dipilih kemungkinan pertama maka subtour yang baru menjadi (1,4) (4,5) (5,1)
37 39 34
Untuk mencari jarak terpendek melalui ke 5 objek tersebut sebagaimana terdapat dalam tabel 3.1, ambil langkah-langkah sebagai berikut:
d.
Selanjutnya dibuat tabel Arc Penambah Subtour ke 2 menyimpan objek yang bisa disisipkan dalam subtour beserta tambahan jaraknya, seperti ditampilkan dalam tabel 3. Tabel 3. Arc Penambah Subtourke 2 225
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017 ISSN 2301-9425 (Media Cetak) Hal: 223-227
Arc yang akan diganti (1,2)
Arc yang ditambahkan ke subtour (1,3) – (3,2)
(1,2)
(1,4) – (4,2)
(2,5)
(2,3) – (3,5)
(2,5)
(2,4) – (4,5)
(5,1)
(5,3) – (3,1)
(5,1)
(5,4) – (4,1)
Tambahan Jarak C13 + C32 + C12=107 C14 + C42 + C12=85 C23 + C35 + C25 =85 C52 + C21 + C51 =78 C53 + C31 + C51 =108 C54 + C41 + C51 =83
Dari tabel 3 diperoleh tambahan jarak terkecil adalah 83 dengan menggantikan arc(5,1) dengan arc(5,4) dan arc(4,1), sehingga subtour baru yang dihasilkan adalah: (5,4) (4,1) (2,5) (1,2) Tabel 4. Arc Penambah Subtourke 3 Arc yang Arc yang Tambahan akan ditambahkan Jarak diganti ke subtour (1,4) (1,3) – (3,4) C13 + C34 + C14=117 (4,2) (4,3) – (3,2) C43 + C32 + C42=69 (2,5) (2,3) – (3,5) C23 + C35 + C25 =85 (5,1) (5,3) – (3,1) C53 + C31 + C51 =108
Gambar 4. Form Menu Utama Form Cari Jalur Pada form ini digunakan sebagai untuk mencari jalur terpendek, yang gambarnya dapat dilihat seperti dibawah ini:
Dari tabel 4 diperoleh tambahan jarak terkecil adalah 69 dengan menggantikan arc(4,2) dengan arc(4,3) dan arc(3,2), sehingga subtour baru yang dihasilkan adalah(4,3) (3,2) (2,5) (5,1)(1,4). Dari langkah-langkah tersebut diatas dapat diperoleh lintasan terpendek untuk mengunjungi 5 objek adalah (4,3) (3,2) (2,5) (5,1) (1,4) IV. IMPLEMENTASI Form Menu Utama Form ini digunakan sebagai tampilan menu utama, yang gambarnya dapat dilihat seperti dibawah ini:
Gambar 5. Form Cari Jalur Form Jarak danTujuan Pada form ini digunakan sebagai membuat nnama jalan/objek baru serta jarak dari objek, yang gambarnya dapat dilihat seperti dibawah ini:
Gambar 6. Form Jarak dan Tujuan Form Koordinat 226
Jurnal Pelita Informatika, Volume 16, Nomor 3, Juli 2017 ISSN 2301-9425 (Media Cetak) Hal: 223-227
Pada form ini digunakan untuk membuat dan mengubah koordinat dari sebuah jalur/peta, yang gambarnya dapat dilihat seperti dibawah ini:
DAFTAR PUSTAKA 1. 2. 3. 4. 5.
6. 7.
Gata, Windu. (2013). Sukses Membangun Aplikasi Penjualan Dengan Java. Jakarta: Penerbit PT Elex Media Komputindo. Jek Siang, Jong. (2009). Matematika Diskrit dan Aplikasinya Pada Ilmu Komputer. Yogyakarta: Penerbit Andi Yogyakarta. Munir, Rinaldi. (2011). Algoritma & Pemrograman Dalam Bahasa Pascal dan C. Bandung: Penertbit Informatika Bandung. Munir, Rinaldi. (2012). Matematika Diskrit. Bandung: Penertbit Informatika Bandung. Nugroho, Adi. (2010). Rekayasa Perangkat Lunak Berorientasi Objek dengan Metode USDP. Yogyakarta: Penertbit Andi Yogyakarta. Sutabri, Tata. (2012). Analisis Sistem Informasi. Yogyakarta: Penertbit Andi Yogyakarta. Winarno, Edy. (2015). VB.NET Untuk Skripsi. Jakarta: PT Elex Media Komputindo.
Gambar 7. Form Koordiat Form Maps Pada form ini digunakan untuk melihat peta atau lokasi pengiriman, yang gambarnya dapat dilihat seperti dibawah ini:
Gambar 8. Form Maps V. KESIMPULAN Berdasarkan analisa beberapa hal yang dapat ditarik kesimpul setelah menulis skripsi ini adalah sebagai berikut: 1. Pencarian jalur terpendek dapat menggunakan metode pencarian graf, sehingga menemukan jarak yang lebih efesien. 2. Penerapan algoritma Djikstra pada aplikasi pencarian rute terpendek menghasilkan jarak yang lebih dekat, dengan ini penggunaan algoritma Djikstra dapat membantu user dalam mencari jalur terpendek 3. Aplikasi penentuan jalur terpendek telah selesai dirancang, dan dapat dijadikan sebagai aplikasi penentuan jalur terpendek 227