Implementasi dan Evaluasi Pengaruh MVVM Pattern terhadap Reusability pada Aplikasi Berbasis Mobile Android (Studi Kasus Sidang Tugas Akhir S1 Informatika Telkom University)
Abstract
Abstrak-Perkembangan perangkat lunak meningkat seiring dengan banyaknya permintaan pengguna, namun wak- tu yang harus diselesaikan dalam pengembangan sangat terbatas. Salah satu solusi dari permasalahan tersebut adalah dengan menerapkan Software Reuse atau penggunaan kembali suatu perangkat lunak di- karenakan dapat meningkatkan kualitas dan mempercepat waktu yang dibutuhkan dalam pengembangan perangkat lunak. Reusability memungkinkan source code dapat digunakan kembali untuk menambahkan sedikit fungsionalitas atau tanpa modifikasi. Namun, permasalahan dalam reusability adalah jika aplikasi yang telah ada memiliki code smell seperti coupling dan kompleksitas yang tinggi pada suatu class. Sehingga berdampak pada sulitnya suatu code untuk didaur ulang. Oleh karena itu, maka perlu dilakukan refactor atau perubahan kode pada aplikasi. Pada studi kasus ini, aplikasi direfactor kedalam arsitektur MVVM karena memiliki keunggulan yaitu kohesi yang tinggi dan tingkat coupling yang rendah. Untuk penguji- an reusability, menggunakan pengukuran CK-metrics yang berkaitan dengan aspek reusability diantaranya yaitu CBO (Coupling Between Object), DIT (Depth of Inheritance Tree), NOC (Number of Children), WMC (Weighted Methods per Class), dan LCOM (Lack of Cohesion in Method). Setelah dilakukan refactoring pada aplikasi baseline dan dilakukan pengukuran terhadap metriks tersebut, arsitektur MVVM menu- runkan nilai reusability pada aplikasi. Hal itu disebabkan oleh meningkatnya coupling dan kompleksitas, serta menurunnya kohesi pada aplikasi.
Kata kunci - reusability, arsitektur MVVM, CK-metrics.
References
Measure, visualise, and improve code quality: Better code better quality!, Mar 2021.
N. Akhtar and S. Ghafoor. Analysis of architectural patterns for android development.
M. Anasuodei and N. A. Ojekudo. Software reusability: Approaches and challenges.
S. R. Chidamber and C. F. Kemerer. Towards a metrics suite for object oriented design. In Conference proceedings on Object-oriented programming systems, languages, and applications, pages 197–211, 1991.
A. M. Draz, M. S. Farhan, and M. M. Eldefrawi. A survey of refactoring impact on code quality. 2021.
W. B. Frakes and K. Kang. Software reuse research: Status and future. IEEE transactions on Software Engineering, 31(7):529–536, 2005.
B. M. Goel and P. K. Bhatia. Analysis of reusability of object-oriented system using ck metrics. International Journal of Computer Applications, 60(10):32–36, 2012.
H. Ka¨llstro¨m. Increasing maintainability for android applications: Implementation and evaluation of three software architectures on the android framework, 2016.
J. Kouraklis. Mvvm as design pattern. In MVVM in Delphi, pages 1–12. Springer, 2016.
U. L. Kulkarni, Y. Kalshetty, and V. G. Arde. Validation of ck metrics for object oriented design measurement. In 2010 3rd international conference on emerging trends in engineering and technology, pages 646–651. IEEE, 2010.
X. Li, D. Chang, H. Pen, X. Zhang, Y. Liu, and Y. Yao. Application of mvvm design pattern in mes. In 2015 IEEE International Conference on Cyber Technology in Automation, Control, and Intelligent Systems (CYBER), pages 1374–1378. IEEE, 2015.
T. Lou et al. A comparison of android native app architecture mvc, mvp and mvvm. Eindhoven University of Technology, 2016.
J. Mago and P. Kaur. Analysis of quality of the design of the object oriented software using fuzzy logic. In International Conference on Recent Advances and Future Trends in Information Technology (iRAFIT2012) Proceedings published in International Journal of Computer Applications®(IJCA), pages 21–25. Citeseer, 2012.
H. Manoj and A. Nandakumar. Constructing relationship between software metrics and code reusability in object oriented design. APTIKOM Journal on Computer Science and Information Technologies, 1(2):63–76, 2016.
M. O. Ozturk. Evaluating Maintainability of Android Applications: Mooncascade Case Study, page 1–67, May 2021.
N. Padhy, R. Singh, and S. C. Satapathy. Software reusability metrics estimation: algorithms, models and optimization techniques. Computers & Electrical Engineering, 69:653–668, 2018.
L. Prayogo. Implmentasi Pola Arsitektur Model-view-view Model Untuk Reusability Perangkat Lunak Pada Proses Sidang Akhir Fakultas Informatika Universitas Telkom, Aug 2021.
F. E. Shahbudin and F.-F. Chua. Design patterns for developing high efficiency mobile application. Journal of Information Technology & Software Engineering, 3(3):1, 2013.
S. Singh, S. Singh, and G. Singh. Reusability of the software. International journal of computer applications, 7(14):38–41, 2010.
W. Sun, H. Chen, and W. Yu. The exploration and practice of mvvm pattern on android platform. In 2016 4th International Conference on Machinery, Materials and Information Technology Applications. Atlantis Press, 2017.
A. Syromiatnikov and D. Weyns. A journey through the land of model-view-design patterns. In 2014 IEEE/IFIP Conference on Software Architecture, pages 21–30. IEEE, 2014.
R. Van Ommering. Software reuse in product populations. IEEE Transactions on Software Engineering, 31(7):537–550, 2005.
I. W. G. S. Wijaya and W. G. Suma. Penerapan web service pada aplikasi sistem akademik pada platform sistem operasi mobile android. Teknik Informatika, STIKOM PGRI Banyuwangi, 2012.
B. Wisnuadhi, G. Munawar, and U. Wahyu. Performance comparison of native android application on mvp and mvvm. In International Seminar of Science and Applied Technology (ISSAT 2020), pages 276–282. Atlantis Press, 2020.