Senin, 02 April 2012

Software, Teknologi dan Bahasa Komunikasi Agent


Software

Perangkat Lunak (software) merupakan suatu program yang dibuat oleh pembuat program untuk menjalankan perangkat keras komputer. Perangkat Lunak adalah program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data. Software sebagai penghubung antara manusia sebagai pengguna dengan perangkat keras komputer, berfungsi menerjemahkan bahasa manusia ke dalam bahasa mesin sehingga perangkat keras komputer memahami keinginan pengguna dan menjalankan instruksi yang diberikan dan selanjutnya memberikan hasil yang diinginkan oleh manusia tersebut.

Perangkat lunak komputer berfungsi untuk :

  1. Mengidentifikasi program
  2. Menyiapkan aplikasi program sehingga tata kerja seluruh perangkat komputer terkontrol.
  3. Mengatur dan membuat pekerjaan lebih efisien.

Macam-macam Perangkat Lunak
  1. Sistem Operasi (Operating System),
  2. Program Aplikasi (Application Programs),
  3. Bahasa Pemrograman (Programming Language),
  4. Program Bantu (Utility)

Teknologi

Teknologi adalah metode ilmiah untuk mencapai tujuan praktis; ilmu pengetahuan terapan atau dapat pula diterjemahkan sebagai keseluruhan sarana untuk menyediakan barang-barang yg diperlukan bagi kelangsungan dan kenyamanan hidup manusia.

Ada tiga klasifikasi dasar dari kemajuan teknologi yaitu :

  • Kemajuan teknologi yang bersifat netral (bahasa Inggris: neutral technological progress)
    Terjadi bila tingkat pengeluaran (output) lebih tinggi dicapai dengan kuantitas dan kombinasi faktor-faktor pemasukan (input) yang sama.
  • Kemajuan teknologi yang hemat tenaga kerja (bahasa Inggris: labor-saving technological progress)
    Kemajuan teknologi yang terjadi sejak akhir abad kesembilan belas banyak ditandai oleh meningkatnya secara cepat teknologi yang hemat tenaga kerja dalam memproduksi sesuatu mulai dari kacang-kacangan sampai sepeda hingga jembatan.
  • Kemajuan teknologi yang hemat modal (bahasa Inggris: capital-saving technological progress)
    Fenomena yang relatif langka. Hal ini terutama disebabkan karena hampir semua riset teknologi dan ilmu pengetahuan di dunia dilakukan di negara-negara maju, yang lebih ditujukan untuk menghemat tenaga kerja, bukan modalnya.


Software Agent

Agent dapat didefinisikan sebagai:
A person or thing that acts or is capable of acting or is empowered to act, for another.
Disini ada dua penjelasan yang bisa kita ambil yaitu :
· Agent mempunyai kemampuan untuk melakukan suatu tugas/pekerjaan.
· Agent melakukan suatu tugas/pekerjaan dalam kapasitas untuk sesuatu, atau untuk orang lain.
Ditarik dari point-point diatas Caglayan [Caglayan et al., 1997] mendefinisikan software 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) [Brenner et. al., 1998]. Definisi agent dari para peneliti lain pada hakekatnya adalah senada, meskipun ada yang menambahkan atribut dan karakteristik agent ke dalam definisinya. Secara lengkap definisi agent dan komparasinya, dirangkumnkan oleh Franklin dalam makalahnya [Franklin et. al., 1996].
Karakteristik dan Atribut Software Agent

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 [Woolridge et. al., 1995]. 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 adalah stationary 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 [Brenner et. al., 1998].


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 [Brenner et. al., 1998]. 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 [Finin et al., 1993] [Finin et al., 1994] [Finin et al., 1995] [Finin et al., 1997] dan Yannis Labrou [Labrou et al., 1994] [Labrou et al., 1997] adalah peneliti software agent yang banyak berkecimpung dalam riset mengenai bahasa dan protokol komunikasi antar agent. Salah satu produk mereka adalah Knowledge Query and Manipulation Language (KQML). Kemudian masih berhubungan dengan ini komunikasi antar agent adalah Knowledge Interchange Format (KIF).

Teknologi dan Klasifikasi Software Agent Menurut Karakteristik Yang Dimiliki

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 dan learning 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. Kemudian agent 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.

Bahasa pemrograman yang dipakai untuk tahap implementasi dari software agent, sangat menentukan keberhasilan dalam implementasi agent sesuai dengan yang diharapkan. Beberapa peneliti memberikan petunjuk tentang bagaimana karakteristik bahasa pemrorgaman yang sebaiknya di pakai. Diantaranya yaitu :

1. Object-Orientedness
Karena agent adalah berhubungan dengan obyek, bahkan beberapa penelitimenganggap agent adalah obyek yang aktif, maka juga agent harusdiimplementasikan kedalam pemrorgaman yang berorientasi obyek (object-orientedprogramming language).

2. Platform Independence
Seperti sudah dibahas pada bagian sebelumnya, bahwa agent hidup danberjalan diberbagai lingkungan. Sehingga idealnya bahasa pemrograman yang dipakaiuntuk implementasi adalah yang terlepas dari platform, atau dengan kata lain programtersebut harus bisa dijalankan di platform apapun (platform independence).

3. Communication Capability
Pada saat berinteraksi dengan agent lain dalam suatu lingkungan jaringan(network environment), diperlukan kemampuan untuk melakukan komunikasi secarafisik. Sehingga diperlukan bahasa pemrograman yang dapat mensupportpemrograman yang berbasis network dan komunikasi.

4. Security
Faktor keamanan (security) adalah factor yang sangat penting dalam memilihbahasa pemrorgaman untuk implementasi software agent. Terutama untuk mobilagent, diperlukan bahasa pemrograman yang mensupport level-level keamanan yangbisa membuat agent bergerak dengan aman.

5. Code Manipulation
Beberapa aplikasi software agent memerlukan manipulasi kode programsecara runtime, sehingga diperlikan bahasa pemrograman untuk software agent yangdapat menangani masalah runtime tersebut.Dari karakteristik di atas dapat disimpulkan bahwa bahasa pemrograman yang layak untuk mengimplementasikan software agent adalah sebagai berikut :
• Java
• Telescript
• Tcl/Tk, Safe-Tcl, Agent-Tcl



source :
http://yanti164.wordpress.com/2008/08/19/perangkat-lunak-komputer/

http://pandawa.ipb.ac.id/ilmukomputer.org/2009/01/05/pengantar-software-agent/index.html
http://pandawa.ipb.ac.id/ilmukomputer.org/2006/08/25/pengantar-multi-agent-sistem/index.html

0 komentar:

Posting Komentar

Follower

Chat

 

Copyright © 2008 Designed by SimplyWP | Made free by Scrapbooking Software | Bloggerized by Ipiet Notez | Distributed by Deluxe Templates