Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics

Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat k...

Full description

Bibliographic Details
Main Authors: Umi Sa'adah, Desy Intan Permatasari, Fadilah Fahrul Hardiansyah, Andhik Ampuh Yunanto, Jauari Akhmad Nur Hasim, Irma Wulandari, Muhammad Reza Pahlevi, Dufan Quraish Shihab
Format: Article
Language:Indonesian
Published: University of Brawijaya 2022-08-01
Series:Jurnal Teknologi Informasi dan Ilmu Komputer
Online Access:https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646
_version_ 1797194576271769600
author Umi Sa'adah
Desy Intan Permatasari
Fadilah Fahrul Hardiansyah
Andhik Ampuh Yunanto
Jauari Akhmad Nur Hasim
Irma Wulandari
Muhammad Reza Pahlevi
Dufan Quraish Shihab
author_facet Umi Sa'adah
Desy Intan Permatasari
Fadilah Fahrul Hardiansyah
Andhik Ampuh Yunanto
Jauari Akhmad Nur Hasim
Irma Wulandari
Muhammad Reza Pahlevi
Dufan Quraish Shihab
author_sort Umi Sa'adah
collection DOAJ
description Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat keterbatasan tool, mengharuskan proses refactoring dilakukan secara manual, sehingga membutuhkan waktu dan biaya pemeliharaan yang tinggi. Penelitian ini mengajukan sebuah tool yang dapat mendeteksi dan me-refactoring lazy class secara otomatis. Penelitian yang diajukan ini bertujuan untuk menghindari refactoring lazy class secara manual. Input dari tool merupakan lokasi sebuah projek. Proses dimulai dari mendeteksi file dan class pada projek. Kemudian dilakukan proses deteksi lazy class dengan mengukur karakteristik perangkat lunak atau software metrics. Tahapan terakhir yaitu proses refactoring otomatis, yang dilakukan dengan membuat, me-replace, atau menghapus file, untuk menghasilkan projek yang telah di-refactor. Berdasarkan hasil percobaan, tool yang dikembangkan ini mampu mendeteksi dan me-refactoring lazy class dengan tingkat akurasi sama dengan manual dan proses kecepatannya hanya 5,71 detik. Sehingga hal ini menunjukkan bahwa tool dapat bekerja secara akurat dan lebih cepat dibandingkan dengan cara manual. Serta tool ini diharapkan dapat membantu para pengembang untuk meminimalisir effort dari segi biaya dan waktu dalam melakukan refactoring.   Abstract The existence of lazy classes as code smells can increase the number of unnecessary classes in software, thus increasing maintenance costs in terms of time and effort. These threats can be overcome by internal restructuring or software refactoring. However, due to limited tools, the refactoring process is required to be done manually, which requires time and high maintenance costs. This research proposes a tool that can detect and refactor lazy class automatically. This research is proposed to avoid refactoring lazy class manually. The input of the tool is the location of a project. The process starts with detecting files and classes in the project. Then the lazy class detection process is carried out by measuring the characteristics of the software or software metrics. The final stage is the automatic refactoring process, which is done by creating, replacing, or deleting files, to produce a refactored project. Based on the experimental results, the tool developed is able to detect and refactoring lazy classes with the same accuracy level as manual and the process speed is only 5.71 seconds. So this shows that the tool can work accurately and faster than the manual method. And this tool is expected to help developers to minimize the effort in terms of cost and time in refactoring.
first_indexed 2024-04-24T05:58:28Z
format Article
id doaj.art-25a931e053d94b7684152d4b4eda756a
institution Directory Open Access Journal
issn 2355-7699
2528-6579
language Indonesian
last_indexed 2024-04-24T05:58:28Z
publishDate 2022-08-01
publisher University of Brawijaya
record_format Article
series Jurnal Teknologi Informasi dan Ilmu Komputer
spelling doaj.art-25a931e053d94b7684152d4b4eda756a2024-04-23T08:46:34ZindUniversity of BrawijayaJurnal Teknologi Informasi dan Ilmu Komputer2355-76992528-65792022-08-019410.25126/jtiik.2022934646956Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software MetricsUmi Sa'adah0Desy Intan Permatasari1Fadilah Fahrul Hardiansyah2Andhik Ampuh Yunanto3Jauari Akhmad Nur Hasim4Irma Wulandari5Muhammad Reza Pahlevi6Dufan Quraish Shihab7Politeknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, SurabayaPoliteknik Elektronika Negeri Surabaya, Surabaya Keberadaan lazy class sebagai code smell dapat meningkatkan jumlah class yang tidak begitu perlu pada perangkat lunak, sehingga meningkatkan biaya pemeliharaan dari segi waktu dan usaha. Ancaman tersebut dapat diatasi dengan restrukturisasi internal atau refactoring perangkat lunak. Namun, akibat keterbatasan tool, mengharuskan proses refactoring dilakukan secara manual, sehingga membutuhkan waktu dan biaya pemeliharaan yang tinggi. Penelitian ini mengajukan sebuah tool yang dapat mendeteksi dan me-refactoring lazy class secara otomatis. Penelitian yang diajukan ini bertujuan untuk menghindari refactoring lazy class secara manual. Input dari tool merupakan lokasi sebuah projek. Proses dimulai dari mendeteksi file dan class pada projek. Kemudian dilakukan proses deteksi lazy class dengan mengukur karakteristik perangkat lunak atau software metrics. Tahapan terakhir yaitu proses refactoring otomatis, yang dilakukan dengan membuat, me-replace, atau menghapus file, untuk menghasilkan projek yang telah di-refactor. Berdasarkan hasil percobaan, tool yang dikembangkan ini mampu mendeteksi dan me-refactoring lazy class dengan tingkat akurasi sama dengan manual dan proses kecepatannya hanya 5,71 detik. Sehingga hal ini menunjukkan bahwa tool dapat bekerja secara akurat dan lebih cepat dibandingkan dengan cara manual. Serta tool ini diharapkan dapat membantu para pengembang untuk meminimalisir effort dari segi biaya dan waktu dalam melakukan refactoring.   Abstract The existence of lazy classes as code smells can increase the number of unnecessary classes in software, thus increasing maintenance costs in terms of time and effort. These threats can be overcome by internal restructuring or software refactoring. However, due to limited tools, the refactoring process is required to be done manually, which requires time and high maintenance costs. This research proposes a tool that can detect and refactor lazy class automatically. This research is proposed to avoid refactoring lazy class manually. The input of the tool is the location of a project. The process starts with detecting files and classes in the project. Then the lazy class detection process is carried out by measuring the characteristics of the software or software metrics. The final stage is the automatic refactoring process, which is done by creating, replacing, or deleting files, to produce a refactored project. Based on the experimental results, the tool developed is able to detect and refactoring lazy classes with the same accuracy level as manual and the process speed is only 5.71 seconds. So this shows that the tool can work accurately and faster than the manual method. And this tool is expected to help developers to minimize the effort in terms of cost and time in refactoring. https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646
spellingShingle Umi Sa'adah
Desy Intan Permatasari
Fadilah Fahrul Hardiansyah
Andhik Ampuh Yunanto
Jauari Akhmad Nur Hasim
Irma Wulandari
Muhammad Reza Pahlevi
Dufan Quraish Shihab
Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
Jurnal Teknologi Informasi dan Ilmu Komputer
title Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
title_full Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
title_fullStr Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
title_full_unstemmed Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
title_short Tool Refactoring Otomatis untuk Menangani Lazy Class Code Smell dengan Pendekatan Software Metrics
title_sort tool refactoring otomatis untuk menangani lazy class code smell dengan pendekatan software metrics
url https://jtiik.ub.ac.id/index.php/jtiik/article/view/4646
work_keys_str_mv AT umisaadah toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT desyintanpermatasari toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT fadilahfahrulhardiansyah toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT andhikampuhyunanto toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT jauariakhmadnurhasim toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT irmawulandari toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT muhammadrezapahlevi toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics
AT dufanquraishshihab toolrefactoringotomatisuntukmenanganilazyclasscodesmelldenganpendekatansoftwaremetrics