1
PENGAMANAN PERPINDAHAN MOBILE AGENT
MENGGUNAKAN METODE PASPOR DAN VISA
Mohamammad Fariz Alfian
1, Ary Mazharuddin Shiddiqi
2, Baskoro Adi Pratomo
3Jurusan Teknik Informatika, Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember
Email: fariz_alf@cs.its.ac.id
1ary.shiddiqi@cs.its.ac.id
2baskoro@if.its.ac.id
3ABSTRAK
Definisi dari Mobile Agent adalah sebuah program yang memiliki identitas unik dengan kemampuan memindahkan kode programnya, data di dalamnya dan kondisinya diantara mesin yang terhubung dalam jaringan. Kemampuan Mobile Agent tersebut diturunkan dari dua disiplin ilmu yaitu kecerdasan buatan dan sistem terdistribusi.
Penerapan Mobile Agent salah satunya pada perdagangan elektronik. Karena sifatnya yang dapat memindahkan komputasi ke tempat data berada diharapkan dapat mengurangi konsumsi bandwith tidak seperti perdagangan elektronik sekarang yang salah satunya masih menggunakan metode client-server.
Tetapi dibalik semua kelebihannya tersebut, Mobile Agent masih menyimpan sejumlah potensi keamanan. Dari sisi Pengguna Mobile Agent membutuhkan jaminan bahwa agentnya aman dan terlindungi dari serangan berbahaya selama melakukan perjalanan sedangkan dari sisi host yang dikunjungi juga butuh kepastian bahwa agent yang datang benar-benar berasal dari sumber yang terpercaya dan tidak akan merusak sistem mereka selama eksekusi.
Salah satu solusi dari permasalahan tersebut adalah dengan menerapkan metode paspor dan visa pada setiap agent yang akan melakukan perjalanan. Semua paspor dan visa tersebut memiliki digital signature yang membuktikan kevalidan pemilik dokumen tersebut dengan pemeriksaan ketika sebelum dan sesudah melakukan perpindahan.
Dalam tugas akhir ini dibahas bagaimana cara membangun sebuah perangkat lunak untuk mensimulasikan perpindahan mobile agent. Termasuk mendesain agent-agent didalamnya untuk memenuhi kebutuhan tersebut. Uji coba yang dilakukan dapat membuktikan bahwa Mobile Agent yang melakukan perpindahan dengan menggunakan metode paspor dan visa dapat membuktikan integritasnya. Hanya saja memakan waktu lebih lama dengan selisih 275,6 milidetik daripada metode konvensional. Namun dalam perdagangan elektronik yang menjadi prioritas adalah keamanan sehingga selisih waktu tersebut masih dapat ditolerir.
Kata kunci: pengamanan, mobile agent, paspor, visa, digital signature.
1. Pendahuluan
Menurut definisi dari World Trade
Organization (WTO), e-commerce adalah proses produksi, promosi, penjualan dan pemasaran dari
sebuah produk menggunakan media
telekomunikasi. Salah satu keuntungan
pemanfaatan e-commerce adalah menghilangkan batasan jarak karena letak posisi geografis dan lebih cepat dari proses konvensional karena dilakukan secara elektronik[1].
Karena meliputi transaksi keuangan di dalamnya, maka perihal keamanan menjadi fokus utama. Teknologi mobile agent telah diperkenalkan sebagai peradigma baru untuk membangun sistem perdagangan elektronik yang pintar. Hal ini banyak menarik perhatian para peneliti karena secara umum mobile agent didefinisikan layaknya entitas perangkat lunak canggih yang secara mandiri dapat berpindah melalui jaringan dan mengambil keputusan. Jika dibandingkan dengan metode
client-server, mobile agent dapat berpindah ke arah
mesin tujuan sehingga sangat mengurangi
konsumsi bandwith dan mencegah terjadinya beban berlebih dalam jaringan.
Dalam hal e-commerce, lazimnya transaksi elektronik dilakukan antara penjual dan pembeli dengan perantara internet. Sebagai contoh, penjual mendirikan sebuah situs belanja online yang berisikan berbagai macam katalog produk yang ditawarkannya berikut cara untuk bertransaksi dalam situs tersebut.
Pembeli cukup berkunjung, memilih produk yang ditawarkan dan mengikuti alur transaksi dalam situs tersebut. Model komunikasi seperti ini menggunakan metode client-server dimana inputan dari user akan di proses pada server dan hasilnya akan dikembalikan pada client.
Hanya saja metode client-server seperti ini akan menghabiskan bandwith yang cukup besar karena harus mengalokasikan sejumlah resources tetap ketika transaksi berlangsung Gambar 1.1. Hal ini berbeda jika kita menggunakan metode mobile
2
Gambar 1.1 E-Commerce dengan Metode Client-Server
Konsumen cukup mengkonfigurasi mobile
agentnya dengan berbagai parameter seperti barang
yang dicari, warna yang diminta, harga yang cocok, dll. Selanjutnya mobile agent siap untuk dikirim ke market untuk mencari dan berinteraksi dengan
mobile agent lain yang memiliki barang dengan
kriteria yang diinginkan pemilik mobile agent tersebut. Begitu juga sebaliknya dengan produsen, mereka menyiapkan mobile agent nya dengan berbagai katalog produk juga mungkin kemampuan untuk tawar menawar (artificial intellegence).
Gambar 1.2 E-Commerce dengan Metode Mobile Agent
Proses yang diilustraikan pada Gambar 1.2 akan dijelaskan pada Tabel 1.1 sebagai berikut:
Tabel 1.1 Alur E-Commerce dengan Metode Mobile Agent
Proses Keterangan
Proses 1 Seorang pembeli mengkonfigurasikan agentnya sedemikian rupa sesuai keinginannya.
Proses 2 Seorang penjual juga melakukan hal yang sama yaitu mengkonfigurasikan agentnya sedemikian rupa.
Proses 3 Setelah proses konfigurasi selesai, pembeli dan penjual mengirimkan agentnya ke tempat perdagangan. Proses 4 Disini masing-masing agent akan
melakukan tugas sesuai dengan yang diperintahkan pemiliknya. Semisal agent yang dimiliki pembeli akan mencari barang yang diinginkan pemiliknya dengan berbagai ketentuan, sedangkan agent yang dimiliki oleh penjual akan menawarkan barang dagangannya dengan berbagai ketentuan yang telah diberikan oleh pemiliknya.
Proses 5 Setelah selesai mengerjakan tugas agent akan kembali pada pemiliknya.
Penggunaan mobile agent seperti pada gambar diatas berpengaruh pada menurunnya konsumsi bandwith jaringan, karena mobile agent memindahkan proses ke tempat komputasi berbeda dengan metode client-server yang memindahkan data ke tempat komputasi. Proses 4 adalah salah satu contoh dimana agent saling berkomunikasi namun hal ini memiliki konsumsi bandwith yang lebih kecil dari metode client-server.
Namun, teknologi mobile agent masih membawa beberapa permasalahan keamanan. Para pengguna mobile agent membutuhkan jaminan bahwa mobile agent mereka terlindungi dari berbagai serangan dan dapat berfungsi sebagai mana mestinya ketika menjelajahi jaringan. Sedangkan dari sudut pandang host tujuan mobile
agent, mereka juga membutuhkan jaminan bahwa mobile agent yang datang benar-benar berasal dari
sumber yang dipercaya dan tidak akan merusak sistem mereka selama eksekusi.
Tugas akhir ini mencoba menawarkan
sebuah solusi untuk mengamankan proses
perpindahan mobile agent selama menjelajahi jaringan dengan metode paspor dan visa.
2.
Tinjauan Pustaka
2.1
Mobile Agent
Mobile agent merupakan sebuah hasil
pemikiran yang berasal dari dua disiplin ilmu yang berbeda. Yang pertama adalah artificial inteligence atau kecerdasan buatan sehingga muncul konsep
agent dan yang kedua adalah distributed systems
atau sistem terdistribusi yang mendefinisikan konsep code mobility.
Menurut dari definisi standarnya, mobile
agent mirip dengan agent non mobile pada
umumnya yang bersifat autonomous, reactive,
proactive dan social. Tetapi dengan kemampuan
tambahan untuk berpindah diantara platforms untuk menyelesaikan tugas yang diembannya[2].
Dari sudut pandang sistem terdistibusi,
mobile agent merupakan sebuah program dengan
identitas unik dengan kemampuan memindahkan kode programnya, data di dalamnya dan kondisinya diantara mesin yang terhubung dalam jaringan. Untuk memenuhi kriteria tersebut mobile agent
memiliki kemampuan untuk menangguhkan
eksekusinya kapan saja dan melanjutkan kembali ditempat yang lain. Struktur mobile agent dapat dilihat pada gambar Gambar 2.1.
3
2.2
JADE Framework
JADE adalah sebuah middleware yang memiliki fasilitas untuk pengembangan sistem
multi-agent [3]. JADE framework yang terdiri dari: - Sebuah runtime environment dimana JADE agent
dapat diciptakan dan beraktifitas. Runtime environment ini harus terlebih dahulu dijalankan
pada sebuah host sebelum pengeksekusian satu atau beberapa mobile agent pada host tersebut. Distribusi JADE agent platform dapat dilihat pada Gambar 2.2. - Beberapa class atau library yang dapat digunakan
oleh programmer untuk membangun dan menspesialisasikan mobile agent buatannya.
- Sekumpulan graphical tools yang dapat digunakan untuk proses administrasi dan monitoring aktifitas
dari agent yang sedang berjalan.
Gambar 2.2 Distrubusi JADE Agent Platform[2]
2.2.1 Container dan Platform
Setiap running instance dari JADE runtime
environment disebut sebagai container yang dapat
berisi beberapa mobile agent. Sekumpulan dari beberapa container yang aktif disebut platform. Dalam setiap platform minimal harus ada satu
container yang aktif, container ini berikutnya
disebut main container. Container lain dalam satu
platform dapat segera mendaftarkan dirinya kepada main container segera setelah container itu
diciptakan. Skema JADE platform dan container dapat dilihat pada Gambar 2.3.
Gambar 2.3 Skema JADE Platform dan Container[2]
2.2.2 Agent Management System dan
Directory Facilitate
agent management system adalah mobile agent yang menyediakan layanan untuk penamaan
setiap mobile agent agar memiliki nama yang unik dan juga menyatakan otoritas dalam satu platform, sehingga setiap instansiasi dari sebuah mobile
agent memungkinkan untuk membuat dan menghancurkan mobile agent lain pada container yang berbeda dengan terlebih dahulu mengajukan ijin tersebut pada AMS.
DF adalah singkatan dari directory
facilitator agent ini menyediakan layanan layaknya yellow pages. Sebuah mobile agent dapat mencari mobile agent lain yang menyediakan layanan yang
dibutuhkan untuk memenuhi tujuannya.
Mekanisme penggunaan layanan dari directory
facilitator dapat dilihat pada Gambar 2.4.
Gambar 2.4 Layanan Directory Facilitator[2]
2.2.3 Agent Behaviour
Setiap JADE agent terdiri dari thread tunggal untuk eksekusi. Sedangkan semua tugas yang akan diselesaikan dimodelkan dan di implementasikan sebagai objek behaviour. Untuk membuat sebuah agent melakukan tugas tertentu,
dibutuhkan satu atau beberapa behaviour
subclasses, kemudian di instansiasi menjadi objek behaviour dan ditambahkan ke dalam daftar tugas
yang harus diselesaikan oleh agent tersebut. Antara
agent dan behaviournya berjalan seperti beberapa thread yang saling berkoordinasi.
Masing-masing dari behaviour objek
memiliki action method() berisi tugas yang akan dikerjakan oleh agent, done method() yang mengembalikan nilai boolean sebagai penanda berakhir tidaknya pengerjaan tugas tersebut dan
block method() untuk meletakkan behaviour ini
pada kondisi idle agar tidak memakan resource semisal ketika menunggu pesan dari agent lainnya. Gambar 2.5 menunjukkan Alur Eksekusi thread pada mobile agent.
4
.
Gambar 2.5 Gambar Ekseskusi Thread pada Mobile Agent
2.2.4 Agent Communication
Salah satu fitur penting yang disediakan JADE adalah kemampuan berkomunikasi antar
masing-masing mobile agent. Mekanisme
komunikasinya mengadopsi asynchronous message
passing. Setiap mobile agent memiliki mailbox
yang terurut (agent message queue) dengan fungsi notifikasi untuk setiap pesan yang masuk. Pesan yang ada berada dalam queue dapat diambil dan diproses sesuai dengan keinginan programmer. Mekanisme ini diilustrasikan pada Gambar 2.5.
Pertukaran pesan pada JADE agent
memiliki format dari ACL language yang telah
ditetapkan oleh FIPA (http://www.fipa.org )
sebagai standart international untuk agent
interoperability.
Gambar 2.6 Mekanisme JADE Asynchronous Message Pasing[2]
3. Perancangan Perangkat Lunak
3.1
Deskripsi Umum
Domain permasalahan yang diangkat dalam pengerjaan tugas akhir ini adalah bagaimana membangun sebuah aplikasi desktop yang dapat mensimulasikan perpindahan mobile agent dari satu host ke host yang lain dan dapat membuktikan integrasi sebuah mobile agent selama melakukan perjalanan.
Untuk mensimulasikan perpindahan mobile
agent paling sedikit membutuhkan 2 container
berbeda host yang akan digunakan sebagai daerah asal dan daerah tujuan.
Gambar 3.1 Rancangan Platform Simulasi
Pada Gambar 3.1 menjabarkan mengenai rancangan platform simulasi. Host asal memiliki sebuah container yang di dalamnya terdapat 2 buah
mobile agent yaitu MigrationServiceControl yang
selalu ada disetiap container sebagai pengatur masuk dan keluarnya mobile agent lain dalam
container tersebut serta sebuah TravellerAgent
yang disiapkan untuk melakukan perjalanan. Sedangkan host tujuan juga memiliki sebuah
container namun hanya memiliki
MigrationServiceControl.
3.2
Use Case Diagram
Use Case Diagram menggambarkan tentang
fungsionalitas utama yang dapat dilakukan oleh perangkat lunak sekaligus menggambarkan fitur-fitur yang dapat dilakukan oleh aktor. Secara garis besar, skenario use case sistem ini dapat
direpresentasikan oleh use case diagram
sebagaimana tampak pada Gambar 3.2 berikut:
Gambar 3.2 Use Case Diagram
3.3
Class Diagram
Gambar 3.3 menunjukkan gambar class diagram yang berfungsi untuk memberikan
gambaran struktur perangkat lunak dengan
menunjukkan class-class yang digunakan pada perangkat lunak, atribut, fungsi dan hubungan antar masing-masing class.
5
Gambar 3.3 Class Diagram
3.4
Traveller Agent
Traveller Agent atau selanjutnya akan
disebut TA adalah mobile agent yang menjadi subjek utama dalam simulasi perpindahan mobile
agent dalam perangkat lunak ini. TA akan berperan
sebagai mobile agent yang akan melakukan perpindahan dari container asal tempat dia diciptakan menuju container tujuan.
Gambar 3.4 FlowChart Behaviour milik Traveller Agent
3.4.1 Behaviour pada Traveller Agent
Sebelum melakukan perpindahan ada beberapa prosedur yang harus dilakukan Traveller
Agent oleh untuk menjaga integritasnya
perjalanannya. Prosedur tersebut meliputi
pengajuan paspor, pengajuan visa dan beberapa stempel yang menyertainya seperti stempel paspor keluar, stempel visa masuk, stempel visa keluar dan stempel paspor keluar.
Masing-masing prosedur tersebut akan dimodelkan menjadi sebuah behaviour. Cara kerja dari masing-masing behaviour kurang lebih sama, yang membedakan hanya input dan output data
yang dikirimkan kepada MSC. Gambar 3.4
menjelaskan flowchart behaviour pada Traveller
Agent secara general.
3.4.2 Metode
Perpindahan
Traveller
Agent
Dalam melakukan perjalanannya, ada beberapa prosedur yang harus dilakukan oleh
Traveller Agent untuk tetap menjaga integritasnya.
Gambar 3.5 menunjukkan urutan prosedur yang dilakukan Traveller Agent sebelum dan
sesudah melakukan perpindahan. Sebelum
melakukan perpindahan, Traveller Agent harus mengajukan stempel paspor keluar saat berada di
container asal atau mengajukan stempel visa keluar
saat berada pada container tujuan. Jika proses pengajuan gagal, Traveller Agent tidak akan mendapatkan stempel keluar dan tidak diijinkan untuk keluar dari container tersebut.
Gambar 3.5 Flowchart Perpindahan Mobile Agent
Kemudian setelah melakukan
perpindahan, Traveller Agent harus mengajukan
MigrationServiceControl TravellerAgent Agent Behaviour EmigrationImmigrationService RequestPassport RequestVisa RequestExitStampPassport RequestEntryStampVisa RequestExitStampVisa RequestEntryStampPassport KeyCollection GenerateSignature VerifySignature Passport -passportID -agentID -agentName -containerName -factoryID -mscPublisher -issueDate -expireDate -agentHashValue -mscDigitalSignature -exitStamp -entryStamp Visa -visaID -passportID -agentName -containerName -factoryID -mscPublisher -issueDate -expireDate -entryStamp -passportHashValue -mscDigitalSignature -exitStamp -destinationName
6
stempel paspor masuk saat berada di container asal atau mengajukan stempel visa masuk saat berada pada container tujuan. Jika proses pengajuan gagal,
Traveller Agent tidak akan mendapatkan stempel
masuk dan tidak diijinkan untuk beraktifitas pada
container tersebut.
3.4.3 Metode Integritas Traveller Agent
Pemilik Traveller Agent membutuhkan kepastian bahwa Traveller Agent-nya aman dan terhindar dari serangan berbahaya seperti man in
the middle attack selama melakukan perjalanan.
Hal yang sama juga dibutuhkan oleh host untuk
memastikan bahwa Traveller Agent yang
mengunjungi host-nya ketika dieksekusi tidak berbahaya dan menimbulkan kerusakan sistem.
Kebutuhan tadi terjawab dengan
memberikan dokumen paspor dan visa pada setiap
Traveller Agent yang akan melakukan perjalanan.
Masing-masing paspor dan visa memiliki message
digest serta digital signature untuk membuktikan
kepemilikan serta penerbit dari dokumen tersebut. Metode pertama adalah mengkaitkan
kepemilikan sebuah paspor kepada sebuah
Traveller Agent dan mengkaitkan hubungan dari
sebuah visa kepada sebuah paspor seperti pada Gambar 3.6. Hal ini dapat dilakukan dengan menyimpan message digest dari sebuah Traveller
Agent ke dalam paspor yang dimilikinya serta
menyimpan message digest dari sebuah paspor ke
dalam sebuah visa. Sehingga perbedaan
kepemilikan dapat dideteksi.
Gambar 3.6 Binding pada Traveller Agent
Metode kedua adalah memberikan
signature oleh penerbit (MSC) pada tiap dokumen
yang diterbitkan seperti pada Gambar 3.7. Sehingga akan ada digital signature penerbit pada setiap paspor dan visa. Metode ini digunakan memastikan bahwa dokumen milik mobile agent yang meliputi paspor dan visa berasal dari sumber yang terpercaya dan tidak mengalami perubahan isi.
Gambar 3.7 Digital Signature pada Traveller Agent
3.5
Migration Service Control
Migration Service Control atau selanjutnya
akan disebut MSC adalah sebuah mobile agent yang bertugas untuk memberi ijin Traveller Agent
yang akan menuju maupun keluar dari
containernya. Masing-masing container akan
memiliki sebuah MSC. Proses pemberian ijin tersebut dibagi menjadi 2 bagian utama yaitu layanan emigrasi dan layanan imigrasi. Penjabaran bagian tersebut terdapat pada Tabel 3.1.
Tabel 3.1 Rincian Tugas MSC
Layanan Emigrasi Layanan Imigrasi
Verifikasi pengajuan visa Verifikasi pengajuan paspor Verifikasi untuk stempel
visa masuk
Verifikasi untuk stempel paspor masuk
Verifikasi untuk stempel visa keluar
Verifikasi untuk stempel paspor keluar
3.5.1 Behaviour pada Migration Service
Control
Untuk menunjang tugas sebagai pemberi ijin tersebut, MSC memiliki satu behaviour (Layanan EmigrasiImigrasi) yang bersifat cyclic
behaviour.
Karena menggunakan cyclic behaviour, MSC akan selalu menunggu request dari Traveller
Agent dan berhenti hingga memenuhi suatu kondisi
tertentu (ketika Traveller Agent di delete). Setelah memilah jenis request dari mobile agent, MSC akan melakukan serangkaian verifikasi. Jika hasil dari verifikasi tersebut valid maka MSC akan menerbitkan sebuah dokumen paspor, visa ataupun stempel yang menyertainya sesuai dengan request awal dari Traveller Agent. Hal ini dijelaskan pada Gambar 3.8.
Gambar 3.8 Flowchart Behaviour Layanan EmigrasiImigrasi Passport or Visa Content Passport or Visa Content Digital Signature Hash Function Decrypt with Public Key Message Digest Message Digest
7
3.5.2 Metode Sinkronisasi Public Key
Setiap visa yang diterbitkan oleh MSC akan dibubuhi sebuah signature sebagai siapa yang menerbitkan. Ketika Traveller Agent melakukan perjalanan ke container lain, signature dalam visa tadi akan diverifikasi. Permasalahannya terletak pada proses verifikasi membutuhkan data penyusun
signature (plain text), data yang telah dienkripsi
(cipher text) dan public key yang tidak terdapat pada container tujuan.
Solusinya adalah menyimpan data
penyusun signature (plain text), data yang telah dienkripsi (cipher text) dan public key ke dalam sebuah server basisdata setiap kali proses pembuatan signature selesai dilakukan. MSC lain
dapat mengambil data-data tersebut untuk
melakukan verifikasi sesuai dengan visa yang masuk. Sehingga signature pada visa tetap bisa diverifikasi walaupun berbeda dengan tempat
signature tersebut dibuat.
Gambar 3.9 Verifikasi Signature dengan Sinkronisasi Public Key
Proses yang diilustraikan pada Gambar 3.9 akan dijelaskan pada Tabel 3.2.
Tabel 3.2 Verifikasi Signature dengan Sinkronisasi Public Key
Proses Keterangan
Proses 1 Traveller Agent mengajukan visa untuk
menuju Container-1.
Proses 2 Jika request diterima, MSC asal akan membuat signature untuk visa tersebut serta menyimpan data penyusun
signature (plain text), data yang telah
dienkripsi (cipher text) dan public key pada server basis data.
Proses 3 Kemudian MSC asal akan memberikan visa berikut signature-nya kepada
Traveller Agent.
Proses 4 Traveller Agent melakukan perpindahan
menuju Container-1.
Proses 5 MSC tujuan akan mengecek signature pada Traveller Agent.
Proses 6 MSC tujuan mengambil data penyusun
signature (plain text), data yang telah
dienkripsi (cipher text) dan public key dari server basis data yang sesuai dengan visa dari Traveller Agent.
Proses 7 Setelah proses verifikasi berhasil MSC tujuan akan mengijinkan Traveller Agent
untuk melakukan aktifitas pada
container-nya.
3.6
Paspor
Paspor adalah sebuah dokumen resmi yang
diperlukan oleh Traveller Agent sebelum melakukan
perjalanan. Fungsi dari Paspor ini adalah sebagai
identitas dan bukti atas integritas Traveller Agent
tersebut dengan container-nya. Oleh karena itu Paspor hanya diterbitkan oleh MSC asal untuk
Traveller Agent yang masih satu container dan telah memenuhi semua persyaratan pengajuan paspor yang diberikan. Penjabaran struktur paspor terdapat pada Tabel 3.3.
Tabel 3.3 Struktur Paspor
Variabel Keterangan
passportID Nomor ID paspor agentID Nomor ID Traveller Agent agentName
Nama Traveller Agent pemilik paspor
containerName
Nama container tempat paspor dibuat
factoryID IP host tempat paspor dibuat
mscPublisher Nama MSC penerbit passport issueDate Tanggal terbit paspor expireDate
Tanggal berakhir masa berlaku paspor
agentHashValue
Hash value dari Traveller Agent
pemilik paspor mscDigitalSignature
Signature dari msc penerbit
paspor
exitStamp Stempel paspor keluar entryStamp Stempel paspor masuk
3.7
Visa
Visa adalah sebuah dokumen resmi yang
diperlukan Traveller Agent untuk beraktifitas di
container tujuan. Fungsi dari visa adalah sebagai
bukti bahwa Traveller Agent tersebut telah
mengalami pemeriksaan dan dinyatakan tidak berbahaya ketika dieksekusi oleh MSC tujuan. MSC tujuan dapat menerbitkan visa untuk semua
Traveller Agent yang akan menuju container-nya setelah memenuhi persyaratan pengajuan visa yang diberikan. Penjabaran dari struktur visa terdapat pada Tabel 3.16.
Tabel 3.4 Struktur Visa
Variabel Keterangan
visaID Nomor ID visa
passportID Nomor ID paspor agentName
Nama Traveller Agent pemilik visa
containerName
Nama container tempat visa dibuat
factoryID IP host tempat visa dibuat
mscPublisher Nama MSC penerbit visa issueDate Tanggal terbit visa expireDate
Tanggal berakhir masa berlaku visa
8
passportHashValueHash value dari paspor tempat visa berada
mscDigitalSignature Signature dari msc penerbit visa exitStamp Stempel visa keluar
entryStamp Stempel visa masuk destinationName Tempat tujuan visa
4. Uji Coba dan Analisa
4.1
Skenario Uji Coba
Uji coba ini dilakukan untuk menguji apakah fungsionalitas yang dijabarkan pada tahap analisis telah diimplementasikan dengan benar dan berjalan sebagaimana mestinya. Uji coba akan didasarkan pada beberapa skenario untuk menguji kesesuaian respon aplikasi.
4.1.1 Uji Coba Fungsional
Sebuah Traveller Agent akan melakukan
perpindahan dari Main-Container menuju
Containeir-1 kemudian kembali ke
Main-Container-nya dengan kondisi belum memiliki
paspor dan visa. Warna tampilan antarmuka menunjukkan lokasi Traveller Agent saat itu. Merah jika berada di Main-Container dan warna biru jika berada di Container-1. Hal ini ditunjukkan pada Gambar 4.1 dan Gambar 4.2
Gambar 4.1 TravellerAgent Belum Memiliki Paspor
Gambar 4.2 TravellerAgent Belum Memiliki Visa
Kondisi Traveller Agent setelah mengajukan paspor ke msc di Main-Container dan visa ke msc1 di Container-1 sebelum melakukan perpindahan. Hal ini ditunjukkan pada Gambar 4.3dan Gambar 4.4
Gambar 4.3 TravellerAgent Telah Memiliki Paspor
Gambar 4.4 TravellerAgent Belum Memiliki Visa
Kondisi Traveller Agent setelah melakukan perpindahan dan tiba di Container-1. Disini kolom stempel paspor keluar dan stempel visa masuk sudah terisi. Hal ini ditunjukkan pada Gambar 4.5 dan Gambar 4.6
Gambar 4.5 Kondisi Paspor Setelah Tiba di Container-1
Gambar 4.6. Kondisi Paspor Setelah Tiba di Container-1
Kondisi Traveller Agent setelah melakukan perpindahan dan kembali ke Main-Container. Disini kolom stempel paspor masuk dan stempel visa keluar sudah terisi. Hal ini ditunjukkan pada Gambar 4.7 dan
9
Gambar 4.8
Gambar 4.7 Kondisi Paspor Setelah Kembali ke Main-Container
Gambar 4.8 Kondisi Visa Setelah Kembali ke Main-Container
4.1.2 Uji Coba Performa
Uji coba performa dilakukan dengan tujuan mengetahui waktu yang dibutuhkan suatu proses
tertentu. Setelah mengetahui waktu yang
dibutuhkan, dapat dilakukan perbandingan terhadap proses yang memiliki kesamaan tujuan.
4.1.2.1 Proses Pembuatan Paspor
Pada uji coba berikut ini, akan dilakukan
perhitungan waktu yang dibutuhkan untuk
menyelesaikan proses pembuatan paspor. Proses ini dilakukan secara berulang sejumlah 10 kali untuk dicari rata-ratanya.
Tabel 4.1 Performa Pembuatan Paspor
Uji Coba Lama Waktu
Proses Satuan 1 185 milidetik 2 56 milidetik 3 49 milidetik 4 42 milidetik 5 61 milidetik 6 43 milidetik 7 60 milidetik 8 61 milidetik 9 49 milidetik 10 52 milidetik Rata-rata 65.8 milidetik
Setelah dilakukan perhitungan Tabel 4.1, waktu rata-rata yang dibutuhkan untuk proses pembuatan paspor adalah 65.8 milidetik.
4.1.2.2 Proses Pembuatan Visa
Pada uji coba berikut ini, akan dilakukan
perhitungan waktu yang dibutuhkan untuk
menyelesaikan proses pembuatan visa. Proses ini dilakukan secara berulang sejumlah 10 kali untuk dicari rata-ratanya.
Tabel 4.2 Performa Request Visa
Uji Coba Lama Waktu
Proses Satuan 1 188 milidetik 2 112 milidetik 3 189 milidetik 4 79 milidetik 5 194 milidetik 6 79 milidetik 7 59 milidetik 8 57 milidetik 9 83 milidetik 10 128 milidetik Rata-rata 116.8 milidetik
Setelah dilakukan perhitungan Tabel 4.2, waktu rata-rata yang dibutuhkan untuk proses pembuatan visa adalah 116.8 milidetik..
4.1.2.3 Performa Perpindahan Agent
Pada uji coba berikut ini, akan dilakukan perhitungan waktu yang dibutuhkan sebuah mobileagent untuk melakukan perpindahan
.
Ada dua buah parameter yang akan diberikan yaitu dengan dan tanpa melakukan prosedur keamanan.Selanjutnya dilakukan perhitungan selisih waktu mobile agent ketika tiba di remote container dikurangi waktu mobile agent ketika berangkat dari
local container.
Tabel 4.3 Selisih Waktu Perpindahan Mobile Agent
Uji Coba Selisih Satuan
1 2497 milidetik 2 2463 milidetik 3 2487 milidetik 4 2476 milidetik 5 2482 milidetik 6 2472 milidetik 7 2486 milidetik 8 2476 milidetik 9 2470 milidetik 10 2479 milidetik Rata-rata 2478,8 ms milidetik
Tabel 4.3 menunjukkan bahwa jumlah rata-rata waktu yang dibutuhkan oleh mobile agent untuk berpindah container sejumlah 2478.8
10
Tabel 4.4 Selisih Waktu Perpindahan Traveller Agent
Uji Coba Selisih Satuan
1 2809 milidetik 2 2754 milidetik 3 2774 milidetik 4 2722 milidetik 5 2736 milidetik 6 2756 milidetik 7 2759 milidetik 8 2769 milidetik 9 2727 milidetik 10 2738 milidetik Rata-rata 2754.4 milidetik
Sebagai pembanding, dilakukan juga
perhitungan waktu yang dibutuhkan oleh Traveller
Agent untuk melakukan perpindahan termasuk
menjalankan 2 prosedur pengajuan stempel didalamnya. Tabel 4.4 menunjukkan bahwa jumlah rata-rata waktu yang dibutuhkan Traveller Agent untuk berpindah container sekaligus menjalankan 2 prosedur pengajuan stempelnya adalah 2754.4 milidetik.
5. Kesimpulan dan Saran
Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, dapat diambil kesimpulan sebagai berikut :
a. Perangkat Lunak yang dibangun telah
mampu memenuhi kebutuhan untuk
simulasi perpindahan mobile agent dengan serangkaian prosedur keamanannya.
b. Waktu yang dibutuhkan oleh mobile agent
untuk melakukan perpindahan tanpa
prosedur keamanan rata-rata sebesar 2478,7 milidetik sedangkan Traveller Agent dengan prosedur keamanan rata-rata meningkat menjadi 2754,4 milidetik.
c. Karena tujuan utama dari pembuatan perangkat lunak ini adalah integritas ketika TravellerAgent melakukan perpindahan. Maka peningkatan waktu sebesar 275,6
milidetik untuk menjalankan prosedur
keamanan masih bisa ditolelir.
Berikut merupakan beberapa saran untuk pengembangan sistem di masa yang akan datang, berdasar pada hasil perancangan, implementasi, dan uji coba yang telah dilakukan.
a. Menambahkan fitur kecerdasaan buatan kepada mobile agent dalam studi kasus perdagangan elektronik. Sehingga mobile
agent dapat berperan sebagai reseller agent dan buyer agent.
6. Daftar Pustaka
[1] Guan, S, Wang, T, Ong, S. 2002. Migration
control for mobile agents based on passport and visa. Journal of Future Generation
Computer Systems 19: 173-186.
[2] Bellfemine, Fabio. 2007. Developing
Mobile-Agent Systems JADE. West Susex:
Wiley. 115-116.
[3] Jade Documentation
http://jade.tilab.com/doc/index.html, dikunjungi pada 11 Nopember 2011.