Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-View-Viewmodel)
on
p-ISSN: 2301-5373
e-ISSN: 2654-5101
Jurnal Elektronik Ilmu Komputer Udayana Volume 11, No 2. November 2022
Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-ViewViewModel)
Ghani Rasyid Hikaa1, Ida Bagus Gede Dwidasmaraa2, I Gede Artha Wibawaa3, I Ketut Gede Suhartanaa4, Ida Bagus Made Mahendraa5, Made Agung Raharjaa6
aInformatics, Faculty of Math and Science, Udayana South Kuta, Badung, Bali, Indonesia 1[email protected] 2[email protected] 3[email protected] 4[email protected] 5[email protected] 6[email protected]
Abstract
At this time, keeping pets such as cats has become a lifestyle for pet lovers, sometimes many consider these pets as their own family. Therefore, pet owners always provide the best care for their beloved animals. Sometimes people are confused about which place is the best for their pet, which one is cheaper, which one is suitable for the type of pet, the benefits, and the location is not too far away. This system uses one of the methods in the Decision Support System. By using the Analytical Hierarchy Process (AHP) and Technique for Order Preference by Similarity to Ideal Solution (TOPSIS) methods in a Decision Support System, it is hoped that it can help solve problems in semistructured areas such as the problems above. This study aims to assist users in determining which pet shop they want to visit. In developing the application, the author uses the MVVM method as the Android architecture.
Keywords: AHP, TOPSIS, MVVM, Android, Recommendations, Pet Shop
Seiring dengan perkembangan zaman dan kemajuan kehidupan manusia, maka tingkat konsumsi masyarakat terhadap kebutuhan tersier pun semakin meningkat. Hobi merupakan salah satu kebutuhan tersier manusia. Salah satu contoh hobi yang tengah tren saat ini adalah memelihara hewan peliharaan. Memelihara hewan seperti kucing atau anjing sudah seperti gaya hidup bagi para pencintanya, terkadang banyak yang menganggap hewan peliharaan tersebut seperti keluarga sendiri[1]. Oleh karena itu pemilik hewan peliharaan selalu memberi perawatan terbaik terhadap hewan kesayangannya. Perawatan yang dilakukan adalah pengobatan hewan, penitipan hewan, salon hewan, ataupun hanya untuk membelikan makanan serta aksesoris pada peliharaan.
Untuk membantu para pemeliharaan hewan dalam mendapatkan informasi dan rekomendasi pet shop yang sesuai dengan kebutuhan dan jenis hewan peliharaan, diperlukan sebuah sistem rekomendasi yang mampu memberikan rekomendasi pet shop khususnya di daerah Badung. Maka dari itu dibangun sistem rekomendasi pet shop berbasis mobile, di mana sistem rekomendasi ini diharapkan akan membantu para pemelihara hewan untuk mendapatkan pet shop yang sesuai.
Sistem rekomendasi ini dikembangkan dengan menggunakan metode Analytical Hierarchy Process (AHP) dan Technique for Order Preference by Similarity to Ideal Solution (TOPSIS). Menurut[2] dalam penelitiannya menyatakan bahwa metode AHP memiliki beberapa kelebihan, antara lain
Hika, Dwidasmara, Wibawa, Suhartana, and Raharja
Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-View-ViewModel) adalah AHP berdasar pada matriks perbandingan pasangan dan melakukan analisis konsistensi. Sedangkan metode TOPSIS dapat menyelesaikan pengambilan keputusan secara praktis, karena konsepnya sederhana dan mudah dipahami, komputasinya efisien, serta memiliki kemampuan mengukur kinerja relatif dari alternatif-alternatif keputusan. Aplikasi ini dikembangkan dengan arsitektur MVVM yang memiliki beberapa keunggulan, antara lain arsitektur ini memisahkan user interface logic dari business logic untuk menjaga kode tampilan tetap sederhana agar mudah dikembangkan serta arsitektur ini dapat mempertahankan konsistensi data.
Menurut[3] Sistem rekomendasi adalah sistem yang dirancang dengan tujuan untuk membantu penggunanya dalam mencari sesuatu yang mungkin mereka sukai dengan cara memberikan rekomendasi kepada pengguna. Rekomendasi itu berkaitan dengan berbagai proses pengambilan keputusan, seperti barang apa yang harus dibeli, musik apa yang didengarkan, atau berita online apa yang harus dibaca.
Firebase merupakan layanan service dari google yang biasanya digunakan untuk melakukan komunikasi antar device contohmya seperti pengiriman pesan, online/cloud database dan masih banyak lagi[4]. Pada penelitian yang dilakukan ini, digunakan firebase jenis Firebase Authentication dan Firebase Cloud Firestore.
-
2.2.1 Firebase Authentication
Firebase Authentication adalah salah satu layanan Back-end, fitur untuk Android, iOS, SDK yang mudah untuk digunakan, dan tampilan interface yang siap pakai untuk mengautentikasi pengguna ke aplikasi yabg sedang dikembangkan. Firebase Authentication juga mendukung autentikasi menggunakan email, nomer telpon, akun Google, Facebook dan masih banyak lagi[5].
-
2.2.2 Firebase Cloud Firestore
Cloud Firestore merupakan layanan databae dari google yang bersifat realtime database yang mendukung penyimpanan data dalam jumlah besar dengan konsep No-SQL yang membantu pengembangan aplikasi yang sedang dibangun menjadi lebih mudah. Cloud Firestore juga mendukung untuk platform Android, iOS dan Website[5].
Metode Waterfall adalah model klasik sederhana dengan aliran pengembangan perangkat lunak yang berurut dan bersifat linier output dari setiap tahap yang merupakan input[6]. Konsep dari metode ini melakukan setiap fase secara mengalir dari fase awal yang ditempatkan pada fase paling atas dan mengalis sampai bawah seperti aliran air terjun.
-
2.3.1 Requirement
Pada tahap requirement akan dilakukan analisa kebutuhan dari sistem yang ingin dikembangkan mencakup pengembangan dari sistem yang dibangun, batasan-batasan serta kegunaan dan data-data dari pet shop. Pada tahapan ini akan dilakukan proses pengumpulan informasi termasuk kebutuhan secara lengkap dan kemudian dianalisis serta didefinisikan kebutuhan apa saja yang harus dipenuhi.
-
2.3.2 Design
Pada tahap desain akan membuat rancangan dari sistem yang akan dibangun meliputi menggambarkan desain arsitektur aplikasi yang akan dibangun, struktur data serta tampilan aplikasi rekomendasi pet shop.
-
2.3.3 Implementation
Pada tahap Implementation dilakukan inplementasi dari gambaran sistem yang telah dibangun kedalam bentuk kode dan pada penelitian ini akan menggunakan bahasa pemrograman Kotlin.
-
2.3.4 Verification
Pada tahap Verification sistem yang telah dibangun akan memasuki tahap pengujian baik dari aspek logika maupun fungsional apakah sistem telah dibangun sesuai dengan fungsi yang telah direncanakan dan memastikan bahwa semua bagian sudah diuji untuk meminimalisir error serta
Jurnal Elektronik Ilmu Komputer Udayana Volume 11, No 2. November 2022
keluaran harus sesuai. Pada pengujian ini dibagi menjadi 2 pengujian yaitu pengujian fungsional dan non-fungsional.
MVVM adalah salah satu arsitektur pembuatan aplikasi berbasis GUI yang berfokus pada pemisahan antara kode untuk logika bisnis dan tampilan aplikasi. Dalam penerapannya, MVVM terbagi atas beberapa layer, yaitu Model, View, dan ViewModel[7].
-
2.4.1 Model
Layer ini adalah model atau entitas yang merepresentasikan data yang akan digunakan pada logika bisnis.
-
2.4.2 View
Layer ini berisi tampilan dari aplikasi untuk mengatur bagaimana informasi akan ditampilkan. Layer ini akan berisi kelas-kelas, seperti Activity dan Fragment.
-
2.4.3 Viewmodel
Layer ini yang bertugas untuk berinteraksi dengan model di mana data yang ada akan diteruskan ke layer view.
Analisis kebutuhan merupakan gambaran cara sistem bekerja untuk menyelesaikan kebutuhan atau tugas dari pengguna saat menjalankan aplikasi. Pada pencarian pet shop, pengguna diminta untuk memilih jenis hewan peliharaannya. Kemudian memilih jenis kebutuhan pengguna. Setelah itu melakukan pemilihan kriteria-kriteria dari pet shop yang ingin dicari dan memulai mencari. Kemudian akan ditampilkan hasil rekomendasi pet shop dalam bentuk list, pengguna dapat melihat detail setiap pet shop dan dapat memulai petunjuk arah ke lokasi pet shop.
Pada aplikasi yang akan dikembangkan penulis menggunakan arsitektur MVVM (Model-ViewViewmodel) pada platform android. Adapun desain arsitektur tersebut dapat dilihat pada gambar 1.
Gambar 1. Arsitektur MVVM
Berdasarkan gambar 1 terdapat beberapa bagian arsitektur diantaranya Activity/Fragment, Viewmodel beserta LiveData di dalamnya, Repository, Remote Datasource beserta retrofit di
Hika, Dwidasmara, Wibawa, Suhartana, and Raharja Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-View-ViewModel) dalamnya, Web Service, Firebase, Firebase Auth dan Cloud Firestore yang memiliki peran serta tugas sebagai berikut:
-
a. Activity/Fragment berfungsi untuk menampilkan data ke pengguna (View). View akan meminta data serta observasi ke data. Jika adaperubahan data maka view akan bertugas untuk mengganti data yang ditampilkan kepada pengguna.
-
b. Viewmodel berfungsi untuk meminta data dan berkomunikasi dengan Repository serta akan menyimpan data dalam bentuk LiveData agar View dapat melakukan observasi perubahan data.
-
c. Repository berfungsi sebagai model untuk mendapatkan data serta perubahan-perubahan data dan mengatur sumber data yang dibutuhkan oleh aplikasi.
-
d. Remote Datasource berfungsi untuk melakukan permintaan data ke Web Service dengan method tertentu untuk mengirim data pengguna sehingga Web Service akan memberikan response berupa list rekomendasi pet shop.
-
e. Firestore berfungsi untuk menyimpan data pengguna menggunakan Cloud Firestore selain itu juga berfungsi untuk autentikasi menggunakan Firestore Authentication.
Implementasi dilakukan dengan melakukan proses pengkodean sesuai dengan rancangan yang dibangun dengan menggunakan bahasa Kotlin. Hasil dari implementasi ini dibagi menjadi beberapa bagian yaitu splashscreen, registrasi, login, halaman utama, halaman kebutuhan, halaman kriteria, halaman hasil rekomendasi, halaman detail pet shop, halaman favorite, dan halaman profile. Hasil user interface dapat dilihat pada tabel 1.
Tabel 1. Tampilan dari Aplikasi Rekomendasi pet shop
No |
User Interface |
Penjelasan |
1 |
& .S *s |
Tampilan awal ketika pengguna barumembuka aplikasi. |
2 |
Create your account ⅛ YourName ∣ J S Email I £ Password © ^ Password © Sign Up Have an account? S gn In |
Ketika pengguna baru mengunduh aplikasi makan pengguna bisa mendaftarkan akunnya terlebih dahulu dengan cara mengetikan email serta password nya. Jika berhasil mendaftar maka akan diarahkan ke halaman Login. Jika gagal akan diberikan informasi tentang kegagalan yang dilakukan oleh pengguna. |
Jurnal Elektronik Ilmu Komputer Udayana Volume 11, No 2. November 2022
3
Ketika pengguna sudah berhasil mendaftarkan akunnya maka pengguna bisa mengetikan email serta password yang sudah didaftarkan sebelumnya untuk melakukan proses login. Ketika berhasil pengguna akan masuk ke halaman utama dan jika gagal maka akan ditampilkan informasi kenapa kegagalan tersebut bisa terjadi.
4
5
Home
News and Tips
I J-T ) GettoKnowYourPet | |
πA¾*-∖ Closer | |
Q |
⅛ |
HQm. FV>TOW |
Pwfite |
Di halaman pertama setelah login, pengguna dapat memilih menu yang ada seperti memulai mencari rekomendasi dan membaca tips merawat hewan peliharaan. Aplikasi ini menggunakan Bottom Navigation, dimana pada navigasi tersebut terdapat tiga menu lain nya yaitu, Favorite dan Profile.
Ketika pengguna memilih menu untuk memulai pencarian rekomendasi dengan cara memilih salah satu jenis hewan yang berada di halaman utama, maka pengguna akan masuk ke halaman untuk memilih kebutuhan yaitu Grooming dan animal care.
Hika, Dwidasmara, Wibawa, Suhartana, and Raharja
Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM
(Model-View-ViewModel)
6 |
Sort Your Petshop Criteria i Price Distance - Capacity - total employees Q ⅛ Home PfVQritv PtQfilV |
Ketika sudah memilih kebutuhan makan akan masuk ke halaman pemilihan kriteria. Pengguna dapat memilih kriteria sesuai dengan keinginan dan kebutuhannya. Pada halaman ini aplikasi akan meminta izin untuk mengakses lokasi dari pengguna. |
7 |
Recommendation Result t ■ BahaglaPttshocJlmb*... JlBisrauNgixatiRaiHoalX. j JiniGwon. Kec. KutaSeI. KVbUWtvn ⅛dlmα⅛∣iS⅛⅛1 Pvt Station Jl SiujssNgixufiRuiHu SS. J∣nιbwan, Ku. Kuta Se). KabuNteneadixiaSaIieilSai ' Bahagla potshop purιg. ^B∣ Λ jl rsTs Jkwalu. Iinannn. Kec-KutaSellKBbupBten Baduna βalι 0B3(∣ 1 σ & IIIinie Pavoihe Sioiile |
Ketika pengguna memilih menekan tombol mencari rekomendasi, maka akan hasil rekomendasi akan ditampilkan pada halaman hasil rekomendasi. Pengguna dapat memilih salah satu pet shop dan akan masuk ke halaman detail. |
8 |
I Bahagia Petshopjimbaran Λ JI. Bvcass Ngurch Rai No.41X, Jimbaran ▼ Kuta Sel. Kabupalen Badungl Bati 80361 Q 09.00-21.00 Price List Grooming RpIT 0.000,00 Anmalcare Rpl20.000,00 H ζ3 £ Iinnie Pievorhe ≈ιo<ile |
Pada halaman detail, pengguna dapat melihat informasi lengkap seperti lokasi pet shop, jam operasional dan daftar harga dari pet shop yang dipilih. Pada halaman ini juga terdapat satu tombol yang akan mengarahkan pengguna dengan bantuan Google Maps menuju pet shop yang dipilih. |
Jurnal Elektronik Ilmu Komputer Udayana Volume 11, No 2. November 2022
9
Pada halaman utama terdapat satu menu tips merawat hewan yang apabila ditekan akan menuju halaman berita.
10
11
Halaman Favorite menampilkan list pet shop yang disukai oleh pengguna.
Halaman Profile pengguna dapat melihat informasi akun pribadi, penggantian Bahasa serta menu untuk logout.
3.4. Pengujian
Pada tahap pengujian ini bertujuan untuk mengetahui apakah fungsi-fungsi dari aplikasi dapat berjalan dengan baik serta untuk mengetahui pendapat dari pengguna terhadap aplikasi yang sedang dikembangkan.
Hika, Dwidasmara, Wibawa, Suhartana, and Raharja
Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-View-ViewModel)
Tabel 2. Hasil Pengujian Black Box
No |
Pengujian |
Hasil |
1. |
Melakukan proses register |
Valid |
2. |
Melakukan proses login |
Valid |
3. |
Menampilkan informasi login dari pengguna |
Valid |
4. |
Melakukan klik pada tombol berita dan menampilkannya |
Valid |
5. |
Mengambil dan mengirim data lokasi pengguna serta data kriteria |
Valid |
6. |
Mengambil hasil pemeringkatan rekomendasi pet shop dari server |
Valid |
7. |
Menampilkan hasil rekomendasi pet shop |
Valid |
8. |
Menampilkan detail pet shop |
Valid |
Dari hasil pengujian fungsional menggunakan black box dapat disimpulkan bahwa aplikasi rekomendasi pet shop dapat berjalan dengan baik.
Tabel 3. Hasil Pengujian Instrumentation Testing
No |
Pengujian |
Hasil |
1. |
Halaman Regitrasi Tertampil |
Valid |
2. |
Mendaftarkan akun baru |
Valid |
3. |
Login melakukan akun yang sudah didaftarkan |
Valid |
4. |
Halaman Utama Tertampil |
Valid |
5. |
Halaman Kebutuhan Tertampil |
Valid |
6. |
Halaman Kriteria Tertampil |
Valid |
7. |
Halaman Hasil Rekomendasi Tertampil |
Valid |
8. |
Halaman Detail Tertampil |
Valid |
9. |
Halaman Berita Tertampil |
Valid |
10. |
Halaman Profile Tertampil |
Valid |
11. |
Halaman Favorite Tertampil |
Valid |
Dari hasil pengujian fungsional menggunakan Instrumentation Test dapat disimpulkan bahwa aplikasi rekomendasi pet shop dapat berjalan dengan baik.
Pada pengujian selanjutnya merupakan pengujian UAT yaitu pengujian yang ditujukan untuk mengetahui pendapat dari pengguna dengan aplikasi yang sedang dikembangkan. Pada pengujian ini dilakukan dengan cara memberikan kuisioner yang berisi penilaian dari pengguna terhadap aplikasi. Dalam pengujian ini, terdapat 10 responden yang akan mengisi kuisioner. Adapun pertanyaan yang akan disampaikan sebagai berikut:
-
a. Apakah Aplikasi ini mudah untuk digunakan?
-
b. Apakah tampilan serta tata letak dari aplikasi ini menarik?
-
c. Apakah menu-menu yang terdapat pada aplikasi mudah untuk dipahami?
-
d. Apakah dengan fitur rekomendasi yang terdapat didalamnya memudahkan anda untuk mencari pet shop?
-
e. Apakah dengan adanya detail informasi dari setiap pet shop pada aplikasi dapat membantu anda untuk mengetahui harga serta lokasi dari setiap pet shop?
Untuk menjawab pertanyaan-pertanyaan tersebut terdapat 5 kriteria yang dapat dipilih oleh responden untuk menjawab pertanyaan tersebut. Adapun 5 kriteria tersebut dapat dilihat pada tabel 4.
Tabel 4. Kriteria Penilaian
Pernyataan |
Nilai |
Sangat Setuju |
A |
Jurnal Elektronik Ilmu Komputer Udayana Volume 11, No 2. November 2022
Setuju |
B |
Cukup |
C |
Tidak Setuju |
D |
Sangat Tidak Setuju |
E |
Tabel 5. Hasil Pengujian UAT
No |
Pertanyaan |
Presentase (%) | ||||
A |
B |
C |
D |
E | ||
1 |
Apakah aplikasi ini mudah untuk digunakan? |
60 |
30 |
10 |
0 |
0 |
2 |
Apakah tampilan serta tata letak dari aplikasi ini menarik? |
40 |
50 |
10 |
0 |
0 |
3 |
Apakah menu-menu yang terdapat pada aplikasi mudah untuk dipahami? |
60 |
40 |
0 |
0 |
0 |
4 |
Apakah dengan fitur rekomendasi yang terdapat didalamnya memudahkan anda untuk mencari pet shop? |
40 |
50 |
10 |
0 |
0 |
5 |
Apakah dengan adanya detail informasi dari setiap pet shop pada aplikasi dapat membantu anda untuk mengetahui harga serta lokasi dari setiap pet shop? |
50 |
40 |
10 |
0 |
0 |
Berdasarkan hasil pengujian pada tabel 5 dapat dilihat 60% responden sangat setuju dan 30% setuju bahwa aplikasi yang dikembangkan mudah untuk digunakan, 60% responden sangat setuju dan 40% setuju bahwa menu-menu diaplikasi ini mudah untuk dipahami, 40% responden sangat setuju dan 50% setuju bawha fitur rekomendasi yang terdapat di dalam aplikasi memudahkan mereka dalam mencari pet shop. Dapat disimpulkan bahwa aplikasi yang dibangun dapat menjadi sistem informasi yang berguna dalam menentukan pet shop dan memiliki tampilan user interface yang mudah unruk dipahami serta fitur rekomendasi dapat membantu pengguna untuk menemukan informasi harga serta lokasi dari setiap pet shop.
Berdasarkan hasil penelitian yang telah penulis lakukan maka dihasilkan sebuah aplikasi rekomendasi pet shop yang ditujukan untuk para pecinta hewan baik yang baru memulai untuk memlihara hewan maupun yang sudah lama. Melalui beberapa pengujian seperti black box dan instrumentation testing menunjukkan semua fungsional dari aplikasi dapat berjalan dengan baik. Selain itu, aplikasi yang dibangun juga mendapatkan penilaian yang positif dari responden. Dari kuisioner yang dibagikan kepada responden didapatkan hasil 60% responden sangat setuju dan 30% setuju bahwa aplikasi yang dikembangkan mudah untuk digunakan, 60% responden sangat setuju dan 40% setuju bahwa menu-menu diaplikasi ini mudah untuk dipahami, 40% responden sangat setuju dan 50% setuju bawha fitur rekomendasi yang terdapat di dalam aplikasi memudahkan mereka dalam mencari pet shop. Dapat disimpulkan bahwa aplikasi yang dibangun dapat menjadi sistem informasi yang berguna dalam menentukan pet shop dan memiliki tampilan user interface yang mudah unruk dipahami serta fitur rekomendasi dapat membantu pengguna untuk menemukan informasi harga serta lokasi dari setiap pet shop.
Hika, Dwidasmara, Wibawa, Suhartana, and Raharja
Pengembangan Aplikasi Rekomendasi Pet Shop Berbasis Android Menggunakan Arsitektur MVVM (Model-View-ViewModel)
References
-
[1] & I. Hamdhani, G. R., Edy, S., “Rekomendasi Lokasi Pet Shop Di Kota Malang Menggunakan
Metode Analytical Hierarchy Process (AHP) Simple Additive Weighting (SAW),” J. Pengemb. Teknol. Inf. dan Ilmu Komput., vol. 2, no. 0, pp. 3086–3092, 2018.
-
[2] I. Julianty, Irawan, M. I. & Mukhlas, “PEMILIHAN GURU BERPRESTASI MENGGUNAKAN
METODE AHP DAN TOPSIS,” in Prosiding Seminar Nasional Penelitian, Pendidikan dan Penerapan MIPA, 2011, pp. M63–M68.
-
[3] N. Shodik, N. Neneng, and I. Ahmad, “Sistem Rekomendasi Pemilihan Smartphone Snapdragon 636 Menggunakan Metode Simple Multi Attribute Rating Technique (Smart),” J. Nas. Pendidik. Tek. Inform., vol. 7, no. 3, p. 219, 2019, doi: 10.23887/janapati.v7i3.15727.
-
[4] Mahendra Rendy Aditya, “Sistem Pengumuman Berbasis Aplikasi Android Dengan Menggunakan Firebase,” Universitas Muhammadiyah Magelang, 2019.
-
[5] Dicoding, “Apa itu Firebase? Pengertian, Jenis-Jenis, dan Fungsi Kegunaannya,” 2020. https://www.dicoding.com/blog/apa-itu-firebase-pengertian-jenis-jenis-dan-fungsi-kegunaannya/ (accessed Jun. 10, 2022).
-
[6] L. Diartara, “Rancang Bangun Aplikasi Penjualan Perumahan Berbasis Web Pada Cv. Grand Permata Residence Magetan,” Semin. Nas. Teknol. Inf. dan Komun., vol. 1, no. 2017, p. 1, 2019.
-
[7] Dicoding, “Tips Design Pattern MVVM pada Pengembangan Aplikasi Android,” 2022. https://www.dicoding.com/blog/tips-design-pattern-mvvm/#:~:text=MVVM adalah salah satu arsitektur,Model%2C View%2C dan ViewModel. (accessed Jun. 10, 2022).
368
Discussion and feedback