Analisis Dependency Injection dan Model-View-Presenter Pada Aplikasi Berbasis Android
Authors: Kartarina Kartarina , Apriliansyah Apriliansyah 
Published: July 2022

<p><strong>Abstrak</strong>.<em> Coupling</em> merupakan salah satu indikator kualitas perancangan perangkat lunak terstruktur dan berorientasi objek. <em>Coupling</em> yang ketat akan sulit dirawat sehingga langkah awal mengendalikan <em>Coupling</em> yang baik adalah dengan menerapkan <em>Design Pattern</em>. Eksperimen penerapan <em>Design Pattern</em> membuktikan bahwa design pattern tidak menjamin pengkodean dapat lepas dari <em>Design Smell</em>. Masalah <em>Coupling</em> pada objek yang berkaitan dengan sumber data adalah ketika objek membutuhkan referensi objek <em>Android Context</em>. <em>Android</em> mengumumkan penggunaan <em>Hilt </em>sebagai standar dalam otomatisasi <em>Dependency Injection</em>. Penerapan <em>MVP </em>dapat membantu pengiriman referensi objek <em>Android Context</em> ke <em>Model</em>. Penelitian ini bertujuan menganalisis lebih lanjut untuk mengetahui hasil komparasi metrik kopling objek dari penerapan <em>Dependency</em> <em>Injection</em> secara manual dan otomatisasi pada aplikasi <em>Android</em>. Penelitian ini menghasilkan, otomatisasi penambahan jumlah kopling kelas pada <em>View</em> dan mengurangi kopling kelas pada Presenter. Selain itu, manfaat dari penerapan <em>Dependency Injection</em> secara otomatisasi mengurangi tanggung jawab <em>Class</em> pada <em>Presenter</em> dan menghilangkan <em>Design Smell</em> atau desain yang kompleks, walau begitu, penerapan <em>Dependency Injection</em> secara otomatisasi mempengaruhi pola <em>MVP </em>yang menggunakan <em>Dependency Injection</em> secara manual.</p><p><strong><em>Kata kunci</em></strong><strong><em>:</em></strong><em> Coupling; Design Pattern; Dependency Injection; Model-View-Presenter</em></p><p><em> </em></p><p><em><strong>Abstract</strong>. Coupling is one indicator of the quality for structured and object-oriented software design. Tight couplings will be difficult to maintain so the first step when controlling a good coupling is to apply a Design Pattern. Experiments on the application of Design Patterns prove that design patterns do not guarantee that coding can be separated from Design Smell. Coupling problem with objects related to data sources is that when the object requires an Android Context object reference. Android announced the use of Hilt as standard in Dependency Injection automation. Implementing MVP can help pass Android Context object references to Models. This aims to analyze further to find out the results of the comparison of object coupling metrics from the manual and automated application of Dependency Injection on Android applications. The results of the research, automatic increasing the number classes of coupling on the View and reduce class coupling on the Presenter. In addition, the benefits of implementing Dependency Injection automatically reduces class responsibility on Presenter and Design Smell or complex designs, however, automated Dependency Injection implementation affects the MVP pattern that uses Dependency Injection manually.</em></p><p><em><strong>Keywords</strong><strong>:</strong> Coupling; Design Pattern; Dependency Injection; Model-View-Presenter</em></p>