• Tidak ada hasil yang ditemukan

SKRIPSI RESTI KURNIAWATI

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI RESTI KURNIAWATI"

Copied!
89
0
0

Teks penuh

(1)

(STUDIKASUS:ANTARLOKASIOBJEKWISATADI

KABUPATENSERDANGBEDAGAI)

SKRIPSI

RESTI KURNIAWATI 131401042

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

PERBANDINGANALGORITMADIJKSTRADANALGORITMASTEEPEST ASCENTHILLCLIMBING DALAMMENENTUKANRUTETERPENDEK

(STUDIKASUS:ANTARLOKASIOBJEKWISATADI KABUPATENSERDANGBEDAGAI)

SKRIPSI

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

RESTI KURNIAWATI 131401042

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(3)
(4)

PERNYATAAN

PERBANDINGANALGORITMADIJKSTRADANALGORITMASTEEPEST ASCENTHILLCLIMBING DALAMMENENTUKAN

RUTETEPENDEK (STUDIKASUS:ANTARLOKASI OBJEKWISATADIKABUPATEN

SERDANGBEDAGAI)

SKRIPSI

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

Medan, Mei 2018

Resti Kurniawati 131401042

(5)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT yang memberikan rahmat, hidayah dan karuniaNya, sehingga penulis dapat menyelesaikan penyusunan skripsi yang berjudul

‘PERBANDINGAN ALGORITMA DIJKSTRA DAN ALGORITMA STEEPEST

ASCENTHILLCLIMBING DALAMMENENTUKANRUTETEPENDEK (STUDI

KASUS : ANTAR LOKASI OBJEK WISATA DI KABUPATEN SERDANG

BEDAGAI)’sebagai syarat untuk memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara. Shalawat dan salam kepada Rasulullah SAW.

Ucapan terima kasih penulis sampaikan 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 Herriyance, S.T, M.Kom selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis.

5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembimbing I yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis.

6. Bapak M. Andri Budiman, S. T. M. Comp. Sc, M.E.,M selaku Dosen Pembanding I yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis.

7. Ibu Sri Melvani Hardi, S. Kom, M. Kom selaku Dosen Pembanding II yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis.

(6)

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

9. Ayahanda Suparjo dan ibunda Nuraini tercinta yang selalu memberikan do’a, kasih sayang, nasehat dan dukungannya kepada penulis.

10. Adinda tersayang Khalimatu Syakdiah, Novira Ramadhani, dan Debby Syafitri yang selalu memberikan do’a, semangat dan canda kepada penulis.

11. “Keluarga Samara”, UKMI Al-Khuwarizmi, Drum Band Sangita Pramuka Akasha, Lingkaran Kecil, Stambuk 2013, Kom C yang selalu memberikan semangat dan inspirasi kepada penulis.

12. Teman – teman yang luar biasa Kak Ani, Sasti, Dessyu, Fauza, Nikmah, Yoga, Fajar, Reza, Fathimah, Poteto, yang telah menjadi teman diskusi dengan segenap do’a dan dorongan.

13. Kakak – kakak tersayang khususnya kak Bidasari, Kak Nur Alimah, kak Zah, kak Na, kak Yayang, kak Uba dan kak Ida untuk do’a dan inspirasinya kepada penulis.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan do’a, bantuan, perhatian, serta dukungan kepada penulis mendapatkan berkat yang melimpah dari Allah SWT. Semoga skripsi ini bermanfaat bagi pribadi, masyarakat dan negara.

Medan, Juli 2018 Penulis

(7)

ABSTRAK

Objek wisata merupakan salah satu tempat yang banyak dikunjungi dalam berekreasi dan melepas penatnya rutinitas sehari – hari bersama teman dan keluarga. Luasnya suatu wilayah dapat memberikan kesulitan dalam menentukan rute terpendek antar lokasi objek wisata. Sistem komputer dapat digunakan untuk melakukan pencarian jarak dan lintasan terpendek dengan cara merepresentasikan objek wisata tersebut kedalam bentuk graf dan diimplementasikan dalam model simulasi. Hal ini diperlukan untuk menghemat waktu dan biaya perjalanan. Apabila wisatawan membutuhkan waktu yang lebih sedikit untuk tiba di lokasi objek wisata maka ada kemungkinan wisatawan akan memiliki banyak waktu untuk menjelajah objek wisata lainnya. Maka dari itu diperlukan juga algoritma, algoritma yang akan digunakan adalah algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing. Algoritma Dijkstra dapat menyelesaikan proses pencarian dengan cara mengunjungi setiap titik pada graf namun bobotnya tidak boleh negatif. Sedangkan algoritma Steepest Ascent Hill Climbing berdasarkan nilai heuristik terbaik yang dimiliki namun solusi yang ditemukan tidak selalu optimum namun yang mendekati nilai optimum. Berdasarkan hasil pencarian rute terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai dengan menggunakan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing menghasilkan rute, total jarak dan running time yang berbeda dimana algoritma Steepest Ascent Hill Climbing memiliki running time yang lebih cepat jika dibandingkan algoritma Dijkstra.

Kata kunci : Objek Wisata, Shortest path, Graf, Algoritma Dijkstra, Algoritma Steepest Ascent Hill Climbing

(8)

COMPARISON OF DIJKSTRA ALGORITHM AND STEEPEST ASCENT

HILL CLIMBING ALGORITHM IN DETERMINING SHORTEST PATH (CASE STUDY: BEETWEN LOCATION OF TOURISM

ATTRACTIONS IN SERDANG BEDAGAI REGENCY) ABSTRACT

Tourist attractions are one of the many places visited in recreation and take off daily routines with friends and family. The extent of a region can provide difficulties in determining the shortest path between tourist attractions sites. Computer systems can be used to perform the shortest distance and shortest path by representing a tourist attractions into a graph and implemented in a simulation model. This is necessary to save time and travel expenses. If tourists need a little time to arrive at the location of a tourist attraction then there is likely tourists will have plenty of time to explore other sights. Therefore, the algorithm is needed, the algorithm used is Dijkstra algorithm and Steepest Ascent Hill Climbing algorithm. Dijkstra's algorithm can complete the search process by visiting every node on the graph but its weight should not be negative. While the Steepest Ascent Hill Climbing algorithm based on the best heuristic value owned but the solution found not always optimal but close to the optimum value. Based on the results of the shortest path search between the tourist attraction locations in Serdang Bedagai District using the Dijkstra algorithm and the Steepest Ascent Hill Climbing algorithm resulted in different routes, the total distance and running time in which the Steepest Ascent Hill Climbing algorithm has faster running times compared to Dijkstra's algorithm.

Keywords: Tourist attractions, Shortest Path, Graph, Dijkstra Algorithm, Steepest Ascent Hill Climbing Algorithm.

(9)

DAFTAR ISI

Halaman

Persetujuan iii

Pernyataan iv

Penghargaan v

Abstrak vii

Abstract viii

Daftar Isi ix

Daftar Tabel xi

Daftar Gambar xii

Daftar Lampiran xiii

Bab 1 Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

Bab 2 Landasan Teori

2.1 Konsep Dasar Graf 7

2.1.1 Sejarah Graf 7

2.1.2 Defenisi Graf 9

2.1.3 Jenis – Jenis Graf 9

2.1.4 Graf Berbobot 11

2.2 Shortest Path 12

2.2.1 Metode Konvensional 13

2.2.2 Metode Heuristik 13

2.3 Algoritma 13

2.4 Algoritma Dijkstra 14

2.5 Algoritma Steepest Ascent Hill Climbing 18

2.6 Kompleksitas Waktu 20

2.7 Penelitian yang Relevan 20

Bab 3 Analisis dan Perancangan Sistem

3.1 Analisis Sistem 22

3.1.1 Analisis Masalah 22

(10)

3.1.2 Analisis Kebutuhan Sistem 24

3.1.2.1 Kebutuhan Fungsional 24

3.1.2.2 Kebutuhan Non-Fungsional 24

3.1.3 Analisis Proses 25

3.1.4 Pseudocode 26

3.1.4.1 Pseudocode Algoritma Dijkstra 27

3.1.4.2 Pseudocode Algoritma Steepest Ascent Hill Climbing 28

3.2 Perancangan Sistem 28

3.2.1 Use Case Diagram 29

3.2.2 Activity Diagram 30

3.2.3 Sequence Diagram 31

3.2.4 Flowchart 31

3.2.4.1 Flowchart Sistem 32

3.2.4.2 Flowchart Algoritma Dijkstra 33

3.2.4.3 Flowchart Algoritma Steepest Ascent Hill Climbing 34

3.2.5 Mock-up 34

3.2.5.1 Halaman Awal 35

3.2.5.2 Halaman Rute Terpendek 35

3.2.5.3 Halaman Bantuan 37

3.2.5.4 Halaman Tentang Sistem 38

Bab 4 Implementasi dan Pengujian

4.1 Implementasi 39

4.1.1 Halaman Awal 39

4.1.2 Halaman Rute Terpendek 40

4.1.3 Halaman Bantuan 41

4.1.4 Halaman Tentang Sistem 42

4.2 Pengujian 42

4.2.1 Pengujian Proses Implementasi 43

4.2.2 Pengujian Proses Algoritma Dijkstra 43

4.2.2.1 Perhitungan Manual Algortima Dijkstra 44 4.2.3 Pengujian Proses Algoritma Steepest Ascent Hill Climbing 47 4.2.3.1 Perhitungan Manual Algoritma SAHC 48

4.3 Kompleksitas 52

4.3.1 Kompleksitas Algoritma Dijkstra 52

4.3.2 Kompleksitas Algoritma Steepest Ascent Hill Climbing 53

4.4 Pengujian Waktu Proses 54

4.4.1 Algoritma Dijkstra 54

4.4.2 Algoritma Steepest Ascent Hill Climbing 56 4.4.3 Perbandingan Total Jarak dan Waktu Proses 57 Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 59

5.2. Saran 59

Daftar Pustaka 60

(11)

DAFTAR TABEL

Halaman

Tabel 2.1 Iterasi 0 dan 1 16

Tabel 2.2 Iterasi 2 16

Tabel 2.3 Iterasi 3 17

Tabel 2.4 Iterasi 4 dan 5 17

Tabel 3.1 Keterangan Gambar Halaman Awal 35

Tabel 3.2 Keterangan Gambar Halaman Rute Terpendek 36

Tabel 3.3 Keterangan Gambar Halaman Bantuan 37

Tabel 3.4 Keterangan Gambar Halaman Tentang Sistem 38

Tabel 4.1 Daftar Lokasi Objek Wisata 44

Tabel 4.2 Hasil Perhitungan Manual Algoritma Dijkstra 46

Tabel 4.3 Nilai Heuristik h(n) 48

Tabel 4.4 Kompleksitas Algoritma Dijkstra 52

Tabel 4.5 Kompleksitas Algoritma Steepest Ascent Hill Climbing 53 Tabel 4.6 Hasil Pengujian Waktu Proses Algoritma Dijkstra 54 Tabel 4.7 Hasil Pengujian Waktu Proses Algoritma Steepest Ascent Hill Climbing 56 Tabel 4.8 Hasil Perbandingan Algoritma Dijkstra dengan Algoritma SAHC 57

(12)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Representasi Jembatan Konigsberg 8

Gambar 2.2 Graf Representasi Jembatan Konigsberg 8

Gambar 2.3 Graf Sederhana 9

Gambar 2.4 Graf Ganda 10

Gambar 2.5 Graf Semu 10

Gambar 2.6 Graf Tidak Berarah 11

Gambar 2.7 Graf Berarah 11

Gambar 2.8 Graf Berbobot 12

Gambar 2.9 Soal Graf 1 15

Gambar 2.10 Lintasan Terpilih 17

Gambar 2.11 Soal Graf 2 19

Gambar 2.12 Hasil Pencarian 19

Gambar 3.1 Diagram Ishikawa Masalah Penelitian 23

Gambar 3.2 Diagram Umum 26

Gambar 3.3 Pseudocode Algoritma Dijkstra 27

Gambar 3.4 Pseudocode Algoritma Steepest Ascent Hill Climbing 28

Gambar 3.5 Use-case Diagram Sistem 29

Gambar 3.6 Activity Diagram Sistem 30

Gambar 3.7 Sequence Diagram Sistem 31

Gambar 3.8 Flowchart Sistem 32

Gambar 3.9 Flowchart Algoritma Dijkstra 33

Gambar 3.10 Flowchart Algoritma Steepest Ascent Hill Climbing 34

Gambar 3.11 Halaman Awal 35

Gambar 3.12 Halaman Rute Terpendek 36

Gambar 3.13 Halaman Bantuan 37

Gambar 3.14 Halaman Tentang Sistem 38

Gambar 4.1 Halaman Awal 39

Gambar 4.2 Halaman Rute Terpendek 40

Gambar 4.3 Halaman Graf Lokasi Objek Wisata 41

Gambar 4.4 Halaman Bantuan 41

Gambar 4.5 Halaman Tentang Sistem 42

Gambar 4.6 Pengujian Proses Implementasi 43

Gambar 4.7 Pengujian Proses Algoritma Dijkstra 44

Gambar 4.8 Graf Lokasi Objek Wisata di Kabupaten Serdang Bedagai 45 Gambar 4.9 Pengujian Proses Algoritma Steepest Ascent Hill Climbing 47

Gambar 4.10 Pencarian Pertama 49

Gambar 4.11 Pencarian Kedua 50

(13)

Gambar 4.14 Grafik Waktu Proses Algoritma Steepest Ascent Hill Climbing 56

Gambar 4.15 Grafik Perbandingan Total Jarak 57

Gambar 4.16 Grafik Perbandingan Waktu Proses 58

Gambar 4.17 Grafik Perbandingan Waktu Proses Rata – Rata 58

(14)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Lampiran 2 Curriculum Vitae B-1

(15)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Menurut KBBI (Kamus Besar Bahasa Indonesia) wisata adalah bepergian bersama-sama (untuk memperluas pengetahuan, bersenang-senang, dsb); bertamasya; piknik (Pusat Bahasa Departemen Pendidikan Nasional, 2008). Dan merujuk Undang-Undang RI Nomor 10 Tahun 2009 tentang Kepariwisataan pasal 1 ayat 1 menyatakan wisata adalah kegiatan perjalanan yang dilakukan oleh seseorang atau sekelompok orang dengan mengunjungi tempat tertentu untuk tujuan rekreasi, pengembangan pribadi, atau mempelajari keunikan daya tarik wisata yang dikunjungi dalam jangka waktu sementara.

Serdang Bedagai merupakan kabupaten pemekaran dari Kabupaten Deli Serdang yang beribukta Sei Rampah sesuai dengan UU RI Nomor 36 Tahun 2003 pada tanggal 18 Desember 2003. Potensi utama dari Kabupaten Serdang Bedagai dalam bidang Pariwisata adalah letak geografisnya serta termasuk jalur lintas timur Sumatera yang membuatnya mudah di jangkau. Kabupaten Serdang Bedagai menawarkan pesona berbagai objek wisata yang menakjubkan dan terus melakukan pengembangan dalam pariwisata baik berupa objek wisata bahari (seperti Pantai Romance Bay dan Mangrove Eco Tour), wisata alam (seperti Air Terjun Sampuran Widuri dan Ancol Arung Jeram), wisata budaya (seperti Pura Penataran Dharmaraksaka Kampung Bali), wisata heritage (seperti Mesjid Kerajaan Serdang, Mesjid Kerajaan Bedagai, Replika Istana Sultan Serdang), dan wisata kuliner (seperti Dodol Pasar Bengkel). (Sumber : http://indonesia.serdangbedagaikab.go.id/content/2007/5/potensi+pariwisata.html).

(16)

Kabupaten Serdang Bedagai memiliki luas wilayah 1.900,22 km2. Luasnya suatu wilayah dapat menyebabkan wisatawan kebingungan atau kesulitan dalam menentukan rute terpendek dari satu lokasi objek wisata ke lokasi objek wisata lainnya.

Para wisatawan cenderung untuk memilih rute terpendek. Posisi awal wisatawan ditentukan oleh lokasi wisatawan berada dan diasumsikan bahwa wisatawan tersebut telah berada di salah satu lokasi objek wisata.

Shortest path adalah pencarian rute atau jalur yang terpendek antara vertex / node yang ada pada graf, dengan menghasilkan bobot yang terkecil. Pencarian rute atau jalur yang terpendek ini telah diterapkan dalam berbagai bidang untuk mengoptimasi kinerja suatu sistem, baik untuk meminimalkan biayanya atau mempercepat prosesnya (Purwananto et al. 2005). Apabila wisatawan membutuhkan waktu yang lebih sedikit untuk tiba di lokasi objek wisata maka ada kemungkinan wisatawan akan memiliki banyak waktu untuk menjelajah objek wisata lainnya (Harahap, 2017). Dalam menentukan rute terpendek (shortest path) antar lokasi objek wisata tersebut penulis menggunakan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing.

Algoritma adalah runtunan logis yang menjelaskan tahapan – tahapan penyelesaian masalah yang dirangkum secara sistematis untuk menyelesaikan suatu masalah (Munir, 2012). Algoritma Dijkstra dipilih karena dapat menyelesaikan pencarian jalur terpendek dari satu simpul ke semua simpul yang ada pada suatu graf berarah dengan bobot dan bobot tersebut tidak bernilai negatif . Sedangkan algoritma Steepest Ascent Hill Climbing adalah hasil dari variasi dalam pendakian bukit algoritma Simple Hill Climbing. Gerakan pencarian akan dicari berdasarkan nilai heuristik terbaik yang dimiliki (Kusumadewi et al. 2005). Secara harafiah steepest bermakna paling tinggi sedangkan ascent bermakna kenaikan (Zemma et al. 2015). Berdasarkan hasil penelitian Potdar, G.P dan Thool, R.C pada tahun 2014 deketahui bahwa algoritma tersebut dapat ditemukan solusinya.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas, maka rumusan masalah yang akan diteliti adalah : 1. Bagaimana cara kerja pencarian rute terpendek menggunakan algoritma Dijkstra

dan algoritma Steepest Ascent Hill Climbing.

(17)

2. Bagaimana perbandingan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing dalam menentukan rute terpendek (shortest path) dari sisi waktu proses dan total jarak yang dihasilkan.

1.3 Batasan Masalah

Dalam hal mengimplementasikan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing terdapat beberapa batasan masalah yaitu :

1. Dalam kasus ini yang diteliti adalah graf berarah terhubung ( directed connected graph ) yaitu graf yang setiap sisinya memiliki bobot dengan menggunakan vertex yang sudah ditentukan.

2. Bobot yang digunakan adalah jarak antar lokasi objek wisata. Pengambilan data bobot jarak tersebut menggunakan bantuan Google Maps.

3. Aplikasi ini menetapkan titik asal merupakan salah satu lokasi objek wisata di Kabupaten Serdang Bedagai yang sudah ditentukan.

4. Shortest path ini hanya berlaku pada beberapa lokasi objek wisata di Kabupaten Serdang Bedagai dan titik lokasi yang akan dikunjungi sebanyak dua puluh titik destinasi objek wisata di Kabupaten Serdang Bedagai, yaitu :

a. Pantai Romance Bay.

b. Mesjid Kerajaan Serdang ( Mesjid Sultan Sulaimaniyah ).

c. Taman Rekreasi Alam Sari.

d. Pantai Cermin Theme Park.

e. Replika Istana Sultan Serdang.

f. Romance Padi.

g. Rahmat Zoo & Park.

h. Pura Penataran

Dharmaraksaka Kampung Bali.

i. Pantai Sri Mersing.

j. Dodol Deli Pasar Bengkel.

k. Pantai Cemara Kembar.

l. Eco Tour Mangrove

m. Pantai Sialang Buah.

n. Roti Kacang Rajawali.

o. Ancol Arung Jeram Sipispis.

p. Pantai Sentang.

q. Air Terjun Sampuran Widuri.

r. Pantai Bogak Indah

s. Mesjid Kerajaan Bedagai ( Mesjid Jami’ Ismailiyah ).

t. Pantai Bagan Kuala.

(18)

5. Jalan yang ditempuh adalah jalan – jalan utama di Kabupaten Serdang Bedagai dan tidak membahas waktu dan kecepatan alat transportasi, kondisi jalan, kondisi lalu- lintas dan lampu lalu-lintas (traffic light) dari lokasi asal ke lokasi tujuan serta diasumsikan sebagai jalan dua arah.

6. Perhitungan dilakukan dengan membandingkan kompleksitas Big Ɵ ( theta ) dan waktu proses dengan satuan waktu yang digunakan adalah Milisekon serta membandingkan hasil ( result ) masing-masing algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing.

7. Tidak membahas sistem informasi geografis.

8. Aplikasi ini offline dan perangkat yang digunakan dalam perancangan aplikasi adalah SharpDevelop dengan menggunakan C# sebagai bahasa pemrograman.

1.4 Tujuan Penelitian

Adapun tujuan dari penelitian ini adalah untuk mengimplementasikan dan membandingkan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing dalam menentukan rute terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai.

1.5 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah diharapkan dapat memudahkan wisatawan dalam menentukan rute terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai dan mengetahui algoritma yang lebih efektif antara algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing untuk pencarian tersebut.

1.6 Metode Penelitian

Metode penelitian yang dilakukan dalam penelitian ini adalah : 1. Studi Pustaka

Pada tahap ini penelitian dimulai dengan peninjauan pustaka berupa buku – buku, artikel – artikel ilmiah, dan penelitian – penelitian yang didokumentasikan dalam bentuk jurnal yang berhubungan dengan Graf, Shortest Path, Dijkstra, Steepest

(19)

2. Analisis Data

Tahap ini berkaitan dengan batasan masalah, pada tahap ini dilakukan analisa mengenai apa saja yang dibutuhkan dalam penelitian penentuan rute terpendek antar lokasi objek wisata dengan menggunakan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing di Kabupaten Serdang Bedagai.

3. Perancangan Sistem

Pada tahap ini dilakukan perancangan desain tampilan GUI (Graphic User Interface), UML (Unified Modeling Language), dan lain – lain. Proses perancangan ini berdasarkan pada batasan masalah dari penelitian ini.

4. Implementasi Sistem

Pada tahap ini perancangan sistem dengan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing diimplementasikan dengan tools SharpDevelop 4.3 menggunakan bahasa pemrograman C#.

5. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap prototipe / sistem yang telah diimplementasikan.

6. Dokumentasi Sistem

Pada tahap ini dilakukan pendokumentasian selama penelitian, mulai dari tahap awal sampai kepada pengujian sistem, untuk selanjutnya dibuat dalam bentuk laporan penelitian (skripsi).

1.7 Sistematika Penulisan

Sistematika penulisan skripsi ini terdiri dari beberapa bagian utama, yaitu : BAB 1 PENDAHULUAN

Bab ini menjelaskan perihal latar belakang penelitian judul skripsi

“Perbandingan Algoritma Dijkstra dan Algoritma Steepest Ascent Hill Climbing Dalam Menentukan Rute Terpendek (Studi Kasus : Antar Lokasi Objek Wisata di Kabupaten Serdang Bedagai)”. Rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.

(20)

BAB 2 LANDASAN TEORI

Bab ini berisi tentang penjelasan mengenai teori graf, shortest path, algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing dalam dan sebagainya.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini menjelaskan uraian analisis terhadap masalah penelitian dan perancangan terhadap sistem yang akan dibangun seperti terdiri dari flowchart, GUI (Graphic User Interface) dan UML (Unified Modeling Language).

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi implementasi algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing dalam menentukan rute terpendek (studi kasus : antar lokasi objek wisata di Kabupaten Serdang Bedagai). Selanjutnya dilakukan pengujian terhadap sistem tersebut dan pembahasan hasil pengujian beserta analisisnya.

BAB 5 KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari keseluruhan uraian dari bab-bab sebelumnya dan saran berdasarkan hasil pengujian yang diperoleh.

Diharapkan hal tersebut dapat bermanfaat dalam pengembangan selanjutnya.

(21)

BAB 2

LANDASAN TEORI

2.1 Konsep Dasar Graf

Graf digunakan untuk menggambarkan objek – objek diskrit dengan cara menyatakan objek tersebut sebagai noktah, bulatan atau titik dan hubungan antara objek – objek tersebut dinyatakan dengan garis (Munir, 2012). Representasi graf bertujuan agar penggambaran terhadap objek-objek dapat lebih mudah dipahami (Siang, 2009). Graf dapat diimplementasikan dalam banyak bidang (kehidupan sehari – hari) seperti pengaturan lampu lalu lintas, travelling salesmen problem, pencarian rute terpendek dan lain-lain (Mediputra, 2010). Bahkan peta adalah sebuah graf, dimana kota adalah objek yang dinyatakan dengan bulatan dan jalan dinyatakan dengan garis (Munir, 2012).

2.1.1 Sejarah Graf

Menurut catatan sejarah, pada tahun 1736 adalah pertama kali penggunaan graf yang diterapkan pada penyelesaian masalah jembatan Königsberg. Kota Königsberg berada di sebelah timur negara bagian Prussia, Jerman dan sekarang bernama Kaliningrad, dimana di kota tersebut terdapat sungai Pregal yang mengalir mengitari pulau Kneiphof lalu bercabang menjadi dua buah anak sungai (Iryanto, 2003). Ada tujuh jembatan yang menghubungkan daratan yang dipisahkan oleh sungai tersebut sebagaimana direpresentasikan pada Gambar 2.1.

(22)

Gambar 2.1 Representasi Jembatan Königsberg (Sumber : Rossen, 2003)

Masalah jembatan Königsberg adalah apakah mungkin melalui ketujuh buah jembatan tersebut masing – masing tepat satu kali, dan kembali ke tempat semula. Pada tahun 1736, seorang matematikawan asal Swiss bernama Leonhard Euler adalah orang pertama yang membuktikan bahwa perjalanan seperti itu tidak mungkin dapat dilakukan (Iryanto, 2003). Pembuktian tersebut dengan cara membuat model masalah ini kedalam graf. Daratan dinyatakan sebagai titk yang disebut simpul (vertex) dan jembatan dinyatakan sebagai garis yang disebut sisi (edge). Setiap titik diberi label A, B, C, dan D (Munir, 2012). Graf yang dimodelkan oleh Euler diperlihatkan pada Gambar 2.2.

Gambar 2.2 Graf Representasi Jembatan Königsberg ( Sumber : Munir, 2012)

Jawaban yang diungkapkan Euler adalah orang tidak mungkin melalui ketujuh jembatan tersebut masing – masing satu kali dan kembali lagi ke tempat asal keberangkatan jika derajat setiap simpul tidak seluruhnya genap (Iryanto, 2003). Hal ini dapat diperlihatkan pada Gambar 2.2 dimana vertex A bersisian dengan 5 edge sedangkan vertex B, C, dan D bersisian dengan 3 edge.

(23)

2.1.2 Defenisi Graf

Suatu graf sederhana G adalah suatu pasangan terurut ( V, E ), dimana V disebut vertex yaitu suatu himpunan berhingga yang tidak kosong dan elemen – elemennya dan E disebut edge yaitu suatu himpunan garis yang menghubungkan dua elemen subset dari V (Iryanto, 2003). Secara matematis, Graf G didefinisikan sebagai pasangan himpunan ( V, E ) dapat ditulis dengan notasi G = ( V, E ) dimana dalam hal ini V adalah himpunan tidak – kosong dari simpul – simpul ( vertices atau node ) dan E adalah himpunan sisi ( edge atau arc ) untuk menghubungkan sepasang simpul (Munir, 2012). Maka V tidak boleh kosong, sedangkan E boleh kosong.

2.1.3 Jenis – Jenis Graf

Graf dapat dikelompokkan menjadi beberapa jenis hal ini berdasarkan ada tidaknya sisi ganda, jumlah simpul, atau orientasi arah pada sisi (Munir, 2012). Berdasarkan ada tidaknya sisi ganda atau loop pada suatu graf, maka secara umum graf dapat digolongkan menjadi :

 Graf sederhana (simple graph).

Graf sederhana adalah graf yang tidak mengandung sisi ganda maupun gelang (loop)(Munir, 2012). Pada Gambar 2.3 adalah contoh graf sederhana dengan himpunan simpul V dan himpunan sisi E adalah :

V = { 1, 2, 3, 4, 5, 6, 7 }

E = { (1,4), (2,4), (3,4), (4,5), (4,7), (5,6), (6,7) }

Gambar 2.3 Graf Sederhana

(24)

 Graf tak-sederhana (unsimple-graph)

Graf tak-sederhana adalah graf yang mengandung sisi ganda atau loop. Ada dua

macam graf tak-sederhana yaitu graf ganda ( multigraph ) dan graf semu ( pseudograph ) (Munir, 2012). Graf ganda adalah graf yang mengandung sisi

ganda seperti pada Gambar 2.4 dengan himpunan simpul V dan himpunan sisi E adalah :

V = { 1, 2, 3, 4, 5, 6, 7 }

E = { (1,2), (2,4), (2,4), (2,3), (3,7), (3,5), (1,5), (1,7), (5,6), (6,7) } = { e1, e2, e3, e4, e5, e6, e7, e8, e9, e10 }

Gambar 2.4 Graf Ganda

Graf semu adalah graf yang mengandung loop (Munir, 2012). Pada Gambar 2.5 adalah contoh graf semu dengan himpunan simpul V dan himpunan sisi E adalah : V = { 1, 2, 3, 4, 5 }

E = { (1,5), (1,1), (2,5), (2,5), (1,5), (4,5), (4,5), (3,5), (3,5) } → loop = { e1, e2, e3, e9, e4, e5, e6, e7, e8 }

Gambar 2.5 Graf semu

(25)

Dilihat dari orientasi arah pada sisinya, maka secara umum graf dikelompokkan menjadi dua yaitu :

1. Graf tidak berarah (undirected graph) adalah graph yang sisinya tidak mempunyai orientasi arah. Pada graf ini, urutan pasangan simpul yang dihubungkan oleh sisi tidak diperhatikan (Munir, 2012). Contoh graf tidak berarah dapat dilihat pada Gambar 2.6.

Gambar 2.6 Graf tidak berarah (Sumber : Munir, 2012)

2. Graf berarah (directed graph atau digraph) adalah graf yang setiap sisinya diberikan orientasi arah. Pada graf berarah, (u,v) dan (v,u) menyatakan dua buah busur yang berbeda, dengan kata lain (u,v) ≠ (v,u). Untuk busur (u,v), simpul u dinamakan simpul asal (initial vertex) dan simpul v dinamakan simpul terminal (terminal vertex) (Munir, 2012). Contoh graf berarah dapat dilihat pada Gambar 2.7.

Gambar 2.7 Graf berarah (Sumber : Munir, 2012)

2.1.4 Graf Berbobot (Weighted Graph)

Graf berbobot adalah graf yang setiap sisinya memiliki harga (bobot). Bobot pada tiap sisi bergantung pada masalah yang dimodelkan sehingga nilainya dapat berbeda-beda.

Bobot tersebut dapat menyatakan jarak antara dua buah kota, waktu tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi lain (dalam jaringan

(26)

komputer), ongkos produksi dan sebagainya (Munir, 2012). Contoh graf berbobot dapat dilihat ada Gambar 2.8.

Gambar 2.8 Graf berbobot

2.2 Shortest Path

Shortest Path adalah pencarian lintasan, rute, jangkauan, atau pun jalur yang akan dilalui dari satu titik ke titik lainnya untuk menentukan lintasan dengan nilai paling minimun. Penyelesaian untuk hal tersebut adalah dengan merepresentasikannya ke dalam bentuk graf. Bentuk graf representasinya adalah dengan membuat simpul dalam graf sebagai representasi objek masalah dan membuat representasi hubungan antar objek dengan garis yang menghubungkan simpul – simpul tersebut (Sutojo et al. 2011).

Graf yang akan digunakan adalah graf berbobot ( weighted graph ) yang memiliki nilai atau bobot. Semua bobot diasumsikan bernilai positif. Dalam studi kasus ini, bobot pada sisi graf menyatakan jarak antar lokasi objek wisata di Kabupaten Serdang Bedagai.

Cara algoritmis yang umum di pakai untuk menyelesaikan permasalahan diatas adalah dengan menggunakan optimasi teknik pencarian berupa metode konvensional dan metode heuristik (Lubis, 2009). Untuk mengukur peforma metode pencarian, terdapat empat kriteria yang dapat dilakukan (Russel et al. 1995), yaitu :

1. Completeness. Apakah metode tersebut menjamin penemuan solusi jika solusinya memang ada ?

2. Time complexity. Berapa lama waktu yang diperlukan untuk menemukan solusi tersebut ?

3. Space complexity. Berapa banyak memori yang diperlukan ?

4. Optimality. Apakah metode tersebut menjamin menemukan solusi terbaik ?

(27)

2.2.1 Metode Konvensional

Metode konvensional adalah metode yang menggunakan perhitungan matematika dalam penerapannya (Lubis, 2009). Metode konvensional yaitu berupa algoritma yang menggunakan perhitungan matematis biasa. Pada metode ini hanya membandingkan jarak masing – masing node untuk kemudian mencari jarak dengan bobot terpendek (Mutakhiroh et al. 2007). Beberapa diantaranya adalah algoritma Dijkstra, algoritma Floyd – Warshall, dan algoritma Bellman – Ford.

2.2.2 Metode Heuristik

Metode heuristik merupakan bagian bidang dari kecerdasan buatan yang digunakan untuk melakukan pencarian (Mutakhiroh et al. 2007). Asal mula kata heuristik berasal dari kata kerja bahasa Yunani, yaitu heurisken yang artinya ‘mencari’ atau

‘menemukan’. Proses pencarian pada metode ini dilakukan dengan selektif dan dapat memberikan panduan untuk proses pencarian berikutnya yang memiliki kemungkinan sukses paling besar (Berlianty et al. 2010). Beberapa diantaranya adalah algoritma Genetika, algoritma A*, algoritma Simple Hill Climbing dan algoritma Steepest – Ascent Hill Climbing.

2.3 Algoritma

Ditelaah dari asal usul kata, kata algorism berarti proses menghitung dengan angka Arab. Kata tersebut berasal dari nama penulis buku Arab yang terkenal bernama Abu Ja’far Muhammad Ibnu Musa al-Khuwarizmi dimana orang barat membaca al- Khuwarizmi menjadi algorism. Beliau menulis buku yang berjudul Kitab al jabar wal- muqabala, yang artinya “Buku Pemugaran dan Pengurangan” (the book of restoration and reduction). Dari judul buku itu juga merupakan asal kata “aljabar” (algebra).

Perubahan kata algorism menjadi algorithm terjadi karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran -sm berubah menjadi thm. Lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma (Munir, 2014).

(28)

Berikut beberapa defenisi Algoritma berdasarkan beberapa sumber, yaitu : 1. Menurut Kamus Besar Bahasa Indonesia (KBBI), Algoritma adalah urutan logis

pengambilan suatu keputusan dalam memecahkan suatu permasalahan (Pusat Bahasa Depertemen Pendidikan Nasional, 2008).

2. Algoritma adalah runtunan logis yang menjelaskan tahapan – tahapan penyelesaian masalah yang dirangkum secara sistematis untuk menyelesaikan suatu masalah (Munir, 2012).

3. Algoritma adalah ilmu yang mempelajari tentang bagaimana cara menyelesaikan suatu masalah berdasarkan urutan langkah-langkah terbatas yang disusun secara sistematis dan menggunakan bahasa yang logis dengan tujuan tertentu (Barakbah et al. 2013).

Menurut Donald E. Knuth (Knuth, 1997) algoritma yang baik dan benar harus memiliki karakteristik sebagai 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 (ambigious).

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

2.4 Algoritma Dijkstra

Algoritma Dijkstra yang merupakan salah satu dari banyaknya algoritma shortest path yang populer. Edsger W. Dijkstra adalah ilmuwan komputer yang merumuskan algoritma Dijkstra pada tahun 1956 dan mempublikasikannya pada tahun 1959.

Algoritma Dijkstra menyelesaikan masalah pencarian sebuah shortest path dari titik satu ke titik lainnya dimana graf tersebut harus memiliki bobot yang bernilai positif (Popa et al. 2016). Sehingga apabila graf tersebut memiliki bobot yang bernilai negatif maka lintasan tersebut tidak dapat dilintasi dan penyelesaiannya berupa infiniti

(29)

terkecil (Pandey et al. 2016), bobot tersebut merupakan bobot yang dimiliki tiap edge (Cruz et al. 2016). Keuntungan algoritma Dijkstra ialah lebih efisien dan dapat digunakan untuk memproses graf dikarenakan hanya memproses tiap titik pada graf sekali. Jumlah titik menentukan tingkat kecepatan menemukan solusi dari algoritma Dijkstra.

Algoritma Dijkstra adalah sebagai berikut :

1. Pada awalnya pilih node dengan bobot yang terendah dari node yang belum terpilih, lalu diinisiasikan dengan “ ∞”. Bentuk tabel yang terdiri dari node, status, bobot dan predecessor. Lengkapi kolom bobot yang diperoleh dari jarak node sumber ke semua node yang langsung terhubungan dengan node sumber tersebut.

2. Jika node sumber ditemukan maka tetapkan sebagai node terpilih.

3. Tetapkan node terpilih dengan label permanen dan perbaharui node yang langsung terhubung.

4. Tentukan node sementara yang terhubung pada node yang sudah terpilih sebelumnya dan merupakan bobot terkecil dilihat dari tabel dan tentukan sebagai node terpilih berikutnya.

5. Jika node yang terpilih = node tujuan, maka kumpulan node terpilih merupakan rangkaian yang menunjukan lintasan terpendek.

Contoh :

Tentukanlah jalur terpendek dari graf yang ditunjukkan pada Gambar 2.9 dengan titik asal = A, dan titik tujuan = E.

Gambar 2.9 Soal Graf 1

(30)

Langkah 1 :

- Buatlah tabel untuk hasil lintasan dengan keterangan i ( iterasi ), q ( titik yang belum

dikunjungi), s ( titik yang sudah di kunjungi ), c ( current state ), dan titik A, B, C, D,E seperti pada Tabel 2.1.

- i = 0 adalah keadaan awal.

- Pada i = 1 dapat dilihat pada Tabel 2.1, A→B = 4, A→C = tidak memiliki lintasan, A→D = 8, dan A→E = tidak memiliki lintasan. Lintasan A→B adalah lintasan dengan bobot terendah dengan bobot = 4.

- Maka tentukan B sebagai current state untuk i = 2.

Tabel 2.1 Iterasi 0 dan 1

i q s c A B C D E

0 ABCDE - - ∞,- ∞,- ∞,- ∞,- ∞,-

1 BCDE A A 4,A ∞,A 8,A ∞,A

Langkah 2 :

- i = 1 adalah keadaan awal.

- Pada i = 2 dapat dilihat pada Tabel 2.2, B→C = 3 + 4 = 7, B→D = tidak memiliki lintasan, maka tetap menggunakan nilai 8 dari state A, dan B→E = tidak memiliki lintasan. Lintasan B→C adalah lintasan dengan bobot terendah dengan bobot = 7.

- Maka tentukan C sebagai current state untuk i = 3.

Tabel 2.2 Iterasi 2

i q s c A B C D E

0 ABCDE - - ∞,- ∞,- ∞,- ∞,- ∞,-

1 BCDE A A 4,A ∞,A 8,A ∞,A

2 CDE AB B 7,B 8,A ∞,A

Langkah 3 :

- i = 2 adalah keadaan awal.

- Pada i = 3 dapat dilihat pada Tabel 2.3, C→D = 4 + 3 + 4 = 11 (penambahan bobot sebelumnya). Namun bobot 11 tersebut lebih besar dari keadaan sebelumnya yang berbobot 8 (8,A) maka bobot yang ditetapkan adalah bobot terendah yaitu 8,A.

(31)

C→E = tidak memiliki lintasan. Lintasan C→D adalah lintasan dengan bobot terendah dengan bobot = 8.

- Maka tentukan D sebagai current state untuk i = 4.

Tabel 2.3 Iterasi 3

i q s c A B C D E

0 ABCDE - - ∞,- ∞,- ∞,- ∞,- ∞,-

1 BCDE A A 4,A ∞,A 8,A ∞,A

2 CDE AB B 7,B 8,A ∞,A

3 DE ABC C 8,A ∞,A

Langkah 4 :

- i = 3 adalah keadaan awal.

- Pada i = 4 dapat dilihat pada Tabel 2.4, D→E = 8 + 7 = 15. Maka tentukan E sebagai current state untuk i = 5.

- Pada i = 5, E adalah titik tujuan.

- Berdasarkan Tabel 2.4 diketahui bahwa untuk titik awal = A dan titik tujuan = E harus melalui lintasan seperti pada Gambar 2.10 dengan total bobot = 15.

Tabel 2.4 Iterasi 4 dan 5

i q S c A B C D E

0 ABCDE - - ∞,- ∞,- ∞,- ∞,- ∞,-

1 BCDE A A 4,A ∞,A 8,A ∞,A

2 CDE AB B 7,B 8,A ∞,A

3 DE ABC C 8,A ∞,A

4 E ABCD D 15,D

5 - ABCDE E 15,D

Gambar 2.10 Lintasan Terpilih

(32)

2.5 Algoritma Steepest Ascent Hill Climbing

Steepest Ascent Hill Climbing memiliki kemiripan dengan algoritma Simple Hill Climbing, namun gerakan pencarian tidak dimulai dari posisi paling kiri. Gerakan pencarian selanjutnya ditentukan berdasarkan nilai heuristik terbaik. Dalam hal ini urutan penggunaan operator tidak menentukan penemuan solusi (Kusumadewi et al.

2005). Bedanya adalah Simple Hill Climbing menentukan titik selanjutnya dengan membandingkan titik saat ini dengan satu successor (titik persimpangan) dan successor pertama yang lebih baik akan dipilih menjadi titik selanjutnya. Sedangkan Steepest Ascent Hill Climbing, akan membandingkan titik selanjutnya dengan semua successor yang ada di dekatnya sehingga dalam Steepest Ascent Hill Climbing titik selanjutnya adalah successor yang paling baik dan mendekati tujuan (Zemma et al. 2015).

Algoritma Steepest Ascent Hill Climbing adalah sebagai berikut :

1. Mulai dari keadaan awal untuk melakukan pengujian. Jika merupakan tujuan, maka berhenti. Jika tidak lanjutkan dengan keadaan sekarang sebagai keadaan awal.

2. Ulangi hingga solusi atau tujuan ditemukan atau hingga iterasi tidak memberikan perubahan pada keadaan sekarang :

a. Tentukan SUCC sebagai nilai heuristik terbaik dari successor – successor.

b. Lakukan untuk masing – masing node yang digunakan oleh keadaan sekarang:

i. Gunakan node tersebut dan bentuk keadaan baru.

ii. Evaluasi keadaan terbaru tersebut. Jika merupakan tujuan maka keluar. Jika tidak, maka bandingkan nilai heuristiknya dengan SUCC. Jika lebih baik, tetapkan nilai heuristik keadaan baru tersebut sebagai SUCC. Namun jika tidak lebih baik, maka nilai SUCC tidak berubah.

c. Jika SUCC lebih baik baik dari nilai heuristik keadaan sekarang, maka ubah node SUCC, menjadi keadaan sekarang.

Pada Steepest Ascent Hill Climbing ada 3 masalah yang mungkin terjadi yaitu : 1. Local Optimum, yaitu keadaan dimana semua tetangga lebih buruk atau sama

dengan keadaan dirinya.

2. Plateu, yaitu keadaan dimana semua tetangga sama dengan keadaan dirinya.

(33)

3. Ridge, yaitu local optimum yang lebih disebabkan karena ketidakmampuan menggunakan 2 operator sekaligus.

Gambar 2.11 Soal Graf 2

Misalkan pada contoh kasus TSP ada 4 kota dengan jarak antara tiap – tiap kota seperti terlihat pada Gambar 2.11. Maka pencarian dengan Steepest Ascent Hill Climbing ini dapat dilihat pada Gambar 2.12. Terlihat bahwa, keadaan awal, lintasan terpiliah adalah ABCD(19). Pada level pertama, akan memilih nilai heuristik terbaik dari keenam succesor yang ada, yaitu BACD(17), ACBD(12), ABDC(18), DBCA(12), ADCB(18) atau CBAD(20). Maka yang terpilih adalah ACBD, karena memiliki nilai heuristik paling kecil (=12). Selanjutnya dari ACBD ini akan dipilih nilai heuristik terbaik dari succesor yaitu CABD(15), ABCD(19), ACBD(13), DCBA(19), ADBC(16) atau BCAD(15). Ternyata diketahui dari keenam succesor tersebut memiliki nilai heuristik yang lebih besar dibanding dengan ACBD. Sehingga tidak akan ada perubahan nilai keadaan (tetap ACBD). Hasil yang diperoleh, lintasannya adalah ACBD(12) (Kusumadewi et al. 2005).

Gambar 2.12 Hasil Pencarian (Kusumadewi et al. 2005)

(34)

2.6 Kompleksitas Waktu

Algoritma yang dapat dikatakan sebagai algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah waktu dan ruang (space) memori yang dibutuhkan untuk menjalankannya (meminimumkan kebutuhan waktu dan ruang). Kebutuhan waktu dan ruang suatu algoritma bergantung pada ukuran masukan jumlah data yang diproses yang disimbolkan dengan n. (Munir, 2012).

Terminologi yang diperlukan dalam membahas kompleksitas waktu dan kompleksitas ruang suatu algoritma adalah :

1. Ukuran besar masukan data untuk suatu algoritma n. Misal, jika masukan algoritma adalah graf, maka ukuran masukan adalah jumlah simpul dan sisi.

2. Kompleksitas waktu, T(n) adalah jumlah operasi yang dilakukan untuk melaksanakan algoritma sebagai fungsi dari ukuran masukan n.

3. Kompleksitas ruang, S(n) adalah ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n. (Munir, 2012)

Setelah menetapkan ukuran masukan, maka langkah selanjutnya dalam mengukur kompleksitas waktu adalah menghitung banyaknya operasi yang dilakukan algoritma. Apapun komputer yang akan digunakan untuk menjalankan algoritma atau bahasa pemrograman yang akan digunakan, jumlah komputasi di dalam algoritma tersebut tetap, yaitu T(n) (Munir, 2012).

2.7 Penelitian yang Relevan

Berikut penelitian tentang jarak terpendek (shortest path) yang membahas algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing :

1. Zemma, L. A, Herfina & Qur’ania, A (2015) dalam judul penerapan metode steepest ascent hill climbing pada model pencarian rute terdekat fasilitas pelayanan darurat di kota Bogor. Penelitian menunjukkan bahwa penentuan rute terdekat pada pencarian dengan menggunakan algoritma tersebut diperlukan jarak antar titik / node dengan menggunakan data – data tersebut maka pencarian rute terdekat dapat dilakukan. Proses implementasi tidak bisa secara langsung dimasukkan kedalam pencarian rute di google maps, proses dilakukan secara manual dengan coding

(35)

2. Potdar, G. P. & Thool, R. C ( 2014 ) dalam judul comparison of various heuristic search techniques for finding shortest path. Penelitian menunjukkan perbandingan algoritma Simple Hill Climbing, algoritma Steepest Ascent Hill Climbing, dan algortima A* dengan hasil bahwa keseluruhan algoritma tersebut dapat di implementasikan dalam pencarian lintasan terpendek hanya saja untuk algoritma dengan metode heuristik tidak ada kepastian untuk menemukan solusi akhir yang optimal.

3. Sihombing, J. (2014) dalam judul perancangan aplikasi pencarian jalur terpendek untuk daerah kota Medan dengan metode steepest ascent hill climbing. Pada penelitian ini menunjukkan bahwa metode steepest ascent hill climbing dapat menemukan solusi, karena tidak semua cabang dilalui.

4. Sanan, S., Jain, l & Kappor B (2013) dalam judul shortest path algorithm menunjukkan bahwa algoritma algoritma jarak terpemdek adalah sebuah permasalahan penting dalam teori graf dalam pengaplikasiannya di beberapa aspek.

Pada paper ini algoritma yang berbeda digunakan salah satunya adalah algoritma Dijkstra. Algoritma ini melakukan pencarian buta dan tidak dapat melalui node bernilai negatif.

5. Lubis, Henny Syahriza ( 2009 ) dalam judul penelitian perbandingan algoritma Greedy dan Dijkstra untuk menentukan lintasan terpendek. Penelitian menunjukkan perbandingan algoritma Greedy dan Dijkstra berdasarkan jarak lintasannya, algoritma Greedy menghasilkan jarak yang lebih besar dan juga algortima Greedy tidak beroperasi secara menyeluruh terhadap semua alternatif fungsi yang ada, sehingga lintasan terpendek hanya diperoleh dari verteks asal hingga verteks tujuan, sedangkan algoritma Dijkstra beroperasi secara menyeluruh terhadap semua alternative yang ada, sehingga lintasan terpendek tidak hanya diperoleh dari node sumber ke node tujuan saja, akan tetapi lintasan terpendek dapat diperoleh dari semua node.

(36)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Sistem ini akan melakukan pencarian rute terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai dengan menggunakan algoritma Dijkstra dan algortima Steepest Ascent Hill Climbing.

Analisis sistem memiliki tiga tahapan dalam mendeskripsikan pengembangan sistem, yaitu :

1. Analisis masalah. Analisis masalah digunakan untuk mempelajari, mengidentifikasi, dan menganalisis suatu masalah serta batasan – batasannya.

2. Analisis kebutuhan. Analisis kebutuhan digunakan untuk mendeskripsikan fungsi – fungsi yang diberikan dan dapat dikerjakan oleh sistem, baik kebutuhan fungsional maupun non fungsional.

3. Analisis proses. Analisis proses digunakan untuk menggambarkan pola tingkah laku yang dimiliki sistem.

3.1.1. Analisis Masalah

Luasnya sebuah wilayah dapat menyebabkan seseorang mengalami kesulitan untuk menentukan rute terpendek dari satu lokasi ke lokasi lainnya. Setiap orang yang berwisata cenderung memilih rute terpendek. Semakin cepat wisatawan tiba di lokasi

(37)

objek wisata maka wisatawan akan memiliki banyak waktu untuk mengeksplorasi objek wisata lainnya. Posisi awal wisatawan ditentukan oleh lokasi wisatawan berada dan diasumsikan bahwa wisatawan tersebut telah berada di salah satu lokasi objek.

Permasalahan pada penelitian ini adalah pencarian rute terpendek dengan menggunakan algoritma Dijkstra dan algortima Steepest Ascent Hill Climbing terhadap graf yang sama dan melakukan perbandingan dari sisi waktu proses terhadap kedua algoritma tersebut dalam menentukan jarak terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai. Penulis membatasi masalah dengan 20 buah vertex yang merupakan beberapa nama lokasi objek wisata di Kabupaten Serdang Bedagai, dan edge merupakan panjang jarak yang akan dilintasi dari lokasi objek wisata satu ke lokasi objek wisata lainnya. Graf yang digunakan merupakan graf berarah terhubung.

Masalah penelitian ini dapat dilihat pada Gambar 3.1 yang dirancang dalam diagram Ishikawa yang menggambarkan hubungan sebab akibat dari masalah penelitian.

Gambar 3.1 Diagram Ishikawa Masalah Penelitian

Berdasarkan Gambar 3.1, diketahui bahwa permasalahan berada pada kepala ikan (segi empat paling kanan). Terdapat empat kategori masalah yaitu Manusia, Metode, Material dan Sistem yang terhubung dengan tulang utama (garis horizontal yang terhubung ke kepala ikan). Penyebab dari masalah yang berada di kepala ikan ditunjukkan oleh tulang – tulang kecil yang digambarkan oleh garis panah menuju ke tulang – tulang kategori masalah.

(38)

3.1.2. Analisis Kebutuhan Sistem

Analisis kebutuhan terbagi atas dua bagian, yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Dimana kebutuhan fungsional mendeskripsikan aktivitas yang disediakan oleh sistem. Sedangkan kebutuhan nonfungsional mendeskripsikan karakteristik.

3.1.2.1. Kebutuhan Fungsional

Analisis kebutuhan fungsional disini menjelaskan tentang sistem yang disediakan.

Sistem ini melakukan perhitungan, perbandingan jarak dan waktu pencarian rute terpendek antar lokasi objek wisata di Kabupaten Serdang. Untuk menerapkan sistem tersebut, kebutuhan fungsional yang harus dipenuhi antara lain adalah :

1. Sistem menggunakan graf lokasi objek wisata di Kabupaten Serdang Bedagai yang telah ditentukan.

2. Sistem mengunakan vertex awal yang sudah ditentukan sebagai vertex asal.

3. Sistem mendapatkan hasil rute yang akan dilaui pada graf dengan menggunakan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing.

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

3.1.2.2. Kebutuhan Non-fungsional

Kebutuhan non-fungsional yang harus dipenuhi antara lain sebagai berikut:

1. Performa

Sistem yang akan dibangun dapat menunjukkan hasil waktu proses dan rute terpendek dari pencarian lokasi objek wisata.

2. Mudah dipelajari dan digunakan

Sistem yang akan dibangun memiliki tampilan user friendly sehingga memudahkan pengguna dan disertai halaman petunjuk.

3. Hemat Biaya

Sistem yang akan dibangun tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya dan bebas digunakan.

(39)

3.1.3. Analisis Proses

Sistem yang dibangun akan menggunakan bahasa pemrograman C# dengan bantuan SharpDevelop 4.3. Pada analisis proses ini menggunakan algoritma Dijkstra dan algoritma Steepest Ascent Hill Climbing dalam proses pencarian rute terpendek antar lokasi objek wisata di Kab. Serdang Bedagai. Pengguna dapat melakukan pencarian dengan memasukkan lokasi objek wisata asal dan dan lokasi objek wisata tujuan yang diinginkan (terdapat 20 lokasi objek wisata). Lalu pengguna memilih algoritma yang akan digunakan sebagai perbandingan satu sama lain.. Selanjutnya sistem akan menampilkan hasil berupa total jarak, rute, dan waktu yang dibutuhkan untuk mengeksekusi program berdasarkan algoritma yang dipilih. Diagram umum ini dapat dilihat pada Gambar 3.2

Gambar 3.2 Diagram Umum Pengguna

Sistem

Tampilkan hasil total jarak, rute dan waktu yang dibutuhkan

algoritma untuk memgeksekusi program.

Steepest Ascent Hill Climbing

Proses pencarian dilakukan dengan membandingkan current state ke semua successor yang ada didekatnya dengan nilai paling baik (heuristik).

Pengguna memasukkan lokasi objek wisata asal dan lokasi objek wisata tujuan.

Dijkstra

Proses pencarian dilakukan dengan menelusuri satu simpul ke semua simpul yang bernilai positif, jika berbobot negatif tidak dapat dilalui dan diberi nilai infiniti.

(40)

3.1.4. Pseudocode

Pseudocode merupakan cara penulisan algoritma yang sedikit mirip dengan instruksi kode / bahasa program yang sebenarnya. Pada penelitian ini terdapat dua pseudocode yang mewakili algoritma yang ada pada sistem.

3.1.4.1. Pseudocode Algoritma Dijkstra

Pada sistem yang dirancang terdapat algoritma Dijkstra yang berguna untuk melakukan pencarian rute terpendek. Pseudocode ditunjukkan pada Gambar 3.3.

Gambar 3.3 Pseudocode Dijkstra

function Dijkstra(Graph, source):

for each vertex v in Graph:

dist[v] := infinity ; previous[v] := undefined ;

end for dist[source] := 0 ;

Q := the set of all nodes in Graph ;

while Q is not empty:

u := vertex in Q with smallest distance in dist[] ; remove u from Q ;

if dist[u] = infinity:

break ;

end if

for each neighbor v of u:

alt := dist[u] + dist_between(u, v) ; if alt < dist[v]:

dist[v] := alt ; previous[v] := u ; decrease-key v in Q;

end if end for end while return dist;

(41)

3.1.4.2. Pseudocode Algoritma Steepest Ascent Hill Climbing

Pada sistem yang dirancang terdapat algoritma Steepest Ascent Hill Climbing yang berguna untuk melakukan pencarian rute terpendek. Pseudocode ditunjukkan pada Gambar 3.4.

Gambar 3.4 Pseudocode Steepest Ascent Hill Climbing

3.2 Perancangan Sistem

Pada penelitian ini untuk mendesain dan merancang sistem pencarian jarak terpendek antar lokasi objek wisata di Kabupaten Serdang Bedagai digunakan Unified Modelling Language (UML) sebagai bahasa pemodelan. Adapun model UML yang digunakan antara lain adalah use-case diagram, activity diagram, dan sequence diagram.

steep_asc_hll( s, g , Q ) { initialise Q;

curr_node = s;

path_cost=0;

while (1) {

if (curr_node is goal node) then terminate the process with SUCCESS;

else {

find all the reachable node from curr_node;

determine the cost of reaching to these nodes fromcurr_node;

according their cost add them in Q.

}

if (Q is empty) then

terminated the process with FAILURE;

else {

temp_node = first node of Q ; path_cost = path_cost +

edge_cost [curr_node][temp_node];

curr_node = temp_node;

delete first node from Q ; }

}

(42)

3.2.1. Use-case Diagram

Use-case diagram adalah diagram yang menjelaskan tentang interaksi antara pengguna dengan fungsionalitas dari sistem berdasarkan sudut pandang pengguna. Pada penelitian ini use-case diagram dapat dilihat pada Gambar 3.5.

Gambar 3.5 Use-case Diagram Sistem

(43)

3.2.2. Activity Diagram

Activity Diagram adalah diagram alir yang menggambarkan berbagai aktivitas yang dapat dilakukan oleh sistem yang sedang dirancang. Activity diagram pada sistem ini dapat dilihat pada Gambar 3.6.

Gambar 3.6 Activity Diagram Sistem

(44)

3.2.3. Sequence Diagram

Sequence Diagram adalah diagram yang menunjukkan interaksi antar objek yang diurutkan berdasarkan waktu eksekusinya. Diagram ini mengilustrasikan bagaimana pesan dikirim dan diterima antar objek.Sequence diagram pada sistem ini dapat dilihat pada Gambar 3.7.

Gambar 3.7 Sequence Diagram Sistem

3.2.4. Flowchart

Flowchart adalah diagram alir yang menggambarkan urutan proses penyelesaian masalah dengan simbol – simbol tertentu. Pada bagian ini, terdapat tiga flowchart, yaitu : flowchart sistem, flowchart algoritma Dijkstra, dan flowchart algoritma Steepest Ascent Hill Climbing.

(45)

3.2.4.2. Flowchart Sistem

Flowchart ini untuk melakukan pencarian jarak terdekat antar lokasi di objek wisata Kabupaten Serdang Bedagai yang dapat dilihat pada Gambar 3.8. Pada flowchart ini terdapat tiga masukan yaitu : lokasi asal objek wisata, lokasi tujuan objek wisata dan algoritma, dengan keluarannya yang akan menghasilkan total jarak, rute, dan waktu eksekusi berdasarkan algoritma yang dipilih.

Gambar 3.8 Flowchart Sistem

Mulai

Masukkan lokasi asal dan lokasi tujuan

Mencari lokasi asal dan lokasi tujuan

Mengevaluasi rute yang dilalui

Hitung rute terpendek dengan algoritma Dijkstra atau SAHC

Menampilkan hasil total jarak, rute, dan waktu eksekusi

Selesai

(46)

3.2.4.3. Flowchart Algoritma Dijkstra

Flowchart ini untuk menggambarkan proses pencarian jarak terdekat antar lokasi di objek wisata Kabupaten Serdang Bedagai dengan menggunakan algoritma Dijkstra yang dapat dapat dilihat pada Gambar 3.9.

Gambar 3.9 Flowchart Algoritma Dijkstra

(47)

3.2.4.4. Flowchart algoritma Steepest Ascent Hill Climbing

Flowchart ini untuk menggambarkan proses pencarian jarak terdekat antar lokasi di objek wisata Kabupaten Serdang Bedagai dengan menggunakan algoritma Steepest Ascent Hill Climbing yang dapat dapat dilihat pada Gambar 3.10.

Gambar 3.10 Flowchart Algoritma Steepest Ascent Hill Climbing

3.2.5. Mock-up

Mock-up adalah rancang sistem dalam bentuk gambaran / preview yang digunakan untuk tampilan desain awal. Terdapat empat halaman mock-up yaitu halaman awal, halaman rute terpendek, halaman bantuan, dan halaman tentang sistem.

(48)

3.2.5.1. Halaman Awal

Halaman awal adalah halaman yang akan tampil pertama kali saat sistem dijalankan. Pada Halaman ini terdapat judul dari sistem, nama dan NIM, logo universitas, dan sebuah button untuk masuk ke dalam sistem sebagaimana dapat dilihat pada Gambar 3.11 dan keterangan gambar halaman awal pada Tabel 3.1.

Gambar 3.11 Halaman Awal

Tabel 3.1 Keterangan Gambar Halaman Awal

No Keterangan

1. Label untuk menampilkan judul skripsi.

2. Label untuk menampilkan judul nama dan NIM.

3. Picture Box untuk menampilkan logo Universitas Sumatera Utara.

4. Label untuk menampilkan program studi, fakultas, universitas, kota dan tahun.

5. Button untuk masuk kedalam sistem.

3.2.5.2. Halaman Rute Terpendek

Halaman Rute Terpendek adalah halaman yang akan tampil setelah pengguna mengklik button masuk pada halaman awal. Pada halaman ini pengguna dapat memilih algoritma yang akan digunakan untuk mencari jarak terpendek antar lokasi objek wisata di kabupaten Serdang Bedagai. Pengguna juga dapat melihat hasil total jarak, rute dan waktu eksekusi dari kedua algoritma tersebut serta melihat graf. Perancangan halaman ini dapat dilihat pada Gambar 3.12 dan keterangan gambar halaman rute terpendek pada

(49)

Gambar 3.12 Halaman Rute Terpendek

Tabel 3.2 Keterangan Gambar Halaman Rute Terpendek

No Keterangan

1. Tab Control untuk menunjukkan halaman yang tersedia pada sistem.

2. Group Box untuk Cari Rute Terpendek.

3. Label untuk Lokasi Objek Wisata Asal.

4. Combo Box untuk pemilihan vertex asal.

5. Label untuk Lokasi Objek Wisata Tujuan.

6. Combo Box untuk pemilihan vertex tujuan.

7. Label untuk Algoritma.

8. Combo Box untuk Pilihan Algoritma.

9. Group Box untuk Proses.

10. Button untuk menampilkan Proses.

11. Group Box untuk Lihat Graf.

12. Button untuk menampilkan Graf.

13. Group Box untuk Hasil Rute Terpendek.

14. Text Box untuk menampilkan Hasil Rute Terpendek.

15. Group Box untuk Total Jarak (km).

16. Text Box untuk menampilkan Total Jarak (km).

17. Group Box untuk Waktu Proses (ms).

18. Text Box untuk menampilkan Waktu Proses (ms).

(50)

3.2.5.3. Halaman Bantuan

Halaman Bantuan adalah halaman yang akan tampil saat pengguna memilih menu bantuan pada menu bar. Pada halaman ini terdapat petunjuk penggunaan dari sistem untuk pengguna. Perancangan halaman ini dapat dilihat pada Gambar 3.13 dan keterangan gambar halaman bantuan terdapat pada Tabel 3.3

Gambar 3.13 Halaman Bantuan

Tabel 3.3 Keterangan Gambar Halaman Bantuan

No Keterangan

1. Tab Control untuk menunjukkan halaman yang tersedia pada sistem.

2. Group Box untuk petunjuk penggunaan sistem.

3. RichTextBox untuk menampilkan isi petunjuk penggunaan sistem.

(51)

3.2.5.4. Halaman Tentang Sistem

Halaman Tentang Sistem adalah halaman yang memberikan informasi mengenai sistem dan penulis. Perancangan halaman ini dapat dilihat pada Gambar 3.14 dan keterangan gambar halaman tentang sistem dapat dilihat pada Tabel 3.4.

Gambar 3.14 Halaman Tentang Sistem

Tabel 3.4 Keterangan Gambar Halaman Tentang Sistem

No Keterangan

1. Tab Control untuk menunjukkan halaman yang tersedia pada sistem . 2. GroupBox untuk tentang sistem.

3. RichTextBox untuk menampilkan informasi tentang sistem.

4. GroupBox untuk tentang perancang sistem.

5. RichTextBox untuk menampilkan informasi tentang perancang sistem.

(52)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Impelementasi

Impelementasi sistem yaitu tahap lanjutan dari tahap analisis dan perancangan sistem.

Dalam tugas akhir ini, sistem dibangun dengan menggunakan C# sebagai bahasa pemrograman dan SharpDevelop sebagai perangkat bantu untuk membuat sistem. Sistem ini terdapat 4 (empat) halaman, yaitu : halaman awal sebagai antarmuka sebelum pengguna masuk ke sistem, halaman rute terpendek untuk mencoba proses dari masing – masing algoritma, halaman bantuan untuk petunjuk penggunaan, dan halaman tentang sistem yang berisi info tentang sistem dan perancang.

4.1.1. Halaman Awal

Halaman awal adalah halaman yang akan tampil pertama kali saat sistem dijalankan.

Tampilan halaman ini ditunjukkan pada Gambar 4.1.

(53)

Pada Gambar 4.1 terdapat sebuah button dengan nama Masuk yang diberikan aksi. Button masuk akan dilanjutkan ke dalam halaman rute terpendek, halaman bantuan dan halaman tentang sistem.

4.1.2. Halaman Rute Terpendek

Halaman rute terpendek adalah halaman yang akan tampil setelah pengguna mengklik button masuk pada halaman awal. Halaman ini digunakan untuk mencari rute terpendek.

Tampilan halaman ini ditunjukkan pada Gambar 4.2.

Gambar 4.2 Halaman Rute Terpendek

Pada Gambar 4.2 diberikan halaman yang dapat digunakan pengguna memasukkan lokasi objek wisata asal untuk posisi awal pengguna dan lokasi objek wisata tujuan untuk lokasi objek wisata yang akan dituju. Pengguna dapat memilih algoritma yang akan digunakan untuk mencari jarak terpendek antar lokasi objek wisata yaitu algoritma Dijkstra dan Algoritma Steepest Ascent Hill Climbing. Terdapat dua buah button, yaitu : button proses dan button lihat graf. Button proses berfungsi untuk menampilkan hasil total jarak, rute dan waktu eksekusi dari kedua algoritma sedangkan button lihat graf berfungsi untuk menampilkan gambar graf lokasi objek wisata di Kabupaten Serdang Bedagai seperti yang ditunjukkan pada Gambar 4.3.

(54)

Gambar 4.3 Graf Lokasi Objek Wisata

4.1.3. Halaman Bantuan

Halaman bantuan adalah halaman yang akan tampil saat pengguna memilih menu bantuan pada menu bar. Tampilan halaman ini ditunjukkan pada Gambar 4.4.

Gambar

Gambar 2.1  Representasi Jembatan Königsberg (Sumber : Rossen, 2003)
Gambar 2.12  Hasil Pencarian (Kusumadewi et al. 2005)
Gambar 3.2   Diagram Umum Pengguna
Gambar 3.3   Pseudocode Dijkstra
+7

Referensi

Dokumen terkait

Pada proses algoritma Steepest Ascent Hill Climbing, data berat/ massa barang dari. database diurutkan

Hasil rute yang harus dilalui kedua sales pada setiap harinya setelah menggunakan Steepest-ascent Hill Climbing yaitu pada sales pertama dengan rute Nuris (UMY) ,

Dengan selesainya penelitian saya yang berjudul : “ Implementasi Algoritma Welch Powell, PartialCol, dan Steepest Ascent Hill Climbing dalam Penjadwalan Petugas

Hasil perbandingan graph solusi dengan data jarak yang sama menunjukkan metode Steepest Ascent Hill Climbing lebih optimal dibandingkan metode Simulated

Judul : Pencarian Rute Terpendek dan Traveling Salesman Problem dengan menggunakan Algoritma Depth First, Breath First dan Hill Climbing (Comparative Study). Program : DIK Tahun :

Solusi 8 puzzle akan lebih cepat diperoleh jika digunakan prinsip array dengan variasi algoritma Steepest-Ascent Hill Climbing (Hill Climbing dengan memilih kemiringan yang

Algoritma Steepest Ascent Hill Climbing digunakan untuk menyelesaikan permasalahan tata letak penyusunan barang pada ruang tiga dimensi dengan tujuan mendapatkan

Simple Hill Climbing proses pencarian nya melihat nilai dari kiri kemudian turunkan, sedangkan pada steepest ascent hill climbing proses pencariannya yaitu pada level pertama semua