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
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. 4. jade.domain
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
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