• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Brute-Force dan Algoritma A* Untuk Mencari Rute Terpendek Antar Klinik Kecantikan di Kota Medan

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Brute-Force dan Algoritma A* Untuk Mencari Rute Terpendek Antar Klinik Kecantikan di Kota Medan"

Copied!
76
0
0

Teks penuh

(1)

LAMPIRAN

public Bruteforce(List<Node> semuaNode) {

private void rekursif_bruteforce(List<Node> sampel, List<Node> populasi){

(2)

if(sampel[sampel.Count-1].getId() ==

public bool cariRuteTerpendek(Node asal, Node tujuan){

(3)
(4)

())) *

private Elemen cariElemenDenganNilaiTerkecil(List<Elemen> open){ float nilaiFTerkecil = float.PositiveInfinity;

public bool cariRuteTerpendek(Node asal, Node tujuan){

(5)
(6)

posisiDiOpen++; }

if(adaDalamOpen){

if(open[posisiDiOpen].g > tetangga.g){ Elemen update = open[posisiDiOpen];

update.g = tetangga.g; update.h = tetangga.h; update.dari = curr; }

} else {

open.Add(tetangga); }

} }

return false; }

(7)

CURRICULUM VITAE

Data Diri

Nama : Syindy Wulandari

Tempat/Tanggal Lahir : Medan/ 24 Maret 1994

Alamat Sekarang : Jl.Polonia Gg.Mushollah Medan

Alamat Orang Tua : Jl. Polonia Gg.Mushollah Medan Polonia

Agama : Islam

Jenis Kelamin : Perempuan

Nomor Hp : 082299982962

Email : wulandari.syindy@yahoo.com

Riwayat Pendidikan

2000 – 2006 : SD Angkasa Lanud Medan

2006 – 2009 : SMP Angkasa Lanud Medan

2009 – 2012 : SMA Negeri 2 Medan

2012 – Sekarang : S1 Ilmu Komputer Universitas Sumatera Utara, Medan

Keahlian

(8)

Bahasa Pemrograman : C#,

DBMS : MySQL

Multimedia : Adobe Flash

Design : Photoshop

Perkantoran : Microsoft Office, Microsoft Excel

Pengalaman Bekerja

2015 : Praktik Kerja Lapangan di PTPN III (Persero)

Seminar

2016 : Seminar Nasional “ OPEN SOURCE BASE TRANSCEIVER

STATION”

(9)

DAFTAR PUSTAKA

Abdeen,A,R. 2011. An Algorithm For String Search Based on Brute-Force Algorithm. International Journal of Computer Science and Network Security , hal. 24.

Adipranata, Rudy. Handojo, Andreas. Setiawan. Happy. 2007. Aplikasi pencari rute

optimum pada peta guna Meningkatkan efisiensi waktu tempuh pengguna jalan

Dengan metode A* dan Best First Search. Jurnal informatika vol 8, no. 2,

Nopember 2007, hal.100 – 108.

Burad, R., Bodhale, R. & Chandak, A. 2016. Optimal shortest path using HAS, A star and Djikstra algorithm. Imperial Journal of Interdisciplinary Research ,

hal. 978.

Giorgio, Gallo & Steffano, Pallotino. 1998. Shortest Path Algorithm. Pisa: J.C. Baltzer AG. Scientific Publishing Company.

Harianja, F. 2013. Penerapan Algoritma A* Pada Permasalahan Optimasi Pencarian

Solusi Dynamic Water Jug. Pelita Informatika Budi Darma , hal. 48-49.

Hartono, Tony Bagio,2007, Algoritma Dan Pemograman. Universitas Narotama

Surabaya, hal. 1-7.

Mediputra, Andika, 2010, Aplikasi Shortest Path dengan Menggunakan Graf Dalam

Kehidupan Sehari-hari, struktur diskrit, Institut Teknologi Bandung ,hal. 1-3

Munir, R. 2007. Matematika Diskrit Edisi Ketiga. Bandung: Institut Teknologi

(10)

Mutiana, V., Amastini, F. & Mutiara, N. 2013. Optimasi Pencarian Jalur Dengan

Metode A-Star. Program Studi Teknik Informatika Universitas Multimedia

Nusantara Tanggerang Indonesia , hal.43.

Prayoga, M. Zulfikar Eka. Purnama, I Ketut Eddy, Hariadi, Mochammad. 2008.

Sistem Pencarian Rute Alternatif Dinamis Dengan Smart Routing System

Menggunakan A* Algorithm Berbasiskan WEB. Proceeding Penelitian Jurusan

Teknik Elektro ITS Surabaya , hal. 3-4.

Prama, irvan.Dkk, 2010, Algoritma Greedy untuk Menentukan Lintasan Terpendek.

Institut Teknologi Bandung.

Pramudita, E, K. 2011. Brute Force Attack dan Penerapannya Pada Password

(11)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan tahapan yang menjelaskan beberapa permasalahan yang akan

membantu proses perancangan model sistem yang nantinya akan diimplementasikan dan

menjadi penyelesaian dari masalah yang dikaji. Aplikasi Pencarian Klinik Kecantikan

Terdekat Di Kota Medan ini merupakan aplikasi untuk menentukan rute terpendek yang

paling efektif untuk mencapai tempat tersebut.Pembuatan aplikasi ini melalui beberapa

tahapan untuk mempermudah perancangan dan pembuatannya.

3.1.1 Analisis Masalah

Banyak cara untuk mencapai suatu tempat yang diinginkan dengan mudah, dalam hal ini untuk menuju Klinik Kecantikan yang diinginkan diperlukan suatu cara yang cepat dalam mencari rute terpendeknya dan dapat memilih solusi yang paling optimal, sehingga dapat menghemat waktu dan membuat perjalanan lebih efektif dan efisien. Dengan dasar ini penulis mencari suatu cara untuk mencari Klinik Kecantikan terdekat di Kota Medan dengan menggunakan dua buah algoritma yaitu algoritma Brute Force dan A*.

Permasalahan pada penelitian ini, bukan hanya sebatas pencarian rute terdekat dengan dua buah algoritma Brute Force dan A*, tetapi juga dengan membandingkan jarak dan hasil kerja kedua algoritma tersebut dan dalam pengaplikasiannya graf dibentuk dengan mengikuti peta Kota Medan, dimana vertex ditentukan berdasarkan beberapa nama Klinik Kecantikan yang telah di pilih yang terdapat di Kota Medan, dan edge merupakan panjang jarak jalan yang akan dilalui nantinya dari Klinik Kecantikan satu ke Klinik Kecantikan lainnya.

Terdapat 10 nama Klinik Kecantikan di Kota Medan yang telah dipilih dan akan diterapkan kedalam graf pada sistem yang dibuat, nama-nama Klinik Kecantikan yang digunakan dapat dilihat pada Tabel 3.1 berikut:

Tabel 3.1 Nama-Nama Klinik Kecantikan yang Menjadi Vertex No Nama Klinik Kecantikan

(12)

2 Natasha Skin Clinic Center

3 Miracle Aesthetic Clinic

4 Klinik Kusuma

5 Klinik Kecantikan EUROSKINLAB

6 Erhaclinic

7 Yasmin Skin Care

8 Skinos

9 Vernal Skin Solution

10 The Clinic Medan

(13)
(14)
(15)

Gambar 3.1 Peta atau Rute Klinik Kecantikan di Kota Medan

(16)

Tabel 3.2 Data Simpul (Vertex) Pada Graf Klinik Kecantikan di Kota Medan

No Nama Vertex Nama Tetangga Bobot

1

Klinik Kecantikkan by dr. Erwin

Natasha Skin Clinic Center 6,1 km

Miracle Aesthetic Clinic 7,6 km

2

Natasha Skin Clinic Center Klinik Kusuma 5,2 km

Klinik Kecantikan

Miracle Aesthetic Clinic Yasmin Skin Care 4,7 km

Klinik Kusuma 3,3 km

Miracle Aesthetic Clinic 4,3 km

Natasha Skin Clinic Center 5,2 km

5 Klinik Kecantikan EUROSKINLAB

Erhaclinic 3,3 km

Natasha Skin Clinic Center 4,3 km

(17)

8 Skinos

The Clinic Medan 4,6 km

Vernal Skin Solution 5,2 km

Klinik Kusuma 3,1 km

Dalam mengidentifikasi suatu masalah dapat menggunakan diagram Ishikawa (fishbone

diagram). Diagram Ishikawa merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara grafik menggambarkan secara detail semua penyebab yang

berhubungan dengan suatu permasalahan. Diagram Ishikawa bentuknya menyerupai

kerangka tulang ikan yang bagian-bagiannya meliputi kepala, sirip, dan duri dimana

digambarkan seperti susunan tulang ikan yang terbagi atas dua bagian yaitu bagian kepala

ikan yang merupakan masalah, bagian utama tulang belakang merupakan

kemungkinan-kemungkinan penyebab masalah. Diagram Ishikawa sistem ini dapat dilihat pada Gambar

3.2.

Belum Adanya Aplikasi Untuk

(18)

Diagram Ishikawa diatas terbagi atas 2 (dua) bagian yaitu head dan bone. Bone terdiri dari 4 aspek yaitu material, metode, user dan sistem. Material adalah apa saja yang diperlukan dalam menjalankan sistem yaitu jarak dan rute yang digunakan untuk mengetahui seberapa jauh jalan yang akan ditempuh dan rute yang akan dilalui. Metode adalah kebutuhan yang spesifik dari proses yang terdiri dari 3 (tiga) bagian yaitu bagian algoritma Brute Force, algoritma A* dan Hasil Pencarian dan Perbandingan kedua algoritma yang akan digunakan untuk menjalankan hasil graf yang terbentuk. User adalah apa saja yang akan diketahui dari sistem yang akan dikerjakan diamana user sebelumnya user belum mengetahui cara kerja sistem. Sistem adalah hal yang akan dilakukan atau dibuat yaitu dengan membuat aplikasi pencarian Klinik Kecantikan terdekat di Kota Medan dengan menggunakan algoritma Brute force dan algoritma A*, melakukan perbandingan dari hasil kerja kedua algoritma tersebut.

3.1.2 Analisis Persyaratan

Terdapat dua bagian pada analisis persyaratan, yaitu persyaratan fungsional dan persyaratan

non-fungsional.

3.1.2.1 Persyaratan Fungsional

Analisis kebutuhan fungsional disini mendekripsikan tentang sistem yang disediakan. sistem ini melakukan perhitungan, perbandingan rute dan waktu pencarian Klinik Kecantikan terdekat di Kota Medan dengan membandingkan dua buah algoritma yaitu Brute Force dan A*, terdapat beberapa persyaratan fungsional antara lain:

1. Sistem ini menggunakan graf Klinik Kecantikan di Kota Medan yang telah dipilih

dan dapat ditampilkan pada sistem sesuai dengan representasi graf yang telah

ditentukan.

2. Sitem yang dibangun menggunakan simpul (vertex) dan sisi (edge) pada graf dan

dapat ditampilkan pada sistem beserta nama, bobot, alamat dan rute yang akan dilalui

menuju Klinik Kecantikan tersebut dari setiap sisi (edge) yang terhubung dengan

simpul (vertex).

3. Sistem mampu menambahkan simpul (vertex) baru, sisi (edge), alamat dan rute yang akan dilalui menuju Klinik Kecantikan tersebut dengan menambahkannya pada fitur yang telah tersedia.

4. Sitem ini mendapatkan hasil pencarian dengan graf menggunakan dua algoritma yaitu Brute Force dan A* dapat diterapkan pada sistem.

(19)

3.1.2.2 Persyaratan Non-Fungsional

Kebutuhan non-fungsional adalah kebutuhan yang berisi kinerja operasional dan performance dari suatu sistem. Terdapat beberapa persyaratan non-fungsional yang harus dipenuhi diantaranya :

1. User Friendly

Sistem yang akan dibangun harus mudah digunakan (user friendly), artinya sistem ini akan mudah digunakan oleh user dengan tampilan yang sederhana dan dapat dimengerti.

2. Kinerja

Sistem atau perangkat lunak yang akan dibangun harus dapat menunjukkan hasil jalan terpendek dan rute Klinik Kecantikan dari algoritma yang diterapkan yaitu algoritma Brute Force dan A*

3. Hemat Biaya

Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat

tambahan yang dapat mengeluarkan biaya.

4. Manajemen Kualitas

Sistem atau perangkat lunak yang akan dibangun harus memiliki kualitas yang

baik yaitu dapat menunjukkan perbandingan jarak, rute Klinik Kecantikan yang

akan dilalui dan hasil kerja dari kedua algoritma yang dibandingkan.

3.1.3 Analisis Proses

Pembangunan sistem menggunakan bahasa pemrograman C#. Algoritma yang digunakan untuk mencari Klinik Kecantikan terdekat di Kota Medan adalah Brute Force dan A*, hasil kerja dari kedua algoritma tersebut akan dibandingkan untuk mendapatkan hasil yang baik dari graf yang telah terbentuk.

3.1.4 Flowchart

(20)

3.1.4.1 Flowchart Sistem

Flowchart dari sistem yang dibangun dapat dilihat pada Gambar 3.3.

Gambar 3.3 Flowchart Sistem Menampilkan Hasil Lintasan Teependek Klinik Kecantikan Di

Kota Medan

Selesai

Masukkan Titik Awal dan Titik Tujuan

Membentuk Graf Rute Terpendek

Menampilkan graf, Nama dan Jarak Klinik

Kecantikan

Hasil : Total Jarak, Rute dan Running Time

(21)

3.2 Perancangan Sistem

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 fungsionalitas dari suatu sistem, sehingga user paham dan mengerti mengenai kegunaan sistem yang dibangun, dimana penggambaran sistem dari sudut

pandang user itu sendiri sehingga use case lebih di titik beratkan pada fungsionalitas yang

ada pada sistem, bukan berdasarkan alur atau urutan kejadian.

Berikut use case diagram dapat dilihat pada Gambar 3.4.

(22)

3.2.2. Activity Diagram

Activity diagram dapat menggambarkan proses bisnis dan urutan aktivitas dalam sebuah proses, serta dapat menggambarkan alur aktivitas kerja pada sistem yang sedang dirancang atau pun berjalan, bagaimana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana berakhir.

Activity diagram pada gambar 3.5 menjelaskan proses kerja dari sistem untuk proses menentukan titik awal dan akhir serta memilih algoritma yang akan digunakan oleh user. Activity diagram sistem pada aplikasi yang dibuat dapat dilihat pada Gambar 3.5.

(23)

3.2.3 Sequence Diagram

Sequence diagram mengilustrasikan bagaimana message dikirim dan diterina 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.6

Gambar 3.6 Sequence Diagram Sistem

3.3 Perancangan Antarmuka (Interface)

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.

Adapun antarmuka yang terdapat pada sistem ini adalah halaman menu Home, Klinik

Kecantikan ke Klinik Kecantikan, Pengaturan, Bantuan dan Tentang.

3.3.1 Halaman Menu Home

(24)

Gambar 3.7 Rancangan Antarmuka Halaman Menu Home

Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Home

No Keterangan

1 Label untuk menampilkan keterangan judul sistem

2 Menu “Pengujian” untuk menampilkan graf , rute dan perbandingan hasil algoritma

3 Menu “Pengolahan Data” untuk mengelola vertex dan edge

4 Menu “Bantuan” untuk menampilkan halaman petunjuk penggunaan sistem

5 Menu “Tentang” untuk menampilkan data dari penulis

6 Label untuk menampilkan nama dan NIM

7 Picture Box untuk menampilkan logo Universitas Sumatera Utara

(25)

3.3.2 Halaman Menu Pengujian

Halaman Pengujian merupakan halaman yang tampil saatpengguna memilih menu Pengujian

pada halaman utama.Pada halaman ini pengguna dapat melihat graf yang akan ditampilkan,

memilih algoritma yang akan digunakan, serta melihat hasil total jarak, rute dan execution time

dari kedua algoritma tersebut. Rancangan halaman menu Pengujian dapat dilihat pada Gambar

3.8 dan keterangan gambar rancangan halaman pada Tabel 3.4.

Gambar 3.8 Rancangan Antarmuka Halaman Menu Pengujian

Tabel 3.4 Keterangan Gambar Rancangan Menu Pengujian

No Keterangan

1 Combo Box untuk node asal

2 Combo Box untuk node tujuan

3 Button untuk menampilkan hasil

(26)

5 Group Box untuk grup Brute Force

6 Check Box untuk menampilkan graf A*

7 Label untuk menampilkan hasil pengujian A*

8 Textbox untuk menampilkan rute A*

9 Check Box untuk menampilkan graf Brute Force

10 Label untuk menampilkan hasil pengujian Brute Force

11 Textbox untuk menampilkan rute Brute Force

12 WPF Element Host untuk menampilkan Graf

13 Button untuk mengembalikan pengaturan kesemula

3.3.3 Halaman Menu Pengolahan Data

Halaman Pengolahan Data merupakan halaman yang tampil saat pengguna memilih menu pada

menubar. Pada halaman ini pengguna dapat mengelola graf yang akan ditampilkan, memasukkan graf, menambahkan node (vertex), menghapus node (vertex), mengubah tag,

memasukkan nama dari node (vertex) dan memasukkan rute yang akan dilalui dari setiap node

(vertex). Rancangan halaman menu Pengolahan Data dapat terbagi menjadi dua yaitu :

3.3.3.1 Tabel Node

Pada menu Tabel Node digunakan untuk menambah data node, menghapus atau mengubah data

(27)

Gambar 3.9 Rancangan Antarmuka Tabel Node

Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Tabel Node

No Keterangan

1 Data Gride View untuk menampilkan vertex yang telah ditambah

2 Textbox untuk mengisi nama tempat yang akan ditambah

3 Textbox untuk mengisi alamat tempat yang akan ditambah

4 Textbox untuk mengisi posisi X tempat yang akan ditambah

5 Textbox untuk mengisi posisi Y tempat yang akan ditambah

6 Textbox untuk mengisi latitude tempat yang akan ditambah

7 Textbox untuk mengisi longitude tempat yang akan ditambah

8 Button untuk menambahkan node

9 Textbox untuk menampilkan ID

10 Textbox untuk menampilkan nama tempat

11 Textbox untuk menampilkan alamat tempat

(28)

13 Textbox untuk menampilkan posisi Y tempat

14 Textbox untuk menampilkan latitude tempat

15 Textbox untuk menampilkan longitude tempat

16 Button untuk menghapus data node

17 Button untuk mengedit data node

3.3.3.2 Tabel Koneksi

Pada menu Tabel Koneks digunakan untuk menambah data vertext, menghapus atau mengubah

data vertext yang akan diolah. Rancangan menu Tabel Vertex dapat dilihat pada gambar 3.10 dan

keterangan dapat dilihat pada tabel 3.6

Gambar 3.10 Rancangan Antarmuka Tabel Vertex

Tabel 3.6 Keterangan Gambar Rancangan Antarmuka TabelVertext

No Keterangan

1 Data Gride View untuk menampilkan vertex yang telah tersedia

2 ComboBox untuk mengisi tempat asal

(29)

5 Button untuk menambah data dari tempat asal ke tempat tujuan

6 Textbox untuk menampilkan ID

7 ComboBox untuk menampilkan tempat asal

9 ComboBox untuk menampilkan tempat tujuan

9 Textbox untuk mengisi jarak antara tempat asal ke tempat tujuan

10 Button untuk mengedit data Vertex

11 Button untuk menghapus data Vertex

3.3.4 Halaman Menu Tentang Penulis

Halaman Tentang Penulis merupakan halaman yang tampil saat pengguna memilih menu

Tentang pada halaman utama. Pada halaman ini pengguna dapat melihat biodata dari penulis. Rancangan halaman menu Tentang dapat dilihat pada Gambar 3.11dan keterangan gambar

rancangan halaman pada Tabel 3.7.

(30)

Tabel 3.7 Keterangan Gambar Rancangan Antarmuka Tentang

No Keterangan

1 PictureBox menampilkan foto dari penulis

2 Texbox menampilkan nama dan NIM dari penulis

3 Texbox menampilkan judul dari penulis

3.3.5 Halaman Menu Bantuan

Halaman Bantuan merupakan halaman yang tampil saat pengguna memilih menu Bantuan pada

halaman utama. Pada halaman ini pengguna dapat melihat bagaimana cara menggunakan

aplikasi dari. Rancangan halaman menu Bantuan dapat dilihat pada Gambar 3.12 dan keterangan

gambar rancangan halaman pada Tabel 3.8.

(31)

Tabel 3.8 Keterangan Gambar Rancangan Antarmuka Bantuan

No Keterangan

1 PictureBox menampilkan screenshot dari halaman Home

2 Label menampilkan isi dari penggunaan masing – masing menu

3 PictureBox menampilkan screenshot dari halaman pengolahan data

4 Label menampilkan isi dari penggunaan pengolahan data

5 PictureBox menampilkan screenshot dari halaman Pengujian

(32)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1. Implementasi

Pada penelitian ini, sistem dibangun dengan menggunakan bahasa pemrograman C# dengan

bantuan perangkat lunak pengembang Sharp Develop. Implementasi dilakukan dengan

mengikuti analisis yang sudah diuraikan pada bab sebelumnya.

4.1.1. Halaman awal

Halaman awal merupakan halaman yang berisi tautan ke halaman yang lain dan merupakan halaman pertama yang ditampilkan sistem. Halaman awal dapat dilihat pada Gambar 4.1.

Gambar 4.1 Implementasi Halaman Awal

4.1.2. Halaman Pengujian

Halaman pengujian merupakan halaman dimana pengguna melakukan uji coba untuk mencari

jarak terdekat dari rute asal menuju rute tujuan. Pengguna dapat melakukan pengujian dengan

(33)

Gambar 4.2. Implementasi Pengujian

4.1.3. Halaman Pengolah Data

Halaman pengolah data merupakan halaman yang digunakan untuk menambah, mengubah

atau menghapus data dari tempat – tempat Klinik Kecantikan yang ada didaerah sekitar kota

medan yang akan digunakan sebagai Node atau pun Vertex. Pada halaman menu pengolah

data terbagi menjadi dua yaitu :

4.1.3.1 Tabel Node

Pada menu Tabel Node digunakan untuk menambah data node, menghapus atau mengubah

(34)

Gambar 4.3. Implementasi Halaman Tabel Node

4.1.3.2 Tabel Koneksi

Pada menu Tabel Koneksi digunakan untuk menghubungkan dua buah data node, serta

menghapus atau mengubah hubungan antara data node yang akan diolah. Rancangan menu

Tabel Koneksi dapat dilihat pada gambar 4.4

Gambar 4.4. Implementasi Halaman Tabel Koneksi 4.1.4.Halaman Tentang

(35)

Gambar 4.5 Implementasi Halaman Tentang

4.1.5.Halaman Bantuan

Halaman Bantuan merupakan halaman yang digunakan untuk memberikan informasi cara pemakaian sistem. Sistem yang dibangun sebagaimana terlihat pada gambar 4.6

Gambar 4.6 Implementasi Halaman Bantuan 4.2Pengujian

4.2.1 Data Node

Berikut ini adalah data node yang digunakan untuk sebagai sampel pada penelitian :

Tabel 4.1 Data Keterangan Klinik Sebagai Node No Nama Klinik Alamat Latitude Longitude

(36)

4.2.2. Pengujian Proses Algoritma A*

Proses pencarian Klinik Kecantikan dengan menggunakan algoritma A* dapat dilihat pada Gambar 4.7.

Gambar 4.7 Tampilan Pengujian Pencarian Klinik Kecantikan dengan Algoritma A* (Rute Orange)

Untuk perhitungan manual tentukan node yang akan menjadi titik asal kemudian tentukan node yang akan menjadi titik tujuan. Diketahui :

Titik Asal : A dan Titik Tujuan : H

1. List Open : Node A

G = 0; H = 9.645803; F = G + H = 9.645803

Elemen dengan nilai F terkecil : A

2. Node Aktif : A

Dari node yang aktif dicari node tetangga nya. Jika Node ada di list open, maka

nilainya dicek

Jika nilai F dari tetangga lebih kecil dari pada node yang sama yang berada dalam list

open, maka nilai diupdate

List Open : Node B

(37)

Elemen dengan nilai F terkecil : B

3. Node aktif : B

Dari node yang aktif dicari node tetangga nya,

Jika Node ada di list open, maka nilainya dicek

Jika nilai F dari tetangga lebih kecil daripada node yang sama yang berada dalam list

open, maka nilai diupdate

Elemen dengan nilai F terkecil : D

4. Node aktif : D

Dari node yang aktif dicari node tetangga nya,

Jika Node ada di list open, maka nilainya dicek

Jika nilai F dari tetangga lebih kecil daripada node yang sama yang berada dalam list

open, maka nilai diupdate

Elemen dengan nilai F terkecil : C

5. Node aktif : C

Dari node yang aktif dicari node tetangga nya,

Jika Node ada di list open, maka nilainya dicek

Jika nilai F dari tetangga lebih kecil daripada node yang sama yang berada dalam list

open, maka nilai diupdate

LIST OPEN = NODE C

G = 10.9; H = 2.085047; F = G + H = 12.98505

(38)

G = 12.3; H = 7.919182; F = G + H = 20.21918

NODE F

G = 13.7; H = 4.059044; F = G + H = 17.75904

Elemen dengan nilai F terkecil : E

6. Node aktif : E

Dari node yang aktif dicari node tetangga nya,

Jika Node ada di list open, maka nilainya dicek

Jika nilai F dari tetangga lebih kecil daripada node yang sama yang berada dalam list

open, maka nilai diupdate

Elemen dengan nilai F terkecil : H

7. Node aktif : H

Dari node yang aktif dicari node tetangga nya,

Jika Node ada di list open, maka nilainya dicek

Jika nilai F dari tetangga lebih kecil daripada node yang sama yang berada dalam list

open, maka nilai di update

H adalah node tujuan dengan nilai terkecil.

Sehingga Didapat total jarak adalah nilai G yang dimiliki oleh node tujuan yaitu : 14

(39)

Tabel 4.2 Hasil Pengujian Klinik Kecantikan dengan Algoritma A*

No Node G H F

1 A 0 9.645803 9.645803

2 B 6.1 4.938026 11.03803

D 7.6 4.032881 11.63288

3 D 7.6 4.032881 11.63288

E 11.3 2.085047 13.38505

C 10.4 2.3758 12.7758

4 E 10.9 2.085047 12.98505

C 10.4 2.3758 12.7758

G 12.3 7.919182 20.21918

5 E 10.9 2.085047 12.98505

G 12.3 7.919182 20.21918

F 13.7 4.059044 17.75904

6 G 12.3 7.919182 20.21918

F 13.7 4.059044 17.75904

H 14 0 14

4.2.3 Pengujian Proses Algoritma Brute Force

Proses pencarian Klinik Kecantikan dengan menggunakan algoritma Brute force dapat

dilihat pada Gambar 4.8.

(40)

Untuk perhitungan manual tentukan node yang akan menjadi titik asal kemudian tentukan node yang akan menjadi titik tujuan. Diketahui pada gambar di atas titik asal dari Klinik Kecantikan dr.Erwin(A) menuju ke titik tujuan Klinik Kusuma (E) :

Titik Asal : A dan Titik Tujuan : E

Dalam algoritma brute force, dilakukan percobaan terhadap semua rute yang mungkin dilalui dari titik asal.

Pola 1 : dimulai dari node A

Terdapat 2 Node yang terhubung langsung dengan A yaitu node D dan node B, sehingga dari pola pertama dikembangkan menjadi

Pola 2 : A →D

Pola 3: A→B

Dari dua pola di atas kembali dikembangkan, sebagai contoh proses pengembangan dari pola 2 adalah sebagai berikut :

Pola 2 : A→D

Ditinjau node yang terhubung dengan node D yaitu node E dan node G, sehingga didapatkan pola lanjutan

A→D→E

A→D→G

Dilakukan proses yang sama sampai didapatkan hasil sebagai berikut :

(41)
(42)
(43)
(44)
(45)
(46)

147 ADGJIFE 26

Dari percobaan di atas, didapatkan rute terpendek dari A ke E adalah A→D→E dengan

jarak 10.9 km.

4.3 Real Running-Time

Untuk mencari real running time harus dilakukan proses pengujian sistem dengan algoritma

A* dan algoritma Brute Force dimana sebelum mengetahui real running timenya user harus memilih titik awal Klinik Kecantikan dia berada untuk menuju Klinik Kecantikan yang akan

dikunjungi. Akan dilakukan dua kali proses pengujian. Proses pengujian pertama akan dicari

Klinik Kecantikan “A” ke Klinik Kecantikan “H” dengan menggunakan algoritma A* dan

(47)

Gambar 4.9 Hasil Pengujian Pertama Pencarian Klinik Kecantikan

Dari pengujian pertama didapatkan total jarak dengan algoritma A* dan Brute Force yaitu 14 km dan execution time yang didapat algoritma A* yaitu 3.3643ms dan execution time yang didapat algoritma Brute Force yaitu 7.6715ms. Jadi untuk percobaan pertama algoritma A* dan algoritma Brute Force dengan total jarak yang sama dan execution time yang berbeda yaitu algoritma A* lebih cepat dari algoritma Brute Force.

Untuk pengujian kedua, akan dilakukan perbuahan yaitu proses pengujian yang dicari

yaitu Klinik Kecantikan “A” ke Klinik Kecantikan “E” Hasil pengujian kedua dengan

(48)

Gambar 4.10 Hasil Pengujian Kedua Pencarian Klinik Kecantikan

Dari pengujian kedua didapatkan total jarak dengan algoritma A* dan Brute

Force yaitu 10,9 km dan execution time yang didapat algoritma A* yaitu 285.9306ms dan execution time yang didapat algoritma Brute Force yaitu 33594.9261ms. Jadi untuk percobaan pertama algoritma A* dan algoritma Brute Force dengan total jarak yang sama

dan execution time yang berbeda yaitu algoritma A* lebih cepat dari algoritma Brute

Force.

(49)

Tabel 4.4 Hasil Running Time Dari Kedua Pengujian Algoritma Pengujian

Ke

Node

Algoritma Brute-Force

(ms)

Algoritma A*

(ms)

1 A – J 1,4953 0,0356

2 B – J 1,4601 0,0271

3 C – J 0,9824 0,0158

4 D – J 0,9326 0,0222

5 E – J 0,8143 0,0198

6 F – J 1,4163 0,0117

7 G – J 3,9278 0,0076

8 H – J 0,8564 0,0081

9 I – J 4,9435 0,0076

(50)

BAB 5

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Kesimpulan yang dapat diambil dari penelitian ini adalah:

1. Pencarian rute terpendek digambarkan kedalam graph yang hasilnya berupa jarak dan

jalur dari satu node menuju node lainnya sampai node tujuan .

2. Terdapat dari hasil pengujian pencarian jarak terpendek untuk Klinik Kecantikan

algoritma A* memiliki excecution time yang lebih cepat dalam pengujian dari pada

algoritma Brute Force hal ini disebabkan karena algoritma Brute Force yang

mencoba setiap jalan, sehingga menghasilkan waktu yang relatif lebih lama.

3. Proses pencarian rute terpendek dengan algoritma A* dan algoritma Brute Force

selalu menghasilkan rute yang sama yaitu rute terdekat dari tempat tujuan asal

(51)

5.2. Saran

Saran yang dapat diberikan pada penulis untuk pengembangan dan perbaikan sistem lebih lanjut adalah:

1. Sistem ini menggunakan dua jenis algoritma yaitu Brute-Force dan A* . Untuk

pengembangan selanjutnya sebaiknya menggunakan lebih dari dua algoritma

untuk lebih mengoptimalkan pencarian jarak terpendek dan mengetahui

perbandingan kinerja tiap algoritma.

2. Sistem yang dirancang diharapkan dapat langsung menunjukkan lokasi melalu

(52)

BAB 2

LANDASAN TEORI

2.1. Pengertian Algoritma

Algoritma merupakan urutan langkah langkah untuk menyelesaikan masalah yang disusun

secara sistematis, algoritma dibuat dengan tanpa memperhatikan bentuk yang akan digunakan

sebagai implementasinya, sehingga suatu algoritma dapat menjelaskan “bagaimana” cara

melaksanakan fungsi dapat diekspresikan dengan suatu program atau suatu komponen fisik

(Hartono, 2007).

Menurut Donald E.Knuth, terdapat ciri-ciri algoritma yaitu:

1. Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.

2. Setiap langkah harus didefinisikan dengan tepat dan tidak ambiguous (tidak

berarti dua).

3. Algoritma memiliki nol atau lebih masukkan (input). Masukkan ialah besaran

yang diberikan pada algoritma sebelum algoritma mulai bekerja.

4.

2.2. Lintasan Terpendek (Shortest Path)

Masalah jalan terpendek adalah salah satu masalah yang paling mendasar dalam kombinasi

optimasi. Bahkan dalam rangka memecahkan masalah yang paling kombinatorial, baik

perhitungan jalur terpendek disebut untuk, atau konsep yang dibuat menggunakan yang

pertama kali dikembangkan dalam kerangka jalur terpendek.

2.3. Teori Dasar Graf

(Giorgio, 1998).

Lintasan minimum yang dimaksud dapat dicari dengan menggunakan graf. Graf yang

digunakan adalah graf yang berbobot, yaitu graf yang setiap sisinya diberikan suatu nilai atau

bobot. Dalam kasus ini, bobot yang dimaksud berupa jarak dan waktu kemacetan terjadi

(Prama, 2010).

Teori graf merupakan pokok bahasan yang sudah tua usianya namun memiliki banyak

(53)

ini kota dinyatakan sebagai bulatan sedangkan jalan dinyatakan sebagai garis (Mediputra,

2010).

2.3.1 Jenis – Jenis Graf

Berdasarkan ada atau tidaknya gelang atau busur ganda pada suatu graph maka secara umum

graph dapat dikelompokkan menjadi dua jenis:

1. Graph sederhana (simple graph) yaitu graph yang tidak mengandung gelang maupun sisi-ganda. Pada graph sederhana, sisi adalah pasangan tak-terurut (unordered pairs).

Jadi menuliskan sisi (u, v) sama saja dengan (v, u). Kita dapat juga mendefinisikan

graph sederhana G = (V, E) terdiri dari himpunan tidak kosong simpul-simpul dan E adalah himpunan pasangan tak-terurut yang berbeda disebut sisi (Munir, 2007).

2. Graph tak-sederhana (unsimple graph) yaitu graph yang mengandung sisi ganda atau gelang dinamakan graph sederhana (unsimple graph). Ada dua macam graph

tak-sederhana, yaitu graph ganda dan graph semu. Sisi pada graph dapat mempunyai

orientasi arah. Menurut orientasi arah pada sisinya, graph dibagi menjadi dua jenis,

yaitu:

8. Graph tidak berarah (undirected graph) adalah graph yang sisinya tidak mempunyai orientasi arah, pada graph ini, urutan pasangan simpul yang

dihubungkan oleh sisi tidak diperhatikan. Sebagai contoh graph tidak berarah

dapat dilihat pada gambar 2.1 (Munir, 2007)

Gambar 2.1 Contoh Tidak Berarah

2. Graph berarah (directed graph) adalah graph yang setiap sisinya diberikan orientasi arah, graph berarah sering dipakai untuk menggambarkan aliran

proses, peta lintas suatu kota, dan sebagainya (Munir, 2007).

(54)

Gambar 2.2 Contoh Graf Berarah 2.4. Algoritma Brute-Force

Algoritma Brute-Force adalah algoritma yang memecahkan masalah dengan sangat

sederhana, langsung, dan dengan cara yang jelas/lempang. Algoritma Brute-Force adalah

algoritma yang lempang atau apa adanya. Biasanya didasarkan pada pernyataan masalah

(problem statement) dan definisi konsep yang dilibatkan. Algoritma Brute-Force seringkali

lebih mudah di implementasikan dari pada algoritma yang lebih canggih, dan karena

kesederhanaannya. (Pramudita, 2011)

Algoritma Brute Force, disebut juga “naif” yaitu algoritma yang paling sederhana

yang dapat digunakan dalam pola mencari. Hal ini tidak memerlukan preprocessing dari pola

atau teks. Maksudnya adalah bahwa pola dan teks dibandingkan karakter demi karakter

dalam kasus ketidakcocokan, pola digeser satu posisi ke kanan dan perbandingan diulang,

sampai kecocokan ditemukan atau akhir teks sudah tercapai. (Abdeen,A,R.2011)

2.5. Algoritma A*

Algoritma A* (A Star) adalah algoritma pencarian yang merupakan pengembangan dari

algoritma Best First Search (BFS). Seperti halnya pada BFS, untuk menemukan solusi, A*

juga dituntun oleh fungsi heuristik, yang menentukan urutan titik mana yang akan dikunjungi

terlebih dahulu. Heuristik merupakan penilai yang memberi harga pada tiap vertex yang

memandu A* mendapatkan solusi yang diinginkan.

(Adipranata & Handojo 2007)

Persamaan yang digunakan dalam algoritma A* dapat dibagi menjadi dua bagian.

Satu dapat disebut sebagai jalur jarak terakhir dan setengah lainnya dapat disebut sebagai

jarak jalan yang selanjutnya. g (x) adalah jarak dari simpul dari mulai simpul sementara h (x)

adalah nilai heuristik dari node. Nilai heuristik dari node tidak lain adalah jarak Euclidean

(55)

Heuristik merupakan penilai yang memberi harga pada tiap vertex yang memandu A*

mendapatkan solusi yang diinginkan. Heuristik yang paling umum digunakan adalah

Manhattan Distance. Fungsi heuristik ini hanya akan menjumlahkan selisih nilai x dan nilai y

dari dua buah titik. Heuristik ini dinamakan Manhattan karena di kota Manhattan di Amerika,

jarak dari dua lokasi umumnya dihitung dari blok-blok yang harus dilalui saja dan tentunya

tidak bisa dilintasi secara diagonal. (Prayoga dkk, 2008).

Fungsi heuristik sangat berpengaruh terhadap kelakuan Algoritma A*:

1. Apabila h(x) selalu bernilai 0, maka hanya g(x) yang akan berperan, dan A* berubah

menjadi Algoritma Dijkstra, yang menjamin selalu akan menemukan jalur

terpendek.

2. Apabila h(x) selalu lebih rendah atau sama dengan ongkos perpindahan dari titik n ke

tujuan, maka A* dijamin akan selalu menemukan jalur terpendek. Semakin rendah

nilai h(x), semakin banyak titik-titik yang diperiksa A*, membuatnya semakin

lambat.

3. Apabila h(x) tepat sama dengan ongkos perpindahan dari n ke tujuan, maka A* hanya

akan mengikuti jalur terbaik dan tidak pernah memeriksa satupun titik lainnya,

membuatnya sangat cepat. Walaupun hal ini belum tentu bisa diaplikasikan ke

semua kasus, ada beberapa kasus khusus yang dapat menggunakannya.

4. Apabila h(x) kadangkala lebih besar dari ongkos perpindahan dari n ke tujuan, maka

A* tidak menjamin ditemukannya jalur terpendek, tapi prosesnya cepat.

5. Apabila h(x) secara relatif jauh lebih besar dari g(x), maka hanya h(x) yang

memainkan peran, dan A* berubah menjadi BFS.

Fungsi h(x) adalah hyphotesis cost atau heuristic cost atau estimasi cost terkecil dari

node x ke tujuan, yang disebut juga sebagai future path-cost. Fungsi g(x) adalah geographical cost atau cost sebenarnya dari node x ke node tujuan, yang disebut juga sebagai past path-cost. Berdasarkan algoritma standar pencarian jalur terpendek sebelumnya, jika ditambahkan dengan metode A*, algoritma tersebut mengalami perubahan, khususnya saat perluasan node

(56)

2.5.2 Cara Kerja Algoritma A* Mencari Rute Terpendek

Algoritma A* menggunakan dua senarai : OPEN dan CLOSED. Terdapat tiga kondisi

bagi setiap suksesor yang dibangkitkan, yaitu: sudah berada di open, sudah berada di closed,

dan tidak berada di open maupun closed. Pada ketiga kondisi tersebut diberikan penanganan

yang berbeda-beda. Jika suksesor sudah pernah berada di open, maka dilakukan pengecekan

apakah perlu pengubahan parent atau tidak tergantung pada nilai g-nya melalui parent lama

atau parent baru. Jika melalui parent baru memberikan nilai g yang lebih kecil, maka

dilakukan pengubahan parent. Jika pengubahan parent dilakukan, maka dilakukan juga

perbaruan (update) nilai g dan f pada suksesor tersebut. Untuk terpilih sebagai simpul terbaik

(best node). Jika suksesor sudah pernah berada di closed, maka dilakukan pengecekan apakah

perlu pengubahan parent atau tidak. Jika ya, maka dilakukan perbaruan nilai g dan f pada

suksesor tersebut serta semua “ anak cucunya” yang sudah pernah berda di open.

Dengan perbaruan ini, maka semua anak cucunya tersebut memiliki kesempatan lebih

besar untuk terpilih sebagai simpul terbaik (best node). Jika suksesor tidak berada di open

maupun di closed, maka suksesor tersebut dimasukkan ke dalam open. Tambahkan suksesor

tersebut sebagai suksesornya best node. Hitung biaya suksesor Tersebut dangan rumus f’ = g

+ h’. (Harianja,F. 2013).

(57)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Memiliki wajah cantik, merupakan idaman setiap wanita. Dan Klinik Kecantikan merupakan

tempat dimana para wanita bisa memiliki wajah cantik dan kulit yang putih bersinar.

Permasalahan biaya dan waktu sudah menjadi hal yang paling diperhitungkan pada saat

melakukan perjalanan. Seperti perjalanan mencari tempat Klinik Kecantikan , dikarenakan

tidak semua orang mengetahui wilayah tempat yang akan mereka datangi. Akan tetapi ada

keadaan dimana Klinik Kecantikan yang dituju sedang tidak buka atau tutup. Maka dari itu

sulit untuk menemukan rute tercepat untuk menuju tempat Klinik Kecantikan yang lain.

Untuk mencari rute terpendek antar Klinik Kecantikan tersebut, penulis akan menggunakan

algoritma Brute-Force dan algoritma A*.

Kota Medan adalah salah satu kota metropolitan dengan lalu lintas kendaraan yang

padat dan ramai, sehingga menyebabkan user membutuhkan waktu yang lama dan biaya yang

tidak sedikit ketika melakukan perjalanan. Misalnya perjalanan menuju ke Klinik

Kecantikan. Pencarian rute terpendek ini dibuat untuk memudahkan perjalanan, serta

menghemat biaya sehingga user dapat mendatangi Klinik Kecantikan yang satu dan tempat

lainnya dengan tepat waktu. Tanpa harus mencari jalan yang lain untuk cepat sampai

ketujuan, yang terkadang menyebabkan salah jalan sehingga perjalanan yang mereka tempuh

menjadi lebih lama.

Algoritma Brute-Force adalah sebuah pendekatan yang sangat jelas untuk

memecahkan suatu persoalan, biasanya didasarkan pada problem statement dan definisi

konsep yang dilibatkan. Cara kerjanya yaitu Evaluasi setiap kemungkinan solusi “satu per

satu” dan simpan solusi terbaik yang ditemukan sampai sejauh ini (the best solusi found so

far). (Wicaksana,P,A. 2013).

Sedangkan Algoritma A* menyelesaikan masalah yang menggunakan graf untuk

perluasan ruang statusnya. Dengan menerapkan suatu heuristik, algoritma ini membuang

langkah-langkah yang tidak perlu dengan pertimbangan bahwa langkah-langkah yang

dibuang sudah pasti merupakan langkah yang tidak akan mencapai solusi yang diinginkan.

Algoritma A* membangkitkan simpul yang paling mendekati solusi. Simpul ini kemudian

(58)

terbaik. Oleh sebab itu, algoritma ini cocok digunakan dalam menghadapi permasalahan

Perhitungan jalur terpendek untuk menuju Klinik Kecantikan terdekat.(Harianja,F. 2013).

Dari pemaparan di atas, penulis melakukan penelitian yang berjudul “Perbandingan

Algoritma Brute-Force Dan Algoritma A* Untuk Mencari Rute Terpendek Antar Klinik Kecantikan di Kota Medan”.

1.2 Rumusan Masalah

Rumusan masalah yang akan penulis teliti berdasarkan identifikasi masalah diatas adalah

Bagaimana menentukan rute terpendek yang dapat diselesaikan dengan perbandingan

algoritma Brute-Force dan algoritma A*,sehingga dapat mengetahui cara kerja kedua

algoritma tersebut.

1.3 Ruang Lingkup Masalah

Ruang Lingkup masalah yang diangkat adalah sebagai berikut:

1. Graf yang digunakan hanya graf statis saja.

2. Bobot yang digunakan adalah jarak.

3. Memperhitungkan dua arah.

4. Titik tujuan yang akan dikunjungi sebanyak 10 titik yaitu pada

Klinik Kecantikan di Medan.

5. Tidak memperhitungka n performansi algoritma.

6. Bahasa pemrograman yang digunakan adalah C#.

7.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk menghasilkan rute terpendek dari jalur awal menuju

jalur Klinik Kecantikan Kota Medan. Dengan menerapkan algoritma Brute-Force dan

algoritma A*, penelitian ini dapat membantu mencari rute terpendek agar lebih efektif dan

efisien dengan tujuan untuk menghemat waktu dan menghemat biaya.

1.5 Manfaat Penelitian

Manfaat yang diharapkan dapat dihasilkan dari penelitian ini adalah untuk membantu

(59)

pemecahan kasus jalur terpendek. Dan Saya menjadi lebih memahami algoritma mana yang

lebih efektif untuk digunakan dalam teknik pencarian rute terpendek (shortest path).

1.6 Metode Penelitian

Penelitian ini menerapkan beberapa metode penelitian sebagai berikut:

1. Studi Literatur

Pada tahap ini dilakukan pengumpulan referensi yang diperlukan dalam penelitian.

Hal ini dilakukan untuk memperoleh informasi dan data yang diperlukan untuk

penulisan skripsi ini. Referensi yang digunakan dapat berupa buku, jurnal, artikel, situs

internet yang berkaitan dengan penelitian ini.

2. Pengumpulan dan Analisis Data

Pada tahap ini dilakukan pengumpulan dan analisa data yang berhubungan dengan

penelitian ini seperti fungsi algoritma Brute-Force dan A*, serta data jarak klinik.

3. Perancangan Sistem

Pada tahap ini dilakukan perancangan user interface, Unified Modeling Language

(UML), dan struktur program sistem pengamanan teks.

4. Implementasi Sistem

Sistem diimplementasikan dengan menggunakan Algoritma Brute-Force dan

A*.

5. Pengujian Sistem

Pada tahap ini akan dilakukan pengujian terhadap sistem yang telah

dikembangkan.

6. Dokumentasi Sistem

Melakukan pembuatan dokumentasi sistem mulai dari tahap awal hingga pengujian

(60)

1.7 Sistematika Penulisan

Setelah uraian di bab satu ini, penyajian selanjutnya disampaikan dengan sistematika berikut :

BAB 1: PENDAHULUAN

Bab ini berisi mengenai latar belakang, rumusan masalah, batasan masalah,

tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika

penulisan skripsi.

BAB 2: LANDASAN TEORI

Bab ini berisi mengenai teori-teori yang berkaitan dengan enkripsi, dekripsi

dan pengamanan menggunakan algoritma Brute-Force dan A*.

BAB 3: ANALISIS DAN PERANCANGAN SISTEM

Bab ini terdiri dari tahap analisis sitem dan desain perancangan dari program

yang akan dibuat, dalam hal ini termasuk juga algoritma dan program tersebut.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi ulasan dan pengujian terhadap program yang telah

diimplementasikan dengan menggunakan bahasa C#.

BAB 5: KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari hasil penelitian yang telah selesai

(61)

ABSTRAK

Antusiasme masyarakat kota Medan pada Klinik Kecantikan cukup tinggi. Klinik Kecantikan melayani sesuai keluhan dan perawaatan konsumen, termasuk konsultasi masalah kulit, pengobatan dan lain sebagainya. Banyak pilihan dapat diambil untuk sampai ke lokasi Klinik Kecantikan terdekat yang diinginkan, akan tetapi ada keadaan dimana Klinik Kecantikan yang dituju sedang tidak buka atau tutup. Sehingga dibutuhkan rute terpendek untuk menuju Klinik Kecantikan yang lain. Data yang berupa jarak dan rute untuk menuju Klinik Kecantikan yang diinginkan diambil dari Google maps, dengan jumlah simpul (vertex) sebanyak 10 untuk kemudian diterapkan kedalam sebuah graf. Untuk memecahkan masalah graf maka digunakan algoritma, dalam hal ini algoritma A*, dan algoritma Brute Force digunakan untuk memecahkan masalah pencarian rute terpendek, Berdasarkan Hasil penelitian Klinik Kecantikan terdekat yang dicari dengan menggunakan algoritma A* dan algoritma Brute Force menghasilkan total jarak yang bernilai sama dan running time yang berbeda di mana algoritma A* memiliki nilai running time yang lebih cepat dibandingkan algoritma Brute Force. Namun Brute-Force menghasilkan jarak optimum sementara A* sub optimum

(62)

COMPARISON ALGORITHM BRUTE-FORCE AND A* ALGORITHM TO FIND THE SHORTEST ROUTE BETWEEN BEAUTY CLINIC IN MEDAN CITY

ABSTRACT

Public enthusiasm for beauty clinic is particularly high in Medan city. Beauty Clinic serves the appropriate complaints and treatment for consumers , including consultation skin problems, treatment, etc Many options can be taken to get to the location of the nearest desired Beauty Clinic,but there’s a condition when the Beauty Clinic on the go is not open or closed. The Data of distance and the route to the location Are desirable taken from Google maps, with the number of nodes about 10 and it will be implemented into a graph . To solving a graf problem it also need algorithms, in this case A* algorithm, and Brute Force algorithm are used to solve the searching shortest path problem, Based on the results the nearby Beauty Clinic that found using the A* algorithm and Brute Force algorithm produces the same total distance but with a different running times which is the A* algorithm is faster

than brute force algorithm. However Brute-Force produces the optimum distance while the

A* is optimum.

(63)

PERBANDINGAN ALGORITMA BRUTE-FORCE DAN ALGORITMA A* UNTUK MENCARI RUTE TERPENDEK ANTAR

KLINIK KECANTIKAN DI KOTA MEDAN

SKRIPSI

SYINDY WULANDARI

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(64)

PERBANDINGAN ALGORITMA BRUTE-FORCE DANALGORITMA A*

UNTUK MENCARI RUTE TERPENDEK ANTAR KLINIK KECANTIKAN

DI KOTA MEDAN

SKRIPSI

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

SYINDY WULANDARI 121401103

PROGRAM STUDI S-1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(65)

PERSETUJUAN

Judul : PERBANDINGAN ALGORITMA BRUTE-FORCE DAN ALGORITMA A* UNTUK MENCARI RUTE TERPENDEK ANTAR KLINIK KECANTIKAN DI KOTA MEDAN

Kategori : SKRIPSI

Nama : SYINDY WULANDARI

Nomor Induk Mahasiswa : 121401103

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

INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Maret 2017

Komisi Pembimbing :

Dosen Pembimbing II Dosen Pembimbing I

M. Andri Budiman,S.T.,M.Comp.Sc.,M.E.M Prof. Dr. Muhammad Zarlis, M.Sc

NIP. 197510082008011011 NIP. 195707011986011003

Diketahui/disetujui oleh

Program Studi S1 Ilmu Komputer

Ketua,

Dr. Poltak Sihombing, M.Kom

(66)

PERNYATAAN

PERBANDINGAN ALGORITMA BRUTE-FORCE DAN ALGORITMA A* UNTUK

MENCARI RUTE TERPENDEK ANTAR KLINIK

KECANTIKAN DI KOTA MEDAN

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan

dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, Maret 2017

Syindy Wulandari

(67)

PENGHARGAAN

Puji dan syukur kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya,

sehingga Penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk

memperoleh gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer Universitas

Sumatera Utara.

Penulis ingin menyampaikan rasa hormat dan terima kasih yang sebesar–besarnya

kepada :

1. Bapak Prof. Dr. Runtung Sitepu, S.H., M.Hum selaku Rektor Universitas

Sumatera Utara.

2. Bapak Prof. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer

dan Teknologi Informasi, Universitas Sumatera Utara.

3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu

Komputer Universitas Sumatera Utara.

4. Ibu Dr. Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu

Komputer Universitas Sumatera Utara.

5. Bapak Prof.Dr. Muhammad Zarlis,M.Sc, selaku Dosen Pembimbing I yang telah

memberikan bimbingan, saran, masukan dan dukungan kepada penulis dalam

pengerjaan skripsi ini.

6. Bapak M.Andri Budiman S.T, M.Comp.Sc,M.E.M, selaku Dosen Pembimbing II

yang telah memberikan bimbingan, saran, masukan dan dukungan kepada penulis

dalam pengerjaan skripsi ini.

7. Bapak Dr.Poltak Sihombing,M.Kom, selaku Dosen Pembanding I yang

memberikan kritik dan saran untuk penyempurnaan skripsi ini.

8. Ibu Sri Melvani Hardi,S.Kom.,M.Kom, selaku Dosen Pembanding II yang

memberikan kritik dan saran untuk penyempurnaan skripsi ini.

(68)

10. Teristimewa Ayahanda Suyono dan Ibunda Sri Rahayu yang tidak henti-hentinya

memberikan doa, dukungan dan motivasi yang selalu menjadi semangat penulis

untuk meyelesaikan skripsi ini.

11. Abang tersayang Syindu Pratama dan Adik tercinta Muhammad Fauzi yang terus

memotivasi penulis untuk menyelesaikan skripsi ini.

12. Teman-teman yang luar biasa Subur Hadi Santoso, Septy Putri Utami, Desi

Purnama Sari Sebayang, Dhika Handayani , M.Khairun Abdillah, Bagus Rangga,

M.Eriyadi, Dody Prana yang telah memberikan doa, dukungan dan membantu

penulis dalam menyelesaikan skripsi ini.

13. Dan semua pihak yang telah banyak membantu yang tidak bisa disebutkan

satu-persatu.

Semoga semua kebaikan, bantuan, perhatian, serta dukungan yang telah diberikan kepada

penulis mendapatkan berkat yang melimpah dari Allah SWT

Medan, Maret 2017

Penulis ,

(69)

ABSTRAK

Antusiasme masyarakat kota Medan pada Klinik Kecantikan cukup tinggi. Klinik Kecantikan melayani sesuai keluhan dan perawaatan konsumen, termasuk konsultasi masalah kulit, pengobatan dan lain sebagainya. Banyak pilihan dapat diambil untuk sampai ke lokasi Klinik Kecantikan terdekat yang diinginkan, akan tetapi ada keadaan dimana Klinik Kecantikan yang dituju sedang tidak buka atau tutup. Sehingga dibutuhkan rute terpendek untuk menuju Klinik Kecantikan yang lain. Data yang berupa jarak dan rute untuk menuju Klinik Kecantikan yang diinginkan diambil dari Google maps, dengan jumlah simpul (vertex) sebanyak 10 untuk kemudian diterapkan kedalam sebuah graf. Untuk memecahkan masalah graf maka digunakan algoritma, dalam hal ini algoritma A*, dan algoritma Brute Force digunakan untuk memecahkan masalah pencarian rute terpendek, Berdasarkan Hasil penelitian Klinik Kecantikan terdekat yang dicari dengan menggunakan algoritma A* dan algoritma Brute Force menghasilkan total jarak yang bernilai sama dan running time yang berbeda di mana algoritma A* memiliki nilai running time yang lebih cepat dibandingkan algoritma Brute Force. Namun Brute-Force menghasilkan jarak optimum sementara A* sub optimum

(70)

COMPARISON ALGORITHM BRUTE-FORCE AND A* ALGORITHM TO FIND THE SHORTEST ROUTE BETWEEN BEAUTY CLINIC IN MEDAN CITY

ABSTRACT

Public enthusiasm for beauty clinic is particularly high in Medan city. Beauty Clinic serves the appropriate complaints and treatment for consumers , including consultation skin problems, treatment, etc Many options can be taken to get to the location of the nearest desired Beauty Clinic,but there’s a condition when the Beauty Clinic on the go is not open or closed. The Data of distance and the route to the location Are desirable taken from Google maps, with the number of nodes about 10 and it will be implemented into a graph . To solving a graf problem it also need algorithms, in this case A* algorithm, and Brute Force algorithm are used to solve the searching shortest path problem, Based on the results the nearby Beauty Clinic that found using the A* algorithm and Brute Force algorithm produces the same total distance but with a different running times which is the A* algorithm is faster

than brute force algorithm. However Brute-Force produces the optimum distance while the

A* is optimum.

(71)

DAFTAR ISI

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Pengertian Algoritma 6

2.2 Lintasan Terpendek (Shortest Path) 6

(72)

3.1 Analisis Sistem 11

3.1.1 Analisis Masalah 11

3.1.2 Analisis Persyaratan 18

3.1.2.1 Persyaratan Fungsional 18

3.1.2.2 Persyaratan Non-Fungsional 18

3.1.3 Analisis Proses 19

3.1.4 Flowchart 19

3.1.4.1 Flowchart Sistem 20

3.2 Perancangan Sistem 21

3.2.1 Use Case Diagram 21

3.2.2 Activity Diagram 22

3.2.3 Sequence Diagram 23

3.3 Perancangan Antarmuka (Interface) 23

3.3.1 Halaman Menu Home 24

3.3.2 Halaman Menu Pengujian 25

3.3.3 Halaman Menu Pengolahan Data 26

3.3.3.1 Tabel Node 27

3.3.3.2 Tabel Koneksi 28

3.3.4 Halaman Menu Tentang Penulis 30

(73)

4.2 Pengujian 36

4.2.1 Data Node 36

4.2.2 Pengujian Proses Algoritma A* 36

4.2.3 Pengujian Proses Algoritma Brute-Force 39

4.3 Real Running-Time 45

Bab 5 Kesimpulan dan Saran

5.1 Kesimpulan 48

5.2. Saran 49

Daftar Pustaka 50

(74)

DAFTAR TABEL

Halaman

Tabel 3.1 Nama-Nama Klinik Kecantikan yang Menjadi Vertex 12 Tabel 3.2 Data Simpul (Vertex) Pada Graf Klinik Kecantikan di Kota Medan 16 Tabel 3.3 Keterangan Gambar Rancangan Antarmuka Halaman Home 24 Tabel 3.4 Keterangan Gambar Rancangan Menu Pengujian 26 Tabel 3.5 Keterangan Gambar Rancangan Antarmuka Tabel Node 28 Tabel 3.6 Keterangan Gambar Rancangan Antarmuka Tabel Vertex 29 Tabel 3.7 Keterangan Gambar Rancangan Antarmuka Tentang 30 Tabel 3.8 Keterangan Gambar Rancangan Antarmuka Bantuan 31

Tabel 4.1 Data Keterangan Klinik Sebagai Node 36

(75)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Contoh Graf Tidak Berarah 7

Gambar 2.2 Contoh Graf Berarah 8

Gambar 3.1 Peta Atau Rute Klinik Kecantikan Dikota Medan 15

Gambar 3.2 Diagram Ishikawa 17

Gambar 3.3 Flowchart Sistem 20

Gambar 3.4 Use Case Diagram 21

Gambar 3.5 Activity Diagram Cara Kerja Sistem 22

Gambar 3.6 Sequence Diagram Sistem 23

Gambar 3.7 Rancangan Antarmuka Halaman Menu Home 24

Gambar 3.8 Rancangan Antarmuka Menu Pengujian 25

Gambar 3.9 Rancangan Antarmuka Tabel Node 27

Gambar 3.10 Rancangan Antarmuka Tabel Vertex 29

Gambar 3.11 Rancangan Antarmuka Tentang 30

Gambar 3.12 Rancangan Antarmuka Bantuan 31

Gambar 4.1 Implementasi Halaman Awal 32

Gambar 4.2 Implementasi Pengujian 33

Gambar 4.3 Implementasi Halaman Tabel Node 34

Gambar 4.4 Implementasi Halaman Tabel Koneksi 34

Gambar 4.5 Implementasi Halaman Tentang 35

Gambar 4.6 Implementasi Halaman Bantuan 35

(76)

DAFTAR LAMPIRAN

Halaman

Lampiran 1 Listing Program A-1

Gambar

Gambar 3.1 Peta atau Rute Klinik Kecantikan di Kota Medan
Tabel 3.2 Data Simpul (Vertex) Pada Graf Klinik Kecantikan di Kota Medan
Gambar 3.2 Diagram Ishikawa
Gambar 3.3 Flowchart Sistem
+7

Referensi

Dokumen terkait

Namun pada penulisan ini akan dicari rute fuzzy terpen- dek dengan menggunakan Algoritma Brute Force , Algoritma Sisi Terurut, Algo- ritma Tetangga Terdekat ( Nearest Neighbor

Hasil yang diperoleh dari perhitungan diatas untuk menentukan rute terpendek menggunakan algoritma Greedy adalah melalui node A − a1 − B dengan total jarak 3,7Km

Namun pada penulisan ini akan dicari rute fuzzy terpendek dengan menggunakan Algoritma Brute Force, Algoritma Sisi Terurut, Algoritma Tetangga Terdekat (Near- est Neighbor

Hasil penelitian ini menunjukkan bahwa pada kriteria running time, algoritma Brute Force lebih cepat dibandingkan algoritma Boyer-Moore dengan total running time algoritma Brute

Selain itu permasalahan untuk penelitian ini bukan hanya mencari rute terpendek dengan dua jenis algoritma, namun juga dengan membandingkan jarak dan hasil proses dari kedua

Algoritma Boyer Moore dan Algoritma Brute Force merupakan bagian dari algoritma String Matching yang memiliki cara kerja berbeda, sehingga jika diterapkan dalam pencarian

Dalam penelitian ini, algoritma Brute Force terbukti mampu memberikan pilihan solusi rute perjalanan dengan biaya perjalanan paling optimal atau murah untuk kegiatan berwisata di

Pencarian Elemen Lebih Cepat daripada Brute Force: • Binary Search: Algoritma pencarian ini bekerja dengan cara membagi data menjadi dua bagian dan membandingkan elemen tengah dengan