• Tidak ada hasil yang ditemukan

ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK DI JARINGAN OPORTUNISTIK

N/A
N/A
Protected

Academic year: 2022

Membagikan "ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK DI JARINGAN OPORTUNISTIK"

Copied!
58
0
0

Teks penuh

(1)

i

ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK DI

JARINGAN OPORTUNISTIK

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Untuk Mendapat Gelar Sarjana Komputer

Program Studi Informatika

Disusun Oleh:

I Ketut Muliana 165314065

PROGRAM STUDI INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2020

(2)

ii

PERFORMANCE ANALYSIS OF KNAPSACK-BASED BANDWIDTH AND BUFFER MANAGEMENT STRATEGIES

IN OPORTUNISTIC NETWORK

THESIS

Presented as Partial Fulfilment of the Requirements to Obtain Sarjana Komputer

in Informatics Study Program

by:

I Ketut Muliana 165314065

INFORMATICS STUDY PROGRAM FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSTY YOGYAKARTA

2020

(3)

iii

HALAMAN PERSETUJUAN SKRIPSI

ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK DI

JARINGAN OPORTUNISTIK

Oleh:

I KETUT MULIANA 165314065

Telah disetujui oleh:

Tanggal: November 2020

Dosen Pembimbing

Bambang Soelistijanto, S.T., M.Sc., Ph.D

(4)

iv

HALAMAN PENGESAHAN SKRIPSI

ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK DI

JARINGAN OPORTUNISTIK Dipersiapkan dan disusun oleh:

I KETUT MULIANA NIM: 165314065

Telah dipertahankan di depan panitia dan penguji Pada tanggal, 6 November 2020

dan dinyatakan telah memenuhi syarat.

Susunan Panitia Penguji

Nama Lengkap Tanda Tangan

Ketua Drs. Haris Sriwindono, M.Kom, Ph.D. ……….

Sekretaris Vittalis Ayu S.T., M.Cs. ……….

Anggota Bambang Soelistijanto, S.T., M.Sc., Ph.D. ……….

Yogyakarta, Desember 2020 Fakultas Sains dan Teknologi

Universitas Sanata Dharma Dekan,

(5)

v

MOTTO

“Memayu Hayuning Bawana.”

~nn

(6)

vi

PERNYATAAN LEMBAR KEASLIAN KARYA

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

Yogyakarta, 6 November 2020

Penulis,

I Ketut Muliana

(7)

vii

LEMBARAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA

ILMIAH UNTUK KEPENTINGAN AKADEMIS

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

Nama : I Ketut Muliana

Nomor Induk Mahasiswa : 165314065

Demi pengembangan ilmu pengetahuan, saya memberikan karya ilmiah ini kepada Perpustakaan Universitas Sanata Dharma, karya ilmiah yang berjudul:

ANALISIS UNJUK KERJA STRATEGI MANAJEMEN BANDWIDTH DAN BUFFER BERBASIS KNAPSACK 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 pangkalan 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, 6 November 2020 Penulis,

I Ketut Muliana

(8)

viii

ABSTRAK

Dalam jaringan oportunistik pada beberapa model pergerakan mempunyai permasalahan yaitu contact times duration yang singkat sehingga mengakibatkan bandwidth menjadi terbatas serta waktu delay yang lama. Penelitian ditujukan untuk mengoptimalkan sumber daya jaringan, terutama ketika bandwidth terbatas dan ukuran pesan yang berbeda. Penulis menyajikan strategi manajemen bandwidth untuk forwarding dan manajemen buffer untuk dropping pesan berbasis Knapsack pada Epidemic routing protocol. Strategi manajemen bandwidth untuk forwarding pesan merupakan strategi pemilihan pesan yang optimal dan kemudian direplikasi selama terjadi kontak serta strategi manajemen buffer untuk dropping yaitu pemilihan pesan yang akan di drop ketika buffer overflow berdasarkan solusi dari Knapsack problem dengan menggunakan metode pendekatan Dynamic programming yang mana memperhatikan nilai utility serta panjang tiap pesan dalam menentukan solusi dari permasalahan forwarding maupun dropping pesan pada jaringan. Pada penelitian ini, simulasi dijalankan dengan menggunakan pergerakan Bus Transjogja pada The ONE Simulator. Hasilnya menunjukkan bahwa, strategi manajemen bandwidth dan buffer berbasis Knapsack mencapai jumlah rata-rata persentase pengiriman dan delay pesan yang baik. Tetapi, hal tersebut mempengaruhi kenaikan jumlah rata-rata overhead dan drop pesan pada jaringan.

Kata kunci: jaringan oportunistik, knapsack problem, forwarding, dropping.

(9)

ix

ABSTRACT

In Opportunistic network in some models of movement has problems short contact times duration resulting in limited bandwidth and long delay time. Research is aimed at optimizing network resources, especially when bandwidth is limited and message sizes are different. We present bandwidth management strategies for forwarding and buffer management for dropping Knapsack-based on Epidemic routing protocols. Bandwidth management strategy for forwarding messages is an optimal message selection strategy and then replicated during contact and buffer management strategy to drop that is the selection of messages to be drop when buffer overflow based on solutions from Knapsack problem using Dynamic programming approach method which pays attention to utility value and length of each message in determining the solution of forwarding problems and dropping messages on the network. In this study, the simulation was carried out using Transjogja Bus movements in The ONE Simulator. The results show Knapsack- based bandwidth and buffer management strategies achieved an average number of percentages of good message delivery and delay. However, this affects the increase in the average amount of overhead and the drop of messages on the network.

Keywords: opportunistic networks, knapsack problem, scheduling, dropping.

(10)

x

KATA PENGANTAR

Puji dan syukur saya ucapkan kepada Tuhan atas berkat dan rahmatnya sehingga penulis dapat menyelesaikan skripsi ini dengan baik.

Penulis menyadari bahwa penelitian ini tidak dapat terselesaikan dengan baik tanpa dukungan dan bimbingan dari berbagai pihak. Oleh karena itu, penulis ingin menyampaikan ucapan terima kasih kepada beberapa pihak yang telah membantu dalam penyusunan skripsi ini terutama kepada:

1. Orang tua dan keluarga besar tercinta yang senantiasa memberikan dukungan dan doa kepada penulis.

2. Bapak Bambang Soelistijanto S.T., M.Sc., Ph.D. selaku dosen pembimbing skripsi penulis yang selalu memberikan kritik dan saran yang membangun dalam penyusunan skripsi.

3. Ibu Polina S.Kom., M.Sc. selaku Dosen Pembimbing Akademik penulis yang memberikan perhatian dan masukkan selama perkuliahan.

4. Teman-teman seperjuangan Jaringan Komputer (JARKOM) 2016 yang selalu menyemangati penulis dalam pengerjaan skripsi.

5. Teman-teman organisasi KMHD dan KMHDI yang selalu saling menyemangati baik ketika di organisasi maupun perkuliahan.

6. Semua pihak yang tidak dapat disebutkan satu-persatu yang telah membantu penulis dalam menyelesaikan skripsi ini.

Tiada gading yang tak retak, penulis menyadari bahwa tulisan ini masih jauh dari kata sempurna. Oleh karena itu, segala kritik dan saran sangat penulis harapkan untuk menyempurnakan tulisan ini. Akhir kata penulis mengucapkan terima kasih.

Yogyakarta, 6 November 2020 Penulis,

I Ketut Muliana

(11)

xi

DAFTAR ISI

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

MOTTO ... v

PERNYATAAN LEMBAR KEASLIAN KARYA ... vi

LEMBARAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... vii

ABSTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xi

DAFTAR GAMBAR ... xiii

DAFTAR TABEL ... xiv

DAFTAR RUMUS ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Tujuan Penelitian ... 2

1.4 Manfaat Penelitian ... 3

1.5 Batasan Masalah ... 3

1.6 Metodologi Penelitian ... 3

1.7 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 5

2.1 Jaringan Oportunistik ... 5

2.2 Epidemic routing ... 5

2.3 Rapid routing ... 7

2.4 Knapsack Problem ... 11

2.5 ONE Simulator ... 16

BAB III METODE PENELITIAN ... 17

3.1 Parameter Simulasi ... 17

3.2 Skenario Simulasi ... 19

(12)

xii

3.3 Alat Penelitian ... 23

3.4 Alat Penelitian ... 23

3.5 Matriks Unjuk Kerja ... 24

BAB IV PENGUJIAN DAN ANALISA ... 26

4.1 Perbandingan Average Percentage Delivery Per Total Contact ... 26

4.2 Perbandingan Average Latency Per Total Contact ... 27

4.3 Perbandingan Average Overhead Per Total Contact ... 29

4.4 Perbandingan Average Drop Per Total Contact ... 30

BAB V KESIMPULAN DAN SARAN ... 32

5.1 Kesimpulan ... 32

5.2 Saran ... 32

DAFTAR PUSTAKA ... 33

LAMPIRAN ... 35

(13)

xiii

DAFTAR GAMBAR

Gambar 2.1.1 Mekanisme Store-Carry-Forward ... 5

Gambar 2.2.1 Mekanisme pertukaran pesan pada Epidemic routing ... 6

Gambar 2.4.1.1 Contoh contact times duration dan intercontact times duration dua buah node ... 15

Gambar 3.2.1 Skenario pertemuan Bus dengan Sensor ... 20

Gambar 3.2.2 Skenario pertemuan antar Bus ... 21

Gambar 3.2.3 Skenario pengiriman pesan pada Bus ... 22

Gambar 3.2.4 Skenario pesan datang ditolak ... 22

Gambar 4.1.1 Average Percentage Delivery Per Total Contact ... 26

Gambar 4.2.1 Average Latency Per Total Contact ... 27

Gambar 4.3.1 Average Overhead Per Total Contact ... 29

Gambar 4.4.1 Average Drop Per Total Contact ... 30

(14)

xiv

DAFTAR TABEL

Tabel 2.3.1 Daftar variabel yang digunakan ... 8

Tabel 2.4.1 Daftar variabel yang digunakan ... 12

Tabel 2.4.2 Komputasi bottom-up ... 14

Tabel 3.1.1 Parameter simulasi dan nilainya ... 17

(15)

xv

DAFTAR RUMUS

Rumus 2.3.1 ... 8

Rumus 2.4.1 ... 11

Rumus 2.4.2 ... 12

Rumus 2.4.1.1 ... 15

Rumus 2.4.1.2 ... 16

Rumus 3.5.1 ... 25

Rumus 3.5.2 ... 25

Rumus 3.5.3 ... 25

Rumus 3.5.4 ... 25

(16)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Jaringan Oportunistik[1] merupakan jaringan yang tidak mempunyai infrastruktur, contact times duration yang singkat, tidak adanya koneksi end-to-end yang tetap serta delay yang lama. Mekanisme transmisi pesan pada jaringan oportunistik tidak memerlukan koneksi secara langsung antara node sumber dan node tujuan, tetapi memiliki system store-carry- forward, dimana setiap node menyimpan pesan dalam buffer, kemudian meneruskan pesan sampai menuju tujuan (destination). Pada jaringan oportunistik terdapat beberapa protokol pengiriman pesan, salah satunya protokol Epidemic routing[2].

Epidemic routing[2] merupakan salah satu protokol di jaringan oportunistik yang mengirim pesan secara flooding. Cara kerja protokol ini yaitu node akan membanjiri pesan ke semua node yang ditemuinya, sehingga probabilitas pesan terkirim sampai ke tujuan sangat baik dengan kondisi storage dan bandwidth tidak terbatas. Namun, tidak mempertimbangkan bahwa pada jaringan oportunistik dalam beberapa skenario pergerakan juga memiliki contact times duration yang singkat serta panjang pesan yang berbeda. Oleh sebab itu, perlu adanya strategi manajemen bandwidth dalam forwarding dan strategi manajemen buffer dalam dropping pesan dalam jaringan oportunistik.

Dari permasalahan tersebut, terdapat suatu permasalahan yang dikenal dengan istilah “Permasalahan Knapsack” atau lebih dikenal

“Knapsack Problem”. Knapsack problem[3] merupakan suatu permasalahan bagaimana memilih pesan yang optimal untuk direplikasi atau pesan yang kurang optimal untuk di drop pada buffer berdasarkan nilai utility yang diperoleh dari nilai marginal utility dari metrik minimizing average delay pada Rapid routing[4] dan panjang tiap pesan tersebut,

(17)

2

sehingga diperoleh suatu pengiriman serta penyimpanan pesan yang optimal pada buffer.

Pada penelitian ini, akan dibahas bagaimana strategi suatu node pada jaringan mengatur bandwidth dalam forwarding dan dropping pesan dengan metode Knapsack problem 0-1[3] yang menggunakan pendekatan Dynamic programming[5] yang mana memilih pesan dengan bandwidth yang terbatas untuk direplikasi selama terjadi kontak antar node dan menentukan pesan yang akan di drop ketika buffer overflow berdasarkan nilai utility dan panjang tiap pesan. Dari hasil pengujian tersebut akan diambil kesimpulan apakah algoritma Knapsack problem 0-1 dengan menggunakan pendekatan Dynamic programming berhasil secara optimal dapat mengatur bandwidth dalam forwarding dan mengatur buffer dalam dropping pesan berdasarkan nilai utility dan panjang pesan pada jaringan oportunistik.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan, rumusan masalah yang diperoleh adalah bagaimana unjuk kerja strategi manajemen bandwidth dan buffer dengan metode Knapsack problem 0-1 menggunakan pendekatan Dynamic programming dalam pemilihan pesan yang akan direplikasi ketika node bertemu dan menentukan pesan yang akan di drop ketika buffer overflow berdasarkan nilai utility dan panjang setiap pesan pada jaringan oportunistik.

1.3 Tujuan Penelitian

Tujuan dari tugas akhir ini adalah mengetahui unjuk kerja dari strategi manajemen bandwidth dan buffer dengan metode Knapsack problem 0-1 menggunakan pendekatan Dynamic programming dalam pemilihan pesan yang akan direplikasi ketika node bertemu dan menentukan pesan yang akan di drop ketika buffer overflow berdasarkan nilai utility dan panjang tiap pesan pada jaringan oportunistik yang mana diukur dengan metrik unjuk kerja Average percentage delivery per total contact, Average

(18)

3

delay per total contact, Average overhead per total contact, Average drop per total contact.

1.4 Manfaat Penelitian

Hasil dari penelitian ini diharapkan dapat digunakan sebagai bahan pertimbangan dalam mengoptimalkan manajemen bandwidth pada forwarding dan manajemen buffer pada dropping pesan pada jaringan oportunistik.

1.5 Batasan Masalah

Batasan masalah pada penelitian ini sebagai berikut:

1. Menggunakan pergerakan Bus Transjogja.

2. Menggunakan Epidemic routing dan Rapid routing sebagai pembanding terhadap Knapsack routing.

3. Contact times duration antara node singkat.

4. Nilai utility pesan di update ketika connection up.

5. Algoritma knapsack untuk forwarding bekerja ketika connection up.

6. Algoritma knapsack untuk dropping bekerja ketika buffer overflow.

1.6 Metodologi Penelitian

Metodologi Penelitian yang digunakan:

a. Studi Literatur

1) Teori Opportunistic network, 2) Teori Epidemic routing, 3) Teori Rapid routing,

4) Teori Knapsack problem, dan 5) Teori The ONE simulator.

b. Perancangan

Dalam tahap ini penulis merancang skenario dengan menerapkan algoritma Knapsack problem 0-1 untuk mengoptimalkan manajemen bandwidth dalam forwarding dan manajemen buffer dalam dropping pesan berdasarkan nilai utility dan panjang setiap pesan dalam contact times duration antar node yang singkat serta panjang pesan yang berbeda.

(19)

4

c Pembangunan Simulasi dan pengumpulan Data

• Hasil simulasi pada ONE simulator tersebut menghasilkan file output dan disimpan pada folder reports.

• File output berupa data dari Average percentage delivery per total contact, Average delay per total contact, Average overhead per total contact, Average drop per total contact.

• Menganalisa hasil dari file output.

d. Penarikan Kesimpulan

Penarikan kesimpulan didasarkan pada analisa beberapa matriks unjuk kerja dari hasil data yang diperoleh.

1.7 Sistematika Penulisan

Berikut ini merupakan sistematika penulisan yang terbagi kedalam beberapa bab:

BAB I PENDAHULUAN

Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah, tujuan penelitian, manfaat penelitian, batasan masalah, metodologi penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini berisi tentang dasar teori yang digunakan sebagai dasar dalam melakukan penelitian tugas akhir.

BAB III PERANCANGAN SIMULASI

Bab ini berisi tentang rancangan simulasi yang akan digunakan dalam penelitian.

BAB IV PENGUJIAN DAN ANALISIS

Bab ini berisi tentang tahap-tahap pengujian, simulasi dan analisa data dari hasil penelitian.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dari hasil pengujian dan analisis simulasi serta saran dari penulis untuk penelitian selanjutnya.

(20)

5

BAB II

LANDASAN TEORI

2.1 Jaringan Oportunistik

Jaringan oportunistik atau Opportunistic network[1] adalah suatu jaringan yang tidak memiliki infrastuktur serta mampu mentoleransi adanya delay. Jaringan oportunistik merupakan arsitektur yang cocok pada jaringan yang menantang (Challenged Network). Maksud dari menantang adalah jaringan yang memiliki delay yang tinggi, serta tidak selalu ada jalur end- to-end yang tetap.

Gambar 2.1.1 Mekanisme Store-Carry-Forward

Jaringan opportunistik menerapkan mekanisme store-carry- forward, dimana setiap node menyimpan pesan dalam buffer, kemudian meneruskan pesan sampai menuju node tujuan (destination). Node yang tidak menjadi destination akan menjadi node relay yang menjadi penghubung antar node, seperti ilustrasi Gambar 2.1.1 di atas. Pada jaringan oportunistik terdapat beberapa protokol dengan mekanisme penyebaran pesan yang berbeda, salah satunya yaitu protokol Epidemic routing[2].

2.2 Epidemic routing

Epidemic routing[2] diterbitkan oleh Vahdat dan Becker et al (2000), yang dirancang sebagai algoritma flooding-based forwarding.

Algoritma Epidemic routing[2] sendiri merupakan dasar penyebaran

(21)

6

informasi pada jaringan oportunistik. Cara kerja protokol ini dimulai ketika node bertemu dengan node lainnya akan bertukar summary vector, untuk mengidentifikasi pesan apakah node yang baru ditemui sudah mempunyai pesan yang di bawa node pengirim atau tidak, jika tidak maka node pengirim akan meneruskan salinan pesan yang dibawa sampai ke node tujuan.

𝑆𝑉𝐴

𝑅𝑒𝑞𝑢𝑒𝑠𝑡 = (𝑆𝑉𝐴 + 𝑆𝑉𝐵) 𝑀𝑒𝑠𝑠𝑎𝑔𝑒𝑠 𝑢𝑛𝑘𝑛𝑜𝑤𝑛 𝑡𝑜 𝐵

Gambar 2.2.1 Mekanisme pertukaran pesan pada Epidemic routing Pada Gambar 2.2.1 menggambarkan pertukaran pesan antara node A dan node B pada Epidemic routing. Pada langkah satu, A mentransmisikannya summary vector, 𝑆𝑉𝐴 ke B. 𝑆𝑉𝐴 adalah representasi dari semua pesan yang ada pada buffer A. Selanjutnya, B melakukan operasi logika AND antara negasi summary vektor: ¬𝑆𝑉𝐵, (negasi vektor ringkasan B, mewakili pesan yang diperlukan) dan 𝑆𝑉𝐴. B menentukan perbedaan set antara pesan yang ada di buffer A dan pesan yang ada secara lokal di buffer B. B kemudian mentransmisikan vector yang meminta pesan-pesan dari A.

Pada langkah ketiga, A mentransmisikan pesan yang diminta B. Proses ini diulang secara transitif ketika B bertemu dengan node baru.

Pada protokol Epidemic routing mempunyai skenario bahwa kapasitas bandwidth dan buffer yang tidak terbatas. Tetapi, pada jaringan oportunistik terdapat skenario yang mana kapasitas bandwidth dan buffer menjadi permasalahan dengan kondisi kapasitas bandwidth dan buffer yang terbatas. Skenario dengan permasalahan tersebut berdasarkan protokol yang

(22)

7

terdapat pada jaringan oportunistik maka protokol Rapid routing[4] lebih cocok diterapkan jika dibandingkan dengan protokol Epidemic routing.

2.3 Rapid routing

Rapid routing[4] merupakan sebuah protokol routing di jaringan oportunistik yang dimaksudkan dapat mengoptimalkan routing metrik tertentu. Pada Rapid routing terdapat tiga metrik untuk menghitung marginal utility diantaranya yaitu minimizing average delay, minimizing missed deadlines, dan minimizing maximum delay. Pada penelitian ini penulis menggunakan metrik minimizing average delay untuk memperoleh nilai utility dari setiap pesan di jaringan. Metrik tersebut diukur dengan menjumlahkan delay pesan. Dengan demikian, pengertian dari utility pesan adalah delay yang diharapkan itu sendiri.

Sebagai contoh routing metrik seperti minimize average delay, kesesuaian utility dari pesan 𝑖 (𝑢𝑖) adalah negatif dari rata-rata delay pesan 𝑖, yaitu waktu yang telah pesan 𝑖 habiskan di dalam jaringan dan tambahan delay yang diharapkan sebelum pesan 𝑖 sampai tujuan. Marginal utility pesan 𝑖 (𝛿𝑢𝑖) = 𝑢𝑖

𝑙𝑖 menunjukan peningkatan 𝑢𝑖 dengan melakukan replikasi 𝑖 dan 𝑙𝑖 merupakan panjang pesan 𝑖. Kemudian, Rapid routing mereplikasikan pesan dengan nilai marginal utility terbesar dari setiap pesan yang ada di dalam buffer dan pesan diurutkan secara menurun berdasarkan nilai tersebut.

Rapid routing memiliki tiga komponen inti yaitu algoritma selection, algoritma inference, dan control channel[4]. Algoritma selection digunakan untuk menentukan pesan-pesan yang akan direplikasi pada kesempatan transfer. Algoritma inference digunakan untuk memperkirakan utility dari pesan berdasarkan metrik tertentu. Control channel berfungsi untuk menyebarkan metadata yang diperlukan oleh algoritma inference.

Untuk meminimalkan average delay pesan dalam jaringan, definisi dari utility pesan, dirumuskan sebagai berikut:

(23)

8

Rumus 2.3.1 𝑢𝑖 = −𝐷𝑖

Rata-rata delay pesan merupakan salah satu performance metrik yang diukur. Dengan demikian, protokol berupaya untuk mereplikasi pesan yang replikasinya mengurangi delay dengan semua pesan yang ada di dalam buffer.

Algoritma Estimasi Delay (𝑋, 𝑄, 𝑍): Node 𝑋 dengan sekumpulan pesan 𝑄 ke node tujuan 𝑍 dengan estimasi sisa waktu 𝐴𝑖, selama pesan 𝑖 ∈ 𝑄 terkirim ke 𝑍 sebagai berikut:

1. Urutkan kumpulan pesan 𝑄 dalam urutan menurun berdasarkan 𝑇𝑖. Dimana 𝑏𝑖 adalah jumlah panjang pesan yang mendahulai 𝑖, dan 𝐵 rata- rata peluang transfer yang diharapkan dalam Byte antara node 𝑋 dan node 𝑍.

2. Node 𝑋 membutuhkan [𝑏𝑖/𝐵] kali agar dapat bertemu dengan node 𝑍 untuk mengirimkan pesan 𝑖. Menghitung random variable 𝑀𝑋(𝑖) untuk delay yang sesuai sebagai berikut:

𝑀𝑋(𝑖) = 𝑀𝑋𝑍+ 𝑀𝑋𝑍+ ⋯ 𝑠𝑒𝑏𝑎𝑛𝑦𝑎𝑘 [𝑏𝑖/𝐵]

3. 𝑋1, … , 𝑋𝑘 ⊇ 𝑋 adalah himpunan node yang memiliki replika 𝑖. Estimasi sisa waktu 𝑎𝑖 sebagai berikut:

𝑎𝑖 = min(𝑀𝑋1(𝑖) , … , 𝑀𝑋𝑘(𝑖)) 4. Expected delay 𝐷𝑖 = 𝑇𝑖 + 𝐸[𝑎𝑖]

Tabel 2.3.1 Daftar variabel yang digunakan 𝐷𝑖 Delay yang diharapkan dari pesan 𝑖 = 𝑇𝑖+ 𝐴𝑖 𝑇𝑖 Waktu sejak pesan 𝑖 dibuat

𝑎𝑖 Variabel acak menentukan sisa waktu untuk mengirimkan 𝑖 𝐴(𝑖) Estimasi sisa waktu = 𝐸[𝑎(𝑖)]

𝑀𝑋𝑍 Variabel acak yang menentukan waktu pertemuan antara node 𝑋 dan 𝑍

(24)

9

Rapid routing dapat dijelaskan sebagai berikut.

Rapid routing (X, Y):

1. Initialization: mendapatkan metadata dari node Y tentang pesan dalam buffer serta metadata yang dikumpulkan node Y pada pertemuan sebelumnya.

2. Direct delivery: memberikan pesan yang ditentukan untuk node Y diurutkan menurun berdasarkan utility pesan.

3. Replication: untuk setiap pesan 𝑖 dalam buffer node X

• Jika pesan 𝑖 sudah ada dalam buffer node Y (seperti yang ditentukan dari metadata), maka pesan 𝑖 diabaikan.

• Memperkirakan marginal utility untuk mereplikasi pesan 𝑖 ke node Y.

• Mereplikasi pesan dalam urutan menurun berdasarkan nilai marginal utility.

4. Termination: transfer berakhir ketika node keluar dari jangkauan.

Dengan skenario permasalahan pada kapasitas bandwidth dan buffer yang terbatas, Rapid routing menggunakan mekanisme pengiriman pesan berdasarkan prioritas yaitu dengan mereplikasikan pesan dengan nilai utility terbesar dari setiap pesan yang ada di dalam buffer dan pesan diurutkan secara menurun berdasarkan nilai tersebut. Hal tersebut dapat menjadi masalah ketika panjang pesan pada jaringan bervariasi karena terdapat kemungkinan ketika nilai utility serta panjang pesan besar maka pesan tersebut kurang optimal jika direplikasi terlebih dahulu mengingat kapasitas bandwidth yang terbatas. Oleh karena itu, perlu adanya mekanisme manajemen bandwidth dalam forwarding pesan yang memerhatikan nilai utility serta panjang tiap pesan pada jaringan. Permasalahan tersebut diketahui sebagai permasalahan kombinatorial untuk memilih pesan yang optimal berdasarkan nilai utility dan panjang pesan pada jaringan.

Permasalahan kombinatorial tersebut dapat diselesaikan dengan metode Knapsack problem[3].

(25)

10

Manajemen buffer untuk dropping pada protokol Rapid routing jika terjadi buffer overflow ialah melakukan drop pada pesan yang mempunyai nilai utility yang paling rendah hingga terdapat ruang yang cukup untuk pesan yang datang. Selain itu, routing ini juga mempunyai mekanisme dropping apabila pesan sudah mencapai node tujuan maka node akan mencatat informasi berupa id pesan yang kemudian informasi tersebut ditukarkan dengan node lain setiap terjadi kontak. Selama terjadi kontak, apabila pada node peer terdapat id pesan yang sama dengan id pesan yang telah sampai pada node tujuan maka pesan dengan id yang sama pada buffer tersebut di drop dan apabila terjadi kondisi buffer overflow dan tidak terdapat id pesan yang sama maka node akan melakukan dropping berdasarkan nilai utility terendah hingga terdapat ruang yang cukup untuk pesan yang akan masuk ke buffer.

Apabila terjadi kondisi tersebut, dengan skenario panjang pesan yang bervariasi maka akan ada kemungkinan terjadinya perulangan dropping dikarenakan panjang pesan yang datang berukuran lebih besar dari pada panjang pesan dengan nilai utility terendah dan kemungkinan lainnya ialah pesan dengan nilai utility yang besar juga akan di drop karena pada routing ini tidak membandingkan nilai utility pesan yang datang dengan nilai utility setiap pesan yang dimiliki node pada buffer.

Oleh karena itu, perlu adanya manajemen buffer untuk dropping yang mana dapat membandingkan nilai utility pesan yang datang dengan nilai utility setiap pesan pada buffer dalam sekali perhitungan sehingga dapat memilih beberapa pesan sekaligus yang akan di drop sehingga dapat menghasilkan penyimpanan yang optimal. Permasalahan tersebut diketahui sebagai permasalahan kombinatorial untuk memilih pesan yang kurang optimal berdasarkan nilai utility dan panjang pesan pada buffer.

Permasalahan kombinatorial tersebut dapat diselesaikan dengan metode Knapsack problem[3]. Tetapi, apabila nilai utility pesan yang datang itu lebih rendah dibandingkan dengan nilai utility tiap pesan pada buffer maka pesan yang datang tersebut ditolak.

(26)

11 2.4 Knapsack Problem

Masalah knapsack[3] adalah permasalahan optimasi kombinatorial untuk pilihan paling tepat dari barang-barang yang akan dibawa dalam sebuah tas pada sebuah perjalanan. Dalam jaringan oportunistik, Knapsack problem merupakan permasalahan optimasi kombinatorial dimana kumpulan pesan masing-masing memiliki panjang dan nilai utility.

Pemilihan pesan yang akan direplikasi dengan bandwidth yang terbatas dan dengan nilai utility total sebesar mungkin atau disertakan dalam buffer sehingga beban total kurang dari atau sama dengan kapasitas buffer dan dengan nilai utility total sebesar mungkin. Pada knapsack problem terdapat beberapa jenis metode knapsack salah satunya knapsack problem 0-1[3].

Knapsack problem 0-1 mempunyai konsep pilih atau tidak dipilih. Secara matematik knapsack problem 0-1 dapat diformulasikan sebagai formulasi berikut ini.

Rumus 2.4.1

𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 ∑ 𝑣𝑗𝑏𝑗

𝑚

𝑗=1

𝑤ℎ𝑒𝑟𝑒 ∑ 𝑤𝑗𝑏𝑗 ≤ W

𝑚

𝑗=1

𝑥𝑖 ∈ {0,1}

Dari formulasi knapsack di atas apabila kita implementasikan ke dalam jaringan oportunistik maka formulasinya seperti berikut.

(27)

12

Rumus 2.4.2

𝑚𝑎𝑥𝑖𝑚𝑖𝑧𝑒 ∑ 𝑢𝑖𝑥𝑖

𝑛

𝑖=1

𝑤ℎ𝑒𝑟𝑒 ∑ 𝑙𝑖𝑥𝑖 ≤ C

𝑛

𝑖=1

𝑥𝑖 ∈ {0,1}

Tabel 2.4.1 Daftar variabel yang digunakan Variabel Deskripsi

𝑚 Banyaknya barang 𝑗 Indeks barang

𝑏𝑗 Decision variables (1 jika dipilih dan 0 jika tidak) pada barang indeks 𝑗

W Kapasitas Tas

𝑤𝑗 Kapasitas barang pada indeks 𝑗 𝑣𝑗 Nilai barang pada indeks 𝑗

𝑛 Banyaknya pesan 𝑖 Indeks pesan

𝑥𝑖 Decision variables (1 jika dipilih dan 0 jika tidak) pada pesan ke-𝑖

𝑙𝑖 Panjang pesan pada indeks 𝑖 C Nilai batas kapasitas

𝑢𝑖 Utility pesan pada indeks 𝑖 = marginal utility pesan ke 𝑖 𝑈 Kombinasi nilai maksimum pesan di dalam buffer

Terdapat beberapa pendekatan yang dapat digunakan untuk menyelesaikan permasalahan knapsack diantaranya yaitu dynamic programming, greedy, branch and bound, brute force dan genetic

(28)

13

algorithm. Untuk menyelesaikan permasalahan knapsack penulis menggunakan pendekatan dynamic programming. Dynamic programming[5] merupakan sebuah metode untuk menyelesaikan permasalahan optimasi. Ide dari dynamic programming yaitu menghitung solusi untuk sub-masalah dan menyimpan solusinya dalam sebuah tabel, sehingga dapat digunakan kembali. Namun, metode ini membutuhkan lebih banyak memori karena membuat panggilan rekursif yang membutuhkan memori tambahan.

Complexity dari metode dynamic programming adalah 𝑂(𝑛 ∗ 𝐶𝑎𝑝𝑎𝑐𝑖𝑡𝑦) [6]. Dynamic programming membutuhkan array dua dimensi dengan baris yang sama dengan jumlah pesan dan kolom yang sama dengan batasan ketika forwarding atau dropping. Dalam penerapan dynamic programming pada knapsack problem 0-1 terdapat beberapa langkah- langkah diantaranya sebagai berikut[5].

• Langkah 1: Menguraikan masalah menjadi masalah yang lebih kecil.

Kami membangun sebuah array 𝑈[0. . 𝑛, 0. . 𝐶]. Selama 0 ≤ 𝑖 ≤ 𝑛, dan 0 ≤ 𝑙 ≤ 𝐶, entri 𝑈[𝑖, 𝑙] akan menyimpan komputasi maksimum (gabungan) dari setiap subset pesan {0,1, 2, … , 𝑖} dari ukuran (gabungan) paling banyak 𝑙.

Jika dapat menghitung semua entri array ini, maka entri array 𝑈[𝑛, 𝐶] akan berisi komputasi maksimum pesan yang dapat masuk ke dalam forwarding atau dropping untuk solusi masalah knapsack.

• Langkah 2: Secara rekursif menentukan nilai solusi optimal dalam hal solusi untuk masalah yang lebih kecil.

Initial setting: Set

𝑈[0, 𝑙] = 0 𝑓𝑜𝑟 0 ≤ 𝑙 ≤ 𝐶, 𝑛𝑜 𝑖𝑡𝑒𝑚 Recursive step: Use

𝑈[𝑖, 𝑙] = max(𝑈[𝑖 − 1, 𝑤], 𝑢𝑖 + 𝑈[𝑖 − 1, 𝑙 − 𝑙𝑖]) 𝑓𝑜𝑟 1 ≤ 𝑖 ≤ 𝑛, 0 ≤ 𝑙 ≤ 𝐶

Untuk menghitung 𝑈[𝑖, 𝑙] kami perhatikan bahwa kami hanya memiliki dua pilihan untuk pesan 𝑖:

(29)

14

➢ Tinggalkan pesan 𝑖: Yang terbaik yang bisa kita lakukan dengan pesan {0,1,2, … , 𝑖 − 1} dan batas penyimpanan 𝑙 adalah 𝑈[𝑖 − 1, 𝑙].

➢ Ambil pesan 𝑖 (hanya mungkin jika 𝑙𝑖 ≤ 𝑙): Kemudian kita mendapatkan 𝑢𝑖 waktu komputasi, tetapi telah menghabiskan 𝑙𝑖 byte penyimpanan buffer. Cara terbaik yang bisa kita lakukan dengan pesan yang tersisa {0,1,2, … , 𝑖 − 1} dan penyimpanan (𝑙 − 𝑙𝑖) adalah 𝑈[𝑖 − 1, 𝑙 − 𝑙𝑖]. Sehingga, kita mendapatkan 𝑢𝑖 + 𝑈[𝑖 − 1, 𝑙 − 𝑙𝑖].

• Langkah 3: Komputasi bottom-up 𝑈[𝑖, 𝑙] (menggunakan iterasi, bukan rekursi).

Bottom: 𝑈[0, 𝑙] = 0, 𝑓𝑜𝑟 𝑎𝑙𝑙 0 ≤ 𝑙 ≤ 𝐶

Komputasi bottom-up: komputasi tabel menggunakan

𝑈[𝑖, 𝑙] = max (𝑈[𝑖 − 1, 𝑙], 𝑢𝑖 + 𝑈[𝑖 − 1, 𝑙 − 𝑙𝑖]) baris demi baris.

Tabel 2.4.2 Komputasi bottom-up

𝑈[𝑖, 𝑙] 𝑙 = 0 1 2 3 ⋯ 𝐶

𝑖 = 0 0 0 0 0 ⋯ 0 bottom

1 2

𝑛 up

2.4.1 Knapsack untuk forwarding

Knapsack untuk forwarding merupakan strategi manajemen bandwidth untuk forwarding pesan, yang mana memilih pesan yang optimal dengan jumlah nilai utility total yang besar dan jumlah total panjang pesan yang kurang dari sama dengan batasan kapasitas

(30)

15

untuk forwarding. Nilai batasan kapasitas untuk forwarding merupakan nilai perkiraan seberapa besar kapasitas bandwidth untuk forwarding pesan dari dua node yang terhubung pada jaringan dan dapat diperoleh dengan tahapan sebagai berikut.

Pada tahap pertama, terlebih dahulu harus memperoleh nilai rata-rata contact times duration[7] antara node yang ada pada jaringan untuk memperkirakan lama waktu dua node tersebut terhubung.

Gambar 2.4.1.1 Contoh contact times duration dan intercontact times duration dua buah node

Pada Gambar 2.4.1.1 merupakan contoh contact times duration dan intercontact times duration dua buah node yang terjadi pada jaringan. Contact times duration merupakan lama waktu dua node terkoneksi dalam satuan detik, intercontact times duration merupakan lama waktu dua node tidak terkoneksi dalam satuan detik. Node akan mencatat setiap lama waktu durasi kontak bertemu bedasarkan node yang ditemui. Untuk memperkirakan nilai rata-rata contact times duration antara node dapat dirumuskan sebagai berikut.

Rumus 2.4.1.1 𝐴𝑣𝑔𝐶𝑇𝐷𝑁𝑋𝑌 = 𝑡𝑜𝑡𝑎𝑙 𝐶𝑇𝐷 𝑁𝑋𝑌

𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑜𝑛𝑡𝑎𝑐𝑡 𝑁𝑋𝑌 Ket:

• 𝐴𝑣𝑔𝐶𝑇𝐷𝑁𝑋𝑌 = rata-rata contact times duration node X dan Y

• 𝑁𝑋𝑌 = Node X dan Y

(31)

16

Apabila node peer yang ditemui baru pertama kali maka rata- rata contact times duration di set 1 dan apabila sudah pernah ditemui sebelumnya maka akan melakukan perhitungan untuk memperoleh nilai rata-rata contact times duration.

Pada tahap selanjutnya yaitu memperkirakan kapasitas bandwidth untuk forwarding yang dapat dirumuskan sebagai berikut.

Rumus 2.4.1.2 𝐶𝑓 = 𝐴𝑣𝑔𝐶𝑇𝐷𝑁𝑋𝑌∗ 𝑡𝑟𝑎𝑛𝑠𝑓𝑒𝑟 𝑠𝑝𝑒𝑒𝑑 𝑛𝑜𝑑𝑒

Ket:

• 𝐶𝑓 = kapasitas bandwidth untuk forwarding 2.4.2 Knapsack untuk dropping

Knapsack untuk dropping merupakan strategi manajemen buffer untuk dropping pesan, yang mana memilih pesan yang kurang optimal berdasarkan nilai utility dan panjang pesan yang ada pada buffer dan pesan yang datang ketika buffer overflow dengan batasan kapasitas untuk dropping yaitu kapasitas buffer[8].

Untuk melihat hasil unjuk kerja dari metode Knapsack problem 0-1 dengan pendekatan Dynamic programming pada routing di jaringan oportunistik maka pada penelitian ini menggunakan sebuah aplikasi simulasi yaitu ONE Simulator[9].

2.5 ONE Simulator

ONE Simulator[9] adalah sebuah aplikasi yang dibuat untuk mengevaluasi routing di jaringan oportunistik dan bentuk pengaplikasian protokol yang lain.

(32)

17

BAB III

METODE PENELITIAN

3.1 Parameter Simulasi

Pada simulasi ini, parameter yang digunakan dapat dilihat pada Tabel 3.1.1

Tabel 3.1.1 Parameter simulasi dan nilainya

Parameter Nilai

Ukuran Peta 19.45 km x 10.95 km

Luas area sekitar 212 km2

Waktu simulasi 18 jam

Banyak pesan yang dibuat oleh sensor 4010 Time-To-Live (TTL) pesan 1 jam Sensor

Banyak sensor yang disebar 38

Movement model Stationary

Ukuran pesan 100 kB – 500 kB

Interval pembuatan pesan 10 menit

Ukuran buffer 3 MB

Interfaces type 802.11b link profile

Transmission range 20 m

(33)

18

Transmission speed 375 kB

Bus Transjogja

Banyak jalur Bus Transjogja 17

Banyak bus 117

Movement model

Map-route Movement With Stop

Movement speed 2.7 – 11.1 m/s

Buffer size 40 MB

Interfaces#1 type 802.11p link profile

Transmission range 100 m

Transmission speed 750 kB

Interfaces#2 type 802.11b link profile

Transmission range 20 m

Transmission speed 375 kB

Terminal

Banyak Terminal 3

Movement model Stationary

Buffer size 1 GB

Interfaces type 802.11p link profile

Transmission range 100 m

(34)

19

Transmission speed 750 kB

Destination

Banyak Destination 1

Movement model Stationary

Buffer size 1 GB

Interfaces type 802.11p link profile

Transmission range 100 m

Transmission speed 750 kB

3.2 Skenario Simulasi

Pada penelitian ini, penulis menggunakan skenario simulasi pergerakan Bus Transjogja dengan kasus penyebaran pesan pelanggaran lalu lintas di D.I. Yogyakarta. Skenario pergerakan Bus Transjogja[10]

bergerak secara circular dan sesuai pada jalur yang sudah ditentukan dan menggunakan metode Knapsack Problem 0-1 dengan pendekatan Dynamic Programming untuk strategi manajemen bandwidth pada forwarding dan manajemen buffer pada droping pesan. Knapsack untuk forwarding dikerjakan ketika connection up dan Knapsack untuk dropping dikerjakan ketika buffer dalam kondisi overflow. Pada metode Knapsack memerlukan sebuah nilai utlity pada tiap pesan yang dimiliki node pada jaringan. Untuk memperoleh nilai utility tiap pesan menggunakan metrik meminimalkan rata-rata delay yang dapat dilihat pada Rumus 2.3.1, dan untuk mekanisme perhitungan Knapsack problem 0-1 dengan pendekatan Dynamic programming serta untuk memperkirakan nilai kapasitas bandwidth dapat dilihat pada sub Bab 2.4.

(35)

20

Pada simulasi ini, node pada jaringan dianalogikan sebagai sensor, bus dan terminal dengan spesifikasi yang dijelaskan pada Tabel 3.1.1 dan terdapat beberapa ketentuan skenario simulasi yaitu sebagai berikut:

a. Sensor bertugas membuat pesan dan tidak menjadi relay, b. Sensor bersifat single copy,

c. Bus Transjogja dan terminal bertugas menjadi relay dan tidak membuat pesan,

d. Bus Transjogja dan terminal bersifat multiple copy, e. Ukuran pesan bervariasi,

f. Contact times duration antara node singkat.

Pada skenario simulasi Knapsack untuk forwarding, ketika connection up terjadi antara node Bus dengan node Sensor maka node Bus tidak akan mengirimkan pesan jika bertemu node Sensor.

Gambar 3.2.1 Skenario pertemuan Bus dengan Sensor

Sedangkan untuk node Sensor akan mereplikasi pesan ke node Bus, karena node Sensor bersifat single copy maka setelah pesan yang direplikasi dan sampai pada node Bus maka node Sensor langsung menghapus pesan tersebut, mekanisme tersebut terus berlanjut hingga kontak berakhir seperti pada Gambar 3.2.1.

Tetapi ketika connection up terjadi antar node Bus ataupun node Bus dengan node Terminal mempunyai mekanisme yang sama yaitu misalkan Bus A sebagai sender dan Bus B sebagai receiver maka setiap node Bus A

(36)

21

akan menjalankan knapsack untuk forwarding dengan tahapan menghitung nilai utility tiap pesan yang dimiliki pada buffer node Bus A, mencatat setiap lama waktu durasi kontak bertemu bedasarkan node yang ditemui, menghitung nilai rata-rata dari waktu durasi kontak dengan node yang ditemui berdasarkan kontak histori yang dimiliki guna memperoleh nilai perkiraan kapasitas banwidth yang akan digunakan sebagai batasan kapasitas pada Knapsack untuk forwarding.

Gambar 3.2.2 Skenario pertemuan antar Bus

Knapsack untuk forwarding digunakan untuk memilih pesan dengan nilai total utility sebesar mungkin serta panjang total pesan yang kurang dari atau sama dengan batas kapasitas bandwidth sehingga diperoleh pengiriman pesan yang optimal. Seperti pada Gambar 3.2.2 menunjukkan bahwa pada node Bus A dari tiga pesan yang ada pada buffer hanya terpilih dua pesan yang akan direplikasi setelah melakukan perhitungan Knapsack untuk forwarding. Untuk pesan yang terpilih akan direplikasi selama kontak terjadi dan pesan yang tidak terpilih maka pesan tersebut tidak akan ikut direplikasi.

(37)

22

Gambar 3.2.3 Skenario pengiriman pesan pada Bus

Pada Gambar 3.2.3 apabila disaat pengiriman dari node Bus A ke node Bus B dan ternyata buffer pada node Bus B penuh atau overflow maka node Bus B akan menjalankan knapsack untuk dropping guna memilih pesan yang kurang optimal dari pesan yang ada pada buffer node Bus B dan pesan yang datang yang kemudian dilakukan perhitungan Knapsack.

Gambar 3.2.4 Skenario pesan datang ditolak

Setelah melakukan perhitungan Knapsack untuk dropping dan menunjukkan bahwa pesan yang datang tersebut tidak termasuk ke solusi optimal dengan batasan kapasitas buffer pada node Bus B maka pesan yang datang tersebut ditolak oleh node Bus B seperti pada Gambar 3.2.4. Tetapi jika pesan yang datang termasuk ke solusi optimal maka satu atau beberapa

(38)

23

pesan pada buffer node Bus B yang akan di drop sekaligus hingga pesan yang datang tersebut mendapatkan ruang pada buffer di node Bus B.

3.3 Alat Penelitian a. Hardware

PC dengan spesifikasi prosesor Intel i7 dengan RAM sebesar 16 GB.

b. Software

Menggunakan Netbeans IDE dan The One Simulator.

3.4 Alat Penelitian

a. Pseudo-code knapsack for forwarding

IF Koneksi Terhubung

Mencatat waktu awal terhubung dengan peer Menghitung rata-rata waktu bertemu dengan peer Menghitung nilai utility dan panjang tiap pesan Menghitung batasan send knapsack for forwarding FOR i = 0 hingga jumlah pesan yang ada di buffer +1

FOR length = 0 hingga batasan send + 1 IF Pesan ke i= 0 atau length = 0

Solusi terbaik dari i dan length =0 Else IF Panjang pesan ke i-1 <= length

Solusi terbaik dari i dan length = nilai maksimal dari solusi terbaik dari i-1 dan length, atau nilai utility pesan i-1 + solusi terbaik dari i-1 dan length-panjang pesan i-1 Else

Solusi terbaik dari i dan length = solusi terbaik dari i-1 dan length

End IF End FOR End FOR

FOR j = Jumlah pesan hingga 1 secara menurun

IF Solusi terbaik dari j dan batasan send > solusi terbaik j-1 dan batasan send

Pesan j-1 terpilih yang akan di replikasi

Batasan send = batasan send – panjang pesan j-1 End IF

End FOR End IF

(39)

24 b. Pseudo-code knapsack for dropping

IF Buffer Overflow

Menggabungkan pesan di buffer dan pesan yang baru Menghitung nilai utility dan panjang tiap pesan Batasan drop = kapasitas buffer

FOR i = 0 hingga jumlah pesan yang ada di buffer +1 FOR length = 0 hingga batasan drop + 1

IF Pesan ke i= 0 atau length = 0 Solusi terbaik dari i dan length =0 Else IF Panjang pesan ke i-1 <= length

Solusi terbaik dari i dan length = nilai maksimal dari solusi terbaik dari i-1 dan length, atau nilai utility pesan i-1 + solusi terbaik dari i-1 dan length-panjang pesan i-1 Else

Solusi terbaik dari i dan length = solusi terbaik dari i-1 dan length

End IF End FOR End FOR

FOR j = Jumlah pesan hingga 1 secara menurun

IF Solusi terbaik dari j dan batasan drop > solusi terbaik j-1 dan batasan drop

Batasan drop = batasan drop – panjang pesan j-1 Else

Pesan terpilih yang akan di drop End IF

End FOR End IF

3.5 Matriks Unjuk Kerja

Terdapat empat metrik unjuk kerja yang digunakan untuk menganalisis unjuk kerja strategi manajemen buffer dengan menggunakan metode knapsack problem 0-1 pada jaringan oportunistik, yaitu:

(40)

25

a. Average Percentage Delivery Per Total Contact

Average percentage delivery per total contact adalah rata-rata persentase dari pesan yang dibuat dapat sampai ke tujuan berdasarkan total contact.

Rumus 3.5.1 𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝑃𝑒𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒 𝐷𝑒𝑙𝑖𝑣𝑒𝑟𝑦

= (𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒

𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑐𝑟𝑒𝑎𝑡𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 ) ∗ 100 b. Average Delay Per Total Contact

Average delay per total contact adalah rata-rata perbandingan total waktu yang berlalu dari pesan dibuat hingga terkirim terhadap jumlah pesan yang berhasil terkirim berdasarkan total contact.

Rumus 3.5.2 𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝐷𝑒𝑙𝑎𝑦 = 𝑡𝑜𝑡𝑎𝑙 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑦 𝑑𝑒𝑙𝑎𝑦

𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 c. Average Overhead Per Total Contact

Average overhead per total contact adalah rata-rata perbandingan jumlah pesan yang di relay atau di copy terhadap jumlah pesan yang dikirim berdasarkan total contact.

Rumus 3.5.3 𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝑂𝑣𝑒𝑟ℎ𝑒𝑎𝑑

=𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 𝑐𝑜𝑝𝑦 − 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑑𝑒𝑙𝑖𝑣𝑒𝑟𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒

d. Average Drop Per Total Contact

Average drop per total contact adalah rata-rata pesan yang di drop pada jaringan berdasarkan total contact.

Rumus 3.5.4 𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝐷𝑟𝑜𝑝 = 𝑡𝑜𝑡𝑎𝑙 𝑑𝑟𝑜𝑝𝑝𝑒𝑑 𝑚𝑒𝑠𝑠𝑎𝑔𝑒

𝑡𝑜𝑡𝑎𝑙 𝑐𝑜𝑛𝑡𝑎𝑐𝑡

(41)

26

BAB IV

PENGUJIAN DAN ANALISA

Dalam melakukan evaluasi terhadap routing berbasis Knapsack yang dibandingkan dengan Epidemic routing dan Rapid routing pada pergerakan Bus Transjogja[10], yang akan dilakukan dengan simulasi sesuai dengan skenario yang telah dirancang pada Bab III, hasil dari report saat simulasi berlangsung akan menjadi bahan untuk dianalisa.

4.1 Perbandingan Average Percentage Delivery Per Total Contact

Gambar 4.1.1 Average Percentage Delivery Per Total Contact Pada Gambar 4.1.1, menunjukkan nilai average percentage delivery per total contact dari data pelanggaran lalu lintas dengan menggunakan Epidemic routing[2], Rapid routing[4], dan Knapsack routing. Masing-masing routing memiliki nilai persentase Epidemic routing sebesar 79.195, Rapid routing sebesar 77.803, dan Knapsack routing sebesar 83. Pada Gambar 4.1.1 Epidemic routing dengan nilai persentase maksimum 89.499 dan median 85.603, Rapid routing dengan nilai

(42)

27

persentase maksimum 89.108 dan median 84.868, dan Knapsack routing dengan nilai persentase maksimum 89.108 dan median 87.332.

Nilai average percentage delivery per total contact dari Knapsack routing lebih tinggi jika dibandingkan kedua routing lainnya. Hal tersebut dikarenakan pada Knapsack routing ketika terjadi connection up, routing tersebut memperkirakan seberapa besar kapasitas bandwidth dan memilih pesan berdasarkan nilai utility terbesar dan panjang pesan kurang dari atau sama dengan perkiraan kapasitas bandwidth sehingga dihasilkan pengiriman pesan yang optimal. Jika dibandingkan dengan Rapid routing dimana strategi pengiriman pesan hanya berdasarkan nilai marginal utility terbesar yang diurutkan secara menurun dan tidak mengirimkan pesan dengan nilai utility negatif dan Epidemic routing yang menggunakan metode random yang artinya routing tersebut dalam pengiriman pesan mempunyai prioritas yang sama untuk mereplikasi pesan secara flooding ketika dua node terkoneksi pada jaringan oportunistik.

4.2 Perbandingan Average Latency Per Total Contact

Gambar 4.2.1 Average Latency Per Total Contact

(43)

28

Pada Gambar 4.2.1, menunjukkan nilai average latency per total contact dari data pelanggaran lalu lintas dengan menggunakan Epidemic routing[2], Rapid routing[4], dan Knapsack routing. Masing-masing routing memiliki nilai Epidemic routing sebesar 1931.818, Rapid routing sebesar 1937.277, dan Knapsack routing sebesar 1059.221. Pada Gambar 4.2.1 Epidemic routing dengan nilai maksimum 2059.49 dan median 2038.57, Rapid routing dengan nilai maksimum 2069.24 dan median 2043.67, dan Knapsack routing dengan nilai maksimum 1111.26 dan median 1095.15.

Nilai average latency per total contact dari Knapsack routing lebih rendah jika dibandingkan kedua routing lainnya. Nilai latency dipengaruhi oleh pergerakan Bus Transjogja[10] yang berhenti pada terminal. Semakin lama Bus Transjogja berhenti maka latency akan semakin meningkat.

Tetapi, pada Knapsack routing diperoleh nilai average latency yang paling rendah jika dibandingkan dengan Epidemic routing dan Rapid routing. Hal tersebut dikarenakan nilai utility pada knapsack routing berasal dari marginal utility menggunakan metrik minimizing average delay yang bertujuan untuk meminimalkan rata-rata delay pada routing dan dengan adanya metode dropping yang digunakan oleh knapsack routing yang akan melakukan drop satu atau beberapa pesan sekaligus jika nilai utility pesan bernilai negatif atau pesan tidak termasuk kedalam solusi optimal dari perhitungan Knapsack problem 0-1 ketika buffer overflow.

Jika dibandingkan dengan Rapid routing dengan nilai utility yang diperoleh dari metrik yang sama yaitu metrik minimizing average delay tetapi dengan strategi droping pesan yang berbeda dimana pada routing ini hanya akan melakukan drop pesan dengan marginal utility terendah hingga terdapat ruang yang cukup untuk pesan yang diterima ketika buffer overflow dan tidak melakukan drop kesemua pesan yang memiliki nilai utility negatif sehingga hal tersebut yang mengakibatkan rata-rata delay pada routing ini cukup tinggi karena pesan dengan nilai utility negatif tersebut akan lebih lama berada di jaringan. Jika dibandingkan dengan Epidemic routing

(44)

29

dimana nilai rata-rata delay pada routing tersebut paling tinggi, hal tersebut dikarenakan pesan yang berada dijaringan lebih lama dan tidak adanya metode untuk memanajemen delay pesan pada Epidemic routing.

4.3 Perbandingan Average Overhead Per Total Contact

Gambar 4.3.1 Average Overhead Per Total Contact

Pada Gambar 4.3.1, menunjukkan nilai average overhead per total contact dari data pelanggaran lalu lintas dengan menggunakan Epidemic routing[2], Rapid routing[4], dan Knapsack routing. Masing-masing routing memiliki nilai Epidemic routing sebesar 156.997, Rapid routing sebesar 116.610, dan Knapsack routing sebesar 224.669. Pada Gambar 4.3.1 Epidemic routing dengan nilai maksimum 325.25 dan median 159.416, Rapid routing dengan nilai maksimum 187 dan median 118.944, dan Knapsack routing dengan nilai maksimum 252.365 dan median 243.478.

Nilai average overhead per total contact dari Knapsack routing lebih tinggi jika dibandingkan kedua routing lainnya. Hal tersebut dikarenakan pada Knapsack routing jika buffer overflow maka node akan melakukan dropping dari satu hingga beberapa pesan sekaligus yang tidak

(45)

30

termasuk kedalam strategi optimal, hal itu mengakibatkan bila node tersebut bertemu dengan node lain yang mempunyai pesan yang di drop sebelumnya dengan nilai utility yang terbaru maka node tersebut akan mereplikasi pesan tersebut yang akibatnya akan menambah jumlah copy dari pesan tersebut sehingga miningkatkan overhead di jaringan.

Berbeda halnya dengan Rapid routing yang mana pada routing tersebut terdapat pencatatan dan pertukaran informasi ketika connection up mengenai id pesan yang sudah sampai ditujuan, dari pertukaran informasi tersebut membuat pengetahuan global di jaringan sehingga node bisa mengetahui bahwa pesan dengan id tersebut sudah sampai ke tujuan dan dengan begitu node tidak akan mereplikasi pesan tersebut dan akan melakukan dropping berdasarkan id pesan yang tercatat dari penyebaran informasi tersebut. Hal tersebut mengakibatkan overhead pada jaringan menjadi rendah. Epidemic routing rata-rata overhead cukup tinggi hal tersebut dikarenakan pada routing ini menggunakan mekanisme pengiriman pesan secara flooding.

4.4 Perbandingan Average Drop Per Total Contact

Gambar 4.4.1 Average Drop Per Total Contact

(46)

31

Pada Gambar 4.4.1, menunjukkan nilai average overhead per total contact dari data pelanggaran lalu lintas dengan menggunakan Epidemic routing[2], Rapid routing[4], dan Knapsack routing. Masing-masing routing memiliki nilai Epidemic routing sebesar 267570.047, Rapid routing sebesar 197926.491, dan knapsack sebesar 421176.329. Pada Gambar 4.4.1 Epidemic routing dengan nilai maksimum 560572 dan median 265704, Rapid routing dengan nilai maksimum 417626 dan median 194664, dan knapsack dengan nilai maksimum 889936 dan median 421527.

Nilai average drop per total contact dari Knapsack routing lebih tinggi jika dibandingkan kedua routing lainnya. Hal tersebut dikarenakan pada Knapsack routing dengan nilai utility yang selalu update ketika connection up dan dengan adanya metode dropping pesan berdasarkan Knapsack problem 0-1 dimana ketika buffer overflow maka routing akan melakukan dropping satu hingga beberapa pesan sekaligus yang tidak termasuk solusi optimal dari perhitungan Knapsack yang berdasarkan nilai utility dan panjang pesan dengan batasan kapasitas buffer yang dimiliki node.

Pada Rapid routing menunjukkan nilai average drop per total contact yang rendah hal tersebut dikarenakan adanya pencatatan dan penyebaran pengetahuan global tentang id pesan-pesan yang sudah sampai pada node tujuan yang dipertukarkan ketika terjadi connection up dan node akan melakukan dropping pesan berdasarkan id pesan yang diperoleh dari pengetahuan global yang kemudian dicek pada buffer, jika terdapat id pesan yang sama maka Rapid routing akan melakukan dropping pesan berdasarkan id pesan tersebut. Epidemic routing menunjukkan nilai yang cukup tinggi dan routing tersebut menggunakan metode dropping pesan menggunakan FIFO[11].

(47)

32 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian dan analisis pada hasil simulai, kesimpulan yang didapat adalah unjuk kerja strategi manajemen bandwidth dan buffer dengan metode Knapsack problem 0-1 dengan pendekatan Dynamic programming dengan menggunakan model pergerakan Bus Transjogja pada The ONE Simulator menunjukkan hasil bahwa Knapsack routing lebih optimal terutama pada jumlah rata-rata delay dan jumlah rata- rata percentage message delivered dan kurang optimal pada jumlah rata-rata overhead serta jumlah rata-rata pesan yang di drop pada penyebaran data pelanggaran lalu lintas pada jaringan oportunistik.

5.2 Saran

Pada penelitian selanjutnya diharapkan dapat mengoptimalkan terutama pada jumlah rata-rata overhead dan jumlah rata-rata pesan yang di drop dalam penyebaran data pelanggaran lalu lintas pada jaringan oportunistik dengan menggunakan metode drop Rapid routing.

(48)

33

DAFTAR PUSTAKA

[1] N. Kaur and G. Mathur, “Opportunistic Networks : A Review Navneet Kaur , And Gauri Mathur ,” vol. 18, no. 2, pp. 20–26, 2016, doi: 10.9790/0661- 1802032026.

[2] R. Schiessel, M. Starlinger, M. Rotter, J. Funovics, and K. Dinstl, “[Whole gut irrigation for large bowel preparation (author’s transl)].,” Langenbecks Arch. Chir., vol. 344, no. 4, pp. 265–9, 1978, [Online]. Available:

http://www.ncbi.nlm.nih.gov/pubmed/306010.

[3] K. D. KW, M. Fadhli, and C. Sutanto, “Penyelesaian Knapsack Problem Menggunakan Algoritma Genetika,” Semin. Nas. Inform. 2010 (semnasIF 2010), vol. 1, no. 4, pp. 28–33, 2010.

[4] A. Balasubramanian, B. N. Levine, and A. Venkataramani, “DTN routing as a resource allocation problem,” Comput. Commun. Rev., vol. 37, no. 4, pp.

373–384, 2007, doi: 10.1145/1282427.1282422.

[5] T. K. Problem, “Lecture 13: The Knapsack Problem,” pp. 1–17, 2014.

[6] M. Hristakeva and D. Shrestha, “Different Approaches to Solve the 0/1 Knapsack Problem,” Retrieved Novemb., pp. 0–14, 2004, [Online].

Available:

http://www.webpages.uidaho.edu/~stevel/565/literature/Different Approaches to Solve the 0 1 Knapsack Problem.pdf.

[7] F. Li and J. Wu, “LocalCom: A community-based epidemic forwarding scheme in disruption-tolerant networks,” 2009 6th Annu. IEEE Commun.

Soc. Conf. Sensor, Mesh Ad Hoc Commun. Networks, SECON 2009, 2009, doi: 10.1109/SAHCN.2009.5168942.

[8] E. Wang, Y. Yang, and J. Wu, “A Knapsack-based buffer management strategy for delay-tolerant networks,” J. Parallel Distrib. Comput., vol. 86, pp. 1–15, 2015, doi: 10.1016/j.jpdc.2015.07.008.

[9] A. Keränen, J. Ott, and T. Kärkkäinen, “The ONE simulator for DTN protocol evaluation,” 2009, doi: 10.4108/ICST.SIMUTOOLS2009.5674.

[10] U. Mendapat, G. Sarjana, P. S. Informatika, and W. T. Wicaksana,

(49)

34

“Pemodelan pergerakan bus transjogja menggunakan modifikasi map route movement (kasus: pengumpulan data pelanggaran lalu lintas dan polusi udara),” 2020.

[11] S. Jain and M. Chawla, “Survey of buffer management policies for delay tolerant networks,” J. Eng., vol. 2014, no. 3, pp. 117–123, 2014, doi:

10.1049/joe.2014.0067.

(50)

35

LAMPIRAN

Class Rapid routingKnapsackBusTjRouter

(51)

36

(52)

37

(53)

38

(54)

39

(55)

40 Class MessageEventBusTj

Class MessageCreateEventBusTj

(56)

41 Class MessageEventGeneratorBusTJ

(57)

42

(58)

43

Gambar

Gambar 2.1.1 Mekanisme Store-Carry-Forward
Gambar 2.2.1 Mekanisme pertukaran pesan pada Epidemic routing  Pada Gambar 2.2.1 menggambarkan pertukaran pesan antara node  A  dan  node  B  pada  Epidemic  routing
Tabel 2.3.1 Daftar variabel yang digunakan
Tabel 2.4.1 Daftar variabel yang digunakan  Variabel  Deskripsi
+7

Referensi

Garis besar

Dokumen terkait

Dalam kitabnya al Umm, al Syafi’i mengatakan apabila seseorang menyewakan rumahnya kepada orang lain dengan harga 100 dinar selama 4 tahun dengan syarat pembayarannya sampai

1) VoIP layak dilewatkan dan berhasil dilewatkan pada MANET. Dapat dilihat dari rata- rata nilai delay, jitter, dan packet loss yang berada pada rentang nilai yang

Menurut penelitian Cognitive Behavioral Therapy (CBT) merupakan pendekatan yang paling efektif dalam mengobati PTSD. Dalam CBT, terapis membantu untuk mengubah

ICD-10 dan DSM-IV mendefinisikan gangguan penyesuaian sebagai keadaan sementara yang ditandai dengan munculnya gejala dan terganggunya fungsi seseorang akibat tekanan pada

Kunci untuk membedakan gangguan stress pasca trauma adalah relasi waktu antara kejadian traumatik dan gejala, dan terngiang-ngiang akan trauma yang tidak terjadi pada dua

Hasil uji hipotesis baik dengan uji secara parsial maupun bersama-sama dengan regresi ganda di atas dapat diketahui bahwa variable bebas X 1 (motivasi)

Hasil penelitian yang diperoleh adalah: (1) Surat kabar Perempoean Bergerak terbit di kota Medan pada tahun 1919 sebagai upaya bagi kaum perempuan pada masa

Dalam pelaksanaannya, gereja belum memiliki pelayanan pastoral yang terprogram untuk menolong jemaat yang bermasalah dengan hidup yang dijalani, dalam hal ini