RANCANG BANGUN BERBASIS PEER TO PEER MENGGUNAKAN FRAMEWORK J XTA
SKRIPSI
Oleh :
RENALDO RENDI FARRY
1034010065
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
“VETERAN” J AWA TIMUR
2014
SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan Dalam Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Oleh :
RENALDO RENDI FARRY
1034010065
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL
LEMBAR PENGESAHAN
RANCANG BANGUN BERBASIS PEER TO PEER MENGGUNAKAN FRAMEWORK J XTA
Disusun oleh :
RENALDO RENDI FARRY
1034010065
Telah disetujui mengikuti Ujian Negara Lisan Gelombang II Tahun Akademik 2014 / 2015
Pembimbing I
Universitas Pembangunan Nasional ”Veteran” Jawa Timur
Budi Nugroho S.Kom, M.Kom
NPT. 3 8009 050 205 1
FRAMEWORK J XTA
Disusun Oleh :
RENALDO RENDI FARRY
1034010065
Telah dipertahankan dan diterima oleh Tim Penguji Skripsi Program Studi Teknik Informatika Fakultas Teknologi Industri
YAYASAN KESEJ AHTERAAN PENDIDIKAN DAN PERUMAHAN UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI
KETERANGAN REVISI
Kami yang bertanda tangan di bawah ini menyatakan bahwa mahasiswa berikut :
Nama : RENALDO RENDI FARRY
NPM : 1034010065
Jurusan : Teknik Informatika
Telah mengerjakan revisi / tidak ada revisi*) pra rencana (design) / skripsi ujian lisan gelombang II , TA 2014/2015 dengan judul:
“RANCANG BANGUN BERBASIS PEER TO PEER MENGGUNAKAN FRAMEWORK J XTA”
DOSEN PEMBIMBING I : I Made Suar tana, S.kom. M.Kom DOSEN PEMBIMBING II : Henni Endah W, S.T, M.Kom PENYUSUN ` : Renaldo Rendi Far ry
i ABSTRAK
Peer to peer adalah metode jaringan yang menghubungkan user satu dengan user yang lainnya secara langsung tanpa menggunakan ataupun melalui server. Metode dasar peer to peer sudah lama dipakai dalam teknologi jaringan komputer, ketika pencipta mulai menyadari untuk menghubungkan dua atau lebih komputer.permasalahannnya adalah bagaimana membuat system peer to peer
untuk menangani pertukaran langsung, daripada memerlukan dukungan server
terpusat.
P2P File Sharing merupakan salah satu metode yang dapat digunakan pada peer to peer dengan menggunakan bahasa pemrograman java dan
framework JXTA sebagai pendukung dalam membuat aplikasi. Sebagai pengujian aplikasi digunakanlah analisa tentang waktu dengan file yang berbeda size pada saat download berlangsung antara peer 1 dengan peer lainya.
Dari hasil uji coba dan analisa dapat diketahui bahwa peer to peer
menggunakan metode P2P file sharing dengan framework JXTA mempunyai kecepatan proses pengiriman file dengan jumlah 2 peer 41149 milisecond, 3 peer
54118 milisecond, dan 4 peer 78723 milisecond. Waktu transfer tidak ditentukan oleh banyaknya peer yang tergabung kedalam sistem dan sebuah file yang didownload secara bersamaan akan berkurang kecepatan transfernya bila dibandingkan dengan download 2 peer. Kedepannya aplikasi ini bisa dikembangkan dalam segi keamanan.
ii
KATA PENGANTAR
Syukur Alhamdulillahterucap ke hadirat Allah SWT atas segala limpahan Rahmat-Nya sehingga dengan segala keterbatasan waktu, tenaga, dan pikiran yang dimiliki, akhirnya penulis dapat menyelesaikan Tugas Akhir yang berjudul “Rancang Bangun Berbasis Peer To Peer Menggunakan Framewor k J XTA”
Tugas Akhir ini disusun guna diajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN ”VETERAN” Jawa Timur.
Dalam penyusunan Tugas akhir ini, Penulis berusaha untuk menerapkan ilmu yang telah didapat selama menjalani perkuliahan dengan tidak terlepas dari petunjuk, bimbingan, bantuan, dan dukungan berbagai pihak.
Penulis menyadari sepenuhnya bahwa dalam penyusunan tugas akhir ini masih banyak kekurangan. Oleh karena itu penulis sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya, November 2014
Penulis
Puji syukur ke hadirat Allah SWT yang telah memberikan rahmat dan karunia-Nya, sehingga dapat terselesaikannya Tugas Akhir ini.
Dengan selesainya tugas akhir ini tidak terlepas dari bantuan banyak pihak yang telah memberikan masukan-masukan. Untuk itu penyusun mengucapkan terima kasih sebagai perwujudan rasa syukur atas terselesaikannya tugas akhir ini dengan lancar. Ucapan terima kasih ini saya tujukan kepada :
1. Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas
4. I Made Suartana, S.Kom, M.Kom selaku dosen pembimbing I pada Tugas Akhir ini, yang telah banyak memberikan petunjuk, masukan, bimbingan, dorongan serta kritik yang bermanfaat sejak awal hingga terselesainya Tugas Akhir ini.
5. Henni Endah W, S.T, M.Kom selaku dosen pembimbing II yang telah banyak memberikan petunjuk, masukan serta kritik yang bermanfaat hingga terselesainya Skripsi ini.
iv
7. Terima kasih buat sahabat saya Aric, Rizal, Agung, Bagus, Handy, Aditya, Indra, Irwan yang telah berjuang bersama sampai akhir.
8. Terimakasih buat Ririana Annisatul Lathifah yang telah memberikan semangat untuk menyelesaikannya dan yang selalu ada disaat suka dan duka saat mengerjakan Tugas Akhir ini.
9. Terimakasih kepada comunitas Blacklist yang telah memberikan banyak teman selama kuliah.
10.Serta orang-orang yang tidak dapat saya sebutkan satu persatu namanya. Terimakasih atas bantuannya semoga Allah SWT yang membalas semua kebaikan dan bantuan tersebut.
Surabaya, Desember 2014
Penulis
LEMBAR PENGESAHAN
3.3. Rancangan Implementasi...……… 24
vi
3.5. Rancangan Uji Coba Dan Analisa... 33
3.3.1 Skenario... 33
3.3.2 Rancangan Analisa... 34
BAB IV IMPLEMENTASI DAN UJ I COBA 4.1 Implementasi Arsitektur Peer... 36
4.1.1 Kelas Konfigurasi... 36
4.2.2 Uji Coba Searching TFGroup Dan Join Group... 48
4.2.3 Uji Coba Search Dan Download File... 49
4.3 Analisa Waktu Saat Download Berlangsung .………...……… 51
4.3.1 Analisis Skenario... 51
BAB V PENUTUP 5.1 Kesimpulan .……...………....…….………..……....…….… 56
5.2 Saran .………....…...….………....……… 56 DAFTAR PUSTAKA
Gambar 2.1 Client Server... 7
Gambar 3.1 Alur Rancangan Topolgi... 25
Gambar 3.2 Diagram Rancangan Sistem... 26
Gambar 3.3 Diagram Konfigurasi Aplikasi... 27
Gambar 3.4 Diagram Start Aplikasi... 28
Gambar 3.5 Diagram Share File... 30
Gambar 3.6 Diagram Search File... 31
Gambar 3.7 Diagram Download File... 32
Gambar 3.8 Skenario Transer File Antara 4 Peer Tehubung... 33
Gambar 4.1 Method createConfigFile... 36
Gambar 4.2 Method launchJXTA dan getService... 37
Gambar 4.3 ID TF Group... 38
Gambar 4.4 Method searchForGroup... 38
Gambar 4.5 Method createGroup... 39
Gambar 4.6 Method joinToGroup... 39
Gambar 4.7 Method launchCMS... 41
Gambar 4.8 Class Search... 42
Gambar 4.9 Inner Class ListRequestor... 42
Gambar 4.10 Inner Class GetRemoteFile... 43
Gambar 4.11 Menentukan Folder Yang Dishare... 44
Gambar 4.12 JXTA Configurator Basic... 45
Gambar 4.13 JXTA Configurator Advance... 46
viii
Gambar 4.15 Peer Tidak Menemukan Group, Kemudian Menciptakan Group
Sendiri... 48
Gambar 4.16 Peer Menemukan TFGroup Pada Local Dan Join ... 49
Gambar 4.17 User Melakukan Pencarian File... 50
Gambar 4.18 Proses Download File... 50
Gambar 4.19 Hasil analisis Cohen kappa... 54
1 BAB I PENDAHULUAN
1.1. Latar Belakang
Jaringan komputer bukanlah sesuatu yang baru saat ini. Hampir di setiap perusahaan terdapat jaringan komputer untuk memperlancar arus informasi di dalam perusahaan tersebut. Internet yang mulai populer saat ini adalah suatu jaringan komputer raksasa yang merupakan jaringan komputer yang terhubung dan dapat saling berinteraksi. Hal ini dapat terjadi karena adanya perkembangan teknologi jaringan yang sangat pesat, sehingga dalam beberapa tahun saja jumlah pengguna jaringan komputer yang tergabung dalam internet berlipat ganda, mendorong pengguna untuk memaksimalkan teknologi yang tersedia.
Teknologi sharing (pemakaian bersama) dan bertukar informasi data seperti file sangatlah penting bagi pengguna jaringan komputer yang dibutuhkan agar berkomunikasi dan bertukar data dengan cepat yang hanya memakai jaringan LAN ataupun WIFI. Peer to peer dapat memberikan kemudahan daripada arsitektur client-server untuk pertukaran data dengan cepat dengan tidak adanya
server. Sehingga dapat berfungsi sebagai client sekaligus sebagai server, sehingga memungkinkan komunikasi dan pertukaran data antara dua komputer secara langsung (real time) dan untuk kinerja sistem tidak tergantung kepada server yang bertugas untuk mengontrol sistem secara terpusat.
Peer to peer adalah metode jaringan yang menghubungkan user satu dengan user yang lainnya secara langsung tanpa menggunakan ataupun melalui
server. Sesuai dari pernyataan (Oriola, 2012) diusulkannya untuk melakukan
pertukaran data dengan tidak adanya server terpusat atau menyediakan node
jaringan dengan peran yang bertindak sebagai client dan server.
Dalam tugas akhir ini, akan dirancang tentang file sharing menggunakan
peer to peer (P2P) dengan analisis yang dilakukan berdasarkan waktu transfer dengan tujuan utama yang ingin dicapai dalam pekerjaan ini adalah untuk menangani pertukaran langsung, daripada memerlukan intermediasi atau dukungan server terpusat. Menggunakan metode Peer To Peer (P2P) dengan
Netbeans IDE 7.2 dan JXTA sebagai framework untuk membuat P2P file sharing, dan menganalisa tentang waktu transfer.
1.2. Rumusan Masalah
Adapun rumusan masalah yang akan di bahas dalam tugas akhir ini : a. Bagaimana membangun jaringan peer to peer (P2P) berbasis
framework JXTA ?
b. Bagaimana membuat peer dapat sharing file ke peer lainya, dimana tidak dibutuhkan adanya server khusus?
c. Bagaimana cara menganalisa waktu pada saat transfer berlangsung? 1.3. Batasan Masalah
Batasan masalah pengimplementasian dan analisis pada tugas akhir ini sebagai berikut :
a. Sistem menggunakan bahasa pemrograman Java. b. Sistem menggunakan 4 peer.
3
1.4. Tujuan Tugas Akhir
Adapun tujuan dari tugas akhir ini adalah :
a. Dapat mengimplementasikan peer to peer dengan bahasa pemrograman java dengan menggunakan framework JXTA.
b. Mampu mensharing file ke peer lainya, tanpa adanya server khusus. c. Mampu menganalisa waktu pada saat transfer berlangsung.
1.5. Manfaat Tugas Akhir
Manfaat yang di peroleh dari pengimplementasian dan analisis peer to peer antara lain :
a. Bagi penulis, bermanfaat untuk menerapkan pengetahuan yang diperoleh selama menempuh ilmu di bangku perkuliahan.
b. Bagi mahasiswa, bermanfaat untuk mengenal lebih jauh tentang ilmu
sharing data terutama menggunakan peer to peer.
c. Bagi pembaca, bermanfaat menambah informasi tentang peer to peer, juga sebagai bahan referensi dan pengembangan lebih lanjut.
1.6. Sistematika Penulisan
Sistematika penulisan tugas akhir ini akan membantu memberikan informasi tentang tugas akhir yang dijalankan dan agar penulisan laporan ini tidak menyimpang dari batasan masalah yanga ada, sehingga susunan laporan ini sesuai dengan apa yang diharapkan. Sistematika penulisan laporan tugas akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini berisi mengenai gambaran umum penelitian tentang latar belakang masalah, perumusan masalah, batasan masalah, tujuan tugas akhir, manfaat tugas akhir, dan sistematika penulisan.
BAB II TINJ AUAN PUSTAKA
Pada bab ini berisi tentang beberapa dasar teori penunjang yang berhubungan dengan topik masalah yang melingkupi cara – cara pengerjaannya dan teori yang mendukung klaim penulis.
BAB III METODE PENELITIAN
Metode tugas akhir ini berisi tentang rancangan penelitian, rancangan implementasi, rancangan uji coba, dan skenario yang di pakai dalam menyelesaikan tugas akhir ini.
BAB IV HASIL DAN PEMBAHASAN
Dalam bab ini akan dijelaskan mengenai kebutuhan perangkat keras maupun perangkat lunak serta output dari aplikasi ini, termasuk penjelasan tentang penggunaan aplikasi. Serta dilakukannya ujicoba aplikasi yang telah dibuat. Proses ujicoba akan menguji output yang dihasilkan, apakah telah sesuai dengan tujuan yang telah ditentukan
BAB V KESIMPULAN DAN SARAN
5
BAB II
TINJ AUAN PUSTAKA
2.1 Penelitian Terdahulu
Sebagai bahan acuan dalam tugas akhir ini akan dipaparkan hasil penelitian terdahulu yang pernah dibaca oleh penulis, diantaranya :
Penelitian yang dilakukan oleh Stephanos Androutsellis-Theotokis dan
Diomidis Spinellis dari University of Economics and Business, dengan judul Survey of Peer-to-Peer Content Distribution Technologies, dengan tujuan untuk membuat sebuah pendistribusi penyimpanan prasarana aman dan efisien, mengorganisir, pengindeksan, pencarian, memperbarui, dan pengambilan data. (S. Androutsellis-Theotokis, and D. Spinellis, 2004)
Pada penelitian tersebut dijelaskan bahwa sistem Peer-to-peer adalah sistem P2P file sharing yang terdiri dari node yang saling berhubungan, mampu mengatur diri ke dalam topologi jaringan dengan tujuan berbagi resource seperti konten, siklus CPU, Penyimpanan, dan bandwidth. Distribusi konten area terkemuka yang biasa disebut aplikasi peer-to-peer sistem, didasarkan pada sistem dan infrastruktur yang dirancang untuk berbagi digital media dan data lainnya antara pengguna. (S. Androutsellis-Theotokis, and D. Spinellis, 2004)
Dalam survei ini, kami mengusulkan sebuah framework untuk menganalisis konten peer-to-peer. Pendekatan kami berfokus pada karakteristik nonfunctional
seperti potensi manajemen keamanan, skalabilitas, kinerja, keadilan, dan
resource, dan memeriksa cara di mana karakteristik ini tercermin dalam dan
dipengaruhi oleh keputusan desain arsitektur yang diadopsi oleh arus sistem peer-to-peer. Saat ini sistem peer-to-peer dan teknologi infrastruktur dalam hal lokasi objek dan routing mekanisme mereka didistribusikan, pendekatan mereka untuk konten replikasi, caching dan migrasi, dukungan mereka untuk enkripsi, kontrol akses, otentikasi dan identitas, anonimitas, penyangkalan, akuntabilitas dan reputasi, dan penggunaan sumber daya perdagangan dan skema manajemen (S. Androutsellis-Theotokis, and D. Spinellis, 2004)
Saat ini kami belajar sistem peer-to-peer, teknologi infrastruktur dalam hal lokasi objek dan routing objek mekanisme terdistribusi, pendekatan mereka untuk konten replikasi konten, caching dan migration, enkripsi, kontrol akses, otentikasi
dan identitas, anonynity, deniability, akuntabilitas dan reputasi, dan mereka menggunakan resource trading dan skema manajemen. (S. Androutsellis-Theotokis, and D. Spinellis, 2004)
2.2 Dasar Teori
Pada dasar terori ini akan dibahas mengenai client server, peer to peer, Netbeans IDE, Framework JXTA, CMS(Content Managemen System).
2.2.1 Client Server
7
Gambar 2.1 Client Server
Sumber Refrensi : (Saktiaji, 2012)
Sistem Client Server mempunyai beberapa kelebihan dan kekurangan yang antara lain.
Kelebihan sistem client ser ver antara lain :
a. Komputer server dapat difungsikan sebagai pusat data, sehingga komputer
client dapat mengakses data secara terpusat dari satu sumber. Apabila sebuah
client rusak, maka data masih terdapat di server, sehingga tidak mengganggu kinerja client jika diperlukan pergantian piranti.
b. Terdapat administrator yang akan memantau baik segi keamanan maupun administrasi jaringan, sehingga sistem akan tetap terkendali dan terkontrol. Hal-hal yang dapat mengganggu kinerja sistem dapat dihindari seminimal mungkin. Administrator di sini bisa berupa personal (orang) atau dapat juga sebuah sistem otomatis yang dirancang untuk melakukan tindakan preventif
jika terjadi kegagalan sistem.
c. Sistem back up lebih baik dan terkendali. Back up data terkendali disebabkan berdiri sendiri tanpa adanya server. Jika sebuah client mengalami kerusakan, maka sistem terpusat yang ada di server tidak akan mengalami gangguan. Paling cepat hanya sistem yang berhubungan dengan client itu saja yang bermasalah. (Saktiaji, 2012)
Kelemahan sistem client ser ver antara lain:
a. Kelancaran kinerja jaringan sangat tergantung pada server, server memainkan peran penting pada sistem client server. Semua hal terkait dengan service,
data dan jaringan sangat tergantung kepada kualitas server. Jika server
mengalami gangguan, maka dapat dipastikan seluruh sistem client yang tergantung pada server tersebut akan turut mengalami gangguan juga. Namun gangguan yang terjadi pada sebuah client, tidak akan berpengaruh pada kelancara kinerja server.
9
mendapatkan kriteria piranti komputer semacam itu, tentulah dibutuhkan biaya lebih. (Saktiaji, 2012)
2.2.2 Peer To Peer
Tahun 1979, Usenet, sebuah aplikasi terdistribusi yang dibuat oleh Tom Truscott dan Jim Ellis, lahir di Amerika Serikat. Aplikasi ini umumnya melayani penggunanya dengan newsgroup. Pada tahun-tahun itu, dunia belum mengenal dan mampu menikmati layanan internet sebaik dan secepat seperti saat ini. Umumnya, berkas-berkas yang berada di dalam komputer milik pengguna usenet dipertukarkan dalam bentuk batch files (berkas yang berisi data yang diproses atau ditransmisikan mulai dari awal hingga akhir). Biasanya, para pengguna P2P saat itu saling bertukar data di malam hari yang larut. Itu adalah waktu di sebuah negara besar ketika jalur telepon untuk SLJJ (sambungan langsung jarak jauh) sedang sepi. Akibatnya, tidak ada cara yang efektif untuk membuat fungsi aplikasi ini menjadi tidak terdistribusi. Dengan kata lain, aplikasi ini tetap menjadi aplikasi yang tidak memiliki pusat kendali (server). Bahkan hingga hari ini. Aplikasi P2P generasi awal lain yang sukses dan populer adalah FidoNet. Laiknya Usenet, FidoNet juga digunakan secara terdistribusi. Aplikasi ini dibuat oleh Tom Jennings pada tahun 1984 sebagai cara untuk bertukar pesan diantara pengguna-penggunanya yang memiliki BBS (Bulletin Board System) yang berbeda. Baik Usenet maupun FidoNet dapat menjadi contoh betapa hebatnya teknologi P2P. Sampai detik ini, keduanya masih lestari. Uniknya, sekarang keduanya sudah tidak sendiri lagi. “Cucu-cucu” mereka sudah lahir dan ikut menggebrak dunia maya. Sebut saja Gnutella, Kazaa, Napster, dsb. (Ismail, 2012)
Jaringan komputer P2P termasuk sebuah cabang (subset) dari bidang komputasi terdistribusi. Namun komputasi terdistribusi sendiri bukanlah cabang dari P2P. Sebutan “peer-to-peer” mengisyaratkan sebuah hubungan kesetaraan (egalitarian relationship) diantara para peer Dan yang terpenting, hubungan ini haruslah menghasilkan interaksi langsung antara komputer pengguna yang satu dengan komputer pengguna lainnya. Tanpa embel-embel ada komputer yang berstatus sebagai client dan berstatus sebagai server. Secara teknis, jaringan P2P (peer-to-peer) adalah sebuah jaringan yang memungkinkan semua komputer dalam lingkungannya bertindak/berstatus sebagai server yang memiliki kemampuan untuk mendistribusikan sekaligus menerima berkas-berkas atau sumber. (Ismail, 2012)
Tugas Jaringan Komputer P2P 3daya (resource) yang ada dalam komputer mereka ke komputer lainnya. Jaringan bertipe ini sangat banyak dijumpai di kantor-kantor yang tidak membutuhkan sebuah sentral pengaturan laiknya jaringan client-server. Di internet, jaringan P2P hidup dan berkembang melalui aplikasi-aplikasi populer seperti Napster dan Gnutella. Klasifikasi P2P Berdasarkan tingkat/derajat sentralisasinya, jaringan P2P terbagi ke dalam 2 tipe, yakni:
1. P2P Murni (Pure P2P), dengan ciri-ciri sebagai berikut:
a. Masing-masing peer berstatus setara (egaliter), setiap peer berstatus sebagai client juga server.
11
2. P2P Hybrid (Hybrid P2P), dengan ciri-ciri sebagai berikut:
a. Mempunyai server pusat yang memantau dan menjaga informasi yang berada di setiap peer sekaligus merespon peer ketika ada yang meminta informasi itu.
b. Setiap peer bertanggung jawab untuk menyediakan resource yang tersedia. Hal ini terjadi karena server pusat tentu diatur sedemikian rupa untuk tidak memilikinya. Selain itu, hal ini juga dilakukan agar server pusat tersebut dapat mengetahui resource apa saja yang akan didistribusikan di dalam jaringan.
c. Ada router yang menjadi pusat jaringan.
Manfaat peer to peer adalah agar semua peer dapat menyediakan sekaligus memanfaatkan resource komputer, termasuk bandwith, media penyimpanan, dan kemampuan komputasi yang ada di dalam jaringan tersebut. Dengan demikian, ketika node-node (komputer-komputer) telah banyak terhubung dan terjadi banyak permintaan terhadap sistem, kapasitas total yang dimiliki oleh sistem juga akan meningkat. Hal ini merupakan kontra produktif dengan apa yang terjadi pada sistem client-server. Dalam sistem client-server, bertambahnya client justru dapat menyebabkan melambatnya transfer data di dalam sistem. Sifat terdistribusi yang dimiliki oleh jaringan P2P ini juga dapat meningkatkan kestabilan/kekokohan (robustness) sistem dari kemungkinan kegagalan (system failure). Kestabilan ini disebabkan oleh dua faktor. Pertama, adanya replikasi/penggandaan data yang terjadi di antara para pengguna (peer). Kedua, dengan memanfaatkan resource komputer peer itu
sendiri untuk mencari data yang ada di dalam jaringan tanpa mengandalkan satu resource komputer server saja. (Ismail, 2012)
Topologi Jaringan P2P Shuman Ghosemajumder dalam makalahnya
Server tersebut dapat memainkan satu, dua atau ketiga peran berikut ini: a. Discovery. Server yang memainkan peran ini akan meyimpan
informasi tentang Tugas Jaringan Komputer : P2P 5 user yang sedang terhubung ke dalam sistem sekaligus memungkinkan semua user untuk mengetahui bagaimana cara menghubungi user tertentu yang sedang berada di dalam jaringan.
b. Lookup. Server dengan peran lookup memiliki kemampuan
server dengan peran discovery. Hanya saja, server ini juga akan menyediakan mekanisme pencarian yang tersentralisasi.
c. Content Delivery. Dalam peran ini, peer akan melakukan
upload pada semua atau beberapa data (content) milik mereka ke
13
lebih cepat ketimbang dengan kedua model peran sebelumnya. Dengan beberapa pertimbangan keadaan tentunya.
2. Decentralized Model
Model ini akan membuat semua peer memiliki status dan fitur yang sama dalam sebuah jaringan. Jadi, tidak akan ada server atau client di dalamnya. Contoh aplikasinya adalah Freenet. Dalam model terdesentralisasi, seorang
peer tidak akan dapat mengetahui Tugas Jaringan Komputer : P2P 6 jumlah
peer lainnya yang sedang terhubung di dalam jaringan. Selain itu, seorang peer
juga tidak akan dapat mengetahui alamat dari peer lain yang akan dihubunginya. Satu lagi kekurangan model ini adalah bahwa peer tidak dapat mengetahui isi (content) komputer milik peer lainnya yang sedang tersedia dalam jaringan. (Ismail, 2012)
Meskipun begitu, model desentralisasi juga memiliki kelebihan. Diantaranya berkaitan dengan masalah keamanan, baik itu dilihat dari segi teknologi maupun hukum hak cipta. Dari segi teknologi, model
desentralisasi menguntungkan karena akan lepas dari kemungkinan satu serangan tunggal yang dapat mematikan jaringan. Sedangkan dari segi hukum hak cipta, meskipun masih menyisakan bias, model ini relatif lebih bebas dari jerat undang-undang hak cipta karena content yang tersebar dalam jaringan merupakan data yang hendak saling dipertukarkan. Bukan untuk dijual atau dibajak. (Ismail, 2012)
Kesimpulan uraian di atas kita dapat mengambil beberapa poin sebagai kesimpulan. Berikut poin-poin tersebut:
a. Teknologi P2P masih akan terus berkembang selaras dengan perkembangan teknologi informasi dan komunikasi.
b. Semakin besar jumlah user yang menjadi peer dalam sebuah jaringan P2P maka akan semakin bagus pula jaringan tersebut. Baik jika dilihat dari sisi teknologi maupun sosial.
c. Berdasarkan derajat sentralisasinya, P2P terbagi ke dalam dua bagian, yakni; P2P Murni dan P2P Hybrid.
d. Berdasarkan topologinya, P2P terbagi ke dalam dua bagian, yakni; topologi model tersentralisasi, dan model terdesentralisasi. e. Masing-masing kategori P2P memiliki kelemahan dan
kelebihan masing-masing. User dapat memilih kategori mana yang paling sesuai dengan kebutuhan dan kemampuannya.
f. Keberadaan jaringan P2P masih sering menimbulkan konflik dalam hal hak cipta suatu karya intelektual. Terutama dalam dunia industri hiburan seperti musik, TV dan film. (Ismail, 2012)
2.2.3 Netbeans IDE
15
Netbeans juga salah satu open source IDE berbasiskan Java dari Sun Microsystems yang berjalan di atas Swing. Swing sebuah teknologi Java untuk pengembangan aplikasi desktop yang multiframework. Netbeans IDE
mendukung pengembangan semua tipe aplikasi (Java J2SE, Web, EJB, Mobile Application). (Hendrawan, 2011)
2.2.4 Fr amewor k J XTA
JXTA adalah sebuah proyek open source yang menciptakan jaringan peer-to-peer overlay yang duduk di atas TCP/IP. Setiap peer pada jaringan diberikan nomor IP, bahkan jika mereka berada di belakang firewall atau tidak memiliki alamat IP yang stabil. Super peer di jaringan JXTA menjalankan router level aplikasi yang menyimpan informasi khusus seperti bagaimana untuk mencapai
peer, bagaimana untuk bergabung dengan sub-kelompok peer, dan peer konten apa membuat tersedia. JXTA level aplikasi relay dapat permintaan proxy antara
peer yang tidak biasanya akan mampu berkomunikasi firewall atau NAT perangkat. peer mengorganisir diri dalam peer group, yang lingkup seluruh permintaan pencarian dan bertindak sebagai tempat keamanan. Peer apapun dapat mempublikasikan dan membuat peer group dengan cara desentralisasi, dan peer
lain dapat mencari dan menemukan peer group ini menggunakan peer super. peer
berkomunikasi menggunakan pipe, sangat mirip dengan Unix pipe. Pipe abstrak dengan cara yang persis di mana dua peer berkomunikasi, memungkinkan teman-teman untuk berkomunikasi menggunakan peer lain sebagai perantara jika mereka biasanya tidak akan mampu berkomunikasi karena jaringan partisi. (Scott Oaks, Bernard Traversat, Li Gong, 2002)
Manfaat dari mengambil pendekatan ini beberapa kali lipat. Pertama, pemrograman dapat dengan mudah memanfaatkan pengetahuan mereka tentang standar TCP/IP socket dan socket server untuk bekerja di jaringan peer-to-peer
JXTA tanpa perlu belajar tentang JXTA. Kedua, Semua socket P2P kode subclass
standar java.net objek, seperti java.net.Socket, sehingga aplikasi jaringan yang ada dapat dengan cepat dipindahkan untuk bekerja di jaringan peer-to-peer. Proyek P2P socket sudah mencakup sejumlah besar perangkat lunak porting menggunakan peer-to-peer jaringan, termasuk web server (Jetty) yang dapat menerima permintaan dan melayani konten melalui jaringan peer-to-peer; servlet
dan JSP mesin (Dermaga dan Jasper) yang memungkinkan servlets yang ada dan JSP untuk melayani klien P2P; XML-RPC client dan server (Apache XML-RPC) untuk mengakses dan mengekspos Endpoint P2P XML-RPC; HTTP/1.1 klien (Apache Commons HTTP-klien) yang dapat akses P2P web server; gateway
17
2.2.5 Konsep Detail J XTA
Dibawah ini beberapa konsep yang terdapat pada framework JXTA:
a. Peer
Peer adalah perangkat jaringan yang mengimplementasikan satu atau lebih protokol JXTA. Peer dapat termasuk sensor, telepon, dan PDA, serta PC, server, dan super komputer. Setiap peer beroperasi secara independen dan asynchronous dari semua peer lainnya, dan secara unik diidentifikasi oleh peer ID. Peer mempublish satu atau lebih interface
jaringan untuk digunakan pada protokol JXTA.
Setiap interface di-publish sebagai peer terakhir, yang unik mengidentifikasi interface jaringan. Peer endpoints digunakan oleh peer
untuk membangun langsung koneksi point-to-point antara dua peer. Peer
tidak diharuskan untuk memiliki koneksi jaringan langsung point-to-point
antara mereka. peer perantara dapat digunakan untuk pesan rute ke peer
yang dipisahkan karena koneksi jaringan fisik atau konfigurasi jaringan (mis, Nat, firewall, proxy). Peer biasanya dikonfigurasi untuk secara spontan agar menemukan satu sama lain pada jaringan untuk membentuk grup sementara atau persisten hubungan yang disebut peer group. (Microsystems, 2003)
b. Peer Goup
Peer group adalah kumpulan peer yang telah disepakati pada
service. Peer mengatur dirinya sendiri menjadi peer group, masing-masing diidentifikasi dengan ID peer group yang unik. Setiap peer group dapat
menetapkan kebijakan keanggotaan sendiri dari terbuka (siapa saja dapat bergabung) sangat aman dan dilindungi (kredensial yang cukup diperlukan untuk bergabung).
Peer mungkin milik lebih dari satu peer group secara bersamaan. Secara default, kelompok pertama yang dipakai adalah Net Peer Group. Semua peer tergabung pada Net Peer Group. Peer dapat memilih untuk bergabung dengan peer group tambahan. Protokol JXTA menggambarkan bagaimana peer dapat menerbitkan, menemukan, bergabung, dan memantau peer group, mereka tidak mendeteksi kapan atau mengapa peer group dibuat. (Microsystems, 2003)
c. Network Service
Peer bekerja sama dan berkomunikasi untuk mempublikasikan, menemukan, dan aktifkan network service. Peer dapat mempublikasikan beberapa service. Peer menemukan network service melalui peer discoveryprotocol. Protokol JXTA mengakui dua tingkat network service. (Microsystems, 2003)
d. Peer Service
Peer service diakses hanya pada peer yang mempublishkan service
tersebut. Jika peer gagal, maka service juga gagal. Beberapa contoh
19 anggota peer lain). Mengintai service grup yang diterbitkan sebagai bagian dari advertisement peer group. Service dapat berupa memberikan instal ke
peer atau diambil dari jaringan. Dalam rangka untuk benar-benar menjalankan Service, peer mungkin harus mencari implementasi yang cocok untuk runtime proses environment. Dalam proses melakukan
download dan memasang service pada jaringan mirip dengan melakukan pencarian di Internet untuk halaman web, mengambil halaman, dan kemudian menginstal yang diperlukan plugin. (Microsystems, 2003)
f. Advertisement
Semua resource jaringan JXTA - seperti peer, peer group, pipe, dan service yang diwakili oleh advertisement. Advertisement adalah bahasa netral struktur metadata direpresentasikan sebagai dokumen XML. JXTA protokol menggunakan advertisement untuk menggambarkan dan mempublikasikan keberadaan resource. Peers menemukan resource
pencarian advertisement yang sesuai dengan mereka, dan mungkin cache
setiap advertisement yang ditemukan secara lokal. Setiap advertisement
yang diterbitkan dengan jangka waktu lama yang menentukan ketersediaan
resource yang terkait. Jangka waktu lama memungkinkan penghapusannya
reosurce usang tanpa memerlukan kontrol terpusat. Sebuah advertisement
dapat dipublikasikan ulang (sebelum advertisement asli berakhir) untuk memperpanjang masa hidup resource. (Microsystems, 2003)
2.2.6 CMS (Content Management Service)
Content Management Service (CMS) memungkinkan peer untuk berbagi-data seperti dokumen teks, file grafis, file suara, dan media lainnya dengan peer
lainnya. Untuk menjaga konsistensi dengan spesifikasi, CMS bergantung pada
advertisement untuk memberikan informasi tentang media atau file yang akan
di-share, dan bergantung pada pipe JXTA pada mentransfer konten. CMS adalah contoh yang sangat baik dari layanan yang telah dibangun ke dalam sistem JXTA.
21
BAB III
METODE PENELITIAN
3.1 Deskr ipsi Umum Sistem
Aplikasi yang dibangun dalam tugas akhir ini adalah sebuah aplikasi File
Sharing dimana menggunakan framework JXTA untuk menyediakan koneksi peer to peer antara peer yang tergabung dalam jaringan file sharing tersebut.
Untuk bisa melakukan resource sharing maka setiap peer yang menjalankan aplikasi ini harus bergabung atau join dalam suatu group yang sama dengan peer lainnya. Tujuan adanya group adalah untuk membentuk jaringan dengan peer yang tergabung didalamnya sebagai anggota group tersebut. Dengan adanya group maka hanya anggota group tersebut yang bisa mencari dan melakukan resource sharing antar peer.
Aplikasi ini menggunakan framework JXTA untuk menyediakan sarana komunikasi peer. Setiap peer akan memiliki ID yang dinamakan peerID. PeerID inilah yan menjadi identitas peer dalam jaringan.
Setiap peer memulai aplikasi, maka peer itu akan tergabung dalam jaringan default JXTA yaitu , netpeergroup. Netpeergroup adalah jaringan default
JXTA yang hanya memiliki satu anggota yakni peer itu sendiri akan tetapi pada jaringan ini pula peer mampu melakukan pencarian segala resource yang ada.
Setelah selesai melakukan start awal JXTA sehingga tergabung dalam jaringan netpeergroup, maka peer akan mencari group default dalam sistem file sharing. Group ini dinamakan dengan “TF Group” , semua peer harus bergabung dalam group ini supaya bisa melakukan resource sharing. Oleh karena itu peer
selesai tergabung dengan netpeergroup akan melakukan pencarian atas group
tersebut. Jika menemukan group “TF Group” maka peer akan melakukan join
untuk menjadi anggota group tersebut. Apabila tidak menemukan group tersebut yang berarti ada kemungkinan peer itu adalah yang pertama atau satu-satunya dalam jaringan JXTA maka peer akan menciptakan “TF Group” sendiri.
Selesai menciptakan group baru maka peer akan melakukan join tehadap
group. Setelah selesai join maka peer akan mendapatkan service yang tersedia di dalam group yaitu disecovery service dan rendezvous service. Discovery service
digunakan unutk mengirimkan query message kapada semua peer dalam lingkup
group tersebut sedangkan rendezvous service bertangung jawab untuk persebaran
message yang ada dalam group. Peer juga akan mempublish identitas dari group yang dinamakan peer group advertisement.
Setelah berhasil join dalam “TF Group” maka peer akan melakukan dengan cara mengirimkan messagerespon pada hasil pencarian kepada peer yang melakukan request.
3.2 Definisi Kebutuhan System
23
a. Spesifikasi Hardware
Dalam pengerjaan tugas akhir ini menggunakan sebuah laptop dengan spesifikasi sebagai berikut:
Toshiba Satellite L745 Core i5 2,5 Ghz, Memory RAM 4GB HDD 580GB b. Spesifikasi Software
Software atau perangkar lunak yang digunakan dalam tugas akhir ini sebagai berikut:
1) Windows 7 Ultimate
Digunakan sebagai sistem operasi utama yang dapat menjalankan NetBeans IDE 7.2.
2) Windows XP
Digunakan sebagai sistem operasi yang ada pada virtual untuk menjalankan NetBeans IDE 7.2.
3) VirtualBox
Perangkat lunak virtualisasi, yang dapat digunakan untuk mengeksekusi sistem operasi "tambahan" di dalam sistem operasi "utama". 4) NetBeans IDE 7.2
Merupakan sebuah open source lingkungan pengembangan terpadu (IDE) untuk mengembangkan dengan Java dan bahasa pemrograman lainnya
5) Fr amewor k J XTA
Merupakan framework java software yang secara sederhana mengimplementasikan peer to peer melalui middleware dimana mempunyai fasilitas untuk mengembangkan dan membangun peer to peer. 3.3 Rancangan Implementasi
Dalam sub bab ini akan dijelaskan bagaimana rancangan implementasi topologi. berikut penjelasannya dari implementasi:
a. Rancangan Topologi Aplikasi
Dalam sistem ini semua peer yang melakukan resource sharing
tergabung dalam satu group yaitu “TFGroup” ada beberapa elemen sistem terdiri dari :
1) TFGroup adalah sebuah group dari aplikasi yang dimana semua
peer harus tergabung dalam group agar dapat berinteraksi dengan peer lainnya
2) Peer atau node adalah user yang tergabung dalam jaringan, semua peer dikonfigurasi pertama kali sebagai edge peer.
3) Rendezvous Peer adalah merupakan peer yang menyediakan
service bagi group dan bertanggung jawab melakukan persebaran semua message pada group. Peer yang pertama kali
join pada group yang semula semua peer dikonfigurasi default
sebagai edge peer. Pada waktu pertama kali join dan tidak menemukan rendezvous bagi group maka secara otomatis peer
25
Interaksi elemen-elemen diatas dapat digambarkan pada gambar 3.1 Berikut adalah alur untuk rancangan topologi :
Gambar 3.1Alur Rancangan Topologi
Pada gambar 3.1 peer yang menciptakan TF Group akan bertindak
rendezvous peer yang menyediakan service bagi group tersebut. Sedangkan peer
yang bergabung belakangan akan bertindak sebagai edge peer yang akan memanfaatkan service dari group tersebut. Untuk pengalamatan IP address dalam simulasimenggunakan IP class C dengan pembagian sebagai berikut :
a) Peer 1 : 192.168.1.1 b) Peer 2 : 192.168.1.2 c) Peer 3 : 192.168.1.3 d) Peer 4 : 192.168.1.4
b. Fungsi Yang Dijalankan Oleh Peer
Fungsi – fungsi yang dilakukan oleh peer antara lain : 1) Konfigurasi Aplikasi
2) Start Aplikasi 3) Share file 4) Search File 5) Download File c. Rancangan Sistem
Berikut ini adalah diagram rancangan sistem aplikasi:
27
Pada gambar 3.2 peer akan melakukan pencarian konfigurasi terlebih dahulu jika file konfigurasi tidak ditemukan maka peer akan melakukan konfigurasi dan login ke JXTA framework. Setelah itu peer
akan memulai pencarian group advertisement TF Group, jika peer tidak menemukan TF Group maka peer akan membuat group. Setelah berhasil bergabung dalam TF Group selanjutnya peer akan melakukan publish
pada semua file dan dilanjutkan pada search file dan download file. 3.4 Rancangan aplikasi
Dalam sub bab ini akan dijelaskan bagaimana rancangan aplikasi. berikut penjelasannya:
3.4.1 Konfigurasi Aplikasi
Berikut ini adalah diagram alur konfigurasi aplikasi:
Gambar 3.3 Diagram Konfigurasi Aplikasi
Pada gambar 3.3 konfigurasi pertama kali yaitu menentukan dimana letak
path folder yang akan di share. Apabila setelah menentukan path folder maka akan disimpan pada file config.ini.
3.4.2 Start Aplikasi
Berikut ini adalah diagram alur start aplikasi:
29
Pada gambar 3.4 peer akan menggunakan konfigurasi yang telah disimpan sebelumnya. Setelah itu peer akan melakukan konfigurasi JXTA network dan menjalankan JXTA framework. Peer dikatakan berhasil menjalankan JXTA apabila peer telah bergabung dengan jaringan default JXTA yaitu netpeergroup.
Setelah berhasil menjalankan JXTA, maka peer akan memulai proses pencarian group default dalam sistem yaitu “TF Group” pencarian dilakukan dengan cara mengirimkan discovery query service secara remote terhadap semua
peer secara multicast serta mencari dalam local cache. Apabila ada peer yang merespon maka peer itu akan mengirimkan response berupa group advertisement.
Advertisement ini lah yang dicari.
Apabila berhasil ditemukan maka peer akan melakukan join dalam group
sesuai groupadvertisement yang ditemukannya. Setelah itu peer akan melakukan
publish pada TF Group sekali lagi serta menciptakan peer advertisement dirinya sendiri untuk di publish dalan group “TF Group”
Setelah berhasil join dalam “TF Group” selanjutnya peer akan menginisialisasi share service. Semua isi dari folder yang di share akan dihitung nilai dari chek sum nya dan akan dibuat content advertisement yang berbeda tiap filenya. Content inilah yang menjadi informasi file yang akan di share dan di
request oleh peer lain.
3.4.3 Share File
Berikut ini adalah diagram alur share file:
Gambar 3.5 Diagram Share File
Pada gambar 3.5 merupakan fungsi untuk melakukan publish ke semua file pada folder yang akan di share oleh peer. CMS akan dibuat untuk memberikan
31
3.4.4 Search File
Berikut ini adalah diagram alur search file:
Gambar 3.6 Diagram Search File
Pada gambar 3.6 merupakan fungsi untuk mencari file yang diinginkan serta di download. Proses dimulai dengan mengirimkan request message ke semua peer dalam group dan menunggu response yang diterima serta menampilkan result pencarian.
3.4.6 Download File
Berikut ini adalah diagram alur download file:
Gambar 3.7 Diagram Download File
33
3.3 Rancangan Uji Coba dan Analisis
Sebelum menuju pada rancangan uji coba berikut akan dibahas mengenai fungsi komputer-komputer yang terdapat pada rancangan yang sudah dibahas pada point sebelumnya. Peer 1 sebagai rendezvous yang masuk dalam lingkungan TFgroup pertama kali. Peer 2, peer 3, dan peer 4 adalah edge peer yang sudah di
setting default dikarenakan ada 1 rendezvous dalam satu group di JXTA. Peer 1 disini akan menjadi penyedia file yang disebut host file. Sedangkan peer 2, peer 3,
peer 4 akan menjadi yang melakukan request file terhadap host file. Dalam rancangan uji coba terdapat skenario yang digunakan, yaitu:
3.3.1 Skenario
Berikut adalah gambar tentang rancangan skenario:
Gambar 3.8 Skenario transfer file antara 4 peer terhubung
Pada gambar 3.8 skenario ini peer 2, peer 3, dan peer 4 mengirimkan
request file kepada peer 1. Peer 1 menerima request dan memiliki file yang di
request maka peer 1 itu akan mengirimkan berupa file kepada peer 2, peer 3 dan
peer 4. Proses download file dilakukan secara hampir bersamaan oleh 3 peer
secara terhubung.
3.3.2 Rancangan Analisis
Setelah implementasi dari skenario sudah selesai dilakukan maka pada sub bab ini akan membahas tentang rancangan untuk analisis waktu pada saat proses
download sedang berlangsung. Perlu diingat kembali bahwa peer to peer adalah suatu teknologi sharing (pemakaian bersama) resource dan service antara satu komputer dan komputer yang lain, oleh karena itu perlu dilakukan analisis untuk dapat mengetahui perbedaan waktu setiap peer
Sebagai perbandingan sekarang saatnya untuk memaparkan parameter-parameter keberhasilan yang sudah dijelaskan, dengan parameter-parameter-parameter-parameter keberhasilan tersebut diharapkan mampu untuk melakukan proses analisis. Parameter-parameter keberhasilan tersebut adalah :
a. Waktu yang dibutuhkan saat proses transfer file stabil.
b. Adanya perbedaan waktu pada setiap peer pada saat transfer file. Parameter-parameter keberhasilan tersebut akan digunakan untuk proses analisis terhadap waktu saat pengiriman file.
Rancangan Analisis Waktu Pengiriman Dengan 4 Peer Ter hubung
Berikut akan dijelaskan langkah-langkah yang dilakukan dalam proses analisis kecepatan 4 peer terhubung.
a. Peer 2, peer 3, dan peer 4 melakukan request ke Peer 1
35
c. Lalu peer 1 mengirimkan file yang di request oleh peer 2, peer 3, dan
peer 4.
d. Pada proses berlangsung otomatis sistem akan mencatat waktu pengiriman.
e. Setelah mendapat waktu pada saat proses pengiriman berlangsung, selanjutnya akan di bandingkan pada uji coba sebelumnya.
f. Lalu langkah terakhir memberi kesimpulan pada analisis waktu 4 peer
terhubung.
Langkah-langkah tersebut akan dilakukan selama 5 kali dalam waktu yang berbeda-beda untuk lebih membuktikan kebenaran dari proses analisis.
Pada bab ini akan dibahas tentang implementasi dari perancangan pernagkat lunak yang telah dilakukan pada bab III yang meliputi implementasi arsitektur aplikasi.
4.1 Implementasi Rancangan Aplikasi
Aplikasi peer to peer file sharing disini terdiri beberapa kelas,yang mengatur segala proses aplikasi.
4.1.1 Kelas Konfigurasi
Kelas ini berguna untuk membuat konfigurasi dengan nama file config.ini lalu menentukan path folder mana yang akan di share oleh peer.
37
Pada gambar 4.1 merupakan fungsi untuk membuat konfigurasi pada saat aplikasi baru pertama kali dijalankan oleh user dengan menetukan letak path
folder file pada config.ini. 4.1.2 Kelas Star tJ XTA
StartJXTA merupakan bagian dari seluruh aplikasi yang menyediakan komunikasi ke jaringan JXTA untuk bergabung ke dalam peer group sehingga
peer dapat berbagi content. Kelas ini pertama akan menjalankan pada jaringan
default JXTA yang dikenal sebagai netpeergroup. Ketika login ke netpeergroup
akan mendapatkan service seperti discovery service yang akan diperoleh dari
netpeergroup bisa dilihat pada gambar 4.2
Gambar 4.2 Method launchJXTA dan getService
Peer login pada jaringan default JXTA dengan mulai mencoba untuk menemukan "TF Group" di netpeergroup. Setelah beberapa kali mencoba dan mencari jika "TF Group" tidak ditemukan, peer akan menganggap bahwa peer
pertama kalinya menjalankan aplikasi dan akan membuat TF Group maka
advertisement akan dikirim pada peer lainnya, sehingga peer selanjutnya mencari "TF Group" akan dapat menemukan dalam group.
Gambar 4.3 ID TF Group
Pada gambar 4.3 merupakan id group dimana peer setelah melakukan konfigurasi akan mencari id group agar dapat mencari group yang sudah ditentukan.
Gambar 4.4 Method searchForGroup
39
Gambar 4.5 Method createGroup
Pada gambar 4.5 merupakan fungsi untuk menciptakan group TF Group apabila peer tidak menemukan group tersebut setelah melakukan pencarian dengan remotediscovery.
Gambar 4.6 Method joinToGroup
Pada gambar 4.6 merupakan fungsi untuk melakukan joingroup apabila telah ditemukan groupadvertisement atau setelah menciptakan group itu sendiri.
Method ini membutuhkan parameter bertipe PeerGroup. 4.1.3 Kelas Share
Kelas ini berguna untuk melakukan share ke semua file pada folder disetiap masing-masing peer di TF Group. Untuk melakukannya, Content Management Service juga dikenal sebagai CMS. CMS adalah sebuah library
JXTA yang dibuat untuk tujuan file sharing. Kelas ini pertama akan membuat objek dari CMS library yang perlu dijalankan sehingga dapat mengikat service
pada peer group saat ini. Maka kelas ini akan mulai mencari file di direktori
share. Setelah file tersebut dikumpulkan dalam direktori share maka objek CMS akan membuat Advertisement yang unik untuk setiap file dan membuat mereka tersedia untuk peer lainnya. Apabila jika salah satu peer melakukan request untuk
download file, maka CMS akan menangani request itu dan akan mengirim file ke
peer. Kelas ini juga digunakan untuk menghitung check sum di sini disebut "CheckSumCalc" bertanggung jawab untuk menghasilkan check sum untuk file yang akan di share dalam group. Oleh karena itu ketika peer melakukan download
41
Gambar 4.7 Method launchCMS
4.1.4 Kelas Search
Tujuan dari kelas ini adalah untuk mencari file yang di Share dalam TF Group. Setelah kelas ini telah dijalankan oleh user, maka akan mulai pencarian
advertisement nama file di TF Group sampai user menghentikan pencarian. Bisa dilihat pada gambar 4.8 – 4.9
Gambar 4.8 Class Search
43
4.1.5 Kelas Download
Kelas ini adalah subclass dari "GetContentRequest" di CMS library. Jadi, ketika kelas ini dijalankan oleh user, ia akan mencoba untuk melakukan download
file yang ditentukan dengan informasi dari file tersebut dalam peer group. Setelah melakukan download file telah selesai, maka user dapat melihat check sum dari file yang di download dan membandingkannya dengan check sum dari file asli yang telah diperoleh dari advertisement file untuk memastikan download berhasil dan file yang tidak rusak. Bisa dilihat pada gambar 4.10
Gambar 4.10 Inner class GetRemoteFile
4.2 Hasil Uji Coba Dan Evaluasi
Pada bagian ini akan menjelaskan tentang hasil uji coba dan hasil analisis yang di lakukan. Berikut adalah hasil dari uji coba yang dilakukan :
4.2.1 Uji Coba Konfigurasi
Disini akan menjelaskan tentang pada saat pertama user melakukan konfigurasi untuk pertama kalinya.
Gambar 4.11 Menentukan Folder Yang Di-share
45
Gambar 4.12 JXTA Configurator Basic
Pada gambar 4.12 adalah konfigurasi JXTA yang akan ditampilkan pada saat user menjalankan aplikasi pertama masukkan nama peer, kemudian password
dan ketikan kembali password anda.
Gambar 4.13 JXTA Configurator Advanced
Pada gambar 4.13 tandai pada kotak Act as Relay, Act as Rendezvous, dan
Act as JXME proxy karena kita akan menggunakan peer tersebut sebagai ketiganya. Aktifkan pilihan TCP Setting beserta nomor port nya, untuk JXME
47
Lakukan hal yang sama pada setting HTTP, hanya saja nomor port nya diganti dengan 9700.
Gambar 4.14 JXTA Configurator Rendezvous/Relay
Pada gambar 4.14 mengaktifkan pilihan Rendezvous Settings kemudian pada Rendezvous seed peers, masukkan settingan : http://192.168.1.1:9700 dan tcp://192.168.1.1:9701 kemudian tekan tombol tambah untuk memasukkan ke list. Lakukan hal yang sama pada Relay Setting, aktifkan pilihan Use a relay, dan Use only configured seed relays. Kemudian pilih OK.
4.2.2 Uji Coba Searching TFGroup dan J oin Group
Apabila peer menemukan group advertisement tujuan dalam local cache
maka peer akan langsung join dalam group tersebut.
Gambar 4.15 Peer Tidak Menemukan Group, Kemudian Menciptakan Group
Sendiri.
Pada gambar 4.15 menunjukkan bahwa peer tidak menemukan group yang dicari sehingga peer menciptakan group sendiri dan melakukan join terhadap
49
Gambar 4.16 Peer Menemukan Group Pada Local dan Join
Pada gambar 4.16 menunjukkan bahwa peer menemukan group advertisement dalam local cache dan melakukan join group terhadap group
tujuan. Peer menggunakan peer group advertisement sebagai parameter untuk melakukan join.
4.2.3 Uji Coba Search dan Download File
User harus menekan tombol search maka peer akan mengirim message query secara propagate ke semua peer dalam sistem.
Gambar 4.17 User Melakukan Pencarian File
Pada gambar 4.17 menunjukkan daftar file yang di publish atau di share
oleh peer akan tampil pada tabel dengan perincian file name, sizebyte, check sum
dan address.
51
4.3 Analisis Waktu Pada Saat Download ber langsung
Pada bagian ini akan dilakukan analisisterhadap proses waktu download
berlangsung dengan file size 42 Mb menggunakan skenario yang sudah ada.
4.3.1 Analisis Skenario
Pada pengujian ini menggunakan 4 peer dengan proses download file dilakukan hampir secara bersamaan kurang lebih 1-10% yang bisa dilihat pada ProgressBar dan dengan ukuran waktu milisecond.
Tabel 4.1 Analisis Skenario
53
melakukan download secara bersamaan akan semakin berkurang waktu pada saat transfer berlangsung.
Dalam menganalisa waktu proses download tidak hanya mengetahui berapa waktu milisecond nantinya akan dilakukan analisis kappa. Dari hasil analisis kappa tersebut akan diketahui apakah metode peer to peer baik untuk digunakan dalam proses melakukan sharing file. Dan metode kappa yang digunakan adalah cohen kappa. Berikut ini adalah tabel untuk analisis kappa:
Tabel 4.2 Analisis Kappa
Pada tabel 4.2 terdapat A1 dan A2 adalah percobaan pada kesempatan pertama, sedangkan A2 adalah percobaan pada kesempatan kedua. Dan untuk setiap data waktu pada saat proses download berlangsung kurang dari enam ribu
milisecond akan mendapat nilai satu (<6000=1) dan untuk setiap data waktu pada saat proses download berlangsung lebih dari enam ribu milisecond maka akan mendapat nilai nol (>6000=0). Untuk melakukan perhitungan analisis kappa menggunakan tool atau software SPSS (Statistical Product and Service Solutions). Berkut ini adalah hasil perhitungan kappa menggunakan SPSS:
55
Pada gambar 4.19 merupakan hasil analisis kappa dengan menggunakan
tool SPSS (Statistical Product and Service Solutions) untuk melakukan perhitungan. Dan untuk nilai kappa dikelompokkan sebagai berikut:
• Kappa < 0,21 : buruk
• Kappa 0,21 – 0,40 : cukup
• Kappa 0,41 – 0,60 : cukup baik
• Kappa 0,61 – 0,80 : baik
• Kappa > 0,81 : sangat baik
Dalam penelitian ini hasil kappa yang diperoleh dari perhitungan menggunakan SPSS adalah 0,510. Dan hasil tersebut menunjukkan bahwa metode peer to peer cukup baik dalam melakukan sharing file yang dibuat berdasarkan analisis cohen kappa dan dikelompokkan cukup baik dalam percobaan penelitian ini.
5.1. Kesimpulan
Dari hasil uji coba dan evaluasi akhir yang telah dilakukan, maka didapatkan kesimpulan sebagai berikut :
a. Kecepatan proses pengiriman file dapat dipengaruhi oleh spesifikasi komputer yang digunakan untuk menjalankan aplikasi.
b. Kecepatan proses pengiriman file tidak ditentukan oleh banyaknya
peer yang tergabung kedalam sistem. Sedikit atau banyak peer yang tergabung dalam sistem kecepatannya hampir sama dan normal.
c. Sebuah file yang di download secara bersamaan akan berkurang kecepatan transfernya bila dibandingkan download menggunakan dengan 2 peer.
d. Metode peer to peer cukup baik dalam melakukan sharing file yang dibuat berdasarkan analisis cohen kappa dengan nilai 0,510 dan dikelompokkan cukup baik.
5.2. Saran
Setelah membangun apikasi ini, ada beberapa saran untuk mengembangkan aplikasi ini selanjutnya :
57
b. Disarankan untuk mencari metode yang lebih optimal untuk melakukan pengiriman file, karena kecepatan dalam pengiriman file dirasa masih lambat.
Anonim . (2000). Ret rieved November 5, 2014, from Net Beans: ht t ps:/ / net beans.org/ index_id.ht ml
Anonim . (2005). JXTA v2.3.x:Java™ Programmer’s Guide. Sun M icrosyst ems.
Anonim . (2003). Project JXTA v2.0. Sun M icrosyst ems.
Daniel Brookshier, Darren Govoni, Navaneet h Krishnan, Juan Carlos Sot o. (2002). JXTA: Java™ P2P
Programming. Sams Publishing.
Gradecki, J. D. (2002). M ast ering JXTA: Building Java Peer-t o-Peer Applicat ions. John Wiley & Sons.
Hendraw an, A. (2011, desember 28). Net beans IDE. Ret rieved Okt ober 25, 2014, from
htt p:/ / anggayhendraw an.w ordpress.com/ 2011/ 12/ 28/ net beans-ide/
Ism ail, A. W. (2012, Februari 27). Sejarah Jaringan Peer To Peer. Ret rieved Okt ober 25, 2014, from
htt p:/ / soalujikom.blogspot.com/ 2012/ 02/ sejarah-jaringan-peer-t o-peer.ht ml
Oriola, O. (2012). Dist ribut ed Intrusion Det ection Syst em Using P2P Agent M ining Schema. African
Journal of Comput ing & ICT , 3-10.
S. Androutsellis-Theotokis, and D. Spinellis. (2004). A Survey of Peer-t o-Peer Cont ent Dist ribut ion
Technologies. ACM Comput ing Surveys , 335–371.
Sakt iaji, A. (2012, December 17). Ret rieved Oktober 25, 2014, from
htt ps:/ / anindit ablog.w ordpress.com/ 2012/ 12/ 17/ client -server-vs-peer-to-peer/