37 BAB III
ANALISIS DAN PERANCANGAN
Dalam bab analisa ini akan dibahas tiga segmen dalam metodologi GRAPPLE yaitu pengumpulan kebutuhan (requirement gathering), tahap analisis (analysis), dan tahap design (design). Untuk tahap analisis akan dirancang diagram use case, diagram sequence, dan diagram class. Tahap design akan dibahas tentang perancangan diagram activity, perancangan database, dan perancangan antarmuka (user interface). Untuk segmen berikutnya yaitu segmen pengembangan (development) akan dibahas dalam bab IV implementasi.
3.1 Perencanaan Kebutuhan (Requirement Gathering)
Tahap perencanaan kebutuhan merupakan tahap pertama dalam perancangan menggunakan metode GRAPPLE. Pada tahap perencaan kebutuhan terdiri dari beberapa tahapan diantaranya analisis domain, analisis fitur, dan identifikasi sistem.
3.1.1 Analisis Domain
Analisis domain pada penelitian ini adalah sistem operasi android, yang merupakan salah satu sistem operasi pada smartphone dengan menyediakan platform terbuka bagi para pengembang aplikasi. Aplikasi yang akan dibangun adalah berbasis mobile yang memiliki sistem operasi Android, berfungsi sebagai aplikasi navigasi. Dalam aplikasi ini yang dimaksud user adalah masyarakat pada umumnya yang menggunakan sistem operasi Android dapat menggunakan aplikasi ini untuk mengetahui lokasi user berada secara real time dengan bantuan GPS yang telah terintegrasi, mengetahui lokasi shelter terdekat yang datanya telah terintegrasi pula di dalam aplikasi, serta user dapat mengetahui jalur yang akan dilalui sesuai dengan tujuan.
38 3.1.2 Identifikasi Sistem
Identifikasi sistem merupakan gambaran model diagram untuk menunjukkan tata letak sebuah sistem secara fisik dengan menampilkan bagian-bagian perangkat lunak yang berjalan pada perangkat keras (hardware). Pada aplikasi ini perangkat keras yang digunakan adalah gadget dengan sistem operasi Android, yang digunakan sebagai media untuk menampilkan aplikasi mobile geographic information system rute Transjogja menggunakan Android.
Aplikasi tersebut akan dibangun menggunakan bahasa pemrograman Java dan Integrated Development Environment (IDE) Eclipse sebagai workbench atau editor.
Android SDK sebagai interpreter bahasa Java yang digunakan Android. Pada aplikasi ini hanya akan melibatkan user karena database yang digunakan bersifat statis menggunakan SQLite.
3.1.3 Analisis Kebutuhan Sistem
Kebutuhan sistem merupakan tahapan selanjutnya dalam merancang sebuah aplikasi menggunakan metode GRAPPLE. Aplikasi mobile geographic information system rute Transjogja menggunakan Android hanya melibatkan user sebagai aktor. Hasil yang dicapai dalam tahapan ini adalah sebuah diagram high-level-use-case yang dapat dilihat pada gambar 3.1 berikut ini :
Gambar 3.1 Diagram use case high level
39 3.2 Analisis
Dalam analisis sistem dilakukan penguraian dari mobile geographic information system rute Transjogja dengan menerapkan metode GRAPPLE untuk meningkatkan usability dan menganalisa dari proses Requirement Gathering dimana hasil analisa tersebut diwujudkan dalam bentuk permodelan menggunakan diagram UML. Dalam segmen analisis yang merupakan tahap kedua dari metode pengembangan sistem menggunakan GRAPPLE ini akan dibahas 3 aksi, yaitu Analisis kebutuhan sistem (usecase), diagram class, dan interaksi antar objek.
3.2.1 Diagram Use Case
Diagram use case dalam sistem ini terdapat lima case. Terdapat satu aktor didalam use case yaitu user. User mempunyai hak untuk mencari posisi user, mencari lokasi halte terdekat, melihat rute yang akan dilalui user sesuai dengan tujuan, melihat secara keseluruhan trayek dan halte Transjogja pada layer Google Map, serta dapat melihat panduan jalur perjalanan. Use case pada penjelasan diatas dapat dilihat pada gambar 3.2 berikut ini :
Gambar 3.2 Diagram use case
40 3.2.2 Diagram Sequence
Diagram sequence menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang digunakan untuk menggambarkan interaksi antar objek di dalam dan sekitar objek. Diagram sequence dapat dihasilkan dari setiap use case yang dianalisis.
1. Diagram Sequence Nearby
Diagram sequence Nearby terdapat satu aktor dan empat lifeline, dimana user memiliki hak akses untuk melakukan request posisi saat pengaksesan aplikasi, kemudian request dari user tersebut akan diproses dan ditampilkan oleh lifeline NearbyActivity dalam bentuk peta virtual. User pun dapat melakukan request data lokasi halte terdekat dengan memanfaatkan lifeline DatabaseHelper. Gambar diagram sequence dapat dilihat pada gambar 3.3 berikut ini :
Gambar 3.3 Diagram Sequence Nearby 2. Diagram Sequence Go To Halte
Diagram sequence Go To Halte satu aktor dan lima life line, dimana user memiliki hak akses untuk memilih list halte yang telah tersedia dari database, kemudian request dari user tersebut akan diproses oleh life line DatabaseHelper dan Direction agar data koordinat
41
lokasi halte yang tersimpan didalam SQLite dapat diload dan kemudian ditampilkanlah rute halte dari posisi user saat melakukan pengaksesan kemudian user dapat mengetahui panduan perjalanan yang merupakan hasil parsing data dari Google Maps . Gambar diagram sequence dapat dilihat pada gambar berikut 3.4 berikut ini :
Gambar 3.4 Diagram Sequence Go To Halte 3. Diagram Sequence Bus Route
Diagram sequence bus route terdapat satu aktor dan lima lifeline, dimana user memiliki hak akses untuk melakukan request BusRoute dari dashboard, kemudian request dari user tersebut akan diproses dengan memanfaatkan lifeline DatabaseHelper kemudian trayek Transjogja yang terpilih dapat ditampilkan. Setelah trayek tampil pada peta, user dapat mengetahui halte – halte yang akan dilewati dengan melakukan request list halte sesuai dengan trayek terpilih dengan mengakses lifeline DatabaseHelper untuk
42
pengambilan data koordinat halte yang kemudian akan direspon oleh lifeline GoogleMap.
Gambar diagram sequence dapat dilihat pada gambar 3.5 berikut ini :
Gambar 3.5 Diagram Sequence Bus Route 4. Diagram Sequence Info Tiket
Diagram sequence info tiket terdapat satu aktor dan tujuh lifeline, dimana user memiliki hak akses untuk melakukan request info tiket single trip, info tiket regular pelajar, info tiket regular umum, dan info POS dari lifeline InfoTiket, kemudian request dari user tersebut akan diproses dengan memanfaatkan lifeline SingleTrip / RegulerUmum / RegulerPelajar / POS kemudian info tiket ditampilkan. Terdapat fitur tambahan pada lifeline POS yaitu user memiliki hak akses untuk mengakses lokasi pada peta setiap POS melalui lifeline GoogleMap. Gambar diagram sequence dapat dilihat pada gambar 3.6.
43
Gambar 3.6 Diagram Sequence Info Tiket 3.2.3 Diagram Class
Diagram class menampilkan kelas-kelas yang digunakan didalam aplikasi mobile GIS rute Transjogja menggunakan Android yang sedang dikembangkan, memberikan gambaran tentang sistem dan apa relasi yang terjadi didalamnya. Diagram class dari aplikasi tersebut dapat dilihat pada gambar 3.7.
3.3 Design
Pembuatan design dibagi dalam lima bagian yaitu arsitektur sistem, diagram activity, perancangan basis data, struktur menu, dan perancangan antar muka.
3.3.1 Arsitektur Sistem
Arsitektur sistem aplikasi mobile GIS menggunakan Android dibuat untuk mengetahui bagaimana alur user mendapatkan informasi yang dibutuhkan. Arsitektur sistem dapat dilihat pada gambar 3.8.
44
Gambar 3.8 Arsitektur Sistem 3.3.2 Diagram Activity
Diagram activity menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang. Diagram activity juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi.
1. Diagram Activity Nearby
Diagram activity nearby memiliki dua aksi yaitu user dan sistem. Dalam sistem ini user memilih hak akses fitur nearby, kemudian request tersebut diproses memanfaat request User Location untuk request koordinat user. Setelah itu user memilih hak akses fitur halte terdekat, kemudian diproses dan ditampilkan melalui smartphone yang dimiliki oleh user. Perhatikan gambar 3.9.
45
Gambar 3.9 Diagram Activity Nearby
2. Diagram Activity Go To Halte
Diagram activity Go To halte memiliki dua aksi yaitu user dan sistem. Dalam model sistem ini user memilih fitur Go To Halte. Request dilakukan dengan cara memilih list halte yang telah tersedia. Setelah itu hasil list yang akan dipilih akan diproses pada map view yang menampilkan rute yang dilewati. Perhatikan gambar 3.10.
46
Gambar 3.10 Diagram Activity Go To Halte 3. Diagram Activity Bus Route
Diagram activity Bus Route memiliki dua aksi yaitu user dan sistem. Dalam sistem ini user melakukan request jalur trayek, kemudian request tersebut ditampilkan dalam bentuk mapview. Perhatikan gambar 3.11.
47
Gambar 3.11 Diagram Activity Bus Route 4. Diagram Activity Info Tiket
Diagram activity Info Tiket memiliki dua aksi yaitu user dan sistem. Dalam model sistem ini user memiliki hak akses untuk mengakses sub menu tiket single trip, tiket regular umum, tiket regular pelajar, dan Point of Sales. Request yang telah dikonfirmasi oleh user, hasilnya akan ditampilkan dalam list view. Perhatikan gambar 3.12.
48
Gambar 3.12 Diagram Activity Info Tiket 3.3.3 Perancangan Basis Data
Perancangan basis data merupakan tahapan dalam merancang sebuah kumpulan informasi yang disimpan secara sistematik sehingga dapat digunakan untuk memperoleh informasi dari basis data tersebut. Dalam penelitian ini, perancangan basis data digambarkan dengan diagram objek dan perancangan tabel.
49 3.3.3.1 Perancangan Model Objek
Pada gambar menjelaskan bahwa perancangan model objeknya adalah graphhalte, trackroute, halte, halteroute dan route yang akan di transform ke dalam tabel.
Diagram objek merupakan penggambaran dari setiap objek yang dirancang untuk sebuah basis dari aplikasi mobile GIS berbasis Android. Diagram objek tersebut dapat dilihat pada gambar 3.13 berikut ini :
Gambar 3.13 Model Objek Diagram 3.3.3.2 Perancangan Tabel
Tabel - table yang dirancang berikut ini berasal dari model objek yang ditransformasikan menjadi table - tabel sebagai berikut:
1. Tabel halteroute
Tabel 3.1 Tabel halteroute
Field Tipe Data Constrain Keterangan
id integer Not Null, Primary Key Nomor identitas halterute
route_id integer Not Null Nomor identitas rute
halte_id integer Not Null Nomor identitas halte
50 2. Tabel halte
Tabel 3.2 Tabel halte
Field Tipe Data Constrain Keterangan
id_halte integer Not Null, Primary Key Nomor identitas halte
name text Not Null Nama halte
description text Not Null Deskripsi halte
latitude float Not Null Titik latitude track
longitude integer Not Null Titik longitude track
3. Tabel route
Tabel 3.3 Tabel route
Field Tipe Data Constrain Keterangan
id_route integer Not Null, Primary Key Nomor identitas rute
name text Not Null Nama trayek
description text Not Null Deskripsi trayek
4. Tabel trackroute
Tabel 3.4 Tabel trackroute
Field Tipe Data Constrain Keterangan
latitude float Not Null, Primary Key Titik latitude track
longitude float Not Null Titik longitude track
sequence integer Not Null Urutan jalur
route_id integer Not Null Id trayek
3.3.4 Struktur Menu
Perancangan menu merupakan gambaran menu apa saja yang terdapat dalam aplikasi mobile GIS rute Transjogja menggunakan Android yang disusun secara hierarki.
Terdapat empat menu utama yang muncul pada saat pengaksesan halaman yaitu menu nearby, goto halte, bus route, dan ticket information serta menu tambahan ketika tombol menu diakses yaitu additional info dan exit, juga pada titlebar yaitu menu about dan help.
Struktur menu dapat dilihat pada gambar 3.14.
51
Gambar 3.14 Struktur menu
3.3.5 Perancangan Antarmuka (Interface)
Perancangan antarmuka dilakukan sebelum melakukan implementasi agar mencapai hasil yang maksimal. Rancangan antarmuka aplikasi yang akan dibangun terdiri dari sisi user yang terdiri atas rancangan halaman splash screen, rancangan halaman dashboard, rancangan halaman nearby, rancangan halaman goto Halte, rancangan halaman bus route, dan rancangan halaman ticket information.
3.3.5.1 Rancangan Halaman Splash Screen
Rancangan halaman splash screen merupakan halaman yang pertama kali akan muncul ketika aplikasi dijalankan, rancangan tampilannya pada gambar 3.15 berikut ini:
Gambar 3.15 Rancangan Halaman Splash Screen
52 3.3.5.2 Rancangan Halaman Dashboard
Rancangan halaman Dashboard merupakan halaman yang muncul setelah halaman splash screen dieksekusi. Pada halaman ini terdapat empat menu sekaligus fitur dari aplikasi yang akan dibangun. Diantara lain nearby, goto halte, bus route, dan ticket information. Rancangan tampilannya pada gambar 3.16.
Gambar 3.16 Rancangan Halaman Dashboard
3.3.5.3 Rancangan Halaman Nearby
Rancangan halaman Nearby merupakan halaman yang digunakan untuk menampilkan posisi user dan halte terdekat melalui media map view yang akan digunakan dalam aplikasi ini. Rancangan tampilannya pada gambar 3.17.
53
Gambar 3.17 Rancangan halaman Nearby
3.3.5.4 Rancangan Halaman Go To Halte
Rancangan halaman Go To Halte merupakan halaman yang diakses dari menu rancangan halaman Dashboard. Rancangan halaman ini digunakan untuk menampilkan list halte yang dituju user dan kemudian tampil rute didalam map. Rancangan tampilannya pada gambar 3.18 dan 3.19. Rancangan halaman untuk menampilkan panduan perjalanan dari lokasi user menuju ke halte tujuan ada apa gambar 3.20 berikut ini:
Gambar 3.18 Rancangan Halaman Go To Halte
54
Gambar 3.19 Rancangan Halaman rute ke Halte
Gambar 3.20 Rancangan Halaman Guide Path to Halte
3.3.5.5 Rancangan Halaman Bus Route
Rancangan halaman Bus Route merupakan halaman yang digunakan untuk menampilkan rute per trayek Transjogja melalui media map view. Rancangan tampilannya pada gambar 3.21 dan gambar 3.22. Rancangan halaman untuk menampilkan halte – halte yang dilalui dan lokasinya dipeta ada pada gambar 3.23 dan gambar 3.24.
55
Gambar 3.21 Rancangan Halaman Bus Route
Gambar 3.22 Rancangan Halaman Rute Trayek
56
Gambar 3.23 Rancangan Halaman Halte Terpilih
Gambar 3.24 Rancangan Halaman Lokasi Halte Terpilih 3.3.5.6 Rancangan Halaman Ticket Information
Rancangan halaman Ticket Information merupakan halaman yang digunakan untuk menampilkan macam tipe tiket dan lokasi Point of Sales (POS) TransJogja. Rancangan sub menu info tiket ada pada gambar 3.25 dan rancangan info tiket gambar 3.26. Rancangan untuk halamengetahui lokasi POS ada pada gambar 3.27.
57
Gambar 3.25 Rancangan Halaman Ticket Information
Gambar 3.26 Rancangan Halaman Info Tiket
58
Gambar 3.27 Rancangan Halaman Lokasi POS terpilih 3.3.5.7 Rancangan Halaman Help
Rancangan halaman Help merupakan halaman yang digunakan untuk memberikan informasi berkaitan dengan penjelasan aplikasi kepada user. Rancangan tampilannya pada gambar 3.28.
Gambar 3.28 Rancangan Halaman Help
59 3.3.5.8 Rancangan Halaman About
Rancangan halaman About merupakan halaman yang digunakan untuk memberikan informasi berkaitan dengan pembuat. Rancangan tampilannya pada gambar 3.29 berikut :
Gambar 3.29 Rancangan Halaman About
3.3.5.9 Rancangan Halaman Additional Info
Rancangan halaman Additonal Info merupakan halaman yang digunakan untuk memberikan informasi tambahan mengenai TransJogja. Rancangan tampilannya pada gambar 3.30 berikut :
Gambar 3.30 Rancangan Halaman Additional Info
60
Tabel 3.5 Daftar Kelas dan Deskripsi
Nama File Keterangan
AboutActivity.java Kelas yang menampilkan keterangan mengenai aplikasi
AppStatus.java Kelas yang berfungsi sebagai bantuan mengenai checking GPS dan internet connection
DashboardActivity.java Kelas yang menampilkan menu utama aplikasi
BusRoute_DetailRute.java Kelas yang menampilkan rute transjogja per trayek dalam bentuk peta Nearby_Activity.java Kelas yang menampilkan lokasi user dan halte terdekat di dalam map GotoHalte_Activity.java Kelas yang menampilkan list halte yang berhubungan dengan rute ke
halte TransJogja
GotoHalte_Direction.java Kelas yang menampilkan direction path menuju halte tujuan dalam bentuk peta
GotoHalte_Direction_Main.java Kelas yang menampilkan info dan panduan perjalanan yang merupakan hasil parsing dari kelas GotoHalte_Direction.java
BusRoute_Activity.java Kelas yang menampilkan list trayek TransJogja InfoTiket_Activity.java Kelas yang menampilkan sub menu tipe tiket Transjogja HelpActivity.java Kelas yang menampilkan bantuan mengenai pengunaan aplikasi HomeActivity.java Kelas yang berfungsi menampilkan / kembali ke halaman dashboard SplashActivity.java Kelas yang menampilkan splash screen
TopicActivity.java Kelas yang berfungsi menampilkan judul topic pada tiap frame yang sedang aktif
DatabaseHelper.java Kelas yang berfungsi sebagai pemanggil database
Halte.java Kelas yang berfungsi menyimpan inisialisasi objek pada kelas kelas yang menampilkan halte dan rute
Rute.java Kelas yang berfungsi menyimpan inisialisasi objek pada kelas kelas yang menampilkan halte dan rute
TrackingRute.java Kelas yang berisi method yang berhubungan dengan kelas BusRoute_Direction.java
Track.java Kelas yang berisi method yang berhubungan dengan kelas BusRoute_Direction.java
GoogleParser.java Kelas yang digunakan untuk mem-parsing url yang mengarah dari objek JSON Google ke objek Route.
Parser.java Kelas yang digunakan untuk menyimpan inisialisasi objek Parser Route.java Kelas yang digunakan untuk menyimpan inisialisasi objek Route RouteOverlay.java Kelas yang digunakan untuk menampilkan garis route pada peta Segement.java Kelas yang digunakan untuk menyimpan inisialisasi objek Segment XMLParser.java Kelas yang digunakan untuk parsing XML
MapInherit.java Kelas yang berfungsi menampilkan peta GoogleMaps
MapsOverlay.java Kelas yang berfungsi menampilkan marker pada peta GoogleMaps PathOverlay.java Kelas yang berfungsi menampilkan garis / path / rute pada peta
GoogleMaps
InfoTiket_SingleTrip.java Kelas yang menampilkan info tiket single trip