Implementasi Jaringan Peer-to-Peer Tak Terstruktur Menggunakan Protokol JXTA

IMPLEMENTASI JARINGAN PEER-TO-PEER
TAK TERSTRUKTUR MENGGUNAKAN
PROTOKOL JXTA

CATUR PURBO YUWONO

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

IMPLEMENTASI JARINGAN PEER-TO-PEER
TAK TERSTRUKTUR MENGGUNAKAN
PROTOKOL JXTA

CATUR PURBO YUWONO

Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada

Departemen Ilmu Komputer

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2013

ABSTRACT
CATUR PURBO YUWONO. Unstructured Peer-to-Peer Network Implementation Using JXTA
Protocol. Supervised by SRI WAHJUNI.
Internet is useful for communication, exchanging information, and businesses. Most internet
network is based on client-server system, which is a centralized network. The server acts as the center
of network and has the ability to transfer data as requested by the client. In a client-server system, the
network will be down if the server is busy or interrupted. This disadvantage can be solved by Peer-toPeer (P2P) network. In P2P network, client or “peer” can communicate with other peers without
relying on the server. One of the P2P network protocols is JXTA protocol, an open source protocol
that can connect mobile devices or computers to P2P network. The objective of this research was to
implement the unstructured P2P application by using JXTA protocol and additional peer group. In this
research, the features of investigated P2P application were chatting within peer group, searching for
files, and downloading files. It was found that these features can only be performed by peers that were

directly connected to other peers in the same subnet. Furthermore, this research showed that the
highest percentage of overhead file was 10.13% and the percentage of overhead protocol did not
exceed 0.5%.
Keywords: file sharing, JXTA, Peer-to-Peer

Judul Skripsi : Implementasi Jaringan Peer-to-Peer Tak Terstruktur Menggunakan Protokol JXTA
Nama
: Catur Purbo Yuwono
NRP
: G64080088

Menyetujui:
Pembimbing

Ir. Sri Wahjuni, M.T
NIP 196805012005012001

Mengetahui:
Ketua Departemen Ilmu Komputer


Dr. Ir. Agus Buono, M.Si, M.Kom
NIP. 19660702 199302 1 001

Tanggal Lulus :

KATA PENGANTAR
Segala puji serta syukur ke hadirat Allah subhanahu wata’ala yang telah melimpahkan rahmat
dan karunia-Nya. Salawat beserta salam tercurahkan kepada Nabi Muhammad shallallahu ‘alaihi wa
sallam dengan petunjuk dan bimbingan-Nya, penelitian yang berjudul Implementasi Aplikasi Peer-toPeer Tak Terstruktur Menggunakan Protokol JXTA berhasil diselesaikan. Atas terselesainya
penelitian ini penulis ingin mengucapkan terima kasih yang tulus kepada:
1 Orang tua tercinta, Ir. H. Sugijono dan Hj. Dwi Retno Hetty Purweni serta kakakku, Purbo
Cahyono, Dewi Angraeini, Dwi Cahyani Purbaningtyas, Yudi Aditya, Tri Hapsari Purbaningrum,
yang selalu memberikan kasih sayang, doa, dan dukungan yang tiada henti.
2 Ibu Ir. Sri Wahjuni, M.T selaku pembimbing, yang selalu memberikan nasihat, petunjuk,
bimbingan hingga penelitian ini selesai.
3 Bapak Dr. Heru Sukoco, S.Si, M.T dan bapak Ahmad Ridha, S.Kom, M.S sebagai dosen penguji
atas segala masukan yang diberikan.
4 Seluruh dosen pengajar dan staf Departemen Ilmu Komputer FMIPA IPB untuk semua yang telah
mereka berikan selama mengikuti proses perkuliahan.
5 Melati Seisira yang selalu memberikan semangat dan motivasi dalam menyelesaikan penelitian ini.

6 Teman-teman seperjuangan Halim, Irvan, Melki, Asrori, Dipo, Putra, Ryan, Panji, Dani, Dayat,
Yansen, Pradit, Jaka, Momi, Firman, Elbie, Williardi, dan teman-teman Ilmu Komputer IPB
angkatan 45, atas segala kebersamaan, bantuan, dukungan, serta kenangan bagi penulis selama
menjalani masa studi. Semoga kita bisa berjumpa kembali kelak sebagai orang-orang sukses.
7 Rekan-rekan satu bimbingan Zola, Fitra, dan Hasrul yang telah berjuang bersama-sama dalam
melakukan penelitian.
Penulis juga mengucapkan terima kasih kepada semua pihak yang telah membantu selama
pengerjaan penyelesaian tugas akhir ini yang tidak dapat disebutkan satu per satu. Semoga penelitian
ini bermanfaat.

Bogor, Februari 2013

Catur Purbo Yuwono

RIWAYAT HIDUP
Penulis dilahirkan di Surabaya pada tanggal 18 Oktober 1990, anak keempat dari empat
bersaudara dari pasangan Ir. H. Sugijono dan Hj. Dwi Retno Hetty Purweni. Penulis lulus dari
Sekolah Menengah Atas Negeri 2 Bogor tahun 2008 dan diterima di Departemen Ilmu Komputer
Institut Pertanian Bogor melalui jalur Beasiswa Utusan Daerah IPB.
Selama aktif sebagai mahasiswa, penulis juga aktif mengikuti organisasi Himpunan Mahasiswa

Ilmu Komputer sebagai pengurus .NET Divisi Komunitas. Penulis juga aktif di beberapa kegiatan
kepanitian antara lain MPD Ilmu Komputer 2010, IT Today 2010, ISEE 2010, IDEA 2011, dan ISEE
2011. Pada tahun 2011, penulis melaksanakan kegiatan praktik kerja lapang di PT. Telekomunikasi
Indonesia dengan judul Analisis dan Implementasi pada Sistem Informasi Monitoring Planning and
Delivery Cycle (MPDC) Sub Sistem Delivery.

DAFTAR ISI
Halaman
DAFTAR TABEL ................................................................................................................................ vi
DAFTAR GAMBAR ............................................................................................................................ vi
PENDAHULUAN
Latar Belakang .................................................................................................................................. 1
Tujuan Penelitian .............................................................................................................................. 1
Ruang Lingkup .................................................................................................................................. 1
TINJAUAN PUSTAKA
Peer to peer (P2P) ............................................................................................................................ 1
JXTA ................................................................................................................................................. 2
METODE PENELITIAN
Analisis Sistem .................................................................................................................................. 3
Perancangan Aplikasi ........................................................................................................................ 4

Implementasi ..................................................................................................................................... 4
Pengujian ........................................................................................................................................... 4
HASIL DAN PEMBAHASAN
Analisis Protokol JXTA .................................................................................................................... 4
Analisis Sistem .................................................................................................................................. 6
Perancangan Penambahan dan Perubahan Fungsi ............................................................................. 7
Implementasi Aplikasi ...................................................................................................................... 8
Jaringan Untuk Pengujian ............................................................................................................... 10
Hasil Pengujian ............................................................................................................................... 10
KESIMPULAN DAN SARAN
Kesimpulan ..................................................................................................................................... 15
Saran ............................................................................................................................................... 15
DAFTAR PUSTAKA .......................................................................................................................... 15
LAMPIRAN ........................................................................................................................................ 17

v

DAFTAR TABEL
Halaman
1 Prosedur pengujian fungsional ......................................................................................................... 13

2 Rata-rata delay antar paket dan overhead file yang dikirim berdasarkan hari ................................. 13
3 Data untuk total paket yang dikirim, waktu yang ditempuh, kecepatan mengunduh ....................... 14
4 Data untuk overhead protokol dan persentase overhead protokol ................................................... 15

DAFTAR GAMBAR
Halaman
1 Arsitektur jaringan terpusat (Morkved 2005). ................................................................................... 2
2 Arsitektur jaringan desentralisasi (Morkved 2005)............................................................................ 2
3 Arsitektur jaringan P2P hybrid (Morkved 2005). .............................................................................. 2
4 JXTA layer (Gradecki 2002). ............................................................................................................ 2
5 Metode penelitian. ............................................................................................................................. 3
6 Diagram alir peer masuk ke peer group. ........................................................................................... 5
7 Sequence diagram pengenalan dan pengiriman pesan antar peer. ..................................................... 5
8 Diagram alir chatting protokol JXTA. ............................................................................................... 5
9 Sequence diagram proses mengunduh pada protokol JXTA. ............................................................. 6
10 Diagram alir utama aplikasi Saeed (Saeed 2007). ............................................................................. 6
11 Diagram alir utama aplikasi. .............................................................................................................. 7
12 Class StartJXTA. ............................................................................................................................... 8
13 Pipe Advertisement. ........................................................................................................................... 9
14 Class ModifyXMLFile. ..................................................................................................................... 9

15 Class SaeedSharing............................................................................................................................ 9
16 Class frmMain. ................................................................................................................................ 10
17 Ilustrasi jaringan IPB untuk pengujian. ............................................................................................ 10
18 Syarat dan kententuan aplikasi. ........................................................................................................ 11
19 Peringantan pengguna tidak memiliki file "config.ini". ................................................................... 11
20 Pengguna memilih folder yang akan dibagi. .................................................................................... 11
21 Antarmuka konfigurasi JXTA.......................................................................................................... 11
22 Antarmuka pemilihan peer group. ................................................................................................... 12
23 Keterangan dari aplikasi peer Catur berhasil memasuki peer group A. .......................................... 12
24 Chatting antar peer pada peer group yang sama. ............................................................................ 12
25 Keterangan peer Catur memasuki peer group A. ............................................................................ 12
26 Keterangan peer Irvan memasuki peer group B. ............................................................................. 12
27 Chatting peer Catur di peer group A. .............................................................................................. 12
28 Chatting peer Irvan di peer group B................................................................................................ 12
29 Hasil pencarian file. ......................................................................................................................... 13
30 Status proses mengunduh. ................................................................................................................ 13
31 Grafik antara hari dengan rata-rata delay antar paket. ..................................................................... 14
32 Grafik antara hari dengan overhead file yang dikirim. .................................................................... 14
33 Grafik antara hari dengan total paket yang dikirim.......................................................................... 14
34 Grafik antara hari dengan waktu yang ditempuh untuk mengunduh. .............................................. 14

35 Grafik antara hari dan kecepatan mengunduh. ................................................................................. 15
36 Grafik antara hari dan persetase overhead protokol......................................................................... 15

vi

1

PENDAHULUAN
Latar Belakang
Pada era globalisasi, ini banyak orang yang
sudah tidak asing lagi dengan internet. Saat ini,
internet sangat berguna untuk komunikasi,
bertukar informasi, dan bahkan ada yang
memanfaatkannya untuk bisnis. Banyak orang
berpikir jaringan internet yang digunakan adalah
jaringan client-server. Client-server merupakan
jaringan terpusat, server bertindak sebagai pusat
jaringan dan mempunyai data-data yang dapat
diberikan ke client sesuai dengan permintaan
client. Seiring dengan perkembangan teknologi,

client akan terus bertambah dan server pun akan
sibuk dengan permintaan client yang banyak
sehingga
server
pun
akan
kesulitan
menanganinya dan apabila server mengalami
gangguan maka jaringan tersebut akan
terganggu.
Peer-to-peer (P2P) adalah sebuah pendekatan
untuk medistribusikan file yang ingin dikirim
antar peer dapat melalui jaringan internet. Server
menyimpan konten dan akan mengirim konten
tersebut ke client dengan model distribusi oneto-many. Pada P2P, client atau biasa disebut peer
dapat berkomunikasi langsung dengan peer
lainnya tanpa bergantung pada server pusat
sehingga jaringan P2P cenderung lebih cepat dan
lebih dipercaya, asalkan peer tersebut memiliki
file dan dapat mengaksesnya (Educause 2009).

Jaringan tradisional ini merupakan salah satu
solusi untuk menangani permasalahan yang
terjadi pada client-server apabila server
mengalami gangguan. Suatu jaringan P2P dapat
menghubungkan antar komputer baik software
maupun hardware tanpa memerlukan server.
Aplikasi yang populer seperti uTorrent1,
Frostwire2,
BitTorrent3,
dan
sebagainya
merupakan aplikasi file sharing dengan
menggunakan jaringan P2P. Client dalam
teknologi jaringan P2P dapat mengunduh dan
mengunggah suatu file. Pada akhirnya paradigma
P2P berubah menjadi “people-to-people”. Dari
paradigma
tersebut
banyak
orang
mengembangkan aplikasi P2P dengan tujuan
membentuk suatu komunitas dan saling berbagi
file baik itu file musik atau video (Mitchell
2008).

1

http://www.utorrent.com
http://www.frostwire.com
3
http://www.bittorrent.com
2

Hingga
saat
ini
banyak
peneliti
mengembangkan jaringan P2P, salah satunya
menggunakan protokol JXTA. JXTA merupakan
proyek open source yang dapat menghubungkan
pada jaringan P2P mulai dari perangkat ponsel
hingga komputer (Gradecki 2003).
Tsai et al. (2009) dan Saeed (2007) berhasil
mengembangkan aplikasi P2P dengan jaringan
terdesentralisasi (tidak menggunakan server
sebagai pusat jaringan). Jaringan P2P yang
dipakai oleh keduanya menggunakan teknologi
JXTA. Dengan merujuk apa yang dilakukan oleh
kedua peneliti tersebut, aplikasi yang akan
dikembangkan dalam penelitian kali ini ialah
aplikasi P2P dengan jaringan desentralisasi
(tidak memerlukan server utama) dengan
menggunakan protokol JXTA. Perubahan dan
penambahan fungsi yang dilakukan pada
penelitian kali ini ialah penambahan fungsi pada
peer group.
Tujuan Penelitian
Tujuan
dari
penelitian
ini
ialah
mengimplementasikan dan menganalisis kinerja
sebuah aplikasi P2P dengan jaringan tak
terstruktur menggunakan protokol JXTA dan
penambahan peer group agar pengguna dapat
memilih peer group.
Ruang Lingkup
Aplikasi yang dikembangkan menggunakan
protokol JXTA dengan jaringan Local Area
Network (LAN) dan menggunakan jaringan
kampus IPB Dramaga untuk pengujian
penelitian. Aplikasi ini berfokus pada fungsi
chatting dan file sharing ke peer lainnya.

TINJAUAN PUSTAKA
Peer to peer (P2P)
Sebuah jaringan P2P setiap simpul dapat
berfungsi sebagai client dan server pada saat
yang sama. Jaringan P2P dapat menyediakan dan
mengkonsumsi layanan atau sumber daya.
Jaringan P2P tidak memiliki simpul pusat yang
untuk mengatur komunikasi antar komputer atau
peer, namun akan berkomunikasi langsung antar
peer. Ada dua jenis utama dari arsitektur
jaringan P2P, yaitu murni dan hibrida. P2P
murni sepenuhnya tidak memiliki simpul pusat
yang
mengkoordinasi
sebuah
jaringan,
sedangkan P2P hybrid menggunakan simpul
pusat
yang
hanya
berfungsi
sebagai
pengidentifikasi dari simpul-simpul yang ingin
berkomunikasi (Tsai et al. 2009).

2

Sampai saat ini sudah ada tiga model
jaringan P2P, yaitu terpusat, desentralisasi, dan
hibrida. Contoh dari aplikasi P2P yang
menggunakan arsitektur jaringan yang pertama
adalah Napster1. Arsitektur jaringan terpusat
menggunakan server sebagai pusat indeks untuk
menadah alamat IP dan isi file setiap pengguna.
Alamat IP dan isi file akan diperbaharui setiap
kali peer akan memasuki jaringan P2P tersebut.
Ilustrasinya pada Gambar 1 (Morkved 2005).

Lebih jelasnya akan diilustrasikan melalui
Gambar 3 (Morkved 2005).

Gambar 3 Arsitektur jaringan P2P hybrid
(Morkved 2005).
JXTA
Gambar 1 Arsitektur jaringan terpusat (Morkved
2005).
Contoh aplikasi P2P generasi kedua yang
menggunakan arsitektur jaringan desentralisai
adalah Gnutella. Arsitektur ini dirancang untuk
menghindari kelemahan dari arsitektur terpusat.
Masing-masing peer dari arsitektur ini dapat
bertindak sebagai server ataupun client.
Ilustrasinya terlihat pada Gambar 2 (Morkved
2005).

JXTA berasal dari kata Juxtapose, yang
bearti berdampingan. Teknologi JXTA adalah
sebuah open protocols yang dapat dihubungkan
pada jaringan P2P mulai dari perangkat ponsel
hingga komputer. Saat ini JXTA dibawah lisensi
open source sehingga banyak developer yang
tertarik dalam pengembangan aplikasi P2P.
Sebuah peer JXTA dapat membuat jaringan
virtual tempat setiap peer dapat berkomunikasi
dengan peer lainnya secara langsung bahkan
apabila peers tersebut berada di belakang
firewall dan NAT (Morkved 2005).
Ada tiga lapisan yang berbeda pada
perangkat lunak JXTA yaitu core layer, services
layer, dan application layer. Ketiga lapisan
tersebut digambarkan pada Gambar 4.

Gambar 2 Arsitektur jaringan desentralisasi
(Morkved 2005).
Generasi ketiga adalah gabungan dari
arsitektur jaringan terpusat dan desentralisasi,
dengan mengambil arsitektur terbaik yang biasa
disebut dengan arsitektur jaringan hybrid. Pada
saat peer client masuk ke dalam jaringan, peer
tersebut akan membuat koneksi langsung ke peer
pusat dan akan menyimpan informasi peer
lainnya yang terhubung dengan pusat. Apabila
peer yang satu ingin berhubungan dengan peer
lainnya, peer tersebut bisa mengambil alamat
informasi dari pusat. Contoh dari arsitektur
hibrida ini adalah Direct Connect (DC) network.
1

http://www.napster.com/

Gambar 4 JXTA layer (Gradecki 2003).
1 Core Layer
Lapisan ini terbentuk dari semua faktor
utama pada jaringan P2P seperti peer, peer
group, security, dan monitoring. Dalam lapisan
ini terdapat fungsi yang memungkinkan antar
peer dapat memasuki dan membuat peer group
sehingga antar peer dapat saling mengirimkan
pesan melalui pipe.

3

2 Services Layer
Lapisan ini berada di atas core layer, untuk
menyelesaikan tugas yang diberikan dari core
layer. Layanan yang ada pada lapisan ini adalah
file sharing, instant messenger.
3 Application Layer
Pada lapisan ini, aplikasi perangkat lunak
dapat dilihat sebagai layanan bagi peer lainya.
Akibatnya, lapisan ini dapat dikembangkan oleh
pengembang aplikasi JXTA dan dapat digunakan
untuk membuat lapisan service bagi peer
lainnya.
JXTA menggunakan konsep baru dalam
komunikasi P2P, yaitu mengunakan dokumen
XML yang akan menjelaskan layanan yang
tersedia di jaringan JXTA (Brookshier et al.
2002). Pada JXTA, semua peralatan yang
terhubung ke dalam jaringan dapat bertukar
pesan dalam format XML dan bekerja sama.
JXTA tidak bergantung kepada topologi jaringan
yang mendasari (underlying). JXTA berbasiskan
format XML dan dapat digunakan pada berbagai
bahasa pemrograman modern seperti Java, C#,
dan C/C++. Tujuan dari protokol JXTA ialah
agar setiap peer dapat membagi sumber daya
tanpa mengkhawatirkan tentang topologi
jaringan (Saeed 2007). Tujuan dasar yang
dicapai platform JXTA meliputi.
1 Setiap peer dapat saling menemukan satu
sama lain tanpa ada server terpusat.
2 Peer harus login ke group default JXTA.
3 Peer kemudian dapat mencari, membuat, dan
bergabung dengan group yang telah
ditentukan.
Selain
itu,
peer
harus
mengorganisir diri ke dalam peer group.
4 Peer dapat mengiklankan dan mencoba untuk
menemukan sumber daya pada jaringan yang
tersedia.
5 Peer harus dapat berkomunikasi satu sama
lain.
6 Peer dapat memantau satu sama lain.
7 Setiap Peer dalam jaringan JXTA tidak
diharuskan mengetahui topologi jaringan
untuk dapat berkomunikasi satu sama lain.
Protokol JXTA dirancang menjadi jaringan
yang dapat berdiri sendiri dan tidak memerlukan
penggunaan
proses
pengesahan
apapun,
keamanan, atau model enkripsi. JXTA sangat
sederhana dan platform umum yang dirancang
dengan fungsi dasar untuk menjadi host bagi
semua jenis layanan jaringan. Protokol ini juga
dapat diimplementasikan pada protokol jaringan
lainnya seperti TCP/IP, Bluetooth, dan HTTP.
Terdapat enam protokol yang terdapat pada
sistem JXTA (Gradecki 2003).

1 Peer Resolver Protocol (PRP) digunakan
untuk mengirimkan query ke sejumlah peer
lain dan untuk menerima respon.
2 Peer Discovery Protocol (PDP) digunakan
untuk mencari resource yang diinginkan.
3 Peer Information Protocol (PIP) digunakan
untuk memperoleh informasi status peer
(uptime, trafic load, capabilities, state, dsb).
4 Pipe Binding Protocol (PBP) digunakan
untuk membuat jalur komunikasi dan
pertukaran data antara peer.
5 Peer Endpoint Protocol (PEP) digunakan
untuk menemukan rute dari satu peer ke peer
yang lain.
6 Rendezvous Protocol (RVP) digunakan untuk
menyebarkan pesan dalam jaringan.

METODE PENELITIAN
Penelitian ini dikembangkan melalui
beberapa tahap yaitu seperti terlihat pada
Gambar 5.
Analisis Sistem

Perancangan Aplikasi

Implementasi

Pengujian
Gambar 5 Metode penelitian.
Analisis Sistem
Protokol yang digunakan dalam jaringan P2P
pada penelitian ini adalah protokol JXTA.
Analisis protokol JXTA sangat diperlukan untuk
mengetahui cara antar peer dapat berkomunikasi,
chatting, dan proses mengunduh.
Pada tahap ini analisis sistem juga mencakup
pembahasan penelitian sebelumnya yang
dilakukan oleh Saeed (2007), yaitu membangun
aplikasi P2P dengan menggunakan protokol
JXTA. Pada penelitian sebelumnya, aplikasi
tersebut hanya bisa chatting dan file sharing
dalam satu peer group saja. Penelitian ini akan
melakukan perubahan pada chatting dan file
sharing yang dapat memilih lebih dari satu peer
group.

4

Perancangan Aplikasi
Pada penelitian Saeed (2007), aplikasi P2P
tersebut tidak bisa memilih peer group mana
yang akan pengguna pilih. Melalui penelitian
kali ini aplikasi diharapkan bisa memilih peer
group mana yang akan pengguna pilih. Pada
perancangan penelitian kali ini peer group yang
tersedia ada dua. Pengguna dapat memilih salah
satu dari peer group yang tersedia. Dalam satu
peer group, pengguna bisa chatting dan file
sharing ke pengguna lainnya. Pengguna yang
berbeda peer group tidak bisa chatting dan
filesharing.
Implementasi
Lingkungan implementasi yang digunakan
adalah sebagai berikut:
Perangkat lunak:
 Sistem operasi Windows 7
 IDE Netbeans 7.1
 JXTA sebagai protokol P2P
 Bahasa pemograman Java
Perangkat keras:
 Prosessor AMD E-350 1.60 GHz
 RAM 4 GB
 Hardisk 500 GB
 D-LINK Wireless-N Router [DIR-600]
Selama implementasi menggunakan DIR-600
sebagai Local Area Network (LAN) untuk
mencoba aplikasi P2P.
Pengujian
Pengujian dilakukan setelah aplikasi selesai
diimplementasikan. Aplikasi ini akan dilihat dari
segi fungsionalitas. Perangkat uji yang akan
digunakan adalah dua komputer. Jaringan yang
digunakan untuk pengujian yaitu jaringan
kampus IPB Dramaga dengan satu subnet dan
beda subnet. Skenario yang dilakukan untuk
pengujian ada tiga yaitu, menguji proses unduh
dan chatting yang dilakukan pada peer group
dan subnet yang sama, menguji proses unduh
dan chatting yang dilakukan pada peer group
yang berbeda namun masih pada subnet yang
sama, dan yang terakhir menguji proses unduh
dan chatting yang dilakukan pada peer group
yang sama namun pada subnet yang berbeda.

HASIL DAN PEMBAHASAN
Analisis Protokol JXTA
Menurut Saeed (2007), ada beberapa elemen
utama yang berperan dalam jaringan P2P di
aplikasi JXTA, yaitu peer, identifiers, peer

group, advertisement, messages, dan pipe. Peer
merupakan komponen utama dalam jaringan P2P
atau sebuah simpul dalam jaringan JXTA. Saat
pertama kali aktif, semua peer akan masuk ke
default group atau jaringan global dari JXTA
yaitu NetPeerGroup. Setelah masuk ke
NetPeerGroup, peer tersebut bisa memasuki peer
group dan membuat peer group yang baru.
Identifiers merupakan sebuah elemen yang
ada dalam jaringan P2P, JXTA menggunakan
128-bit Universal Unique Identifier (UUID).
UUID ini dipakai oleh elemen dalam jaringan
P2P seperti peer, peer group, service,
advertisement, dan lain-lain. UUID ini akan
disimpan di advertismens, yang merupakan
sekumpulan informasi tentang peer, peer group,
service, dan sebagainya. Detail isi advetisment
ialah keterangan peer, group, service, maupun
pipe. Isi dari informasinya ialah nama, UUID,
deskripsi, dan sebagainya tergantung dari sebuah
elemen tersebut. Representasi data dari peer,
peer group, JXTA message, dan servcie akan
disimpan ke dalam advertisement yang berupa
dokumen XML. Advertisement digunakan untuk
menukarkan informasi yang ada di jaringan
JXTA (Brookshier et al. 2002). Elemen lainnya
adalah message, yang merupakan objek XML
yang dapat dikirim dari satu peer ke peer
lainnya. Dalam proses pengiriman message,
JXTA menggunakan pipe sebagai jalurnya.
Sebelum antar peer dapat berkomunikasi
seperti chatting dan file sharing, sebuah peer
harus memasuki peer group. Pada Gambar 6
terdapat diagram alir bagaimana proses peer
sampai join ke sebuah peer group.
Setelah memasuki NetPeerGroup yaitu
default group dari jaringan JXTA, peer akan
mencari advertisement peer group yang sesuai
dengan permintaaan peer. Pencarian dilakukan
oleh discovery service dari NetPeerGroup yang
bertugas untuk mencari advertisement (peer,
peer group, pipe, modules, dan lain-lain).
Sebagai contoh adalah pencarian peer group X.
Proses pertama yang dilakukan ialah mencari
advertisement peer group yang berada di lokal
(cache JXTA) dan dilakukan oleh discovery
service NetPeerGroup. Isi advertisement yang
dicari adalah atribut “Name” dengan isi “peer
group X” dan tipenya adalah “group”. Peer akan
langsung masuk ke dalam peer group X apabila
advertisement tersebut ditemukan di lokal dan
apabila tidak ditemukan di lokal maka pencarian
selanjutnya mencari advertisement ke peer
lainnya. Pencarian tersebut dikirim multicast IP
multicast (224.0.1.85). Jika peer lainnya
memiliki advertisement yang dicari, dimulailah

5

proses komunikasi yang ada pada Gambar 7,
yaitu sequence diagram pengenalan dan
pengiriman pesan antar peer.
Mulai mencari peer
group X

Memasukan data
advertisement ke
local

Pencarian melebihi
empat kali iterasi

Ya

Membuat peer
group

Tidak
Mencari
advertisment dengan
attribute “Name” X
di local
Tidak
Mengirimkan data
advertisement dari peer
yang mempunyai
advertisment tersebut

Menemukan
advertisment

Tidak
Publish new peer
group advertisment

Mencari
advertisement
dengan multicast

Menemukan
advertisement

Saling mengirimkan
welcome message
melalui protokol
JXTA

Ya

Ya

Handshake dengan
peer lainnya melalui
TCP

Join ke peer group

Gambar 6 Diagram alir peer masuk ke peer
group.

harus handshake melalui protokol TCP. Proses
handshake TCP tersebut terdapat pada sequence
kesatu sampai ketiga. Handshake yang terjadi,
yaitu pertama-tama peer 1 mengirimkan sinyal
ke peer 2 dan jika peer 2 merespons sinyal
tersebut dengan mengirimkan sinyal dan
acknowledgment, peer 1 dan peer 2 sudah saling
mengenal dan dapat saling bertukar data.
Sesudah antar peer saling mengenali melalui
protokol TCP, selanjutnya antar peer saling
mengirimkan welcome message sebagai koneksi
pertama kali yang dilakukan antar peer dalam
protokol JXTA. Informasi yang dikirim dalam
welcome message seperti pada sequence kelima
dan keenam adalah alamat IP, peerID, dan flag
yang mengontrol untuk koneksi kedua peer
tersebut. Jika welcome message sudah saling
terkirim, antar peer dapat melakukan pertukaran
data melalui protokol JXTA.
Setelah proses pengiriman advertisement
pada peer 2 ke peer 1 dilakukan melalui protokol
JXTA seperti pada Gambar 7, maka
advertisement tersebut akan disimpan pada lokal
peer. Pencarian peer group akan diulangi dari
pencarian lokal advertisement peer group sampai
pencarian remote advertisement yang sudah
dijelaskan sebelumnya. Iterasi ini akan diulangi
sampai dengan empat kali dan apabila
advertisement peer group yang dicari tidak
ditemukan maka peer akan membuat peer group
yang baru dan akan disimpan pada lokal. Pada
saat peer sudah menemukan atau membuat peer
group, selanjutnya peer akan masuk pada peer
group tersebut.
Pada umumnya, komunikasi yang dilakukan
antar peer pada sebuah peer group ialah chatting
dan mengunduh. Pada dasarnya proses
komunikasi seperti chatting dan mengunduh
antar peer tidak jauh berbeda dengan yang
dijelaskan pada Gambar 7. Proses chatting pada
JXTA yaitu seperti terlihat pada Gambar 8.

Gambar 7 Sequence diagram pengenalan dan
pengiriman pesan antar peer.
Sequence diagram di atas menunjukkan
proses komunikasi yang dilakukan oleh dua peer
yaitu dengan alamat IP peer 1 (192.168.10.101)
dan peer 2 (192.168.10.102). Peer 1 melakukan
pencarian advertisement melalui IP multicast,
dan peer 2 merespons, dengan kata lain peer 2
memiliki advertisement yang dicari oleh peer 1.
Proses pengiriman pesan dengan protokol JXTA
menggunakan protokol TCP. Peer 1 dan peer 2

Gambar 8 Diagram alir chatting protokol JXTA.

6

Gambar di atas menunjukkan diagram alir
chatting pada protokol JXTA. Proses chatting
pada gambar di atas menggunakan aplikasi P2P
yang dibangun oleh Saeed (2007). Pada saat
aplikasi P2P sudah siap digunakan oleh
pengguna, salah satu service yang sudah siap
adalah chatting listening input. Service tersebut
digunakan untuk menangkap sinyal atau pesan
dari peer lainnya jika peer lainnya mengirimkan
pesan. Proses pengiriman pesan pada fungsi
chatting yang pertama dilakukan adalah menutup
service chatting listening input peer yang ingin
chatting. Setelah service ditutup, peer tersebut
akan mencari pipe advertisement yang sesuai
dengan nama peer group. Pesan dikirim melauli
pipe tersebut, dan peer lainnya akan
menerimanya. Proses pengiriman pesan dikirim
melalui protokol JXTA setelah peer menemukan
pipe advertisement tersebut.

Analisis Sistem
Aplikasi P2P yang telah dibangun oleh Saeed
(2007)
merupakan aplikasi P2P
yang
menggunakan
protokol
JXTA.
Selain
menggunakan protokol JXTA, aplikasi Saeed
juga memakai teknologi Java sebagai bahasa
pemogramannya. Fungsi utama di aplikasi
tersebut ialah mencari file, mengunduh file, dan
chatting ke sesama peer group. Diagram alur
utama aplikasi Saaed (2007) terlihat pada
Gambar 10.

Proses mengunduh menggunakan protokol
JXTA mirip dengan proses pengirimkan pesan
melalui protokol JXTA. Berikut adalah Gambar
9 merupakan potongan sequence diagram proses
mengunduh yang terjadi pada protokol JXTA.

Gambar 9 Sequence diagram proses mengunduh
pada protokol JXTA.
Gambar di atas menjelaskan proses
mengunduh yang terjadi pada protokol JXTA,
dengan alamat peer masih sama dengan contoh
proses komunikasi sebelumnya. Peer 2 dalam
contoh di atas meminta file yang ada pada peer
1, peer 2 yang melakukan pengunduhan
sedangkan peer 1 yang mempunyai file tersebut.
Pada sequence pertama, peer 2 mengirimkan
pesan melalui protokol JXTA ke peer 1. Isi
pesan teresbut adalah isi file yang diminta oleh
peer 2 ke peer 1. Setelah peer 1 merespons,
proses pengiriman file akan dikirim secara
bertahap.

Gambar 10 Diagram alir utama aplikasi Saeed
(2007).
Pada awal aplikasi mulai dijalankan, syarat
dan kondisi untuk pemakaian aplikasi tersebut
akan muncul apabila kita menerima syarat dan
kondisi tersebut kita akan dapat menggunakan
aplikasi Saeed. Selanjutnya ialah mencari file
konfigurasi bernama “config.ini” di folder yang
sama. Apabila file tersebut tidak ditemukan,

7

maka pengguna akan diminta folder mana yang
akan dipilih. Alamat dari folder tersebut
berfungsi sebagai tempat file yang ingin kita
sharing. Setelah itu, service JXTA berjalan dan
mencari peer group bernama SaEeDGroup.
Apabila peer group tersebut tidak menemukan,
peer akan membuat peer group SaeedGroup dan
masuk ke SaeedGroup agar dapat berkomunikasi
dengan peer lainnya. Setelah masuk ke
SaeedGroup maka fungsi-fungsi utama seperti
mencari file, mengunduh file, dan chatting ke
sesama SaeedGroup akan dapat berjalan.
Perancangan Penambahan dan Perubahan
Fungsi
Aplikasi Saeed ini hanya bisa membuat dan
masuk ke peer group SaeedGroup. Penelitian
kali ini ada penambahan fungsi pada peer group
di aplikasi sebelumnya, yaitu pengguna dapat
memilih peer group yang tersedia. Pada segi
komunikasi, antar peer yang berbeda peer group
tidak bisa berkomunikasi, sedangkan antar peer
yang berada dalam peer group yang sama bisa
berkomunikasi. Gambar 11 yang merupakan
diagram alir utama aplikasi pada penelitian ini.
Application
terms and
condition

Mulai Aplikasi

Mencari berkas
configurasi

Accepted

Not Accepted
Menemukan berkas
“config.ini”

Tidak

Membuat
Berkas
“config.ini”

Ya

Menemukan
folder “.jxta”

Tidak

Set JXTA
username
dan
password

Ya

Aplikasi selesai

Memilih peer
group yang
diinginkan

Tidak
Ya

Mencari
advertisment
peer group

Aplikasi siap
untuk chating

Join peer
group

Mencari file
yang ingin
diunduh

Menjalankan service
chatting dan file
sharing

Mengunduh
file yang
dipilih

Menekan
tombol exit

Gambar 11 Diagram alir utama aplikasi.

Sesuai dengan diagram alir pada Gambar 11,
proses yang dilingkari warna merah merupakan
penambahan fungsi dari aplikasi Saeed
sebelumnya. Dalam penelitian ini akan ada dua
penambahan peer group yaitu peer group A dan
peer group B, yang nantinya pengguna dapat
memilih salah satu dari kedua peer group
tersebut. Proses dari keseluruhan tidak jauh
berbeda dengan aplikasi Saeed, yaitu pada saat
aplikasi dijalankan muncul aplication terms and
condition. Apabila diterima, lanjut ke proses
selanjutnya dan jika tidak diterima, aplikasi
selesai. Proses yang dilakukan selanjutnya oleh
sistem yaitu mencari file konfigurasi yang
bernama “config.ini” yang terletak pada folder
aplikasi tersebut. File tersebut merupakan file
yang berisi alamat folder mana yang akan bisa
dilihat oleh peer lainya dengan kata lain alamat
folder untuk file sharing. Proses akan berjalan ke
selanjutnya jika sudah menemukan file tersebut,
dan apabila tidak ditemukan, pengguna akan
memilih alamat folder tersebut dan sistem akan
membuat file tersebut. Selanjutnya yaitu aplikasi
tersebut yang mencari folder “.jxta” yang berada
pada folder yang sama pada aplikasi tersebut,
yaitu merupakan folder konfigurasi untuk
protokol JXTA tempat menyimpannya data dari
peerID, peer group, advertisement, dan lain
sebagainya. Jika folder tersebut tidak ditemukan,
pengguna harus memasukan username dan
password, data yang dimasukan oleh pengguna
merupakan data peer dari pengguna.
Proses selanjutnya merupakan proses
penambahan dari aplikasi Saeed, yaitu pengguna
dapat memilih peer group yang disediakan oleh
sistem, yang sebelumnya pada aplikasi Saeed
pengguna tidak dapat memilih peer group dan
harus masuk ke peer group Saeed. Seperti yang
dikatakan sebelumnya, aplikasi dalam penelitian
ini menyediakan dua peer group yang berbeda
yaitu Peer group A dan Peer group B. Setelah
pengguna memilih peer group yang telah
disediakan, proses selanjutnya adalah mencari
advertisement dari peer group tersebut.
Pencarian advertisement sudah dijelaskan di atas
pada sub bab analisis JXTA. Selanjutnya ialah
menjalankan service untuk chatting dan file
sharing dan setelah service tersebut sudah siap,
aplikasi sudah siap untuk chatting pada sesama
peer group. Untuk mengunduh file yang ada
pada peer lainnya pengguna harus mencari file
yang inginkan lalu memilihnya, setelah itu file
yang diinginkan akan terkirim melalui protokol
JXTA. Aplikasi akan selesai apabila pengguna
menekan tombol exit.

8

Implementasi Aplikasi
Dalam aplikasi penelitian ini, terdapat tiga
belas class yang tercantum pada Lampiran 1,
yaitu ChatInput, ChatOutput, CheckSumCalc,
DownloadFile, FirstTimeCheck, PeerListing,
SaeedSharing, SearchFile, ModifyXMLFile,
StartJXTA, dan frmMain. Class utama dari
aplikasi Saeed adalah class frmMain. Perbedaan
class pada aplikasi penelitian ini dengan aplikasi
Saeed sebelumnya tidaklah banyak, namun class
yang memiliki banyak perubahan ialah class
StartJXTA, frmMain, dan SaeedSharing. Class
yang ditambahkan ialah ModifyXMLFile.
Class StartJXTA ini memiliki peran penting
dalam memasuki jaringan JXTA. Berikut adalah
class dari StartJXTA pada Gambar 12.

Gambar 12 Class StartJXTA.
Class StartJXTA merupakan bagian inti dari
aplikasi ini, karena proses memasuki jaringan
JXTA ataupun peer group berada pada class ini.
Proses utama yang terjadi pada class StartJXTA
adalah peer memasuki jaringan global JXTA,
kemudian pengguna memilih peer group dan
masuk ke peer group tersebut. Jaringan global
JXTA ini biasa disebut NetPeerGroup, yaitu peer
group dasar dari jaringan JXTA. Setelah
memasuki NetPeerGroup sebuah peer akan bisa
membuat atau masuk ke peer group lainnya.
Sesuai dengan perancangan aplikasi, pengguna
dapat memilih dua peer group yang berbeda
yaitu peer group A dan peer group B. Pada
proses memasuki jaringan global JXTA
dilakukan oleh method launchJXTA. Setelah

memasuki jaringan global JXTA peer
mendapatkan discovery service dari jaringan
global JXTA, proses ini dilakukan oleh method
getServices. Service ini diperoleh untuk mencari
advertisement peer group yang pengguna
inginkan. Dalam penelitian kali ini peer group
terbagi menjadi dua peer group, yaitu peer
group A dan peer group B dengan ID terdapat
pada Gambar 12.
Pemilihan peer group tersebut dilakukan
pada method pilih_group. Setelah pengguna
memilih peer group, sistem akan mencari
advertisement peer group tersebut dengan
menggunakan method searchForGroup. Dalam
method searchForGroup terdapat pencarian
advertisement peer group secara lokal dan
remote. Proses pencarian tersebut dilakukan
melalui empat kali iterasi dengan menggunakan
discovery service yang diperoleh sebelumnya.
Apabila advertisement peer group yang dicari
telah ditemukan, peer akan masuk ke peer group
tersebut
dengan
menggunakan
method
joinToGroup. Jika tidak ditemukan, sistem akan
menjalankan method createGroup. Pada method
createGroup, proses yang dilakukan ialah
membuat membuat advertisement peer group
yang dicari oleh sistem sebelumnya dengan
parent root NetPeerGroup yaitu jaringan global
JXTA. Advertisement peer group yang sudah
dibuat akan publish ke lokal dan remote melalui
discovery service NetPeerGroup, hal ini
ditujukan
agar
peer
tersebut
dapat
berkomunikasi dengan peer lainnya yang berada
pada peer group yang sama dan agar selanjutnya
pencarian peer group tersebut lebih cepat karena
advertisement tersebut disimpan di lokal. Setelah
advertisement peer group berhasil dibuat atau
ditemukan, selanjutnya peer masuk ke peer
group tersebut dengan menggunakan method
joinToGroup.
Proses komunikasi yang bisa dilakukan antar
peer antara lain chatting dan pengunduhan.
Komunikasi chatting antar peer membutuhkan
pipe advertisement untuk mengirim pesan dari
satu peer ke peer lainnya. Pipe Advertisement
adalah dokumen XML yang berisi spesifikasi
dari pipe advertisement tersebut. Konten dari
pipe tersebut adalah Name, Id, dan Type. Konten
Name dan Id merupakan nama dan id dari pipe
advertisement tersebut. Konten Type untuk pipe
advertisement terdapat tiga tipe yaitu
JxtaUnicast,
JxtaUnicastSecure,
dan
JxtaPropagate. JxtaUnicast adalah pipe yang
mengirimkan pesan ke satu peer sajadan pesan
yang dikirim tidak ada keamanan yang baik,
sedangkan JxtaUnicastSecure sama halnya
dengan JxtaUnicast namun ada kemanan yang

9

baik dalam pengiriman pesan. Untuk tipe
JxtaPropagate adalah pesan yang dikirm disebar
ke peer lainnya tidak hanya satu peer saja,
namun keamanannya sama dengan JxtaUnicast,
tidak ada keamanan yang baik untuk proses
pengiriman pesan (Brookshier et al. 2002).
Contoh isi dari pipe advertisement tersebut
seperti pada Gambar 13.

spesifikasi atau isi pipe advertisement
menggunakan method changeNamePeergroup.
Method tersebut akan mengubah tag XML file
tersebut. Tag yang dirubah ialah Name dan Id
dan isinya akan berubah sesuai dengan pipe
advertisement peer group yang dinginkan.
Dalam proses file sharing, aplikasi Saeed
(2007) mengunakan Content Management
Service (CMS) file sharing JXTA. Class yang
mengimplementasikan CMS JXTA tersebut
adalah SaeedSharing. Tujuan menggunakan
CMS tersebut adalah
membuat objek
advertisement file agar peer lainnya dapat
dengan mudah mencari file yang sudah dibagi
oleh peer tersebut. Berikut adalah Gambar 15
yang
merupakan
class
diagram
dari
SaeedSharing.

Gambar 13 Pipe Advertisement.
Pipe Advertisement seperti pada Gambar 13
adalah pipe advertisement yang digunakan pada
aplikasi penilitian ini. Pipe Advertisement yang
terdapat pada gambar di atas merupakan pipe
advertisement untuk peer group A, tipe dari pipe
advertisement tersebut adalah JxtaPropagate
karena dalam satu group memungkinkan untuk
berisi lebih dari dua peer, agar komunikasi
chatting dapat diterima oleh seluruh member
peer yang berada dalam satu peer group. Dalam
aplikasi ini tersedia dua peer group, namun
untuk pipe advertisement hanya tersedia satu.
Maka dari itu dibutuhkan fungsi untuk
mengubah isi spesifikasi pipe advertisement
tersebut. Class yang bertugas untuk mengubah
pipe
advertisement
tersebut
adalah
ModifyXMLFile. Berikut adalah class diagram
dari ModifyXMLFile pada Gambar 14.

Gambar 15 Class SaeedSharing.

Gambar 14 Class ModifyXMLFile.

Selama
proses
implementasi
saya
menemukan bug yang terdapat pada class
SaeedSharing, yaitu objek file sharing tersebut
terdapat duplikasi apabila menjalankan aplikasi
tersebut lebih dari satu kali. Jumlah yang
terduplikasi sama dengan jumlah aplikasi
tersebut dijalankan. Jika aplikasi digunakan tiga
kali, objek file sharing tersebut terduplikasi
sebanyak tiga. Hal ini menganggu pengguna
dalam pencarian file yang diinginkan. Proses
yang membuat terduplikasi ialah tidak
terhapusnya file “shares.ser” di satu folder
aplikasi berada. File tersebut terbentuk dengan
menggunakan method launchCMS dan isinya
adalah kumpulan objek file dari folder yang telah
pilih oleh pengguna dan apabila file tersebut
tidak dihapus maka objek file sharing akan terus
bertambah atau terduplikasi karena objek file
sharing sebelumnya masih tercatat di file
tersebut.

Atribut dari class tersebut terdiri atas log,
ID_A, dan ID_B. ID_A dan ID_B merupakan id
untuk pipe advertisement peer group masingmasing peer group A dan B. Masing-masing id
tersebut diperoleh dari API JXTA dan disimpan
secara statis di class tersebut. Untuk mengubah

Untuk menangani bug tersebut, alur dari
SaeedSharing
sedikit
diubah
dengan
menyisipkan method deleteCMS pada construct
class SaeedSharing. Alurnya menjadi deleteCMS
lalu
launchCMS.
Dengan
menyisipkan
deleteCMS, objek file dari CMS tersebut tidak

10

terduplikasi karena sebelum menjalankan
method
launchCMS
dijalankan
method
deleteCMS dengan tujuan menghapus file
“shares.ser” tersebut, setelah sukses terhapus
maka sistem akan membuat file yang baru
dengan menjalankan method launchCMS.
Main class dari aplikasi penelitian ini adalah
frmMain. Class frmMain merupakan class
tempat pengguna dapat mengeksekusi semua
fungsi yang terdapat dalam aplikasi ini seperti
chatting, mengunduh file, mencari file, dan lainlain. Class ini juga terbentuk dari standar
komponen dari java seperti JButton, JTable,
JList, dan lain-lain. Berikut Gambar 16 yang
menunjukkan struktur class frmMain.

karena class ini memanggil semua class yang
ada di aplikasi ini. Perubahan yang terjadi di
class ini dengan aplikasi Saeed sebelumnya
adalah terdapat pada main, yaitu penambahan
fungsi merubah spesifikasi pipe advertisement,
yang sebelumnya tidak ada perubahan spesifikasi
pipe advertisement.
Jaringan Untuk Pengujian
Dalam pengujian aplikasi P2P tentunya
dibutuhkan sebuah jaringan. Jaringan yang
diapakai untuk pengujian aplikasi ini adalah
menggunakan jaringan IPB. Penggunaaan
jaringan IPB dalam proses pengujian juga di bagi
menjadi dua tipe jaringan yaitu jaringan dengan
satu subnet dan jaringan dengan beda subnet.
Alsan pengujian dibagi menjadi dua tipe jaringan
adalah menguji sampai mana aplikasi ini dapat
berkomunikasi dengan baik. Ilustrasi jaringan
dengan satu subnet dan jaringan subnet yang
berbeda adalah sebagai berikut pada Gambar 17.

Router A
172.18.78.1

Router B
172.18.72.1

Hub

Hub

Peer 1
172.18.78.101

Gambar

Peer 2
172.18.78.102

17

Peer 3
172.18.72.101

Ilustrasi jaringan
pengujian.

Peer 4
172.18.72.102

IPB

untuk

Jumlah subnet yang ada pada ilustrasi
gambar di atas adalah dua, yaitu jaringan A
dengan subnet 172.18.78.0 dan jaringan B
dengan subnet 172.18.72.0. Pada jaringan A
terdapat satu router dan dua peer yaitu router A
dengan alamat IP 172.18.78.1, peer 1 dengan
alamat IP 172.18.78.101, dan peer 2 dengan
alamat IP 172.18.78.102. Begitu juga dengan
jaringan B, terdapat satu router dan dua peer
yaitu dengan IP router B 172.18.72.1, peer 3
172.18.72.101, dan peer 4 172.18.72.102.
Contoh komunikasi pada jaringan satu subnet
adalah antara peer 1 dengan peer 2 dan antara
peer 3 dengan peer 4, sedangkan komunikasi
pada jaringan subnet yang berbeda adalah antara
peer 1 dengan peer 3 atau peer 4.
Gambar 16 Class frmMain.
Class frmMain merupakan parent atau pusat
dari semua class yang ada pada aplikasi ini,

Hasil Pengujian
Pengujian dalam penelitian ini dibagi
menjadi dua yaitu pengujian fungsional dari
aplikasi dan pengujian kinerja protokol JXTA.

11

Skenario yang dilakukan dalam pengujian ini
adalah dari aplikasi mulai dijalankan, menerima
syarat dan ketentuan aplikasi, pemilihan path
folder yang akan dibagi, masuk ke jaringan
JXTA, pemilihan peer group, mencari file yang
ingin diunduh, mengunduh file yang dipilih, dan
chatting antar peer pada peer group yang sama.
Besar file yang diunduh dalam proses pengujian
ialah 5.12 MB. Selama proses pengujian, data
untuk lalu lintas jaringan direkam menggunakan
Wireshark.
Pengujian fungsionalitas dimulai dengan
menjalankan aplikasi. Aplikasi ini dibutuhkan
Java Runtime Environment (JRE) versi 1.6 untuk
menjalankan aplikasi. Aplikasi tersebut berupa
file dengan nama “Skripsi.jar”. Pada saat aplikasi
dijalankan muncul ketentuan dan syarat dari
aplikasi yang berisi informasi mengenai aplikasi
tersebut. Dalam kententuan dan syarat tersebut
terdapat dua tombol yaitu exit dan accept. Jika
pengguna menekan tombol exit, aplikasi akan
selesai dan apabila pengguna menekan tombol
accept, aplikasi akan mulai masuk dalam
pencarian file yang bernama”config.ini”. syarat
dan ketentuan aplikasi ini ditunjukkan pada
Gambar 18.

Gambar 20 Pengguna memilih folder yang akan
dibagi.
Setelah berhasil memilih folder yang akan
dibagi, proses selanjutnya adalah pengguna akan
memasuki jaringan JXTA. Untuk memasuki
jaringan JXTA ini, pengguna harus memasukan
nama peer dan password. Memasukan nama
peer dan password dilakukan pada saat pertama
kali pengguna menjalankan aplikasi ini. Untuk
selanjutnya, pengguna tidak memasukan nama
peer dan password tersebut karena data tersebut
sudah disimpan dalam cache. Berikut adalah
Gambar 21 yang menunjukkan konfigurasi nama
peer dan password.

Gambar 18 Syarat dan kententuan aplikasi.
Proses selanjutnya adalah pencarian file yang
bernama “config.ini”, jika tidak menemukan file
tersebut, akan ada peringatan seperti pada
Gambar 19, dan pengguna akan memilih alamat
folder yang akan dibagi seperti pada Gambar 20.

Gambar 19 Peringatan pengguna tidak memiliki
file "config.ini".

Gambar 21 Antarmuka konfigurasi jxta.
Pengguna akan masuk ke jaringan global
JXTA sesudah pengguna memasukkan nama
peer dan password. Setelah memasuki jaringan
global JXTA, sistem memunculkan pilihan peer
group yang akan dipilih oleh pengguna. Antar
muka pada pemilihan peer group ditujukan pada
Gambar 22. Peer group dibagi menjadi dua yaitu
peer group A dan peer group B. Peer group

12

yang dipilih dalam pengujian ini adalah peer
group A seperti ditujukkan pada Gambar 23.

peer ke peer group ditunjukkan pada Gambar 25
dan Gambar 26. Pengujian yang dilakukan peer
Catur mengirimkan pesan sebanyak tiga kali
seperti yang ditunjukan pada Gambar 27, begitu
juga dengan peer Irvan mengirimkan pesan
sebanyak t