Abstrak
Sistem kompresi pada
update software berbasis mobile agent adalah hasil pengembangan dari tugas
akhir sebelumnya yaitu “Implementasi Mobile Agent pada Automatic Software
Update” oleh Arif Susanto.
Kebutuhan akan automatisasi update software client sangat dibutuhkan untuk
menangani update software dengan jumlah client yang cukup banyak. Pemampatan data update software dibutuhkan untuk mengefisiensikan
jaringan mengingat aktivitas di dalam jaringan tidak hanya pengiriman data
update, selain itu fungsinya juga untuk mengamankan data tersebut. Algoritma
DMC(Dynamic Markov Compression) adalah suatu algoritma pemampatan data yang
sangat baik untuk data object. Algoritma ini yang akan dipakai dalam tugas
akhir ini.
Kata Kunci : Mobile Agent,
DMC.
I. PENDAHULUAN
Pada suatu perusahaa biasanya memakai banyak
komputer untuk menyelesaikan tugas mereka. Kebutuhan update software terkadang
sangat merepotkan jika harus dilakukan pada tiap komputer.
Software
update adalah suatu data yang
dibutuhkan untuk memperbarui aplikasi
atau software yang sudah terinstall
sebelumnya.
Pembaruan aplikasi ini sangat dibutuhkan agar kinerja dari aplikasi bisa
dimanfaatkan dengan maksimal di masing-masing client. Maka dibuatlah sistem update otomatis dengan memanfaatkan mobile agent.
Untuk
pengiriman data update tersebut
dibutuhkan pemampatan data yang bertujuan untuk mengefisiensikan jaringan
mengingat aktivitas di dalam jaringan tidak hanya update software, dan data dapat diamankan.
II. TINJAUAN
PUSTAKA
2.1 Definisi
Agent
Dari segi definisi,
banyak orang yang memberikan definisi terhadap istilah agent itu sendiri.
Namun, dari semua definisi tersebut, dapat ditarik suatu kesimpulan, bahwa
agent adalah suatu komponen perangkat lunak khusus yang bersifat otonom yang
menyediakan interface yang bersifat interoperabel ke berbagai sistem, dan
dapat berlaku seperti agent pada manusia, yang bekerja pada client-nya, dalam
rangka mencapai agenda yang diberikan padanya.
Mobile
agent adalah suatu objek software khusus yang otonomus
dan memiliki kemampuan untuk migrasi dari satu node ke node yang lainnya,
membawa data dan logika, melakukan suatu aksi dari user.
2.2 JADE
Framwork
(Java
Agent Development Framework) adalah suatu framework software yang secara sederhana mengimplementasikan sistem
multi agent melalui middleware, dengan mengikuti spesifikasi dari FIPA (Foundation for Intelligent Physical Agent).
JADE merupakan middleware yang memberikan fasilitas untuk mengembangkan dan
membangun suatu sistem multi agent.
Komponen-komponen yang dimiliki oleh JADE antara lain [2]:
· Runtime environtment,
dimana agent dapat hidup, dan harus aktif pada host sebelum agent dieksekusi.
·
Library,
dari kelas yang dapat digunakan untuk mengembangkan agent.
·
Graphical
Tools, untuk memudahkan proses administrasi dan monitoring dari agent yang sedang aktif.
Setiap
instance yang aktif pada runtime
environment JADE disebut Container,
yang dapat berisi beberapa agent. Set Container
yang aktif disebut Platform. Sebuah Main-Container
tunggal harus aktif dalam suatu platform,
dan setiap container yang ada harus
teregistrasi pada Main-Container
tersebut.
Kelas ACLMessage merepresentasikan suatu pesan
ACL yang dapat dipertukarkan antara agent yang satu dengan agent yang lain. ACLMessage berisi satu set atribut yang
terdefinisi dalam FIPA.
Suatu agent yang akan
mengirimkan pesan harus membuat objek baru ACLMessage,
mengisikan atribut-atribut yang ada di dalamnya dengan nilai yang tepat, dan
kemudian memanggil method Agent.send()
untuk mengirimkan pesan ke agent yang lain.
2.3 Algoritma DMC
Kompresi Data
merupakan cabang ilmu
komputer yang bersumber
dari Teori Informasi. Teori
Informasi sendiri adalah
salah satu cabang
Matematika yang berkembang
sekitar akhir dekade 1940-an. Tokoh utama dari Teori Informasi adalah Claude
Shannon dari Bell Laboratory. Teori Informasi mengfokuskan pada berbagai
metode tentang informasi
termasuk penyimpanan dan
pemrosesan pesan.
Dynamic
Markov Compression adalah model kompresi yag terdiri dari 2 stage yang
dikembangkan oleh Cormarck dan Horspol. Stage 1 menggunakan mesin finite state
untuk mengestimasi kemungkinan dari simbol berikutnya. Stage 2 yaitu pengkode
aritmatika yang menampilkan kompresi secara nyata. Memanggil kembali method PPM
yang memiliki cara kerja yang sama.
Algoritma
ini dikembangkan untuk data binari. Sebagai contoh umum dari data binari yaitu
file kode mesin, gambar, dan suara. Setiap state dari mesin finite state DMC
membaca sebuah bit dari apa yang diinputkan, memberikan probabilitas yang
didasarkan dari yang sudah diperhitungkan sebelumnya, dan beralih ke salah satu
dari state lain tergantung dari bit apa
yang diinputkan adalah bit 1 atau 0.
Algoritma dari kompresi
DMC [8]:
1. s ß 1 ( jumlah state sekarang )
2. t ß 1
(state sekarang)
3. T[1][0] = T[1][1] ß 1
(model inisialisasi)
4. C[1][0] = C[1][1] ß 1
(inisialisasi untuk menghindari masalah frekuensi nol)
5. Untuk setiap input bit e :
· u
ß t
·
t ß T[u][e] /*ikuti
transisi*/
· Kodekan
e dengan probabilitas : C[u][e] / (C[u][0]
+ C[u][1])
· C[u][e]
ß C[u][e]+1
· Jika
ambang batas cloning tercapai, maka :
-
s ß s + 1 (state baru t’)
-
T[u][e]
ß s ; T[s][0]
ß T[t][0]
; T[s][1] ß
T[t][1]
-
Pindahkan beberapa dari C[t]
ke C[s]
III. ANALISA DAN PERANCANGAN SISTEM
3.1 Interaksi Data
Agent Server
Pada bagian
ini akan menjelaskan bagaimana interaksi antara server dan client dalam proses pengiriman data update terbaru. Sebelum terjadi pengiriman data update software, kedua agent akan saling berkomunikasi terlebih
dahulu.
Dilihat dari gambar diatas
tugas dari agent server adalah:
1.
Mengirim
info/ notifikasi data update terbaru.
2.
Menerima
request data update dari client.
3.
Melakukan
kompresi data update software.
4.
Mencari
agent client yang sedang aktif di DF Agent.
5.
Mengirim
data update terbaru pada agent client yang aktif.
3.2 Interaksi Data Agent Client
Pada bab ini
akan dijelaskan bagaimana agent client
dan agent server berkomunikasi untuk
mengirimkan data update server dari agent server kepada agent client.
Adapun tugas dari agent
client dapat dilihat dari gambar diatas:
1.
Register
ke main container pada PC server.
2.
Mengirim
permintaan data update sofware.
3.
Menerima
data update software dari agent
server.
4.
Melakukan
Dekompresi data update software.
5.
Mengupdate
dengan data update terbaru.
6.
Mengirim
notifikasi ke agent server.
3.3 Proses Kompresi
Data update
terbaru akan dikirim kepada agent client
aktif. Pada saat akan dikirimkan data tersebut telah melalui proses kompresi pada saat admin memilih file dari directory sehingga ketika ia melewati jaringan, data sudah
mengalami pemampatan data. Ketika data update tersebut sampai pada agent
client, dengan segera mungkin agent client akan melakukan proses dekompresi
data update menjadi suatu data yang utuh seperti semula.
Flowchart
proses kompresi-dekompresi data update
Setelah
data update melewati jaringan, maka data update yang terkompresi dari agent
server akan direkontruksi kembali menjadi data yang utuh dan siap untuk
mengupdate aplikasi.
IV.
IMPLEMENTASI DAN PENGUJIAN
4.1.
Interface server
Gambar
4.1 Interface
adminstrator di server
Di
atas ini adalah gambar dari aplikasi di
server untuk memantau tugas masing-masing agent. Pada gambar terdapat dua menu yaitu File dan Help. Fungsi
menu File adalah untuk memudahkan user /administrator memilih file update terbaru dari directory komputer dan menutup aplikasi.
Sedangkan menu Help berfungsi untuk
memberikan petunjuk bagi user/administrator
jika mendapatkan kesulitan atau tidak bisa mengoperasikan.
Pada
interface tersebut terdapat empat TextArea yaitu untuk melihat aktivitas
agent server, agent client, aktivitas
system server dan agent. Di sisi sebelah kanan TextArea terdapat nama-nama client yang siap menerima pengiriman data update dari agent. Pengiriman data update software dapat dilakukan jika client telah teregister dan
dalam keadaan aktiv. Jika data telah dipilih oleh adminstrator dan terdapat message
permintaan dari agent client maka adminstrator akan menekan button yang telah tersedia pada interface.
Semua
aktivitas yang dilakukan agent server dan agent client akan terlihat pada
monitor masing-masing agent, sehingga
memudahkan administrator untuk
memantau tugas para agent. Fungsi TextArea
ketiga yaitu untuk mengetahui proses kompresi yang dilakukan system setelah file dipilih oleh user/administrator.
Fungsi TextArea keempat yaitu untuk menampilkan
aktivitas agent client menerima data dari server dan adanya pemberitahuan bahwa
dekompresi pada agent client telah berhasil didekompresi.
4.2. Pengujian
Sistem
4.2.1
Skenario
Uji Fungsionalitas
·
Dibawah
ini adalah hasil capture degan 1 client aktiv dan pemilihan file oleh user
Ø Dibawah ini adalah penanda bahwa client yang terseleksi
menandakan client aktiv dan untuk yang tidak terseleksi menandakan ia belum
aktiv. Bisa dilihat pada monitor client, disana menjelaskan bahwa client satu
telah registrasi pada DFAgent dan
mendaftarkan aplikasinya.
Ø
Ketika
terpilihnya sebuah file oleh user,
sistem akan melakukan kompresi sehingga data yang akan dikirimkan mengalami
pemampatan data. Pada monitor sistem akan terlihat ukuran asli, ukuran kompresi
dan ratio file.
Ø Sebelum dikirimkan oleh agent server, agent akan mencari
terlebih dahulu agent-agent client yang aktiv. Jika sistem sudah menemukan maka
pemberitahuan akan muncul pada monitor server.
Ø
Setelah
agent server mengirimkan kepada agent client. Agent client akan menerimanya dan
melakukan dekompresi terlebih dahulu kemudian mengupdate aplikasinya. Jika
aplikasi telah terupdate maka agent client akan mereply kiriman data tersebut
dengan mengirimkan pemberitahuan berhasil update.
4.2.2
Evaluasi
Pengujian Performa Sistem
Pada
pengujian performa sistem akan dilakukan evaluasi, dimana pengujian ini
didasarkan pada seberapa besar data yang akan dikirimkan yang nantinya akan di
kompresi dengan algoritma DMC(Dynamic
Markov Compression), dan beberapa client yang siap untuk menerima data dari
server.
·
Parameter
pertama yaitu agent server akan melakukan pengiriman data kepada satu client
yang aktiv dengan beberapa data yang memiliki besar data yang berbeda.
Ukuran
Asli
|
Uk.
Kompresi
|
Waktu
Kompresi
|
Wkt.
Kirim Asli
|
Wkt.
Kirim Kom
|
Ratio
Kompresi
|
(KByte)
|
(KByte)
|
(Milisecond)
|
(Milisecond)
|
(Milisecond)
|
(%)
|
173.015
|
7.805
|
4
|
19
|
17
|
96
|
280.485
|
9.819
|
53
|
27
|
20
|
97
|
347.17
|
11.784
|
64
|
23
|
18
|
97
|
520.976
|
15.658
|
75
|
25
|
16
|
97
|
1.041.946
|
26.066
|
157
|
28
|
17
|
97
|
2.690.179
|
56.532
|
397
|
28
|
25
|
98
|
3.927.229
|
77.938
|
560
|
27
|
26
|
99
|
6.016.584
|
110.773
|
1190
|
35
|
24
|
99
|
26.5
|
20.375
|
Tabel 4.1
Pengiriman beberapa data kepada 1 client
Uji
coba pada skenario ini bertujuan untuk mengetahui seberapa besar ratio kompresi
yang dilakukan oleh algoritma DMC dan
perbandingan waktu pengiriman data yang
telah terkompresi dan data yang tidak terkompresi kepada client. Waktu proses
data terkompresi diperoleh dimulai dari user memilih file dari directory.
Waktu kirim diperoleh dari ketika user menekan tombol send dan diterima oleh agent client.
Perbandingan
waktu pengiriman data yang terkompresi dan tidak terkompresi terbilang selisih.
Pengiriman waktu data terkompresi relatif lebih cepat yaitu 20.375 dan data yang tidak terkompresi mempunyai
waktu rata-rata 26.5 Second.
·
Parameter
kedua yaitu agent server akan melakukan pengiriman satu data kepada client yang
jumlahnya bertahap dari terkecil ke jumlah yang lebih besar yaitu maksimal 5
client dengan besar data 1.041.946 KB.
Tabel 4.2
Pengiriman data kepada 1 client
Tabel 4.3
Pengiriman data kepada 2 client
Tabel 4.4
Pengiriman data kepada 3 client
Tabel 4.5
Pengiriman data kepada 4 client
Tabel 4.6
Pengiriman data kepada 5 client
Dari tabel diatas dapat dilihat waktu
pengiriman data kepada jumlah komputer yang bervariasi. Pengaruh dari semakin
banyaknya jumlah komputer yang akan dikirim data update yaitu mempengaruhi
waktu pengiriman yang melambat sesampainya di client. Pada pengiriman data yang
tidak terkompresi lebih memiliki durasi waktu yang lebih lama daripada data
yang terkompresi dan semakin banyaknya client yang dikirim data tersebut
menyebabkan waktu yang dipakai untuk pengiriman memiliki durasi yang lebih
lama.
V. KESIMPULAN
DAN SARAN
5.1.
Kesimpulan
Dari pembuatan tugas akhir ini,
dapat diambil kesimpulan sebagai berikut:
- Durasi waktu pengiriman data yang terkompresi jauh lebih cepat dibandingkan durasi waktu pada pengiriman data yang tidak terkompresi, hal tersebut dapat menghemat bandwith jaringan.
- Algoritma DMC dapat mengompresi dengan baik pada data .class yaitu data object.
- Semakin banyaknya client akan mempengaruhi durasi waktu pngiriman yang menyebabkan performa turun namun ini suatu kewajaran disebabkan usabilitas jaringan yang semakin meningkat.
5.2. Saran
Berdasarkan
hasil evaluasi yang dilakukan terhadap sistem, ada beberapa saran yang perlu
dipertimbangkan dalam pengembangan teknologi ini, yaitu :
1.
Perlu
adanya eksperimen lebih lanjut tentang durasi waktu yang dipakai untuk
kompresi.
2. Perlu adanya
perbaikan-perbaikan di dalam mengimplementasikan behaviour yang ada dalam masing-masing agent.
VI. DAFTAR PUSTAKA
[1] Suhendra, Adang. Paradigma Mobile Agent dalam Manajemen
Jaringan Komputer. Universitas Gunadarma Jakarta.
[2] Caire, Giovani. 2003. JADE TUTORIAL JADE Programing for Beginners.
Tilab,Italia.
[3] Salomon, David. Data Compression : The Complete Reference
Fourth Edition. Springer.
[4] Martius. 2008. Behaviour dan Komunikasi Antar Sesama Agen pada Sistem Manajemen
KelasBerbasis Multi-Agen dengan Menggunakan JADE. Fakultas Teknik
Universitas Indonesia.
[5] Arman. 2008. Pengembangan Agent Server sebagai Antarmuka antara Agent dengan Server
Database pada Sistem Manajemen Kelas Berbasis Multi-Agent dengan Menggunakan
JADE. Fakultas Teknik Universitas Indonesia.
[6] Susanto, Arif.
2010. Implementasi Mobile Agent pada
Automatic Software Update. Fakultas Teknik Universitas Muhammadiyah Malang.
[7] Widhiarti, Putu.2003. Pengantar Kompresi Data.
Diakses tanggal 16
Desember 2012. http://www.ilmukomputer.com
[8] Witten, H.Ian,dkk.
1999. Managing Gigabytes : Compressing
and Indexing Documents and Images. Academic Press :United State of America
[9] Satrio W, Romi. 2003. Pengantar
Software Agent: Teori dan Aplikasi.
[10] Bellifemine.
Fabio, Caire. Giovanni, Greenwood. Dominic, “Developing Multi-Agent System with JADE”, John Willey and Sons,
Ltd, West Sussex, England, 2007