59
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

ANALISIS UNJUK KERJA PROTOKOL ROUTING ...Telah dipertahankan di depan panitia penguji Pada tanggal 16 Januari 2019 Dan dinyatakan memenuhi syarat Susunan Panitia Penguji Nama Lengkap

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • 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

  • ii

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • iii

    HALAMAN PERSETUJUAN

    SKRIPSI

    ANALISIS UNJUK KERJA PROTOKOL ROUTING PROPHET

    MENGGUNAKAN DELEGATION FORWARDING DI JARINGAN

    OPORTUNISTIK

    Oleh:

    Krisna Ardian

    (145314032)

    Telah disetujui oleh:

    Dosen Pembimbing,

    Bambang Soelistijanto, Ph.D.

    Tanggal,…..Januari 2019

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • iv

    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.

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • v

    MOTTO

    Pilihan hanya ada di tanganmu

    sekarang atau tidak sama sekali - Krisna Ardian

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • vi

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • vii

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • viii

    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.

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • ix

    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.

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • x

    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.

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • xi

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • xii

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • xiii

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 1

    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

    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

    http://www.shigs.co.uk/index.php?page=traces

  • 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

  • 5

    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

    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 − 𝑃(𝑎,𝑐)𝑜𝑙𝑑) 𝑥 𝑃(𝑎,𝑏) 𝑥 𝑃(𝑏,𝑐) 𝑥 𝛽

    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 c

    P(a,b) P(b,c)

    P(a,c)

    c

    a b

    S

    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

  • 10

    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. Parameter-

    parameter berikut adalah:

    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

    PROTOKOL

    JUMLAH

    NODE

    AREA SIMULASI

    (m)

    Haggle3-

    Infocom5

    Prophet & Prophet

    DF 41 1000 x 1000

    Tabel 3.2.1 Skenario Prophet Haggle3-Infocom5

    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

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 11

    MOVEMENT ROUTING

    PROTOKOL

    JUMLAH

    NODE

    AREA SIMULASI

    (m)

    Reality MIT Prophet & Prophet

    DF 97 1000 x 1000

    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

  • 13

    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

    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,

    Protokol

    Routing

    Message

    Delivered

    Total Copy

    Message

    Latency

    Average

    Prophet 3359 118708 25815,2403

    ProphetDF 3216 55585 27004,9294

    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

    4.2 Perbandingan Message Delivered pada Protokol PROPHET dan PROPHET Delegation Forwarding

    Gambar 4.2.1 Grafik Message Delivered PerContact Haggle Infocom5

    Protokol

    Routing

    Message

    Delivered Total Copy

    Message

    Latency

    Average

    Prophet 8090 27634331 1479010,863

    ProphetDF 16869 604624 1365932,897

    0

    500

    1000

    1500

    2000

    2500

    3000

    3500

    4000

    TOTA

    L M

    ESSA

    GE

    DEL

    IVER

    ED

    CONTACT

    MESSAGE DELIVERED PERCONTACT: INFOCOM5

    prophet prophet Delegation Forwarding

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 15

    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.

    0

    2000

    4000

    6000

    8000

    10000

    12000

    14000

    16000

    18000

    50

    0

    35

    00

    65

    00

    95

    00

    12

    50

    0

    15

    50

    0

    18

    50

    0

    21

    50

    0

    24

    50

    0

    27

    50

    0

    30

    50

    0

    33

    50

    0

    36

    50

    0

    39

    50

    0

    42

    50

    0

    45

    50

    0

    48

    50

    0

    51

    50

    0

    54

    50

    0

    57

    50

    0

    60

    50

    0

    63

    50

    0

    66

    50

    0

    69

    50

    0

    72

    50

    0

    75

    50

    0

    78

    50

    0

    81

    50

    0

    84

    50

    0

    Tota

    l Del

    iver

    ed M

    essa

    ge

    Contact

    Message Delivered:Reality MIT

    Prophet Prophet Delegation Forwarding

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 16

    4.3 Perbandingan Total Copy Message pada Protokol PROPHET dan PROPHET Delegation Forwarding

    Gambar 4.3.1 Grafik Total Copy Message PerContact Haggle Infocom5

    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

    0

    20000

    40000

    60000

    80000

    100000

    120000

    140000

    160000

    50

    0

    15

    00

    25

    00

    35

    00

    45

    00

    55

    00

    65

    00

    75

    00

    85

    00

    95

    00

    10

    50

    0

    11

    50

    0

    12

    50

    0

    13

    50

    0

    14

    50

    0

    15

    50

    0

    16

    50

    0

    17

    50

    0

    18

    50

    0

    tota

    l co

    py

    mes

    sage

    contact

    Total Copy message:Infocom5

    Prophet Prophet Delegation Forwarding

    0

    5000000

    10000000

    15000000

    20000000

    25000000

    30000000

    50

    0

    40

    00

    75

    00

    11

    00

    0

    14

    50

    0

    18

    00

    0

    21

    50

    0

    25

    00

    0

    28

    50

    0

    32

    00

    0

    35

    50

    0

    39

    00

    0

    42

    50

    0

    46

    00

    0

    49

    50

    0

    53

    00

    0

    56

    50

    0

    60

    00

    0

    63

    50

    0

    67

    00

    0

    70

    50

    0

    74

    00

    0

    77

    50

    0

    81

    00

    0

    84

    50

    0

    Tota

    l Co

    py

    Mes

    sage

    Contact

    Total Copy Message:Reality MIT

    prophet Delegation Forwarding

    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

    Gambar 4.4.1 Grafik Average Latency PerContact Haggle Infocom 5

    0

    2,000,000,000

    4,000,000,000

    6,000,000,000

    8,000,000,000

    10,000,000,000

    12,000,000,000

    14,000,000,000

    16,000,000,000

    50

    0

    35

    00

    65

    00

    95

    00

    12

    50

    0

    15

    50

    0

    18

    50

    0

    21

    50

    0

    24

    50

    0

    27

    50

    0

    30

    50

    0

    33

    50

    0

    36

    50

    0

    39

    50

    0

    42

    50

    0

    45

    50

    0

    48

    50

    0

    51

    50

    0

    54

    50

    0

    57

    50

    0

    60

    50

    0

    63

    50

    0

    66

    50

    0

    69

    50

    0

    72

    50

    0

    75

    50

    0

    78

    50

    0

    81

    50

    0

    84

    50

    0

    Ave

    rage

    Lat

    ency

    (Se

    con

    d)

    Contact

    Average Latency :Reality MIT

    Prophet Prophet Delegation Forwarding

    0

    50,000,000

    100,000,000

    150,000,000

    200,000,000

    250,000,000

    300,000,000

    50

    0

    15

    00

    25

    00

    35

    00

    45

    00

    55

    00

    65

    00

    75

    00

    85

    00

    95

    00

    10

    50

    0

    11

    50

    0

    12

    50

    0

    13

    50

    0

    14

    50

    0

    15

    50

    0

    16

    50

    0

    17

    50

    0

    18

    50

    0Late

    ncy

    ave

    rage

    (se

    con

    d)

    contact

    Latency average percontact:infocom5

    prophet Delegation Forwarding

    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

    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.

    0

    100

    200

    300

    400

    500

    600

    700

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

    Tota

    l Rel

    ay M

    essa

    ge

    Node Id

    Delivery Centrality :Infocom5

    prophet

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 19

    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

    0

    100

    200

    300

    400

    500

    600

    700

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

    Tota

    l Rel

    ay M

    essa

    ge

    Node Id

    Delivery Centrality :Infocom5

    Delegation Forwarding

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 20

    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.

    Gambar 4.5.4 Grafik Delivery Centrality PROPHET Reality MIT

    0

    500

    1000

    1500

    2000

    2500

    3000

    3500

    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

    Tota

    l Rel

    ay M

    essa

    ge

    Node ID

    Delivery Centrality:Reality MIT

    prophet

    0

    500

    1000

    1500

    2000

    2500

    3000

    3500

    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

    Tota

    l Rel

    ay M

    essa

    ge

    Node ID

    Delivery Centrality:Reality MIT

    Delegation Forwarding

    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

    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

    -50

    50

    150

    250

    350

    450

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

    Tota

    l Car

    ried

    Mes

    sage

    To

    Des

    tin

    atio

    n

    Node Id

    Carried Message To Destination:Infocom 5

    prophet

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 22

    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.

    Gambar 4.6.3 Grafik Carried Message PROPHET Reality MIT

    0

    50

    100

    150

    200

    250

    300

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

    Tota

    l Car

    ried

    Mes

    sage

    To

    Des

    tin

    atio

    n

    Node Id

    Carried Message To Destination:Infocom 5

    Delegation Forwarding

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    0 3 6 9 12151821252831343740434649525558616468717477808387909396

    Tota

    l Car

    ried

    Mes

    sage

    To

    Des

    tin

    atio

    n

    Node Id

    Carried Message To Destination :Reality MIT

    Prophet

    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

    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

    0

    200

    400

    600

    800

    1000

    1200

    1400

    1600

    1800

    0 3 6 9 12151821252831343740434649525558616468717477808387909396

    Tota

    l Car

    ried

    Mes

    sage

    To

    Des

    tin

    atio

    n

    Node Id

    Carried Message To Destination :Reality MIT

    Delegation Forwarding

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 24

    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 untuk memperbaiki

    kekurangan dari delegation forwarding

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 25

    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. 2005-

    07-01),2018.

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 26

    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);

    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;

    //true single copy

    }

    @Override

    public boolean shouldDeleteOldMessage(Message m, DTNHost

    hostReportingOld) {

    return m.getTo() == hostReportingOld;

    }

    private ProphetDecisionEngineDF

    getOtherProphetDecisionEngine(DTNHost host) {

    MessageRouter otherRouter = host.getRouter();

    assert otherRouter instanceof DecisionEngineRouter : "This router

    only works "

    + " with other routers of same type";

    return (ProphetDecisionEngineDF) ((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()) {

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 39

    e.setValue(e.getValue() * mult);

    //System.out.println(e.setValue(e.getValue() * mult));

    }

    this.lastAgeUpdate = SimClock.getTime();

    }

    /**

    * Returns the current prediction (P) value for a host or 0 if entry for the

    * 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;

    }

    }

    }

    3. Haggle 3 Infocom 5 Report

    #Scenario information

    Scenario.name Prophet_DF_HAGGLE_TTL_1_HARIi

    Scenario.simulateConnections = false

    Scenario.updateInterval = 1

    #%%DecisionEngineRouter.rng%%

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 40

    Scenario.endTime = 274883

    #987529 Haggle Cam

    #274883 Haggle

    #16981816 Reality

    Report.warmup = 1

    Scenario.nrofHostGroups = 1

    #Interfaces informations

    btInterface.type = SimpleBroadcastInterface

    btInterface.transmitSpeed = 250k

    btInterface.transmitRange = 10

    btInterface.scanInterval = 120

    #Group Information

    ## Buffer Size : 200 messages of 10 K ~ 2M

    Group.bufferSize = 20M

    ##ProphetRouter

    Group.router = DecisionEngineRouter

    #DecisionEngineRouter.decisionEngine =

    decisionengine.ProphetDecisionEngine

    DecisionEngineRouter.decisionEngine =

    decisionengine.ProphetDecisionEngineDF

    DecisionEngineRouter.t = 1

    DecisionEngineRouter.t_min = 0.4

    ## TTL 24 hours=1440, 1 week= 10080, 3 weeks= 30240,1 month =

    43800, 12 hour = 720

    Group.msgTtl = 1440

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 41

    Group.nrofInterfaces = 1

    Group.interface1 = btInterface

    #Group1 Information

    Group1.groupID = A

    Group1.waitTime = 10, 30

    Group1.speed = 0.8, 1.4

    Group1.nrofHosts = 41

    #36 Haggle Cam

    #41 Haggle

    #97 Reality

    Group1.nodeLocation = 10, 10

    Group1.movementModel = StationaryMovement

    #StationaryMovement gerak diam

    #How many event generator

    Events.nrof = 2

    ## Trace information

    Events1.class = ExternalEventsQueue

    Events1.filePath = Haggle3-Infocom5.txt

    #Events1.filePath = Haggle4-Cam-Imote.csv

    #RealityConnectionTraceRevised.txt

    #Haggle4-Cam-Imote.csv

    #Haggle3-Infocom5.txt

    #RealityConnectionTraceFinal.txt

    ## Message creation parameters

    Events2.class = MessageEventGenerator

    Events2.interval = 58, 62

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 42

    #Events2.interval = 290, 310

    #Events2.interval = 580, 620

    Events2.time = 0, 231683

    #97, 103

    # 25,30 (~120 texts/hour)

    #290, 310 (~12 texts/hour)

    # 580, 620 (~ 6 texts/hour)

    Events2.size = 10k

    ## range of message source/destination address

    Events2.hosts = 0,40

    # 0, 35 Haggle Cam

    # 0,40 Haggle

    # 0,96 Reality

    Events2.prefix = M

    # World's size for Movement Models without implicit size (width, height;

    meters)

    MovementModel.worldSize = 100, 100

    # seed for movement models' pseudo random number generator (default =

    0)

    MovementModel.rngSeed = 2

    #ReportsInformations

    Report.nrofReports = 10

    Report.reportDir = reports/Prophet/DF/

    #Report classes to load

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 43

    Report.report1 = MessageStatsReport

    Report.report2 = DeliveryCentralityReport

    Report.report3 = LatencyPerContact

    Report.report4 = CarriedMessageToDestinationReport

    Report.report5 = MessageCopyReportperContact

    Report.report6 = ReceiveMessage

    Report.report7 = BufferOccupancyReport

    Report.report8 = BufferOccupancyPerTime

    Report.report9 = MessageStatsReportperContact

    Report.report10 = MessageStatsReportperTime

    4. Reality MIT Report

    #Scenario information

    Scenario.name = Prophet_BIASA_REALITY_TTL_2_BULAN

    Scenario.simulateConnections = false

    Scenario.updateInterval = 1

    Scenario.endTime = 16981816

    #987529 Haggle Cam

    #274883 Haggle

    #16981816 Reality

    Report.warmup = 1

    Scenario.nrofHostGroups = 1

    #Interfaces informations

    btInterface.type = SimpleBroadcastInterface

    btInterface.transmitSpeed = 250k

    btInterface.transmitRange = 10

    btInterface.scanInterval = 120

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 44

    #Group Information

    ## Buffer Size : 200 messages of 10 K ~ 2M

    Group.bufferSize = 20M

    ##ProphetRouter

    Group.router = DecisionEngineRouter

    DecisionEngineRouter.decisionEngine =

    decisionengine.ProphetDecisionEngine

    #DecisionEngineRouter.decisionEngine =

    decisionengine.ProphetDecisionEngineDF

    DecisionEngineRouter.beta = 0.25

    DecisionEngineRouter.gamma = 0.98

    DecisionEngineRouter.initial_p = 0.75

    DecisionEngineRouter.secondsInTimeUnit = 1000

    DecisionEngineRouter.t = 1

    DecisionEngineRouter.t_min = 0.4

    ## TTL 24 hours=1440, 1 week= 10080, 3 weeks= 30240,1 month =

    43800,2 month = 876001, 12 hour = 720

    Group.msgTtl = 876001

    Group.nrofInterfaces = 1

    Group.interface1 = btInterface

    #Group1 Information

    Group1.groupID = A

    Group1.waitTime = 10, 30

    Group1.speed = 0.8, 1.4

    Group1.nrofHosts = 97

    #36 Haggle Cam

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 45

    #41 Haggle

    #97 Reality

    Group1.nodeLocation = 10, 10

    Group1.movementModel = StationaryMovement

    #StationaryMovement gerak diam

    #How many event generator

    Events.nrof = 2

    ## Trace information

    Events1.class = ExternalEventsQueue

    Events1.filePath = RealityConnectionTraceFinal.txt

    #Events1.filePath = Haggle4-Cam-Imote.csv

    #RealityConnectionTraceRevised.txt

    #Haggle4-Cam-Imote.csv

    #Haggle3-Infocom5.txt

    #RealityConnectionTraceFinal.txt

    ## Message creation parameters

    Events2.class = MessageEventGenerator

    Events2.interval = 580, 620

    #Events2.interval = 290, 310

    #Events2.interval = 580, 620

    Events2.time = 0, 15167416

    #97, 103

    # 25,30 (~120 texts/hour)

    #290, 310 (~12 texts/hour)

    # 580, 620 (~ 6 texts/hour)

    Events2.size = 10k

    ## range of message source/destination address

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

  • 46

    Events2.hosts = 0,96

    # 0, 35 Haggle Cam

    # 0,40 Haggle

    # 0,96 Reality

    Events2.prefix = M

    # World's size for Movement Models without implicit size (width, height;

    meters)

    #MovementModel.worldSize = 100, 100

    MovementModel.worldSize = 100, 100

    # seed for movement models' pseudo random number generator (default =

    0)

    MovementModel.rngSeed = 2

    #ReportsInformations

    Report.nrofReports = 10

    Report.reportDir = reports/Prophet/biasa/std pabrik

    #Report classes to load

    Report.report1 = MessageStatsReport

    Report.report2 = DeliveryCentralityReport

    Report.report3 = LatencyPerContact

    Report.report4 = CarriedMessageToDestinationReport

    Report.report5 = MessageCopyReportperContact

    Report.report6 = ReceiveMessage

    Report.report7 = BufferOccupancyReport

    Report.report8 = LastHopMessageReport

    Report.report9 = MessageStatsReportperContact

    Report.report10 = MessageStatsReportperTime

    PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI