Laporkan Masalah

PERBANDINGAN PENERAPAN PEMROGRAMAN BERORIENTASI OBJEK DAN PEMROGRAMAN BERORIENTASI ASPEK PADA APLIKASI YANG DIBANGUN DENGAN FRAMEWORK ASP.NET MVC WEB APPLICATION

Adi Kusjani, S.T., Ir. Lukito Edi Nugroho, M.Sc., Ph.D. ; Ir. Sujoko Sumaryono., M.T.

2014 | Tesis | S2 Teknik Elektro

Paradigma Object Oriented Programming (OOP) mempunyai permasalahan cross cutting concern, yaitu fungsionalitas program pada beberapa class yang tidak dapat dikelompokkan dalam suatu class tertentu dan inheritance anomaly yang muncul ketika method tambahan dari subclass menyebabkan redefinisi method yang tidak diinginkan dari superclass. Kemudian muncul paradigma baru yaitu Aspect Oriented Programming (AOP) yang dikembangkan untuk memperbaiki permasalahan OOP. Penelitian ini, akan menganalisis perbandingan penerapan OOP dan AOP dalam pengembangan web menggunakan ASP.NET MVC Web Application pada permasalahan cross cutting concern dan inheritance anomaly, dimana penerapan AOP menggunakan kelas-kelas Attribute yang ada di System.web.MVC. Untuk permasalahan cross cutting concern dibatasi pada fungsionalitas program: logging, authorization, dan error handling. Sedangkan permasalahan inheritance anomaly diterapkan pada pembatasan user yang login pada aplikasi. Adapun kaidah-kaidah untuk membandingkan meliputi: reusability, understandability, maintainability dan testability. Untuk membandingkan menggunakan metode CK-metric berikut ini: Weighted Methods per Class (WMC), Response for Class (RFC), Lack of Cohesion in Methods (LCOM), Coupling Between Object Classes (CBO), Depth of Inheritance Tree (DIT), dan Number of Children (NOC). Penelitian ini juga menganalisis perbandingan struktur source code dari penerapan OOP dan AOP. Pada penelitian ini disimpulkan bahwa aplikasi AOP lebih baik pada kaidah reusability, maintainability dan testability, sedangkan kaidah understandability OOP lebih baik. Pada implementasi fungsionalitas logging, authorization dan exception handling pada AOP, jika dikenakan pada semua method suatu kelas maka pada AOP cukup sekali dipanggil, sedangkan pada OOP harus dipanggil di setiap method dalam kelas tersebut untuk fungsionalitas logging dan authorization, sedangkan exception handling menggunakan perintah try-catch, yang menjadikan jumlah kode baris OOP akan jauh lebih banyak. Sedangkan permasalahan inheritance anomaly dapat diatasi dengan menerapkan attribute, sehinga code reuse dapat diimplementasikan sesuai dengan mekanisme pewarisan dalam pemrograman berorientasi objek.

Paradigm Object Oriented Programming (OOP) has problems of cross cutting concerns, ie the functionality of the program on several classes that can not be classified in a particular class and inheritance anomalies that arise when additional methods of subclasses causing unwanted redefinition method of the superclass. Then came a new paradigm, namely Aspect Oriented Programming (AOP) is developed to improve the problems of OOP. This research will analyze the comparative application of OOP and AOP in web development using ASP.NET MVC Web Application on issues of cross cutting concerns and inheritance anomaly, where the application of AOP using Attribute classes that exist in System.Web.Mvc. For issues of cross cutting concern the program is limited in its functionality: logging, authorization, and error handling. While the problem of inheritance anomaly restrictions apply to users who log in to the application. The rules for comparing include: reusability, understandability, maintainability and testability. To compare using the following CK-metrics: Weighted Methods per Class (WMC), Response for Class (RFC), Lack of Cohesion in Methods (LCOM), Coupling Between Object Classes (CBO), Depth of Inheritance Tree (DIT), and Number of Children (NOC). This research also analyzed the source code structure comparison of the application of OOP and AOP. In this research concluded that the rules of the application of AOP better in reusability, maintainability and testability, while the rules of OOP better in understandability. In the implementation of functionality of the logging, authorization and exception handling on AOP, if imposed on all methods of a class then the AOP enough once invoked, while the OOP should be called on every method in the class for functionality of logging and authorization, while exception handling using try-catch command, which makes the number of lines of code OOP would be so much more. While the inheritance anomaly problem can be solved by applying the attribute, so that code reuse can be implemented in accordance with the mechanism of inheritance in object-oriented programming.

Kata Kunci : Aspect Oriented Programming, Cross Cutting Concern, CK-Metric, Inheritance Anomaly, Object Oriented Programming, Web Development


    Tidak tersedia file untuk ditampilkan ke publik.