JURNAL: SISTEM KOMPRESI PADA UPDATE SOFTWARE BERBASIS MOBILE AGENT




 SISTEM KOMPRESI PADA UPDATE SOFTWARE BERBASIS MOBILE AGENT


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:
  1. Durasi waktu pengiriman data yang terkompresi jauh lebih cepat dibandingkan durasi waktu pada pengiriman data yang tidak terkompresi, hal tersebut dapat menghemat bandwith jaringan.
  2. Algoritma DMC dapat mengompresi dengan baik pada data .class yaitu data object.
  3. 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.
Diakses tanggal 12  September  2012. http://www.ilmukomputer.com.
[10] Bellifemine. Fabio, Caire. Giovanni, Greenwood. Dominic, “Developing Multi-Agent  System with JADE”, John Willey and Sons, Ltd, West Sussex, England, 2007