PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2016
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
MOTTO “He gives strength to the weary and increases the power of the weak.” Isaiah 40:29
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
BAB III PERANCANGAN SIMULASI JARINGAN ......................................... 18 xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 LAMPIRAN .......................................................................................................... 42
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.2. Rumusan Masalah Berdasar pada latar belakang masalah, rumusan masalah yang didapat adalah bagaimana akibat atau dampak dari konsumsi energi node populer (hubnode) 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.
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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).
7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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]. 8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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]
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 :
13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 ∃ m buffer(Nj) do if delivery_preds(Ni) delivery_preds(Nj) if decreasing_power_rate (Nj) decreasing_power_rate (Ni) then forward(m,Ni) end if end if end while end while
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
eksternal dari set data, dalam hal ini set data yang digunakan adalah Haggle4Cam-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 postprocessing 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].
16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.7 Snapshoot Simulator ONE.
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III PERANCANGAN SIMULASI JARINGAN 3.1. Parameter Simulasi Pada penelitian yang dilaksanakan, telah ditentukan parameterparameter 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 Random Waypoint;
Node mobility (pergerakan node)
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.
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. Area Simulasi
Protokol Routing
Jumlah Node
R.A.1
PROPHET
25; 50; 75; 100
1000 × 1000
R.A.2
PROPHET EA
25; 50; 75; 100
1000 × 1000
(m)
Tabel 3.4 Skenario penambahan kecepatan node pada Pergerakan Random Waypoint. Protokol Routing
Kecepatan
Jumlah
Area
Node (m/s)
Node
Simulasi (m)
50
1000 × 1000
50
1000 × 1000
0.02 – 0.55; R.B.1
PROPHET
0.58 – 1.11; 1.13 – 1.67; 1.69 – 2.22 0.02 – 0.55;
R.B.2
PROPHET EA
0.58 – 1.11; 1.13 – 1.67; 1.69 – 2.22
Setelah skenario awal yang menggunakan pergerakan random, maka untuk selanjutnya model pergerakan yang digunakan adalah pergerakan real atau pergerakan manusia untuk kedua protokol.
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
H.B.1
PROPHET
H.B.2
PROPHET EA
TTL Pesan (menit) 2; 5; 30; 60; 180; 360; 1440 2; 5; 30; 60; 180; 360; 1440
20
Model Pergerakan Haggle 4 – Cambridge Imotes Haggle 4 – Cambridge Imotes
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 tempattempat yang telah ditentukan. Berikut merupakan snapshoot atau gambaran dari
jaringan
pada
pergerakan
Random
Waypoint
dan
pergerakan
sesungguhnya (real movement).
Gambar 3.1 Snapshoot model Jaringan Oportunistik.
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PROPHET Delivery
Overhead
ratio
ratio
25
0,73
20,47658
50
0,74036
75 100
Node
PROPHET EA Delivery
Overhead
ratio
ratio
25341,83
0,32332
6,46636
41527,45
47,803
8820,062
0,53852
31,83774
32650,62
0,69886
73
5352,61
0,6748
61,03568
26298,68
0,66928
98
3954,605
0,72372
91,80194
18342,36
Latency
Latency
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.
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Overhead ratio
120 100 80 60 40 20 PROPHET
PROPHET EA
0 25
50
75
100
Jumlah Node Gambar 4.1 Grafik pengaruh penambahan jumlah node terhadap overhead
Latency (detik)
ratio pada pergerakan Random Waypoint. 45000 40000 35000 30000 25000 20000 15000 10000 5000 0
PROPHET
25
50
75
PROPHET EA
100
Jumlah Node 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.
24
Delivery ratio
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0
PROPHET
25
50 75 Jumlah Node
PROPHET EA
100
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.
Number of Dead Nodes
25 Node 25 PROPHET
20
PROPHET EA
15 10 5 0 9
10
11
Waktu (hari)
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Number of Dead Nodes
50 Node 50 PROPHET
40
PROPHET EA
30
20 10 0 9
10
11
Waktu (hari)
Number of Dead Nodes
75 Node 75
PROPHET
PROPHET EA
60 45 30 15
0 9
10
11
Waktu (hari)
Number of Dead Nodes
100 Node 100 90 80 70 60 50 40 30 20 10 0
PROPHET
8
PROPHET EA
9
10
11
Waktu (hari) Gambar 4.4 Grafik pengaruh penambahan jumlah node terhadap jumlah node yang mati pada pergerakan Random Waypoint.
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.1.2. Penambahan Kecepatan Node Tabel 4.2 Hasil perbandingan penambahan kecepatan node pada pergerakan Random Waypoint. PROPHET
Kecepatan Delivery
Overhead
(m/s)
ratio
ratio
0.02 – 0.55
0,75074
43,8992
0.58 – 1.11
0,7463
1.13 – 1.67 1.69 – 2.22
Delivery ratio
Node
PROPHET EA Delivery
Overhead
ratio
ratio
32097,5
0,23888
3,36984
42138,1
47,9699
9378,41
0,53334
25,6743
35597,8
0,73814
47,8785
7925,22
0,57298
34,7589
31877,2
0,7296
47,5301
8536,37
0,54258
35,2981
30665,2
Latency
1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0.02 – 0.55
0.58 – 1.11
Latency
PROPHET
PROPHET EA
1.13 – 1.67
1.69 – 2.22
Kecepatan Node (m/s) 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.
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Overhead ratio
60 50 40 30
20 10 PROPHET
0 0.02 – 0.55
0.58 – 1.11
1.13 – 1.67
PROPHET EA
1.69 – 2.22
Kecepatan Node (m/s) 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
Latency (detik)
untuk sampai pada tujuan (Gambar 4.7). 80000 70000 60000 50000 40000 30000 20000 10000 0
PROPHET EA
0.02 – 0.55
0.58 – 1.11
1.13 – 1.67
PROPHET
1.69 – 2.22
Kecepatan Node (m/s) 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,
28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
Number of Dead Nodes
0.02 – 0.55 m/s 50 PROPHET
PROPHET EA
40 30 20 10 0 9
10
11
Waktu (hari)
Number of Dead Nodes
0.58 – 1.11 m/s 50 PROPHET
PROPHET EA
40 30 20 10 0 9
10
11
Waktu (hari)
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Number of Dead Nodes
1.13 – 1.67 m/s 50 PROPHET
PROPHET EA
40 30 20 10 0 9
10
11
Waktu (hari)
Number of Dead Nodes
1.69 – 2.22 m/s 50 PROPHET
PROPHET EA
40 30 20 10 0 9
10
11
Waktu (hari)
Number of Dead Nodes
5 – 6.11 m/s 50 PROPHET
PROPHET EA
40 30 20 10 0 9
10
11
Waktu (hari) Gambar 4.8 Grafik pengaruh penambahan kecepatan node terhadap jumlah node yang mati pada pergerakan Random Waypoint.
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2. Pergerakan Manusia Tabel 4.3 Hasil perbandingan pada pergerakan manusia. Delivery
Overhead
ratio
ratio
PROPHET
0,75074
43,8992
32097,5
PROPHET EA
0,7463
47,9699
9378,41
Protokol Routing
Latency
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.
Remaining Energy (units)
50000
Hub Node at PROPHET
Hub Node at PROPHET EA
45000 40000 35000 30000 25000 20000 15000
10000 5000 0
Waktu (hari) Gambar 4.9 Grafik laju pengurangan energi hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia.
31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Remaining Energy (units)
50000 Node at PROPHET
45000
Node at PROPHET EA
40000 35000 30000 25000 20000 15000 10000 5000 0
Waktu (hari) Gambar 4.10 Grafik laju pengurangan energi non hub-node pada Protokol PROPHET dan PROPHET EA dalam pergerakan manusia.
Number of Dead Nodes
35 PROPHET
PROPHET EA
30 25 20
15 10 5 0
Waktu (hari) 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
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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). 80
78,17972
Overhead ratio
70
60 50 40
29,93012
30 20 10 0
PROPHET
PROPHET EA
Delivery ratio
Gambar 4.12 Grafik perbandingan overhead ratio pada pergerakan manusia. 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0
0,36472 0,2546
PROPHET
PROPHET EA
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
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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. 40000
Latency (detik)
39500
39450,07856
39000 38500 38000
37539,74736
37500 37000 36500
PROPHET
PROPHET EA
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
PROPHET Delivery
Overhead
ratio
ratio
2
0,0093
34,4
5
0,0148
30
PROPHET EA Delivery
Overhead
ratio
ratio
34,544
0,00152
33
15,3999
30,875
86,825
0,0037
37
105,6
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
(menit)
Latency
Latency
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 34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
mencapai tujuan, hal tersebut dapat terjadi karena kemungkinan pesan didrop karena TTL kecil kecuali pesan di-drop karena buffer yang tidak
Delivery ratio
mencukupi. 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0
PROPHET
2
5
30
60
180
PROPHET EA
360
1440
TTL (menit) 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. 40 PROPHET
Overhead ratio
35
PROPHET EA
30
25 20 15 10 5 0 2
5
30
60
180
360
1440
TTL (menit) 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
35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
Latency (detik)
dari node selain hub-node seperti digambarkan pada Gambar 4.17. 45000 40000 35000 30000 25000 20000 15000 10000 5000 0
PROPHET
2
5
30
60
PROPHET EA
180
360
1440
TTL (menit) 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.
36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TTL = 180 menit
Number of Dead Nodes
36 PROPHET
PROPHET EA
30 24 18 12 6 0 10
11
Waktu (hari)
TTL = 360 menit
Number of Dead Nodes
36 PROPHET
PROPHET EA
30 24 18
12 6 0 10
11
Waktu (hari)
37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
TTL = 1440 menit
Number of Dead Nodes
36 PROPHET
PROPHET EA
30 24 18 12 6 0 10
11
Waktu (hari) Gambar 4.18 Grafik pengaruh penambahan TTL pesan terhadap jumlah node yang mati pada pergerakan manusia.
38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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.
39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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-4023, InTech, diakses di: http://www.intechopen.com/books/mobile-adhocnetworks-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.
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
[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.
41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN A. Listing Program PROPHET EA ProphetEA.java /* * author Anders Lindgern et al. * modified by Parta Adi Putra */ package routing; import import import import import import import import
java.util.ArrayList; java.util.Collection; java.util.Collections; java.util.Comparator; java.util.HashMap; java.util.Iterator; java.util.List; java.util.Map;
import routing.util.RoutingInfo; import util.Tuple; import import import import import
core.Connection; core.DTNHost; core.Message; core.Settings; core.SimClock;
/** * Implementation of PRoPHET router as described in *
Probabilistic routing in intermittently connected networks 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"; /**
42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
* 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
preds; /** last delivery predictability update (sim)time */ private double lastAgeUpdate; private double interval = 300; private double lastUpdate = 0; List listPoint = new ArrayList<>(); List 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; this.beta = r.beta;
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
initPreds(); } /** * Initializes predictability hash */ private void initPreds() { this.preds = new HashMap(); } @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. * P(a,b) = P(a,b)_old + (1 - P(a,b)_old) * P_INIT
* @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. * P(a,c) = P(a,c)_old + (1 - P(a,c)_old) * P(a,b) * P(b,c) * BETA
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
*
* @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 othersPreds = ((ProphetEA)otherRouter).getDeliveryPreds(); for (Map.Entry 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. * P(a,b) = P(a,b)_old * (GAMMA ^ k)
, 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 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
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
*/ private Map 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; listHitungLaju.add(hasilLaju);
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
} 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> messages = new ArrayList>(); 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 }
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if (othRouter.getPredFor(m.getTo()) > getPredFor(m.getTo())) { // the other node has higher probability of delivery if (othPair.getLaju() < this.getLaju()){ messages.add(new Tuple<Message, Connection>(m,con)); } } } } if (messages.size() == 0) { return null; } // 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 > { 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()); }
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 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; } }
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
B. Listing Program Report Remaining Energy package report; import java.util.*; import import import import
core.DTNHost; core.Settings; core.SimClock; 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> energyVal = new HashMap>();
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 hosts) { if (isWarmup()) { return; } if (SimClock.getTime() - lastRecord >= interval) { lastRecord = SimClock.getTime(); printLine(hosts); } } /** * Prints a snapshot of the remaining energy
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
* @param hosts The list of hosts in the simulation */ private void printLine(List hosts) { for (DTNHost h : hosts ) { double value = (Double)h.getComBus(). getProperty(routing.util.EnergyModel.ENERGY_VALUE_ID); if (energyVal.containsKey(h)){ List li = energyVal.get(h); li.add(value); energyVal.put(h, li); } else { List 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> entry : energyVal.entrySet()) { DTNHost a = entry.getKey(); Integer b = a.getAddress(); write("Node" + b + ' ' + entry.getValue()); } } }
51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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 Report.warmup = 0Report.report1 = MessageStatsReport
52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
54