• Tidak ada hasil yang ditemukan

Analisis Perbandingan Algoritma Generate and Test Dengan Hill Climbing Pada Penyelesaian Traveling Salesman Problem Untuk Kunjungan Wisata di Kabupaten Tapanuli Tengah Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Analisis Perbandingan Algoritma Generate and Test Dengan Hill Climbing Pada Penyelesaian Traveling Salesman Problem Untuk Kunjungan Wisata di Kabupaten Tapanuli Tengah Chapter III V"

Copied!
38
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi tentang pembahasan analisis dan perancangan sistem aplikasi, termasuk di dalamnya Ishikawa Diagram, Use Case Diagram, Activity Diagram, Sequential Diagram, Flowchart, dan desain interface.

3.1 Analisis Sistem

Pada tahapan ini yang dilakukan ialah menganalisa sistem untuk menghasilkan pemahaman yang menyeluruh akan kebutuhan sistem yang terdiri dari tugas-tugas yang akan dikerjakan oleh sistem. Tahapan ini dilakukan untuk mengurangi terjadinya kesalahan yang mempengaruhi kenerja sistem dalam proses perancangan aplikasi. Tahapan analisis dalam tugas akhir ini terdiri dari analisis masalah, analisis persyaratan dan analisis proses.

Kelayakan masalah perlu dipahami dan dibahas dalam analisis masalah serta merta menjelaskan fungsi-fungsi yang ditawarkan dan dapat dikerjakan oleh sistem juga dibahas dianalisis persyaratan. Analisis proses diperlukan guna mengetahui bagaimana proses tersebut akan bekerja dan bagaimana langkah-langkah yang harus ditempuh untuk mendapatkan hasil yang optimum.

3.1.1 Analisis masalah

Diagram Ishikawa (fishbone diagram) biasanya disebut juga diagram sebab akibat yang digunakan untuk mengidentifikasi masalah yang ada pada sistem yang akan dirancang. Dengan menggunakan diagram ini, kita dapat mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah dengan mengikutsertakan sebab dan akibat dari permasalahan terkait. Dengan demikian proses pencapaian sistem akan sangat terbantu.

(2)

jalur terpilih, dan perbandingan. Maka dari keseluruhan kategori tersebut dijelaskan melalui diagram Ishikawa yang dapat dilihat pada Gambar 3.1.

Gambar 3.1 Diagram Ishikawa (Fishbone) untuk Analisis Permasalahan Sistem

Pada gambar 3.1 permasalahan pada penelitian ini ditunjukan pada akhir garis horizontal utama (head) dan penyebab dari permasalahan tersebut ditunjukan dari garis-garis diagonal (bone). Bone dibagi menjadi empat aspek yang terdiri dari pengguna, material, sistem dan metode. Pengguna (Man) berkaitan dengan tindakan ataupun upaya yang dilakukan pengguna untuk menjalankan sistem dengan memasukkan data berupa node dan edge kemudian memilih algoritma yang digunakan untuk menentukan lintasan dalam penyelesaian Traveling Salesman Problem yang ditampilkan dalam graph. Mesin ialah sistem itu sendiri dimana sistem akan menerapkan metode dari Algoritma Generate and Test atau Algoritma Hill Climbing untuk kemudian dibandingkan berdasarkan hasil dari kedua algoritma tersebut. Material mencakup hal-hal yang dibutuhkan dalam membangun sistem dimana dalam penelitian ini material yang digunakan adalah jarak. Metode merupakan cara yang digunakan dalam memperoleh lintasan tercepat untuk Traveling Salesman Problem dan metode yang digunakan yaitu Algoritma Generate and Test dan Hill Climbing.

Penetuan lintasan tercepat untuk mengunjungi objek-objek wisata terpilih di Kabupaten Tapanuli Tengah mengunakan Algoritma

Generate and Test dengan Algoritma Hill Climbing

Membutuhkan informasi lokasi-lokasi objek wisata yang akan dikunjungi

Waktu yang dibutuhkan untuk menentukan lintasan tercepat sangat lama

Man Material

Machine Method

Bagaimana mesin menggunakan metode heuristik menentukan lintasan tercepat

Belum diketahui perbandingan antara Algoritma Generate and Test dan Algoritma Hill Climbing

Objek-objek wisata yang ditentukan pada peta Kabupaten Tapanuli Tengah dan dinyatakan sebagai node

(3)

3.1.2 Analisis kebutuhan sistem

Analisis kebutuhan sistem dibagi menjadi dua bagian, yaitu kebutuhan fungsional dan kebutuhan non-fungsional.

1. Kebutuhan Fungsional

Analisis kebutuhan fungsional pada sistem ini menjabarkan mengenai tahap-tahap atau fungsi-fungsi yang dapat dilakukan atau tersedia pada sistem. Fungsi-fungsi tersebut yang akan bekerja untuk dapat menampilkan hasil penetuan dari algoritma Generate and Test dan algoritma Hill Climbing dalam menentukan hasil dalam penyelesaian Traveling Salesman Problem atau jarak terkecil yang paling optimal dalam pengunjungan objek-objek wisata yang akan dikunjungi, serta membandingkan hasil kerja dari kedua algoritma tersebut.

Beberapa kebutuhan fungsional yang terdapat pada sistem ini, antara lain: a. Sistem dibuat sesuai dengan representasi graf yang sebenarnya dati Peta

Kabupaten Tapanuli Tengah yang ditampilkan.

b. Sistem dapat membaca data berupa simpul (vertex) dan sisi (edge) yang sudah disimpan di dalam memori dalam bentuk matriks 2 dimensi.

c. Sistem mampu menghitung dan menampilkan hasil pencarian optimum menggunakan algoritma Generate and Test dan algoritma Hill Climbing yang telah digunakan dalam sistem.

d. Sistem mampu menghitung dan menentukan kecepatan waktu proses (running time) dari masing-masing algoritma.

2. Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional pada sistem ini berupa kinerja atau performansi dari sistem berdasarkan algoritma yang digunakan serta kemudahan pengunaanya. Beberapa kebutuhan non-fungsional yang terdapat pada sistem ini, antara lain: a. Kinerja atau Performansi

Sistem atau perangkat lunak yang akan dibangun harus mampu menampilkan hasil dari algoritma yang diterapkan di dalam sistem, yaitu algoritma Generate and Test dan algoritma Hill Climbing.

b. Mudah Digunakan

(4)

tampilan yang sederhana namun dapat dengan mudah dipahami. c. Hemat Biaya

Sistem atau perangkat lunak yang akan dibangun tidak membutuhkan perangkat tambahan yang dapat mengeluarkan biaya tambahan.

d. Manajemen Kualitas Sistem

Sistem atau perangkat lunak yang akan dibangun harus mempunyai kualitas yang baik dan hasil yang tepat.

3.1.3 Analisis proses

Sistem dibangun menggunakan bahasa pemrograman Basic. Algoritma untuk penyelesaian Traveling Salesman Problem yang digunakan untuk menentukan lintasan tercepat dalam mengunjungi semua objek wisata terpilih adalah Generate and Test dan Hill Climbing. Hasil yang diperoleh dari kedua algoritma tersebut akan dibandingkan sehingga dapat diperoleh algoritma yang paling efisien tetapi memberikan hasil optimum dalam waktu proses tercepat dalam menentukan jarak optimum.

Berdasarkan data yang ada, Kabupaten Tapanuli Tengah memiliki banyak objek wisata, namun pada penelitian ini penulis hanya mengunakan 10 objek wisata yang lebih dikenal warga setempat. Adapun daftar objek wisata yang akan diterapkan sebagai verteks di dalam sistem ini dapat dilihat pada Tabel 3.1 berikut:

Tabel 3. 1 Daftar Objek Wisata Yang Dijadikan Sebagai Verteks

No. Nama Objek Wisata A. Bandara F.L. Tobing B. Pantai Batu Gajah C. Pantai Pandan D. Air Terjun Sihobuk E. Patai Pandaratan F. Air Terjun Silaklak G. Pantai Binasi

H. Makam Papan Tinggi I. Pantai Kahona J. Air Terjun Mursala

(5)

Gambar 3.2 Peta Kabupaten Tapanuli Tengah

Dalam representasi graf, bobot dari setiap sisi (edge) yang menghubungkan setiap simpul (vertex) adalah jarak dari antar objek wisata yang akan dijadikan sebagai simpul. Graf akan digambarkan berdasarkan jarak tempuh dari setiap simpul ke simpul tetangga yang saling terhubung. Data tersebut dikumpulkan dan disimpan dalam data matriks 2 dimensi.

(6)

1. Edge AB

Bobot dari edge AB ialah 18,4 km yang diambil dari jarak antara objek wisata A ke objek wisata B, dapat dilihat pada gambar 3.3.

Gambar 3.3 Jarak tempuh objek A ke objek B

2. Edge AC

Bobot dari edge AC ialah 22 km yang diambil dari jarak antara objek wisata A ke objek wisata C, dapat dilihat pada gambar 3.4.

(7)

3. Edge BC

Bobot dari edge BC ialah 4,9 km yang diambil dari jarak antara objek wisata B ke objek wisata C, dapat dilihat pada gambar 3.5.

Gambar 3.5 Jarak tempuh objek B ke objek C

4. Edge BH

Bobot dari edge BH ialah 43,27 km yang diambil dari jarak antara objek wisata B ke objek wisata H melalui transportasi laut, dapat dilihat pada gambar 3.6.

Gambar 3.6 Jarak tempuh objek B ke objek H

5. Edge CD

(8)

Gambar 3.7 Jarak tempuh objek C ke objek D

6. Edge CE

Bobot dari edge CE ialah 6,9 km yang diambil dari jarak antara objek wisata C ke objek wisata E, dapat dilihat pada gambar 3.8.

(9)

7. Edge CH

Bobot dari edge CH ialah 42,15 km yang diambil dari jarak antara objek wisata C ke objek wisata H melalui transportasi laut, dapat dilihat pada gambar 3.9.

Gambar 3.9 Jarak tempuh objek C ke objek H

8. Edge DE

Bobot dari edge DE ialah 7,1 km yang diambil dari jarak antara objek wisata D ke objek wisata E, dapat dilihat pada gambar 3.10.

Gambar 3.10 Jarak tempuh objek D ke objek E

9. Edge DF

(10)

Gambar 3.11 Jarak tempuh objek D ke objek F

10. Edge DH

Bobot dari edge DH ialah 37,71 km yang diambil dari jarak antara objek wisata D ke objek wisata H melalui transportasi laut, dapat dilihat pada gambar 3.12.

Gambar 3.12 Jarak tempuh objek D ke objek H

11. Edge EF

(11)

Gambar 3.13 Jarak tempuh objek E ke objek F

12. Edge FG

Bobot dari edge FG ialah 27 km yang diambil dari jarak antara objek wisata F ke objek wisata G, dapat dilihat pada gambar 3.14.

Gambar 3.14 Jarak tempuh objek F ke objek G

13. Edge GH

(12)

Gambar 3.15 Jarak tempuh objek G ke objek H

14. Edge GJ

Bobot dari edge GJ ialah 24,3 km yang diambil dari jarak antara objek wisata G ke objek wisata J, dapat dilihat pada gambar 3.16.

(13)

15. Edge HI

Bobot dari edge HI ialah 40,81 km yang diambil dari jarak antara objek wisata H ke objek wisata I melalui transportasi laut, dapat dilihat pada gambar 3.17.

Gambar 3.17 Jarak tempuh objek I ke objek H

16. Edge IJ

Bobot dari edge IJ ialah 13,3 km yang diambil dari jarak antara objek wisata I ke objek wisata J, dapat dilihat pada gambar 3.18.

(14)

Setelah keseluruhan bobot telah didapatkan maka graf tidak berarah dan berbobot dapat dilihat pada gambar 3.19.

Gambar 3.19 Graf tidak berarah Kabupaten Tapanuli Tengah

3.2 Pemodelan Sistem

Pemodelan sistem pada penelitian ini menggunakan Unified Modelling Language (UML) sebagai bahasa spesifikasi standar suatu model yang berfungsi untuk membantu merancang sistem dengan tujuan untuk menggambarkan peran pengguna terhadap sistem yang dibuat. Sistem ini dirancang dengan menggunakan use case diagram, activity diagram, dan sequence diagram, serta flowchart.

3.2.1 Use Case Diagram

(15)

Use case diagram digunakan untuk mengetahui kebutuhan sistem dari sudut pandang user (pengguna) dan merepresentasikan interaksi antara user tersebut dengan sistem. Use case diagram dari sistem pada penelitian ini dapat dilihat pada Gambar 3.20.

Algoritma

Gambar 3.20 Use Case Diagram Sistem

3.2.2 Activity Diagram

(16)

Tentukan Verteks –

Tampilkan Total Jarak Tempuh dan Running Time Algoritma

Generate and Test

Tampilkan Total Jarak Tempuh dan Running Time Algoritma

Hill Climbing Sistem

Gambar 3.21 Activity Diagram Sistem

(17)

3.2.3 Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek juga dapat mengindikasikan komunikasi antar objek yang berhubungan. Sequence diagram pencarian lintasan tercepat sistem ini dapat dilihat pada gambar3.22.

User

Pilih Algoritma Generate and Test

Menampilkan Total Lintasan dan Running Time Algoritma Generate and Test

Pilih Algoritma Hill Climbing

Menampilkan Total Lintasan dan Running Time Algoritma Hill Climbing

Gambar 3.22 Sequence Diagram Sistem

3.2.4 Flowchart

(18)

Mulai Nilai Lintasan_terpilih = Nilai Lintasan_awal

Bangkitkan Lintasan_Baru

Gambar 3.23 Flowchart Algoritma Generate and Test

Mulai Tentukan posisi yang akan ditukar setiap Operator

Lintasan_Terpilih=Lintasan_Awal Nilai_Terpilih=Nilai_Awal

Terbitkan seluruh lintasan baru sebanyak operator yang tersedia dari

Lintasan_Terpilih

(19)

3.3 Perancangan Antarmuka Sistem (Design Interface System)

Perancangan sistem merupakan suatu spesifikasi dari solusi berbasis komputer secara rinci, yang juga dikenal dengan physical design. Perancangan sistem menekankan pada penerapan atau implementasi sistem tersebut secara teknis. (Whitten. Bentley. Dittman. 2004).

Perancangan sistem merupakan tahap dari siklus pengembangan sistem setelah tahap analisis, yang dilakukan untuk memberikan gambaran dan rancangan bangun secara jelas dan lengkap mengenai bagaimana suatu sistem dibentuk sehingga dapat dipahami dan digunakan secara mudah. Perancangan sistem dilakukan agar sistem yang dibangun sesuai dengan yang diharapkan.

Perancangan antarmuka sistem merupakan salah satu bagian penting dalam membangun sebuah sistem. Perancangan antarmuka sistem bertujuan untuk mempermudah pengguna dalam menggunakan sistem. Berikut adalah beberapa rancangan antarmuka sistem pada aplikasi yang dibangun:

1. Form utama

Form utama merupakan halaman utama dari sistem yang ditampilkan ketika sistem pertama dijalankan atau dengan kata lain merupakan tampilan utama dari sistem. Rancangan tampilan form ini dapat dilihat pada Gambar 3.25.

Tentang

Gambar 3.25 Rancangan Form Utama

(20)

Tabel 3. 2 Keterangan Gambar Rancangan Form Utama

No. Keterangan

1 Menu Proses yang menampilkan halaman untuk mengelola vertex, edges dan graf

2 Menu Tentang yang menampilkan halaman dari profil mahasiswa 3 Label untuk menampilkan judul skripsi

4 Label untuk menampilkan Nama dan NIM 5 Picture Box untuk menampilkan logo fakultas

6 Label untuk menampilkan nama program studi dan fakultas 2. Form Proses

Pada form utama dari sistem terdapat menu Proses yang menampilkan halaman bagi pengguna untuk mengelola data yang akan di proses oleh sistem. Pada halaman ini user akan memilih algoritma mana yang akan digunakan dan melakukan proses pencarian lintasan tercepat menggunakan algoritma Generate and Test atau algoritma Hill Climbing dalam bentuk graf dan lama waktu prosesnya. Rancangan tampilan untuk Form Proses dapat dilihat pada Gambar 3.26.

Form Proses

Gambar 3.26 Rancangan Form Proses

(21)

Tabel 3.3 Keterangan Gambar Rancangan Form Proses

No. Keterangan

1 Canvas untuk menampilkan graf

2 Label untuk menampilkan keterangan graf

3 Group Box untuk melakukan pemilihan algoritma, proses dan hasil

4 Combo Box untuk memilih algoritma Generate and Test atau Hill Climbing 5 Button untuk melakukan proses pencarian total lintasan terkecil

6 Progress Bar untuk mengetahui jalannya proses pencarian 7 Label untuk menampilkan hasil pencarian dan waktu prosesnya 3. Form Tentang

Form ini berisikan profil dan foto penulis sekaligus perancang sistem ini. Rancangan dari form tentang ini dapat dilihat pada Gambar 3.27.

Tentang

Judul Skripsi

Foto Penulis Profil Penulis

1

2 3

Gambar 3.27 Rancangan Form Tentang

Keterangan dari rancangan form tentang pada gambar 3.27 dapat dilihat pada Tabel 3.4 dibawah ini.

Tabel 3.4 Keterangan Gambar Rancangan Form Proses

No. Keterangan

(22)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

Bab ini berisi implementasi dari sistem yang telah dirancang beserta pengujian yang dilakukan terhadap sistem untuk menemukan kelebihan dan kekurangan pada sistem.

4.1 Implementasi Sistem

Implementasi sistem merupakan penerapan dari seluruh tahap yang telah dibahas dalam analisis dan perancangan sistem. Sistem dibangun menggunakan aplikasi Microsoft Visual Studio 2010 dengan bahasa pemrograman Basic. Sistem yang dibangun memiliki tiga halaman menu utama, yaitu halaman menu Utama, halaman menu Proses dan halaman menu Tentang.

4.1.1 Form Utama

Form Utama merupakan halaman yang pertama sekali muncul pada saat sistem dijalankan. Tampilan halaman utama ini dapat dilihat pada Gambar 4.1.

(23)

4.1.2 Form Proses

Form Proses merupakan halaman yang menampilkan graf dengan bobot dan hasil penerapan algoritma Generate and Test dan algoritma Hill Climbing. Tampilan halaman proses ini dapat dilihat pada Gambar 4.2.

Gambar 4.2 Form Proses

4.1.3 Form Tentang

Halaman Tentang merupakan halaman yang menampilkan informasi tentang penulis. Tampilan halaman tentang ini dapat dilihat pada Gambar 4.3

(24)

4.2 Pengujian Sistem

Pengujian sistem merupakan tahapan yang dilakukan dengan tujuan untuk melihat apakah sistem mendapatkan solusi yang tepat sasaran dalam penentuan lintasan tercepat kasus TSP ini. Pengujian sistem dilakukan dengan memasukkan data berupa graf dengan 10 simpul (vertex) dan 16 sisi (edge). Graf yang ditampilkan oleh sistem merupakan representasi graf dari peta Kabupaten Tapanuli Tengah. Setiap simpul (vertex) dibentuk menggunakan posisi sebenarnya dari peta. Sisi (edge) menghubungkan satu simpul ke simpul lain yang terpilih dan memungkinkan untuk dilalui. Setiap data sisi yang membentuk graf telah disimpan dalam satu variabel dalam bentuk data matriks.

4.2.1 Pengujian Proses Algoritma Generate and Test

Untuk melakukan proses pengujian pertama kali yang harus dilakukan adalah memilih menu Proses untuk menampilkan graph yang ada. Kemudian memilih algoritma Generate and Test pada pilihan ComboBox. Tampilan pemilihan algoritma dapat dilihat pada Gambar 4.4.

Gambar 4.4 Pemilihan Algoritma Generate and Test

(25)

Gambar 4.5 Hasil Penentuan Algoritma Generate and Test

4.2.1.1Proses Manual Algoritma Generate and Test

Algoritma Generate and Test dapat diterapkan setelah mengetahui seluruh verteks yang akan dikunjungi dan menghitung nilai seluruh kemungkinan kombinasi yang ada. Kemudian algoritma ini akan menyusun verteks-verteks tersebut dan menggunakan metode backtracking untuk membentuk lintasan baru. Jika dicontoh dengan graf pada Gambar 4.6.

A B

D C

6

3

5

7

4

Gambar 4.6 Graf Proses Manual

(26)

(1) Langkah pertama adalah menyusun verteks secara terurut untuk membentuk lintasan awal, yaitu: A-B-C-D kemudian menambah titik awal menjadi A-B-C-D-A. Setelah itu melakukan validasi sekaligus menghitung nilai total lintasan =

+ + + = 6+3+4+5 = 18 km. Oleh karena lintasan tercepat masih belum ada maka lintasan awal ini dijadikan sebagai lintasan terpilih sementara sebagai dasar untuk melakukan perbandingan. Lintasan pada tahap pertama ini dapat dilihat pada Gambar 4.7.

A B

Gambar 4.7 Lintasan Langkah Pertama

(2) Langkah kedua ialah melakukan backtracking 2 langkah yaitu V(C) dan V(D) pada

lintasan awal yang terbentuk sebelumnya dan menambah titik awal untuk membentuk lintasan baru sehingga membentuk lintasan A-B-D-C-A. Selanjutnya memeriksa apakah lintasan ini valid atau tidak. Oleh karena litasan ini tidak valid dimana V(A) dengan V(C) tidak memiliki jarak, maka lintasan ini tidak dihitung.

Proses backtracking dapat dilihat pada Gambar 4.8.

A

B

C

D C

D

Gambar 4.8 Proses Backtracking Langkah Kedua

(27)

A

Gambar 4.9 Proses Backtracking Langkah Ketiga

(4) Langkah keempat melakukan backtracking 2 langkah dari lintasan sebelumnya hingga membentuk lintasan baru A-C-B-D-A. Lintasan ini juga meerupakan lintasan yang tidak valid maka lintasan ini diabaikan. Proses backtracking dapat dilihat pada gambar 4.10.

A

Gambar 4.10 Proses Backtracking Langkah Keempat

(5) Pada langkah kelima ini backtracking kembali dilakukan sebanyak 3 langkah untuk membentuk lintasan baru A-D-B-C-A. Oleh karena litasan ini tidak valid dimana V(A) dengan V(C) tidak memiliki jarak, maka lintasan ini tidak dihitung.

Proses backtracking pada langkah ini dapat dilihat pada gambar 4.11.

A

Gambar 4.11 Proses Backtracking Langkah Kelima

(28)

sebelumnya yaitu 18=18, maka lintasan ini menjadi lintasan terpilih sementara. Proses backtracking tidak lakukan lagi karena lintasan ini merupakan kombinasi yang terakhir dan hasil penentuan lintasan tercepat ialah pada langkah ini, yaitu A-D-C-B-A dengan bobot 18km. Proses backtracking pada langkah ini dapat dilihat pada gambar 4.12 dan lintasan terbentuk pada gambar 4.13.

A

B C D

B

C

Gambar 4.12 Proses Backtracking Langkah Keenam

A B

D C

6

3

5

7

4

Gambar 4.13 Lintasan Langkah Keenam

4.2.2 Pengujian Proses Algoritma Hill Climbing

(29)

Gambar 4. 14 Hasil Penentuan Algoritma Hill Climbing

4.2.2.1Proses Manual Algoritma Hill Climbing pada sistem

Algoritma Hill Climbing yang diterapkan pada sistem ini ialah Steepest Ascent Hill Climbing. Pada algoritma ini banyaknya operator penukar akan sangat menentukan cepatnya lintasan tercepat ataupun solusi ditemukan oleh sistem. Sebelum memulai proses harus diketahui terlebih dahulu jumlah operator penukar yang akan digunakan, yaitu: 2! (�−1!

�−1)−2 ! =

4−1!

2! (4−1)−2 ! = 3 operator penukar. Setelah banyaknya operator penukar diketahui, maka lintasan awal A-B-C-D-A dengan jarak tempuh 18 km dijadikan sebagai dasar untuk melakukan penukaran posisi sesuai operator yang digunakan dan perbandingan terhadap lintasan baru. Jika menggunakan graf pada gambar 4.6 sebelumnya maka langkah-langkah proses pencarian lintasan tercepat dari algoritma ini adalah:

(30)

valid. Kemudian menggunakan operator yang ketiga dan merupakan operator terakhir. Dengan menggunakan operator ketiga yaitu tukar(2,4) maka didapatkan lintasan A-D-C-B-A dengan bobot 18km. Kemudian melakukan perbandingan dari kedua lintasan valid tersebut dan lintasan awal untuk mendapatkan lintasan yang terkecil. Setelah melakukan perbandingan ternyata tidak didapatkan lintasan yang bobotnya lebih kecil dari lintasan A-B-C-D-A, maka lintasan ini tidak dijadikan sebagai kandidat untuk melakukan proses penukar ditahap selanjutnya. Proses pada langkah pertama ini dapat dilihat pada gambar 4.15 dan lintasan yang didapatkan setelah langkah pertama pada gambar 4.16.

A-B-C-D-A

Gambar 4.15 Proses Langkah Pertama

A B

Gambar 4.16 Lintasan Langkah Pertama

(2) Langkah kedua ialah memeriksa apakah kandidat lintasan tercepat ditemukan atau tidak. Jika tidak ditemukan maka lintasan terpilih sebelumnya ini menjadi hasil dari penentuan lintasan tercepat, yaitu A-B-C-D-A dengan bobot 18km. Proses dari langkah kedua ini dapat dilihat pada gambar 4.17.

A-B-C-D-A

(31)

4.3 Hasil Pengujian Sistem

Berdasarkan pengujian sistem yang telah dilakukan pada penelitian ini, maka didapatkan hasil pengujian real running time program antara dua algoritma ini seperti terlihat pada Gambar 4.18.

a. Generate and Test b. Hill Climbing

Gambar 4.18 Pengujian Running Time Kedua Algoritma

(32)

time Hill Climbing sebesar 1425ms. Berdasarkan data-data yang telah didapatkan diatas maka tabel perbandingan antara 2 algoritma tersebut dapat dilihat pada tabel 4.1.

Tabel 4.1 Hasil Pengujian Real Running Time

Algoritma Lintasan

Terbentuk Lintasan Terpilih

Jarak Tempuh

(km)

Run Time (ms)

Generate and Test 362880 A-C-E-D-F-G-J-I-H-B-A 225,38 144536

Hill Climbing 72 A-B-H-I-J-G-F-D-E-C-A 225,38 1425

Setelah mendapatkan hasil pengujian dari Tabel 4.1, maka dapat dibuatkan grafik perbandingan dari kedua algoritma tersebut. Grafik perbandingan run time dan dapat dilihat pada gambar 4.19.

Gambar 4.19 Grafik Perbandingan Run Time

Berdasarkan grafik pada Gambar 4.19 dapat disimpulkan bahwa algoritma Hill Climbing memiliki run time yang jauh lebih cepat dibandingkan dengan Generate and Test untuk mencari lintasan tercepat dimana Hill Climbing membutuhkan waktu 1425ms sementara Generate and Test 144536ms. Hal ini disebabkan karena proses pada Generate and Test tidak akan selesai jika belum seluruh kemungkinan kombinasi telah dicoba yang terlihat pada tabel 4.1 dengan perbandingan 362880:72.

0

Generate and Test Hill Climbing

144536

1425 Run Time (ms)

(33)

4.4 Kompleksitas Waktu Big Theta

Kompleksitas algoritma yang akan diuji adalah kompleksitas algoritma Generate and Test dan Hill Climbing.

4.4.1 Kompleksitas Algoritma Generate and Test

Perhitungan kompleksitas algoritma Generate and Test dapat dilihat pada tabel 4.2.

Tabel 4.2 Kompleksitas Algoritma Generate and Test

Public Function backtrack(ByVal n As Integer) C # C#

For i = 0 To n C1 n C1n

titikTerakhir = jalur(jalur.Count - 1) C2 n C2n

daftarInduk.Add(titikTerakhir) C3 n C3n

jalur.Remove(titikTerakhir) C4 n C4n

titikTerakhir -= 1 Next C5 n C5n

jalurPilih = String.Join("-", titik) & "-0" C4 1 C4

Dim Run As Stopwatch = Stopwatch.StartNew() C5 1 C5

For l = 1 To n - 1 C1 n C1n

k = n - 2 C6 n C6n

jalur = addJalur() C3 n C3n

counter += 1 C7 n C7n

jalurProses = String.Join("-", jalur.ToArray)

& "-0" C8 n C8n

tempuhProses = hitung(jalurProses, jarak) C9 n C9n

test(jalurPilih, jalurProses, tempuhPilih,

(34)

test(jalurPilih, jalurProses, tempuhPilih,

tempuhProses = hitung(jalurProses, jarak) C9 n2 C9n2

test(jalurPilih, jalurProses, tempuhPilih,

tempuhProses = hitung(jalurProses, jarak) C9 n2 C9n2

test(jalurPilih, jalurProses, tempuhPilih,

Dim titikAwal As Integer =

daftarInduk(daftarInduk.Count - 1) C12 n2 C12n2

jalur.Add(titikAwal) C3 n2 C3n2

daftarInduk.Remove(titikAwal) C2 n2 C2n2

(35)

If counter = Fn Then C11 n C11n

Exit For Next C14 n C14n

Run.Stop() C5 1 C5

Dim runTime As Integer =

CInt(Run.Elapsed.TotalMilliseconds) C15 1 C15

Return jalurPilih C16 1 C16

Kompleksitas dari algoritma Generate and Test : C adalah konstanta, # adalah frekuensi yang berfungsi sebagai ukuran dan C# sebagai pencari kompleksitas waktu (T(n)), n adalah jumlah proses. Jumlah hasil perkalian C.#, lalu diambil pangkat terbesar dari hasil masukan (#) dan didapatlah pangkat terbesar yaitu: n3.

4.4.2 Kompleksitas Algoritma Hill Climbing

Perhitungan kompleksitas algoritma Hill Climbing dapat dilihat pada tabel 4.3.

Tabel 4.3 Kompleksitas Algoritma Hill Climbing

Public Function HillClimbing() C # C#

For i = 1 To (n - 1) - 2 C1 n C1n

Fn2 *= i Next C2 n C2n

nOp = Fn / (2 * Fn2) C3 1 C3

buatOp(n - 1) C4 1 C4

jalurPilih = String.Join("-", titik)& "-0" C5 1 C5

Dim run As Stopwatch = Stopwatch.StartNew() C6 1 C6

For i = 0 To n - 1 C1 n C1n

titikProses(i) = Split(jalurPilih, "-")(i)Next C7 n C7n

(36)

For i = 0 To n - 1 C1 n2 C1n2

jalurProses(i) = String.Join("-", jalur) &

"-0" C11 n2 C11n2

Dim runTime As Integer =

CInt(run.Elapsed.TotalMilliseconds) C16 1 C16

(37)
(38)

BAB 5

KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan yang didapat dari keseluruhan uraian pada bab sebelumnya dan saran yang diharapkan dapat bermanfaat dalam pengembangan penelitian berikutnya.

5.1 Kesimpulan

Berdasarkan hasil studi literatur, analisis, perancangan, implementasi, dan pengujian sistem ini, maka kesimpulan yang didapat adalah sebagai berikut:

1. Hasil pencarian lintasan tercepat dalam pengujian graf algoritma Generate and Test dan algoritma Hill Climbing menghasilkan lintasan dengan bobot paling minimum dan jarak bernilai sama untuk kedua algoritma.

2. Berdasarkan hasil pengujian pada kedua algoritma, algoritma Hill Climbing memiliki nilai running time yang lebih cepat dibandingkan dengan algoritma Generate and Test.

5.2 Saran

Adapun saran-saran yang dapat diberikan penulis untuk pengembangan dan perbaikan sistem ini selanjutnya adalah sebagai berikut:

1. Pada penelitian selanjutnya diharapkan sistem ini dapat dikembangkan pada studi kasus lainnya.

2. Pada penelitian selanjutnya diharapkan pengembang dapat menambahkan fitur yang dapat membantu agar sistem menjadi lebih baik dan dapat digunakan dibasis android.

Gambar

Gambar 3.11 Jarak tempuh objek D ke objek F
Gambar 3.13 Jarak tempuh objek E ke objek F
Gambar 3.15 Jarak tempuh objek G ke objek H
Gambar 3.17 Jarak tempuh objek I ke objek H
+7

Referensi

Dokumen terkait

B).Cemas, penderita penyakit yang memiliki resiko terhadap kecemasan adalah mereka yang takut dan khawatir akan penyakitnya, diisolasi dari keluarga dan kerabat, dan

Pengelolaan keuangan daerah pada dasarnya dimaksudkan untuk menghasilkan gambaran tentang kapasitas atau kemampuan keuangan daerah dalam mendanai penyelenggaraan

Jadi, yang dimaksud dengan tindak pidana merusak kelestarian lingkungan wisata adalah perbuatan yang disengaja, maupun kelalaian yang dilakukan oleh wisatawan

frekuensi tegangan induksi rotor pada saat berputar sebanding dengan slip

Salah satu peralatan tegangan tinggi yang digunakan dalam sistem tenaga listrik. adalah

mempermudah anak-anak usia TK dan PAUD dalam mengenal benda-benda di sekitarnya dalam bahasa inggris dan juga melatih kemampuan kognitif dan motorik anak yang

Pakistan dan India dikenal sebagai penghasil tekstil dunia. Tekstil memerlukan bahan utama yang berasal dari kapuk. Kapuk paling baik dan ditanam dalam jumlah banyak ada di

Hal ini menunjukkan pupuk dalam bentuk curah memiliki ketersediaan hara yang lebih tinggi dari pada pupuk dalam bentuk granul sehingga pertumbuhan tinggi tanaman lebih