Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 2, Februari 2017, hlm. 118-124
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Implementasi Publish-Subscribe Pada Delay Tolerant Network (DTN) Rembulan Suci Fii Jannatin1, Aswin Suharsono2, Adhitya Bhawiyuga3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Pada perkembangan teknologi informasi saat ini, banyak upaya yang dilakukan guna memberikan layanan pertukaran informasi yang efisien dan efektif. Arsitektur yang menarik banyak perhatian peneliti dalam hal efisiensi yaitu publish-subscribe, yang merupakan bagian dari Information Centric Networking (ICN). Publish-subscribe merupakan sistem yang akan memudahkan pertukaran data antar node, node subscriber tidak akan menghiraukan siapa pengirim dari data tersebut selama topik yang di-subscribe memenuhi. Aplikasi publish-subscribe saat ini belum dapat berjalan di wilayah yang memiliki koneksi tidak stabil. Salah satu solusi agar publish-subscribe dapat berjalan pada kondisi tersebut adalah dengan membangun arsitektur tersebut di Delay Tolerant Network (DTN). Dari pengujian yang dilakukan, publisher telah mengunggah file buku. Broker telah dapat meneruskan file buku ke subscriber sesuai topik. Subscriber telah dapat menerima file yang di-publish oleh publisher berdasarkan topik yang dipilih. Ketiganya berjalan di DTN. Keberhasilan terkirimnya file ke node tujuan telah diuji dan mendapatkan hasil 100% dimana jumlah file mencapai 5000. Seluruh file terkirim ke broker dan subscriber sesuai tujuan, tanpa ada yang hilang. File dengan ukuran lebih dari 1MB, lebih dari 10MB dan lebih dari 100MB dapat diunggah ke penyimpanan publisher dan berhasil terkirim ke subscriber. Sistem memiliki mekanisme pengiriman ulang paket yang hilang dan dapat berjalan sesuai fungsinya. Kata kunci: Delay Tolerant Network (DTN), publish-subscribe
Abstract In the rapid development of information technology, many efforts has been done to provide more efficient and effective service for information exchange. One of the architecture that attracts researchers’s attention is publish-subscribe architecture, which included in Information Centric Networking (ICN). Publish-subscribe system will help data exchange between nodes. Subscriber node will not care who is the data sender as long as the data matched the topic they has subscribe. The current publish-subscribe application is not capable to run in area with unstable connection. One of the solutions to solve that problem is to build publish-subscribe architecture in Delay Tolerant Network (DTN). In this study, publisher had uploaded some book file. Brokers had been able to forward the files to subscriber according the topic. Subscriber had been able to receive files published by publisher according the topic they choose. Three of them run in DTN. Success rate of sending files to destination in testing of 5000 file-sending is 100%. All files had been sent successfully to broker and subscribers according to its destination without data-lost. File with size of 1 MB, more than 10 MB, and more than 100 MB had been successfully uploaded to publsiher’s storage and also successfully sent to subscribers. This system also has re-sending mechanism for lost data-packets that functions properly. Keywords: Delay Tolerant Network (DTN), publish-subscribe
yaitu publish-subscribe. Publish-subscribe adalah arsitektur yang dapat menangani pengiriman data yang di-publish oleh publisher ke beberapa subscriber atau pengguna berdasarkan topik yang dipilihnya melalui broker sebagai perantaranya. Terdapat tiga peran utama dalam sistem publish-subscribe yaitu
1. PENDAHULUAN Pada perkembangan teknologi informasi saat ini, banyak upaya yang dilakukan guna memberikan layanan pertukaran informasi yang efisien dan efektif. Arsitektur yang menarik banyak perhatian peneliti dalam hal efisiensi Fakultas Ilmu Komputer Universitas Brawijaya
118
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
publisher, broker dan subscriber. Penelitian terkait publish-subscribe telah dilakukan para ahli untuk mengembangkan manfaat dari arsitektur publish-subscribe. Penelitian dengan judul “Hope: A FaultTolerant Distributed Pub/Sub Architecture for Large-Scale Dynamic Network Environment” menawarkan HOPE sebagai arsitektur yang distribusinya menyeluruh untuk publishsubscribe berbasis XML (Xiaochuan dan Alvin, 2013). Penelitian lain dengan judul “CCD: A Distributed Publish/Subscribe Framework for Rich Content Formats” yang menawarkan publish-subscribe berbasis konten, dimana sistem hanya mengirim konten yang cocok ke subscriber sesuai format pilihannya (Jafarpour, et al., 2012). Publish-subscribe akan terus berkembang melalui penelitian para ahli di masa yang akan datang karena arsitektur ini sangat penting dan dapat berguna untuk efisiensi pertukaran data seperti yang telah disebutkan pada penelitian-penelitian sebelumnya. Publish-subscribe seperti yang dipaparkan dalam penelitian sebelumnya telah banyak diterapkan. Protokol yang menggunakan arsitektur ini juga telah bermunculan, seperti ZeroMQ, MQTT dan sebagainya. Namun, publish-subscribe saat ini masih membutuhkan koneksi yang stabil. Sedangkan pada koneksi yang tidak stabil tentu manfaat dari publishsubscribe sendiri masih belum dapat dirasakan. Salah satu solusi agar publish-subscribe dapat dirasakan oleh masyarakat pedesaan atau masyarakat yang berada di wilayah dengan koneksi yang tidak stabil adalah dengan membangun publish-subscribe melalui Delay Tolerant Network (DTN). DTN mampu mengatasi permasalahan internet yang belum merata. Jadi, DTN dapat berjalan di lingkungan dengan koneksi terputus-putus atau terbatas, delay dan error rate yang tinggi. Seperti dikatakan pada penelitian tentang DTN dengan judul “Proposal of Delay Tolerant Network with Cognitive Wireless Network for Disaster Information Network System”, bahwa DTN dianggap menjadi metode yang memungkinkan untuk mengirimkan data dengan cara bertukar informasi dalam situasi yang darurat (Uchida, et al., 2013). Penelitian tersebut menggabungkan DTN dengan Cognitive Wireless Network (CWN) untuk Sistem Jaringan Informasi Bencana Alam. Simulasi dilakukan pada daerah rawan bencana antara lain Taro, Miyako City, dan Iwate di Jepang. DTN akan menyimpan data yang dipertukarkan antar node Fakultas Ilmu Komputer, Universitas Brawijaya
119
di bundle masing-masing node agar saat koneksi terputus, data tetap akan disimpan. Bundle di sini adalah sebuah protocol data unit pada DTN. Setiap bundle terdiri atas dua atau lebih “block” yang berjalan untuk berbagai tujuan (Scott dan Burleigh, 2007). Sehingga dalam keadaan koneksi yang terputus, data tersebut tidak didrop, bundle akan tertahan di penyimpanan DTN dan dikirimkan ketika terdapat koneksi kembali. Data yang dikirim / bundle-bundle tadi akan dibawa oleh kurir dari pengirim sampai menuju node tujuan akhir. Berdasarkan keunggulan yang ditawarkan arsitektur publish-subscribe dan permasalahan wilayah dengan koneksi yang tidak stabil, penulis mengambil judul skripsi “Implementasi Publish-Subscribe pada Delay Tolerant Network (DTN)”. Skripsi ini diangkat agar pengguna dapat memanfaatkan sistem publishsubscribe di DTN dan diharapkan manfaat sistem ini dapat menarik para pengguna serta menjadi solusi dari permasalahan sebelumnya. Publish-subscribe dalam penelitian ini akan berjalan melalui DTN. Peran yang dapat dilakukan dalam sistem publish-subscribe diharapkan dapat memudahkan pengguna dan memberikan layanan yang menarik, terutama masyarakat yang belum terjangkau internet / yang berada di wilayah pedesaan. 2. TINJAUAN PUSTAKA Delay Tolerant Network (DTN) merupakan salah satu arsitektur yang dulunya ditujukan untuk komunikasi antariksa yang tidak mempermasalahkan delay yang tinggi. DTN memiliki kelebihan yang dapat menggantikan peran internet pada wilayah pedesaan atau daerah yang sinyalnya terputus-putus. DTN2 adalah perangkat lunak yang menyediakan fungsi dan layanan yang sesuai dengan arsitektur DTN dan memastikan bahwa DTN berjalan dengan baik. DTN2 menerapkan Bundle Protocol sesuai dengan arsitektur DTN yang diatur pada RFC 5050 dan menyediakan Bundle Security Protocol sebagai autentikasi pengiriman bundle. Information Centric Networking (ICN) adalah arsitektur yang digunakan untuk menyediakan konten pada lokasi-lokasi yang efisien dan pengguna dapat menjangkau konten
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
tersebut secara lebih mudah. Dalam ICN, konten tidak disediakan dari end-system, tetapi juga diteruskan ke jaringan. Sehingga konten tersebut dapat diakses menggunakan nama sebagai pengalamatan konten. ICN secara langsung menyediakan fungsionalitas baru seperti mekanisme untuk meningkatkan ketersediaan konten, dukungan keamanan konten, dan dukungan mobilitas (Brito dkk, 2013). Publish-subscribe adalah salah satu sistem yang menggunakan arsitektur ICN. Publishsubscribe juga menerima konten tanpa menghiraukan pengirimnya. Operasi dasar pada sistem publish-subscribe yaitu pertama, publisher membuat event dan membuat mereka tersedia untuk subscriber. Kedua, subscriber diperbolehkan untuk mengumumkan ketertarikan mereka pada event yang telah didefinisikan publisher. Kemudian, subscriber diberikan pemberitahuan setiap kali event yang cocok dengan ketertarikan mereka dibangkitkan oleh tiap publisher (Brito dkk, 2013). JavaScript Object Notation (JSON) adalah format data yang mudah untuk dibaca dan diambil nilainya sehingga memudahkan manusia dalam pertukaran informasi. JSON terbuat dari dua struktur (ECMA262, 2013): - Kumpulan pasangan nama/nilai yang dinyatakan sebagai objek, rekaman, struktur, kamus, tabel hash, daftar berkunci atau array asosiatif. - Daftar nilai terurutkan yang dinyatakan sebagai larik/array, vektor, list, atau urutan. 3. METODOLOGI Metodologi penelitian yang akan dilakukan pada penelitian ini secara umum ditunjukkan pada diagram alir pada Gambar 3.1.
Fakultas Ilmu Komputer, Universitas Brawijaya
120 START
Studi Literatur
Analisis Kebutuhan
Perancangan Sistem
Implementasi Sistem
Integrasi Sistem Tidak Apakah sistem telah sesuai dengan tujuan?
Ya Pengujian Sistem
Kesimpulan
STOP
Gambar 3. 1 Diagram Alir Penelitian
4. PERANCANGAN SIMULASI JARINGAN Publish-Subscribe dibangun dengan menggunakan bahasa pemrograman python dan memberikan konten-konten yang dibutuhkan. Gambar 4.1 menggambarkan arsitektur sistem yang akan dibuat. Dimulai dari aplikasi dari sisi client, kemudian informasi yang akan dikirimkan dalam format file JSON dan file buku dalam format PDF melewati broker hingga mencapai subscriber. Ketiga node berada pada jaringan DTN.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Client Application
Broker
DTN
Subscriber
Gambar 4. 1 Arsitektur Sistem Publish-Subscribe
-
-
-
Client application merupakan aplikasi yang berjalan di sisi client. Aplikasi ini dibangun menggunakan bahasa pemrograman python dan interface web menggunakan PHP. Client dapat melakukan fungsi, seperti mengirim data/file ke broker dan meminta data/file dari broker. Broker merupakan perantara yang menyediakan layanan / fungsi yang melakukan publish ke subscriber yang ada sesuai pillihan topik. Subscriber merupakan node yang akan menerima data terbaru sesuai topik yang dipilih.
121
subscribe pada DTN dilakukan menggunakan bahasa pemrograman Python. Program dibuat dengan ekstensi *.py dan berisi fungsi-fungsi yang dapat dijalankan oleh masing-masing node. Penerapan publish-subscribe pada sistem ini terdapat tiga jenis peran seperti yang telah dipaparkan sebelumnya, yaitu publisher, broker, dan subscriber. Ketiganya memiliki fungsi yang berbeda-beda. Dari perancangan skenario, maka tahap selanjutnya, yaitu hasil dari simulasi yang telah dijalankan dapat dianalisa. Pengujian Konektivitas DTN a. Publisher menambah topik Skenario Ketika Dua Node (Publisher dan Broker) Berdekatan dan masingmasing DTN-nya menyala / terhubung. Pada Gambar 5.1 menunjukkan file txt telah terkirim melalui DTN ke broker.
Gambar 5. 1 File Tambah Topik Berhasil Terkirim
b. Bundle DTN Publisher Pada bundle DTN publisher terlihat berjumlah 0 seperti ditunjukkan pada Gambar 5.2, hal ini menunjukkan tidak ada paket yang tertahan di bundle karena keduanya saling berdekatan / terhubung.
5. HASIL DAN PEMBAHASAN Hal yang paling dasar dalam penerapan sistem ini adalah melakukan instalasi sistem operasi Linux Ubuntu 12.04 pada tiga node yaitu publisher, broker dan subscriber. Ketiganya diinstal pada mesin virtual dalam sebuah komputer / PC. Setelah instalasi sistem operasi berhasil, selanjutnya yaitu melakukan instalasi Oasys dan DTN2 yang akan menyediakan fungsi-fungsi sesuai arsitektur DTN. Kebutuhan lain yang harus diinstal pada ketiga node yaitu python, JSON, dan subprocess. Khusus node publisher dan subscriber ada kebutuhan tambahan untuk menampilkan antarmuka dan menangani penyimpanan lokal yaitu LAMPP, PHP, Apache2, MySQL, dan mariaDB. Setelah proses instalasi semua kebutuhan selesai, selanjutnya adalah melakukan konfigurasi routing pada masing-masing node DTN. Penerapan program utama sistem publishFakultas Ilmu Komputer, Universitas Brawijaya
Gambar 5. 2 Bundle DTN Publisher
Pada node broker, terdapat data file txt yang dikirim oleh publisher tadi. Sebelum dilakukan dtncpd oleh broker maka file ini akan tetap tersimpan di dalam bundle DTN broker. Namun, jika program broker telah berjalan akan dilakukan dtncpd dan file masuk ke penyimpanan Broker seperti pada Gambar 5.3.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Gambar 5. 3 File Dari Publisher Masuk Ke Penyimpanan Broker
Begitu juga pengujian dilakukan untuk beberapa skenario lainnya yaitu ketika broker dan subscriber terhubung, ketika publisher dan broker tidak terhubung, ketika broker dan subscriber tidak terhubung, ketika terdapat lebih dari satu subscriber, dan ketika terdapat broker pembantu. Pengujian Fungsional Pengujian ini dimaksudkan untuk mengetahui apakah fungsi-fungsi antarmuka telah berfungsi dengan baik dan nilai-nilai yang dimasukkan dapat dikirim ke program python sesuai harapan. Secara umum fungsi-fungsi yang terdapat pada sistem diperlihatkan pada Tabel 5.1: Tabel 5. 1 Pengujian Fungsional Hasil Fungsi Publisher menambahkan topik baru Publisher mengunggah file buku
Publisher menghapus topik
Subscriber melakukan subscribe topik Subscriber melakukan unsubscribe topik Subscriber melakukan update topik terbaru
Berhasil
√
Keterangan
Tidak Berhasil -
√
-
√
√
√
√
-
Database Lokal
Pengujian Stressing Pengujian stressing dilakukan untuk mengetahui apakah daemon DTN dapat menerima file dengan jumlah yang banyak dan mengetahui apakah sistem tetap dapat berjalan dengan baik saat file yang diunggah berjumlah banyak dikirim sekaligus. Pengujian stressing akan dilakukan dengan mengunggah file dengan variasi jumlah file adalah 1000, 2000, 3000, 4000, dan 5000. Pemilihan jumlah tersebut mengacu pada penelitian dengan judul “Implementasi Web Service pada Delay Tolerant Network” (Sari, 2015).Berdasarkan hasil pengujian akan diketahui apakah semua file berhasil terunggah dan terkirim ke node DTN broker dan node DTN subscriber tanpa ada bundle yang hilang. Hasil pengujian stressing dengan kelima skenario dapat disimpulkan ke dalam Tabel 5.2 dengan menghitung prosentase file terkirim seperti di bawah ini: 𝑃𝑟𝑜𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐹𝑖𝑙𝑒 𝑇𝑒𝑟𝑘𝑖𝑟𝑖𝑚 𝑗𝑢𝑚𝑙𝑎ℎ 𝑓𝑖𝑙𝑒 𝑦𝑎𝑛𝑔 𝑠𝑎𝑚𝑝𝑎𝑖 𝑘𝑒 𝑠𝑢𝑏𝑠𝑐𝑟𝑖𝑏𝑒𝑟 = ×100% 𝑗𝑢𝑚𝑙𝑎ℎ 𝑓𝑖𝑙𝑒 𝑦𝑎𝑛𝑔 𝑑𝑖𝑘𝑖𝑟𝑖𝑚
Tabel 5. 2 Hasil Pengujian
Jumlah file
Hasil perhitungan
1000
𝐻𝑎𝑠𝑖𝑙 = 1000 × 100%
Data berhasil masuk
-
Data berhasil masuk
-
-
-
Data berhasil masuk Database berubah sesuai topik terbaru
File masuk ke penyimpanan File publisher.json ter-update
2000
𝐻𝑎𝑠𝑖𝑙 = × 2000 100%
File buku tersimpan File dapat diteruskan ke subscriber
3000
𝐻𝑎𝑠𝑖𝑙 = 3000 × 100%
4000
𝐻𝑎𝑠𝑖𝑙 = 4000 × 100%
File diterima broker File publisher.json berhasil terupdate File berhasil tersimpan File subscriber.jso n berhasil terupdate File berhasil tersimpan File subscribe.json berhasil terupdate
5000
𝐻𝑎𝑠𝑖𝑙 = 5000 × 100%
File database.json berhasil terkirim
Fakultas Ilmu Komputer, Universitas Brawijaya
Prosentase
1000
Sistem Broker
Data berhasil masuk Penambaha n topik berhasil File buku berhasil terunggah File masuk ke penyimpanan Data berhasil masuk -
122
100 %
2000
100 %
3000
100 %
4000
100 %
5000
100 %
Berdasarkan kelima skenario yang dilakukan didapatkan prosentase file terkirim sebesar 100 % untuk 1000, 2000, 3000, 4000 maupun 5000 file. Hal ini menunjukkan bahwa sistem dapat mengunggah file dalam jumlah banyak mencapai 5000 file dan sistem berjalan dengan baik serta belum ditemukan permasalahan / kekurangan pada sistem pengunggahan file. Analisis Hasil
pengujian
yang
telah
dibahas
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
sebelumnya mengenai konektivitas DTN dapat memenuhi skenario yang diberikan. Pengujian fungsional menunjukkan bahwa antarmuka yang dibuat dapat berfungsi sesuai harapan dan rancangan pada pembahasan sebelumnya. Pengujian stressing menunjukkan bahwa sistem dapat bekerja dengan baik ketika file yang diunggah berjumlah banyak mencapai 5000 file. 5000 file tersebut dapat diterima oleh broker dan diteruskan ke subscriber secara keseluruhan tanpa ada file yang hilang.
123
mengurangi bertambahnya delay, dengan memikirkan format pembacaan berkas yang lebih efisien. Karena semakin banyak proses pertukaran data semakin besar pula delay yang dapat terjadi. 3. Sistem dapat dimodifikasi dengan menambahkan fungsi-fungsi keamanan seperti keamanan pada sistem user, penyimpanan / database user, maupun serangan keamanan dari sisi lain.
6. KESIMPULAN DAN SARAN
7. DAFTAR PUSTAKA
Kesimpulan Berdasarkan hasil penelitian “Implementasi Publish-Subscribe pada Delay Tolerant Network (DTN)”, kesimpulan yang dapat diambil adalah: 1. Dari hasil pengujian pada bab sebelumnya, publisher telah dapat menambahkan topik baru untuk dipublish, mengunggah berkas buku, dan menghapus topik yang pernah dipublish. 2. Broker telah dapat meneruskan berkas ke subscriber sesuai topik. Subscriber telah dapat menerima berkas yang dipublish oleh publisher berdasarkan topik yang dipilih. 3. Antarmuka pengguna juga telah dapat dioperasikan pengguna dan dapat melakukan fungsi-fungsi sesuai sistem yang dibuat. Keberhasilan terkirimnya berkas ke node tujuan juga telah diuji dan mendapatkan hasil 100 %. Berdasarkan pengujian pengiriman berkas dengan beberapa ukuran, sistem dapat mengunggah berkas dan mengirimnya ke subscriber dengan ukuran berkas mencapai 100MB. Proses pengiriman ulang paket yang hilang telah berhasil dijalankan oleh sistem. Saran Saran yang dapat disampaikan penulis untuk pengembangan penelitian selanjutnya terkait Publish-Subscribe maupun DTN adalah: 1. Untuk penelitian lebih lanjut, dapat dikembangkan sistem publish-subscribe yang ada pada jaringan DTN dengan menggunakan perangkat lain yang lebih mudah diakses atau dibawa kemana saja seperti handphone, tablet, dan sebagainya. 2. Sistem dapat dikembangkan dengan mengurangi proses pertukaran data dan
Ahlgren, B., dkk. 2015. A Survey of InformationCentric Networking. [e-journal] IEEE. Tersedia di:
[Diakses 1 Oktober 2015] APJII dan PUSKAKOM UI. 2015. Profil Pengguna Internet Indonesia 2014. [online] Tersedia di: < http://www.slideshare.net/internetsehat/ profil-pengguna-internet-indonesia2014-riset-oleh-apjii-dan-puskakomui>. [Diakses 17 Mei 2016] Brito, G.M., Velioso, P.B., Moraes, I.M. 2013. Information-Centric Networks: A New Paradigm for the Internet. [e-book] UK: CPI Group (UK) Ltd. Tersedia di: Google Books [Diakses pada 2 Oktober 2015] Dagstuhl Seminar. 2010. Abstract Collection: Information-Centric Networking. [pdf] Tersedia di: [Diakses 1 Oktober 2015] ECMA-262 (ISO/IEC 16262). 2013. ECMAScript® Language Specification, 3rd edition (December 1999). [pdf] ECMA International. Tersedia di: [Diakses 25 Februari 2016]
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Munyoung, Lee., dkk. 2015. Content Discovery for Information-Centric Networking. [ejournal] Sciencedirect. Tersedia di: [Diakses 1 Oktober 2015] Rahmania, Lidya Amalia. 2013. Penerapan Delay Tolerant Network untuk Sistem Konsultasi Kesehatan Jarak Jauh Berbasis Web. S1. Universitas Brawijaya. Sari, Nurtria Iman. 2015. Implementasi Web Service pada Delay Tolerant Network. S1. Universitas Brawijaya. Scott, K., Burleigh, S., 2007. Bundle Protocol Specification. [online] Tersedia di: [Diakses 29 Mei 2016] The IETF Trust. 2007. Delay-Tolerant Networking Architecture. [pdf] Tersedia di: [Diakses 18 Mei 2016] Uchida, Noriki, dkk., 2013. Proposal of Delay
Fakultas Ilmu Komputer, Universitas Brawijaya
124
Tolerant Network with Cognitive Wireless Network for Disaster Information Network System. [e-journal] IEEE. Tersedia di: [Diakses 17 Mei 2016] Warthman, Forrest. 2012. Delay-Tolerant Networks (DTNs) A Tutorial. [pdf] Tersedia di: [Diakses 18 Mei 2016] Widhiarti, Yuniar Ratna. 2013. Digital Repository Materi Pembelajaran Bagi Daerah Tertinggal Berbasis Delay Tolerant Network (DTN). S1. Universitas Brawijaya. Yu, Xiaochuan., Chan, T.S.A. 2013. Hope: A fault-tolerant distributed Pub/Sub architecture for large-scale dynamic network environment. [e-journal] IEEE. Tersedia di: [Diakses 1 Oktober 2015]