PENDAHULUAN
Agent
secara umum bisa ditegaskan sebagai satu-kesatuan perangkat lunak dengan
otonomi tertentu. Mereka melakukan servis dengan urutan seorang pemakai atau
agen lain. Mobile agent mempunyai sifat sifat tambahan: mereka secara otonom
dapat berpindah, seperti mereka bisa beralih antar kode program, data dan
penerusan pointer ke komputer remote (yang dapat dikendalikan jarak jauh) dan
memulai kembali dengan pelaksanaan program. Di samping mobilitas fisik ini
mobile agent mempunyai kemungkinan untuk berkomunikasi satu sama lain untuk bertukar informasi.
Mobile
agent merupakan suatu teknologi yang relatif baru, tetapi sudah ada yang
mengimplementasikannya, seperti AgentTcl, Aglets, MOA, Grasshopper, and
Odyssey.
Komputasi grid dapat diartikan sebagai sebuah aplikasi sumber dari beberapa alat yang digunakan dalam jaringan untuk memecahkan permasalahan yang ada pada waktu yang bersamaan.
Komputasi grid dapat diartikan sebagai sebuah aplikasi sumber dari beberapa alat yang digunakan dalam jaringan untuk memecahkan permasalahan yang ada pada waktu yang bersamaan.
Biasanya,
komputasi grid dipertimbangkan dalam konteks pembagian tenaga processor
beberapa komputer yang terhubung dalam jaringan TCP/ IP (Transmission Control
Protocol/ Internet Protocol). Contoh aplikasi komputasi grid yang sangat
populer adalah proyek Search for Extraterrestrial Intelligence (SETI@home) dan
proyek The Great Internet Mersenne Prime Search (GIMPS).
1. SEJARAH
DAN LATAR BELAKANG SOFTWARE AGENT
Menurut Nwana, konsep agent sudah
dikenal lama dalam bidang AI, tepatnya dikenalkan oleh seorang peneliti bernama
Carl Hewitt dengan concurrent actor model-nya pada tahun 1977. Dalam
modelnya Hewitt mengemukakan teori tentang suatu obyek yang yang dia sebut actor,
yang mempunyai karakteristik menguasai dirinya sendiri, interaktif, dan bisa
merespon pesan yang datang dari lain obyek sejenis. Dari berbagai penelitian
berhubungan dengan hal diatas, kemudian lahirlah cabang ilmu besar yang
merupakan turunan dari AI yaitu Distributed Artificial Intelligence (DAI),
yang antara lain membawahi bidang penelitian,Distributed Problem Solving (DPS), Parallel
Artificial Intelligence(PAI), dan Multi Agent System (MAS).
Masa ini terkenal dengan masa
generasi pertama penelitiansoftware agent, yaitu periode 1970-1990. Pada
umumnya konsentrasi penelitian pada periode ini tertuju ke arah: pemodelan
internal agent secara simbolik, isu-isu makro mengenai interaksi,
koordinasi, dan komunikasi antar agent dalam kerangka MAS. Tujuan
utamanya adalah untuk menganalisa, mendesain, dan mengintegrasikan system dalam
kerangka agent yang bisa berkolaborasi satu dengan yang lain.
Berbagai macam penelitian yang dilakukan pada generasi pertama (1970-1990) itu
terangkum secara lengkap dan terorganisir dengan baik dalam buku-buku yang
dieditori oleh Bond dan Gasser, Gasser dan Huns, dan Chaib-draa.
Kemudian masa generasi kedua dari
penelitian agent adalah periode tahun 1990 sampai saat ini. Konsentrasi
penelitian pada periode ini khususnya adalah pada: pengembangan dan penelitian
teori agent (agent theory), arsitektur agent (agent architecture) dan
bahasa pemrograman yang digunakan (agent language). Terangkum dengan baik dalam
buku-buku dan makalah-makalah oleh Wooldridge dan Jennings.
2. DEFINISI
DAN KARAKTERISTIK YANG DIMILIKI OLEH SOFTWARE AGENT
2.1. Definisi
Software Agent
Di dalam kamus Webster’s New
World Dictionary [Guralnik, 1983], agent didefinisikan sebagai:
Disini ada dua point yang bisa
diambil:
· Agent mempunyai kemampuan
untuk melakukan suatu tugas/pekerjaan.
· Agent melakukan suatu
tugas/pekerjaan dalam kapasitas untuk sesuatu, atau untuk orang lain.
Didapat dari point-point diatas
Caglayan mendefinisikansoftware agent sebagai:
Suatu entitas software komputer
yang memungkinkan user (pengguna) untuk mendelegasikan tugas kepadanya secara
mandiri (autonomously).
Kemudian beberapa peneliti lain
menambahkan satu point lagi, yaitu bahwa agent harus bisa berjalan
dalam kerangka lingkungan jaringan (network environment). Definisi agent dari
para peneliti lain pada hakekatnya adalah senada, meskipun ada yang menambahkan
atribut dan karakteristik agent ke dalam definisinya.
Karakteristik
dan Atribut Software Agent
Untuk memperdalam pemahaman
tentang software agent, fungsi, peran, dan perbedaan mendasar dikaitkan
software program yang ada, berikut ini akan dijelaskan tentang beberapa
atribute dan karakteristik yang dimiliki oleh software agent. Tentu tidak
semua karakteristik dan atribut terangkum dalam satu agent. Pada
hakekatnya daftar karakteristik dan atribut dibawah adalah merupakan hasil
survey dari karakteristik yang dimiliki oleh agent-agent yang ada
pada saat ini.
1. Autonomy: Agent dapat
melakukan tugas secara mandiri dan tidak dipengaruhi secara langsung oleh user, agent lain
ataupun oleh lingkungan (environment). Untuk mencapai tujuan dalam melakukan
tugasnya secara mandiri, agent harus memiliki kemampuan kontrol
terhadap setiap aksi yang mereka perbuat, baik aksi keluar maupun kedalam. Dan
satu hal penting lagi yang mendukung autonomy adalah masalah intelegensi (intelligence)
dari agent.
2. Intelligence, Reasoning,
dan Learning: Setiap agent harus mempunyai standar minimum untuk bisa
disebut agent, yaitu intelegensi (intelligence). Dalam konsep intelligence,
ada tiga komponen yang harus dimiliki: internal knowledge base, kemampuan reasoning berdasar
pada knowledge base yang dimiliki, dan kemampuan learning untuk
beradaptasi dalam perubahan lingkungan.
3. Mobility dan Stationary:
Khusus untuk mobile agent, dia harus memiliki kemampuan yang merupakan
karakteristik tertinggi yang dia miliki yaitu mobilitas. Berkebalikan dari hal
tersebut adalahstationary agent. Bagaimanapun juga keduanya tetap harus
memiliki kemampuan untuk mengirim pesan dan berkomunikasi dengan agent lain.
4. Delegation: Sesuai dengan
namanya dan seperti yang sudah kita bahas pada bagian definisi, agent bergerak
dalam kerangka menjalankan tugas yang diperintahkan oleh user. Fenomena
pendelegasian (delegation) ini adalah karakteristik utama suatu program disebut agent.
5. Reactivity: Karakteristik agent yang
lain adalah kemampuan untuk bisa cepat beradaptasi dengan adanya perubahan
informasi yang ada dalam suatu lingkungan (enviornment). Lingkungan itu bisa
mencakup: agent lain, user, adanya informasi dari luar, dsb.
6. Proactivity dan
Goal-Oriented: Sifat proactivity boleh dikata adalah kelanjutan dari
sifat reactivity. Agent tidak hanya dituntut bisa beradaptasi
terhadap perubahan lingkungan, tetapi juga harus mengambil inisiatif langkah
penyelesaian apa yang harus diambil. Untuk itu agent harus didesain
memiliki tujuan (goal) yang jelas, dan selalu berorientasi kepada tujuan yang
diembannya (goal-oriented).
7. Communication and
Coordination Capability: Agent harus memiliki kemampuan berkomunikasi
dengan user dan juga agent lain. Masalah komunikasi dengan user
adalah masuk ke masalah user interface dan perangkatnya, sedangkan masalah
komunikasi, koordinasi, dan kolaborasi dengan agent lain adalah
masalah sentral penelitian Multi Agent System (MAS). Bagaimanapun
juga untuk bisa berkoordinasi dengan agent lain dalam menjalankan
tugas, perlu bahasa standard untuk berkomunikasi. Tim Finin dan Yannis Labrou
adalah peneliti software agent yang banyak berkecimpung dalam riset
mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk
mereka adalahKnowledge Query and Manipulation Language (KQML). Kemudian
masih berhubungan dengan ini komunikasi antar agent adalahKnowledge Interchange
Format (KIF).
3. KLASIFIKASI SOFTWARE
AGENT
3.1. Klasifikasi Software
Agent Menurut Karakteristik Yang Dimiliki
Teknik klasifikasi agent menurut
karakteristik dipelopori oleh Nwana. Menurut Nwana, agent bisa diklasifikasikan
menjadi delapan berdasarkan pada karakteristiknya.
Gambar 3: Klasifikasi Software
Agent Menurut Karakteristik Yang Dimiliki
Collaborative Agent: Agent yang
memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam
kerangka Multi Agent System (MAS).
Interface Agent: Agent yang
memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring danlearning untuk
memenuhi kebutuhan user.
Mobile Agent: Agent yang memiliki
kemampuan untuk bergerak dari suatu tempat ke tempat lain, dan secara mandiri
melakukan tugas ditempat barunya tersebut, dalam lingkungan jaringan komputer.
Information dan Internet Agent: Agent yang
memiliki kemampuan untuk menjelajah internet untuk melakukan pencarian,
pemfilteran, dan penyajian informasi untuk user, secara mandiri. Atau dengan
kata lain, memanage informasi yang ada di dalam jaringan Internet.
Reactive Agent: Agent yang
memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana
dia berada.
Hybrid Agent: Kita sudah
mempunyai lima klasifikasi agent. Kemudianagent yang memiliki
katakteristik yang merupakan gabungan dari karakteristik yang sudah kita
sebutkan sebelumnya adalah masuk ke dalam hybrid agent.
Heterogeneous Agent System: Dalam
lingkungan Multi Agent System(MAS), apabila terdapat dua atau lebih hybrid
agent yang memiliki perbedaan kemampuan dan karakteristik, maka sistem MAS
tersebut kita sebut dengan heterogeneous agent system.
3.2. Klasifikasi Software
Agent Menurut Lingkungan Dimana Dijalankan
Caglayan membuat suatu
klasifikasi yang menarik mengenaiagent, yang berdasar kepada lingkungan (environment)
dimanaagent dijalankan.
Dari sudut pandang dimana
dijalankan, software agent bisa diklasifikasikan sebagai desktop agent, internet
agent danintranet agent. Lebih jelasnya, daftar dibawah menguraikan
klasifikasi tersebut secara mendetail.
1. Desktop Agent: Agent yang
hidup dan bertugas dalam lingkunganPersonal Computer (PC), dan berjalan
diatas suatu Operating System (OS). Termasuk dalam klasifikasi ini
adalah:
· Operating System Agent
· Application Agent
· Application Suite Agent
2. Internet Agent: Agent yang
hidup dan bertugas dalam lingkungan jaringan Internet, melakukan tugas memanage
informasi yang ada di Internet. Termasuk dalam klasifikasi ini adalah:
· Web Search Agent
· Web Server Agent
· Information Filtering
Agent
· Information Retrieval
Agent
· Notification Agent
· Service Agent
· Mobile Agent
3. Intranet Agent: Agent yang
hidup dan bertugas dalam lingkungan jaringan Intranet, melakukan tugas memanage
informasi yang ada di Intranet. Termasuk dalam klasifikasi ini adalah:
· Collaborative Customization
Agent
· Process Automation Agent
· Database Agent
· Resource Brokering Agent
4. BIDANG
ILMU DAN PENELITIAN YANG TERKAIT DENGAN SOFTWARE AGENT
Sudah menjadi hal yang diketahui
umum bahwa masalahlearning, intelligence, dan juga proactivity serta reactivity adalah
bidang garapan AI klasik. Kemudian penelitian dalam bidang DAI pada umumnya
adalah berkisar ke masalah koordinasi, komunikasi dan kerjasama (cooperation)
antar agent dalam Multi Agent System (MAS). Dengan
perkembangan penelitian di bidangdistributed network dan communication
system, membawa peran penting dalam mewujudkan agent yang mempunyai
kemampuan mobilitas dan komunikasi dengan agent lain.
Pesatnya perkembangan penelitian
tentang software agenttak lepas dari pengaruh bidang ilmu psikologi yang
banyak mengupas agent secara teori dan filosofi, kemudian juga software
engineering yang berperan dalam menyediakan metodologi analisa dan desain,
serta implementasi dari software agent. Dan yang terakhir adalah bidang decision
theory dengan kupasan tentang bagaimana agent harus menentukan
strategi dalam menjalankan tugas secara mandiri (autonomously).
5. BAHASA
PEMROGRAMAN
Pada bagian ini akan dibahas
tentang bahasa pemrograman yang banyak dipakai untuk tahap implementasi darisoftware
agent. Bagaimanapun juga setiap bahasa pemrograman memiliki karakteristik
sendiri sesuai dengan paradigma pemrograman yang dia anut. Sehingga pemakaian
bahasa permrograman yang kita pakai akan menentukan keberhasilan dalam
implementasi agent sesuai yang kita harapkan.
Beberapa peneliti memberikan
petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya kita
pakai. Petunjuk-petunjuk tersebut adalah:
Object-Orientedness: Karena agent adalah
berhubungan dengan obyek, bahkan beberapa peneliti menganggap agent adalah
obyek yang aktif, maka bagaimanapun juga agent harus diimplementasikan kedalam
pemrorgaman yang berorientasi obyek (object-oriented programming language).
Platform Independence: Seperti
sudah dibahas pada bagian sebelumnya, bahwa agent hidup dan berjalan diatas
berbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakai untuk
implementasi adalah yang terlepas dari platform, atau dengan kata lain
program tersebut harus bisa dijalankan di platformapapun (platform
independence).
Communication Capability: Pada
saat berinteraksi dengan agentlain dalam suatu lingkungan jaringan
(network environment), tentu saja diperlukan kemampuan untuk melakukan
komunikasi secara fisik. Sangat lebih baik seandaianya bahasa pemrograman
mensupport pemrograman untuk network dan komunikasinya.
Security: Faktor keamanan (security)
juga hal yang harus diperhatikan dalam memilih bahasa pemrorgaman untuk
implementasi software agent. Terutama untuk mobil agent, diperlukan
bahasa pemrograman yang mensupport level-level keamanan yang bisa membuat agent bergerak
dengan aman.
Code Manipulation: Beberapa
aplikasi software agent memerlukan manipulasi kode program secara runtime.
Bahasa pemrograman untuk software agent sebaiknya juga harus bisa
memberikan support terhadap masalah ini.
Ditarik dari beberapa petunjuk
diatas, para peneliti merekomendasikan bahasa pemrograman berikut untuk
mengimplementasikan software agent:
1. Java
2. Telescript
5. RISET
DAN APLIKASI SOFTWARE AGENT
Ada dua tujuan dari survey
tentang riset dan aplikasisoftware agent. Yang pertama adalah, untuk
mengeidentifikasi sampai sejauh mana teknologi agent sudah
diaplikasikan dengan memberikan pointer berupa contoh-contoh aplikasi sistem yang
sudah ada. Yang kedua adalah, untuk memberikan gambaran ke depan,
masalah-masalah apa yang sudah dan belum terpecahkan dan membuka peluang untuk
mencoba mengaplikasikan teknologi agent ke masalah baru yang timbul. Jennings
merangkumkan riset dan aplikasi software agent yang ada kedalam beberapa
bidang. Disini kami akan mengupas beberapa riset dan aplikasi software agent
dalam bidang industri, internet/bisnis, entertainment, medis, dan bidang
pendidikan.
5.1. Riset
dan AplikasiSoftware Agent di Dunia Industri
Dewasa ini teknologi agent sudah
diaplikasikan secara luas di dunia Industri. Bagaimanapun juga harus diakui
bahwa secara sejarah penelitian, selain dunia Internet dan bisnis, teknologi
agent banyak didesain untuk dimanfaatkan di bidang industri.
Manufacturing: Parunak
mempelopori proyek penelitian yang dia sebut YAMS (Yet Another Manufacturing
System), dimana dia berusaha mengaplikasikan protokol contract net untuk
proses kontrol di manufacturing. Untuk mengatasi masalah kompleks dalam proses manufacturing,
YAMS mengadopsi pendekatan MAS, dimana setiap pabrik dan komponen dari pabrik
adalah direpresentasikan sebagai agent. Aplikasi lain yang menggunakan
teknologi agent dalam area ini adalah: konfigurasi dan desain untuk
product manufacturing, pendesainan secara kolaboratif, pengontrolan dan
penjadwalan operasi manufacturing, dsb.
Process Control: Process
control secara sistem merupakan sistem yang harus bisa bekerja secara
mandiri dan bersifat reactive. Hal ini sesuai dengan karakteristik dari agent,
sehingga bukan sesuatu yang mengejutkan kalau banyak muncul pengembangan
aplikasiprocess control yang berbasis ke teknologi agent. Beberapa
contoh penelitian dan aplikasi yang berada dalam area ini adalah: proyek ARCHON
yang diaplikasikan untuk manajemen transportasi listrik dan kontrol untuk
percepatan partikel, kemudian juga: pengontrolan iklim, pengontrolan spacecraft,
dsb.
Telecommunications: Sistem
telekomunikasi pada umumnya bergerak dalam skala besar, dan komponen-komponen
telekomunikasi yang terhubung, terdistribusi dalam jaringan. Untuk itu
diperlukan sistem monitoring dan manajemen dalam kerangkareal-time.
Dengan semakin tingginya tingkat kompetisi untuk menyediakan sistem komunikasi
yang terbaik, diperlukan pendekatan komputerisasi dan software paradigma yang
sesuai. Disinilah teknologi agent diperlukan. Beberapa riset dan
aplikasi dalam area ini adalah: pengontrolan jaringan, transmisi danswitching, service
management, dan manajemen jaringan, dsb.
Air Traffic Control: Ljunberg
mengemukakan sistem pengontrolan lalu lintas udara berbasis agent yang
terkenal dengan nama OASIS. OASIS sudah diujicoba di bandar udara Sydney di Australia.
OASIS diimplemantasikan menggunakan sistem yang disebut DMARS.
Transportation System: Beberapa
contoh aplikasi teknologi agentyang ada dalam area ini adalah: aplikasi
pencarian sistem transportasi dan pemesanan tiket dengan menggunakan MAS,
kemudian aplikasi lain adalah seperti yang dikemukakan oleh Fischer.
5.2. Riset
dan AplikasiSoftware Agent di Dunia Internet dan Bisnis
Seperti sudah disebutkan diatas,
boleh dikatakan teknologiagent paling banyak diaplikasikan dalam dunia
Internet dan bisnis ini. Bagaimanapun juga ini tak lepas dari maju dan
berkembang pesatnya teknologi jaringan komputer yang membuat perlunya paradigma
baru untuk menangani masalah kolaborasi, koordinasi dalam jarak yang jauh, dan
salah satu yang penting lagi adalah menangani kendala membengkaknya informasi.
1. Information Management:
Ada dua tema besar dalam manajemen informasi dan peran teknologi agent untuk
mengatasi masalahinformation overload karena perkembangan teknologi
jaringan dan Internet.
· Information Filtering:
Proyek MAXIMS, kemudian WARREN adalah contoh aplikasi di bidang information
filtering.
· Information Gathering:
Banyak sekali aplikasi yang masuk areainformation gathering baik gratis
maupun komersil. Contohnya adalah proyek WEBMATE, pencarian homepage dengansoftbot,
proyek LETIZIA, dsb.
2. Electronic Commerce: Tema
riset kearah desain dan implementasi untuk mengotomatisasi jual-beli, termasuk
didalamnya adalah implementasi strategi dan interaksi dalam jual-beli,
tawar-menawar, teknik pembayaran, dsb. merealisasikan sistem pasar elektronik
dalam sistem yang disebut dengan KASBAH. Dalam sistem ini disimulasikan buyer
agent dan seller agent yang melakukan transaksi jual-beli,
tawar-menawar, dan masing-masingagent mempunyai strategi jual beli untuk
mendapatkan yang termurah atau teruntung. Aplikasi agent lainnya adalah
BargainFinder, JANGO, MAGMA, dsb.
3. Distributed Project
Management: Untuk meningkatkan produktivitas dalam kerja yang memerlukan
kolaborasi antar anggota tim dalam kerangka teamwork, mau tidak mau harus
dipikirkan kembali model software yang mempunyai karakteristik bisa melakukan
kolaborasi dan koordinasi secara mandiri, untuk membantu tiap anggota dalam
melakukan tugas yang menjadi tanggung jawabnya. Salah satu approach adalah
dengan mengimplemantasikan teknologi agent dalam software sistem yang dipakai
untuk berkolaborasi. Anumba memberikan kontribusi dalam pengembangan decision
support system untuk designer dalam mendesain bangunan dalam kerangka
teamwork. Riset dan aplikasi lain adalah RAPPID, PROCESSLINK, dan juga OOEXPERT
yang memberikan solusi dan metodologi dalam pemecahan masalah object model
creation process dalam OOAD, dan implementasi dengan menggunakan
pendekatan Multi Agent System (MAS).
5.3. Riset
dan AplikasiSoftware Agent di DuniaEntertainment
Komunitas informatika dan ilmu
komputer sering tidak menjamah dengan serius industri-industri yang bersifat
lebih ke arah rekreasi dan kesenangan (Leisure Industri). Misalnya adalah
masalah industri game, teater dan sinema, dsb. Dengan adanya software
agent, memungkinkan komunitas informatika dan komputer untuk ikut andil
merealisasikan pemikirannya.
Games: Software agent berperan
penting dalam pengembangan game modern, misalnya dengan membawa paradigma agentkedalam
karakter manusia atau sesuatu dalam game tersebut sehingga lebih hidup.
Beberapa riset yang sudah sampai pada tahap implementasi adalah misalnya aplikasi
game yang dikembangkan oleh Grand dan Cliff, kemudian juga, dsb.
Referensi :