Rancang Bangun Aplikasi Mobile Struktur Data Graf Berbasis Google Maps

  

Vol. 2, No. 10, Oktober 2018, hlm. 3173-3181 http://j-ptiik.ub.ac.id

Rancang Bangun Aplikasi Mobile Struktur Data Graf Berbasis Google

1 Maps 2 3 Devara Fikry Akmal , Aryo Pinandito , Bayu Priyambadha

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 2 3 Email: devarafikry@gmail.com, aryo@ub.ac.id, 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

1. PENDAHULUAN

  yang dalam hal ini V adalah himpunan tidak kosong dari simpul

  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

  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).

  2.2 Algoritma Djikstra

  2. Graf berarah, graf yang setiap sisinya diberikan orientasi arah (Munir, 2012).

  1. Graf tak berarah, graf yang sisinya tidak mempunyai orientasi arah (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 :

  Graf sederhana, graf yang tidak mengandung gelang maupun sisi-ganda (Munir, 2012).

  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.

  G = (V,E) (1)

  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.

  Graf G didefinisikan sebagai pasangan himpunan (V, E), ditulis dengan notasi

  2.1 Graf

  2. LANDASAN KEPUSTAKAAN

  • – 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.

  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.

  increment .

  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

  Incremental sebagai model Software Development Life Cycle (SDLC). Model

  Pengembangan Aplikasi Mobile Struktur Data Graf akan menggunakan model

  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. 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.

  = panjang lintasan dari simpul awal a ke simpul i

  akan di uji dan dievaluasi oleh pengguna. Berikut adalah tahapan-tahapan yang dilakukan pada pengembangan sistem.

  Increment akan menghasilkan prototype yang

  Tahapan-tahapan yang dilakukan dalam penelitian ini dapat dilihat pada 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

  Development Life Cycle model Incremental.

  Metodologi Penelitian Pengembangan Aplikasi Mobile Struktur Data Graf pada skripsi ini akan dilakukan dengan mengadopsi Software

  3. METODOLOGI PENELITIAN

  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.

  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).

  Gambar 1 Incremental Process Model (Pressman, 2010)

  kombinasi antara proses linear dan parallel dalam sebuah Process Model. Seperti pada gambar

  Increment al Model menggunakan

  d i

  Setiap sisi dari graf ini adalah pasangan vertices (u,v) yang melambangkan hubungan dari vertex u ke vertex v. Himpunan semua tepi disebut E.

  = 0, jika simpul i tidak termasuk ke dalam lintasan terpendek dan tabel D = [d i ] yang dalam hal ini,

  s i

  lintasan terpendek

  s i = 1, jika simpul i termasuk ke dalam

  ] yang dalam hal ini,

  S = [s i

  = ∞, jika tidak ada sisi dari simpul i ke simpul j Selain matriks M, kita juga menggunakan tabel

  m ij = 0 m ij

  = bobot sisi (i,j) (pada graf tak- berarah m ij = m ji )

  m ij

  Misalkan sebuah graf berbobot dengan n buah simpul dinyatakan dengan matriks ketetanggaan M = [m ij ], yang dalam hal ini,

  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.

2.3 Model Incremental

  Gambar 2 Metodologi Penelitian

  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.

  Interchange dari rute kendaraan bermotor ke rute

  Pada Increment 2, kebutuhan utama yang harus tersedia adalah fungsionalitas untuk memasukkan informasi tempat parkir sebagai

  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.

  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

  Gambar 3 Use Case Diagram Increment 1

  scenario untuk masing-masing use case.

  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 beserta use case

  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.

  3.1 Studi Literatur

  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.

  Increment 1 dilakukan dengan menggunakan metode observasi eksperimental dan wawancara.

  Proses analisis kebutuhan pada

  menyebabkan tahapan analisis kebutuhan dilakukan sebanyak dua kali.

  increment pengembangan aplikasi. Hal ini

  Dalam penelitian ini, dilakukan dua

  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.

  3.2 Analisis Kebutuhan Sistem

  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.

  pejalan kaki. Selain itu, fungsionalitas untuk penentuan rute terdekat juga harus tersedia beserta penambahan kebutuhan hasil dari timbal balik prototype 1 yang dihasilkan pada pengembangan increment 1.

  Pengembangan aplikasi increment 2 menghasilkan 17 kebutuhan fungsional dan dua aktor yaitu pengguna umum, dan pembuat graf. Penambahan kebutuhan fungsionalitas pada

  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 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

  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

  perancangan pemodelan relasional data model, dan perancangan antarmuka.

  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).

  Pada increment 1, fungsionalitas yang dibutuhkan adalah untuk membangun graf sehingga membutuhkan pemodelan relasional data model berikut

  class diagram, perancangan algoritma,

  increment

  Gambar 4 Use Case Diagram Increment 2

  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 padaerta

  use case scenario untuk masing-masing use case .

3.3 Perancangan Sistem

  diagram untuk menggambarkan interaksi antara entitas yang berelasi untuk menggambarkan skenario yang terjadi dalam menjalankan fungsi pada use case¸ perancangan

  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

  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.

  Gambar 6 Pemodelan Relasional Data Model Increment 2

  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

3.4 Implementasi Sistem

  Gambar 7 Implementasi Basis Data Increment 1

  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

  pseudocode . Seperti pada fungsi Membuat Graf

  terlebih dahulu dengan menuliskan rancangan

  Basis Path Testing , dilakukan analisis algoritma

  Pada pengujian White Box dengan teknik

  cabang yang terjadi dalam sebuah eksekusi komponen aplikasi.

  test case yang meliputi seluruh kemungkinan

  a. White Box Testing

  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.

  Box Testing dan Black Box Testing.

  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.

  3.5 Pengujian Sistem

  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.

  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.

  Dalam penelitian ini, dilakukan dua increment pengembangan aplikasi, sehingga proses pengujian dilakukan dua kali. Pengujian pada penelitian ini menggunakan metode White

  • – 2
  • – 3 –

   Kemudian dilakukan identifikasi

  Memanggil metode buildWithVector() dengan kondisi terdapat Point yang tersimpan pada database namun tidak ada Path yang tersimpan pada database

  3

  4

  1

  Himpunan setPoints bernilai kosong

  11 Memanggil metode buildWithVector() dengan kondisi tidak ada Point yang tersimpan pada database

  1

  Result

  Gambar 9 Flowgraph Algoritma Membuat Graf Tabel 2 Desain Test Case Fungsi Membuat Graf Jalur Test Case Expected

  dihasilkan empat test case seperti yang ditunjukkan pa

  cyclomatic complexity bernilai empat dan

  Membuat Graf, terdapat empat region yang terbentuk, sehingga dapat disimpulkan bahwa

  cyclomatic complexity untuk mengetahui jumlah test case yang dapat di uji. Pada flowgraph

  flowgraph dari 11 operasi yang ditemukan pada pseudocode. Flowgraph ditunjukkan pada

  11 Setelah itu dilakukan pembuatan

  10 Kembalikan nilai graf

  9 ENDFOR

  8 Tambahkan Point ke dalam himpunan setPoints

  7 ENDFOR

  6 ENDIF

  5 Tambah endpoint pada Path sebagai tetangga dari Point

  4 IF latitude Point sama dengan latitude endpoint pada Path dan jika longitude Point sama dengan longitude endpoint pada Path

  3 FOR setiap Path pada Paths

  2 FOR setiap Point pada Points

  1 Buat himpunan setPoints

  Ambil nilai Points dan Paths

  Tabel 1 Pseudocode Algoritma Membuat Graf Pseudocode No.

  dengan pseudocode yang ditunjukkan pada

  Himpunan setPoints bernilai kosong

  • – 2
  • – 3 –
  • – 9
  • – 10 –
  • – 11
  • – 2
  • – 3 –

  • – 5
  • – 7 –
  • – 4
  • – 9 –
  • – 3
  • – 11

  • – 2
  • – 3 –
  • – 5
  • – 6 –
  • – 8
  • – 4 –
  • – 10
  • – 3 –

  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.

   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

  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

  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.

  Tabel 4 Hasil Pengujian Unit Fungsi Increment Status

  Menampilkan Titik Dan Jalur Dari Graf Yang Dipilih

  1 Valid Menambah Titik Dalam Graf

  1 Valid Menghapus Titik

  1 Valid Membuat Graf

  2 Valid 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

  3 Memasuki perulangan dan

  Valid

  mengatur nilai points pada Graf sebanyak 1 point

  4

  1

  4

  8

  10

  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

  Himpunan setPoints tidak kosong namun tidak terdapat point tetangga pada Point yang terdapat di himpunan setPoints

  1

  7

  2 Memasuki perulangan dan

  9

  11 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 setPoints 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 pad

  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

  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 Hasil Pengujian Validasi Increment 1 No. Nama Use Case Status

  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

  3.6 Pengambilan Kesimpulan dan Saran

  Valid

  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:

  11 Menyatukan Dua Titik Valid

  10 Membuat Titik Diantara Dua Titik Dalam Satu Jalur

  1 Login Valid

  Tabel 6 Hasil Pengujian Validasi Increment 2 No. Nama Use Case Status

  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

  1 Login Valid

  9 Mengubah Lokasi Titik 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

  Practitioner’s approach.. 7 ed. New York: McGraw-Hill.