Analisis Pengaruh Design Pattern Terhadap Pemeliharaan Perangkat Lunak Learning Management System

Authors

  • Albertus Kevin Institut Teknologi Harapan Bangsa
  • Hans Christian Kurniawan Institut Teknologi Harapan Bangsa

DOI:

https://doi.org/10.61769/jurtel.v18i1.543

Keywords:

software maintainability, design pattern, PHP Laravel, learning management system, software metric, object-oriented programming, template method, mediator, builder, strategy, singleton, complexity, maintainability index, coupling, line of code

Abstract

Pengembangan perangkat lunak lebih berfokus pada fungsionalitas sehingga kualitas kode diabaikan. Pola desain dapat mendukung pengembangan yang lebih cepat sambil mendukung kualitas kode yang baik sehingga mempengaruhi pemeliharaan perangkat lunak jangka panjang. Penelitian ini berfokus pada analisis pengaruh pola desain terhadap pemeliharaan perangkat lunak dengan perangkat lunak open source learning management system ditinjau dari karakteristik pola desain. Lima pola desain diterapkan kemudian dilakukan analisis untuk menilai metode implementasi dan karakteristik pola desain. Pengujian dilakukan dengan menggunakan PHP Metrics. Terdapat sembilan metrik untuk mengukur kompleksitas, ukuran, kohesi, dan dependabilitas setiap class. Secara keseluruhan, pola desain memiliki dampak yang baik. Template method dan mediator memiliki dampak yang baik pada kohesi, ukuran, ketergantungan, dan kompleksitas. Singleton menambah jumlah class. Pembangun dan strategi tidak memiliki banyak pengaruh dalam hal ukuran dan kompleksitas. Setiap pola desain menghasilkan class baru sehingga kompleksitas, ketergantungan, dan ukuran kode diabstraksikan ke dalam class tersebut.

 

Software development focuses more on functionality so code quality is neglected. Design patterns can support faster development while supporting good code quality thus affecting long-term software maintenance. This research focuses on analyzing the effect of design patterns on software maintenance with open-source learning management system software in terms of design pattern characteristics. Five design patterns were applied and analyzed to assess the implementation method and design pattern characteristics. Testing is done using PHP Metrics. There are nine metrics to measure the complexity, size, cohesion, and dependability of each class. Overall, the design pattern had a good impact. Method templates and mediators have a good impact on cohesion, size, dependability, and complexity. Singletons increased the number of classes. Builders and strategies don't have much impact on size and complexity. Each design pattern generates a new class, so the complexity, dependencies, and size of the code are abstracted into that class.

Author Biographies

Albertus Kevin, Institut Teknologi Harapan Bangsa

Program Studi Informatika

Hans Christian Kurniawan, Institut Teknologi Harapan Bangsa

Program Studi Informatika

References

K. Elbaz dan Allaoua Chaoui, “An empirical study to improve software quality through design patterns,” Int. J. Ind. Syst. Eng., vol. 29, no. 1, hlm. 74–94, 2018, doi: 10.1504/IJISE.2018.091435.

F. Abdullah, “Evaluating Impact of Design Patterns on Software Maintainability and Performance,” University of Oslo, 2017.

P. Redmond, “Laravel 9.5 Released,” Laravel News, 2022. https://laravel-news.com/laravel-9-5-0

A. Nanthaamornphong dan R. Wetprasit, “Methods to measure the impact of design patterns on software maintainability,” Maejo Int. J. Sci. Technol., vol. 12, no. 3, hlm. 251–271, 2018.

N. Qamar dan A. A. Malik, “Impact of design patterns on software complexity and size,” Mehran Univ. Res. J. Eng. Technol., vol. 39, no. 2, hlm. 342–352, 2020, doi: 10.22581/muet1982.2002.10.

M. Alfadel, K. Aljasser, dan M. Alshayeb, Empirical study of the relationship between design patterns and code smells, vol. 15, no. 4. 2020. doi: 10.1371/journal.pone.0231731.

I. M. B. Gautama, S. Rochimah, dan R. J. Akbar, “Assessing the impact of enterprise software design patterns on maintainability: a case study,” dalam 2019 1st International Conference on Cybernetics and Intelligent System (ICORIS), 2019, hlm. 128–132. doi: 10.1109/ICORIS.2019.8874885.

A. Shvets, Dive into Design Patterns. Refactoring Guru, 2018.

E. Gamma, R. Helm, R. Johnson, J. Vlissides, dan G. Booch, Design Patterns: Elements of Reusable Object-Oriented Software, 1st ed. Massachusetts: Addison-Wesley Professional, 1994.

N. Fenton dan J. Bieman, Software Metrics: A Rigorous and Practical Approach, 3rd ed. Florida: Taylor & Francis Group, 2015.

R. S. Pressman, Software Engineering: A Practitioner’s Approach, 8th ed. New York: McGraw Hill, 2014.

P. Oman dan J. Hagemeister, “Construction and testing of polynomials predicting software maintainability,” J. Syst. Softw., vol. 24, no. 3, pp. 251–266, 1994, doi: 10.1016/0164-1212(94)90067-1.

P. Redmond, “Unified Transform Open-Source School Management Platform,” Laravel News, 2019. https://laravel-news.com/unified-transform-open-source-school-management-platform

Published

2023-09-28

Issue

Section

Articles