• Tidak ada hasil yang ditemukan

Rancang Bangun Jaringan Peer-to-Peer Webcam dengan Menggunakan Protokol JXTA

N/A
N/A
Protected

Academic year: 2017

Membagikan "Rancang Bangun Jaringan Peer-to-Peer Webcam dengan Menggunakan Protokol JXTA"

Copied!
45
0
0

Teks penuh

(1)

HA

DEP

FAKULTAS MATEM

INSTI

HASRUL ADIPUTRA HARAHAP

EPARTEMEN ILMU KOMPUTER

EMATIKA DAN ILMU PENGETAHU

INSTITUT PERTANIAN BOGOR

BOGOR

2012

(2)

HASRUL ADIPUTRA HARAHAP

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

(3)

ABSTRACT

HASRUL ADIPUTRA HARAHAP. Design A Peer-to-Peer Webcam Network Using JXTA Protocol. Supervised by SRI WAHJUNI.

Internet is a media for exchange of information and data. Network used on the internet today still implementing client-server network model. Clients need the information must related to the server and request the information needed. System established client-server network is a centralized system and can potentially commercial. If the server was down, the information requested by the client can’t be given and the whole network will be disrupted.

Peer-to-peer network is set up to reduce the problem of client-server. Peer-to-peer will not be affected to the problems that occur in each host. If one host to crash or be unable to connect, the network was still able to run. In this research we develop an application using JXTA protocol as a framework for peer-to-peer and API JMF as an additional feature integrated on a JXTA application. API JMF is used to access webcam and produces images or videos.

Video or image files generated by the API JMF can be distributed directly into the peer-to-peer network which has been formed. Other connected peers can directly search and download the video files or images. Downloaded files will be directly stored into a local folder on each peer. Files downloaded can be directly redistributed by every peer. If one peer dies, the other peer can share the data from the dead peer after the file is downloaded from the source peer.

(4)

Judul Skripsi : Rancang Bangun Jaringan Peer-to-Peer Webcam dengan Menggunakan Protokol JXTA

Nama : Hasrul Adiputra Harahap

NRP : G64096028

Disetujui Pembimbing

Ir Sri Wahjuni MT NIP 196805012005012001

Diketahui

Ketua Departemen Ilmu Komputer

Dr Ir Agus Buono MSi MKom NIP 196607021993021001

(5)

PRAKATA

Alhamdulillahirobbil’alamin, segala puji bagi Allah Subhanahu Wa Ta'ala untuk semua rahmat dan karunia yang selalu dicurahkan oleh-Nya. Selawat beserta salam tercurahkan kepada Nabi Muhammad Shallallahu ‘Alaihi Wa Sallam. Dengan petunjuk dan bimbingan-Nya, penelitian tugas akhir ini berhasil diselesaikan. Tugas akhir yang berjudul Rancang Bangun Jaringan Peer-to-Peer Webcam dengan Menggunakan Protokol JXTA.

Tentunya penyelesaian tugas akhir ini tidak luput dari bantuan berbagai pihak. Pada kesempatan ini, rasa terima kasih penulis ucapkan kepada:

1 Ayahanda M Rahim Harahap, Ibunda Ratna Dewi Siregar, saudara-saudaraku Rudi Hartono Harahap, Reny Ellina Harahap dan Yuyun Sarima Ulfa Harahap beserta semua keluarga besar atas semua doa dan dukungan yang senantiasa diberikan.

2 Ibu Ir Sri Wahjuni MT selaku dosen pembimbing yang senantiasa mencurahkan waktu, tenaga

dan pikiran untuk penyelesaian tugas akhir ini.

3 Bapak Endang Purnama Giri SKom MKom dan Bapak Ahmad Ridha SKom MS sebagai dosen

penguji atas segala masukan yang diberikan.

4 Seluruh dosen pengajar Departemen Ilmu Komputer FMIPA IPB untuk semua yang telah

mereka berikan selama Saya mengikuti proses pembelajaran.

5 Seluruh staf yang telah membantu proses pembelajaran hingga selesai.

6 Aoki, Lina, Yuni, Dura, Laila, Anela, Anis, Debby, Mono, Icha, Rany, Bangun, Desta, Andri,

Pauzi, Canggih, dan semua teman-teman seangkatan Ilkom X4 atas persahabatan dan kebersamaan selama ini. Semoga kebersamaan kita akan terus berjalan untuk selamanya.

7 Ibu Lusi, Ibu Sari, Pak Dedi, Pak Ringga, dan semua keluarga besar Yayasan Pembangunan I

atas doa, dukungan, dan bantuan yang senantiasa diberikan.

8 Agus, Rasyid, Junaidi, Rahmat, dan Oky atas persahabatan dan kebersamaannya.

9 Pihak-pihak lain yang tidak mungkin disebutkan satu persatu untuk bantuannya dalam

penyelesaian tugas akhir ini.

Akhir kata, penelitian tugas akhir ini tentu masih jauh dari sempurna. Masukan dari berbagai pihak tentu amat diharapkan untuk membangun apa yang telah dicapai penelitian ini hingga menjadi lebih baik lagi. Semoga penelitian ini memberikan manfaat untuk dunia terlebih lagi di akhirat.

Bogor, Agustus 2012

(6)

RIWAYAT HIDUP

(7)

v

DAFTAR ISI

Halaman

DAFTAR GAMBAR ... vi

DAFTAR LAMPIRAN ... vi

PENDAHULUAN Latar Belakang ... 1

Tujuan... 1

Ruang Lingkup ... 1

TINJAUAN PUSTAKA Peer-to-peer ... 1

Arsitektur Peer-to-peer ... 2

JXTA ... 2

Arsitektur JXTA ... 3

JMF ... 3

METODE PENELITIAN Perancangan Jaringan Peer-to-peer ... 4

Implementasi ... 4

Pengujian ... 4

HASIL DAN PEMBAHASAN Perancangan Jaringan Peer-to-peer ... 4

Implementasi ... 5

Pengujian ... 7

KESIMPULAN DAN SARAN Kesimpulan ... 12

Saran ... 12

DAFTAR PUSTAKA ... 12

(8)

vi

DAFTAR GAMBAR

Halaman

1 Arsitektur jaringan terpusat (Morkved 2005). ... 2

2 Arsitektur jaringan desentralisasi (Morkved 2005). ... 2

3 Arsitektur jaringan P2P hibrida (Morkved 2005). ... 2

4 JXTA Layer (Gradecki 2002). ... 3

5 Metode Penelitian. ... 4

6 Jaringan Peer-to-peer. ... 4

7 Flowchart program utama... 5

8 Flowchart capture gambar. ... 6

9 Flowchart capture video. ... 6

10 Aplikasi tidak menemukan file "config.ini". ... 7

11 Pemilihan path folder yang dibagi. ... 7

12 Login ke dalam jaringan JXTA peer-to-peer. ... 7

13 Tab connection log aplikasi utama... 8

14 Proses unduh. ... 8

15 Media capture gambar. ... 8

16 Media capture video. ... 9

17 Daftar share file sebelum capture gambar dan video. ... 9

18 Daftar share file setelah capture gambar dan video. ... 9

19 Preview gambar. ... 9

20 Preview video. ... 10

21 Daftar file yang dibagi peer 1. ... 10

22 Daftar file yang dibagi peer 2. ... 10

23 Daftar peer pada peer 3 sebelum peer 1 mati. ... 10

24 Daftar peer pada peer 3 setelah peer 1 mati. ... 10

25 Hasil pencarian oleh peer 3... 11

26 Proses unduh oleh peer 3 ... 11

DAFTAR LAMPIRAN

Halaman 1 Pencarian file dengan memasukkan nama file dan tanpa nama file ... 14

2 Daftar content yang dibagi ... 15

3 Daftar peer yang tergabung ... 16

(9)

PENDAHULUAN

Latar Belakang

Internet merupakan media tempat untuk bertukar informasi dan data. Jaringan yang digunakan pada internet saat ini masih

menerapkan model jaringan client-server.

Informasi dapat diperoleh dari server. Client

yang membutuhkan informasi harus

berhubungan dengan server dan meminta

informasi yang dibutuhkan. Layanan yang diberikan oleh server dapat berupa web content, transfer file, dan lain-lain. Namun, setiap layanan tersebut merupakan layanan terpusat dan dapat berpotensi komersial. Permasalahan lain yang timbul adalah jika server mengalami gangguan, data, atau informasi yang diminta

oleh client tidak dapat diberikan dan

keselurahan jaringan tersebut akan terganggu.

Jaringan peer-to-peer dibentuk untuk

mengurungi masalah sistem terpusat. Jaringan peer-to-peer tidak akan terpengaruh terhadap masalah yang terjadi pada masing-masing host. Jika salah satu host mengalami gangguan atau tidak dapat terhubung, jaringan ini tetap dapat

berjalan. Jaringan peer-to-peer merupakan

jaringan yang dikhususkan untuk file sharing, terutama untuk file video dan audio (Liebau et al. 2005). File video atau gambar dapat diperoleh dengan menggunakan perangkat atau media yang disebut kamera. Kamera yang digunakan untuk komunikasi di jaringan atau yang terhubung langsung dengan komputer sering disebut dengan istilah webcam. Banyak situs dan aplikasi yang mengintegrasikan webcam sebagai media komunikasi atau perangkat yang digunakan untuk menghasilkan video atau gambar, seperti Facebook, Yahoo Messengger, Skype, dan masih banyak situs serta aplikasi lain yang menyediakan fitur yang sama. Namun, komunikasi yang dilakukan oleh setiap situs dan aplikasi-aplikasi tersebut pada umumnya menggunakan direktori terpusat sebagai tempat penyimpanan data video atau gambar dari webcam. Direktori terpusat yang digunakan oleh situs tersebut dapat berpotensi komersial.

Jaringan peer-to-peer berbasis webcam bisa menjadi solusi, karena dapat digunakan tanpa

perlu web server dan direktori terpusat.

Pengguna hanya memerlukan pengetahuan teknis yang sangat sedikit untuk terhubung ke

dalam jaringan peer-to-peer dan melakukan

capture video atau gambar dari webcam yang dimilikinya. Video atau gambar yang dihasilkan dapat langsung dibagi pada jaringan peer-to-peer. Pengguna lain yang terhubung dapat mengunduh file yang telah dibagi. Jaringan ini

mengorganisir diri sendiri (self-organising) dan tidak tergantung pada penyedia komponen terpusat (berpotensi komersial).

Tujuan

Tujuan penelitian ini adalah

mengimplementasikan jaringan peer-to-peer

webcam yang dapat membagi file video atau gambar dan dapat diunduh langsung oleh pengguna yang tergabung pada jaringan peer-to-peer.

Ruang Lingkup

Ruang lingkup dalam penelitian ini adalah sebagai berikut:

1 Hanya pengguna yang telah tergabung

dalam jaringan peer-to-peer yang dapat

mengunduh file yang dibagi.

2 Hanya pengguna yang memiliki webcam

dan memasang API JMF yang dapat menghasilkan file video atau gambar.

3 Protokol peer-to-peer yang digunakan

adalah JXTA.

4 Pengaksesan webcam menggunakan API

JMF.

5 Tidak membahas koneksi fisik secara detail. 6 Pengujian menggunakan mesin virtual yang

terhubung dalam jaringan virtual.

TINJAUAN PUSTAKA

Peer-to-peer

Peer-to-peer (P2P) merupakan salah satu teknologi komputasi terdistribusi yang memberi

kemudahan sebuah peer untuk melakukan

koneksi dengan peer lain secara langsung dan melakukan pertukaran data antara dua komputer atau peer dalam jaringan tanpa perantara (Kwok et al. 2005). Sebelumnya, peer-to-peer dikenal sebagai konsep host-to-host saat pertama kali digunakan untuk komunikasi setara antara dua peer. Pada konsep ini, setiap peer dapat bertindak sebagai server dan client secara bersamaan (Saeed 2007).

Kurniawan (2005) menyatakan peer pada

jaringan P2P dapat disebut juga sebagai servent karena peer tersebut berperan sebagai client dan server dalam jaringan. Dwifungsi peer tersebut terjadi secara bergantian tergantung aktivitas yang dilakukan. Secara umum aktivitas yang dilakukan sebuah peer terbagi menjadi dua fase, yaitu fase pencarian dan fase pengunduhan.

Pada fase pencarian, sebuah peer A

menanyakan keberadaan file yang diinginkan

kepada peer lain dengan cara mengirimkan

query. Peer B yang memiliki file yang

(10)

Selanjutnya peer A mengadakan koneksi langsung dan mengunduh file dari peer B.

Arsitektur Peer-to-peer

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 Napster. Arsitektur jaringan terpusat menggunakan server sebagai pusat indeks untuk menadah sebuah database setiap pengguna. Database akan diperbaharui setiap kali peer atau penggunanya akan masuk ke jaringan P2P tersebut, berikut ilustrasi pada Gambar 1 (Morkved 2005).

Gambar 1 Arsitektur jaringan terpusat (Morkved 2005).

Contoh aplikasi P2P generasi kedua yang menggunakan arsitektur jaringan desentralisasi adalah Gnutella. Arsitektur ini dirancang untuk menghindari kelemahan dari arsitektur terpusat. Masing-masing peer dari arsitektur ini dapat bertindak sebagai server ataupun client, berikut adalah ilustrasi pada Gambar 2 (Morkved 2005).

Gambar 2 Arsitektur jaringan desentralisasi (Morkved 2005).

Generasi ketiga adalah gabungan dari arsitektur terpusat dan arsitektur desentralisasi yang biasa disebut dengan arsitektur jaringan hibrida. 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. Lebih jelasnya akan diilustrasikan pada Gambar 3 (Morkved 2005).

Gambar 3 Arsitektur jaringan P2P hibrida (Morkved 2005).

JXTA

JXTA adalah sebuah proyek open source

yang bertujuan mengembangkan framework

untuk aplikasi peer-to-peer (Nocentini 2010). JXTA dirancang untuk lebih baik dibanding

solusi P2P yang sudah ada.Nama JXTA berasal

dari kata juxtaposed (menghubungkan) dan

bermaksud untuk menekankan konsep

kolaborasi dengan model client-server. JXTA menyediakan platform umum yang berisi fitur berikut, yang direkomendasikan oleh jaringan peer-to-peer.

1 Interoperability

Setiap vendor dapat mengeluarkan protokol P2P sendiri yang tidak sama, namun tetap dapat terkoneksi

2 Platform Independence

Dapat dijalankan di banyak platform dan mendukung banyak bahasa pemrograman. 3 Ubiquity

Tidak hanya PC, sistem dapat dijalankan pada berbagai perangkat seperti mobile device yang juga bisa terhubung dalam jaringan P2P JXTA ini.

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 adalah setiap peer dapat

membagi sumber daya tanpa mengkhawatirkan tentang topologi jaringan (Saeed 2007). Tujuan dasar yang dicapai platform JXTA meliputi.

1 Setiap Peer dapat menemukan satu sama

lain tanpa ada server terpusat.

(11)

3 Peer kemudian dapat mencari, membuat,

dan bergabung dengan group yang telah

ditentukan. Di lain pihak, peer harus

mengorganisir diri ke dalam peer group. 4 Peer kemudian 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.

Ada 6 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.

Arsitektur JXTA

Perangkat lunak JXTA terdiri atas tiga

lapisan. Ketiga lapisan tersebut akan

ditunjukkan pada Gambar 4.

Gambar 4 JXTA Layer (Gradecki 2002).

1 Core Layer

Core layer terbentuk dari semua faktor utama dan umum dari jaringan P2P. Faktor tersebut adalah peer, peer discovery, peer monitoring, komunikasi peer, dan yang terkait dengan keamanan primitif. Lapisan ini dibagi antara semua perangkat peer-to-peer sehingga memungkinkan proses interoperabilitas.

2 Service Layer

Lapisan ini berada di atas lapisan Core dan merupakan lapisan umum untuk jaringan P2P, tetapi bukan merupakan kebutuhan mutlak untuk jaringan P2P. Contoh layanan jaringan meliputi file sharing, layanan transfer pesan

(AOL messenger), penyimpanan, sistem file

terdistribusi, dan translasi protokol. 3 Application Layer

Pada lapisan ini, aplikasi perangkat lunak dapat dilihat sebagai layanan bagi peer lainnya. Akibatnya, lapisan ini dapat dikembangkan oleh pengembang yang membuat aplikasi JXTA dan dapat digunakan untuk membuat lapisan service bagi peer lainnya.

JMF

Java Media Framework (JMF) adalah Application Programming Interface (API) yang dapat digunakan untuk memasukan data-data media, baik itu audio maupun video ke dalam aplikasi dan applet Java (Priyanggoro 2005).

JMF mengembangkan kemampuan framework

dengan menyediakan dukungan terhadap proses capturing dan storing data media, mengontrol tipe pemrosesan yang dilakukan selama playback, dan melakukan pemrosesan tertentu pada media stream. Implementasi terakhir dari API ini adalah JMF 2.1.1e, yang telah memiliki beberapa pengembangan dalam komponen RTP/RTSP dan bug-fixes.

Komponen JMF secara umum dapat diklasifikasikan menjadi 3 kelompok (Olson 2002).

1 Input

Input mendeskripsikan beberapa jenis media yang digunakan sebagai masukan ke bagian Process.

2 Process

Process melakukan beberapa tindakan pada input. Process memiliki input dan output yang berbeda. sejumlah process yang tersedia dapat

diterapkan pada input atau kelompok input.

Process ini dapat dihubungkan bersama-sama sehingga ouput dari satu process digunakan sebagai input untuk process lain.

3 Output

(12)

METODE PENELITIAN

Penelitian ini terdiri atas beberapa tahapan

proses untuk membentuk jaringan webcam

peer-to-peer. Tahapan proses tersebut dapat dilihat pada gambar 5.

Gambar 5 Metode Penelitian.

Perancangan Jaringan Peer-to-peer

Jaringan peer-to-peer memiliki beberapa

arsitektur. Penelitian ini menerapkan arsitektur

desentralisasi

sebagai tahap awal dari

perancangan 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-peer

Arsitektur 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.

(13)

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.

(14)

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.

(15)

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

(16)

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.

(17)

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.

(18)

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.

Gambar 22 Daftar file yang dibagi peer 2.

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

(19)

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

terhubung pada jaringan virtual ditunjukkan pada Tabel 1.

Tabel 1 Prosedur pengujian aplikasi.

Prosedur Pengujian

Masukan Keluaran yang diharapkan Hasil yang didapat Pemilihan

folder yang

akan dibagi Memilih Path folder File config.ini berisi path

folder yang

dibagi

Berhasil

Login ke

dalam jaringan JXTA default group Peer Name, Password , verify password Masuk ke dalam jaringan peer-to-peer dan mencari group Berhasil

Pencarian file

berdasarkan nama file

teks berupa nama file

Daftar file

yang sesuai dengan nama file Berhasil Capture gambar dari webcam

Webcam File gambar

berformat jpg yang tersimpan pada direktori yang dibagi Berhasil

Capture video

dari webcam

Webcam File video

berformat avi yang tersimpan pada direktori yang dibagi Berhasil Preview gambar

Gambar Menampilkan gambar

Berhasil

Preview video Video Menampilkan

player video

Berhasil

Unduh file File File

tersimpan pada direktori yang dibagi

Berhasil

Chat dengan

peer yang berada dalam satu group

Text Daftar chat

tampil pada area text

semua peer

yang tergabung

Berhasil

Menampilkan

peer yang tergabung dengan group

- Daftar peer

yang tergabung dalam group

Berhasil

Keluar dari aplikasi

- Aplikasi tertutup

(20)

KESIMPULAN DAN SARAN

Kesimpulan

Berdasarkan penelitian yang dilakukan, diperoleh kesimpulan sebagai berikut:

1 file yang dibagi pada jaringan peer-to-peer tidak dapat diunduh oleh user yang belum tergabung dalam group tersebut.

2 Durasi untuk mengunduh file akan berbeda sesuai dengan ukuran file dan koneksi yang terjadi antara masing-masing peer.

3 Peer yang tidak memiliki perangkat kamera

tidak dapat menggunakan fitur capture

video dan gambar namun dapat melakukan

pembagian file dengan mengunduh dan

menempatkan kembali file tersebut ke dalam

direktori yang telah dibagi atau

menambahkan file lain dari direktori yang tidak dibagi ke dalam direktori yang dibagi. 4 File yang sudah terhapus tetap masuk dalam

daftar pencarian selama proses propagasi masih berlangsung.

Saran

Saran yang dapat digunakan untuk

penelitian selanjutnya antara lain:

1 Menghubungkan webcam pada jaringan

peer-to-peer agar webcam dapat diakses langsung oleh peer lain.

2 Mengintegrasikan video streaming pada

jaringan peer-to-peer.

3 Menerapkan arsitektur lain pada penerapan jaringan peer-to-peer webcam.

4 Membuat peer group baru jika tidak

menemukan group dalam jaringan

peer-to-peer.

5 Menghubungkan jaringan peer-to-peer pada

jaringan middleboxes (NATs dan firewalls).

DAFTAR PUSTAKA

Gradecki JD. 2003. Mastering JXTA: Building Java Peer-to-peer Applications. Canada: John Wiley & Sons.

Kurniawan H. 2007. Quality of service

perpustakaan digital berbasis peer-to-peer [tesis]. Jakarta: Fakultas Ilmu Komputer, Universitas Indonesia.

Kwok SH, Chan KY, Cheung YM. 2005. A Server-mediated Peer-to-peer System. ACM SIGecom Exchanges 5: 38–47.

Liebau NC, Heckmann O, Hubbertz I,

Steinmetz R. 2005. A Peer-to-peer Webcam

Network.

ftp://www.kom.tu-darmstadt.de/papers/LHHS05-1-paper.pdf [21 Okt 2011]

Morkved T. 2005. Peer-to-Peer Programming with Wireless Devices [tesis]. Grimstad:

Departemen Information and

Communication Technology, Agder

University College.

Nocentini C. 2010. JXTACh documentation.

http://www.dsi.unifi.it/~nocentin/jxtach/files /jxtach.pdf [21 Okt 2011].

Olson EA. 2002. Java Media Framework basic. http://www.ibm.com/developerworks/java/t utorials/j-jmf/j-jmf-pdf.pdf [3 Jun 2012].

Priyanggoro S. 2003. Membuat Media Player

dengan Java Media Framework (JMF) 2.1.

http://www.ilmukomputer.org/wp-content/uploads/2006/08/sigit-jmf.zip [6 Jul 2012].

(21)
(22)
(23)
(24)
(25)
(26)

ABSTRACT

HASRUL ADIPUTRA HARAHAP. Design A Peer-to-Peer Webcam Network Using JXTA Protocol. Supervised by SRI WAHJUNI.

Internet is a media for exchange of information and data. Network used on the internet today still implementing client-server network model. Clients need the information must related to the server and request the information needed. System established client-server network is a centralized system and can potentially commercial. If the server was down, the information requested by the client can’t be given and the whole network will be disrupted.

Peer-to-peer network is set up to reduce the problem of client-server. Peer-to-peer will not be affected to the problems that occur in each host. If one host to crash or be unable to connect, the network was still able to run. In this research we develop an application using JXTA protocol as a framework for peer-to-peer and API JMF as an additional feature integrated on a JXTA application. API JMF is used to access webcam and produces images or videos.

Video or image files generated by the API JMF can be distributed directly into the peer-to-peer network which has been formed. Other connected peers can directly search and download the video files or images. Downloaded files will be directly stored into a local folder on each peer. Files downloaded can be directly redistributed by every peer. If one peer dies, the other peer can share the data from the dead peer after the file is downloaded from the source peer.

(27)

PENDAHULUAN

Latar Belakang

Internet merupakan media tempat untuk bertukar informasi dan data. Jaringan yang digunakan pada internet saat ini masih

menerapkan model jaringan client-server.

Informasi dapat diperoleh dari server. Client

yang membutuhkan informasi harus

berhubungan dengan server dan meminta

informasi yang dibutuhkan. Layanan yang diberikan oleh server dapat berupa web content, transfer file, dan lain-lain. Namun, setiap layanan tersebut merupakan layanan terpusat dan dapat berpotensi komersial. Permasalahan lain yang timbul adalah jika server mengalami gangguan, data, atau informasi yang diminta

oleh client tidak dapat diberikan dan

keselurahan jaringan tersebut akan terganggu.

Jaringan peer-to-peer dibentuk untuk

mengurungi masalah sistem terpusat. Jaringan peer-to-peer tidak akan terpengaruh terhadap masalah yang terjadi pada masing-masing host. Jika salah satu host mengalami gangguan atau tidak dapat terhubung, jaringan ini tetap dapat

berjalan. Jaringan peer-to-peer merupakan

jaringan yang dikhususkan untuk file sharing, terutama untuk file video dan audio (Liebau et al. 2005). File video atau gambar dapat diperoleh dengan menggunakan perangkat atau media yang disebut kamera. Kamera yang digunakan untuk komunikasi di jaringan atau yang terhubung langsung dengan komputer sering disebut dengan istilah webcam. Banyak situs dan aplikasi yang mengintegrasikan webcam sebagai media komunikasi atau perangkat yang digunakan untuk menghasilkan video atau gambar, seperti Facebook, Yahoo Messengger, Skype, dan masih banyak situs serta aplikasi lain yang menyediakan fitur yang sama. Namun, komunikasi yang dilakukan oleh setiap situs dan aplikasi-aplikasi tersebut pada umumnya menggunakan direktori terpusat sebagai tempat penyimpanan data video atau gambar dari webcam. Direktori terpusat yang digunakan oleh situs tersebut dapat berpotensi komersial.

Jaringan peer-to-peer berbasis webcam bisa menjadi solusi, karena dapat digunakan tanpa

perlu web server dan direktori terpusat.

Pengguna hanya memerlukan pengetahuan teknis yang sangat sedikit untuk terhubung ke

dalam jaringan peer-to-peer dan melakukan

capture video atau gambar dari webcam yang dimilikinya. Video atau gambar yang dihasilkan dapat langsung dibagi pada jaringan peer-to-peer. Pengguna lain yang terhubung dapat mengunduh file yang telah dibagi. Jaringan ini

mengorganisir diri sendiri (self-organising) dan tidak tergantung pada penyedia komponen terpusat (berpotensi komersial).

Tujuan

Tujuan penelitian ini adalah

mengimplementasikan jaringan peer-to-peer

webcam yang dapat membagi file video atau gambar dan dapat diunduh langsung oleh pengguna yang tergabung pada jaringan peer-to-peer.

Ruang Lingkup

Ruang lingkup dalam penelitian ini adalah sebagai berikut:

1 Hanya pengguna yang telah tergabung

dalam jaringan peer-to-peer yang dapat

mengunduh file yang dibagi.

2 Hanya pengguna yang memiliki webcam

dan memasang API JMF yang dapat menghasilkan file video atau gambar.

3 Protokol peer-to-peer yang digunakan

adalah JXTA.

4 Pengaksesan webcam menggunakan API

JMF.

5 Tidak membahas koneksi fisik secara detail. 6 Pengujian menggunakan mesin virtual yang

terhubung dalam jaringan virtual.

TINJAUAN PUSTAKA

Peer-to-peer

Peer-to-peer (P2P) merupakan salah satu teknologi komputasi terdistribusi yang memberi

kemudahan sebuah peer untuk melakukan

koneksi dengan peer lain secara langsung dan melakukan pertukaran data antara dua komputer atau peer dalam jaringan tanpa perantara (Kwok et al. 2005). Sebelumnya, peer-to-peer dikenal sebagai konsep host-to-host saat pertama kali digunakan untuk komunikasi setara antara dua peer. Pada konsep ini, setiap peer dapat bertindak sebagai server dan client secara bersamaan (Saeed 2007).

Kurniawan (2005) menyatakan peer pada

jaringan P2P dapat disebut juga sebagai servent karena peer tersebut berperan sebagai client dan server dalam jaringan. Dwifungsi peer tersebut terjadi secara bergantian tergantung aktivitas yang dilakukan. Secara umum aktivitas yang dilakukan sebuah peer terbagi menjadi dua fase, yaitu fase pencarian dan fase pengunduhan.

Pada fase pencarian, sebuah peer A

menanyakan keberadaan file yang diinginkan

kepada peer lain dengan cara mengirimkan

query. Peer B yang memiliki file yang

(28)

Selanjutnya peer A mengadakan koneksi langsung dan mengunduh file dari peer B.

Arsitektur Peer-to-peer

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 Napster. Arsitektur jaringan terpusat menggunakan server sebagai pusat indeks untuk menadah sebuah database setiap pengguna. Database akan diperbaharui setiap kali peer atau penggunanya akan masuk ke jaringan P2P tersebut, berikut ilustrasi pada Gambar 1 (Morkved 2005).

Gambar 1 Arsitektur jaringan terpusat (Morkved 2005).

Contoh aplikasi P2P generasi kedua yang menggunakan arsitektur jaringan desentralisasi adalah Gnutella. Arsitektur ini dirancang untuk menghindari kelemahan dari arsitektur terpusat. Masing-masing peer dari arsitektur ini dapat bertindak sebagai server ataupun client, berikut adalah ilustrasi pada Gambar 2 (Morkved 2005).

Gambar 2 Arsitektur jaringan desentralisasi (Morkved 2005).

Generasi ketiga adalah gabungan dari arsitektur terpusat dan arsitektur desentralisasi yang biasa disebut dengan arsitektur jaringan hibrida. 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. Lebih jelasnya akan diilustrasikan pada Gambar 3 (Morkved 2005).

Gambar 3 Arsitektur jaringan P2P hibrida (Morkved 2005).

JXTA

JXTA adalah sebuah proyek open source

yang bertujuan mengembangkan framework

untuk aplikasi peer-to-peer (Nocentini 2010). JXTA dirancang untuk lebih baik dibanding

solusi P2P yang sudah ada.Nama JXTA berasal

dari kata juxtaposed (menghubungkan) dan

bermaksud untuk menekankan konsep

kolaborasi dengan model client-server. JXTA menyediakan platform umum yang berisi fitur berikut, yang direkomendasikan oleh jaringan peer-to-peer.

1 Interoperability

Setiap vendor dapat mengeluarkan protokol P2P sendiri yang tidak sama, namun tetap dapat terkoneksi

2 Platform Independence

Dapat dijalankan di banyak platform dan mendukung banyak bahasa pemrograman. 3 Ubiquity

Tidak hanya PC, sistem dapat dijalankan pada berbagai perangkat seperti mobile device yang juga bisa terhubung dalam jaringan P2P JXTA ini.

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 adalah setiap peer dapat

membagi sumber daya tanpa mengkhawatirkan tentang topologi jaringan (Saeed 2007). Tujuan dasar yang dicapai platform JXTA meliputi.

1 Setiap Peer dapat menemukan satu sama

lain tanpa ada server terpusat.

(29)

3 Peer kemudian dapat mencari, membuat,

dan bergabung dengan group yang telah

ditentukan. Di lain pihak, peer harus

mengorganisir diri ke dalam peer group. 4 Peer kemudian 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.

Ada 6 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.

Arsitektur JXTA

Perangkat lunak JXTA terdiri atas tiga

lapisan. Ketiga lapisan tersebut akan

ditunjukkan pada Gambar 4.

Gambar 4 JXTA Layer (Gradecki 2002).

1 Core Layer

Core layer terbentuk dari semua faktor utama dan umum dari jaringan P2P. Faktor tersebut adalah peer, peer discovery, peer monitoring, komunikasi peer, dan yang terkait dengan keamanan primitif. Lapisan ini dibagi antara semua perangkat peer-to-peer sehingga memungkinkan proses interoperabilitas.

2 Service Layer

Lapisan ini berada di atas lapisan Core dan merupakan lapisan umum untuk jaringan P2P, tetapi bukan merupakan kebutuhan mutlak untuk jaringan P2P. Contoh layanan jaringan meliputi file sharing, layanan transfer pesan

(AOL messenger), penyimpanan, sistem file

terdistribusi, dan translasi protokol. 3 Application Layer

Pada lapisan ini, aplikasi perangkat lunak dapat dilihat sebagai layanan bagi peer lainnya. Akibatnya, lapisan ini dapat dikembangkan oleh pengembang yang membuat aplikasi JXTA dan dapat digunakan untuk membuat lapisan service bagi peer lainnya.

JMF

Java Media Framework (JMF) adalah Application Programming Interface (API) yang dapat digunakan untuk memasukan data-data media, baik itu audio maupun video ke dalam aplikasi dan applet Java (Priyanggoro 2005).

JMF mengembangkan kemampuan framework

dengan menyediakan dukungan terhadap proses capturing dan storing data media, mengontrol tipe pemrosesan yang dilakukan selama playback, dan melakukan pemrosesan tertentu pada media stream. Implementasi terakhir dari API ini adalah JMF 2.1.1e, yang telah memiliki beberapa pengembangan dalam komponen RTP/RTSP dan bug-fixes.

Komponen JMF secara umum dapat diklasifikasikan menjadi 3 kelompok (Olson 2002).

1 Input

Input mendeskripsikan beberapa jenis media yang digunakan sebagai masukan ke bagian Process.

2 Process

Process melakukan beberapa tindakan pada input. Process memiliki input dan output yang berbeda. sejumlah process yang tersedia dapat

diterapkan pada input atau kelompok input.

Process ini dapat dihubungkan bersama-sama sehingga ouput dari satu process digunakan sebagai input untuk process lain.

3 Output

(30)

METODE PENELITIAN

Penelitian ini terdiri atas beberapa tahapan

proses untuk membentuk jaringan webcam

[image:30.595.103.254.148.427.2]

peer-to-peer. Tahapan proses tersebut dapat dilihat pada gambar 5.

Gambar 5 Metode Penelitian.

Perancangan Jaringan Peer-to-peer

Jaringan peer-to-peer memiliki beberapa

arsitektur. Penelitian ini menerapkan arsitektur

desentralisasi

sebagai tahap awal dari

perancangan 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-peer

Arsitektur 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.

[image:30.595.335.492.662.745.2]
(31)

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

[image:31.595.321.543.185.743.2]

yang berada pada folder lokal. Jika nama file yang diunduh tidak sama dengan nama file yang ada pada folder lokal, file dapat langsung diunduh.

(32)

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

[image:32.595.97.297.176.562.2]

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

[image:32.595.315.512.181.726.2]

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.

(33)

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

[image:33.595.317.511.273.522.2]

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

[image:33.595.97.297.451.751.2]
(34)

Gambar 13 Tab connection log aplikasi utama.

Proses p

Gambar

Gambar 3  Arsitektur jaringan P2P hibrida
Gambar 5  Metode Penelitian.
Gambar 7  Flowchart aplikasi utama.
Gambar 9 berikut.
+7

Referensi

Dokumen terkait

engagement di kalangan mahasiswa Universitas Pendidikan Indonesia menunjukkan suatu gejala kontinum (teori menuju implementasi dan pengembangan) yakni; (1) aktivitas

Tabel 4.9 Data impedasi ekivalen penyulang 20 KV Gardu Induk Talang Ratu Tabel 4.10 Hasil perhitungan arus gangguan satu fasa ketanah pada penyulang 20. KV di Gardu Induk

So once the docking had been triumphantly achieved, Mr Wonka, Charlie, Grandpa Joe and Mr and Mrs Bucket were able to walk out of the Great Glass Elevator into the lobby of the

Dokumen Pengadaan ini disusun dengan mengacu pada Keputusan Kepala Lembaga Kebijakan Pengadaan Barang/Jasa Pemerintah (LKPP) tentang Dokumen Pengadaan Standar yang

menyelesaikan Tugas Akhir “Pra Rencana Pabrik Sirup Glukosa dari Biji Jagung dengan Proses Hidrolisa Enzim”, d imana Tugas Akhir ini merupakan tugas yang diberikan sebagai salah

Etanol yang digunakan dalam minuman diperoleh dari peragian karbohidrat yang berkataliskan enzim (fermentasi gula dan pati) satu tipe enzim mengubah karbohidrat ke glukosa,

Jika assignment telah dbuat maka secara otomatis karyawan yang baru masuk ke suatu bagian atau jabatan akan diwarisi training yang telah di”assign” pada bagian atau

Bila ditinjau dari lapangan pekerjaan utama tersebut, selama satu tahun terakhir persentase penduduk yang bekerja di Sektor Industri, Sektor Perdagangan, rumah