Pengantar Aspect Oriented Programming

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrograman JAVA (TIB09)
CARI ERROR !!! ADA BERAPA KESALAHAN ??? Apa beda JRE dan JDK ??? JDK JRE.
Deklarasi Class Kelas pada Java dideklarasikan dengan menggunakan kata kunci class. Contoh : class Mobil { String warna; int thn_prod; } Mobil Data :
 public static void main(String[] args) {  int bil1=3;  do {  System.out.print(bil1+",");  bil1=bil1+4;  }  while(bil1
Pemrograman Berorientasi Objek
Variabel di Java Variabel merupakan sebuah tempat untuk menyimpan data. Di Java setiap pembuatan variabel harus ditentukan tipe.
Java Progamming Operasi I/O
Pemrograman Berorientasi Objek
Praktikum Bahasa Pemrograman
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Package As’ad Djamalilleil
OBJECT ORIENTED PROGRAMMING in JAVA
Pemrograman JAVA (TIB09)
Oleh: Ali Ridho Barakbah
Modul 3: Kendali program dan teknik penyimpanan data
Dasar Exception Handling
Oleh : Sukma Murdani, S.Kom. SILABUS PENDAHULUAN Pengenalan OOP Pengenalan JAVA OOP (Object Oriented Programming) JAVA Class, Java Interface Encapsulation.
Java array.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Aspek.  Suatu aspek digunakan untuk melakukan trace kejadiaan tertentu.  Misal untuk proses debugging  memeriksa apakah program.
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Pemrograman Java Pewarisan / Inheritance Polimorfisme Pemrograman Java.
Method.
Inheritance Ery Setiyawan Jullev A.
Pemrograman Berbasis Obyek Oleh Tita Karlita
Nandang Hermanto PK2 Pertemuan 3. Perulangan Pernyataan while Pernyataan do..while Pernyataan for.
Pemrograman Berorientasi Objek
Dasar exception handling
Mendapatkan input dari keyboard
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
As’ad Djamalilleil Function (method) As’ad Djamalilleil
- PERTEMUAN 9 - BERBAGAI KELAS UTILITAS DI JAVA
POLIMORPHISM Adharul Muttaqin Adharul M -
EXCEPTION TRY-CATCH-FINALLY
KELAS INNER, KELAS ABSTRACT, DAN INTERFACE
Koneksi Database Java dan Access
- PERTEMUAN 4 - PERULANGAN
Pertemuan : Object Oriented Programming
Flow Control & Looping Pertemuan 4 Pemrograman Berbasis Obyek Oleh Tita Karlita.
PELATIHAN JAVA FUNDAMENTAL
Inheritance Konsep Inheritance Protected Member
NAMA : JUMADI Npm : Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan.
Struktur Kontrol Pemilihan
OOP Java 06 Polymorphism.
UDP.
Struktur Data List Linear : Linked List (Single Linkedlist)
Public class RelasiDemo { public static void main(String[] args) { //beberapa nilai int i = 37; int j = 42; int k = 42; System.out.println("Nilai variabel...");
Pemrograman Berorientasi Obyek Lanjut (IT251)
IT-652 – Pemrograman Berorientasi Aspek Ramos Somya.
Pengenalan JAVA dan Pemrograman Berorientasi Objek
- PERTEMUAN 8- NETWORK PBO. Pengantar Java mengijinkan anda untuk mempermudah mengembangkan aplikasi yang mengerjakan berbagai pekerjaan melalui jaringan.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Perulangan (Iteration)
Manipulasi String dengan Kelas String dan StringBuffer
03 Elemen Dasar Bahasa Java
MATERI IV OOP (Object Oriented Programming) Chapter II.
Dasar exception handling
Try, Catch, Finally Throws
Penanganan Eksepsi.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Pemrograman Visual I Outline: Method Method Void & fungsi
MODIFIER JAVA.
Pemrograman Berorientasi Objek <PBO>
Review C/C++ & Intro to Java
Pemrograman Berorientasi Objek
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

Pengantar Aspect Oriented Programming IT-652 – Pemrograman Berorientasi Aspek Pengantar Aspect Oriented Programming Ramos Somya

Pengantar AOP OOP  mendukung modularity program. Java memecah komponen-komponennya menjadi objek-objek terpisah yang saling berinteraksi. Class yang telah dibuat oleh suatu program OOP, dapat digunakan oleh program OOP lain secara langsung. Kelemahan: Karena berorientasi obyek, maka akan banyak sekali terjadi perubahan secara dinamis. Sebuah aplikasi harus bisa menangani perubahan ke depannya tanpa harus merubah keseluruhan program.

Contoh Kasus Misal terdapat sebuah class PembuatLaporan: Misal di suatu waktu ada perubahan pada proses bisnis. Fitur PembuatLaporan diakses oleh pihak yg berbeda. Misal LaporanBulanan oleh Admin, Laporan Tahunan oleh Bagian keuangan. PembuatLaporan buatLaporanBulanan() buatLaporanTahunan()

… Dengan AOP, kita bisa menyisipkan kode program tambahan tanpa merubah class awal yang sudah dibuat. Proses ini dinamakan CROSSCUTTING. Dalam OOP sulit untuk melakukan crosscuting, karena satu sama lain saling terhubung, jika 1 diubah, akan berpengaruh pada yang lainnya.

… PembuatLaporan pl = new PembuatLaporan(); pl.buatLaporanBulanan(); before Join Point after Join Point

… point cut x(); // mengacu pada joint point tertentu Bisa menambahkan advice (statement yang akan dilakukan sebelum/setelah joint point tertentu tercapai). before(): x() …….. pl.buatLaporanBulanan(); // saat dipanggil lakukan call

Implementasi AOP pada Java Untuk implementasi AOP pada Java, kita menggunakan AspectJ. AspectJ menambahkan kepada Java dengan suatu konsep, yang disebut join point (dari crosscutting concerns) dan menambahkan beberapa konstraktor baru seperti pointcut, advice, inter-type declaration, dan aspect. Pointcut dan advice secara dinamic mempengaruhi program flow.

Instalasi Yang dibutuhkan: IDE  pakai Eclipse ajdt_2.1.0_for_eclipse_3.6.zip.

Langkah-langkah Instal dulu Eclipse. Tambahkan plugin ajdt_2.1.0_for_eclipse_3.6.zip

… Klik Add

… Pilih Local OK

… uncheck Next

… Next

… I accept - Finish

… OK Restart Now

Contoh Sederhana Class TestHello public class TestHello { public void cetak(){ System.out.println("Dicetak oleh TestHello di metode cetak"); } public void print(){ System.out.println("Dicetak oleh TestHello di metode print");

… Class MainHello public class MainHello { public static void main(String[] args) { TestHello th = new TestHello(); th.cetak(); th.print(); }

… Aspect: SetelahCetak public aspect SetelahCetak { pointcut namaPointCut() : call(void TestHello.*()); after() : namaPointCut(){ System.out.println("kode ini dijalankan setelah metode cetak jalan"); } before() : call(void TestHello.print()){ System.out.println("Dijalankan sebelum metode print dipanggil");