Fakultas Ilmu Komputer
Universitas Brawijaya
3173
Rancang Bangun Aplikasi Mobile Struktur Data Graf Berbasis Google
Maps
Devara Fikry Akmal1, Aryo Pinandito2, Bayu Priyambadha3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
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.
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.1Graf
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.2Algoritma 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
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 = [mij], yang dalam hal ini,
mij = bobot sisi (i,j) (pada graf
tak-berarah mij = mji)
mij = 0
mij= ∞, jika tidak ada sisi dari simpul i
ke simpul j
Selain matriks M, kita juga menggunakan tabel
S = [si] yang dalam hal ini,
si = 1, jika simpul i termasuk ke dalam
lintasan terpendek
si = 0, jika simpul i tidak termasuk ke
dalam lintasan terpendek
dan tabel D = [di] yang dalam hal ini,
di = panjang lintasan dari simpul awal a
ke simpul i
2.3Model 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
Gambar 2 Metodologi Penelitian
3.1Studi 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.2Analisis 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. Kebutuhan-kebutuhan 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
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.
Gambar 4 Use Case Diagram Increment 2
3.3Perancangan 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
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 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.
Gambar 6 Pemodelan Relasional Data Model
Increment 2
3.4Implementasi 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 table-tabel 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.
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 8 Implementasi Basis Data
Increment 2
Pada implementasi data, diperoleh table-tabel 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.5Pengujian 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. WhiteBoxTesting
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
dengan pseudocode yang ditunjukkan pada Tabel 1.
Tabel 1 Pseudocode Algoritma Membuat Graf
Pseudocode No.
Ambil nilai Points dan Paths 1
Buat himpunan setPoints 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
5
Tambah endpoint pada Path
sebagai tetangga dari Point
6
ENDIF 7
ENDFOR 8
Tambahkan Point ke dalam himpunan setPoints
9
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.
Gambar 9 Flowgraph Algoritma Membuat Graf
Tabel 2 Desain Test Case Fungsi Membuat Graf
Jalur Test Case Expected
Result
1 – 2
– 3 –
11
Memanggil metode buildWithVector() dengan kondisi tidak ada Point yang tersimpan pada database
Himpunan setPoints bernilai kosong
1 – 2
– 3 –
4 – 9
– 10 –
3 – 11
Memanggil metode buildWithVector() dengan kondisi terdapat Point yang tersimpan pada database namun tidak ada Path yang tersimpan pada database
1 – 2
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
Valid
2 Memasuki perulangan dan mengatur nilai points pada Graf sebanyak 1 point
Valid
3 Memasuki perulangan dan mengatur nilai points pada Graf sebanyak 1 point
Valid
4 Memasuki perulangan dan mengatur nilai points pada graf sebanyak himpunan settledPoint yang diolah
Valid
b. BlackBoxTesting
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 Algoritma Djikstra 2 Valid Menampilkan Rute
Menggunakan 1 Jenis Graf (Graf pejalan kaki atau Graf kendaraan bermotor)
2 Valid
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
Tabel 5 Hasil Pengujian Validasi Increment 1
No. Nama Use Case Status
1 Login Valid
2 Logout Valid
3 Membuat Titik Dalam Graf Valid
4 Undo Valid
5 Redo Valid
6 Menghapus Titik Valid
7 Reset Graf Valid
8 Melihat graf Valid
Tabel 6 Hasil Pengujian Validasi Increment 2
No. Nama Use Case Status
1 Login Valid
2 Logout Valid
3 Membuat Titik Dalam Graf Valid
4 Undo Valid
5 Redo Valid
6 Menghapus Titik Valid
7 Reset Graf Valid
8 Melihat graf Valid
9 Mengubah Lokasi Titik Valid
10 Membuat Titik Diantara Dua Titik Dalam Satu Jalur
Valid
11 Menyatukan Dua Titik Valid
12 Membuat Titik Diluar Graf Valid
13 Melihat Interchange Valid
14 Memasukkan Interchange Valid
15 Mengubah Interchange Valid
16 Menghapus Interchange Valid
17 Melihat Rute Terdekat Ke Lokasi Tujuan
Valid
3.6Pengambilan 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.
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