Pengembangan Model Sistem Penunjang Keputusan Multiagen

(1)

PENGEMBANGAN MODEL SISTEM PENUNJANG

KEPUTUSAN MULTIAGEN

(KASUS:SISTEM PENUNJANG KEPUTUSAN UNTUK

KELAYAKAN SUMBERDAYA DAN PASAR PADA

INVESTASI INDUSTRI BIODISEL KELAPA SAWIT)

PRIHASTUTI HARSANI

SEKOLAH PASCASARJANA

INSTITUT PERTANIAN BOGOR

BOGOR

2008


(2)

ABSTRACT

PRIHASTUTI HARSANI. The Development of Multiagent-based Decision Support System Model (Case: Investment Decision Support System on Palm Oil Biodiesel Industry using Raw Material Resources and Marketing Assessment). Under the Guidance of SRI NURDIATI and WISNU ANANTA KUSUMA

Distributed Decision Support System (DSS) has been developed for business importance. The Development of Distributed DSS can be prepared by creating the model for each component of that DSS. This component is autonomous, proactive and can interact with other components or environment. One of the DSS type is model-based DSS. Using model-based DSS, decision maker can asses the alternative solution. The DSS consists of sub models that can be modeled as one of component in distributed DSS. Investment DSS had been developed by Mariana (2005). The DSS model can be utilized by decision maker in assessing the investment on biodiesel industry. The DSS consists of 5 (five) sub models that executed sequentially to get the result and has the character of centralization and compact.

This research aim to develop multiagent-based DSS model that combine Roadmap and Java Agent Development Framework (JADE) platform based on previous investment DSS. The proposed model is intended for yielding system design which has decentralization and modularity characteristics. The assessment of the proposed model is raw material resources and marketing. There are two main phases in the proposed methodology, which are analysis and design. In the analysis phase, all of the main component of multiagent system are identified such as agent, responsibility and interaction between agents. In this case, there are several agents that identified. They are user agent, supporting software agent that providing data and models, also management agent that providing advice or explanation for the result. The agents have their internal behavior and could interact each other. The processes can be executed parallelly using single Java thread. In the design phase, components that identified in previous phase have been mapped to the JADE platform. Its architecture also is created for programmer therefore the abstraction and system design is able to be implemented.


(3)

RINGKASAN

PRIHASTUTI HARSANI. Pengembangan Model Sistem Penunjang Keputusan Multiagen Kasus : Sistem Penunjang Keputusan untuk Kelayakan Sumberdaya

dan Pasar dalam Investasi Biodisel Kelapa Sawit. Dibimbing Oleh SRI NURDIATI dan WISNU ANANTA KUSUMA

Sistem Penunjang Keputusan (SPK) modern mulai beralih kepada SPK terdistribusi dengan fungsi pengontrolan yang bersifat otonom dari komponen pembentuk SPK. Salah satu tipe SPK yang dikenal adalah SPK berbasis model. SPK yang mempunyai komponen beberapa sub model untuk menentukan kelayakan yang dilihat dari beberapa aspek berbeda dapat dikembangkan menjadi model SPK terdistribusi. Pengembangan SPK tersebut mengarah kepada aplikasi yang bersifat desentralisasi dan modularity. Kedua sifat tersebut dimiliki oleh sistem berbasis agen yang menerapkan prinsip otonomi, proaktif dan mampu berinteraksi dengan lingkungan tempat agen tersebut berada. Bertolak dari hal tersebut maka penelitian ini melakukan pengembangan model SPK multiagen dengan mengambil kasus SPK investasi pada industri biodisel kelapa sawit dengan penentuan kelayakan berdasarkan ketersediaan sumber daya dan pasar.

Tahapan pengembangan SPK multiagen dilakukan dalam dua tahapan utama, yaitu tahapan analisis dan tahapan desain. Kedua tahapan ini diterapkan dalam sistem yang akan dikembangkan dengan platform Java Agent Developtment Framework (JADE). Tahapan analisis dimulai dengan memahami sistem yang sedang berjalan dan yang akan dikembangkan. Pembangunan sistem berbasis agen masih menggunakan beberapa prinsip dan notasi dalam pengembangan sistem berbasis objek. Dalam tahapan ini beberapa komponen penting dalam sistem multiagen diidentifikasi untuk kemudian dipetakan menjadi sistem ber-platform JADE dalam tahapan desain. Komponen tersebut adalah agen, aplikasi pendukung dan interaksi. Dalam SPK yang berkaitan dengan investasi biodisel kelapa sawit, model SPK multiagen yang dikembangkan mengidentifikasikan agen sebagai user, aplikasi pendukung untuk menentukan aspek kelayakan sumberdaya dan pasar serta komponen tambahan yang dapat memberikan penjelasan mengenai hasil balikan yang diberikan SPK. Interaksi antar agen dapat dilakukan secara paralel dengan melakukan pengontrolan untuk mencegah terjadinya konflik. Dengan penentuan agen di awal tahapan analisis, penentuan komponen turunan berikutnya menjadi fokus dan terarah.

Tahapan desain dilakukan dengan menentukan spesifikasi teknis untuk sistem yang akan dikembangkan. Iterasi dalam dan antar tahapan dapat dilakukan bila diperlukan untuk menghasilkan abstraksi dan konsep rancangan yang siap diimplementasikan dengan pengkodean bahasa pemrograman JAVA. Dalam tahapan desain juga ditentukan bagaimana informasi diorganisasikan dalam sebuah ontologi.

Hasil penelitian menunjukkan bahwa SPK multiagen dapat diterapkan untuk kasus SPK berbasis model yang terdiri atas sub model penentu perspektif kepentingan pengambil keputusan. SPK investasi yang sebelumnya telah dikembangkan memiliki sifat sentralisasi dan compact. Pengolahan data dilakukan secara sekuensial sampai diperoleh hasil alternatif keputusan. Pengembangan model SPK multiagen mengarahkan SPK menjadi sistem yang bersifat desentralisasi dan modularity, sehingga kegiatan modifikasi data dan model


(4)

menjadi lebih mudah karena keterlibatan agen yang mempunyai karakteristik proaktif.


(5)

I. PENDAHULUAN

1.1. Latar Belakang

Sistem Penunjang Keputusan (SPK) modern tidak hanya menyimpan sejumlah besar data relevan, akan tetapi juga dapat membantu pengambil keputusan dalam mengeksplorasi arti data tersebut. Keputusan yang diambil berdasarkan interpretasi data. Dewasa ini SPK dengan pendekatan terdistribusi mulai banyak dikembangkan untuk kepentingan bisnis.

Pengembangan SPK terdistribusi dapat dilakukan dengan memodelkan tiap sub bagian pembentuk SPK sebagai komponen yang dapat melakukan fungsi pengontrolan serta interaksi dengan komponen lain. Komponen ini merupakan elemen yang otonomi, mampu berinteraksi dengan lingkungan ataupun elemen lain.

Dalam pengembangan perangkat lunak, metodologi dengan pendekatan agen merupakan paradigma baru dalam pengembangan sistem dan merupakan pengembangan dari metodologi pendekatan objek. Dalam hal ini, elemen pembentuk SPK dapat dimodelkan sebagai agen. Agen merupakan komponen yang menawarkan fleksibilitas lebih besar dari pada komponen tradisional. Melalui interaksi berdasarkan pesan yang dilakukan dan teknik knowledge-based yang fleksibel, keterlibatan agen mampu mempengaruhi kemudahan pembangunan sistem perangkat lunak (Martin, 2001). Keterlibatan beberapa agen dalam satu sistem akan membentuk sebuah sistem multiagen. Salah satu SPK yang telah dibangun untuk menunjang pengembangan investasi khususnya investasi enerji terbarukan di Indonesia adalah SPK investasi pada industri biodisel kelapa sawit menggunakan model dinamis yang dikembangkan oleh Anna Mariana, pada tahun 2005. Secara garis besar, model base pada SPK tersebut terdiri atas lima model, yaitu : sumberdaya, teknis produksi, analisis finansial, pasar, dan lingkungan. Hasil penelitian tersebut menunjukkan bahwa SPK dapat digunakan untuk menilai kelayakan investasi pada industri biodisel kelapa sawit oleh pengambil


(6)

keputusan. SPK investasi yang telah dibangun merupakan SPK berbasis simulasi. Salah satu sub model yaitu sub model teknis produksi memanfaatkan aplikasi lain yang hasilnya dikirim ke SPK investasi untuk diintregrasikan dengan sub model lain dan menghasilkan alternatif keputusan dari skenario yang dimasukkan oleh pengguna.

Berdasarkan karakteristik SPK yang telah dibangun, pengembangan sistem multiagen dapat dilakukan dengan memodelkan tiap komponen pembentuk SPK menjadi agen-agen yang saling berinteraksi tetapi mempunyai otonomi dan otoritas fungsi pengontrolan masing-masing. SPK multiagen diperuntukkan bagi sistem terdistribusi sehingga setiap pembuat keputusan dapat melakukan penilaian kelayakan investasi sesuai dengan perspektif kepentingannya. Dalam SPK investasi biodisel multiagen yang akan dikembangkan, pembentukan sistem diarahkan kepada sebuah sistem tersebar dengan pemanfaatan aplikasi lain yang telah ada maupun yang akan dibentuk sebagai sub sistem SPK tersebut.

Terdapat beberapa penelitian terdahulu yang menggunakan pendekatan multiagen dalam pembangunan SPK, yaitu yang dilakukan oleh Wohltorf (2003), Ossowski (2004), Sueyoshi (2008). Hasil penelitian ketiganya menunjukkan SPK terdistribusi dapat dikembangkan menjadi SPK multiagen yang memberikan kemudahan dalam kegiatan pengembangan dan pemeliharaan serta dapat diterapkan dalam bidang investasi.

1.2. Tujuan

Tujuan dilakukan penelitian ini adalah :

1. Memodelkan SPK investasi industri biodisel menjadi SPK investasi multiagen.

2. Merumuskan agen-agen yang terlibat dan komponennya untuk pengembangan SPK investasi biodisel multiagen.

3. Menghasilkan abstraksi rancangan SPK investasi multiagen yang siap untuk diimplementasikan.


(7)

1.3. Manfaat

1. Menyediakan abstraksi lengkap untuk pembangunan SPK investasi multiagen

2. Menyediakan model SPK investasi biodisel multiagen berdasarkan SPK investasi biodisel yang telah dibangun sebelumnya (Mariana, 2003).

1.4. Ruang Lingkup

1. Model dan data yang berkaitan dengan biodisel merupakan data sekunder yang berasal dari penelitian Anna Mariana (2005) yaitu model sumberdaya dan model pasar.

2. Platform yang digunakan dalam metodologi pengembangan sistem adalah dengan Java Agent Development Framework (JADE).


(8)

II.

TINJAUAN PUSTAKA

2.1. Agent-Based Software Engineering

Agen pintar (intelligent agents) dan sistem berbasiskan agen telah banyak dikenal dalam penelitian bidang kecerdasan buatan. Dewasa ini, kedua hal tersebut semakin banyak dikenal dan meluas aplikasinya ke dalam pengembangan rekayasa perangkat lunak. Melalui agen, pengembang dapat lebih mudah memodelkan, mendesain dan membangun sistem (Nowostawski, 2000). Rekayasa perangkat lunak tradisional dapat menangani data dan informasi. Data didefinisikan sebagai urutan simbol yang dikuantifikasikan atau dapat dikuantifikasikan. Di lain pihak, informasi adalah data yang mempunyai pola arti tertentu. Knowledge adalah kemampuan menggunakan informasi. Kemampuan menggunakan informasi adalah bagian yang tidak dapat dilepaskan dari paradigma multiagent system. Agen yang berfungsi untuk berinteraksi dan bekerja secara proaktif harus mampu memanfaatkan informasi dalam area permasalahannya. Jennings (2000) mengartikan agen sebagai sistem komputer terenkapsulasi yang disituasikan dalam beberapa lingkungan serta dapat beradaptasi dan berotonomi dalam lingkungan tersebut untuk mencapai tujuan perancangannya.

Melalui agen entitas, pemecahan masalah dapat dengan jelas diidentifikasi dengan batas dan interface yang terdefinisi baik (well defined). Agen didesain untuk memenuhi kegunaan tertentu, dengan tujuan khusus. Selain itu agen dapat disituasikan dalam lingkungan tertentu. Untuk itu, agen akan menerima input yang berhubungan dengan keadaan lingkungannya melalui sensor dan beraksi dalam lingkungannya melalui efektor. Agen bersifat otonomi dikarenakan agen tersebut mempunyai kendali baik melalui keadaan internalnya atau melalui aktifitasnya. Agen juga mempunyai fleksibilitas yang baik untuk penyelesaian masalah. Agen mampu bersifat reaktif untuk merespon perubahan yang terjadi dalam lingkungannya dan beraksi sebagai langkah antisipasi untuk mencapai tujuannya. Dalam satu komunitas, agen-agen dapat saling berinteraksi, berkoordinasi dan bernegoisasi satu sama lain dalam menjalankan pekerjaannnya. Hal ini disebut sebagai multiagent system. Parunak (1998) menggambarkan


(9)

bagaimana agen-agen saling berkomunikasi dan membagi dalam satu lingkungannya, seperti yang dideskripsikan pada Gambar 1.

Gambar 1 Sistem multiagen (Parunak, 1998)

2.2. Klasifikasi Agen

Menurut Martin (2001), agen dapat diklasifikasikan menjadi tiga berdasarkan karakteristik yang dimilikinya yaitu :

1. Collaborative Agent : Agen yang memiliki kemampuan melakukan kolaborasi dan koordinasi dengan agen lain dalam kerangka Multi Agent System (MAS).

2. Interface Agent : Agen yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi kendali (monitoring) dan pembelajaran (learning) untuk memenuhi kebutuhan user.

3. Mobile Agent : Agen yang memiliki kemampuan untuk bergerak dari suatu tempat ke tempat lain, secara mandiri melakukan tugas di tempat barunya tersebut, dalam lingkungan jaringan komputer.


(10)

2.3. Karakteristik Agen

Terdapat beberapa karakteristik agen seperti yang dikemukakan oleh Odell (2000). Karakteristik yang dikemukakan merupakan perpaduan dengan konsep yang dikemukakan oleh Parunak (1998).

1.Otonomi

Agen mampu memulai aksi secara independen dari entiti lainnya. Untuk tingkat tertentu, agen bahkan dapat beroperasi tanpa adanya interfensi dari luar secara langsung.

Terdapat dua macam otonomi yang ada, yaitu :

- Otonomi dinamik. Arti dari otonomi dinamik adalah agen tidak hanya mampu bereaksi berdasarkan pemanggilan metode tertentu saja melainkan mampu beradaptasi sesuai lingkungannya. Dalam otonomi dinamik dikenal adanya agen yang proaktif dan pasif. Dalam sistem multiagen, agen-agen dapat berinteraksi secara paralel. Sebuah agen dapat memutuskan kapan harus ”pergi”.

- Otonomi non deterministik

Otonomi non deterministik menunjukkan sifat agen yang bereaksi sesuai prediksi ataupun tidak terprediksi. Sebagai contoh dalam sistem agen untuk pembelanjaan, seorang pelanggan tidak dapat diprediksikan kapan akan membeli barang tertentu. Agen dapat memutuskan ”tidak” melakukan interaksi.

2. Interaktif

Interaksi adalah kemampuan untuk berkomunikasi dengan lingkungan dan entitas lain. Interaksi juga dapat diekspresikan dalam derajat seperti yang terlihat pada Gambar 2.


(11)

Dalam gambar terlihat bahwa interaksi dasar terjadi seperti dalam pemanggilan metode dalam objek. Dalam sistem multiagen, interaksi dengan derajat tertinggi terjadi secara paralel antara satu agen dengan yang lainnya. Oleh karena itu, agen-agen dalam sistem multiagen dapat dianggap sebagai masyarakat yang melakukan interaksi sosial.

Dalam melakukan interaksinya komunikasi yang dilakukan agen dapat menggunakan metode pemanggilan seperti dalam orientasi objek. Akan tetapi, dalam aplikasi berbasis agen, konten message lebih ditekankan. Dalam sistem agen, komunikasi digunakan dengan format yang terdapat pada Agent Communication Language (ACL)

2.4. Sistem Penunjang Keputusan Berbasis Agen

Dalam rekayasa pengetahuan (knowledge engineering), agen menawarkan fleksibilitas untuk integrasi berbagai sistem pemrosesan yang berbeda menjadi satu sistem tunggal. Agen dan bidang kecerdasan buatan merupakan hal yang saling berkaitan. Sistem multiagen sesuai untuk sistem terdistribusi dan sistem yang membutuhkan penalaran seperti halnya dalam SPK. Agen yang berkaitan dalam SPK seharusnya mampu melakukan hal-hal berikut ini (Sebestyénová, 2007):

1. Perencanaan untuk mencapai suatu tujuan

2. Pemodelan lingkungan untuk bereaksi sesuai situasi yang ada 3. Penalaran dan akting

4. Koordinasi antar agen

5. Penyelesaian konflik (diawali dengan pendeteksian konflik).

Dalam membangun sebuah sistem multiagen, perancang aplikasi harus mengerti beberapa hal berikut yaitu: (1) bagaimana agen dan teknik dalam sistem cerdas dapat diaplikasikan dalam domain permasalahan, (2) kompetensi yang dibutuhkan agen, serta (3) teknik yang diperlukan untuk mengimplementasikan kompetensi tersebut. Secara garis besar, dalam sistem multiagen dilakukan beberapa hal sebagai berikut :


(12)

2. Menentukan kompetensi inti yang memenuhi tanggung jawab yang sesuai.

3. Memilih teknik untuk memenuhi tiap-tiap kompetensi.

Berdasarkan tanggung jawab yang telah ditentukan, maka sistem berbasis agen dapat berupa sistem heterogen atau sistem homogen. Dalam sistem heterogen, setiap tanggung jawab agen memiliki tanggung jawab yang berbeda, sedangkan sistem yang homogen tiap tanggung jawab dalam agen berbagi tujuan yang sama.

2.5. Agen-based Human Computer Interaction

Menurut Krauth (2007), sistem yang dibangun dengan pendekatan agen dapat meningkatkan interaksi manusia dan komputer. Interaksi tersebut merupakan aspek penting mengingat proses pengambilan keputusan adalah kombinasi antara pembuat keputusan dan SPK berbasis model yang masing-masing bekerja secara individu. SPK dapat memproses sejumlah informasi dalam jumlah besar. Di lain pihak, pembuat keputusan dapat beradaptasi lebih baik apabila menghadapi keadaan di luar kendalinya. Dengan mengetahui polah tingkah user, agen dapat memperoleh informasi mengenai context-sensitive sehingga komputer tidak hanya mampu sebagai penghitung handal, akan tetapi juga sebagai asisten pembuat keputusan. Berdasarkan hal tersebut, agen dapat melakukan dan memberikan hasil negoisasi, pencarian dan perhitungan dalam cara yang proaktif. Hal ini terbukti mampu mengurangi usaha kognitif yang harus dikeluarkan oleh user. Pembebanan tugas antara komputer dan manusia dapat diubah untuk memaksimumkan kinerja pengambilan keputusan. Jika pada awalnya user melakukan tugas-tugas rutin dan komputer melakukan perhitungan yang sulit, maka dengan teknologi agen, tugas rutin dapat dilakukan komputer dan user terlibat dalam situasi yang tidak rutin. Melalui agen, pembagian tugas dilakukan dengan mengombinasikan kekuatan yang ada pada manusia dan komputer dalam pengambilan keputusan.

2.6. Java dalam Agent-based Sofware Engineering

Pemilihan bahasa pemrograman adalah penting mengingat karakteristik sistem yang akan dibangun. Walaupun bahasa pemrograman hanyalah


(13)

sekumpulan aturan-aturan formal untuk mengekspresikan algoritme, akan tetapi masing-masing bahasa pemrograman mempunyai karakteristik dan kemampuan berbeda-beda.

Java adalah bahasa pemrograman yang open source dan bebas platform. Komunitas pengguna Java menawarkan berbagai library atau rutin yang siap pakai. Java sangat sesuai untuk aplikasi yang membutuhkan komputasi tinggi dikarenakan aritmatikanya berdasarkan 64 bit, jumlah presisi numerik yang terbaik yang tersedia saat ini (Horstmann et al, 2001).

2.7. Java Agent Development Framework (JADE )

JADE adalah sebuah perangkat lunak yang diperuntukkan bagi pembangunan aplikasi berbasis multiagen dan aplikasi tersebut mengikuti standar yang dikeluarkan oleh Foundation for Intelligent Physical Agent (FIPA). Dalam JADE terdapat dua produk utama, yaitu platform agen dengan standar FIPA dan paket-paket untuk membangun agen Java.

Paket-paket utama yang terdapat dalam JADE adalah : 1. jade.core

Dalam paket ini dilakukan pendefinisian kelas agen, kelas behaviour dan interaksi antar agen. Behaviour adalah operasi yang dapat dilakukan agen dan didefinisikan oleh programmer dengan mengikuti standar FIPA. Dalam JADE juga disediakan kumpulan behaviour standar. Behaviour tersebut terdapat di dalam sub paket jade.core.Behaviour.

2. jade.lang.acl

Sub paket ini disediakan untuk memproses Agent Communication Language (ACL) berdasarkan standar spesifikasi FIPA.

3. jade.content

jade.content adalah paket berisi sekumpulan kelas untuk mendukung ontologi dan bahasa konten yang didefinisikan oleh user. Untuk bahasa SL, terdapat sub paket jade.content.lang.sl yang berisi kode bahasa SL baik parser maupun encoder-nya.


(14)

Paket ini berisi semua kelas Java yang merepresentasikan entiti Agent Management. Termasuk di dalamnya agen Management Service dan agen Directory Facilitator.

5. jade.gui

jade.gui adalah paket-paket yang berisi kelas-kelas untuk membangun tampilan antar muka grafis, mengedit Agent-Identifier, deskripsi agen dan pesan ACL.

6. jade.proto

Paket ini berisi kelas-kelas untuk memodelkan protokol interaksi standar yang didefinisikan dalam FIPA. Selain itu terdapat kelas lain untuk membantu programmer dalam mendefinisikan protokolnya sendiri.

2.7.1. Agent Platform

Platform agen standar memiliki bagan sebagai berikut :

Gambar 3 Arsitektur platform agen dengan standar FIPA

AMS adalah agen yang bertindak sebagai supervisor pengontrol. Hanya ada satu AMS dalam satu platform. AMS menyediakan layanan siklus hidup agen, memelihara direktori Agent Identifier (AID) dan keadaan agen. Tiap agen harus terdaftar dalam AMS untuk mendapatkan AID yang valid. Directory Facilitator (DF) adalah agen yang menyediakan layanan yellow page dalam platform. Message Transport System juga disebut Agent Communication Channel (ACC)


(15)

yang merupakan software pengontrol pertukaran pesan antar platform termasuk pertukaran pesan ke dan dari platform lain.

Berdasarkan spesifikasi FIPA, agen DF dan DMS berkomunikasi menggunakan bahasa konten FIPA-SL0, ontologi FIPA-AGENT-MANAGEMENT dan protokol interaksi FIPA-Request.

2.7.2. Siklus hidup agen

Agen dapat mempunyai keadaan berdasarkan siklus hidup yang disajikan pada Gambar 4.

Gambar 4 Siklus hidup sistem berdasarkan standardisasi FIPA

2.8. Foundation for Intelligent Physical Agent (FIPA)

FIPA adalah organisasi yang mengeluarkan teknologi berbasis agen dan standarisasi komunikasi antara teknologi berbasis agen dengan teknologi lain. Spesifikasi FIPA merepresentasikan sekumpulan standar yang mengatur operasi antar agen yang berbeda. Terdapat 25 standar yang terbagi menjadi beberapa kategori dikeluarkan FIPA (www.fipa.org). Kategori tersebut di antaranya : komunikasi agen, transport agen dan manajemen agen. Di antara kategori ini, komunikasi agen merupakan kategori inti dari sistem berbasis multiagen.


(16)

2.8.1. Agent Communication Language (ACL)

ACL didasarkan pada speech-act theory. ACL dengan standar FIPA terdiri atas header, coomunictive act yang diikuti dengan subjek aksi tersebut, misalnya permintaan (request), pengajuan (propose), pemberitahuan (inform) yang kemudian dapat digunakan untuk mengubah polah tingkah agen. ACL juag dikaitkan dengan protokol interaksi yang sudah didefinisikan dalam FIPA yang berguna untuk negoisasi antar agen. Selain ACL, terdapat standar lain yang penting dalam sistem multiagen, yaitu ontologi dan bahasa konten.

2.9. Ontologi

Sebuah ontologi mendefinisikan kamus umum bagi peneliti untuk berbagi informasi dalam sebuah domain. Di dalam ontologi termasuk di dalamnya definisi konsep dasar dalam domain dan relasi antar konsep dasar tersebut (Noy, 2000). Alasan perlunya pembangunan ontologi adalah :

1. Untuk berbagi pengertian yang sama dari struktur informasi antar orang atau agen perangkat lunak

2. Untuk kemungkinan penggunaan kembali pengetahuan domain 3. Untuk membuat asumsi domain menjadi eksplisit

4. Untuk menganalisis pengetahuan domain.

Dalam sistem kecerdasan buatan, ontologi didefinisikan sebagai sebuah deskripsi formal untuk konsep dalam sebuah domain (kelas), properti dari tiap-tip konsep yang menggambarkan fitur dan atribut konsep (slot atau properties) serta pembatasan dalam slot. Sebuah ontologi bersama-sama dengan sekumpulan instance dari kelas membentuk basis pengetahuan.

Deskripsi ontologi dapat dicontohkan adalah sebagai berikut :

1. Kelas. Kelas menggambarkan konsep dalam domain. Sebuah kelas dapat mempunyai sub kelas yang merepresentasikan kelas yang lebih spesifik. 2. Slot. Slot menggambarkan properti kelas dan instance Secara praktis,

pendefinisian ontologi berarti melakukan hal-hal berikut : - Kelas


(17)

- Mendefinisikan slot dan menentukan nilai yang diperkenankan untuk slot ini

- Mengisi isi slot untuk instance-nya.

Pembangunan ontologi dilakukan secara berulang, dimulai dari pendefinisian konsep dan slot yang awal dilanjutkan apabila diperlukan dengan perbaikan untuk pendefinisiannya.

2.10.Sistem Penunjang Keputusan Investasi Industri Biodisel Kelapa Sawit Sistem penunjang keputusan kelayakan investasi industri biodisel (BDS) kelapa sawit merupakan aplikasi yang telah dibangun pada tahun 2005 oleh Anna Mariana. Secara garis besar sistem ini terdiri atas lima sub model yang merupakan faktor yang berpengaruh dalam investasi industri tersebut. Lima submodel tersebut adalah :

1. Submodel sumberdaya untuk menilai poyeksi ketersediaan bahan baku Crude Palm Oil yang akan dijadikan biodisel (CPO).

2. Submodel teknis produksi untuk menilai ketersediaan teknologi dan persyaratan yang diperlukan dalam mengolah bahan baku CPO menjadi biodisel.

3. Submodel pasar untuk menilai potensi pasar biodisel di dalam dan luar negeri

4. Submodel analisis finansial untuk menilai kelayakan finansial dari sisi pengeluaran, penerimaan dan biaya investasinya

5. Submodel lingkungan untuk menilai perbedaan dampak penggunaan biodisel dan solar terhadap lingkungan.

Rancang bangun SPK digunakan dan didesain menggunakan metodologi analisis deskriptif dari data sekunder pada masing-masing sub model. Keterkaitan sub model diagregasikan dengan hubungan fungsi logika dan teori yang dibangun melalui kaidah sistem dinamis. Gambar 5 menunjukkan hubungan antar submodel penyusun model SPK investasi industri


(18)

Keterangan SM : Submodel IK : Implikasi Kebijakan

Gambar 5 Hubungan antar submodel dari SPK investasi pada industri biodisel kelapa sawit (Influence Diagram) (Mariana, 2005)


(19)

III. METODOLOGI PENELITIAN

3.1. Kerangka Pemikiran

Pengembangan SPK multiagen investasi biodisel dilakukan melalui tahapan seperti yang terlihat pada Gambar 6. Pada tahap awal, dilakukan analisis pendahuluan terhadap SPK yang telah dibangun sebelumnya yaitu SPK investasi biodisel kelapa sawit dengan sistem dinamik (Mariana, 2005).

Tahap berikutnya adalah melakukan identifikasi dan analisis masalah lanjutan. Pada tahap ini dilakukan pengambilan data dan model SPK investasi biodisel. Data yang digunakan oleh SPK investasi industri biodisel adalah data sekunder yang berasal di antaranya dari Departemen Pertanian dan beberapa hasil penelitian biodisel. Model yang akan digunakan dalam pengembangan SPK adalah model sumberdaya dan model model pasar.

Tahap kedua adalah tahap desain. Dalam tahap desain dilakukan identifikasi entitas, agen dan sumberdaya yang akan dilibatkan. Tahapan pendekatan agen yang digunakan berdasarkan metodologi yang dikemukakan oleh Nikraz (2006).


(20)

3.2. Tahap pengembangan dengan pendekatan agen

Berdasarkan Gambar 6, metodologi agen yang digunakan untuk pengembangan SPK multiagen merupakan tahapan yang dilakukan pada tahap desain. Tahapan-tahapan proses dari metodologi Agent-based Software Engineering (ASE) terdiri dua tahapan besar, yaitu analisis dan desain. Dalam dua tahapan ini terdapat beberapa model atau diagram atau artifacts yang harus dibentuk untuk menjadikan sistem berbasis agen. Metodologi yang digunakan dikemukakan oleh Nikraz (2006) dan dijabarkan pada Gambar 7.

Gambar 6 menjelaskan bahwa penekanan pengembangan sistem berbasis agen terletak pada tahapan analisis dan desain. Tahapan ini merumuskan dan memberikan abstraksi yang lengkap untuk spesifikasi teknis untuk kepentingan pengkodean.

Dalam metodologi yang dikemukakan Nikraz (2006), perencanaan sistem di luar lingkup pembahasan mengingat bahwa sistem yang akan dibangun telah sesuai dengan domain permasalahan yang dapat diselesaikan dengan pendekatan agen

3.2.1. Tahapan Analisis

Tahapan ini merupakan tahapan awal untuk memperjelas permasalahan dalam level yang detil dengan penekanan minimal pada solusi. Adapun tahapan ini terdiri atas tahapan lain, yaitu :

1. Pembentukan use case yang akan menghasilkan diagram use case. 2. Identifikasi tipe agen awal yang akan menghasilkan diagram agen.

3. Identifikasi tanggung jawab yang akan menghasilkan tabel tanggung jawab.

4. Identifikasi acquaintances.

Dalam tahapan ini ditentukan relasi yang jelas antar agen dan melalui tahapan ini diagram agen dan tabel tanggung jawab diperbaiki

5. Perbaikan agen.

Dalam tahapan ini sekali lagi diagram agen dan tabel tanggung jawab diperbaiki.


(21)

PERENCANAAN

Menentukan perencanaan pengembangan sistem

Apakah agen merupakan solusi yang tepat ?

Ya

1. Pembentukan use case

2. Identifikasi awal tipe agen

3. Identifikasi responsibilties

4. Identifikasi acquaintance

5. Agent refinement

6. Penentuan agent deployment

2. ANALYSIS

1. Pemisahan/penggabungan/penamaan ulang agen

2. Spesifikasi interaksi

3. Definisi protokol interaksi ad-Hoc

4. Definisi message template

5. Spesifikasi fasilitator direktori

6. Interaksi sumberdaya-agen

7. Interaksi agen-user

8. Definisi behaviour internal agen

9. Pendefinisian ontologi

10. Seleksi pemilihan konten

3. DESIGN

4. IMPLEMENTASI DAN TESTING

11. Penentuan arsitektur sistem dan pengkodean dalam JADE

Tidak Gunakan metode lain


(22)

3.2.2 Tahapan desain

Tahapan desain dilakukan dengan fokus pada platform JADE. Terdapat kemungkinan dalam prosesnya untuk kembali ke tahapan analisis apabila diperlukan. Dalam tahapan desain terdapat sub tahapan, yaitu :

1. Memecah/menggabungkan atau mengganti nama agen.

Tahapan ini dilakukan untuk mendapatkan jumlah agen yang paling efektif, apabila perlu dilakukan penggabungan.

2. Menentukan spesifikasi interaksi

Tahapan ini menghasilkan tabel interaksi 3. Mendefinisikan protokol interaksi ad-hoc 4. Menspesifikasikan message template.

Tahapan ini menghasilkan objek message template yang diperlukan. 5. Menentukan spesifikasi directory facilitator untuk registrasi dan pencarian

layanan.

6. Menspesifikasikan interaksi antara agen dan sumberdaya 7. Menspesifikasikan interaksi agen dan user

8. Menentukan polah tingkah internal agen

9. Mendefinisikan ontologi sesuai domain permasalahan 10.Pemilihan bahasa konten.


(23)

IV. HASIL DAN PEMBAHASAN 4.1. Pengembangan Sistem

SPK investasi industri biodisel kelapa sawit yang dikembangkan oleh Mariana (2005) merupakan SPK investasi berbasis model untuk penentuan kelayakan industri biodisel dengan 5 (lima) aspek kelayakan yaitu : kelayakan sumberdaya, kelayakan pasar, kelayakan teknis produksi, kelayakan finansial dan kelayakan lingkungan.

Dalam SPK investasi yang telah dibangun, pengambil keputusan dapat mengatur skenario kelayakan dengan memasukkan parameter inputan. Hasil perhitungan kelayakan diperoleh berdasarkan model matematika dalam tiap sub model. Penilaian kelayakan ditentukan oleh pengambil keputusan berdasarkan nilai yang diperoleh. Bagan alir penentuan kelayakan dan model matematika terdapat dalam Lampiran 1. Kelima aspek kelayakan direpresentasikan dalam sub model yang diimplementasikan dengan bantuan aplikasi spreadsheet (Microsoft Excel) dan perangkat lunak I-think versi 6.0.

Aplikasi SPK yang dihasilkan mampu menyajikan sistem yang interaktif kepada pengguna. Pengguna dapat melihat semua aspek kelayakan sesuai dengan skenario yang dipilih. Pemodifikasian model dan data oleh pengembang tidak dilakukan secara interaktif, melainkan dilakukan langsung melalui aplikasi pembentuk SPK.

Kegiatan modifikasi model dan data merupakan hal yang menjadi fokus dikarenakan dalam pengembangannya akan terdapat perubahan model dan data dasar. Modifikasi yang dilakukan langsung melalui aplikasi pembentuk dapat mempengaruhi operasional sistem secara keseluruhan karena sistem dibangun dengan konsep sentralisasi dan compact.

Konsep desentralisasi dan modularity dapat dikembangkan dalam SPK investasi biodisel dikarenakan sub model pembentuk SPK dapat menjadi sub SPK untuk penilaian kelayakan berdasarkan perspektif kepentingan pengambil keputusan. Kedua konsep ini terdapat dalam sistem berbasis agen. Melalui pemodelan agen, model pembentuk SPK dijadikan komponen yang otonom


(24)

dengan masing-masing model secara terpisah mempunyai fungsi kontrol dan merupakan sub sistem yang proaktif apabila terjadi perubahan pada lingkungannya.

4.2. Pengembangan Model Sistem Penunjang Keputusan Multiagen

Pengembangan sistem berbasis agen mengikuti metodologi yang mulai dikembangkan tahun 2000. Beberapa metodologi telah disusun untuk membangun sebuah sistem multiagen, di antaranya Gaia (Wooldridge, 2000), Roadmap (Juan, 2002) dan terakhir adalah metodologi yang dikembangkan oleh Nikraz (2006) yaitu metodologi yang memfokuskan sistem multi agen ber-platform JADE.

Dalam pengembangan sistem berbasis agen, perlu dipertimbangkan kesesuaian agen untuk pemecahan masalah. Dari keseluruhan metodologi, dianggap bahwa agen telah menjadi pilihan untuk pemecahan masalah.

SPK multiagen investasi biodisel akan dikembangkan mengikuti metode pengembangan sistem dengan platform JADE seperti yang dikemukakan oleh (Nikraz, 2006) dengan kombinasi Roadmap. Alasan pengkombinasian ini adalah dalam Roadmap terdapat dengan jelas definisi atribut role pembentuk agen. Kelemahan metode Roadmap diperbaiki oleh Nikraz dengan pendefinisian agen terlebih dahulu. Melalui metode ini pengembang dapat menangkap konsep utama dalam pembangunan sistem multiagen. Dalam pengembangan sistem ber-platform JADE, tahapan dilakukan seperti pengembangan perangkat lunak pada umumnya, yaitu analisis, desain, deployment dan uji coba.

Penelitian ini memfokuskan dua tahapan utama dalam pengembangan sistem, yaitu tahap analisis dan tahap desain. Dalam dua tahapan ini, dijabarkan dengan lengkap abstraksi dan konsep SPK multiagen dengan studi kasus SPK investasi biodisel. Dalam tahapan analisis, langkah awal yang dilakukan adalah penentuan konteks sistem untuk identifikasi awal agen dan role. Hasil akhir tahapan ini adalah dapat ditentukannya struktur agen yang telah mendapat proses perbaikan (refinement). Tahapan desain dilakukan untuk mendapatkan struktur agen internal. Dalam tahapan ini dilakukan pemisahan ataupun penggabungan agen. Hasil tahapan desain adalah mendapatkan struktur agen dan arsitektur


(25)

komunikasi yang dilakukan untuk kemudian dapat diimplementasikan menggunakan tools berplatform JADE.

Sebagi tahapan akhir pengembangan sistem adalah tahapan deployment Dalam keseluruhan metodologi sistem multiagen, tahap ini tidak dijabarkan secara detil. Menurut Arenas (2003) tahapan deployment untuk sistem multi agen dapat dibagi menjadi dua bagian, yaitu : tahap pendefinisian arsitektur sistem dan pembangunan antar muka pengguna. Tahapan deployment dalam pengembangan SPK multiagen dilakukan dengan memberikan gambaran teknis dalam JADE mengenai komponen utama sistem multiagen (agent, behaviour internal, interaksi dan ontologi).

Dalam kegiatan awal pengembangan SPK multiagen, terdapat asumsi sebagai pembatasan yaitu:

a. Definisi agen dalam SPK mulitagen sesuai dengan definisi agen yang telah dikemukakan oleh penelitian terdahulu mengenai sistem multiagen.

b. Platform JADE adalah platform yang dipilih untuk pengembangan. c. Pembatasan jumlah agen sesuai dengan domain permasalahan.

d. Keamanan sistem tidak ikut dilibatkan dan dibahas dalam tiap proses pengembangan sistem.

4.2.1. Penentuan Skenario Sistem Penunjang Keputusan Multiagen dalam Tahapan Analisis

Pengembangan model SPK multiagen diawali dengan tahapan analisis untuk mendapatkan gambaran yang jelas mengenai permasalahan dengan tidak menekankan pada solusi. Seperti yang dikemukakan oleh Nikarz (2006), tahapan analisis diawali dengan penentuan skenario SPK multiagen. SPK investasi biodisel yang telah didefinisikan sebelumnya oleh Mariana (2005) merupakan SPK berbasis simulasi yang terdiri atas lima sub model yaitu kelayakan sumberdaya, kelayakan pasar, kelayakan teknis produksi, kelayakan finansial dan kelayakan lingkungan. Kelima sub model merupakan komponen pembentuk SPK yang dapat dijadikan elemen terpisah dengan perspektif kepentingannya masing-masing. Oleh karena itu, SPK ini dapat dimodelkan dengan pengembangan menjadi SPK berbasis agen. Interaksi yang serial antar sistem dan pengguna juga menjadi alasan pengembangan SPK investasi biodisel menjadi SPK berbasis agen.


(26)

Kemungkinan keterlibatan beberapa agen dalam sistem sesuai dengan asumsi yang dibuat pada awal tahapan kegiatan pengembangan menjadikan sistem berbasis agen tunggal menjadi sistem multiagen.

Dengan pembangunan kembali SPK investasi, Decision Maker (DM) dapat menentukan solusi yang feasible untuk melakukan investasi melalui akses tiap penentu kelayakan yang data dan modelnya disediakan oleh kontributor. Terdapat beberapa tipe DM, di antaranya DM sumberdaya, DM Finansial, DM Pasar, DM Produksi dan DM lingkungan. Dalam SPK terdahulu, kelima DM adalah sub model dalam SPK. Kontributor adalah penyedia data dan model, dan dapat berupa database, model base atau perangkat lunak lain yang telah ada untuk kemudian berkolaborasi sehingga didapatkan kemungkinan alternatif solusi bagi DM. DM dapat melakukan dua hal yaitu menerima atau memilih alternatif solusi yang ditawarkan serta menolaknya. Apabila DM menolak maka DM dapat menentukan skenario lain dengan data dan model yang disediakan oleh kontributor. Komunikasi antara agen dan kontributor dapat dilakukan dalam satu area ataupun dalam area terpisah. Di samping itu, komunikasi antar DM dan kontributor dapat dilakukan secara paralel sesuai dengan pola interaksi yang akan diidentifikasi kemudian.

Berdasarkan skenario yang telah dikemukakan, maka tahapan analisis dimulai dengan tahapan sebagai berikut :

1. Pembentukan diagram use case

Pembentukan use case dimaksudkan untuk mendapatkan kebutuhan fungsional yang potensial dari sebuah sistem baru. Metode Roadmap (Juan, 2002) dan metode berplatform JADE (Nikraz, 2006) mengemukakan bahwa penggambaran domain sistem dengan use case merupakan teknik yang efektif dan cukup jelas dalam menggambarkan kebutuhan sistem. Tiap use case merepresentasikan satu atau lebih skenario yang mendemonstrasikan bagaimana sistem berinteraksi dengan end user atau sistem lain untuk mencapai tujun tertentu. Diagram use case dapat digambarkan dengan notasi Unified Modelling Langauge (UML). Dalam notasi UML, terdapat dua komponen yang penting, yaitu aktor dan use case.


(27)

Untuk SPK investasi biodisel multiagen, terdapat dua aktor dan sembilan use case. Aktor dalam SPK multiagen investasi biodisel adalah decision maker dan kontributor sebagai penyedia data dan model. Secara rinci, aktor dan use case dapat digambarkan melalui diagram use case seperti pada Gambar 8.

Decision Maker «uses» Mengatur skenario «uses» Menanggapi hasil Kontributor Sistem Penunjang Keputusan Multiagen

Menentukan kelayakan pasar & sumberdaya

«uses» Menentukan kelayakan teknis produksi Menentukan kelayakan finansial Menentukan kelayakan lingkungan «uses» «uses» Menerima hasil skenario Melakukan skenario lain

«extends» Penyediaan data dan model «uses» «uses» «uses» «uses»

Berdasarkan diagram use case, aktor dapat melakukan fungsi yang berkaitan dengan tujuan aktor tersebut berinteraksi dengan sistem. Aktor DM dapat melakukan pengaturan skenario dan menanggapi hasil, sedangkan kontributor melakukan penyediaan terhadap data dan model dasar.

2. Identifikasi awal tipe agen yang terlibat

Tahapan ini dilakukan untuk menentukan tipe agen utama dari penurunan use case pada tahap 1. Berbeda pada metodologi Roadmap, dalam metodologi berplatform JADE, agen diidentifikasi sebelum pengidentifikasian role (responsibilities). Dalam tahapan ini akan dihasilkan diagram agen. Aturan yang diberlakukan untuk menentukan agen utama adalah sebagai berikut :

a. Menjadikan tiap user / device sebagai satu tipe agen.


(28)

b. Menjadikan tiap sumberdaya (perangkat lunak atau aplikasi lain) sebagai satu tipe agen.

Dengan memberlakukan aturan tersebut, berdasarkan diagram use case yang telah dihasilkan pada tahapan sebelumnya, dapat diidentifikasi dua agen awal. Agen-agen tersebut adalah : (1) Agen decision maker (DM). Agen ini diperoleh dari user atau aktor decision maker pada diagram use case. (2) Agen penyedia data dan sub model. Tipe agen ini diperoleh berdasarkan aplikasi atau perangkat lunak penyedia data dan sub model. Dalam SPK investasi oleh Mariana (2005), terdapat aplikasi pendukung untuk menentukan hasil sub model, yaitu aplikasi penentuan bahan dan energi yang diperlukan. Selain itu, penentuan hasil sub model lain misalnya sumberdaya dapat dilakukan melalui aplikasi pendukung lain. Aplikasi pendukung ini kemudian dapat dijadikan salah satu tipe agen yang terpisah dari agen user. Berdasarkan dua agen awal yang telah teridentifikasi, maka pada dapat dihasilkan diagram agen seperti yang disajikan pada Gambar 8.

Berdasarkan Gambar 9 terdapat dua tipe agen utama yaitu agen DM dan agen penyedia data dan model. Dalam diagram agen terdapat empat entitas utama, dengan penjelasan sebagai berikut :

1. Tipe agen

Entitas ini menunjukkan tipe agen yang aktual dan direpresentasikan dengan simbol lingkaran.

2. Human

Entitas ini dapat dikatakan sebagai personal yang harus berinteraksi dengan sistem selama proses operasional sistem. Simbol yang digunakan untuk merepresentasikan entitas ini adalah simbol aktor dalam notasi UML.

Agen Decision

Maker


(29)

3. Sumberdaya

Entitas sumberdaya merupakan sistem eksternal yang harus berinteraksi dengan sistem selama proses pengembangan dan direpresentasikan dengan segiempat.

4. Acquiantances

Acquiantances merupakan entitas yang dapat melakukan interaksi sosial dan direpresentasikan dengan panah. Entiti ini menunjukkan komunikasi yang dilakukan selama operasi. Komunikasi dapat dilakukan antar agen, antar agen dan human, maupun antar agen dan sumberdaya. Bagaimana teknik komunikasi untuk berinteraksi dilakukan belum ditentukan dalam tahapan ini.

Salah satu yang perlu mendapat perhatian dalam interaksi dalam sistem multiagen adalah interaksi yang dilakukan antara sistem eksternal dan human dengan agen.

Hal ini mengingat komunikasi yang dilakukan antara entitas tersebut tidak mempunyai penamaan maupun sintaks yang seragam (Nikraz, 2006). Terdapat tiga cara dalam menentukan teknik yang dilakukan agen untuk berinteraksi, yaitu :

a. Penggunaan transducer agen

Agen Data dan

Model Aplikasi

penyedia data dan sub

model

(a). Agen yang diturunkan dari aktor Decision

(b). Agen yang diturunkan dari aktor kontributor


(30)

Agen transducer adalah sebuah agen yang berlaku sebagai interface antara agen dengan aplikasi/sistem software. Dalam cara ini, agen transducer menerima pesan dari agen-agen dalam sistem dan menerjemahkan pesan tersebut dan meneruskannya ke aplikasi/sistem lain. Komunikasi juga dapat dilakukan melalui arah sebaliknya. Format komunikasi yang dilakukan agen transducer dapat mengikuti teknik leksikal (Guha, 2002).

b. Penyisipan wrapper

Dalam teknik ini kode disisipkan ke dalam sistem / aplikasi lain. Kode ini kemudian dapat berkomunikasi dalam bahasa agen.

c. Penulisan kode kembali

Teknik ini merupakan teknik paling ekstrim yang melibatkan penulisan kembali untuk menyerupai operasi dan kemampuan sumberdaya dengan kemampuan untuk berkomunikasi melalui bahasa komunikasi agen.

Ketiga cara tersebut dapat dideskripsikan pada Gambar 10.

3. Identifikasi responsibility

Dalam tahapan ini, responsibility tiap agen didefinisikan dalam bentuk yang informal dan mudah dicerna. Pada metode Raodmap dan Gaia (Wooldridge, 2000) responsibilities dikenal juga dengan istilah role. Berbeda pada metodologi sebelumnya, metodologi berplatform JADE melakukan identifikasi role sebelum identifikasi agen. Hal ini mempermudah proses identifikasi dikarenakan apabila agen ditentukan berdasarkan agregasi role yang berkaitan, hal ini dipandang tidak intuitif. Dalam beberapa kasus, sulit untuk menentukan bagaimana role dapat membentuk agen dan bagaimana penentuan agen yang tercakup dalam role yang telah ditentukan. Dengan mengidentifikasikan agen kemudian diturunkan responsibilities atau role-nya, maka ambiguitas yang terjadi dapat direduksi.


(31)

Terdapat aturan yang harus diterapkan dalam pembentukan tabel responsibility. Aturan tersebut adalah :

- Menurunkan responsibility tiap agen dari use case yang diidentifikasi pada tahap 1.

- Mengutamakan identifikasi pada agen-agen yang mempunyai responsibility lebih jelas dan menunda identifikasi responsibility untuk agen lain pada langkah berikutnya.

Berdasarkan diagram agen pada Gambar 9, maka dapat dihasilkan tabel responsibility sebagai berikut :

Tabel 1 Tabel responsibility untuk kasus SPK multiagen investasi biodisel

Tipe agen Responsibility

Decision Maker(DM)

Mengatur skenario untuk kelayakan produksi Mengatur skenario untu kelayakan sumberdaya dan pasar

Mengatur skenario untuk kelayakan finansial Mengatur skenario untuk kelayakan lingkungan Merespon request antar DM

Dalam Tabel 1 terlihat bahwa identifikasi responsibility dilakukan pada agen DM. Hal ini mengikuti aturan pertama dikarenakan responsibility yang diperoleh lebih jelas sedangkan untuk agen berikutnya ditentukan kemudian.

Gambar 10 Teknik interaksi antara agen dengan entitias lain (Nikraz,2006)


(32)

4. Identifikasi acquaitance

Dalam tahap ini, fokus kegiatan yang dilakukan adalah penentuan interaksi antar agen. Diagram agen diperbaiki dengan menambahkan relasi acquaitance yang sesuai untuk menghubungkan agen apabila dibutuhkan satu atau lebih interaksi antar agen tersebut. Gaia (Wooldridge, 2000) mempelopori istilah acquaitance, dan digunakan juga dalam Roadmap (Juan, 2002) dan (Nikraz) 2006.

Dalam kasus SPK investasi, relasi acquaintance dibutuhkan antar agen DM yaitu user produksi, user ketersediaan sumberdaya, user pasar, user finansial dan user lingkungan. Data yang didistribusikan antar user agen DM disimpan dan diambil serta dimanipulasi melalui kontributor, yaitu aplikasi penyedia data dan model. Oleh karena itu terdapat relasi acquaintance antar agen DM dan agen data dan model.

Berdasarkan analisis tersebut, maka dalam tahap 3 yaitu pengidentifikasian responsibility dapat diulangi kembali untuk mendapatkan tabel responsibility yang lebih lengkap (Tabel 2) sesuai dengan acquaitance yang telah diidentifikasikan sebelumnya.

Dengan adanya acquaitance yang diidentifikasikan dalam tahap 4, maka diagram agen yang telah diperoleh diubah untuk kemudian diperoleh gambar relasi antar agen yang lebih jelas. Gambar 11 menunjukkan diagram agen yang telah diperbaiki.

Tabel 2 Tabel responsibility setelah relasi acquaitance diidentifikasi

Tipe Agen Responsibilities

Decision Maker 1. Mengatur skenario untuk kelayakan produksi

2. Mengatur skenario untu kelayakan sumberdaya dan pasar 3. Mengatur skenario untuk kelayakan finansial

4. Mengatur skenario untuk kelayakan lingkungan 5. Merespon request antar DM

6. Mengirimkan data ke user produksi (DM bidang produksi) 7. Mengirimkan data ke user ketersediaan sumberdaya (DM

bidang ketersediaan sumberdaya)

8. Mengirimkan data ke user finansial (DM bidang finansial) 9. Mengambil data dari agen penyedia data dan model


(33)

10. Mengambil penjelasan dan advice dari agen manajemen

Tipe Agen Responsibilities

Penyedia data dan model

1. Merespon permintaan dari agen decision maker untuk hasil tiap sub model

2. Mengirimkan permintaan data dan model untuk agen DM

Dalam metodologi Gaia atau Roadmap role / responsibility yang didefinisikan merupakan suatu hal yang konseptual dengan penggambaran konsep yang abstrak. Dalam sistem berplatform JADE responsibility menjadi suatu hal yang lebih kongkret dengan pendefinisian yang lebih detil mengikuti metodologi Gaia. Berdasarkan metodologi Roadmap, maka terdapat beberapa atribut untuk role/responsibility, yaitu :

1. Fungsionalitas, yang terdiri atas dua properti, yaitu liveness dan safety 2. Permission

3. Activity 4. Protokol

Berdasarkan karakteristik tersebut maka dapat dijabarkan model responsibility untuk SPK investasi multiagen. Salah satu model role untuk pengaturan skenario adalah sebagai berikut:

Gambar 11 Agen diagram setelah tahap 4

 

Agen  Decision 

Maker

Decision Maker 

Agen  Data dan 

Model Aplikasi 

penyedia  data dan sub 


(34)

Secara lengkap, model responsibility disajikan dalam Lampiran 2

5. Perbaikan agen

Pada tahap 2, agen yang diidentifikasi adalah tipe agen awal. Dalam metodologi pengembangan sistem berbasis agen, kegiatan iterasi khususnya untuk pembaruan yang telah diperoleh dalam suatu tahapan merupakan hal yang penting untuk menghasilkan sebuah sistem yang handal. Perbaikan agen akan mempengaruhi responsibility dan relasi acquaintance. Untuk perbaikan agen, terdapat beberapa pertimbangan yang dapat diterapkan. Pertimbangan tersebut adalah :

1. Dukungan : mendefinisikan informasi dukungan yang dibutuhkan agen untuk melakukan responsibilitynya dan menspesifikasikan bagaimana, kapan dan dimana informasi tersebut dihasilkan atau disimpan.

2. Discovery : bagaimana agen-agen dihubungkan dengan sebuah relasi acquaitance. Relasi ini diperlukan agar agen dapat saling mencari atau melakukan uploading service yang disediakan oleh agen tertentu.

3. Manajemen dan monitoring : sistem yang dibutuhkan untuk memantau keberadaan agen atau mulai dan berhentinya agen.

Dalam SPK investasi, pertimbangan yang memungkinkan untuk proses perbaikan agen adalah discovery. Pertimbangan ini dapat menggunakan fasilitator direktori (Directory facilitator) yang terdapat dalam JADE. Melalui fasilitas ini agen dapat melakukan register service (layanan) yang dimiliki atau agen juga dapat mencari layanan yang disediakan oleh agen tertentu. Dalam kasus SPK investasi multiagen, setiap agen yang juga mewakili user DM dapat melakukan identifikasi user DM yang lain untuk kemudian melakukan registrasi hasil

Responsibility : Pengaturan skenario

Deskripsi : Melakukan pengaturan skenario untuk salah satu aspek kelayakan dengan mendapatkan acquaintance dari agen lain.

Protokol dan aktivitas :

Tampilkan list parameter.Input parameter. Permission : baca, update

Fungsionalitas :

Liveness : pengaturan skenario = (tampilkan list parameter.input parameter)ω Safety : true


(35)

inferensi. Agen lain seperti penyedia data dan model dapat melakukan registrasi atau up-loading, layanan penyediaan data dan model. User agen DM juga dapat melakukan pencarian terhadap layanan-layanan yang disediakan agen lain. Berdasarkan hal ini, agen yang telah diidentifikasi pada tahap 2 dapat diperbaiki dengan penambahan dua agen baru, yaitu agen fasilitator direktori dan agen manajemen yang melakukan proses inferensi dan penjelasan. Agen penjelasan ini diperlukan dalam SPK sebagai dukungan DM dalam pengambilan keputusan (Ossowski, 2004). Informasi yang disediakan agen manajemen dapat diakses oleh semua user agen DM. Berdasarkan identifikasi lanjutan inilah maka dapat dihasilkan diagram agen baru seperti yang disajikan pada Gambar 12.

Berdasarkan diagram agen pada Gambar 12, maka dapat diperoleh tabel responsibility baru hasil revisi diagram agen. Tabel 3 menunjukkan tabel responsibilities untuk penambahan dua agen.

 

Agen 

Decision  Maker

Decision Maker

 

Agen  Data dan 

Model Aplikasi 

penyedia  data dan sub 

model 

Gambar 12 Diagram agen yang telah diperbaiki

Agen FD

Agen Manaje


(36)

Tabel 3 Tabel resposibility hasil perbaikan agen Tipe Agen Responsibilities

Decision Maker 1. Mengatur skenario untuk kelayakan produksi

2. Mengatur skenario untu kelayakan sumberdaya dan pasar

3. Mengatur skenario untuk kelayakan finansial

4. Mengatur skenario untuk kelayakan lingkungan

5. Merespon request antar DM

6. Mengirimkan data ke user produksi (DM bidang

produksi)

7. Mengirimkan data ke user ketersediaan sumberdaya (DM

bidang ketersediaan sumberdaya)

8. Mengirimkan data ke user finansial (DM bidang

finansial)

9. Mengambil data dari agen penyedia data dan model

10. Mengambil penjelasan dan advice dari agen manajemen

11. Mendapatkan agen penyedia data dan model serta agen

manajemen dari fasilitator direktori. Penyedia data

dan model

1. Merespon permintaan dari agen decision maker untuk

hasil tiap sub model

2. Mengirimkan permintaan data dan model untuk agen DM

3. Melakukan registrasi pada fasilitator direktori

Manajemen 1. Merespon permintaan dari agen decision maker untuk

hasil tiap sub model

2. Mengambil data dan model dari agen penyedia data dan

model

3. Mengirimkan permintaan hasil inferensi untuk agen DM

4. Melakukan registrasi hasil inferensi pada fasilitator

direktori

6. Agen Deployment Information

Tujuan utama pembuatan diagram ini adalah untuk mendefinisikan kebutuhan dasar deployment yang kemudian akan dirujuk dalam proses desain. Selain itu, pembentukan agen deployment dimaksudkan untuk membuat komunikasi antar komponen menjadi lebih efektif.

Berdasarkan domain SPK investasi yang telah didefinisikan, maka dapat dihasilkan diagram agen deployment yang disajikan pada Gambar 13 Gambar 13(a) memperlihatkan bahwa agen DM berada dalam sistem pengakses. Hal ini berarti setiap data yang dikirimkan ke dan dari user agen DM dapat diakses dari tiap-tiap posisi user berada. Komunikasi dapat melalui device tertentu. Gambar 13(b) menunjukkan bahwa setiap data dan model dan inferensi rule berada di


(37)

server. Nilai data dan model serta hasil manipulasinya akan dikirimkan ke agen DM

4.3 Desain

Klarifikasi permasalahan telah dilakukan dalam tahapan analisis. Dalam tahapan analisis ini tidak ditentukan spesifikasi solusi. Spesifikasi solusi dilakukan dalam tahapan desain. Dalam prosesnya, dimungkinkan untuk kembali ke tahapan analisis setelah berada dalam tahapan desain.

Dalam tahapan desain, fokus langsung ditujukan menjadi sistem berplatform JADE. Penentuan platform yang akan dibangun perlu ditetapkan pada tahapan desain dikarenakan tahapan analisis yang telah dilakukan dapat saja tidak sesuai apabila diterapkan ke dalam platform pembangunan sistem multiagen.

Dalam pengembangan model SPK multiagen, tahapan desain akan memfokuskan pada abstraksi untuk aspek kelayakan sumberdaya dan kelayakan pasar. Tahapan desain terdiri atas tahapan sebagai berikut :

1. Pemisahan / penggabungan/penamaan agen

Tahapan pertama dalam desain sistem multiagen adalah pemisahan/penggabungan agen. Pemisahan/penggabungan agen dilakukan dengan melakukan evaluasi kembali diagram agen yang telah dihasilkan pada analisis sistem. Tahapan ini merupakan salah satu tahapan yang penting karena dapat meningkatkan seluruh kinerja dan efisiensi sistem. Beberapa aturan diterapkan untuk melakukan tahapan ini (Nikraz, 2006).

Dalam SPK investasi multiagen, terdapat aturan yang berlaku sebagai berikut :

a. Tidak adanya duplikasi data

(a) (b)

Gambar 13 Diagram Agen Deployment Pengaksesan User DM Provider Server

Agen Decision

Maker

Agen Manajemen

Agen Penyedia data

dan model Agen

fasilitator direktori


(38)

Duplikasi data berarti adanya dua atau lebih agen yang berbagi sebagian besar informasi untuk melakukan tugasnya. Dalam SPK investasi hanya terdapat 1 (satu) agen yang menggunakan informasi dari agen penyedia data dan model.

b. Tidak ada agen yang berbagi resources yang sama. Dalam SPK investasi terdapat 1(satu) agen yang mengakses resources, yaitu agen penyedia data dan model.

c. Tiap agen disituasikan dalam mesin tunggal. Dalam SPK investasi multiagen tiap agennya berada dalam mesin tunggal.

Berdasarkan aturan yang telah terpenuhi maka diagram agen yang telah dibentuk pada tahapan analisis tidak ada penambahan/penggabungan ataupun perubahan nama. Hal ini juga dikarenakan jumlah agen yang ada relatif sedikit.

2. Spesifikasi interaksi

Dalam tahapan ini, semua responsibility dalam tiap agen yang dihubungkan dengan sebuah relasi acquaintance dengan agen lain dievaluasi untuk menghasilkan tabel interaksi. Tiap baris dalam tabel akan merepresentasikan interaksi dan akan termasuk di dalamnya:

a. Nama deskriptif sebuah interaksi

b. Responsibility yang memulai interaksi. Komponen ini dapat digunakan untuk memeriksa konsistensi antar analisis dan desain

c. Protokol interaksi (Interaction Protocol /IP) yang sesuai untuk interaksi tersebut. Spesifikasi IP dapat dilihat dalam spesifikasi protokol interaksi FIPA (www.fipa.org).

d. Role yang diperankan oleh agen dalam IP. Role dapat disimbolkan sebagai I untuk inisiator, atau R untuk responder. Role lain memungkinkan untuk ditambahkan bila diperlukan.

e. Tipe dan nama agen

f. Kondisi pemicu, misalnya kapan interaksi ini terjadi.

Dalam kasus SPK investasi, maka dapat ditentukan tabel interaksi untuk tiap agen (Tabel 4).


(39)

Tabel 4 Tabel interaksi agen decision maker

Interaksi Resp. IP Role Agen Kondisi

Melakukan

permintaan terhadap data atau model atau penjelasan

6-8 FIPA Propose I Agen decision maker

Salah satu user mengirimkan data yang diperlukan user lain Merespon request

antar user DM

5 FIPA Propose R Agen decision maker

Request data atau hasil komputasi direspon Mengambil data

model

9 FIPA Request R Agen penyedia data dan

model

Setiap query diterima dan database ditelusuri Mengambil

penjelasan dari mesin inferensi

10 FIPA Request R Agen manajemen

Penelusuran skenario untuk diberikan inferensi rule.

Mendapatkan service pada agen penyedia data dan model

11 FIPA Request I Agen fasilitator direktori

Agen DM mulai melakukan pengaturan skenario

Berdasarkan tabel tersebut, maka dapat dijelaskan hal-hal sebagai berikut : Pada agen DM dan berdasarkan Gambar 12, terdapat interaksi untuk 4 agen, yaitu, interaksi antar user dalam agen DM, interaksi antara agen DM dan agen penyedia data model dan interaksi antara agen DM, agen manajemen serta agen fasilitator direktori. Dalam model role/responsibility, interaksi ini merupakan salah satu atribut dalam responsibilities, yaitu protokol.

Interaksi tersebut dijabarkan dalam kolom interaksi dalam Tabel 4. Kolom IP (Interaction Protocol) menyatakan protokol yang digunakan dalam interaksi tersebut. FIPA mengeluarkan standardisasi protokol IP. Pada setiap interaksi ditentukan protokol yang sesuai, apabila protokol tidak terdapat dalam standardisasi FIPA, maka dapat digunakan protokol ad-hoc yang mengikuti notasi dalam Agent Unified Modelling Language (AUML).

Gambar 14 dan Gambar 15 mendeskripsikan protokol interaksi yang digambarkan dalam notasi AUML.

Dalam Gambar 14 terlihat terjadi dua interaksi antar inisiator dan partisipan. Dalam kasus SPK multiagen, interaksi terjadi antar user dalam agen DM. Salah satu user DM yaitu bidang sumberdaya berlaku sebagai inisiator dan user DM lain yaitu bidang pasar berlaku sebagai partisipan.


(40)

Inisiator mengirim sebuah pesan kepada partisipan dan partisipan akan melakukan aksi tertentu bila setuju. Pesan yang dikirimkan adalah parameter kebutuhan CPO sebagai bahan baku. Parameter ini dibutuhkan oleh partisipan untuk menentukan jumlah CPO nasional yang diperlukan untuk memenuhi pasar biodisel. Komunikasi yang dilakukan oleh inisiator dan partisipan menggunakan communicative act dalam FIPA yaitu accept-proposal atau reject-proposal. Accept proposal diartikan sebagai aksi yang diminta oleh inisitor disetujui oleh partisipan. Persetujuan dapat dikeluarkan berdasarkan status partisipan dan data. User DM yaitu bidang sumberdaya dapat mengirimkan request untuk permintaan hasil komputasi pada user DM bidang pasar. User DM bidang pasar akan merespon permintaan user DM bidang sumberdaya. Secara umum, iteraksi antar user agen DM dilakukan ketika dibutuhkannya parameter yang terdapat di salah satu user agen tersebut..

Interaksi dalam agen DM juga terjadi antara agen DM dan agen penyedia data dan model. Interaksi menggunakan protokol IP FIPA Request. Pada protokol

Gambar 14 Protokol FIPA Propose FIPA Propose

Interaksi Agen DM – Agen Penyedia data dan Model


(41)

ini sebuah agen dimungkinkan untuk melakukan permintaan ke agen lain untuk melakukan sesuatu. Partisipan akan memproses permintaan dan membuat keputusan. Apabila keputusan yang dibuat adalah menolak, maka variabel “menolak” menjadi benar dan partisipan mengomunikasikan coomunicative act “menolak”. Hal yang sama juga dilakukan apabila keputusan partisipan adalah setuju. Gambar 15 menunjukkan interaksi dalam notasi AUML. Tabel interaksi juga dispesifikasikan untuk agen penyedia data dan model dan agen manajemen seperti yang terlihat dalam Tabel 5 dan Tabel 6.

Tabel 5 Interaksi dalam agen penyedia data dan model

Interaksi Resp. IP Role Agen Kondisi

Merespon permintaan dari agen DM

1 FIPA Request R Agen decision maker

Agen penyedia data menerima

permintaan dari user agen DM

Mengirimkan data permintaan user agen DM

2 FIPA Request I Agen decision maker

Permintaan data atau model dikirimkan ke user agen DM Melakukan

registrasi pada fasilitator direktori

3 FIPA-Contract Net

I Agen Fasilitator direktori

Layanan berupa penyediaan data dan model didaftarkan ke agen direktori fasilitator Gambar 15 Protokol FIPA Request

FIPA Request


(42)

Tabel 6 Tabel interaksi dalam agen manajemen

Interaksi Resp. IP Role Agen Kondisi

Merespon permintaan dari agen DM

1 FIPA Request R Agen decision maker

Agen manajemen menerima permintaan dari user agen DM Mengambil data

dan model

2 FIPA Request I Agen decision maker

Permintaan penjelasan hasil inferensi

dikirimkan ke user agen DM Melakukan

registrasi pada fasilitator direktori

3 FIPA Contract-Net

I Agen fasilitator direktori

Permintaan data atau model untuk diolah dalam proses inferensi

Pada Tabel 5 dan 6 protokol interaksi yang digunakan untuk relasi acquaintance adalah FIPA Request dan FIPA Contract-Net. Pada protokol FIPA Request, interaksi terjadi antara agen penyedia data dan model sebagai inisiator dan agen DM sebagai partisipan (Gambar 15). Komunikasi antara inisiator dan partisipan dilakukan dalam hal pengambilan salah satu parameter penentu nilai sumberdaya atau pasar dalam sistem aplikasi. Permintaan parameter / data oleh inisiator akan ditanggapi oleh partisipan melalui persetujuan. Setelah persetujuan dikirimkan, partisipan akan meneruskan dengan pengiriman data. Terdapat 3 kemungkinan kondisi yang terjadi, yaitu pengiriman gagal dilakukan, notifikasi berhasil, akan tetapi data belum dikirimkan dan data diterima oleh inisiator. Simbol diamond ( ) merupakan notasi AUML sebagai operator yang menunjukkan alternatif kondisi yang terjadi.

Protokol interaksi FIPA Contract-Net digunakan oleh Agen Fasilitator Direktori yang berelasi acquaintance dengan Agen DM. Diagram sequence untuk protokol ini disajikan pada Gambar 16. Seperti yang dikemukakan oleh Nikraz (2006) komunikasi yang dilakukan oleh agen ke agen fasilitator direktori untuk registrasi maupun pencarian layanan dilakukan dengan protokol interaksi yaitu FIPA Contract-Net. Dalam protokol ini kedua agen melakukan negoisasi untuk melakukan aksi tertentu. Dalam Gambar 15 dapat dijelaskan bahwa salah satu user agen DM mengajukan permintaan untuk registrasi ataupun pencarian layanan-layanan yang terdaftar dalam agen FD. Agen FD akan merespon dengan mengirimkan notifikasi penolakan atau persetujuan. Persetujuan akan registrasi


(43)

dan pencarian layanan berisi layanan-layanan alterntif yang ditemukan berdasarkan pencarian oleh agen DM. Layanan yang disediakan agen FD dapat juga ditolak atau diterima oleh agen DM. Persetujuan agen DM akan membuat agen FD melakukan 3 (tiga) hal yaitu, gagal dilakukannya registrasi ataupun pencarian, notifikasi aksi bisa dilakukan dan proses registrasi dan layanan dilakukan.

3. Definisi protokol ad-hoc

Semua interaksi protokol yang didefinisikan untuk melingkupi interaksi antar agen telah terakomodasi dalam FIPA protokol, untuk itu dalam kasus SPK investasi multiagen tidak diperlukan lagi definisi protokol ad-hoc. Oleh karena itu proses desain sistem dapat dilanjutkan ke tahapan berikutnya.

4. Mendefinisikan Message Template

Tahapan selanjutnya dalam pengembangan sistem adalah mengimplementasikan semua role interaksi yang telah didefinisikan ke dalam behaviour JADE. Dalam tahapan ini, objek MessageTemplate yang sesuai dispesifikasikan untuk digunakan dalam behaviour untuk menerima message. Dalam tahapan ini, terjadi proses updating tabel interaksi.

Kolom terakhir pada tiap baris dalam tabel interaksi ditambahkan template yang sesuai. Terdapat aturan untuk melakukan proses updating. Aturan tersebut adalah sebagai berikut :

a. Inisiator diimplementasikan dengan menggunakan MessageTemplate berdasarkan conversationID dalam kelas behaviour .

Conversation ID adalah pengenal dalam inisiator untuk menyatakan role agen yang bersangkutan dalam interaksinya dengan agen lain.

b. Responder atau partisipan diimplementasikan dengan MessageTemplate berdasarkan performatif dan ontologi dalam kelas always-active behaviour. Dalam komunikasi antar agen, format yang digunakan adalah berdasarkan agent communication language (ACL). ACL menspesifikasi hal-hal seperti : performative yang berisi tipe dan arti tiap-tiap pesan, agen


(44)

pengirim dan penerima, protokol, ontologi dan reply-with (Kawamura, 1999).

Berdasarkan aturan tersebut, maka message template yang ditentukan untuk tiap role dapat disajikan pada Tabel 7,8 dan 9

Tabel 7,8 dan 9 dapat diinterpretasikan sebagai berikut :

- Interaksi yang dilakukan oleh user agen DM memiliki template conv-id berdasarkan role sebagai inisiator. ID yang dihasilkan adalah ID yang unik sehingga tidak terjadi konflik dengan agen lain.

FIPA Contract –Net

Interaksi Agen DM dan Agen Manajemen dan Agen Penyedia data dan Model

Gambar 16 Diagram Sequence untuk protokol FIPA Contract Net


(45)

- Interaksi yang dilakukan oleh agen dengan role responder atau partisipan dilakukan dengan merespon berdasarkan performatif dari ACL message yang dikirimkan kembali. Dalam SPK investasi biodisel multiagen interaksi antara agen DM dan agen penyedia data dan model dilakukan dengan merespon permintaan agen DM sesuai dengan performatif request. Oleh karena itu template yang digunakan adalah Perf=request.

Template yang ditampilkan pada Tabel 7 merupakan template umum yang diambil dari template secara lengkap yang terdapat pada paket jade.lang.acl (JADE versi 3.6 API) untuk kelas MessageTemplate. Berdasarkan implementasi behaviour dan MessageTemplate, secara umum dapat dihasilkan pola template dinamik seperti yang terlihat pada Gambar 17 (Nikraz, 2006).

Tabel 7 Message template untuk agen DM

Interaksi Resp. IP Role Agen Kondisi Template

Merespon request antar user DM

5 FIPA Propose

R Agen decision maker

Request data atau hasil komputasi direspon Perf=pro pose Melakukan permintaan terhadap data atau model atau penjelasan 6-8 FIPA Propose I Agen decision maker

Salah satu user mengirimkan data yang diperlukan user lain Conv-Id Mengambil data model 9 FIPA request I Agen penyedia data dan model

Setiap query diterima dan database di telusuri

Conv-Id

Interaksi Resp. IP Role Agen Kondisi Template

Mengambil penjelasan dari mesin inferensi 10 FIPA Request I Agen manajemen Penelusuran skenario untuk diberikan inferensi rule. Conv-Id Mendapatkan service pada agen penyedia data dan model

11 FIPA Request

I Agen fasilitator direktori

Agen DM mulai melakukan

pengaturan skenario

Conv-Id

Tabel 8 Message template untuk agen penyedia data dan model

Interaksi Resp. IP Role Agen Kondisi Template

Merespon permintaan dari agen DM 1 FIPA Request R Agen decision maker

Agen penyedia data menerima

permintaan dari user agen DM


(46)

Interaksi Resp. IP Role Agen Kondisi Template Mengirimkan

data permintaan user agen DM

2 FIPA Request I Agen decision maker Permintaan data atau model dikirimkan ke user agen DM Conv-Id Melakukan register pada fasilitator direktori 3 FIPA-Contract Net I Agen fasilitator direktori

Service berupa penyediaan data dan model didaftarkan ke agen fasilitator direktori

Conv-Id

Tabel 9 Message template untuk agen manajemen

Interaksi Resp. IP Role Agen Kondisi Template

Merespon permintaan dari agen DM 1 FIPA Request R Agen decision maker Agen manajemen menerima

permintaan dari user agen DM Perf=request Mengambil data dan model 2 FIPA Request I Agen decision maker Permintaan penjelasan hasil inferensi dikirimkan ke user agen DM

Conv-Id

Melakukan registrasi pada fasilitator direktori 3 FIPA Request I Agen penyedia data dan model

Permintaan data atau model untuk diolah dalam proses inferensi

Conv-d

Pola template dinamik dihasilkan berdasarkan objek jade.lang.acl.ConversationList dalam agen. Semua behaviour inisiator melakukan registrasi pada objek ConversatioList melalui metode onStart() dan deregister melalui metode onEnd(). Oleh karena itu, objek conversationlist dapat mendata semua interaksi yang dimulai oleh agen sebagai inisiator dan mampu menyediakan messagetemplate yang sesuai bagi pesan-pesan yang bukan dimiliki oleh interaksi ini. Behaviour responder atau partisipan dengan template yang konflik kemudian dapat menggunakan template yang disediakan oleh ConversationList untuk mencegah konflik dengan semua inisiator.

5. Membentuk Diagram Kelas

Dalam sistem berbasis agen, agen dapat mencari atau mendaftarkan service ke dalam katalog yellow page (Caire, 2004). Katalog ini diatur di dalam fasilitas direktori JADE. Untuk penggambaran service –service yang dapat didaftarkan dan dicari agen dapat dilakukan melalui diagram kelas pada Gambar 18. Notasi diagram kelas mengikuti notasi yang dikemukakan oleh Nikraz (2006).


(47)

Melalui diagram kelas dapat dijelaskan bahwa dalam tiap agen dihasilkan service yang menjadi kelas dengan beberapa atribut seperti tipe, ontologi, protokol. Tipe adalah jenis informasi yang dicari atau disediakan oleh agen. Ontologi merupakan deskripsi formal yang menggambarkan data dan informasi. Spesifikasi detil ontologi untuk SPK investasi multiagen akan ditentukan dalam tahapan berikutnya.

6. Mendefinisikan Interaksi antara Agen dan Resources

Dalam sebuah sistem, kerapkali terdapat interaksi antara satu agen atau lebih dengan sumberdaya eksternal, misalnya database, file, ataupun software aplikasi lain. Dalam beberapa kasus, interaksi membutuhkan hardware untuk pengontrolan. Dalam kasus SPK investasi multiagen, seperti yang telah dihasilkan dalam diagram agen, maka terdapat interaksi antara agen dan sumberdaya eksternal lain, yaitu file dan software aplikasi lain. Sumberdaya juga dapat dibagi menjadi dua kategori, yaitu sumberdaya aktif dan sumberdaya pasif. Sumberdaya aktif adalah sumberdaya yang dapat mengubah statusnya sendiri dan tidak tergantung pada agen yang mengontrolnya.


(48)

Dalam sumberdaya aktif, terdapat beberapa kemungkinan interface (antarmuka) untuk pengontrolan perubahan yang terjadi pada sumberdaya, di antaranya :

- Penggunaan antarmuka yang disebut listener-based interface, yaitu antarmuka yang digunakan untuk mengontrol agen sehingga dapat dengan cepat mendeteksi perubahan dalam sumberdaya,

- Penggunaan antarmuka yang menggunakan metode blocking sampai perubahan dideteksi.

- Melakukan polling periodik terhadap sumberdaya untuk mendeteksi perubahan yang terjadi.

Untuk kepentingan implementasi, maka digunakan satu pendekatan untuk menyamakan ketiga kemungkinan pengontrolan perubahan agen seperti yang dijelaskan sebelumnya. Aturan yang perlu diterapkan untuk melakukan pendekatan tersebut adalah sebagai berikut :

Gambar 18 Diagram kelas service yang disediakan agen -Tipe = : <unspecified> = Model kelayakan sumberdaya -Ontologi = : <unspecified> = Model kelayakan -Protokol = : <unspecified> = FIPA-request

Mencari model ketersediaan sumberdaya

Agen DM

Menyediakan -Tipe = : <unspecified> = Model kelayakan sumberdaya APDM_SD:Menyediakan model ketersediaan sumberdaya Agen Penyedia

data dan Model

Mencari

Agen DM Mencari -Tipe = : <unspecified> = Parameter penentu-Ontologi = : <unspecified> = Parameter -Protokol = : <unspecified> = FIPA-request

Mencari parameter yang mempengaruhi ketersediaan sumberdaya

Menyediakan -Tipe = : <unspecified> = Parameter penentu Menyediakan parameter penentu ketersediaan

sumberdaya Agen


(49)

- Jika tidak terdapat listener-based interface, maka dapat digunakan Java thread atau thread yang dapat mendeteksi perubahan dalam resources dan dapat berlaku sebagai listener notifer. Listener notifier bertindak sebagai pendeteksi untuk memberikan notifikasi bila ada perubahan. - Menyediakan notifier dengan listener sehingga tiap panggilan dari

notifier menghasilkan penambahan behaviour yang sesuai ke agen berdasarkan behaviour listener.

- Menggunakan objek jade.util.Event dan metode waituntilProcessed( ) dan notifyProcessed() untuk sinkronisasi listener dan behaviournya ketika hasil harus dilewatkan kembali ke notifier sebagai hasil balikan metode interface listener.

Dalam SPK investasi multiagen, aksi yang dapat dilakukan secara paralel terkait dengan interaksi yang terjadi antara agen dan resources yaitu agen DM dan agen penyedia data dan model. File dan software aplikasi sebagai agen penyedia data dan model adalah sumberdaya aktif yang dapat mengubah statusnya sendiri. Proses paralel yang dimungkinkan terjadi dalam interaksi kedua elemen ini adalah pada saat agen DM membutuhkan data yang terkait dengan kelayakan sumberdaya dengan parameter inputan berupa produktivitas tiap perkebunan. Dalam hal ini sumberdaya (agen penyedia data dan model) secara konkuren menerima inputan untuk memodifikasi data dan model dalam aplikasinya. Dalam interaksi seperti ini, sinkronisasi dilakukan dengan menerapkan metode waituuntilProcessed( ) dan notifyProcessed(). Metode waituntilProcessed() akan dilakukan oleh agen penyedia data dan model bagi setiap agen yang akan melakukan pengaksesan informasi di dalamnya. Metode ini menerapkan blocking sampai metode notifyProcessed() dipanggil oleh agen penyedia data dan model. Kedua metode ini terdapat di dalam kelas jade.util.Event.

7. Mendefinisikan interaksi antara user dan agen

Interaksi antara user dan agen kerap kali dilakukan dalam SPK multiagen. Interaksi dilakukan melalui Graphical User Interface (GUI). Terdapat dua macam GUI, yaitu GUI local dan GUI untuk web. Untuk SPK multiagen investasi, GUI


(50)

yang digunakan dalah tipe lokal GUI dan dapat diimplementasikan dengan Swing ataupun Abstract Windowing Toolkit (awt).

Dalam lokal GUI beberapa aspek yang perlu diperhatikan adalah agen dan GUI bekerja pada data yang sama tetapi dengan harus dapat mengorganisasikan data ini dalam cara yang berbeda. Hal ini dapat menyebabkan duplikasi data dan berujung pada inkonsistensi data. Untuk mengatasi hal ini, maka dalam implementasi GUI dengan Swing dapat digunakan Model-View-Controller (Sun Microsystem, 2002).

Dalam SPK investasi multiagen, interaksi antara user dan agen dilakukan dengan menentukan elemen inputan bagi user agen DM untuk dikirim ke aplikasi penyedia data dan model. Selain hasil kelayakan sebagai output, user juga dapat memperoleh hasil inferensi rule apabila terdapat keterkaitan antar parameter untuk kemudian menjadi elemen penjelasan atau penalaran. Beberapa parameter yang dapat diinputkan untuk menjadi parameter penentu kelayakan dari aspek ketersediaan sumberdaya dan pasar adalah (Lampiran 1):

- Produktivitas 3 perkebunan, - Persentase CPO yang diekspor

- Kebutuhan perkapita dalam pemakaian CPO untuk minyak goreng - Persentase CPO dipakai untuk minyak goreng,

- Persentase kenaikan CPO untuk bahan Oleokimia. - Persentase biodisel menggantikan solar.

- Konsumsi solar

Dalam hal ini, user akan menerima daftar parameter yang ditampilkan untuk dapat diinputkan oleh user. Daftar parameter ini akan diolah oleh aplikasi penyedia data dan model untuk diperoleh hasil kelayakannya. Peran agen manajemen akan terlihat ketika user melakukan proses penalaran dari keputusan yang diambil oleh aplikasi penyedia data dan model.

8. Merancang behaviour internal agen

Dalam sistem yang dikembangkan dengan pendekatan agen, pekerjaan sesungguhnya dalam agen didefinisikan dalam behaviour agen. Dalam tahapan


(1)

Berdasarkan arsitektur yang telah didefinisikan maka dapat dijabarkan bahwa ke semua agen yang telah didefinisikan dalam dua tahapan utama menempati posisi sesuai dengan tingkat interaksi yang dilakukan. Agen penyedia data dan model berinteraksi dengan aplikasi pendukung yang memberikan data untuk sub model pembentuk SPK. Agen DM berfungsi melakukan komunikasi dengan DM sebagai end user dalam memberikan masukan dan mendapatkan hasil berupa penjelasan hasil inferensi yang diberikan oleh agen manajemen maupun agen penyedia data dan model. Sebagai pengatur tiap layanan yang diberikan agen diserahkan kepada agen fasilitator direktori,

Dalam tahapan deployment pengaplikasian arsitektur yang telah didefinisikan dalam platform JADE dapat diawali dengan tahapan berikut ini :

1. Membuat agen

Tipe agen dapat dibuat dengan memperluas kelas jade.core.Agent dan mendefinisikan kembali metode setup(). Tiap instance agen diidentifikasikan oleh sebuah Agent Identifier (AID) yang terdapat dalam kelas jade.coreAID. Dalam AID terdapat nama yang unik dan alamat agen. Sebuah agen dapat mengambil AID yang dimilikinya melalui metode kelas agen getAID().

Potongan kode di bawah ini menunjukkan pengambilan agen melalui AID dan nama agen yang telah didefinisikan dalam jade.core.Agent.

Pendefinisian nama agen dengan AID dapat dilakukan dengan format sebagai berikut :

– AID id = new AID(localname, AID.ISLOCALNAME); – AID id = new AID(name, AID.ISGUID)

Sesuai dengan siklus hidupnya, agen mencapai status berakhir, maka pendefinisian status berakhir (terminate) dapat dibuat dalam kode program sebagai berikut :

import jade.core.Agent;

public class AgenDM extends Agent { protected void setup() {

System.out.println(“AgenDM: “ + getAID(). getName());

} }


(2)

2. Mendefinisikan tugas agen

Terdapat kelas dalam JADE yang mendefinisikan kelas behaviour internal. Untuk pendefinisian kelas OneShotbehaviour() dan CyclicBehaviour() dapat dikodekan sebagai berikut :

Behaviour dalam agen dapat didefinisikan melalui kelas jade.core.behaviours.Behaviour. Untuk membuat sebuah agen dapat mengeksekusi tugas tertentu, maka perlu dibuat instance yang berkaitan dengan sub kelas behaviour tersebut dan memanggil metode addBehaviour() pada kelas Agen. Tiap sub kelas harus dapat mengimplementasikan

- Public void action() - Public boolean done()

3. Menentukan komunikasi agen

protected void takeDown() { System.out.println(“The agent

“+getAID().getName()+” terminating.”); }

import jade.core.*; import jade.lang.acl.*;

import jade.core.behaviours.*;

public class MyOneShotBehaviour extends OneShotBehaviour { public void action() {

// melakukan operasi X }

}

import jade.core.*; import jade.lang.acl.*;

import jade.core.behaviours.*;

public class MyCyclicBehaviour extends CyclicBehaviour { public void action() {

// melakukan operasi Y }


(3)

Dalam melakukan interaksi dan berkomunikasi, agen melakukan pengiriman dan penerimaan pesan. Dalam pengiriman pesan kode yang diperlukan adalah sebagai berikut :

Dalam SPK multiagen inivestai biodisel, user agen DM dapat mengirimkan teks atau pesan kepada user lain, misalnya user agen DM bidang sumberdaya dapat mengirimkan hasil CPO kepada user agen DM bidang produksi.vPenerimaan pesan dapat dikodekan sebagai berikut :

Dalam komunikasi antar agen juga didefinisikan protokol interaksi. Dalam SPK multiagen investasi biodisel digunakan protokol interaksi sebagai berikut :

1. FIPA Propose

Dalam protokol ini agent dapat berlaku sebagai inisiator atau responder. Sebagai inisiator, maka behaviour yang dapat digunakan adalah ProposeInitiator yang terdapat di dalam kelas AchieveREInitiator.

public void action() {

ACLMessage msg = new ACLMessage(ACLMessage.INFORM); msg.addReceiver(new AID(agentName, AID.ISLOCALNAME)); msg.setContent(“…”);

myAgent.send(msg); }

public void action() {

ACLMessage msg = AgentDM.receive(); if (msg != null) {

//pesan diterima,akan diproses String content = msg.getContent(); //jika memerlukan balasan

ACLMessage reply = msg.createReply();

reply.setPerformative(ACLMessage.INFORM); reply.setContent(“…”);

... }

else {

block(); }


(4)

Dalam protokol ini, perlu diperhatikan masa waktu apabila tidak terdapat respon dari responder. Besaran masa waktu dapat diberikan melalui pengiriman parameter reply-by dalam pesan ACL yang dilewatkan oleh agen. Sebagai responder, behaviour yang dapat digunakan adalah ProposeResponder. Dalam behaviour ini perlu diperhatikan pesan yang tepat yang dikirimkan sebagai argumen konstruktornya.

2. FIPA-Contract Net

Seperti FIPA-propose, dalam FIPA-Contract Net, agen dapat berlaku sebagai inisiator ataupun responder. Sebagai inisiator, maka behaviour yang digunakan adalah ContractNetInitiator yang terdapat dalam kelas AchieveREInitiator. Bila agen berlaku sebagai responder, maka behaviour yang dapat digunakan adalah ContractNetResponder.

3. FIPA-Request

Dalam melakukan penerimaan dan pengiriman pesan, maka agen perlu melewatkan argumen. Pengiriman dan penerimaan pesan dapat dilakukan dengan membuat objek ACLmessage dan memanggil metode send() dari kelas agen. Metode receive() dari kelas agen dipanggil ketika agen akan menerima pesan. Potongan kode yang dapat digunakan dalam melewatkan argumen adalah seperti yang disajikan pada Gambar 24.

4. Interaksi dengan Agen Fasilitator Direktori

Agent Fasilitator Direktori (FD) adalah agen yang mengatur registrasi dan pencarian layanan. Komunikasi yang digunakan agen FD adalah menggunakan ACL. Ontologi dan bahasa yang dimengerti oleh FD adalah sesuai dengan standardisasi FIPA. Dalam JADE, terdapat kelas jade.domain.DFService yang menyediakan metode yang menyediakan fasilitas interaksi dengan FD. Metode tersebut di antaranya : register(),modify().geregister(),search().

Dalam SPK investasi multiagen, agenFD kemudian dapat mengatur layanan yang disediakan oleh agen untuk digunakan oleh agen lain. Sebagai contoh, user agen ketersediaan sumberdaya dapat mencari layanan yang disediakan oleh agen penyedia data dan model untuk menentukan


(5)

apakah sumberdaya yang tersedia memenuhi pasar biodisel. Pencarian dapat dilakukan melalui definisi ontologi dengan konsep parameter dan model.

Ketika agen melakukan registrasi layanan dalam agen FD, maka agen tersebut harus menggunakan deskripsi yang dapat diimplementasikan dengan kelas jade.domain.FIPA-AgentMAnagement.DFAgentDescription. Deskripsi yang termasuk di dalamnya adalah tipe layanan, nama layanan, bahasa, ontologi dan protokol interaksi.

4.5. Analisis Sistem

Berdasarkan hasil abstraksi dan konseptual sistem multiagen yang dilakukan berdasarkan platform JADE, maka diperoleh beberapa perbedaan antara SPK investasi biodisel yang telah dikembangkan oleh Mariana (2005) dengan SPK investasi biodisel multiagen dengan kelayakan sumberdaya dan pasar, yaitu sebagai berikut :

import jade.core.*;

import jade.core.behaviours.*;

public class AgentDM extends Agent { private String argument;

// Inisialisasi agen protected void setup() {

// Penentun agen

System.out.println(“Agen DM“

+getAID().getName()+

” is ready.”);

//Mendapatkan data yang dikirimkan Object[] args = getArguments();

if (args != null && args.length > 0) { argument = (String) args[0];

System.out.println(“Pengiriman pesan kepada user agen DM ” + argument); }

else {

// Agent selesai

System.out.println(“Tidak ada data yang dikirimkan“);

doDelete(); }

} …

}


(6)

a. SPK investasi biodisel multigen dikembangkan dengan pendekatan agen yang bersifat desentralisasi dan modularity. Sifat ini berpengaruh dalam hal operasional sistem setelah diimplementasikan. Modifikasi yang dilakukan melalui salah satu agen dalam sistem tersebut tidak berpengaruh terhadap sistem secara keseluruhan. Ontologi yang dikembangkan memungkinkan pengembang melakukan modifikasi tanpa mempengaruhi operasionalisasi sistem.

b. SPK investasi biodisel kelapa sawit oleh Marina (2005) merupakan SPK berbasis model yang terdiri atas sub model yang merefleksikan aspek-aspek kelayakan. Sub model diimplementasikan dalam aplikasi spreadsheet yang diolah secara sekuensial sampai diperoleh satu keputusan kelayakan (sifat sentralisasi dan compact). Sub model yang terus berkembang memungkinkan kegiatan pemeliharaan sistem menjadi kegiatan otonom yang dapat dilakukan pada tiap-tiap sub model. Sub model tersebut dapat menjadi komponen yang otonom untuk dimodelkan menjadi agen dengan eksekusi dilakukan secara paralel bersifat kooperatif melalui thread tunggal.