BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan tahapan yang menjelaskanbeberapa permasalahan yang akan membantu proses perancangan model sistem yang nantinya akan diimplementasikan dan menjadi solusi dari permasalahan yang dibahas. Aplikasi pencarian sekolah taman kanak-kanak (TK) terdekat di Kota Medan iniadalah aplikasi untukmenentukan jalur terpendek yang efisien untuk untuk mencapai lokasi yang telah ditentukan. Proses pembuatan aplikasi ini melalui beberapa tahapan untuk perancangan sistem.
3.1.1 Analisis Masalah
Banyak cara yang digunakan untuk mencapai tempat yang diinginkan dengan mudah, dalam hal ini yaitu menuju sekolah taman kanak-kanak yang diinginkan diperlukan suatu cara yang cepat dan tepat dalam mencari jalur terpendek dan dapat memilih solusi yang optimal sehingga dapat menghemat waktu. Dengan demikian, penulis mencari suatu cara pencarian sekolah taman kanak-kanak (TK) terdekat di Kota Medan menggunakan algoritma Bellman-Ford.
Dalam mengidentifikasi suatu masalah dapat menggunakan diagram Ishikawa
Gambar 3.1 Diagram Ishikawa
Diagram ishikawa diatas dibagi dalam 4 aspek yaitu material, metode, user dan sistem. Pada bagian material terdapat dua buah masalah dimana masalahnya tersebut adalah terjadi ketidakefisinan waktu dan tidak mengetahui rute sekolah-sekolah terdekat dengan lokasi kerja orangtua. Metode adalah kebutuhan yang spesifik dalam proses yaitu dibutuhkannya gambaran visual dan algoritma shortest path. User adalah apa saja yang akan diperoleh pengguna aplikasi dimana user yang sebelumnya tidak mengetahui cara kerja sistem. Sistem adalah hal yang akan dibuat dengan membuat aplikasi pencarian sekolah TK terdekat dengan menggunakan algoritma Bellman-Ford dan peta digital.
Hasil kerja dari algoritma Bellman-Ford diaplikasikan dalam bentuk graf dengan mengikuti peta Kota Medan, lalu verteks ditentukan berdasarkan nama-nama sekolah TK yang telah dipilih. Dan juga edge yang merupakan panjang jarak yang akan dilalui dari satu TK ke TK lainnya. Terdapat 10 nama sekolah TK yang telah dipilih yang nantinya akan diterapkan ke dalam graf pada aplikasi yang akan dibuat. Nama-nama sekolah TK yang digunakan dapat dilihat pada tabel 3.1.
Sistem terdekat dengan algoritma shostest path
Belum adanya aplikasi untuk
Tidak mengetahui rute antar sekolah terdekat dengan tempat kerja
Tabel 3.1 Daftar Nama Sekolah yang menjadi verteks
No Nama Sekolah TK
1 TK Namira Islamic School
2 TK Yayasan Pendidikan Shaffiyatul Amaliyyah
3 TK Djuwita
4 TK Fathul Islam
5 TK Happy Holy Kids
6 TK Fajar
7 TK High Scope
8 TK Methodist 1
9 TK Harapan 1
10 TK Kemala Bhayangkari
Dalam representasi graf, penentuan verteks dan edge pada graf sekolah TK di Kota Medan sangat memperhatikan bobot nilai agar proses pencarian sekolah TK terdekat mendapat hasil yang optimal. Data antar verteks satu dengan yang lainnya dapat dilihat pada tabel 3.2.
Tabel 3.2 Data Setiap Verteks pada Sekolah TK di Kota Medan(google maps)
No Nama Vertex Nama Tetangga Bobot
1 TK Yayasan Pendidikan
Shaffiyatul Amaliyyah
TK Djuwita 1.16km
TK Namira Islamic School 2 km
2 TK Djuwita TK Fathul Islam 3 km
TK Kemala Bhayangkari 1,6 km
7 TK Methodist 1 TK High Scope 400 m
TK Happy Holy Kids 2,3 km
TK Harapan 1 1,48 km
TK Kemala Bhayangkari 2,5 km
8 TK Namira Islamic School TK Yayasan Pendidikan
Shaffiyatul Amaliyyah
2 km
9 TK Harapan 1 TK Methodist 1` 1,48 km
TK Kemala Bhayangkari 30km
3.1.2 Analisis Kebutuhan
Tahap analisis kebutuhan dilakukan setelah melalui tahap analisis masalah. Terdapat dua bagian pada analisis kebutuhan yaitu kebutuhan fungsional dan kebutuhan non fungsional. Tahap ini bertujuan untuk mengumpulkan informasi, model dan spesifikasi tentang perangkat lunak yang diperlukan oleh pengguna.
a. Kebutuhan Fungsional
Analisis kebutuhan fungsional ini mendeskripsikan tentang sistem yang disediakan dengan menghitung jarak terdekat dan waktu yang dibutuhkan dalam pencarian jalur terdekat dengan menggunakan algoitma Bellman-Ford, terdapat pula beberapan persyaratan fungsional lain antara lain sebagai berikut :
1. Menggunakan graf sekolah TK di Kota Medan yang telah dipilih dan dapat ditampilkan pada sistem sesuai dengan representasi graf yang telah ditentukan. 2. Sistem yang dibangun menggunakan verteks dan edge pada graf yang dapat
ditampilkan pada sistem yaitu nama sekolah, bobot jarak dan rute yang akan dilalui dalam menuju sekolah TK yang telah ditentukan.
3. Sistem ini mendapatkan hasil pencarian (output) dengan menggunakan algoritma Bellman-Ford.
4. Sistem menghitung real running time untuk menentukan waktu yang dibutuhkan dalam mendapatkan jalur terdekat.
5. Sistem menggunakan peta digital hanya untuk menentukan verteks dari nama-nama sekolah TK yang telah ditentukan lalu menghitung jalur terdekat dengan menggunakan bahasaVisual Basic.
b. Kebutuhan Nonfungsional
Kebutuhan nonfungsional adalah kebutuhan yang berisi kinerja kebutuhan operasional dari sistem. Kebutuhan nonfungsional dari sistem mengimplementasikan algoritma Bellman-Ford adalah sebagai berikut :
1. User friendly
2. Performa
Sistem atau perangkat lunak yang akan dibangun harus dapat menunjukkan hasil implementasi algoritma dengan menghitung running time pencarian rute sekolat TKdari algoritma yang diterapkan.
3. Dokumentasi
Sistem yang akan dibangun memiliki panduan penggunaan sehingga pengguna dapat menggunakaannya dengan baik sesuai panduan.
4. Hemat Biaya
Sistem atau perangkat lunak yang digunakan tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya.
3.1.3 Analisis Proses
Pembuatan sistem menggunakan bahasa pemograman Visual Basic dan pembuatan peta menggunakan ArcView. Algoritma yang digunakan adalah algoritma shortest path yaitu algorima Bellman-Ford dalam pengimplementasian sistem ini.
3.1.4 Flowchart
Flowchartadalahsuatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses dengan proses lainnya dalam suatu program. Flowchart yang dibuat dibagi dalam dua bagian yaitu
flowchart sistem dan flowchart algoritma.
a. Flowchart Sistem
Gambar 3.3 Flowchart Sistem
b. Flowchart Algoritma Bellman-Ford
3.2 Perancangan Sistem
Pada perancangan sistem ini menggunakan diagram UML (Unified Modelling Languange) untuk menggambarkan bagaimana sistem akan bekerja khususnya sistem yang berorientasi objek. Diagram UML yang digunakan adalah usecase diagram, activity diagram dan sequence diagram.
a. 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 dititikberatkan pada fungsionalitas yang ada pada sistem, bukan berdasarkan alur atau urutan kejadian. Adapun usecase dari sistem yang akan dibangun pada penelitian ini dapat dilihat pada gambar 3.5.
Gambar 3.5 Use Case Diagram
Gambar 3.5 menunjukkan use case diagram dari sistem yang akan dibangun, dimana pada sistem yang akan dibangun terdapat satu aktor yaitu user. User
dalam melakukan pencarian jalur terpendek adalah algoritma Bellman-Ford. Dilakukan inisialisasi graf untuk mendapatkan jarak terpendek antara verteks awal dengan verteks tujuan dan kemudian menampilkan running time.
b. Activity Diagram
Activity diagram menggambarkan alur aktivitas antara pengguna sistem yang dibuat secara berurut dan detail sesuai interaksi antara pengguna sistem dan sistem yang sedang berjalan. Activity diagram yang akan dibagun dapat dilihat pada gambar 3.6.
Gambar 3.6 Activity Diagram
terdahulu kemudian menekan tombol cari lalu dilakukan inisialisasi graf hingga menampilkan jalur terpendek dan running time.
c. Sequence Diagram
Sequence diagram adalah diagram yang memperlihatkan atau menampilkan interaksi yang terjadi antar objek di dalam sistem yang dibuat sesuai urutan. Sequence diagram yang akan dibangun dapat dilihat pada gambar 3.7.
Gambar 3.7 Sequence Diagram
Pada gambar 3.7 dapat dilihat interaksi antara sistem dengan pengguna secara berurutan. Aksi pengguna terhadap sistem ditunjukkan dengan tanda panah garis, sedangkan respon terhadap pengguna ditunjukkan dengan tanda panah garis putus-putus.
3.3 Perancangan Interface
a. Menu Home
Pada gambar 3.8 kita dapat melihat interface pada menu home dengan keterangan gambar yang dijelaskan di bawah gambar 3.8.
Gambar 3.8 Perancangan Interface Menu Home
Keterangan gambar :
1. Label (judu l) : digunakan untuk judul sistem penulis.
2. Picturebox : digunakan untuk logo Universitas Sumatera Utara. 3. Label (identitas) : untuk identitas nama dan NIM pembuat program. 4. Button Masuk : untuk masuk ke menu cari jalur.
b. Menu Panduan
Gambar 3.9 Perancangan Interface Menu Panduan Keterangan gambar :
1. Label(judul) : digunakan untuk menjelaskan sub bagian yang sedang dijalankan yakni Petunjuk Penggunaan Sistem.
2. Rich Textbox : digunakan untuk menjelaskan secara rinci cara menggunakan sistem.
c. Menu Cari Jalur
Gambar 3.10 Perancangan Interface Menu Cari Jalur Keterangan Gambar:
1. Combobox input titik awal : digunakan untuk memasukkan verteks asal. 2. Combobox input tujuan : digunakan untuk memasukkan verteks yang
akan dituju.
3. Button cari : digunakan untuk mencari jarak terpendek antara verteks awal dan akhir yang dipilih
4. Textbox hasil : digunakan untuk menampilkan rute yang dilalui untuk menempuh tujuan
5. Textbox jarak : digunakan untuk menampilkan jarak yang dilalui dari verteks asal ke verteks tujuan dengan satuan km
6. Textbox waktu : digunakan untuk menampilkan hasil real running time dari verteks asal menuju verteks tujuan dengan satuan waktu ms
7. Button clear : untuk menghapus atau membersihkan jarak terdekat yang dicari sebelumnya.
8. Button keluar : untuk keluar dari sistem
10.Groupbox graf : untuk menampilkan inisialisasi graf yang sudah ditentukan
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Dalam penelitian ini, sistem dibangun menggunakan bahasa pemograman Visual Basic dan Software Microsoft Visual Studio 2012. Pada sistem ini terdapat 3 tampilan halaman sistem yang dibangun yaitu Menu Home, Cari Jalur dan Panduan.
4.1.1 Tampilan Halaman Menu Home
Gambar 4.1 Tampilan Halaman Menu Home
4.1.2 Tampilan Halaman Menu Cari Jalur
Gambar 4.2 Tampilan Halaman Menu Cari Jalur
Pada halaman ini user dapat mengatur node awal dan node tujuan yang diinginkan, serta menampilkan rute yang dilalui dari node awal menuju node tujuan dengan memberi warna yang berbeda dari warna node sebelumnya. Selain menampilkan rute yang dilalui, juga menampilkan jarak yang dilalui dalam satuan kilometer (km) serta menampilkan waktu running timedalam satuan milisekon (ms) algoritma Bellman-Ford ketika menekan button cari. Button clear berfungsi untuk menormalkan node ketika pencarian jalur terpendek selesai dicari. Button keluar berfungsi untuk keluar dari sistem dan button panduan untuk ke tab penjelasan dari sistem. Terdapat juga
4.1.3 Tampilan Halaman Menu Panduan
Gambar 4.3 Tampilan Halaman Menu Panduan
Pada halaman ini user dapat melihat panduan dan penjelasan pengunaan sistem. Tampilan halaman menu panduan dapat dilihat pada gambar 4.3. Button kembali berfungsi untuk kembali ke halaman cari jalur.
4.2 Pengujian
Pengujian sistem merupakan tahap lanjutan setelah implementasi sistem.Pengujian sistem bertujuan untuk membuktikan sistem yang dibangun telah berjalan dengan baik dalam pencarian jalur terpendek. Pengujian sistem ini dilakukan pada graf dengan 10 node dan menggunakan algoritma Bellman-Ford dengan mengitung real running time
dalam satuan ms dan hasil jarak terpendek dalam satuan km. Sistem ini diuji dengan personal computer dan spesifikasi processor intel core i-3 dengan memory 2GB RAM.
4.2.1 Pengujian Implementasi Algoritma Bellman-Ford
tujuan, maka bobot yang dihasilkan juga berupa infinity. Tampilan pemilihan grafdapat dilihat pada Gambar 4.4.
Gambar 4.4 Tampilan Graf Hasil Pencarian Jalur Terpendek
Setelah graf di tampilkan, maka akan dilakukan pengujian terhadap graf untuk menentukan lintasan terpendek dari satu node asal menuju nodetujuan yang ditentukan oleh user. Jalur yang dilalui berubah menjadi garis tebal dan node yang dilalui juga berubah menjadi node berwarna kuning.
4.2.2 Perhitungan Manual Algoritma Bellman-Ford
Dari gambar 4.5 diatas terdapat 10 buat titik atau node yakni A, B, C, D, E, F, G, H, I dan J. Seseorang yang berada di node A ingin menuju node J. Untuk mendapat jarak antara node asal ke node tujuan dilakukan langkah-langkah sebagai berikut :
1. Tentukan node asal, lalu buat node asal = 0 dan node lainnya dengan nilai tak terhingga (inisialisasi).
node asal = A
Tabel 4.1 Langkah 1 Algoritma Bellman-Ford
A B C D E F G H I J
d[V] 0 ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞ ∞
Pi[V]
2. Tentukan node tujuan, lalu cek semua node yang ada. Nilai tujuan atau jarak pada tabel 4.2 dihitung dalam satuan kilometer (km).
node tujuan = J
Tabel 4.2 Langkah 2 Algoritma Bellman-Ford
A B C D E F G H I J
d[V] 0 2 3,56 4,24 4,87 6,03 6,37 6,19 7,88 7.07
Pi[V] A B B B D B B B B
3. Cek semua node yang untuk mencari node yang belum terlewati.
4. Jika semua node sudah diperiksa maka cari node yang harus dilewati dari node asal ke node tujuan.
Tabel 4.3 Langkah 4 Algoritma Bellman-Ford
A B C D E F G H I J
d[V] 0 2 3,56 4,24 4,87 6,03 6,37 6,19 7,88 7.07
4.2.3 Real Running Time
Untuk mencari real running time harus dilakukan dahulu pengujian sistem dengan menggunakan algoritma Bellman-Ford dengan menentukan node awal dan node tujuan. Tujuan dari pengujian ini adalah untuk memperoleh pengaruh jarak dari node asal ke node tujuan dengan waktu proses algoritma.
Tabel 4.4 Hasil Real Running Time
No Node Jarak (km) Real Running Time (ms)
Pada perhitungan kompleksitas diketahui nilai verteks dan edge sudah ditentukan atau bernilai konstan yakni dengan jumlah verteks 31 dan edge 68. Perhitungan kompleksitas algoritma Bellman-Ford dapat dilihat pada Tabel 4.5.
Tabel 4.5 Kompleksitas Algoritma Bellman-Ford
No Kode Program C # C*#
1 Private Sub Bellman_Ford(ByVal dari As String, ByVal ke As String)
2 normalkan_label() C1 1 C1
4 Dim jarak_dari_asal(jumlah_vertex) As Single C3 1 C3
28 End If
35 output(tabel_bellmanford, ke, dari)
36 End Sub
Kolom C pada tabel 4.5 menunjukkan berapa kali precessor melakukan komputasi. Kolom # sebagai variabel untuk menghitung pengerjaan baris program. Kolom C*# sebagai hasil perhitungan dari perkalian kolom C dan #. Dari perhitungan kompleksitas pada Tabel 4.5 maka didapat T(|n|) yang merupakan jumlah kolom C*# sebagai berikut:
BAB 5
KESIMPULAN DAN SARAN
5.1.Kesimpulan
Bersadarkan analisis, perancangan dan hasil implementasi algoritma Bellman-Forddalam pencarian Sekolah Taman Kanak-Kanak (TK) di Kota Medan, maka dapat disimpulkan bahwa :
1. Aplikasi pencarian sekolah TK terdekat di Kota Medan ini dapat menunjukkan jalur terpendek (shortest path) antara titik tujuan dan titik asal dengan menggunakan algoritma Bellman-Ford.
2. Algoritma Bellman-Ford terbukti dapat diaplikasikan dalam pencarian jarak terdekat sesuai rute yang telah ditentukan.
3. Berdasarkan hasil pengujian, semakin pendek jarak dari titik asal ke titik tujuan semakin kecil nilai real running time.
5.2.Saran
Berikut ini beberapa saran yang dapat dipertimbangkan untuk memperbaiki penelitian ini dan untuk penelitian kedepannya, yaitu :
1. Apliaksi ini menggunakan graf statis yang nodenya tidak dapat ditambahkan secara otomatis. Untuk selanjutnya, aplikasi dapat dibuat secara dinamis sehingga dapat melakukan penambahan node.
3. Aplikasi pada penelitian ini hanya dibangun berbasis desktop, diharapkan pada penelitian kedepannya dapat dibangun aplikasi pada perangkat smartphone
seperti Android, Windows Phone dan lainnya.