ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET MENGGUNAKAN DELEGATION FORWARDING DI JARINGAN OPORTUNISTIK SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET
MENGGUNAKAN DELEGATION FORWARDING DI JARINGAN
OPORTUNISTIK

SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana
Komputer Program Studi Teknik Informatika

Disusun Oleh:
KRISNA ARDIAN
NIM: 145314032

PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2019


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ANALYSIS OF DELEGATION FORWARDING ON PROPHET
PROTOCOL IN OPPORTUNISTIC NETWORK

A THESIS
Presented as Partial Fulfillment of Requirements to Obtain Sarjana
Komputer Degree in Informaticts Engineering Department

By:
KRISNA ARDIAN
NIM: 145314032

INFORMATIC ENGINNERING STUDY PROGRAM
INFORMATICTS ENGINEERING DEPARTMENT
FACULTY SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2019


ii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PERSETUJUAN

SKRIPSI

ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET
MENGGUNAKAN DELEGATION FORWARDING DI JARINGAN
OPORTUNISTIK

Oleh:
Krisna Ardian
(145314032)

Telah disetujui oleh:

Dosen Pembimbing,


Tanggal,…..Januari 2019

Bambang Soelistijanto, Ph.D.

iii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

HALAMAN PENGESAHAN
SKRIPSI

ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET
MENGGUNAKAN DELEGATION FORWARDING DI JARDINGAN
OPORTUNISTIK

Dipersiapkan dan ditulis oleh:

Krisna Ardian
145314032


Telah dipertahankan di depan panitia penguji
Pada tanggal 16 Januari 2019
Dan dinyatakan memenuhi syarat

Susunan Panitia Penguji
Nama Lengkap

Tanda Tangan

Ketua

: Puspaningtyas Sanjoyo Adi, S.T.,M.T

………………...

Sekretaris

: Henricus Agung Hernawan ,S.T.,M.Kom

………………...


Penguji

: Vittalis Ayu, M.Cs.

………………...

Anggota

: Bambang Soelistijanto, Ph.D.

………………...

Yogyakarta,…..Januari 2019
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,

Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D.


iv

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

MOTTO

Pilihan hanya ada di tanganmu
sekarang atau tidak sama sekali
- Krisna Ardian

v

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

PERNYATAAN LEMBAR KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa di dalam skripsi yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan daftar pustaka, sebagaimana layaknya karya ilmiah.


Yogyakarta, 3 Januari 2018
Penulis,

Krisna Ardian

vi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma:

Nama : Krisna Ardian
NIM

: 145314032

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan

Universitas Sanata Dharma karya ilmiah yang berjudul:

ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET
MENGGUNAKAN DELEGATION FORWARDING DI JARINGAN
OPORTUNISTIK
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan
kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan,
mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk angkalan data,
mendistribusikannya secara terbatas, dan mempublikasikannya di Internet atau
media lain untuk kepentingan akademis tanpa meminta ijin dari saya maupun
memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai
penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.
Yogyakarta, 3 Januari 2018
Penulis,

Krisna Ardian

vii


PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRAK

Jaringan Oportunistik merupakan kondisi jaringan dimana komunikasi
dapat terjadi tanpa adanya infrastruktur jaringan. Tanpa adanya infrastruktur
jaringan node yang selalu berpindah menyebabkan pengiriman pesan menjadi hal
yang sulit. Untuk memaksimalkan pesan yang sampai digunakan routing protocol
PROPHET (Probabilistic ROuting Protocol using History of Encounters and
Transitivity). Protokol ini merupakan protokol probabilistik yang berdasarkan
metrik probabilitas bertemu node lain yang disebut delivery predictability/DP.
Pada pergerakan manusia beban jaringan menjadi sangat tinggi. Delegation
Forwarding merupakan teknik forwarding yang akan di terapkan di PROPHET.
Delegation Forwarding digunakan untuk memperbaiki kekurangan forwarding pada
protokol ini.
Pada penelitian ini penulis akan melakukan pengujian dengan menggunakan
matriks unjuk kerja delivered message percontact, total copy message percontact,
average latency percontact, delivery centrality, carried message to destination.
Dari hasil penelitian yang di dapat Delegation Forwarding mengurangi beban copy

di jaringan dengan tetap mempertahankan jumlah pesan yang terkirim dijaringan.

viii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

ABSTRACT

Opportunistic network is a network condition where communication can occur
without any network infrastructure. Message delivery in mobile network is difficult
because of the node always move. Therefore, the success rate to destination used
PROPHET(Probabilistic ROuting Protocol using History of Encounters and
Transitivity) routing protocol. This protocol is a probabilistic protocol based on
probability metrics in this protocol called delivery predictability/DP. In human
movement the network load becomes very high. Delegation Forwarding is a
technique which will be applied in PROPHET. Delegation Forwarding used for
improve forwarding in PROPHET.
In this study, we analyzed using performance matrix delivered message
percontact, total copy message percontact, average latency percontact, delivery
centrality, carried message to destination. From simulation result, we conclude

delegation forwarding reduce message copy in network and incrase number of
message in the network.

ix

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, oleh
karena rahmatnya yang melimpah penulis dapat menyelesaikan tugas akhir dengan
tepat waktu. Saya selaku penulis menyadari tugas akhir dapat terselesaikan dengan
bantuan dan bimbingan dari berbagai pihak secara langsung maupun tidak
langsung. Maka pada kesempatan ini, selaku penulis mengucapkan terimakasih
sebesar-besarnya kepada:
1. Tuhan Yang Maha Esa, karena atas bimbingannya penulis dapat
menyelesaikan tugas akhir.
2. Kepada keluarga tercinta, Bapak Didi Suhardi dan Ibu Sri Satiti dan
saudara perempuan saya yang selalu mendukung dalam doa, dan
motivasi.
3. Kepada Ex-Fly Host Rafelino Claudius Kelen, Junandus Sijabat,
Fabianus Asto Nugroho yang sudah menjadi keluarga selama
perkuliahan, selalu mendukung, memberi motivasi, serta menemani
dalam penyelesaikan tugas akhir.
4. Bapak Bambang Soelistijanto, S.T., M.Sc., Ph.D. selaku dosen
pembimbing tugas akhir yang telah membimbing, memberi ilmu, serta
pengalaman dalam menyelesaikan tugas akhir.
5. Seluruh teman-teman seperjuangan di lab TA jarkom yang menemani
penulis dalam menyelesaikan tugas akhir.
6. Kepada

Agustinus

Indriyadi

yang

menemani

penulis

dalam

mendapatkan “chicken dinner” dan semangatnya dalam mengerjakan
tugas akhir.
7. Serta seluruh pihak yang mendukung secara langsung maupun tidak
langsung saya ucapkan terimakasih.

x

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Saya selaku penulis menyadari bahwa tulisan ini belum sempurna, maka kritik dan
saran sangat kami harapkan demi menyempurnakan tulisan ini. Akhir kata penulis
ucapkan terimakasih semoga tulisan ini bermanfaat bagi semua pihak.
Penulis

Krisna Ardian

xi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR ISI
HALAMAN JUDUL................................................................................................ i
HALAMAN PERSETUJUAN ............................................................................... iii
HALAMAN PENGESAHAN ................................................................................ iv
MOTTO .................................................................................................................. v
PERNYATAAN LEMBAR KEASLIAN KARYA ............................................... vi
LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH ............................ vii
ABSTRAK ........................................................................................................... viii
ABSTRACT ........................................................................................................... ix
KATA PENGANTAR ............................................................................................ x
DAFTAR ISI ......................................................................................................... xii
BAB I PENDAHULUAN ....................................................................................... 1
1.1 Latar belakang ............................................................................................. 1
1.2 Rumusan Masalah ....................................................................................... 2
1.3 Tujuan Penelitian ........................................................................................ 2
1.4 Manfaat Penlitian ........................................................................................ 2
1.5 Batasan Masalah.......................................................................................... 2
1.6 Metodelogi Penelitian ................................................................................. 3
1.7 Sistematika Penulisan ................................................................................. 4
BAB II LANDASAN TEORI ................................................................................ 5
2.1 Jaringan Oportunistik .................................................................................. 5
2.2 Delegation Forwarding................................................................................ 6
2.3 Protokol Routing PROPHET ...................................................................... 7
2.3.1

Delivery Predictability ...................................................................... 7

2.3.2

Strategi pengiriman pesan (forwarding strategies) ........................... 8

BAB III PERCANGAN SIMULASI ................................................................... 10
3.1 Parameter Simulasi.................................................................................... 10

xii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3.2 Skenario Simulasi ..................................................................................... 10
3.3 Matrik Unjuk Kerja ................................................................................... 11
3.3.1

Delivered Message PerContact ....................................................... 11

3.3.2

Total Copy Message PerContact ..................................................... 11

3.3.3

Average Latency PerContact........................................................... 11

3.3.4

Delivery Centrality .......................................................................... 11

3.3.5

Carried Message to Destination ...................................................... 12

3.4 Desain Alat Uji .......................................................................................... 12
BAB IV PENGUJIAN DAN ANALISIS ............................................................ 13
4.1 Pergerakan Manusia .................................................................................. 13
4.1.1

Haggle3-Infocom5 .......................................................................... 13

4.1.2

Reality MIT ..................................................................................... 13

4.2 Perbandingan Message Delivered pada Protokol PROPHET dan PROPHET
Delegation Forwarding ...................................................................................... 14
4.3 Perbandingan Total Copy Message pada Protokol PROPHET dan
PROPHET Delegation Forwarding ................................................................... 16
4.4 Perbandingan Average Latency pada Protokol PROPHET dan PROPHET
Delegation Forwarding ...................................................................................... 17
4.5 Perbandingan Delivery Centrality pada Protokol PROPHET dan PROPHET
Delegation Forwarding ...................................................................................... 18
4.6 Perbandingan Carried Message pada Protokol PROPHET dan PROPHET
Delegation Forwarding ...................................................................................... 21
BAB V KESIMPULAN DAN SARAN ............................................................... 24
5.1 Kesimpulan ............................................................................................... 24
5.2 Saran .......................................................................................................... 24
DAFTAR PUSTAKA ........................................................................................... 25
LAMPIRAN .......................................................................................................... 26

xiii

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB I
PENDAHULUAN
1.1

Latar belakang
Mobile Ad-hoc Network (MANET) adalah salah satu dari teknologi
wireless yang sedang di kembangkan untuk memenuhi kebutuhan manusia
saat ini karena sifatnya yang bergerak (mobile) dan tidak memerlukan
infrastruktur. Cara yang dilakukan MANET adalah dengan membuat setiap
node agar dapat berperan sebagai pengirim pesan, router, dan penerima pesan
(bertindak sebagai relay). MANET akan bekerja dengan baik jika seluruh
node dapat terhubung dan saling meneruskan pesan dari satu node ke node
lainnya sampai menemukan tujuan pesan tersebut, dengan tanpa adanya
gangguan yang menyebabkan pesan tidak terkirim. Sifat dari node yang
bergerak setiap saat sehingga topologi dapat berubah kapanpun,dan akan ada
fase dimana node yang sudah terhubung menjadi tidak terhubung satu sama
lain. Untuk menyelesaikan berbagai masalah dari MANET maka terciptalah
sebuah solosi yaitu Delay Tolerant Network (DTN / OppNet).
Delay Tolerant Network (DTN) adalah kelas turunan dari MANET.
DTN sendiri di asumsikan tidak ada end-to-end-path atau setiap node tidak
terhubung secara terus menerus. DTN memiliki keunggulan yaitu dapat
mentolelrir adanya jeda waktu sampainya pesan dari pengirim kepada tujuan.
Jaringan DTN memiliki system store-carry-forward, dimana setiap node
menyimpan pesan dalam buffer, kemudian meneruskan pesan menuju tujuan
(destination). Tantangan dari DTN sendiri adalah bagaimana cara untuk
menemukan jalur komunikasi yang dapat mengoptimalkan unjuk kerja.
Protokol Routing PROPHET (Probabilistic Routing Protocol using
History of Encounters and Transitivity) adalah protokol probabilistik
berdasarkan metrik probabilitas bertemu node lain serta transitivity-nya[1].
Ketika node memiliki probabilitas bertemu node tujuan lebih besar dari node
sebelumnya maka node tersebut dapat menjadi node yang baik sebagai relay
ke node tujuan sehingga node tersebut akan dititipkan pesan oleh node

1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

2

sebelumnya. Bertemunya node dengan keterkaitannya dengan node lain yang
disebut transitivity. Dalam menentukan node yang dapat men-relay pesan,
PROPHET menggunakan probalistik metrik yang disebut dengan Delivery
predictability (DP)[1]. Berdasarkan nilai DP inilah protocol PROPHET akan
menentukan node yang baik untuk mengantarkan pesan ke node tujuan.
Transitivity juga menjadi nilai yang mempengaruhi nilai DP dari sebuah
node. Namun dalam beberapa kasus ditemui unjuk kerja protokol PROPHET
yang buruk, seperti pada pergerakan yang real seperti pergerakan manusia.
Penyebabnya ialah sifat transitivity yang tidak bekerja dengan baik pada
pergerakan manusia. Untuk itu dibutuhkan strategi forwarding baru yaitu
Delegation Forwarding (DF).
Pada penelitian ini akan dibahas tentang bagaimana penerapan
Delegation Forwarding(DF) di protokol routing PROPHET, sehingga proses
forwarding pada PROPHET bisa lebih efisien.

1.2

Rumusan Masalah

Berdasarkan latar belakang, rumusan masalah yang ditemukan adalah seberapa
efektif delegation forwarding untuk mengatasi masalah forwarding pada
PROPHET.
1.3

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengetahui serta menganalisis kelebihan maupun
kekurangan protokol routing PROPHET dan PROPHET menggunakan delegation
forwarding dalam melakukan forward message.
1.4

Manfaat Penlitian

Hasil dari penelitian ini diharapkan dapat digunakan sebagai bahan pertimbangan
dalam mengembangkan protokol routing dalam komunikasi pada jaringan
oportunistik.
1.5

Batasan Masalah

Batasan masalah pada penelitian ini adalah sebagai berikut:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

3

1. PROPHET routing digunakan sebagai landasan utuh penelitian
2. Delegation forwarding diterapkan pada PROPHET
3. Menggunakan The One Simulator
4. Metrik unjuk kerja adalah delivered message, total copy message,
average latency, delivery centrality, carried message to destination
1.6

Metodelogi Penelitian
Metode yang dilakukan dalam penelitian ini adalah sebagai berikut:
1. Studi Literatur
Mencari dan mengumpulkan referensi dan menerapkan teori untuk
mendukung tugas akhir antara lain: Teori jaringan oportunistik, teori
routing protokol Prophet, teori delegation forwarding dan
dokumentasi the one simulator.
2. Pengumpulan Bahan Penelitian
Dataset yang akan digunakan untuk melakukan penelitian telah
tersedia di Internet pada alamat
[4]http://www.shigs.co.uk/index.php?page=traces.
3. Pembuatan Alat Uji
Perancangan sistem dilakukan dengan menerapkan delegation
forwarding pada routing protokol PROPHET sehingga ujuk kerja
dapat teridentifikasi dari hasil yang ditunjukan.
4. Analisi Data Simulasi
Mengolah data dari hasil simulasi, untuk diproses kemudian
dianalisis sesuai dengan parameter ujuk kerja.
5. Penarikan Kesimpulan
Penarikan kesimpulan terhadap hasil yang telah dianalisis dengan
acuan parameter unjuk kerja yang telah di tentukan.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

4

1.7

Sistematika Penulisan
BAB I: PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, Rumusan masalah,
Tujuan penelitian, Batasan masalah, Metodologi penelitian, dan Sistematika
penulisan.
BAB II: LANDASAN TEORI
Bab ini berisi tentang penjelasan dari beberapa teori yang antara lain
adalah jaringan oportunistik, jaringan oportunistik, routing protokol Prophet,
dan algoritma delegation forwarding.
BAB III: PERANCANGAN SIMULASI
Bab ini berisi tentang perencanaan scenario simulasi yang akan
dikerjakan dalam tugas akhir ini.
BAB IV: PENGUJIAN DAN ANALISIS
Bab ini berisi pelaksanaan simulasi dan analisis data hasil simulasi.
BAB V: KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan yang didapat dari hasil analisis data
simulasi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB II
LANDASAN TEORI
2.1

Jaringan Oportunistik

Jaringan Oportunistik adalah sebuah turunan dari kelas MANET yang ditandai
dengan tidak ada end-to-end path dan ditambah dengan node yang terus-terusan
bergerak. Jaringan Oportunistik memungkinan jaringan dapat mentolerir kondisi
delay yang tinggi dan jalur yang selalu berubah setiap saat, oleh sebab itu jaringan
oportunistik dapat diterapkan pada kondisi jaringan yang extreme. Contohnya
adalah kondisi delay yang tinggi, koneksi yang sering terputus, pergerakan yang
cepat, dan drop yang tinggi.
Sebuah node di jaringan Oportunistik akan masuk ke dalam jangkauan area tertentu
yang dimana terdapat beberapa node, sehingga node dapat saling berkomunikasi
dan dapat melakukan pertukaran pesan di masing-masing buffer, bahkan node dapat
memutuskan untuk meneruskan pesan ke beberapa node lainnya sehingga pesan
dapat sampai ke tujuan. Mekanisme tersebut adalah store-carry and forward di
tunjukan pada gambar 2.1.1.

Gambar 2.1.1 Mekanisme Store-Carry-Forward pada jaringan
oportunistik
Pada gambar 2.1.1 adalah mekanisme Store-Carry-Forward yang dimana S adalah
source yang akan mengirim pesan kepada node D yang

5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

6

menjadi sebagai destination karena tidak tersedianya end-to-end-path maka di
butuhkannya node lain untuk menjadi sebagai relay node agar pesan dapat sampai
ke destination [1].

2.2

Delegation Forwarding
Delegation forwarding (DF) adalah algoritma yang diterapkan pada
mekanisme forwarding, dimana paket hanya dititipi kepada node yang
memiliki predictability lebih tinggi dari node yang akan meneruskan pesan
dan node penerus pesan sebelumnya[3]. Pesan akan di kirim secara
keseluruhan dari node ke node lainnya pada saat waktu kontak interval,
setelah itu kedua node menyimpan salinan pesan.

Gambar 2.2.1 Mekanisme Delegation Forwarding berbasis predictability
Mekanisme delegation fowarding pada gambar 2.2.1, yang
dimana ketika node A dengan nilai DP 0.3 memiliki pesan M1 yang belum
pernah di kirim sebelumnya dan bertemu dengan node C dengan nilai DP 0.6
maka, node A akan meneruskan pesan kepada node C yang memiliki nilai DP
lebih tinggi dari node A, kemudia node A akan mencatat bahwa pesan M1
pernah di kirim kepada node yang memiliki nilai DP 0.6. Kemudian ketika
node A (DP = 0.3) bertemu dengan node U (DP = 0.4) yang memiliki nilai
DP lebih tinggi daripada node A, pesan tidak akan langsung di teruskan, tetapi
node A akan melakukan check nilai DP pada pesan M1 yang pernah di kirim
sebelumnya dan membandingkan dengan node U, ketika node U tidak lebih

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

7

tinggi daripada nilai utility pesan tersebut sebelumnya pesan tidak akan di
teruskan.

2.3

Protokol Routing PROPHET

Protokol Routing PROPHET Merupakan protokol probabilistik yang berdasarkan
pada metrik probabilitas bertemu dengan node lain serta transitivity-nya.
Transitivity sendiri adalah kondisi dimana sebuah node dapat menjadi relay atau
node perantara untuk menyampaikan pesan dari node lain.
untuk menghitung probabilitas bertemunya satu node dengan node lain diperlukan
probabilistik metrik yang disebut delivery predictability
2.3.1

Delivery Predictability
Ada tiga tahap dalam menghitung Delivery Predictability.
Tahap pertama melakukan update pada setiap node ketika node
bertemu node lainnya. Jika node sering bertemu, maka dikategorikan
sebagai node yang memiliki Delivery Predictibility tinggi dalam
penyampaian pesan. Untuk menghitung Delivery Predictibility
ditunjukkan pada rumus berikut.
Rumus 2.3.1 menghitung update metric
Rumus dimana 𝑃𝑖𝑛𝑖𝑡 ∈ [0,1]

𝑃(𝑎,𝑏) =𝑃(𝑎,𝑏)𝑜𝑙𝑑 +(1 − 𝑃(𝑎,𝑏)𝑜𝑙𝑑 )𝑥𝑃𝑖𝑛𝑖𝑡
Jika node yang sudah bertemu tetapi terlampau lama untuk

bertemu kembali, maka dianggap sebagai node yang kurang baik
dalam penyampaian pesan. Kondisi seperti ini akan membuat nilai
delivery predictability pada node harus berkurang (age, menua).
Untuk menghitung aging ditunjukkan pada rumus berikut.
Rumus 2.3.2 menghitung aging
𝑃(𝑎,𝑏) =𝑃(𝑎,𝑏)𝑜𝑙𝑑 𝑥 𝛾 𝑘

Dalam delivery predictability juga memiliki ciri lain berupa
transitive dalam penyampaian pesan. Kondisi semisal node A sering
bertemu node B dan node B sering bertemu node C, maka node A dan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

8

node C besar kemungkinan memiliki keterikatan dalam penyampaian
pesan. Jika nilai kedekatan node A ke node C lebih besar dibanding
node A ke node B, maka pesan akan di kirimkan ke node C langsung,
tetapi jika nilai kedekatan node A ke node B lebih besar, maka pesan
akan dikimkan ke node C lewat perantara node B.
Rumus 2.3.3 menghitung transitivity
𝑃(𝑎,𝑐) =𝑃(𝑎,𝑐)𝑜𝑙𝑑 +(1 − 𝑃(𝑎,𝑐)𝑜𝑙𝑑 ) 𝑥 𝑃(𝑎,𝑏) 𝑥 𝑃(𝑏,𝑐) 𝑥 𝛽
P(a,c)

a

c

P(b,c)

P(a,b)

b
Gambar 2.3.1 ilustrasi metric trasitivity pada PROPHET

2.3.2

Strategi pengiriman pesan (forwarding strategies)

Strategi pengiriman pesan yang digunakan oleh protokol PROPHET adalah saat
dua node bertemu, maka pesan dikirimkan ke node lain jika delivery probability
node lain tersebut lebih tinggi untuk membawa pesan ke node destination.

b

a

S

c

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

9

Gambar 2.3.2 ilustrasi forwarding strategis PROPHET
Ilustrasi pada gambar 2.3.2 node source S akan mengirimkan pesan kepada node
destination B. saat node S bertemu dengan node A dan node C dalam jaringan, maka
node akan saling bertukar metrik probability mereka untuk bertemu dengan node
destination. Dalam hal ini probability node A bertemu node destination B lebih
besar dibanding node C. Maka node source akan mem forward pesan kepada node
yang punya probability bertemu node destination lebih besar yaitu node A.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB III
PERCANGAN SIMULASI
3.1

Parameter Simulasi

Pada penelitian ini, memiliki beberapa parameter simulasi yang bersifat tetap dan
digunakan dengan nilai yang sama pada simulasi yang berbeda. Parameterparameter berikut adalah:
Parameter

Nilai

Routing Protokol

Prophet & Prophet DF

Movement Model

Haggle 3 - Infocom 5 & Reality Mining MIT

Waktu Simulasi

950400 & 16981816

Buffer Size

20MB

TTL

1440 menit & 876001 menit
Tabel 3.1.1 Parameter Utama Simulasi

3.2

Skenario Simulasi

Dalam penelitian ini, skenario yang digunakan adalah pergerakan real atau
pergerakan manusia, antara lain adalah:
MOVEMENT

ROUTING

JUMLAH

AREA SIMULASI

PROTOKOL

NODE

(m)

41

1000 x 1000

Haggle3-

Prophet & Prophet

Infocom5

DF

Tabel 3.2.1 Skenario Prophet Haggle3-Infocom5

10

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

11

MOVEMENT

Reality MIT

ROUTING

JUMLAH

AREA SIMULASI

PROTOKOL

NODE

(m)

97

1000 x 1000

Prophet & Prophet
DF

Tabel 3.2.2 Skenario pergerakan Reality MIT
3.3

Matrik Unjuk Kerja

Setelah melakukan simulasi maka selanjutnya perhitungan matriks dengan
parameter unjuk kerja sebagai berikut:
3.3.1

Delivered Message PerContact
Parameter ini digunakan untuk melakukan evaluasi keberhasilan
pengiriman pesan yang di lakukan oleh protokol routing.

3.3.2

Total Copy Message PerContact
Parameter ini digunakan untuk mengevaluasi jumlah sebaran pesan
yang di lakukan oleh protokol routing.
Rumus 3.3.1
= 𝑗𝑢𝑚𝑙𝑎ℎ 𝑟𝑒𝑙𝑎𝑦𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 − 𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑠𝑎𝑛 𝑡𝑒𝑟𝑘𝑖𝑟𝑖𝑚

3.3.3

Average Latency PerContact
Parameter ini digunakan untuk mengetahui rata-rata yang dibutuhkan
pesan dari source sampai ke destination.
Rumus 3.3.2
=

3.3.4

(𝑤𝑎𝑘𝑡𝑢 𝑝𝑒𝑠𝑎𝑛 𝑡𝑒𝑟𝑘𝑖𝑟𝑖𝑚 −𝑤𝑎𝑘𝑡𝑢 𝑝𝑒𝑠𝑎𝑛 𝑑𝑖𝑏𝑢𝑎𝑡)
𝑗𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑠𝑎𝑛 𝑡𝑒𝑟𝑘𝑖𝑟𝑖𝑚

Delivery Centrality
Parameter ini digunakan untuk mengahui node mana saja yang selalu
dipilih dan dianggap terbaik di dalam jaringan, untuk meneruskan
pesan sampai kepada destination.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

12

3.3.5

Carried Message to Destination
Untuk mengukur dan melihat berapa banyak jumlah sebuah node
membawakan pesan sampai ke destination.

3.4

Desain Alat Uji

Pengujian dilakukan dengan mengguanakn data parameter simulasi serta dengan
menggunakan model pergerakan manusia yang sudah di jabarkan . Kemudian hasil
dari data yang di dapatkan berdasarkan report dan matriks unjuk kerja yang
digunakan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB IV
PENGUJIAN DAN ANALISIS
Untuk melakukan evaluasi unjuk kerja dari routing protokol PROPHET dan
PROPHET DF, maka dilakukan pengujian. Pengujian dilakukan dengan
menggunakan rancangan simulasi yang sudah dijabarkan pada bab III. Data yang
diperoleh dari hasil simulasi yang dibangkitkan oleh report kemudian menjadi
bahan untuk analisis.
4.1

Pergerakan Manusia

4.1.1 Haggle3-Infocom5
Dataset ini berisi data pertemuan antar partisipan pada konferensi IEEE Infocom di
Miami. Setiap partisipan diberi device (iMotes) yang digunakan untuk mencatat
data pertemuan antar partisipan. Dari 50 partisipan yang dipilih, device yang
menghasilkan data yang valid dan dapat digunakan untuk melakukan penelitian
sebanyak 41 device. Durasi simulasi pada dataset ini adalah 254150 detik, sekitar
2.94 hari.

Tabel 4.1.1 Hasil perbandingan protokol PROPHET dan PROPHETDF pada
pergerakan Haggle3-Infocom5
Protokol
Routing

Message
Delivered

Total Copy
Message

Latency
Average

Prophet
ProphetDF

3359
3216

118708
55585

25815,2403
27004,9294

4.1.2

Reality MIT
Dataset ini berisi data pertemuan antar pelajar dari 2 fakultas
di Universitas MIT. Jumlah partisipan yang digunakan dalam
simulasi ini sebanyak 75 pelajar Fakultas Media Laboratory dan 25
pelajar dari Fakultas Business. Durasi simulasi pada dataset ini
adalah sekitar 1 tahun akademik. Dari 100 partisipan yang dipilih,

13

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

14

device yang menghasilkan data yang valid dan dapat digunakan untuk
melakukan penelitian sebanyak 97 device.

Tabel 4.1.2 Hasil perbandingan protokol PROPHET dan PROPHETDF pada
pergerakan Reality MIT
Protokol
Routing
Prophet
ProphetDF

4.2

Message
Delivered
8090
16869

Total Copy
Message

Latency
Average

27634331
604624

1479010,863
1365932,897

Perbandingan Message Delivered pada Protokol PROPHET dan
PROPHET Delegation Forwarding
MESSAG E DE LI VE RE D PE RCO NTAC T: I NFO CO M5
prophet

prophet Delegation Forwarding

TOTAL MESSAGE DELIVERED

4000
3500
3000
2500

2000
1500
1000
500
0

CONTACT

Gambar 4.2.1 Grafik Message Delivered PerContact Haggle Infocom5

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

15

Message Delivered:Reality MIT
Prophet Delegation Forwarding

18000
16000
14000
12000
10000
8000
6000
4000
2000
0

500
3500
6500
9500
12500
15500
18500
21500
24500
27500
30500
33500
36500
39500
42500
45500
48500
51500
54500
57500
60500
63500
66500
69500
72500
75500
78500
81500
84500

Total Delivered Message

Prophet

Contact

Gambar 4.2.2 Grafik Message Delivered PerContact Reality MIT

Pada gambar 4.2.1 PROPHET dengan pergerakan haggle lebih unggul
dibandingkan dengan PROPHETDF dikarenakan mekanisme dari PROPHET
hanya mengirim pesan ke destination tanpa harus melihat dari beban resources di
jaringan. Sementara itu di PROPHETDF total pesan yang sampai di destination
lebih rendah karena mekanisme delegation forwarding hanya mengirim pesan
kepada node dengan nilai delivery predictability yang paling tinggi saja, sehingga
proses pengiriman pesan bertumpu pada node tertentu. Namun mekanisme
delegation forwarding (gambar 4.2.2) di pergerakan reality lebih unggul
dibandingkan dengan PROPHET, karena mekanisme dengan hanya mengirimkan
pesan yang memiliki delivery predictability yang paling tinggi di pergerakan
reality, sehingga pengiriman pesan menjadi lebih maksimal. Semakin banyaknya
sebaran node di jaringan maka probabilitas terkirimnya pesan ke destination lebih
besar, dalam gambar 4.2.1 terlihat pesan yang sampai di destination lebih kecil
karena jumlah node yang terbatas.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

16

4.3

Perbandingan Total Copy Message pada Protokol PROPHET dan
PROPHET Delegation Forwarding

Total Copy message:Infocom5
Prophet Delegation Forwarding

18500

17500

16500

15500

14500

13500

12500

11500

10500

9500

8500

7500

6500

5500

4500

3500

2500

1500

160000
140000
120000
100000
80000
60000
40000
20000
0

500

total copy message

Prophet

contact

Gambar 4.3.1 Grafik Total Copy Message PerContact Haggle Infocom5

Total Copy Message:Reality MIT
Delegation Forwarding

30000000
25000000
20000000
15000000
10000000
5000000

0
500
4000
7500
11000
14500
18000
21500
25000
28500
32000
35500
39000
42500
46000
49500
53000
56500
60000
63500
67000
70500
74000
77500
81000
84500

Total Copy Message

prophet

Contact

Gambar 4.3.2 Grafik Total Copy Message PerContact Reality MIT

Namun karena hanya memilih nilai delivery predictability yang tinggi saja,
berdampak pada total copy message lihat gambar 4.3.1 dan 4.3.2 . Beban total copy
message delegation forwarding lebih baik karena memiliki total copy message yang
rendah dibandingan dengan PROPHET. Sedangkan pada PROPHET mekanisme

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

17

forwarding tidak menghapus pesan sebelum buffer penuh. Hal tersebut
mempengaruhi total copy message yang naik di jaringan.

4.4

Perbandingan Average Latency pada Protokol PROPHET dan
PROPHET Delegation Forwarding

Latency average percontact:infocom5
Delegation Forwarding

300,000,000
250,000,000
200,000,000
150,000,000
100,000,000
50,000,000

18500

17500

16500

15500

14500

13500

12500

11500

9500

10500

8500

7500

6500

5500

4500

3500

2500

500

0

1500

Latency average (second)

prophet

contact

Gambar 4.4.1 Grafik Average Latency PerContact Haggle Infocom 5

Average Latency :Reality MIT
Prophet

Prophet Delegation Forwarding

14,000,000,000
12,000,000,000
10,000,000,000
8,000,000,000
6,000,000,000
4,000,000,000
2,000,000,000
0

500
3500
6500
9500
12500
15500
18500
21500
24500
27500
30500
33500
36500
39500
42500
45500
48500
51500
54500
57500
60500
63500
66500
69500
72500
75500
78500
81500
84500

Average Latency (Second)

16,000,000,000

Contact

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

18

Gambar 4.4.2 Grafik Average Latency PerContact Reality MIT

Tingginya jumlah total copy message dalam PROPHET pada gambar 4.4.1 dan
4.4.2 membuat pesan tersebar lebih banyak di jaringan. Hal itu terjadi karena
mekanisme forwarding dari PROPHET, Sedangkan delegation forwarding
memiliki rata-rata latency relatif lebih lama. Hal tersebut terjadi karena mekanisme
yang hanya menitipi pesan kepada node yang memiliki utility lebih tinggi dari pada
node sebelumnya, sehingga pesan akan terus disimpan sampai node tersebut
bertemu dengan destination.

4.5

Perbandingan Delivery Centrality pada Protokol PROPHET dan
PROPHET Delegation Forwarding

Delivery Centrality :Infocom5
prophet

Total Relay Message

700
600
500
400
300
200
100
0

0

2

4

6

8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38

Node Id

Gambar 4.5.1 Grafik Delivery Centrality PROPHET Haggle Infocom 5
pada gambar 4.5.1 terlihat lebih merata dan total relay ditiap-tiap node
menjadi lebih tinggi. Hal ini disebabkan oleh mekanisme forwarding PROPHET
yang memiliki DP yang tinggi terhadap node destination, meski node tersebut
belum pernah bertemu secara langsung, sehingga total relay menjadi naik dan total
delivered message pada gambar 4.2.1 lebih tinggi.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

19

Delivery Centrality :Infocom5
Delegation Forwarding

Total Relay Message

700
600
500
400
300
200
100
0
0

2

4

6

8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38

Node Id

Gambar 4.5.2 Grafik Delivery Centrality PROPHET Delegation Forwarding
Haggle Infocom 5

Pada gambar 4.5.2 terlihat bahwa PROPHETDF sebaran pesannya tidak merata,
mekanisme forwarding berbasis delegation forwarding hanya akan selalu memilih
node dengan delivery predictability tertinggi untuk meneruskan pesan sebelumnya.
Dampak yang dapat di lihat jumlah copy message yang rendah di jaringan dapat di
lihat di gambar 4.3.1 dan 4.3.2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

20

Delivery Centrality:Reality MIT
prophet

Total Relay Message

3500
3000
2500
2000
1500
1000
500
0

0 4 8 11 14 17 20 26 29 33 37 40 43 46 49 52 55 58 62 65 69 72 75 78 81 84 89 92 95

Node ID

Gambar 4.5.3 Grafik Delivery Centrality PROPHET Reality MIT

Jika dibandingkan delivery centrality di pergerakan haggle dan pergerakan rality
MIT pada gambar 4.5.3 PROPHET memiliki node yang menjadi node hub node
lebih banyak, walaupun ada beberapa node yang memiliki beban relay yang lebih
tinggi dibanding dengan node lain tetapi tetap menjadi relay.

Delivery Centrality:Reality MIT
Delegation Forwarding

Total Relay Message

3500

3000
2500
2000
1500
1000
500
0
0 4 8 11 14 17 20 26 29 33 37 40 43 46 49 52 55 58 62 65 69 72 75 78 81 84 89

Node ID

Gambar 4.5.4 Grafik Delivery Centrality PROPHET Reality MIT

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

21

Pada gambar diatas menunjukan bahwa dampak dari delegation forwarding yang
hanya akan ada beberapa node saja yang di anggap memiliki nilai DP tertinggi yang
akan dititipi pesan. Dampak lain yaitu tinggi waktu pengiriman pesan di jaringan
yang dapat dilihat di gambar 4.4.1 dan 4.4.2

4.6

Perbandingan Carried Message pada Protokol PROPHET dan
PROPHET Delegation Forwarding

Carried Message To Destination:Infocom 5
Total Carried Message To Destination

prophet
450
350
250
150
50
-50

0

2

4

6

8 10 12 14 16 18 20 22 24 26 28 31 33 35 37 39

Node Id

Gambar 4.6.1 Grafik Carried Message PROPHET Haggle Infocom 5

Pada gambar 4.6.1 pengiriman pesan ke destination lebih merata namun
pada akhir pengiriman pesan PROPHET terlihat menjadi lebih terbebani, namun
pesan yang sampai di destination lebih banyak dari pada PROPHETDF yang dapat
dilihat digambar 4.2.1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

22

Carried Message To Destination:Infocom 5
Total Carried Message To Destination

Delegation Forwarding
300
250
200
150
100
50
0
0

2

4

6

8 10 12 14 16 18 20 22 24 26 28 31 33 35 37 39

Node Id

Gambar 4.6.2 Grafik Carried Message PROPHET Delegation Forwarding Haggle
Infocom 5

Karena sifat dari delegation forwarding hanya menitipkan pesan ke node yang
memiliki delivery predictability yang tinggi Node pembawa pesan langsung ke
destination terlihat lebih bertumpu pada beberapa node yang menyebabkan delivery
ke destination menjadi lebih sedikit dibandingkan dengan PROPHET, selain itu
node di dataset Haggle yang hanya berjumlah 41 tidak efektif untuk PROPHETDF.

Total Carried Message To Destination

Carried Message To Destination :Reality MIT
Prophet
1600
1400
1200
1000
800
600
400
200
0
0 3 6 9 12151821252831343740434649525558616468717477808387909396

Node Id

Gambar 4.6.3 Grafik Carried Message PROPHET Reality MIT

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

23

Dalam dataset Reality MIT PROPHET akan terus mengirimkan pesan dengan
jumlah node yang terlampau banyak. Sifat transitivity dari PROPHET akan
membuat DP node dalam jaringan tidak sesuai dengan kondisi sebenarnya.
Akibatnya PROPHET akan kurang maksimal dalam membawa pesan ke destination
yang berakibat juga pada jumlah copy yang tinggi

Total Carried Message To Destination

Carried Message To Destination :Reality MIT
Delegation Forwarding
1800
1600
1400
1200
1000
800
600
400
200
0
0 3 6 9 12151821252831343740434649525558616468717477808387909396

Node Id

Gambar 4.6.4 Grafik Carried Message PROPHET Delegation Forwarding Reality
MIT

Dengan bertambahnya jumlah node dan durasi simulasi yang lebih panjang pada
dataset Reality MIT , membuat node yang terbebani lebih semakin terlihat. Dapat
dilihat dari gambar diatas menunjukkan kelemahan dari delegation forwarding yang
hanya bertumpu pada node yang memliki nilai DP tertinggi

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

BAB V
KESIMPULAN DAN SARAN
5.1

Kesimpulan

Setelah melakukan pengujian dan analisis pada data hasil simulasi, kesimpulan
yang didapat adalah sebagai berikut:


Routing protokol PROPHET dalam perhitungan DP dan sifat
transitivity menghasilkan perhitungan yang tidak sesuai,
sehingga banyak dari node dalam jaringan memiliki DP yang
tinggi terhadap destination tetap dikirimkan yang berakibat
meningkatnya jumlah copy pesan di dalam jaringan.



Dengan menggunakan delegation forwarding masalah jumlah
copy pesan dalam jaringan dapat teratasi begitu pula dengan
membaiknya pesan yang sampai di destination.



Routing berbasis delegation forwarding jika jumlah node dalam
jaringan sedikit akan menyebabkan kurangnya maksimal
pengiriman pesan yang disebabkan oleh bertumpunya pada node
dengan nilai DP tertinggi.

5.2

Saran

Dengan mekanisme delegation forwarding, menitipi pesan ke node yang memiliki
DP tinggi membuat waktu pesan sampai di tujuan menjadi sedikit lebih lama. Oleh
karena itu diharapkan pada penelitian selanjutanya mekanisme delegation
forwarding memperhatikan waktu pesan di jaringan
kekurangan dari delegation forwarding

24

untuk memperbaiki

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

DAFTAR PUSTAKA

[1] Lindgen, A., Doria, A. & Schelen, O., “Probabilistic Routing in intermittenly
Connected Network”. Mobile Computing and Commun. Review, vol.7, no.3,
july 2003.
[2] Z. Zhang, "Routing in Intermittently Connected Mobile Ad Hoc Networks and
Delay Toleran Networks: Overview and Challenges," IEEE Communications
Surveys & Tutorials, vol. 8, no. 1, pp. 24-37, 2006.
[3] V.erramilli, M. Crovella, A. Chaintreau, and C. Diot, "Delegation forwarding,"
in Proc. of ACM MOBIHOC 2008.
[4] Orlinski, Matthew, “Encounter traces for the ONE simulator”, [online]
diakses di : http://www.shigs.co.uk/index.php?page=traces.2018.
[5] Eagle, Nathan & Pentland, Alex (Sandy). “A Community Resource for
Archiving Wireless Data At Dartmouth” [online] diakses di :
http://crawdad.org/mit/reality/20050701/, The mit/reality dataset (v. 200507-01),2018.

25

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

LAMPIRAN
1. Prophet Decesion Engine

public class ProphetDecisionEngine implements RoutingDecisionEngine {
protected final static String BETA_SETTING = "beta";
protected final static String GAMMA_SETTING = "gamma";
protected final static String P_INIT_SETTING = "initial_p";
protected final static String SECONDS_IN_UNIT_S =
"secondsInTimeUnit";
protected static final double DEFAULT_P_INIT = 0.75;
protected static final double DEFAULT_GAMMA = 0.98;
protected static final double DEFAULT_BETA = 0.25;
protected static final int DEFAULT_UNIT = 1;
protected double beta;
protected double gamma;
protected double pinit;
protected double lastAgeUpdate;
protected int secondsInTimeUnit;
/**
* delivery predictabilities
*/
private Map preds;
public ProphetDecisionEngine(Settings s) {
if (s.contains(BETA_SETTING)) {
beta = s.getDouble(BETA_SETTING);

26

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

27

} else {
beta = DEFAULT_BETA;
}
if (s.contains(GAMMA_SETTING)) {
gamma = s.getDouble(GAMMA_SETTING);
} else {
gamma = DEFAULT_GAMMA;
}
if (s.contains(P_INIT_SETTING)) {
pinit = s.getDouble(P_INIT_SETTING);
} else {
pinit = DEFAULT_P_INIT;
}
if (s.contains(SECONDS_IN_UNIT_S)) {
secondsInTimeUnit = s.getInt(SECONDS_IN_UNIT_S);
} else {
secondsInTimeUnit = DEFAULT_UNIT;
}
preds = new HashMap();
this.lastAgeUpdate = 0.0;
}
public ProphetDecisionEngine(ProphetDecisionEngine de) {
beta = de.beta;
gamma = de.gamma;
pinit = de.pinit;
secondsInTimeUnit = de.secondsInTimeUnit;
preds = new HashMap();

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

28

this.lastAgeUpdate = de.lastAgeUpdate;
}
public RoutingDecisionEngine replicate() {
return new ProphetDecisionEngine(this);
}
public void connectionUp(DTNHost thisHost, DTNHost peer) {
}
public void connectionDown(DTNHost thisHost, DTNHost peer) {
}
public void doExchangeForNewConnection(Connection con, DTNHost
peer) {
DTNHost myHost = con.getOtherNode(peer);
ProphetDecisionEngine de = getOtherProphetDecisionEngine(peer);
Set hostSet = new HashSet(this.preds.size()
+ de.preds.size());
hostSet.addAll(this.preds.keySet());
hostSet.addAll(de.preds.keySet());
this.agePreds();
de.agePreds();
// Update preds for this connection
double myOldValue = this.getPredFor(peer),
peerOldValue = de.getPredFor(myHost),
myPforHost = myOldValue + (1 - myOldValue) * pinit,
peerPforMe = peerOldValue + (1 - peerOldValue) * de.pinit;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

29

preds.put(peer, myPforHost);
de.preds.put(myHost, peerPforMe);
// Update transistivities
for (DTNHost h : hostSet) {
myOldValue = 0.0;
peerOldValue = 0.0;
if (preds.containsKey(h)) {
myOldValue = preds.get(h);
}
if (de.preds.containsKey(h)) {
peerOldValue = de.preds.get(h);
}
if (h != myHost) {
preds.put(h, myOldValue + (1 - myOldValue) * myPforHost *
peerOldValue * beta);
}
if (h != peer) {
de.preds.put(h, peerOldValue + (1 - peerOldValue) *
peerPforMe * myOldValue * beta);
}
}
}
public boolean newMessage(Message m) {
return true;
}
public boolean isFinalDest(Message m, DTNHost aHost) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

30

return m.getTo() == aHost;
}
public boolean shouldSaveReceivedMessage(Message m, DTNHost
thisHost) {
return m.getTo() != thisHost;
}
public boolean shouldSendMessageToHost(Message m, DTNHost
otherHost) {
if (m.getTo() == otherHost) {
return true;
}
ProphetDecisionEngine de =
getOtherProphetDecisionEngine(otherHost);
if (de.getPredFor(m.getTo()) > this.getPredFor(m.getTo()))
return true;
return false;
}
public boolean shouldDeleteSentMessage(Message m, DTNHost
otherHost) {
return false;
//true single copy
}

public boolean shouldDeleteOldMessage(Message m, DTNHost
hostReportingOld) {
return m.getTo() == hostReportingOld;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

31

}
private ProphetDecisionEngine
getOtherProphetDecisionEngine(DTNHost host) {
MessageRouter otherRouter = host.getRouter();
assert otherRouter instanceof DecisionEngineRouter : "This router
only works "
+ " with other routers of same type";
return (ProphetDecisionEngine) ((DecisionEngineRouter)
otherRouter).getDecisionEngine();
}
private void agePreds() {
double timeDiff = (SimClock.getTime() - this.lastAgeUpdate)
/ secondsInTimeUnit;
if (timeDiff == 0) {
return;
}
double mult = Math.pow(gamma, timeDiff);
for (Map.Entry e : preds.entrySet()) {
e.setValue(e.getValue() * mult);
}
this.lastAgeUpdate = SimClock.getTime();
}
/**
* Returns the current prediction (P) value for a host or 0 if entry for the

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

32

* host doesn't exist.
*
* @param host The host to look the P for
* @return the current P value
*/
public double getPredFor(DTNHost host) {
agePreds(); // make sure preds are updated before getting
if (preds.containsKey(host)) {
return preds.get(host);
} else {
return 0;
}
}
}

2. ProphetDecisionEngine Delegation Forwarding

public class ProphetDecisionEngineDF implements
RoutingDecisionEngine {
protected final static String BETA_SETTING = "beta";
protected final static String GAMMA_SETTING = "gamma";
protected final static String P_INIT_SETTING = "initial_p";
protected final static String SECONDS_IN_UNIT_S =
"secondsInTimeUnit";
public static final String T_SETTING = "t";
public static final String TMIN_SETTING = "t_min";
protected static final double DEFAULT_P_INIT = 0.75;
protected static final double DEFAULT_GAMMA = 0.98;
protected static final double DEFAULT_BETA = 0.25;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

33

protected static final int DEFAULT_UNIT = 30;
protected double beta;
protected double gamma;
protected double pinit;
protected double lastAgeUpdate;
protected int secondsInTimeUnit;
/**
* delivery predictabilities
*/
private Map preds;
private Map saveM;
protected Map mUtil;
public ProphetDecisionEngineDF(Settings s) {
if (s.contains(BETA_SETTING)) {
beta = s.getDouble(BETA_SETTING);
} else {
beta = DEFAULT_BETA;
}
if (s.contains(GAMMA_SETTING)) {
gamma = s.getDouble(GAMMA_SETTING);
} else {
gamma = DEFAULT_GAMMA;
}
if (s.contains(P_INIT_SETTING)) {
pinit = s.getDouble(P_INIT_SETTING);

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

34

} else {
pinit = DEFAULT_P_INIT;
}
if (s.contains(SECONDS_IN_UNIT_S)) {
secondsInTimeUnit = s.getInt(SECONDS_IN_UNIT_S);
} else {
secondsInTimeUnit = DEFAULT_UNIT;
}
preds = new HashMap();
saveM = new HashMap();
this.lastAgeUpdate = 0.0;
}
public ProphetDecisionEngineDF(ProphetDecisionEngineDF de) {
beta = de.beta;
gamma = de.gamma;
pinit = de.pinit;
secondsInTimeUnit = de.secondsInTimeUnit;
preds = new HashMap();
saveM = new HashMap();
mUtil = new HashMap();
this.lastAgeUpdate = de.lastAgeUpdate;
}
public RoutingDecisionEngine replicate() {
return new ProphetDecisionEngineDF(this);
}
public void connectionUp(DTNHost thisHost, DTNHost peer) {
}

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

35

public void connectionDown(DTNHost thisHost, DTNHost peer) {
}
public void doExchangeForNewConnection(Connection con, DTNHost
peer) {
DTNHost myHost = con.getOtherNode(peer);
ProphetDecisionEngineDF de =
getOtherProphetDecisionEngine(peer);
Set hostSet = new HashSet(this.preds.size()
+ de.preds.size());
hostSet.addAll(this.preds.keySet());
hostSet.addAll(de.preds.keySet());
this.agePreds();
de.agePreds();
// Update preds for this connection
double myOldValue = this.getPredFor(peer),
peerOldValue = de.getPredFor(myHost),
myPforHost = myOldValue + (1 - myOldValue) * pinit,
peerPforMe = peerOldValue + (1 - peerOldValue) * de.pinit;
preds.put(peer, myPforHost);
de.preds.put(myHost, peerPforMe);
// Update transistivities
for (DTNHost h : hostSet) {
myOldValue = 0.0;
peerOldValue = 0.0;
if (preds.containsKey(h)) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

36

myOldValue = preds.get(h);
}
if (de.preds.containsKey(h)) {
peerOldValue = de.preds.get(h);
}
if (h != myHost) {
preds.put(h, myOldValue + (1 - myOldValue) * myPforHost *
peerOldValue * beta);
}
if (h != peer) {
de.preds.put(h, peerOldValue + (1 - peerOldValue) *
peerPforMe * myOldValue * beta);
}
}
}
public boolean newMessage(Message m) {
return true;
}
@Override
public boolean isFinalDest(Message m, DTNHost aHost) {
return m.getTo() == aHost;
}
@Override
public boolean shouldSaveReceivedMessage(Message m, DTNHost
thisHost) {
return m.getTo() != thisHost;

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

37

}
@Override
public boolean shouldSendMessageToHost(Message m, DTNHost
otherHost) {
if (m.getTo() == otherHost) {
return true;
}
ProphetDecisionEngineDF de =
getOtherProphetDecisionEngine(otherHost);
if (de.getPredFor(m.getTo()) > this.getPredFor(m.getTo())) {
if (!mUtil.containsKey(m.getId())) {
mUtil.put(m.getId(), de.getPredFor(m.getTo()));
return true;
} else {
if (de.getPredFor(m.getTo()) > mUtil.get(m.getId())) {
mUtil.replace(m.getId(), de.getPredFor(m.getTo()));
return true;
} else {
return false;
}
}
} else {
return false;
}
}
@Override
public boolean shouldDeleteSentMessage(Message m, DTNHost
otherHost) {

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

38

return false;
//tru