Jaringan peer-to-peer memiliki beberapa
arsitektur. Penelitian ini menerapkan arsitektur
desentralisasi
sebagai tahap awal dariperancangan jaringan peer-to-peer.
Implementasi
Proses implementasi penelitian ini
menggunakan perangkat keras dan perangkat lunak. Spesifikasi untuk perangkat keras adalah sebagai berikut.
1 Processor Intel Centrino 2.2 GHz,
2 RAM kapasitas 2 GB, dan
3 Harddisk kapasitas 160 GB.
Perangkat lunak yang digunakan untuk penelitian, yaitu:
1 Windows Vista sebagai sistem operasi, dan
2 Netbeans IDE 6.8.1 sebagai editor dan
kompilasi program.
Implementasi dilakukan pada framework
JXTA setelah perancangan jaringan
peer-to-peer diterapkan. Penerapan dilakukan pada perangkat keras dan perangkat lunak yang telah disebutkan. Implementasi JXTA menggunakan bahasa pemrograman Java. Implementasi pada JXTA dilakukan dengan merancang kembali aplikasi Peer-to-Peer File Sharing yang dibuat oleh Saeed (2007).
Proses implemetasi melibatkan API JMF. Proses ini dilakukan agar perangkat yang dibutuhkan dapat diakses. Perangkat yang diakses tersebut adalah kamera komputer atau webcam. Webcam tersebut digunakan untuk melakukan capture video atau gambar.
Pengujian
Pengujian dilakukan setelah aplikasi selesai
diimplementasikan. Proses pengujian
membutuhkan perangkat uji. Perangkat uji yang digunakan untuk mencoba aplikasi ini adalah 3
buah PC. Dua PC dibentuk dengan
menggunakan aplikasi mesin virtual dan 1 PC merupakan PC utama yang mengontrol mesin virtual. PC utama telah terintegrasi dengan kamera atau webcam.
Pengujian dilakukan dengan menggunakan 3 peer atau node yang disesuaikan dengan
perangkat uji. Peer yang memiliki media
webcam akan berperan sebagai peer sumber dan dapat juga berperan sebagai peer client. Peer
yang tidak memiliki webcam hanya dapat
berperan sebagai peer client yang mengunduh data video atau gambar yang disediakan oleh peer yang memiliki webcam.
HASIL DAN PEMBAHASAN
Perancangan Jaringan Peer-to-peerArsitektur desentralisasi dirancang untuk menghindari kelemahan dari arsitektur terpusat. Masing-masing peer dari arsitektur ini dapat
bertindak sebagai server ataupun client.
Komunikasi dilakukan dalam arsitektur ini
dengan mengirimkan pesan berbentuk query
kepada setiap peer yang terhubung. Pesan
tersebut berupa request data yang dibutuhkan.
Jika peer yang menerima query tersebut
memiliki data yang dibutuhkan, peer tersebut akan merespon mengirimkan pesan bahwa data
ditemukan. Jika peer tersebut tidak
menyediakan data yang diminta, peer tersebut
akan menyebarkan query yang diberikan ke
peer lain yang terhubung dengan peer sebelumnya dan proses ini akan berlangsung sampai data yang dibutuhkan telah ditemukan.
Proses penyebaran request data ditunjukkan
pada Gambar 6.
Gambar 6 Jaringan Peer-to-peer. Mulai Perancangan Jaringan Peer-to-Peer Implementasi Pengujian
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.
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.
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
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.
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.
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
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.
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.
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.
Gambar 14 Proses unduh.
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.
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 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 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 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.
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.