Sunday, November 4, 2012

Software Agent pada Sistem Terdistribusi (Definisi dan Karakteristik)

Posted by Irpan Ramdani On Sunday, November 04, 2012 No comments

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:
  1. Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan.
  2. 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.

2.2. 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, yaitu :

1. Collaborative Agent

Agent yang memiliki kemampuan melakukan kolaborasi dan koordinasi antar agent dalam kerangka Multi Agent System (MAS).

2. Interface Agent

Agent yang memiliki kemampuan untuk berkolaborasi dengan user, melakukan fungsi monitoring danlearning untuk memenuhi kebutuhan user.

3. 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.

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

5. Reactive Agent

Agent yang memiliki kemampuan untuk bisa cepat beradaptasi dengan lingkungan baru dimana dia berada.

6. 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.

7. 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

Gambar 3 menjelaskan bagaimana keterkaitan agentdengan bidang-bidang ilmu dan penelitian, yang digambarkan berdasarkan pada hubungan dengan karakteristik yang dimiliki oleh 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.

1. 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.

2. Interactive Theatre and Cinema


5.4. Riset dan AplikasiSoftware Agent di Dunia Medis

Dunia medis adalah bidang yang akhir-akhir ini sangat gencar dilakukan komputerisasi terhadapnya. Tidak ketinggalan, teknologi agent pun dicoba untuk diimplementasikan dalam rangka mencoba mengatasi masalah-masalah yang berhubungan dengan monitoring pasien, manajemen kesehatan dari pasien, dsb.

5.5. Riset dan AplikasiSoftware Agent di Dunia Pendidikan

Dengan perkembangan teknologi jaringan komputer, dunia pendidikan pun salah satu yang merasakan manfaatnya. Sistem pengajaran pun mengalami perkembangan kearah lebih modern dengan memanfaatkan teknologi jaringan.

6. Kesimpulan

Pada makalah ini telah dibahas secara lengkap tentang teknologi software agent, baik dalam tinjauan teori maupun praktis, dan juga telah dijelaskan secara mendetail tentang aplikasi dari teknologi software agent diberbagai bidang. Salah satu tujuan dari makalah ini adalah memberi penjelasan secara global tentang software agent, dimulai dari penjelasan tentang sejarah, definisi, dan karakteristik. Kemudian beranjak keklasifikasi, dan aplikasinya diberbagai bidang.

7. Daftar Pustaka

http://deris.unsri.ac.id/materi/sist_terd/Overview.pdf http://te.ugm.ac.id/~risanuri/distributed/ringk/Bab01_02.pdf
http://romisatriawahono.net

0 comments:

Post a Comment