Penggunaan Pola Singleton dalam Dependency Injection Dagger Hilt pada Pengembangan Aplikasi Android
DOI:
https://doi.org/10.70609/jusifor.v4i1.7089Kata Kunci:
Singleton, Dependency Injection, Android, Clean ArchitectureAbstrak
Dependency Injection merupakan teknik penting dalam pengembangan aplikasi Android modern untuk meningkatkan modularitas dan kemudahan pengujian, terutama saat menerapkan Clean Architecture. Salah satu library yang umum digunakan adalah Dagger Hilt. Namun, penggunaan Dagger Hilt dapat menimbulkan tantangan terkait efisiensi objek yang dikelola dalam siklus hidup aplikasi. Dalam penelitian ini, dilakukan penerapan dan evaluasi pola Singleton pada implementasi Dagger Hilt dalam konteks Clean Architecture guna meningkatkan efisiensi pengelolaan objek. Metode yang digunakan adalah pendekatan studi kasus, dengan mengimplementasikan pola Singleton pada modul aplikasi Android yang telah dikembangkan sebelumnya. Aplikasi ini berfungsi sebagai media pengujian untuk menganalisis dampak penerapan terhadap efisiensi memori, kecepatan inisialisasi objek, serta keterbacaan dan pemeliharaan kode. Hasil pengujian menunjukkan bahwa integrasi pola Singleton dalam Dagger Hilt mendukung prinsip Clean Architecture dengan mengurangi penggunaan memori dan mempercepat proses inisialisasi tanpa mengorbankan kualitas struktur kode.
Referensi
[1] A. R. Fajri, “Penerapan Design Pattern MVVM dan Clean Architecture pada Pengembangan Aplikasi Android (Studi Kasus: Aplikasi Agree Partner),” Off. Sci. Journals Univ. Islam Indones., p. 12, 2022.
[2] K. Aljasser, “Implementing design patterns as parametric aspects using ParaAJ: The case of the singleton, observer, and decorator design patterns,” Comput. Lang. Syst. Struct., vol. 45, pp. 1–15, 2016, doi: 10.1016/j.cl.2015.11.002.
[3] M. D. Ekstrand and M. Ludwig, “Dependency Injection with Static Analysis and Context-Aware Policy.,” J. Object Technol., vol. 15, no. 1, p. 1:1, 2016, doi: 10.5381/jot.2016.15.1.a1.
[4] G. Bagus, V. Putraadinatha, D. Dwi, J. Suwawi, and S. Y. Puspitasari, “Pengaruh Design Pattern Terhadap Maintainability Aplikasi Mobile,” E-Proceeding Eng., vol. 8, no. 5, p. 10954, 2021.
[5] Android Developers, “Guide to Dagger Hilt,” Google Developers. [Online]. Available: https://developer.android.com/training/dependency-injection/hilt-android
[6] D. Lyon and F. Castellanos, “The parametric singleton design pattern,” J. Object Technol., vol. 6, no. 3, pp. 13–23, 2007, doi: 10.5381/jot.2007.6.3.c2.
[7] A. Kevin and H. C. Kurniawan, “Analisis Pengaruh Design Pattern Terhadap Pemeliharaan Perangkat Lunak Learning Management System,” J. Telemat., vol. 18, no. 1, pp. 21–31, 2023, doi: 10.61769/telematika.v18i1.543.
[8] J. A. N. Hasim, U. Sa’adah, D. I. P. Sari, F. A. Damastuti, and F. N. Koirudin, “Developing Microframework based on Singleton and Abstract Factory Design Pattern,” IES 2022 - 2022 Int. Electron. Symp. Energy Dev. Clim. Chang. Solut. Clean Energy Transition, Proceeding, no. October, pp. 676–683, 2022, doi: 10.1109/IES55876.2022.9888548.
[9] F. Younis and O. M. Sallabi, “University of Benghazi Department of Software Engineering Dependency Injection ( DI ) in Java .,” no. December, 2018.
[10] M. Alfadel, K. Aljasser, and M. Alshayeb, Empirical study of the relationship between design patterns and code smells, vol. 15, no. 4. 2020. doi: 10.1371/journal.pone.0231731.
[11] T. Alkhaeir and B. Walter, “The Effect of Code Smells on the Relationship between Design Patterns and Defects,” IEEE Access, vol. 9, pp. 3360–3373, 2021, doi: 10.1109/ACCESS.2020.3047870.
[12] A. Qusef, M. Mohammed, and M. O. Elish, “Modularity Analysis of Design Patterns: An Empirical Study,” Int. J. Softw. Eng. Its Appl., vol. 11, no. 6, pp. 61–78, 2017, doi: 10.14257/ijseia.2017.11.6.06.
[13] T. Hollweck, “ Robert K. Yin. (2014). Case Study Research Design and Methods (5th ed.). ,” Can. J. Progr. Eval., vol. 30, no. 1, pp. 108–110, 2015, doi: 10.3138/cjpe.30.1.108.
[14] D. Assyakurrohim, D. Ikhram, R. A. Sirodj, and M. W. Afgani, “Metode Studi Kasus dalam Penelitian Kualitatif,” J. Pendidik. Sains dan Komput., vol. 3, no. 01, pp. 1–9, 2022, doi: 10.47709/jpsk.v3i01.1951.
[15] K. Kartarina and A. Apriliansyah, “Analisis Dependency Injection dan Model-View-Presenter Pada Aplikasi Berbasis Android,” Progresif J. Ilm. Komput., vol. 18, no. 1, p. 23, 2022, doi: 10.35889/progresif.v18i1.781.
[16] Dagger Team, “Migrating to Hilt.” [Online]. Available: https://dagger.dev/hilt/migration-guide.html
[17] T. B. Duy, “Reactive Programming and Clean Architecture in Android Development,” no. April, pp. 1–47, 2017.
[18] M. Hort, M. Kechagia, F. Sarro, and M. Harman, “A Survey of Performance Optimization for Mobile Applications,” IEEE Trans. Softw. Eng., vol. 48, no. 8, pp. 2879–2904, 2022, doi: 10.1109/TSE.2021.3071193.
[19] F. Stanislav, “Optimize the Performance of Android Mobile Apps Using Android Studio and SDK,” vol. 8, no. 3, pp. 11–14, 2024.
Unduhan
Diterbitkan
Terbitan
Bagian
Lisensi
Hak Cipta (c) 2025 Muhammad Sutan Fathir, Nabilla Pasha Marcellina

Artikel ini berlisensiCreative Commons Attribution-ShareAlike 4.0 International License.





