Judul : Implementasi Algoritma Dijkstra Dalam Pencarian Rute Terpendek Lokasi Bengkel Kendaraan Di Kota Singaraja Berbasis Mobile Nama : Gede Suhendra Prayoga Saputra Nim : 1208605048 Jurusan Pembimbing I Pembimbing II : Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana : I Komang Ari Mogi, S.Kom, M.Kom. : I Made Widiartha, S.Si, M.Kom ABSTRAK Dalam mencari lokasi bengkel kendaraan di Kota yang baru tentunya belum banyak masyarakat yang mengetahui lokasi bengkel pada suasana tempat yang baru. Oleh karena itu diharapkan melalui media informasi lokasi bengkel kendaraan di kota Singaraja berbasis mobile android, dapat membantu memecahkan masalah seperti di atas tadi sehingga pengendara tidak kebingungan untuk mencari lokasi bengkel terdekat jika mengalami permasalahan dengan kendaraannya saat berada di Kota Singaraja. Pendekatan metodologi penelitian yang akan digunakan dalam perancangan ini adalah System Development Live Cycle (SDLC) hal ini dikarenakan metode ini sangat cocok dalam perancangan sistem informasi bengkel ini dimana dapat menyediakan tahapan bagi penulis yang dapat digunakan sebagai pedoman pengembangan sistem yaitu : Perencanaan, Analisis Sistem, Desain Sistem, Dokumentasi system, Pengujian Sistem, dan Implementasi dan Evaluasi Relevansi Sistem Berdasarkan hasil penelitian sistem pencarian bengkel kendaraan di Singaraja yang menggunakan metode algoritma djikstra berbasis mobile, maka dapat disimpulkan bahwa: Sistem berbasis mobile sebagai frontend diimplementasikan pada sistem operasi Android dengan bahasa pemrograman eclipse yang dijalankan oleh pengguna smartphone, sedangkan backend terdapat pada sistem berbasis web dengan bahasa pemrograman PHP yang dijalankan oleh admin dan hasil dari perhitungan algoritma djikstra disimpan pada database yang nantinya akan ditampilkan kepada user pada sistem mobile berupa penanda rute tujuan pada tampilan map Kata Kunci : Mobile Android, Bengkel, Dijkstra iv
Title : Dijkstra Algorithm Implementation in the Mobile-Based Search of the Shortest Route to the Repair Shop Location in the City of Singaraja Name : Gede Suhendra Prayoga Saputra Registration : 1208605048 Department First Supervisor Second Supervisor : Department of Computer Science, Faculty of Mathematics and Natural Sciences, University of Udayana : I Komang Ari Mogi, S.Kom, M.Kom. : I Made Widiartha, S.Si, M.Kom ABSTRACT In searching for the location of the repair shop in a city that is first visited by people who do not know the exact location of a repair shop in a new atmosphere. Therefore, it is expected that through the Android-based repair shop searching application can help people to solve the problem in the city of Singaraja, so that motorists are not confused to find the nearest repair shop if they experience problems with their vehicles while in Singaraja. Approach to research methodology that will be used in the design is the System Development of Live Cycle (SDLC) because the method is very suitable in information system design that it can be used as guidelines for system development, namely: Planning, System Analysis, System Design, documentation system, testing system, and implementation as well as Evaluation of System Relevance. The research results of mobile-based search system of vehicle repair shop in Singaraja using Djikstra algorithms showed that: the mobile-based system as the front end is implemented on the Android operating system by eclipse programming language run by smartphone users, while the back-end is in the web-based system by PHP programming language that is executed by the administrator and the results of the calculation of Djikstra algorithm is stored in a database that will be displayed to the user on the mobile system in the form of markers on the destination in the map view. Keywords: Mobile Android, Repair shop, Dijkstra algorithm v
DAFTAR ISI HALAMAN JUDUL... i SURAT PERNYATAAN KEASLIAN KARYA ILMIAH... ii LEMBAR PENGESAHAN TUGAS AKHIR... iii ABSTRAK... iv ABSTRACT... v KATA PENGANTAR... vi DAFTAR ISI... vii DAFTAR GAMBAR... ix DAFTAR TABEL... xi BAB I PENDAHULUAN... 12 1.1. Latar Belakang... 12 1.2. Rumusan Masalah... 13 1.3. Batasan Masalah... 13 1.4. Tujuan Penelitian... 13 1.5. Manfaat Penelitian... 13 1.6. Metodologi Penelitian... 14 BAB II TINJAUAN PUSTAKA... 17 2.1 Tinjauan Studi... 17 2.2 Landasan teori... 19 2.2.1. Media Informasi... 19 2.2.2. Google Maps... 19 2.2.3. Algoritma Djikstra... 20 2.2.4. Cara Pencarian Rute Djikstra... 27 2.2.5. Konsep Dasar UML... 30 2.2.6. Metodologi Pengembangan Sistem (SDLC)... 31 2.2.7. Teori Pemrograman Mobile... 33 2.2.8. Pemodelan Graf Kota Singaraja... 34 BAB III ANALISIS DAN PERANCANGAN... 37 3.1 Tahap Perencanaan (Planning)... 37 3.2 Tahap Analisis Sistem... 37 vii
3.3.1. Variabel Penelitian... 38 3.3.2. Analisis Kebutuhan... 39 3.3.3. Analisis Kebutuhan Fungsional... 39 3.3.4. Analisis Kebutuhan Non Fungsional... 40 3.3 Desain Sistem... 42 3.4.1. Activity Diagram... 42 3.4.2. Sequence Diagram... 52 3.4.3. Pseudocode dan Flowchart Dijkstra... 60 3.4 Rancangan Antarmuka (Wireframe System)... 64 3.5.1. Rancangan Antarmuka Pada Administrator... 64 3.5.2. Rancangan Antarmuka Pada User... 69 3.5 Tahap Coding dan Dokumentasi Sistem... 74 3.6 Tahap Pengujian Sistem... 75 3.7 Tahap Implementasi dan Evaluasi Relevansi Sistem... 75 BAB IV HASIL DAN PEMBAHASAN... 77 4.1. Implementasi Basis Data... 77 4.2. Analisis Sistem... 83 4.3. Pengujian Aplikasi Secara Blackbox... 95 4.4. White Box Testing... 98 BAB V KESIMPULAN DAN SARAN... 102 5.1 Kesimpulan... 102 5.2 Saran... 102 DAFTAR PUSTAKA... 103 LAMPIRAN I... 105 LAMPIRAN II... 117 viii
DAFTAR GAMBAR Gambar 2.1 : Contoh penggambaran dijkstra... 21 Gambar 2.2 : Skema SDLC... 32 Gambar 2.3 : Graf Kota Singaraja... 36 Gambar 3.1 : UML dari sistem... 43 Gambar 3.2 : Activity diagram login admin... 44 Gambar 3.3 : Activity diagram read data... 44 Gambar 3.4 : Activity diagram insert data... 46 Gambar 3.5 : Activity diagram delete data... 47 Gambar 3.6 : Activity diagram melihat list bengkel... 49 Gambar 3.7 : Activity diagram menu map... 51 Gambar 3.8 : Activity diagram menu about... 52 Gambar 3.9 : Sequence diagram login... 53 Gambar 3.10 : Sequence diagram insert data... 53 Gambar 3.11 : Sequence diagram read data... 54 Gambar 3.12 : Sequence diagram delete data... 55 Gambar 3.13 : Sequence diagram melihat list bengkel... 56 Gambar 3.14 : Sequence diagram menu map... 57 Gambar 3.14 : Sequence diagram menu map... 57 Gambar 3.15 : Class diagram dari system bengkel... 58 Gambar 3.16 : ERD dari system bengkel... 59 Gambar 3.17 : Flowchart algoritma dijkstra... 62 Gambar 3.18 : Activity diagram algoritma dijkstra... 61 Gambar 3.18 : Tampilan halaman login... 64 Gambar 3.19 : Tampilan web homepage... 65 Gambar 3.20 : Tampilan admin home... 66 Gambar 3.21 : Tampilan tambah administrator... 67 Gambar 3.22 : Tampilan bengkel home... 68 Gambar 3.23 : Tampilan tambah data bengkel... 68 Gambar 3.24 : Tampilan awal system mobile... 69 Gambar 3.25 : Tampilan menu awal... 70 ix
Gambar 3.26 : Tampilan menu list bengkel... 70 Gambar 3.27 : Tampilan map pada system... 71 Gambar 3.28 : Tampilan detail bengkel... 72 Gambar 3.29 : Tampilan menu map pada system... 73 Gambar 3.30 : Tampilan menu about... 74 Gambar 4.1 : Table relasi database... 77 Gambar 4.2 : Sampel analisis system pada graf kota singaraja... 84 Gambar 5.1 : Tampilan login admin... 106 Gambar 5.2 : Tampilan homepage web admin... 107 Gambar 5.3 : Daftar nama admin pada web... 107 Gambar 5.4 : Form tambah admin... 108 Gambar 5.5 : History activity admin... 108 Gambar 5.6 : Data bengkel yang terdaftar pada web... 109 Gambar 5.7 : Form tambah bengkel baru... 109 Gambar 5.8 : Tampilan data layanan pada bengkel... 110 Gambar 5.9 : Tampilan untuk menambahkan layanan pada bengkel... 110 Gambar 5.10 : Data history akses bengkel oleh user... 111 Gambar 5.11 : Antarmuka homepage pada mobile... 112 Gambar 5.12 : Tampilan menu list bengkel... 112 Gambar 5.13 : Tampilan map untuk list bengkel... 113 Gambar 5.14 : Tampilan detail bengkel... 113 Gambar 5.15 : Tampilan menu map... 114 Gambar 5.16 : Tampilan map untuk posisi user... 114 Gambar 5.17 : Tampilan simulasi map... 115 Gambar 5.18 : Tampilan menu about pada mobile... 115 x
DAFTAR TABEL Tabel 2.1 Diagram UML Munawar (2005)... 31 Tabel 2.2 Rata-rata kecepatan kendaraan (sumber: Dishub Singaraja).. 35 Tabel 3.1 Analisis Kebutuhan Fungsional... 39 Tabel 3.2 Fitur-Fitur Sistem Bengkel... 76 Tabel 4.1 Daftar persimpangan graf kota Singaraja... 86 Tabel 4.2 Pengujian tampilan list bengkel... 95 Tabel 4.3 Pengujian Menu Map... 95 Tabel 4.4 Pengujian Menu About dan Exit... 96 Tabel 4.5 Pengujian Menu Admin... 96 Tabel 4.4 Graf Matrik Selisih Rating... 101 xi
BAB I PENDAHULUAN 1.1. Latar Belakang Seperti diketahui saat ini kendaraan pribadi merupakan sarana transportasi utama bagi masyarakat Indonesia. Motor dan mobil menjadi kendaraan yang paling diminati saat ini, tidak heran pertumbuhan jalan raya dan kendaraan menjadi tidak seimbang diakibatkan setiap harinya kendaraan terus bertambah sedangkan pertumbuhan jalan raya tidak bertambah. Asumsi yang berkembang bahwa menggunakan kendaraan pribadi dapat menghemat biaya dan waktu juga menjadi penyebab pertumbuhan kendaraan. Transportasi massal seakan-akan sudah terlupakan. Terlepas dari sisi buruknya, ada sisi baiknya bagi para penyedia jasa perbaikan mesin mobil dan motor alias bengkel. Dengan semakin menjamurnya kendaraan akan memberikan keuntungan tersendiri bagi penyedia jasa bengkel. Setiap pemilik kendaraan tentu tidak semuanya bisa memperbaiki kendaraannya sendiri jika mengalami suatu masalah, disinilah peran bengkel. Hampir di setiap jalan raya kita menemui jasa bengkel. Hal ini tentunya dikarenakan tidak sedikit pengguna kendaraan yang mengalami masalah pada kendaraanya pada saat bepergian. Walaupun bengkel begitu banyak, tetapi bagi pengendara yang tidak mengenal suatu wilayah yang dilaluinya dan ternyata tiba-tiba mengalami masalah pada kendaraannya tentu saja juga akan mengalami kebingungan mencari lokasi bengkel terdekat. Tentunya tidak setiap pengendara membawa peta suatu wilayah yang dilaluinya. Tetapi perkembangan teknologi saat ini sudah begitu pesat, peta digital dapat begitu terbungkus rapi di dalam ponsel kita. Namun tentunya walaupun memiliki lokasi suatu wilayah yang lengkap Maps atau peta digital tidak serta merta memberikan informasi detail tentang lokasi bengkel terdekat dari lokasi kita. Oleh karena itu diharapkan melalui media informasi lokasi bengkel kendaraan di kota Singaraja berbasis mobile android, dapat membantu memecahkan masalah seperti di atas tadi sehingga pengendara tidak kebingungan untuk mencari lokasi bengkel terdekat jika mengalami permasahan dengan kendaraannya saat berada di Kota Singaraja. Perkembangan teknologi informasi yang sudah sangat berkembang, yang salah satunya adalah pada pembuatan aplikasi yang sudah dapat dikembangkan pada perangkat smartphone berbasis android yang dapat dengan mudah digunakan serta dapat menyediakan informasi secara cepat dan efisien. Penerapan lokasi dengan Location Based Services (LBS) yang 12
mampu mendeteksi letak pengguna sehingga dapat memberikan layanan informasi yang dibutuhkan sesuai dengan letak pengguna tersebut (Kurt Squire dan Eric Kloper. 2007). 1.2. Rumusan Masalah Berdasarkan dari latar belakang di atas dapat di rumuskan permasalahan sebagai berikut : a. Apakah metode yang dipakai dari sistem pencarian bengkel kendaraan di Kota Singaraja berbasis mobile android? b. Bagaimana merancang dan implementasi algoritma djikstra dalam pencarian rute terpendek lokasi bengkel kendaraan di Kota Singaraja berbasis mobile? 1.3. Batasan Masalah Batasan masalah dari pembuatan media informasi bengkel mobil dan motor di Kota Singaraja berbasis mobile android ini yaitu: a. Memberikan informasi lokasi bengkel di masing masing jalan di kota Singaraja. b. Ruang lingkup dari system hanya pada kota Singaraja. c. Penggunaan algoritma djikstra dalam pencarian lokasi bengkel. d. Node yang diimplementasikan adalah suatu persimpangan besar saja. e. Tidak mempertimbangkan kemacetan dan kondisi jalan. f. Memberikan lokasi bengkel dengan integrasi ke google maps. 1.4. Tujuan Penelitian Tujuan yang ingin dicapai dari pembuatan media informasi bengkel kendaraan di Kota Singaraja berbasis mobile android ini adalah sebagai berikut : a. Mengembangkan aplikasi media informasi lokasi bengkel mobil dan motor di Kota Singaraja berbasis mobile android. b. Mengimplementasikan media informasi lokasi bengkel mobil dan motor di Kota Singaraja berbasis mobile android dengan pencarian rute terpendek Algoritma Djikstra. 1.5. Manfaat Penelitian Manfaat yang ingin dicapai dalam pembuatan media informasi bengkel kendaraan di Kota Singaraja berbasis mobile android yaitu: 13
a. Dapat menyampaikan informasi melalui aplikasi mobile mengenai lokasi bengkel mobil dan motor yang terletak di Kota Singaraja. b. Dapat memberikan informasi mengenai jam buka bengkel dan jenis layanan yang diberikan. c. Dapat mempermudah pencarian lokasi bengkel karena terintegrasi dengan google maps dengan Algoritma Djikstra 1.6. Metodologi Penelitian Menurut Maddison,R.N metodologi merupakan suatu formula dalam penerapan penelitian yang terdapat langkah-langkah dan juga hasil penelitian di dalamnya. Metodologi penelitian dalam Ilmu Komputer merupakan langkah-langkah / tahapan-tahapan perencanaan dengan bantuan metode, teknik, tools dan dokumentasi untuk meminimalkan resiko kegagalan dan menekankan pada proses penelitian di bidang Ilmu Komputer. (Dalam buku Metodologi Penelitian Pada Bidang Ilmu Komputer dan Teknologi Informasi, Hasibuan, 2007:14) Berikut akan dijelaskan mengenai tahapantahapan yang akan dilakukan saat penelitian nantinya. Adapun sub bab bahasan yang akan dijelaskan adalah desain penelitian, pengumpulan data, pengolahan data awal, dan metode yang digunakan. 1.6.1 Desain Penelitian Penelitian ini mengambil judul Implementasi Algoritma Dijkstra Dalam Pencarian Rute Terpendek Lokasi Bengkel Kendaraan Di Kota Singaraja Berbasis Mobile. Dalam penelitian ini, metode yang digunakan dalam penelitian ini adalah metode kualitatif dengan tipe studi kasus. Menurut Sugiyono (2009:9) penelitian kualitatif adalah metode penelitian yang digunakan untuk meneliti pada kondisi objek yang alamiah. Sementara itu, menurut Bogdan dan Biklen (dalam Syamsudin, 2009:175) studi kasus merupakan pengujian secara rinci terhadap satu latar atau satu orang subjek atau satu tempat penyimpanan dokumen atau satu peristiwa tertentu. Sementara, Surachman (dalam Syamsudin, 2011:19) membatasi pendekatan studi kasus sebagai suatu pendekatan dengan memusatkan perhatian pada suatu kasus secara intensif dan rinci. Alasan menggunakan metode ini karena penelitian ini akan meneliti jalur optimal yang dapat dilalui oleh transportasi secara alamiah dalam hal ini adalah mobil dan motor dalam mencari lokasi bengkel terdekat dari lokasi user saat itu. Dalam penelitian ini, penulis akan menelusuri jalur optimal yang dapat ditempuh oleh user dalam mencari lokasi bengkel terdekat yang dijadikan sebagai objek penelitian. Selanjutnya, penulis akan menggunakan metode Algoritma Dijkstra sebagai solusi permasalahan yang akan 14
diimplementasikan dalam sistem informasi berbasis mobile yang dapat digunakan oleh penggunanya untuk mengakses jalur optimal dari titik asal ke titik tujuan. Pengumpulan Data Tahap pengumpulan data bertujuan untuk mengetahui data apa saja yang dibutuhkan untuk menyelesaikan permasalahan ini. Dalam penelitian ini, objek yang di jadikan bahan studi disini adalah Bengkel. Dari objek tersebut diperoleh data data yang akan digunakan pada penelitian ini. Data tersebut adalah data jalan atau jalur yang akan dilewati untuk menuju ke Bengkel tujuan. Pada data tersebut terdapat, deskripsi bengkel dan lokasi detailnya serta jarak dari lokasi bengkel yang dilalui oleh user. Jenis data yang digunakan pada penlitian ini dari cara memperolehnya di dapat data dengan kategori data primer (primery data). Data primer adalah data yang diambil langsung dari objek penelitian atau merupakan data yang berasal dari sumber asli atau pertama. Data primer tersebut harus dicari melalui narasumber atau responden yaitu orang yang dijadikan objek penelitian atau orang yang dijadikan sebagai sarana informasi maupun data (Hasibuan, 2007). Data primer pada penelitian ini diperoleh dari hasil wawancara dengan Dinas Perhubungan Kota Singaraja mengenai jarak tempuh, jalan dan juga data kecepatan di setiap jalan di daerah Singaraja. Pengolahan Data Setelah data penelitian didapat, kemudian dilakukan langkah pengolahan data. Pengolahan data yang pertama adalah mengolah data yang didapat dari Dinas Perhubungan untuk menentukan waktu tempuh dari setiap jalan yang dilalui oleh kendaraan. Untuk mendapatkan data waktu tempuh, maka dapat digunakan rumus: t = s v Dimana: t = Waktu tempuh s = Jarak v = Kecepatan 15
Dengan menggunakan rumus tersebut maka akan didapat data waktu tempuh dari setiap jalan yang dilalui oleh kendaraan. Data tersebut kemudian akan dijadikan sebagai bobot (edge) dalam Graf yang kemudian akan dilakukan perhitungan dengan menggunakan metode Algoritma Dijkstra untuk mencari jalur optimal. Data kecepatan rata-rata diperhitungkan dan didapat dari Dinas Perhubungan Singaraja yaitu 40 km/jam tanpa memperhatikan kondisi jalan.. Data kecepatan pada Dinas Perhubungan Singaraja didapat dengan menggunakan observasi langsung atau disebut on board survey oleh pihak Dinas Perhubungan. Disini penulis melakukan wawancara guna mendapatkan rata rata kecepatan di setiap ruas jalan di Singaraja. Sebagai acuan, pihak Dinas Perhubungan juga menyarankan referensi aplikasi Google Maps sebagai acuan untuk melihat data kecepatan dan juga jarak atau panjang jalan agar informasi data lebih bersifat real dan juga valid. 16