digilib@itb.ac.id +62 812 2508 8800

Permintaan aplikasi Android yang terus meningkat seiring evolusi teknologi dan perkembangan fitur-fitur baru menyebabkan seringnya pembaruan dan rilis dilakukan pada aplikasi. Namun, dalam siklus pembaruan tersebut, pengembang terkadang melakukan perubahan secara terburu-buru yang menyebabkan pemilihan desain yang buruk, mengakibatkan munculnya bad smell code. Dampak dari smell melibatkan penurunan kualitas, kinerja, dan pemahaman, serta menghambat proses pemeliharaan perangkat lunak. Beberapa kakas deteksi smell yang sudah pernah dikembangkan memiliki karakteristik yang bergantung pada JavaParser untuk melakukan parsing kode sumber menjadi representasi Abstract Syntax Tree, menyebabkan informasi yang diekstrak terbatas pada kode sumber berbahasa pemrograman Java. Sementara itu, Google merekomendasikan Kotlin sebagai bahasa pengembangan aplikasi Android, dan lebih dari 60% pengembang profesional Android menggunakan Kotlin. Penelitian ini menggunakan representasi Program Structure Interface dan menerapkan pendekatan berbasis software metric sebagai metode deteksi smell dan mengimplementasikannya menjadi sebuah kakas deteksi bad smell code pada Android Kotlin, pendekatan ini dipilih karena karakteristik masing-masing smell dapat diwakili dengan metrik perangkat lunak. Hasil evaluasi kakas terhadap 5 proyek Android Kotlin menunjukkan f-measure 100% untuk deteksi Brain Class, 93,77% untuk God Class, dan 85,71% untuk Brain Method, dengan waktu eksekusi antara 3,12 hingga 4,92 detik. Perbandingan hasil deteksi kakas dengan iPlasma tool pada proyek Quran menunjukkan bahwa kakas yang dikembangkan mendeteksi lebih banyak kemunculan smell. Hasil pengujian usability kakas menunjukkan bahwa 7 partisipan sangat setuju dengan hasil deteksi kakas yang mudah dipahami, fungsionalitas yang disajikan mudah ditemukan, informasi yang disajikan jelas, dan kakas membantu perhitungan metrik sekaligus deteksi smell menjadi lebih cepat dan efisien. Dengan nilai rata-rata yang diberikan untuk setiap pertanyaan adalah 4,29 – 4,71.