Evaluasi Teknik Refaktorisasi Code Smell pada Kode Program PHP Menggunakan Metrik Penilaian Analysability dan Modularity Berdasarkan Standardisasi ISO/IEC 25023

Mardiana, Bella Dwi (2025) Evaluasi Teknik Refaktorisasi Code Smell pada Kode Program PHP Menggunakan Metrik Penilaian Analysability dan Modularity Berdasarkan Standardisasi ISO/IEC 25023. Masters thesis, Institut Teknologi Sepuluh Nopember.

[thumbnail of 6025231032-Master_Thesis.pdf] Text
6025231032-Master_Thesis.pdf
Restricted to Repository staff only until 1 April 2027.

Download (3MB) | Request a copy

Abstract

Kode program yang memiliki kualitas buruk dapat menyebabkan masalah serius dalam pemeliharaan dan pengembangan perangkat lunak di masa mendatang. Code smell merupakan pola dalam kode program yang mengindikasikan adanya masalah dalam desain atau implementasinya. Code smell menjadi sulit untuk dimengerti, dimodifikasi, atau dipelihara oleh pengembang perangkat lunak. Oleh karena itu, refaktorisasi terhadap code smell diperlukan untuk meningkatkan kualitas kode sehingga menjadi lebih mudah dianalisis dan modular. Tesis ini bertujuan untuk mengkaji code smell yang terdapat pada kode program PHP. Dalam tesis ini, berbagai jenis code smell pada kode PHP telah diidentifikasi dan dianalisis. Setelah mengidentifikasi code smell, teknik refaktorisasi yang telah ditentukan melalui proses struktural, diimplementasikan pada studi kasus untuk meminimalisir code smell tersebut. Untuk mengukur peningkatan kualitas kode sebelum dan sesudah proses refaktorisasi, metrik analysability dan modularity sebagaimana didefinisikan dalam ISO/IEC 25023 digunakan. Metrik analysability dan modularity ini memberikan ukuran kuantitatif tentang seberapa baik kode program dapat dianalisis dan dimodularisasi setelah proses refaktorisasi. Pembuktian konsep melalui studi kasus nyata dilakukan untuk mengevaluasi keefektifan teknik refaktorisasi yang diusulkan. Studi kasus ini melibatkan kode program PHP yang digunakan dalam aplikasi website atau perangkat lunak sebenarnya. Hasil penelitian ini memaparkan teknik refaktorisasi yang telah diimplementasikan secara independen. Extract method diimplementasikan pada berbagai jenis code smell, yaitu long method, refused bequest, switch statement, dan temporary field. Teknik refaktorisasi lain, introduce parameter object diimplementasikan pada primitive obsession, long parameter list, dan data clumps. Begitu pula dengan teknik abstract class yang digunakan untuk meminimalisir alternative classes with different interfaces dan teknik extract class untuk atasi smell dengan jenis large class. Dengan menerapkan teknik refaktorisasi pada kode program yang terindikasi sebagai code smell tertentu, penelitian ini menunjukkan bagaimana code smell dapat diminimalisir dan kualitas kode dapat dipertahankan maupun ditingkatkan. Penelitian ini diharapkan dapat memberikan kontribusi dalam praktik refaktorisasi code smell pada kode program dengan mengacu pada standar ISO terkini. Temuan penelitian akan bermanfaat bagi pengembang perangkat lunak dalam menjaga kualitas kode yang baik melalui penerapan teknik refaktorisasi yang tepat. Dengan memiliki kode program yang berkualitas, pemeliharaan, dan pengembangan perangkat lunak di masa depan akan menjadi lebih efisien, lebih mudah, dan lebih tahan terhadap kesalahan.
============================================================================================================================
Poor quality program code can cause serious problems in future software maintenance and development. The code smell is a pattern in program code that indicates problem in design or implementation. Code smell becomes difficult for software developers to understand, modify, or maintain. Therefore, refactoring of code smell is necessary to improve code quality so that it becomes easier to analyze and modular. This thesis examines the code smell found in PHP program code. In this thesis, various types of code smells in PHP code were identified and analyzed. After identifying the code smell, a refactoring technique determined through a structural process was implemented in the case study to minimize it. To measure the improvement in code quality before and after refactoring process, the analysability and modularity metrics defined in ISO/IEC 25023 were used. These analysability and modularity metrics provide a quantitative measure of how well the program code can be analyzed and modularized after the refactoring process. A proof of concept was achieved through a real case study to evaluate the effectiveness of the proposed refactoring technique. This case study focused on PHP program code used in an actual website or software application. The results of this study present a refactoring technique that implemented independently. The extract method was implemented for various types of code smell, namely long method, refused bequest, switch statement, and temporary field. Another refactoring technique, introduce parameter object is implemented in primitive obsession, long parameter list, and data clumps. Similarly, the abstract class technique is used to minimize alternative classes with different interfaces and extract class techniques to overcome smell in large class type. By applying refactoring technique to program code that is indicated as a particular code smell, this study demonstrates how code smell can be minimized and code quality can be maintained or improved. This study is expected to contribute to the refactoring of code smell in program codes by referring to the latest ISO standards. These findings will help software developers maintain good code quality by applying appropriate refactoring techniques. By providing quality program code, maintenance, and future software development will become more efficient, easier, and more error-resistant.

Item Type: Thesis (Masters)
Uncontrolled Keywords: Code Smell, ISO/IEC 25023, Software Metric, Software Quality, Refactoring, Code Smell, ISO/IEC 25023, Kualitas Perangkat Lunak, Metrik Perangkat Lunak, Refaktorisasi
Subjects: T Technology > T Technology (General) > T11 Technical writing. Scientific Writing
T Technology > T Technology (General) > T56.8 Project Management
T Technology > T Technology (General) > T57.5 Data Processing
T Technology > T Technology (General) > T57.6 Operations research--Mathematics. Goal programming
T Technology > T Technology (General) > T58.5 Information technology. IT--Auditing
T Technology > T Technology (General) > T58.6 Management information systems
T Technology > T Technology (General) > T58.64 Information resources management
T Technology > T Technology (General) > T58.8 Productivity. Efficiency
Divisions: Faculty of Information Technology > Informatics Engineering > 55101-(S2) Master Thesis
Depositing User: Bella Dwi Mardiana
Date Deposited: 23 Jan 2025 05:56
Last Modified: 23 Jan 2025 05:56
URI: http://repository.its.ac.id/id/eprint/116719

Actions (login required)

View Item View Item