• Tidak ada hasil yang ditemukan

PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE"

Copied!
82
0
0

Teks penuh

(1)

PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE UNTUK PENCARIAN JARAK

TERPENDEK (SHORTESTPATH) (STUDI KASUS : PARIWISATA KAB.SIMALUNGUN)

SKRIPSI

RAMADANI 131401021

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2017

(2)

PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE UNTUK PENCARIAN JARAK

TERPENDEK (SHORTESTPATH) (STUDI KASUS : PARIWISATA KAB.SIMALUNGUN)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer

RAMADANI 131401021

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2017

(3)

PERSETUJUAN

Judul : PERBANDINGAN ALGORITMA HEURISTIK

RANDOM WALK DAN ALGORITMA DETERMINISTIK L-DEQUE UNTUK PENCARIAN JARAK TERPENDEK ( SHORTESTPATH ) (STUDI KASUS : PARIWISATA

KAB.SIMALUNGUN)

Kategori : SKRIPSI

Nama : RAMADANI

Nomor Induk Mahasiswa : 131401021

Program Studi : SARJANA(S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Dosen Pembimbing II Dosen Pembimbing I

Dian Rachmawati S.Si, M.Kom M Andri Budiman ST, M.Comp.Sc, MEM NIP.198307232009122004 NIP. 197510082008011011

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001

(4)

PERNYATAAN

PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE UNTUK PENCARIAN JARAK

TERPENDEK (SHORTESTPATH) (STUDI KASUS : PARIWISATA KAB.SIMALUNGUN)

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan,29 September 2017

Ramadani 131401021

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya, sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–besarnya kepada : 1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas Sumatera

Utara.

2. Bapak Prof. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.

4. Bapak M. Andri Budiman ST., M.Comp.Sc, MEM selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.

5. Ibu Dian Rachmawati S.Si, M.Kom. selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam pengerjaan skripsi ini.

6. Seluruh dosen dan pegawai di Fakultas Ilmu Komputer dan Teknologi Informasi USU, terkhususnya di Program Studi S1 Ilmu Komputer.

7. Teristimewa Ayahanda Sutrisno Syaputra dan Ibunda Nur’Ana Damanik yang tidak henti-hentinya memberikan doa, dukungan dan motivasi yang selalu menjadi semangat penulis untuk meyelesaikan skripsi ini.

8. Terkhusus Atok Salim Damanik, dan Nenek Nurimah,Bou Nurlina Damanik,Alm. Samsur Damanik, Almh. Bou Nuraida Damanik, Salufti Damanik, Alm. Bapak Rusdi Damanik dan Ibu Sasmita yang telah memberikan semangat terbaiknya untuk penulis. 9. Abang, Kakak dan Adik tersayang Fitri Handayani, Dodi Hidayat Damanik Amd. Jamal Maulana Dmk, Nurhayati Dmk, Yusuf Dmk, Andi Setiawan Dmk, Dita Anggreini Dmk S.E. Doni Kesuma Dmk. yang memotivasi penulis untuk menyelesaikan skripsi ini. 10. Teman-teman yang luar biasa Rumah Kepemimpinan, Sahabat Beasiswa Untuk Negeri,

Smart Generation Comunity, Kam Rabbani, Rumah Baiti Jannati, Dian Dini, Reza, Abdul, Imam, Fajar, Yoga, Dessy, Resti, Fauza, Rizal, Ilyas, Ardian, Bg Kabul, Bg

(6)

Panji, Bg Ono, dan Bg Riki yang telah menjadi teman diskusi penulis dan senantiasa memberikan semangat.

11. Teman-teman Kom C 2013, serta teman-teman stambuk 2013 atas doa dan dukunganya sehingga penulis dapat menyelesaikan skripsi ini.

12. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada penulis mendapatkan berkat yang melimpah dari Allah SWT.

Medan,29 September 2017 Penulis ,

(7)

ABSTRAK

Banyaknya tempat wisata di Kabupaten Simalungun, mengakibatkan sulitnya menentukan jarak terpendek dari setiap wisata yang akan di kunjungi. Sistem aplikasi yang dapat digunakan untuk menentukan lokasi terpendek ( Shortest Path) adalah aplikasi simulasi

Graph. Algoritma yang digunakan dalam Graph ini adalah Random walk dan algoritma L-Deque. Adapun penggunaan kombinasi kedua metode ini adalah untuk membandingkan

kedua algoritma dalam menentukan jarak terpendek tempat wisata yang ada di Kabupaten Simalungun. Penelitian ini menghasilkan data yang diperoleh dari Badan Pemantapan Kawasan Hutan (BPKH) dan kunjungan langsung kebeberapa daerah penelitian. Berdasarkan hasil pencarian rute terpendek tersebut dengan menggunakan Random walk dan algoritma L-Deque menghasilkan rute total jarak dan Running time yang berbeda. Algoritma

Random walk memiliki nilai running time yang lebih lama dibandingkan algoritma L-Deque.

Tetapi L-Deque memiliki total jarak yang lebih optimum dan running time yang lebih cepat dibandingkan algoritma Random walk.

Kata kunci : Tempat wisata, shortest path, Graph, Algoritma Random walk, Algoritma

(8)

ABSTRACT

The number of tourist place in Simalungun District, resulting in the difficulty determine the shortest path from each tour that will be visited. The application system that can be used to determine the shortest path is a Graph simulation application. The algorithm used in this Graph is the Random walk and the L-Deque algorithm. The use of a combination of these two methods is to compare the two algorithms in determining the shortest distance of existing tourist attractions in Simalungun District. This research shows data from Badan Pemantapan Kawan Hutan (BPKH) and visiting to some research area. Based on the results of the shortest path search using Random walk and L-Deque algorithm resulted in total distance route and different Running time. Random walk algorithm has running time value slower than L-Deque algorithm.But L-Deque has more optimum total distance and faster running time than Random walk algorithm.

Keyword: Tourist place, shortest path, Graph, Algoritma Random walk, Algoritma L-Deque, Running time.

(9)

DAFTAR ISI Halaman Persetujuan ii Pernyataan iii Penghargaan iv Abstrak vii Abstract viii Daftar Isi xi

Daftar Tabel xii

Daftar Gambar xiii

Daftar Lampiran xiv

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 1

1.3 Ruang Lingkup Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Algoritma 6

2.1.1 Karakteristik Algoritma 6

2.2 Shortest Path 7

(10)

2.3.1 Defenisi Graph 8

2.3.2 Jenis-Jenis Graph 9

2.3.3 Graf Berbobot (Weighted Graph) 11

2.4 Algoritma L-Deque 12

2.5 Algoritma Random Walk 17

2.6 Kompleksitas Algoritma 20

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 21

3.1.1 Analisis Masalah 21

3.1.2 Analisis Kebutuhan Sistem 23

3.1.2.1 Kebutuhan Fungsional 23

3.1.2.2 Kebutuhan Non-Fungsional 23

3.1.3 Flowchart 23

3.1.3.1 Flowchart Sistem 24

3.1.3.2 Flowchart Algoritma L-Deque 24 3.1.3.3 Flowchart Algoritma Random walk 27

3.2 Pemodelan 28

3.2.1 Use Case Diagram 28

3.2.2 Activity Diagram 28

3.2.2.1 Activity Diagram Cara Kerja Sistem Algoritma L-Deque 29 3.2.2.2 Activity Diagram Cara Kerja Sistem Algoritma Random walk 29

3.2.3 Sequence Diagram 30

3.3 Perancangan Antarmuka (Interface) 30

3.3.1 Halaman Menu Home 31

(11)

3.3.3 Halaman Menu Help 34

3.3.4 Halaman Menu About 36

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 32

4.1.1 Tampilan Halaman Menu Home 32

4.1.2 Tampilan Halaman Menu Shortest Path 33

4.1.3 Tampilan Halaman Menu Help 34

4.1.4 Tampilan Halaman Menu About 34

4.2 Pengujian 35

4.2.1 Pengujian Proses Implementasi 35

4.2.2 Pengujian Proses Algoritma L-Deque 35 4.2.2.1 Perhitungan Manual Algortima L-Deque 36 4.2.3 Pengujian Proses Algoritma Random walk 55 4.2.3.1 Perhitungan Manual Algoritma Random walk 56

4.3 Kompleksitas 58

4.3.1 Kompleksitas Algoritma L-Deque 58 4.3.2 Kompleksitas Algoritma Random walk 59

4.4 Real Running-Time 61

4.4.1 Real Running Algoritma L-Deque 61 4.4.2 Real Running Algoritma Random walk 62 Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 64

5.2. Saran 64

Daftar Pustaka 65

(12)

DAFTAR TABEL

Halaman Tabel 3.1 Keterangan Gambar Rancangan Antarmuka Halaman Menu Home 32 Tabel 3.2 Keterangan Gambar Rancangan Antarmuka Halaman Menu Shortest Path 33 Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Help 35 Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu About 36

Tabel 4.1 Kompleksitas Algoritma L-Deque 46

Tabel 4.2 Kompleksitas Algoritma Random walk 47

Tabel 4.3 Hasil Pengujian Running Time Algoritma L-Deque 49 Tabel 4.4 Hasil Pengujian Running Time Algoritma Random walk 49

(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Graph dengan 4 vertex dan 5 edge 9

Gambar 2.2 Graph Sederhana 10

Gambar 2.3 (a) Multigraph, dan (b) Graph Semu 10

Gambar 2.4 Gambar Tidak Berarah 11

Gambar 2.5 Graph Berarah 11

Gambar 2.6 Graph Berbobot 12

Gambar 2.7 Graph Berbobot & Berarah 12

Gambar 2.8 Graph Berarah Terhubung 14

Gambar 2.9 Graph Penetuan vertex Asal 14

Gambar 2.10 Graph Rute yang dipilih dari vertex A ke Vertex B dan Vertex C 15 Gambar 2.11 Graph Rute yang dipilih dari Vertex B ke Vertex D dan Vertex E 15 Gambar 2.12 Graph Rute yang dipilih dari Vertex C ke Vertex B dan Vertex D 16 Gambar 2.13 Graph Rute yang dipilih dari Vertex D ke Vertex E dan Vertex F 16 Gambar 2.14 Graph Rute yang dipilih dari Vertex E ke Vertex F 17 Gambar 2.15 Graph Rute yang dipilih dari Vertex A ke Vertex B

atau Vertex A ke Vertex C 18

Gambar 2.16 Graph Rute yang dipilih dari Vertex B ke Vertex D 19 Gambar 2.17 Graph Rute yang dipilih dari Vertex D ke Vertex E 19

Gambar 3.1 Diagram Ishikawa 22

Gambar 3.2 Flowchart Sistem 24

Gambar 3.3 Flowchart Algoritma L-Deque 25

Gambar 3.4 Flowchart Algoritma Random walk 27

(14)

Gambar 3.6 Acitivity Diagram Cara Kerja Sistem dengan Algoritma L-Deque 29 Gambar 3.7 Activity Diagram Cara Kerja Sistem dengan Algoritma Random walk 30

Gambar 3.8 Sequence Diagram Sistem 30

Gambar 3.9 Rancangan Antarmuka Halaman Menu Home 31 Gambar 3.10 Rancangan Antarmuka Halaman Menu Shortest Path 33 Gambar 3.11 Rancangan Antarmuka Halaman Menu Help 34 Gambar 3.12 Rancangan Antarmuka Halaman Menu About 35

Gambar 4.1 Tampilan Halaman Menu Home 36

Gambar 4.2 Tampilan Halaman Menu Shortest Path 37 Gambar 4.3 Tampilan Graph Tempat Wisata di Kabupaten Simalungun 37

Gambar 4.4 Tampilan Halaman Menu Help 38

Gambar 4.5 Tampilan Halaman Menu About 38

Gambar 4.6 Proses Pengujian Implementasi 39

Gambar 4.7 Hasil Pengujian Menggunakan Algoritma L-Deque 40 Gambar 4.8 Graph Perhitungan Algoritma L-Deque 40 Gambar 4.9 Graph Perhitungan Algoritma L-Deque dalam Penentuan Vertex Asal 41 Gambar 4.10 Perhitungan Graph dari Vertex asal ke Vertex 2,3,15 42 Gambar 4.11 Graph Perhitungan vertex 2 ke vertex 4 43 Gambar 4.12 Graph Perhitungan vertex 4 ke vertex 5 43 Gambar 4.13 Graph Perhitungan Algoritma Random walk 44 Gambar 4.14 Graph Algoritma Random walk dengan Rute yang dipilih

dari Vertex 1 ke Vertex 3 44 Gambar 4.15 Graph Algoritma Random walk dengan Rute yang dipilih

dari Vertex 3 ke Vertex 4 45 Gambar 4.16 Graph Algoritma Random walk dengan Rute yang dipilih

(15)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

(16)

BAB 1 Pendahuluan

1. Latar Belakang

Simalungun adalah kabupaten yang memiliki wilayah yang cukup luas. Simalungun adalah salah satu suku asli yang mendiami Sumatera Utara, tepatnya di timur Danau Toba (Kab.Simalungun). Simalungun merupakan daerah dengan masyarakat berpenghasilan sebagai petani, sektor pertanian menjadi dominan diwilayah ini, baik dari segi persawahan, perkebunan dan tanaman palawijaya. Di lain sisi sektor pariwisata menjadi sektor yang paling menguntungkan dalam menambah pendapatan ekonomi masyarakat Tetapi masalah yang terjadi adalah wisatawan kesulitan dalam mencari informasi menentukan jarak terdekat antar objek wisata di Simalungun. Dengan ini teknologi informasi berbasis aplikasi perlu untuk menjadi solusi yang tepat dalam mempromosikan pariwisata di kabupaten Simalungun.

Wilayah Simalungun memiliki potensi besar dalam hal wisata alam, budaya, kuliner dan sebagainya. Simalungun menawarkan banyak keindahan yang dapat dinikmati wisatawan antara lain, Umbul (Sungai Lobang) Pematang Bandar, Pemandian Alam Sejuk (PAS Timuran), Pemandian karang anyar, Tugu Letda Sujono Bandar Betsi, Pemandian Swimmbath, Museum Simalungun Siantar, Kebun Teh Sidamanik, Tanjung Unta, Tigaras Puncak Simajarunjung dan lain-lain. Wisatawan dapat memilih objek wisata di Simalungun, dengan permasalahan ini penulis ingin menyelesaikan permasalahan jarak antar tempat wisata dengan menggunakan Perbandingan Algoritma Random Walk dan Algoritma L-Deque. 2. Rumusan Masalah

Masalah yang akan dibahas pada penelitian ini adalah bagaimana menetukan rute terdekat antar lokasi objek wisata Kab. Simalungun dengan menggunakan algoritma

Random Walk dan algoritma L-Deque sehingga didapat jarak dan waktu yang efektif

(17)

3. Ruang Lingkup Masalah

1. Objek peneletian berupa 20 objek wisata yang berada di wilayah kab. Simalungun. adapun objek wisata yang dimaksud adalah :

a. Umbul (sungai lobang), Pematang bandar. b. Pemandian Alam Sejuk (PAS Timuran). c. Pemandian karang anyar.

d. Tugu Letda Sujono,bandar betsi. e. Pemandian Swimmbath.

f. Museum Simalungun, Siantar. g. Kebun Teh Sidamanik.

h. Tanjung Unta. i. Tigaras.

j. Puncak Simajarunjung. k. Hutan Lindung Aek Nauli. l. Haranggaol.

m. Kawah Putih Tinggi Raja. n. Wisata Parapat.

o. Perkebunan Teh Bah Butong. p. Pemandian air panas Tinggi Raja. q. Replika Ikan Mas Pematang Sidamanik. r. Air terjun Bah Biak.

s. Air terjun Katasa. t. Air terjun Jambuara.

2. Variabel yang di gunakan adalah S (sumber) adalah titik awal salah satu Objek Wisata di Kabupaten Simalungun, T (tujuan) adalah titik akhir salah satu letak tujuan objek wisata Kabupaten Simalungun, dan bobot jarak.

3. Penelitian adalah graph statis, graph yang berarah terhubung (undirected conected

graph).

4. Perhitungan dilakukan dengan membandingkan running time dengan satuan waktu yang digunakan adalah milisekon dan kompleksitas big theta serta membandingkan hasil (result) masing-masing Algoritma Heuristik Random Walk dan Algoritma Deterministik L-Deque.

(18)

5. Pembahasan tidak menggunakan sistem informasi geografis.

6. Jalan yang di gunakan adalah jalan utama dan jalan daerah di Simalungun yang meniadakan lampu merah, kondisi lalu lintas, kondisi jalan dan kondisi kendaraan. 7. Perhitungan dilakukan dengan membandingkan running time yaitu kompleksitas Big

Ɵ (theta) dan hasil (result) masing-masing algoritma L-Deque dan algoritma

Random Walk.

8. Aplikasi bersifat offline dan Bahasa pemograman yang digunakan adalah Java.

4. Tujuan Penelitian

1. Merancang sebuah sistem yang mampu menghasilkan jarak terdekat dengan waktu yang cukup singkat dengan bobot waktu dan jarak yang minimum sehingga dapat menjangkau tempat-tempat wisata yang ada di kabupaten Simalungun.

2. Membandingkan algoritma Random Walk dan algoritma L-Deque untuk mendapatkan jarak yang paling minimum dalam menentukan rute terpendek antar lokasi wisata di Kab. Simalungun.

5. Manfaat Penelitian

Manfaat yang dihasilkan dari penelitian ini adalah Mengetahui jarak terdekat yang paling Optimum dan efektif dari Perbandingan Algoritma Random walk dan algoritma L-Deque dalam konsep masalah jarak antar pariwisata di kabupaten Simalungun.

6. Metode Penelitian

Tahapan yang dilakukan dalam penelitian ini adalah: 1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian. Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs internet yang berkaitan dengan penelitian ini dengan beberapa topik seperti teori graph, jenis- jenis graph, pengertian algoritma, shortest path, algoritma Random Walk dan algoritma L-Deque.

(19)

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan penelitian ini seperti fungsi algoritma Random Walk dan algoritma L-Deque dalam penentuan rute terpendek antar tempat wisata di Kabupaten Simalungun.

3. Perancangan Sistem

Merancang sistem sesuai dengan rencana yang telah ditentukan, yaitu meliputi perancangan desain awal seperti perancangan tampilan GUI (Graphic User Interface). Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.

4. Implementasi Sistem

Pada tahap ini sistem telah selesai dikembangkan dengan algoritma Random Walk dan algoritma L-Deque dalam penentuan rute terpendek antar tempat wisata di Kabupaten Simalungun ke dalam bentuk program.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah dikembangkan. 6. Dokumentasi Sistem

Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian atau skripsi.

1.7 Sistematika Penulisan

Agar pembahasan lebih sistematis, maka tulisan ini dibuat dalam lima bab, yaitu: BAB 1 PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang penelitian judul skripsi “Perbandingan Algoritma Heuristik Random Walk dan algoritma deterministik L-Deque Menentukan Rute Terpendek (Shortest Path) (studi Kasus : Wisata Di Kabupaten Simalungun)”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, tinjauan pustaka dan sistematika penulisan skripsi.

(20)

BAB 2 LANDASAN TEORI

Bab ini membahas tentang teori-teori yang berhubungan dengan lintasan terpendek, teori graf, algoritma lintasan terpendek, running time dan sebagainya.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Berisi tentang uraian analisis mengenai proses kerja dari algoritma L-Deque dan algoritma Random walk dalam penentuan rute terpendek antar tempat wisata di Kabupaten Tapanuli Tengah dan perbandingan dari kedua algoritma tersebut yang terdiri dari flowchart, Unified

Modeling Language (UML) serta perancangan antarmuka pengguna.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Pada tahap ini dilakukan pembuatan sistem dan Program perbandingan algoritma heuristik

random walk dan algoritma l-deque untuk pencarian jarak

terpendek (shortestpath) (studi kasus : Pariwisata kab.simalungun) sesuai dengan analisis dan perancangan, kemudian melakukan pengujian sistem.

BAB 5 KESIMPULAN DAN SARAN

Bab terakhir akan memuat kesimpulan isi dari keseluruhan uraian dari bab-bab sebelumnya dan saran-saran dari hasil yang diperoleh yang diharapkan dapat bermanfaat dalam pengembangan selanjutnya.

(21)

BAB 2

LANDASAN TEORI

2.1 Algoritma

Algoritma adalah suatu urutan langkah yang sistematis dan bahasa yang logis yang di gunakan untuk menyelesaikan suatu masalah dan menghasilkan tujuan tertentu. (Barakbah, dkk, 2013).

Algoritma adalah urut-urutan terbatas dari operasi-operasi terdefinisi dengan baik, yang masing-masing membutuhkan waktu yang terbatas untuk menyelesaikan suatu masalah agar dapat menghasilkan tujuan dari sumber masalah. (Niemi,1977).

Menurut (Dublin. 2009) menemukan jalan terpendek dari total panjang jalan antara dua node grafik diarahkan dengan panjang berkaitan dengan tepi masing-masing. Algoritma (algorithm) berasal dari kata ‘algoris’ dan ritmis yang pertama kali di ungkapkan oleh abu ja’far mohammed munazz ibn musa al khwarizmi (825 masehi dalam buku Al-Jabr Wa-al Muqabla dalam bidang pemrograman algoritma didefinisikan sebagai suatu metode khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer. Diacuan yang lain algoritma adalah sebuah strategi yang mengandalkan kemampuan berpikir secara logis untuk memcahkan suatu masalah. Dalam algoritma kita mulai berpikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah agar tujuan atau sasaran yang kita harapkan terwujud.

2.1.1 Karakteristik Algoritma

Knuth (1973) menyatakan 5 komponen utama dalam algoritma yaitu finiteness, definiteness,

input, output dan effectiveness. Komponen yang harus ada dalam merancang algoritma:

1. Komponen masukan : terdiri dari pemilihan variable, jenis variabel, tipe variabel, konstanta dan parameter (dalam fungsi).

2. Komponen keluaran : merupakan tujuan dari perancangan algoritma dan program. Permasalahan yang diselesaikan dalam algoritma dan program harus ditampilkan

(22)

dalam komponen keluaran. Karakterisik keluaran yang baik adalah menjawab permasalahan dan tampilan yang ramah.

3. Komponen proses : merupakan bagian utama yang penting dalam merancang sebuah algoritma. Dalam bagian ini terdapat logika masalah, Logika algoritma (sintaksis dan semantik), rumusan metode (rekursi, perbandingan, penggabungan, pengurangan, dll.).

Karakteristiknya adalah sebuah berikut :

1. Input : Sebuah algoritma harus memiliki nol input atau lebih dari pengguna sebagai data masukan untuk diolah.

2. Output : Sebuah algoritma harus memiliki minimal sebuah ouput yang merupakan hasil dari olahan data.

3. Finiteness : Sebuah algoritma harus terbatas dan berhenti dari proses yang telah dieksekusi.

4. Defineteness : Sebuah Algoritma harus jelas dan tidak menimbulkan makna ganda

(ambiguous).

5. Effectiveness : Langkah-langkah algoritma dikerjakan dalam waktu yang wajar.

2.2 Shortest Path

Shortest Path adalah pencarian rute atau path terpendek antara node yang ada pada

graph. Persoalan ini bisa dimodelkan ke dalam suatu graf berbobot dengan nilai pada masing masing sisi yang merepresentasikan persoalan yang akan dipecahkan. Kata “terpendek” pada kata “lintasan terpendek” ini tidak berarti hanya bisa diartikan jarak secara fisik, namun hal itu tergantung dari tipe persoalan yang akan dipecahkan. Bisa jadi kata tersebut memiliki makna tingkat aksesibilitas suatu simpul dalam graf dari simpul yang lain. (Aprian dan Novandi, 2007). Pencarian rute terpendek dilakukan untuk menghemat waktu dan biaya perjalanan. Sehingga wisatawan yang ingin berkunjung ketempat wisata dapat mengunjungi lebih dari satu tempat.

Maka dalam hal ini penulis menggunakan algoritma Random Walk dan Algoritma

L-Deque untuk perbandingan rute terpendek. Shortest Path adalah pencarian rute atau path

terpendek antara node yang ada pada graph. Persoalan ini bisa dimodelkan ke dalam suatu

(23)

yang akan dipecahkan. Kata “terpendek” pada kata “lintasan terpendek” ini tidak berarti hanya bisa diartikan jarak secara fisik, namun hal itu tergantung dari tipe persoalan yang akan dipecahkan. Bisa jadi kata tersebut memiliki makna tingkat aksesibilitas suatu simpul dalam graf dari simpul yang lain. (Aprian dan Novandi, 2007). Pencarian rute terpendek dilakukan untuk menghemat waktu dan biaya perjalanan. Sehingga wisatawan yang ingin berkunjung ketempat wisata dapat mengunjungi lebih dari satu tempat. Maka dalam hal ini penulis menggunakan algoritma Random Walk dan Algoritma L-Deque untuk perbandingan rute terpendek.

2.3 Konsep dasar Graph.

Teori graph diperkenalkan pada abad ke 18 oleh seorang matematikawan bernama Leonhard Euler. Euler mencoba memecahkan teka-teki yang dikenal dengan nama masalah jembatan Konigsberg. Terdapat tujuh buah jembatan yang menghubungkan dua pulau dan sebuah sungai, dalam implementasinya sekarang teori graph yang merupakan salah satu cabang matematika banyak di gunaan dalam berbagai bidang Ilmu seperti, Ilmu Komputer, Fisika, Kimia, Teknik Sipil dan lain – lain.

2.2.1 Definisi Graph.

Graph G didefinisikan sebagai pasangan himpunan yang terdiri dari vertex ( V ) dan edge ( E ) yang ditulis dengan notasi G = ( V, E ), dimana dalam hal ini V adalah

suatu himpunan tidak kosong dari vertex- vertex ( simpul atau node ) pada graph G dan E adalah suatu himpunan edge (sisi atau arcs) yang menghubungkan sepasang vertex pada graph. V tidak boleh kosong, sedangkan E boleh kosong (Ristono & Puryani, 2011). Contoh graph dapat dilihat pada gambar 2.1

e4 e5

e2 e3

Gambar 2.1 Graph dengan 4 vertex dan 5 edge

A B

D

C e1

(24)

pada gambar 2.1 diatas Graph G = ( V, E ), dimana : 1. V adalah himpunan titik, vertex atau node dari G yaitu

V = { A, B, C, D }

2. E adalah himpunan rusuk, garis atau edge dari G, yaitu E = { e1, e2, e3, e4, e5 }

2.2.2 Jenis- Jenis Graph

Graph dikelompokkan menurut ada tidaknya edge yang loop atau ganda, berdasarkan

jumlah vertex, atau berdasarkan orientasi arah pada pada edge (arcs) (Munir, 2014). Dilihat dari ada tidaknya edge yang loop atau ganda pada suatu graph, maka secara umum graph dikelompokkan menjadi dua jenis :

1. Graph Sederhana (simple graph) adalah graph yang tidak memiliki edge

yang paralel atau loop. Vertex-vertex pada graph sederhana dihubungkan dengan satu edge ke setiap vertex yang lain dan tidak ada edge yang vertex awal dan akhirnya sama. Contoh graph sederhana dapat dilihat pada gambar 2.2. e1 e1 e3 e2 e4 e5 e2 e3

Gambar 2.2 Graph Sederhana

2. Graph Tidak Sederhana ( Unsimple Graph ) adalah graph yang memiliki

edge ganda atau loop. Graph tidak sederhana terbagi lagi menjadi dua yaitu graph semu (pseudograph) dan multigraph. Graph semu (pseudograph)

adalah graph yang memiliki gelang (loop) sehingga graph semu dapat terhubung dengan dirinya sendiri, sedangkan multigraph adalah graph yang memiliki edge ganda. Contoh graph tidak sederhana dapat dilihat pada gambar 2.3 A C B A D B C

(25)

( a ) ( b )

Gambar 2.3 (a) Multigraph, (b) Graph Semu ( Hayati & Yohanes, 2014 ) Dilihat dari orientasi arah pada sisinya (edge), maka secara umum graph dikelompokkan menjadi dua yaitu :

1. Graph tidak berarah (undirected graph) adalah graph yang sisinya (edge) tidak mempunyai orientasi arah. Pada graph ini, urutan pasangan vertex yang dihubungkan oleh vertex tidak diperhatikan (Munir, 2014). Contoh graph tidak berarah dapat dilihat pada gambar 2.4

e2 e1 e3 e4 e5 e7 e6

Gambar 2.4 Graph Tidak Berarah

2. Graph berarah (directed graph atau digraph) adalah graph yang setiap sisinya (edge) diberikan orientasi arah. Pada graph berarah (u,v) dan (v,u) menyatakan dua buah edge berarah (arc) yang berbeda, dengan kata lain (u,v) ≠ (v,u). Untuk

edge berarah (u,v), vertex u dinamakan vertex asal (initial vertex) dan vertex v

dinamakan vertex akhir (terminal vertex) (Munir, 2014). Contoh graph berarah dapat dilihat pada gambar 2.5

A

B

D E

(26)

e1

e2 e3

e4

e5

Gambar 2.5 Graph Berarah

3. Graph Berbobot (Weighted Graph)

Graph berbobot adalah graph yang setiap sisinya (edge) diberi sebuah harga (bobot).

Bobot pada tiap edge dapat berbeda-beda bergantung pada masalah yang dimodelkan dengan graph. Bobot dapat menyatakan jarak antara dua buah kota, waktu tempuh pesan (message) dari sebuah simpul (vertex) komunikasi ke simpul (vertex) komunikasi lain (dalam jaringan komputer), ongkos produksi dan sebagainya (Munir, 2014). Contoh graph berbobot dapat dilihat ada Gambar 2.6

2

4 6 2

5

Gambar 2.6 Graph Berbobot 4. Graph berbobot dan berarah

Graph berbobot dan berarah adalah graph yang setiap sisinya (edge) diberi

sebuah harga (bobot) dan memiliki busur arah pada tiap edge nya dimana muatannya bebas dan memiliki bobot disetiap panah busur. Contoh graph berbobot dan berarah dapat dilihat pada gambar 2.7

A B D C A C D B

(27)

5

2 10 5

5 6

Gambar 2.7 Graph Berbobot dan Berarah

2.4 Algoritma L-Deque

Algoritma L-Deque adalah sebuah algoritma pencarian lintasan terpendek (shortest

path) yang menggunakan konsep linear list atau daftar linear. Deque disebut queue

ganda atau double queue, penambahan dan penghapusan elemennya dapat dilakukan pada kedua ujung sisinya, tetapi tidak dapat dilakukan di tengah-tengah list.

Deque merupakan sebuah daftar yang menggabungkan sifat-sifat dari antrian dan

tumpukan (stack). Deque adalah sebuah daftar yang dapat melakukan penambahan dan penghapusan yang mungkin di kedua ujung. Sebuah deque sudah tekenal digunakan dalam algoritma D'Esopo-Pape, algoritma ini disebut L-Deque. Dalam Q deque digunakan penambahan L-Deque pada kedua ujungnya, sementara penghapusan dilakukan di kepala. Deque ini dapat diartikan sebagai “Q antrian dan Q tumpukan" yang dihubungkan secara seri. (Gallo & Pallotino, 1986).

Algoritma L-Deque ialah sebuah algoritma pencarian rute terpendek yang menggabungkan sifat dari antrian dan tumpukan, serta dapat melakukan penambahan dan penghapusan pada kedua ujung tetapi tidak dapat dilakukan ditengah tengah list (Gallo & Pallotino, 1986). Berdasarkan permasalahan diatas penulis ingin menemukan sistem yang efektif dalam penentuan jarak melalui dua perbandingan algoritma yang penulis ajukan.

Algoritma L-Deque untuk mencari lintasan terpendek dapat dirumuskan sebagai berikut:

1. Input semua vertex yang ada pada graph ke dalam daftar data deque. A

C D

(28)

2. Tentukan vertex yang akan menjadi vertex asal dan tandai dengan nilai 0 pada

vertex tersebut, kemudian berikan nilai inf (∞) kepada setiap vertex lainnya.

3. Periksa semua vertex yang dapat dikunjungi dari vertex asal (keberangkatan), dan periksa setiap edge (u,v) yang ada pada graph dan tentukan d[v] untuk lintasan terpendek pertama dengan cara :

i. Hitung : d[v] > d[u] + edge [u] [v]

ii. Jika d[v] > d[u] + edge [u] [v] maka d[v] = d[u] + edge [u] [v] dan tukar nilai inf (∞) pada vertex yang telah dikunjungi tersebut dengan nilai d[v]. Dan Jika ada nilai d[v] pada vertex tersebut dan nilai d[v] yang baru dihasilkan lebih kecil maka tukar nilai d[v] dengan nilai d[v] yang baru. 4. Dengan cara yang sama, ulangi langkah 2 untuk menentukan lintasan

terpendek berikutnya.

5. Contoh sederhana penyelesaian sebuah graph untuk menentukan rute terpendek menggunakan algoritma L-Deque dengan vertex awal A dan vertex akhir F dapat dilihat pada gambar 2.8 dibawah ini.

Gambar 2.8 Graph Berarah Terhubung

Vertex asal pada graph diatas ialah vertex A, tandai vertex tersebut dengan nilai 0 dan

beri nilai inf (∞) pada vertex lainnya. Dapat dilihat pada gambar 2.9. 0/- 10 ∞/- 12 ∞ / - 16 6 8 9 7 ∞ / - 5 ∞/- 17 ∞ / -

Gambar 2.9 Graph Penentuan Vertex Asal A B D C E F

(29)

Vertex yang dapat dikunjungi dari vertex A ialah vertex B dengan bobot jarak

6 dan juga vertex C dengan bobot jarak 10. Hitung d[v] untuk vertex B, d[v] > d[u] + edge [u][v], d[“B”] > d[“A”] + edge [“A”][“B”], d[“B”] > 0 + 6, inf > 6 sehingga didapat d[“B”] = 6 dan Tukar nilai inf (∞) pada vertex B dan hitung untuk vertex C, d[v] > d[u] + edge [u][v], d[“C”] > d[“A”] + edge [“A”][“C”], d[v] > 0 + 10, inf > 10, sehingga didapat d[“C”] = 6 dan tukar nilai inf (∞) pada vertex C. Dapat dilihat pada gambar 2.10.

Gambar 2.10 Graph Rute yang dipilih dari Vertex A ke Vertex B dan Vertex C

Kemudian pilih edge yang dapat dikunjungi dari vertex B, yaitu BE dengan bobot jarak 17. Hitung d[v] untuk vertex E, d[v] > d[u] + edge [u][v], d[“E”] > d[“B”] + edge [“B”][“E”], d[“E”] > 6 + 17, inf > 23 sehingga didapat d[“E”] = 23 dan Tukar nilai inf (∞) pada vertex E. Edge BD juga dapat dikunjungi dari vertex B dengan bobot jarak 9, hitung d[v] untuk vertex D, d[v] > d[u] + edge [u][v], d[“D”] > d[“B”] + edge [“B”][“D”], d[“D”] > 6 + 9, inf > 15 sehingga didapat d[“D”] = 15 dan tukar nilai inf pada vertex D. Dapat dilihat pada gambar 2.11.

(30)

Pilih edge yang dapat dikunjungi dari vertex C yaitu CD dengan bobot jarak 12. Hitung d[v] untuk vertex D, d[v] > d[u] + edge [u][v], d[“D”] > d[“C”] + edge [“C”][“D”], 15 > 10 + 12, 15 > 22 “tidak” sehingga nilai d[“D”] sebelumnya yang diambil untuk vertex D. Edge CB juga dapat dikunjungi dari vertex C dengan bobot jarak 8, hitung d[v] untuk vertex B, d[v] > d[u] + edge [u][v], d[“B”] > d[“C”] + edge [“C”][“B”], 6 > 10 + 8, 6 > 18 “tidak” sehingga nilai d[“B”] sebelumnya yang diambil untuk vertex B. Dapat dilihat pada gambar 2.12.

Gambar 2.12 Graph Rute yang dipilih dari Vertex C ke Vertex B dan Vertex D

Pilih edge yang dapat dikunjungi dari vertex D yaitu DE dengan bobot jarak 7. Hitung d[v] untuk vertex E, d[v] > d[u] + edge [u][v], d[“E”] > d[“D”] + edge [“D”][“E”], 23 > 15 + 7, 23 > 22 sehingga didapat d[“E”] = 22 untuk vertex E. Edge DF juga dapat dikunjungi dari vertex D dengan bobot jarak 16, hitung d[v] untuk

vertex F, d[v] > d[u] + edge [u][v], d[“F”] > d[“D”] + edge [“D”][“F”], d[“F”] > 15

+ 16, inf > 31 sehingga didapat d[“F”] = 31 dan tukar nilai inf pada vertex F. Dapat dilihat pada gambar 2.13.

(31)

Pilih edge yang dapat dikunjungi dari vertex E yaitu EF dengan bobot jarak 5. Hitung d[v] untuk vertex F, d[v] > d[u] + edge [u][v], d[“F”] > d[“E”] + edge [“E”][“F”], 31 > 22 + 5, 31 > 27 sehingga didapat d[“F”]= 27 untuk vertex F. Dapat dilihat pada gambar 2.14.

Gambar 2.14 Graph Rute yang dipilih dari Vertex E ke Vertex F

Hasil yang didapat dari contoh sederhana menentukan rute terpendek dengan algoritma L-Deque ialah :

AB = 6 (direct) AC = 10 (direct) AD = 15 = AB + BD

2.5 Random walk

Algoritma Random Walk adalah algoritma pencarian lintasan terpendek dengan menggunakan metode acak, berjalan secara acak untuk mendapatkan hasil yang optimum dengan menghasilkan percobaan lebih dari satu kali namun memiliki batas percobaan,

random (acak) dan walk (jalan) memiliki cara yang fleksibel untuk menentukan arah untuk

sampai ke titik vertex yang diinginkan. Karena Random walk fleksibel maka hasil yang di dapat untuk mengetahui lintasan terpendek akan semakin mudah karena memiliki bahan perbandingan lebih dari satu.( patrick siarry, 2016). Algoritma Random Walk adalah proses stokastik yang dibentuk oleh penjumlahan berturut-turut independen, identik variabel acak terdistribusi adalah salah satu topik yang paling dasar dan dipelajari dengan baik probabilitas teori. Untuk jalan-jalan acak pada bilangan bulat, referensi utama adalah buku klasik oleh Spitzer. Teks ini menganggap hanya sebagian jalan-jalan tersebut, yaitu orang-orang yang sesuai dengan kenaikan distribusi dengan nol varians mean dan terbatas. Dalam hal ini,

AE = 22 = AB + BD + DE AF = 27 = AB + BD + DE + EF

(32)

seseorang dapat merangkum Hasil utama yang sangat cepat: teorema limit sentral menyiratkan bahwa di bawah sesuai rescaling yang membatasi distribusi normal, dan fungsional pusat teorema limit menyiratkan bahwa distribusi dari proses jalan-dihargai sesuai (setelah rescaling standar waktu dan ruang) pendekatan bahwa dari gerak brown (patrick siarry 2016).

Algoritma Random walk dalam mencari lintasan terpendek dapt dirumuskan sebagai berikut :

1. Input semua vertex yang ada pada graph ke dalam daftar data random.

2. Tentukan vertex yang akan menjadi vertex asal dan tandai dengan nilai tertentu pada

vertex tersebut, kemudian berikan nilai tertentu kepada setiap vertex lainnya.

3. Periksa semua vertex yang dapat dikunjungi dari vertex asal (keberangkatan) secara acak, kemudian lakukan perhitungan sesuai jalur yang di kunjungi sampai bertemu vertex tujuan.cara perhitungan Random Walk sebagai berikut :

1. Hitung : a1 (vertex asal) + a2 (vertex acak) + a3 (vertex acak) + ... n (vertex tujuan)

2. Dengan cara yang sama, ulangi langkah 2 untuk menentukan lintasan terpendek berikutnya secara acak.

Contoh sederhana penyelesaian sebuah graph untuk menentukan rute terpendek menggunakan algoritma Random walk dengan vertex awal A dan vertex akhir F dapat dilihat pada gambar 2.15.

Lintasan terpendek pertama yang harus dipilih dari edge yang langsung bersisian dengan vertex A ialah acak, ada kemungkinan vertex B (AB) dengan bobot 6 atau vertex C (AC) dengan bobot 10, ditunjukkan pada gambar 2.15.

10 12

16

6 8 9 7

5 17

Gambar 2.15 Graph Rute yang dipilih dari Vertex A ke Vertex B atau Vertex A ke Vertex C A B D C E F

(33)

Selanjutnya jika sudah memilih salah satu edge maka nilai yang di ambil di simpan untuk di lanjutkan pencarian secara acak kembali, sementara edge yang tidak dipilih disimpan didalam list untuk tidak di lalui kembali. Contoh edge yang dipilih adalah AB selanjutnya dipilih secara acak kembali ,yang berdekatan dengan edge AB, yaitu edge BD dengan bobot 9 sehingga bobot totalnya 15, edge BE juga berdekatan dengan edge AB dengan bobot 17 sehingga bobot totalnya 23.maka dipilih salah satu dari edge secara acak Jadi memilih edge BD maka edge BE di simpan dalam list untuk tidak di lewati, ditunjukkan pada gambar 2.16.

Gambar 2.16 Graph Rute yang dipilih dari Vertex B ke Vertex D

Selanjutnya ketika titik akhir sudah ditemukan maka edge yang langsung dipilih adalah edge yang langsung bertemu dengan titik akhir, yaitu edge DF dengan bobot 16 sehingga bobot totalnya 31,. Jadi memilih edge DF karena langsung berhadapan dengan titik tujuan, ditunjukkan pada gambar 2.17.

(34)

Hasil yang didapat dari contoh sederhana diatas menentukan rute terpendek menggunakan algoritma Greedy ialah A  B  D  F dengan total jarak 31.

2.6 Kompleksitas Algoritma

Pada bagian ini suatu algoritma dapat ditinjau efisiensinya, terdapat 2 jenin efisiensi yang dapat diaplikasikan yaitu efisiensi waktu (time efficiency) dan efisiensi ruang (space

efficiency). Efisiensi waktu juga disebut time complexity yang mengindikasikan seberapa

cepat sebuah algoritma tersebut berjalan. Efisiensi ruang juga disebut space complexity yang mengacu pada jumlah satuan memory yang diperlukan oleh sebuah algoritma terkecuali ruang yang diperlukan untuk input dan output. Adalah suatu hal yang penting untuk mencari efesiensi suatu algoritma karena dari efesiensi dapat dilihat kekurangan dan kelebihan algoritma terhadap beberapa entitas yang mempengaruhinya. Efesiensi algoritma didefinisikan dengan parameter n, dimana n adalah nilai input dari suatu algoritma. Parameter tersebut akan dihidangkan dengan polinomial p(n) = axnx + ... + a0 dengan dregree n (Levitin, A. 2012).

(35)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem adalah suatu proses mengumpulkan dan menginterpretasikan kenyataan-kenyataan yang ada, mendiagnosa persoalan dan menggunakan keduanya untuk memperbaiki sistem (kristanto, 2003). Selain itu pendapat lain,Analisis sistem adalah teori sistem umum yang sebagai sebuah landasan konseptual yang mempunyai tujuan untuk memperbaiki berbagai fungsi di dalam sistem yang sedang berjalan agar menjadi lebih efisien, mengubah sasaran sistem yang sedang berjalan, merancang/mengganti output yang sedang digunakan, untuk mencapai tujuan yang sama dengan seperangkat input yang lain atau melakukan beberapa perbaikan serupa (Mulyanto, Agus. 2009 : 125).

Dalam tugas akhir, fase analisis sistem merupakan bagian penting dalam penelitian ini. Pembahasan yang akan dibahas adalah analisis masalah dan analisis kebutuhan, analisis masalah bertujuan untuk mempermudah dalam memahami masalah yang akan diteliti, sedangkan analisis kebutuhan untuk menjelaskan fungsi-fungsi yang mampu dikerjakan oleh sistem.

3.1.1 Analisis Masalah

Banyak pariwisata di simalungun yang sangat bagus untuk sarana liburan keluarga, dalam hal ini untuk mengunjungi semua titik pariwisata yang ada di simalungun diperlukan cara yang efektif dalam mencari jarak terpendek dan mendapatkan solusi yang lebih optimal, sehingga dapat menghemat waktu dengan efesiendengan ini penulis melakukan penelitian untuk mencari jarak terpendek untuk kasus pariwisata di simalungun dengan menggunakan algoritma Random Walk dan algoritma L-Deque.

Permasalahan pada penelitian ini bukan hanya sebatas pencarian jarak terpendek dengan menggunakan perbandingan algoritma Random walk dan algoritma L-Deque,tetapi juga dengan mencari real running time dari algoritma tersebut. Vertex ditentukan berdasarkan beberapa nama wisata yang telah dipilih yang terdapat di Kabupaten Simalungun, dan edge merupakan panjang jarak jalan yang akan dilalui nantinya dari wisata satu ke wisata lainnya.

(36)

Terdapat 20 buah vertex,dalam representasi graph, penentuan hubungan antar

vertexdan edge pada tempat wisata di Kabupaten Simalungun sangat diperlukan agar proses

berjalan optimal. Dengan graph berarah terhubung dimana suatu graphjika ada walk yang menghubungkan setiap dua vertex (titiknya).Setelah itu sistem akan melakukan perbandingan dengan menggunakan graph yang sama terhadap kedua algoritma Random

Walk dan L-Deque.Analisis masalah dapat diidentifikasi dengan menggunakan diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan suatu alat visual untuk

mengidentifikasimengeksplorasidan secara graphik menggambarkan secara detail semua penyebab yang berhubungan dengan suatu permasalahan. Diagram Ishikawa sistem ini dapat dilihat pada Gambar 3.1.

Gambar 3.1 Diagram Ishikawa

Material Metode

Tidak adaRute terpendek yang akan dilalui dari titik awal ke titik tujuan

Algoritma L-Deque membutuhkan waktu yang lama

Algoritma Random Walk tidak optimum

Penentuan Rute Terpendek Antar Tempat Wisata di Kabupaten Simalungun dengan Algoritma Random Walk dan L-Deque Tidak ada informasi

jarak terpendek antar tempat wisata

Tidak ada aplikasi yang menghasilkan jarak valid untuk mencari rute terpendek antar tempat wisata

(37)

3.1.2 Analisis Kebutuhan Sistem

Terdapat dua bagian pada analisis kebutuhan sistem yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

3.1.2.1 Kebutuhan Fungsional

Analisis kebutuhan fungsional mendekripsikan tentang sistem yang disediakan. Sistem ini melakukan perhitungan, perbandingan jarak dan waktu pencarian rute terpendek tempat wisata di Kabupaten Simalungun. Terdapat beberapa persyaratan fungsional antara lain: 1. Sistem ini menggunakan graphtempat wisata di Simalungun yang telah ditentukan. 2. Sistem ini dapat mengunakan vertex awal yang sudah ditentukan sebagai vertex asal. 3. Sistem mendapatkan hasil rute mana saja yang akan dilaui pada graph dengan

menggunakan algoritma Random Walk dan algoritma L-Deque.

4. Sistem ini memilih parameter yang digunakan untuk perbandingan yaitu kesesuaian kompleksitas Big Ө (theta) kedua algoritma dan running time yang dibutuhkan untuk mendapatkan jarak terpendek.

3.1.2.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan

performance dari suatu sistem.

3.1.3Flowchart

Flowchartadalahsuatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan

proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

(38)

3.1.3.1 Flowchart Sistem

Flowchart darisistem yang akan dibangun dapat dilihat pada gambar 3.2

3.1.3.2 Flowchart Algoritma L-Deque

Flowchart dari algoritma L-Deque dapat dilihat pada Gambar 3.3.

Mulai

Masukkan Lokasi Awal dan Lokasi Tujuan

Membentuk Graph Berbobot dan nama tempat wisata

Hitung Rute Terpendek dengan Algoritma Random walk atau

L-Deque

Menampilkan Lintasan Terpendek dan

Execution Time

Selesai

Gambar 3.2 Flowchart Sistem Mencari Lokasi Awal dan

(39)

Tampilkan Hasil Lintasan terpendek

Selesai Simpan hasil jarak

yang diperoleh Q = 0 dv= du

+

luv Pv =

u

Ya Tidak Mulai Input Vertex Inisialisasi Q = jumlah vertex dalam

Asumsikan vertex awal = 0 dan

Mencari jarak terpendek dari

vertex yang dipilih

du

+

luv

<

dv dv = + ∞ Tidak

(40)

Keterangan :

Dv : Nilai Titik Tujuan Du : Nilai Titik Asal Q : Hasil perhitungan + : Tidak terhingga UV : Asal + Tujuan

(41)

3.1.3.2Flowchart Algoritma Random Walk

Flowchart dari algoritma RandomWalkdapat dilihat pada Gambar 3.4.

Tidak

Ya

Gambar 3.4Flowchart Algoritma Random Walk Mulai

Memilih titik Secara Acak

Memasukkan titik dan jarakterpilih acak dalam point untuk dilanjutkan kembali, dan titik tidak terpilih dimasukkan dalam list untuk tidak di gunakan lagi

Memilih jarak yang paling dekat

Selesai

Pilih jarak secara acak dan dibatasi Tentukan titik awal

dan titik tujuan

Tampilakan Hasil Lintasan Terpendek Menghitung jarak titikacak ke titik

(42)

3.2 Pemodelan

Sistem ini dibangun dengan membuat use case diagram, sequence diagram dan activity

diagram.

3.2.1 Use Case Diagram

Use case adalah gambaran fungsional suatu sistem, sehingga user mengetahui layanan yang

disediakan oleh sistem. Dimana penggambaran sistem dari sudut pandang user itu sendiri sehingga use case lebih ditekankan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian. Berikut use case diagram dapat dilihat pada Gambar 3.5

Gambar 3.5 Use Case Diagram Random Walk dan L-Deque

3.2.2. Activity Diagram

Activity diagramdapat menggambarkan berbagai alur aktivitas dalam sistem yang akan

dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi dan bagaimana berakhir.

(43)

3.2.2.1 Activity Diagram Cara Kerja Sistem Dengan Algoritma L-Deque

Activity diagram pada Gambar 3.6 menjelaskan proses kerja dari sistem untuk proses

menentukan titik asal dan tujuan serta memilih algoritma L-Deque yang akan digunakan oleh user. Activity diagramsistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.6.

Gambar 3.6Activity DiagramCara Kerja Sistem dengan Algortima L-Deque 3.2.2.2 Activity Diagram Cara Kerja Sistem Dengan Algoritma Random Walk

Activity diagram pada Gambar 3.7 menjelaskan proses kerja dari sistem untuk proses

menentukan titik asal dan tujuan serta memilih algoritma Random Walkyang akan digunakan oleh user. Activity diagramsistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.7.

(44)

Gambar 3.7Activity DiagramCara Kerja Sistem Dengan Algortima Random walk 3.2.3 Sequence Diagram

Sequence diagram mengilustrasikan bagaimana message dikirim dan diterima diantara objek

dan diurutan yang sama, sequence membantu untuk menggambarkan data yang masuk dan keluar sistem. Sequence diagram sistem ini dapat dilihat pada Gambar 3.8.

Gambar 3.8Sequence Diagram Sistem 3.3 Perancangan Antarmuka (Interface)

(45)

Perancangan antarmuka (interface) merupakan bagian penting dalam membangun sebuah sistem.Antarmuka yang baik perlu memperhatikan faktor pengguna dalam menggunakan sistem, selain untuk mempermudah pengguna dalam menggunakan sistem yang dibangun juga perlu diperhatikan kenyamanan dari pengguna dalam menggunakan sistem tersebut. Antarmuka yang terdapat pada sistem ini adalah halaman menu Home, Shortest Path, Help dan About.

3.3.1 Halaman Menu Home

Halaman Home merupakan halaman utama yang ditampilkan dari sistem ketika sistem dijalankan.Tampilan rancangan halaman menu Home dapat dilihat padaGambar 3.9 dan keterangan gambar rancangan halaman pada Tabel 3.1.

Gambar 3.9 Rancangan Antarmuka Halaman Menu Home

(46)

3.3.2 Halaman Menu Shortest Path

Halaman Shortest Pathmerupakan halaman yang tampil saat pengguna memilih menu

Shortest Path pada halaman utama Home. Pada halaman ini pengguna dapat melihat graph

yang akan ditampilkan, memilih algoritma yang akan digunakan, serta melihat hasil total jarak, rute dan execution time dari kedua algoritma tersebut. Rancangan halaman menu

Shortest Path dapat dilihat pada Gambar 3.10 dan keterangan gambar rancangan halaman

pada Tabel 3.2.

1 Home Shortest Path Help About

2

3 4

5 6

7 8

Lihat objek Wisata 10

Informasi Tempat Wisata Terdekat Berdasarkan Jarak

Nama Tempat Wisata Rute yang dilalui Jarak

Lihat Graph 14 9 15 12 13 11

Gambar 3.10 Rancangan Antarmuka Halaman Menu Shortest Path

Tabel 3.2 Keterangan Gambar RancanganAntarmuka Halaman Menu Shortest Path No Keterangan

1 TabControl berfungsiuntuk menunjukkan halaman-halaman yang tersediapadasistem

2 Text Box untuk menampilkan judul skripsi, nama dan NIM

3 Picture Box untuk menampilkan logo Universitas Sumatera Utara

(47)

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2 Label untuk Tentukan Rute

3 Label untuk Asal

4 Combo Box untuk pemilihan vertex asal

5 Label untuk Tujuan

6 Combo Box untuk pemilihan vertex tujuan

7 Label untuk Algoritma

8 Combo Box untuk Pilihan Algoritma

9 Button untuk menampilkan Proses

10 Label untuk Waktu Proses

11 Text Boxuntuk menampilkan Hasil Wakru Proses 12 Label untuk judul tabel

13 Datagridview untuk menampilkaninformasi tempat wisata terdekat berdasarkan jarak

14 Button untuk menampilkan graph

15 Button untuk menampilkan objek wisata yang tersedia

3.3.3 Halaman Menu Help

Halaman Helpmerupakan halaman yang tampil saat pengguna memilih menupada menu bar. Pada halaman ini pengguna dapat melihat petunjuk penggunaan dari sistem. Rancangan halaman menu Help dapat dilihat pada Gambar 3.11 dan keterangan gambar rancangan halaman pada Tabel 3.3.

(48)

1

Home Shortest Path Help About

PETUNJUK PENGGUNAAN SISTEM

2

3

Gambar 3.11 Rancangan Antarmuka Halaman Menu Help

Tabel 3.3 Keterangan Gambar RancanganAntarmuka HalamanMenu Help

3.3.5 Halaman Menu About

Halaman Tentangmerupakan halaman yang berisi biodata penulis dan penjelasan lainnya, rancangan halaman menu Tentang dapat dilihat pada Gambar 3.12 dan keterangan gambar rancangan halaman pada Tabel 3.4.

No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2 Label untuk menampilkan judul petunjuk penggunaan system

(49)

1 Home Shortest Path Help About

3 2

Gambar 3.12 Rancangan Antarmuka Halaman Menu About

Tabel 3.4 Keterangan Gambar RancanganAntarmuka HalamanMenu About No Keterangan

1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem

2 Text Box untuk menampilkan informasi tentang aplikasi secara umum

(50)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi

Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini menggunakan bahasa pemograman JAVA. Pada sistem ini terdapat 4 (empat) tampilan halaman yang akan di gunakan yaitu Halaman Home, Halaman Shortest Path, Halaman Help dan Halaman About.

4.1.1 Tampilan Halaman Menu Home

Tampilan halaman menu home merupakan tampilan halaman awal ketika menjalankan sistem. Halaman berisi Judul sisitem nama penulis, nim penulis, logo Universitas dan nama Pogram Studi. Tampilan halaman menu home dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan Menu Home

4.1.2 Tampilan Halaman Menu Shortest-Path

Tampilan halaman menu shortest-path merupakan tampilan kedua yang berisi asal, tujuan, algoritma yang akan di gunakan, proses waktu proses, lihat graph, dan informasi tempat

(51)

wisata berdasarkan jarak. Tampilan halaman menu shortest-path dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan Halaman Menu Shortest-Path Tampilan Graph dapat dilihat pada gambar 4.3.

Gambar 4.3 Graph Tempat Wisata di Kabupaten Simalungun 4.1.3 Tampilan Halaman Menu Help

Tampilan halaman menu help merupakan halaman yang berfungsi sebagai petunjuk penggunaan dari sistem ini. Tampilan halaman menu help dapat dilihat pada gambar 4.4.

(52)

Gambar 4.4 Tampilan Halaman Menu Help 4.1.4 Tampilan Halaman Menu About

Tampilan halaman menu About merupakan halaman yang berisi deskripsi singkat tentang aplikasi dan biodata penulis serta penjelasan lainnya. Tampilan halaman menu about dapat dilihat pada Gambar 4.5.

(53)

4.2 Pengujian

Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem. Pengujian sistem bertujuan untuk menguji sistem berjalan sesuai harapan. Pengujian sistem dilakukan pada

graph tempat wisata yang telah ditentukan dengan menggunakan dua algoritma dan

membandingkan real running time serta hasil dari jarak terpendek.

4.2.1 Pengujian Proses Implementasi

Proses pengujian dilakukan dengan cara memilih salah satu tempat wisata sebagai titik asal, contohnya “ Perapat ” dan juga memilih salah satu tempat wisata sebagai titik tujuan akhir, jika menggunakan Algoritma Random walk, contoh ‘Perapat’ ke ‘Simarjarunjung’ digunakan salah satu algoritma Random walk. Maka akan muncul tampilan seperti Gambar 4.6.

Gambar 4.6 Proses Pengujian Implementasi

4.2.2 Pengujian Proses Algoritma L-Deque

Algoritma L-Deque tidak harus ditentukan titik tujuan, yang harus ditentukan hanya titik awal, contohnya ‘Perapat’ dan algoritma yang dipilih, contohnya Algoritma ‘L-Deque’. Kemudian klik button ‘Proses’ dimana button ‘Proses’ akan melakukan pencarian menggunakan algoritma L-Deque dan hasil pencarian akan ditampilkan pada tabel

(54)

‘Informasi Tempat Wisata Terdekat Berdasarkan jarak’ serta menampilkan waktu yang dibutuhkan algoritma tersebut dalam melakukan proses pencarian, dapat dilihat pada gambar 4.7.

Gambar 4.7 Hasil Pengujian menggunakan Algoritma L-Deque

4.2.2.1 Perhitungan Manual Algoritma L-Deque

Contoh pencarian lintasan terpendek dengan menggunakan algoritma L-Deque dapat dilihat pada Gambar 4.8.

(55)

Tentukan vertex yang akan menjadi titik asal yaitu vertex A kemudian tandai dengan nilai 0 dan vertex lainnya nilai inf (∞). Contohnya graph pada gambar 4.8 dimana :

d [‘A’] = 0 d [‘E’] = inf d [‘I’] = inf d [‘M’] = inf d [‘Q’] = inf d [‘B’] = inf d [‘F’] = inf d [‘J’] = inf d [‘N’] = inf d [‘R’] = inf d [‘C’] = inf d [‘G’] = inf d [‘K’] = inf d [‘O’] = inf d [‘S’] = inf d [‘D’] = inf d [‘H’] = inf d [‘L’] = inf d [‘P’] = inf d [‘T’] = inf Kemudian beri nilai ‘null’ pada point (p) tiap vertex :

d [‘A’] = null d [‘F’] = null d [‘K’] = null d [‘P’] = null d [‘B’] = null d [‘G’] = null d [‘L’] = null d [‘Q’] = null d [‘C’] = null d [‘H’] = null d [‘M’] = null d [‘R’] = null d [‘D’] = null d [‘I’] = null d [‘N’] = null d [‘R’] = null d [‘E’] = null d [‘J’] = null d [‘O’] = null d [‘T’] = null

Dapat dilihat pada gambar 4.9.

Gambar 4.9 Graph Perhitungan Algoritma L-Deque dalam Penentuan Vertex Asal

Vertex yang bisa dikunjungi dari vertex A ialah vertex B dengan bobot jarak 19,8, vertex C dengan bobot jarak 30,4 dan vertex 15 dengan bobot jarak 25,5. Hitung d[v] untuk vertex B :

d[v] > d[u] + edge [u][v]

d[“B”] > d[“A”] + edge [“A”][“B”] d[“B”] > 0 + 19,8

inf > 19,8

Jadi diperoleh d[“B”] = 19,8 yaitu lintasan terpendek dari vertex ‘A’ ke vertex ‘B’ melalui

vertex ‘A’.Kemudian hitung untuk vertex C : d[v] > d[u] + edge [u][v]

(56)

d[v] > 0 + 30,4 inf > 30,4

Jadi diperoleh d[“C”] = 30,4 yaitu lintasan terpendek dari vertex ‘A’ ke vertex ‘C’ melalui

vertex ‘A’. Kemudian hitung untuk vertex 15 : d[v] > d[u] + edge [u][v]

d[“15”] > d[“A”] + edge [“A”][“15”] d[v] > 0 + 25,5

inf > 25,5

Jadi diperoleh d[“C”] = 25,5 yaitu lintasan terpendek dari vertex ‘A’ ke vertex ‘15’ melalui

vertex ‘A’. Maka dari tiga percobaan awal dimana vertex 1 sebagai titik acuan, maka nilai

minimum adalah perhitungan vertex “1” ke vertex “2” dengan bobot jarak 19,8 Km.

Gambar 4.10 perhitungan Graph dari Vertex asal ke vertex 2,3,15

Selajutnya vertex “2” dijadikan sebagai titik perbandingan berikutnya. Vertex “2” akan mengecek sesuai Index yang di tetapkan. Dan ditemukan vertex yang bersinggungan dengan vertex “2” adalah vertex “4”. Kemudian hitung untuk vertex 4 :

d[v] > d[u] + edge [u][v]

(57)

d[v] > 19.8 + 14.7 inf > 34,5

Gambar 4.11 Graph Perhitungan vertex 2 ke vertex 4

karena vertex “4” langsung bersinggungan dengan vertex tujuan maka vertex “4” langsung mengeksekusi vertex “5”. Kemudian hitung vertex 5:

d[v] > d[u] + edge [u][v]

d[“5”] > d[“4”] + edge [“4”][“5”] d[v] > 34.5 + 31.3

inf > 65.8

Gambar 4.12 Graph Perhitungan vertex 4 ke vertex 5 Maka, urutan path yang di lewati adalah 1-2-3-4-5 = 65.8

(58)

1-2 = 19.8 4-5= 65.8

2-4 = 34.5 (12+24+45)= 65.8

4.2.3.1 Perhitungan Manual Algoritma Random Walk

Contoh pencarian lintasan terpendek dengan menggunakan algoritma Random Walk dengan vertex awal A dan vertex akhir f dapat dilihat pada gambar 4.30.

Gambar 4.13 Graph Perhitungan Algoritma Random walk

Lintasan Awal dari vertex 1 dilakukan acak, Random walk meniadakan bobot minimum ataupun maksimum, yang terpenting adalah tetap memiliki jalur untuk di lewati ketitik tujuan.

Maka jalur yang dipilih dari vertex awal adalah bersifat acak. Misalkan jalur yang dipilih adalah vertex “3”, (1.3) dengan bobot 30,4 ditunjukkan dengan gambar 4.31

Gambar 4.14 Graph Algoritma Random walk dengan Rute yang dipilih dari Vertex 1 ke Vertex 3

Selanjutnya memilih edge yang acak dengan edge 1.3, yaitu edge 3.4 dengan bobot 14,3 sehingga bobot totalnya 44.7, ditunjukkan pada gambar 4.32.

(59)

Gambar 4.15 Graph Algoritma Random walk dengan Rute yang dipilih dari Vertex 3 ke Vertex 4

Karena vertex 4 sudah bersisian langsung dengan tujuan maka vertex 4 langsung di jumlahkan dengan vertex 5 dengan bobot nilai 31.3 maka bobot totalnya menjadi 76. Ditunjukkan dengan gambar 4.33.

Gambar 4.16 Graph Algoritma Random walk dengan Rute yang dipilih dari Vertex 4 ke Vertex 5

Hasil yang didapat dari contoh sederhana diatas menentukan rute terpendek menggunakan algoritma Randomwalk ialah 1  3  4  5 dengan total jarak 76 Km.

(60)

4.3.1 Kompleksitas Algoritma L-Deque

Perhitungan kompleksitas algoritma L-Deque dapat dilihat pada Tabel 4.1.

Tabel 4.1 Kompleksitas Algoritma L-Deque

Listing Program C # C*#

for (i = 0; i < N_node; i++) { C1 N C1N

dist[i] = 99999; C2 N C2N prev[i] = -1; } C2 N C2N start = source; C2 1 C2 selected[start] = 1; C2 1 C2 dist[start] = 0; C2 1 C2 while (selected[target] == 0) { C3 N C3N min = 99999; C2 N C2N m = 0; C2 N C2N

for (i = 0; i < N_node; i++) { C1 N2 C1N2

d = dist[start] + cost[start][i]; C2 N2 C2N2 if (d < dist[i] && selected[i] ==

0) {

C4 N2 C4N2

dist[i] = d; C2 N2 C2N2

prev[i] = start; } C2 N2 C2N2

if (min > dist[i] && selected[i] == 0) {

C4 N2 C4N2

min = dist[i]; C2 N2 C2N2

(61)

start = m; C2 N C2N

selected[start] = 1; } C2 N C2N

Dari perhitungan kompleksitas waktu pada Tabel 4.1 maka diperoleh T(|n|) yang merupakan jumlah kolom C*# sebagai berikut:

T (n) = ∑𝑛𝑛𝑖𝑖=1Ci#i

= (C1+5C2+2C4)N2+(C1+6C2+C3)N+3C2 = Ɵ (n2)

Tabel 4.1 menunjukkan hasil perhitungan kompleksitas algoritma L- Deque. Kolom 𝐶𝐶 pada tabel 4.1 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom 𝐶𝐶 𝑥𝑥 # menghitung hasil perkalian kolom 𝐶𝐶 dengan #. Hasil dari kolom 𝐶𝐶 𝑥𝑥 # dijumlahkan sehingga diperoleh hasil kompleksitas algoritma L –Deque yaitu Ɵ (𝑛𝑛2).

4.4.2 Kompleksitas Algoritma Random walk

Perhitungan kompleksitas algoritma Random walk dapat dilihat pada Tabel 4.2. Tabel 4.2 Kompleksitas Algoritma Random walk

Listing Program C # C*#

for (i = 0; i < N_node; i++) { C1 N C1N

dist[i] = 0; C2 N C2N prev[i] = -1; } C2 N C2N start = source; C2 1 C2 selected[start] = 1; C2 1 C2 while (selected[target] == 0) { C3 N C3N test_track = test_backtrack(cost, selected, start, N_node);

(62)

if (test_track == 1) { C4 N C4N

if (cost[start][target] == inf) { C4 N C4N

for (i = 0; i < N_node; i++) { C1 N2 C1N2

matriks[i] = cost[start][i]; } C2 N2 C2N2

random = getRandom(matriks); C2 N C2N

while (matriks[random] == inf || selected[random] == 1)

C3 N2 C3N2

random = getRandom(matriks); } }

C2 N2 C2N2

else { random = target; } C2 N C2N

i = random; C2 N C2N d = dist[start] + cost[start][i]; C2 N C2N dist[i] = d; C2 N C2N prev[i] = start; C2 N C2N start = i; C2 N C2N selected[start] = 1; } else { C2 N C2N for (i = 0; i < N_node; i++) { C1 N2 C1N2

if (i == start) { C4 N2 C4N2 start = prev[i]; C2 N2 C2N2 dist[i] = dist[i] - cost[start][i]; C2 N2 C2N2 prev[i] = -1; } } } } C2 N2 C2N2

(63)

Dari perhitungan kompleksitas waktu pada Tabel 4.1 maka diperoleh T(|n|) yang merupakan jumlah kolom C*# sebagai berikut:

T (n) = ∑𝑛𝑛𝑖𝑖=1Ci#i

= (2C1+5C2+C3+C4)N2+(C1+2C2+C3+2C4)N+2C2 = Ɵ (n2)

Tabel 4.1 menunjukkan hasil perhitungan kompleksitas algoritma Random walk. Kolom 𝐶𝐶 pada tabel 4.1 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom 𝐶𝐶 𝑥𝑥 # menghitung hasil perkalian kolom 𝐶𝐶 dengan #. Hasil dari kolom 𝐶𝐶 𝑥𝑥 # dijumlahkan sehingga diperoleh hasil kompleksitas algoritma Random walk yaitu Ɵ (𝑛𝑛2).

4.4 Real Running-Time

Pengujian dilakukan untuk mencari real running time dengan algoritma L-Deque dan algoritma Random walk. Sebelum mengetahui real running time, user harus memilih titik awal dan titik tujuan tempat wisata yang akan dikunjungi. Pengujian dilakukan sebanyak tiga kali terhadap tempat wisata yang akan dijadikan titik asal ke tempat wisata terdekat. Kemudian dihitung nilai rata-rata waktu proses yang diperoleh.

4.4.1 Real Running Algoritma L-Deque

Proses pengujian dilakukan secara manual dengan bahasa pemrograman JAVA. Hasil pengujian yang dilakukan terhadap tempat wisata yang dijadikan titik asal ke tempat wisata terdekat menggunakan algoritma L-Deque dapat dilihat pada tabel 4.3

Tabel 4.3 Hasil Pengujian Running Time Algortima L-Deque No Rute Total Jarak (km) Waktu proses (ms)

1 1 – 4 34.5 0.017676 2 2 – 4 14.7 0.011974 3 3 – 4 14.3 0.16535 4 5 – 4 31.3 0.014824 5 6 – 4 79.8 0.022237 6 7 – 4 60.7 0.019386 7 8 – 4 47.9 0.021667

Gambar

Gambar 2.2  Graph Sederhana
Gambar 2.3 (a) Multigraph, (b) Graph Semu ( Hayati &amp; Yohanes, 2014 )   Dilihat dari orientasi arah pada sisinya (edge), maka secara umum graph  dikelompokkan menjadi dua yaitu :
Gambar 2.5 Graph Berarah
Gambar 2.7 Graph Berbobot dan Berarah
+7

Referensi

Dokumen terkait

Shah Wali Allah menyatakan bahwa pada abad pertama dan kedua hijriyah umat Islam tidak pernah sepakat untuk taklid terhadap mazhab tertentu. Umat Islam dikelompokkan ke dalam

Dalam penelitian ini yang menjadi permasalahan adalah bagaimana peran asuransi tanggung jawab produk dalam memproteksi kepentingan konsumen yang menderita kerugian

Disarankan kepada sekolah MAN Aek Natas Kabupaten Labuhan Batu Utara untuk mengembangkan pengetahuan dan sikap siswa-siswi tentang NAPZA dengan cara memberikan informasi

Jaksa Agung sebagai Pejabat Negara seharusnya diberhentikan dengan hormat dari jabatannya oleh Presiden berdasarkan kondisi yang pasti, yaitu, jika ia meninggal dunia, atas

Dalam penetapan biaya pendidikan yang dibebankan ke mahasiswa, Politeknik Indonusa Surakarta belum dapat menetapkan Uang Kuliah Tunggal (UKT), sehingga mahasiswa

Memberikan informasi kepada masyarakat sebagai alternatif untuk memperkenalkan potensi – potensi yang ada di sumedang dalam sektor wisata, kuliner dan penginapan atau

Dengan produk-produk seperti pinjaman pribadi tanpa jaminan atau kredit pemilikan rumah, kreditur akan mengenakan suku bunga yang tinggi terhadap konsumen yang berisiko

Hasil penelitian menunjukkan bahwa ekstrak etanol rimpang lengkuas merah yang diekstraksi dengan lama penyarian 1 jam, 6 jam dan 40 jam menunjukkan hambatan terhadap