Refactoring Modul Riwayat pada Aplikasi Android Monitoring Kesehatan Tekanan Darah Berbasis Java Menggunakan Jetpack Compose dan Arsitektur MVVM dengan Metode Test Driven Development

Suherik, Axel Briano (2023) Refactoring Modul Riwayat pada Aplikasi Android Monitoring Kesehatan Tekanan Darah Berbasis Java Menggunakan Jetpack Compose dan Arsitektur MVVM dengan Metode Test Driven Development. Other thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of 05111940000137-Undergraduate_Thesis.pdf] Text
05111940000137-Undergraduate_Thesis.pdf - Accepted Version
Restricted to Repository staff only until 1 October 2025.

Download (3MB) | Request a copy

Abstract

Dalam proses pengembangan suatu aplikasi, tidak sedikit dari pengembang merasa kesulitan untuk memahami alur dari program yang sudah ada. Hal tersebut umumnya diakibatkan oleh program yang dibuat tanpa memperhatikan arsitektur sistem. Sistem yang dirancang tanpa memperhatikan arsitektur akan sulit untuk dipahami karena cenderung sulit untuk menentukan bagian kode yang perlu diubah tanpa mempengaruhi bagian kode lain. Umumnya sistem tanpa arsitektur menempatkan semua fungsionalitas pada satu tempat dan tidak ada pembatas yang mengelompokkan fungsionalitas serupa kedalam kelompok masing – masing. Dalam hal ini, refactor merupakah salah satu cara untuk mengatasi masalah tersebut. Jetpack Compose dipilih sebagai implementasi pemrograman antarmuka Android karena dapat membuat proses pengembangan menjadi lebih sederhana dan mengurangi jumlah kode yang perlu ditulis untuk mendapatkan hasil yang sama dengan bahasa XML. Refactor dilakukan dengan merubah kode dengan bahasa Java menjadi Kotlin serta menerapkan arsitektur MVVM dan menggunakan Jetpack Compose sebagai implementasi untuk komponen antarmuka. Selama proses refactor berlangsung, digunakan metode TDD untuk mempertahankan fungsionalitas dari aplikasi meski terjadi perubahan pada basis kode. Hasil dari refactor dianalisis menggunakan lima metrik, yaitu Cyclomatic Complexity, Cognitive Complexity, Lines of Code, Code Duplications, dan Maintainability. Tugas akhir ini diharapkan dapat menjadi rujukan atau panduan dalam melakukan proses refactor suatu sistem Android berbasis Java untuk meningkatkan kualitas internal kode.
================================================================================================================================
In the application development process, many developers felt difficult to understand the flow of a program. Usually, it’s caused by a program that is built without architecture in mind. A system that is created without paying attention to architecture tends to be more difficult to determine which part of the code needs to be changed without affecting other parts. Usually, a system without architecture will put all of the functionality in one place and there is no clear distinction that can separate similar functionality in their group. Refactoring is one of the solutions to tackle that problem. Jetpack Compose is chosen as UI implementation because it can simplify the development process and reduce the amount of code that needs to be written to produce the same result as XML does. In this thesis, refactoring is implemented by migrating the Java code base into Kotlin along with MVVM architecture, also with Jetpack Compose as UI code implementation. In the refactoring process, TDD is used as it can maintain the functionality of the application when the code itself is changed. The result of the refactoring process is analyzed by five metrics which were Cyclomatic Complexity, Cognitive Complexity, Lines of Code, Code Duplications, and Maintainability. This thesis is expected to be a reference or a guide to refactor a Java-based Android applications to improve the quality of the code.

Item Type: Thesis (Other)
Uncontrolled Keywords: Android, Jetpack Compose , MVVM, Refactoring, Test-Driven Development
Subjects: Q Science > QA Mathematics > QA76 Computer software
Q Science > QA Mathematics > QA76.754 Software architecture. Computer software
Q Science > QA Mathematics > QA76.758 Software engineering
Q Science > QA Mathematics > QA76.76.P37 Software patterns.
Q Science > QA Mathematics > QA76.76.S64 Software maintenance.
Q Science > QA Mathematics > QA76.774.A53 Android
Divisions: Faculty of Intelligent Electrical and Informatics Technology (ELECTICS) > Informatics Engineering > 55201-(S1) Undergraduate Thesis
Depositing User: AXEL BRIANO SUHERIK
Date Deposited: 07 Aug 2023 07:37
Last Modified: 07 Aug 2023 07:37
URI: http://repository.its.ac.id/id/eprint/102925

Actions (login required)

View Item View Item