ANALISIS PERBANDINGAN KINERJA PROTOKOL
PROACTIVE ROUTING PADA JARINGAN SENSOR
NIRKABEL AD HOC
TUGAS AKHIR
Program Studi S1 Sistem Komputer
Oleh:
Fauzan Triandi 07410200018
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
iv
1.3 Pembatasan Masalah... 3
1.4 Tujuan Masalah ... 4
1.5 Kontribusi Penelitian ... 5
1.6 Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 7
2.1 Pengertian Jaringan Sensor Nirkabel (JSN) ... 7
2.2 Arsitektur Jaringan Sensor Nirkabel (JSN) ... 8
2.3 Mode pada Node Sensor ... 9
2.4 Protokol Routing Proactive Routing... 10
2.4.1 Optimized Link State Routing (OLSR) ... 10
2.4.2 Destination-Sequenced Distance Vector (DSDV) ... 11
2.5 Parameter QoS ... 12
v
v
2.6.1 Konsep NS-2... 14
2.6.2 Komponen Pembangunan NS-2 ... 15
2.6.3 Cara Membuat dan Menjalankan Skrip NS-2... 16
2.6.4 Tahap-tahap Membangun Simulasi NS-2 ... 17
2.7 Pratical Extraction and Report Language (Perl) ... 23
BAB III Metode Penelitian ... 24
3.1 Metode Penelitian ... 24
3.1.1 Bagian Input ... 24
3.1.2 Bagian Proses ... 25
3.1.3 Bagian Output ... 26
3.2 Arsitektur Sistem Jaringan ... 27
3.3 Tahap Perancangan Sistem ... 28
3.3.1 Desain Topologi Simulasi ... 28
3.3.2 Parameter-parameter Simulasi ... 30
3.3.3 Membuat Script *.tcl ... 33
3.3.4 Melakukan Trace Simulasi ... 42
3.3.5 Proses Parsing Data ... 43
3.3.6 Proses Penghitungan Parameter Delay ... 49
3.3.7 Proses Penghitungan Parameter PLR ... 50
3.3.8 Proses Penghitungan Parameter Utilisasi Bandwidth ... 50
BAB IV PENGUJIAN DAN EVALUASI... 52
4.1 Pengujian Posisi Node ... 52
4.1.1 Tujuan ... 52
vi
vi
4.1.3 Prosedur Pengujian ... 53
4.1.4 Hasil Pengujian Posisi Node ... 54
4.2 Pengujian Komunikasi antar Node ... 56
4.2.1 Tujuan ... 56
4.2.2 Peralatan yang Digunakan ... 56
4.2.3 Prosedur Pengujian ... 58
4.2.4 Hasil Pengujian Komunikasi antar Node ... 58
4.3 Pengujian Filter ... 62
4.3.1 Tujuan ... 62
4.3.2 Peralatan yang Digunakan ... 63
4.3.3 Prosedur Pengujian ... 63
4.3.4 Hasil Pengujian Filter ... 64
4.4 Hasil Penghitungan Parameter-Parameter QoS ... 65
4.4.1 Hasil Penghitungan Delay ... 65
4.4.2 Hasil Penghitungan PLR ... 74
4.4.3 Hasil Penghitungan Utilisasi Bandwidth ... 83
4.5 Analisis Perbandingan Kinerja Protokol AODV dan DSR ... 91
BAB V PENUTUP ... 97
5.1 Kesimpulan ... 97
5.2 Saran ... 98
vii
vii
DAFTAR TABEL
Halaman
Tabel 3.1 Penentuan Node Sumber dan Node Tujuan ... 29
Tabel 3.2 Parameter Simulasi ... 30
Tabel 3.3 Nilai Parameter Seed ... 32
Tabel 3.4 Variabel-variabel Global ... 35
Tabel 4.1 Hasil Penghitungan Delay Protokol DSDV pada 5 Buah Node ... 66
Tabel 4.2 Hasil Penghitungan Delay Protokol DSDV pada 10 Buah Node ... 68
Tabel 4.3 Hasil Penghitungan Delay Protokol OLSR pada 5 Buah Node ... 70
Tabel 4.4 Hasil Penghitungan Delay Protokol OLSR pada 10 Buah Node .... 73
Tabel 4.5 Hasil Penghitungan PLRProtokol DSDV pada 5 Buah Node ... 75
Tabel 4.6 Hasil Penghitungan PLRProtokol DSDV pada 10 Buah Node ... 77
Tabel 4.7 Hasil Penghitungan PLRProtokol OLSR pada 5 Buah Node ... 79
Tabel 4.8 Hasil Penghitungan PLRProtokol OLSR pada 10 Buah Node ... 81
Tabel 4.9 Hasil Penghitungan Utilisasi Bandwidth Protokol DSDV pada 5 Buah Node ... 84
Tabel 4.10 Hasil Penghitungan Utilisasi Bandwidth Protokol DSDV pada 10 Buah Node ... 86
Tabel 4.11 Hasil Penghitungan Utilisasi Bandwidth Protokol OLSR pada 5 Buah Node ... 87
viii
viii
ix
ix
DAFTAR GAMBAR
Halaman
Gambar 2.1 Arsitektur JSN Secara Umum ... 8
Gambar 2.2 Urutan Mode pada Node Sensor ... 9
Gambar 2.3 Hubungan Tcl/Otcl dengan C++ ... 15
Gambar 2.4 Komponen Pembangun NS-2 ... 16
Gambar 3.1 Diagram Blok ... 24
Gambar 3.2 Diagram Alur Proses Simulasi ... 27
Gambar 3.3 Tahap Perancangan Sistem ... 28
Gambar 3.4 Topologi 5 Buah Node ... 29
Gambar 3.5 Topologi 10 Buah Node ... 29
Gambar 3.6 Diagram Alur Pembuatan Script*.tcl ... 34
Gambar 3.7 Diagram Alur Trace Simulasi ... 43
Gambar 3.8 Hasil Tracefile ... 44
Gambar 3.9 Cuplikan Tracefile ... 44
Gambar 3.10 Diagram Alur Melakukan Filter Data ... 46
Gambar 3.11 Flowchart Script Perl ... 47
Gambar 4.1 Hasil NAM Penerapan Algoritma DSDV pada 5 Buah Node ... 54
Gambar 4.2 Hasil NAM Penerapan Algoritma DSDV pada 10 Buah Node ... 55
Gambar 4.3 Hasil NAM Penerapan Algoritma OLSR pada 5 Buah Node ... 55
Gambar 4.4 Hasil NAM Penerapan Algoritma OLSR pada 10 Buah Node ... 55
Gambar 4.5 Hasil Komunikasi 5 Buah Node dengan Protokol DSDV ... 58
Gambar 4.6 Hasil Komunikasi 10 Buah Node dengan Protokol DSDV ... 59
x
x
Gambar 4.8 Hasil Komunikasi 10 Buah Node dengan Protokol OLSR ... 61
Gambar 4.9 Hasil Filter “simple.tr” Penerapan Algoritma DSR pada 5 Buah Node.... ... .. 65
Gambar 4.10Diagram Batang Rata-rata Delay ... 92
Gambar 4.11 Diagram Batang Rata-rata PLR... 93
xi
xi
DAFTAR LAMPIRAN
Halaman
Lampiran 1. Script Penerapan Protokol DSDV dengan 5 Buah Node ... 100
Lampiran 2. Script Penerapan Protokol DSDV dengan 10 Buah Node ... 103
Lampiran 3. Script Penerapan Protokol OLSR dengan 5 Buah Node... 106
Lampiran 4. Script Penerapan Protokol OLSR dengan 10 Buah Node... 109
Lampiran 5. Script FilterTracefile ... 112
Lampiran 6. Tabel Distribusi Z ... 113
1
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Jaringan sensor nirkabel (JSN) sangat penting sejak kebanyakan
aplikasi-aplikasi jaringan memerlukan sejumlah node-node sensor terutama untuk
area yang tidak dapat dijangkau. JSN memiliki sebuah komponen sensing
dilengkapi dengan alat proses, alat komunikasi, dan tempat penyimpanan data di
dalamnya. Penerapan JSN untuk pemantauan jarak jauh pada area yang tidak
dapat dijangkau biasanya menggunakan jaringan Ad Hoc yang jarak jangkauannya
lebih luas dibandingkan dengan tipe jaringan yang lain.
Oleh karena itu, penulis melakukan sebuah penelitian terhadap topologi
jaringan yang dibangkitkan secara random dan menggunakan tipe jaringan
wireless. Karena dengan menggunakan tipe jaringan wireless, jarak jangkau
pengiriman data antar node lebih luas sehingga dapat digunakan dalam
pengimplementasian JSN untuk pemantauan jarak jauh.
Untuk melakukan pengiriman data, diperlukan adanya penggunaan
protokol routing untuk mengirimkan data atau informasi ke penerima. Ada
beberapa tipe protokol routing yang dapat digunakan jaringan Ad Hoc yaitu
seperti protokol Destination-Sequenced Distance Vector (DSDV) dan Optimized
Link State Routing (OLSR) yang akan digunakan pada Tugas Akhir (TA) ini.
Kedua protokol tersebut merupakan protokol Proactive Routing.
DSDV merupakan salah satu Proactive Routing Protocol yang
membutuhkan setiap node untuk mengirimkan paket routing update ke seluruh
2
link-state yang proaktif dan menggunakan pesan “Hello” dan Topologi Control
(TC) untuk menemukan dan kemudian menyebarkan informasi link state seluruh
jaringan mobile Ad-Hoc. TA ini menggunakan simulasi Network Simulator-2
(NS-2) dikarenakan jika menggunakan kondisi real JSN membutuhkan dana yang
sangat besar karena komunikasi yang terjadi di setiap node diimplementasikan
dengan router yang jumlahnya sesuai dengan kebutuhan pada TA ini.
Penelitian sebelumnya telah dilakukan mengenai DSDV dan OLSR oleh
(Fatame, 2012) dengan judul “A Simulative Comparison of DSDV and OLSR
Routing Protocols”, dilakukan uji coba kinerja DSDV dan OLSR yang
membandingkan parameter-parameter seperti throughput dan Packet Delivery
Rate (PDF), dengan tipe data CBR pada kedua protokol routing tersebut. Dan
diketahui dari hasil penelitian tersebut bahwa protokol routing OLSR memiliki
kinerja yang lebih baik daripada DSDV.
Dalam TA ini, penulis melakukan perbandingan unjuk kerja kedua
protokol routing dengan membandingkan parameter-parameter QoS yang berbeda
daripada penelitian sebelumnya yaitu delay, Packet Loss Ratio (PLR), dan
utilisasi bandwidth. Dari hasil dari penghitungan parameter-parameter QoS
tersebut dapat dibandingkan dengan penelitian yang dilakukan sebelumnya,
sehingga dapat diketahui protokol routing mana yang memiliki kinerja lebih baik
antara protokol DSDV dan OLSR.
1.2 Perumusan Masalah
1. Bagaimana mensimulasikan jaringan sistem komunikasi Ad Hoc pada JSN
3
2. Bagaimana melakukan analisis perbandingan unjuk kerja protokol routing
berdasarkan delay, PLR , dan utilisasi bandwidth pada topologi jaringan
JSN Ad Hoc.
1.3 Pembatasan Masalah
Dalam menganalisis kinerja dari kedua protokol Proactive Routing yaitu
DSDV dan OLSR, terdapat beberapa batasan masalah terhadap permasalahan
yang muncul diantaranya :
1. Simulasi analisis menggunakan software NS-2.
2. Bahasa pemrograman menggunakan Tcl/OTcl pada NS-2.
3. Simulasi dilakukan secara terpisah untuk masing-masing protokol routing
baik DSDV maupun OLSR.
4. Topologi yang digunakan adalah dengan menggunakan 5 node dan 10
node yang posisinya tersebar secara random. Dimana pergerakan random
tersebut dilakukan secara manual berdasarkan seed.
5. Input data trafik dibangkitkan dari NS-2.
6. Input data trafik menggunakan tipe data Transmission Control Protocol
(TCP) yang dialirkan oleh aplikasi File Transfer Protocol (FTP).
7. Sistem jaringan sensor nirkabel Ad Hoc menggunakan standar
WirelessPhy 802.11.
8. Parameter-parameter perancangan sistem yang digunakan adalah sebagai
berikut :
No. Parameter Nilai
1. Model propagasi Free Space
2. Tipe antarmuka antrian Drop Tail
3. Model antena Omni antenna
4
5. Dimensi topografi 300 x 300 m
6. Waktu simulasi ± 200 detik
9. Hasil analisis membandingkan masing-masing delay, PLR, dan utilisasi
bandwidth pada kedua topologi jaringan tersebut secara end-to-end.
1.4 Tujuan Masalah
Tujuan dari TA ini adalah sebagai berikut :
1. Menghasilkan simulasi jaringan sistem komunikasi JSN Ad Hoc dengan
menggunakan protokol Proactive Routing yaitu DSDV dan OLSR dengan
menggunakan NS-2.
2. Menghasilkan analisis perbandingan kinerja antara kedua protokol
Proactive Routing berdasarkan pengaruh delay, Packet Loss Ratio (PLR),
dan utilisasi bandwidth pada topologi JSN Ad Hoc dengan menggunakan
NS-2.
1.5 Kontribusi Penelitian
Kontribusi yang didapat dari hasil TA ini adalah :
1. Dari hasil perbandingan kinerja protokol Proactive Routing yaitu DSDV
dan OLSR pada jaringan Mobile IP (Ad Hoc) dapat digunakan sebagai
pertimbangan untuk perkembangan teknologi JSN dalam hal penginderaan
elektronik jarak jauh (remote sensing).
2. Memberikan data statistik untuk perkembangan selanjutnya.
1.6 Sistematika Penulisan
Pada penulisan Laporan TA ini ditulis dengan sistematika penulisan
5
BAB I : PENDAHULUAN
Pada bab ini dikemukakan hal–hal yang menjadi latar belakang,
perumusan masalah, batasan masalah, tujuan yang ingin dicapai,
manfaat serta sistematika penulisan laporan TA ini.
BAB II : LANDASAN TEORI
Pada bab ini dibahas teori yang berhubungan dengan protokol
Proactive Routing (DSDV dan OLSR), jaringan sensor nirkabel (JSN),
Ad Hoc, Quality of Service (QoS), dan software Network Simulator-2
(NS-2).
BAB III : METODE PENELITIAN
Pada bab ini dibahas mengenai penjelasan sistem keseluruhan beserta
detail dari blok diagram sistem yang dibuat, penjelasan perancangan
simulasi sistem, pembuatan skrip NS-2, parsing file dan plotting file
untuk menghasilkan data dalam bentuk grafik maupun tabel yang
dibutuhkan dalam analisis.
BAB IV : HASIL DAN PEMBAHASAN
Pada bab ini memaparkan hasil yang diperoleh dari proses simulasi,
yang kemudian dibandingkan untuk digunakan dalam proses analisis
delay, packet loss, dan utilisasi bandwidth. Selain itu disertai pula
hasil uji coba setiap skenario dan juga uji coba sistem secara
keseluruhan.
6
Pada bab ini dibahas mengenai kesimpulan dari sistem terkait dengan
tujuan dan permasalahan yang ada, serta saran untuk pengembangan
7
BAB II
LANDASAN TEORI
2.1 Pengertian Jaringan Sensor Nirkabel (JSN)
JSN adalah suatu infrastruktur jaringan nirkabel yang terdiri dari
sejumlah besar node sensor yang tersebar di suatu area. Dewasa ini perkembangan
JSN mengalami kemajuan yang pesat. Hal ini terjadi karena adanya suatu
kebutuhan akan jaringan sensor yang memiliki kriteria yang sangat baik dalam hal
efisiensi operasional dan performansi. JSN menjadi suatu fenomena baik bagi
dunia industri maupun kalangan akademis, karena aplikasi JSN yang mencakup
berbagai bidang. Hal ini didukung oleh fakta bahwa sekitar 98% prosesor bukan
berada di dalam sebuah komputer PC/laptop seperti kebanyakan, namun
terintegrasi dalam aplikasi militer, kesehatan, remote control, robotic chip, alat
komunikasi dan mesin-mesin industri yang didalamnya telah dipasang sensor.
(Puspita, 2011).
Puspita (2011) menjelaskan bahwa teknologi JSN dapat memonitor dan
mengontrol temperatur, kelembaban, kondisi cahaya, level derau, pergerakan
suatu objek dan lain sebagainya. Dapat disimpulkan bahwa JSN adalah sebuah
penghubung antara lingkungan fisik (physical world) dan sensor (digital world).
Berikut adalah beberapa keuntungan yang bisa diperoleh dari teknologi
JSN :
1. Praktis / ringkas karena tidak perlu ada instalasi kabel yang rumit dan
dalam kondisi geografi tertentu sangat menguntungkan dibanding
wired sensor. Sensor menjadi bersifat mobile, artinya pada suatu saat
8
pengukuran yang lebih tepat tanpa harus khawatir mengubah desain
ruangan maupun susunan kabel ruangan.
2. Meningkatkan efisiensi operasional.
3. Mengurangi total biaya sistem secara signifikan.
4. Dapat mengumpulkan data dalam jumlah besar.
5. Memungkinkan komunikasi digital 2 arah.
6. Menyediakan konektivitas internet yang secara global, kapanpun,
dimanapun informasi tersebut dapat diakses melalui server, laptop,
dsb.
2.2 Arsitektur Jaringan Sensor Nirkabel (JSN)
Pada JSN, node sensor disebar dengan tujuan untuk menangkap adanya
gejala atau fenomena yang hendak diteliti. Jumlah node yang disebar dapat
ditentukan sesuai kebutuhan dan tergantung beberapa faktor misalnya luas area,
kemampuan sensing node, dan sebagainya. Tiap node memiliki kemampuan untuk
mengumpulkan data dan meroutingkannya kembali ke base station serta
berkomunikasi dengan node lainnya. Node sensor dapat mengumpulkan data
dalam jumlah yang besar dari gejala yang timbul dari lingkungan sekitar.
9
Gambar 2.1 Arsitektur JSN secara umum
Node sensor yang berukuran sangat kecil disebar dalam jumlah besar di
suatu area sensor. Node sensor tersebut memiliki kemampuan untuk saling
berkomunikasi dan meroutingkan data yang dikumpulkan ke node lain yang
berdekatan. Data yang akan dikirim melalui transmisi radio akan diteruskan
menuju Base Station (BS) yang merupakan penghubung antara node sensor dan
user. Informasi tersebut dapat diakses melalui berbagai platform seperti koneksi
internet atau satelit sehingga memungkinkan user untuk dapat mengakses secara
realtime melalui remote server.
2.3 Jaringan Sensor Nirkabel Ad Hoc
Jaringan sensor nirkabel ad hoc adalah jaringan sementara yang beroperasi
tanpa bantuan infrastruktur yang tetap yang umumnya tersedia di jaringan tempat
node-node saling terhubung. Node-nodepada jaringan tanpa infrastruktur tersebut
dapat berfungsi sebagai router, atau dapat mencari dan mengatur rute paket-paket
data agar dapat dikirim dari pengirim sampai ke setiap penerima. Pertukaran data
di jaringan ad hoc dapat terjadi antara node yang masih dalam satu area transmisi
(transmission range) atau dengan node yang terhubung tidak langsung melalui
beberapa node lain yang terletak di antaranya (multiple hop).
10
• Topologi yang dinamis.
• Bukan komunikasi dua arah (half-duplex).
• Komunikasi multiple-hop.
• Beroperasi dengan cara desentralisasi karena tidak adanya infrastruktur
untuk pengaturan secara sentral.
2.4 Mode pada Node Sensor
Urutan aktivasi mode-mode pada node sensor dapat direpresentasikan
oleh Gambar 2.2.
Gambar 2.2 Urutan mode pada node sensor
Gambar 2.2 menunjukkan bahwa mode-mode tersebut dijalankan dengan
urutan tertentu. Tiap mode memiliki karakteristik yang berbeda tergantung dari
aktivitas yang sedang dilakukan node, apakah sedang melakukan proses transmisi
atau sedang standby dan seterusnya. Hal ini mengakibatkan energi yang
digunakan tiap mode juga berbeda-beda. Semakin ke kiri, maka mode tersebut
mengeluarkan energi yang semakin rendah, begitu juga sebaliknya. Suatu mode
harus melalui mode disampingnya jika ingin berganti mode. Misalnya mode off
harus melalui mode sleep dan standby terlebih dahulu jika akan melakukan
transmisi. Apabila tidak ada aktivitas observasi atau transmisi, sebaiknya
11
dan observasi cenderung menggunakan energi yang lebih besar. Pada modeready,
node sensor dapat melakukan kedua mode baik transmit dan receive.
2.5 Protokol Routing Proactive Routing 2.4.1 Optimized Link State Routing (OLSR)
OLSR (Optimized Link State Protocol) merupakan salah satu jenis dari
proactive routing protocol yang biasa digunakan dalam jaringan ad hoc. Protokol
ini melakukan pertukaran pesan secara periodik dalam rangka menjaga informasi
topologi jaringan yang ada pada setiap node.
Protokol OLSR mewarisi sifat kestabilan dari link state algorithm.
Berdasarkan sifat proaktifnya, protokol ini dapat menyediakan rute dengan segera
apabila dibutuhkan. Dalam sebuah link state protocol yang murni, setiap node
tetangga akan dideklarasikan dan dibanjiri dengan paket informasi yang akan
memenuhi seluruh jaringan. OLSR merupakan sebuah optimasi dari link state
protocol yang biasa digunakan dalam mobile adhoc network (MANET).
Langkah pertama dari optimasi tersebut adalah mengurangi ukuran dari
paket kontrol, daripada membanjiri paket kontrol tersebut pada setiap jalur, OLSR
lebih memilih sejumlah jalur dengan node tetangga yang disebut dengan
Multipoint Relay (MPR) Selector. Langkah kedua, OLSR meminimalisir
pembanjiran paket kontrol pada jaringan dengan menggunakan MPR untuk
menghantarkan paket-paket tersebut. Teknik ini akan mengurangi secara
signifikan jumlah dari transmisi ulang yang akan membanjiri jaringan dengan
12
Protokol OLSR dirancang untuk dapat bekerja pada kondisi yang
terdistribusi atau selalu bergerak serta tidak memerlukan adanya pengaturan
secara terpusat. Selain itu OLSR juga tidak memerlukan transmisi yang bagus
dalam mengirimkan paket-paket kontrolnya. Setiap node mengirimkan paket
kontrolnya masing-masing secara periodik sehingga dapat mentoleransi terjadinya
loss dari beberapa paket pada saat-saat tertentu akibat dari tubrukan data ataupun
akibat gangguan transmisi lainnya. Setiap paket kontrol yang dikirimkan akan
diberikan sequence number (nomor urut) yang dapat menandakan tingkat baru
paket tersebut.
OLSR menggunakan multihop routing dimana setiap node menggunakan
informasi routing terbaru yang ada pada node tersebut dalam mengantarkan
sebuah paket informasi. Sehingga, walaupun sebuah node bergerak ataupun
berpindah tempat maka pesan yang dikirimkan padanya akan tetap dapat diterima
2.4.2 Destination-Sequenced Distance Vector (DSDV)
DSDV merupakan salah satu Proactive Routing Protocol yang
membutuhkan setiap node untuk mengirimkan paket routing update ke seluruh
node tetangganya secara periodic. Setiap node menyimpan tabel routing yang
mengandung informasi yang dibutuhkan untuk sampai ke node tujuan (Garousi
2001). Setiap informasi di tabel routing diberi nomer sequence untuk menghindari
terjadinya looping.
Salah satu kelebihan DSDV ialah menyediakan route yang bebas loop
13
komunikasi antar node secara berlebihan karena update routing secara periodik
(Mukherjee et al. 2003).
Menurut (Perkins dan Bhagwat 1994) data informasi yang dikirimkan ke
seluruh node mengandung :
• Alamat node tujuan.
• Jumlah hop yang dibutuhkan untuk mencapai tujuan.
• Nomer sequence.
2.6 Parameter QoS
Parameter-parameter yang digunakan untuk menghitung Quality of
Service (QoS) adalah sebagai berikut :
1. Delay
Delay adalah waktu yang dibutuhkan oleh sebuah paket data, terhitung
dari saat pengiriman oleh transmitter sampai saat diterima oleh receiver.
Berikut adalah formula untuk menghitung besarnya delay : (Rifiani, Vina dan
Hadi, M. Zen S., dkk. 2009)
Waktu tunda (t) = (Tr – Ts) detik
0 ≤ t ≤ T
dimana :
Tr = Waktu penerimaan paket (detik)
Ts = Waktu pengiriman paket (detik)
T = Waktu simulasi (detik)
14
2. Packet Loss Ratio (PLR)
Packet loss ratio adalah prosentase banyaknya paket yang hilang selama
proses transmisi ke tujuan. Paket hilang terjadi ketika satu atau lebih paket
data yang melewati suatu jaringan gagal mencapai tujuannya. Berikut adalah
formula untuk menghitung besarnya PLR : (Rifiani, Vina dan Hadi, M. Zen
t = Waktu pengambilan sampel (detik)
3. Utilisasi Bandwidth
Utilisasi Bandwidth merupakan parameter yang menunjukkan prosentase
suatu sumber daya yang digunakan. Dalam hal ini sumber daya yang
dimaksud adalah bandwidth suatu link yang menghubungkan antara kedua
sisi yaitu sisi pelanggan dan provider. Utilisasi bandwidth suatu link
menunjukan rasio antara ukuran bandwidth total terpakai oleh pelanggan
dengan bandwidth yang tersedia, untuk mendapatkan nilai utilisasi bandwidth
dilakukan dengan menggunaka 2 formula. Berikut adalah formula-formula
untuk menghitung besarnya Utilisasi Bandwidth : (Jusak, 2011)
15
Dimana : t0 = 0 jika waktu awal adalah 0 (nol)
Dengan :
Length = jumlah total paket yang dikirim dan diterima pada saat proses
pengiriman data berlangsung (byte)
T = Waktu akhir penerimaan data (detik)
t0 = Waktu awal pengiriman data (detik)
Hasil dari rumus tersebut (Bandwidth terpakai) digunakan untuk
menghitung utilisasi bandwidth dengan rumus berikut : (Jusak, 2011)
Utilisasi Bandwidth =
Dengan :
∑Bandwidth terpakai = total bandwidth yang terpakai
Bandwidth sistem = besarnya bandwidth yang disediakan oleh sistem
yang digunakan.
2.6 NS-2 (Network Simulator 2) 2.6.1 Konsep NS-2
Network Simulator dibangun dengan menggunakan 2 bahasa
pemrograman, yaitu C++ dan Tcl/OTcl. C++ digunakan untuk library yang berisi
event scheduler, protokol dan network component yang diimplementasikan pada
Network Simulator 2.34 yang digunakan oleh penulis. Tcl/OTcl digunakan pada
script yang ditulis oleh user dan pada library sebagai simulator objek. OTcl juga
nantinya akan berperan sebagai interpreter. Hubungan antar bahasa pemrograman
dapat dideskripsikan seperti Gambar 2.3. (Wirawan, Andi B. dan Indarto, Eka :
16
Bahasa C++ digunakan pada library karena C++ mampu mendukung
runtime simulasi yang cepat, meskipun simulasi melibatkan simulasi jumlah paket
dan sumber data dalam jumlah besar.
Gambar 2.3 Hubungan Tcl/OTcl dengan C++
Bahasa Tcl memberikan respon runtime yang lebih lambat daripada C++,
tetapi jika terdapat kesalahan, respon Tcl terhadap kesalahan syntax dan
perubahan script berlangsung dengan cepat dan interaktif. User dapat mengetahui
letak kesalahannya yang dijelaskan pada console, sehingga user dapat
memperbaiki dengan cepat. Oleh karena itu, bahasa ini dipilih untuk digunakan
pada skripsi simulasi.
2.6.2 Komponen Pembangunan NS-2
Instaler NS versi NS-allinone berisi keseluruhan komponen wajib dan
optional yang dibutuhkan oleh simulasi. Masing-masing komponen tersebut
terdapat pada folder NS-allinone yang diinstal. Gambar 2.4 adalah gambar
17
Gambar 2.4 Komponen Pembangun NS-2
Keterangan:
1. TCL: Tool Command Language
2. Otcl: Object TCL
3. TK: Tool Kit
4. Tclcl: Tcl/C++ Interface
5. NS2: NS versi 2
6. Nam: Network Animator
2.6.3 Cara Membuat dan Menjalankan Skrip NS-2
Membuat skrip simulasi NS sangat mudah. Skrip simulasi bisa dibuat
dengan menggunakan program teks editor yang ada pada linux, dan disimpan
dalam sebuah folder dengan ekstensi .tcl.
Contoh:
Simulasi1.tcl
Berikut ini akan dijelaskan dasar-dasar bahasa Tcl yang berguna dalam
18 Syntax Dasar
Syntax dasar perintah tcl yaitu :
Command Arg1 arg2 arg3 …
Command tersebut bisa berupa nama dari built in command, atau sebuah
prosedur Tcl. Contoh :
Expr 2*3
Puts *ini adalah contoh command*
Variable dan Array
Untuk membuat variable, digunakan perintah set. Adapun contoh
penggunaannya adalah sebagai berikut :
Set x *ini adalah contoh variable* Set y 20
Pemanggilan variabel dilakukan dengan menggunakan tanda $ seperti
contoh di bawah ini :
Puts “ $x, semuanya berjumlah $y ”
Sedangkan pembuatan array ditandai dengan menggunakan tanda
kurung setelah nama array tersebut yang dapat dituliskan sebagai berikut:
Set opts (bottleneckinkrate) 1.2 Mb
19
Pembangunan simulasi NS-2 dilakukan secara bertahap. Berikut ini
merupakan contoh tahap-tahap dasar pembuatan simulasi NS-2 :
Langkah 1: Mendefinisikan Variable Global
Menurut Wirawan & Indarto (2004), dalam membangun simulasi JSN
apabila membutuhkan variable-variable global yang akan digunakan oleh
keseluruhan program, maka variable-variable harus didefinisikan terlebih dahulu
dengan menggunakan perintah set<spasi>namavariabel(identitasvariabel)
<spasi>value. Contoh pendefinisian tersebut adalah sebagai berikut :
set val(chan) Channel/WirelessChannel;
Variable-variable yang didefinisikan di atas memiliki fungsi yang
berbeda-beda sesuai dengan kebutuhan pembuatan simulasi. Keterangan dari
variable-variable di atas adalah sebagai berikut :
1. Chan
Merupakan tipe channel yang digunakan dalam simulasi, seperti channel
wireless.
2. Prop
Merupakan model propagasi. Model propagasi bisa bernilai
20 3. Netif
Merupakan tipe jaringan wireless yang digunakan.
4. Mac
Merupakan tipe MAC yang digunakan sesuai dengan channel yang
digunakan.
5. Ifq
Merupakan tipe antarmuka antriannya, yang menunjukkan perlakuan node
terhadap paket apabila memori yang digunakan telah penuh.
6. Ll
Merupakan tipe link layer.
7. Ant
Merupakan model antena node yang digunakan.
8. Ifqlen
Merupakan ukuran maksimum antrian paket.
9. Nn
Merupakan jumlah node yang digunakan.
10. Rp
Merupakan protokol routing yang digunakan.
11. Seed
Merupakan nilai seed yang digunakan sebagai nilai awal dari penggunaan
nilai random.
12. X
Merupakan nilai topografi x.
21 Merupakan Nilai topografi y.
14. Stop
Merupakan nilai waktu dimana simulasi akan dihentikan.
15. Mobility
Merupakan mobilitas dari node apakah pergerakan node bersifat statis atau
dinamis.
Langkah 2: Inisialisasi Simulasi
Menurut Wirawan & Indarto (2004), untuk memulai pembuatan simulasi
sederhana, dapat menggunakan salah satu teks editor yang ada pada linux yang
digunakan. Kemudian file tersebut disimpan dalam sebuah folder.
Simulasi NS dimulai dengan menuliskan skrip Tcl seperti di bawah ini :
#memanggil simulator object Set ns [new Simulator]
#open file handle untuk simulator nam trace data Set nf [open out.nam w]
$ns namtrace-all $nf
#prosedur finish berguna untuk menyelesaikan simulasi Proc finish {} {
#menutup file dan memulai nam (network animator) Global ns nf
#mengeksekusi prosedur finish pada saat detik ke 5.0 $ns at 5.0 “finish”
#menjalankan simulasi $ns run
Dimana baris yang diawali dengan tanda # dianggap sebagai komentar yang
digunakan untuk menjelaskan masing-masing perintah.
Langkah 3 : Pembuatan Topologi
Topologi dibangun oleh node dan link yang dijelaskan sebagai berikut :
22
Merupakan sebuah objek node pada NS-2 didefiniskan dengan command
$ns node. Sebagai contoh pembuatan node pada NS-2 adalah sebagai berikut :
Set node [$ns node]
Link
Ada dua jenis link yang bisa digunakan pada NS-2, yaitu simplex link dan
duplex link. Berikut ini adalah perintah pembuatan link beserta parameternya :
1. Untuk simplex link :
$ns simplex-link <node1><node2><bw><delay><qtype>
Link satu arah dari <node1> ke <node2>.
2. Untuk duplex link :
$ns simplex-link <node1><node2><bw><delay><qtype>
Link dua arah dari <node1> ke <node2> dan sebaliknya.
Langkah 4 : Membuat aliran data
Proses pengiriman data pada NS-2 dilakukan dengan membuat
transport agent dan aplikasi pembawanya. Transport agent dibuat berpasangan,
satu berfungsi sebagai sumber data dan pasangannya sebagai tujuannya.
Pada simulasi ini, kita menggunakan paket TCP dengan menggunakan
aplikasi FTP. Pengiriman data tersebut diawali dengan membuat agent pengirim
data.
#membuat objek simulator yang berupa TCP Agent
23
#attach-agent berfungsi untuk mengambil object agent yang sudah
didefinisikan. Attach-agent tersebut dibagi menjadi 2 bagian, yaitu bagian
pengirim dan bagian penerima.
#node_(1) sebagai node sumber
$ns attach-agent $node_(1) $tcp
#node_(4) sebagai node tujuan
$ns attach-agent $node_(4) $sink
Untuk dapat mengalirkan data di antara 2 node tersebut, maka kedua
node tersebut harus dihubungkan dengan perintah sebagai berikut :
$ns connect $tcp $sink
Kemudian dibuat aplikasi yang berjalan di atas transport agent tersebut.
Pada contoh ini, kita gunakan generator trafik dengan fungsi FTP dengan perintah
sebagai berikut :
set ftp [new Application/FTP] $ftp attach-agent $tcp
Setelah itu dilakukan pengaturan waktu dimana data TCP akan dialirkan,
dengan perintah sebagai berikut :
$ns at 10.0 "$ftp start"
Artinya bahwa data akan dikirim setelah detik ke 10.0.
Menurut Wirawan & Indarto (2004), ada 2 jenis TCP Agent yang
didukung oleh NS-2, yaitu One Way TCP Agent dan Two Way TCP Agent.
Dimana One Way TCP Agent tidak menggunakan komunikasi 2 arah antara node
sumber dan node tujuannya, sedangkan Two Way TCP Agent mengadakan
24
2.7 Practical Extraction and Report language (Perl)
Menurut Jusak (2011), Perl merupakan bahasa pemrograman yang
banyak digunakan untuk pemrosesan data file ASCII pada system UNIX. Bahasa
pemrograman ini dibuat oleh Larry Wall dengan tujuan untuk memudahkan
tugas-tugas administrasi sistem UNIX. Saat ini, Perl telah berevolusi menjadi bahasa
pemrograman dan merupakan salah satu sarana yang dapat digunakan untuk
pemrograman web. Di bawah ini merupakan contoh sederhana prosedur queue.pl
untuk memfilter data:
$infile=$ARGV[0];
open (DATA,"<$infile") || die "Can't open $infile $!"; while (<DATA>)
Prosedur queue.pl di atas dijalankan dengan perintah sebagai berikut :
Perl queue.pl simple.tr > queue
Yang berarti bahwa prosedur queue.pl digunakan untuk memfilter data
dari file simple.tr yang kemudian hasilnya akan disimpan pada file baru bernama
24
BAB III
METODE PENELITIAN DAN PERANCANGAN SISTEM
3.1 Metode Penelitian
Metode penelitian yang digunakan dalam TA ini dilakukan dengan cara
mencari informasi yang berkaitan dengan data-data yang dibutuhkan untuk
menyelesaikan TA ini. Data-data tersebut meliputi karakteristik protokol yang
digunakan yaitu protokol DSDV dan OLSR sebagaimana yang diketahui bahwa
kedua protokol tersebut merupakan protokol Proactive routing, data yang
digunakan sebagai aliran trafik yaitu TCP, serta prameter-parameter QoS yang
digunakan dalam perhitungan dan analisis. Penelitian yang dilakukan dapat
dijelaskan dengan lebih baik melalui diagram blok pada Gambar 3.1.
Gambar 3.1 Diagram Blok
Dari diagram blok pada Gambar 3.1, dapat diketahui bahwa terdapat 3
bagian penting yaitu bagian input, proses, dan output.
25
Bagian input terdiri dari data yang digunakan untuk simulasi yaitu berupa
data trafik yang dibangkitkan dari simulator NS-2. Data TCP tersebut dialirkan
dari node sumber menuju node tujuan menggunakan protokol DSDV dan OLSR.
3.1.2 Bagian Proses
Pada bagian ini akan dibangun simulasi jaringan menggunakan NS-2.
Proses ini meliputi konfigurasi jaringan, desain topologi, mengatur skenario
simulasi dan parameter eksternal, dan menjalankan simulasi. Simulasi yang
dilakukan menggunakan topologi dengan posisi node yang bersifat acak
(random), dimana untuk menghasilkan posisi yang acak tersebut menggunakan
parameter eksternal berupa nilai seed yang ditentukan untuk masing-masing
percobaan.
Setelah semua tahap proses dilakukan dengan beberapa percobaan, akan
dilakukan pengambilan data-data yang berguna untuk melakukan penghitungan
delay, PLR, dan utilisasi bandwidth. Data-data tersebut dapat diperoleh dari file
hasil simulasi yaitu file “simple.tr” yang berisi segala informasi aktivitas yang
terjadi mulai dari awal hingga akhir. Data-data yang diambil adalah data-data
yang merupakan aktivitas-aktivitas yang terkait dengan data TCP saja, karena
ukuran paket TCP ± sama dengan ukuran paket data yang dikirim dan diterima
pada penerapan JSN yaitu maksimal ±1040 byte. Hasil dari pengolahan data
tersebut berupa analisis seperti yang disebutkan sebagai berikut :
1. Analisis perbandingan delay : yaitu rata-rata waktu penundaan yang terjadi
terhitung dari saat paket dikirim dari transmitter hingga paket diterima
26
2. Analisis perbandingan PLR : yaitu rata-rata besarnya paket data yang
hilang dan gagal diterima oleh receiver. Apabila nilai PLR dari suatu
protokol itu semakin kecil, maka semakin baik kualitas protokol dalam
pengiriman data.
3. Analisis perbandingan utilisasi bandwidth : yaitu rata-rata bandwidth yang
dihabiskan untuk melakukan pengiriman dan penerimaan data. Semakin
kecil rata-rata bandwidth yang digunakan oleh sistem dengan protokol
tertentu, maka protokol tersebut semakin efektif bila digunakan.
3.1.3 Bagian Output
Bagian output meliputi hasil perbandingan protokol DSDV dan OLSR
yang terdiri dari beberapa parameter QoS yaitu delay, PLR, dan utilisasi
bandwidth. Sehingga dapat dilihat protokol yang paling sesuai untuk digunakan
pada pengimplementasian JSN Ad Hoc berdasarkan unjuk kerja dari
27
3.2 Arsitektur Sistem Jaringan
Gambar 3.2 Diagram Alur Proses Simulasi
Dari Gambar 3.2 dapat diketahui bahwa proses simulasi dimulai dengan
adanya script Tcl. Script tersebut dibangun sesuai dengan parameter-parameter
yang akan dijelaskan pada subbab berikutnya. Kemudian script tersebut akan
dijalankan dengan perintah :
root@fauzan:/home/fauzan/TA#ns<spasi>namafile.tcl
Perintah di atas dituliskan pada jendela terminal ubuntu dengan format
yang telah dijelaskan pada bab sebelumnya. Jika simulasi tersebut berhasil, maka
akan dihasilkan file hasil simulasi, yaitu :
28
2.File.nam : digunakan untuk melihat display dari hasil program. Dapat
dieksekusi dengan cara “nam<spasi>namafile.nam
Jika simulasi tidak berhasil, maka harus dilakukan troubleshooting
terhadap script Tcl yang telah dibuat dan memperbaikinya. Setelah itu, penjalanan
simulasi bisa dilakukan kembali.
3.3 Tahap Perancangan Sistem
Tahap-tahap yang dilakukan dari awal perancangan sistem, pembuatan
sistem, serta analisisnya dapat dilihat pada Gambar 3.3.
Gambar 3.3 Tahap Perancangan Sistem
Tahap-tahap perancangan sistem pada gambar di atas akan dijelaskan
pada sub-bab berikutnya.
29
Desain topologi simulasi yang digunakan dibagi menjadi 2 yaitu topologi
dengan 5 buah node dan 10 buah node. Desain topologi tersebut dapat
diilustrasikan seperti Gambar 3.4 dan Gambar 3.5.
Gambar 3.4 Topologi 5 buah node Gambar 3.5 Topologi 10 buah node
Desain topologi sistem seperti yang diilustrasikan pada Gambar 3.4 dan
Gambar 3.5, masing-masing posisi node nya ditentukan secara random. Jadi,
untuk masing-masing percobaan akan menghasilkan posisi-posisi node yang
berbeda. Akan tetapi, node sumber dan node tujuannya sudah ditentukan.
Penentuan node sumber dan node tujuannya dapat dilihat pada Tabel 3.1.
Tabel 3.1 Penentuan Node Sumber dan Node Tujuan
DSDV OLSR
menjadi tujuan bisa dilihat dari syntax berikut :
30
Syintax (1) menunjukkan nomor node yang menjadi sumber, sedangkan
syntax (2) menunjukkan nomor node yang menjadi tujuan. Syntax tersebut dapat
digunakan jika menggunakan tipe data TCP yang akan dialirkan.
3.3.2 Parameter-parameter Simulasi
Pembuatan sistem tidak terlepas dari parameter-parameter yang
digunakan untuk menghasilkan sistem sesuai dengan kebutuhan.
Parameter-parameter yang digunakan pada pembangunan sistem pada penelitian ini dapat
dilihat pada Tabel 3.2.
Tabel 3.2 Parameter Simulasi
No. Parameter Nilai
1. Channel WirelessChannel
2. Model propagasi Free Space
3. Tipe antarmuka antrian Drop Tail
4. Model antena Omni antenna
5. Tipe protokol routing DSDV dan OLSR
6. Network Interface WirelessPhy
pembangunan sistem. Parameter-parameter tersebut dapat dijelaskan sebagai
berikut :
31
Channel yang diaktifkan adalah channel Wireless, karena yang dibuat
adalah simulasi jaringan yang menggunakan wireless (jaringan tanpa
kabel).
2. Model propagasi = Free Space
Model propagasinya bersifat free space.
3. Tipe antarmuka antrian = Drop Tail
Tipe antarmuka antrian ini menggunakan Drop Tail dimana data yang
diterima pada saat kapasitas.
4. Model Antena = Omni Antenna
Model antena yang digunakan adalah antena omni untuk masing-masing
node yang digunakan dalam simulasi.
5. Tipe protokol routing = DSDV dan OLSR
Protokol routing yang digunakan adalah DSDV dan OLSR. Kedua protokol
routing tersebut merupakan protokol yang dapat digunakan dalam tipe
jaringan WirelessPhy. Kedua protokol tersebut merupakan protokol yang
proaktif, sehingga selalu ada komunikasi antar-node sehingga rute yang
terbentuk akan selalu terjaga.
6. Network Interface = WirelessPhy
Jaringan yang digunakan adalah jaringan wireless dan jaringan tersebut
memiliki beberapa tipe. Yang digunakan dalam penelitian ini adalah
dengan tipe standar wirelessphy (802.11 phy) dengan data rate sebesar 1.2
Mbps dan operating frequency sebesar 2.4 GHz. (Gong, Shan. 2006).
32
Tipe MAC yang digunakan adalah 802.11 karena menggunakan standar
wireless 802.11.
8. Tipe Link Layer = LL Tipe link layernya LL.
9. Dimensi topografi = 300 x 300 m
Dimensi topografi yang digunakan adalah panjang = 300 m dan lebar = 300
m. Dimensi ini lebih besar 3 kali dari dimensi topografi yang digunakan
oleh Nofianti, Dwi, dkk (2011), agar posisi node yang tersebar lebih terlihat
komunikasi.
10.Waktu simulasi = 200 detik
Waktu simulasi yang digunakan adalah selama 200 detik.
Selain parameter-parameter yang sudah disebutkan di atas, untuk
pengaturan posisi node secara random menggunakan parameter seed yang sama,
agar hasil yang diperoleh dapat dibandingkan. Parameter seed yang diterapkan
pada sistem dapat dilihat pada Tabel 3.3.
Tabel 3.3 Nilai Parameter Seed
33
Nilai-nilai seed pada Tabel 3.3 berpengaruh pada pembuatan generator
nilai random yang akan digunakan pada simulasi. Nilai-nilai tersebut ditentukan
berdasarkan range maksimal nilai seed yang berpengaruh pada hasil simulasi
sehubungan dengan nilai seed tersebut akan menghasilkan nilai posisi yang masih
bisa terjangkau oleh node-node lain ataupun tidak. Nilai seed = 5 adalah nilai
maksimal yang dapat dijangkau dengan ukuran topografi yang ditentukan.
34
Gambar 3.6 Diagram Alur Pembuatan Script *.tcl
Sebelum melakukan proses simulasi, terlebih dahulu dilakukan
pembuatan script *.tcl sesuai dengan parameter-parameter dan bentuk topologi
jaringan yang sudah ditetapkan sebelumnya. Dari Gambar 3.6 dapat dijabarkan
bahwa tahap pembuatan script *.tcl adalah sebagai berikut :
35
Dalam membangun simulasi JSN Ad Hoc terlebih dahulu harus
mendefinisikan variabel-variabel global yang dibutuhkan. Berikut adalah cara
pendefinisian variabel dengan nilai yang sudah ditentukan :
set val(chan) Channel/WirelessChannel;
Script di atas bertujuan untuk mendeklarasikan variabel-variabel yang
digunakan. Variabel-variabel yang akan digunakan pada Tabel 3.4.
Tabel 3.4 Variabel-variabel Global
2. Prop TwoRayGround Model propagasinya TwoRayGround
3. Netif WirelessPhy Tipe jaringan wireless yang digunakan
adalah standar wirelessphy
4. Mac 802_11 Tipe MAC yang digunakan adalah
wireless 802.11
5. Ifq DropTail/PriQueue Tipe antarmuka antriannya bersifat
droptail yang menggunakan priqueue
6. Ll LL Tipe link layer nya LL
7. Ant OmniAntenna Antena yang digunakan pada node
adalah antena Omni
8. Ifqlen 50 Ukuran maksimum antrian paket adalah
50
9. Nn 5 / 10 Jumlah node yang digunakan adalah 5
dan 10 (secara terpisah)
10. Rp DSDV / OLSR Protokol routing yang digunakan adalah
DSDV dan OLSR (secara terpisah)
11. Seed 0 – 5 Seed yang digunakan bervariasi sesuai
36
15. Mobility Static Mobilitas dari node bersifat statis
2. Inisialisasi
Setelah mendefinisikan variabel-variabel yang dibutuhkan, selanjutnya
dilakukan inisialisasi dari simulasi tersebut. Script di bawah ini harus selalu
dituliskan ketika akan membangun simulasi. Script tersebut adalah sebagai
berikut:
set ns [new Simulator]
set tracefd [open simple.tr w] set namtrace [open simwrls.nam w] $ns trace-all $tracefd
$ns namtrace-all-wireless $namtrace $val(x) $val(y)
Dengan script di atas maka akan dihasilkan 2 jenis file yaitu “simple.tr”
yang digunakan untuk menyimpan hasil simulasi dan “simwrls.nam” untuk
menyimpan data visualisasi dari simulasi. Perintah “open” pada script di atas
digunakan untuk membuat file dan perintah “w” yang berada di belakang untuk
menuliskan hasil pada file yang telah dibuat.
3. Mengatur Parameter Node
Karena topologi yang dibuat adalah topologi yang posisi node-nodenya
ditentukan secara random, maka harus dibuat sebuah parameter yang digunakan
37
# General pseudo-random sequence generator set genSeed [new RNG]
# Mobility model: x node position [m] set genNodeX [new RNG]
$genNodeX seed [expr [$randomSeed value]] set randomNodeX [new RandomVariable/Uniform] $randomNodeX use-rng $genNodeX
$randomNodeX set min_ 1.0
$randomNodeX set max_ [expr $val(x) - 1.0]
# Mobility model: y node position [m] set posNodeY [new RNG]
$posNodeY seed [expr [$randomSeed value]] set randomNodeY [new RandomVariable/Uniform] $randomNodeY use-rng $posNodeY
$randomNodeY set min_ 1.0
$randomNodeY set max_ [expr $val(y) - 1.0]
Script di atas digunakan untuk membuat nilai random. Sebelum
melakukan random pada nilai variabel X dan Y, harus dibuat general random
terlebih dahulu dengan perintah set genSeed [new RNG], yang digunakan untuk
membangkitkan generator randomnya. Kemudian membuat variabel yang akan
digunakan seperti $genSeed seed $val(seed), dengan perintah tersebut akan
diberi nilai generatornya berdasarkan nilai parameter seed yang telah disebutkan
pada sub bab sebelumnya. Setelah membangkitkan generatornya, selanjutnya
dibuat variable yang digunakan untuk menampung nilai random yaitu dengan
perintah set randomSeed [new RandomVariable/Uniform], variabel tersebut
akan menampung nilai yang dihasilkan oleh generator seed yang diatur
sebelumnya dengan perintah $randomSeed use-rng $genSeed. Kemudian
dilakukan pengaturan nilai minimal dan maksimal nilai random, dalam penelitian
ini digunakan range 1-200 yang diatur dengan menuliskan perintah $randomSeed
38
maksimal yang digunakan berdasarkan kemampuan jangkauan dari
masing-masing node dikarenakan tipe jaringan wireless 802.11 memiliki jangkauan ± 100
meter. (Gong, Shan. 2006).
Setelah itu, pengaturan posisi node dapat dilakukan. Untuk pemberian
nilai random untuk titik X dan titik Y harus dibedakan variabel penampung dan
variabel generatornya, agar tidak terjadi pemberian nilai yang sama utnuk
masing-masing titik tersebut. Dimana generator yang digunakan untuk titik X adalah
genNodeX dan untuk titik Y adalah posNodeY dengan perintah set genNodeX
[new RNG] dan set posNodeY [new RNG]. Sedangkan variabel penampungnya
digunakan variable randomNodeX dan randomNodeY. Proses terakhir pemberian
nilai random untuk masing-masing titik adalah mengatur nilai minimal dan
maksimalnya juga. Dari perintah $randomNodeX set min_ 1.0 dan
$randomNodeX set max_ [expr $val(x) - 1.0], nilai minimal yang
digunakan adalah 1 dan nilai maksimalnya adalah 300-1. Karena nilai maksimal
dari generatornya adalah 200 maka nilai maksimal dari masing-masing mobilitas
node X dan Y adalah 200.
Setelah melakukan pengaturan-pengaturan di atas, sebelum membuat
topologi dan proses-proses yang lain dilakukan pengaktifan konfigurasi node
dengan variabel-variabel global yang sudah diinisialisasikan sebelumnya beserta
nilai-nilainya dengan perintah sebagai berikut :
$ns node-config -adhocRouting $val(rp) -llType $val(ll) \ -macType $val(mac) -ifqType $val(ifq) \
-ifqLen $val(ifqlen) -antType $val(ant) \ -propType $val(prop) -phyType $val(netif) \
-topoInstance $topo a-agentTrace ON -routerTrace OFF \ -macTrace ON -movementTrace ON -channel $chan_
39
Untuk membangun simulasi, maka dibutuhkan objek topografi, sehingga
harus dituliskan script dibawah ini :
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y) create-god $val(nn)
set chan_ [new $val(chan)]
Perintah di atas digunakan untuk membuat objek topografi dan
mendefinisikan ukuran topologi sebesar nilai dari variabel x dan nilai dari variabel
y. Nilainya sesuai dengan yang telah didefinisikan pada variabel global, yaitu 300
x 300 meter. Selain itu, juga dibuat GOD (General Operation Director) untuk
menyimpan informasi keseluruhan mobile node dan melakukan perhitungan
jumlah hop terpendek untuk menghubungkan satu node dengan lainnya.
5. Membuat Node dan Mengatur Posisi Node
Objek node digunakan sebagai ilustrasi sebuah sensor. Pada NS-2, untuk
membuat sebuah node digunakan perintah :
set nama_node [$ns node]
Maka perintah yang digunakan adalah seperti di bawah ini:
for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns node]
$node_($i) random-motion 0 ; }
Script di atas menunjukkan bahwa node yang dibuat adalah sebanyak
nilai “nn” yang sudah dideklarasikan pada saat pertama kali, yaitu sebanyak 5 atau
10 buah. Jika nilai nn=5, maka banyak node yang dibuat berjumlah 5, dan
pemberian nama node-nya karena dimulai dari 0 (seperti yang disebutkan dari
perulangan dengan variabel i, dimulai dari 0 hingga i kurang dari 5), maka nama
node tersebut adalah node_0, node_1, node_2, node_3, node_4. Demikian pula
40
Karena posisi node yang ditentukan bersifat random, maka posisi node
yang dihasilkan harus diatur letak titik X dan titik Y nya dengan menggunakan
general-pseudo-random yang sudah dibuat di script sebelumnya. Cara
menggunakan perintahnya adalah sebagai berikut :
if {$val(mobility) == "Static"} {
for {set i 0} {$i < $val(nn)} {incr i} { set X [expr [$randomNodeX value] ] $node_($i) set X_ $X
set Y [expr [$randomNodeY value] ] $node_($i) set Y_ $Y
$node_($i) set Z_ 0.0 }}
Dengan script di atas, akan diciptakan sebuah kondisi yaitu jika nilai dari
variabel mobility adalah “Static” maka akan terjadi pengulangan dimulai dari 0 –
nn untuk membuat posisi X dan Y dari node-node yang bersangkutan bernilai
random.
Perintah “expr” yang tercantum pada script digunakan untuk menandai
bahwa ada operasi matematika. Seperti yang terdapat pada script di atas yaitu
[$randomNodeX value] yang merupakan perintah untuk memberikan nilai
variabel X dengan hasil dari operasi randomNodeX, begitu juga dengan nilai
variabel Y. Sedangkan untuk nilai titik Z digunakan posisi 0, karena koordinat
yang digunakan adalah koordinat 2 dimensi.
6. Membuat Aliran Trafik
Untuk mendapatkan input data, maka dibuat aliran data. Proses
pengaliran data dilakukan dengan membuat transport agent dan aplikasi di
atasnya. Dalam penelitian ini, menggunakan agent TCP dan FTP sebagai
aplikasinya. Script yang digunakan dapat dituliskan sebagai berikut :
41
menunjukkan bahwa node_1 merupakan node sumber menuju node_4 dengan
perintah $ns attach-agent $node_(4) $sink sebagai tujuannya. setelah
ditentukan arah alirannya, maka kedua node tersebut dihubungkan dengan
perintah :
$ns connect $tcp $sink
Kemudian TCP tersebut dialirkan dengan aplikasi File Transfer Protokol
(FTP) pada detik ke 10.0.
7. Akhir Program
Selain script-script yang dibuat di atas, untuk proses akhir dari program,
maka harus dibuat script penutup. Script akhir bertujuan untuk me-reset semua
nilai yang sudah digunakan dan untuk mengakhiri simulasi. Berikut adalah
perintah untuk me-reset nilai-nilai :
for { set i 0} { $i < $val(nn) } { incr i } { $ns initial_node_pos $node_($i) 30
}
for { set i 0} { $i < $val(nn) } { incr i } { $ns at 200.0 "$node_($i) reset";
}
$ns at $val(stop) "$ns nam-end-wireless $val(stop)" $ns at $val(stop) "stop"
42
Sedangkan, untuk menghentikan program simulasi digunakan perintah
sebagai berikut :
namtrace. Perintah “flush-trace” digunakan untuk menyimpan seluruh data hasil
simulasi ke dalam tracefile dan namfile. Sedangkan, perintah “exit” digunakan
untuk mengakhiri aplikasi dan memberikan status 0 kepada sistem. Nilai status
tersebut adalah default untuk membersihkan memori sistem. Prosedur di atas akan
dijalankan pada detik 200.01 seperti yang tertera pada perintah :
$ns at 200.01 "puts \"end simulation\" ; $ns halt"
Setelah menuliskan semua objek simulasi, jangan lupa untuk menuliskan
perintah :
$ns run
3.3.4 Melakukan Trace Simulasi
Dengan perintah tersebut objek simulasi akan dieksekusi secara
berurutan ketika dijalankan, perintah-perintah yang ditulis setelah $ns run tidak
43
Gambar 3.7 Diagram Alur Trace Simulasi
Gambar 3.7 merupakan langkah-langkah melakukan trace simulasi,
pertama-tama kita melakukan panggilan/menjalankan script *.tcl yang telah
dibuat. Kemudian jendela Network Animator yang dihasilkan dari pemanggilan
script tersebut dijalankan hingga selesai. Sehingga dihasilkan 2 file yaitu file
*.nam yang berisi data visualisasi dari simulasi dan file *.tr yang berisi data-data
aktivitas yang terjadi pada saat simulasi berjalan hingga selesai.
3.3.5 Proses Parsing Data
Proses parsing data yang dilakukan bertujuan untuk mengambil data-data
yang dibutuhkan untuk melakukan penghitungan selanjutnya dari file *.tr yang
telah dihasilkan. Pada penelitian ini filter data dapat dilihat selengkapnya pada
pengujian Bab 4.3.3.
Tidak semua informasi yang tersimpan pada tracefile digunakan untuk
44
Gambar 3.8 Hasil Tracefile
File yang ditunjukkan oleh Gambar 3.8 merekam semua aktivitas yang
terjadi mulai dari detik ke-0 (nol) hingga detik ke-200 sesuai dengan script Tcl
yang telah dibuat. Gambar 3.9 menunjukkan cuplikan baris pertama dari hasil
tracefile Gambar 3.8.
S 0.031853939 _1_ MAC --- 0 message 90 [0 ffffffff 1 800] [1:255 -1:255 32 0] K. 0 K. 1 K. 2 K. 3 K. 4 K. 5 K. 6 K. 7 K. 8 K.9
Gambar 3.9 Cuplikan Tracefile
Dimana :
K = Kolom ke-i , misal : K. 7 = Kolom 7.
Data-data yang terekam ada beberapa kolom meliputi : (Wirawan, Andi
B. dan Indarto, Eka. 2004)
1. Kolom 0 menunjukkan event yang sedang terjadi. Pada file di atas terdapat 3
event yaitu s (sent) yang menunjukkan bahwa sedang terjadi pengiriman,
45
event D (Drop) yang menunjukkan bahwa ada paket yang dibuang (drop)
biasanya terjadi pada detik-detik terakhir saat simulasi akan berakhir.
2. Kolom 1 menunjukkan waktu event sedang terjadi.
3. Kolom 2 menunjukkan nomor node yang sedang terlibat dengan aktivitas
pada saat itu.
4. Kolom 3 menunjukkan trace level yaitu MAC dan AGT. MAC merupakan
MAC layer dan AGT merupakan paket pada transport layer.
5. Kolom 4 merupakan pemisah.
6. Kolom 5 adalah nomor urut paket dimulai dari urutan 0 (nol).
7. Kolom 6 menunjukkan tipe dari paket (tcp, ack, arp, cts, dsb).
8. Kolom 7 menunjukkan ukuran (length) dari paket dalam satuan byte.
9. [0 ffffffff 1 800] menunjukkan informasi MAC layer.
10. [1:255 -1:255 32 0] menunjukkan IP sumber dan tujuan berikutnya time to
live (ttl) dari paket.
11. Apabila terdapat informasi [0 0] merupakan nomor urut dan pemberitahuan
nomor (informasi tcp).
0 0 merupakan format mekanisme routing type pack.
File di atas difilter dengan langkah-langkah pada diagram alur pada
46
Gambar 3.10 Diagram Alur Melakukan Filter Data
Gambar 3.10 merupakan langkah-langkah melakukan proses parsing file
dimulai dengan memanggil script *.pl seperti yang terlihat pada diagram alur
Gambar 3.10. File yang difilter pada penelitian ini adalah file simple.tr, data-data
yang ada di dalam file tersebut difilter sesuai dengan kebutuhan untuk
penghitungan delay, PLR, dan utilisasi bandwidth. Jika proses filter berhasil,
maka akan dihasilkan file baru yang berisi data-data yang telah terfilter dengan
nama yang diberikan. Data-data yang dibutuhkan untuk proses penghitungan
47
Gambar 3.11 FlowchartScript Perl
Dari Gambar 3.11 dapat diketahui bahwa data-data yang dibutuhkan
adalah data yang menunjukkan aliran data TCP sesuai dengan sistem yang dibuat.
Tetapi tidak semua informasi yang digunakan. Dari flowchart di atas data-data
48
Satuan waktu dimana suatu event sedang berlangsung.
3. Kolom 2 ($x[2])
Nomor node yang sedang terlibat dengan aktivitas pada saat itu.
4. Kolom 3 ($x[3])
Trace level yaitu MAC dan AGT. MAC merupakan MAC layer dan AGT
merupakan paket pada transport layer.
5. Kolom 5 ($x[5])
Nomor urut paket dimulai dari urutan 0 (nol).
6. Kolom 7 ($x[7])
Ukuran (length) dari paket baik yang dikirim, diterima, maupun yang drop
dalam satuan byte.
7. Kolom 8 ($x[8])
Informasi MAC layer.
8. Kolom 11 ($x[11])
49
9. Kolom 12 ($x[12])
Format dari mekanisme. Misalnya 0 0 adalah mekanisme send dan 0 1
adalah mekanisme receive.
Informasi-informasi yang dijelaskan pada subbab di atas digunakan
dalam penghitungan yang akan dijelaskan pada subbab-subbab di bawah ini.
3.3.6 Proses Penghitungan Parameter Delay
Dalam penghitungan delay yang dibutuhkan adalah selisih/ waktu tunda
antara waktu pada saat paket diterima dengan waktu pada saat paket dikirim.
Informasi yang digunakan sebagai acuan pertama-tama data diurutkan
berdasarkan nomor urut paket yang tertera pada kolom 5, lalu dikelompokkan
berdasarkan trace level pada kolom 4 dimulai dari AGT terlebih dahulu karena
AGT merupakan paket pada transport layer dan MAC adalah MAC layernya.
Secara otomatis data akan urut dengan pola event s, r, s, r, …, s, r. Sehingga dapat
dihitung delay yang terjadi satu per satu, yang digunakan adalah waktu dengan
status event s dan r pada kolom 1. Rata-rata delay yang terjadi pada
masing-masing percobaan diperoleh dari total seluruh delay yang terhitung dibagi dengan
banyaknya proses komunikasi yang terjadi dimana suatu proses komunikasi yang
sukses adalah ketika data yang dikirim berhasil diterima oleh receiver.
Sedangkan, paket yang dikirim tetapi didrop oleh sistem tidak digunakan
dalam penghitungan delay. Tetapi akan digunakan pada penghitungan PLR.
Informasi-informasi yang lain digunakan untuk memastikan data-data yang sudah
50
3.3.7 Proses Penghitungan Parameter PLR
Dalam penghitungan PLR yang dibutuhkan adalah ukuran paket yang
hilang pada saat komunikasi berlangsung dengan menggunakan data yang sudah
diurutkan seperti yang sudah dijelaskan pada penghitungan delay pada subbab
sebelumnya.
Dalam penghitungan PLR, yang digunakan adalah ukuran paket pada
kolom 7 yaitu ukuran paket yang dikirim (sent) dikurangkan dengan ukuran paket
yang berhasil diterima (received). Rata-rata PLRyang terjadi pada masing-masing
percobaan diperoleh dari total seluruh paket yang hilang pada saat komunikasi
terjadi dijumlah dengan ukuran seluruh paket yang didrop dibagi dengan total
ukuran paket yang dikirim pada masing-masing percobaan.
3.3.8 Proses Penghitungan Parameter Utilisasi Bandwidth
Dalam penghitungan utilisasi bandwidth yang dibutuhkan adalah total
ukuran paket yang dikirim dan diterima pada saat komunikasi berlangsung dengan
menggunakan data yang sudah diurutkan seperti yang sudah dijelaskan pada
penghitungan delay sebelumnya. Dalam penghitungan utilisasi bandwidth, yang
digunakan adalah ukuran paket pada kolom 7 yaitu ukuran paket yang dikirim
dijumlahkan dengan ukuran paket yang berhasil.
Setelah diperoleh total ukuran paket yang berhasil dikirim dan diterima,
rata-rata utilisasi bandwidth yang terjadi pada masing-masing percobaan dapat
diperoleh dari total seluruh paket yang dikirim dan berhasil diterima pada saat
komunikasi terjadi dikalikan dengan 8 bit untuk memperoleh penghitungan dalam
satuan bit karena ukuran paket yang ditunjukan dari tracefile dalam ukuran byte
51
yang disediakan jika tidak diatur secara manual adalah 1.2 Mbps (1200000 bit per
sekon). Sesuai dengan tipe jaringan yang digunakan yaitu standar Wirelessphy