Analisis Performa Arsitektur MVVM Dan MVP pada Aplikasi Android Menggunakan Fitur Networking (Studi Kasus: Aplikasi Monitoring Mahasiswa)

Writer(s) : Yusril | Muhammad Niswar | A. Ais Prayogi

Teknik Informatika | Teknik Informatika S1

PDF
Login required to download this file
Abstract

Aplikasi Android merupakan aplikasi GUI paling populer yang berjalan di perangkat seluler, lebih menekankan pada pengoptimalan kinerja daripada perangkat lunak tradisional (misalnya, aplikasi GUI desktop) karena sumber dayanya yang terbatas. Oleh karena itu performa adalah aspek yang harus diperhatikan dalam pengembangan aplikasi android agar aplikasi yang dibangun dapat berjalan dengan maksimal pada perangkat android. Arsitektur yang digunakan dalam pengembangan aplikasi dapat berpengaruh terhadap performa aplikasi. Hal ini bisa menjadi tantangan bagi para pengembang aplikasi android untuk membuat aplikasi dengan performa yang maksimal. Penelitian ini dilakukan untuk mengetahui arsitektur terbaik pada aplikasi android dengan fitur networking berdasarkan performanya. Arsitektur yang diteliti adalah Model View ViewModel (MVVM) dan Model View Presenter (MVP) dengan aspek performa yang diukur adalah penggunaan CPU, penggunaan memori dan waktu eksekusi aplikasi pada perangkat android, serta jumlah dan ukuran baris kode (line of code) pada pengembangan android. Hasilnya menunjukkan bahwa aplikasi dengan arsitektur MVVM unggul pada empat aspek performa yang diujikan yaitu penggunaan memori, waktu eksekusi, jumlah dan ukuran baris kode. Rata-rata penggunaan memori pada arsitektur MVVM yaitu 137,39 MB yang lebih kecil dengan rata-rata penggunaan memori pada aplikasi dengan arsitektur MVP sebanyak 145,85 MB. Pada waktu eksekusi, aplikasi dengan arsitektur MVVM lebih unggul dengan rata-rata 621,16 ms yang lebih cepat dengan rata-rata waktu eksekusi pada aplikasi dengan arsitektur MVP selama 647,42 ms. Sedangkan arsitektur MVP unggul pada aspek penggunaan CPU dengan rata-rata 12,36% yang lebih sedikit dengan rata-rata penggunaan CPU pada aplikasi dengan arsitektur MVVM sebanyak 12,6%. Hal ini terjadi karena pada arsitektur MVVM terdapat tambahan library viewmodel yang membuat penggunaan memori dan waktu eksekusi lebih efisien tapi menambah beban pada CPU. Serta dalam pengembangan arsitektur MVVM memiliki jumlah dan ukuran kode yang lebih sedikit dibanding dengan MVP, hal ini terjadi karena penggunaan interface contract yang dibutuhkan pada MVP.