BERDASARKAN TINGKAT KEPADATAN ONE HOP

  W ;/--n

  

[Halaman ini sengaja dikosongkan]

UNDERGRADUATE THESES

  • – KI141502

  

[Halaman ini sengaja dikosongkan]

  

LEMBAR PENGESAHAN

  

IMPLEMENTASI ADAPTIF HELLO INTERVAL PADA

REACTIVE ROUTING PROTOCOL AODV

BERDASARKAN TINGKAT KEPADATAN ONE HOP

  

VEHICLE DI LINGKUNGAN VANET

TUGAS AKHIR

  Diajukan Guna Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer pada

  Bidang Studi Arsitektur dan Jaringan Komputer Program Studi S-1 Jurusan Teknik Informatika

  

[Halaman ini sengaja dikosongkan]

  

IMPLEMENTASI ADAPTIVE HELLO INTERVAL PADA

REACTIVE ROUTING PROTOCOL AODV

BERDASARKAN TINGKAT KEPADATAN ONE HOP

VEHICLE DI LINGKUNGAN VANET

  Nama Mahasiswa : I DEWA PUTU SUMITRA PUTRA NRP : 5113100009 Jurusan : Teknik Informatika FTIF-ITS Dosen Pembimbing 1 : Prof. Ir. Supeno Djanali, M.Sc., Ph. D.

Dosen Pembimbing 2 : Dr. Eng. Radityo Anggoro, S. Kom., M. Sc

Abstrak

  AODV merupakan protokol routing yang pada dasarnya

dibuat untuk digunakan pada jaringan MANET. Hal tersebut

menyebabkan protokol ini tidak bekerja dengan baik pada

  Dari uji coba yang dilakukan, Hello Interval yang adaptif

memberikan peningkatan PDR hingga 10% pada skenario dengan

jumlah node 50. Namun, mengalami penurunan hingga sebesar

4% - 30% pada skenario dengan jumlah node 75 dan 100.

  Kata kunci : AODV, VANET, NS-3

IMPLEMENTATION OF ADAPTIVE HELLO INTERVAL

  

IN REACTIVE ROUTING PROTOCOL AODV BASED ON

DENSITY LEVEL OF ONE HOP VEHICLE IN VANET

ENVIRONMENT

: I DEWA PUTU SUMITRA PUTRA Student’s Name : 5113100009 Student’s ID Department : Teknik Informatika FTIF-ITS First Advisor : Prof. Ir. Supeno Djanali, M.Sc., Ph. D.

Second Advisor : Dr. Eng. Radityo Anggoro, S. Kom., M.Sc.

Abstract

  Ad Hoc On demand Distance Vector (AODV) is a routing

protocol that is basically made for Mobile Ad hic Network

(MANET). This causes the protocol does not work properly on the

Vehicular Ad hoc Network (VANET). Thus, it required

modification oh this protocol. One of the attributes that can be

  

[Halaman ini sengaja dikosongkan]

KATA PENGANTAR

  Puji syukur setinggi-tingginya bagi Ida Sang Hyang Widhi Wasa, yang telah memberikan berkah dan kelancaran sehingga penulis dapat menyelesaikan Tugas Akhir yang berjudul “Implementasi Adaptif Hello Interval pada Reactive Routing Protocol AODV Berdasarkan Tingkat Kepadatan One Hop Vehicle pada VANET

  ” dengan tepat waktu. Pengerjaan Tugas Akhir ini merupakan suatu kesempatan yang sangat berharga bagi penulis, karena dengan mengerjakan

  Tugas Akhir ini penulis dapat memperdalam, meningkatkan serta mengimplementasikan ilmu yang didapat selama penulis menempuh perkuliahan di jurusan Teknik Informatika ITS.

  Terselesaikannya buku Tugas Akhir ini, tidak lepas dari bantuan dan dukungan dari berbagai pihak. Oleh karena itu, penulis

  6. Teman-teman Diary Of Silver, Bagus Mayani, Kevin Arditya, Asbun, Arvi, Nyom, Sipah, Albert, Allvin, Bagas yang senantiasa menghibur dan mendukung penulis dalam mengerjakan tugas akhir ini.

  7. Teman-teman TPKH angkatan 2013 yang sudah menemani bersuka cita di kampus perjuangan ini sejak maba.

  8. Teman-teman TC angkatan 2013 yang sudah bersama-sama jatuh bangun menjalani kuliah di kampus TC sejak maba hingga akhir kuliah.

  9. Serta semua pihak yang yang telah turut membantu penulis dalam menyelesaikan Tugas Akhir ini. Sebagai manusia biasa, penulis menyadari Tugas Akhir ini masih jauh dari kesempurnaan dan memiliki banyak kekurangan. Sehingga dengan segala kerendahan hari penulis mengharapkan saran dan kritik yang membangun dari pembaca.

  

DAFTAR ISI

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

[Halaman ini sengaja dikosongkan]

  3. DAFTAR GAMBAR

Gambar 2.1 Ilustrasi Vanet [2] ...................................................... 8Gambar 2.2 Teknik pencarian rute dari AODV [16] ................... 10Gambar 2.3 Trace pengiriman Hello Message ............................ 22Gambar 2.4 Trace penerimaan Hello Message ........................... 23Gambar 2.5 Trace pengiriman data paket ................................... 24Gambar 2.6 Trace penerimaan data paket ................................... 24Gambar 2.7 Trace pengiriman Route Request (RREQ) .............. 25Gambar 2.8 Trace pengiriman Route Reply (RREP) ................... 26Gambar 2.9 Trace pengiriman Route Error (RERR) .................. 26Gambar 2.10 Contoh CTL_ACK ................................................ 27Gambar 3.1 Diagram rancangan simulasi ................................... 31Gambar 3.2 Alur pembuatan peta grid ........................................ 33Gambar 3.3 Alur pembuatan skenario riil ................................... 34Gambar 4.17 Perintah untuk konversi file osm menjadi format

  SUMO ......................................................................................... 49

Gambar 4.18 Hasil konversi dilihat pada sumo-gui .................... 50Gambar 4.19 Penambahan atribut pada paket RREP .................. 52Gambar 4.20 Penambahan setter dan getter ................................ 52Gambar 4.21 Modifikasi constructor pada class RrepHeader ..... 53Gambar 4.22 Modifikasi constructor pada aodv-packet.cc ......... 53Gambar 4.23 Konversi unsigned integer menjadi satu nilai double

  ..................................................................................................... 54

Gambar 4.24 Penambahan atribut untuk pengiriman paket Hello

  ..................................................................................................... 54

Gambar 4.25 Modifikasi yang dilakukan pada fungsi SendHello

  ..................................................................................................... 55

Gambar 4.26 Tambahan attribut pada aodv-rtable.h ................... 57

  Gambar

  4.27 Penyimpanan Hello Message pada

  Gambar 5.1 Grafik hasil uji coba penentuan βmax dan βmin ..... 69

Gambar 5.2 Grafik PDR skenario Grid ....................................... 73Gambar 5.3 Grafik Delay skenario Grid ..................................... 73Gambar 5.4 Grafik Routing Overhead skenario Grid ................. 74Gambar 5.5 Grafik PDR skenario real Surabaya ......................... 76Gambar 5.6 Grafik Delay skenario real Surabaya ....................... 76Gambar 5.7 Grafik Routing Overhead skenario real Surabaya ... 77

  

[Halaman ini sengaja dikosongkan]

  4. DAFTAR TABEL

Tabel 2.1 Parameter vanet-routing-compare ............................... 19Tabel 3.1 Tabel Istilah pada Tugas Akhir ................................... 29Tabel 3.2 Modifikasi Struktur Paket Hello.................................. 35Tabel 3.3 Parameter

  • – parameter simulasi .................................. 37

Tabel 5.1 Spesifikasi laptop yang digunakan .............................. 67Tabel 5.2 Spesifikasi VMware Workstation ............................... 67Tabel 5.3 Hasil uji skenario untuk nilai TWR ............................. 70Tabel 5.4 Hasil nilai PDR dengan variasi nilai TWRmax ........... 71Tabel 5.5 Hasil PDR pada skenario Grid .................................... 72Tabel 5.6 Hasil Average Delivery Delay pada skenario Grid ...... 72Tabel 5.7 Hasil Routing Overhead pada skenario Grid ............... 72Tabel 5.8 Hasil PDR pada skenario Real Surabaya .................... 75Tabel 5.9 Hasil Average Delivery Delay pada skenario Real

  

[Halaman ini sengaja dikosongkan]

  5. DAFTAR PERSAMAAN

  

  

[Halaman ini sengaja dikosongkan]

1. BAB I PENDAHULUAN

  Pada bab ini akan dijelaskan mengenai beberapa hal dasar dalam Tugas Akhir ini yang meliputi latar belakang, perumusan masalah, batasan, tujuan dan manfaat pembuatan Tugas Akhir serta metodologi dan sistematika pembuatan buku Tugas Akhir ini. Dari uraian dibawah ini diharapkan gambaran Tugas Akhir secara umum dapat dipahami dengan baik.

   Latar Belakang

  Informasi merupakan suatu hal yang sangat mudah didapat dewasa ini. Setiap detiknya seseorang dapat mengetahui apa yang terjadi di belahan dunia lain. Didukung dengan perkembangan berkomunikasi tanpa membutuhkan pengaturan infrastruktur tersentral ataupun server yang digunakan untuk mengontrol. Implementasi dari VANET ini telah menciptakan beberapa routing

  

protocol . Berdasarkan perlakuannya terhadap rute, routing

protocol dalam VANET dibedakan menjadi dua, yaitu routing

protocol bersifat proaktif dan reaktif. Routing protocol proaktif

  menggunakan basis data untuk menyimpan node dan rute yang berada dalam jaringan, sedangkan routing protocol reaktif tidak menggunakan basis data melainkan melakukan pencarian node berikutnya pada setiap node untuk membentuk sebuah rute.

  Tugas Akhir ini akan menggunakan Ad hoc On-Demand

  

Distance Vector (AODV) yang dimodifikasi untuk meningkatkan

  kinerjanya. Adapun bagian yang akan di modifikasi dalam routing

  

protocol ini yaitu Interval dari Hello Message yang digunakan

untuk mengetahui node tetangga dari masing - masing node.

  2. Menentukan selang waktu Hello Message yang mengacu pada jumlah node tetangga(1-hop node) di sekitarnya.

  3. Uji coba menggunakan Network Simulator 3 (NS-3).

  4. Pembuatan scenario uji coba menggunakan Simulation of urban Mobility(SUMO).

   Tujuan Tujuan pengerjaan Tugas Akhir ini adalah untuk meneliti

pengaruh Adaptif Hello Interval pada performa routing protocol

  AODV.

   Manfaat

  Manfaat dari pengerjaan Tugas Akhir ini antara lain :

  1. Mengetahui pengaruh Adaptif Hello Interval pada routing Terdapat pula sub bab jadwal kegiatan yang menjelaskan jadwal pengerjaan tugas akhir.

  2. Studi literatur Pada studi literatur ini, akan dipelajari sejumlah referensi yang diperlukan dalam pembuatan aplikasi yaitu mengenai ns-3

  Network Simulator , mobile ad hoc networks (MANETs), vehicular ad hoc networks (VANETs), bahasa pemrograman

  C++, dan routing protocol AODV.

  3. Analisis dan desain perangkat lunak Pada tahap ini dilakukan analisis dari hasil percobaan modifikasi routing protocol yang dibuat. Data yang dianalisis berasal dari perhitungan packet delivery ratio, routing

  overhead , dan delay pengiriman paket dari node ke node

  6. Penyusunan buku Tugas Akhir.

  Pada tahapan ini disusun buku yang memuat dokumentasi mengenai pembuatan serta hasil dari implementasi perangkat lunak yang telah dibuat.

   Sistematika Penulisan Laporan Tugas Akhir

  Buku Tugas Akhir ini bertujuan untuk mendapatkan gambaran dari pengerjaan Tugas Akhir secara keseluruhan. Selain itu, diharapkan dapat berguna untuk pembaca yang tertarik untuk melakukan pengembangan lebih lanjut. Secara garis besar, buku Tugas Akhir terdiri atas beberapa bagian seperti berikut ini:

Bab I Pendahuluan Bab yang berisi mengenai latar belakang, tujuan, dan

  manfaat dari pembuatan Tugas Akhir. Selain itu

Bab VI Penutup Bab ini merupakan bab terakhir yang menyampaikan

  kesimpulan dari hasil uji coba yang dilakukan dan saran untuk pengembangan perangkat lunak ke depannya.

2. BAB II TINJAUAN PUSTAKA

  Pada bab ini akan dibahas mengenai teori yang menjadi dasar dari pembuatan Tugas Akhir ini. Teori yang dibahas mencakup elemen-elemen yang terkait dalam topik Tugas Akhir mulai dari sumber dari permasalahan, pendekatan yang digunakan, serta metode dan teknologi yang digunakan untuk pengerjaan Tugas Akhir ini.

BAB 2 Vehicular Ad hoc Network Sebuah jaringan terorganisir yang dibentuk dengan

  menghubungkan kendaraan dan RSU (Roadside Unit) disebut awal untuk menanggapi situasi yang abnormal. Untuk mencapai hal ini, suatu OBU secara teratur menyiarkan pesan yang terkait dengan informasi dari posisi pengendara, waktu saat ini, arah mengemudi, kecepatan, status rem, sudut kemudi, lampu sen, percepatan / perlambatan, kondisi lalu lintas. [1]

  

Discovery berupa Route Request (RREQ) dan Route Reply

  (RREP). Sedangkan Route Maintenance berupa Data, Route update dan Route Error (RERR).

  AODV memerlukan beberapa field pada setiap node untuk menjaga tabel routing, antara lain :

   Destination IP Address : berisi alamat IP dari node tujuan yang

  digunakan untuk menentukan rute

   Destination Sequence Number : destination sequence number

  bekerjasama untuk menentukan rute

   Next Hop

  : ‘Loncatan’ (hop) berikutnya, bisa berupa tujuan atau node tengah, field ini dirancang untuk meneruskan paket ke node tujuan.  : Jumlah hop dari alamat IP sumber ke alamat IP

  Hop Count tujuan.

   Lifetime : Waktu dalam miliseconds yang digunakan untuk baru dengan menyebarkan RREQ kembali [3]. Ilustrasi teknik pencarian rute pada AODV dapat dilihat pada Gambar 2.2. Pada tugas akhir ini protokol AODV digunakan sebagai protokol VANET.

   Total Weigth of Route (TWR)

  Pada Tugas Akhir ini, modifikasi Hello Interval dilakukan dengan mempertimbangkan faktor kecepatan, jarak dan juga percepatan. Oleh karena itu diperlukan suatu formulasi untuk menggabungkan parameter-parameter tersebut. Total Weigth of

  

Route (TWR) merupakan bobot sebuah route dinilai dari

kecepatan, percepatan dan juga jarak node ke node berikutnya [4].

  Formula TWR dirancang dengan mempertimbangkan beberapa faktor berikut : Kecepatan dan Percepatan

   Semakin besar perbedaan kecepatan dan akselerasi antar dua kendaraan, maka semakin besar pula kemungkinan dua kendaraan tersebut saling berjauhan. Asumsi tersebut berimplikasi pada TWR dalam bentuk pelebaran nilai TWR.

  2

  2 ) min (√( − + ( − ) ; )

  (2.1)

  = 1 −

  dimana, i x , i y : Koordinat dari kendaraan i j x , j y : Koordinat dari kendaraan j r : Jarak transmisi maksimum Nilai indeks stabilitas yang paling baik adalah 1. Indeks stabilitas dengan nilai 1 dihasilkan ketika kendaraan i dan j memiliki vektor pergerakan yang sama. Nilai indeks stabilitas paling buruk adalah 0. Indeks stabilitas dengan nilai 0 didapatkan ketika kendaraan i dan j memiliki jarak yang lebih jauh dari jarak transmisi maksimum. Indeks

  Nilai TWR ditentukan oleh perbedaan kecepatan, akselerasi dan arah dari next-hop node dan node tujuan, serta kualitas hubungan antara node sumber dengan next-hop node. Formula TWR mengimplikasikan next-hop node yang baik adalah node yang memiliki nilai TWR yang rendah karena memiliki kecepatan, akselerasi dan arah yang relatif sama dengan node tujuan, serta memiliki kualitas hubungan yang relatif bagus dengan node sumber [4].

   Dynamic Beacon Scheduling

  Disini akan diilustrasikan prosedur dari penentuan nilai beacon secara dinamis untuk menghindari Routing Overhead. Penentuan nilai interval

  (β) ditentukan berdasarkan nilai kecepatan masing-masing kendaraan karena kecepatan bisa dianggap sebagai akan dipakai sebagai acuan penentuan hello interval dengan mengganti faktor speed dengan faktor TWR.

   Simulation of Urban Mobility (SUMO)

  Simulation of Urban Mobility atau dikenal dengan SUMO adalah program aplikasi simulator yang digunakan untuk membuat simulasi pergerakan kendaraan pada suatu jalur tertentu. SUMO adalah program yang bersigat free, open-source, berukuran kecil, dan simulasi trafik multi-modal. SUMO dikembangkan pada tahun 2000 yang bertujuan untuk mengakomodasi penelitian-penelitian yang melibatkan pergerakan kendaraan di jalan raya, terutama daerah-daerah yang padat penduduknya. SUMO dikembangkan kali pertama oleh Daniel Krajzewicz, Eric Nikolay, dan Michael Behrisch [6] randomTrips.py adalah berupa file dengan ekstensi .trips.xml. Pada Tugas Akhir ini randomTrips.py digunakan untuk membuat node pada scenario grid dan Surabaya.

   duarouter.exe Duarouter berfungsi untuk membuat rute pergerakan yang asal dan tujuannya sudah dibuat oleh randomTrips.py. Secara

  default duarouter menggunakan algoritma Djikstra untuk

  membuat rutenya. Hasil dari duarouter berupa file dengan ekstensi .rou.xml

   sumo-gui.exe Sumo-gui berfungsi untuk menampilkan pergerakan setiap

  node yang sudah dibuat sebelumnya secara grafis. Cara kerja

  sumo-gui adalah dengan menggabungkan peta yang ada pada

  file berekstensi .net.xml dengan rutenya yang

  berekstensi .rou.xml dalam sebuah file lain dengan secara bersamaan di seluruh sistem operasi tanpa melakukan booting ulang.

  Produk workstation memudahkan hampir seluruh sistem operasi untuk melakukan testing pada platform mereka. Mulai dari testing aplikasi yang dibangun untuk Windows 10, testing berbagai browser sampai dengan deployment Android-x86 untuk perangkat bergerak tanpa memerlukan perangkatnya tersendiri. Professional

  IT menggunakan produk workstation untuk terhubung dengan aman ke vSphere, ESXi atau server Workstation lainnya untuk mengelola mesin virtual dan host fisik. Platform hypervisor yang umum memaksimalkan ketangkasan dan produktivitas dengan memungkinkan pengalihan mesin virtual ke dan dari PC local anda dengan mudah [7].

  Pada tugas akhir ini VMware Workstation digunakan untuk menjalankan sistem operasi Linux yang berisikan NS-3 dan

  Pada tugas akhir ini OpenStreetMap digunakan sebagai penyedia peta untuk skenario riil Surabaya.

   JOSM

  JOSM(Java OpenStreetMap Editor) adalah alat penyunting data OpenStreetMap. JOSM tidak membutuhkan koneksi internet untuk menyunting dan cocok bagi pengguna yang sudah mahir. JOSM awalnya dikembangkan oleh Immanuel Scholz dan saat ini dikelola oleh Dirk Sticker. Homepagenya terletak di josm.openstreetmap.de. Java harus terpasang terlebih dahulu sebelum dapat mengoperasikan JOSM [9].

  Pada tugas akhir ini JOSM digunakan untuk mengedit peta yang didapat dari OpenStreetMap. pengembang. NS-3 utamanya digunakan pada sistem operasi Linux, namun dapat digunakan untuk FreeBSD, Cygwin (Untuk Windows), dan dukungan untuk Visual Studio yang bersifat native yang masih dikembangkan.

  Pada VANET, NS-3 mempunyai beberapa fitur yang dapat dimanfaatkan untuk memodelkan dan menguji VANET. VANET disimulasikan dengan membuat skenario jaringan dan penerapan

  

routing protocol . Pada modul NS-3 versi 3.26 terdapat source

  untuk melakukan percobaan lingkungan VANET. Pembuatan topologi, node dan protokol yang digunakan untuk VANET sudah didukung oleh NS-3. Skenario mobility dengan format NS-2 juga dapat digunakan pada NS-3 dengan bantuan library atau helper yang telah tersedia. Dengan NS-3 kita dapat menambahkan fungsi- fungsi baru di dalam core NS-3 karena NS-3 bersifat open source. NS-3 dikembangkan menggunakan Bahasa C++ di lapisan inti dan menggunakan RAM 1 GB. Petunjuk instalasi NS-3 selengkapnya akan dijelaskan pada lampiran 2.

2.10.2 Penggunaan vanet-routing-compare.cc

  Pada NS-3, terdapat skrip program untuk VANET yaitu vanet-routing-compare yang terletak pada direktori src/wave/examples. Program ini mengkombinasikan beberapa modul NS-3 dari examples untuk mendukung pengembangan simulasi VANET.

  Program vanet-routing-compare memiliki berbagai jenis parameter simulasi yang dapat dikonfigurasi sesuai kebutuhan. Kategori parameter yang dapat dirubah nilai aslinya dan kegunaannya serta contoh cara penggunaannya serta konfigurasinya akan ditunjukkan oleh Tabel 2.1. Parameter Meaning Values Default Example in simulation 1=OLSR 2=AODV 3=DSDV 4=DSR routing-compare -- protocol=2” lossModel 1=Friis

  2=ItuR14

  11Los 3=TwoRa yGround 4=LongDi stance integer 3 ./waf --run

  “scratch/my-vanet- routing-compare -- lossModel=3” fading 0=None

  1=Nakaga integer ./waf --run “scratch/my-vanet- Parameter Meaning Values Default Example routing-compare -- mobility=1” rate Rate String 512bps ./waf --run “scratch/my-vanet- routing-compare -- rate=2048” phyMode

  B Phy mode 802.11p

  String DsssRate

  11Mbps ./waf --run “scratch/my-vanet- routing-compare -- phyModeB=DsssR ate11Mbps” speed Node speed

  (m/s) integer 20 ./waf --run

  “scratch/my-vanet- routing-compare -- speed=10” Parameter Meaning Values Default Example table at routing-compare -- t=5 routingTables=1” asciiTrace Dump integer ./waf --run ASCII

  “scratch/my-vanet- trace data routing-compare -- asciiTrace=1” pcap Create integer ./waf --run

  PCAP “scratch/my-vanet- files for all routing-compare -- nodes pcap=1”

2.10.3 NS-3 Trace File

  NS-3 Trace File merupakan output hasil running skenario dari NS-3 yang biasanya berekstensi .tr. Dari trace file inilah yang

  Hello Message bisa dibilang merupakan jenis RREP special

  karena TypeHeader-nya merupakan RREP namun yang membedakannya adalah tujuan pengirimannya. Dalam contoh tersebut ip tujuannya merupakan sebuah ip broadcast (10.1.255.255) dengan destination dan source ip yang merupakan ip node itu sendiri (10.1.0.20). Saat melakukan simulasi VANET menggunakan AODV, baris yang paling sering muncul pasti Hello

  

Message , baik pengiriman maupun penerimaan. Karena Hello

Message pasti dikirimkan secara periodik meskipun tidak ada

  aktivitas pengiriman data paket.

Gambar 2.4 merupakan contoh penerimaan Hello Message pada NS-3 Trace File.

  r 0.00616045

/NodeList/2/DeviceList/0/$ns3::WifiNetDevice/Phy/State/RxO k ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0,

Retry=0, MoreData=0 Duration/ID=0us, DA=ff:ff:ff:ff:ff:ff, t 8.2038

/NodeList/1/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Tx

ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0, Retry=0, MoreData=0 Duration/ID=96us, DA=00:00:00:00:00:15, SA=00:00:00:00:00:02, BSSID=ff:ff:ff:ff:ff:ff, FragNumber=0, SeqNumber=87) ns3::LlcSnapHeader (type 0x800) ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 64 id 0 protocol 17 offset (bytes) 0 flags [none] length: 92 10.1.0.2 > 10.1.0.1) ns3::UdpHeader (length: 72 49153 > 9) Payload (size=64) ns3::WifiMacTrailer ()

Gambar 2.5 Trace pengiriman data paket

  Pengiriman data paket pasti memiliki pengirim dan penerima yang jelas dan selalu sama. Dalam skenario yang akan di jalankan

  

node 1 dengan IP 10.1.0.2 akan bertindak sebagai pengirim dan

  0 dengan IP 10.1.0.1 akan bertindak sebagai penerima. Data

  node

  paket memiliki ciri-ciri terdapat Payload (size=64) yang

Gambar 2.7 merupakan contoh pengiriman RREQ (route request ) pada NS-3 Trace File.

  t 1.94742

/NodeList/1/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Tx

ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0,

Retry=0, MoreData=0 Duration/ID=0us, DA=ff:ff:ff:ff:ff:ff,

SA=00:00:00:00:00:02, BSSID=ff:ff:ff:ff:ff:ff, FragNumber=0, SeqNumber=20) ns3::LlcSnapHeader (type 0x800) ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 1 id 20 protocol 17 offset (bytes) 0 flags [none] length: 52 10.1.0.2 > 10.1.255.255) ns3::UdpHeader (length: 32 654 > 654) ns3::aodv::TypeHeader (RREQ) ns3::aodv::RreqHeader (RREQ ID 1 destination: ipv4

10.1.0.1 sequence number 0 source: ipv4 10.1.0.2 sequence

number 1 flags: Gratuitous RREP 1 Destination only 0 Unknown sequence number 1) ns3::WifiMacTrailer ()

Gambar 2.7 Trace pengiriman Route Request (RREQ)

  Route Request memiliki ciri utama yaitu memiliki r 30.00616045

/NodeList/2/DeviceList/0/$ns3::WifiNetDevice/Phy/State/

RxOk ns3::WifiMacHeader (DATA ToDS=0, FromDS=0, MoreFrag=0, Retry=0, MoreData=0 Duration/ID=0us, DA=ff:ff:ff:ff:ff:ff, SA=00:00:00:00:00:14, BSSID=ff:ff:ff:ff:ff:ff, FragNumber=0, SeqNumber=0) ns3::LlcSnapHeader (type 0x800) ns3::Ipv4Header (tos 0x0 DSCP Default ECN Not-ECT ttl 1 id 0 protocol 17 offset (bytes) 0 flags [none] length: 48 10.1.0.20 > 10.1.0.19) ns3::UdpHeader (length: 28 654 > 654) ns3::aodv::TypeHeader (RREP) ns3::aodv::RrepHeader (destination: ipv4 10.1.0.20 sequence number 0 source ipv4 10.1.0.20 lifetime 200 acknowledgment required flag 0) ns3::WifiMacTrailer ()

Gambar 2.8 Trace pengiriman Route Reply (RREP)

  Route reply mirip seperti Hello Message namun tujuan

  pengirimannya bukanlah

  IP broadcast (10.1.255.255) melainkan suatu node tertentu. Selain itu destination dan source

  Route Error memiliki ciri utama yaitu

  ns3::aodv::TypeHeader (RRER). Terdapat informasi IP mana yang hilang. Informasi IP yang hilang bisa dimuat lebih dari satu dengan pemisah “,” (koma) dan diakhiri dengan “,0” sebagai akhir daftar ip yang hilang. Pada RERR juga diperlukan ACK setelah menerima, sama seperti RREP.

Gambar 2.10 merupakan contoh CTL_ACK pada NS-3 Trace File .

  t 3.16784

/NodeList/8/DeviceList/0/$ns3::WifiNetDevice/Phy/State/Tx

ns3::WifiMacHeader (CTL_ACK Duration/ID=0us,

RA=00:00:00:00:00:01) ns3::WifiMacTrailer ()

Gambar 2.10 Contoh CTL_ACK

  ACK bisa jadi merupakan baris yang paling sering muncul pada NS-3 Trace File, karena hampir di setiap pengiriman pasti

  

[Halaman ini sengaja dikosongkan]

3. BAB III PERANCANGAN

  Perancangan merupakan bagian penting dari pembuatan sistem secara teknis. Sehingga bab ini secara khusus akan menjelaskan perancangan sistem yang dibuat dalam Tugas Akhir ini. Berawal dari deskripsi umum sistem hingga perancangan skenario alur dan implementasinya. Terdapat beberapa istilah yang perlu dimengerti sebelumnya untuk memudahkan pembaca. Istilah-istilah tersebut dicantumkan pada tabel 3.1.

Tabel 3.1 Tabel Istilah pada Tugas Akhir

  Istilah Singkatan Arti/Keterangan Network Simulator

  3 NS-3 Merupakan aplikasi simulator jaringan versi 3

  Istilah Singkatan Arti/Keterangan

  tetangganya yang akan digunakan pada formula DBS.

  • TWRmin Merupakan batas bawah nilai bobot node dengan

  node tetangganya yang

  akan digunakan pada formula DBS.

  

Packet Delivery PDR Merupakan perbandingan

Ratio antara paket yang dikirim

node source dengan paket

  yang diterima node destination .

  • Average Delivery Merupakan rata-rata delay
menggunakan program pada NS-3. Modifikasi adaptif Hello

  

Interval dilakukan pada NS-3 dengan mengubah konfigurasi pada

  modul dari routing protocol AODV Rancangan Simulasi

  Skenario jaringan Protokol AODV dengan modifikasi

  VANET Grid/Real Map (*.tcl) Hello Interval

  digunakan

  Simulasi Vanet digunakan pada NS-3(*.cc)

  menghasilkan

   Perancangan Skenario

  Perancangan skenario mobilitas uji coba VANET dimulai dari perancangan peta pergerakan node, pembuatan rute lalu lintas dan implementasi pergerakan. Dalam Tugas Akhir ini, peta pergerakan node yang akan digunakan ada 2 macam yaitu peta grid dan peta riil wilayah Surabaya. Peta grid yang dimaksud merupakan jalan-jalan yang saling berpotongan dan membentuk petak yang menggambarkan contoh lingkungan peta riil dalam bentuk sederhana. Peta grid digunakan sebagai tes awal implementasi VANET karena peta grid seimbang dan stabil. Sedangkan untuk peta riil adalah peta yang menggambarkan lingkungan lalu lintas yang nyata. Peta riil yang digunakan yaitu lingkungan lalu lintas kota Surabaya. Peta kota Surabaya merupakan hasil impor dari OpenStreetMap. Untuk penjelasan kita lakukan kurang dari n. Atau dengan kata lain terdapat node yang tidak bergerak. Oleh karena itu, akan dilakukan sedikit modifikasi pada file hasil randomTrips agar semua node di definisi di awal (detik ke-0).

  Hasil modifikasi tersebut akan digunakan oleh duarouter untuk memberikan rute masing-masing node. Kedua file baik peta grid dan pergerakan disimulasikan menjadi satu kesatuan dalam konfigurasi simulasi dan dengan menggunakan tools sumo dan modul traceExporter menghasilkan skenario yang dapat digunakan pada NS-3.

  Alur Pembuatan Peta Grid

  digunakan netgenerate.exe map.net.xml randomTrips.py menghasilkan menghasilkan

3.3.2 Pembuatan Peta Riil Surabaya

  Pembuatan peta riil Surabaya diawali dengan mencari daerah umum di sekitar kota Surabaya yang mendekati bentuk grid dan dengan mobilitas tinggi yang cocok untuk jaringan VANET. Agar

  Alur Pembuatan Peta Riil Surabaya

  map.osm digunakan

netgenerate.exe randomTrips.py

map.net.xml menghasilkan menghasilkan pembuatan peta mendekati dengan aslinya, maka OpenStreetMap digunakan untuk membantu melakukan capture peta. Kemudian dilakukan modifikasi atau penyempurnaan dengan tools JOSM. Penyempurnaan dapat dilakukan pada jalan yang terputus saat melakukan capture atau pengaturan traffic light. Setelah dirasa sempurna, peta sudah dapat dikonversi ke dalam bentuk .net.xml menggunakan tools netconvert. Tahap selanjutnya sama dengan pembuatan skenario grid hingga menghasilkan jaringan riil

  VANET dengan skenario kota Surabaya yang bisa berjalan pada NS-3. Ilustrasi alur pembuatan peta riil Surabaya terdapat pada Gambar 3.3.

   Perancangan Modifikasi Protokol dengan TWR

  Pada Tugas Akhir ini, modifikasi Hello Interval dilakukan untuk jaringan local (semua node dan node tetangganya), maka perlu dilakukan penyesuaian terhadap formula TWR. Perhitungan TWR terdari atas empat faktor, yaitu kecepatan, percepatan, arah, dan kualitas hubungan.

  Faktor kecepatan, percepatan dan arah didapat dari selisih nilai yang dimiliki oleh next-hop node terhadap node tujuan. Namun pada tugas akhir ini tidak mementingkan arah dari node tujuan ataupun node sumber, karena hanya mementingkan node tetangganya. Hal ini menyebabkan faktor arah menjadi tidak relevan. Agar tidak terjadi pengurangan bobot pada TWR, maka faktor arah diubah menjadi faktor jarak antara next-hop node dengan node yang bersangkutan. Selain itu faktor kualitas hubungan juga tidak relevan pada tugas akhir ini. Alasannya adalah dalam modifikasi Hello Interval yang dipentingkan adalah ketersediaan neighbor. Perubahan formula pada TWR ditunjukkan

  ≥ (3.2)

  ∗ ≤ ≤ =

  ≤ { dimana,

  TWR max : TWR maksimum yang terjadi dalam skenario min TWR : TWR minimum yang terjadi dalam skenario

  Penentuan nilai min dan max dilakukan dengan melakukan

  β β

  uji coba pada protokol AODV default dengan mengganti parameter

  

Hello Interval secara manual. Kemudian dicari nilai Hello Interval

  dibawah 1 yang menghasilkan PDR tertinggi untuk meng-handle kendaraan yang riskan kehilangan neighbor yang selanjutnya disebut sebagai

  βmin. Selain itu, ditentukan pula nilai Hello

  No. Parameter Spesifikasi

  5 Banyak kendaraan 50, 75, 100

  6 Radius transmisi 320 [12]

  7 Kecepatan maksimal 20 m/s

  8 Tipe data Constant Bit Rate (CBR)

  9 Source / Destination Statik (Node 1 / Node 0)

  10 Kecepatan generasi paket 1 paket per detik

  11 Ukuran paket data 64 bytes

  12 Protocol MAC

  IEEE 802.11p

  13 Mode propagasi Two-Way ground reflection model

  14 Mobility model Peta grid dan Peta riil Surabaya

  15 Tipe Mobility NS-2

  16 Tipe Kanal Wireless channel dalam satuan detik adalah waktu penerimaan paket dengan urutan/id ke-I-, t sent[i] dalam satuan detik pula adalah waktu pengiriman paket dengan urutan/id ke-I, dan sent merupakan banyaknya paket data yang dikirimkan. Pada akhirnya nilai Delay menggunakan satuan detik.

  =0

  (3.4) ∑ ≤ [ ] − [ ]

  =

3.7.3 Routing Overhead (RO)

  Routing overhead merupakan jumlah paket control routing

  yang di transmisikan per data paket yang terkirim ke tujuan selama simulasi terjadi. Routing overhead dihitung berdasarkan paket routing yang ditransmisikan baik itu Route Request (RREQ), Route

  

[Halaman ini sengaja dikosongkan]

4. BAB IV

  IMPLEMENTASI

  Bab ini membahas implementasi perancangan perangkat lunak dari aplikasi yang merupakan penerapan 41cenario, kebutuhan simulasi dan alur sistem yang mengacu pada desain dan perancangan yang telah dibahas sebelumnya. Selain itu, bab ini juga membahas lingkungan pembangunan perangkat lunak yang menjelaskan spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam pembangunan sistem.

BAB 4 Lingkungan Implementasi Lingkungan implementasi dan pengembangan dibagi menjadi dua bagian, meliputi perangkat lunak dan perangkat keras.

   Processor Intel(R) Core(TM) i7-3630QM CPU @

  2.40GHz,  Installed Memory (RAM) 12.00 GB DDR3,

   Media penyimpanan sebesar 1 TB.

   Implementasi Shared Folder

  Untuk memudahkan transfer dan duplikasi data antara dua Sistem Operasi berbeda diperlukan Shared Folder. Shared Folder dibuat pada sistem operasi Linux (guest) sebagai lingkungan pengembangan simulasi dan akan diakses oleh sistem operasi Windows. Implementasi pembuatan shared folder antara Windows dan Wmware Workstation dicantumkan secara lengkap pada lampiran 1.

  

Environment Variable pada Control Panel. Untuk lebih jelasnya

dapat dilihat pada gambar 4.1.

  Gambar hasil peta yang dibuat dengan netgenerate dapat dilihat pada gambar 4.3. Definisi node ke n yang dilakukan pada detik ke n ditunjukkan oleh kata depart pada gambar 4.5. Jadi perlu dimodifikasi nilai dari parameter depart menjadi 0.00 agar semua kendaraan di definisikan pada detik ke 0, sehingga semua kendaraan dapat bergerak bersamaan setelah detik ke 0.

  Modifikasi dapat dilakukan menggunakan script AWK.

Gambar 4.6 menunjukkan script AWK yang digunakan pada tugas akhir ini.

  { if ($1=="<trip" && $3!="depart=\"0.00\"") { $3="depart=\"0.00\""; } print; }

Gambar 4.6 Script AWK untuk modifikasi trip.trips.xml

  

default algoritma yang digunakan untuk membuat rute adalah

  djikstra. Perintah untuk membuat rute dapat dilihat pada gambar 4.9.

  

duarouter.exe -n map.net.xml -t trip.trips.xml -o

route.rou.xml --ignore-errors --repair

Gambar 4.9 Perintah untuk membuat rute

  Langkah berikutnya adalah pembuatan skenario yang merupakan penggabungan file peta dengan rute pergerakan. Tools yang digunakan adalah sumo.exe. Output dari tools ini adalah file xml yang merupakan skenario pada peta grid dengan rute yang telah didapat dari generate file sebelumnya. Perintah untuk membuat skenario tersebut dapat dilihat pada gambar 4.10.

  sumo -b 0 -e 200 -n map.net.xml -r route.rou.xml

  • fcd-output=scenario.xml

Gambar 4.10 Perintah untuk membuat skenario

  </time> </configuration>

Gambar 4.11 File scenario.sumocfg

  

File scenario.sumocfg diatas dapat dibuka pada sumo-gui untuk

  melihat cuplikan pergerakan kendaraan. Cuplikan pergerakan kendaraan dapat dilihat pada gambar 4.12.

4.3.2 Skenario Riil

  Skenario ini menggunakan peta wilayah Surabaya yang diambil dari OpenStreetMap dengan cara menandai wilayak yang diinginkan kemudian di ekspor atau di download dengan format .osm melalui browser. Untuk lebih jelasnya ditunjukkan pada gambar 4.14.

Gambar 4.15 Proses editing peta pada JOSM Hasil setelah melakukan editing ditunjukkan pada gambar 4.6. Hasil konversi dari berkas osm dari OpenStreetMap pada SUMO terlihat seperti Gambar 4.18.

   Penanganan paket Hello  Kalkulasi TWR

  Kode implementasi dari protokol AODV pada NS-3 versi 3.26 berada pada direktori src/aodv/model. Daftar kode sumber yang akan di modifikasi pada direktori tersebut adalah sebagai berikut :

   aodv-packet.h dan aodv-packet.cc untuk mengubah struktur paket hello serta perubahan lainnya.

   aodv-rtable.h untuk mendapatkan informasi parameter yang dikirim melalui hello message.

   aodv-routing-protocol.h dan aodv-routing-protocol.cc untuk memodifikasi pengiriman paket hello , penanganan paket hello, dan kalkulasi TWR. Pada bagian ini, penulis akan menjelaskan langkah- langkah dalam mengimplementasikan protokol dengan modifikasi uint32_t m_lifeTime; ///< Lifetime (in milliseconds) //added field velocity etc double m_speed, m_speed1, m_speed2; double m_accel, m_accel1, m_accel2; double m_x, m_x1, m_x2; double m_y, m_y1, m_y2;

Gambar 4.19 Penambahan atribut pada paket RREP

  Variabel m_speed1, m_speed2 begitu juga yang lainnya merupakan variabel yang membantu meng-handle pengiriman paket. Karena nilai dari m_speed berupa double sedangkan pengiriman paket mengharuskan pengiriman bertipe unsigned int jadi diperlukan konversi. Namun, Unsigned int tidak mampu mengkonversi nilai negatif. Untuk itu, diperlukan m_speed1 dan m_speed2 untuk menyimpan nilai didepan koma dan nilai di belakang koma. double speed1 = 0, double speed2 = 0, double accel1 = 0, double accel2 =0, double x1 = 0, double x2 = 0, double y1 = 0, double y2 = 0 );

Gambar 4.21 Modifikasi constructor pada class RrepHeader

  Baris dibawah komentar “added field” merupakan attribut yang ditambahkan pada constructor dari class RrepHeader pada file aodv-packet.h. File aodv-packet.h merupakan header file dari aodv-packet.cc. Oleh karena itu, aodv-packet.cc juga dilakukan modifikasi pada beberapa fungsinya. Yang pertama dimodifikasi adalah constructor-nya. Adapun modifikasi yang dilakukan ditunjukkan pada gambar 4.22.

  RrepHeader::RrepHeader( uint8_t prefixSize, uint8_t hopCount, Ipv4Address dst, uint32_t dstSeqNo, Ipv4Address origin, Time lifeTime,

  

unsigned int menjadi satu nilai double. Konversi tersebut

ditunjukkan pada gambar 4.23. m_speed1 = (double)i.ReadU32(); m_speed2 = (double)i.ReadU32(); if (m_speed1<1000000 && m_speed2<1000000){ m_speed = m_speed1+(m_speed2/1000000); }

else if (m_speed1>1000000 && m_speed1<4294967296 &&

m_speed2>1000000 && m_speed2<4294967296) { m_speed = (m_speed1-4294967296) + ((m_speed2- 4294967296)/1000000); }

Gambar 4.23 Konversi unsigned integer menjadi satu nilai double

  Variabel m_speed1 digunakan untuk menyimpan nilai di depan koma dan m_speed2 digunakan untuk menyimpan nilai di belakang koma. Ketika pengiriman nilai tersebut telah dikalikan 1000000(1 juta) untuk mendapatkan nilai akurasi yang maksimal.

  Atribut m_now digunakan untuk menyimpan waktu terakhir melakukan update atribut lainnya. Hal ini berguna untuk melakukan kalkulasi terhadap percepatan. Berikutnya dilakukan modifikasi pada fungsi SendHello. Pada fungsi ini dilakukan pencarian nilai kecepatan, percepatan serta posisi dari node yang kemudian akan dikirimkan sebagai Hello Message. Modifikasi pada fungsi SendHello ditunjukkan pada gambar 4.25.

  //get velocity and position from this node Ptr<Node> thisNode = socket->GetNode(); Ptr<MobilityModel> thisMobility = thisNode->GetObject<MobilityModel>(); Vector thisVelocity = thisMobility->GetVelocity(); Vector thisPosition = thisMobility->GetPosition(); double speed = sqrt((thisVelocity.x*thisVelocity.x)+ (thisVelocity.y*thisVelocity.y)); //assign acelleration and update another field Time now = Simulator::Now();

  Pada NS-3 terdapat smart pointer yang menampung informasi mengenai kecepatan dan posisi node. Pointer tersebut disebut dengan MobilityModel. Kecepatan, percepatan dan posisi

  

node dikirimkan melalui 2 variabel untuk meng-handle masalah

  konversi dari double ke unsigned integer. Untuk selengkapnya akan dicantumkan pada lampiran buku ini.

4.4.3 Penanganan Paket Hello

  Pada penanganan paket hello , akan dilakukan penyimpanan paket hello yang diterima node yang kemudian dilakukan pengecekan apakah yang mengirim benar-benar node tetangganya. Hello Message yang diterima disimpan dalam sebuah atribut yang merupakan mapping dari Ipv4Address dan RoutingTableEntry yang selanjutnya diberi nama double m_y; void SetSpeed (double s) { m_speed = s; }; double GetSpeed () const { return m_speed; }; void SetAccel (double a) { m_accel = a; }; double GetAccel () const { return m_accel;}; void SetX (double x) { m_x = x;}; double GetX () const { return m_x; }; void SetY (double y) { m_y = y;}; double GetY () const { return m_y; };