BAB 3 ANALISIS DAN PERANCANGAN SISTEM

dokumen-dokumen yang mirip
BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

PERBANDINGAN ALGORITMA HEURISTIK RANDOM WALK DAN ALGORITMA L-DEQUE

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

ANALISIS ASIMTOTIK DAN REAL TIME MENGGUNAKAN ALGORITMA L-DEQUE DALAM MENENTUKAN JARAK TERPENDEK ANTAR KANTOR CABANG BANK MANDIRI DI KOTA MEDAN SKRIPSI

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Sistem yang Sedang Berjalan. Untuk merancang sebuah aplikasi mobile pelajaran Kimia dasar untuk

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 2 LANDASAN TEORI

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN SISTEM

Penentuan Jarak Terpendek dan Jarak Terpendek Alternatif Menggunakan Algoritma Dijkstra Serta Estimasi Waktu Tempuh

Gambar 3.1. Diagram alir apikasi image to text

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

Bab 3. Metode dan Perancangan Sistem

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

BAB III ANALISIS DAN PERANCANGAN


Gambar 3.1 Flowchart Membuat Rute Lari

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III METODOLOGI PENELITIAN

BAB III ANALISA DAN DESAIN SISTEM

ANALISIS DAN PERBANDINGAN ALGORITMAL-DEQUE DANALGORITMA BELLMAN-FORD DALAM MENCARI JARAK TERPENDEK SKRIPSI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III METODE PENELITIAN

BAB IV ANALISIS DAN PERANCANGAN SISTEM. atau tata cara memperoleh rute pariwisata di Provinsi Jawa Barat yang sedang

BAB III PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Class Diagram Activity Diagram Entity Relationship Diagram (ERD) MySQL CodeIgniter

BAB IV PERANCANGAN SISTEM

BAB III ANALISIS DAN PERANCANGAN SISTEM

Oleh : CAHYA GUNAWAN JURUSAN SISTEM INFORMASI FAKULTAS TEKNIK DAN ILMU KOMPUTER UNIVERSITAS KOMPUTER INDONESIA BANDUNG 2012

BAB III ANALISIS DAN PERANCANGAN. dan memudahkan dalam pengembangan sistem selanjutnya. Tujuan dari analisa

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 2 LANDASAN TEORI

BAB III METODOLOGI PENELITIAN

BAB IV ANALISA DAN PERANCANGAN SISTEM

BAB III KONSEP DAN PERANCANGAN

BAB III METODE PENELITIAN. Dalam penelitian ini, alat yang di gunakan adalah sebagai berikut: 1. Perangkat Keras (Hardware)

DAFTAR ISI HALAMAN JUDUL DEPAN...

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III METODOLOGI PENELITIAN

PERANCANGAN SISTEM. Gambar 4-1 algoritma First in First Out 4-1.

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 )}

PERNYATAAN PERSETUJUAN PUBLIKASI...

Perangkat Lunak Simulasi Periodic Vehicle Routing Problem (PVRP) dengan Tabu Search

BAB IV PEMBAHASAN. Sampel Polinomial. (Horner, 1971) (Horner, 1971) (Neill, 2010) (Neill, 2010) (Neill, 2010) (Horner, 1971) (Neill, 2010)


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

BAB III METODOLOGI PENELITIAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN. Dalam membangun aplikasi pembelajaran aksara sunda berbasis android

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

BAB III METODE PENELITIAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN DESAIN SISTEM

BAB III ANALISA DAN DESAIN SISTEM


BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

Bab 3 Metode dan Rancangan Sistem

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. I.1 Latar Belakang I-1

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

BAB IV HASIL DAN UJI COBA

IMPLEMENTASI DAN PENGUJIAN

BAB 1 PENDAHULUAN. masyarakat dengan Kuliah Kerja Nyata (KKN) merupakan suatu bentuk kegiatan

BAB 3 ANALISIS DAN DESAIN SISTEM

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN. menampilkan teks - teks serta terdapat kuis dengan animasi untuk melatih para

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Bab 3 Metoda dan Perancangan Sistem

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

BAB III ANALISA DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISA DAN PERANCANGAN

Transkripsi:

BAB 3 ANALISIS DAN PERANCANGAN SISTEM 3.1 Analisis Sistem Analisis sistem merupakan teknik pemecahan masalah yang bertujuan untuk menguraikan sebuah sistem menjadi subsistem untuk mengetahui kinerja, hubungan dan interaksi tiap komponen yang berada di sistem guna mencapai suatu tujuan (Whitten, 2007). Sistem ini akan mencari mencari rute terpendek antar tempat wisata di Kabupaten Tapanuli Tengah dan dirancang dengan menggunakan Algoritma L-Deque dan Algortima Greedy. 3.1.1 Analisis Masalah Permasalahan yang dibahas pada penelitian ini adalah belum diketahuinya mana yang lebih optimal dari algoritma L-Deque dan algoritma Greedy serta running-time kedua algoritma tersebut dalam menentukan jarak terpendek antar tempat wisata di Kabupaten Tapanuli Tengah. Pada penelitian ini, penulis membatasi masalah hanya dengan 20 buah vertex. Dalam representasi graph, penentuan hubungan antar vertex dan edge pada graph tempat wisata di Kabupaten Tapanuli Tengah sangat diperlukan, agar dapat dilakukan proses yang lebih optimal. Graph yang digunakan merupakan graph berarah terhubung, di mana Suatu graph berarah terhubung disebut jika ada walk yang menghubungkan setiap dua vertex (titiknya). Setelah itu sistem akan melakukan perbandingan dengan menggunakan graph yang sama terhadap kedua algoritma L-Deque dan Greedy. Analisis masalah dapat diidentifikasi dengan menggunakan diagram Ishikawa (fishbone diagram). Diagram

Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi dan secara graphik menggambarkan secara detail semua penyebab yang berhubungan dengan suatu permasalahan. Diagram Ishikawa sistem ini dapat dilihat pada Gambar 3.1. Material Metode Rute terpendek yang akan dilalui dari titik awal ke titik tujuan Membutuhkan informasi jarak terpendek antar tempat wisata Algoritma L-Deque membutuhkan waktu yang lama Algoritma Greedy tidak selalu menghasilkan solusi yang optimum Belum adanya aplikasi untuk mencari rute terpendek antar tempat wisata Penentuan Rute Terpendek Antar Tempat Wisata di Kabupaten Tapanuli Tengah dengan Algoritma L-Deque dan Greedy User Sistem Gambar 3.1 Diagram Ishikawa 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 disini mendekripsikan tentang sistem yang disediakan. Sistem ini melakukan perhitungan, perbandingan jarak dan waktu pencarian rute terpendek tempat wisata di Kabupaten Tapanuli Tengah. Terdapat beberapa persyaratan fungsional antara lain: 1. Sistem ini menggunakan graph tempat wisata di Kabupaten Tapanuli Tengah yang telah ditentukan.

22 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 L-Deque dan algoritma Greedy. 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. Terdapat beberapa kebutuhan non-fungsional yang harus dipenuhi diantaranya: 1. User Friendly Sistem yang dibangun harus mudah digunakan dan dimengerti oleh user dengan tampilan yang sederhana. 2. Performa Perangkat lunak yang akan dibangun harus dapat menunjukkan hasil running time dan rute terpendek dari pencarian tempat wisata. 3. Hemat Biaya Sistem yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya. 3.1.3 Flowchart Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. 3.1.3.1 Flowchart Sistem Flowchart dari sistem yang dibangun dapat dilihat pada Gambar 3.2.

23 3.1.3.2 Flowchart Algoritma L-Deque Gambar 3.2 Flowchart Sistem Flowchart dari algoritma L-Deque dapat dilihat pada Gambar 3.3.

24 mulai Input Input Vertex vertex awal dan vertex tujuan Inisialisasi Q = jumlah vertex dalam graph Asumsikan vertex awal = 0 dan vertex lainnya = Mencari jarak terpendek dari vertex yang dipilih ke vertex tujuan Tidak d V > d u + l uv d V = d V Ya d V = d u + l uv Simpan hasil jarak yang diperoleh Q = 0 Ya Tidak Tampilkan Tampilkan hasil lintasan hasil lintasan terpendek terpendek Selesai Selesai Gambar 3.3 Flowchart Algoritma L-Deque

25 3.1.3.2 Flowchart Algoritma Greedy Flowchart dari algoritma Greedy dapat dilihat pada Gambar 3.4. Mulai Tentukan titik awal dan titik tujuan Mencari nilai titik tetangganya Menghitung jarak titik yang dipilih ke titik tujuan Pilih jarak terpendek Apakah titik tujuan sudah terpenuhi Tidak Ya Tampilkan Hasil Lintasan Terpendek Selesai Gambar 3.4 Flowchart Algoritma Greedy

26 3.2 Pemodelan Pada bagian ini digunakan Unified Modeling Languange (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem. 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. Di mana 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

27 3.2.2. Activity Diagram Activity diagram dapat menggambarkan berbagai alur aktivitas dalam sistem yang akan dirancang, bagaimana masing-masing alur berawal, decision yang mungkin terjadi dan bagaimana berakhir. 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 diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.6. Gambar 3.6 Activity Diagram Cara Kerja Sistem Dengan Algortima L-Deque 3.2.2.2 Activity Diagram Cara Kerja Sistem Dengan Algoritma Greedy Activity diagram pada Gambar 3.7 menjelaskan proses kerja dari sistem untuk proses menentukan titik asal dan tujuan serta memilih algoritma Greedy yang akan digunakan

28 oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.7. Gambar 3.7 Activity Diagram Cara Kerja Sistem Dengan Algortima Greedy 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.

29 3.4 Perancangan Antarmuka (Interface) Gambar 3.8 Sequence Diagram Sistem 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.4.1 Halaman Menu Home Halaman Home merupakan halaman utama yang ditampilkan dari sistem ketika sistem dijalankan.tampilan rancangan halaman menu Home dapat dilihat pada Gambar 3.9 dan keterangan gambar rancangan halaman pada Tabel 3.1.

30 Penentuan Rute Terpendek Antar Tempat Wisata 1 2 Home Shortest Path Help About PERBANDINGAN ALGORITMA L-DEQUE DAN ALGORITMA GREEDY DALAM MENENTUKAN RUTE TERPENDEK ANTAR TEMPAT WISATA DI KABUPATEN TAPANULI TENGAH Heading 3 NURUL FITHRIYANI HARAHAP 131401060 4 Logo PROGRAM STUDI S-1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2017 5 Gambar 3.9 Rancangan Antarmuka Halaman Menu Home Tabel 3.1 Keterangan Gambar Rancangan Antarmuka Halaman Menu Home No Keterangan 1 Label untuk menampilkan keterangan judul sistem 2 TabControl berfungsi untuk menunjukkan halaman-halaman yang tersedia pada sistem 3 Text Box untuk menampilkan judul skripsi, nama dan NIM 4 Picture Box untuk menampilkan logo 5 Text Box untuk menampilkan Program Studi 3.4.2 Halaman Menu Shortest Path Halaman Shortest Path merupakan 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

31 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 Informasi Tempat Wisata Terdekat Berdasarkan Jarak Nama Tempat Wisata Rute yang dilalui Jarak 12 13 5 6 7 8 9 10 11 Lihat Graph 14 Gambar 3.10 Rancangan Antarmuka Halaman Menu Shortest Path Tabel 3.2 Keterangan Gambar Rancangan Antarmuka Halaman Menu Shortest Path 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

32 10 Label untuk Waktu Proses 11 Text Box untuk menampilkan Hasil Wakru Proses 12 Label untuk judul tabel 13 Datagridview untuk menampilkan informasi tempat wisata terdekat berdasarkan jarak 14 Button untuk menampilkan graph 3.4.3 Halaman Menu Help Halaman Help merupakan halaman yang tampil saat pengguna memilih menu pada 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. 1 Home Shortest Path Help About PETUNJUK PENGGUNAAN SISTEM 2 3

33 Gambar 3.11 Rancangan Antarmuka Halaman Menu Help Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Menu Help No Keterangan 1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem 2 Label untuk menampilkan judul petunjuk penggunaan system 3 Text Box untuk menampilkan urutan penggunaan system 3.4.4 Halaman Menu About Halaman Tentang merupakan 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. 1 Home Shortest Path Help About 2 3 Gambar 3.12 Rancangan Antarmuka Halaman Menu About

34 Tabel 3.4 Keterangan Gambar Rancangan Antarmuka Halaman Menu About No Keterangan 1 Tab Control untuk menunjukkan halaman yang tersedia pada sistem 2 Text Box untuk menampilkan informasi tentang aplikasi secara umum 3 Picture Box untuk menampilkan logo fakultas

BAB 4 IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Implementasi sistem merupakan lanjutan dari tahap analisis dan perancangan sistem. Sistem ini dirancang dengan menggunakan bahasa pemrograman C#. Pada sistem ini terdapat 4 (empat) tampilan halaman 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 terlihat pertama sekali pada saat sistem dijalankan. Halaman ini berisi judul sistem, nama penulis, nim penulis, logo Universitas dan nama Pogram Studi. Tampilan halaman menu home dapat dilihat pada Gambar 4.1. Gambar 4.1 Tampilan Halaman Menu Home

36 4.1. Tampilan Halaman Menu Shortest-Path Tampilan halaman menu shortest-path dapat dilihat pada Gambar 4.2. Gambar 4.2 Tampilan Halaman Menu Shortest-Path Tampila menu shortest-path merupakan halaman yang digunakan untuk mengatur lokasi asal, lokasi tujuan, algoritma yang dipilih, menampilkan hasil total jarak terpendek dan waktu proses serta dapat melihat graph antar tempat wisata dengan mengklik button Lihat Graph. Tampilan Graph dapat dilihat pada Gambar 4.3.

37 Gambar 4.3 Tampilan Graph Tempat Wisata di Kabupaten Tapanuli Tengah 4.1.3 Tampilan Halaman Menu Help Tampilan halaman menu help merupakan halaman yang berfungsi sebagai petunjuk penggunaan dari sistem. Tampilan halaman menu help dapat dilihat pada Gambar 4.4. Gambar 4.4 Tampilan Halaman Menu Help

38 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. Gambar 4.5 Tampilan Halaman Menu About 4.2 Pengujian Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem. Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik. Pengujian sistem ini dilakukan pada grap tempat wisata yang telah ditentukan dengan menggunakan dua algoritma dan membandingkan real runnung time serta hasil jarak terpendek. 4.2.1 Pengujian Proses Implementasi Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah memilih salah tempat wisata sebagai titik asal, contohnya Pantai Kahona dan juga memilih salah satu tempat wisata sebagai titik tujuan jika menggunakan Algoritma Greedy, contohnya Makam Papan Tinggi serta salah satu algoritma, contohnya Algoritma Greedy. Maka akan muncul tampilan seperti Gambar 4.6.

39 Gambar 4.6 Proses Pengujian Implementasi 4.2.2 Pengujian Proses Algoritma L-Deque Pada Algoritma L-Deque tidak harus ditentukan titik tujuan, yang harus ditentukan hanya titik awal, contohnya Pantai Kahona dan algoritma yang dipilih, contohnya Algoritma L-Deque. Kemudian klik button Proses di mana button Proses akan melakukan pencarian menggunakan algoritma L-Deque dan hasil pencarian akan ditampilkan pada tabel Informasi Tempat Wisata Terdekat Berdasarkan jarak serta menampilkan waktu yang dibutuhkan algoritma tersebut dalam melakukan proses pencarian, dapat dilihat pada gambar 4.7. Perhitungan pada algoritma L-Deque terdapat nilai inf ( ) di mana pada perhitungan didalam sistem komputer nilai inf dihasilkan dari perhitungan satu dibagi null ( 1 : 0 = ) sehingga dalam implementasinya dalam aplikasi ini menggunakan nilai sentinel untuk nilai inf = 999999999.

40 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. Gambar 4.8 Graph Perhitungan Algoritma L-Deque Masukkan vertex yang ada dalam graph ke dalam daftar Deque. Daftar Deque [ A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T ]. Kemudian tentukan vertex

41 yang akan menjadi titik asal yaitu vertex A kemudian tandai dengan nilai 0 dan vertex lainnya nilai inf ( ). Contohnya graph pada gambar 4.8 di mana : 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. 23,3 39 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 13,3 dan juga vertex C dengan bobot jarak 12. Hitung d[v] untuk vertex B : d[v] > d[u] + edge [u][v] d[ B ] > d[ A ] + edge [ A ][ B ] d[ B ] > 0 + 13,3 inf > 13,3 Jadi diperoleh d[ B ] = 13,3 yaitu lintasan terpendek dari vertex A ke vertex B melalui vertex A.Kemudian hitung untuk vertex C : d[v] > d[u] + edge [u][v]

42 d[ C ] > d[ A ] + edge [ A ][ C ] d[v] > 0 + 12 inf > 12 Jadi diperoleh d[ C ] = 12 yaitu lintasan terpendek dari vertex A ke vertex C melalui vertex A. Dapat dilihat pada gambar 4.10 23,3 39 Gambar 4.10 Graph Perhitungan Algoritma L-Deque dari Vertex A ke Vertex B dan Vertex C Kemudian pilih edge yang bisa dikunjungi dari vertex B, yaitu BC dengan bobot jarak 1.8. Hitung d[v] untuk vertex C : d[v] > d[u] + edge [u][v] d[ C ] > d[ B ] + edge [ B ][ C ] d[ C ] > 13,3 + 1,8 12 > 15,1 Jawabannya tidak jadi d[ C ] = 12 yang dipilih. Edge BD juga bisa dikunjungi dari vertex B dengan bobot jarak 24, hitung d[v] untuk vertex D : d[v] > d[u] + edge [u][v] d[ D ] > d[ B ] + edge [ B ][ D ] d[ D ] > 13,3 + 24 inf > 37,3

43 Jadi diperoleh d[ D ] = 37,3 yaitu lintasan terpendek dari vertex A ke vertex D melalui vertex B. Edge BE juga bisa dikunjungi dari vertex B dengan bobot jarak 4,4. Hitung d[v] untuk vertex E : d[v] > d[u] + edge [u][v] d[ E ] > d[ B ] + edge [ B ][ E ] d[ E ] > 13,3 + 4,4 inf > 17,7 Jadi diperoleh d[ E ] = 17,7 yaitu lintasan terpendek dari vertex A ke vertex E melalui vertex B. Dapat dilihat pada gambar 4.11. 23,3 39 Gambar 4.11 Graph Perhitungan Algoritma L-Deque dari Vertex B ke Vertex C, Vertex D dan Vertex E Pilih edge yang bisa dikunjungi dari vertex C, yaitu CB dengan bobot jarak 1.8. Hitung d[v] untuk vertex B : d[v] > d[u] + edge [u][v] d[ B ] > d[ C ] + edge [ C ][ B ] d[ B ] > 12 + 1,8 13,3 > 13,8 Jawabannya tidak jadi d[ B ] = 13,3 yang dipilih. Edge CE juga bisa dikunjungi dari vertex C dengan bobot jarak 4,8. Hitung d[v] untuk vertex E : d[v] > d[u] + edge [u][v] d[ C ] > d[ C ] + edge [ C ][ E ] d[ C ] > 12 + 4,8

44 17,7 > 16,8 Jadi diperoleh d[ E ] = 16,8 yaitu lintasan terpendek dari vertex A ke vertex E melalui vertex C. Dapat dilihat pada gambar 4.12. 23,3 39. Gambar 4.12 Graph Perhitungan Algoritma L-Deque dari Vertex C ke Vertex B dan Vertex E Pilih edge yang bisa dikunjungi dari vertex D, yaitu DF dengan bobot jarak 27. Hitung d[v] untuk vertex F : d[v] > d[u] + edge [u][v] d[ F ] > d[ D ] + edge [ D ][ F ] ; d[ F ] > 37,3 + 27 ; Inf > 64,3. Jadi diperoleh d[ F ] = 64,3 yaitu lintasan terpendek dari vertex A ke vertex F melalui vertex D. Edge DE juga bisa dikunjungi dari vertex D dengan bobot jarak 39. Hitung d[v] untuk vertex D : d[v] > d[u] + edge [u][v] d[ D ] > d[ D ] + edge [ D ][ E ] d[ D ] > 37,3 + 23,3 ; 16,8 > 60,6 Jawaban tidak jadi d[ D ] = 16,8 yang dipilih. Dapat dilihat pada gambar 4.13.

45 23,3 39 Gambar 4.13 Graph Perhitungan Algoritma L-Deque dari Vertex D ke Vertex E dan Vertex F Pilih edge yang bisa dikunjungi dari vertex E, yaitu ED dengan bobot jarak 23,3. Hitung d[v] untuk vertex D : d[v] > d[u] + edge [u][v] d[ E ] > d[ E ] + edge [ E ][ D ] d[ E ] > 16,8 + 23,3 37,3 > 40,1 Jawabannya tidak jadi d[ E ] = 37,3 yang dipilih. Edge EH juga bisa dikunjungi dari vertex E dengan bobot jarak 50. Hitung d[v] untuk vertex H : d[v] > d[u] + edge [u][v] d[ H ] > d[ E ] + edge [ E ][ H ] d[ H ] > 16,8 + 50 Inf > 66,8 Jadi diperoleh d[ H ] = 66,8 yaitu lintasan terpendek dari vertex A ke vertex H melalui vertex E. Edge EF juga bisa dikunjungi dari vertex E dengan bobot jarak 39. Hitung d[v] untuk vertex F : d[v] > d[u] + edge [u][v] d[ F ] > d[ E ] + edge [ E ][ F ] d[ F ] > 16,8 + 39 64,3 > 55,8

46 Jawabannya tidak jadi d[ F ] = 55,8 yang dipilih. Dapat dilihat pada gambar 4.14. 23,3 39. Gambar 4.14 Graph Perhitungan Algoritma L-Deque dari Vertex E ke Vertex D dan Vertex H Kemudian pilih edge yang bisa dikunjungi dari vertex F, yaitu FG dengan bobot jarak 33. Hitung d[v] untuk vertex G : d[v] > d[u] + edge [u][v] d[ G ] > d[ F ] + edge [ F ][ G ] d[ G ] > 55,8 + 33 Inf > 88,8 55,8 /E Jadi diperoleh d[ G ] = 88,8 yaitu lintasan terpendek dari vertex A ke vertex G melalui vertex F. Dapat dilihat pada gambar 4.15. 23,3 39 55,8 /E 88,8 /F Gambar 4.15 Graph Perhitungan Algoritma L-Deque dari Vertex F ke Vertex G

47 Pilih edge yang bisa dikunjungi dari vertex G, yaitu GI dengan bobot jarak 4. Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v] d[ I ] > d[ G ] + edge [ G ][ I ] d[ I ] > 88,8 + 4 Inf > 92,8 Jadi diperoleh d[ I ] = 92,8 yaitu lintasan terpendek dari vertex A ke vertex I melalui vertex G. Edge GL juga bisa dikunjungi dari vertex G dengan bobot jarak 6, hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v] d[ L ] > d[ G ] + edge [ G ][ L ] d[ L ] > 88,8 + 6 inf > 94,8 Jadi diperoleh d[ L ] = 94,8 yaitu lintasan terpendek dari vertex A ke vertex L melalui vertex G. Edge GM juga bisa dikunjungi dari vertex G dengan bobot jarak 3. Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v] d[ M ] > d[ G ] + edge [ G ][ M ] d[ M ] > 88,8 + 3 inf > 91,8 Jadi diperoleh d[ M ] = 91,8 yaitu lintasan terpendek dari vertex A ke vertex M melalui vertex G. Dapat dilihat pada gambar 4.16. 92,8 /G 23,3 39 94,8 /G 55,8 /E 88,8 /F 91,8 /G

48 Gambar 4.16 Graph Perhitungan Algoritma L-Deque dari Vertex G ke Vertex I, Vertex L dan Vertex M Pilih edge yang bisa dikunjungi dari vertex H, yaitu HI dengan bobot jarak 16. Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v] d[ I ] > d[ H ] + edge [ H ][ I ] d[ I ] > 66,8 + 16 92,8 > 82,8 Jawabannya tidak jadi d[ I ] = 82,8. Edge HJ juga bisa dikunjungi dari vertex H dengan bobot jarak 14, hitung d[v] untuk vertex J : d[v] > d[u] + edge [u][v] d[ J ] > d[ H ] + edge [ H ][ J ] d[ J ] > 66,8 + 14 inf > 80,8 Jadi diperoleh d[ J ] = 80,8 yaitu lintasan terpendek dari vertex A ke vertex J melalui vertex H. Edge HK juga bisa dikunjungi dari vertex H dengan bobot jarak 12. Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v] d[ K ] > d[ H ] + edge [ H ][ K ] d[ K ] > 66,8 + 12 inf > 78.8 Jadi diperoleh d[ K ] = 78,8 yaitu lintasan terpendek dari vertex A ke vertex K melalui vertex H. Edge HO juga bisa dikunjungi dari vertex H dengan bobot jarak 13,1. Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v] d[ O ] > d[ H ] + edge [ H ][ O ] d[ O ] > 66,8 + 13,1 inf > 79,9 Jadi diperoleh d[ O ] = 79,9 yaitu lintasan terpendek dari vertex A ke vertex O melalui vertex H Dapat dilihat pada gambar 4.17.

49 23,3 39 94,8 /G 55,8 /E 88,8 /F 91,8 /G Gambar 4.17 Graph Perhitungan Algoritma L-Deque dari Vertex H ke Vertex I, Vertex J, Vertex K dan Vertex O Pilih edge yang bisa dikunjungi dari vertex I, yaitu IG dengan bobot jarak 4. Hitung d[v] untuk vertex I : d[v] > d[u] + edge [u][v] d[ G ] > d[ I ] + edge [ I ][ G ] d[ G ] > 82,8 + 4 88,8 > 86,8 Jadi diperoleh d[ G ] = 86,8 yang dipilih yaitu lintasan terpendek dari vertex A ke vertex G melalui vertex I. Edge IM juga bisa dikunjungi dari vertex I dengan bobot jarak 6, hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v] d[ M ] > d[ I ] + edge [ I ][ M ] d[ M ] > 82,8 + 5,4 91,8 > 88,2 Jadi diperoleh d[ M ] = 82,8 yaitu lintasan terpendek dari vertex A ke vertex M melalui vertex I. Edge IL juga bisa dikunjungi dari vertex I dengan bobot jarak 8. Hitung d[v] untuk vertex L : d[v] > d[u] + edge [u][v] d[ L ] > d[ I ] + edge [ I ][ L ] d[ L ] > 82,8 + 8 94,8 > 90.8.

50 Jadi diperoleh d[ M ] = 90,8 yaitu lintasan terpendek dari vertex A ke vertex L melalui vertex I. Edge IO juga bisa dikunjungi dari vertex I dengan bobot jarak 4,5. Hitung d[v] untuk vertex O : d[v] > d[u] + edge [u][v] d[ O ] > d[ I ] + edge [ I ][ O ] d[ O ] > 82,8 + 4,5 79,9 > 87,3 Jawabannya tidak jadi d[ Q ] = 79,9 yang dipilih. Edge IP juga bisa dikunjungi dari vertex I dengan bobot jarak 1, hitung d[v] untuk vertex P : d[v] > d[u] + edge [u][v] d[ P ] > d[ I ] + edge [ I ][ P ] d[ P ] > 82,8 + 1 inf > 83,8 Jadi diperoleh d[ P ] = 83,8 yaitu lintasan terpendek dari vertex A ke vertex P melalui vertex I. Edge IQ juga bisa dikunjungi dari vertex I dengan bobot jarak 9,7. Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v] d[ Q ] > d[ I ] + edge [ I ][ Q ] d[ Q ] > 82,8 + 9,7 inf > 92.5 Jadi diperoleh d[ Q ] = 92,5 yaitu lintasan terpendek dari vertex A ke vertex Q melalui vertex I. Dapat dilihat pada gambar 4.18. 23,3 39 55,8 /E 88,2 /I

51 Gambar 4.18 Graph Perhitungan Algoritma L-Deque dari Vertex I ke Vertex G, Vertex L, Vertex M, Vertex O, Vertex P dan Vertex Q Pilih edge yang bisa dikunjungi dari vertex J, yaitu JK dengan bobot jarak 1,8. Hitung d[v] untuk vertex K : d[v] > d[u] + edge [u][v] d[ K ] > d[ J ] + edge [ J ][ K ] d[ K ] > 80,8 + 1,8 78,8 > 82,6 Jawaban tidak jadi d[ K ] = 78,8 yang dipilih. Edge JO juga bisa dikunjungi dari vertex J dengan bobot jarak 13. Hitung d[v] untuk vertex O : d[v] > d[u] + edge [u][v] d[ O ] > d[ J ] + edge [ J ][ O ] d[ O ] > 80,8 + 13 78,8 > 93,8 Jawaban tidak jadi d[ O ] = 78,8 yang dipilih. Dapat dilihat pada gambar 4.19. 23,3 39 55,8 /E 88,2 /I Gambar 4.19 Graph Perhitungan Algoritma L-Deque dari Vertex J ke Vertex K dan Vertex O Pilih edge yang bisa dikunjungi dari vertex K, yaitu KO dengan bobot jarak 2,2. Hitung d[v] untuk vertex O : d[v] > d[u] + edge [u][v]

52 d[ O ] > d[ J ] + edge [ J ][ O ] d[ O ] > 78,8 + 2,2 79,9 > 81 Jawaban tidak jadi d[ O ] = 79,9 yang dipilih. Edge KJ juga bisa dikunjungi dari vertex K dengan bobot jarak 1,8. Hitung d[v] untuk vertex J: d[v] > d[u] + edge [u][v] d[ J ] > d[ K ] + edge [ K ][ J ] d[ J ] > 78,8 + 1,8 80,8 > 80,6 Jawaban tidak jadi d[ J ] = 80,6 yang dipilih. Dapat dilihat pada gambar 4.20. 23,3 39 55,8 /E 88,2 /I Gambar 4.20 Graph Perhitungan Algoritma L-Deque dari Vertex K ke Vertex J dan Vertex O Selanjutnya pilih edge yang bisa dikunjungi dari vertex O, yaitu OP dengan bobot jarak 4. Hitung d[v] untuk vertex P : d[v] > d[u] + edge [u][v] d[ P ] > d[ O ] + edge [ O ][ P ] d[ P ] > 79,9+ 4 83,8 > 83,9 Jawaban tidak jadi d[ P ] = 83,8 yang dipilih. Dapat dilihat pada gambar 4.21.

53 23,3 39 55,8 /E. Gambar 4.21 Graph Perhitungan Algoritma L-Deque dari Vertex O ke Vertex P Pilih edge yang bisa dikunjungi dari vertex P, yaitu PQ dengan bobot jarak 10,5. Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v] d[ Q ] > d[ P ] + edge [ P ][ Q ] d[ Q ] > 83,8 + 10,5 92,5 > 94,3 Jawaban tidak jadi d[ Q ] = 92,5 yang dipilih. Dapat dilihat pada gambar 4.22. 23,3 39 55,8 /E 88,2 /I Gambar 4.22 Graph Perhitungan Algoritma L-Deque dari Vertex P ke Vertex Q

54 Pilih edge yang bisa dikunjungi dari vertex L, yaitu LM dengan bobot jarak 6,4. Hitung d[v] untuk vertex M : d[v] > d[u] + edge [u][v] d[ M ] > d[ L ] + edge [ L ][ M ] d[ M ] > 90,8 + 6,4 88,2 > 97,2 Jawabannya tidak jadi d[ M ] = 88,2 yang dipilih. Edge LQ juga bisa dikunjungi dari vertex L dengan bobot jarak 6,9. Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v] d[ Q ] > d[ L ] + edge [ L ][ Q ] d[ Q ] > 90,8 + 6,9 92,5 > 97,7 Jawaban tidak jadi d[ Q ] = 92,5 yang dipilih. Dapat dilihat pada gambar 4.23. Gambar 4.23 Graph Perhitungan Algoritma L-Deque dari Vertex L ke Vertex Q dan Vertex M Pilih edge yang bisa dikunjungi dari vertex M, yaitu MN dengan bobot jarak 14. Hitung d[v] untuk vertex N : d[v] > d[u] + edge [u][v] d[ N ] > d[ M ] + edge [ M ][ N ] d[ N ] > 88,2 + 14 Inf > 102,2

55 Jadi diperoleh d[ N ] = 102,2 yaitu lintasan terpendek dari vertex A ke vertex N melalui vertex M. Edge MQ juga bisa dikunjungi dari vertex M dengan bobot jarak 8. Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v] d[ Q ] > d[ M ] + edge [ M ][ Q ] d[ Q ] > 88,2 + 8 92,5 > 96,2 Jawaban tidak jadi d[ Q ] = 92,5 yang dipilih. Edge MR juga bisa dikunjungi dari vertex M dengan bobot jarak 9,3. Hitung d[v] untuk vertex R : d[v] > d[u] + edge [u][v] d[ R ] > d[ M ] + edge [ M ][ R ] d[ R ] > 88,2 + 9,3 Inf > 97,5 Jadi diperoleh d[ R ] = 97,5 yaitu lintasan terpendek dari vertex A ke vertex R melalui vertex M. Dapat dilihat pada gambar 4.24. Gambar 4.24 Graph Perhitungan Algoritma L-Deque dari Vertex M ke Vertex N, Vertex Q dan Vertex R Pilih edge yang bisa dikunjungi dari vertex N, yaitu NQ dengan bobot jarak 9. Hitung d[v] untuk vertex Q : d[v] > d[u] + edge [u][v] d[ Q ] > d[ N ] + edge [ N ][ Q ] d[ Q ] > 102,2 + 9

56 92,5 > 111,2 Jadi diperoleh d[ Q ] = 92,5 yang dipilih. Edge NR juga bisa dikunjungi dari vertex N dengan bobot jarak 3,5. Hitung d[v] untuk vertex R : d[v] > d[u] + edge [u][v] d[ R ] > d[ N ] + edge [ N ][ R ] d[ R ] > 102,2 + 3,5 97,5 > 105,7 Jawaban tidak jadi d[ R ] = 97,5 yang dipilih. Edge NS juga bisa dikunjungi dari vertex N dengan bobot jarak 1,5. Hitung d[v] untuk vertex S : d[v] > d[u] + edge [u][v] d[ S ] > d[ N ] + edge [ N ][ S ] d[ S ] > 102,2 + 1,5 Inf > 103,7 Jadi diperoleh d[ S ] = 103,7 yaitu lintasan terpendek dari vertex A ke vertex S melalui vertex N. Edge NT juga bisa dikunjungi dari vertex N dengan bobot jarak 21. Hitung d[v] untuk vertex T : d[v] > d[u] + edge [u][v] d[ T ] > d[ N ] + edge [ N ][ T ] d[ T ] > 102,2 + 21 Inf > 123,2 Jadi diperoleh d[ T ] = 123,2 yaitu lintasan terpendek dari vertex A ke vertex T melalui vertex N Dapat dilihat pada gambar 4.25.

57 Gambar 4.25 Graph Perhitungan Algoritma L-Deque dari Vertex N ke Vertex Q, Vertex R, Vertex S dan Vertex T Pilih edge yang bisa dikunjungi dari vertex Q yaitu QR dengan bobot jarak 1,5. Hitung d[v] untuk vertex R : d[v] > d[u] + edge [u][v] d[ R ] > d[ Q ] + edge [ Q ][ R ] d[ R ] > 92,5 + 1,5 97,5 > 94 Jadi diperoleh d[ R ] = 94 yang dipilih. Edge QS juga bisa dikunjungi dari vertex Q dengan bobot jarak 5. Hitung d[v] untuk vertex S : d[v] > d[u] + edge [u][v] d[ S ] > d[ Q ] + edge [ Q ][ S ] d[ S ] > 92,5 + 5 103,7 > 97,5 Jadi diperoleh d[ S ] = 97,5 yang dipilih. Dapat dilihat pada gambar 4.26. Gambar 4.26 Graph Perhitungan Algoritma L-Deque dari Vertex Q ke Vertex R dan Vertex S Pilih edge yang bisa dikunjungi dari vertex R yaitu RN dengan bobot jarak 3,5. Hitung d[v] untuk vertex N : d[v] > d[u] + edge [u][v] d[ N ] > d[ R ] + edge [ R ][ N ] d[ N ] > 94 + 3,5 102,2 > 97,5

58 Jadi diperoleh d[ N ] = 97,5 yang dipilih. Edge RT juga bisa dikunjungi dari vertex R dengan bobot jarak 24. Hitung d[v] untuk vertex T : d[v] > d[u] + edge [u][v] d[ T ] > d[ R ] + edge [ R ][ T ] d[ T ] > 94 + 24 123,2 > 118 Jadi diperoleh d[ T ] = 118 yang dipilih. Edge RS juga bisa dikunjungi dari vertex R dengan bobot jarak 3,4. Hitung d[v] untuk vertex S : d[v] > d[u] + edge [u][v] d[ S ] > d[ R ] + edge [ R ][ S ] d[ S ] > 94 + 3,4 97,5 > 97,4 Jadi diperoleh d[ S ] = 97,4 yang dipilih. Dapat dilihat pada gambar 4.27. Gambar 4.27 Graph Perhitungan Algoritma L-Deque dari Vertex R ke Vertex S dan Vertex T Pilih edge yang bisa dikunjungi dari vertex S yaitu ST dengan bobot jarak 22. Hitung d[v] untuk vertex T : d[v] > d[u] + edge [u][v] d[ T ] > d[ S ] + edge [ S ][ T ] d[ T ] > 97,4 + 22 118 > 119,4

59 Jawaban tidak jadi d[ T ] = 118 yang dipilih. Edge SN juga bisa dikunjungi dari vertex S dengan bobot 1,5. Hitung d[v] untuk vertex N : d[v] > d[u] + edge [u][v] d[ N ] > d[ S ] + edge [ S ][ N ] d[ N ] > 97,4 + 1,5 97,5 > 98,9 Jawaban tidak jadi d[ N ] = 98,9 yang dipilih. Dapat dilihat pada gambar 4.28. Gambar 4.28 Graph Perhitungan Algoritma L-Deque dari Vertex S ke Vertex N dan Vertex T Hasil lintasan terpendek yang diperoleh dari graph diatas dengan algoritma L-Deque ialah : AB = 13,3 (direct) AL = 90,8 = AC + CE + EH + HI + IL AC = 12 (direct) AM = 88,2 = AC + CE + EH + HI + AD = 37,3 = AB + BD IM AE = 16,8 = AC + CE AO = 79,9 = AC + CE + EH + HO AF = 55,8 = AC + CE + EF AP = 83,8 = AC + CE + EH + HI + IP AH = 66,8 = AC + CE + EH AI = 82,8 = AC + CE + EH + HI AJ = 80,6 = AC + CE + EH + HK + KJ AK = AC + CE + EH + HK AG = 86,8 = AC + CE + EH + HI + IG AN = 97,5 = AC + CE + EH + HI +IQ + QR + RN

60 AR = 94 = AC + CE + EH + HI + IQ + QR AS = 97,4 = AC + CE + EH + HI + IQ + QR + RS AT = 118 = AC + CE + EH + HI + IQ + QR + RT 4.2.3 Pengujian Proses Algoritma Greedy Pada algoritma Greedy harus ditentukan titik awal dan titik tujuan, contohnya tittik awal dan titik tujuan serta algoritma yang dipilih. Setelah dipilih titik awal, titik tujuan dan algoritma yang dipilih kemudian klik button Proses di mana button Proses akan melakukan pencarian menggunakan algoritma Greedy dan hasil pencarian akan ditampilkan pada tabel Informasi Tempat Wisata Terdekat Berdasarkan jarak serta menampilkan waktu yang dibutuhkan algoritma tersebut dalam melakukan proses pencarian, dapat dilihat pada gambar 4.29. Gambar 4.29 Hasil Pengujian Menggunakan Algoritma Greedy 4.2.3.1 Perhitungan Manual Algoritma Greedy Contoh pencarian lintasan terpendek dengan menggunakan algoritma Greedy dengan vertex awal A dan vertex akhir F dapat dilihat pada gambar 4.30.

61 Gambar 4.30 Graph Perhitungan Algoritma Greedy Lintasan terpendek pertama yang harus dipilih dari edge yang langsung bersisian dengan vertex A (vertex asal) dan pilih edge yang bobotnya terkecil yaitu vertex B (AB) dengan bobot 6, sehingga didapat L(1) =6 ditunjukkan pada gambar 4.31. Gambar 4.31 Graph Perhitungan Algoritma Greedy dengan Rute yang dipilih dari Vertex A ke Vertex B Selanjutnya tentukan d(i) = panjang L(1) + bobot edge dari vertex akhir L (1) ke vertex i yang lainya. Edge BD : d(i) = 6 + 9 = 15 ; edge BE : d(i) = 6 + 17 = 23. Pilih d(i) yang terkecil, yaitu edge BD. Sehingga L(2) = 15 ditunjukkan pada gambar 4.32. Gambar 4.32 Graph Perhitungan Algoritma Greedy dengan Rute yang dipilih dari Vertex B ke Vertex D

62 Selanjutnya hitung d(i) = panjang L(2) + bobot edge dari vertex akhir L (2) ke vertex i yang lainya. Edge DE : d(i) = 15 + 7 = 22 ; edge DF : d(i) = 15 + 16 = 31. Pilih d(i) yang terkecil, yaitu edge DE. Sehingga L(3) = 22 ditunjukkan pada gambar 4.33. Gambar 2.33 Graph Perhitungan Algoritma Greedy dengan Rute yang dipilih dari Vertex D ke Vertex E Selanjutnya hitung d(i) = panjang L(4) + bobot edge dari vertex akhir L (3) ke vertex i yang lainya. Edge EF : d(i) = 22 + 5 = 27. Pilih d(i) yang terkecil, yaitu edge EF. Sehingga L(4) = 27 ditunjukkan pada gambar 4.34. Gambar 4.34 Graph Perhitungan Algoritma Greedy dengan Rute yang dipilih dari Vertex E ke Vertex F Hasil yang didapat dari contoh sederhana diatas menentukan rute terpendek menggunakan algoritma Greedy ialah A B D E F dengan total jarak 27. 4.3 Kompleksitas 4.3.1 Kompleksitas Algoritma L-Deque Perhitungan kompleksitas algoritma L-Deque dapat dilihat pada Tabel 4.1.

63 Tabel 4.1 Kompleksitas Algoritma L-Deque Listing Program C # C*# foreach (var pair in graph) c 1 n c 1 n string vertex = pair.key; c 2 n c 2 n d.add(vertex, INF); c 3 n c 3 n p.add(vertex, "None"); c 3 n c 3 n d[source] = 0; c 2 1 c 2 q.addback(source); c 4 1 c 4 while (q.length()!= 0) c 5 n c 5 n string u = (string)q.deleteback(); c 2 n c 2 n foreach (var pair in graph[u]) c 1 n 2 c 1 n 2 string v = pair.key; c 2 n 2 c 2 n 2 if (d[v] > d[u] + graph[u][v]) c 6 n 2 c 6 n 2 d[v] = d[u] + graph[u][v]; c 2 n 2 c 2 n 2 p[v] = u; c 2 n 2 c 2 n 2 if (!q.contains(v)) c 6 n 2 c 6 n 2 q.addfront(v); c 7 n 2 c 7 n 2 Dari perhitungan kompleksitas waktu pada Tabel 4.1 maka diperoleh T( n ) yang merupakan jumlah kolom C*# sebagai berikut: T (n) = = (c 2 + c 4 ) + (c 1 + 2 c 2 + 3 c 3 + c 5 ) n + (c 1 +3 c 2 + 2 c 6 + c 8 ) n 2 = Ɵ (n 2 ) Tabel 4.1 menunjukkan hasil perhitungan kompleksitas algoritma L - Deque. Kolom C pada tabel 4.1 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom C x # menghitung hasil perkalian kolom C dengan #. Hasil dari kolom C x # dijumlahkan sehingga diperoleh hasil kompleksitas algoritma L Deque yaitu Ɵ (n 2 ).

64 4.4.2 Kompleksitas Algoritma Greedy Perhitungan kompleksitas algoritma Greedy dapat dilihat pada Tabel 4.2. Tabel 4.2 Kompleksitas Algoritma Greedy Code C # c*# var result = new List<string>(); c 1 1 c 1 result.add(source); c 2 1 c 2 simpan += getlokasiwisata(source); c 2 1 c 2 double totaljarak = 0; c 3 1 c 3 string current_node = ""; c 3 1 c 3 double local_max = 0; c 3 1 c 3 const int num = 0; c 3 1 c 3 bool unreachable = false; c 3 1 c 3 while ((!result.contains(dest))) c 4 n c 4 n current_node = result[result.count - 1]; c 3 n c 3 n local_max = graph[current_node].values.min(); c 3 n c 3 n foreach (var pair in graph[current_node]) c 5 n c 5 n if ((pair.value).equals(local_max)) c 6 n c 6 n if (result.contains(pair.key)) c 6 n c 6 n simpan = "No Route Reachable using Greedy in this c 2 n c 2 n Graph!"; unreachable = true; c 3 n c 3 n break; c 7 n c 7 result.add(pair.key); c 2 n c 2 n simpan += " -> " + getlokasiwisata(pair.key); c 2 n c 2 n totaljarak += pair.value; c 8 n c 8 n if(unreachable) c 6 n c 6 n break; c 7 1 c 7 Dari perhitungan kompleksitas waktu pada Tabel 4.2 maka diperoleh T( n ) yang merupakan jumlah kolom C*# sebagai berikut:

65 T (n) = = (c 1 +2 c 2 + 5 c 3 + 2c 7 ) + ( 3 c 2 + 3 c 3 + c 4 + c 5 + 3c 6 + c 8 ) n = Ө(n) Tabel 4.2 menunjukkan hasil perhitungan kompleksitas algoritma Greedy. Kolom C pada tabel 4.2 merupakan kolom yang menunjukkan berapa kali processor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan satu baris program. Kolom C x # menghitung hasil perkalian kolom C dengan #. Hasil dari kolom C x # dijumlahkan sehingga diperoleh hasil kompleksitas algoritma Greedy yaitu Ɵ (n 2 ). Berdasarkan hasil perhitungan kompleksitas algoritma L Deque dan algoritma Greedy hasil yang didapatkan adalah Ɵ (n 2 ) untuk algoritma L-Deque dan Ɵ (n) untuk algoritma Greedy. Dari hasil tersebut dapat dilihat bahwa algoritma Greedy membutuhkan waktu lebih sedikit untuk melakukan proses perhitugan. Namun, yang harus diketahui bahwa tidak selalu hasil perhitungan kompleksitas sesuai dengan perhitungan pada saat pengimplementasian ke dalam program. 4.4 Real Running-Time Pengujian dilakukan untuk mencari real running time dengan algoritma L-Deque dan algoritma Greedy. 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 Algoritma L-Deque Proses pengujian dilakukan secara manual dengan bahasa pemrograman C#. 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.

66 Tabel 4.3 Hasil Pengujian Running Time Algortima L-Deque No Rute Total Jarak (km) Waktu proses (ms) 1 A C 12 36,0897 2 B C 1,8 37,7762 3 D C 25,8 40,8545 4 E C 4,8 39,9493 5 F C 43,8 41,4183 6 G C 74,8 36,5481 7 H C 54,8 37,9145 8 I C 70,8 33,5813 9 J C 68,6 37,597 10 K C 66,8 40,5918 11 L C 78,8 39,0845 12 M C 76,2 32,7397 13 N C 85,5 38,9572 14 O C 67,9 34,7739 15 P C 71,8 33,1181 16 Q C 80,5 35,5936 17 R C 82 37,2987 18 S C 85,4 50,6252 19 T C 106 35,9097 4.4.1 Algoritma Greedy Proses pengujian dilakukan secara manual dengan bahasa pemrograman C#. Hasil pengujian yang dilakukan terhadap tempat wisata yang dijadikan titik asal ke titik tujuan tempat wisata menggunakan algoritma Greedy dapat dilihat pada tabel 4.4.

67 Tabel 4.4 Hasil Pengujian Running Time Algortima Greedy NO Rute Total Jarak (km) Waktu proses (ms) 1 A C 12 0,2606 2 B C 1,8 0,86 3 D C 29,5 0,26 4 E C 6,2 0,2654 5 F C 56,5 0,2675 6 G C Tidak ada rute 0,2586 7 H C Tidak ada rute 0,2668 8 I C Tidak ada rute 0,2579 9 J C Tidak ada rute 0,2565 10 K C Tidak ada rute 0,2572 11 L C Tidak ada rute 0,2613 12 M C Tidak ada rute 0,2538 13 N C Tidak ada rute 0,2586 14 O C Tidak ada rute 0,26 15 P C Tidak ada rute 0,2565 16 Q C Tidak ada rute 0,2641 17 R C Tidak ada rute 0,2552 18 S C Tidak ada rute 0,2654 19 T C Tidak ada rute 0,3594 Pada Tabel 4.3 hasil pengujian running time algoritma Greedy diperoleh hasil total jarak tidak ditemukan mulai dari sampel no. 6 sampai no. 19. Hasil total jarak tidak ditemukan disebabkan terjadinya looping karena graph menggunakan edge dengan sistem dua arah sehingga jika edge yang sudah dilalui merupakan nilai d(i) terkecil maka aplikasinya akan mendeteksi rute dari titik asal ke titik tujuan tidak ditemukan. Contoh perhitungannya dapat dilihat dibawah ini dengan titik asal G dan titik tujuan C.

68 Gambar 4.8 Graph Perhitungan Algoritma Greedy Lintasan terpendek pertama yang harus dipilih dari edge yang langsung bersisian dengan vertex G (vertex asal) dan pilih edge yang bobotnya terkecil yaitu vertex B (AB) dengan bobot 3, sehingga didapat L(1) = 3 ditunjukkan pada gambar 4.36. Gambar 4.8 Graph Perhitungan Algoritma Greedy dari Vertex G ke Vertex M Selanjutnya tentukan untuk vertex M : d(i) = panjang L(1) + bobot edge dari vertex akhir L (1) ke vertex i yang lainya. Edge MG : d(i) = 3 ; edge MI : d(i) = 3 + 6 = 9 ; edge ML : d(i) = 3 + 6,4 = 9,4 ; edge MN : d(i) = 3 + 14 = 17 ; edge MR : d(i) = 3 + 9,3 = 12,3 ; edge MQ : d(i) = 3 + 8 = 11. Pilih d(i) yang terkecil, yaitu edge MG di mana edge MG melalui vertex G dan vertex G merupakan vertex asal sehingga terjadi looping dan titik tujuan tidak ditemukan.

69 Dari Tabel 4.3 dan Tabel 4.4 tersebut dapat diambil kesimpulan bahwa algoritma L-Deque dan algoritma Greedy menghasilkan rute, total jarak dan running time yang berbeda, di mana dari segi waktu proses algoritma Greedy lebih cepat dibandingkan dengan algoritma L-Deque tetapi dari segi total jarak algortima L-Deque lebih optimum dibandingkan algoritma Greedy. Berikut ini akan ditampilkan hasil rata-rata waktu proses dari kedua algoritma yaitu algoritma L-Deque dan algoritma Greedy dan dapat dilihat pada Tabel 4.5. Tabel 4.5 Hasil Execution Time Algoritma L-Deque dan Algoritma Greedy No Rute Algoritma L-Deque Algoritma Greedy 1 A C 36,0897 0,2606 2 B C 37,7762 0,86 3 D C 40,8545 0,26 4 E C 39,9493 0,2654 5 F C 41,4183 0,2675 6 G C 36,5481 0,2586 7 H C 37,9145 0,2668 8 I C 33,5813 0,2579 9 J C 37,597 0,2565 10 K C 40,5918 0,2572 11 L C 39,0845 0,2613 12 M C 32,7397 0,2538 13 N C 38,9572 0,2586 14 O C 34,7739 0,26 15 P C 33,1181 0,2565 16 Q C 35,5936 0,2641 17 R C 37,2987 0,2552 18 S C 50,6252 0,2654 19 T C 35,9097 0,3594

70 BAB 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan hasil studi literatur, implementasi, dan pengujian sistem ini, maka kesimpulan yang didapat adalah sebagai berikut: 1. Telah diterapkannya algoritma L-Deque dan algoritma Greedy dalam penentuan rute terpendek antar tempat wisata di Kabupaten Tapanuli Tengah. 2. Hasil pencarian rute terpendek antar tempat wisata di Kabupaten Tapanuli Tengah dengan menggunakan algoritma L-Deque dan algoritma Greedy diperoleh rute, total jarak dan running time yang berbeda. 3. Berdasarkan hasil pengujian dari kedua algoritma, algoritma Greedy memiliki nilai running time Ө (n) sedangkan algoritma L-Deque Ө (n 2 ). 5.2 Saran saran-saran yang dapat dipertimbangkan untuk penelitian maupun pengembangan berikutnya adalah: 1. Sistem ini sebaiknya dikembangkan dengan menambah jumlah simpul (vertex) dan sisi (edge). 2. Sistem ini dapat dikembangkan pada studi kasus lainnya. 3. Sistem ini menggunakan algoritma L-Deque dan algoritma Greedy. Untuk pengembangan selanjutnya sebaiknya menggunakan algortima yang lain atau lebih dari 2 algoritma untuk lebih mengetahui algoritma mana yang lebih baik dan lebih cepat serta mengetahui perbandingan kinerja tiap algoritma.