Halaman ke 1 dari 6
IMPLEMENTASI JEJARING SOSIAL PADA LINGKUNGAN JXTA
Vania Utami - Wahyu Suadi, S.Kom., M.Kom. – Henning Titi Ciptaningtyas , S.Kom, M.Kom Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Surabaya,
Email: [email protected]
Abstrak Beberapa tahun ini Online Jejaring Sosial menjadi tren yang popular di dunia. Salah satu penyebab jejaring sosial menjadi popular adalah kemudahan untuk berkomunikasi antar sesama manusia. Selain itu, perkembangan perangkat mobile, seperti PDA, dan telepon genggam turut memberikan andil sehingga jejaring sosial menjadi booming seperti saat ini. Di sisi lain, P2P menjadi trend yang sedang berkembang saat ini. Semakin banyak aplikasi yang dikembangkan untuk dapat berjalan pada lingkungan P2P.
Pada tugas akhir ini dibuat sebuah aplikasi jejaring sosial yang berjalan pada lingkungan P2P menggunakan Juxtapose (JXTA) dan Juxtapose for Java Microedition (JXME). Aplikasi ini mencoba untuk menggabungkan tren Mobile Jejaring sosial dan tren P2P. Adapun fitur telah berhasil diimplementasikan pada aplikasi ini adalah fitur sederhana dari jejaring sosial seperti mengetahui keberadaan setiap pengguna, chat, berkirim pesan, melihat profil serta berbagi file dengan pengguna lain.
Dan dari hasil uji performa yang dilakukan pada aplikasi ini menujukkan bahwa jumlah pengguna menjadi faktor penting pada jangka waktu delay yang terjadi ketika pengguna menjalanksan servis, seperti login, dan berbagi file. Peningkatan delay ketika login akibat peningkatan jumlah pengguna adalah sebesar 6%. Sedangkan peningkatan delay ketika berbagi file sebesar 89%.
Kata Kunci : Jejaring Sosial, P2P, JXTA, JXME, aplikasi mobile
1. PENDAHULUAN
Online Jejaring Sosial adalah servis yang berupa web-based bertujuan sebagai media penghubung setiap orang dengan orang lain. Bentuk awal jejaring sosial adalah Bulletin Board System di tahun 1980-an. Kemudian di tahun 1990-an, jejaring sosial berbentuk web muncul dan berkembang, contoh : Classmates.com. Servis–
servis awal yang didukung oleh jejaring sosial tersebut adalah seorang user dapat mengirimkan pesan berbentuk publik, menerima dan mengirimkan pesan private dan berbagi resource.
Era baru jejaring sosial dimulai dengan keberadaan Friendster pada tahun 2002. Di tahun yang sama dengan kemunculan Friendster, MySpace dibentuk oleh sekumpulan pemusik untuk membagi hasil kerja mereka kepada orang lain. Pada tahun 2004 Facebook muncul dengan penambahan fitur chat dan permainan sosial yang bisa dimainkan dengan
orang lain secara on-line. Pada akhir tahun 2007, Twitter muncul dengan servis microblogging-nya yang memungkinkan untuk menggabungkan instant messanging, email, dan blogging.
Selain tren dari jejaring sosial yang tengah berkembang, peer to peer juga menjadi salah satu trend berkembang lain yang sedang digemari oleh para peneliti dan pengembang.. Pada jaringan P2P, setiap peer saling berkomunikasi tanpa memerlukan adanya sebuah node pusat yang mengkoordinasikan proses komunikasi tersebut [1]. Hal tersebut mengakibatkan beban yang biasanya dibebankan pada server pusat dapat dikurangi. Sehingga waktu tunggu untuk pengiriman servis dapat diperkecil. Selain itu dengan menerapkan jejaring sosial pada jaringan P2P maka kontrol privasi data dapat dilakukan.
Karena data pengguna disimpan pada sisi pengguna bukan pada sisi server pusat.
Dari dua tren yang berkembang tersebut munculah ide untuk menggabungkan kedua tren tersebut menjadi sebuah perangkat lunak P2P dengan jejaring sosial. Dan fokus pengerjaan tugas akhir ini adalah bagaimana mengimplementasikan aplikasi jejaring sosial pada Jaringan P2P serta dapat berjalan pada perangkat mobile.
Pada makalah ini mendeskripsikan mengenai desain dan implementasi aplikasi untuk perangkat mobile menggunakan Juxtapose (JXTA) p2p protocol, dan Juxtapose untuk Java Microedition platform. Dengan menggabungkan konsep dari Jejaring Sosial dan P2P, maka terbentuk sebuah aplikasi yang memungkinkan untuk mengetahui keberadaan setiap pengguna, chat, berkirim pesan, melihat profil serta berbagi file dengan pengguna lain.
Makalah ini disusun berdasarkan beberapa bab yaitu bab 2 mengenai dasar teori aplikasi, bab 3 desain dan imlementasi aplikasi mobile, bab 4 berisi uji coba dan evaluasi serta bab 5 berisi kesimpulan dan saran.
2. DASAR TEORI Peer to Peer
Definisi dari “Peer-to-Peer” (P2P) adalah sebuah sistem dan perangkat lunak yang menerapkan resources terdistribusi. Pada P2P sistem, sebuah node dapat bertindak sebagai client dan juga sebagai server. Node dapat meminta resources
Halaman ke 2 dari 6 pada node lain, serta node tersebut juga
menyediakan resource untuk node lain.
Sehingga, dapat dikatakan P2P adalah bentuk spesial dari sistem terdistribusi yang bekerja pada layer perangkat lunak dimana setiap pasang peer dapat berkomunikasi dengan satu sama lain melalui routing protocol yang terdapat pada layer P2P [2].
JXTA (juxtapose)
Pada tahun 2001, Sun Microsystem membuat sebuah protokol peer to peer yang open source yang dinamakan JXTA (Juxtopose). Dengan JXTA, untuk dapat bertukar pesan maka harus mendefinisikan sekumpulan pesan menjadi XML.
JXTA peer membuat sebuah jaringan overlay virtual. Sehingga firewall, nat, atau jaringan transport sejenis, yang mengahalangi sebuah peer dapat berkomunikasi dengan peer lain, dapat dilewati dengan mudah.
Terdapat 5 protokol yang mendukung JXTA [3]
yaitu :
1. Peer Resolver Protokol Cara untuk melakukan query sebuah string di beberapa format pesan pada sebuah peer dan mengirimkan respon yang dikeluarkan handler.
2. Peer Information Protokol Mekanisme sebuah peer mendapatkan status dari peer lain.
3. Pipe Binding Protokol Sebuah media yang digunakan untuk mengirim dan menerima pesan antara perangkat lunak dan servis dari peer dengan membuat sebuah pipes
4. Endpoint Routing Protokol Mekanisme untuk melakukan koneksi dengan peer lain dimana tidak ada hubungan langsung antara keduanya.
5. Rendeveous Protokol Sebuah servis yang membuat peer mengirimkan pesan ke beberapa penerima sekaligus.
JXME
JXME project [4] ditujukan untuk memindahkan fungsionalitas dari JXTA pada perangkat mobile yang memiliki keterbatasan resource.
Tidak mudah untuk menerapkan JXTA pada J2ME. Karena pesan pada JXTA berupa struktur XML dan membutuhkan parser untuk membacanya. Sehingga tidak dimungkinkan untuk diterapkan pada J2ME. Selain itu untuk pemeliharaan caches cukup memboroskan penggunaan memory. Dan alasan terakhir adalah pada JXTA peer selalu menggunakan mode listening dan hal tersebut tidak mungkin diterapkan pada lingkungan J2ME [5].
Dari rangkaian keterbatasan tersebut, maka JXME arsitektur sangat tergantung pada JXTA relays.
Pada Gambar 1 dijelaskan mengenai cara kordinasi dari perangkat Edge J2ME dan JXTA Relay [6]:
1. Peer J2ME mengirimkan pesan HTTP request pada JXTA relay.
2. JXTA relay menguraikan setiap pasangan nama dan data pada HTTP request menjadi XML pesan (format pesan JXTA) dan kemudian mengirimkan pesan tersebut pada jaringan JXTA.
3. JXTA relay menerima pesan dari JXTA network, kemudian menguraikan XML format dari pesan yang datang. Di satu sisi pengirim akan mendapatkan respon HTTP dari relay.
4. Menunggu J2ME peer mengirimkan HTTP poll request. Kemudian mengirimkan request rersebut. Dan relay akan mengirimkan kembali respon HTTP.
Gambar 1 Kordinasi JXTA Relay - JXME 3. DESAIN DAN IMPLEMENTASI
Gambar 2 Arsitektur Sistem
Gambar 2 adalah arsitektur yang diterapkan pada sistem jejaring sosial pada lingkungan P2P. Pada sistem ini tidak menggunakan P2P yang bertipe murni P2P, tetapi menggunakan P2P yang bertipe Hybrid. Agar tiap peer dapat berhubungan satu sama lain dibutuhkan sebuah peer sentral yang bertindak sebagai Relay-Rendezvous. Serta dibutuhkan sebuah server otentifikasi untuk mengotentifikasi pengguna yang berada dalam sistem. Prinsip otentifikasi ini menggunakan
Halaman ke 3 dari 6 sebagian mekanisme yang terdapat pada sistem
Skype [7].
Berikut ini adalah alur proses secara garis besar sistem seperti pada Gambar 2
.
Gambar 3 Use Case Diagram Sistem
1. Sebuah Peer Login, maka akan meminta otentifikasi pada server otentifikasi. Server otentifikasi melakukan pencocokan pada database server apakah terdapat user tersebut.
Apabila ditemukan peer tersebut, maka server mengirimkan data data krusial dari peer.
2. Peer melakukan koneksi pada jaringan P2P yang ada. Setelah melakukan sukses melakukan koneksi, maka peer dapat melakukan poll pesan ke server relay.
3. Bila telah terhubung dengan jaringan P2P yang ada, maka peer dapat melakukan servis–servis yang disediakan pada sistem dengan langsung melakukan kontak dengan peer yang bersangkutan
4. Apabila peer akan memutuskan hubungan dengan jaringan P2P, maka peer tersebut harus mengirimkan permintaan yang ditujukan pada peer lain (dalam hal ini peer ini sedang tidak tersambung dengan jaringan) ke server Relay- RDV.
Seperti yang terlihat pada Gambar 3, terdapat 1 aktor pada sistem ini, yaitu User. User dapat bertindak sesuai dengan use case yang ada.
Penjelasan dari tiap use case adalah 1. Add – Remove Friends
Pengguna dapat melakukan penambahan dan penghapusan teman.
2. View - Delete Messages
Pengguna dapat melihat pesan yang dikirim kepada pengguna tersebut. Selain itu pengguna dapat menghapus pesan tersebut.
3. Add – Remove Shared Files
Pengguna dapat menambah file yang dapat dibagi dengan teman serta meniadakan sharing file tersebut.
4. Select File
Pengguna dapat memilih sendiri file yang dapat di sharing
5. View Non Friens Profile
Pengguna dapat melihat profile dari peer lain meskipun peer tersebut bukan teman dari pengguna. Namun pengguna tidak dapat melihat secara keseluruhan dari profile peer tersebut. Hanya dibatasi pada profil-profil tertentu.
6. Edit personal profile
Pengguna dapat menyunting profil pribadinya. Dapat mengganti foto.
7. View Friends Online
Pengguna dapat melihat siapa saja teman yang sedang terhubung dengan jaringan.
8. View Friends Profile
Pengguna dapat melihat profil dari temannya.
9. Send Message to Friends
Pengguna dapat mengirimkan pesan kepada teman.
10. View File Sharing of Friends
Pengguna dapat melihat file yang dibagi oleh temannya.
11. Download File Sharing
Pengguna dapat mengunduh file yang dibagi oleh temannya
user View Friends Online
Edit Personal Profile
View non-friends profile
Add - Remove Friend
View - Delete Messages
Add - Remove Shared Files
Select File
<<include>>
View Friend Profile
<<extend>>
View Shared file of Friend
<<extend>>
Download Shared File of Friend
<<extend>>
Send Message to Friend
<<extend>>
Halaman ke 4 dari 6
Start
Pooling Pesan
Filter Pesan
Proses Pesan Response Proses Pesan
Permintaan
Proses Pesn Update
Proses Paralel Sistem
Proses Pesan Chat dan Alive Proses
Mengirimkan Pesan Hidup
Gambar 4 Proses Pararel Sistem
Pada perangkat lunak ini ketika pengguna telah terhubung dengan jaringan P2P maka pengguna akan kebajiran informasi dari peer lain. Sehingga terjadi penumpukan informasi di perangkat lunak.
Hal ini menyebabkan kinerja dari perangkat lunak menjadi lebih lama untuk menangani berbagai informasi yang diterimannya. Untuk mengatasi flooding informasi, permintaan, respon, dan update dari peer lain maka pada sistem ini menggunakan pararel proses agar setiap informasi dapat dipilah dan diproses secara bersamaan. Bentuk pararel proses dapat dilihat pada Gambar 4.
4. UJICOBA
Pada bagian ini akan dibahas mengenai uji coba dan evaluasi perangkat lunak. Perangkat lunak ini diuji coba dari segi fungsionalitas dan performa terhadap penambahan jumlah peer dalam lingkungan uji coba. Di akhir bab diberikan evaluasi terhadap hasil uji coba yang telah dilakukan.
Uji Coba Fungsionalitas
Uji coba ini dilakukan untuk melihat apakah fungsi fungsi dasar dari perangkat lunak ini berjalan sebagai mana mestinya atau tidak. Hasil ujicoba ditunjukkan dengan gambar-gambar Graphical User Interface perangkat lunak ini.
Uji coba fungsionalitas meliputi : menambah teman, melihat profil, berbagi file, chat, dan mengirimkan pesan .
Gambar 5 adalah hasil uji fungsionalitas melihat profil. Pada bagian a akan ditampilkan ketika melihat profil bukan teman. Sedangkan bagian b akan ditampilkan pada saat meilhat profil teman.
Pada Gambar 6 adalah hasil uji fungsionalitas ketika melakukan berbagi file. Bagian a adalah notifikasi yang muncul ketika ada seorang ingin mengunduh file yang di-share. Sedangkan bagian b adalah notifikasi yang muncul ketika pesan respon file datang, dan ditanyakan untuk melakukan penyimpanan.
A b
Gambar 5 Uji Fungsionalitas Melihat Profil
a b
Gambar 6 Uji Fungsionalitas Transfer File
Uji Coba Performa
Uji coba ini di lakukan untuk melihat apakah peforma dari perangkat lunak ini. Terbagi menjadi 2 jenis skenario untuk dilakukan uji peforma yaitu skenario untuk bergabung pada jaringan serta uji peforma untuk mengukur waktu yang dibutuhkan untuk mengirimkan file.
Halaman ke 5 dari 6 i. Skenario 1
Pada skenario ini dilakukan uji coba mengenai waktu yang dibutuhkan sebuah peer untuk dapat bergabung dengan dengan jaringan. Paramater yang berperan dalan uji ini adalah banyaknya peer yang bergabung secara bersamaan. Untuk dapat bergabung dengan jaringan, peer tersebut harus mengotentifikasi dirinya di server otentifikasi, kemudian melakukan koneksi dengan server relay, mencari pipe propagansi, dan terakhir membuat pipe.
Pada uji coba ini dilakukan sebanyak 5 kali untuk setiap paramater yang berbeda.
Nilai parameter yang digunakan adalah 1, 5, dan 10 peer yang bergabung secara bersamaan. Sedangkan hasil rata-rata percobaan ini dapat dilihat Tabel 1. Dari data tabel tersebut terlihat bahwa semakin banyak peer yang bergabung dengan jaringan, maka waktu yang dibutuhkan sebuah peer untuk bergabung menjadi semakin lama. Hal ini disebabkan karena server otentifikasi harus menangani beberapa peer sekaligus. Meskipun telah menggunakan thread untuk dapat menangani setiap peer yang masuk, masih ada beberapa peer yang harus menunggu untuk dilayani oleh server. Selain itu pada proses koneksi pada server relay, peer harus menunggu proses pencarian pipe propagansi, serta pembuatan beberapa pipe untuk dirinya.
Tabel 1 Hasil Uji Rata-Rata delay Login dengan penambahan jumlah peer
Banyak Peer
Waktu Rata - Rata per Peer (mili sekon)
1 18080
5 18371.44
10 19182.12
ii. Skenario 2
Skenario ini untuk melakukan uji coba pada waktu yang dibutuhkan untuk mengirimkan sebuah file antar peer.
Paramater yang menjadi nilai uji coba yakni parameter banyaknya peer yang mengunduh file tersebut secara bersamaan. Untuk paramater ini mengunakan 1,3 dan 5 peer. Pada setiap parameter dilakukan 6 kali uji coba. Hasil dari uji coba ini dari rata-rata tiap percobaan dapat dilihat pada Tabel 2. Dari data tabel tersebut dapat terlihat bahwa semakin banyak jumlah peer yang mengunduh file tersebut, maka waktu yang dibutuhkan untuk mengirimkan file semakin besar. Hal ini disebabkan karena
peer penyedia file harus menangani request yang datang secara sekuential berdasarkan urutan datangnya request.
Tabel 2 Hasil Uji Rata-Rata delay Kirim File dengan penambahan jumlah peer
Banyak Peer Waktu (mili sekon)
1 7444
3 8100
5 14105
5. SIMPULAN & SARAN
Simpulan yang dapat diambil dari pengerjaan tugas akhir ini adalah sebagai berikut:
1. Telah di implementasikan sebuah mobile aplikasi pada lingkungan JXTA sehingga dapat melakukan fungsi sederhana jejaring sosial yaitu menambah teman, berbagi file, melihat profil, mengirim pesan, dan chat.
2. Waktu yang dibutuhkan untuk bergabung pada jaringan akan semakin meningkat berbanding lurus dengan jumlah peer yang akan bergabung pada jaringan. Kenaikan waktunya sebesar 6%.
3. Waktu yang dibutuhkan untuk mengirimkan file tergantung pada jumlah peer yang mengunduh file tersebut.
Semakin banyak peer yang mengunduh, maka waktu yang dibutuhkan untuk mengirimkan file tersebut akan semakin lama. Kenaikan waktunya sebesar 89%.
Dan saran untuk penelitihan kedepan adalah a. Diharapkan dapat menambah dukungan
terhadap keamanan informasi. Karena pada sistem belum diberikannya sebuah sistem untuk mendukung keamanan data dari peer. Semua informasi yang diberikan berupa plain/text .
b. Diharapkan dapat menambah fitur sistem grup chat .
c. Diharapkan dapat menambahkan optimasi untuk berbagi file. Karena pada sistem ini belum diterapkan berbagi file yang optimal.
d. Masih adanya ketergantungan pada database sentral, database sentral ini berguna untuk mengakomodasi pengguna agar tidak terbatasi hanya pada 1 perangkat saja.
e. Diharapkan untuk dilakukan optimasi penjadwalan pada pengiriman pesan alive agar pesan tersebut tidak memenuhi pipe propagansi.
6. REFERENSI
1. Tsai, Flora S., et al., et al. Design and Development of a Mobile peer-to-peer Social
Halaman ke 6 dari 6 Networking Application. T Singapore :
Elsevier, 2009, Expert System with Application, Vol. 36, pp. 11077-11087.
2. Li, Hogyu. A study on Mobile P2P System.
Wichita : s.n., 2005. CS898T Term Paper.
3. Wilson, Brendon J. JXTA. Indiana : New Riders, 2002. 0-73571-234-4.
4. A, Arora, C, Haywood and K.S, Pabla. JXTA for J2ME Extending the Reach of Wireless With JXTA Technology. 2002 : s.n.
5. Blundo, Carlo and De Cristofaro, Emiliano.
A Bluetooth-based JXME infrastructure.
6. Yeh, Dr. Ching-Long . Getting Started with JXTA for J2ME.
http://www.cse.ttu.edu.tw/chingyeh/.
[Online] 2007. [Cited: Maret 12, 2010.]
http://www.cse.ttu.edu.tw/chingyeh/courses /xml/.
7. Garfinkel, Simson L. . VoIP and Skype Security. [PDF] s.l. : Skype Security Overview, 2005.