Analisis energi protokol PROPHET di jaringan oportunistik.

(1)

viii ABSTRAK

Jaringan Oportunistik merupakan kondisi jaringan yang berbeda dengan jaringan infrastruktur pada umumnya. Jaringan memiliki karakter media transmisi nirkabel (wireless), node yang bergerak (mobile), resource atau energy yang terbatas, dan konektivitas yang berubah-ubah atau tidak dapat diperkirakan. Tantangan dalam jaringan ini adalah bagaimana strategi yang digunakan untuk menyampaikan pesan dari asal (source) ke tujuan (destination) dengan mempertimbangkan karakter jaringan. Pada penelitian ini penulis akan menguji kinerja Protokol PROPHET ditinjau dari sisi energi. Parameter yang akan digunakan dalam penelitian ini antara lain overhead ratio, delivery ratio, latency, serta energy consumption. Untuk mengevaluasi kinerja menggunakan Simulator ONE (Opportunistic Network Environment).

Sebuah node memiliki probabilitas bertemu dengan node lain yang tinggi akan dipercaya untuk menjadi relay pesan (hub-node). Hub-node dengan beban kerja lebih tinggi akan berdampak pada energi baterai yang dimilikinya, terlebih Protokol PROPHET tidak memiliki control message yang ketat dalam melakukan pengiriman pesan. Ketika energi (baterai) yang dimiliki hub node habis, maka akan berdampak pada delivery performance. Untuk itu, diperlukan strategi untuk melakukan control message dengan menambahkan algoritma menjadi Protokol PROPHET EA (Energy Aware). Dari hasil penelitian diketahui bahwa Protokol PROPHET EA mampu mengungguli delivery performance pada Protokol PROPHET karena dapat melakukan control message dan menjaga energi baterai yang dimiliki sehingga lebih menjamin sampainya pesan ke tujuan.

Kata Kunci: Jaringan Oportunistik, PROPHET, PROPHET EA, The ONE Simulator, overhead ratio, delivery ratio, latency, energy consumption.


(2)

ix ABSTRACT

Opportunistic Network is network condition which differ from infrastructure network. This network has characteristics such as wireless transmission media, mobile node, limited resource, and intermittent connectivity. The challenge in Opportunistic Network is determining best strategy to send messages from source to destination in regard of those characteristics. This experiment analyze PROPHET routing protocol performance especially in terms of the energy. The parameter used are overhead ratio, delivery ratio, latency, and energy consumption. We use The ONE Simulator to evaluate PROPHET's performance.

If a node has high probability to meet other nodes will become a relay to deliver messages (hub-node). Hub-node with higher workload will affect to its energy resource, moreover PROPHET has no strict control message when sending messages. Delivery performance will affected when hub-node's energy drained. Therefore, new strategy needed to control message and to hold up rate of battery reduction.

Keywords : Opportunistic Network, PROPHET, PROPHET EA, The ONE Simulator, overhead ratio, delivery ratio, latency, energy consumption.


(3)

ANALISIS ENERGI PROTOKOL PROPHET DI JARINGAN OPORTUNISTIK

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh: Parta Adi Putra

125314111

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

i

ANALISIS ENERGI PROTOKOL PROPHET DI JARINGAN OPORTUNISTIK

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh: Parta Adi Putra

125314111

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(5)

ii

ENERGY ANALYSIS ON PROPHET PROTOCOL IN OPPORTUNISTIC NETWORK

A THESIS

Presented as Partial Fulfillment of Requirements To Obtain Sarjana Komputer Degree In Informatics Engineering Department

By: Parta Adi Putra

125314111

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2016


(6)

(7)

(8)

v MOTTO

He gives strength to the weary and increases the power of the weak.


(9)

(10)

(11)

viii ABSTRAK

Jaringan Oportunistik merupakan kondisi jaringan yang berbeda dengan jaringan infrastruktur pada umumnya. Jaringan memiliki karakter media transmisi nirkabel (wireless), node yang bergerak (mobile), resource atau energy yang terbatas, dan konektivitas yang berubah-ubah atau tidak dapat diperkirakan. Tantangan dalam jaringan ini adalah bagaimana strategi yang digunakan untuk menyampaikan pesan dari asal (source) ke tujuan (destination) dengan mempertimbangkan karakter jaringan. Pada penelitian ini penulis akan menguji kinerja Protokol PROPHET ditinjau dari sisi energi. Parameter yang akan digunakan dalam penelitian ini antara lain overhead ratio, delivery ratio, latency, serta energy consumption. Untuk mengevaluasi kinerja menggunakan Simulator ONE (Opportunistic Network Environment).

Sebuah node memiliki probabilitas bertemu dengan node lain yang tinggi akan dipercaya untuk menjadi relay pesan (hub-node). Hub-node dengan beban kerja lebih tinggi akan berdampak pada energi baterai yang dimilikinya, terlebih Protokol PROPHET tidak memiliki control message yang ketat dalam melakukan pengiriman pesan. Ketika energi (baterai) yang dimiliki hub node habis, maka akan berdampak pada delivery performance. Untuk itu, diperlukan strategi untuk melakukan control message dengan menambahkan algoritma menjadi Protokol PROPHET EA (Energy Aware). Dari hasil penelitian diketahui bahwa Protokol PROPHET EA mampu mengungguli delivery performance pada Protokol PROPHET karena dapat melakukan control message dan menjaga energi baterai yang dimiliki sehingga lebih menjamin sampainya pesan ke tujuan.

Kata Kunci: Jaringan Oportunistik, PROPHET, PROPHET EA, The ONE Simulator, overhead ratio, delivery ratio, latency, energy consumption.


(12)

ix ABSTRACT

Opportunistic Network is network condition which differ from infrastructure network. This network has characteristics such as wireless transmission media, mobile node, limited resource, and intermittent connectivity. The challenge in Opportunistic Network is determining best strategy to send messages from source to destination in regard of those characteristics. This experiment analyze PROPHET routing protocol performance especially in terms of the energy. The parameter used are overhead ratio, delivery ratio, latency, and energy consumption. We use The ONE Simulator to evaluate PROPHET's performance.

If a node has high probability to meet other nodes will become a relay to deliver messages (hub-node). Hub-node with higher workload will affect to its energy resource, moreover PROPHET has no strict control message when sending messages. Delivery performance will affected when hub-node's energy drained. Therefore, new strategy needed to control message and to hold up rate of battery reduction.

Keywords : Opportunistic Network, PROPHET, PROPHET EA, The ONE Simulator, overhead ratio, delivery ratio, latency, energy consumption.


(13)

x

KATA PENGANTAR

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, sehingga

penulis dapat menyelesaikan tugas akhir dengan judul “Analisis Energi Protokol PROPHET di Jaringan Oportunistik”. Tugas akhir ini merupakan salah satu mata kuliah wajib dan sebagai syarat akademik untuk memperoleh gelar sarjana komputer program studi Teknik Informatika Universitas Sanata Dharma Yogyakarta.

Pada kesempatan ini, penulis ingin mengucapkan terima kasih kepada pihak-pihak yang telah membantu penulis baik selama penelitian maupun saat mengerjakan tugas akhir ini. Ucapan terima kasih sebesar-besarnya penulis sampaikan kepada:

1. Tuhan Yesus Kristus dan Bunda Maria yang senantiasa melimpahkan berkat hingga penulis dapat menyelesaikan skripsi ini.

2. Sudi Mungkasi, S.Si., M.Math.Sc., Ph.D. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma.

3. Ibu Dr. Anastasia Rita Widiarti, M.Kom. selaku Ketua Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

4. Bapak Eko Hari selaku Dosen Pembimbing Akademik, terima kasih atas bimbingan, kritik dan saran yang telah diberikan kepada penulis.

5. Bapak Bambang Soelistijanto, S.T., M.Sc., Ph.D. selaku dosen pembimbing tugas akhir, atas kesabarannya dalam membimbing penulis, meluangkan waktunya, memberi dukungan, motivasi, serta saran yang sangat membantu penulis.

6. Bapak Henricus Agung Hernawan, S.T., M.Kom. dan Bapak Iwan Binanto, S.Si., M.Cs. selaku dosen penguji skripsi.

7. Seluruh staf dosen Teknik Informatika Universitas Sanata Dharma yang telah memberikan bekal ilmu, arahan dan pengalaman selama penulis menempuh studi.

8. Seluruh staf Sekretariat Jurusan Teknik Informatika atas segala informasi dan pelayanan yang diberikan.


(14)

(15)

xii DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

MOTTO ... v

PERNYATAAN KEASLIAN KARYA ... vi

LEMBAR PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... vii

ABSTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xv

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 3

1.3. Tujuan Penelitian ... 3

1.4. Batasan Masalah ... 3

1.5. Metodologi Penelitian ... 3

1.6. Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 6

2.1. Jaringan Nirkabel (Wireless) ... 6

2.2. Mobile Ad Hoc Network (MANET) ... 8

2.3. Jaringan Oportunistik ... 9

2.4. Protokol Routing PROPHET ... 11

2.5. Protokol Routing PROPHET Energy Aware (PROPHET EA) ... 13

2.6. Pergerakan Random Waypoint ... 15

2.7. Pergerakan Manusia ... 15

2.8. Simulator ONE ... 16


(16)

xiii

3.1. Parameter Simulasi ... 18

3.2. Skenario Simulasi ... 19

3.3. Parameter Kinerja ... 21

3.4. Topologi Jaringan ... 22

BAB IV PENGUJIAN DAN ANALISIS ... 23

4.1. Pergerakan Random Waypoint ... 23

4.1.1. Penambahan Jumlah Node ... 23

4.1.2. Penambahan Kecepatan Node ... 27

4.2. Pergerakan Manusia ... 31

4.2.1. Pergerakan Manusia dengan Penambahan TTL Pesan ... 34

BAB V KESIMPULAN DAN SARAN ... 39

5.1. Kesimpulan ... 39

5.2. Saran ... 39

DAFTAR PUSTAKA ... 40


(17)

xiv

DAFTAR TABEL

Tabel 3.1 Parameter utama simulasi. ... 18 Tabel 3.2 Parameter utama energi baterai. ... 18 Tabel 3.3 Skenario penambahan jumlah node pada Pergerakan Random

Waypoint. ... 19 Tabel 3.4 Skenario penambahan kecepatan node pada Pergerakan Random

Waypoint. ... 19 Tabel 3.5 Skenario Pergerakan Manusia. ... 20 Tabel 3.6 Skenario Pergerakan Manusia dengan penambahan TTL pesan. ... 20 Tabel 4.1 Hasil perbandingan penambahan jumlah node pada pergerakan Random Waypoint. ... 23 Tabel 4.2 Hasil perbandingan penambahan kecepatan node pada pergerakan Random Waypoint. ... 27 Tabel 4.3 Hasil perbandingan pada pergerakan manusia. ... 31 Tabel 4.4 Hasil perbandingan penambahan TTL pesan pada pergerakan manusia. ... 34


(18)

xv

DAFTAR GAMBAR

Gambar 2.1 Jaringan Nirkabel berbasis infrastruktur. ... 7

Gambar 2.2 Jaringan MANET ... 8

Gambar 2.3 Jaringan Oportunistik ... 10

Gambar 2.4 Arsitektur Jaringan Oportunistik. ... 11

Gambar 2.5 Ilustrasi dari history of node encounter dan transitivity pada Protokol PROPHET. ... 13

Gambar 2.6 Ilustrasi pergerakan Random Waypoint... 17

Gambar 2.6 Snapshoot Simulator ONE. ... 17

Gambar 3.1 Snapshoot model Jaringan Oportunistik. ... 22

Gambar 4.1 Grafik pengaruh penambahan jumlah node terhadap overhead ratio pada pergerakan Random Waypoint. ... 24

Gambar 4.2 Grafik pengaruh penambahan jumlah node terhadap latency pada pergerakan Random Waypoint. ... 24

Gambar 4.3 Grafik pengaruh penambahan jumlah node terhadap delivery ratio pada pergerakan Random Waypoint. ... 25

Gambar 4.4 Grafik pengaruh penambahan jumlah node terhadap jumlah node yang mati pada pergerakan Random Waypoint. ... 26

Gambar 4.5 Grafik pengaruh penambahan kecepatan node terhadap delivery ratio pada pergerakan Random Waypoint. ... 27

Gambar 4.6 Grafik pengaruh penambahan jumlah node terhadap overhead ratio pada pergerakan Random Waypoint. ... 28

Gambar 4.7 Grafik pengaruh penambahan jumlah node terhadap latency pada pergerakan Random Waypoint. ... 28

Gambar 4.8 Grafik pengaruh penambahan kecepatan node terhadap jumlah node yang mati pada pergerakan Random Waypoint. ... 30

Gambar 4.9 Grafik laju pengurangan energi hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia. ... 31

Gambar 4.10 Grafik laju pengurangan energi non hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia. ... 32


(19)

xvi

Gambar 4.11 Grafik node yang mati pada pergerakan manusia untuk Protokol PROPHET dan PROPHET EA. ... 32 Gambar 4.12 Grafik perbandingan overhead ratio pada pergerakan manusia. .... 33 Gambar 4.13 Grafik perbandingan delivery ratio pada pergerakan manusia. ... 33 Gambar 4.14 Grafik perbandingan latency pada pergerakan manusia. ... 34 Gambar 4.15 Grafik pengaruh penambahan TTL pesan terhadap delivery ratio pada pergerakan manusia. ... 35 Gambar 4.16 Grafik pengaruh penambahan TTL pesan terhadap overhead ratio pada pergerakan manusia. ... 35 Gambar 4.17 Grafik pengaruh penambahan TTL pesan terhadap latency pada pergerakan manusia. ... 36 Gambar 4.18 Grafik pengaruh penambahan TTL pesan terhadap jumlah node yang mati pada pergerakan manusia. ... 38


(20)

1 BAB I PENDAHULUAN 1.1. Latar Belakang

Teknologi jaringan komputer yang dimanfaatkan ketika dalam kondisi normal adalah jaringan bersifat tetap (fixed) menggunakan infrastruktur sebagai pendukung. Infrastruktur adalah jaringan yang menggunakan perangkat tetap (access point, router) dan bisa dikategorikan dalam kabel (wire) atau nirkabel (wireless). Media transmisi kabel merupakan teknologi yang pertama ditemukan untuk menyampaikan data antar perangkat. Sedangkan untuk media transmisi nirkabel merupakan terobosan yang memanfaatkan gelombang elektromagnetik sebagai media untuk mengirim data melalui udara [6].

Realitas dari penggunaan jaringan yang menggunakan media transmisi nirkabel adalah bahwa kebiasaan pengguna tidak lagi seperti ketika menggunakan perangkat dalam jaringan kabel. Pengguna akan berpindah tempat (mobile) dan jaringan nirkabel mampu mengatasinya selama perangkat masih berada dalam jangkauan.

Sejauh ini, infrastruktur jaringan baik kabel atau nirkabel, masih dibutuhkan dalam kondisi normal. Tantangan yang selanjutnya muncul adalah bagaimana jika infrastruktur tidak lagi tersedia dan komunikasi harus tetap berjalan? Tentunya dalam hal ini mobilitas pengguna masih diperhitungkan. Jika masih menggunakan kabel tentunya hal tersebut tidak lagi menjadi masalah, lalu bagaimana jika media transmisi berbasis nirkabel dan perangkat yang mobile mengikuti penggunanya?

Untuk mengatasi permasalahan yang ada, terdapat inovasi berupa jaringan ad hoc dimana infrastruktur jaringan sudah tidak lagi dibutuhkan dan menggunakan media transmisi nirkabel dalam proses komunikasi. Tantangan selanjutnya adalah mobilitas pengguna dan perangkatnya (node) yang harus diatasi. Pada kondisi ini disebut dengan Mobile Ad Hoc Network (MANET) [11]. Strategi yang digunakan dalam MANET adalah melibatkan setiap node


(21)

2

agar mampu berperan sebagai pengirim pesan, router (relay), maupun penerima pesan.

Jaringan MANET dapat terpenuhi jika antar node masih terhubung atau koneksi tiap node terjamin tanpa adanya gangguan. Akan tetapi kondisi sebenarnya adalah bahwa setiap node terkadang terlepas/keluar dari jangkauan transmisi node lain sehingga terjadi link failure [1]. Permasalahan ini memerlukan strategi untuk menyempurnakan MANET. Kini berkembang jaringan yang disebut dengan Opportunistic Network (Jaringan Oportunistik). Hal yang membedakan dengan MANET adalah jaringan ini mentolerir adanya jeda waktu sampainya data ke penerima/tujuan. Kunci keberhasilan arsitektur Jaringan Oportunistik terletak pada protokol routing yang akan melakukan forwarding message atau penyampaian pesan dengan berbagai macam metode atau strategi pendekatan [5].

Metode yang selalu digunakan adalah pada setiap node, ketia ia menerima pesan maka pesan tersebut disimpan dan dibawa sampai menemukan node lain untuk diberikan copy-nya. Protokol routing PROPHET (Probabilistic ROuting Protocol using History of Encounters and Transitivity) merupakan protokol probabilistik berdasar metrik probabilitas bertemu dengan node yang ditemui serta transitivity-nya [2]. Ketika sebuah node memiliki probabilitas bertemu dengan node lain tinggi maka ia akan dipercaya untuk menjadi relay atau menyampaikan pesan ke tujuan dan selanjutnya pesan dititipkan ke node tersebut. Node yang populer karena dipercaya untuk menyampaikan pesan oleh node lain disebut juga dengan nama hub-node. Tentu saja hub-node akan memiliki beban kerja yang lebih tinggi dibandingkan dengan node lainnya. Beban kerja dari hub-node akan berdampak pada resource yang dimiliki karena menangani banyak pesan dari berbagai node.

Dalam tugas akhir ini, penulis akan melakukan unjuk kerja protokol routing PROPHET dan terhadap kaitan antar parameter kinerja (delivery ratio, overhead ratio, latency, dan energy consumption) pada pergerakan manusia dan Random Waypoint.


(22)

3 1.2. Rumusan Masalah

Berdasar pada latar belakang masalah, rumusan masalah yang didapat adalah bagaimana akibat atau dampak dari konsumsi energi node populer (hub-node) dalam protokol routing PROPHET terhadap parameter kinerja prngiriman (delivery performance).

1.3. Tujuan Penelitian

Tujuan yang akan dicapai dalam tugas akhir ini adalah untuk mengetahui serta menganalisis kelebihan maupun kekurangan protokol routing PROPHET dan protokol routing PROPHET EA yang memperhitungkan energi berdasar pada konsep protokol routing PROPHET.

1.4. Batasan Masalah

Dalam pelaksanaan penelitian dan penulisan tugas akhir ini, batasan masalah meliputi :

1. Protokol routing yang digunakan adalah protokol PROPHET dan protokol PROPHET Energy Aware (PROPHET EA).

2. Pengujian dilakukan dengan menggunakan Simulator ONE.

3. Unjuk kerja atau metrik yang digunakan adalah delivery ratio, overhead ratio, latency, dan energy consumption.

1.5. Metodologi Penelitian

Metodologi dan langkah-langkah dalam mengerjakan tugas akhir ini antara lain :

1. Studi literatur

Mempelajari teori-teori pendukung dari referensi yang dikumpulkan meliputi :

a. Teori Jaringan Oportunistik dan model pergerakan. b. Teori protokol routing PROPHET.

c. Teori parameter kinerja (delivery ratio, overhead ratio, latency, dan energi).

d. Teori Simulator ONE dan dokumentasinya. e. Tahap-tahap membangun simulasi.


(23)

4 2. Perancangan

Tahapan ini merupakan rancangan skenario yang digunakan dalam melakukan penelitian yang terdiri dari :

a. Menggunakan pergerakan Random Waypoint dan pergerakan manusia encounter trace (Haggle 4 – Cambridge Imotes).

b. Jumlah node dan kecepatan node bervariasi pada pergerakan Random Waypoint.

c. Inisialisasi nilai energi yang tetap untuk setiap node pada kedua pergerakan.

d. Sumber (source) dan tujuan (destination) pesan masing-masing hanya satu dan telah ditentukan.

3. Pembangunan simulasi dan pengumpulan data

Simulasi pengujian pada tugas akhir ini menggunakan Simulator ONE dan membangkitkan report untuk mengumpulkan data sesuai dengan parameter kinerja.

4. Analisis data simulasi

Dari data yang telah dikumpulkan setelah proses simulasi, untuk selanjutnya data diproses dan diamati untuk kemudian dianalisis berdasarkan parameter kinerja.

5. Penarikan kesimpulan

Penarikan kesimpulan terhadap data yang telah dianalisis mengacu pada parameter kinerja yang telah ditentukan.


(24)

5 1.6. Sistematika Penulisan

Berikut adalah sistematika penulisan tugas akhir yang dibagi dalam beberapa bab dengan susunan :

BAB I PENDAHULUAN

Bab ini memberikan penjelasan secara umum tentang latar belakang penulisan tugas akhir, rumusan masalah, batasan, dan sistematika penulisan tugas akhir. BAB II LANDASAN TEORI

Bab ini berisi tentang penjelasan teori sebagai acuan atau landasan yang dibutuhkan dalam melakukan penelitian sesuai dengan permasalahan.

BAB III PERENCANAAN SIMULASI JARINGAN

Bab ini memuat deskripsi secara teknis mengenai perencanaan dari simulasi yang akan dikerjakan dalam tugas akhir.

BAB IV PENGUJIAN DAN ANALISIS

Bab ini berisi pelaksanaan simulasi dan analisis data hasil simulasi. BAB V KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dari analisis data simulasi berdasar pada parameter kinerja.


(25)

6 BAB II

LANDASAN TEORI 2.1. Jaringan Nirkabel (Wireless)

Pada awal mula komputer ditemukan, dari segi dimensi atau ukuran, komputer memiliki ukuran yang sangat besar dan terus berkembang hingga kini. Dari sebuah komputer yang dahulu hanya dipergunakan sebagai mesin hitung mulai berevolusi untuk memenuhi segala kebutuhan manusia. Kini yang dinamakan komputer mampu masuk ke dalam saku dengan berbagai fiturnya. Tentunya segala perkembangan komputer didasari oleh kebutuhan akan penggunanya seperti berkomunikasi.

Setiap komunikasi yang dilakukan oleh perangkat komputer, membutuhkan infrastruktur pendukung. Infrastruktur yang dibutuhkan untuk perangkat komputer bersifat fix berupa media transmisi. Media transmisi dapat berupa kabel (wired) atau nirkabel (wireless). Media transmisi yang menggunakan kabel dapat merupakan teknologi pendahulu yang kini mulai tergantikan oleh teknologi wireless. Berbeda dengan kabel, pada teknologi wireless menggunakan udara sebagai media transmisi gelombang elektromagnetik [6].

Menurut Jochen Schiller dalam bukunya yang berjudul Mobile Communication [6], sebuah perangkat dapat disebut sebagai perangkat komunikasi apabila memenuhi kategori sebagai berikut :

a. Fixed dan wired : perangkat ini dapat digambarkan seperti komputer desktop di kantor. Menggunakan jaringan yang bersifat fix untuk alasan menunjang kinerja.

b. Mobile dan wired : pada kategori ini perangkat yang dimaksudkan adalah laptop, laptop memungkinkan untuk dapat berpindah tempat secara fleksibel namun masih juga dapat menggunakan media jaringan kabel seperti komputer desktop.

c. Fixed dan wireless : model yang ketiga ini merupakan sebuah terobosan untuk menunjang komunikasi dalam kondisi yang tidak memungkinkan


(26)

7

menggunakan media kabel. Contoh dari penerapan model ini ialah seperti sebuah institusi yang terletak di tempat berbeda dan harus tetap dapat terhubung.

d. Mobile dan wireless : ini merupakan kasus yang sangat menantang, tidak ada kabel yang membatasi mobilitas pengguna dan perangkat yang tetap dapat berkomunikasi meskipun berada dalam area jaringan wireless berbeda. Dapat dicontohkan dalam kasus ini adalah GSM [6].

Dari keempat kategori perangkat komunikasi di atas, juga dipertimbangkan dari user behaviour (kebiasaan pengguna). GSM memfasilitasi pengguna yang menggunakan perangkat mobile dan aktivitas pengguna yang turut berpindah tempat tanpa adanya pemutusan komunikasi. Tentunya permasalahan ini masih dalam lingkup jaringan ber-infrastruktur. Dalam kondisi dengan tidak adanya infrastruktur, tantangan yang muncul adalah bagaimana perangkat komunikasi dapat saling berkomunikasi tanpa adanya infrastruktur seperti yang disebutkan sebelumnya.

Gambar 2.1 Jaringan Nirkabel berbasis infrastruktur.

Penerapan jaringan nirkabel tanpa infrastruktur untuk menunjang komunikasi ketika infrastruktur yang ada rusak oleh bencana ataupun kondisi daruat seperti peperangan. Aplikasi dari jaringan nirkabel tersebut antara lain adalah jaringan ad hoc atau biasa disebut dengan MANET (Mobile Ad-hoc Network) dan jaringan oportunistik (Opportunistic Network).


(27)

8 2.2. Mobile Ad Hoc Network (MANET)

MANET adalah jaringan yang tidak menggunakan infrastruktur dan setiap node dalam jaringan selalu bergerak. Pada MANET, setiap node secara langsung dapat berkomunikasi dengan node lain apabila masuk ke dalam jangkauan komunikasi mereka. Sebuah node dapat menghapus atau meneruskan (forward) paket (bertindak sebagai relay). Dengan demikian, paket melewati jaringan ad hoc dengan cara diteruskan dari satu node ke node lainnya sampai ke tujuannya. Dikarenakan node-node yang ada bergerak maka ini akan menantang, karena topologi jaringan berubah secara terus menerus. Bagaimana menemukan tujuan, mencari jalur ke tujuan, dan memastikan komunikasi tetap berlangsung ketika topologi berubah secara terus-menerus adalah tantangan utama dalam MANET [10].

Gambar 2.2 Jaringan MANET a. Protokol routing proactive (proaktif).

Setiap protokol routing proaktif harus selalu menjaga menjaga keakurasian informasi pada tabel routing dengan mengevaluasi secara periodik dari semua rute dalam jaringan. Protokol routing menjaga jalur ke host tujuan dan rutenya dengan mendistribusikan tabel routing secara periodik di jaringan. Jedi ketika paket harus segera di-forward, jalur sudah diketahui dan segera digunakan. Akan tetapi dibutuhkan overhead yang tinggi untuk menjaga tabel routing di MANET ini [4].


(28)

9

Kelemahan yang dimiliki protokol routing proaktif adalah : 1. Menggunakan data untuk menjaga informasi routing.

2. Reaksi atau respon yang lambat ketika jaringan berubah dan kegagalan dari individual nodes.

b. Protokol routing reactive (reaktif).

Berbeda dengan protokol routing proaktif, protokol routing reaktif tidak menjaga rute akan tetapi tabel routing dibuat ketika dibutuhkan saja. Protokol routing reaktif mencari rute yang dibutuhkan dengan melakukan flooding ke jaringan menggunakan paket Route Request [4]. Protokol reaktif ini memiliki beberapa keuntungan antara lain :

1. Tidak membutuhkan overhead yang besar untuk menjaga tabel routing seperti pada protokol routing proaktif.

2. Reaksi atau respon yang cepat untuk perubahan jaringan dan kegagalan node.

c. Protokol routing hybrid.

Tipe dari protokol routing ini adalah menggabungkan beberapa kelebihan dari protokol routing proktif dan reaktif. Pada awalnya routing dibangun dari beberapa rute secara proaktif dan kemudian melayani permintaan dari node tambahan melalui flooding reaktif. Kelemahan dari algoritma ini antara lain :

1. Keuntungan/kelebihan berdasar pada node yang aktif.

2. Reaksi terhadap permintaan traffic tergantung pada laju dari traffic volume [4].

2.3. Jaringan Oportunistik

Kondisi yang dialami pada MANET adalah hal yang melatar belakangi Jaringan Oportunistik, akan tetapi terdapat kondisi dimana setiap node tidak terhubung secara terus menerus dengan node lain dan atas hal ini tantangan pada jaringan MANET berkembang menjadi Jaringan Oportunistik. Dengan karakter Jaringan Opportunistik yang setiap node tidak selalu terhubung maka model


(29)

10

jaringan ini toleran terhadap delay sehingga pada perkembangan ilmunya jaringan ini juga disebut sebagai Delay Tolerant Network (DTN).

Gambar 2.3 Jaringan Oportunistik

Arsitektur jaringan pada Jaringan Opportunistik berbeda dengan arsitektur jaringan yang lainnya. Pada jaringan lain dapat memastikan bahwa pesan dapat sampai ke tujuan karena koneksi dari source ke destination terjamin. Jaringan Oportunistik memiliki sifat yang berbeda dimana jalur antara source ke destination tidak tersedia karena jangkauan dan bergeraknya tiap node serta koneksi jaringan yang bersifat intermitten (kadang terputus dan terhubung kembali). Jaringan Oportunistik memperkenalkan layer baru untuk menangani kondisi jaringan yang disebut dengan bundle layer.

Bundle layer mengimplementasikan mekanisme store-and-forward dimana setiap node dapat store (menyimpan) dan carry (membawa) pesan dalam buffer-nya (memori) serta dapat meneruskan pesan tersebut ke node lain yang terkoneksi [8]. Berikut adalah arsitektur yang dipakai dalam Jaringan Opportunistik atau DTN.


(30)

11

Gambar 2.4 Arsitektur Jaringan Oportunistik.

Metode-metode penanganan pesan dalam Jaringan Opportunistik yaitu : a. Message-ferry-based

Dalam metode ini, sistem biasanya menggunakan node lain sebagai pembawa pesan untuk disampaikan ke tujuan. Cara ini bertujuan untuk meningkatkan delivery performance dengan melakukan tahap store (menyimpan) dan kemudian carry (membawa) pesan sampai dengan bertemu ke tujuan dan mengirimkannya.

b. Opportunity-based

Skema ini setiap node mem-forward pesan secara acak (random) dari hop ke hop sampai ke akhir tujuannya tetapi tidak menggaransi pesan dapat tersampaikan. Pada umumnya pesan akan ditukarkan hanya ketika dua node bertemu pada lokasi yang sama dan copy message yang sama membanjiri jaringan untuk meningkatkan jumlah pesan terkirim.

c. Prediction-based

Pada skema prediction-based ini, protokol routing menentukan relay (perantara) dengan mengestimasi node yang dapat dipercaya menyampaikan pesan ke tujuan.

2.4. Protokol Routing PROPHET

Pada Jaringan Oportunistik pergerakan yang populer adalah random, akan tetapi pada faktanya pergerakan tidaklah random tetapi bergerak dengan pola pergerakan yang dapat diprediksi seperti ketika sebuah node mengunjungi


(31)

12

suatu lokasi maka dapat diprediksi bahwa node tersebut nantinya akan berada di lokasi itu lagi. Hal itulah yang mendasari gagasan untuk menciptakan sebuah protokol yang dapat memprediksi probabilitas bertemu node akan bertemu kembali, yaitu Protokol Routing PROPHET (Probabilistic ROuting Protocol using History of Encounters and Transitivity). Protokol ini merupakan protokol probabilistik yang berdasarkan pada metrik probabilitas bertemu dengan node lain serta transitivity-nya. Sedangkan untuk transitivity adalah kondisi dimana sebuah node dapat menjadi relay atau node perantara untuk menyampaikan pesan dari node lain [2]. Untuk menghitung probabilitas bertemunya dengan node lain maka diperlukan parameter yang didefinisikan sebagai delivery predictability.

a. Penghitungan delivery predictability

Penghitungan delivery predictability memiliki tiga bagian. Hal pertama yang harus dilakukan adalah melakukan update terhadap metric ketika node bertemu, sehingga apabila node sering bertemu maka memiliki delivery predictability yang tinggi. Rumus penghitungan ditunjukkan pada Rumus Eq. 2.1 di mana Pinit  [0,1].

P(a,b) = P(a,b)old + (1 - P(a,b)old ) × Pinit ... Eq. 2.1

Jika node yang pernah bertemu dan tidak bertemu kembali satu sama lain maka mereka tidak lagi menjadi node yang baik untuk meneruskan pesan, dengan demikian nilai delivery predictability harus berkurang (age, menua). Rumus aging (pengurangan) ditunjukkan pada Rumus Eq. 2.2 di mana   [0,1] merupakan aging constant dan k adalah jumlah unit waktu yang telah berjalan sejak terakhir kali metrik itu berkurang.

P(a,b) = P(a,b)old × k ... Eq. 2.2

Delivery predictability juga memiliki ciri transitive. Apabila node A sering bertemu dengan node B, dan node B sering bertemu dengan node C maka kemungkinan node C akan menjadi node yang baik untuk menyampaikan pesan ke node A. Rumus Eq. 2.3 menunjukkan bagaimana efek dari transitivity terhadap delivery predictability dimana β  [0,1]


(32)

13

merupakan scaling constant yang menentukan seberapa besar dampak transitivity yang akan terjadi terhadap delivery predictability.

P(a,c) = P(a,c)old + (1 - P(a,c)old ) × P(a,b) × P(b,c) × β ... Eq. 2.3

Gambar 2.5 Ilustrasi dari metrik transitivity pada Protokol PROPHET. Transitivity pada Protokol PROPHET, seperti yang digambarka pada Gambar 2.5, mengukur kedekatan node a terhadap node c secara langsung maupun melalui node b.

b. Strategi pengiriman pesan

Strategi pengiriman pesan yang digunakan dalam protokol PROPHET adalah ketika dua node bertemu maka pesan dikirimkan ke node lain jika delivery predictability dari tujuan pesan lebih tinggi dari node yang lain [2].

2.5. Protokol Routing PROPHET Energy Aware (PROPHET EA)

Protokol PROPHET EA merupakan pengembangan dari Protokol PROPHET dengan penambahan pada strategi pengiriman. Jika pada Protokol PROPHET akan memilih node dengan probabilitas bertemu yang tinggi untuk diberikan pesan, maka Protokol PROPHET EA memiliki kesamaan memperhitungkan probabilitas bertemu node. Perbedaan yang dimiliki Protokol PROPHET EA dibandingkan Protokol PROPHET adalah bahwa Protokol PROPHET EA memperhitungkan laju pengurangan energi baterai dari node yang terpilih.

Laju pengurangan baterai pada node ditentukan menggunakan teknik perhitungan statistik EWMA (Exponentially Weighted Moving Average) dengan rumus perhitungan sebagai berikut :


(33)

14

EWMA = λ� + 1 − λ EWMA −1 untuk t = 1, 2, ..., n. .. Eq. 2.4

Dimana EWMA0 merupakan rata-rata rekaman data terdahulu dan Yt waktu

observasi pada saat waktu t. Sedangkan n adalah jumlah observasi yang dipantau termasuk EWMA0. Untuk λ diinisialisasikan dengan nilai rentang antara 0 sampai dengan 1 (0 < λ ≤ 1).

Implementasi dari Rumus Eq. 2.4 terhadap laju pengurangan energi adalah sebagai berikut :

power(t) = a

power(t+t) = b

diff_power(t+t) = |b – a|

diff_power(t) =

∑��=0 � _ �+∆�

decreasing_power_rate = diff_power(t+t) + (1) diff_power(t) ...Eq. 2.5

dimana 0 < ≤ 1 dengan inisialisasi nilai  = 0,4 , t = waktu observasi, dan t = interval waktu observasi.

Algoritma PROPHET EA (Nj) delivery_preds ← 0

while Ni is in contact with node Nj do

send summary_vector(Nj)

send decreasing_power_rate(Nj)

receive summary_vector(Ni)

update delivery_preds(Ni) Eq. 2.1 and Eq. 2.2

update transitive_preds(Ni) → Eq. 2.3

receive decreasing_power_rate(Ni)

calculate decreasing_power_rate(Nj) → Eq. 2.5

while mbuffer(Nj) do

ifdelivery_preds(Ni) delivery_preds(Nj)

ifdecreasing_power_rate (Nj) decreasing_power_rate (Ni)

then forward(m,Ni)

end if end if

end while end while


(34)

15

Strategi pengiriman dengan metode jika node penerima, dengan probabilitas bertemu tinggi yang terpilih, memiliki laju pengurangan energi lebih besar dari dirinya (node pengirim) maka pengiriman akan dibatalkan. Apabila node pengirim menemukan node lain dengan probabilitas bertemu lebih tinggi dan laju pengurangan energi baterai lebih kecil untuk selanjutnya pesan akan dikirim ke node tersebut.

2.6. Pergerakan Random Waypoint

Konektivitas pada Jaringan Oportunistik tergantung pada pergerakan yang digunakan. Model pergerakan random berjalan pada area yang fixed. Setiap node (yang menggunakan model pergerakan Random Waypoint) akan memilih tujuan secara acak, kemudian bergerak lurus pada kecepatan yang telah ditentukan. Setelah sampai pada tujuan, node akan berhenti selama waktu yang ditentukan (pause time) [9, 10].

Gambar 2.6 Ilustrasi pergerakan Random Waypoint. 2.7. Pergerakan Manusia

Model pergerakan random merupakan model pergerakan yang ideal dan umumnya digunakan untuk mengevaluasi kinerja protokol routing. Tapi, pergerakan yang sebenarnya adalah bahwa setiap node (manusia yang membawa perangkat) tidak bergerak secara random (acak) melainkan node akan mengikuti pergerakan manusia yang menuju titik tertentu (point of interest) [2]. Simulator ONE memungkinkan untuk menggunakan pergerakan


(35)

16

eksternal dari set data, dalam hal ini set data yang digunakan adalah Haggle4-Cam-Imote [7].

Spesifikasi dari Haggle4-Cam-Imote yaitu data set pertemuan/kontak node dari sebuah konferensi yang diselenggarakan di Cambridge dengan sebuah alat bernama iMotes dan menggunakan interface bluetooth. Lama waktu simulasi yang dibutuhkan untuk menjalankan sampai akhir sesuai dengan set data adalah 11 hari waktu simulasi. Banyaknya node dari set data ini adalah 36 node [7].

Pada pergerakan manusia, nilai probabilitas bertemu dengan node lain berbeda-beda. Terdapat beberapa node dengan probabilitas bertemu node lain yang tinggi, node ini dinamakan dengan hub-node dimana node-node dapat menitipkan pesan untuk disampaikan ke tujuan.

2.8. Simulator ONE

Simulator ONE (Opportunistic Network Environment) secara spesifik adalah simulator untuk mengevaluasi routing pada Jaringan Oportunistik atau DTN. Fungsi utama dari Simulator ONE adalah pemodelan dari node movement, inter-node contacts, routing, dan message handling. Hasil dan analisis yang didapat dilakukan melalui visualization, reports, dan post-processing tools.

Simulator dibangun dalam bahasa pemrograman Java, simulator ini juga mampu melakukan import terhadap eksternal mobility meskipun di dalamnya sudah tersedia seperti ketika akan mengunakan pergerakan real human trace [3].


(36)

17


(37)

18 BAB III

PERANCANGAN SIMULASI JARINGAN 3.1. Parameter Simulasi

Pada penelitian yang dilaksanakan, telah ditentukan parameter-parameter dari simulasi yang bersifat tetap dan dipakai dengan nilai sama pada simulasi berbeda. Parameter-parameter tersebut adalah :

Tabel 3.1 Parameter utama simulasi.

Parameter Nilai

Waktu simulasi 950400 detik (11 hari)

Ukuran buffer 64 MB

Jangkauan transmisi radio 10 m

Ukuran Pesan 500 kB – 1 MB

Node mobility (pergerakan node)

Random Waypoint; Pergerakan manusia (Haggle4-Cam-Imote) Selain parameter utama simulasi, Tabel 3.2 merupakan parameter inisialisasi energi baterai yang dipakai untuk tiap node-nya.

Tabel 3.2 Parameter utama energi baterai.

Parameter Energi Nilai (unit)

Initial Energy 48300

Scan Energy 0,05

Transmit Energy 2

Scan Response Energy 0,05

Energi dalam setiap node akan berkurang setiap melakukan operasi scanning, scan response, transmit, dan receive sesuai dengan nilai yang telah diterapkan. Nilai pengurangan dihitung dengan mengalikan nilai energi terhadap lama waktu setiap melakukan operasi.


(38)

19 3.2. Skenario Simulasi

Dalam pelaksanaan penelitian, skenario awal menggunakan model pergerakan Random Waypoint dengan penambahan jumlah node dan kecepatan node untuk mengevaluasi protokol PROPHET maupun PROPHET EA.

Tabel 3.3 Skenario penambahan jumlah node pada Pergerakan Random Waypoint.

Protokol Routing Jumlah Node Area Simulasi (m)

R.A.1 PROPHET 25; 50; 75; 100 1000 × 1000

R.A.2 PROPHET EA 25; 50; 75; 100 1000 × 1000 Tabel 3.4 Skenario penambahan kecepatan node pada Pergerakan Random

Waypoint. Protokol Routing Kecepatan

Node (m/s)

Jumlah Node

Area Simulasi (m)

R.B.1 PROPHET

0.02 – 0.55; 0.58 – 1.11; 1.13 – 1.67;

1.69 – 2.22

50 1000 × 1000

R.B.2 PROPHET EA

0.02 – 0.55; 0.58 – 1.11; 1.13 – 1.67;

1.69 – 2.22

50 1000 × 1000

Setelah skenario awal yang menggunakan pergerakan random, maka untuk selanjutnya model pergerakan yang digunakan adalah pergerakan real atau pergerakan manusia untuk kedua protokol.


(39)

20

Tabel 3.5 Skenario Pergerakan Manusia.

Protokol Routing Model Pergerakan H.A.1 PROPHET Haggle 4 – Cambridge Imotes H.A.2 PROPHET EA Haggle 4 – Cambridge Imotes Tabel 3.6 Skenario Pergerakan Manusia dengan penambahan TTL pesan.

Protokol Routing TTL Pesan

(menit) Model Pergerakan

H.B.1 PROPHET

2; 5; 30; 60; 180; 360;

1440

Haggle 4 – Cambridge Imotes

H.B.2 PROPHET EA

2; 5; 30; 60; 180; 360;

1440

Haggle 4 – Cambridge Imotes


(40)

21 3.3. Parameter Kinerja

Terdapat empat parameter kinerja yang digunakan untuk mengevaluasi protokol PROPHET dan PROPHET EA dalam penelitian antara lain [3]: a. Delivery ratio

Parameter untuk mengetahui seberapa banyak jumlah message yang dibuat (generate) oleh tiap node. Parameter ini hasil yang didapat akan sama-sama berpengaruh terhadap kedua parameter lainnya. Aktivitas pembuatan message baru serta forwarding message tentunya menggunakan resource dari node.

� � � � � = � �

b. Overhead ratio

Merupakan parameter untuk mengetahui banyaknya copy pesan yang sampai ke tujuan dari pesan yang dibuat/dibangkitkan (generate). Parameter ini akan berpengaruh terhadap overhead ratio karena dilihat dari perilaku protokol routing yang berbeda. Apabila terlalu banyak copy message yang berada dalam jaringan maka hal itu mengakibatkan penggunaan resource tiap node juga meningkat.

ℎ � � = � � � � − � �

c. Average Latency

Parameter Average Latency digunakan untuk mengetahui waktu yang dibutuhkan pesan dari source (asal) untuk sampai ke destination (tujuan).

� � = �� � � � �

d. Energy Consumption

Energy consumption (konsumsi energi) node diamati untuk mengetahui seberapa efektifkah penggunaan energi pada protokol PROPHET maupun PROPHET EA. Pada parameter ini data yang ditampilkan meliputi jumlah node yang mati (number of dead nodes) dan sisa energi (remaining energy) dari hub node pada protokol PROPHET.


(41)

22 3.4. Topologi Jaringan

Jaringan Oportunistik memiliki ciri node yang bergerak dan jaringan yang tidak dapat dipastikan keberadaannya. Oleh karena itu topologi dari model jaringan ini tidak dapat digambarkan secara spesifik tau pasti seperti pada jaringan menggunakan infrastruktur.

Pada pergerakan Random Waypoint, node-node yang ada tersebar serta berjalan ke arah yang random (acak). Sedangkan untuk model pergerakan yang sesungguhnya, node tersebar secara random dan berjalan menuju tempat-tempat yang telah ditentukan. Berikut merupakan snapshoot atau gambaran dari jaringan pada pergerakan Random Waypoint dan pergerakan sesungguhnya (real movement).


(42)

23 BAB IV

PENGUJIAN DAN ANALISIS

Untuk mengetahui dan mengevaluasi unjuk kerja Protokol PROPHET dan PROPHET EA maka dilaksanakan simulasi menurut perancangan simulasi yang dijelaskan pada Bab III. Data hasil simulasi diperoleh dari report yang dibangkitkan.

4.1. Pergerakan Random Waypoint 4.1.1. Penambahan Jumlah Node

Tabel 4.1 Hasil perbandingan penambahan jumlah node pada pergerakan Random Waypoint.

Jumlah Node

PROPHET PROPHET EA

Delivery ratio

Overhead

ratio Latency

Delivery ratio

Overhead

ratio Latency

25 0,73 20,47658 25341,83 0,32332 6,46636 41527,45

50 0,74036 47,803 8820,062 0,53852 31,83774 32650,62

75 0,69886 73 5352,61 0,6748 61,03568 26298,68

100 0,66928 98 3954,605 0,72372 91,80194 18342,36

Pola pergerakan random mengasumsikan bahwa semua node memiliki probabilitas yang sama dalam pengiriman pesan. Dengan nilai probabilitas bertemu yang sama, maka beban tiap node tidak jauh berbeda dengan node lain. Pertambahan node dalam jaringan akan berdampak pada jumlah copy pesan yang dimiliki oleh masing-masing node.


(43)

24

Gambar 4.1 Grafik pengaruh penambahan jumlah node terhadap overhead ratio pada pergerakan Random Waypoint.

Gambar 4.2 Grafik pengaruh penambahan jumlah node terhadap latency pada pergerakan Random Waypoint.

Protokol PROPHET yang tidak mempertimbangkan laju pengurangan energi pada node penerima, akan sangat leluasa untuk mengirim pesan ke node yang ditemuinya berbeda dengan Protokol PROPHET EA yang dibatasi dalam melakukan pengiriman. Nilai overhead ratio yang mampu dikontrol oleh Protokol PROPHET EA (lihat Gambar 4.1) berdampak pada waktu sampai pesan (latency) ke tujuan. Gambar 4.1 menunjukkan bahwa Protokol PROPHET EA memiliki nilai latency yang lebih tinggi dalam menyampaikan pesan ke tujuan dikarenakan keterbatasannya dalam melakukan forwarding pesan.

0 20 40 60 80 100 120

25 50 75 100

Ov er he ad rati o Jumlah Node

PROPHET PROPHET EA

0 5000 10000 15000 20000 25000 30000 35000 40000 45000

25 50 75 100

L atenc y (de ti k) Jumlah Node


(44)

25

Gambar 4.3 Grafik pengaruh penambahan jumlah node terhadap delivery ratio pada pergerakan Random Waypoint.

Keberhasilan pesan untuk sampai ke tujuan cenderung lebih unggul untuk Protokol PROPHET, seperti yang ditunjukkan pada Gambar 4.3, hanya saja konsumsi energi pada Protokol PROPHET lebih banyak berkurang dikarenakan dalam melakukan pengiriman pesan tidak mempertimbangkan laju pengurangan energi pada node penerima. Gambar 4.4 menunjukkan Protokol PROPHET yang memiliki node mati lebih banyak dibandingkan dengan Protokol PROPHET EA dikarenakan beban setiap node tidak diperhitungkan berdasar laju pengurangan energinya. Dengan bertambahnya node, maka jumlah node yang kehabisan energi dengan cepat juga meningkat karena interaksi tiap node akan semakin sering. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

25 50 75 100

De li ve ry rati o Jumlah Node

PROPHET PROPHET EA

0 5 10 15 20 25

9 10 11

N umb er o f Dead N od es Waktu (hari) 25 Node


(45)

26

Gambar 4.4 Grafik pengaruh penambahan jumlah node terhadap jumlah node yang mati pada pergerakan Random Waypoint.

0 10 20 30 40 50

9 10 11

N umbe r of De ad N ode s Waktu (hari) 50 Node

PROPHET PROPHET EA

0 15 30 45 60 75

9 10 11

N umbe r of De ad N ode s Waktu (hari) 75 Node

PROPHET PROPHET EA

0 10 20 30 40 50 60 70 80 90 100

8 9 10 11

N umbe r of De ad N ode s Waktu (hari) 100 Node


(46)

27 4.1.2. Penambahan Kecepatan Node

Tabel 4.2 Hasil perbandingan penambahan kecepatan node pada pergerakan Random Waypoint.

Kecepatan Node (m/s)

PROPHET PROPHET EA

Delivery ratio

Overhead

ratio Latency

Delivery ratio

Overhead

ratio Latency

0.02 – 0.55 0,75074 43,8992 32097,5 0,23888 3,36984 42138,1

0.58 – 1.11 0,7463 47,9699 9378,41 0,53334 25,6743 35597,8

1.13 – 1.67 0,73814 47,8785 7925,22 0,57298 34,7589 31877,2

1.69 – 2.22 0,7296 47,5301 8536,37 0,54258 35,2981 30665,2

Gambar 4.5 Grafik pengaruh penambahan kecepatan node terhadap delivery ratio pada pergerakan Random Waypoint.

Dengan bertambahnya kecepatan pada tiap node, maka setiap pesan tidak terlampau lama disimpan dan akan segera dikirimkan ke node lain yang ditemuinya. Semakin cepat pergerakan maka semakin cepat pula sebuah node bertemu dengan node lain. Gambar 4.5 menunjukkan bahwa tingkat keberhasilan pesan sampai ke tujuan pada kedua protokol semakin tinggi. 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

0.02 –0.55 0.58 –1.11 1.13 –1.67 1.69 –2.22

De li ve ry ra ti o

Kecepatan Node (m/s)


(47)

28

Gambar 4.6 Grafik pengaruh penambahan jumlah node terhadap overhead ratio pada pergerakan Random Waypoint.

Nilai delivery ratio pada Protokol PROPHET cenderung lebih tinggi atau unggul, hal tersebut terjadi karena jumlah copy pesan dalam jaringan pada Protokol PROPHET EA terbatas (lihat Gambar 4.6). Rendahnya overhead ratio yang dikarenakan jumlah copy pesan terbatas, tentunya hanya sebagian kecil node yang memiliki pesan yang sama. Akibat dari rendahnya jumlah copy pesan dalam jaringan maka semakin lama pesan untuk sampai pada tujuan (Gambar 4.7).

Gambar 4.7 Grafik pengaruh penambahan jumlah node terhadap latency pada pergerakan Random Waypoint.

Semakin cepat node akan bertemu dengan node lain, maka node tersebut akan semakin sering melakukan operasi scanning, scan response, transmit,

0 10 20 30 40 50 60

0.02 –0.55 0.58 –1.11 1.13 –1.67 1.69 –2.22

Ov er he ad rati o

Kecepatan Node (m/s)

PROPHET PROPHET EA

0 10000 20000 30000 40000 50000 60000 70000 80000

0.02 –0.55 0.58 –1.11 1.13 –1.67 1.69 –2.22

L atenc y (de ti k)

Kecepatan Node (m/s)


(48)

29

dan receive. Dari setiap operasi-operasi yang dilakukan oleh setiap node akan mengurangi energi baterai untuk masing-masing operasi [11]. Protokol PROPHET lebih banyak mengkonsumsi energi dikarenakan tidak mempertimbangkan laju pengurangan energi serta memberi beban untuk node dengan sisa energi bervariasi. Tentunya dengan mekanisme yang dimiliki Protokol PROPHET EA akan memperpanjang waktu hidup node dengan konsekuensi delivery ratio lebih rendah dan latency yang lebih tinggi. Gambar 4.8 menunjukkan perbandingan banyaknya node yang mati antara kedua protokol. Bertambahnya kecepatan node diikuti dengan bertambahnya bnode yang mati. Dengan bertambahnya kecepatan, maka jumlah node dalam berinteraksi dengan node lain akan bertambah.

0 10 20 30 40 50

9 10 11

N u mb er o f D ea d N o d es Waktu (hari)

0.02

0.55 m/s

PROPHET PROPHET EA

0 10 20 30 40 50

9 10 11

N umbe r of De ad N ode s Waktu (hari)

0.58

1.11 m/s


(49)

30

Gambar 4.8 Grafik pengaruh penambahan kecepatan node terhadap jumlah node yang mati pada pergerakan Random Waypoint.

0 10 20 30 40 50

9 10 11

N umb er o f Dead N od es Waktu (hari)

1.13

1.67 m/s

PROPHET PROPHET EA

0 10 20 30 40 50

9 10 11

N umbe r of De ad N ode s Waktu (hari)

1.69

2.22 m/s

PROPHET PROPHET EA

0 10 20 30 40 50

9 10 11

N umbe r of De ad N ode s Waktu (hari)

5

6.11 m/s


(50)

31 4.2. Pergerakan Manusia

Tabel 4.3 Hasil perbandingan pada pergerakan manusia.

Protokol Routing Delivery ratio

Overhead

ratio Latency

PROPHET 0,75074 43,8992 32097,5

PROPHET EA 0,7463 47,9699 9378,41

Dalam pergerakan ini menggunakan data set Haggle4-Cam-Imote dengan waktu simulasi 11 hari dan jumlah node sebanyak 36 node [7]. Pergerakan ini terdapat beberapa node yang memiliki popularitas tinggi terhadap node lain atau biasa disebut sebagai hub-node. Hub-node melakukan penyampaian pesan yang lebih banyak dikarenakan terdapat banyak node yang menitipkan pesan. Dikarenakan hub-node melakukan aktivitas pengiriman pesan yang lebih banyak, maka akan berdampak pada energi yang dimilikinya. Seperti pada Gambar 4.9 dan Gambar 4.10, energi pada hub-node akan lebih cepat berkurang dibandingkan dengan node lain. Pada node yang tidak bertindak sebagai hub-node, laju pengurangan energi tidak signifikan dan pada Protokol PROPHET EA node tersebut mendapatkan beban yang lebih.

Gambar 4.9 Grafik laju pengurangan energi hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia.

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000

Re

maining Ene

rgy

(

unit

s)

Waktu (hari)


(51)

32

Gambar 4.10 Grafik laju pengurangan energi non hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia.

Gambar 4.11 Grafik node yang mati pada pergerakan manusia untuk Protokol PROPHET dan PROPHET EA.

Gambar 4.11 merupakan peningkatan jumlah node yang mati pada kedua protokol. Pada Protokol PROPHET memiliki jumlah lebih besar dikarenakan node melibatkan hub-node secara terus menerus dan tidak melakukan pencarian terhadap node lain yang memiliki probabilitas bertemu dan laju pengurangan energi yang lebih kecil. Banyak node pada protokol

0 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 Re mai ni ng En er gy (un it s) Waktu (hari)

Node at PROPHET Node at PROPHET EA

0 5 10 15 20 25 30 35 N umbe r of De ad N ode s Waktu (hari)


(52)

33

PROPHET yang lebih dahulu mati dikarenakan beban node yang kurang merata dan secara terus menerus melibatkan hub-node.

Untuk mengatasi permasalahan hub-node pada protokol PROPHET, Protokol PROPHET EA lebih mempertimbangkan laju pengurangan energi dari node lain yang akan menerima pesan. Dengan mengetahui informasi laju pengurangan energi, maka semakin banyak node yang dilibatkan untuk menghindari cepatnya laju pengurangan energi pada hub-node. Overhead ratio dapat berkurang karena mekanisme pengiriman yang berubah (lihat Gambar 4.12).

Gambar 4.12 Grafik perbandingan overhead ratio pada pergerakan manusia.

Gambar 4.13 Grafik perbandingan delivery ratio pada pergerakan manusia. Pada Gambar 4.13 menunjukkan tingkat keberhasilan pesan sampai ke tujuan memiliki nilai rasio yang tidak jauh berbeda. Tingginya latency pada

78,17972 29,93012 0 10 20 30 40 50 60 70 80

PROPHET PROPHET EA

Ov er he ad rati o 0,2546 0,36472 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

PROPHET PROPHET EA

De li ve ry rati o


(53)

34

Protokol PROPHET dikarenakan beberapa hub-node kehabisan energi lebih awal dan tidak mampu mengirim pesan. Akibat dari matinya hub-node, copy pesan yang seharusnya dapat disampaikan tidak terlaksana karena tidak cukup energi.

Gambar 4.14 Grafik perbandingan latency pada pergerakan manusia. 4.2.1. Pergerakan Manusia dengan Penambahan TTL Pesan

Tabel 4.4 Hasil perbandingan penambahan TTL pesan pada pergerakan manusia.

TTL (menit)

PROPHET PROPHET EA

Delivery ratio

Overhead

ratio Latency

Delivery ratio

Overhead

ratio Latency

2 0,0093 34,4 34,544 0,00152 33 15,3999

5 0,0148 30,875 86,825 0,0037 37 105,6

30 0,04962 25,30426 648,22438 0,01408 32,08928 983,565

60 0,07742 22,7769 1378,04902 0,02742 27,06858 2070,4707

180 0,1259 22,45296 3663,18792 0,07852 21,03088 5278,93158

360 0,20076 22,07678 8364,96644 0,137 21,14596 10025,2327

1440 0,5593 22,00066 36087,5263 0,43076 22,38852 39451,0949

Keberhasilan dari pesan untuk dapat sampai ke tujuan turut ditentukan oleh TTL (Time To Live) dari pesan tersebut. Gambar 4.15 menunjukkan bahwa penambahan TTL pada pesan meningkatkan nilai rasio atau kemungkinan pesan sampai ke tujuan. Semakin lama TTL yang dimiliki oleh pesan maka semakin tinggi kemungkinan pesan dapat

39450,07856 37539,74736 36500 37000 37500 38000 38500 39000 39500 40000

PROPHET PROPHET EA

L atenc y (de ti k)


(54)

35

mencapai tujuan, hal tersebut dapat terjadi karena kemungkinan pesan di-drop karena TTL kecil kecuali pesan di-di-drop karena buffer yang tidak mencukupi.

Gambar 4.15 Grafik pengaruh penambahan TTL pesan terhadap delivery ratio pada pergerakan manusia.

Nilai dari overhead ratio pada kedua protokol sama-sama turun disebabkan oleh jumlah copy pesan yag terbatas (lihat Gambar 4.16). Setiap pesan yang memiliki TTL lebih lama, maka node tidak akan lagi mengirim pesan yang sama karena node penerima masih memiliki pesan tersebut.

Gambar 4.16 Grafik pengaruh penambahan TTL pesan terhadap overhead ratio pada pergerakan manusia.

Dengan terbatasnya jumlah copy pesan dalam jaringan mengindikasikan bahwa pesan yang beredar bersifat unik dan belum tentu semua node

0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1

2 5 30 60 180 360 1440

De li ve ry rati o TTL (menit)

PROPHET PROPHET EA

0 5 10 15 20 25 30 35 40

2 5 30 60 180 360 1440

Ov er he ad rati o TTL (menit)


(55)

36

memilikinya. Ketika pesan yang bersifat unik tersebut telah habis masa hidupnya, maka jumlah copy pesan berkurang terlebih jika pesan tersebut berada pada hub-node sehingga semakin lama node tujuan menerima pesan dari node selain hub-node seperti digambarkan pada Gambar 4.17.

Gambar 4.17 Grafik pengaruh penambahan TTL pesan terhadap latency pada pergerakan manusia.

Faktor energi sama pentingnya sebagai penentu keberhasilan dari ketiga metrik pesan. Semakin banyak node yang mati maka semakin banyak pula pesan yang tidak berhasil sampai ke tujuan. Apabila semakin banyak pesan yang dikirim ke node lain maka setiap node akan mengurangi energinya untuk beroperasi. Gambar 4.18 menerangkan bahwa setiap bertambahnya TTL pesan, jumlah node yang mati atau kehabisan energi semakin meningkat. Banyaknya node yang mati pada TTL pesan tertinggi tentu disebabkan oleh banyaknya operasi transmit terhadap pesan yang masih memiliki masa hidup. Berbeda jika pesan memiliki masa hidup yang singkat, pesan akan banyak di-drop sebelum dikirimkan ke node lain seiring berjalannya operasi-operasi yang mengakibatkan energi terkuras.

0 5000 10000 15000 20000 25000 30000 35000 40000 45000

2 5 30 60 180 360 1440

L

atenc

y

(de

ti

k)

TTL (menit)


(56)

37

0 6 12 18 24 30 36

10 11

N

umbe

r of

De

ad

N

ode

s

Waktu (hari) TTL = 180 menit

PROPHET PROPHET EA

0 6 12 18 24 30 36

10 11

N

umbe

r of

De

ad

N

ode

s

Waktu (hari) TTL = 360 menit


(57)

38

Gambar 4.18 Grafik pengaruh penambahan TTL pesan terhadap jumlah node yang mati pada pergerakan manusia.

0 6 12 18 24 30 36

10 11

N

umbe

r of

De

ad

N

ode

s

Waktu (hari) TTL = 1440 menit


(58)

39 BAB V

KESIMPULAN DAN SARAN 5.1. Kesimpulan

Pada pergerakan Random Waypoint, Protokol PROPHET maupun PROPHET EA, tidak bekerja dengan baik. Metrik transitivity tidak dapat bekerja secara maksimal dalam pergerakan random karena nilai probabilitas node bertemu dengan node lain sama. Pergerakan manusia memiliki nilai probabilitas node bertemu node lain berbeda-beda, terdapat beberapa node dengan nilai probabilitas bertemu node lain yang tinggi (hub-node). Metrik transitivity pada Protokol PROPHET maupun PROPHET EA mampu bekerja pada pergerakan manusia yang menunjang keberhasilan kedua protokol dengan menghitung metrik probabilitas bertemu node lain.

Keunggulan yang dimiliki Protokol PROPHET EA, dibandingkan dengan Protokol PROPHET, pada pergerakan manusia adalah kemampuan melakukan control message dan menjaga energi baterai yang dimiliki sehingga lebih menjamin sampainya pesan ke tujuan. Dengan sisa energi baterai dalam sebuah node yang cukup, maka semakin besar kemungkinan sebuah node tersebut menyampaikan pesan ke node lain.

5.2. Saran

Algoritma yang terdapat dalam Protokol PROPHET mampu berjalan atau bekerja secara efektif jika dijalankan pada pergerakan manusia. Untuk penelitian yang dapat dilakukan selanjutnya, algoritma dapat dikembangkan lebih luas mencakup resource dari node. Algoritma dapat digunakan untuk memanajemen resource yang dimiliki setiap node seperti efisiensi buffer occupancy. Dengan demikian kedepannya mampu mengembangkan protokol yang secara optimal dapat meningkatkan kinerja tanpa mengabaikan resource yang dimiliki.


(59)

40

DAFTAR PUSTAKA

[1] Vahdat, Amin & Becker, David. “Epidemic Routing for Partially-connected Ad Hoc Networks”. Technical Report CS-200006, Duke University, April 2000. Diakses dari http://ieeexplore.ieee.org/Xplore/, diunduh pada Oktober 2015.

[2] Lindgren, A., Doria, A. & Schelen, O., “Probabilistic Routing in Intermittenly Connected Networks”. Mobile Computing and Commun. Review, vol. 7, no. 3, Juli 2003.

[3] Keränen, A., Ott, J. & Kärkkäinen, T., “The ONE Simulator for DTN Protocol Evaluation”, Computer Communication Networks.

[4] Lee, Fenglien. (2011). “Routing in Mobile Ad hoc Networks, Mobile Ad-Hoc Networks: Protocol Design”, Prof. Xin Wang (Ed.), ISBN: 978-953-307-402-3, InTech, diakses di: http://www.intechopen.com/books/mobile-adhoc-networks-protocol-design/routing-in-mobile-ad-hoc-networks

[5] Cabacas, R. A., Nakamura, H. & Ra, I-H., “Energy Consumption Analysis of

Delay Tolerant Network Routing Protocols,” International Journal of Software Engineering and Its Applications, vol. 8, no. 2, pp. 1-10, 2010. [6] Schiller, J., “Mobile Communication”, Great Britain: Biddles, 2003.

[7] Scott, J., Gass, R., Crowcroft, J., Hui, P., Diot C., Chaintreau A., CRAWDAD dataset cambridge/haggle (v. 2009‑05‑29), diakses dari

http://crawdad.org/cambridge/haggle/20090529, doi:10.15783/C70011, Mei 2009.

[8] Puri, P., Singh, M.P. (2013) “A Survey Paper on Routing in Delay-tolerant Networks”, International Conference on Information Systems and Computer Networks, pp. 215-220.

[9] Pramanik, A., et al. (2015). “Simulative Study of Random Waypoint Mobility Model for Mobile Ad hoc Networks”, Proceedings of 2015 Global Conference on Communication Technologies (GCCT 2015. pp. 112-116.


(60)

41

[10] Zhang, Z. (2006). “Routing in Intermittenly Connected Mobile Ad Hoc Networks and Delay Tolerant Networks: Overview and Challenges”, 8 (1), pp. 24-37.

[11] Zhang, Z. (2014) “Energy Consumption Analysis of Delay Tolerant Network Routing Protocols”, International Journal of Software Engineering and Its Applications, 8 (2), pp. 1-10.


(61)

42 LAMPIRAN A. Listing Program PROPHET EA

ProphetEA.java /*

* author Anders Lindgern et al. * modified by Parta Adi Putra */

package routing;

import java.util.ArrayList;

import java.util.Collection;

import java.util.Collections;

import java.util.Comparator;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import routing.util.RoutingInfo;

import util.Tuple;

import core.Connection;

import core.DTNHost;

import core.Message;

import core.Settings;

import core.SimClock;

/**

* Implementation of PRoPHET router as described in

* <I>Probabilistic routing in intermittently connected networks</I> by

* Anders Lindgren et al. */

public class ProphetEA extends ActiveRouter {

/** delivery predictability initialization constant*/

public static final double P_INIT = 0.75;

/** delivery predictability transitivity scaling constant default value */

public static final double DEFAULT_BETA = 0.25;

/** delivery predictability aging constant */

public static final double GAMMA = 0.98;

/** Prophet router's setting namespace ({@value})*/

public static final String PROPHET_NS = "ProphetRouter";

/**

* Number of seconds in time unit -setting id ({@value}). * How many seconds one time unit is when calculating aging of * delivery predictions. Should be tweaked for the scenario.*/

public static final String SECONDS_IN_UNIT_S

="secondsInTimeUnit";


(62)

43

* Transitivity scaling constant (beta) -setting id ({@value}). * Default value for setting is {@link #DEFAULT_BETA}.

*/

public static final String BETA_S = "beta";

/** the value of nrof seconds in time unit -setting */

private int secondsInTimeUnit;

/** value of beta setting */

private double beta;

/** delivery predictabilities */

private Map<DTNHost, Double> preds;

/** last delivery predictability update (sim)time */

private double lastAgeUpdate;

private double interval = 300;

private double lastUpdate = 0;

List<Point> listPoint = new ArrayList<>(); List<Double> listHitungLaju = new ArrayList<>();

/**

* Constructor. Creates a new message router based on the settings in

* the given Settings object. * @param s The settings object */

public ProphetEA(Settings s) {

super(s);

Settings prophetSettings = new Settings(PROPHET_NS);

secondsInTimeUnit =

prophetSettings.getInt(SECONDS_IN_UNIT_S);

if (prophetSettings.contains(BETA_S)) {

beta = prophetSettings.getDouble(BETA_S);

}

else {

beta = DEFAULT_BETA;

}

System.setProperty("java.util.Arrays.useLegacyMergeSort", "true");

initPreds(); }

/**

* Copyconstructor.

* @param r The router prototype where setting values are copied from

*/

protected ProphetEA(ProphetEA r) {

super(r);

this.secondsInTimeUnit = r.secondsInTimeUnit;


(63)

44

initPreds(); }

/**

* Initializes predictability hash */

private void initPreds() {

this.preds = new HashMap<DTNHost, Double>(); }

@Override

public void changedConnection(Connection con) {

super.changedConnection(con);

if (con.isUp()) {

DTNHost otherHost = con.getOtherNode(getHost()); updateDeliveryPredFor(otherHost);

updateTransitivePreds(otherHost);

}

}

/**

* Updates delivery predictions for a host.

* <CODE>P(a,b) = P(a,b)_old + (1 - P(a,b)_old) * P_INIT</CODE> * @param host The host we just met

*/

private void updateDeliveryPredFor(DTNHost host) {

double oldValue = getPredFor(host);

double newValue = oldValue + (1 - oldValue) * P_INIT;

preds.put(host, newValue);

}

/**

* 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) {

ageDeliveryPreds(); // make sure preds are updated before getting

if (preds.containsKey(host)) {

return preds.get(host);

}

else {

return 0;

}

}

/**

* Updates transitive (A->B->C) delivery predictions.

* <CODE>P(a,c) = P(a,c)_old + (1 - P(a,c)_old) * P(a,b) * P(b,c) * BETA


(64)

45 * </CODE>

* @param host The B host who we just met */

private void updateTransitivePreds(DTNHost host) {

MessageRouter otherRouter = host.getRouter();

assert otherRouter instanceof ProphetEA : "PRoPHET only

works " +

" with other routers of same type";

double pForHost = getPredFor(host); // P(a,b)

Map<DTNHost, Double> othersPreds =

((ProphetEA)otherRouter).getDeliveryPreds();

for (Map.Entry<DTNHost, Double> e : othersPreds.entrySet()) {

if (e.getKey() == getHost()) {

continue; // don't add yourself

}

double pOld = getPredFor(e.getKey()); // P(a,c)_old

double pNew = pOld + ( 1 - pOld) * pForHost *

e.getValue() * beta;

preds.put(e.getKey(), pNew);

}

}

/**

* Ages all entries in the delivery predictions.

* <CODE>P(a,b) = P(a,b)_old * (GAMMA ^ k)</CODE>, where k is number of

* time units that have elapsed since the last time the metric was aged.

* @see #SECONDS_IN_UNIT_S */

private void ageDeliveryPreds() {

double timeDiff = (SimClock.getTime() - this.lastAgeUpdate)

/

secondsInTimeUnit;

if (timeDiff == 0) {

return;

}

double mult = Math.pow(GAMMA, timeDiff);

for (Map.Entry<DTNHost, Double> e : preds.entrySet()) { e.setValue(e.getValue()*mult);

}

this.lastAgeUpdate = SimClock.getTime();

}

/**

* Returns a map of this router's delivery predictions * @return a map of this router's delivery predictions


(65)

46 */

private Map<DTNHost, Double> getDeliveryPreds() {

ageDeliveryPreds(); // make sure the aging is done

return this.preds;

}

@Override

public void update() {

super.update();

if (SimClock.getTime() - interval >= lastUpdate) {

lastUpdate = SimClock.getTime();

kumpulEnergy();

}

// laju();

if (!canStartTransfer() ||isTransferring()) {

return; // nothing to transfer or is currently

transferring

}

// try messages that could be delivered to final recipient

if (exchangeDeliverableMessages() != null) {

return;

}

tryOtherMessages(); }

public double getEnergy(){

return energy.getEnergy();

}

private void kumpulEnergy() {

double simTime = SimClock.getTime();

if (simTime == 0) {

listPoint.add(new Point(0, getEnergy()));

lastUpdate = simTime;

}

// if (simTime - interval >= lastUpdate) {

lastUpdate = simTime;

listPoint.add(new Point(lastUpdate, getEnergy()));

// }

cariLaju(); }

private double cariLaju () {

double hasilLaju = 0;

if(listPoint.size()>1){

int indexenergiTerakhir = listPoint.size()-1;

hasilLaju =

listPoint.get(indexenergiTerakhir).energi -

listPoint.get(indexenergiTerakhir - 1).energi;


(66)

47

}

return Math.abs(hasilLaju);

}

public double getLaju() {

double alfa = 0.4;

double beta = 1 - alfa;

double laju = 0;

if(listHitungLaju.size() > 1){

int indexTerakhir = listHitungLaju.size()-1;

double l2 = listHitungLaju.get(indexTerakhir);

double l1 = 0;

for(int i = 0; i < indexTerakhir; i++) {

l1 += listHitungLaju.get(indexTerakhir-1);

}

l1 = l1 / indexTerakhir;

laju = alfa * l2 + beta * l1;

}

return laju;

}

/**

* Tries to send all other messages to all connected hosts ordered by

* their delivery probability

* @return The return value of {@link #tryMessagesForConnected(List)}

*/

private Tuple<Message, Connection> tryOtherMessages() {

List<Tuple<Message, Connection>> messages =

new ArrayList<Tuple<Message, Connection>>();

Collection<Message> msgCollection = getMessageCollection();

/* for all connected hosts collect all messages that have a higher

probability of delivery by the other host */

for (Connection con : getConnections()) {

DTNHost other = con.getOtherNode(getHost());

ProphetEA othRouter = (ProphetEA)other.getRouter();

if (othRouter.isTransferring()) {

continue; // skip hosts that are transferring

}

for (Message m : msgCollection) { ProphetEA othPair =

(ProphetEA)m.getTo().getRouter();

if (othRouter.hasMessage(m.getId())) {

continue; // skip messages that the

other one has


(1)

49

else if (p2-p1 < 0) {

return -1;

}

else {

return 1;

}

} }

@Override

public RoutingInfo getRoutingInfo() { ageDeliveryPreds();

RoutingInfo top = super.getRoutingInfo();

RoutingInfo ri = new RoutingInfo(preds.size() +

" delivery prediction(s)");

for (Map.Entry<DTNHost, Double> e : preds.entrySet()) { DTNHost host = e.getKey();

Double value = e.getValue();

ri.addMoreInfo(new RoutingInfo(String.format("%s : %.6f",

host, value)));

}

top.addMoreInfo(ri); return top;

}

@Override

public MessageRouter replicate() {

ProphetEA r = new ProphetEA(this); return r;

} }

Point.java

package routing;

public class Point {

public double waktu;

public double energi;

public Point(double x, double y) { this.waktu = x;

this.energi = y; }


(2)

50

B.

Listing Program Report Remaining Energy

package report;

import java.util.*;

import core.DTNHost;

import core.Settings;

import core.SimClock;

import core.UpdateListener;

public class EnergyEvolution extends Report implements

UpdateListener {

public static final String ENERGY_REPORT_INTERVAL = "occupancyInterval";

/** Default value for the snapshot interval */

public static final int DEFAULT_ENERGY_REPORT_INTERVAL = 3600;

private double lastRecord = Double.MIN_VALUE; private int interval;

private Map<DTNHost, List<Double>> energyVal = new

HashMap<DTNHost, List<Double>>();

public EnergyEvolution() { super();

Settings settings = getSettings();

if (settings.contains(ENERGY_REPORT_INTERVAL)) {

interval = settings.getInt(ENERGY_REPORT_INTERVAL); } else {

interval = -1; /* not found; use default */ }

if (interval < 0) { /* not found or invalid value -> use default */

interval = DEFAULT_ENERGY_REPORT_INTERVAL; }

}

public void updated(List<DTNHost> hosts) { if (isWarmup()) {

return;

}

if (SimClock.getTime() - lastRecord >= interval) { lastRecord = SimClock.getTime();

printLine(hosts); }

}

/**


(3)

51

* @param hosts The list of hosts in the simulation */

private void printLine(List<DTNHost> hosts) { for (DTNHost h : hosts ) {

double value = (Double)h.getComBus().

getProperty(routing.util.EnergyModel.ENERGY_VALUE_ID); if (energyVal.containsKey(h)){

List<Double> li = energyVal.get(h); li.add(value);

energyVal.put(h, li);

}

else {

List<Double> li = new ArrayList<>(); li.add(value);

energyVal.put(h, li);

}

} }

@Override

public void done(){

int waktuInterval = 0;

for (int i = waktuInterval; waktuInterval < getSimTime()/60; i++) {

writeInLine("Menit "+Integer.toString(waktuInterval) + ',');

waktuInterval+=60; }

write("");

for (Map.Entry<DTNHost, List<Double>> entry :

energyVal.entrySet()) {

DTNHost a = entry.getKey(); Integer b = a.getAddress();

write("Node" + b + ' ' + entry.getValue()); }

} }


(4)

52

C.

Skenario Simulasi

Pergerakan Random

Scenario.name =

%%Group.router%%_%%Group.movementModel%%_%%Group.nrofHosts%% Scenario.simulateConnections = true

Scenario.updateInterval = 0.1 Scenario.endTime = 950400

btInterface.type = SimpleBroadcastInterface btInterface.transmitSpeed = 250k

btInterface.transmitRange = 10 Scenario.nrofHostGroups = 1

Group.movementModel = RandomWaypoint Group.router = [ProphetRouter; ProphetEA] Group.bufferSize = 64M

Group.waitTime = 0, 120 Group.nrofInterfaces = 1 Group.interface1 = btInterface Group.speed = 0.4, 1.8

Group.msgTtl = 1440 Group.groupID = n Group.nrofHosts = 25

Group.initialEnergy = 48300 Group.scanEnergy = 0.05 Group.transmitEnergy = 2

Group.scanResponseEnergy = 0.05 Events.nrof = 1

Events1.class = MessageEventGenerator Events1.interval = 900, 2700

Events1.size = 500k,1M Events1.hosts = 0,0 Events1.tohosts = 24,24 Events1.prefix = M

MovementModel.rngSeed = [179426123 ; 179426111; 179425335; 179424691; 179425033]

MovementModel.worldSize = 1000, 1000 MovementModel.warmup = 1000

Report.nrofReports = 4


(5)

53

Report.report2 = TrafficReport Report.report3 = NodeContactReport Report.report4 = EnergyEvolution ProphetRouter.secondsInTimeUnit = 30

Pergerakan Manusia

Scenario.name =

2_%%Group.router%%_%%Group.movementModel%%_%%Group.nrofHosts%% Scenario.simulateConnections = false

Scenario.updateInterval = 0.1 Scenario.endTime = 950400

btInterface.type = SimpleBroadcastInterface btInterface.transmitSpeed = 250k

btInterface.transmitRange = 10 Scenario.nrofHostGroups = 1

Group.movementModel = StationaryMovement Group.nodeLocation = 0,1

Group.router = [ProphetRouter; ProphetEA] Group.bufferSize = 64M

Group.waitTime = 0, 120 Group.nrofInterfaces = 1 Group.interface1 = btInterface Group.speed = 0.4, 1.8

Group.msgTtl = 1440 Group.groupID = n Group.nrofHosts = 36

Group.initialEnergy = 48300 Group.scanEnergy = 0.05 Group.transmitEnergy = 2

Group.scanResponseEnergy = 0.05 Events.nrof = 2

Events1.class = StandardEventReader Events1.filePath = Haggle4-Cam-Imote.csv Events2.class = MessageEventGenerator Events2.interval = 900, 915

Events2.size = 500k,1M Events2.hosts = 1,1 Events2.tohosts = 35,35 Events2.prefix = M

MovementModel.rngSeed = [179424691 ; 179425033; 179425335; 179426111; 179426123]

MovementModel.worldSize = 4500, 3400 MovementModel.warmup = 1000


(6)

54

Report.nrofReports = 4 Report.warmup = 0

Report.reportDir = [reports/Energy/Uji2/Take 1;

reports/Energy/Uji2/Take 2; reports/Energy/Uji2/Take 3; reports/Energy/Uji2/Take 4; reports/Energy/Uji2/Take 5] Report.report1 = MessageStatsReport

Report.report2 = TrafficReport Report.report3 = NodeContactReport Report.report4 = EnergyEvolution ProphetRouter.secondsInTimeUnit = 30