Analysis of the effect of dependency injection on the maintainability aspects of kotlin-based android applications / Difa Hananta Firdaus Am</p> - Repositori Universitas Negeri Malang

Analysis of the effect of dependency injection on the maintainability aspects of kotlin-based android applications / Difa Hananta Firdaus Am</p>

Firdaus Am, Difa Hananta (2025) Analysis of the effect of dependency injection on the maintainability aspects of kotlin-based android applications / Difa Hananta Firdaus Am</p>. Diploma thesis, Universitas Negeri Malang.

Full text not available from this repository.

Abstract

p Technological developments have made software an integral part of everyday life with easy access via smartphones and computers. As needs increase the complexity of software grows posing challenges for developers to improve performance and efficiency. In the mobile application space Android is the dominant operating system and since 2017 Kotlin has been adopted by Google as the official programming language in addition to Java. Kotlin is now even more widely used and a migration choice for Android developers fuelled by modern features Google s instructions and the ability to adopt functional programming. Software quality is the responsibility of the developer and software engineering plays an important role in reducing development costs and increasing reliability and ease of modification. Software Maintainability is part of software quality. Software Maintainability can be influenced by aspects of complexity and modularity. Complexity refers to the difficulty of analysing and understanding the software which can be measured by the Maintainability Index (MI) metric. Meanwhile modularity focuses on breaking the system into modules with a low degree of coupling which Dependency Injection (DI) can help achieve. DI is a set of design principles that enable the development of low-coupling code. Therefore this research will conduct comparative experiments on Kotlin-based Android application projects to determine the effect of DI on complexity and modularity. This research consists of four main stages namely literature review experiment design implementation and evaluation. The literature review aims to understand software maintainability and the role of DI in it. The experimental design involves testing scenarios of Kotlin-based Android application projects with various levels of MI(Good Moderate and Low Maintainability). Each project will be calculated based on before and after the application of DI. The implementation phase includes the development of nine Android application projects developed before and after DI. After that metrics such as Cyclomatic Complexity (CC) Halstead Volume (V) Line of Code (LOC) Coupling Afferents (CA) Coupling Efferents (CE) will be calculated Count Dependency Injection (CDI) Dependency Injection-Weighted Coupling Efferents (DCE) MI and Dependency Injection-Weighted Coupling Between Objects (DCBO) using Python. Finally in the evaluation stage the collected data will be analysed using the paired T-Test statistical test to determine the effect of DI on complexity and modularity on the maintainability of Android applications. The results of this study show that the maintainability level of Android application projects can be measured through the complexity aspect using the MI metric and the modularity aspect using the DCBO metric. This calculation involves the calculation of CC V LOC CA CE and CDI of a project. On the aspect of complexity DI significantly has a negative influence because it increases complexity thus taking longer to understand the source code. However on the aspect of modularity DI has a significant positive influence as it effectively reduces coupling in Android application projects which in turn reduces the effort required by developers when making changes to the source code. /p

Item Type: Thesis (Diploma)
Divisions: Fakultas Teknik (FT) > Departemen Teknik Elektro (TE) > S1 Teknik Informatika
Depositing User: library UM
Date Deposited: 25 Jun 2025 04:29
Last Modified: 09 Sep 2025 03:00
URI: http://repository.um.ac.id/id/eprint/426192

Actions (login required)

View Item View Item