• Tidak ada hasil yang ditemukan

Institutional Repository | Satya Wacana Christian University: Analisis Perbandingan Algoritma Depth First Search dengan Algoritma Dijkstra dalam Menentukan Jalur Terpendek Tempat Wisata di Kota Surakarta

N/A
N/A
Protected

Academic year: 2019

Membagikan "Institutional Repository | Satya Wacana Christian University: Analisis Perbandingan Algoritma Depth First Search dengan Algoritma Dijkstra dalam Menentukan Jalur Terpendek Tempat Wisata di Kota Surakarta"

Copied!
19
0
0

Teks penuh

(1)

Analisis Perbandingan

Algoritma

Depth First Search

dengan Algoritma

Dijkstra

dalam Menentukan Jalur Terpendek

Tempat Wisata di Kota Surakarta

Artikel Ilmiah

Peneliti:

Joshua Nandhika Hutama (672014038) Dr. Kristoko Dwi Hartomo, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)

Analisis Perbandingan

Algoritma

Depth First Search

dengan Algoritma

Dijkstra

dalam Menentukan Jalur Terpendek

Tempat Wisata di Kota Surakarta

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti:

Joshua Nandhika Hutama (672014038) Dr. Kristoko Dwi Hartomo, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(3)
(4)
(5)
(6)
(7)

1 1. Pendahuluan

Dalam mencari dan menentukan jalur terpendek yang akan dilalui, ada beberapa metode yang dapat digunakan. Masing-masing algoritma tersebut mempunyai kelebihan dan kelemahan yang berbeda. Metode dengan tingkat keakuratan yang tinggi tentu menjadi algoritma yang paling baik untuk digunakan. Saat ini berlibur adalah hal yang paling sering dilakukan oleh banyak orang. Tempat wisata yang menarik tentu menjadi tujuan utama, namun sering kali untuk menuju ke suatu tempat wisata tidaklah mudah, ada beberapa pilihan jalan yang dapat dilalui. Seringkali orang-orang yang melakukan perjalanan ke tempat wisata tersebut menggunakan kendaraan pribadi, dimana banyak dari wisatawan yang berkunjung tidak begitu mengetahui kondisi jalanan yang ada dan seberapa jauh jarak yang harus ditempuh. Beberapa orang beranggapan bahwa titik termudah untuk menemukan tempat wisata adalah dengan mencari tempat transportasi umum. Hal ini karena tempat transportasi umum sering dibangun dekat dengan tempat-tempat yang ramai termasuk tempat-tempat wisata. Kota Surakarta memiliki beberapa tempat wisata yang cukup sering dikunjungi dan memiliki akses yang cukup banyak dari tempat transportasi umum yang ada. Untuk itu, penerapan algoritma pencarian yang tepat tentu akan sangat membantu dalam menentukan jalur terpendek yang akan dilalui. Selain itu, dalam menentukan suatu algoritma yang baik untuk melakukan jalur terpendek, masalah yang paling sering adalah algoritma mana yang mampu meminimalkan jumlah bobot graf jalur yang saling terhubung namun dengan cara kerja algoritma yang berbeda [1]. Algoritma Depth First Search dan

Dijkstra menjadi metode yang cukup baik untuk diterapkan karena algoritma Depth First Search adalah algoritma pencarian tanpa adanya informasi awal yang diketahui (blindsearch), sedangkan algoritma Dijkstra adalah algoritma pencarian dimana semua informasi awal sudah diketahui. Selain itu. Dalam menentukan nilai optimal dari suatu algoritma, ada beberapa parameter yang menjadi penilaian yaitu waktu yang diperlukan suatu algoritma untuk menentukan jalur yang dicari, memori yang dipakai semakin lama waktu maka akan semakin besar memori yang digunakan, yang terakhir adalah kompleksitas suatu algoritma dalam menentukan jalur yang di lewati untuk sampai ke tujuan [2].

Berdasarkan latar belakang yang ada, maka dilakukan penelitian yang bertujuan untuk melakukan analisis terhadap algoritma Depth First Search dan

(8)

2 2. Tinjauan Pustaka

2.1 Penelitian Terdahulu

Penelitian yang berjudul Penerapan Metode Depth First Search Pada Pencarian Rute Bus Kota Berbasis Web Mobile Di Solo telah membahas tentang penggunaan metode Depth FirstSearch dalam aplikasi berbasis web mobile yang berfungsi untuk menentukan rute dari bus yang ada di Kota Solo, aplikasi ini bermanfaat untuk para penumpang bus agar tidak salah dalam memilih bus sesuai dengan jalur dan tujuan [3].

Penelitian yang berjudul Perbandingan Algoritma Dijkstra Dan Algoritma

Ant Colony Dalam Penentuan Jalur Terpendek membahas tentang hasil dari perbandingan dua algoritma, dimana algoritma Dijkstra memiliki hasil yang lebih konsisten daripada algoritma antcolony dalam menentukan jalur terpendek [1].

Penelitian yang berjudul Analysis Of Dijkstra’sAnd A* Algorithm To Find The Shortest Path membahas tentang analisis perbandingan dua algoritma yaitu

Dijkstra dan A*. Analisa dilakukan dengan cara membandingkan waktu yang ditempuh menggunakan ke dua algoritma. Dari penelitian yang dilakukan, algorima

A* jauh lebih baik karena memiliki rata-rata waktu tempuh yang lebih cepat [4]. Penelitian yang berjudul Analysis Of Optimal Route Algorithms Under ConstraintConditions membahas tentang kelebihan dan kekurangan dari Algoritma

Dijkstra dan A*. Setelah dilakukan uji coba dengan menggunakan suatu kasus tertentu untuk menghitung kecepatan, kompleksitas dan memori yang digunakan menunjukkan bahwa Algoritma Dijkstra memiliki nillai optimalitas yang lebih baik daripada Algoritma A* [2].

Penelitian yang berjudul An Investigation of Dijkstra and Floyd Algorithms in National City Traffic Advisory Procedures membahas tentang implementasi algoritma Dijkstra dan Floyd dalam pengambilan keputusan jalur yang optimal bagi para wisatawan, dimana parameter yang dipakai dalam penelitian ini adalah waktu dan biaya yang dibutuhkan untuk menempuh jarak antara suatu tempat ke tempat yang lain dimana hasil penelitian menunjukkan bahwa Algoritma Dijkstra lebih efektif daripada Algoritma Floyd [5].

Berdasarkan penelitian-penelitian yang pernah dilakukan terkait algoritma

Dijkstra dan DepthFirst Search maka akan dilakukan penelitian yang membahas tentang analisis perbandingan antara algoritma Dijkstra dengan DepthFirstSearch

(9)

3

demikian penelitian ini diharapkan dapat memberikan kemudahan dalam menentukan algoritma yang lebih baik dalam menentukan jalur terpendek.

2.2 Algoritma

Gambar 1 Algoritma

Algoritma adalah urutan langkah-langkah logis untuk penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam Algoritma. Langkah-langkah dalam Algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Ciri Algoritma :

 Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.  Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua

(Ambiguitas).

 Algoritma memiliki nol atau lebih masukan.  Algoritma memiliki nol atau lebih keluaran.

 Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal)

Melaksanakan Algoritma berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya [6].

2.3 Algoritma Dijkstra

(10)

4

Algoritma yang ditemukan oleh Dijkstra untuk mencari path terpendek.Input algoritma ini adalah sebuah graf berarah dan berbobot, G dan sebuah sourcevertex

s dalam G. V adalah himpunan semua simpul dalam graph G. Setiap sisi dari graph

ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke

vertex v. Himpunan semua edge disebut E. Weights dari edges dihitung dengan fungsi w: E → [0, ∞]; jadi w(u,v) adalah jarak non-negatif dari vertex u ke vertex

v. Cost dari sebuah edge dapat dianggap sebagai jarak antara dua vertex, yaitu jumlah jarak semua edge dalam path tersebut. Untuk sepasang vertex s dan t dalam V, algoritma ini menghitung jarak terpendek dari s ke t [7]. Berikut adalah

pseudocode dari algoritma Dijkstra :

Algoritma 1 Algoritma Dijkstra 1. Input : s simpul tujuan 2. dist[]  array penampung jarak

3. prev[]  array penampung simpul yang telah dilalui 4. i  index looping

5. f  data untuk simpul yang telah dilalui 6. u  data untuk simpul yang belum dilalui 7. v  data untuk simpul yang akan dilalui 8. for i = 0 to |v| - 1

9. dist[i] = infinity 10. prev[i] = null 11. end for

12. dist[s] = 0 13. while (f is null)

14. for each edge of v (v1,v2)

15. if (dist[v1] + length(v1,v2) < dist[v2]) 16. dist[v2] = dist[v1] + length(v1, v2) 17. prev[v2] = v1

18. end if 19. end for 20. end while

(11)

5

v1 merupakan simpul terpilih, kemudian masukan v1 ke dalam prev[v2] agar simpul tersebut tidak dilalui lagi.

2.4 Algoritma Depth First Search

Gambar 3 Algoritma Depth First Search

Algoritma Depth First Search pertama kali diperkenalkan oleh Tarjan dan Hopcroft 20 tahun lalu. Mereka menunjukkan bagaimana Depth First Search (DFS) merupakan metode pencarian secara mendalam dan bagian dari blind search atau pencarian buta. Pencarian dimulai dari level paling pertama, kemudian dilanjutkan ke anak paling kiri pada level berikutnya. Demikian seterusnya sampai tidak terdapat anak lagi atau level yang paling dalam. Jika pencarian belum menemukan solusi, maka dilakukan penelusuran kembali ke node sebelumnya dan dilanjutkan ke node tetangga. Proses ini diulangi terus hingga menemukan solusi [8], adapun algoritma Depth First Search berisi antara lain :

1. Bentuk satu elemen Queue yang terdiri dari root node.

2. UntilQueueempty, atau goal sudah dicapai, maka tentukan apakah elemen pertama dalam Queue adalah goalnode.

a. Jika elemen pertama adalah goalnode, maka keluar.

b. Jika elemen pertama tidak goal, maka remove elemen pertama dari Queue dan add anak elemen pertama.

3. Jika goal node sudah ditemukan maka pencarian berhenti. Berikut ini adalah pseudocode dari algoritma Depth First Search :

Algoritma 2 Algoritma Depth First Search

1. Input : s[]  array untuk menampung simpul yang telah dilalui 2. u  data simpul yang akan dilalui

3. w  data simpul yang akan dilalui 4. for each vertex u

5. u = false 6. end for 7. push(s[],u)

(12)

6 9. pop(s[1])

10. if (u = false) 11. u = true 12. for each w 13. push(s[], w) 14. end for 15. end if 16. end while

Algoritma 2 baris ke 1 sampai dengan 3 merupakan inputan yang diperlukan, s merupakan array untuk menampung simpul-simpul yang akan dilalui, kemudian untuk u adalah simpul yang akan dilalui dan w merupakan simpul yang berdekatan dengan w. Pada baris ke 4 sampai dengan 6 merupakan perulangan untuk merubah nilai-nilai dari simpul u menjadi false, sebagai tanda bahwa simpul belum dilalui. Kemudian pada baris ke 7 merupakan fungsi dimana nilai u akan masuk ke dalam

array s yang nantinya akan dilakukan pengecekan dari masing-masing simpul. Kemudian pada baris ke 8 sampai dengan 11 adalah fungsi untuk melakukan pengecekan apakah u merupakan simpul yang harus dilalui dengan cara jika u bernilai false maka rubah nilai u menjadi true. Kemudian pada baris ke 12 dan 13 merupakan langkah untuk melakukan pencarian simpul berikutnya, yaitu jika w adalah simpul yang bertetangga dengan u, maka masukkan nilai w ke dalam array

s.

3. Metode Penelitian

Dalam penelitian ini, metode penelitian yang dipakai terbagi ke dalam lima tahap seperti pada Gambar 3.1, yaitu (1) identifikasi masalah, (2) pengumpulan data, (3) implementasi algoritma, (4) pengujian algoritma, (5) analisis hasil.

(13)

7

Tahap pertama, yaitu identifikasi masalah, dimana pada tahap ini masalah yang sering muncul dalam pemilihan algoritma untuk menentukan sebuah jalur sering ditemui. Masalah yang paling sering dihadapi ketika akan menggunakan sebuah algoritma adalah mampukah algoritma pencarian jalur tersebut meminimalkan jumlah graf yang saling terhubung untuk menemukan jalur yang tercepat dan tentunya efektif, selain itu apakah algoritma tersebut akan mampu memberikan sebuah solusi jika diimplementasikan kedalam sebuah sistem.

Tahap kedua, yaitu tahap pengumpulan data. Pada tahap ini hal yang dilakukan adalah mengumpulkan data-data yang dibutuhkan, yaitu data jarak dari satu lokasi menuju ke lokasi lain. Dalam hal ini bukan hanya data jarak dari lokasi awal menuju lokasi akhir saja yang diperlukan, tetapi data setiap titik pergantian jalan juga diperlukan. Data tersebut dibutuhkan karena dengan adanya data yang lebih spesifik, maka untuk melakukan analisa terhadap suatu algoritma dapat menghasilkan analisa yang tepat dan akurat. Dalam penelitian ini, metode pengumpulan data yang dipakai adalah observasi lapangan dengan cara melakukan pengamatan dan pengukuran langsung ke lapangan dengan cara pergi dari satu lokasi menuju ke lokasi lain untuk mendapatkan data yang tepat dan akurat. Selain dengan cara observasi lapangan, data jarak dalam penelitian ini diambil dari pemetaan googlemap.

Tahap ketiga yaitu implementasi algoritma, tahap dimana algoritma yang akan di uji diimplementasikan ke dalam sebuah sistem untuk melihat keakuratan dari algoritma tersebut.

Tahap keempat yaitu pengujian algoritma, tahap dimana agoritma yang sudah diimplementasikan ke dalam sebuah sistem akan diuji. Dalam pengujian ini, ada beberapa variabel yang akan dilihat. Yang pertama adalah kemampuan algoritma tersebut untuk menemukan jalur yang paling cepat dan tepat, hasil dari pengujian terhadap variabel ini dapat dilihat dari total graf atau jarak yang akan dilalui sudah memiliki nilai paling minimal daripada hasil yang lain, jika sudah maka algoritma tersebut sudah cukup akurat dalam melakukan pencarian. Selain melakukan uji coba dengan sistem, untuk variabel total jarak yang harus dilalui akan dilakukan uji coba jugan dengan cara melakukan hitung manual dari jarak yang sudah ada. Untuk variabel kedua adalah total waktu sistem tersebut untuk menemukan jalur yang sesuai, perhitungan dilakukan terhadap beberapa lokasi yang berbeda dengan percobaan sebanyak empat kali untuk satu jalur yang sama. Dari hasil ini akan diketahui algoritma manakah yang mampu menjalankan task yang ada dengan waktu seminimal mungkin. Untuk variabel ketiga adalah jumlah memori yang dibutuhkan oleh algoritma tersebut untuk melakukan satu kali pencarian jalur. Untuk setiap kali melakukan pencarian jalur, total memori untuk masing-masing algoritma akan dihitung, semakin sedikit memori yang dihabiskan, maka semakin bagus juga algoritma tersebut untuk diimplementasikan, karena penggunaan memor yang tidak terlalu besar akan membuat sebuah sistem berjalan dengan baik.

(14)

8

akan dibandingkan, mana yang paling efektif dan tepat baik hasil dari implementasi sistem maupun perhitungan manual. Untuk variabel kedua yaitu total waktu yang dibutuhkan dalam sekali pencarian jalur, waktu yang paling minimal adalah yang paling baik. Untuk variabel ketiga adalah total memori yang dibutuhkan oleh algoritma dalam sekali pencarian jalur tercepat, penggunaan memori yang paling kecil adalah yang paling baik.

4. Hasil dan Pembahasan

Dari hasil pengujian yang telah dilakukan terhadap algoritma Dijkstra dan

Depth First Search diperoleh hasil untuk masing-masing variabel yang diujikan. Untuk variabel yang pertama, yaitu variabel total jarak yang harus dilewati dihitung melalui dua cara, yang pertama algoritma yang diimplementaskan ke dalam sebuah sistem dan yang kedua adalah melalui cara penghitungan manual dengan rumus yang ada. Untuk algoritma DepthFirstSearch, pada kode program 1 merupakan fungsi untuk menghitung total jarak yang harus dilalui dari lokasi asal ke lokasi tujuan.

Kode Program 1 Fungsi Menghitung Jarak Depth First Search 1

void Lokasi(String dari, String tujuan) { int jarak;

infolokasi f;

jarak = match(dari, tujuan); if (jarak != 0) {

btStack.push(new infolokasi(dari, tujuan, jarak)); return;

}

f = find(dari); if (f != null) {

btStack.push(new infolokasi(dari, tujuan, f.jarak)); Lokasi(f.dari, dari);

} else if (btStack.size() > 0) { f = (infolokasi) btStack.pop(); lokasi(f.dari, f.tujuan);

} }

Fungsi dari kode program 1 yang diimplementasikan adalah pada baris ke 5 sampai dengan 7 jika node lokasi awal masih ada atau tidak kosong, maka node

(15)

9

Kode Program 2 Fungsi Menghitung Jarak Dijkstra 1

public static void HitungJarak(Vertex asal) {

asal.minDistance = 0.;

PriorityQueue<Vertex> antrian = newPriorityQueue<Vertex>(); antrian.add(asal);

Fungsi kode program 2 adalah untuk menghitung total jarak, pada baris ke 3 pertama jarak minimal adalah 0, karena untuk node yang selanjutnya tidak boleh bernilai negatif atau tak terhingga. Kemudian pada baris ke 5 masukkan node selanjutnya ke dalam antrian, pada baris ke 8 lakukan pengecekan terus-menerus sampai menemukan tujuan. Pada baris ke 13 sampai dengan 17 jika dalam melakukan pencarian ditemukan dua atau lebih node yang terhubung sampai ke tujuan, hapus node dengan nilai yang lebih tinggi dan simpan node-node yang telah dilalui namun memiliki nilai yang terkecil, karena node-node tersebut adalah node

paling efektif untuk mencapai tujuan. Berikut ini adalah tabel perbandingan dari hasil pengujian sistem dua algoritma :

Tabel 1 Hasil Total Jarak Sistem

Dijkstra DFS Dijkstra DFS Dijkstra DFS

Stasiun Solo Balapan Terminal Tirtonadi Bandara Adi Sumarmo

(16)

10

Berikut ini adalah hasil dari perhitungan manual untuk data lokasi yang sama dengan implementasi sistem :

Tabel 2 Hasil Total Jarak Manual

Dijkstra DFS Dijkstra DFS Dijkstra DFS

Stasiun Solo Balapan Terminal Tirtonadi Bandara Adi Sumarmo

Stadion

Perbedaan dari kedua algoritma yang telah diuji pada Tabel 1 dan Tabel 2 variabel jarak adalah pada algoritma depth first search akan melakukan pencarian ke semua node akar terlebih dahulu, jika node akar adalah tujuan maka solusi ditemukan tanpa melihat adanya solusi lain pada node akar yang ada, sedangkan pada algoritma dijkstra node-node yang tidak bisa dilalui langsung bernilai tak terhingga sehingga tidak akan dilakukan pengecekan, selain itu jika ada lebih dari satu node pada level yang sama, maka akan dilakukan pengecekan untuk node

dengan bobot paling minimal, setelah itu pencarian akan dilanjutkan pada node tetangga yang lain dan node yang telah dilalui diberi tanda agar tidak dilakukan pengecekan lagi untuk node yang sama. Untuk jumlah node dan edge dari jalur yang harus dilalui yaitu jalur pertama dari Stasiun Solo Balapan menuju Stadion Manahan adalah 6 node, untuk jalur kedua yaitu dari Stasiun Solo Balapan menuju Keraton Surakarta adalah 15 node, untuk jalur ketiga dari Stasiun Balapan menuju Kebun Binatang Jurug adalah 11 node, untuk jalur keempat dari Terminal Tirtonadi menuju Kebun Binatang Jurug adalah 8 node, untuk jalur kelima dari Terminal Tirtonadi menuju Keraton Surakarta adalah 19 node, untuk jalur keenam dari Terminal Tirtonadi menuju Stadion Manahan adalah 5 node, untuk jalur ketujuh dari Bandara Adi Soemarmo menuju Kebun Binatang Jurug adalah 12 node, untuk jalur kedelapan dari Bandara Adi Soemarmo menuju Keraton Surakarta adalah 25

node, untuk jalur kesembilan dari Bandara Adi Soemarmo menuju Stadion Manahan adalah 11 node. Sehingga dalam kasus ini, algoritma dijkstra lebih berpeluang menemukan solusi dengan total jarak yang lebih kecil yaitu rata-rata total jarak yang dilalui adalah 4758 Meter dan untuk Algoritma Depth First Search

adalah 5603 Meter.

(17)

11

Tabel 3 Hasil Total Waktu

Dijkstra DFS Dijkstra DFS Dijkstra DFS

Stasiun Solo Balapan Terminal Tirtonadi Bandara Adi Sumarmo

Stadion

Dari hasil pengujian pada Tabel 3 menunjukkan bahwa algoritma Dijkstra

memerlukan rata-rata waktu yang lebih singkat dan cepat yaitu 0,25 s daripada algoritma Depth First Search yaitu 0,69 s. Hal ini disebabkan oleh cara pencarian algoritma dijkstra akan membandingkan terlebih dahulu node tetangga dengan nilai yang lebih kecil, sedangkan untuk node-node yang bukan tetangga telah bernilai tak terhingga dan tidak akan dilalui. Untuk node-node yang telah dilalui akan diberi tanda agar node tersebut tidak dilalui untuk yang kedua kalinya, sehingga dalam satu kali pencarian akan ditemukan rute menuju lokasi tujuan dengan nilai yang optimal dan waktu yang paling singkat. Untuk algoritma Depth First Search cara pencarian yang dilakukan adalah memasukan semua node akar dan melakukan pencarian dari node akar yang paling pertama masuk sampai semua node akar selesai dilalui, langkah tersebut akan terus dilakukan yang memungkinkan untuk

node yang pernah dilalui akan dilalui lagi untuk yang kedua kalinya, hal ini yang menyebabkan waktu pencarian algoritma Depth First Search akan lebih lama dari pada waktu pencarian algoritma Dijkstra.

(18)

12

Tabel 4 Hasil Total Memori

Dijkstra DFS Dijkstra DFS Dijkstra DFS

Stasiun Solo Balapan Terminal Tirtonadi Bandara Adi Sumarmo

Stadion membutuhkan memori yang lebih sedikit dengan rata-rata total memori 11,2 MB sedangkan untuk Algoritma Depth First Search adalah 12,2 MB. Algoritma

Dijkstra akan membuang informasi mengenai node yang telah dilewati namun mempunyai nilai bobot yang besar, jadi node-node selain dari node jalur tercepat akan dihapus dari memori hal ini berbeda dari algoritma DepthFirstSearch dimana semua node-node akar akan dimasukkan ke dalam antrian node sampai dengan solusi ditemukan, sehingga node-node yang bukan merupakan jalur solusi tetap berada di dalam memori. Dalam melakukan pengujian ini, profiler akan menulis semua data-data dan variabel yang dipakai oleh sistem dalam melakukan pencarian, sehinggan dapat dilihat pada data mana yang paling membutuhkan memori.

Tabel 5 Perbandingan Hasil Pegujian Algoritma

Total Rata-Rata Jarak Total Rata-Rata Waktu Total Rata-Rata Memori

Dijkstra 4758 Meter 0,25 s 11,2 MB

DFS 5603 Meter 0,69 s 12,2 MB

(19)

13

dilihat dari variabel yang telah diujikan yaitu total jarak yang dilewati dimana rata-rata jarak yang dihasilkan oleh Algoritma Dijktra adalah 4758 meter dibandingkan dengan Algoritma Depth First Search adalah 5603 meter, total waktu yang dibutuhkan dimana rata-rata waktu yang diperlukan oleh Algoritma Dijkstra adalah 0,25 s dibandingkan dengan Algoritma Depth First Search adalah 0,69s dan total memori yang dibutuhkan dalam melakukan satu kali pencarian dimana rata-rata memori yang diperlukan oleh Algoritma Dijkstra adalah 11,2 MB dibandingkan dengan Algoritma Depth First Search adalah 12,2 MB.

5. Simpulan

Berdasarkan hasil dari pengujian dan pembahasan yang ada, dapat disimpulkan bahwa algoritma Dijkstra lebih optimal daripada algoritma Depth First Search dalam hal pencarian jalur tercepat, hal ini dapat dilihat dari variabel yang telah diujikan yaitu total jarak yang dilewati, total waktu yang dibutuhkan dan total memori yang dibutuhkan dalam melakukan satu kali pencarian. Hal ini tentu akan sangat berpengaruh jika algoritma akan diimplementasikan kedalam sebuah sistem, karena dengan keunggulan yang ada algoritma Dijkstra akan mampu untuk melakukan pencarian jalur-jalur yang lebih luas dengan nilai optimalitas yang tinggi.

6. Daftar Pustaka

[1] Ferdifiansyah, F., 2013. Perbandingan Algoritma Dijkstra Dan Algoritma Ant Colony Dalam Penentuan Jalur Terpendek.

[2] Mawale, M. V., & Gandole, Y. B., 2014. Analysis Of Optimal Route Algorithms Under Constraint Conditions.

[3] Herwanto, A., & Purnama, B. E., 2013. Penerapan Metode Depth First Search Pada Pencarian Rute Bus Kota Berbasis Web Mobile Di Solo.

[4] Alija, A. S., 2015. Analysis Of Dijkstra’s And A* Algorithm To Find The

Shortest Path.

[5] Sangaiah, A. K., dkk., 2014. An Investigation of Dijkstra and Floyd Algorithms in National City Traffic Advisory Procedures.

[6] Februariyanti, H., 2011. Pengertian Algoritma, Ciri Algoritma dan Contoh. [7] Pugas, D. O., dkk., 2011. Pencarian Rute Terpendek Menggunakan

Algoritma Dijkstra dan Astar (A*) pada SIG Berbasis Web untuk Pemetaan Pariwisata Kota Sawahlunto.

Gambar

Gambar 1 Algoritma
Gambar 3 Algoritma Depth First Search
Gambar 4 Tahapan Penelitian
Tabel 1 Hasil Total Jarak Sistem
+2

Referensi

Dokumen terkait

Pada pembakaran batu bata yang menggunakan sekam padi dapat dilihat bahwa tidak semua hasil pembakaran masih berupa abu, tetapi juga masih mengandung sedikit arang

Tabel 3.3.1.5 memperlihatkan realisasi kinerja terhadap target kinerja jangka menengah seperti yang tertuang dalam dokumen Renstra SKPD. Tingkat capaiannya juga

Penelitian ini membahas sebuah SPK untuk melakukan perekomendasian penerima beasiswa mahasiswa tidak mampu dan berprestasi di Sekolah Tinggi Agama Islam (STAI)

Sebagai akibat dari bibit yang lebih baik, maka bibit yang berasal dari benih tanam langsung maupun bahan tanaman berupa semaian dengan stadia atau fase benih

INSPEKTORAT UTAMA BADAN POM Our History Manajemen Risiko 2012 2013 2014 2015 2016 2017 2018 2019 2011 Implementasi ISO 9001:2008 SK BPOM tentang Penyelenggaraan SPIP BPOM.

lolongkrang pikeun ngajawab anu sabébas-bébasna; jawaban anu béda jeung babaturanana tapi tetep boga hak pikeun meunang peunteun anu sarua. Tina puseur implengan anu

Dalam keadaan pasar modal yang efisien akan terjadi hubungan positif antara risiko dan tingkat keuntungan yang diharapkan, keputusan tentang investasi yang akan

Temuan penelitian menunjukan bahwa pelaksanaan program keterampilan menjahit Kesimpulan yang dapat ditarik dari penelitian ini bahwa pelaksanaan program keterampilan menjahit di