SHARING DATA PADA JARINGAN PEER TO PEER DENGAN JXTA TUGAS AKHIR Diajukan Untuk Memenuhi Persyaratan Akademik Studi Strata Satu (S1) Teknik Informatika Universitas Muhammadyah Malang Oleh : Mekhel Sandi 07560307 JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADYAH MALANG 2013
LEMBAR PENGESAHAN SHARING DATA PADA JARINGAN PEER TO PEER DENGAN JXTA TUGAS AKHIR Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata Satu Teknik Informatika Universitas Muhammadiyah Malang Disusun Oleh : MEKHEL SANDI 0 7 5 6 0 3 0 7 Tugas Akhir ini telah diuji dan dinyatakan lulus oleh tim penguji pada tanggal 3 Mei 2013 Mengetahui/Menyetujui Penguji I Penguji II (Mahmud Effendi) (Luqman Hakim) Mengetahui Ketua Jurusan Teknik Informatika (Eko Budi Cahyono, S.Kom, MT )
LEMBAR PERSETUJUAN SHARING DATA PADA JARINGAN PEER TO PEER DENGAN JXTA TUGAS AKHIR Oleh : Mekhel Sandi 07560307 Telah Direkomendasikan Untuk Diajukan Sebagai Judul Tugas Akhir Di Teknik Informatika Universitas Muhammadiyah Malang Menyetujui, Pembimbing I Pembimbing II (Yuda Munarko, S.Kom, M.Sc) NIP: 108.0611.0443 (Setio Basuki, ST) NIP: 108.0907.0477
LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini: Nama : Mekhel Sandi Tempat / Tgl Lahir : Kediri, 23 Desember 1990 NIM : 0 7 5 6 0 3 0 7 Fakulats / Jurusan : Teknik / Teknik Informatika Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul SHARING DATA PADA JARINGAN PEER TO PEER DENGAN JXTA beserta seluruh isinya adalah karya saya sendiri dari hasil pengembangan aplikasi sebelumnya, yang pernah dibuat oleh Seyed Saeed Ghiassy dengan judul PEER-TO-PEER FILE SHARING Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya siap menanggung segala bentuk resiko/sanksi yang berlaku. Pembimbing I Malang, 3 Mei 2013 Yang Membuat Pernyataan (Yuda Munarko, S.Kom, M.Sc) (Mekhel Sandi) NIP: 108.0611.0443
KATA PENGANTAR Puji syukur kehadirat Allah SWT, yang telah memberi kekuatan dan petunjuk serta melimpahkan rahmat, dan hidayah-nya, sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul SHARING DATA PADA JARINGAN PEER TO PEER DENGAN JXTA. Dalam penulisan tugas akhir ini tidak akan terselesaikan dengan baik tanpa adanya bimbingan dan sumbangan dari berbagai pihak. Pada kesempatan ini penulis ingin menyampaikan terima kasih kepada : 1. Ayahanda dan Ibunda tercinta atas semua yang telah diberikan pada saya, baik spiritual maupun materiil serta kasih sayangnya. Terima kasih telah mendidikku hingga jenjang perguruan tinggi dengan penuh kesabaran dan kasih sayang yang luarbiasa besarnya. Doa kalian sangat berharga bagiku. 2. Bapak Yuda Munarko, S.Kom, M.Sc dan Bapak Setio Basuki, ST selaku dosen pembimbing Tugas Akhir, terima kasih atas kesabaran bapak dalam membimbing penulis untuk menyelesaikan Tugas Akhir ini. 3. Bapak Ali Sofyan Kholimi selaku pemberi tema, pembimbing dan pemberi masukan yang sangat membantu untuk pengerjaan Tugas Akhir ini hingga selesai. 4. Nurlia Wati selaku istri dan pendukung setia yang selalu menemani dalam meyelesaikan Tugas Akhir ini. 5. Seluruh staff dan dosen pengajar Jurusan Teknik Informatika. 6. Rekan-rekan dari Laboratorium Teknik Informatika yang telah setia memberikan dukungan dari awal semester sampai akhir ini. 7. Rekan-rekan 2006, 2007, 2008, 2009 UMM, khususnya Muhammad Erza Fauzi, Sudaryatno. S.Kom, Aris Budi Prabowo, Muzammil Alawi, Rulli Fonnny Veva Hermawan dan lainnya. Dengan menyadari adanya keterbatasan waktu, kemampuan, pengetahuan, referensi dan pengalaman, Tugas Akhir ini masih jauh dari sempurna. Untuk itu saran dan masukkan untuk kesempurnaan sangat penulis harapkan.
Akhir kata penulis berharap semoga Tugas Akhir ini dapat bermanfaat dan menjadi tambahan ilmu pengetahuan. Malang, 3 Mei 2012 Penulis Mekhel Sandi
DAFTAR ISI LEMBAR PERSETUJUAN... i LEMBAR PENGESAHAN... ii LEMBAR PERNYATAAN...iii ABSTRAKSI... iv ABSTRACT... v KATA PENGANTAR... vi DAFTAR ISI... vii DAFTAR GAMBAR... x DAFTAR TABEL... xii DAFTAR GRAFIK...xiii BAB I PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Tujuan... 2 1.4 Batasan Masalah... 2 1.5 Metodologi... 3 1.6 Sistematika Penulisan... 5 2 BAB II LANDASAN TEORI... 7 2.1 Jaringan Komputer... 7 2.1.1 Arsitektur Client-Server... 7 2.1.2 Arsitektur Peer to Peer... 8 2.1.3 Sejarah Peer to Peer... 9 2.2 JXTA (Juxtapose)... 10 2.2.1 Pengertian JXTA... 10 2.2.2 Protokol JXTA... 12 2.2.3 Arsitektur JXTA... 15 2.2.4 Entitas JXTA... 16 2.2.5 Content Management Service (CMS)... 18 2.3 Barabasi-Albert... 18 2.3.1 Konsep Barabasi-Albert... 19 2.3.2 Algoritma Barabási Albert... 19 vii
2.4 Algoritma MD5... 20 3 BAB III ANALISA DAN PERANCANGAN SISTEM... 21 3.1 Analisa... 21 3.1.1 Analisa Masalah... 21 3.1.2 Analisa Sistem... 21 3.1.3 Flowchart... 22 3.1.4 Use Case Diagram... 24 3.1.5 Class Diagram Level Analis... 24 3.2 Perancangan Sistem... 26 3.2.1 Activity Diagram... 26 3.2.2 Class Diagram Level Design... 30 3.2.3 Sequence Diagram... 30 3.3 Desain Interface... 33 3.3.1 Halaman Log... 33 3.3.2 Halaman Searching... 34 3.3.3 Halaman Share... 35 3.3.4 Halaman Download... 36 3.3.5 Halaman Chat... 37 3.3.6 Halaman PeerList... 38 4 BAB IV IMPLEMENTASI DAN PENGUJIAN... 39 4.1 Implementasi Peer to Peer... 40 4.1.1 Implementasi Class StartJXTA... 40 4.1.2 Implementasi Class LinxetsSharing... 41 4.1.3 Implementasi Class SearchFile... 42 4.1.4 Implementasi Class DownloadFile... 43 4.1.5 Implementasi Class Chatting... 43 4.1.6 Implementasi Class PeerListing... 45 4.1.7 Implementasi Class BarabasiAlbertGenerator... 46 4.1.8 Implementasi Algoritma MD5... 47 4.2 Pengujian Sistem dan Analisa... 48 4.3 Hasil Pengujian Aplikasi... 57 5 BAB V KESIMPULAN DAN SARAN... 59 viii
5.1 Kesimpulan... 59 5.2 Saran... 59 DAFTAR PUSTAKA... 60 LAMPIRAN ix
DAFTAR GAMBAR Gambar 2.1 Arsitektur Client Server... 7 Gambar 2.2 Arsitektur Peer to peer... 8 Gambar 2.3 Endpoint Routing Protocol... 13 Gambar 2.4 Rendezvous Protocol... 14 Gambar 2.5 JXTA Layer... 15 Gambar 3.1 Flow Chart Sistem Apklikasi... 23 Gambar 3.2 Use Case Diagram Sistem... 24 Gambar 3.3 Class Diagram Level Analisis... 25 Gambar 3.4 Activity Diagram Searching... 27 Gambar 3.5 Activity Diagram Downloading... 28 Gambar 3.6 Activity Diagram Peer List... 29 Gambar 3.7 Sequence Diagram Level Desain... 30 Gambar 3.8 Sequence Diagram Searching... 31 Gambar 3.9 Sequence Diagram Download... 31 Gambar 3.10 Sequence Diagram Peer List... 32 Gambar 3.11 Halaman Log... 33 Gambar 3.12 Halaman Searching... 34 Gambar 3.13 Halaman Share... 35 Gambar 3.14 Halaman Download... 36 Gambar 3.15 Halaman Chat... 37 Gambar 3.16 Halaman List of Peer... 38 Gambar 4.1 Terms and Conditions... 49 Gambar 4.2 Dialog Select Folder Share... 50 Gambar 4.3 Select Folder Share... 50 Gambar 4.4 Konfigurasi Peer Name in JXTA... 51 Gambar 4.5 Tabel Connection Log... 52 Gambar 4.6 Tabel Search File... 53 Gambar 4.7 Tabel Shared Files... 54 Gambar 4.8 Tabel Shared Files... 55 Gambar 4.9 Tabel Chatting... 56 Gambar 4.10 Tabel Peerlist... 56 x
DAFTAR TABEL Tabel 4.1 Hasil Pengujian dari Berbagai Sistem Operasi... 57 Tabel 4.2 Hasil Pengujian dari Kecepatan Transfer... 57 xi
DAFTAR GRAFIK Grafik 4.1 Hasil Pengujian dari Kecepatan Transfer... 58 xii
DAFTAR PUSTAKA [1] Seyed Saeed Ghiassy. Peer-to-Peer File Sharing, pages 1-51. 63CP3261 Final Year Project, 2010. [2] Media Wiley, Peer to Peer architecture, pages 1-16, 2004. [3] Sun Microsystems, Inc. JXTA Java Standard Edition v2.5 Programmers Guide, page 1-171. 2007. [4] Gradecki, Joseph D. Gradecki, Mastering JXTA, 2002. [5] Daniel Brookshier, Darren Govoni, Navaneeth Krishnan, Juan Carlos Soto. JXTA Java P2P Programming, 2002. [6] Prof. Dagmar Iber, Mathematical Modeling in Systems Biology, D-BSSE. 2011. [7] William Stallings, Cryptography and Network Security: Principles and Practice, 2010. 1