Home > aspect oriented > Apa itu Aspect ?

Apa itu Aspect ?

Unit program terkecil yang saat ini digunakan pada paradigma pemrograman prosedural atau berorientasi objek umumnya berupa prosedur dan kelas. Pendekatan tersebut tepat untuk digunakan pada persoalan dimana sistem hanya dibangun dari komponen – komponen fungsional. Namun, pendekatan tersebut tidak dapat digunakan untuk mengimplementasikan aspek – aspek khusus (special concerns) pada sistem. Misalnya aliran data pada sistem terdistribusi, pemulihan (failure recovery), persistensi (persistence), sinkronisasi proses (process synchronization), dan lain – lain. Aspek – aspek khusus tersebut biasanya akan langsung diimplementasikan sebagai barisan kode program yang mungkin tersebar (terduplikasi) pada kelompok kode program yang mewakili komponen – komponen fungsional.

Paradigma atau pendekatan pemrograman tersebut di atas belum mendukung aktivitas separation of concerns yang baik pada fase perancangan dan implementasi, sehingga menyebabkan program yang dihasilkan lebih sulit untuk dikembangkan, dipahami, dan dipelihara.

Pemrograman berorientasi aspek (Aspect Oriented Programming/AOP) merupakan paradigma pemrograman yang relatif baru, diperkenalkan sebagai hasil dari penelitian yang dilakukan oleh Gregor Kiczales di Xerox ‘s Palo Alto Research Center (PARC). Paradigma ini dikembangkan sebagai salah satu solusi untuk persoalan separating crosscutting concerns pada kode program. Dengan pendekatan pemrograman berorientasi aspek ini, persoalan didekomposisi menjadi kumpulan kelas (class) dan aspek (aspect). Kelas mewakili komponen – komponen yang memiliki peran fungsional dalam domain persoalan sistem perangkat lunak yang akan dikembangkan. Sedangkan aspek mewakili komponen – komponen yang tidak dapat didefinisikan sebagai komponen fungsional, namun keberadaannya tetap memiliki pengaruh pada performansi dan semantik sistem secara keseluruhan.

Categories: aspect oriented
  1. January 12, 2009 at 9:51 pm

    Wew, ilmu baru nih,.
    Tapi perlu diberi batasan juga, khawatirnya malah terlalu banyak modifikasi ketika akan melakukan suatu perubahan pada sistem,.

  2. January 13, 2009 at 9:29 am

    masih bingung.. apakah aspek lebih ditujukan ke developer atau designer.. tampak lebih tepat dijadikan metodologi dalam implementasi supaya bisa pakai test-first dan diotomatisasi.

    dengan catatan, perancangnya mau memikirkan sampai ke tahap aspek kode. bukan sekedar penarik garis besar yang tidak suka menulis kode.

    dan tampaknya, aspek masih hanya menguntungkan untuk ranah yang sudah baku (mis. PL berbasis komponen).

    ada tidak ya bu? metodologi untuk ranah yang sifatnya eksperimental (akan banyak perubahan radikal pada satu modul) yang lebih teratur (tanpa perlu replace modul dengan modul baru)?

  3. January 13, 2009 at 9:39 am

    @Dwinanto:
    Justru dengan aspek, modifikasi akan lebih mudah, karena dilokasir di kode aspect tersebut. Memang tidak perlu semua aspek kita buat kodenya. Cukup yang dibutuhkan saja. Yang tadinya tersebar di banyak kelas, jadi cukup hanya satu saja.

    @Peb:
    Yang berkembang awalnya memang AOP (aspect oriented programming). Solusi yang dikembangkan para programmer agar memudahkan penanganan crosscutting concerns. Kemudian, mulailah dikembangkan AOSD (aspect oriented software development) yang mencakup metode analisis dan design-nya…

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: