LAMPIRAN
public Bruteforce(List<Node> semuaNode) {
private void rekursif_bruteforce(List<Node> sampel, List<Node> populasi){
if(sampel[sampel.Count-1].getId() ==
public bool cariRuteTerpendek(Node asal, Node tujuan){
())) *
private Elemen cariElemenDenganNilaiTerkecil(List<Elemen> open){ float nilaiFTerkecil = float.PositiveInfinity;
public bool cariRuteTerpendek(Node asal, Node tujuan){
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; }
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
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”
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
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
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
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
Gambar 3.1 Peta atau Rute Klinik Kecantikan di Kota Medan
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
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
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.
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
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
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.
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.
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
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
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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.
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 :
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
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
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.
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
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
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
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
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).
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
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
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).
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
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
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
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
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
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.
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
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
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
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
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.
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 ,
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
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.
DAFTAR ISI
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori
2.1 Pengertian Algoritma 6
2.2 Lintasan Terpendek (Shortest Path) 6
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
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
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
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
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program A-1