• Tidak ada hasil yang ditemukan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 1 PENDAHULUAN. 1.1 Latar Belakang"

Copied!
13
0
0

Teks penuh

(1)

PENDAHULUAN

1.1 Latar Belakang

Sistem agen bergerak merupakan salah satu perkembangan baru di dunia rekayasa perangkat lunak (Damasceno, Garcia, Romanovsky, & Lucena, 2006). Dibandingk-an dengDibandingk-an sistem-sistem yDibandingk-ang ada sebelumnya sistem agen bergerak memiliki ke-unikan tersendiri. Sistem agen bergerak membutuhkan tambahan fitur yang tidak konvensional dibanding sistem pemrograman yang sudah ada (Badjonski, Ivano-vic, & Budimac, 2005). Sistem agen bergerak muncul akibat adanya tuntutan dari perkembangan teknologi perangkat lunak dan jaringan. Sistem klien server meng-hubungkan antar klien yang statik dan server yang juga statik. Dengan adanya per-kembangan teknologi bergerak, klien bisa bergerak atau berpindah lokasi bahkan server pun bisa berpindah. Perpindahan yang terjadi bisa secara fisik ataupun da-lam bentuk perangkat lunak (Roman, Julien, Huang, & Louis, 2002). Perpindahan secara fisik berbentuk perpindahan perangkat keras dari satu lokasi ke lokasi lain. Di sisi perangkat lunak, sistem agen bergerak pun memiliki keunikan dibanding dengan sistem konvensional yang ada sebelumnya. Perangkat lunak agen bergerak memiliki entitas yang bisa berpindah dari satu tempat atau lokasi eksekusi ke lokasi eksekusi yang lain.

Banyak keunggulan dan keuntungan yang dimiliki oleh sistem agen bergerak. Keunggulan dan keuntungan sistem agen bergerak itu diantaranya adalah: agen ber-gerak dapat mengurangi beban jaringan, agen berber-gerak dapat mengatasi kelambat-an jaringkelambat-an, agen bergerak dapat meng-enkapsulasi protokol, agen bergerak dapat dieksekusi secara asinkron dan mandiri, agen bergerak dapat beradaptasi secara di-namis dan reaktif, agen bergerak merupakan sistem yang heterogen, dan agen ber-gerak dapat bertahan dan memiliki toleransi terhadap kegagalan (Yu, Cao, Wen, & Lu, 2006) (Lange & Oshima, 1998). Dari karakteristik-karakteristik tersebut sistem agen bergerak sangat menjanjikan untuk menjadi model dan formula untuk pengembangan sistem yang sesuai dengan tuntutan teknologi.

Ketertarikan para pengembang sistem dan peneliti terhadap sistem agen berge-rak ini juga dibuktikan dengan dibuatnya standarisasi FIPA (Foundation Intellegent for Physical Agent) dan keputusan OMG (Object Management Group) untuk

(2)

eluarkan sebuah standar yang dinamakan MASIF (Marche & Quemener, 2003). Keseriusan komunitas-komunitas riset itu dalam membuat standar untuk mengem-bangkan standar tersebut membuktikan bahwa teknologi agen ini menjanjikan. Na-mun keunggulan-keunggulan itu ternyata tidak lantas membuat aplikasi agen berge-rak secara cepat banyak dipakai oleh para pengembang perangkat lunak. Teknologi yang menjanjikan ini masih memerlukan aplikasi-aplikasi yang sesuai dan mudah digunakan untuk memecahkan masalah yang memiliki karakteristik yang sama de-ngan agen bergerak.

Sistem perangkat lunak agen bergerak merupakan sebuah sistem yang kom-pleks (Kulesza, Alves, Garcia, De Lucena, & Borba, 2006). Dalam sistem pe-rangkat lunak, masalah yang kompleks itu biasanya dipecah-pecah menjadi bagian-bagian yang kecil atau biasanya disebut modularisasi. Untuk memecahkan masalah kompleksitas tersebut biasanya menggunakan metode, teknik dan alat bantu un-tuk mempermudah pengembang sistem. Dalam sistem rekayasa perangkat lunak konsep modularisasi yang banyak dipakai sekarang adalah modularisasi sistem ber-orientasi objek (Kulesza et al., 2006). Sistem berber-orientasi objek membagi masalah yang kompleks tersebut menjadi objek-objek yang memiliki hubungan dan hirarki dengan objek yang lain (Lun, Fong, & Hau, 2003). Modularisasi berorientasi objek ini memiliki sifat yang alamiah karena lebih sesuai dengan karakter dan cara berfi-kir manusia. Sifat-sifat seperti pewarisan, enkapsulasi, polimorfisme yang dimiliki pendekatan berorientasi objek ini ternyata banyak membantu dalam memecahkan masalah yang kompleks dan membuat solusinya. Sampai sejauh ini pengembangan perangkat lunak agen bergerak lebih banyak menggunakan pendekatan berorienta-si objek (Henderson-Sellers, 2005). Namun beberapa analiberorienta-sis penelitian terdahulu menyebutkan bahwa ada hal-hal yang membuat tidak bisa sepenuhnya sistem ber-orientasi objek itu bisa digunakan untuk memecahkan masalah sistem agen bergerak (Nugroho & Srinivasan, 2000) (Batory, Cardone, & Smaragdakis, 2000).

Penggunaan pendekatan berorientasi objek untuk pengembangan sistem agen bergerak merupakan sebuah pendekatan konvensional dengan menggunakan alat bantu, metode dan teknik yang sudah tersedia dan banyak dipakai. Namun perbe-daan karakteristik yang menyebabkan konsep agen tidak bisa sepenuhnya didekati menggunakan konsep berorientasi objek(Batory et al., 2000). Hal ini juga dipapar-kan oleh Nugroho and Srinivasan (2000) bahwa orientasi objek tidak dapat secara elegan mengatasi masalah mekanisme komposisi ketika ada fitur-fitur seperti mo-bilitas dan konkurensi ditambahkan ke dalam fungsionalitas dari program. Dengan munculnya pergerakan (mobilitas) untuk objek-objek dapat membuat sebuah

(3)

kete-rikatan yang kuat antara masalah pergerakan (mobilitas) dan masalah komputasi. Konkurensi dan sinkronisasi tugas-tugas yang telah ada menjadi tidak selaras lagi dengan konsep berorientasi objek, hal ini mengakibatkan apa yang disebut inheri-tance anomaly (Matsuoka & Yonezawa, 1997). Implementasi agen bergerak meng-gunakan pemrograman berorientasi objek memerlukan penyusunan program secara manual dalam pembuatan aplikasinya karena kriteria penyusunan programnya ber-beda dari yang ditawarkan oleh bahasanya.

Salah satu ciri khas sistem agen bergerak yaitu dinamisasi (Baldoni, Baro-glio, Martelli, & Patti, 2005). Di dalam sistem bergerak ada unit atau entitas yang berpindah secara dinamis sesuai dengan fungsinya. Dibutuhkan sebuah rekayasa tambahan untuk bisa memodelkan sistem bergerak dengan pendekatan berorienta-si objek. Belum selesai masalah pemodelan dinamisaberorienta-si menggunakan pendekatan objek, ternyata tidak bisa diabaikan juga tentang karakter bawaan yang ada dalam pendekatan berorientasi objek. Ketika pendekatan berorientasi objek ini diguna-kan untuk memecahdiguna-kan masalah yang kompleks ternyata beberapa unit fungsi bi-sa muncul berulang di beberapa sub bagian program (Kellens, Mens, & Tonella, 2007). Jika unit-unit fungsi tersebut digambarkan dalam sebuah diagram dekompo-sisi, maka unit-unit itu terlihat menyebar di beberapa bagian objek program. Hal ini sebenarnya melanggar aturan dekomposisi unit fungsi. Satu fungsi seharusnya hanya berada di satu objek atau kelas, tidak seharusnya dipanggil secara berulang atau di definisikan ulang di unit lain dalam satu program yang sama. Kebiasaan yang muncul dalam pemrograman berorientasi objek itu disebut scattering dan ta-ngling. Dua masalah tersebut diistilahkan dengan irisan perhatian(crosscutting con-cern) (Ceccato et al., 2005). Istilah perhatian (concon-cern) diambil dari dokumen IEEE Std 1471-2000 (IEEE, 2000). Inilah yang disebut di atas sebagai sebuah permasa-lahan bawaan dalam pendekatan berorientasi objek. Karakter irisan perhatian ini akan muncul setiap pendekatan berorientasi objek itu digunakan dalam mengem-bangkan sebuah perangkat lunak. Fungsi-fungsi yang sering muncul dalam apli-kasi yang dikembangkan dengan pendekatan berorientasi objek diantaranya ada-lah fungsi pencatatan (log) dan fungsi pengelolaan kesaada-lahan (error management) (Yokomori, Siy, Yoshida, Noro, & Inoue, 2011). Sama halnya ketika sistem agen bergerak tersebut dikembangkan dengan pendekatan berorientasi objek. Tentu ma-salah irisan perhatian ini akan terbawa juga dalam sistem agen bergerak. Mama-salah irisan perhatian ini menjadi masalah yang rumit karena sifat ini muncul dari mulai aras desain program. Metode, teknik dan alat bantu yang ada dalam analisis, desa-in dan pengembangan berorientasi objek sulit untuk menghapus karakteristik irisan

(4)

perhatian ini.

Permasalah perhatian yang beririsan ini juga mengakibatkan sistem agen ber-gerak yang menggunakan pendekatan berorientasi objek memiliki komposisi struk-tur program yang kompleks (Seiter, Palmer, & Kirschenbaum, 2006). Hal ini meng-akibatkan cara pandang terhadap program menjadi tidak sederhana, program memi-liki nilai mampu guna ulang (reusability) dan kemampuan pemeliharaan (maintabi-lity) yang rendah (SantAnna, Garcia, Chavez, Pereira de Lucena, & Staa, 2003).

Design Pattern merupakan sebuah solusi untuk memecahkan masalah umum dalam desain berorientasi objek. Masalah bawaan seperti perhatian yang beriri-san dianggap bisa diselesaikan dengan menggunakan design pattern (Hachani & Bardou, 2002). Ketika menggunakan design pattern, guna ulang dapat dilakukan dalam dua cara yaitu: pola-pola (patterns) sendiri yang diguna ulang sebagai desa-in yang dapat diguna ulang, dan penggunaan pola-pola yang mungkdesa-in merdesa-ingankan penggunaan kembali perangkat lunak yang dikembangkan. Namun, karena pola-pola tersebut merupakan bagian dalam pendekatan berorientasi objek, yang dalam sistemnya memiliki koleksi objek (atau kelas) yang menunjukkan entitas domain aplikasi, maka design pattern berorientasi objek umumnya didefinisikan oleh ko-laborasi antara beberapa kelas. Masalah koko-laborasi dalam pendekatan objek me-rupakan masalah yang kompleks, sehingga pendekatan dengan design pattern pun secara mendasar tidak bisa memperbaiki komposisi berorientasi objek untuk memi-sahkan perhatian yang beririsan.

Satu cara untuk mengatasi masalah bawaan dari pendekatan berorientasi objek untuk sistem agen bergerak adalah menggunakan pendekatan berorientasi aspek. Pendekatan berorientasi aspek ini pertama kali diperkenalkan oleh Kiczales et al. (1997). Pendekatan berorientasi aspek menyediakan sebuah konstruksi yang me-misahkan perhatian yang beririsan itu menjadi sebuah unit terpisah. Pendekatan berorientasi aspek ini memperbaiki pendekatan berorientasi objek tanpa mengubah karakter dasar pendekatan objek. Pada pendekatan aspek, unit fungsi atau perha-tian yang menyebar (scattering) dan kusut (tangling) atau diistilahkan perhaperha-tian yang beririsan ini dienkapsulasi menjadi sebuah unit yang terpisah yang kemudian disebut aspek (aspect) (He & Bai, 2006). Dalam unit aspek ini dimuat metode-metode yang beririsan sehingga hanya akan didefinisikan satu kali saja di dalam keseluruhan kode yang dibuat. Dari mulai aras desain, unit aspek ini dimunculkan untuk menampung unit fungsionalitas yang menjadi masalah dalam pendekatan ob-jek. Pada tahap pengkodean, unit ini benar-benar menjadi sebuah unit sejenis kelas dalam objek. Dalam unit aspek ini didefinisikan titik mana tempat fungsi itu

(5)

ak-an dieksekusi, detail fungsi dak-an kapak-an fungsi itu eksekusi. Dengak-an mendefinisikak-an detail fungsi satu kali tapi dengan penjelasan dititik mana saja akan dieksekusi ma-ka ketima-ka kode itu dijalanma-kan ama-kan memanggil unit fungsi yang disebutma-kan dalam unit aspek. Dengan karakteristik yang dimiliki, pemrograman berorientasi aspek ini bisa memperbaiki karakterisasi pemrograman sistem agen bergerak yang memiliki kelemahan bawaan akibat dari pendekatan berorientasi objek. Garcia, Kulesza, and Lucena (2005) mengusulkan penggunaan konsep berorientasi aspek dalam sistem agen bergerak. Dalam proposalnya juga mengusulkan sebuah arsitektur agen berge-rak dengan pendekatan aspek yaitu arsitektur berbasis mediator. Arsitektur berbasis mediator memiliki konstruksi ikatan antar perhatian-perhatian dalam sistem agen bergerak yang terlalu bebas. Fleksibilitas menjadi ciri dari arsitektur ini. Namun dengan memiliki arsitektur yang terlalu bebas maka arsitektur ini tidak secara kuat mencirikan sistem agen bergerak. Pendekatan arsitektur yang lain juga diusulkan oleh Kendall (1999) dengan arsitektur agen berlapis (layered agent architecture). Arsitektur agen berlapis digambarkan dengan beberapa lapisan (layer). Arsitektur berlapis ini membangun sebuah gaya komposisi dimana semua interaksi memiliki fitur aliran informasi dua arah, dan hanya lapisan yang berdampinganlah yang da-pat berkomunikasi satu sama lain. Namun komposisi seperti ini membuat interaksi antar komponen menjadi sangat terbatas. Hal ini bertentangan dengan karakteris-tik agen yang harus dapat berinteraksi dengan yang lainnya dalam berbagai cara. Dalam hal ini, mengembangkan sebuah sistem agen bergerak tidak bisa hanya fo-kus pada aras implementasi. Beberapa proposal (Gray, 1996) (Tripathi et al., 2002) (Badjonski et al., 2005) hanya menawarkan pemecahan pada sisi implementasi. Pe-mecahan seperti itu tidak dapat mengatasi masalah dengan kebutuhan sistem agen bergerak yang kompleks. Pengembangan secara komprehensif diperlukan untuk mendapatkan sebuah perangkat lunak agen bergerak yang utuh.

Untuk membantu pengembangan perangkat lunak, kerangka perangkat lunak (framework) merupakan salah satu alat bantu yang penting. Kerangka perangkat lu-nak agen bergerak menyediakan fungsi-fungsi generik yang bisa digulu-nakan untuk pengembangan aplikasi agen bergerak. Pada perkembangan teknologi, kerangka perangkat lunak sampai saat ini masih memegang peranan dalam pengembangan aplikasi (Kulesza et al., 2006). Kerangka yang masih banyak dipakai sampai saat ini adalah kerangka yang berorientasi objek. Alasan utama dibalik ini adalah kare-na pemrograman berorientasi objek sangat banyak dipakai oleh para pengembang sistem perangkat lunak. Seperti yang digambarkan di paragrap sebelumnya bahwa sifat berorientasi objek tidak bisa sepenuhnya mengkarakterisasi sifat agen,

(6)

sehing-ga dalam perspektif ini, adalah suatu hal yang penting untuk mengembangkan ke-rangka berorientasi agen yang tidak memiliki masalah bawaan berorientasi objek. Kulesza et al. (2006) mengidentifikasi 3 masalah yang muncul dalam pengembang-an agen menggunakpengembang-an kerpengembang-angka berorientasi objek. Tiga masalah tersebut adalah:

• Kompleksitas Kolaborasi Objek. Kerangka OO mendefinisikan satu set kelas abstrak dan konkrit yang dapat digunakan untuk mengaplikasikan arsitektur perangkat lunak. Kolaborasi yang kompleks antara kelas-kelas tersebut harus diimplementasikan. Kolaborasi ini merupakan fungsi umum yang diguna-kan secara bersama oleh beberapa aplikasi dalam kerangka. Setiap kelas di dalam kerangka secara umum harus memainkan peran yang berbeda, yang berarti bahwa mereka harus berkolaborasi dengan kelas yang lainnya untuk melaksanakan tugasnya masing-masing (Wang & Zhao, 2012). Oleh karena itu, untuk memahami dan memelihara kelas dalam kerangka menjadi sebuah tugas yang sulit. Riehle and Gross (1998) menganalisis masalah kolaborasi obyek yang kompleks dan dampaknya pada desain kerangka. Mereka menun-jukkan bagaimana kompleksitas kerangka berorientasi objek menjadi sema-kin kompleks ketika kelas-kelas internal kerangka memainkan banyak peran yang berbeda-beda.

• Ketidakmampuan untuk memodularisasi fitur opsional kerangka. Batory et al. (2000) membahas kesulitan kerangka untuk memodularisasi fitur opsio-nal. Fitur opsional merupakan fungsi dalam kerangka yang tidak digunakan dalam setiap instan yang ada dalam kerangka. Fitur-fitur tersebut menggam-barkan beberapa alternatif pengembangan biasanya mengadopsi untuk me-nangani masalah berikut ini: (i)untuk mengimplementasikan fitur opsional dalam kode kelas konkrit selama proses Instansiasi ; dan (ii) untuk membuat dua kerangka yang berbeda, satu menangani fitur opsional dan yang lainnya tanpa fitur opsional. Oleh karena itu, beberapa modul dalam kerangka perlu direplikasi hanya demi mengungkap fitur opsional.

• Irisan Komposisi Fitur dalam Integrasi Kerangka. Mattsson and Bosch (1997) telah menganalisis masalah dan penyebab yang berkaitan dengan integrasi kerangka berorientasi objek. Untuk setiap masalah yang diajukan, mereka juga mengusulkan beberapa solusi berorientasi objek. Kombinasi dua ke-rangka kerja dapat juga dilihat sebagai komposisi satu set baru fitur (direpre-sentasikan sebagai sebuah kerangka) dalam struktur dari kerangka yang lain. Komposisi-komposisi tersebut dianggap beririsan.

(7)

Pengembangan dengan kerangka berorientasi objek masih belum bisa mengkarak-terisasi sistem agen. Pendekatan berorientasi aspek merupakan solusi yang bisa mengatasi kelemahan pendekatan berorientasi objek dalam pengembangan sistem agen bergerak. Yang menjadi pertanyaan berikutnya adalah bagaimana dengan menggunakan kerangka berorientasi aspek, seperti AspectJ atau Spring, untuk me-ngembangkan sistem agen bergerak. Dalam sistem agen bergerak, perhatian yang beririsan itu digunakan secara spesifik untuk memodularisasi perhatian-perhatian yang menjadi karakteristik sistem agen bergerak. Secara umum dalam kerangka pemrograman berorientasi aspek yang generik, unit aspek atau interceptor digu-nakan untuk pemisahan perhatian yang umum. Aplikasi agen bisa dikembangkan dengan kerangka pemrograman berorientasi aspek, namun memerlukan usaha yang lebih dibandingkan menggunakan kerangka pemrograman agen bergerak yang me-mang secara spesifik digunakan untuk mengembangkan sistem agen. Untuk pe-ngembangan kerangka pemrograman berorientasi aspek diperlukan kustom untuk membuat semua metode sesuai kebutuhan dalam sistem agen. Dalam kerangka agen sudah disediakan metode-metode instan yang bisa digunakan sesuai kebutuh-an untuk pengembkebutuh-angkebutuh-an sistem agen. Menggunakkebutuh-an kerkebutuh-angka berorientasi aspek untuk sistem agen bergerak membutuhkan banyak pengembangan karena kerangka berorientasi aspek hanya merupakan kerangka program untuk kegunaan umum (ge-neral purpose programming). Disisi lain untuk mengembangkan sebuah kerangka berorientasi aspek untuk agen bergerak dari nol (from scratch) pada penelitian ini memerlukan lebih banyak energi, tim yang lebih besar, dan waktu yang lama. Kare-na pendekatan berorientasi aspek memiliki karakteristik yang sama dengan pende-katan berorientasi objek namun memiliki fitur tambahan, maka pada pengembangan dapat menggunakan sebuah kerangka berorientasi objek dengan cara ditransforma-si menjadi kerangka agen berorientaditransforma-si aspek. Kerangka agen berorientaditransforma-si objek tersebut kemudian dianalisis struktur objeknya dan diidentifikasi apakah memiliki perhatian yang beririsan. Hasil identifikasi terhadap perhatian yang beririsan ini kemudian dimasukan kedalam sebuah unit baru dalam struktur yang merupakan tambahan dari struktur objek atau kelas yang sudah ada. Unit itu disebut unit aspek. Dalam pemrograman berorientasi aspek, unit aspek ini sejenis kelas tapi memiliki fitur dan fungsi yang berbeda. Proses transformasi struktur dari kerangka berori-entasi objek menjadi kerangka beroriberori-entasi aspek ini disebut refactoring. Fowler, Beck, Brant, Opdyke, and Roberts (1999) adalah yang pertama kali memperke-nalkan refactoring untuk proses perubahan struktur dari program berorientasi ob-jek. Proses refactoring kemudian dipakai dalam pengubahan dari pendekatan objek

(8)

menjadi aspek. Beberapa penelitian yang menggunakan refactoring dalam modula-risasi perhatian yang beririsan adalah Binkley, Ceccato, Harman, Ricca, and Tonella (2005), Hannemann (2006), B. C. da Silva, Figueiredo, Garcia, and Nunes (2009), dan Kristiansen, Stolz, Oslo, and Bergen (2014). Dalam pendekatan aspek, proses refactoring ini memperbaiki struktur program sehingga bersih dari irisan perhatian. Dengan demikian penelitian ini bisa menghasilkan sebuah paradigma pemrogram-an ypemrogram-ang bersih (clepemrogram-an programming) dari pempemrogram-anggilpemrogram-an ulpemrogram-ang kode-kode ypemrogram-ang sama. Pengulangan-pengulangan tersebut akan mengakibatkan penumpukkan baris-baris kode yang sama dan menyebar di banyak unit. Hasil proses refactoring tidak meng-ubah tingkah laku program pada aras hasil aplikasi karena yang dirmeng-ubah hanya aras bawahnya yaitu aras arsitektur sampai kode. Namun cara ini perlu dibuktikan dalam dengan membuat sebuah kerangka dan mengujinya.

Didalam sistem agen bergerak sendiri muncul kenyataan bahwa di beberapa pengembangan sistem agen bergerak tidak dapat memodularisasi perhatian seca-ra memuaskan (Garcia, Kulesza, & Sant’Anna, 2006). Secaseca-ra umum, perhatian-perhatian tersebut saling mempengaruhi dan sulit untuk dipisahkan. Pemisahan modul-modul dan masalah kompleksitas program juga masih menjadi masalah da-sar dalam pengembangan sistem agen bergerak. Sistem agen bergerak melibatkan sejumlah perhatian, yaitu: kemandirian, pembelajaran, mobilitas, penanganan er-ror, dan sadar konteks. Pemodelan, perancangan dan implementasi dari beberapa perhatian tersebut merupakan sebuah tantangan karena irisan dari perhatian dalam sistem agen mengakibatkan kompleksitas bertambah.

1.2 Perumusan Masalah dan Batasan Penelitian

Dari hal-hal yang menjadi latar belakang, beberapa masalah yang dibahas dalam penelitian ini adalah:

• Pendekatan berorientasi objek yang sampai saat ini banyak dipakai dalam pe-ngembangan sistem tidak bisa mengkarakterisasi sistem agen bergerak secara utuh. Beberapa karakteristik unik sistem agen bergerak seperti dinamisasi dan mobilitas menjadi pembeda ketika pengembangan sistem agen menggunakan pendekatan berorientasi objek.

• Pendekatan berorientasi objek memiliki sifat bawaan yaitu masalah perhatian yang beririsan yang diakibatkan oleh pemanggilan berulang terhadap fungsi-fungsi yang sama di beberapa unit program. Hal ini yang mengakibatkan

(9)

sis-tem agen bergerak yang dikembangkan dengan pendekatan berorientasi objek memiliki struktur yang kompleks dan modularisasi yang tidak bersih.

• Kompleksitas struktur program agen bergerak dengan pendekatan berorienta-si objek mengakibatkan nilai guna ulang dan nilai kemampuan pemeliharaan yang rendah, serta cara pandang terhadap program tidak sederhana.

• Metode, teknik dan alat bantu yang ada dalam analisis, desain dan pengem-bangan berorientasi objek sulit untuk menghapus karakteristik irisan perha-tian. Diperlukan sebuah pendekatan baru untuk menjadi solusi masalah ini. Satu solusi yang dipilih adalah pendekatan berorientasi aspek. Dari karakte-ristik dasarnya, pendekatan berorientasi aspek memperbaiki modularisasi • Pada sisi arsitektur agen bergerak yang telah ada adalah arsitektur berlapis

dan arsitektur berbasis mediator. Arsitektur berlapis dan arsitektur berbasis mediator memiliki kelemahan dan kelebihan. Dari sisi arsitektur diperlukan sebuah arsitektur yang baru yang mempermudah dalam pengembangan sis-tem agen bergerak.

• Kerangka perangkat lunak merupakan alat bantu yang bisa digunakan dalam pengembangan aplikasi agen. Namun kerangka perangkat lunak agen ber-gerak yang ada lebih banyak menggunakan pendekatan berorientasi objek. Kerangka perangkat lunak agen bergerak berorientasi objek bisa di transfor-masi dengan proses refactoring. Namun proses transfortransfor-masi ini transfor-masih perlu dibuktikan dengan pengembangan kerangka dan pengujian.

Dari rumusan permasalah di atas, maka penelitian ini berada dalam lingkup dan batasan sebagai berikut:

• Konsep berorientasi objek menjadi analisis dasar dalam mengembangkan sis-tem agen bergerak

• Kerangka perangkat lunak diperlukan sebagai alat bantu pengembangan agen bergerak. Kerangka agen berorientasi objek menjadi materi awal untuk me-ngembangkan kerangka agen bergerak.

• Pengembangan sistem agen dari aras arsitektur sampai implementasi diper-lukan untuk mendapat sistem agen yang utuh / komprehensif.

(10)

1.3 Keaslian Penelitian

Penelitian ini mengembangkan sebuah kerangka yang memodularisasi perhatian-perhatian yang ada dalam sistem agen bergerak dengan menggunakan pendekatan berorientasi aspek. Beberapa kerangka yang telah ada terdahulu dikembangkan de-ngan pendekatan berorientasi objek. Aglets, JADE, Jason adalah salah kerangka agen yang dikembangkan dengan pendekatan berorientasi objek. Dengan pende-katan berorientasi objek ini masih memiliki sekumpulan masalah sehingga dalam penelitian ini perlu pendekatan yang beda untuk mengatasi masalah bawaan itu. Pendekatan yang digunakan dalam penelitian ini adalah pendekatan berorientasi as-pek. Pendekatan berorientasi aspek ini mampu memodularisasi perhatian-perhatian yang beririsan. Sehingga dengan pendekatan berorientasi aspek ini bisa mengha-silkan sebuah kerangka memiliki nilai guna ulang, nilai kemampuan pemeliharaan yang lebih baik dan memiliki modularisasi yang bersih dan bisa mengkarakterisasi sistem agen bergerak.

Penelitian ini dikembangkan dari aras arsitektur. Pentingnya pendekatan dari mulai aras arsitektur adalah untuk dapat menggambarkan sebuah sistem agen ber-gerak yang utuh. Salah satu arsitektur agen adalah arsitektur agen berlapis yang diusulkan oleh Kendall (1999). Dari sisi komposisi model berlapis ini tidak bi-sa menangani untuk interaksi antar agen yang bibi-sa dilakukan dalam berbagai cara, sementara dalam arsitektur agen berlapis itu hanya lapisan tertentu yang bisa digu-nakan untuk berinteraksi. Arsitektur yang lain yang pernah dikembangkan adalah arsitektur berbasis mediator yang diusulakan oleh Garcia et al. (2005). Arsitektur berbasis mediator ini merupakan arsitektur yang memiliki keterikatan yang long-gar. Komposisi bergaya bebas. Setiap perhatian baru bisa dimasukkan. Dari sisi lain arsitektur berbasis mediator lebih mencirikan suatu model yang umum dan ti-dak mencirikan sebuah model agen yang kuat.

Pendekatan berorientasi aspek yang digunakan untuk mengembangkan sistem agen bergerak juga telah diusulkan dan dikembangkan oleh beberapa penelitian se-perti oleh Constantinides, Bader, and Elrad (2007) dan Garcia, Chavez, and Choren (2007) serta Garcia et al. (2005), namun dalam penelitian-penelitian itu tidak lebih spesifik menunjukkan masalah guna-ulang dan pemeliharaannya, serta tidak me-nunjukkan sebuah sistem yang bisa ditinjau lebih sederhana.

(11)

1.4 Tujuan

Tujuan umum dari penelitian ini adalah mengembangkan kerangka agen bergerak dengan menggunakan pendekatan sistem berorientasi aspek. Sedangkan tujuan khu-sus dari penelitian ini adalah:

1. Merancang arsitektur yang dapat mengkarakterisasi sistem agen bergerak yang memiliki komposisi yang lebih sederhana ditinjau dari sisi komponen-komponen penyusunnya, memiliki nilai guna ulang dan kemampuan untuk pemeliharaan yang lebih baik dari pendekatan berorientasi objek.

2. Merancang proses transformasi dari aras arsitektur sampai aras implementa-si. Proses transformasi tersebut mengacu pada pendekatan berorientasi aspek yang digunakan untuk mengkarakterisasi sistem agen bergerak.

3. Menyusun sebuah pembuktian konsep dari arsitektur dan proses transformasi yang dirancang dalam bentuk kerangka perangkat lunak agen bergerak ber-orientasi aspek.

4. Membangun paradigma pemrograman yang didasarkan pada arsitektur yang dirancang. Selain itu bisa menunjukkan sebuah konsep pemrograman yang memiliki modularisasi yang memiliki nilai guna-ulang, nilai mampu-pelihara, dan modularisasi kode yang lebih baik dibandingkan dengan menggunakan pendekatan berorientasi objek.

1.5 Manfaat

Salah satu hasil yang dicapai dari penelitian ini adalah arsitektur kerangka agen bergerak yang memperbaiki masalah yang diakibatkan penggunaan pendekatan ber-orientasi objek. Kerangka tersebut bisa memberikan kontribusi untuk mendukung dalam pengembangan aplikasi-aplikasi di lingkungan bergerak baik di lingkungan akademik maupun industri. Dengan dikembangkannya kerangka sistem agen berge-rak yang berorientasi aspek ini diharapkan bisa memberi manfaat sebagai berikut:

• Memberikan solusi untuk mengatasi masalah kompleksitas dalam pengem-bangan sistem agen bergerak sehingga komposisi program bisa dipandang lebih sederhana. Dengan ini pengembang program tidak sulit dalam mende-finisikan sistem agen bergerak dan mengimplementasikannya.

(12)

• Memberikan sebuah panduan untuk membangun sistem agen bergerak de-ngan menggunakan proses transformasi dari arsitektur sampai implementasi. Panduan ini bisa membantu para pengembang program untuk mendefinisikan kebutuhan dan mengimplementasikan kebutuhan tersebut ke dalam aplikasi agen bergerak.

• Dengan paradigma pemrograman yang dibangun dalam penelitian ini, proses pengembangan agen bergerak dapat memisahkan permasalahan kompleksi-tas yang dibawa oleh pendekatan berorienkompleksi-tasi objek. Penggunaan pendekatan berorientasi aspek dalam pengembangan sistem agen bergerak dapat membu-at sebuah konsep pengembangan yang bersih dalam modularisasi.

1.6 Sistematika Penulisan

Penulisan laporan ini disusun dalam 5 bab. Isi dari tiap bagian tersebut adalah sebagai berikut:

• Bab 1 membahas tentang latar belakang yang mendorong penelitian ini di-lakukan. Masalah-masalah yang muncul kemudian di garis bawahi dalam perumusan masalah. Keaslian penelitian disediakan untuk menunjukkan po-sisi penelitian ini. Bagian lain yang penting dalam bab ini adalah tujuan dan manfaat penelitian.

• Bab 2 dalam laporan penelitian ini membahas tentang tinjauan pustaka dan landasan teori serta pertanyaan penelitian. Bagian awal membahas tentang kajian hasil survey ke beberapa hasil penelitian terdahulu. Kajian-kajian pus-taka itu terutama yang berhubungan dengan beberapa bidang yaitu: agen bergerak, pendekatan berorientasi objek, pendekatan berorientasi aspek, dan proses transformasi dari pendekatan objek menjadi aspek yang merupakan domain-domain penting dalam penelitian ini. Landasan teori mendiskusikan beberapa landasan keilmuan yang dikembangkan dan mendukung penelitian ini. Dibagian akhir dari bagian ini dibahas tentang pertanyaan penelitian • Bab 3 adalah metodologi penelitian membahas tentang materi penelitian,

pro-sedur penelitian, rancangan penelitian, cara mengukur dan memvalidasi hasil penelitian. Materi penelitian menjelaskan tentang materi yang dipakai dalam penelitian ini yang secara keseluruhan berupa perangkat lunak. Langkah-langkah penelitian dijelaskan didalam pembahasan prosedur penelitian.

(13)

Pem-bahasan tentang rancangan penelitian dimulai dengan membuat deskripsi sis-tem agen bergerak dan menganalisis kebutuhan. Pembahasan berikutnya ada-lah menjelaskan tentang arsitektur yang diusulkan dan menunjukkan irisan perhatian dalam kerangka agen bergerak. Perancangan model kerangka di-deskripsikan untuk menggambarkan konstruksi kerangka agen bergerak yang dirancang. Perancangan proses transformasi atau refactoring dijelaskan sebe-lum menjelaskan cara mengukur dan memvalidasi hasil penelitian. Beberapa ukuran atau metrik dijelaskan dalam cara mengukur dalam penelitian. Valida-si menjelaskan kerangka agen yang lain yang digunakan sebagai pembanding. • Bab 4 menguraikan tentang hasil dan pembahasan dalam penelitian. Imple-mentasi penggalian aspek dijadikan pembahasan awal bab ini. Pembahsan berikutnya adalah implementasi aspek dan menggabungkan aspek dan As-pectJ. Untuk mendukung pembahasan hasil dibahas dua studi kasus yang masing-masing ditulis dalam 2 pembahasan berbeda. Bagian berikutnya ada-lah membahas tentang pembahasan hasil dan catatan kritis dari hasil pene-litian. Akhir bagian hasil dan pembahasan ini membahas tentang kontribusi penelitian.

• Kesimpulan dan saran adalah bagian terakhir dari penelitian ini membahas tentang kesimpulan dari hasil penelitian dan beberapa keterbatasan masalah dan saran untuk penelitian selanjutnya.

Referensi

Dokumen terkait

Seperti halnya dengan pengetahuan komunikasi terapeutik perawat, kemampuan perawat yang sebagian besar pada kategori cukup baik tersebut kemungkinan karena adanya

Penelitian yang dilakukan di TK AndiniSukarame Bandar Lampung betujuan meningkatkan kemampuan anak dalam mengenal konsep bilangan melalui media gambar pada usia

Ketersediaan informasi lokasi rumah sakit, fasilitas dan layanan yang tersedia di rumah sakit dan tempat kejadian dapat tersedia secara jelas dan terkini sehingga penentuan

Alhamdulillahirobbil’alamin segala puji syukur dan sembah sujud, penyusun panjatkan kehadirat Allah SWT, atas rahmat, hidayah, dan kasih sayang-Nya sehingga penyusun

H1: (1) Terdapat perbedaan produktivitas kerja antara karyawan yang diberi insentif dengan karyawan yang tidak diberi insentif (2) Terdapat perbedaan

7.4.4 Kepala LPPM menentukan tindakan perbaikan yang harus dilakukan pada periode Pelaporan Hasil Pengabdian kepada masyarakat berikutnya.. Bidang Pengabdian kepada masyarakat

Ketika orang-orang dari budaya yang berbeda mencoba untuk berkomunikasi, upaya terbaik mereka dapat digagalkan oleh kesalahpahaman dan konflik bahkan

Dengan cara yang sama untuk menghitung luas Δ ABC bila panjang dua sisi dan besar salah satu sudut yang diapit kedua sisi tersebut diketahui akan diperoleh rumus-rumus