Rancang Bangun Aplikasi Mobile Struktur Data Graf Berbasis Google Maps

dokumen-dokumen yang mirip
Pengembangan Aplikasi Manajemen Notula Rapat Menggunakan Google Speech API Berbasis Android

Rancang Bangun Aplikasi Web Pencarian Rute Terpendek Antar Gedung di Kampus Menggunakan Algoritma Floyd-warshall

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN

MEDIA PEMBELAJARAN STRATEGI ALGORTIMA PADA POKOK BAHASAN POHON MERENTANG MINIMUM DAN PENCARIAN LINTASAN TERPENDEK

ABSTRAK. Kata kunci: Google Maps, travelling salesman problem, pencarian rute, Branch and Bound. vi Universitas Kristen Maranatha

PENENTUAN RUTE TERPENDEK DENGAN METODE FLOYD WARSHALL PADA PETA DIGITAL UNIVERSITAS SUMATERA UTARA SKRIPSI DHYMAS EKO PRASETYO

PERNYATAAN PERSETUJUAN PUBLIKASI...

Permodelan Pohon Merentang Minimum Dengan Menggunakan Algoritma Prim dan Algoritma Kruskal

PENGEMBANGAN SISTEM PAKAR UNTUK MEMPREDIKSI KELAS KEMAMPUAN LAHAN PERTANIAN

RANCANG BANGUN APLIKASI MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

Aplikasi Algoritma Dijkstra dalam Pencarian Lintasan Terpendek Graf

DAFTAR ISI. PRAKATA... iv. ARTI LAMBANG DAN SINGKATAN... vi. ABSTRACT... vii. INTISARI... viii. DAFTAR ISI... ix. DAFTAR GAMBAR...

BAB 2 LANDASAN TEORI

Aplikasi Teori Graf dalam Pencarian Jalan Tol Paling Efisien

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

PENCARIAN TITIK LOKASI DENGAN PEMANFAATAN ALGORITMA FLOYD-WARSHALL SEBAGAI PERHITUNGAN JARAK TERDEKAT DI INSTITUT TEKNOLOGI BANDUNG

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

JURNAL TEKNIK ITS Vol. 6, No. 1, (2017) ISSN: ( Print) A-51

BAB 2 TINJAUAN PUSTAKA

BAB II LANDASAN TEORI

LEMBAR PERNYATAAN PERSETUJUAN

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

PENENTUAN ARAH TUJUAN OBJEK DENGAN TABU SEARCH

BAB IV ANALISA DAN PERANCANGAN SISTEM. diusulkan dari sistem yang ada di Dinas Kebudayaan dan Pariwisata Kota

DAFTAR ISI. Halaman HALAMAN JUDUL LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERSEMBAHAN MOTTO ABSTRAK ABSTRACK

MOBILE APPLICATION DEVELOPMENT FOR E- COMMERCE VENDPAD USING IONIC FRAMEWORK

Dasar-Dasar Pengujian Perangkat Lunak. Fakultas Ilmu Komputer dan Teknologi Informasi Jurusan Sistem Informasi Univesitas Gunadarma

BAB III METODE PENELITIAN. Dalam penelitian ini, alat yang di gunakan adalah sebagai berikut: 1. Perangkat Keras (Hardware)

BAB II TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

Penerapan Algoritma Greedy untuk Memecahkan Masalah Pohon Merentang Minimum

HALAMAN PENGESAHAN PEMBIMBING...

APLIKASI PENCARIAN RUTE JALUR BUS TRANS SEMARANG MENGGUNAKAN ALGORITMA DIJKSTRA

Rancang Bangun Sistem Informasi Geografis Pendataan Paud Di Indonesia Berbasis Web

PENGUJIAN PERANGKAT LUNAK

BAB 2 LANDASAN TEORI

MEMBANDINGKAN KEMANGKUSAN ALGORITMA PRIM DAN ALGORITMA KRUSKAL DALAM PEMECAHAN MASALAH POHON MERENTANG MINIMUM

PERANCANGAN DAN PEMBUATAN SISTEM KOMPETISI SEPAK BOLA BERBASIS WEB

Pencarian Jalur Terpendek dengan Algoritma Dijkstra

MENENTUKAN LINTASAN TERPENDEK SUATU GRAF BERBOBOT DENGAN PENDEKATAN PEMROGRAMAN DINAMIS. Oleh Novia Suhraeni 1, Asrul Sani 2, Mukhsar 3 ABSTRACT

Aplikasi Teori Graf dalam Manajemen Sistem Basis Data Tersebar

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Algoritma Prim sebagai Maze Generation Algorithm

PERANCANGAN APLIKASI PENCARIAN PASAR TRADISIONAL DI KABUPATEN BANTUL BERBASIS ANDROID NASKAH PUBLIKASI

ABSTRAK. Kata kunci: diagram kelas, xml, java, kode sumber, sinkronisasi. v Universitas Kristen Maranatha

Nama : Rendi Setiawan Nim :

PERANCANGAN SISTEM INFORMASI MANAJEMEN PERPUSTAKAAN MENGGUNAKAN POLA MODEL-VIEW- CONTROLLER (MVC)

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN 1.1 Latar Belakang

Pengembangan Sistem Inventory Control Perusahaan Berbasis Web Studi Kasus PT. XYZ

PENENTUAN ALUR TERPENDEK PENGIRIMAN BARANG PT.KENCANA LINK NUSANTARA MEDAN DENGAN ALGORITMA DJIKSTRA

PENENTUAN RUTE TERPENDEK PADA OPTIMALISASI JALUR PENDISTRIBUSIAN BARANG DI PT. X DENGAN MENERAPKAN ALGORITMA FLOYD-WARSHALL

1. Pendahuluan. Perkembangan teknologi saat ini telah memberikan pengaruh yang sangat besar bagi dunia teknologi informasi dan telekomunikasi.

BAB II KEGIATAN KERJA PRAKTEK

PENGGUNAAN METODE HILL CLIMBING UNTUK PENCARIAN SEKOLAH DASAR DI KECAMATAN CIMAHI TENGAH

BAB III OBJEK DAN METODOLOGI PENELITIAN. sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa:

1. PENDAHULUAN 1.1 LATAR BELAKANG

PENGEMBANGAN APLIKASI ESTIMASI UKURAN PERANGKAT LUNAK DENGAN PENDEKATAN FUNCTION POINT ANALYSIS

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

BAB IV ANALISA DAN PERANCANGAN SISTEM Analisis Sistem yang Sedang Berjalan. Untuk merancang sebuah aplikasi mobile pelajaran Kimia dasar untuk

BAB 2 LANDASAN TEORI. Algoritma adalah urutan atau deskripsi langkah-langkah untuk memecahkan suatu masalah.

BAB I PENDAHULUAN 1.1 LATAR BELAKANG

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Pengembangan Aplikasi Encode dan Decode Tree Menggunakan Blob Code

ABSTRAK. Kata kunci : Android, Mobile, Smartphone, Teknologi, Wisata

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Graf dalam Penentuan Rute Terpendek pada Moving Object

PEMANFAATAN GOOGLE MAPS API DALAM PENGEMBANGAN MEDIA INFORMASI PASAR MALAM DI KOTA SAMARINDA

BAB III ANALISA DAN PERANCANGAN

PENGEMBANGAN APLIKASI CONTROLLING TUGAS AKHIR BERBASIS WEB SISI KOORDINATOR, DAN PEMANGKU KEPUTUSAN

DAFTAR ISI HALAMAN JUDUL DEPAN...

PENERAPAN SISTEM PERSAMAAN LINEAR ITERATIF MAKS-PLUS PADA MASALAH LINTASAN TERPANJANG

APLIKASI MONITORING PENGIRIMAN BARANG DENGAN ALGORITMA DIJKSTRA

BAB 2 LANDASAN TEORI

Rekayasa Perangkat Lunak

BAB I PENDAHULUAN 1.1 Latar Belakang

ABSTRAK. Kata Kunci : kamus, Indonesia, Mandarin, kata, kalimat, hanzi, pinyin, bushou.

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... vii. DAFTAR TABEL... ix. DAFTAR LAMPIRAN... x Latar Belakang Masalah...

BAB III METODOLOGI PENELITIAN. Tabel 3.1 Alur Metodologi Penelitian

BAB III METODE PENELITIAN

ABSTRAK. Kata Kunci: Aplikasi, web, permainan tradisional, Indonesia, JAVA, Play framework. Universitas Kristen Maranatha

BAB I PENDAHULUAN 1.1 Latar Belakang

1. Pendahuluan Salah satu contoh perkembangan teknologi adalah teknologi dalam pencarian rute terpendek. Kehadiran teknologi pencarian rute dapat

Bab 3 Metode dan Perancangan Sistem

BAB 1 PENDAHULUAN. 1.1 Latar Belakang


Studi Algoritma Optimasi dalam Graf Berbobot

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

BAB I PENDAHULUAN 1.1. Latar belakang

PERANCANGAN APLIKASI PENCARIAN RUTE TERPENDEK MENEMUKAN TEMPAT PARIWISATA TERDEKAT DI KEDIRI DENGAN METODE FLOYD- WARSHALL UNTUK SMARTPHONE

BAB III METODE PENELITIAN

BAB 2 LANDASAN TEORI

PENGANTAR RUP & UML. Pertemuan 2

BAB 3 ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN SISTEM

Transkripsi:

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-issn: 2548-964X Vol. 2, No. 10, Oktober 2018, hlm. 3173-3181 http://j-ptiik.ub.ac.id Rancang Bangun Aplikasi Mobile Struktur Data Graf Berbasis Google Maps Devara Fikry Akmal 1, Aryo Pinandito 2, Bayu Priyambadha 3 Program Studi Teknik Informatika, Email: 1 devarafikry@gmail.com, 2 aryo@ub.ac.id, 3 bayu_priyambadha@ub.ac.id Abstrak Google Maps merupakan sistem navigasi yang populer di perangkat bergerak dengan lebih dari 1 milyar unduhan pengguna di Play Store. Salah satu fitur utama di Google Maps adalah fitur menentukan rute perjalanan. Akan tetapi, dalam menentukan rute perjalanan, Google Maps memanfaatkan peta jalan yang terdaftar pada Google Maps, sehingga menyebabkan rute yang tersedia belum tentu mempertimbangkan aturan-aturan yang berlaku dan menyediakan rute tercepat di suatu tempat, termasuk di lingkungan Universitas Brawijaya. Oleh karena itu, diperlukan Aplikasi Mobile Struktur Data Graf yang dapat membuat struktur data graf perjalanan khusus untuk lingkungan Universitas Brawijaya sehingga dapat diimplementasikan untuk menentukan rute terdekat yang mengikuti aturan di Universitas Brawijaya. Aplikasi ini berfungsi untuk memasukkan titik-titik pada peta dan membangun graf yang dapat difungsikan sebagai rute perjalanan. Pengembangan aplikasi menggunakan Software Development Lifecycle Incremental Model, dimana setiap pengembangan dibagi menjadi increment untuk menyederhanakan pembangunan aplikasi. Pengembangan aplikasi dirancang menggunakan pendekatan berorientasi objek yang direpresentasikan menggunakan UML (Unified Modelling Languange). Aplikasi ini telah berhasil diselesaikan melalui 2 increment, increment 1 dan increment 2. Pada increment 1, aplikasi telah memenuhi fungsionalitas untuk membuat struktur data graf perjalanan di lingkungan Universitas Brawijaya, sedangkan pada increment 2, aplikasi telah memenuhi fungsionalitas untuk mengimplementasikan strutur data graf dengan algoritma Djikstra untuk menentukan rute terdekat. Aplikasi di setiap increment telah diuji menggunakan metode White Box Testing menggunakan teknik Basis Path Testing untuk pengujian unit dan metode Black Box Testing untuk pengujian validasi dengan keberhasilan 100%. Kata kunci: incremental, graf, google maps, Djikstra, rute Abstract Google Maps is a popular navigation system on mobile devices with over 1 billion user downloads on Play Store. One of the key features in Google Maps is direction, that can provide travel route. However, in determining travel routes, Google Maps makes use of the listed roadmap causing the available routes not necessarily to take into account the applicable rules and provide the shortest route of a place, including within the Brawijaya University. Therefore, it is necessary that the Aplikasi Mobile Struktur Data Graf can create a special travel graph data structure for the Brawijaya University environment so that it can be implemented to determine the closest route that follow the rules in Brawijaya University. This app serves to insert Point on the map and build a graph that can function as a travel route. Application developed by using Software Development Lifecycle Incremental Model, where each development is divided into increment to simplify the application development. Application development is designed using an object-oriented approach that is represented using UML (Unified Modeling Languange). This application has been successfully completed through 2 increment, increment 1 and increment 2. In increment 1, the application has fulfilled the functionality to create the graph data structure in Brawijaya University, while in increment 2, the application has fulfilled the functionality to implement the graph data strutur with the algorithm Djikstra to determine the closest route. Application in each increment has been tested using White Box Testing method using Base Path Testing technique for unit testing and Black Box Testing method for validation testing with 100% success. Keywords: incremental, graph, google maps, Djikstra, route Fakultas Ilmu Komputer Universitas Brawijaya 3173

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3174 1. PENDAHULUAN Google Maps merupakan sistem navigasi yang popular di perangkat bergerak dengan lebih dari 1 milyar unduhan pengguna di Playstore. Salah satu fitur utama di Google Maps adalah fitur menentukan rute perjalanan. Akan tetapi, dalam menentukan rute perjalanan, Google Maps hanya memanfaatkan peta jalan yang terdaftar pada Google Maps (Google, 2017), sehingga menyebabkan rute yang tersedia belum tentu mempertimbangkan aturan-aturan yang berlaku di suatu tempat. Berdasarkan masalah tersebut, diperlukan aplikasi yang dapat membuat rute khusus di suatu tempat, sehingga dapat disesuaikan dengan aturan-aturan yang berlaku di tempat tersebut. Dan untuk membuat rute khusus tersebut, diperlukan graf sebagai jalur perjalanan yang dapat implementasikan untuk mencari rute terdekat di suatu wilayah dengan menggunakan algoritma seperti algoritma Djikstra. Sehingga, aplikasi juga harus dapat membuat struktur data graf untuk membangun rute khusus di suatu wilayah. Oleh karena itu, dibangun sebuah aplikasi bernama Aplikasi Mobile Struktur Data Graf yang memiliki fungsi untuk membuat struktur data graf perjalanan yang dapat diimplementasikan untuk mencari rute terdekat di suatu wilayah dengan menggunakan algoritma Djikstra. Aplikasi Mobile Struktur Data Graf berjalan pada platform Android yang merupakan platform dengan pengguna Google Maps terbanyak. Selain itu pemilihan platform Android didasari untuk memudahkan pengguna dalam membuat graf jalur perjalanan, sehingga pengguna dapat membuat graf jalur perjalanan dan survei lokasi secara bersamaan. Pengembangan Aplikasi Mobile Struktur Data Graf akan menggunakan model Incremental sebagai model Software Development Life Cycle (SDLC). Model Incremental dipilih karena kebutuhan utama telah terbentuk secara jelas, yaitu membuat struktur data graf dan mengimplementasikannya dengan algoritma Djikstra untuk menentukan rute terdekat di suatu wilayah, sehingga proses pengembangan dapat disederhanakan menjadi increment. Diharapkan dengan adanya Aplikasi Mobile Struktur Data Graf, masyarakat dapat membuat rute khusus di suatu wilayah tanpa tergantung dengan rute perjalanan yang telah disediakan oleh Google. Dengan ini, masyarakat dapat menyesuaikan rute perjalanan di suatu wilayah dengan membuat graf jalur perjalanan miliknya. 2. LANDASAN KEPUSTAKAAN 2.1 Graf Graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi G = (V,E) (1) yang dalam hal ini V adalah himpunan tidak kosong dari simpul simpul (vertices atau node) dan E adalah himpunan sisi (edges atau arcs) yang menghubungkan sepasang simpul (Munir, 2012). Sebuah graf dimungkinkan tidak mempunyai sisi satu buah pun, tetapi simpulnya harus ada, minimal satu. Graf dapat dikelompokkan menjadi beberapa kategori (jenis) bergantung pada sudut pandang pengelompokannya. Pengelompokan graf dapat dipandang berdasarkan ada tidaknya sisi ganda atau sisi kalang, berdasarkan jumlah simpul, atau berdasarkan orientasi arah pada sisi. Berdasarkan ada tidaknya gelang atau sisi ganda pada suatu graf, secara umum graf dapat digolongkan menjadi dua jenis : 1. Graf sederhana, graf yang tidak mengandung gelang maupun sisi-ganda (Munir, 2012). 2. Graf tak-sederhana, graf mengandung sisi ganda atau gelang (Munir, 2012). Berdasarkan orientasi arah pada sisi, maka secara umum graf dibedakan atas 2 jenis : 1. Graf tak berarah, graf yang sisinya tidak mempunyai orientasi arah (Munir, 2012). 2. Graf berarah, graf yang setiap sisinya diberikan orientasi arah (Munir, 2012). 2.2 Algoritma Djikstra Algoritma Djikstra merupakan algoritma untuk mencari lintasan terpendek yang ditemukan oleh Edsger W. Djikstra. Dalam naskah aslinya, algoritma Djikstra diterapkan untuk mencari lintasan terpendek pada graf berarah. Namun, algoritma ini juga benar untuk graf tak berarah (Munir, 2012). Algoritma Djikstra mencari lintasan terpendek dalam sejumlah langkah. Algoritma ini menggunakan prinsi greed. Prinsip greedy pada algoritma Djikstra menyatakan bahwa pada setiap langkah kita memilih sisi yang berbobot

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3175 minimum dan memasukkannya ke dalam himpunan solusi. Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graph) G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graph G. Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E. Input algoritma ini adalah sebuah graf berarah yang berbobot (weighted directed graph) G dan sebuah sumber vertex s dalam G dan V adalah himpunan semua vertices dalam graph G. Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E. Misalkan sebuah graf berbobot dengan n buah simpul dinyatakan dengan matriks ketetanggaan M = [m ij], yang dalam hal ini, m ij = bobot sisi (i,j) (pada graf takberarah m ij = m ji) m ij = 0 m ij =, jika tidak ada sisi dari simpul i ke simpul j Selain matriks M, kita juga menggunakan tabel S = [s i] yang dalam hal ini, s i = 1, jika simpul i termasuk ke dalam lintasan terpendek s i = 0, jika simpul i tidak termasuk ke dalam lintasan terpendek dan tabel D = [d i] yang dalam hal ini, d i = panjang lintasan dari simpul awal a ke simpul i 2.3 Model Incremental Incremental Model menggunakan kombinasi antara proses linear dan parallel dalam sebuah Process Model. Seperti pada gambar Gambar 1 Incremental Process Model (Pressman, 2010) Proses linear adalah proses yang mengeksekusi masing-masing dari lima aktivitas framework secara berurutan, sementara proses parallel adalah proses yang mengeksekusi satu atau lebih aktivitas framework dalam waktu bersamaan. Proses pertama yang dijalankan dalam model ini adalah sebuah Core Product (Kebutuhan dasar dari produk yang diinginkan). Evaluasi dari Increment sebelumnya akan dikembangkan lagi pada Increment berikutnya. Hal ini bertujuan untuk mememenuhi kebutuhan pengguna untuk produk yang lebih baik dengan tambahan fitur dan fungsionalitas yang ada (Pressman, 2010). Proses model incremental mampu diterapkan dalam suatu project yang mempunyai deadline yang pasti (tetap) serta tidak memerlukan jumlah orang yang banyak (dapat dikerjakan oleh satu orang) dalam mengerjakan setiap Increment. Setiap Increment juga dapat direncanakan untuk mengatasi resiko teknis. 3. METODOLOGI PENELITIAN Metodologi Penelitian Pengembangan Aplikasi Mobile Struktur Data Graf pada skripsi ini akan dilakukan dengan mengadopsi Software Development Life Cycle model Incremental. Tahapan-tahapan yang dilakukan dalam penelitian ini dapat dilihat pada Gambar 2. Tahapan-tahapan yang dilakukan pada pengembangan sistem, yaitu analisis kebutuhan sistem, perancangan sistem, implementasi sistem, dan pengujian sistem akan dilakukan sebanyak jumlah increment yang dihasilkan pada proses pengembangan perangkat lunak. Tahapan-tahapan pengembangan sistem dalam sebuah increment dapat dilakukan secara paralel dengan tahapan pada increment lainnya. Setiap Increment akan menghasilkan prototype yang akan di uji dan dievaluasi oleh pengguna. Berikut adalah tahapan-tahapan yang dilakukan pada pengembangan sistem.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3176 Gambar 2 Metodologi Penelitian 3.1 Studi Literatur Studi literature adalah tahapan yang dilakukan untuk menyusun dasar teori sebagai bahan pendukung dalam penelitian ini. Literatur diperoleh dari berbagai jurnal ilmiah, internet, dan buku. 3.2 Analisis Kebutuhan Sistem Analisis kebutuhan sistem merupakan tahapan untuk mendefinisikan kebutuhan yang harus dipenuhi oleh sistem. Tahapan ini meliputi identifikasi aktor, spesifikasi kebutuhan, pembuatan use case diagram, dan pembuatan use case skenario. Dalam penelitian ini, dilakukan dua increment pengembangan aplikasi. Hal ini menyebabkan tahapan analisis kebutuhan dilakukan sebanyak dua kali. Proses analisis kebutuhan pada Increment 1 dilakukan dengan menggunakan metode observasi eksperimental dan wawancara. Observasi eksperimental dilakukan dengan menggunakan aplikasi Google Maps untuk melihat rute tercepat menuju ke suatu lokasi di area Universitas Brawijaya. Hasil dari observasi menunujukkan bahwa masih terdapat rute-rute yang tidak efektif dalam beberapa percobaan. Selain itu, rute yang ditampilkan juga tidak memperhatikan peraturan parkir yang berlaku di Universitas Brawijaya dan hanya berorientasi pada lokasi tujuan. Metode wawancara dilakukan dengan melakukan wawancara kepada pakar Teknologi Informasi (TI) yang telah melakukan penelitian dengan topik yang serupa. Hasil dari wawancara menghasilkan masalah-masalah yang muncul, yaitu operasi-operasi yang dilakukan dalam membangun sebuah struktur data graf. Pada Increment pertama, kebutuhan utama yang harus tersedia adalah fungsionalitas untuk membuat struktur data graf untuk pejalan kaki, dan kendaraan bermotor. Kebutuhankebutuhan tersebut harus tersedia pada increment pertama karena merupakan fungsi dasar dari aplikasi, yaitu untuk membangun struktur data graf perjalanan di suatu wilayah. Pengembangan aplikasi increment 1 menghasilkan delapan kebutuhan fungsional dan dua aktor yaitu pengguna umum, dan pembuat graf. Kebutuhan yang telah di indentifikasi selanjutnya di modelkan dalam bentuk use case diagram pada Gambar 3 beserta use case scenario untuk masing-masing use case. Gambar 3 Use Case Diagram Increment 1 Proses analisis kebutuhan pada Increment 2 menggunakan metode wawancara. Metode wawancara dilakukan dengan melakukan wawancara kepada pakar Teknologi Informasi (TI) yang telah melakukan penelitian dengan topik yang serupa. Wawancara dilakukan untuk menggali timbal balik terhadap prototype aplikasi yang dihasilkan pada pengembangan increment 1. Hasil dari penggalian timbal balik prototype yang dihasilkan pada Increment 1 adalah penambahan fungsi pada operasi untuk membangun struktur data graf, yaitu untuk mengubah lokasi titik yang telah dibuat, membuat titik di antara jalur, menyatukan satu titik ke titik lainnya dan membuat titik baru diluar graf yang telah ada. Pada Increment 2, kebutuhan utama yang harus tersedia adalah fungsionalitas untuk memasukkan informasi tempat parkir sebagai Interchange dari rute kendaraan bermotor ke rute pejalan kaki. Selain itu, fungsionalitas untuk penentuan rute terdekat juga harus tersedia beserta penambahan kebutuhan hasil dari timbal balik prototype 1 yang dihasilkan pada

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3177 pengembangan increment 1. Pengembangan aplikasi increment 2 menghasilkan 17 kebutuhan fungsional dan dua aktor yaitu pengguna umum, dan pembuat graf. Penambahan kebutuhan fungsionalitas pada increment 2. Kebutuhan fungsional pada increment 2 merupakan pengembangan lebih lanjut dari analisis kebutuhan pada increment 1, sehingga menyebabkan bertambahnya jumlah kebutuhan. Sama seperti pengembangan increment 1, kebutuhan yang diindentifikasi pada increment 2 selanjutnya di modelkan dalam bentuk use case diagram pada Gambar 4 beserta use case scenario untuk masing-masing use case. interaksi antara entitas yang berelasi untuk menggambarkan skenario yang terjadi dalam menjalankan fungsi pada use case perancangan class diagram, perancangan algoritma, perancangan pemodelan relasional data model, dan perancangan antarmuka. Pada increment 1, fungsionalitas yang dibutuhkan adalah untuk membangun graf sehingga membutuhkan pemodelan relasional data model berikut Gambar 4 Use Case Diagram Increment 2 3.3 Perancangan Sistem Tahapan perancangan sistem merupakan tahapan untuk menjabarkan perancangan terhadap komponen sistem untuk menghasilkan fungsi yang sesuai dengan kebutuhan sistem. Tahapan ini meliputi perancangan arsitektural, perancangan sequence diagram, perancangan class diagram, perancangan algoritma, perancangan pemodelan relasional data model, dan perancangan antarmuka. Dalam penelitian ini, dilakukan dua increment pengembangan aplikasi, sehingga proses perancangan dilakukan dua kali. Setiap increment. Perancangan dilakukan berdasarkan analisis kebutuhan yang dilakukan di increment nya masing-masing. Tahapan perancangan meliputi perancangan arsitektural untuk merancang arsitektur aplikasi secara umum, perancangan sequence diagram untuk menggambarkan Gambar 5 Pemodelan Relasional Data Model Increment 1 Terdapat 3 Entitas yang ditemukan pada Pemodelan Relasional Data Model Increment 1, yaitu Graph, Path, dan Point. Hubungan relasi yang terjadi di antara 3 entitas tersebut adalah Graph dan Path, dimana Sebuah Graph terdiri atas satu atau banyak Path (One to (One or Many)). Kemudian terdapat relasi antara Path dan Point, dimana sebuah Path terdiri atas satu atau banyak Point dengan nilai minimum 2 dan maksimal 2 (One to (One or Many)). Pada increment 2, fungsionalitas yang dibutuhkan adalah untuk membuat titik interchange yaitu pertukan graf pejalan kaki dan kendaraan bermotor. Selain itu, juga dibutuhkan implementasi graf yang telah dibuat untuk menentukan rute terdekat menggunakan algoritma Djikstra. Oleh karena itu, pada pengembangan increment 2, dibentuk pemodelan relasional data mode seperti yang digambarkan pada Gambar 6. Terdapat 5 Entitas yang ditemukan pada Pemodelan Relasional Data Model Increment 1, yaitu Graph, Path, dan Point, Route dan Interchange. Hubungan relasi yang terjadi di antara Graph dan Path, dimana sebuah Graph terdiri atas satu atau banyak Path (One to (One or Many)). Path dan Point, dimana sebuah Path terdiri atas satu atau banyak Point dengan nilai minimum 2 dan maksimal 2 (One to (One or Many)). Graph dan Route, dimana sebuah Graph dapat membentuk satu atau banyak Route (One to (One or Many)). Interchange dan Route, dimana sebuah Interchange dapat membentuk nol atau satu Route (One to (Zero or Many).

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3178 Pada increment 2, telah dibuat perancangan pemodelan relasional data model untuk menjalankan fungsi membuat interchange dan penentuan rute terdekat menggunakan algoritma Djikstra. Rancangan tersebut di implementasikan pada tahap implementasi di tahap implementasi basis data increment 2. Gambar 6 Pemodelan Relasional Data Model Increment 2 3.4 Implementasi Sistem Tahapan implementasi sistem merupakan tahapan yang dilakukan untuk membuat kode program berdasarkan perancangan yang telah dilakukan. Tahapan ini meliputi penjabaran spesifikasi sistem, penjabaran implementasi kode, penjabaran implementasi basis data, dan penjabaran implementasi antarmuka. Implementasi dilakukan berdasarkan perancangan yang dilakukan di increment nya masing-masing. Tahapan implementasi meliputi kode, implementasi basis data, dan implementasi antarmuka Pada increment 1, telah dibuat perancangan pemodelan relasional data model untuk menjalankan fungsi membangun graf. Rancangan tersebut di implementasikan pada tahap implementasi di tahap implementasi basis data increment 1. Gambar 7 Implementasi Basis Data Increment 1 Pada implementasi data, diperoleh tabletabel dari database yang digunakan untuk menjalankan fungsionalitas sistem. Tabel-tabel tersebut adalah tabel Point dan tabel Path. Tabel point memiliki relasi one to many dengan tabel Path, karena Point dapat tergabung dalam beberapa Path.Implementasi antarmuka ini dilakukan berdasarkan perancangan antarmuka yang dibuat pada bab perancangan sebelumnya. Gambar 8 Implementasi Basis Data Increment 2 Pada implementasi data, diperoleh tabletabel dari database yang digunakan untuk menjalankan fungsionalitas sistem. Tabel-tabel tersebut adalah tabel Point dan tabel Path. Tabel point memiliki relasi one to many dengan tabel Path, karena Point dapat tergabung dalam beberapa Path. Terdapat tambahan tabel Interchange pada increment 2 untuk menyimpan titik-titik lokasi interchange beserta penjelasan lokasi tersebut. Tabel interchange tidak memiliki relasi dengan tabel lainnya. 3.5 Pengujian Sistem Dalam penelitian ini, dilakukan dua increment pengembangan aplikasi, sehingga proses pengujian dilakukan dua kali. Pengujian pada penelitian ini menggunakan metode White Box Testing dan Black Box Testing. a. White Box Testing Metode White Box Testing digunakan untuk melakukan pengujian unit, yaitu menguji kelayakan unit individu dari source code untuk menjalankan fungsionalitas aplikasi. Unit yang diuji merupakan metode pada kelas implementasi. Pengujian unit yang dilakukan menggunakan metode White Box Testing dengan teknik Basis Path Testing untuk membuat desain test case yang meliputi seluruh kemungkinan cabang yang terjadi dalam sebuah eksekusi komponen aplikasi. Pada pengujian White Box dengan teknik Basis Path Testing, dilakukan analisis algoritma terlebih dahulu dengan menuliskan rancangan pseudocode. Seperti pada fungsi Membuat Graf

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3179 dengan pseudocode yang ditunjukkan pada Tabel 1. Tabel 1 Pseudocode Algoritma Membuat Graf Pseudocode No. Ambil nilai Points dan Paths 1 Buat himpunan 2 FOR setiap Point pada Points 3 FOR setiap Path pada Paths 4 IF latitude Point sama dengan latitude endpoint pada Path dan jika longitude Point sama dengan longitude endpoint pada Path Tambah endpoint pada Path sebagai tetangga dari Point ENDIF 7 ENDFOR 8 Tambahkan Point ke dalam himpunan ENDFOR 10 Kembalikan nilai graf 11 Setelah itu dilakukan pembuatan flowgraph dari 11 operasi yang ditemukan pada pseudocode. Flowgraph ditunjukkan pada Gambar 9. Kemudian dilakukan identifikasi cyclomatic complexity untuk mengetahui jumlah test case yang dapat di uji. Pada flowgraph Membuat Graf, terdapat empat region yang terbentuk, sehingga dapat disimpulkan bahwa cyclomatic complexity bernilai empat dan dihasilkan empat test case seperti yang ditunjukkan pada Tabel 2. 5 6 9 Gambar 9 Flowgraph Algoritma Membuat Graf Tabel 2 Desain Test Case Fungsi Membuat Graf Jalur Test Case Expected Result 1 2 11 1 2 4 9 10 3 11 Memanggil metode buildwithvector() dengan kondisi tidak ada Point yang tersimpan pada database Memanggil metode buildwithvector() dengan kondisi terdapat Point yang tersimpan pada database namun tidak ada Path yang tersimpan pada database Himpunan bernilai kosong Himpunan bernilai kosong

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3180 1 2 4 5 7 8 4 9 10 3 11 1 2 4 5 6 7 8 4 9 10 11 Memanggil metode buildwithvector() dengan kondisi terdapat Point dan Path yang tersimpan pada database namun tidak ada endpoint pada Path yang memiliki latitude dan longitude yang sama dengan Point Memanggil metode buildwithvector() dengan kondisi terdapat Point dan Path yang tersimpan pada database dan terdapat endpoint pada Path yang memiliki latitude dan longitude yang sama dengan Point Himpunan tidak kosong namun tidak terdapat point tetangga pada Point yang terdapat di himpunan Himpunan tidak kosong dan Point didalamnya memiliki tetangga terhadap Point lain Kemudian, dilakukan pengujian terhadapa hasil dari uji test case yang dihasilkan dengan expected result pada setiap test case. Pada pengujian fungsi Membuat Graf, hasil pengujian dapat dilihat pada Tabel 3. Tabel 3 Hasil Pengujian White Box Fungsi Membuat Graf No. Result Status 1 Tidak memasuki perulangan dan mengatur nilai points pada Graf dengan nilai himpunan kosong 2 Memasuki perulangan dan mengatur nilai points pada Graf sebanyak 1 point 3 Memasuki perulangan dan mengatur nilai points pada Graf sebanyak 1 point 4 Memasuki perulangan dan mengatur nilai points pada graf sebanyak himpunan settledpoint yang diolah b. Black Box Testing Metode Black Box Testing digunakan untuk melakukan pengujian validasi, yaitu menguji kesesuaian fungsionalitas aplikasi dengan spesifikasi kebutuhan. Test case dibuat berdasarkan spesifikasi kebutuhan yang ada pada tahap analisis. c. Hasil Pengujian Dalam penelitian ini, dilakukan dua increment pengembangan aplikasi, sehingga proses pengujian dilakukan dua kali. Pengujian unit pada increment 1 menghasilkan tingkat validitas sebesar 100%. Hal ini menunjukkan bahwa aplikasi telah memiliki komponen yang layak untuk menjalankan fungsi membuat graf dengan menggunakan data Point dan Path yang tersimpan pada database. Pengujian unit pada increment 2 menghasilkan tingkat validitas sebesar 100%. Hal ini menunjukkan bahwa aplikasi telah memiliki komponen yang layak untuk menjalankan fungsi mengimplementasikan algoritma rute terdekat dengan menggunakan graf yang dibangun melalui aplikasi. Hasil pengujian unit dapat dilihat pada Tabel 4. Tabel 4 Hasil Pengujian Unit Fungsi Increment Status Menampilkan Titik Dan Jalur Dari Graf 1 Yang Dipilih Menambah Titik Dalam Graf 1 Menghapus Titik 1 Membuat Graf 2 Algoritma Djikstra 2 Menampilkan Rute Menggunakan 1 Jenis Graf (Graf pejalan kaki atau Graf kendaraan bermotor) 2 Pengujian validasi pada kedua increment dinyatakan berhasil dengan tingkat keberhasilan 100%. Berdasarkan hasil ini, fungsionalitas yang dimiliki oleh aplikasi dinyatakan sesuai dengan spesifikasi kebutuhan aplikasi. Hasil pengujian validasi pada increment 1 dapat dilihat pada Tabel 5 dan hasil pengujian validasi pada increment 2 dapat dilihat pada Tabel 6.

Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 3181 Tabel 5 Hasil Pengujian asi Increment 1 No. Nama Use Case Status 1 Login 2 Logout 3 Membuat Titik Dalam Graf 4 Undo 5 Redo 6 Menghapus Titik 7 Reset Graf 8 Melihat graf Tabel 6 Hasil Pengujian asi Increment 2 No. Nama Use Case Status 1 Login 11 Menyatukan Dua Titik 12 Membuat Titik Diluar Graf 13 Melihat Interchange 14 Memasukkan Interchange 15 Mengubah Interchange 16 Menghapus Interchange 17 Melihat Rute Terdekat Ke Lokasi Tujuan 3.6 Pengambilan Kesimpulan dan Saran Tahapan pengambilan kesimpulan dan saran merupakan tahapan yang dilakukan setelah perangkat lunak telah melewati seluruh increment yang dihasilkan. Pada tahapan ini, dijabarkan kesimpulan yang dihasilkan berdasarkan penelitian yang dilakukan serta saran untuk pengembangan Aplikasi Mobile Struktur Data Graf selanjutnya. 2 Logout 3 Membuat Titik Dalam Graf 4 Undo 5 Redo 6 Menghapus Titik 7 Reset Graf 8 Melihat graf 9 Mengubah Lokasi Titik 10 Membuat Titik Diantara Dua Titik Dalam Satu Jalur 4. DAFTAR PUSTAKA Google, 2017. Google Maps Api. [Online] Available at: https://developers.google.com/maps/doc umentation/javascript/distancematrix [Accessed 7 Agustus 2017]. Munir, R., 2012. Matematika Diskrit. 5 ed. Bandung: Penerbit INFORMATIKA. Pressman, R. S., 2010. Software Engineering: Practitioner s approach.. 7 ed. New York: McGraw-Hill.