Pendefinisian Ontologi Seleksi Pemilihan Konten

dijual, harga per kilogramnya dan cara pembayarannya. Agent Distributor dan agent Konsumen hanya akan menerima pesan menawarkan dari agent Produsen. Perilaku menyimpang direspon untuk memberi balasan berupa harga yang dibayar jika kentang tersebut sepakat untuk dijual kepada agent Distributor atau agent Konsumen. Harga jual ditentukan oleh tiap agent berdasarkan fuzzy set yang dimilikinya dengan melihat parameter cara pembayaran, harga yang ditawarkan, dan jumlah stok yang dimiliki oleh agent tersebut saat ini. Agent lain yang merespon perilaku menyimpang akan berusaha menawar dengan harga yang lebih tinggi dari harga awal jika stok yang dimiliki dinilai kurang dan berlaku sebaliknya. Setelah mengirim pesan berisi pengajuan harga tersebut, agent yang merespon perilaku ini akan menunggu pesan. 5. Perilaku pengulangan Perilaku ini mendeskripsikan perilaku agent yang berlangsung berulang- ulang. Seluruh agent berjenis Produsen, Distributor, dan Konsumen memiliki satu perilaku ini untuk membaca pesan yang diterima sesuai dengan format yang telah didefinisikandan menentukan perilaku yang akan dieksekusi berdasar format pesan tersebut .

5.4.9. Pendefinisian Ontologi

Dalam komunikasi antar agent, diperlukan sebuah ketetapan protokol disebut juga bahasa atau vocabulary untuk isi dari pesan yang akan digunakan. Protokol ini disebut dengan ontologi dalam arsitektur JADE. Terdapat tiga pendekatan umum dalam menetapkan ontologi, 1 Penggunaan String sebagai isi pesan melalui metode setContent, 2 Penggunaan objek Serializable sebagai isi pesan melalui metode setContentObject, dan 3 Penggunaan objek standar FIPA melalui metode fillContent. Pada pendefinisian ontologi ini, digunakan pendekatan kedua yaitu objek Serializable. Penggunaan suatu objek sebagai isi pesan lebih memudahkan pengambilan informasi secara sintaksis. Hal ini dikarenakan field yang diperlukan dapat ditentukan secara bebas pada objek yang digunakan.

5.4.10. Seleksi Pemilihan Konten

Setelah menentukan penggunaan objek sebagai bahasa isi pesan maka langkah terakhir adalah membuat objek-objek yang digunakan. Kelas objek ini harus mengimplementasikan interface java.io.Serializable. Kelas yang digunakan antara lain, Kelas Harga, berisi informasi mengenai suatu transaksi yaitu jumlah kentang, harga kentang per kg-nya, dan cara pembayarannya. Kelas Menawarkan, kelas ini berisi sebuah objek harga dan koleksi bertipe ArrayList. Peubah koleksi ini memuat objek kentang yang mendefinisikan berat kg, berapa kali telah ditanam , dan diameter kentang. Total nilai Peubah berat dari seluruh objek kentang dalam koleksi ini sama dengan nilai Peubah berat pada objek harga. Kelas benih memiliki sebuah objek harga dan koleksi bertipe ArrayList seperti pada kelas menawarkan, ditambah dengan Peubah lain. Peubah tersebut antara lain sepasang nilai integer yang menunjukan kapan benih ini harus dipanen dan sebuah objek AID yang menunjukan identitas agent pemilik benih dalam koleksi tersebut. Koleksi pada kelas ini tidak berisi objek kentang untuk kentang jadi seperti kelas menawarkan namun berisi objek kentang yang menunjukan benih untuk ditanam. Kelas Kentang merupakan kelas model untuk objek kentang sebenarnya yaitu kentang. Kelas ini digunakan untuk menyatakan sejumlah kentang dalam berat tertentu agar nantinya dapat disimulasikan penyeleksian kentang berdasarkan diameter per satuan objek. Sistem akan membuat sejumlah instance dari kelas ini dengan asumsi bahwa satu objek kentang memiliki kemungkinan diameter 1-10 cm dengan berat 3 kgcm. Karena kemungkinan diameter ini yang tidak pasti, maka permintaan terhadap sejumlah berat kentang dapat berbeda.

5.5. Implementasi dan Uji Coba