ABSTRAK

Code tangling adaah suatu masalah pada software modularity ayng disebabkan oleh adanya crosseutting concerns. Crosseutting concerns adalah suatu fenomena pengulangan fungsi yang sama di berbagai program yang terjadi secara natural di dalam sebuah sistem yang kompleks. Walaupun software modularity telah dapat ditangani dengan baik oleh object-oriented programming (OOP), code tangling ini dapat menyebabkan kesulitan-kesulitan. Aspect-oriented Programming (AOP) merupakan sebuah konsep yang dirancang untuk menangani crosscutting concers sehingga dapat mengurangi masalah code tangling yang muncul pada suatu program. AOP dapat mengelompokkan crasseutting cuncerns dalam unit-unit yang modular. Tugas akhir ini bertujuan untuk mengetahui bagaimana AOP menangani masalah-masalah tersebut pada software yang telah dibangun dengan OOP. Langkah-langkah pengerjaan tugas akhir ini mencakup pembahasan untuk mengetahui sejauh mana OOP menangani masasalah-masalah yang berkaitan dengan software modularity dan pembahasan mengenai antara OOP dan AOP untuk mengetahui keberadaan AOP jika dibandingkan dengan OOP. Implementasi dilakukan pada aplikasi-aplikasi yang memiliki fungsionalitas yang mengandung crassutting concerns. Tiga macam fungsionalitas yaitu logging, experience handling, dan synchronization diimplementasikan dengan Java (OOP) dan Aspect (AOP). Dari hasil penelitian dapat disimpulkan bahwa AOP dapat menangani masalah-masalah yang disebabkan oleh crosscutting concerns dalam software yang dibangun dengan OOP. Hal tersebut ditandai dengan berkurangnya code tnagling. Saran untuk penelitian lanjutan dari tugas akhir ini adalah implementasi aplikasi yang kompleks untuk lebih menekankan kegunaan AOP dalam menangani masalah-masalah tersebut.