ABSTRAK. Kata kunci : algoritma Dijkstra, budget, jarak terpendek

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORITIS

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

BAB 2 LANDASAN TEORI

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA DIJKSTRA PADA PERMASALAHAN LINTASAN TERPENDEK OBJEK WISATA ALAM KOTA KUPANG BERBASIS WEB

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Matematika dan Statistika

BAB 2 LANDASAN TEORI

APLIKASI PENCARIAN RUTE TERPENDEK DAERAH WISATA KOTA KEDIRI MENGGUNAKAN ALGORITMA DIJKSTRA SKRIPSI

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

BAB II LANDASAN TEORI

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

PERANCANGAN APLIKASI MENCARI JALAN TERPENDEK KOTA MEDAN MENGGUNAKAN ALGORITMA DJIKSTRA

BAB II LANDASAN TEORI

IMPLEMENTASI ALGORITMA DIJKSTRA UNTUK MENENTUKAN JALUR TERPENDEK WILAYAH PISANGAN DAN KAMPUS NUSA MANDIRI TANGERANG

BAB II TINJAUAN PUSTAKA

UJM 3 (1) (2014) UNNES Journal of Mathematics.

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

BAB II TINJAUAN PUSTAKA

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

GRAF. V3 e5. V = {v 1, v 2, v 3, v 4 } E = {e 1, e 2, e 3, e 4, e 5 } E = {(v 1,v 2 ), (v 1,v 2 ), (v 1,v 3 ), (v 2,v 3 ), (v 3,v 3 )}

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

BAB II LANDASAN TEORI

BAB 1 PENDAHULUAN. Persoalan lintasan terpanjang (longest path) merupakan persoalan dalam mencari

BAB 2 LANDASAN TEORI

BAB II TINJAUAN PUSTAKA. a) Purwadhi (1994) dalam Husein (2006) menyatakan: perangkat keras (hardware), perangkat lunak (software), dan data, serta

BAB 2 LANDASAN TEORI

Penerapan Graf dalam Optimasi Jalur Penerbangan Komersial dengan Floyd-Warshall Algorithm

BAB III ANALISIS DAN DESAIN SISTEM

Diktat Algoritma dan Struktur Data 2

LANDASAN TEORI. Bab Konsep Dasar Graf. Definisi Graf

PENYELESAIAN MASALAH ALIRAN MAKSIMUM DENGAN MENGGUNAKAN ALGORITMA DIJKSTRA DAN ALGORITMA FORD-FULKERSON TUGAS AKHIR

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 2 TINJAUAN PUSTAKA

Penerapan Algoritma A* (A Star) Sebagai Solusi Pencarian Rute Terpendek Pada Maze

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pencarian Jalur Terpendek dengan Menggunakan Graf dan Greedy dalam Kehidupan Sehari-hari

BAB I PENDAHULUAN. dalam teori graf dikenal dengan masalah lintasan atau jalur terpendek (shortest

Pengaplikasian Graf dalam Menentukan Rute Angkutan Kota Tercepat

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN Dan W Petterson, Introduction To Artificial Intelligent and Expert System, Prentce Hall,1990,p.1.

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI

ALGORITMA MENCARI LINTASAN TERPENDEK

PENENTUAN RUTE TERPENDEK DENGAN METODE FLOYD WARSHALL PADA PETA DIGITAL UNIVERSITAS SUMATERA UTARA SKRIPSI DHYMAS EKO PRASETYO

IMPLEMENTASI HIERARCHICAL CLUSTERING DAN BRANCH AND BOUND PADA SIMULASI PENDISTRIBUSIAN PAKET POS

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

BAB II KAJIAN PUSTAKA. Sebuah graf G didefinisikan sebagai pasangan himpunan (V,E), dengan V

SEARCHING SIMULATION SHORTEST ROUTE OF BUS TRANSPORTATION TRANS JAKARTA INDONESIA USING ITERATIVE DEEPENING ALGORITHM AND DJIKSTRA ALGORITHM

RANCANG BANGUN SISTEM INFORMASI RUTE WISATA TERPENDEK BERBASIS ALGORITMA FLOYD-WARSHALL

PANDUAN PENCARIAN RUTE GEDUNG DAN RUANGAN PADA FAKULTAS DI UNIVERSITAS HALU OLEO MENGGUNAKAN ALGORITMA DIJKSTRA BERBASIS MACROMEDIA FLASH

Penerapan Teori Graf Pada Algoritma Routing

BAB 2 LANDASAN TEORI

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Algoritma Dijkstra Sebagai Dasar Pencarian Rute Tercepat pada Aplikasi Berbasis GPS Waze

PENDISTRIBUSIAN BARANG FARMASI MENGGUNAKAN ALGORITMA DIJKSTRA (STUDI KASUS : PT. AIR MAS CHEMICAL)

BAB 2 TINJAUAN PUSTAKA

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

BAB III ANALISA DAN DESAIN SISTEM. melakukan evaluasi terhadap Sistem Informasi Geografis Rute Terpendek Kantor

Simulasi Pencarian Rute Terpendek dengan Metode Algoritma A* (A-Star) Agus Gustriana ( )

Pengaplikasian Graf dan Algoritma Dijkstra dalam Masalah Penentuan Pengemudi Ojek Daring

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

BAB I PENDAHULUAN. Di tengah masyarakat dengan aktivitas yang tinggi, mobilitas menjadi hal yang penting.

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

BAB 2 LANDASAN TEORI

PERANCANGAN SISTEM INFORMASI GEOGRAFIS LOKASI WISATA MENGGUNAKAN METODE TABU SEARCH (STUDI KASUS : KOTA PEKANBARU) SKRIPSI LIRA MELADYA

Studi Algoritma Optimasi dalam Graf Berbobot

Elvira Firdausi Nuzula, Purwanto, dan Lucky Tri Oktoviana Universitas Negeri Malang

BAB 2 LANDASAN TEORI

PENGEMBANGAN LONGEST PATH ALGORITHM (LPA) DALAM RANGKA PENCARIAN LINTASAN TERPANJANG PADA GRAF BERSAMBUNG BERARAH BERUNTAI

ANALISIS ALGORITMA FLOYD UNTUK MENYELESAIKAN MASALAH PENCARIAN LINTASAN TERPENDEK PADA SETIAP PASANGAN SIMPUL

IKI 20100: Struktur Data & Algoritma

Perbandingan Algoritma Dijkstra dan Algoritma Bellman Ford pada Routing Jaringan Komputer

Program Dinamis (Dynamic Programming)

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN METODE TABU SEARCH

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Transkripsi:

ABSTRAK R.BACHTIAR PURNAMA. Penerapan Algoritma Dijkstra Dalam Aplikasi Pencarian Hotel Dan Tempat Wisata Berdasarkan Rute Terpendek Berbasis Web. Dibimbing oleh MAX ABR SOLEMAN LENGGU dan MARLINDA VASTY OVERBEEK. Kota Kupang merupakan salah satu ibukota di Indonesia yang terus berkembang di Provinsi NTT dari waktu ke waktu dalam hal ini banyaknya pembangunan hotel yang terjadi begitu pesat sehingga meningkatnya jumlah hotel di Kota Kupang diiringi dengan meningkatnya jumlah wisatawan yang berkunjung dari tahun ke tahun. Banyaknya pilihan hotel dengan berbagai fasilitas yang ada membuat para wisatawan yang datang ke Kota Kupang bingung untuk memilih kemana mereka harus menginap dalam pencarian hotel, estimasi biaya, fasilitas maupun jarak hotel merupakan faktor yang terpenting, maka dalam hal ini perlunya suatu cara optimasi jarak perjalanan ke hotel dengan mempertimbangkan faktor biaya atau budget serta fasilitas yang diinginkan oleh pengguna. Algoritma Dijkstra merupakan salah satu algoritma yang tepat dalam melakukan solusi optimasi jarak terpendek. Keuntungan dari algoritma dijkstra adalah dapat menentukan jalan tersingkat untuk menuju suatu tempat sehingga dapat mempersingkat waktu menuju tempat tujuan yang dilakukan secara manual. Dari percobaan akurasi pengujian pencarian rute terpedendek, diketahui nilai precision yang didapat adalah 75%, accuracy sebesar 87,5%, recall sebesar 100% dengan nilai f-measure sebesar 85,71%, yang dalam hal ini sistem bisa dikatakan baik dalam memberikan solusi optimal dalam pencarian rute terpendek. Kata kunci : algoritma Dijkstra, budget, jarak terpendek

ABSTRACT R.BACHTIAR PURNAMA. Application Of Dijkstra Algorithm In The Hotel Search Applications And Place Of Tourists Based On Shortest Routes Web Based. Supervised by MAX ABR SOLEMAN LENGGU AND MARLINDA VASTY OVERBEEK Kupang City is one of the capital cities in Indonesia that continues to grow in East Nusa Tenggara Province from time to time in this case the number of hotel development is happening so rapidly that the increasing number of hotels in Kupang City is accompanied by an increasing number of tourists visiting from year to year. The wide choice of hotels with various facilities that make the tourists who come to the city of Kupang confused to choose where they should stay in the search hotel, the estimated cost, facilities and distance of the hotel is the most important factor, then in this case the need for a way of optimizing the distance to travel hotels by considering the cost factor or budget as well as the facilities desired by the users. Dijkstra's algorithm is one of the best algorithms in doing the shortest distance optimization solution. The advantage of the dijkstra algorithm is that it can determine the shortest path to a place so as to shorten the time to the destination manually. From the experiments of accuracy of the shortest route search testing, it is known that the precision value obtained is 75%, accuracy of 87.5%, 100% recall with the f-measure value of 85.71%, in which case the system can be said to either provide solutions optimal in the shortest route search. Keywords : budget, dijkstra algorithm, shortest path.

1. PENDAHULUAN Latar Belakang Kota Kupang merupakan salah satu ibukota di Indonesia yang terus berkembang di Provinsi NTT dari waktu ke waktu, dalam hal ini pembangunan hotel yang terjadi begitu pesat sehingga meningkatnya jumlah hotel di Kota Kupang diiringi dengan meningkatnya jumlah wisatawan yang berkunjung dari tahun ke tahun. Selama tahun 2016 jumlah wisatawan yang berkunjung ke NTT baik domestik maupun mancanegara tercatat sebanyak 496 081 orang, untuk wisatawan domestik yang mengujungi Kota Kupang adalah 209,494 ribu orang sedangkan wisatawan mancanegara yang datang berkunjung sebanyak 6,045 ribu orang (Badan Pusat Statistik Provinsi Nusa Tenggara Timur, 2016), begitupun dengan jumlah hotel yang aktif beroperasi di Kota Kupang sampai pada tahun 2016 yakni sebanyak 32 hotel baik itu hotel bintang 2 sampai dengan bintang 4 (Dinas Pariwisata Dan Ekonomi Kreatif Kota Kupang, 2016). Jumlah wisatawan yang berkunjung ke Kota Kupang dari tahun ke tahun yang terus meningkat juga diikuti dengan jumlah hotel yang beroperasi di Kota Kupang. Belum adanya panduan arah yang memudahkan pencarian tempat wisata maupun hotel faktor utama yang kerap dihadapi oleh pengguna, kemudian diikuti faktor estimasi biaya perjalanan sebagai penentu kriteria penginapan. Belum adanya sarana promosi akan tempat penginapan menjadi salah satu kendala yang dihadapi oleh sebagian besar wisatawan baik domestik maupun mancanegara. Dalam pencarian hotel, estimasi biaya dan jarak hotel merupakan faktor yang terpenting, maka dalam hal ini perlunya suatu cara optimasi jarak perjalanan ke hotel dengan mempertimbangkan faktor estimasi biaya perjalanan dan juga jarak yang diinginkan oleh pengguna. Untuk mendukung penelitian ini, terdapat beberapa penelitian terdahulu yang dapat dijadikan sebagai acuan dalam memberikan solusi terkait dengan solusi optimasi pencarian, diantaranya penelitian yang dilakukan oleh (Setiawan et al.2012) telah melakukan penelitian tentang penentuan jalur ambulance untuk mencapai jalur tercepat ke tempat pasien yang dituju. Penelitian yang dilakukan oleh (Herli,2015) tentang implementasi web dinamis untuk menampilkan rute dan jarak terpendek. Mengacu pada penelitian sebelumnya yang sudah pernah membahas tentang penentuan jarak destinasi wisata dengan algoritma Dijkstra, maka pada penelitian ini akan dibangun sebuah aplikasi berbasis web yang dapat memberikan solusi optimasi kepada pengguna dalam melakukan pencarian wisata dan hotel terdekat dengan mempertimbangkan estimasi biaya perjalanan yang diinputkan oleh pengguna serta akumulasi jarak terpendek dengan menggunakan algoritma Dijkstra. Dari penelitian sebelumnya juga diketahui tingkat akurasi penelitian dengan algoritma Dijkstra yang mencapai 92%. Algoritma Dijkstra ini diterapkan untuk mencari lintasan terpendek pada graf berarah maupun graf tak berarah. Algoritma ini berkerja mencari lintasan terpendek dalam sejumlah langkah yang menggunakan prinsip Greedy. Prinsip inilah yang menyatakan bahwa setiap langkah yang kita pilih harus memiliki bobot minimum dan memasukannya pada himpunan solusi. Dengan menggunakan penerapan algoritma ini, pembuatan aplikasi berbasis web yang akan dibangun menjadi lebih baik dan menarik Hasil yang diharapkan adalah pengguna dapat menginput berapa lama durasi menginap hotel yang diinginkan serta lokasi destinasi wisata yang akan dituju. Nantinya sistem dapat melakukan pencarian lokasi wisata dan juga hotel terdekat dengan lokasi wisata sesuai dengan estimasi biaya perjalanan yang dinputkan oleh pengguna.

Perumusan Masalah Berdasarkan latar belakang masalah yang telah dikemukakan, maka pokok masalah yang dapat dirumuskan sebagai berikut: membuat aplikasi berbasis web yang dapat memberikan rute panduan arah kepada pengguna ke tempat wisata maupun hotel dengan mempertimbangkan faktor durasi menginap hotel yang akan dikunjungi oleh pengguna. Tujuan Penelitian Adapun tujuan dari penelitian ini adalah mempermudah pengguna dalam pencarian tempat wisata maupun hotel dengan mempertimbangkan faktor durasi menginap hotel yang akan dikunjungi pengguna. Manfaat Penelitian Manfaat dari peneltian ini adalah: a. Memberikan alternatif solusi kepada pengguna dalam melakukan pencarian lokasi wisata dan hotel terdekat berdasarkan jarak dan estimasi biaya perjalanan. b. Menghemat waktu dan biaya perjalanan pencarian hotel yang dilakukan secara manual. Ruang Lingkup Penelitian Agar masalah tidak menyimpang dari pokok bahasan, maka ruang lingkup penelitian adalah sebagai berikut: a. Jangkauan pencarian hotel dengan jarak terpendek meliputi area Kota Kupang. b. Pembuatan aplikasi pencarian rute terpendek terintegrasi dengan layanan Google Maps. c. Jangkauan hotel yang teliti adalah 32 hotel dengan kriteria bintang 2 sampai dengan bintang 4. d. Representasi node yang digunakan dalam jalur terpendek adalah persimpangan, lokasi hotel dan lokasi destinasi wisata.

2. TINJAUAN PUSTAKA Pariwisata Kota Kupang Selain menjadi salah satu pintu destinasi wisata di Pulau Timor maupun daerah lainnya di NTT, berdasarkan data Dinas Pariwisata Dan Ekonomi Kreatif Kota Kupang, terdapat beberapa destinasi wisata terutama wisata alam yang menjadi daya tarik di Kota Kupang yang dapat dikunjungi seperti pantai Kolbano, pantai Lasiana, pantai Pasir panjang, wisata gua monyet Tenau serta air terjun Oenesu. Selain itu juga untuk menunjang tujuan berpariwisata, banyak hotel di kota kupang yang dapat dijadikan sebagai alternatif tempat persinggahan sementara bagi para wisatawan baik itu hotel dengan fasilitas bintang 2 sampai dengan hotel dengan fasilitas bintang 4 yang tersebar di Kota Kupang. Algoritma Dijkstra Algoritma djikstra merupakan algoritma untuk mencari lintasan terpendek. Sesuai dengan nama penemunya, Edsger W. Dijkstra seorang ilmuan computer berkebangsaan Belanda. Dalam naskah aslinya, algoritma Dijkstra diterapkan untuk mencari lintasan terpendek pada graf berarah. Namun, algoritma ini juga beguna untuk graf tak berarah (Munir, Rinaldi 2005). Dalam mencari solusi, algoritma Djikstra menggunakan prinsip Greedy, yaitu mencari solusi optimum pada setiap langkah yang dilalui, dengan tujuan mendapatkan solusi optimum pada langkah selanjutnya yang akan mengarah pada solusi terbaik. Hal ini membuat komplektifitas waktu algoritma Dijkstra menjadi cukup besar. Input dari algoritma Dijkstra berupa sebuah graf berbobot G (e, v), sedangkan outputnya berupa rute terpendek dari simpul awal (start) ke masing masing simpul yang ada pada graf. Dengan demikian algoritma dijktra dapat menemukan solusi terbaik. Cara kerja algoritma Dijkstra hampir sama dengan cara kerja algoritma BFS yaitu dengan menggunakan prinsip antrian (queue), akan tetapi antrian yang digunakan algoritma Dijkstra adalah antrian berprioritas (priority queue). Jadi hanya simpul yang memiliki prioritas tinggi yang ditelusuri. Dalam menentukan simpul yang berprioritas, algoritma ini membandingkan setiap nilai bobot dari simpul yang ada pada satu level. Selanjutnya nilai atau bobot dari setiap simpul tersebut disimpan untuk dibandingkan dengan nilai yang akan ditemukan dari rute yang baru ditemukan kemudian, begitu seterusnya sampai ditemukan simpul yang dicari. a. Inisialisasi (node awal) N = {s} D j = C sj, j s (1) D s = 0 Keterangan: N = himpunan anggota s S = node D = jarak C = nilai jarak pada map yang tersedia D j = jarak node j D s = jarak node s C sj = nilai jarak pada node s dan node j

Untuk proses inisialisasi, dibentuk suatu array atau himpunan N dengan anggota s (s adalah lambang untuk suatu node sumber). Nilai D adalah jarak yang akan tersedia pada tabel hasil algoritma, sementara C adalah nilai jarak pada map yang tersedia. Maka pada tahap inisialisasi ini nilai Dj (jarak pada hasil tabel antara node s dengan node j, dengan j tidak sama dengan s) dimasukkan nilai yang sebenarnya. Jika tidak tersambung secara langsung maka akan dianggap tak terdefinisi. Untuk jarak Ds tentu saja bernilai 0. b. Temukan simpul tetangga (node yang dapat dikunjungi atau ditemukan) D j = min D j..(2) Keterangan: D j = jarak node j Untuk perulangan tiap baris dimasukkan node i yang belum termasuk pada array/himpunan N untuk node i tersebut dijadikan sebagai "perpanjangan" dari node s, dengan node i juga merupakan node tetangga dari node s. Node i yang dimasukkan pada himpunan N berdasarkan pada jarak terkecil dengan node s. Dan jika seluruh node sudah masuk dalam himpunan N, maka iterasi akan berhenti. c. Update bobot untuk setiap node D j = min {D j, D i +C ij }.... (3) Keterangan: N = himpunan anggota s S = node D = jarak C = nilai jarak pada map yang tersedia D j = jarak node j C ij = nilai jarak pada map dengan node i ke node j Untuk setiap node j (dalam tabel hasil: tiap kolom) diperbaharui nilainya yang paling kecil yaitu membandingkan antara nilai Dj sebelumnya dengan hasil penjumlahan (Di+Cij), yaitu penjumlahan jarak node s ke node i dengan jarak sebenarnya dari node i ke node j. Pada algoritma 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 pernah 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 tesusun dari node yang telah ditemukan dan telah dikunjungi. Adapun langkah-langkah dari algoritma Dijkstra yaitu: a. Langkah pertama yaitu menetapkan node awal sebagai status ditemukan (found) dan kemudian dikunjungi atau ditangani (handled). b. Langkah kedua yaitu dilakukan pencarian terhadap setiap node yang dapat dicapai secara langsung dari node yang sedang dikunjungi. c. Langkah ketiga yaitu 1) Apabila node yang didapatkan pada langkah kedua belum pernah ditemukan, maka rubah statusnya menjadi ditemukan.

2) Apabila node yang didapatkan sudah pernah ditemukan maka lakukan update pada bobotnya, ambil bobot yang lebih kecil. d. Langkah keempat yaitu dilakukan pencarian terhadap node yang memiliki bobot terkecil dari semua node yang berstatus ditemukan kemudian mengunjunginya. e. Lakukan looping secara beruntun pada langkah kedua, ketiga dan keempat sampai semua node ditemukan. Berikut ini langkah-langkah algoritma dijkstra secara umum: Input node awal Node awal = tujuan Tidak Ubah status menjadi = ditemukan kemudian= dikunjungi Cari node yang dapat ditemukan dari node yang dikunjungi Ubah status menjadi= ditemukan Tidak Sudah pernah ditemukan Ya Ambil node yang berbobot kecil Ya Kunjungi node dengan bobot terkecil Tidak Semua titik dikunjungi Ya Selesai

Gambar 1. Flowchart algoritma Dijkstra (Brassard and Bratley, 1998) Adapun kekurangan dari algoritma dijkstra antara lain: a. Algoritma diijkstra membutuhkan waktu komputasi yang lama dibanding dengan algoritma lain karena setiap simpul dari keseluruhan graf akan dikunjungi atau dengan kata lain algoritma dijkstra akan melakukan perulangan scara terus menerus hingga kondisi tertentu terpenuhi. b. Algoritma dijkstra tidak dapat mengatasi nilai negatif sebagai solusi terpendek untuk mencapai node dan membuat path yang diambil semakin banyak. c. Algoritma dijkstra akan secara berulang memilih simpul-simpul terdekat dan menghitung total bobot semua sisi yang dilewati untuk mencapai simpul tujuan. Lintasan Terpendek Persoalan mencari lintasan terpendek di dalam graf merupakan salah satu persoalan 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 dapat menyatakan jarak antar kota, waktu pengiriman pesan, ongkos pembangunan, dan sebagainya. Asumsi yang digunakan di sini adalah bahwa semua bobot bernilai positif. Lintasan terpendek adalah jalur yang dilalui dari suatu node ke node lain dengan besar atau nilai pada sisi yang jumlah akhirnya dari node awal ke node akhir paling kecil. Lintasan terpendek adalah lintasan minimum yang diperlukan untuk mencapai suatu tempat dari tempat lain. Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. Graf yang digunakan adalah graf yang berbobot yaitu graf yang setiap sisinya diberikan suatu nilai atau bobot (Hayati, Yohanes, 2014). Teori Graf Graf adalah pasangan tidak kosong dari verteks-verteks {v1, v2,, vn} yang dalam hal ini verteks merupakan himpunan tidak kosong dari verteks-verteks (vertices atau node) dan E adalah himpunan atau sisi yang menghubungkan sepasang vertex (Munir, 2009). Sebuah graf dimungkinkan tidak mempunyai edge satu buah pun, tetapi verteksnya harus ada minimal satu. Graf yang hanya memiliki satu buah verteks tanpa sebuah edge pun dinamakan graf trivia. Graf digunakan untuk merepresentasikan suatu jaringan, seperti jaringan jalan raya dimodelkan graf dengan kota sebagai simpul (vertex/node) dan jalan yang menghubungkan setiap kotanya sebagai sisi (edge) yang bobotnya (weight) adalah panjang dari jalan tersebut. Dalam beberapa model persoalan dimungkinkan bahwa bobot dari suatu sisi bernilai negatif. Misalkan simpul merepresentasikan kota, sisi merepresentasikan perjalanan yang memungkinkan, dan bobot dari setiap sisi adalah biaya yang dikeluarkan dalam perjalanan yang memungkinkan, dan bobot dari setiap sisi adalah jarak yang ditempuh dalam perjalanan tersebut. Graf dapat dikelompokkan berdasarkan ada tidaknya edge nya yang paralel atau loop, jumlah verteksnya, berdasarkan ada tidaknya arah pada edge nya, ada tidaknya bobot pada edge nya, atau ada tidaknya hubungan dengan graf yang lain. Berikut ini adalah jenis graf berdasarkan ada tidaknya edge yang paralel atau loop. a. Graf Sederhana Graf sederhana adalah graf yang tidak mempunyai edge ganda dan atau loop, loop adalah edge yang menghubungkan sebuah verteks dengan dirinya sendiri).

Gambar 2. Graf sederhana b. Graf tak sedehana Graf tak-sederhana adalah graf yang memiliki edges ganda dan atau loop. Graf tak sederhana dapat dibagi dua yaitu: 1) Graf Ganda (multigraph), adalah graf yang mengandung edge ganda. Sisi ganda yang menghubungkan sepasang verteks bisa lebih dari dua buah. Gambar 3. Graf ganda 2) Graf semu (pseudograph), adalah graf yang mempunyi loop, termasuk juga graf yang mempunyai loop dan edge ganda karena itu graf semu lebih umum daripada graf ganda, karena graf semu edge-nya dapat terhubung dengan dirinya sendiri. Gambar 4. Graf semu Selain berdasarkan ada tidaknya edge yang paralel atau loop, graf dapat juga dikelompokkan berdasarkan orientasi arah atau panah. a. Graf tak-berarah (undirected graph) Graf tak berarah adalah graf yang edge nya tidak mempunyai orientasi arah atau panah. Pada graf ini, urutan pasangan verteks yang dihubungkan oleh edge tidak diperhatikan. Jadi (v j, v k) = (v j, v k) adalah edge yang sama. b. Graf Berarah (directed graph atau digraph) Gambar 5. Graf tak berarah

Graf berarah adalah graf yang setiap edge nya memiliki orientasi arah atau panah. Pada graf berarah (v j, v k) (v k, v j). Gambar 6. Graf berarah