PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol...

52
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

Transcript of PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol...

Page 1: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 2: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 3: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 6: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

vii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 9: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 10: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 11: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 12: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 13: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 14: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 15: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 16: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 17: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 18: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 19: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 20: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 21: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 22: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 23: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 24: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 25: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 26: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 27: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 28: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 29: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 30: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 31: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 32: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 33: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 34: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 35: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 36: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 37: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 38: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 39: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 40: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 41: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 42: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 43: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 44: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 45: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 46: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 47: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 48: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 49: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 50: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 51: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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

Page 52: PENERAPAN CENTRALITY PADA PROTOKOL ROUTING ...adalah bagaimana memperbaiki unjuk kerja protokol routing Epidemic WithInterest Community dalam menurunkan jumlah relay message sebagai

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