PENGARUH REFACTORING CODE SMELLS DENGAN AUTOMATIC STATIC ANALYSIS TOOLS TERHADAP PENGGUNAAN SUMBER DAYA PERANGKAT LUNAK SELULER ANDROID - Fajar Muhammad Al-H (2023)
Perangkat lunak memiliki keterbatasan sumber daya yaitu CPU dan memori. Investigasi penelitian lain mengungkapkan bahwa kode program buruk dapat berdampak pada penurunan kinerja yang berarti meningkatnya konsumsi pada CPU dan memori. Survei penelitian lain menunjukkan bahwa pengguna dapat menghapus pemasangan perangkat lunak karena adanya kinerja yang berlebihan (75,2%) sehingga perangkat lunak tidak berjalan dan konsumsi memori yang besar (42,6%). Kode program buruk disebabkan buruknya praktik penulisan kode dan implementasi yang menyebabkan pemeliharaan perangkat lunak jangka panjang dan berdampak negatif. Dampak negatif mengindikasikan dapat merusak pemeliharaan perangkat lunak dengan mengabaikan pelanggaran aturan yaitu code smells yang disebabkan gaya pemrograman yang buruk, kurangnya dokumentasi dan tingginya kompleksitas pada kode program. Sehingga solusi tersebut perlu adanya eksplorasi code smells dengan salah satu ASATs yang sudah digunakan oleh 85.000 organisasi bernama SonarQube dan dilanjutkan refactoring code smells tunggal dan kumulatif. Topik ini berkaitan dengan pemeliharaan perangkat lunak dengan tujuan untuk menganalisis code smells dan refactoring serta membandingkan setiap perangkat lunak Android versi orisinal dan versi refactoring dengan aspek yang diuji mencakup Fixed Detection Ratio (FDR), perubahan relatif, penggunaan CPU dan memori menggunakan pendekatan Design Research Methodology (DRM). Code smells yang diteliti mencakup Blocker, Critical, Major, Minor, HashMap Usage, Member Ignoring Method, dan Slow Loop. Hasil penelitian yang telah dilakukan membuktikan adanya penurunan intensitas code smells pada Calculator (60%), Todolist (71%), Openflood (93%) dan penurunan konsumsi penggunaan CPU yang signifikan pada Member Ignoring Method (-7,7%) dan Critical (-9,90%). Selain itu, penurunan konsumsi memori berdampak lebih signifikan pada setiap perangkat lunak versi refactoring tunggal maupun kumulatif. ----- Software has resource limitations, namely CPU and memory. Other research investigations have revealed that bad programming code can impact performance, resulting in increased CPU and memory consumption. Another survey has shown that users may uninstall software due to excessive performance issues (75.2%) resulting in the software crashes, and high memory consumption (42.6%). Poor programming code is caused by bad coding practices and implementation, leading to long-term software maintenance issues and negative impacts. Negative impacts indicate that ignoring rule violations, such as code smells caused by poor programming styles, lack of documentation, and high code complexity, can damage software maintenance. Therefore, a solution is needed to explore code smells using one of the ASATs named SonarQube, which is already used by 85,000 organizations, followed by single and cumulative code smell refactoring. This topic relates to software maintenance with the aim of analyzing code smells and refactoring, and comparing each Android software's original and refactored versions with aspects tested including Fixed Detection Ratio (FDR), relative change, CPU and memory usage using the Design Research Methodology (DRM) approach. The investigated code smells include Blocker, Critical, Major, Minor, HashMap Usage, Member Ignoring Method, and Slow Loop. The results of the conducted research prove a decrease in code smell intensity in Calculator (60%), Todolist (71%), and Openflood (93%), and significant decreases in CPU usage in Member Ignoring Method (-7.7%) and Critical (-9.90%). In addition, the decrease in memory consumption has a more significant impact on each software's single and cumulative refactored versions.