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