BAB III
METODOLOGI PENELITIAN
3.1 Analisis Persoalan
Sebelum peneliti mengembangkan aplikasi Jarmamba mobile dan menerapkan pola arsitektur Model-View-ViewModel (MVVM), peneliti melakukan diskusi terlebih dahulu dengan supervisor yang telah membimbing peneliti ketika melaksanakan kerja praktik di PT.Banopolis Inovasi Kendara pada tahun 2020 lalu, untuk mendapatkan ulasan mengenai aplikasi Jaramba mobile, hal tersebut bertujuan agar peneliti mendapatkan pandangan terhadap aplikasi Jaramba secara detail, sehingga penerapan pola arsitektur Model-View-ViewModel (MVVM) pada aplikasi Jaramba mobile dapat tepat sasaran. Adapun beberapa hal yang peneliti dapatkan setelah berdiskusi bersama supervisor, diantaranya sebagai berikut:
3.1.1 Latar Belakang Proyek Jaramba
Terdapat beberapa fakta yang mendasari terbentuknya proyek Jaramba, fakta ini diperoleh dari Pitch Deck Jaramba Final, Pitch Deck merupakan sebuah presentasi singkat yang berbentuk slide tentang informasi atau gambaran tentang sebuah start- up. Berikut ini merupakan pernyataan masalah yang penulis dapat berdasarkan Pitch Deck Jaramba Final:
1. Ketergantungan yang tinggi terhadap kendaraan pribadi.
2. Transportasi online bukanlah solusi untuk digunakan sebagai tulang punggung transportasi.
3. Solusi transportasi massal masih belum terintegrasi dengan solusilain.
4. Pemilik kendaraan menggunakan kendaraannya selama 1,3 jam per 24 jam.
Hal tersebut diperkuat dengan contoh sample Jakarta, memiliki tingkat kemacetan sebesar 46%, kemudian pada tahun 2019 Jakarta menempati posisi ke tujuh dunia sebagai kota dengan kemacetan tinggi.
Berdasarkan hal tersebut Jaramba memiliki beberapa usulan yang menjadi solusi dari permasalahan diatas, usulan tersebut yaitu sebagai berikut:
1. Seamless journey experience, yaitu:
A. Adanya platform yang mengintegrasikan pengguna akhir (end-user), dengan berbagai operator mobilitas transportasi.
B. Adanya perencanaan perjalanan yang terintegrasi.
C. Serta, explorasi yang lebih mudah melalui informasi yangmenarik.
2. Promote efficiency urban mobility, yaitu:
A. Mengurangi ketergantungan kendaraan milik pribadi.
B. Meningkatkan pemanfaatan angkutan umum yang ada.
3. Help the government face the mobility challenge, yaitu:
A. Mengumpulkan data mobilitas dalam satu platformtunggal
B. Meningkatkan kapasitas mobilitas tanpa bergantung pada pembangunan infrastruktur.
C. Sesuai dengan berbagai kebijakan publik di bidang mobilitas termasuk visi & misi provinsi Jawa Barat (Indonesia)
Pengembangan aplikasi Jaramba mobile ketika peneliti melaksanakan kerja praktik tahun 2020, menghabiskan waktu selama 1 bulan 14 hari.
3.1.2 Batasan proyek pasca kerja praktik
Adapun batasan – batasan pada proyek Jaramba pasca kerja praktik, yaitu sebagai berikut:
1. Produk aplikasi yang di-deploy merupakan aplikasi Jaramba mobile versi awal atau beta version, hanya dilakukan manual test oleh tim pengembang, 2. Kode sumber aplikasi jaramba belum dimanajemen dengan baik, tidak
menerapkan pola arsitektur apapun (anti-pattern), sehingga kode yang kian kompleks menyebabkan pengembang berikutnya sulit dalam merawat dan mengembangkan sistem.
3.2 Rancangan Penelitian
Rancangan penelitian merupakan kerangka spesifik atau sketsa yang di desain oleh peneliti sebagai rencana penelitian (research plan). Sub-bab rancangan penelitian
berisi perkakas atau tools yang digunakan, Metode Pengembangan, dan Desain Perangkat Lunak.
3.2.1 Perkakas yang Digunakan 3.2.1.1 Perangkat Keras
1. Laptop dengan spesifikasi sebagai berikut:
a. Processor: Intel® Core™ i7-7700HQ CPU @ 2.80GHz b. RAM: 8.00 GB
c. System type: 64-bit Operating System, x64-basedprocessor.
2. Perangkat ponsel Android dengan versi Lolipop versi 5.1, digunakan sebagai Android Emulator.
3. Kabel USB yang digunakan sebagai USBDebugging.
4. Perangkat Internet 3.2.1.2 Perangkat Lunak
1. JDK versi “jdk-13.0.2”
2. Android Studio IDE stable version 4.1.2 3. Kotlin plugin versi
4. Versi Gradle 5. Firebase 6. Github
3.2.2 Metodologi Pengembangan
Metodologi pengembangan perangkat lunak yang digunakan dalam penerapan pola arsitektur MVVM pada aplikasi Jaramba mobile adalah metode Waterfall.
Waterfall adalah metode yang bersifat sistematis, serta berurutan dalam mengembangkan perangkat lunak (Pressman, 2015:42). Metodologi ini memiliki sebutan lain, yaitu “Linear Sequential Model”, pertama kali diperkenalkan oleh Winston Royce pada tahun 1970, Metodologi Waterfall menggunakan pendekatan sistematis dan berurutan [10].
Peneliti menggunakan metodologi Waterfall karena metodologi ini memiliki kelebihan yaitu:
a. Terstruktur dan terorganisasi, sehingga pengembangan proyek perangkat lunak memiliki landasan yang baik [10].
b. Mudah di pahami setiap tahapan dan mudah di implementasikan dalam pengembangan perangkat lunak [10].
Berikut ini merupakan fase – fase dalam metodologi Waterfall menurut Pressman:
Gambar 3.1 Waterfall Pressman (Pressman, 2015:42)
Gambar 3.1 menjelaskan bahwa tahapan – tahapan pada Waterfall berjalan secara terstruktur, mulai dari tahap Communication, Planning, Modeling, Construction, dan Deployment.
3.2.1.3 Communication
Sebelum memulai pekerjaan yang bersifat teknis, sangat diperlukan adanya komunikasi dengan customer demi memahami dan mencapai tujuan yang ingin dicapai. Berikut ini merupakan tahapan – tahapan pada fase communication:
1. Project Initiation
Pada tahap ini peneliti melakukan komunikasi terhadap supervisor yang pernah membimbing peneliti ketika melaksanakan kerja praktik pada tahun 2020 silam, tahap ini memiliki tiga tujuan, yaitu sebagai berikut:
a. Untuk memperoleh informasi terkait aplikasi Jaramba mobile, apakah terdapat pengembangan lebih lanjut terhadap aplikasi Jaramba mobile, kalau ada, sudah sejauh apa proses pengembangan tersebut
b.
Kemudian pembahasan mengenai penerapan pola arsitektur MVVM pada aplikasi Jaramba mobile yang diharapkan dapat mempermudah developer dalam hal pemeliharaan, pengujian, dan evolusi perangkat lunak.c.
Setelah itu, pembahasan mengenai data – data yang diperlukan, serta mendefinisikan fitur dan fungsi aplikasi Jaramba mobile.2. Requirement Gathering
Pada tahap ini peneliti mengumpulkan kebutuhan mengenai aplikasi Jaramba mobile, berikut ini merupakan hal – hal yang peneliti lakukan:
a. Mereview pitch-deck aplikasi Jaramba untuk memperoleh informasi tentang proyek jaramba, di Google Drive yang telah disediakan PT.Banopolis Inovasi Kendara.
b. Mereview dokumen teknis aplikasi Jaramba.
c. Mereview dokumen laporan aplikasi Jaramba Mobile.
Kedua tahap diatas peneliti lakukan untuk mengetahui secara rinci mengenai aplikasi Jaramba, serta mengumpulkan kebutuhan, untuk kemudian dilakukan perencanaan.
3.2.1.4 Planning
Tahap ini adalah tahapan perencanaan yang menjelaskan tentang estimasi tugas – tugas teknis yang akan dilaksanakan, sumber daya yang dibutuhkan, produk yang ingin dihasilkan, penjadwalan kerja, dan tracking proses pengerjaan perangkat lunak. Berikut ini merupakan tahapan – tahapan padafase planning:
1. Estimating
Estimasi merupakan kegiatan untuk menentukan seberapa besar ruang lingkup (scope) proyek perangkat lunak. Estimasi diperlukan peneliti agar dapat menentukan seberapa besar biaya, dan waktu yang dibutuhkan dalam mengembangkan aplikasi Jaramba mobile.
Peneliti menggunan Work Breakdown Structure (WBS) untuk mengestimasi waktu dan scope, karena dengan WBS, peneliti dapat mengetahui seberapa besar scope proyek aplikasi Jaramba mobile, sehingga peneliti dapat menjabarkan penjadwalan proyek berikutnya.
Berikut ini merupakan WBS pada aplikasi Jaramba mobile yang dibuat menggunakan pendekatan top-down (mulai dari komponen terbesar dalam proyek dan memecahnya menjadi komponen – komponen yang lebih kecil):
Gambar 3.2 Work Breakdown Structure (WBS) proyek aplikasi Jaramba mobile.
Gambar 3.2 menjelaskan bahwa proyek aplikasi Jaramba mobile terdiri dari lima komponen besar, yaitu: Communication, Planning, Modeling, Construction, dan Deployment. Komponen – komponen tersebut dibuat mengikuti metodologi pengembangan waterfall, setiap komponen pada WBS dikerjakan secara berurutan mnegikuti konsep waterfall.
Berikut ini merupakan deliverable dari WBS yang peneliti buat:
Tabel 3.1 Table Deliverable Working Breakdown Structure
No Working Beakdown Structure (WBS)
Deliverable
1 Project Initiation Persetujuan oleh CEO PT.Banopolis untuk mengembangkan aplikasi Jaramba mobile dengan pola arsitektur MVVM, serta wawancara singkat mengenai arsitektur MVVM yang akan
diimplementasikan pada aplikasi Jaramba mobile.
2 Requirement Gathering Memahami latar belakang terciptanya proyek Jaramba, dapat mendefinisikan fitur – fitur yang diperlukan aplikasi, dan mengetahui tantangan serta hambatan dari pengembangan aplikasi Jaramba v1.0.
3 Planning Dapat mendefinisikan Scope, Time, Cost, dan Risk Management.
4 Modeling (Analysis) Mendefinisikan kebutuhan minimum perangkat keras yang dibutuhkan untuk menjalankan aplikasi, mendefinisikan spesifikasi kebutuhan peragkat lunak baik kebutuhan fungsional maupun kebutuhan non-fungsional, dan mendefinisikan sasaran pengguna.
5 Modeling (Design) Membuat Use Case Diagram, membuat Flowchart diagram, mengetahui Wireframe aplikasi Jaramba mobile, serta membuat desain arsitektur MVVM.
6 Coding Proyek aplikasi Jaramba mobile user dan driver yang berisi kode sumber yang telah dikembangkan berdasarkan pola arsitektur MVVM.
7 Testing Hasil manual testing, hasil unit testing pada fungsi – fungsi krusial, serta hasil testing MVVM.
8 Deployment Aplikasi Jaramba mobile user dan driver yang telah di unggah ke Google Drive
2. Scheduling
Scheduling merupakan puncak dari perencanaan proyek yang merupakan komponen utama dalam manajemen proyek perangkat lunak. Scheduling diperlukan peneliti untuk dapat mengalokasikan upaya ke masing masing komponen yang telah direncanakan. Berikut ini merupakan perencanaan dalam pengembangan aplikasi Jaramba Mobile:
a. Perencanaan Waktu Pengembangan aplikasi Jaramba Mobile Tabel 3.2 Tabel Perencanaan Pengerjaan Proyek.
NO KEGIATA N
WAKTU (Pekan ke 1 - 12)
1 2 3 4 5 6 7 8 9 10 11 12
1 Analisis Kebutuhan 2 Desain
Sistem 3 Implementas
i
(Coding) 4 Pengujian 5 Perilisan
Aplikasi 6 Pemeliharaa
n Aplikasi
Tabel 3.2 menjelaskan bahwa tiap – tiap tahapan Software Development Life-Cycle (SDLC) atau siklus hidup pengembangan perangkat lunak mengikuti metodologi Waterfall.
Keterangan:
1. Warna hijau tua merupakan komponen yang telah selesai dikerjakan 2. warna hijau muda merupakan komponen yang akan dikerjakan
b. Perencanaan Tempat Pengembangan aplikasi Jaramba Mobile
Tempat pengerjaan proyek aplikasi Jaramba mobile dilakukan di rumah peneliti yaitu di Kecamatan Kotabumi, Kabupaten Lampung Utara, dan di rumah kost peneliti di Kecamatan Jati Agung, Kabupaten Lampung Selatan.
3. Tracking
Tracking merupakan tahapan terakhir dalam perencanaan pengembangan perangkat lunak berdasarkan metodologi waterfall pressman. Tracking merupakan upaya pelacakan agar pengembangan perangkat lunak tidak keluar dari ruang lingkup (scope) yang telah ditentukan, serta memanajemen risiko yang akan muncul ketika pengembangan perangkat lunak. Berikut ini merupakan hal yang dilakukan dalam tracking:
a. Memahami Ruang Lingkup (Scope) aplikasi Jaramba Mobile
Secara umum proyek ini memiliki cakupan untuk menerapkan pola arsitektur MVVM pada aplikasi Jaramba mobile. Aplikasi Jaramba mobile yang dikembangkan merupakan Minimum Viable Product (MVP) dengan fitur pemesanan bus sebagai fitur awal. Aplikasi Jaramba mobile terdiri dari dua aplikasi, yaitu aplikasi Jaramba User dan aplikasi Jaramba Driver. Aplikasi Jaramba User digunakan oleh pengguna untuk memesan bus, sedangkan aplikas Jaramba Driver digunakan oleh pengemudi bus untuk menerima pemesanan bus, serta operator bus.
Berdasarkan scope tersebut peneliti tidak akan melakukan pengembangan fitur diluar scope yang telah didefinisikan.
3.2.1.5 Modeling
Modeling merupakan tahap perencanaan dan pemodelan arsitektur sistem yang berfokus pada analisis kebutuhan perangkat lunak dan desain dari sistem yang akan dikembangkan. Berikut ini merupakan fase – fase modeling:
1. Analysis
Anaisis kebutuhan merupakan satu di antara banyak aktifitas kritis pada proses rekayasa kebutuhan perangkat lunak untuk memahami ranah permasalahan dari sistem yang berjalan dan ranah solusi dari sistem yang akan dibuat [17]. Berikut ini merupakan langkah – langkah yang peneliti tempuh dalam melakukan analisis kebutuhan perangkat lunak:
a. Mendefinisikan Spesifikasi Kebutuhan Perangkat Lunak
Peneliti perlu mendefinisikan detail dari semua aspek perangkat lunak yang akan dibangun, Adapun kebutuhan fungsional (functional requirement) yaitu sebagai berikut:
Tabel 3.4 Kebutuhan Fungsional Aplikasi Jaramba mobile (User)
ID – REQ DESKRIPSI
F-001 Pengguna dapat melakukan pendaftaran / register F-002 Pengguna dapat melakukan Login
F-003 Pengguna dapat mengubah password melalui email
F-004 Pengguna dapat melakukan pemesanan bus (untuk waktu saat ini) F-005 Pengguna dapat memilih lokasi tujuan dengan menginputkan teks F-006 Pengguna dapat melihat riwayat perjalanan secara terurut
berdasarkan waktu terbaru
F-007 Pengguna dapat memberi penilaian kepuasan terhadap driver F-008 Pengguna dapat memilih lokasi awal perjalanan dengan
menginputkan teks
F-009 Pengguna dapat melihat profil
F-010 Pengguna dapat melihat nama pengguna F-011 Pengguna dapat melihat nomor telepon F-012 Pengguna dapat melakukan Logout
F-013 Pengguna dapat memfilter riwayat perjalanan menggunaakan calendar
Tabel 3.5 Kebutuhan Fungsional Aplikasi Jawamba Mobile (Driver)
ID – REQ DESKRIPSI
F-001 Pengguna dapat melakukan Login
F-002 Pengguna hanya dapat mengoperasikan bus, selama waktu yang ditentukan
F-003 Pengguna dapat memilih trayek yang tersedia
F-004 Pengguna dapat memilih plat kendaraan yang tersedia
F-005 Pengguna dapat memulai perjalanan dengan menekan start trip F-006 Pengguna dapat mengakhiri perjalanan dengan menekan finish trip F-017 Pengguna dapat melihat riwayat perjalanan secara terurut
berdasarkan waktu terbaru
F-008 Pengguna dapat melihat posisi saat ini melalui Google Maps F-009 Pengguna dapat memberikan penilaian kepuasan terhadap layanan
dari aplikasi Jaramba mobile F-010 Pengguna dapat melihat foto profil F-011 Pengguna dapat melihat nama pengguna F-012 Pengguna dapat melihat nomor telepon F-013 Pengguna dapat melakukan Logout
F-014 Aplikasi dapat melakukan Logout otomatis ketika telah mencapai batas waktu yang ditentukan
Peneliti perlu mendefinisikan detail dari semua aspek perangkat lunak yang akan dibangun, Adapun kebutuhan non-fungsional (non-functional requirement) yaitu sebagai berikut:
Tabel 3.6 Kebutuhan Non-Fungsional Aplikasi Jaramba Mobile
ID – REQ DESKRIPSI
F-001 Realtime pada maps aplikasi Jaramba memiliki interval waktu tiap 3 detik sekali.
F-002 Aplikasi memperbolehkan pengguna login hanya jika pengguna telah memverifikasi akun yang didaftarkan.
F-003 Aplikasi membatasi driver dalam melaksanakan trip pada pukul 07:00 – 16:00
b. Desain Sistem (System Design)
Setelah menyelesaikan tahap analisis kebutuhan perangkat lunak, selanjutnya yaitu tahap desain sistem (system design) untuk memodelkan perancangan perangkat lunak. Desain sistem aplikasi Jaramba Mobile terdiri dari: Pemodelam menggunakan Use Case Diagram, dan Flowchart Diagram.
1. Pemodelan Menggunakan Use Case Diagram
Oleh karena itu diperlukan use case diagram. Adapun penggunaan use case diagram yaitu menggambarkan interaksi antara pengguna dengan sistem yang menunjukkan hubungan antara pengguna dan berbagai kasus penggunaan di mana pengguna terlibat. Secara umum peneliti membagi keseluruhan sistem menjadi dua bagian, yaitu desain sistem aplikasi Jaramba mobile (user), desain sistem aplikasi Jaramba mobile (driver).
Desain Sistem Aplikasi Jaramba Mobile (user)
Berikut ini merupakan use case diagram dari aplikasi Jaramba mobile (user):
Gambar 3.3 Use case diagram pemesanan kendaraan bus (saat ini) Gambar 3.3 menjelaskan bahwa pengguna harus melakukan login sebelumnya ketika ingin mengakses moda transportasi bus pada homepage aplikasi Jaramba mobile, setelah menekan menu moda transportasi bus, pengguna akan diarahkan ke halaman maps dimana pada halaman ini pengguna dapat menginputkan titik awal keberangkatan dan titik tujuan atau destinasi, setelah itu pengguna memasukkan jumlah penumpang dan metode pembayaran, ketika pengguna menekan tombol “Let’s Go”, maka pemesanan berhasil, dan secara otomatis pengguna di arahkan ke navigasi riwayat untuk memantau perjalanan, serta pengemudi terkait dapat melihat daftar penumpang yang sedang menunggu.
Selain itu, pengguna pun dapat melihat detail perjalanan, memberi rating kepuasan layayanan terhadap pengemudi.
Berikut ini merupakan use case diagram dari aplikasi Jaramba mobile (user):
Gambar 3.4 Use case diagram pemesanan kendaraan bus (Akan datang).
Gambar 3.4 menjelaskan bahwa pengguna harus melakukan login sebelumnya ketika ingin mengakses moda transportasi bus pada navigasi trip aplikasi Jaramba mobile, setelah menekan navigasi trip, pengguna dapat menginputkan titik awal keberangkatan dan titik tujuan atau destinasi, namun pengguna wajib menginputkan tanggal keberangkatan untuk waktu mendatang, setelah itu pengguna memasukkan jumlah penumpang dan metode pembayaran, ketika pengguna menekan tombol “Let’s Go”, maka pemesanan berhasil, dan secara otomatis pengguna di arahkan ke navigasi riwayat untuk memantau perjalanan yang akan datang, serta pengemudi terkait dapat melihat daftar penumpang yang sedang menunggu. Selain itu, pengguna pun dapat melihat detail perjalanan, memberi rating kepuasan layayanan terhadap pengemudi.
Berikut ini merupakan use case diagram dari aplikasi Jaramba mobile (driver):
Gambar 3.5 Use case diagram start trip
Gambar 3.5 menjelaskan bahwa pada aplikasi driver, sebelum pengemudi memulai perjalanan (trip), pengemudi terlebih dahulu harus melaukan login, setelah itu pengemudi dapat menuju navigasi trip kemudian memasukkan trayek, plat kendaraan (bus) yang sesuai, setelah itu pengemudi dapat memulai perjalanan dengan menekan tombol “Start”, setelah itu pengemudi diarahkan ke halaman riwayat trip, pada halaman ini pengemudi dapat melihat daftar pengguna beserta lokasi yang memesan bus pada trayek terkait.
Berikut ini merupakan use case diagram dari aplikasi Jaramba mobile (driver):
Gambar 3.6 Use case diagram finish trip
Gambar 3.6 menjelaskan bahwa pada aplikasi driver, sebelum pengemudi menyelesaikan perjalanan (finish trip), pengemudi terlebih dahulu harus melaukan login, setelah itu pengemudi dapat menuju navigasi trip dengan syarat trip harus sedang berlangsung, setelah itu pengemudi dapat mengakhiri perjalanan dengan menekan tombol “Finish”, setelah itu pengemudi diarahkan ke halaman riwayat trip, pada halaman ini status perjalanan pengemudi berubah menjadi selesai. Selain itu pengemudi dapat melihat detail dari perjalanan, kemudian dapat memberi penilaian terhadap kepuasan menggunakan aplikasi Jaramba.
2. Flowchart Diagram
Flowchart adalah jenis diagram alir yang dapat mewakili algoritma yang menampilkan tahapan – tahapan prosedural dalam bentuk simbol yang telah ditentukan. Flowchart merupakan ilustrasi penggambaran penyelesaian sebuah masalah yang dapat diketahui oleh semua orang, tidak hanya developer saja.
Berikut ini merupakan flowchart Diagram Aplikasi Jaramba Mobile (user) yaitu sebagai berikut:
Gambar 3.7 Flowchart diagram pemesanan kendaraan bus (saat ini).
Gambar 3.7 menjelaskan bahwa berikut merupakan tahapan ketika pengguna ingin memesan kendaraan bus untuk waktu saat ini, waktu pemesanan untuk metode ini yaitu otomatis terinput oleh sistem berdasarkan waktu pemesanan pengguna, pengguna menginputkan titik awal atau titik keberangkatan, kemudian destinasi, beralih ke halaman selanjutnya, peneliti memasukkan total penumpang, dan metode pembayaran, setelah itu pengguna menekan tombol Let’s Go, dan sistem akan memeroses transaksi pengguna.
Berikut ini merupakan flowchart Diagram Aplikasi Jaramba Mobile (user) yaitu sebagai berikut:
„
Gambar 3.8 Flowchart diagram pemesanan kendaraan bus (waktu mendatang) Gambar 3.8 menjelaskan bahwa berikut merupakan tahapan ketika pengguna ingin memesan kendaraan bus untuk waktu mendatang, waktu pemesanan untuk metode ini yaitu pengguna menginputkan sendiri waktu keberangkatan, pengguna menginputkan titik awal atau titik keberangkatan, kemudian destinasi, beralih ke halaman selanjutnya, peneliti memasukkan total penumpang, dan metode pembayaran, setelah itu pengguna menekan tombol Let’s Go, dan sistem akan memeroses transaksi pengguna.
Berikut ini merupakan flowchart Diagram Aplikasi Jaramba Mobile (driver) yaitu sebagai berikut:
Gambar 3.9 Flowchart diagram memulai perjalanan (start trip)
Gambar 3.9 menjelaskan bahwa berikut merupakan tahapan ketika driver atau pengemudi ingin memulai perjalanan (start trip) menggunakan aplikasi Jaramba mobile (driver), pengemudi harus memilih trayek dan plat kendaraan yang sesuai, cocok, dan belum di gunakan oleh pengemudi lain, setelah berhasil, aplikasi akan memproses perjalanan pengemudi.
berikut:
Gambar 3.10 Flowchart diagram menyelesaikan perjalanan (finish trip) Gambar 3.10 menjelaskan bahwa berikut merupakan tahapan ketika driver atau pengemudi ingin menyelesaikan perjalanan (finish trip) menggunakan aplikasi Jaramba mobile (driver), pengemudi harus dalam keadaan “sedang melaksanakan trip”, kemudian pengguna menekan tombol “Finish” dan sistem akan memperoses untuk menyelesaikan perjalanan.
Untuk tahap Construction, dan tahap Deployment akan dibahas pada Bab IV mengenai hasil dan pembahasan.
c. Desain Perangkat Lunak
Setelah pemodelan dari aplikasi Jaramba mobile, seperti Use Case Diagram, Flowchart Diagram, selanjutnya peneliti mendefinisikan desain low fidelity prototyping berupa Wireframe, kemudian membuat desain arsitektur MVVM.
1. Wireframe
Wireframe merupakan struktur dasar dari sebuah perangkat lunak. Dalam tahap pengembangan, wireframe termasuk low-fidelity prototyping (Lo-fi mockup), wireframe lebih berfokus terhadap elemen – elemen dasar dari sebuah antar muka aplikasi. Wireframing merupakan tahapan penting karena memungkinkan untuk mendefinisikan information hierarcy atau tata letak suatu komponen pada satu halaman aplikasi, sehingga memudahkan pengembang perangkat lunak untuk merencanakan pembuatan desain user-interface sesuai dengan rencana tentang bagaimana pengguna dapat memproses informasi [15].
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (User), yaitu sebagai berikut:
Gambar 3.11 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Autentikasi.
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (User), yaitu sebagai berikut:
Gambar 3.12 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Navigasi.
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (User), yaitu sebagai berikut:
Gambar 3.13 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Navigasi Home.
yaitu sebagai berikut:
Gambar 3.14 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Navigasi Trip.
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (User), yaitu sebagai berikut:
Gambar 3.15 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Navigasi History.
yaitu sebagai berikut:
Gambar 3.16 Wireframe Aplikasi Jaramba Mobile (User) pada komponen Navigasi Profile.
B. Wireframe Aplikasi Jaramba Mobile (Driver)
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (driver), yaitu sebagai berikut:
Gambar 3.17 Wireframe Aplikasi Jaramba Mobile (Driver) pada komponen Autentikasi.
yaitu sebagai berikut:
Gambar 3.18 Wireframe Aplikasi Jaramba Mobile (Driver) pada komponen Autentikasi.
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (driver), yaitu sebagai berikut:
Gambar 3.19 Wireframe Aplikasi Jaramba Mobile (Driver) pada komponen History.
Berikut ini merupakan Wireframe komponen Aplikasi Jaramba Mobile (driver), yaitu sebagai berikut:
Gambar 3.20 Wireframe Aplikasi Jaramba Mobile (Driver) pada komponen Profile.
Gambar 3.11 sampai 3.20 dibawah ini menjelaskan bahwa secara keseluruhan kerangka aplikasi Jaramba mobile (user, driver) telah di rancang, komponen seperti teks, gambar, tombol bereserta komponen lain telah di definisikan tata letaknya untuk masing – masih halaman, sehingga aplikasi Jaramba mobile (user), aplikasi Jaramba mobile (driver) telah memiliki rancangan, sehingga ketika peneliti ingin mengimplementasikan user-interface dari aplikasi Jaramba mobile (user maupun driver) peneliti telah memiliki rancangan berupa wireframe yang peneliti buat menggunakan software draw.io yang merupakan online software untuk membuat flowchart, process diagram, chart, serta diagram lainnya [25].
Berikut ini merupakan wireframe aplikasi Jaramba Mobile:
2. Desain Arsitektur Model-View-ViewModel
Berikut ini merupakan desain arsitektur Aplikasi Jaramba Mobile, yaitu sebagai berikut:
Gambar 3.21 MVVM Desain Arsitektur.
Sumber: Guide to app architecture | Android Developers
berikut, pada prinsipnya MVVM memisahan kepentingan antara kepentingan GUI dan logika bisnis, sehingga menghindari suatu kondisi yang disebut God Object (struktur data yang terlalu banyak, dan melakukan tugas yang berlebihan pada suatu objek).
Oleh karena itu, pola arsitektur MVVM membagi tanggung jawab kepada tiga komponen yaitu Model, View, dan ViewModel. View bertanggung jawab untuk seluruh hal terkait dengan UI seperti menampilkan loading, dialog, toast, dan sebagainya. Model merupakan komponen yang bertanggung jawab untuk menyediakan data yang dibutuhkan. Sedangkan ViewModel merupakan komponen inti dari MVVM yang bertugas menyimpan dan mengambil data dari Model untuk kemudian ditampilkan oleh View.
MVVM merupakan jenis arsitektur berlapis (layered architecture) tiga tingkat, arsitektur berlapis adalah jenis arsitektur yang digunakan oleh arsitek dan pengembang perangkat lunak, setiap lapisan memiliki tanggung jawab khusus dalam aplikasi [30].
Gambar 3.22 Arsitektur berlapis (layered architecture) 3 tingkat.
Gambar 3.2 menjelaskan bahwa peneliti mengimplementasikan jenis arsitektur berlapis yaitu MVVM pada aplikasi jaramba untuk memisahkan kepentingan, serta setial lapisan memiliki tanggung jawab tersendiri.
berdasarkan gambar 3.14, yaitu sebagai berikut [26]
1. Activity atau Fragment bertanggung jawab sebagai View untuk menampilkan data yang dibutuhkan.
2. View akan melakukan observasi terhadap data melalui ViewModel. Apabila ada perubahan pada data di ViewModel, maka View bertanggung jawab untuk melakukan update pada antarmuka (UI) sesuai dengan data terbaru.
3. ViewModel menyimpan data berupa LiveData agar View dapat melakukan observasi.
4. ViewModel berkomunikasi dengan Repository (Model) untuk mendapatkan data atau perubahan data dan melakukan update terhadap data yang dimiliki.
5. Repository bertanggung jawab untuk mengatur sumber daya yang
dibutuhkan. Data didapatkan dari Cloud Firestore menggunakan mekanisme Firebase Snapshot.
Berdasarkan penjelasan di atas mengenai cara kerja MVVM, peneliti akan mengimplementasikan pola arsitektur MVVM pada komponen dibawah ini:
Tabel 3.7 Implementasi MVVM Pada Komponen Aplikasi Aplikasi Jaramba Mobile User
No Komponen Keterangan
1 Login Memisahkan pemanggilan data FirebaseAuth dari kelas LoginActivity, karena pemanggilan melalui FirebaseAuth termasuk kedalam service yang harus dipisahkan dari activity
2 Register Memisahkan CRUD dari kelas
RegisterActivity, karena proses CRUD akan menjadikan kelas RegisterActivity sebagai GodObject yang tidak disarankan oleh
Android Developer
3 Forgot Password Memisahkan pemanggilan data FirebaseAuth dari kelas ForgotPasswordActivity karena pemanggilan melalui FirebaseAuth termasuk kedalam service yang harus dipisahkan dari activity
4 History Memisahkan CRUD dari kelas
UserHistoryActivity, karena pemanggilan melalui FirebaseAuth termasuk kedalam service yang harus dipisahkan dari activity
Aplikasi Jaramba Mobile Driver
No Komponen Keterangan
1 Login Memisahkan pemanggilan data FirebaseAuth dari kelas LoginActivity, karena pemanggilan melalui FirebaseAuth termasuk kedalam service yang harus dipisahkan dari activity
2 History Memisahkan CRUD dari kelas
DriverHistoryActivity karena pemanggilan melalui FirebaseAuth termasuk kedalam service yang harus dipisahkan dari activity
d. Skema Pengujian Aplikasi Jaramba Mobile 1. Unit Tesing (automatic testing)
Unit testing dilakukan untuk memastikan data yang ditampilkan sesuai dengan expected value yang diharapkan berdasarkan uji kasus atau test case, keluaran atau output berupa true bernilai 1 atau false bernilai 0. Pengolahan hasil unit testing dilakukan dengan metric ISO 9126 sub-karakteristik suitability [32]. Sub karakteristik suitability merupakan kemampuan perangkat lunak untuk menyediakan serangkaian fungsi yang sesuai untuk tugas – tugas tertentu [28]. Berikut ini merupakan format test case [32]
pada tabel 3.8
Tabel 3.8 Format Test Case pada Unit Test Test case id Identitas unik test case
Purpose Tujuan dari test case
Assumption Syarat kondisi awal yang harus terpenuhi sebelum tes dapat dijalankan
Test data Variabel atau kondisi yang akan di tes Steps Langkah – langkah yang dijalankan Expected result Hasil yang didapat dalam pengujian Pass/Fail Keterangan: Lolos atau gagal
2. Manual Tesing (user testing)
Berikut ini merupakan tahapan – tahapan untuk melakukan manual testing (pengujian oleh pengguna), yaitu sebagai berikut:
a. Mendefinisikan Latar Belakang Pengguna
Berikut ini merupakan kriteria pengguna yang dibutuhkan untuk pengujian aplikasi Jaramba mobile:
1. Pernah menggunakan moda transportasi umum seperti bus, kereta, angkutan umum, atau ojek online yang berlatar belakang sebagai Mahasiswa Teknik Informatika angkatan 2017.
Kriteria pengguna diatas, peneliti butuhkan untuk pengujian aplikasi jaramba mobile, karena berhubungan dengan kriteria pengguna aplikasi Jaramba.
b. Mendefinisikan jumlah pengguna yang dibutuhkan
Peneliti menggunakan rumus Slovin untuk mendapatkan total minimum sampel dari populasi Mahasiswa Teknik Informatika Tahun 2017 yang bertujuan mengestimasi proporsi populasi yang digunakan [31]. Berikut ini merupakan bentuk dari rumus Slovin, pada persamaan (3.1):
Total minimum sampel =
1+2 (3.1)
Keterangan:
= 136
1+(136)(0.20)2
= 21 Orang
N = populasi Mahasiswa Teknik Informatika Tahun 2017.
e = margin of error (e), yaitu besaran kesalahan yang ditetapkan peneliti.
Berdasarkan penghitungan pada persamaan (3.1), di dapatkan hasil berupa 21 Orang yang dapat mewakili populasi Mahasiswa Teknik Informatika Tahun 2017.
Untuk melaksanakan pengujian, peneliti memiliki dua langkah, yang pertama responden akan melakukan uji coba aplikasi langsung melalui google meet, kedua peneliti mengisi kuisioner melalui google form. Adapun tahapan pengujian melalui google meet yaitu dengan memberikan link aplikasi Jaramba, yang telah diimplementasikan MVVM, setelah itu responden mendownload aplikasi dari link yang diberikan dan mulai menguji aplikasi.
d. Keluaran / output dari pengujian aplikasi Jaramba
Berikut ini merupakan variabel penilaian partisipan, yang akan peneliti olah:
1. Penilaian dari responden terhadap aspek functionality (skala 1– 5).
2. Penilaian dari responden terhadap aspek reliability (skala 1 - 5).
3. Penilaian dari responden terhadap aspek usability (skala 1 -5).
4. Penilaian dari responden terhadap aspek efficiency (skala 1 - 5).
5. Saran dari partisipan terhadap aplikasi.
e. Pengolahan Data Kuisioner
Peneliti mengolah data kuisioner mengunakan standar internasional ISO/IEC 9126 yang bertujuan untuk menetapkan kualitas sebuah produk software [28]
berdasarkan aspek functionality (Fungsionalitas), reliability (Kehandalan), usability (Kegunaan), dan efficiency (Efisiensi). Setelah itu peneliti menentukan apakah aplikasi Jaramba mobile yang dikembangkan peneliti layak atau tidak menggunakan persentase kelayakan [32] dengan persamaan (3.2):
(3.2)
ke dalam pernyataan predikat menggunakan tabel Skala Likert yang ditunjukkan pada Tabel 3.9.
Tabel 3.9 Penyesuaian Interpretasi Skala Likert
No Presentase Interpretasi
1 0% - 20% Sangat Tidak Layak
2 21% - 40% Tidak Layak
3 41% - 60% Cukup Layak
4 61% - 80% Layak
5 81% - 100% Sangat Layak
Skala likert adalah skala yang digunakan untuk mengukur data yang didapatkan secara kuantitatif, sehingga menghasilkan data akurat dan teruji kebenarannya[29].