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

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. Gambar 3.4 Use Case Diagram Universitas Sumatera Utara 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. Gambar 3.5 Activity Diagram Cara Kerja Sistem Universitas Sumatera Utara 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 Halaman Home merupakan halaman utama yang ditampilkan dari sistem ketika sistem dijalankan.Tampilan rancangan halaman menu Home dapat dilihat pada Gambar 3.7 dan keterangan gambar rancangan halaman pada Tabel 3.3. Universitas Sumatera Utara 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 8 Label untuk menampilkan program studi 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 4 Group Box untuk grup A Universitas Sumatera Utara 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 node yang akan diolah. Rancangan menu Tabel Node dapat dilihat pada gambar 3.9 dan keterangan dapat dilihat pada tabel 3.5 Universitas Sumatera Utara 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 12 Textbox untuk menampilkan posisi X tempat Universitas Sumatera Utara 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 3 ComboBox untuk mengisi tempat tujuan 4 Textbox untuk mengisi jarak antara tempat asal ke tempat tujuan Universitas Sumatera Utara 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. Gambar 3.11 Rancangan Antarmuka Tentang Universitas Sumatera Utara 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. Gambar 3.12 Rancangan Antarmuka Bantuan Universitas Sumatera Utara 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 6 Label menampilkan cara melakukan pengujian pada setiap algoritma Universitas Sumatera Utara

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 menggunakan algoritma Brute Force atau A seperti yang tersedia pada Gambar 4.2. Universitas Sumatera Utara 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 data node yang akan diolah. Rancangan menu Tabel Node dapat dilihat pada gambar 4.3 Universitas Sumatera Utara 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 Halaman Tentang berisi informasi dari biodata penulis dan sistem yang dibangun sebagaimana terlihat pada gambar 4.5 Universitas Sumatera Utara 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.2 Pengujian 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 1 Klinik Kecantikkan by dr. Erwin Jl. Gatot Subroto 3,5969583 98,611345 2 Natasha Skin Clinic Center Skin Care Medan Plaza Plaza Medan Fair 3,5901958 98,6532813 3 Klinik Kecantikan EUROSKINLAB Medan Jl Perintis Kemerdekaan 3,597099 98,679077 4 Miracle Aesthetic Clinic Medan Jl. Hayam Wuruk 3,5816027 98,6615962 5 Klinik Kusuma Jalan H. Misbah 3,575614 98,682255 6 Erhaclinic Jl. Iskandar Muda 3,588245 98,661092 7 Yasmin Skin Care by dr. Angginta Jl. Gagak Hitam 3,5827929 98,626354 8 Skinos Medan JL. Asia 3,586415 98,697616 9 Vernal Skin Solution Jl. Bambu II 3,60686 98,6760779 10 The Clinic Medan Jl. Sekip 3,594361 98,666676 Universitas Sumatera Utara 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 G = 6.1; H = 4.938026; F = G + H = 11.03803 Node D G = 7.6; H = 4.032881; F = G + H = 11.63288 Universitas Sumatera Utara 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 List Open : Node D G = 7.6; H = 4.032881; F = G + H = 11.63288 Node E G = 11.3; H = 2.085047; F = G + H =13.38505 Node C G = 10.4; H = 2.3758; F = G + H = 12.7758 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 List Open : Node E G = 10.9; H = 2.085047; F = G + H = 12.98505 Node C G = 10.4; H = 2.3758; F = G + H = 12.7758 Node G G = 12.3; H = 7.919182; F = G + H = 20.21918 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 NODE G Universitas Sumatera Utara 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 List Open : Node G G = 12.3; H = 7.919182; F = G + H = 20.21918 NODE F G = 13.7; H = 4.059044; F = G + H = 17.75904 NODE H G = 14; H = 0; F = G + H = 14 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 Berdasarkan penjelasan diatas sehingga dapat dilihat hasilnya pada Tabel 4.2 berikut ini : Universitas Sumatera Utara Tabel 4.2 Hasil Pengujian Klinik Kecantikan dengan Algoritma A No Node G H F 1 A 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 14 4.2.3 Pengujian Proses Algoritma Brute Force Proses pencarian Klinik Kecantikan dengan menggunakan algoritma Brute force dapat dilihat pada Gambar 4.8. Gambar 4.8 Tampilan Pengujian Pencarian Klinik Kecantikan dengan Algoritma Brute Force Rute Hijau Universitas Sumatera Utara 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.ErwinA 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 : Tabel 4.3 Hasil Pengujian Algoritma Brute Force No Rute Jarak 1 AB 6.1 2 ABC 10.4 3 ABCD ∞ 4 ABCE ∞ 5 ABCF 13.7 6 ABCFD ∞ Universitas Sumatera Utara 7 ABCFE 18.4 8 ABCFG ∞ 9 ABCFH ∞ 10 ABCFI 16 11 ABCFID ∞ 12 ABCFIE ∞ 13 ABCFIG ∞ 14 ABCFIH 21.2 15 ABCFIHD ∞ 16 ABCFIHE 24.3 17 ABCFIHG 30.9 18 ABCFIHGD 35.6 19 ABCFIHGDE 38.9 20 ABCFIHGDJ ∞ 21 ABCFIHGE ∞ 22 ABCFIHGJ 36.5 23 ABCFIHGJD ∞ 24 ABCFIHGJE ∞ 25 ABCFIHJ 25.8 26 ABCFIHJD ∞ 27 ABCFIHJE ∞ 28 ABCFIHJG 31.4 29 ABCFIHJGD 36.1 30 ABCFIHJGDE 39.4 31 ABCFIHJGE ∞ 32 ABCFIJ 17.1 33 ABCFIJD ∞ 34 ABCFIJE ∞ Universitas Sumatera Utara 35 ABCFIJG 22.7 36 ABCFIJGD 27.4 37 ABCFIJGDE 30.7 38 ABCFIJGDH ∞ 39 ABCFIJGE ∞ 40 ABCFIJGH 32.4 41 ABCFIJGHD ∞ 42 ABCFIJGHE 35.5 43 ABCFIJH 21.7 44 ABCFIJHD ∞ 45 ABCFIJHE 24.8 46 ABCFIJHG 31.4 47 ABCFIJHGD 36.1 48 ABCFIJHGDE 39.4 49 ABCFIJHGE ∞ 50 ABCFJ ∞ 51 ABCG ∞ 52 ABCH ∞ 53 ABCI ∞ 54 ABCJ ∞ 55 ABD ∞ 56 ABE 11.3 57 ABF ∞ 58 ABG ∞ 59 ABH ∞ 60 ABI ∞ 61 ABJ ∞ 62 AC ∞ Universitas Sumatera Utara 63 AD 7.6 64 ADB ∞ 65 ADC ∞ 66 ADE 10.9 67 ADF ∞ 68 ADG 12.3 69 ADGB ∞ 70 ADGC ∞ 71 ADGE ∞ 72 ADGF ∞ 73 ADGH 22 74 ADGHB ∞ 75 ADGHC ∞ 76 ADGHE 25.1 77 ADGHF ∞ 78 ADGHI 27.2 79 ADGHIB ∞ 80 ADGHIC ∞ 81 ADGHIE ∞ 82 ADGHIF 29.5 83 ADGHIFB ∞ 84 ADGHIFC 32.8 85 ADGHIFCB 37.1 86 ADGHIFCBE 42.3 87 ADGHIFCBJ ∞ 88 ADGHIFCE ∞ 89 ADGHIFCJ ∞ 90 ADGHIFE 34.2 Universitas Sumatera Utara 91 ADGHIFJ ∞ 92 ADGHIJ 28.3 93 ADGHIJB ∞ 94 ADGHIJC ∞ 95 ADGHIJE ∞ 96 ADGHIJF ∞ 97 ADGHJ 26.6 98 ADGHJB ∞ 99 ADGHJC ∞ 100 ADGHJE ∞ 101 ADGHJF ∞ 102 ADGHJI 27.7 103 ADGHJIB ∞ 104 ADGHJIC ∞ 105 ADGHJIE ∞ 106 ADGHJIF 30 107 ADGHJIFB ∞ 108 ADGHJIFC 33.3 109 ADGHJIFCB 37.6 110 ADGHJIFCBE 42.8 111 ADGHJIFCE ∞ 112 ADGHJIFE 34.7 113 ADGI ∞ 114 ADGJ 17.9 115 ADGJB ∞ 116 ADGJC ∞ 117 ADGJE ∞ 118 ADGJF ∞ Universitas Sumatera Utara 119 ADGJH 22.5 120 ADGJHB ∞ 121 ADGJHC ∞ 122 ADGJHE 25.6 123 ADGJHF ∞ 124 ADGJHI 27.7 125 ADGJHIB ∞ 126 ADGJHIC ∞ 127 ADGJHIE ∞ 128 ADGJHIF 30 129 ADGJHIFB ∞ 130 ADGJHIFC 33.3 131 ADGJHIFCB 37.6 132 ADGJHIFCBE 42.8 133 ADGJHIFCE ∞ 134 ADGJHIFE 34.7 135 ADGJI 19 136 ADGJIB ∞ 137 ADGJIC ∞ 138 ADGJIE ∞ 139 ADGJIF 21.3 140 ADGJIFB ∞ 141 ADGJIFC 24.6 142 ADGJIFCB 28.9 143 ADGJIFCBE 34.1 144 ADGJIFCBH ∞ 145 ADGJIFCE ∞ 146 ADGJIFCH ∞ Universitas Sumatera Utara 147 ADGJIFE 26 148 ADGJIFH ∞ 149 ADGJIH 24.2 150 ADGJIHB ∞ 151 ADGJIHC ∞ 152 ADGJIHE 27.3 153 ADGJIHF ∞ 154 ADH ∞ 155 ADI ∞ 156 ADJ ∞ 157 AE ∞ 158 AF ∞ 159 AG ∞ 160 AH ∞ 161 AI ∞ 162 AJ ∞ 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