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.
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.
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
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
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
v MOTTO
“He gives strength to the weary and increases the power of the weak.”
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.
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.
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.
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
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
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
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
xvi
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?
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
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).
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
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
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.
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.
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
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
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
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
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
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.
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 = 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
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
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.
17
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
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)
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
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
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).
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
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.
25
Gambar 4.3 Grafik pengaruh penambahan jumlah node terhadap delivery ratio pada pergerakan Random Waypoint.
26
Gambar 4.4 Grafik pengaruh penambahan jumlah node terhadap jumlah node yang mati pada pergerakan Random Waypoint.
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.
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,
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.
30
Gambar 4.8 Grafik pengaruh penambahan kecepatan node terhadap jumlah node yang mati pada pergerakan Random Waypoint.
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
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
Node at PROPHET Node at PROPHET EA
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.
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
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.
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.
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
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
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.
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.
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";
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)) {
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;
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);
public double getPredFor(DTNHost host) {
ageDeliveryPreds(); // make sure preds are updated before getting
* Updates transitive (A->B->C) delivery predictions.
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()) {
* 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)
46 */
private Map<DTNHost, Double> getDeliveryPreds() {
ageDeliveryPreds(); // make sure the aging is done
if (!canStartTransfer() ||isTransferring()) {
return; // nothing to transfer or is currently
transferring
}
// try messages that could be delivered to final recipient
if (exchangeDeliverableMessages() != null) {
public double getEnergy(){
return energy.getEnergy();
}
private void kumpulEnergy() {
double simTime = SimClock.getTime();
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;
47
}
return Math.abs(hasilLaju);
}
public double getLaju() {
double alfa = 0.4;
* 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();
ProphetEA othRouter = (ProphetEA)other.getRouter();
(ProphetEA)m.getTo().getRouter();
if (othRouter.hasMessage(m.getId())) {
continue; // skip messages that the
other one has
48
if (othRouter.getPredFor(m.getTo()) >
getPredFor(m.getTo())) {
// the other node has higher
// sort the message-connection tuples
Collections.sort(messages, new TupleComparator());
return tryMessagesForConnected(messages); // try to
send messages
}
/**
* Comparator for Message-Connection-Tuples that orders the tuples by
* their delivery probability by the host on the other side of the
* connection (GRTRMax) */
private class TupleComparator implements Comparator
<Tuple<Message, Connection>> {
public int compare(Tuple<Message, Connection> tuple1,
Tuple<Message, Connection> tuple2) { // delivery probability of tuple1's message with tuple1's connection
double p1 = ((ProphetEA)tuple1.getValue().
getOtherNode(getHost()).getRouter()).getPredFor(
tuple1.getKey().getTo());
// -"- tuple2...
double p2 = ((ProphetEA)tuple2.getValue().
getOtherNode(getHost()).getRouter()).getPredFor(
tuple2.getKey().getTo());
// bigger probability should come first
if (p2-p1 == 0) {
/* equal probabilities -> let queue mode decide */
return compareByQueueMode(tuple1.getKey(),
tuple2.getKey());
49
public RoutingInfo getRoutingInfo() {
ageDeliveryPreds();
ri.addMoreInfo(new RoutingInfo(String.format("%s :
%.6f",
public MessageRouter replicate() {
ProphetEA r = new ProphetEA(this);
return r;
} }
Point.java
package routing;
public class Point {
public double waktu;
public double energi;
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 = DEFAULT_ENERGY_REPORT_INTERVAL;
}
}
public void updated(List<DTNHost> hosts) {
if (isWarmup()) {
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)){
writeInLine("Menit "+Integer.toString(waktuInterval) + ',');
waktuInterval+=60;
}
write("");
for (Map.Entry<DTNHost, List<Double>> entry :
energyVal.entrySet()) {
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