5 Implementasi Implementasi dalam JXTA dilakukan setelah persyaratan sistem dan desain jaringan peer-to-peer telah dirancang. Implementasi dilakukan berdasarkan perancangan arsitektur desentralisasi telah ditetapkan. Implementasi dilakukan dengan menerapkan aplikasi Peer-to-peer File Sharing telah dibuat oleh Saeed (2007). Berikut ini beberapa hal perlu dilakukan untuk membentuk aplikasi peer-to-peer JXTA (Saeed 2007). 1 Menyediakan jalur 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 telah ditetapkan 6 Jika group tidak ditemukan dalam proses pencarian, setiap peer harus dapat membuat kelompok mereka dengan UID kelompok 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 lain pada group sama. 10 Peer harus dapat menunggu permintaan diterima dan dapat menanggapi permintaan diterima dari peer lainnya. 11 Peer harus dapat berkomunikasi satu sama lain dan mencari content tertentu. 12 Jika setiap peer tidak bisa menemukan query 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 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 diunduh, setelah sepenuhnya diunduh. Flowchart aplikasi utama merupakan flowchart dirancang untuk aplikasi ini. Flowchart ini menggambarkan proses umum berjalan pada aplikasi dan terdapat proses tambahan dari telah dirancang oleh Saeed (2007) seperti ditunjukkan pada bagian dilingkari warna merah pada Gambar 7. Proses tambahan tersebut berupa mengubah nama file sebelum diunduh jika file diunduh memiliki nama sama dengan nama file berada pada folder lokal. Jika nama file diunduh tidak sama dengan nama file ada pada folder lokal, file dapat langsung diunduh. Gambar 7 Flowchart aplikasi utama.
6 Agar dapat mengakses kamera atau webcam terhubung dengan komputer, dibutuhkan API JMF diintegrasikan pada aplikasi utama. Fitur 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 dari capture tersimpan ke dalam folder lokal 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 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 berlangsung antara capture video dan capture gambar memiliki perbedaan karena video merupakan gambar bergerak dan harus memiliki suara. Alur terjadi akan membutuhkan waktu 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 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 digunakan adalah VirtualBox. Pengujian dilakukan dengan menjalankan 2 komputer virtual berada pada mesin virtual dan terpasang sistem operasi Windows XP dan komputer utama terpasang sistem operasi Windows Vista. Komputer virtual tersebut dihubungkan dengan komputer utama dengan menggunakan adapter jaringan Host-only Adapter terdapat pada komputer virtual. Masing-masing adapter jaringan terdapat pada komputer diberi alamat IP dan dipasang aplikasi telah diimplementasi sebelumnya. Alamat IP 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 telah berjalan akan mencari path folder untuk menetapkan path akan dibagi pada jaringan peer-to-peer. Path ini berupa data teks tersimpan pada file bernama config.ini dan ditempatkan pada direktori sama dengan file aplikasi utama. Jika aplikasi tidak menemukan file tersebut, aplikasi akan menjalankan pemilihan folder akan dibagi. Proses pemilihan path folder dibagi ditunjukkan pada Gambar 10 dan Gambar 11. dirujuk sebagai tempat penyimpanan hasil capture gambar dan video. Path dari folder 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 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 10 Aplikasi tidak menemukan file "config.ini". Gambar 11 Pemilihan path folder dibagi. Folder dipilih pada pengujian ini adalah folder bernama capture. Folder ini akan Gambar 12 Login ke dalam jaringan JXTA peer-to-peer. Pada tahap selanjutnya, aplikasi akan mencari group pada jaringan peer-to-peer. Jika group tidak ditemukan, aplikasi akan membuat group baru dengan nama sudah ditentukan dan akan bergabung dengan group dibuat tersebut. Setelah aplikasi membuat atau menemukan group, aplikasi akan membuat jalur data untuk komunikasi chat dengan peer lain tergabung dalam group sama dan melakukan pembagian content terdapat pada folder dibagi. Semua proses dari pemilihan path folder sampai pembagian content akan ditampilkan keterangannya pada tab connection log pada aplikasi utama ditunjukkan pada Gambar 13.
8 Gambar 13 Tab connection log aplikasi utama. Proses pengujian pencarian file diinginkan dapat dilakukan tanpa memasukkan nama file dicari. Hasil dari pencarian ini adalah semua file dibagi oleh semua peer berada pada group sama. Jika pencarian dilakukan dengan memasukkan nama file, hasil didapat adalah file sesuai dengan nama dimasukkan. Proses pencarian file ditunjukkan pada Lampiran 1. File 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 tergabung dalam jaringan dan melakukan pembagian content 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 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. Gambar 14 Proses unduh. Pengujian proses capture gambar dan capture video dilakukan dari peer memiliki kamera atau webcam. Proses capture dilakukan pada media capture gambar dan media capture video dibentuk dari API JMF. Media Capture gambar terdiri atas player 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 telah dibagi. Media capture gambar ditunjukkan pada Gambar 15. Gambar 15 Media capture gambar.
9 Media capture video merupakan media digunakan untuk mengambil hasil video melalui webcam. Video dihasilkan merupakan dari format file dipilih. Media capture video ini hanya memiliki format file berekstensi avi. Jenis video dihasilkan dapat berupa gambar RGB dan YUV. Resolusi video tersedia adalah 160x120, 320x240, dan 640x480. Channel audio tersedia adalah 44100, 22050, dan 8000. Format audio 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 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 dibagi sebelum capture gambar dan video. Gambar 18 Daftar file dibagi setelah capture gambar dan video. File hasil capture gambar dapat dilihat hasilnya melalui media preview. Media ini berupa player dibentuk oleh JMF untuk dapat membaca format gambar. Hasil preview salah satu gambar ditunjukkan pada Gambar 19. Gambar 16 Media capture video. Nama file dihasilkan dari proses hasil dari capture disesuaikan dengan jenis file 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 dibagi dapat diketahui sumbernya, kecuali file telah diunduh oleh peer lain dan dibagi kembali dengan mengubah nama file. Hasil capture image dan video tersebut akan masuk pada daftar content dibagi. Nama file telah dihasilkan dan dibagi pada daftar content dibagi ditunjukkan pada Gambar 17 dan Gambar 18. Gambar 19 Preview gambar. File hasil capture video dapat dilihat hasilnya melalui media preview berbeda dengan gambar. Media ini berupa player dibentuk oleh JMF untuk dapat membaca format video. Hasil preview salah satu gambar ditunjukkan pada Gambar 20.
10 Gambar 20 Preview video. Pengujian untuk melihat content dibagi dalam jaringan dilakukan dengan menekan tombol reload. Setiap ada perubahan terhadap content dibagi, proses reload harus dilakukan agar informasi content dibagi dapat diketahui. Pengujian melihat content dibagi ditunjukkan pada Lampiran 2. Pengujian lain dilakukan adalah dengan membagi file video dan gambar oleh peer 1 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 dibagi oleh peer 1 ditunjukkan pada Gambar 21. File dibagi oleh peer 1 adalah imagepeer1.jpg dan videopeer1.avi. Gambar 22 Daftar file dibagi peer 2. Peer 3 melihat daftar peer 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 tergabung. Daftar peer setelah peer 1 mati ditunjukkan pada Gambar 24. Gambar 21 Daftar file dibagi peer 1. Peer 2 melakukan unduh file imagepeer1.jpg dan videopeer1.jpg dari peer 1. Peer 2 kemudian melakukan pembagian kembali terhadap file sudah diunduh tersebut. Daftar file dibagi oleh peer 2 ditunjukkan pada Gambar 22. 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. Gambar 25 Hasil pencarian oleh peer 3. Peer 3 melakukan unduh berdasarkan hasil pencarian ditemukan. File 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 tergabung dapat dilihat dengan menekan tombol find peers pada tab list of peers. Peer terdaftar merupakan peer tergabung dalam group sama pada jaringan peer-to-peer. Pengujian untuk melihat daftar peer tergabung ditunjukkan pada Lampiran 3. Pengujian chat dengan peer lain 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 dikirim. Proses pengujian chat pada aplikasi ditunjukkan pada Lampiran 4. Prosedur pengujian fungsi aplikasi meliputi pemilihan folder 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 berada dalam satu group, menampilkan peer tergabung dengan group, dan keluar dari aplikasi. Hasil prosedur pengujian dilakukan terhadap aplikasi dan dijalankan pada 3 komputer Prosedur Pengujian Pemilihan folder akan dibagi Login ke dalam jaringan JXTA default group Pencarian file berdasarkan nama file Capture gambar dari webcam Capture video dari webcam Masukan Memilih Path folder Peer Name, Password, verify password teks berupa nama file Webcam Webcam Keluaran diharapkan File config.ini berisi path folder dibagi Masuk ke dalam jaringan peer-to-peer dan mencari group Daftar file sesuai dengan nama file File gambar berformat jpg tersimpan pada direktori dibagi File video berformat avi tersimpan pada direktori dibagi Menampilkan gambar Preview Gambar gambar Preview video Video Menampilkan player video Unduh file File File tersimpan pada direktori dibagi Chat dengan peer berada dalam satu group Menampilkan peer tergabung dengan group Keluar dari aplikasi Text Daftar chat tampil pada area text semua peer tergabung - Daftar peer tergabung dalam group - Aplikasi tertutup Hasil didapat