5
Implementasi Implementasi dalam JXTA dilakukan setelah persyaratan sistem dan desain jaringan peer-to-peer telah dirancang. Implementasi dilakukan berdasarkan perancangan arsitektur desentralisasi yang telah ditetapkan. Implementasi dilakukan dengan menerapkan aplikasi Peer-to-peer File Sharing yang telah dibuat oleh Saeed (2007). Berikut ini beberapa hal yang perlu dilakukan untuk membentuk aplikasi peer-to-peer JXTA (Saeed 2007). 1 Menyediakan jalur yang aman untuk setiap peer untuk login ke jaringan JXTA 2 Pengguna harus mampu dan memiliki hak istimewa untuk membuat file konfigurasi untuk penggunaan lebih lanjut. 3 Pengguna dapat memilih direktori untuk dibagi dalam peer group. 4 Peer harus bisa login ke jaringan default JXTA (dikenal sebagai NetPeerGroup) 5 Peer harus dapat mencari group yang telah ditetapkan 6 Jika group tidak ditemukan dalam proses pencarian, setiap peer harus dapat membuat kelompok mereka dengan UID kelompok yang telah ditetapkan. 7 Peer harus bisa login ke peer group. 8 Peer harus dapat menemukan satu sama lain dalam kelompok. 9 Peer harus bisa berbagi content dengan peer yang lain pada group yang sama. 10 Peer harus dapat menunggu permintaan yang diterima dan dapat menanggapi permintaan yang diterima dari peer lainnya. 11 Peer harus dapat berkomunikasi satu sama lain dan mencari content tertentu. 12 Jika setiap peer tidak bisa menemukan query yang diminta, mereka harus menyebarkan permintaan query tersebut untuk peer lain dalam group. 13 Peer harus dapat chatting dengan satu sama lain. 14 Peer harus dapat membuat daftar peer lain dalam group yang sama. 15 Peer harus dapat mengunggah data mereka. 16 Pengguna harus dapat mendaftar dan melihat data mereka sendiri bersama. 17 Peer harus memastikan bahwa proses unduh tidak rusak dengan melakukan verifikasi. 18 file yang diunduh, setelah sepenuhnya diunduh. Flowchart aplikasi utama merupakan flowchart yang dirancang untuk aplikasi ini. Flowchart ini menggambarkan proses umum yang berjalan pada aplikasi dan terdapat proses tambahan dari yang telah dirancang oleh Saeed (2007) seperti ditunjukkan pada bagian yang
dilingkari warna merah pada Gambar 7. Proses tambahan tersebut berupa mengubah nama file sebelum diunduh jika file yang diunduh memiliki nama yang sama dengan nama file yang berada pada folder lokal. Jika nama file yang diunduh tidak sama dengan nama file yang ada pada folder lokal, file dapat langsung diunduh.
Gambar 7 Flowchart aplikasi utama.
6
Agar dapat mengakses kamera atau webcam yang terhubung dengan komputer, dibutuhkan API JMF yang diintegrasikan pada aplikasi utama. Fitur yang ditambahkan pada tahapan ini adalah capture gambar, capture video, menampilkan gambar, dan menampilkan video. Alur dari proses capture gambar dimulai dengan menjalankan media untuk capture gambar. Media ini akan mengakses webcam dan menampilkan gambar secara bersamaan. Pengguna dapat melakukan capture gambar dengan memberikan perintah capture. Hasil yang dari capture tersimpan ke dalam folder lokal yang telah ditentukan. Pengguna dapat melakukan capture gambar kembali selama belum keluar dari aplikasi. flowchart untuk capture gambar ditunjukkan pada Gambar 8.
menghentikan proses capture video. File hasil capture tersebut akan tersimpan ke dalam folder lokal yang telah ditentukan. Pengguna dapat melakukan capture video kembali dan akan berhenti saat pengguna memberikan perintah untuk menghentikan proses capture. Pengguna akan keluar dari interaksi capture video saat pengguna memberikan perintah untuk keluar. flowchart untuk capture video ditunjukkan pada Gambar 9 berikut.
Gambar 8 Flowchart capture gambar. Proses yang berlangsung antara capture video dan capture gambar memiliki perbedaan karena video merupakan gambar bergerak dan harus memiliki suara. Alur yang terjadi akan membutuhkan waktu yang lebih lama agar dapat menghasilkan video. Alur untuk proses capture video dimulai dengan menjalankan media untuk capture. Media tersebut akan menampilkan menu interaksi untuk melakukan capture video. Pengguna akan melakukan interaksi dengan memulai capture. Proses capture akan terus berlangsung dengan berupa input video dan audio yang tertangkap oleh media dan proses akan berhenti ketika pengguna memberikan perintah untuk
Gambar 9 Flowchart capture video.
7
Pengujian Langkah awal setting lingkungan pengujian dilakukan dengan menjalankan mesin virtual. Aplikasi mesin virtual yang digunakan adalah VirtualBox. Pengujian dilakukan dengan menjalankan 2 komputer virtual yang berada pada mesin virtual dan terpasang sistem operasi Windows XP dan komputer utama yang terpasang sistem operasi Windows Vista. Komputer virtual tersebut dihubungkan dengan komputer utama dengan menggunakan adapter jaringan Host-only Adapter yang terdapat pada komputer virtual. Masing-masing adapter jaringan yang terdapat pada komputer diberi alamat IP dan dipasang aplikasi yang telah diimplementasi sebelumnya. Alamat IP yang digunakan adalah 192.168.1.1, 192.168.1.2, dan 192.168.1.3. Pengujian dimulai dengan menjalankan aplikasi. Aplikasi tersebut berupa file dengan nama “myPackge.jar”. Aplikasi yang telah berjalan akan mencari path folder untuk menetapkan path yang akan dibagi pada jaringan peer-to-peer. Path ini berupa data teks yang tersimpan pada file bernama “config.ini” dan ditempatkan pada direktori yang sama dengan file aplikasi utama. Jika aplikasi tidak menemukan file tersebut, aplikasi akan menjalankan pemilihan folder yang akan dibagi. Proses pemilihan path folder yang dibagi ditunjukkan pada Gambar 10 dan Gambar 11.
dirujuk sebagai tempat penyimpanan hasil capture gambar dan video. Path dari folder yang dipilih tersebut akan disimpan pada file “config.ini” dan aplikasi utama akan membaca file setiap kali aplikasi dijalankan. Pengujian proses login ke dalam jaringan peer-to-peer dilakukan setelah path folder ditentukan. Proses ini membutuhkan informasi nama peer, password, dan verifikasi password. Password yang dimasukkan paling sedikit memuat 8 karater. Informasi nama peer, password, dan verifikasi password disimpan pada folder bernama “.jxta”. Jika data ini sudah tersedia sebelumnya, aplikasi akan melewati proses ini. Proses login ke dalam jaringan JXTA peer-to-peer ditunjukkan pada Gambar 12.
Gambar 12 Login ke dalam jaringan JXTA peer-to-peer. Gambar 10 Aplikasi tidak menemukan file "config.ini".
Gambar 11 Pemilihan path folder yang dibagi. Folder yang dipilih pada pengujian ini adalah folder bernama capture. Folder ini akan
Pada tahap selanjutnya, aplikasi akan mencari group pada jaringan peer-to-peer. Jika group tidak ditemukan, aplikasi akan membuat group baru dengan nama yang sudah ditentukan dan akan bergabung dengan group yang dibuat tersebut. Setelah aplikasi membuat atau menemukan group, aplikasi akan membuat jalur data untuk komunikasi chat dengan peer lain yang tergabung dalam group yang sama dan melakukan pembagian content yang terdapat pada folder yang dibagi. Semua proses dari pemilihan path folder sampai pembagian content akan ditampilkan keterangannya pada tab connection log pada aplikasi utama yang ditunjukkan pada Gambar 13.
8
Gambar 14 Proses unduh.
Gambar 13 Tab connection log aplikasi utama. Proses pengujian pencarian file yang diinginkan dapat dilakukan tanpa memasukkan nama file yang dicari. Hasil dari pencarian ini adalah semua file yang dibagi oleh semua peer yang berada pada group yang sama. Jika pencarian dilakukan dengan memasukkan nama file, hasil yang didapat adalah file yang sesuai dengan nama yang dimasukkan. Proses pencarian file ditunjukkan pada Lampiran 1. File yang ada dalam daftar hasil pencarian dapat diunduh setelah menghentikan proses pencarian dan memilih salah satu kolom dari daftar hasil pencarian. Proses pencarian ini akan berhasil jika ada peer yang tergabung dalam jaringan dan melakukan pembagian content yang dimiliki peer tersebut. Proses pengujian unduh file dilakukan dengan menekan tombol download pada bagian tab search dan progres unduh akan tampil pada tab downloads. Proses unduh dapat dibatalkan dengan menekan tombol cancel. Hasil unduh dapat diverifikasi untuk mengecek apakah terjadi perubahan data atau informasi yang terdapat pada file. Proses pengecekan file hasil unduh dilakukan dengan menggunakan algoritme checksum 32 bit. Jika terdapat perubahan pada file, verifikasi tidak akan berhasil dan dinyatakan gagal. Jika tidak ada perubahan pada file, proses verifikasi akan berhasil. Proses unduh ditunjukkan pada Gambar 14.
Pengujian proses capture gambar dan capture video dilakukan dari peer yang memiliki kamera atau webcam. Proses capture dilakukan pada media capture gambar dan media capture video yang dibentuk dari API JMF. Media Capture gambar terdiri atas player yang menghasilkan gambar dari webcam, tombol untuk melakukan capture terhadap gambar dari webcam, dan preview dari hasil capture. Hasil gambar atau video dari proses capture tersimpan langsung dalam direktori yang telah dibagi. Media capture gambar ditunjukkan pada Gambar 15.
Gambar 15 Media capture gambar.
9
Media capture video merupakan media yang digunakan untuk mengambil hasil video melalui webcam. Video yang dihasilkan merupakan dari format file yang dipilih. Media capture video ini hanya memiliki format file berekstensi avi. Jenis video yang dihasilkan dapat berupa gambar RGB dan YUV. Resolusi video yang tersedia adalah 160x120, 320x240, dan 640x480. Channel audio yang tersedia adalah 44100, 22050, dan 8000. Format audio yang disediakan adalah Mono dan Stereo dengan kualitas 8 bit dan 16 bit. Media capture video ditunjukkan pada Gambar 16. Proses capture video dilakukan dengan pemilihan format yang sesuai dan kemudian menekan tombol start pada media capture video. Proses mengakhiri capture video dilakukan dengan menekan tombol end pada media capture video.
Gambar 17 Daftar file yang dibagi sebelum capture gambar dan video.
Gambar 18 Daftar file yang dibagi setelah capture gambar dan video. File hasil capture gambar dapat dilihat hasilnya melalui media preview. Media ini berupa player yang dibentuk oleh JMF untuk dapat membaca format gambar. Hasil preview salah satu gambar ditunjukkan pada Gambar 19.
Gambar 16 Media capture video. Nama file yang dihasilkan dari proses hasil dari capture disesuaikan dengan jenis file yang dihasilkan. Nama file dari proses capture gambar adalah image dan diikuti dengan nama peer masing-masing. Nama file dari proses capture video adalah video dan diikuti dengan nama peer masing-masing. Proses ini dilakukan agar file yang dibagi dapat diketahui sumbernya, kecuali file yang telah diunduh oleh peer lain dan dibagi kembali dengan mengubah nama file. Hasil capture image dan video tersebut akan masuk pada daftar content yang dibagi. Nama file yang telah dihasilkan dan dibagi pada daftar content yang dibagi ditunjukkan pada Gambar 17 dan Gambar 18.
Gambar 19 Preview gambar. File hasil capture video dapat dilihat hasilnya melalui media preview yang berbeda dengan gambar. Media ini berupa player yang dibentuk oleh JMF untuk dapat membaca format video. Hasil preview salah satu gambar ditunjukkan pada Gambar 20.
10
Gambar 22 Daftar file yang dibagi peer 2.
Gambar 20 Preview video. Pengujian untuk melihat content yang dibagi dalam jaringan dilakukan dengan menekan tombol reload. Setiap ada perubahan terhadap content yang dibagi, proses reload harus dilakukan agar informasi content yang dibagi dapat diketahui. Pengujian melihat content yang dibagi ditunjukkan pada Lampiran 2. Pengujian lain yang dilakukan adalah dengan membagi file video dan gambar oleh peer 1 yang memiliki webcam. Peer 2 melakukan unduh terhadap file tersebut. File hasil unduh tersebut dibagi kembali oleh peer 2 dan peer 3 dapat mengunduh kembali hasil capture gambar dan video peer 1 dari peer 2 walaupun peer 1 telah tidak tergabung lagi dalam jaringan. Daftar file yang dibagi oleh peer 1 ditunjukkan pada Gambar 21. File yang
dibagi oleh peer 1 adalah “imagepeer1.jpg” dan “videopeer1.avi”.
Gambar 21 Daftar file yang dibagi peer 1. Peer 2 melakukan unduh file “imagepeer1.jpg” dan “videopeer1.jpg” dari peer 1. Peer 2 kemudian melakukan pembagian kembali terhadap file yang sudah diunduh tersebut. Daftar file yang dibagi oleh peer 2 ditunjukkan pada Gambar 22.
Peer 3 melihat daftar peer yang tergabung dalam group dan peer 1 masih tergabung. Daftar peer sebelum peer 1 mati ditunjukkan pada Gambar 23.
Gambar 23 Daftar peer pada peer 3 sebelum peer 1 mati. Peer 1 mati dan peer 3 mengecek kembali peer yang tergabung. Daftar peer setelah peer 1 mati ditunjukkan pada Gambar 24.
Gambar 24 Daftar peer pada peer 3 setelah peer 1 mati. Peer 3 melakukan pencarian dan menemukan file “imagepeer1.jpg” dan “videopeer1.avi” dari peer 2. Hasil pencarian oleh peer 3 ditunjukkan pada Gambar 25.
11
terhubung pada jaringan virtual ditunjukkan pada Tabel 1. Tabel 1 Prosedur pengujian aplikasi. Prosedur Pengujian
Masukan
Pemilihan folder yang akan dibagi
Memilih Path folder
Login ke dalam jaringan JXTA default group
Peer Name, Password , verify password
Pencarian file berdasarkan nama file
teks berupa nama file
Capture gambar dari webcam
Webcam
Capture video dari webcam
Webcam
Preview gambar Preview video
Gambar Video
Unduh file
File
Chat dengan peer yang berada dalam satu group
Text
Menampilkan peer yang tergabung dengan group Keluar dari aplikasi
-
Gambar 25 Hasil pencarian oleh peer 3. Peer 3 melakukan unduh berdasarkan hasil pencarian yang ditemukan. File yang diunduh adalah file “imagepeer1.jpg” dan “videopeer1.avi” dari peer 2. Proses unduh ditunjukkan pada Gambar 26.
Gambar 26 Proses unduh oleh peer 3. Pengujian Daftar peer yang tergabung dapat dilihat dengan menekan tombol find peers pada tab list of peers. Peer yang terdaftar merupakan peer yang tergabung dalam group yang sama pada jaringan peer-to-peer. Pengujian untuk melihat daftar peer yang tergabung ditunjukkan pada Lampiran 3. Pengujian chat dengan peer lain yang terhubung dalam satu group dapat dilakukan dengan mengisi pesan pada kolom teks dan mengirimkan pesan tersebut ke dalam Area chat dengan menekan tombol send. Area chat akan menampilkan informasi nama peer, waktu, dan isi pesan yang dikirim. Proses pengujian chat pada aplikasi ditunjukkan pada Lampiran 4. Prosedur pengujian fungsi aplikasi meliputi pemilihan folder yang akan dibagi, login ke dalam jaringan JXTA default group, pencarian file berdasarkan nama file, capture gambar, capture video, preview gambar, preview video, unduh file, chat dengan peer yang berada dalam satu group, menampilkan peer yang tergabung dengan group, dan keluar dari aplikasi. Hasil prosedur pengujian yang dilakukan terhadap aplikasi dan dijalankan pada 3 komputer yang
-
Keluaran yang diharapkan File config.ini berisi path folder yang dibagi Masuk ke dalam jaringan peer-to-peer dan mencari group Daftar file yang sesuai dengan nama file File gambar berformat jpg yang tersimpan pada direktori yang dibagi File video berformat avi yang tersimpan pada direktori yang dibagi Menampilkan gambar Menampilkan player video File tersimpan pada direktori yang dibagi Daftar chat tampil pada area text semua peer yang tergabung Daftar peer yang tergabung dalam group Aplikasi tertutup
Hasil yang didapat Berhasil
Berhasil
Berhasil
Berhasil
Berhasil
Berhasil Berhasil Berhasil
Berhasil
Berhasil
Berhasil