penerapan centrality pada protokol routing ...adalah bagaimana memperbaiki unjuk kerja protokol...
TRANSCRIPT
PENERAPAN CENTRALITY PADA PROTOKOL ROUTING
EPIDEMIC BERBASIS INTEREST DI JARINGAN
OPORTUNISTIK DENGAN PERGERAKAN MANUSIA
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat
Untuk Mendapatkan Gelar Sarjana Komputer
Program Studi Teknik Informatika
DISUSUN OLEH
YOHANES PUTRANTO SURYO KUSUMO
155314055
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
IMPLEMENTATION OF CENTRALITY IN INTEREST-
BASED EPIDEMIC PROTOCOL ROUTING IN
OPORTUNISTIC NETWORK WITH HUMAN MOVEMENT
A THESIS
Presented as Partial Fulfillment of Requirements
To Obtain Sarjana Komputer Degree
In Informatics Engineering Department
By:
YOHANES PUTRANTO SURYO KUSUMO
155314055
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2019
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN MOTTO
Kita Semua Boleh lambat tapi harus selalu tau tujuan.
Kita Semua Boleh Lelah tapi tidak dengan menyerah.
Suryo.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Routing protokol Epidemic adalah salah satu protokol routing yang ada di
jaringan oportunistik, yang mekanisme pengirimannya dilakukan dengan cara
membanjiri jaringan dengan pesan yang ada membuat tingkat penyebaran pesan
dan sekaligus beban jaringan menjadi tinggi. Melihat kinerja protokol routing
Epidemic, ada ide untuk membatasi jumlah pengiriman pesan dengan mengirimkan
pesan bedasarkan nilai ketertarikan antar node dengan cara membuat setiap node
memiliki ketertarikan yang berbeda-beda, muncul protokol routing Epidemic
WithInterest Community , penyeberan pesan protokol routing ini dilakukan secara
flooding (membanjiri) seperti protokol routing Epidemic namun di batasi dengan
hanya memberikan pesan pada node dengan interest yang sama atau hanya pada
node yang memiliki teman satu komunitas dengan interest sama dengan pesan yang
akan di terima.Protokol routing Epidemic WithInterest Community Improved
Centrality adalah routing protokol yang mencoba menekan beban jaringan dari
protokol routing Epidemic WithInterest Community dengan menambahkan
centrality yang di adopsi dari Protokol routing BUBBLE Rap yang menyebarkan
pesan bedasarkan centrality node.
Dalam penelitian ini matrik unjuk kerja yang di gunakan adalah Total
Relayed, Total Delivered Interest dan Average Convergence Time. Protokol
Routing Epidemic WithInterest Community Improved Centrality menunjukan unjuk
kerja yang baik dengan mengurangi beban jaringan yang di lihat dari total relayed
pesan yang berada di bawah total relayed pesan Protokol Routing Epidemic
WithInterest Commnity. Selain beban jaringan, Total Delivered Interest Protokol
Routing Epidemic WithInterest Improved Centrality juga lebih baik dibanding Total
Delivered Interest Protokol Routing Epidemic WithInterest Community, namun
Protokol Routing Epidemic WithInterest improved Centrality memiliki waktu
penyebaran pesan yang sedikit lebih lama dibandingkan dengan Protokol Routing
Epidemic WithInterest Community.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
The routing protocol of the Epidemic is one of the routing protocols present
in the opportunistic network, whose delivery mechanisms are carried out by
flooding the network with existing messages, making the message spread level and
network load as High. In view of the Epidemic routing protocol performance, there
is an idea to limit the number of message delivery by sending a message based on
the value of Internode interest by making each node have different interests,
emerging routing protocols The epidemic WithInterest Community, the message
dissemination of this routing protocol is performed flooding (flooding) such as the
Epidemic routing protocol but is limited by simply delivering messages on nodes
with the same interest or only on nodes that Have a community friend with the same
interest as the message will be received. The Epidemic WithInterest Community
Improved Centrality Routing protocol is a routing protocol that attempts to
suppress network loads from the Epidemic WithInterest Community routing
protocol by adding a centrality that is in adoption from the routing protocol The
BUBBLE Rap is spreading the message based on the centrality node.
In this research the current performance of the work in use is Total Relayed,
Total Delivered Interest and Average Convergence Time. The WithInterest
Community-Improved Centrality Routing protocol has demonstrated a good
performance by reducing the network load seen from the total relayed messages
that are under total relayed the message of an Epidemic WithInterest Routing
protocol Commnity. In addition to network loads, Total Delivered Interest of the
The Routing protocol Epidemic WithInterest Improved Centrality is also better than
the Total Delivered Interest of the Epidemic WithInterest Community Routing
protocol, however the Improved Centrality has a slightly longer message
transmission time compared to the Epidemic WithInterest Community Routing
protocol.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Puji Syukur penulis panjatkat kepada Tuhan Yang Maha Esa karena atas rahmat
dan berkat-Nya penulis dapat menyelesaikan penyusunan tugas akhir dengan tepat waktu.
Dalam pelaksanaan penyusunan skripsi ini mendapatkan banyak bimbingan dan bantuan
dari berbagai pihak. Pada kesempatan ini penulis mengucapkan banyak terimakasih
kepada:
1. Tuhan Yesus Kristus yang telah memberikan banyak sekali pengalaman
berharga, kasih yang tulus, berkat dan rahmat yang melimpah untuk
membentuk penulis menjadi pribadi yang lebih lagi.
2. Keluarga, yang senantiasa mendoakan, memberikan dukungan dan semangat.
3. Bapak Bambang Soelistijanto, S.T, M.Sc., Ph.D. selaku dosen pembimbing
tugas akhir yang sudah memberikan banyak bimbingan dan ilmu dalam
mengerjakan tugas akhir.
4. Ibu Vittalis Ayu S.T., M.Cs. selaku dosen pembimbing 2 tugas akhir yang
sudah memberikan bimbingan dalam mengerjakan tugas akhir.
5. Seluruh teman angkatan 2015 terutama teman-teman jaringan yang selalu
memberikan dukungan dan semangat sehinga penulis dapat menyelesaikan
tugas akhir.
6. Kakak tingkat yang sudah memberikan dukungan sehingga penulis dapat
termotivasi mengerjakan tugas akhir ini.
7. Teman Teman Tempe Benguk in The Sky.
Penulis menyadari bahwa dalam penyelesaian tugas akhir ini mungkin masih banyak
kekurangan, maka dari kritik dan saran sangat penulis harapkan untuk perbaikan di masa
mendatang. Akhir kata, penulis mengucapkan banyak terimakasih semoga tugas akhir ini
dapat bermanfaat untuk ke depannya.
Penulis
Yohanes Putranto Suryo Kusumo
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN PERSETUJUAN ............................................................................................... iii
HALAMAN PENGESAHAN ............................................................................................... iv
HALAMAN MOTTO .......................................................................................................... v
PERNYATAAN LEMBAR KEASLIAN KARYA ........................................................................ vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH ......................................................... vii
UNTUK KEPENTINGAN AKADEMIS ................................................................................ viii
ABSTRAK ...................................................................................................................... viii
ABSTRACT ...................................................................................................................... ix
KATA PENGANTAR........................................................................................................... x
DAFTAR ISI ..................................................................................................................... xi
DAFTAR TABEL ............................................................................................................. xiii
DAFTAR GAMBAR ......................................................................................................... xiv
BAB I ............................................................................................................................... 1
1.1 LATAR BELAKANG .................................................................................................. 1
1.2 RUMUSAN MASALAH............................................................................................. 3
1.3 TUJUAN PENELITIAN .............................................................................................. 3
1.4 MANFAAT PENELITIAN ........................................................................................... 3
1.5 BATASAN MASALAH .............................................................................................. 4
1.6 METODE PENELITIAN ............................................................................................. 4
1.7 SISTEMATIKA PENULISAN ...................................................................................... 5
BAB II .............................................................................................................................. 6
2.1 Jaringan Oportunistik ............................................................................................ 6
2.2 Routing Protocol Epidemic ..................................................................................... 7
2.3 Routing Protocol Epidemic WithInterestCommunity .............................................. 8
2.4 Routing Protocol BUBBLE Rap .............................................................................. 10
2.5 Mekanisme pengiriman pesan berbasis nilai ketertarikan (Interest) dengan
Centrality .................................................................................................................. 11
2.6 The One Simulator (Opportunistic Network Enviroment) .................................... 12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
BAB III ........................................................................................................................... 13
3.1 DATA DAN PARAMETER SIMULASI ....................................................................... 13
3.1.1 Haggle 3-Infocom5 ........................................................................................ 13
3.1.2 MIT Reality Mining ........................................................................................ 13
3.2 ALAT PENELITIAN ................................................................................................. 14
3.3 SKENARIO SIMULASI ............................................................................................ 15
3.4 METRIKS UNJUK KERJA ........................................................................................ 17
3.5 DESAIN ALAT UJI .................................................................................................. 18
3.5.1 Pseudo-code Protokol Routing protokol epidemic withinterest community dan
routing epidemic withinterest community improved with centrality ...................... 18
BAB IV ........................................................................................................................... 19
4.1 HASIL SIMULASI ................................................................................................... 19
4.1.1 Perbandingan Total Delivered Interest pada routing Epidemic WithInterest
Community dan routing Epidemic Withinterest Community Improved Local
Centrality .............................................................................................................. 19
4.1.2 Perbandingan Total Message Relayed pada routing Epidemic WithInterest
Community dan routing Epidemic Withinterest Community Improved with Local
Centrality .............................................................................................................. 21
4.1.3 Perbandingan Average Convergence Time pada routing Epidemic WithInterest
Community dan routing Epidemic Withinterest Community Improved Local
Centrality .............................................................................................................. 23
BAB V ............................................................................................................................ 25
5.1 KESIMPULAN ....................................................................................................... 25
5.2 SARAN ................................................................................................................. 25
DAFTAR PUSTAKA ......................................................................................................... 26
LAMPIRAN .................................................................................................................... 27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR TABEL
Tabel 3.1.1 Dataset.................................................................................................. 12
Tabel 3.3.1 Skenario pada simulasi.......................................................................... 15
Tabel 3.3.2 Skenario pembagian interest pada simulasi ...................................... 16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 2.1 Store-Carry-Foward ............................................................................. 6
Gambar 2.2 Penyebaran pesan pada routing Epidemic ............................................. 7
Gambar 2.3 Epidemic WithInterest Community Kondisi 1 ..................................... 8
Gambar 2.4 Epidemic WithInterest Community Kondisi 2 ..................................... 9
Gambar 2.5 Epidemic WithInterest Community Kondisi 3 ..................................... 9
Gambar 4.1.1.1 Grafik Total Delivered Interest Haggle 3-Infocom 5 ....................... 19
Gambar 4.1.1.2 Grafik Total Delivered Interest Reality ........................................... 20
Gambar 4.1.2.1 Grafik Total Message Relayed Haggle 3-Infocom 5 ....................... 21
Gambar 4.1.2.1 Grafik Total Message Relayed Reality ............................................ 22
Gambar 4.1.3.1 Grafik Average Convergence Time Haggle 3-Infocom 5 ................. 23
Gambar 4.1.3.2 Grafik Average Convergence Time Reality..................................... 24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Jaringan komputer dalam perkembangannya di bagi menjadi dua metode
tergantung pada media penyalurnya, ada jaringan komputer dengan
menggunakan media penyalur kabel (wired) dan menggunakan media penyalur
nirkabel (wireless). Semua metode memiliki kelebihan dan kekurangannya
masing-masing sehingga pemanfaatannya juga berbeda. Melihat kebutuhan
manusia yang semakin banyak bergerak, tidak hanya membutuhkan komunikasi
di satu tempat saja, membuat penggunaan metode jaringan nirkabel lebih
banyak di kembangkan karena kelebihannya yang tanpa harus menggunakan
kabel sebagai media penyalurnya.
Salah satu hasil dari perkembangan dari jaringan nirkabel adalah Mobile Ad-
hoc Network (MANET). Mobile Ad-hoc Network merupakan teknologi jaringan
nirkabel tanpa harus memerlukan Infrastruktur jaringan, sebagaimana kita tahu
penggunaan wi-fi yang masi memerlukan router sebagai access points yang
tidak bergerak untuk mengirim dan menerima pesan, Mobile Ad-hoc Network
mengasumsikan setiap orang dengan gawainya (node) berperan sebagai router
sekaligus pengirim dan penerima pesan. Namun pada perkembangannya
MANET mengalami permasalahan karena pergerakan manusia yang sangat
mobile membuat proses pengiriman dan penerimaan pesan menjadi terlambat
karena asumsi awal MANET adalah setiap node selalu terhubung satu sama lain
sehingga pengiriman pesan dapat selalu berhasil dari node pengirim menuju
node tujuan, sedangkan pergerakan manusia memungkinkan terjadinya node
terputus dari jaringan, bisa jadi karena mati atau karena berada di luar
jangkauan. Untuk mengatasi masalah tersebut berkembanglah Delay Tolerant
Network (DTN).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
Delay Tolerant Network (DTN) atau yang sering juga di sebut Opportunistic
Network berkerja dengan tiga karakteristik yaitu Store, Carry dan Forward, jadi
nantinya setiap node akan berkerja dengan menyimpan pesannya yang diterima
di buffer dan meneruskannya ketika sudah bertemu node yang pada akhirnya
akan sampai ke node tujuan.
Salah satu protokol yang ada di jaringan oportunistik adalah protokol
Epidemic. Ide dasar protokol ini adalah dengan menyebar pengiriman pesan
dengan cara Flooding, [1] yaitu dengan menyebarkan pesan pada tiap node
bertemu dengan node lainnya hal ini membuat protokol ini memiliki beban
jaringan yang cukup besar.
Pada perkembangannya protokol Epidemic juga telah banyak di
kombinasikan dengan banyak penilitian seperti pemberian interest
(ketertarikan) [2] sehingga penyebaran pesan dapan di batasi dengan hanya
cenderung memberi pada node dengan ketertarikan yang sama. Selain
penambahan ketertarikan ada juga penelitian tentang pengelompokan node
dengan komunitas sehingga muncul protokol Epidemic
WithInterestCommunity.
Epidemic WithInterestCommunity berkerja dengan memberikan interest
pada tiap-tiap node sehingga node hanya akan memberikan pesannya pada node
dengan interest yang sama atau juga pada node yang memiliki teman satu
komunitas dengan interest yang sama dengan pesan yang akan di terima[3],
dengan begitu beban jaringan akan cenderung sedikit berkurang.
Pada penelitian ini akan di bahas bagaimana bila node dengan interest
tertentu menerima pesan dari node dengan interest yang berbeda, namun dengan
centrality node dengan interest yang sama dengan node pengirim pada
komunitas node penerima. Ide ini di ambil dari penerapan centrality pada
protokol Bubble Rap yang menggunakan centrality dan single copy[4] untuk
menurunkan beban jaringan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.2 RUMUSAN MASALAH
Berdasarkan latar belakang yang dipaparkan, rumusan masalah yang didapat
adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic
WithInterest Community dalam menurunkan jumlah relay message sebagai
unjuk beban jaringan dan juga meningkatkan delivery interest success rate
yang tinggi.
1.3 TUJUAN PENELITIAN
Tujuan dari tugas akhir ini adalah mengetahui hasil unjuk kerja dari
routing Epidemic WithInterest Community dengan penambahan
perhitungan Centrality node dengan interest yang sama dengan node
pengirim pada komunitas node penerima di jaringan opportunistik dengan
metrik unjuk kerja total message relayed, average convergence time, dan
delivered Interest.
1.4 MANFAAT PENELITIAN
Hasil dari penelitian ini diharapkan dapat digunakan sebagai sumbangan
penelitian routing yang akan digunakan dalam komunikasi pada jaringan
oportunistik.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.5 BATASAN MASALAH
Batasan masalah dalam penelitian ini adalah:
1. Menggunakan pergerakan manusia.
2. Simulator yang digunakan adalah The Opportunistic Network Enviroment
Simulator (The ONE Simulator).
3. Menggunakan metrik unjuk kerja total message relayed, average
convergence time, dan delivered interest.
1.6 METODE PENELITIAN
Metode yang dilakukan dalam penelitian ini meliputi:
1. Studi Literatur:
a. Jaringan Opportunistik
b. Teori Routing Epidemic
c. Teori Routing Bubble Rap
d. Teori The One Simulator
2. Pembuatan Alat Uji
Simulasi yang digunakan pada tugas akhir ini menggunakan The One
Simulator.
3. Analisis Hasil Pengujian
Hasil pengujian didasarkan pada performance metric yang diperoleh dari
proses pengujian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
4. Penarikan Kesimpulan
Penarikan kesimpulan didasarkan pada beberapa performance metric
yang diperoleh pada proses analisis data.
1.7 SISTEMATIKA PENULISAN
BAB I: PENDAHULUAN
Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah,
tujuan penelitian, manfaat penelitian, batasan masalah, metode penelitian, dan
sistematika penulisan.
BAB II: LANDASAN TEORI
Bab ini berisi tentang dasar teori yang digunakan sebagai dasar dalam
melakukan penelitian tugas akhir.
BAB III: METODE PENELITIAN
Bab ini berisi tentang data penelitian, alat penelitian, langkah-langkah
pengujian.
BAB IV: PENGUJIAN DAN ANALISIS
Bab ini berisi tentang tahap pengujian, yaitu simulasi, dan analisis hasil data
simulasi.
BAB V: KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan hasil penelitian dan saran dari penulis untuk
penelitian selanjutnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
2.1 Jaringan Oportunistik
Jaringan Oportunistik atau Delay Tolerant Network (DTN)
merupakan hasil perkembangan dari jaringan Mobile ad hoc Network
(MANET). DTN berkembang untuk mengatasi permasalahan MANET, yaitu
topologi jaringan yang dapat berubah dan terputus sewaktu-waktu, hal ini
menjadi masalah karena pada saat pengiriman pesan bila suatu node mati atau
dengan kata lain jalur melalui node berikutnya terputus maka pesan akan tidak
dapat tersampaikan dan dibuang.
Gambar 2.1 Store-Carry-Foward
Untuk mengatasi pesan yang langsung dibuang, pada jaringan
opportunistik node memiliki tiga peran yaitu Store, Carry, dan Forward. Tiga
peran ini membuat node dapat menyimpan dahulu pesan yang akan dia
kirimkan, sehingga ketika jalur terputus pesan tidak langsung hilang karena
dibuang, kemudian setelah jalur sudah mulai tersambung maka pesan akan
baru di sampaikan ke node berikutnya sampai akhirnya pesan mencapai pada
node tujuan. Hal ini menjelaskan juga bahwa node yang bukan menjadi tujuan
akhir dari pesan akan menjadi node relay pada jaringan oportunistik.
Komunikasi pada jaringan oportunistik memungkinkan untuk
mentolerir delay yang besar akibat perubahan topologi jaringan karena
pergerakan node. Model komunikasi ini menjadi cocok digunakan pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
kondisi-kondisi yang sulit seperti pada jaringan perangkat bergerak dengan
pergerakan yang cepat atau juga pada jaringan dengan koneksi yang terputus-
putus.
2.2 Routing Protocol Epidemic
Protokol Epidemic merupakan salah satu protokol DTN
yang termasuk dalam kategori protokol unlimited-copy, dengan
menggunakan mekanisme broadcast untuk melakukan pengiriman pesan.[1]
Mekanisme kerja dari protokol Epidemic adalah jika terdapat node yang
memiliki pesan dan terdapat beberapa node tetangga yang berada pada
jangkauannya, maka node tersebut menulari setiap node tetangga dengan
pesan dan setiap node tetangga juga diizinkan untuk menulari node
tetangganya yang berada pada jangkauannya. Berikut gambar ilustrasi
penyebaran pesan routing Epidemic.
Gambar 2.2 Penyebaran pesan pada routing Epidemic
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.3 Routing Protocol Epidemic WithInterestCommunity
Protokol Epidemic WithInterest Community merupakan
pengembangan dari protokol epidemic yang sudah di tambahkan interest
pada tiap node sehingga setiap akan membuat pesan dengan interest sesuai
dengan interest masing-masing node.[3] Mekanisme mengirimkan pesan
secara broadcast pada Epidemic dibatasi dengan hanya mengirimkan pesan
pada node dengan interest yang sama. Namun selain memperhatikan
interest node itu sendiri, ketika node bertemu dengan node dengan interest
yang berbeda node penerima pesan akan melihat interest dari teman satu
komunitasnya, bila ada teman node penerima yang memiliki interest yang
sama dengan interest pesan, maka pesan tersebut akan diterima. Berikut
ilustrasi dan cara kerja dari protokol Epidemic WithInterest Community :
1. Node A akan mengirimkan pesan ke node B.
2. Jika node A dan node B memiliki interest yang sama pesan dikirim ke
node B.
3. Jika node B memiliki interest yang berbeda dengan A:
a. Cek teman satu komunitas Node B bila ada Node yang interestnya
sama.
Gambar 2.3 Epidemic WithInterest Community Kondisi 1
Gambar 2.3 menunjukan pesan dari node 7 akan langsung di terima karena
interest node 7 dan node 6 sama sama ayam.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.4 Epidemic WithInterest Community Kondisi 2
Gambar 2.4 menunjukan pesan dari node 7 tidak langsung di terima namun
melihat dulu isi dari komunitas node 5, karena interest node 7 dan node 5
berbeda, bedasarkan anggota komunitas node 5. Karena ada node 1,2, dan 6
yang memiliki interest yang sama dengan node 7 maka pesan dari node 7 di
teruskan ke node 5.
Gambar 2.5 Epidemic WithInterest Community Kondisi 3
Pada Gambar 2.5 menunjukan bahwa pesan dari node 17 tidak di
teruskan karena node 15 memiliki interest yang berbeda dan tidak memiliki
teman satu komunitas yang memiliki interest sama dengan node 17.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.4 Routing Protocol BUBBLE Rap
BUBBLE Rap merupakan salah satu algoritma di jaringan
oportunistik, algoritma ini menggunakan dua tipe penyebaran pesan.
Penyebaran pesan yang digunakan berupa multicopy dan single copy. Algoritma
Bubble Rap menggunakan pembentukan komunitas dan penghitungan
Centrality di dalam melakukan penyebaran pesan.
Pada protokol routing BUBBLE Rap, komunitas dan popularitas dari
sebuah node menjadi parameter yang paling penting untuk melakukan
pengiriman sebuah pesan. Dengan memanfaatkan adanya komunitas dan
popularitas sebuah node, sehingga protokol ini dapat meningkatkan efektifitas
pengiriman pesan[3].
Berikut ini adalah gambaran dari kegiatan yang dilakukan oleh sebuah node
yang bertemu dengan node lain dan akan mengirimkan sebuah pesan:
1. Node A akan mengirimkan pesan ke node B.
2. Jika node B adalah node tujuan, pesan dikirim ke node B.
3. Jika node B bukan node tujuan:
a. Jika node A berada di komunitas yang sama dengan node tujuan
sedangkan node B tidak, pesan tidak dikirim.
b. Jika node B berada di komunitas yang sama dengan node tujuan
sedangkan node A tidak, pesan dikirim ke node B.
c. Jika kedua node berada di komunitas yang sama dengan node tujuan:
i. Jika popularitas node B lebih tinggi dari node A, pesan dikirim
ke node B.
ii. Jika popularitas node A lebih tinggi dari node B, pesan tidak
dikirim.
d. Jika keduanya tidak berada di komunitas yang sama dengan tujuan:
i. Jika popularitas global node B lebih besar dari node A, pesan
dikirim ke B
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
2.5 Mekanisme pengiriman pesan berbasis nilai ketertarikan (Interest)
dengan Centrality
Pada protokol routing Epidemic WithInterest Community, mekanisme pesan
di lakukan dengan membanjiri jaringan dengan pesan tanpa tujuan (broadcast)
dan di batasi hanya dengan mengirim pesan pada node dengan interest yang
sama dan node dengan teman satu komunitas yang mememiliki teman yang
sama dengan pesan yang akan di kirim. Dengan mengapdopsi ide dari protokol
routing BUBBLE Rap dengan menerapkan nilai Centrality[3] dan membuat
pesan menjadi single copy ketika sudah sampai di dalam komunitas tujuan
pesan, maka ada ide untuk menerapkannya pada protokol routing Epidemic
WithInterest Community . Nilai centrality yang gunakan adalah local centrality
karena penerapan centrality akan di gunakan untuk mengatasi adanya
penyebaran pesan secara flooding yang kembali terjadi di dalam komunitas.
Penghitungan nilai centrality menggunakan C-WindowCentrality. [3]
Berikut ini adalah gambaran dari kegiatan yang dilakukan oleh sebuah node
yang bertemu dengan node lain dan akan mengirimkan sebuah pesan:
1. Node A akan mengirimkan pesan ke node B.
2. Jika node A dan node B memiliki interest yang sama pesan dikirim ke
node B.
3. Jika node B memiliki interest yang berbeda dengan A:
a. Jika node A berada di komunitas yang sama dengan node B
i. Cek teman satu komunitas Node B bila ada Node yang interest-nya
sama dengan pesan dari Node A pesan dikrim.
ii. Bila tidak ada, cek centrality dengan Node yang di temui, bila
Centrality-nya lebih besar, pesan dikirim.
b. Jika node A berada di komunitas yang berbeda dengan node B
pesan tidak di kirim.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
2.6 The One Simulator (Opportunistic Network Enviroment)
Simulator ONE merupakan sebuah simulator yang digunakan untuk
melakukan simulasi komunikasi pada jaringan oportunistik. Pada simulator
ONE, ada beberapa keadaan yang bisa diatur sesuai kebutuhan, antara lain
model pergerakan node, protokol routing OppNet yang digunakan oleh
penerima dan pengirim, dan visualisasi pergerakan dan persebaran pesan secara
real time pada tampilan grafis yang disediakan. Pada simulator ONE juga
tersedia fitur pelaporan pesan yang terkirim dan data statistik secara umum
setelah simulasi selesai dijalankan. Simulator ini menggunakan platform
pemrograman bahasa Java.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
BAB III
METODE PENELITIAN
3.1 DATA DAN PARAMETER SIMULASI
Data yang digunakan adalah Human contact datasets. Datasets yang akan
digunakan adalah Haggle 3 - Infocom 5 yang berisi data pertemuan antar
partisipan pada konferensi IEEE infocom di Miami, dan Reality Mining yang
berisi data pertemuan antar pelajar dari 2 fakultas di Universitas MIT. Data ini
merupakan himpunan waktu pertemuan antar node menggunakan perangkat
bergerak nirkabel pada percobaan penambangan data dalam kehidupan nyata.
3.1.1 Haggle 3-Infocom5
Dataset ini berisi data pertemuan antar partisipasipan di konferensi
IEEE Infocom yang bertempat di Miami. Setiap anggota yang hadir
diberi sebuah alat guna mencatat data pertemuan antar partisipan. Total
hasil data yang berhasil dibuat adalah 41 alat dengan durasi waktu
254150 detik atau 2.94 hari.
3.1.2 MIT Reality Mining
Dataset ini berisi data pertemuan antar pelajar di dua fakultas di
Universitas MIT. Dari dua fakultas yang diambil yaitu Fakultas Media
Laboratory dan Fakultas Business secara acak dipilih 25 pelajar dari
Fakultas Busines dan 75 pelajar dari Fakultas Media Laboratory,
mereka semua di beri sebuah alat yang sama untuk mencatat pertemuan
antar pelajar. Dari semua pelajar diambil hanya 97 data valid yang
dapat digunakan sebagai penelitian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Waktu pertemuan dua buah node dapat didefinisikan secara sederhana yaitu
waktu ketika sebuah node menyadari adanya kehadiran node lain dalam satu
radio range. Simulasi sendiri menggunakan parameter berikut ini :
Tabel 3.1.1 Dataset
Parameter Pergerakan Manusia
(Reality)
Pergerakan Manusia
(Haggle3-Infocom5)
Type Jaringan Bluetooth Bluetooth
Jumlah Node 97 41
Waktu Simulasi 246 hari 3 hari
TTL 2 minggu 12 jam
Kecepatan
Transmisi 250kbps 250kbps
Jarak Transmisi 10 meter 10 meter
Ukuran Pesan 10 KB 10 KB
Ukuran Buffer 30 MB 30 MB
Interval
Pembuatan Pesan 580 sekon – 620 sekon 290 sekon – 310 sekon
Nilai K 3 3
Familiarthreshold 2,5 Hari, 4,5 Hari, 6 Hari 30 Menit, 90 Menit, 180 Menit
3.2 ALAT PENELITIAN
3.2.1 Hardware
PC dengan spesifikasi prosesor Intel i5 dengan RAM sebesar 10 GB
3.2.2 Software
3.2.2.1 Netbeans IDEA
Netbeans IDEA merupakan Integrated Development Enviroment Java
yang digunakan untuk menjalankan The One Simulator
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
3.3 SKENARIO SIMULASI
Pada masing-masing jenis pergerakan digunakan 3 variasi
FamiliarThreshold dalam satuan detik dengan waktu simulasi dan umur pesan
di jaringan dalam bentuk Time To Live :
Tabel 3.3.1 Skenario pada simulasi
Pergerakan Routing Protocol Jumlah
Node FamiliarThreshold (second)
TTL
Pesan (menit)
Waktu
Simulasi(second)
Haggle 3 –
Infocom05
Epidemic With
Interest
Community, Epidemic With
Interest
Community Improved
Centrality
41 1800 5400 10800 720 274833
Reality Mining MIT
97 129600 389000 665280 20160 16981816
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Pada masing-masing pergerakan juga di tentukan berapa banyak simulasi
yang di lakukan serta bagaimana pembagian interest dalam jaringan sebagai
berikut :
Tabel 3.3.2 Skenario pembagian interest pada simulasi
Pergerakan Banyak Simulasi
Pembagian Interest tiap Node
Haggle 3 –
Infocom05 5
Nella : 0,22,2,13,26,15,6,28,39,19,32 Luna : 12,24,3,25,5,27,29,7,40,31
Via : 11,33,35,36,16,38,17,8,20,21
Maya : 34,1,23,14,4,37,18,9,30,10
Nella : 22,34,12,35,24,16,38,6,40,20,31
Luna : 1,3,36,25,37,39,18,29,8,9
Via : 0,13,14,26,15,5,28,17,32,21
Maya : 11,33,23,2,4,27,7,19,30,10
Nella : 11,12,13,2,14,26,4,28,8,9,20
Luna : 22,33,35,24,36,38,17,29,19,30
Via : 0,1,23,3,15,16,5,18,7,31
Maya : 34,25,37,27,6,39,40,10,32,21
Nella : 0,1,13,3,37,4,26,17,19,30,20
Luna : 11,23,36,5,27,16,29,18,31,32
Via : 22,12,2,24,14,38,28,39,8,21 Maya : 33,34,35,25,15,6,7,9,40,10
Nella : 33,22,11,34,24,37,38,5,39,19,21
Luna : 0,1,35,14,36,3,40,20,32,10
Via : 23,12,27,16,6,17,7,29,30,31 Maya : 13,2,25,4,26,15,28,18,8,9
Reality
Mining MIT 2
Nella : 44,23,24,68,47,48,27,71,72,51,95,74,
11,34,57,35,36,37,15,38,0,5,6,9,86 Luna : 66,78,45,56,14,26,49,29,1,90,91,70,
93,50,63,52,42,20,76,87,43,10,54,32
Via : 77,55,12,13,69,59,16,17,19,3,4,80,8,
92,81,94,61,83,40,96,85,75,53,65 Maya : 22,88,33,67,89,79,46,58,25,39,28,
18,2,7,82,60,73,62,84,41,30,64,31,21
Nella : 45,67,46,26,91,50,51,95,74,75,
54,32,34,57,35,38,19,6,7,61,83,84,40,64,20 Luna : 88,56,23,68,13,47,58,49,27,
18,1,4,8,9,92,60,82,93,62,96,42,31,76,21
Via : 33,66,22,11,77,89,78,79,14,36, 15,28,17,3,70,71,72,94,85,52,41,53,43,87
Maya : 55,44,12,24,69,25,59,37,48,16
,39,29,0,2,5,90,80,81,73,30,63,86,65,10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
3.4 METRIKS UNJUK KERJA
Terdapat tiga metriks unjuk kerja yang digunakan untuk menganalisis unjuk
kerja protokol routing epidemic withinterest community dan Epidemic
Withinterest Community Improved with Proportion and Local Centrality yaitu:
Average Convergence Time
Average Convergence Time adalah rata-rata waktu yang dibutuhkan
oleh node yang pertama untuk menerima penyebaran update informasi
dalam jaringan.
Average Convergence Time = ∑ (
∑ (𝑇𝑛𝑖−𝑇𝐶𝑟𝑒𝑎𝑡𝑖𝑜𝑛𝑢)
𝑦𝑖=1
𝑦)𝑥
𝑢=1
𝑥 ……… (1)
Keterangan :
𝑇𝑛𝑖 = 𝑤𝑎𝑘𝑡𝑢 𝑛𝑜𝑑𝑒 𝑖 𝑚𝑒𝑛𝑑𝑎𝑝𝑎𝑡𝑘𝑎𝑛 𝑖𝑛𝑓𝑜𝑟𝑚𝑎𝑠𝑖
𝑇𝐶𝑟𝑒𝑎𝑡𝑖𝑜𝑛𝑢 = 𝑤𝑎𝑘𝑡𝑢 update 𝑘𝑒 𝑢 𝑑𝑖 𝑏𝑢𝑎𝑡
y = jumlah node yang ada di jaringan.
x = jumlah pesan yang di buat di jaringan.
Total Message Relayed
Total Message Relayed adalah jumlah pesan yang di kirimikan antar
node dalam jaringan.
Total Delivered Interest
Total Deliverd Interest adalah jumlah pesan yang memiliki interest
sesuai dengan penerima pesan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
IF Node Sender bertemu Node Receiver
IF Interest Node Sender dan Receiver sama Pesan dikirim
End IF
IF Node Sender berada dalam komunitas Node Receiver Cek Setiap Node dalam komunitas
IF bertemu Node dengan interest yang sama dengan interest pesan
Pesan di kirim
End IF Else IF bertemu Node dengan Node dengan centrality lebih tinggi
Pesan di kirim
End Else IF Else
Cek Semua node dalam komunitas
IF bertemu Node dengan interest yang sama dengan interest pesan
Pesan di kirim End IF
Else
Pesan Tidak di kirimkan
End IF
3.5 DESAIN ALAT UJI
3.5.1 Pseudo-code Protokol Routing protokol epidemic withinterest
community dan routing epidemic withinterest community improved with
centrality
Pseudo-code
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
BAB IV
PENGUJIAN DAN ANALISIS
Untuk melakukan evaluasi terhadap unjuk kerja protokol protokol routing
epidemic withinterest community dan routing epidemic withinterest community
improved centrality, maka dilakukan simulasi dan pengujian dengan menggunakan
rancangan skenario yang sudah dijelaskan pada Bab III, pada pergerakan Haggle 3-
Infocom 5 dengan melakukan perhitungan rata-rata dari 5 kali simulasi dengan
proporsi interest yang seimbang sedangkan pada pergerakan Reality dengan
melakukan perhitungan rata-rata dari 2 kali simulasi. Data diperoleh dari report
yang dihasilkan ketika simulasi berlangsung dan kemudian menjadi bahan untuk
dilakukan analisis.
4.1 HASIL SIMULASI
4.1.1 Perbandingan Total Delivered Interest pada routing Epidemic WithInterest
Community dan routing Epidemic Withinterest Community Improved
Local Centrality
Gambar 4.1.1.1 Grafik Total Delivered Interest Haggle 3-Infocom 5
8517
644758375706 5509 5307
0
2000
4000
6000
8000
10000
FT = 1800 seconds FT = 5400 seconds FT = 10800 seconds
Me
ssag
e
Delivered Interest
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Gambar 4.1.1.2 Grafik Total Delivered Interest Reality
Pada grafik 4.1.1.1 menunjukkan pergerakan Haggle 3-
Infocom 5 dengan 5 kali hasil simulasi yang dirata-rata sedangkan
pada grafik 4.1.1.2 menunjukan pergerakan Reality dengan 2 kali
hasil simulasi yang dirata-rata. Hasil yang didapat menunjukan
bahwa dengan semakin Tinggi familiar threshold maka hasil pesan
yang sampai pada node dengan interest yang sesuai akan semakin
menurun hal ini di sebabkan karena jumlah komunitas yang semakin
sedikit membuat pertemuan node dengan interest yang sama akan
berkurang juga. Namun dengan penambahan centrality dalam
jaringan membuat pesan yang sesuai interest lebih banyak sampai
karena lebih selektif di bandingkan dengan Epidemic WithInterest
Community yang tetap melakukan flooding di dalam komunitas.
448087
320113
252148
321291277626
252373
0
100000
200000
300000
400000
500000
FT = 129600 seconds FT = 389000 seconds FT = 665280 seconds
Mes
sage
Delivered Interest
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
4.1.2 Perbandingan Total Message Relayed pada routing Epidemic WithInterest
Community dan routing Epidemic Withinterest Community Improved with
Local Centrality
Gambar 4.1.2.1 Grafik Total Message Relayed Haggle 3-Infocom 5
Pada grafik 4.1.2.1 menunjukkan pergerakan Haggle 3-Infocom 5
dengan 5 kali hasil simulasi yang dirata-rata, familiar threshold yang kecil
membuat komunitas yang terbentuk semakin sedikit dengan anggota
komunitas yang sangat besar membuat pada familiar threshold 1800
penambahan centrality dan penghapusan pesan interest bila pesan sudah
mencapai node dengan interest sesuai dalam komunitas membuat relayed
pesan lebih banyak di bandingkan Epidemic WithInterest Community hal
ini di karenakan pesan cenderung di relay kan kepada node-node dengan
centrality tinggi, bukan pada node dengan interest yang sama berbeda
dengan Epidemic WithInterest Community yang melakukan flooding.
Namun pada familiar threshold yang semakin meningkat komunitas yang
terbentuk akan makin banyak dan anggotannya akan semakin sedikit
membuat relayed-nya akan berkurang karena single copy dan centrality.
19554
6770
1068
16452
8867
3333
0
5000
10000
15000
20000
25000
FT = 1800 seconds FT = 5400 seconds FT = 10800 seconds
Me
ssag
e
Total Message Relayed
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 4.1.2.1 Grafik Total Message Relayed Reality
Pada grafik 4.1.2.1 menunjukan pergerakan Reality dengan 2
kali hasil simulasi yang dirata-rata, familiar threshold yang kecil
tetap membuat relay pesan menjadi paling banyak di bandingkan bila
kita menaikan familiar thresholdnya. Namun bisa kita lihat juga
protokol routing Epidemic With Interest Community Improved
Centraltity mampu menurukan relayed pesan pada familiar threshold
389000 dan familiar thresholdnya 665280 hampir setengah dari
protokol routing sebelumnya. Hal ini disebabkan oleh node yang
lebih memilih pada node mana pesan akan dititipkan yaitu kepada
node dengan centrality yang lebih tinggi saja. Sehingga beban
jaringan akan lebih berkurang.
521756
109225
25351
527133
160118
46966
0
100000
200000
300000
400000
500000
600000
FT = 129600 seconds FT = 389000 seconds FT = 665280 seconds
Mes
sage
Total Message Relayed
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
4.1.3 Perbandingan Average Convergence Time pada routing Epidemic
WithInterest Community dan routing Epidemic Withinterest Community
Improved Local Centrality
Gambar 4.1.3.1 Grafik Average Convergence Time Haggle 3-Infocom 5
Pada grafik 4.1.3. menunjukkan pergerakan Haggle 3-Infocom 5 dengan 5 kali hasil
simulasi yang dirata-rata, Average Convergence Time yang di dapat akibat semakin
meningginya familiar threshold adalah semakin lama, hal ini di karenakan semakin
banyaknya komunitas yang terbentuk membuat penyebaran pesan menjadi lebih
lama. Pada familiar threshold 1800 protokol routing Epidemic WithInterest
Community improved Centrality sedikit lebih baik dari Epidemic WithInterest
Community karena penambahan centrality yang mempercepat penyebaran pesan di
komunitas yang anggotanya banyak. Semakin meningkatnya familiar threshold
nilai yang di dapat akan lebih lama karena anggota dari komunitas yang semakin
sedikit sehingga penghapusan pesan interest bila pesan sudah mencapai node
dengan interest sesuai membuat penyebaran pesan menjadi lebih lama ketimbang
EpidemicWithInterest Community yang membanjiri komunitas dengan pesan.
15504
15970
16359
15541
15763
16094
15000
15200
15400
15600
15800
16000
16200
16400
16600
FT = 1800 seconds FT = 5400 seconds FT = 10800 seconds
Seco
nd
s
Average Convergence Time
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Gambar 4.1.3.2 Grafik Average Convergence Time Reality
Pada grafik 4.1.3.2 menunjukan pergerakan Reality dengan 2 kali hasil simulasi
yang dirata-rata, Average Convergence Time yang di dapat memiliki trend yang
sama dengan pergerakan Haggle 3-Infocom5 akibat semakin meningginya familiar
threshold adalah semakin lama, hal ini juga di karenakan semakin banyaknya
komunitas yang terbentuk membuat penyebaran pesan menjadi lebih lama. Namun
pada pergerakan ini Average Convergence Time yang di hasilkan pada semua
familiar threshold sedikit lebih lama dari pada protokol routing sebelumnya hal ini
terjadi karena waktu dan jumlah node yang di gunakan pada simulasi ini lebih
banyak di banding dengan haggle 3-Infocom 5 sehingga pembentukan
komunitasnya pada familiar threshold 129600 akan membuat komunitas dengan
proporsi anggota node yang tidak cukup banyak, berbeda dengan pembentukan
komunitas dengan familiar threshold 1800.
473679519530 527557
437039496151 516106
0
100000
200000
300000
400000
500000
600000
FT = 129600 seconds FT = 389000 seconds FT = 665280 seconds
Seco
nd
sAverage Convergence Time
Epidemic WithInterest Community Improved Centrality
Epidemic WithInterest Community
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
Setelah dilakukan anailis dari beberapa pengujian dengan dua
simulasi pergerakan manusia yaitu Haggle 3-Infocom 5 dan Reality
Mining MIT, didapat kesimpulan bahwa
Routing protokol Epidemic WithInterest Community
Improved Centrality dapat memperbaiki kinerja Routing
Protokol Epidemic WithInterest Community dalam
mengurangi beban jaringan.
Routing protokol Epidemic WithInterest Community
Improved Centrality membutuhkan waktu penyebaran pesan
yang sedikit lebih lama dibandingkan dengan penyebaran
pesan Routing Protokol Epidemic WithInterest Community hal
ini di karenakan trade off untuk beban jaringan yang menurun.
Routing protokol Epidemic Community Improved Centrality
dapat meningkatkan delivered interest pesan karena pesan yang
di sebarkan lebih selektif.
5.2 SARAN
Untuk penelitian lebih lanjut diharapkan dapat mengembangkan
Routing dengan mekanisme pengiriman pesan bedasarkan ketertarikan
dengan membuat pembagian interest di lakukan secara langsung oleh
masing-masing node tanpa harus di tentukan di dalam setting.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
DAFTAR PUSTAKA
[1] Becker, Amin Vahdat and David Department of Computer Science, "Epidemic
Routing for Partially-Connected Ad Hoc Networks," Durham, NC 27708, 2000.
[2] W. Moreira, "Social-Aware Opportunistic Routing Protocol Based on User’s
Interactions and Interests," in Ad Hoc Networks, Barcelona, Spain, Springer, Cham,
2014, pp. 100-115.
[3] Junandus Sijabat, Bambang Soelistijanto, Ph.D., “Implementation of Interest-Based
Routing in Epidemic Protocol in Opportunistic Network With Human Movements,”
Teknik Informatika, Universitas Sanata Dharma, Yogyakarta.
[4] Pan Hui, Member, IEEE, Jon Crowcroft, Fellow, IEEE, and Eiko Yoneki, Member,
IEEE “BUBBLE Rap: Social-Based Forwarding in Delay-Tolerant Networks”
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
LAMPIRAN
1. Message Router /** group of interest */
public static final String CONTENT_PROPERTY = "interest";
protected String nodeInterest;
protected String interest;
public MessageRouter(Settings s) {
/** Mengambil Nilai Interest dari settings*/
nodeInterest = s.getSetting("nodeList");
}
public void init(DTNHost host, List<MessageListener> mListeners) {
/** mengambil nilai interest untuk setiap node */
String[] splittednodeList = nodeInterest.split("/");
for (String string : splittednodeList) {
String [] temp = string.split(":");
String val = temp[0];
String[] nodeInter = temp[1].split(",");
for (String stringKey : nodeInter) {
int temp2 = Integer.parseInt(stringKey);
if (temp2 == host.getAddress()) {
interest = val;
}}}}
protected MessageRouter(MessageRouter r) {
this.nodeInterest = r.nodeInterest;
}
public String getInterest() {
return interest;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
2. Epidemic WithInterest Community
/**
* @author Junandus Sijabat
* Sanata Dharma University
*/
public class EpidemicWithInterestCommunity implements
routing.RoutingDecisionEngine, CommunityDetectionEngine {
public static final String COMMUNITY_ALG_SETTING = "communityDetectAlg";
public static final String CONTENT_PROPERTY = "interest";
protected CommunityDetection community;
protected Map<DTNHost, Double> startTimestamps;
protected Map<DTNHost, List<Duration>> connHistory;
protected Map<DTNHost, String> ListInterest;
public EpidemicWithInterestCommunity(Settings s) {
if (s.contains(COMMUNITY_ALG_SETTING)) {
this.community = (CommunityDetection)
s.createIntializedObject(s.getSetting(COMMUNITY_ALG_SETTING));
} else {
this.community = new SimpleCommunityDetection(s);
}
}
public EpidemicWithInterestCommunity(EpidemicWithInterestCommunity proto) {
this.community = proto.community.replicate();
startTimestamps = new HashMap<DTNHost, Double>();
connHistory = new HashMap<DTNHost, List<Duration>>();
ListInterest = new HashMap<DTNHost, String>();
}
@Override
public void connectionUp(DTNHost thisHost, DTNHost peer) {}
@Override
public void connectionDown(DTNHost thisHost, DTNHost peer) {
DecisionEngineRouter otherHost = (DecisionEngineRouter) (peer.getRouter());
double time = startTimestamps.get(peer);
double etime = SimClock.getTime();
List<Duration> history;
if (!connHistory.containsKey(peer)) {
history = new LinkedList<>();
connHistory.put(peer, history);
} else {
history = connHistory.get(peer);
}
if (etime - time > 0) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
history.add(new Duration(time, etime));
if (!ListInterest.containsKey(peer)) {
ListInterest.put(peer, otherHost.getInterest());
}
//System.out.println(ListInterest);
}
CommunityDetection peerCD = this.getOtherDecisionEngine(peer).community;
community.connectionLost(thisHost, peer, peerCD, history);
startTimestamps.remove(peer);
}
@Override
public void doExchangeForNewConnection(Connection con, DTNHost peer) {
DTNHost myHost = con.getOtherNode(peer);
EpidemicWithInterestCommunity Epic = this.getOtherDecisionEngine(peer);
this.startTimestamps.put(peer, SimClock.getTime());
Epic.startTimestamps.put(myHost, SimClock.getTime());
this.community.newConnection(myHost, peer, Epic.community);
}
@Override
public boolean newMessage(Message m, String interest) {
m.addProperty(CONTENT_PROPERTY, interest);
return true;
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo() == aHost;
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
return true;
}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
DTNHost thisHost = null;
List<DTNHost> listHop = m.getHops();
Iterator it = listHop.iterator();
while (it.hasNext()) {
thisHost = (DTNHost) it.next();
}
DecisionEngineRouter peer = (DecisionEngineRouter) (otherHost.getRouter());
DecisionEngineRouter me = (DecisionEngineRouter) (thisHost.getRouter());
EpidemicWithInterestCommunity epic = getOtherDecisionEngine(otherHost);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
/*
*/
if(m.getProperty(CONTENT_PROPERTY).equals(peer.getInterest())){
return true;
}
Set<DTNHost> Ls = epic.getLocalCommunity();
for (DTNHost L : Ls) {
if((L.getAddress()!=thisHost.getAddress()&&L.getRouter().getInterest().equals(m.getPro
perty(CONTENT_PROPERTY)))){
return true;
}
}
return false;
}
@Override
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost) {
return false;
}
@Override
public boolean shouldDeleteOldMessage(Message m, DTNHost hostReportingOld) {
return true;
}
protected boolean commumesWithHost(DTNHost h) {
return community.isHostInCommunity(h);
}
@Override
public Set<DTNHost> getLocalCommunity() {
return this.community.getLocalCommunity();
}
@Override
public RoutingDecisionEngine replicate() {
return new EpidemicWithInterestCommunity(this);
}
private EpidemicWithInterestCommunity getOtherDecisionEngine(DTNHost h) {
MessageRouter otherRouter = h.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router only works "
+ " with other routers of same type";
return (EpidemicWithInterestCommunity) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
3. Epidemic WithInterest Community Improved Centrality /**
* @author Putranto Suryo Sanata Dharma University
*/
public class EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality
implements routing.RoutingDecisionEngine, CommunityDetectionEngine {
public static final String COMMUNITY_ALG_SETTING = "communityDetectAlg";
public static final String CENTRALITY_ALG_SETTING = "centralityAlg";
public static final String CONTENT_PROPERTY = "interest";
protected CommunityDetection community;
protected Centrality centrality;
protected Map<DTNHost, Double> startTimestamps;
protected Map<DTNHost, List<Duration>> connHistory;
protected Map<DTNHost, String> ListInterest;
private Set<Message> tombstone;
public
EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality(Settings s) {
if (s.contains(COMMUNITY_ALG_SETTING)) {
this.community = (CommunityDetection)
s.createIntializedObject(s.getSetting(COMMUNITY_ALG_SETTING));
} else {
this.community = new SimpleCommunityDetection(s);
}
if (s.contains(CENTRALITY_ALG_SETTING)) {
this.centrality = (Centrality)
s.createIntializedObject(s.getSetting(CENTRALITY_ALG_SETTING));
} else {
this.centrality = new CWindowCentrality(s);
}
tombstone = new HashSet<>();
}
public
EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality(EpidemicWit
hInterestCommunityAndLocalCommunityImprovedCentrality proto) {
this.community = proto.community.replicate();
this.centrality = proto.centrality.replicate();
startTimestamps = new HashMap<DTNHost, Double>();
connHistory = new HashMap<DTNHost, List<Duration>>();
ListInterest = new HashMap<DTNHost, String>();
tombstone = new HashSet<>();
}
@Override
public void connectionUp(DTNHost thisHost, DTNHost peer) {
}
@Override
public void connectionDown(DTNHost thisHost, DTNHost peer) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
DecisionEngineRouter otherHost = (DecisionEngineRouter) (peer.getRouter());
double time = startTimestamps.get(peer);
double etime = SimClock.getTime();
List<Duration> history;
if (!connHistory.containsKey(peer)) {
history = new LinkedList<>();
connHistory.put(peer, history);
} else {
history = connHistory.get(peer);
}
if (etime - time > 0) {
history.add(new Duration(time, etime));
if (!ListInterest.containsKey(peer)) {
ListInterest.put(peer, otherHost.getInterest());
}
//System.out.println(ListInterest);
}
CommunityDetection peerCD = this.getOtherDecisionEngine(peer).community;
community.connectionLost(thisHost, peer, peerCD, history);
startTimestamps.remove(peer);
}
@Override
public void doExchangeForNewConnection(Connection con, DTNHost peer) {
DTNHost myHost = con.getOtherNode(peer);
EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality Epic =
this.getOtherDecisionEngine(peer);
this.startTimestamps.put(peer, SimClock.getTime());
Epic.startTimestamps.put(myHost, SimClock.getTime());
this.community.newConnection(myHost, peer, Epic.community);
}
@Override
public boolean newMessage(Message m, String interest) {
m.addProperty(CONTENT_PROPERTY, interest);
this.tombstone.add(m);
return true;
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo() == aHost;
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost thisHost) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Collection<Message> messageCollection = thisHost.getMessageCollection();
for (Message message : messageCollection) {
if (m.getId().equals(message.getId())) {
return false;
}
}
this.tombstone.add(m);
return true;
}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost otherHost) {
DTNHost thisHost = null;
List<DTNHost> listHop = m.getHops();
Iterator it = listHop.iterator();
while (it.hasNext()) {
thisHost = (DTNHost) it.next();
}
DecisionEngineRouter peer = (DecisionEngineRouter) (otherHost.getRouter());
EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality epic =
getOtherDecisionEngine(otherHost);
/*
*/
if (m.getProperty(CONTENT_PROPERTY).equals(peer.getInterest())) {
return true;
}
Set<DTNHost> Ls = epic.getLocalCommunity();
//jika node ada pada community yang sama
if (Ls.contains(thisHost)) {
for (DTNHost K : Ls) {
if ((K.getAddress() != thisHost.getAddress() &&
K.getRouter().getInterest().equals(m.getProperty(CONTENT_PROPERTY)))) {
if(!epic.tombstone.contains(m)){
return true;
}
} else if (epic.getLocalCentrality() > this.getLocalCentrality()) {
if(!epic.tombstone.contains(m)){
return true;
}
}
}
}
//jika node ada pada community yang berbeda
return false;
}
@Override
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
public boolean shouldDeleteSentMessage(Message m, DTNHost otherHost
) {
if (this.commumesWithHost(otherHost)) {
String messageInterest = (String) m.getProperty(CONTENT_PROPERTY);
String peerInterest = otherHost.getRouter().getInterest();
if (messageInterest.equals(peerInterest)) {
return true;
}
}
return false;
}
@Override
public boolean shouldDeleteOldMessage(Message m, DTNHost hostReportingOld
) {
return true;
}
protected boolean commumesWithHost(DTNHost h) {
return community.isHostInCommunity(h);
}
@Override
public Set<DTNHost> getLocalCommunity() {
return this.community.getLocalCommunity();
}
protected double getLocalCentrality() {
return this.centrality.getLocalCentrality(connHistory, community);
}
@Override
public RoutingDecisionEngine replicate() {
return new
EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality(this);
}
private EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality
getOtherDecisionEngine(DTNHost h) {
MessageRouter otherRouter = h.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router only works "
+ " with other routers of same type";
return (EpidemicWithInterestCommunityAndLocalCommunityImprovedCentrality)
((DecisionEngineRouter) otherRouter).getDecisionEngine();
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
4. AllReport package report;
import core.DTNHost;
import core.Message;
import core.MessageListener;
import core.Settings;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import routing.DecisionEngineRouter;
import routing.MessageRouter;
import routing.interest.*;
/**
*
* @author Junandus Sijabat
*/
public class AllReport extends Report implements MessageListener {
private Map<String, Double> creationTimes;
private List<Double> latencies;
private List<Integer> hopCounts;
private List<Double> msgBufferTime;
private List<Double> rtt; // round trip times
private int nrofDropped;
private int nrofRemoved;
private int nrofStarted;
private int nrofAborted;
private int nrofRelayed;
private int nrofCreated;
private int nrofResponseReqCreated;
private int nrofResponseDelivered;
private int nrofDelivered;
private int DeliveredInterest;
private Map<String, ConvergenceData> ConvergenceTimeInterest;
public AllReport() {
init();
}
@Override
protected void init() {
super.init();
DeliveredInterest = 0;
nrofRelayed = 0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
ConvergenceTimeInterest = new HashMap<String, ConvergenceData>();
this.creationTimes = new HashMap<String, Double>();
this.latencies = new ArrayList<Double>();
this.msgBufferTime = new ArrayList<Double>();
this.hopCounts = new ArrayList<Integer>();
this.rtt = new ArrayList<Double>();
this.nrofDropped = 0;
this.nrofRemoved = 0;
this.nrofStarted = 0;
this.nrofAborted = 0;
this.nrofRelayed = 0;
this.nrofCreated = 0;
this.nrofResponseReqCreated = 0;
this.nrofResponseDelivered = 0;
this.nrofDelivered = 0;
}
@Override
public void newMessage(Message m) {
if (isWarmup()) {
addWarmupID(m.getId());
return;
}
this.creationTimes.put(m.getId(), getSimTime());
this.nrofCreated++;
if (m.getResponseSize() > 0) {
this.nrofResponseReqCreated++;
}
}
@Override
public void messageTransferStarted(Message m, DTNHost from, DTNHost to) {
}
@Override
public void messageDeleted(Message m, DTNHost where, boolean dropped) {
}
@Override
public void messageTransferAborted(Message m, DTNHost from, DTNHost to) {
}
@Override
public void messageTransferred(Message m, DTNHost from, DTNHost to, boolean
firstDelivery) {
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
nrofRelayed++;
if (firstDelivery) {
this.latencies.add(getSimTime()
- this.creationTimes.get(m.getId()));
this.nrofDelivered++;
this.hopCounts.add(m.getHops().size() - 1);
if (m.isResponse()) {
this.rtt.add(getSimTime() - m.getRequest().getCreationTime());
this.nrofResponseDelivered++;
}
}
MessageRouter otherRouter = to.getRouter();
DecisionEngineRouter epic = (DecisionEngineRouter) otherRouter;
if (m.getProperty("interest").equals(epic.getInterest())) {
DeliveredInterest++;
if (ConvergenceTimeInterest.containsKey(m.getId())) {
ConvergenceData d = ConvergenceTimeInterest.get(m.getId());
Set<DTNHost> nodeList = d.getNodeList();
if (!nodeList.contains(to)) {
nodeList.add(to);
d.setNodeList(nodeList);
d.setConvergenceTime(d.getConvergenceTime() + (getSimTime() -
m.getCreationTime()));
d.setLastNodeTime(getSimTime() - m.getCreationTime());
ConvergenceTimeInterest.replace(m.getId(), d);
}
} else {
ConvergenceData d = new ConvergenceData();
d.setSource(from);
d.setConvergenceTime(getSimTime() - m.getCreationTime());
d.setLastNodeTime(getSimTime() - m.getCreationTime());
Set<DTNHost> nodeList = new HashSet<>();
nodeList.add(to);
d.setNodeList(nodeList);
ConvergenceTimeInterest.put(m.getId(), d);
}
}
}
@Override
public void done() {
Settings s = new Settings();
int nrofNode = s.getInt("Group.nrofHosts") - 1;
String report = "";
/*write("Convergence Report\nSource Node\tMessage ID\tConvergenceTime\t\tLast
Node Time\tNumber Of Node");
for (Map.Entry<String, ConvergenceData> e : convergenceTime.entrySet()) {
String m = e.getKey();
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
ConvergenceData v = e.getValue();
report =
report+v.getSource()+"\t\t"+m+"\t\t"+v.getConvergenceTime()/v.getNodeList().size()+"\t
"+v.getLastNodeTime()+"\t\t"+v.getNodeList().size()+"\n";
}*/
double avgConvTime = 0;
double lastUpdateTime = 0;
double nrofInfected = 0;
for (Map.Entry<String, ConvergenceData> e : ConvergenceTimeInterest.entrySet())
{
ConvergenceData v = e.getValue();
avgConvTime += v.getConvergenceTime() / v.getNodeList().size();
lastUpdateTime += v.getLastNodeTime();
nrofInfected += v.getNodeList().size();
}
int TotalCopyForward = nrofRelayed - DeliveredInterest;
report += "Message Relayed = " + nrofRelayed + "\n"
+ "Average Convergence Time = " + avgConvTime /
ConvergenceTimeInterest.size() + "\n"
+ "Totl Delivered Interest = " + DeliveredInterest + "\n"
+ "Total Relayed = " + TotalCopyForward + "\n"
+ "Latency_avg = " + getAverage(this.latencies);
write(report);
super.done();
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI