• Tidak ada hasil yang ditemukan

Perancangan dan Implementasi Perangkat Lunak Informasi Saham Berbasis Intelligent Mobile Agent Menggunakan Aglets

N/A
N/A
Protected

Academic year: 2021

Membagikan "Perancangan dan Implementasi Perangkat Lunak Informasi Saham Berbasis Intelligent Mobile Agent Menggunakan Aglets"

Copied!
6
0
0

Teks penuh

(1)

Perancangan dan Implementasi Perangkat Lunak Informasi

Saham Berbasis Intelligent Mobile Agent Menggunakan Aglets

Abdi Suryadinata

1)

Sidiq Syamsul Hidayat

2)

Bambang

Riyanto

3)

1)

PT. ASTRA HONDA-MOTOR, email:abdi.suryadinata@astra-honda.com

2)

Dept. Telekomunikasi,T. Elektro,Politeknik Negeri Semarang, email:dix@s.ee.itb.ac.id

3)

Lab.Sistem Kontrol dan Komputer,Jurusan Elektroteknik Institut Teknologi Bandung, email:briyanto@lskk.ee.itb.ac.id

Abstrak

-

Pencarian informasi di internet sering

memerlukan waktu yang lama dan melelahkan. Terlebih lagi mencari informasi data saham yang sangat banyak dan tersebar di beberapa tempat bursa. Agar pencarian dapat dilakukan dengan cepat dan mudah, maka digunakan perangkat lunak berbasis intelligent mobile agent yang bertindak untuk memonitor dan mengambil data saham tersebut, serta menampilkannya kepada user. Perangkat lunak ini menggunakan tiga buah agen yaitu agen pencari, agen database dan agen query. Dalam disain ini, agen diharapkan memiliki mobilitas lintas host, mampu melakukan pencarian database serta mampu menampilkan grafik moving average bagi klien. Percobaan dilakukan dengan menggunakan jaringan local area network dengan menggunakan 3 rumah agen yang memiliki data saling lepas. Tools yang digunakan untuk implementasi ialah JDK 1.1.8 dari Sun Microsystems dan Aglets 1.1.0 dari IBM.

Keywords: agent, aglet, mobile agent, intelligent

agent, intelligent mobile agent, multi agent system, mobile agent, informasi saham.

1. PENDAHULUAN

Perkembangan teknologi dan informasi dewasa ini tumbuh sangat cepat. Hal ini berdampak pada kondisi kerja yang sangat cepat. Agar dapat mengambil keputusan dengan cepat maka dibutuhkan informasi yang tepat. Untuk itu, timbul ide untuk mendelegasikan tugas-tugas yang kompleks dan menghabiskan waktu yang lama kepada suatu perangkat lunak, yaitu software agent.

Mengingat di Indonesia belum banyak aplikasi yang menggunakan software agent, maka pada penelitian ini dibuat suatu perangkat lunak agen yang dapat membantu pengguna dalam melakukan investasi saham. Pemilihan aplikasi agen ini didasari oleh kenyataan bahwa data-data saham merupakan data yang terus berubah dan lokasi saham yang tersebar secara geografis. Selain proses yang memakan waktu, koneksi dan keadaan server database yang dituju sering down merupakan potensi penghambat pekerjaan

user.

Dalam mengembangkan sistem ini dibutuhkan perancangan agen terdistribusi yang melibatkan banyak agen (multi agent). Pada sistem multi agen, agen-agen ini mempunyai fungsi sendiri-sendiri dan dapat saling berkomunikasi dan memberikan informasi. Agen dapat mendelegasikan tugasnya terhadap agen lain untuk mencapai tujuan yang diinginkan.

Pada sistem ini dibuat tiga jenis agen yaitu search

agent yang mencari server database saham, database agent yang bertugas untuk melakukan koneksi database dan query agent yang bertugas untuk

mengirimkan perintah SQL.

1.1. Perangkat Lunak Agen

Belum ada kesepakatan umum tentang difinisi agen [7], namun pengertiannya dapat dilihat dalam dua perspektif, yaitu user perspektif dan sistem perspektif.[4]

User perspektif mendifinisikan agen sebagai

perangkat lunak yang bertindak sebagai perantara/agen atau broker bagi user, memperbolehkan user mendelegasikan tugas

kepadanya, serta melakukan pekerjaan seperti yang diperintahkan user.

Sedang dalam perspektif sistem, agen adalah perangkat lunak yang mengenali lingkungan kerjanya dan memiliki sifat-sifat agen yang dimandatkan.

Secara esensial agen adalah objek software dengan 3 ciri utama [2]

1. menyatu dengan lingkungannya 2. memiliki sifat-sifat yang dimandatkan:

Reactive -- dapat merasakan perubahan pada

lingkungannya dan bertindak sesuai dengan perubahan lingkungan tersebut.

Autonomous -- memiliki kontrol terhadap tindakannya

sendiri.

Goal-driven – bersifat pro-active untuk mencapai

tujuan

Temporally continuous – dapat melanjutkan proses

eksekusi di tempat lain.

3. memiliki salah satu atau lebih sifat-sifat berikut

Communicative – dapat berkomunikasi dengan agen

lain

Mobile – dapat berpindah dari satu host ke host lain Learning – beradaptasi sesuai dengan pengalaman sebelumnya;

Believable – dapat dipercaya pada tingkat end-user, agen tidak akan merusak data user..

____________________________________________ Paper ini telah disajikan pada Seminar of Intelligent Technolgy and Its Applications (SITIA) 2002, ITS Surabaya, 7 May 2002

(2)

Bila kita membicarakan tentang software agent, maka ada tiga ‘sumbu’ untuk mengukur kemampuan agen, yaitu: agency, intelligence, dan mobility[1].

Agency merujuk pada sifat-sifat otonom, intelligence

menunjukan kemampuan agen untuk menangkap dan menerapkan pengetahuan tertentu dan menyelesaikan masalah. Sedangkan mobility menunjukan kemampuan berpindah melalui jaringan.

Intelligent agent harus dapat mengenali kejadian

tertentu, mengartikan kejadian tersebut, dan mengambil tindakan selaku user. Intelligent agent juga dapat diklasifikasikan berdasar fungsinya, yaitu:

interface agent dan information agent. Interface agent

bertindak sebagai asisten pribadi yang akan menyelesaikan tugas-tugas user. Sedang information

agent digunakan mencari informasi untuk user.[1]

Agen bergerak nantinya akan banyak digunakan diberbagai sektor karena memiliki berbagai keuntungan. Ada beberapa alasan pendukungnya antara lain [2]

1. mengurangi trafik jaringan karena hanya menggunakan jaringan saat berpindah saja.

App Service

RPC Based

Host A Host B

App Service

Mobile agent-based approach Gbr 1: RPC dan Mobile Agent

2. mengatasi network latency, sistem real time yang kritis, dimana latensi tak dibolehkan, mobile agent memberikan solusi yang baik, karena agen dapat berpindah dari pusat kontroler ke kontroler lokal dan dapat menjalankan program secara langsung di kontroler lokal.

3. enkapsulasi protocols

Agen mengkapsulasi protokol untuk mengakomodasi berbagai protocol, sehingga mobile agen dapat berpindah ke remote host dalam rangka membangun “channel” yang didasarkan pada protokol yang dimiliki.

4. asynchronous dan autonomous, agen dapat ditugaskan dan dikirim ke jaringan. Kemudian agen akan independent menjalankan tugas serta beroperasi asinkronous dan outonomos. Agen dapt ditarik kembali (retract) bila peralatan dihubungkan kembali ke jaringan.

5. beradaptasi secara dinamis dengan lingkungan,

mobile agent memiliki kemampuan beradaptasi

dengan lingkungannya, dan bereaksi otonom untuk merubah lingkungan seperti memperbaiki kondisi lingkungan untuk menyelesaikan suatu permasalahan.

App Service App Service App Service Send Agent Disconnected Reconnect and Return

Gbr 2: asynchronous dan autonomous

6. heterogen, komputer jaringan pada dasarnya heterogen baik software maupun hardware. Mobile

agent independent terhadap komputer dan transport

layer dan hanya tergantung pada lingkungan eksekusi sehingga agen menyediakan kondisi optimal untuk sistem integrasi.

7. robust dan fault-tolerant, kemampuan bereaksi terhadap situasi tidak menguntungkan dan memiliki toleransi terhadap kesalahan. Bila host akan shutdown, semua agen yang sedang berjalan di host tersebut akan diberitahu dan diberi waktu untuk dispatch dan melanjutkan operasi ke host lain dalam jaringan.

2. AGLET 2.1 Aglet Model

Aglet merupakan mobile agent yang cerdas dan gesit berbasis java [2]. Nama aglet diturunkan dari gabungan dua kata agent dan applet [5] dikembangkan oleh lembaga riset IBM, merupakan gabungan object java bergerak yang dapat mempertahankan thread eksekusinya sendiri dan dapat berkomunikasi dengan aglet lainnya. [3]

Aglet menggunakan model call-back berbasis pada model delegasi event java. Selama daur hidupnya, aglet menerima berbagai macam event sebagai respon dari aksinya. Sebagai contoh, jika ia dideaktivasi ke suatu media penyimpan yang tetap,

event yang persistence terjadi sesaat sebelum

deaktivasi. Metoda call-back yang berhubungan dengan on-deactivating didefinisikan sehingga jika ada event aktivasi ke media penyimpan tersebut maka metode tersebut akan beraksi sesaat setelah aktivasi. Selanjutnya aglet dapat menentukan apa yang harus ia lakukan ketika suatu event tertentu terjadi. [3]

Aglet berkomunikasi dengan lingkungannya (aglet host) melalui object aglet context. Untuk berinteraksi dengan yang lain, aglet pergi ke aglet

proxy. Aglet proxy beraksi sebagai antarmuka dari

sebuah aglet dan menyediakan suatu cara untuk mengakses aglet dibelakangnya. Dengan cara ini,

aglet proxy menjadi pelindung agen dari agen lain

(3)

2.2 Pola Hidup Aglet

Berikut ini merupakan pola hidup dari suatu aglet mulai dari ia diciptakan sampai dimatikan [2]

• Created : Menghasilkan aglet baru : state agen tersebut diinisialisasi, dan thread utamanya mulai dieksekusi.

• Cloned : Menghasilkan aglet kembarannya : state saat ini dari agen yang asli diduplikasi pada clonenya, tetapi ia mempunyai ID yang berbeda.

• Retracted : Menarik kembali agen yang telah dikirim dari remote host. Kode dan data kembali dengannya.

• Deactivated : aglet diperintahkan untuk menghentikan proses eksekusi, kode dan data disimpan pada disk.

• Activated : aglet diaktifkan kembali , kode dan data direstore dari disk.

• Disposed : aglet dimatikan.

Gbr. 3: Aglets lifestyle

3. PERANCANGAN

Pada bagian ini akan diterangkan desain sistem keseluruhan.

3.1 Skenario

Pada sistem ini client akan mengunjungi suatu agent server yang akan memberikan informasi tentang saham yang diinginkan client. Langkah kerjanya ialah sebagai berikut :

• User/client mengisikan login melalui GUI di bagian Client

• Agen Database melakukan pengecekan apakah nama login sudah ada atau belum. kalau belum ada akan mengirimkan pesan untuk memasukkan nama login yang lain. • Setelah login diterima maka client

memasukkan parameter yang dicari yaitu kode saham dan alamat kemungkinan

database berada kemudian client

menciptakan agen pencari (search agent). • Agen pencari mulai mencari koneksi dan

pindah dari satu rumah agen ke rumah agen lain berdasarkan itinerary.

• Agen pencari pulang kembali ke client memberikan informasi daftar rumah agen yang aktif.

• Agen database diciptakan berdasarkan daftar rumah agen yang aktif.

• Agen query diciptakan untuk melakukan pencarian kode saham kemudian membuat file text yang berisi daftar kode saham dan alamat database.

• Selanjutnya sistem akan melakukan pengambilan data dan mengolah informasi tersebut menjadi grafik moving average.

Gbr. 4: Arsitektur Sistem

3.2 Desain Sistem

Proses sistem akan dijelaskan melalui Data Flow

Diagram. Context diagram dari sistem informasi

saham digambarkan berikut ini.

Sistem informasi saham User Server Saham kode saham Agen Pencarian informasi saham informasi saham Identitas user

Gbr. 5: Diagram kontek sistem

Dari Gambar 5 di atas terlihat bahwa user memberikan informasi dirinya, agen pencari dan kode saham. Pada sistem ini sebenarnya kode saham sudah termasuk dalam agen pencari. Tetapi, untuk pertama kali dan bila user ingin mencari saham yang lain maka

user perlu memasukkan variabel tersebut. Sistem akan

memberikan informasi saham kepada user yang diberikan melalui agen pencari. DFD level 1 dari sistem ini di gambarkan pada Gambar 6

Client 192.168.1.2 Server 2 192.168.1.1 Server 1 192.168.1.6 Internet (TCP IP) Search Agent Search Agent Search Agent informasi koneksi informasi koneksi informasi koneksi DatabaseAgent QueryAgent

(4)

informasi saham 1 pemrosesan informasi customer 2 pemrosesan informasi saham 3 verifikasi user dan

kode saham 4 Analisis Saham T_saham T_customer informasi user data

customerdata saham

kode saham user agent

data

customer data saham kode

saham

Gbr. 6: DFD Level1

Dari DFD diatas terlihat ada empat proses dalam sistem ini yaitu :

• Pemrosesan informasi client

Pada proses ini client memberikan informasi dirinya berupa nama login dan password untuk dapat mengakses data saham.

• Pemrosesan informasi saham

Pemrosesan informasi saham ini didapat dari jaringan TCP-IP, namun disini digunakan pseudo site. Saat informasi saham diterima sistem, sistem akan melakukan pengecekan apakah data saham yang diterima baru. Jika data baru, akan dilakukan penambahan data saham pada daftar saham.

• Proses verifikasi user dan kode saham

Pada proses ini, sistem melakukan pengecekan informasi user dan kode saham yang dibawa oleh agen. Sistem melakukan pengecekan informasi saham terlebih dulu. Bila informasi user valid maka dilakukan pengecekan kode saham, bila kode saham

valid maka akan dilanjutkan dengan proses predikasi

saham

• Proses analisis saham

Proses ini hanya melakukan perhitungan analisis teknikal dari saham yang diminta user.

4. IMPLEMENTASI

Aplikasi ini dibangun dengan menggunakan bahasa JAVA yaitu JDK 1.1.8 keluaran SUN Microsystem. Sedangkan untuk platform pembuatan

mobile agent menggunakan API aglet development kit

versi 1.1.0 yang dikembangkan oleh IBM dengan framework berbasis JAVA.

Sistem Analisis Rumah Agen Rumah Agen Rumah Agen Rumah Agen Client Jaringan TCP-IP Message Sistem Client Agen Client Agen Client Agen Client Agen Client Gbr. 7: Sistem Client

4.1 Implementasi Database Saham

Aplikasi ini terdiri dari dua bagian utama yaitu

database saham dan aplikasi client-user analisis

saham. Mysql digunakan untuk membuat database utama dan untuk melakukan koneksi dengan JAVA menggunakan JDBC-mysql sebagai driver nya, sehingga program dalam bahasa JAVA dapat melakukan query terhadap database.

4.2 Implementasi User Interface Client

Pada aplikasi ini agen yang diciptakan user akan tinggal di server database yang menjalankan aglet-context tahiti. Dengan menggunakan tahiti maka agen yang dispatch dapat dilihat di server bahwa ia sedang berada di tempatnya. Berdasarkan hal-hal tesebut maka tidak dibuat suatu GUI khusus untuk rumah agen pada server. Agar user dapat berinteraksi dengan agennya maka dibuat suatu GUI yang memudahkan

user untuk mengatur parameter-parameter yang akan

dibawa oleh agen.

Agar user dapat menciptakan agennya sendiri maka pada client dibuat suatu rumah agen yang built

in dengan sistem analisis saham client. Untuk itu pada client ditambahkan kemampuan server agen yaitu aglet context. Dengan aglet context maka user dapat

menciptakan agennya sendiri dan agen dari tempat lain dapat berinteraksi dengan agennya.

5. PENGUJIAN 5.1 Desain Pengujian

Untuk melakukan pengujian sistem ini maka dibuat dua buah host agen yang masing-masing memiliki database. Pada database tersebut disiapkan data saham yang masing-masing terpisah sehingga tidak mungkin ada dua saham yang sama berada pada satu database. Pengujian ini dimaksudkan untuk melihat mobilitas agen dan kemampuan client untuk meng-create agen. Untuk mengisi database saham, dibuat suatu program untuk mengisi data saham yang berubah setiap hari sehingga dapat mewakili kasus uji sistem ini.

5.2 Hasil Pengujian

Dari hasil pengujian terlihat bahwa agen dapat pergi ke rumah agen sesuai dengan planning yang dituju, hal itu diperlihatkan dengan sampainya agen ke tempat-tempat tujuan rumah agen yang dapat dilihat dari Tahiti dan perubahan alamat pada file text. Hasil pengujian secara lengkap dapat dilihat pada Tabel 1. Sementara tampilan dari hasil pengujian dapat dilihat pada Gambar 8 dan 10.

Sementara pada tampilan window client terlihat seperti pada Gambar 9. Agar client dapat menciptakan agen maka pada bagian client diambil sebagian kemampuan server yaitu host agent. Dengan adanya host agent tersebut maka

agen dapat diciptakan dan tinggal di client dan mampu menerima pesan-pesan dari agen lain.

(5)

5.3 Evaluasi Pengujian

Dari hasil pengujian terlihat bahwa aplikasi ini telah memenuhi kriteria sistem multi agen dan

intelligent mobile agent. Mengacu pada definisi yang

telah disebutkan sistem ini dapat digolongkan pada sistem :

1. Mobile agent yaitu agen pada aplikasi ini dapat berpindah-pindah antar rumah agen ke rumah agen yang lain.

2. Otonom yaitu agen mampu memonitor lingkungannnya dan mampu bekerja untuk mencapi tujuan yang ditetapkan.

Gbr 8: Tampilan console penciptaan agent

Pada aplikasi ini agen dapat memonitor koneksi

database yang aktif dan mengambil data yang

diinginkan pengguna.

3. Multi agent, yaitu agen dapat bekerja sama untuk mencapai tujuan yang sama. Pada aplikasi ini ditunjukkan oleh agen query dan agen database. Agen query mengirimkan perintah SQL sesuai apa yang didefinisikan user dan agen database

menerima kode SQL tersebut untuk melakukan pengambilan data.

Gbr. 9: Tampilan window client

Gbr.10: Tampilan graph pada window client

4. Fault-tolerant, bila jaringan putus maka agen dapat tinggal di rumah agen dengan tetap menyimpan informasi dan state eksekusi program serta dapat kembali jika koneksi jaringan tersambung.

5. Berdasakan fungsinya, sistem agen ini termasuk

intelligent, karena mampu mengenali database

server yang aktif maupun tidak, serta dapat melakukan aksi tertentu terhadap kondisi

database yang dikunjungi.

Tabel 1

Kasus Uji Tujuan Pengujian Hasil yang Diharapkan

Hasil Pengujian Kesimpulan Tombol search Berhasil tidaknya Create agen Agen berhasil diciptakan Agen berhasil dicreate Berhasil Mobilitas agen Mengetahui Mobilitas agen Agen berpindah sesuai planning Agen pindah sesuai planing Berhasil Perubahan Vektop alamat Mengetahui perubahan alamat pada file text

Terjadi perubahan alamat pada file text

perubahan alamat pada file

text

Berhasil

Tombol Graph

Mengetahui keberhasilan koneksi yang dibuat oleh agen DB dan agen query

Berhasil menciptakan graph

Graph berhasil diciptakan

(6)

6. KESIMPULAN

Perangkat lunak berbasis agen dapat membantu untuk mengambil informasi dari beberapa lokasi yang terhubung ke jaringan TCP-IP karena kemampuan mobilitasnya.

Kemampuan agen membawa kode dan state program membuat perangkat lunak berbasis agen dapat terhindar dari koneksi jaringan yang kurang baik. Bila dibandingkan dengan pengambilan data konvensional seperti RMI dan CORBA, maka kelebihan dari sistem berbasis agen ini ialah mampu menyimpan informasi yang ia dapatkan tanpa terganggu koneksi jaringan.

Sifat agen yang otonom juga membantu agen dalam berinteraksi dengan lingkungan sehingga ia dapat bekerja mencari tujuan yang ditetapkan walaupun ia berada pada remote area.

Kemampuan agen bekerja sama dengan agen lain membantu developer perangkat lunak membuat sistem multi-agen yang lebih komplek dengan membagi tugas kepada beberapa agen.

PUSTAKA ACUAN

[1] Bigus,P.Joseph and Bigus, Jennifer, “Constucting Intelligent Agent Using Java”, second edition, John Wiley & Son, 2001

[2] Danny B. Lange and Mitsuru Oshima, “Programming And Deploying Java Mobile

agents With Aglets”, Addison-Wesley, 1998.

[3] Feng Zhang, Zhenghao Dong, “A New technique: Agent”

[4] Kimble Cheron, Professor Steven A. Demurjian, and Mitch Saba, “Software Agents and Aglets”, Computer Science & Engineering Department, The University of Connecticut. [5] Mahmoud, H Qusay, ”Distributed

Programming With Java”, Manning Pub., 2000.

[6] Mitsuru Oshima, Guenter Karjoth, and Kouichi Ono, “Aglets Specification 1.1 Draft”, 1998. [7] Murch, Richard and Johnson, Tony, Intelligent

Software Agents, Prentice Hall,1998.

[8] Sidiq S Hidayat,”Agen Bergerak Berbasis Java”, Tele, edisi April 2002 (Jurnal Ilmiah T.Elektro Politeknik Negeri Semarang).

[9] Wooldridge, M.J., Jennings, N.R.: Software Engineering with Agents: Pitfalls and Pratfalls,

IEEE Internet Computing, Vol. 3, No. 3,

Gambar

Tabel 1  Kasus Uji  Tujuan Pengujian  Hasil yang

Referensi

Dokumen terkait

Ketidakjujuran akademik juga berkaitan dengan asal sekolah, sekolah yang umum (tidak berbasis agama) lebih banyak dibandingkan dengan sekolah yang berbasis agama

Dengan demikian Kode Etik Advokat Indonesia adalah sebagai hukum tertinggi dalam menjalankan profesi, yang menjamin dan melindungi namun membebankan kewajiban

Data yang diambil adalah nilai jumlah Monitor Unit hasil software.. ISIS dan nilai jumlah Monitor Unit hasil simulasi

Lombok Tengah 10.000.000 181 Panitia Pembangunan Masjid Nurul Huda Lengkok Dalam Selong Belanak Praya Barat

Penelitian ini menunjukkan bahwa struktur tema- rema dalam teks abstrak berbahasa Indonesia terdiri atas empat klasifikasi struktur, yaitu (a) tema tunggal (TT), (b) tema ganda

Perencanaan (planning), Merupakan perencanaan kegiatan yang dilakukan bersama antara peneliti dengan kolaborator sebagai mitra dalam penelitian tindakan kelas, untuk

Simbol yang sering muncul akan dikodekan dengan kode yang sama dan yang hanya mengambil tempat beberapa bits saja, sedangkan simbol yang jarang digunakan direpresentasikan

Kemudian, sambungkan alat pengukur tingkat kematangan buah dengan komputer menggunakan kabel USB melalui USB Port.Perhatikan lampu indicator.Jika lampu indicator menyala berarti