Anda di halaman 1dari 64

JARINGAN KOMPUTER LANJUT TUGAS SIMULASI NS2

Anggota Kelompok :

Putu Gede Surya Cipta Nugraha I Putu Agus Eka Darma Udayana I Wayan Eddy Prayoga

1008605006 1008605007 1008605023

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA 2012

KATA PENGANTAR

Om Swastyastu Puja dan puji syukur penulis panjatkan kehadirat Ida Sang Hyang Widhi Wasa / Tuhan Yang Maha Esa, atas asung kertha wara nugrahaNya sehingga penulis dapat menyelesaikan tugas Jaringan Komputer Lanjut yang membahas mengenai simulasi NS2. Penulis menyadari masih terdapat banyak kekurangan pada laporan ini, dikarenakan keterbatasan pengetahuan yang dimiliki penulis terkait materi yang terkandung dalam laporan ini maka dari itu kritik dan saran yang membangun dari para dosen mata kuliah Jaringan Komputer Lanjut sangat diharapkan. Akhir kata penulis mengucapkan semoga pikiran yang baik datang dari segala penjuru. Om Santhi Santhi Santhi Om Denpasar, Oktober 2012

Penulis

ii

DAFTAR ISI

KATA PENGANTAR ............................................................................................ ii DAFTAR ISI .......................................................................................................... iii DAFTAR GAMBAR .............................................................................................. v BAB I PENDAHULUAN ....................................................................................... 1 1.1 Landasan Teori .............................................................................................. 1 1.2 Tujuan ........................................................................................................... 1 1.3 Manfaat ......................................................................................................... 1 BAB II LANDASAN TEORI ................................................................................. 2 2.1 Network Simulator 2 ..................................................................................... 2 2.1.1 Komponen Pembangun NS2 .................................................................. 2 2.1.2 Dasar Bahasa TCL dan OTCL ............................................................... 3 2.1.3 Transport Agen Pada NS2 ...................................................................... 4 2.1.4 Level Aplikasi Pada NS2 ....................................................................... 7 2.1.5 Routing ................................................................................................... 7 2.1.6 Kelebihan NS2 ....................................................................................... 8 2.2 AWK ............................................................................................................. 9 2.3 Pengenalan Gnuplot .................................................................................... 13 2.3.1 Menginstal Gnuplot.............................................................................. 13 2.3.2 Format Data Pada Gnuplot ................................................................... 16 2.3.3 Perintah Sederhana Gnuplot................................................................. 17 2.3.4 Menyimpan Tampilan Grafik Dalam Format Lain .............................. 20 BAB III HASIL PRAKTIKUM ............................................................................ 23 3.1 Scrip Simulasi NS2 ..................................................................................... 23 3.2 Delay End To End ....................................................................................... 32 3.2.1 Penjelasan Scrip ................................................................................... 34 iii

3.3 Packet Lost .................................................................................................. 37 3.3.1 Penjelasan Scrip ................................................................................... 38 3.3 Troughput .................................................................................................... 41 3.3.1 Penjelasa Scrip ..................................................................................... 44 3.4 Percobaan Pertama ...................................................................................... 47 3.5 Percobaan Kedua ......................................................................................... 52 BAB IV PENUTUP .............................................................................................. 57 4.1 Kesimpulan ................................................................................................. 57 4.2 Saran ............................................................................................................ 58 DAFTAR PUSTAKA ........................................................................................... 59

iv

DAFTAR GAMBAR
Gambar 2.1 Komponen NS2 ................................................................................... 2 Gambar 2.2 Pattern Dengan Regular Ekspresi ...................................................... 11 Gambar 2.3 Contoh Hasil Pemplotan Tengan Tipe Boxes ................................... 18 Gambar 2.4 Contoh Hasil Pemplotan Dengan Tipe Tines ................................. 19 Gambar 2.5 Contoh Hasil Pemplotan Dengan Tipe Linespoints .......................... 19 Gambar 2.5 Contoh Hasil Pemplotan Dengan Tipe Toints................................... 20 Gambar 3.1 Scrip Masuk Ke Terminal Dengan Cygwin ...................................... 30 Gambar 3.2 Memanggil File simulasi.tcl .............................................................. 31 Gambar 3.3 Simulasi Dengan Nam ....................................................................... 31 Gambar 3.4 Alur Simulasi .................................................................................... 32 Gambar 3.5 Trace Format ..................................................................................... 34 Gambar 3.6 Trace Format ..................................................................................... 39 Gambar 3.7 Hasil out.tr ......................................................................................... 48 Gambar 3.8 Hasil Dari Delay End To End n0-n4 Dan n1-n5. .............................. 48 Gambar 3.9 Perintah Gnuplot ............................................................................... 49 Gambar 3.10 Hasil Dari Delay End To End n0-n4 dan n1-n5 pada Gnuplot ....... 49 Gambar 3.11 Hasil out.tr ....................................................................................... 50 Gambar 3.12 Hasil Lost Simulasi 1 ...................................................................... 50 Gambar 3.13 Scrip Troughput .............................................................................. 51 Gambar 3.14 Hasil Troughput Simulasi 1 ............................................................ 51 Gambar 3.15 Hasil out.tr ....................................................................................... 52 Gambar 3.16 Delay End To End n0-n4 dan n1-n5................................................ 53 Gambar 3.17 Scrip Gnuplot .................................................................................. 53 Gambar 3.18 Delay End To End n0-n4 dan n1-n5 Pada Gnolput ......................... 54 Gambar 3.19 Hasil out. ......................................................................................... 55 Gambar 3.20 Hasil Lost Simulasi 2 ...................................................................... 55 Gambar 3.21 Scrip Troughput .............................................................................. 56 Gambar 3.22 Hasil dari Troughput Simulasi 2 ..................................................... 56

BAB I PENDAHULUAN
1.1 Landasan Teori Simulasi merupakan suatu model pengambilan keputusan dengan mencontoh atau mempergunakan gambaran sebenarnya dari suatu sistem kehidupan dunia nyata tanpa harus mengalaminya pada keadaan yang sesungguhnya. Dalam simulasi digunakan komputer untuk mempelajari sistem secara numerik, dimana dilakukan pengumpulan data untuk melakukan estimasi statistik untuk mendapatkan karakteristik asli dari sistem. Dalam rangka untuk lebih memahami tentang simulator NS-2, disini akan dibahas bagaimana cara memakai simulator NS-2. Disini akan diberikan sebuah contoh simulasi beserta penjelasan bagaimana program tersebut berjalan. Bagaimana kita bisa menganalisa sebuah masalah yang di simulasikan dengan NS-2 dan mengambil kesimpulan yang terbaik dari masalah tersebut. Untuk lebih lanjut kita akan langsung ke teori dan pembahasan nya.

1.2 Tujuan Tujuan dari jaringan komputer lanjut ini ialah agar mahasiswa : 1. Mahasiswa diharapkan mengetahui apa itu awk 2. Mahasiswa diharapkan mengetahui script awk tersebut 3. Mahasiswa diharapkan mampu menggunakan awk tersebut 1.3 Manfaat Manfaat dari jaringan computer lanjut kali ini ialah agar mahasiswa dapat: 1. Mahasiswa mampu menjelaskan apa yang dimaksud dengan awk 2. Mahasiswa mengethui sintak / script awk tersebut 3. Mahasiswa mampu menggunakan awk tersebut untuk menghitung delay, paket loss, throughtput dll.

BAB II LANDASAN TEORI


2.1 Network Simulator 2 NS2 (Network Simulator 2) dikembangkan pertama kali tahun di UCB (University of California Berkeley) yang didukung oleh DARPA. NS2 merupakan suatu system yang bekerja pada system Unix/Linux , NS2 juga dapat dijalankan dalam system Windows namun harus menggunakan Cygwin sebagai Linux Enviromentnya NS2 dibangun dari 2 bahasa pemrograman yaitu C++, sebagai library yang berisi event scheduler, protokol , dan network component yang diimplementasikan pada simulasi oleh user. OTcl digunakan pada script simulasi yang ditulis oeh NS user. Otcl juga berperan sebagai interpreter . 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. Sedangkan bahasa Tcl memberikan respon runtime yang lebih lambat daripada C++, namun jika terdapat kesalahan , respon Tcl terhadap kesalahan syntax dan perubahan script berlangsung dengan cepat dan interaktif.

2.1.1 Komponen Pembangun NS2 Pengetahuan tentang komponen pembangun NS2 dan letaknya akan sangat berguna dalam membangun simulasi. Komponen pembangun NS2 dapat dilihat seperti gambar dibawah ini.

Gambar 2.1 Komponen NS2

Keterangan: Tcl : Tool command language Otcl : Object Tcl TK : Tool Kit Tclcl : Tcl/C++ Interface NS2 : NS versi 2 Nam : Network animator

2.1.2 Dasar Bahasa TCL dan OTCL Tcl adalah bahasa pemrograman yang didasarkan pada string string based command. TCL di desain untuk menjadi perekat dalam membangun software building block untuk menjadi suatu aplikasi. Sedangkan Otcl adalah ekstensi tambahan pada Tcl yang memungkinkan fungsi object oriented. Berikut adalah dasar-dasar bahasa tcl yang berguna dalam membangunsimulasi : Perintah-perintah dasar Tcl : Syntax dasar command arg1 arg2 arg3. Contoh : expr 2*3 puts ini adalah contoh command Variabel dan array set Contoh : set x ini contoh variabel set y 20 Pemanggilan variabel dilakukan dengan menggunakan tanda $ puts $x, semuanya berjumlah $y Array ditandai dengan menggunakan tanda kurung setelah nama array tersebut. Contoh : set opts (bottlenecklinkrate) 1Mb set opts (ECN) on set n(0) [$ns node] set n(1) [$ns node] Repetisi (loop)

1. While Format : while {condition} {command} Contoh : set i 0 while {$i <10} {set n($i)} [new node] incr i} 2. For Format : for {command1}{condition}{command2}{command} Contoh : for {set i 0}{$i<100}{incr i}{set n($i)[$ns node] Perintah kondisional format : If {condition}{command} contoh : if {$i<10}{puts i is less than 10} Comment simbol comment tanda # Prosedur 1. Prosedur tanpa parameter Format : Proc name { }{command} Contoh : proc tampil { }{puts ini tampilannya} Cara menjalankan prosedur dengan mengetikkan : tampil 2. Prosedur dengan parameter Format : Proc name {parameter1}{puts nilai parameter1 adalah $parameter1} Cara menjalankannya : proc2 10

2.1.3 Transport Agen Pada NS2 Pada jaringan internet, kita tahu ada 4 layer komunikasi TCP/IP yaitu: layer aplikasi, transport, IP dan network. Lapisan transport merupakan layer komunikasi yang mengatur komunikasi data yang akan digunakan oleh lapisan aplikasi di atasnya. NS mensimulasikan lapisan transport dengan objek simulasi yang bernama transport agent. Pada simulasi pengiriman data, transport agent tidak dapat berdiri sendiri. Transport agent membutuhkan lapisan aplikasi di atasnya yang berfungsi sebagai traffic generator. Protokol lapisan transport data yang didukung network simulator 2 antara lain : 1. TCP ( Transport Control Protocol )

2. UDP (User Datagram Protocol ) 3. RTP ( Real Time Transport Protocol )

1. TCP ( Transport Control protocol ) Network simulator 2 mendukung 2 jenis TCP agent, yaitu one way TCP agent dan Two way TCP agent. Perbedaan kedua jenis TCP agent ialah: a. Two way TCP agent mensupport proses handshaking pada saat connection setup, sehingga koneksi dapat dibangun atau drop tergantung pada kondisi jaringannya. Sedangkan One way TCP agent tidak mensupport proses handshaking. Pertukaran data menggunakan agent ini diasumsikan telah melewati proses handshaking. b. Two way TCP agent mensupport data transfer dua arah. c. Penomoran pada jumlah byte yang ditransfer, bukan jumlah paket.

One Way TCP Agent Simulasi koneksi pada One way TCP dilakukan dengan menggunakan 2 agents yang berpasangan, yaitu TCP sender, dan TCP Sink. TCP Sender Agent Network Simulator 2 dapat mendukung beberapa jenis TCP sender agent, diantaranya : 1. TCP Sender base ( Tahoe TCP ) Agent/TCP 2. Reno TCP Agent/TCP/Reno 3. New Reno TCP Agent/TCP/NewReno 4. Vegas TCP Agent/TCP/Vegas 5. SACK ( Selective ACK ) TCP Agent/TCP/Sack1 6. FACK ( Forward ACK ) TCP Agent/TCP/Fack

TCP Sink Agent TCP Sink bertugas mengirimkan ACK per paket yang diterima pada TCP

sender pasangannya. Beberapa macam TCP sink yang disupport oleh NS yaitu : 1. Base TCP Sink Agent/TCPSink 2. Delayed ACK Agent/TCPSink/DelAck 3. Sack TCP Sinkl Agent/TCPSink/Sack 4. Delayed Ack dengan Sack Agent/TCPSink/Sack1/DelAck

2. UDP ( User Datagram Protocol ) Koneksi dengan menggunakan UDP pada NS2 dilakukan dengan menggunakan agent UDP sebagai pengirim dan agent Null sebagai penerima. UDP Sender Agent

Merupakan agent pengirim, diterapkan pada NS sebagai: 1. UDP sender agent Agent/UDP Agent Null

Agent Null merupakan pasangan UDP sebagai tujuan trafik. 1. Agent Null Agent/Null

3. RTP ( Real Time Transport Protocol ) RTP menyelenggarakan end to end delivery services untuk data yang memiliki karakteristik real time, seperti ausi (VoIP ) dan video interaktif. Layanan tersebut termasuk identifikasi tipe payload, pengurutan, timestamping, dan monitor pengiriman data. Sama seperti UDP, pemakai RTP sebagai agent pengirim dipasangkan dengan agent Null sebagai penerima.

2.1.4 Level Aplikasi Pada NS2 Pada sistem dunia nyata,aplikasi terhubung dengan lapisan transport yang ada dibawahnya melalui sebuah Aplication Program Interface (API). Jenis API yang umum digunakan yaitu socket. Ada 2 tipe dasar aplikasi yang disimulasikan pada NS2, yaitu: a. Simulated Application Pada saat ini baru terdapat dua jenis aplikasi yang disimulasikan oleh NS yaitu: 1. FTP FTP dibangun untuk mensimulasikan bulk data transfer. 2. Telnet Masing-masing aplikasi diatur oleh transport agent. Jumlah paket yang ditransmisikan diatur oleh mekanisme flow control dan congestion control TCP. b. Generator Traffic Object generator traffic dibagi atas 4 type, yaitu: 1. Eksponensial Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi eksponensial. 2. Pareto Generator traffic ini membangkitkan traffic dengan inter arrival time antarpaket sesuai dengan fungsi pareto. Contoh pemakaian pada simulasi: 3. CBR Fungsi ini membangkitkan data secara kontinue dengan bit rate yang konstan. 4. Traffic Trace Generator ini membangkitkan traffic dari sebuah file trace.

2.1.5 Routing Secara umum simulasi routing pada NS2 dilakukan melalui 3 blok fungsi, yaitu routing agent yang mempertukarkan paket routing antar node, routing logic yang menggunakan informasi yang dikumpulkan oleh routing agent untuk

melakukan perhitungan rute dalam bentuk table routing dan Classifier yang ada pada node. Ada dua jenis algoritma routing yang didukung oleh NS2, yaitu : 1. Algorima routing Distance Vector 2. Algoritma routing Link-State

1. Distance Vector Algoritma ini digunakan pada protokol routing RIP ( Routing Information protocol ) dan IGRP ( Interior Gateway Routing Protocol). Proses pembentukan tabel pada protokol routing yang menggunakan konsep distance vector adalah sebagai berikut : a. Mula mula tabel routing yang dimiliki oleh masing masing router akan berisi informasi alamat jaringan yang terhubung dengan router tersebut. b. Secara periodik masing masing router kan saling bertukar informasi sehingga isi tabel routing dari semua router terisi lengkap . Dalam NS2 algoritma routing distance vector dapat ditulis seperti dibawah ini :
$ns rtproto DV

2. Link-State Algoritma routing ini digunakan pada protokol routing OSPF (Open Shortest Path First). OSPF bisa digunakan pada jaringan router dalam skala besar dan memiliki karakteristik seperti berikut : 1. Metric-nya berdasarkan nilai cost ( bandwidth ). 2. Tidak dibatasi oleh banyaknya hop count. 3. Default administrative distance = 110. Pada NS2 algoritma routing ini dapat dituliskan dengan perintah berikut:
$ns trproto LS

2.1.6 Kelebihan NS2 NS2 (Network Simulator 2) dikembangkan pertama kali tahun di UCB (University of California Berkeley) yang didukung oleh DARPA, dimana NS2 (Network Simulator 2) tersebut memiliki beberapa kelebihan diantaranya :

1. Sebagai perangkat lunak simulasi pembantu analisis dalam riset atau penelitian. 2. Memiliki tool validasi yang berfungsi untuk menguji validitas pemodelan yang ada pada NS2. 3. Pembuatan simulasi lebih mudah dibandingkan dengan software developer yang lain. 4. Bersifat open source di bawah GPL (Gnu Public License), sehingga NS2 dapat didownload melalui website NS2 di 5. Pada NS2 user tinggal membuat topologi dan skenario simulasi yang sesuai dengan riset nya. Pemodelan media, protokol dan network component lengkap dengan perilaku tarfiknya sudah tersedia di library NS2.

2.2 AWK Bahasa pemrograman AWK pertama kali dibuat pada tahun 1977 oleh Alfred Aho, Peter Weinberger, dan Brien Kernigan. AWK adalah bahasa pemrograman untuk memanipulasi data secara bersama hanya dengan program yang singkat. Hal ini dikarenakan pada bahasa AWK, kita tidak memerlukan suatu deklarasi untuk variable. Selain itu, AWK juga akan secara otomatis melakukan handles input, field splitting, initialization, dan memory management. Awk adalah sebuah perograman filter untuk teks, Awk dapat digunakan untuk mencari bentuk/model dalam sebuah file teks. Awk juga dapat mengganti bentuk satu teks ke dalam bentuk teks lain. AWK merupakan utilitas dengan kependekan dari nama-nama belakang penciptanya yaitu: Alfred V Aho, Peter J. Weinberger, Brian W. Kernighan Awk dapat juga digunakan untuk melakukan proses aritmatika seperti yang dilakukan oleh perintah "expr". Awk adalah sebuah pemrograman seperti pada shell atau C yang memiliki karakteristik yaitu sebagai tool yang cocok untuk jobs juga sebagai pelengkap (complicated) untuk filter standard. Jika kecepatan merupakan hal yang pokok, awk adalah sesuatu produk bahasa yang sangat sesuai. Tetapi hanya untuk even jobs dimana kecepatan menjadi sesuatu hal yang esensial/pokok atau utama, maka awk dapat digunakan sebagai bentuk prototipe-nya. Meskipun awk dan shell

keduanya adalah bahasa pemrograman, keduanya adalah spesialis untuk aplikasi yang berbeda. Awk sangat baik untuk manipulasi file teks, sedangkan shell sangat baik untuk pelaksana perintah UNIX. Awk sangat cocok untuk menyelesaikan tugas sederhana, seperti halnya penyuntingan sebuah kata untuk dicetak oleh perintah date atau tugas komplek lainnya seperti pelayanan pengolahan sebuah data base sederhana atau paket statistik. Adapun contoh awk untuk aplikasi sederhana yaitu sebuah program untuk menampilkan hari dan bulan, untuk lebih jelasnya perhatikan printah-perintah berikut. $ cat daymonth date | awk '{print $3}' $ date $ daymonth

Cara menjalankan program AWK :


AWK program input_file(s) : program dan input merupakan perintah. AWK program : program bertindak sebagai perintah, input berasal dari standart input. AWK f program_file_name input_files : program dibaca dari suatu file.

Structure dari program AWK adalah :


BEGIN segment ( optional ) Pattern-action pairs ( inputing data ) END segment ( optional ) File file : input AWK dapat dari file file yang kita upload kedalam program untuk dijadikan sebagi input dalamprogram redirection (pembelokan) : input input yang diberikan dapat dialihkan sebagai input yang lain.

Sumber sumber input pemrograman AWK yaitu :


1.

2.

3.

pipes (pipa) : proses pipa dimana output suatu proses akan dijadikan sebagai input untuk proses yang lain

4.

Standart input : input yang berasal dari keybord sebagai input unutk suatu proses.

Simple output dari AWK :

10

Dapat menampilkan number of field ( NF ) Dapat melakukan perhitungan pada nilai field dan menampilkannya sebagai output.

Dapat menampilkan line numbers yang kita inginkan ( NR ) Dapat menambahkan text pada output. Dapat menampilkan output seluruh line apabila tidak terdapat pattern. Dapat menampilkan multiple items dengan 1 print statement.

Simple Script Sebuah awk script terdiri dari 2 bagian; yaitu "pattern dan action". Pattern adalah serupa dengan regular expressions, dan action sama seperti bahasa C yaitu aksi dari hasil sebuah perintah. Pattern dengan regular ekspresi diperlihatkan pada tabel dibawah ini

. Gambar 2.2 Pattern Dengan Regular Ekspresi

Sedangkan sintak umum dari script awk adalah sebagai berikut: Sintak: awk -f {awk program file} filename Pernyataan dalam program AWK Pattern { action 1 action 2 action N } Didalam program awk, pattern diikuti oleh action, dengan tanda kurung kurawal { } yang mengelilingi setiap action. Sebuah action adalah pelaksana jika pattern 11

sesuai dengan sesuatu yang ada didalam baris input. Jika bagian pattern tidak ada, action akan melakukan aksi untuk tiap-tiap baris dalam file. Jika action absen/tidak ada, maka default action yaitu mencetak baris dilaksanakan. Bentuk pattern "paris" didalam standard input diperlihatkan pada contoh berikut:
$ cat findparis awk /paris/ $ echo an american in Georgia | findparis $ echo an american in paris | findparis

Diperlihatkan pada contoh program diatas, terdiri dari sebuah pattern |paris| dan tidak ada action. Ekuivalen program dengan menggunakan default action (print) seperti contoh dibawah ini.
$ cat findparis awk '/paris/ {print}' $ echo an american in Georgia | findparis $ echo an american in paris | findparis

Tanda kutip didaerah sekitar awk script merupakan suatu kebutuhan, sebab script akan bernilai kosong jika tanpa tanda kutip. Salah satu tanda kutip tunggal atau ganda sudah mencukupi untuk contoh diatas. Perintah print didalam program "findparis" untuk mencetak seluruh baris mungkin juga bisa untuk mencetak konstanta, karakter dari baris input, dan juga mencetak argument, disamping itu pada program ini tidak memiliki parameter. Sebuah contoh print dengan argument dalam awk yang menggunakan parameter $3 adalah sebagai berikut: $ date | awk {print $3} Program awk untuk mengambil argumen dari sebuah file seperti berikut ini:
$ cat prarg.awk { print $3 } $ date | awk f prarg.awk

Pada argumen flag f dan menyertakan nama file yang berisi awk digunakan untuk menampilkan isi file program awk. { print $3 } membuat awk membaca input dari nama file atau dari input standard (keyboard).

12

2.3 Pengenalan Gnuplot Gnuplot adalah suatu progam grafik interaktif yang berbasis CLI (command-line interface). Program ini sangat mudah digunakan dan sebenarnya hanya memiliki 2 perintah untuk membuat suatu gambar plot, yaitu perintah : plot dan splot. Program ini dapat menghasilkan banyak macam grafik dengan banyak pilihan untuk mengubahnya dan dapat disimpan ke dalam bermacam-macam divais grafik (terminal grafik, printer atau ploter). Kemudahan dalam penggunaan dan keserderhaan perintah-perintahnya tidaklah mengurangi kualitas kemampuan program ini, oleh karena itu program gnuplot mempunyai beberapa macam kemampuan, yaitu sebagai berikut :
_

Memplot deretan data univariat (misalnya time series) Memplot sederhana suatu fungsi yang didefinisikan pengguna baik pada sistem koordinat Cartesius maupunpolar Scatter plot data bivariat dengan pilihan errorbar Grafik batang Memplot permukaan 3 dimensi suatu fungsi seperti z = f(x,y) dengan beberapa pilihan Scatter plot 3 dimensi data trivariat Memplot 2 dan 3 dimensi suatu fungsi parametrik Memplot data secara langsung dari tabel yang dihasilkan oleh aplikasi yang lain Memplot berulang pada suatu variasi devais grafik yang lain.

2.3.1 Menginstal Gnuplot Ada beberapa cara untuk menginstal program gnuplot di lingkungan linux maupun windows. Cara yang paling mudah adalah menginstal gnuplot dari file biner (*.rpm, *.deb, *.zip, *.exe) atau menginstal dari paket yang terdapat pada distributor seperti SuSE, EasyLinux, RedHat, Debian, Mandrake, dan lain-lain. Biasanya setiap distributor memberikan cara tertentu untuk menginstal program yang ada pada paket program yang dipaketkannya. Lihat panduan instalasi Linux pada tiap-tiap distributor yang digunakan. Cara yang lain adalah menginstal dari source code gnuplot yang dapat didownload melalui situs resmi gnuplot (lihat

13

lampiran A). Langkah-langkah pre-instalasi gnuplot dari source code adalah sebagai berikut (khusus Linux/Unix): Download file gnuplot-3.7.1.tar.gz dari salah satu server gnuplot. Jika ingin menginstal library GIF (untuk terminal GIF), download file gd1.4.tar.gz. Jangan lupa download juga file-file dokumentasinya, misalnya file gnuplot.pdf.gz, gp-ps.zip, dan lain-lain. Ekstrak file yang terkompres tar tersebut dengan perintah tar -xvzf gnuplot-3.7.1.tar.gz pada direktor /usr/src/packages (hanya untuk

memudahkan pencarian). Jangan lupa login sebagai root atau superuser sebelum memulai instalasi. Proses ekstraksi ini akan membuat direktori gnuplot-3.7.1 secara otomatis, yang berisi file-file source code gnuplot. Langkah selanjutnya adalah instalasi.

Pertama, ekstrak dan instal file gd1.4.tar.gz, perintahnya sama dengan perintah pada instalasi gnuplot yang akan diterangkan berikut ini. Lokasi default file-file pada program gnuplot:
PREFIX gnuplot gnuplot_x11 gnuplot.1 gnuplot.gih /usr/local PREFIX/bin PREFIX/bin PREFIX/man/man1 PREFIX/share

Perintah instalasi adalah sebagai berikut ($ artinya direktori tempat source code disimpan, misalnya root@hiranya: /usr/src/packages/gnuplot-3.7.1 >):
$ ./configure $ make $ make install

Jika gcc terinstal, akan digunakan sebagai default. Jenis kompiler yang lain dapat juga digunakan melalu variabel CC: (Bourne shell atau bsh, atau bash )
$ CC=c89 ./configure

(C shell atau csh)


$ setenv CC c89 $ ./configure

14

File demo gnuplot tidak diinstal secara default. Jika diinginkan, file-file ini harus disalin secara manual ke suatu direktori yang dipilih, misalnya /usr/local/share/docs/gnuplot/demo. Menginstal gnuplot di lingkungan windows dari source code lebih sulit dibandingkan pada lingkungan Linux atau Unix, karena dibutuhkan suatu kompiler yang harus diinstal terlebih dahulu. Program ini harus dibeli di luar basis sistem operasi MSWindows/DOS. Beberapa kompiler yang bisa dipakai untuk menginstal gnuplot di lingkungan MSWindows, meliputi Microsoft C 7.0, Borland C++, Visual C++, MinGW32 (membutuhkan Microsoft SDK), dan Cygwin (membutuhkan Microsoft SDK). Perintahnya tidak akan dijelaskan di sini, karena pada server gnuplot telah tersedia file biner terkompres program ini. File-file tersebut adalah gp37w16.zip (untuk MSWindows 3.1), gp37w32.exe dan gp371w32.zip (untuk MS Windows 9x/nt). Untuk menginstal file ini dapat dilakukan dengan langkah-langkah sebagai berikut: Ekstrak file gp37w16.zip, gp371w32.zip, atau gp37w32.exe (autoextracted) pada direktori Programme (hanya untuk pengelompokan supaya lebih mudah dalam pencarian). Gnuplot akan membuat direktori baru, gp37w16 atau gp37w32 atau gp371w32 yang berisi filefile: wgnuplot.exe atau wgnuplot32.exe, wgnuplot.dll,

wgnuplot.hlp, dan wgnuplot.mnu. Untuk menjalankan gnuplot ini, panggil file wgnuplot.exe atau wgnuplot32.exe dari perintah run. File gnuplot terkompres untuk windows 16 bit (gp37w16.zip) tidak menyertakan file-file demo. Jika file ini diinginkan dapat di ekstrak dari source code lalu dicopy. Jika instalasi dilakukan dengan benar dan gnuplot dijalankan, maka tampilan pembuka gnuplot dapat dilihat seperti berikut ini :
$ gnuplot G N U P L O T Linux version 3.7 patchlevel 1 last modified Fri Oct 22 18:00:00 BST 1999 Copyright(C) 1986 - 1993, 1998, 1999

15

Thomas Williams, Colin Kelley and many others Type help to access the on-line reference manual The gnuplot FAQ is available from http://www.ucc.ie/gnuplot/gnuplot-faq.html Send comments and requests for help to infognuplot@dartmouth.edu Send bugs, suggestions and mods to <bug gnuplot@dartmouth.edu> Terminal type set to x11 gnuplot>

2.3.2 Format Data Pada Gnuplot Gnuplot dapat menghasilkan bermacam-macam grafik dari data yang tertabulasi. Kaidah penting dari organisasi data adalah mekanisme gnuplot yang membaca data tiap baris. Contoh data yang paling sederhana adalah data seri yang terdiri dari koordinat-x dan koordinat-y. Perintah plot <data-filename> akan memplot nilai data seri yang terdapat pada file tersebut. File yang mengandung data harus disimpan dalam bentuk ASCII dengan nama misal fileku.dat. Hal yang penting dalam membuat file ASCII ini adalah data-data berupa angka yang disusun berdasarkan kolom dan di antara kolom satu dengan lainnya dipisahkan satu atau lebih spasi. Data yang dapat dibaca oleh program ini adalah teks atau ASCII dalam bentuk baris dan kolom yang tidak terbatas (tergantung kemampuan komputer untuk mengolahnya). Format file data adalah sebagai berikut:
# contoh file ---> disimpan dengan nama bebas # tanda # tidak dibaca oleh gnuplot, seperti rem pada program basic #

16

Contoh data:
# contoh file fileku.dat # 0 37.76 1 31.30 2 29.33 4 26.65 8 21.65 16 14.68 32 42 7.45 5.48

Hampir semua jenis program spreadsheet seperti Microsoft Excel, StarCalc, Lotus 1-2-3, Quatro, Gnumeric atau spreadsheet yang disediakan oleh program grafik yang lain misalnya Scigraphica, Grapher, Origin, Sigmaplot, SPSS, dsb. dapat dipakai untuk menghasilkan data dalam format ASCII. Caranya yaitu dengan memakai perintah save as pada menu File ke dalam format teks (*.txt) dan dipilih karakter pemisah antar kolomnya. Dalam program spreadsheet biasanya ada 3 pilihan untuk memisahkan data berdasarkan kolom dalam format ini, yaitu spasi, tab dan koma. Gnuplot hanya bisa membaca pemisah kolom berupa spasi dan/atau tab.

2.3.3 Perintah Sederhana Gnuplot Secara default gnuplot akan menset terminal keluaran ke terminal x11 atau windows (monitor). Perintah utama untuk menampilkan grafik pada

17

program ini adalah plot dan splot. Perintah plot digunakan untuk memplot grafik dua dimensi, sedangkan perintah splot untuk memplot grafik tiga dimensi. Mari kita lihat contoh perintah berikut ini.
gnuplot> plot [-pi:pi*2] sin(x) gnuplot> plot f(x) = sin(x*a), a = .2, f(x), a = .4, f(x) gnuplot> plot [t=1:10] [-pi:pi*2] tan(t)

Selain untuk memplot fungsi matematis di atas, dengan perintah sederhana dapat diplot suatu data numerik. Sebagai contoh, membuat diagram balok dari sebuah penelitian terhadap pertumbuhan rumput laut Gracilaria sp., Sargassum sp. dan Caulerpa sp. File data hasil penelitian adalah sebagai berikut:
0 3 6 3 6 8 2 4 7 2 5 8

9 10 11 12

Data tersebut disimpan dalam file gambarku.dat. Bila kita ingin menampilkan grafik ini ke suatu terminal keluaran yang ditentukan dapat dilakukan dengan menggunakan perintah plot (lihat contoh berikut): Contoh: gnuplot> plot "gambarku.dat" using 1:2 with boxes Adapun hasil dari perintah ini adalah seperti pada gambar di bawah ini.

Gambar 2.3 Contoh Hasil Pemplotan Tengan Tipe Boxes

18

Dari file gambarku.dat dapat dimodifikasi beberapa macam grafik dan itu berasal dari beberapa perintah tentunya seperti contoh di bawah ini :
gnuplot> plot "gambarku.dat" using 1:2 with lines gnuplot> plot "gambarku.dat" using 1:2 with linespoints

gnuplot> plot "gambarku.dat" using 1:2 with points Selain memplot dengan cara pemanggilan file seperti di atas, gnuplot dapat juga memplot data yang dimasukkan secara interaktif, misalnya jika kita akan memplot data di atas untuk kolom 1:2 perintahnya adalah sebagai berikut:

Gambar 2.4 Contoh Hasil Pemplotan Dengan Tipe Tines

Gambar 2.5 Contoh Hasil Pemplotan Dengan Tipe Linespoints

19

Gambar 2.5 Contoh Hasil Pemplotan Dengan Tipe Toints


gnuplot> plot "-" with lines 0 3 3 6 6 8 9 10 <CTRL-D>

Dari contoh grafik di atas masih terdapat beberapa kekurangan, misalnya: Legenda masih default dari program gnuplot Keterangan sumbu X dan Y belum diset Ukuran grafik masih ditampilkan secara default

2.3.4 Menyimpan Tampilan Grafik Dalam Format Lain Apabila dari tampilan grafik yang dihasilkan akan digunakan untuk melengkapi suatu tulisan atau tujuan lainnya, tentunya tampilan grafik tersebut harus dapat disimpan dalam format grafik tertentu tergantung keperluan. Gnuplot menyediakan bermacam-macam terminal keluaran yang bisa digunakan untuk menyimpan file dalam format grafik, misalnya postscript, cgm, hpgl, cdw, gif, png, pnm, TeX, dan sebagainya. Jika suatu gambar akan digabungkan ke dalam teks atau gambar dengan kualitas cetak tinggi, format keluaran jenis postscript atau TEX sangat bagus digunakan. Perintah untuk menampilkan file dalam format lain adalah set terminal dan set output. Sebagai contoh untuk keluaran jenis postscript, perintahnya adalah sebagai berikut:
gnuplot> set term postscript landscape color "Roman" 12

20

gnuplot> set output "gambarku.ps" gnuplot> plot "gambarku.dat" using 1:2 with lines

Jika perintah ini dijalankan maka di layar monitor tidak akan ada tampilan apa-apa. Namun untuk melihat hasil tampilan tersebut, diperlukan sebuah program yang dapat menampilkan file postscript (*.ps). Di lingkungan Linux terdapat beberapa program yang dapat menampilkan jenis file ini, contohnya adalah PS Viewer (KDE), ghostview, sedangkan di lingkungan MS Windows ada Aladin GSView. Penjelasan dari perintah-perintah di atas adalah sebagai berikut : Set term postscript digunakan untuk menentukan tampilan grafik yang akan disimpan dalam file postscript. Landscape atau portrait digunakan untuk menentukan bentuk tampilan dalam landscape atau portrait. Color digunakan untuk menentukan tampilan grafik dalam bentuk berwarna (default monochrom). "Roman" atau "Helvetica" digunakan untuk menentukan jenis huruf dari tulisan yang akan digunakan. Angka 12 menyatakan nilai besar-kecil huruf dari tulisan yang akan digunakan. Set output digunakan untuk memberikan nama file yang diinginkan.

Di samping sebagai file postscript yang bisa digabung dengan teks pada program pengolah teks seperti LATEX, Lyx atau program pengolah gambar seperti Xfig, Gimp, Tgif, gnuplot dapat juga menghasilkan keluaran dalam format yang lain tergantung dari terminal yang dipilih. Misalnya untuk keperluan website, gnuplot bisa menghasilkan format PNG (Portable Network Graphics) atau GIF (Compuserve Graphics Interchange Format). Sebetulnya bisa juga dalam bentuk JPEG, tetapi untuk grafik jenis vektor, format ini tidak bagus karena data yang hilang ketika dilakukan kompresi saat penyimpanan. Untuk melihat macam-macam terminal yang disediakan oleh gnuplot dapat dilakukan dengan perintah berikut ini (keluarannya diambil beberapa contoh) :
gnuplot> set term Available terminal types:

21

unknown table linux xlib x11 X11 aifm cgm corel fig postscript tgif

Unknown terminal type - not a plotting device Dump ASCII table of X Y [Z] values to output Linux PC with (s)vgalib X11 Window System (gnulib_x11 dump) X11 Window System X11 Window System (identical to x11) Adobe Illustrator 3.0 Format Computer Graphics Metafile EPS format for CorelDRAW FIG 3.1 graphics language: X graphics editor PostScript graphics language [mode "fontname" font_size] TGIF X11 [mode] [x,y] [dashed] ["font" [fontsize]]

22

BAB III HASIL PRAKTIKUM


Dalam menjalankan simulasi ns-2, semua jenis-jenis file (tcl,awk dll) yang akan digunakan dalam proses simulasi dapat diletakan pada folder cygwin : C:// cygwin/home/user. 3.1 Scrip Simulasi NS2 #Membuat sebuah objek simulator
set ns [new Simulator]

#Mendefinisikan warna berbeda untuk aliran data (untuk NAM)


$ns color 1 blue $ns color 2 red

#Buka file trace NAM


set nf [open out.nam w] $ns namtrace-all $nf

#Buka file trace TraceFile


set trFile [open out.tr w] $ns trace-all $trFile

#Mendefinisikan Prosedur 'finish'


proc finish {} { global ns nf $ns flush-trace #Close the NAM trace file close $nf #Execute NAM on the trace file exec nam out.nam & exit 0 }

#Membuat enam buah node


set n0 [$ns node] set n1 [$ns node] set n2 [$ns node]

23

set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]

#Membuat penghubung (link) antara node-node


$ns duplex-link $n0 $n2 4Mb 10ms DropTail $ns duplex-link $n1 $n2 4Mb 10ms DropTail $ns duplex-link $n2 $n3 2Mb 20ms DropTail $ns duplex-link $n4 $n3 4Mb 10ms DropTail $ns duplex-link $n5 $n3 4Mb 10ms DropTail

#Mengeset ukuran antrian dari link (n2-n3) menjadi 10


$ns queue-limit $n2 $n3 10

#Memberikan posisi node (untuk NAM) $ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down

#Monitor antrian untk link (n2-n3). (untuk NAM)


$ns duplex-link-op $n2 $n3 queuePos 0.5

#Mengatur sebuah koneksi TCP


set tcp [new Agent/TCP] $tcp set class_ 2 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink $tcp set fid_ 1

#Mengatur FTP melalui koneksi TCP


set ftp [new Application/FTP] $ftp attach-agent $tcp $ftp set type_ FTP

24

# Mengatur sebuah koneksi UDP


set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n5 $null $ns connect $udp $null $udp set fid_ 2

#Mengatur CBR melalui koneksi UDP


set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 1mb $cbr set random_ false

#Jadwal event untuk CBR dan FTP agents


$ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 4.0 "$ftp stop" $ns at 4.5 "$cbr stop"

#Memanggil prosedur finish setelah 5 detik dari waktu simulasi


$ns at 5.0 "finish"

#Mencetak Ukuran paket dan interval CBR


puts "CBR packet size = [$cbr set packet_size_]" puts "CBR interval = [$cbr set interval_]"

#Menjalankan simulasi
$ns run

Penjelasan Source Code


set ns [new Simulator]

25

Pada proses ini kita akan membuat sebuah simulator, dimana pembuatan simulator ini menggunakan sebuah objek simulator yaitu ns.
$ns color 1 blue $ns color 2 red

Untuk proses selanjutnya kita akan menentukan warna dari kedua protocol yang akan kita gunakan. Warna-warna tersebut bisa kita setting dengan warna yang kita inginkan
set nf [open out.nam w] $ns namtrace-all $nf

Pada proses ini kita mensetting code yang kita buat agar bisa dibuka dalam bentuk animasi, animasi tersebut nantinya akan kita buka dengan NAM (network animator).
set trFile [open out.tr w] $ns trace-all $trFile

Pada proses ini kita akan membuat keluaran dari trace file, dimana keluarannya memiliki nama out.tr. Out.tr tersebut berisikan deretan angkaangka dari proses pengiriman data yang telah berlangsung. Out.tr ini digunakan untuk analisa numerik Trace File (out.tr) ini sangat penting, karena proses ini yang akan digunakan untuk menghitung suatu delay, packetloss dan throughput dari suatu pengiriman data. Kejadian yang dicatat dari ns : r : receive + : enqueque - : dequeque D : drop

proc finish {} {

26

global ns nf $ns flush-trace #Close the NAM trace file close $nf #Execute NAM on the trace file exec nam out.nam & exit 0 }

Pada proses ini kita akan membuat prosedur finish, dalam proses ini setelah proses pemprosesan dari semua code yang telah buat, code-code tersebut akan di execute dan disimpan dengan nama out.nam
set n0 [$ns node] set n1 [$ns node] set n2 [$ns node] set n3 [$ns node] set n4 [$ns node] set n5 [$ns node]

Pada proses ini kita akan membuat node-node dari simulasi yang akan kita buat.
$ns duplex-link $n0 $n2 4Mb 10ms DropTail $ns duplex-link $n1 $n2 4Mb 10ms DropTail $ns duplex-link $n2 $n3 2Mb 20ms DropTail $ns duplex-link $n4 $n3 4Mb 10ms DropTail $ns duplex-link $n5 $n3 4Mb 10ms DropTail

Pada proses ini kita akan membuat link, dimana link ini berfungsi untuk menghubungkan node-node yang telah kita buat tadi.
$ns duplex-link $n0 $n2 4Mb 10ms DropTail

Duplex : suatu metode yang digunakan dalam aliran komunikasi $n0 $n2 : node yang akan dihubungkan 4 mb : bandwidth yang dimiliki dalam link tersebut 10ms : Delay antara n0 dan n2 Drop Tail : Jenis antrian yang digunakan

27

Berikut ini merupakan hasil dari node-node yang telah dihubungkan. Dimana pada setiap link sudah memiliki bandwidth dan delay yang sudah di tentukan.
$ns queue-limit $n2 $n3 10

Pada proses ini kita akan mengeset antrian pada node 2 ke node 3. Jika makin kecil antrian yang kita set maka packetloss data akan banyak terjadi.
$ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right $ns duplex-link-op $n3 $n4 orient right-up $ns duplex-link-op $n3 $n5 orient right-down

Pada proses ini kita akan mengatur posisi node yang akan kita buat.
set tcp [new Agent/TCP] $tcp set class_ 2 $ns attach-agent $n0 $tcp set sink [new Agent/TCPSink] $ns attach-agent $n4 $sink $ns connect $tcp $sink $tcp set fid_ 1

Pada proses ini kita akan mengatur protocol TCP. Simulasi TCP menggunakan koneksi One way. TCP dilakukan dengan menggunakan 2 agents yang berpasangan, yaitu TCP sender, dan TCP Sink. TCP Sender berfungsi untuk mengirim packet data sedangkan TCP Sink untuk menerima packet data tersebut Dalam code diatas kita mengeset node n0 sebagai TCP Agent / Sender dan node n4 kita set sebagai TCP Sink. Dan protocol TCP menggunakan warna biru dalam transmisi network animatornya.
set ftp [new Application/FTP]

28

$ftp attach-agent $tcp $ftp set type_ FTP

Pada proses ini kita akan menyetting protocol FTP, dimana protocol FTP ini bergerak pada protocol TCP
set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n5 $null $ns connect $udp $null $udp set fid_ 2

Pada proses ini kita akan mengatur protocol UDP. Koneksi dengan
menggunakan UDP pada NS2 dilakukan dengan menggunakan agent UDP sebagai pengirim dan agent Null sebagai penerima.

UDP Agent berfungsi untuk mengirim data diagram sedangkan UDP Null untuk menerima data diagram Dalam code diatas kita menyetting node n1 sebagai UDP Agent dan node n5 sebagai UDP Null. Dan protocol UDP menggunakan warna merah dalam transmisi network animatornya.
set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp $cbr set type_ CBR $cbr set packet_size_ 1000 $cbr set rate_ 1mb $cbr set random_ false

Pada proses diatas kita akan mengatur Object Generator Trafiic CBR. Dimana CBR ini akan bergerak pada protocol UDP. Pada traffic CBR ini akan mengirim packet sebesar 1000 byte dan besar rate pengiriman 1mb
$ns at 0.1 "$cbr start" $ns at 1.0 "$ftp start" $ns at 4.0 "$ftp stop" $ns at 4.5 "$cbr stop"

29

Pada proses ini kita mengatur jadwal event atau proses dari protocol TCP dan UDP.
$ns at 5.0 "finish"

Pada proses diatas kita akan mengatur prosedur finish setelah 5 detik dari waktu simulasi
puts "CBR packet size = [$cbr set packet_size_]" puts "CBR interval = [$cbr set interval_]"

Pada proses ini kita akan menampilkan packet size dan CBR interval pada layar ns 2 setelah simulasi dijalankan. Perintah puts () sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar
$ns run

Proses diatas adalah perintah untuk menjalankan scrip simulasi yang telah kita buat. Jika proses ini tidak berikan makan proses tidak bisa berjalan.

Proses Menjalankan Simulasi 1. Script simulasi yang tertera diatas tersebut bisa dibuat dengan menggunakan program aplikasi notepad++ 2. Setelah script selesai dibuat simpan script tersebut kedalam folder C//: Cygwin/home/user dengan format tcl (namafile.tcl)

Gambar 3.1 Scrip Masuk Ke Terminal Dengan Cygwin 3. Selanjutnya buka terminal cygwin untuk menjalankan aplikasi ns 2 (jika belum terinstall, bisa di install terlebih dahulu) startx untuk menjalankan. dan ketikan perintah

30

4. Setelah mengetikan perintah tersebut, aplikasi ns-2 akan berjalan. Untuk menjalankan script simulasi yang telah kita buat tadi gunakan perintah : ns namafile.tcl

Gambar 3.2 Memanggil File simulasi.tcl 5. Setelah perintah tersebut dioperasikan maka akan keluar tampilan NAM, dimana tampilan tersebut akan menampilkan network animator dari script yang telah kita buat.

Gambar 3.3 Simulasi Dengan Nam 6. Setalah keluar tampilan NAM seperti gambar diatas, script tersebut bisa dijalankan dengan menggunakan tombol play pada bagian atas dari NAM

31

Gambar 3.4 Alur Simulasi 7. Pada gambar diatas merupakan hasil dari script yang telah dijalankan

3.2 Delay End To End Berikut Scrip untuk menentukan delay end to end dari dua percobaan yang telah kami lakukan :
BEGIN { highest_packet_id=0; } { action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12;

32

if ( packet_id > highest_packet_id ) highest_packet_id = packet_id; if ( start_time[packet_id] == 0 ) start_time[packet_id] = time; if ( flow_id == 2 && action != "d" ) { if( action == "r" ) { end_time[packet_id] = time; } else { end_time[packet_id] = -1; } } } END { for(packet_id=0; packet_id < highest_packet_id; packet_id++) { start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end-start; if( start < end ) { printf("%f %f\n",start, packet_duration); } } }

33

3.2.1 Penjelasan Scrip Untuk dapat memahami scrip awal dari scrip untuk menentukan delay end to end, kita harus memahami Trace Format dari hasil output dari pengujian yang berupa out.tr. Brikut penjelasan Trace Format :

Gambar 3.5 Trace Format


action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12;

Dari scrip di atas dapat dilihat bahwa setiap Trace Format didefinisikan dengan $1, $2 dan seterusnya. Dimana secara lebih jelas dapat diartikan bahwa action =
$1;

merupakan definisi karakter terdepan dari data out.tr yang dapat berupa r, +, 34

, dan d. Untuk $2 merupakan karakter ke dua dari data out.tr begitu seterusnya sampai $12.
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id; if ( start_time[packet_id] == 0 ) start_time[packet_id] = time; if ( flow_id == 2 && action != "d" ) { if( action == "r" ) { end_time[packet_id] = time; } else { end_time[packet_id] = -1; } } }

Scrip di atas merupakan pengkondisian yang nantinya akan mempengaruhi untuk menentukan start, end dan packet_duration. Misal dalam kasus data out.tr berikut : r 4.04264 3 4 tcp 1040 ------- 1 0.0 4.0 273 1038 Kondisi 1 :
if ( packet_id > highest_packet_id ) highest_packet_id = packet_id;

if ( 1038 > 0 ) highest_packet_id = 1038;

Jadi kini highest_packet_id bernilai 1038. Kondisi 2 :


if ( start_time[packet_id] == 0 ) start_time[packet_id] = time;

if ( start_time[packet_id] == 0 ) start_time[packet_id] = time;

Karena pada kasus di atas data oacket_id tidak memenuhi syarat maka start_time packet_id nilainya tidak berubah. Kondisi 3 :

35

if ( flow_id == 2 && action != "d" ) { if( action == "r" ) { end_time[packet_id] = time; } else { end_time[packet_id] = -1; } }

Untuk kondisi ketiga flow_id pada kasus bernilai 1, maka ia tidak sesuai dengan konsisi di atas sehingga sesuai scrip else maka end_time packet_id bernilai -1. Kondisi Keempat :
END { for(packet_id=0; packet_id < highest_packet_id; packet_id++) { start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end-start; if( start < end ) { printf("%f %f\n",start, packet_duration); } } }

Scrip di atas merupakan perulangan yang nantinya akan menghasilkan output berupa variable start, dan packet_duration. Dengan ketentuan :
start = start_time[packet_id]; end = end_time[packet_id]; packet_duration = end-start;

Sehinggan jika nantinya di ekseskusi dengan menggunakan perintah : %awk -f delay.awk out.tr > delay.txt

36

Hasil dari perintah diatas akan menghasilkan data yang tersimpan dalam format .txt, dimana isinya adalah sebagai berikut (hanya sebagia data yang ditampilkan) : 0.468000 0.048000 0.476000 0.048000 0.484000 0.048000

3.3 Packet Lost Di bawah ini merupakan scrip yang digunakan untuk mengetahui loss secara global dari simulasi yang kami lakukan :
BEGIN { fsDropsTCP = 0; numFsTCP = 0; fsDropsUDP = 0; numFsUDP = 0; { action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12; if ( from == 0 && to == 2 && action == "+" ) { numFsTCP++; } if ( flow_id == 1 && action == "d" ) }

37

{ fsDropsTCP++; } if ( from == 1 && to == 2 && action == "+" ) { numFsUDP++; } if ( flow_id == 2 && action == "d" ) { fsDropsUDP++; } } END{ a = numFsTCP + numFsUDP; b = fsDropsTCP + fsDropsUDP; printf("number of packets sent TCP:%d lost TCP:%d\n",numFsTCP, fsDropsTCP); printf("number of packets sent UDP :%d lost UDP :%d\n",numFsUDP, fsDropsUDP); printf("number of packets sent Total :%d lost Total:%d\n",a, b); }

3.3.1 Penjelasan Scrip Sama seperti saat membuat scrip delay, yang harus dipahami terlebih dahulu adalah Trace Format yang merupakan hasil output dari pengujian yang berupa out.tr. Brikut penjelasan Trace Format :

38

Gambar 3.6 Trace Format


action = $1; time = $2; from = $3; to = $4; type = $5; pktsize = $6; flow_id = $8; src = $9; dst = $10; seq_no = $11; packet_id = $12;

Dari scrip di atas dapat dilihat bahwa setiap Trace Format didefinisikan dengan $1, $2 dan seterusnya. Dimana secara lebih jelas dapat diartikan bahwa action =
$1;

merupakan definisi karakter terdepan dari data out.tr yang dapat berupa r, +, -

, dan d. Untuk $2 merupakan karakter ke dua dari data out.tr begitu seterusnya sampai $12.

Kondisi 1 :
if ( from == 0 && to == 2 && action == "+" ) { numFsTCP++; }

Untuk from == 0 dapat diartikan sebagai node awal datangnya data yaitu dari node 1. to == 2 merupakan node tujuan dari node 1. action == "+"

39

merupakan karakter terdepan dari hasil out.tr. Jika ketiga variable tersebut memenuhi syarat maka { numFsTCP++; } atau sent akan terus bertambah, sesuai dengan data sent yang dikirim dalam simulasi ini. Begitu juga berlaku aturan yang sama untuk UDP.

Kondisi 2 :
if ( flow_id == 1 && action == "d" ) { fsDropsTCP++; }

Untuk konisi kedua ini ketika data dari out.tr ada yang bernilai seperti kententuan
( flow_id == 2 && action == "d" ),

d Drop maka { fsDropsTCP++; } ,

dengan kata lain paket lost akan terdapat pada simulasi ini dan akan terus bertambah jika bertemu dengan data yang sesuai dengan kondisi diatas. Begitu juga berlaku aturan yang sama untuk UDP.
a = numFsTCP + numFsUDP; b = fsDropsTCP + fsDropsUDP; printf("number of packets sent TCP:%d lost TCP:%d\n",numFsTCP, fsDropsTCP); printf("number of packets sent UDP :%d lost UDP :%d\n",numFsUDP, fsDropsUDP); printf("number of packets sent Total :%d lost Total:%d\n",a, b);

Scrip di atas merupakan scrip yang digunakan untuk menampilkan output dari packet lost dan sent, dimana paket lost didefinisikan dengan fsDropsTCP dan yang dikirim didefinisikan dengan numFsTCP. Begitu juga berlaku aturan yang sama untuk UDP dan total. Untk mengeksekusi Packet Lost kita gunakan perintah : %awk -f packetlost.awk out.tr Sehingga akan menampilkan output seperti berkut :
number of packets sent TCP:639 lost TCP:0 number of packets sent UDP :550 lost UDP :0 number of packets sent Total :1189 lost Total:0

40

3.3 Troughput Berikut adalah scrip untuk menentukan troughput :


BEGIN { # TCP for (i in send) { send[i] = 0 } for (i in recv) { recv[i] = 0 } tx = 649 drop = 0 pkt_loss = 0 pkt_rcvd = 0 time_obsrv = 15 # UDP for (z in send) { send1[z] = 0 } for (z in recv) { recv1[z] = 0 } tz = 550 drop1 = 0 pkt_loss1 = 0 pkt_rcvd1 = 0 time_obsrv1 = 15 } { # Trace line format: normal if ($2 != "-t") { event = $1 time = $2 node_id_s = $3 node_id_d = $4

41

pkt_type = $5 pkt_size = $6 pkt_attrib = $7 pkt_id = $12 } # Trace line format: new #if ($2 == "-t") { # # # # # #} # Store packets sent tcp if (event == "+" && node_id_s == "0" && pkt_type == "tcp") { send[pkt_id] = 1 #printf("send[%g] = 1\n",pkt_id) } # Store packets arrival time tcp if (event == "r" && node_id_d == "9" && pkt_type == "tcp") { recv[pkt_id] = 1 #printf("\t\trecv[%g] = 1\n",pkt_id) } # Store packets sent udp if (event == "+" && node_id_s == "0" && pkt_type == "udp") { send[pkt_id] = 2 #printf("send[%g] = 2\n",pkt_id) } # Store packets arrival time udp if (event == "r" && node_id_d == "9" && pkt_type == "udp") { recv[pkt_id] = 2 #printf("\t\trecv[%g] = 2\n",pkt_id) } event = $1 time = $3 node_id = $5 flow_id = $39 pkt_id = $41

42

} END { #printf("%10g ",flow) for (i in send) { if (send[i] == 1) { tx if (recv[i] == 0) { drop #printf("pkt %g not recvd\n",i) } } } if (tx != 0) { pkt_loss = drop / tx pkt_rcvd = tx - drop } else { pkt_loss = 0 } for (z in send1) { if (send1[z] == 2) { tz if (recv1[z] == 0) { drop1 #printf("pkt %g not recvd\n",z) } } } if (tz != 0) { pkt_loss1 = drop1 / tz pkt_rcvd1 = tz - drop1 } else { pkt_loss1 = 0 } c=tx+tz; a=pkt_rcvd+pkt_rcvd1; b=(pkt_rcvd/time_obsrv) + (pkt_rcvd1/time_obsrv1);

43

d=b*5.6;

print("") print("Packet sent TCP print("==> Throughput print(" data TCP = = ",tx) = print("Packet success received TCP = ",pkt_rcvd) ",pkt_rcvd/time_obsrv,"packets/s" ) ",(pkt_rcvd/time_obsrv)*(8/1000)*700,"kbps" ) print("Packet sent UDP print("Packet success received UDP print("==> Throughput print(" data UDP = ",pkt_rcvd1/time_obsrv1,"packets/s" ) ",(pkt_rcvd1/time_obsrv1)*(8/1000)*700,"kbps" ) print("Packet sent Total print("Packet success received Total print("==> Throughput ) print(" = ",d,"kbps" ) } data Total = ",c) = ",a) = ",b,"packets/s" = ",tz) = ",pkt_rcvd1) =

3.3.1 Penjelasa Scrip


# TCP for (i in send) { send[i] = 0 } for (i in recv) { recv[i] = 0 } tx = 649 drop = 0 pkt_loss = 0 pkt_rcvd = 0 time_obsrv = 15

44

Pada proses diatas merupakan inputan throughput dari protocol tcp,proses ini harus diinputkan secara manual dimana data inputannya berasal dari AWK packet loss Tx = packet yang telah dikirim pada saat transmisi, Drop & pkt_loss = packet yang loss pada saat proses transmisi berlangsung, pkt_rcvd = merupakan total packet yang telah diterima pada saat transmisi. Untuk proses scrip diatas juga berlaku dengan proses transmisi data pada UDP.
event = $1 time = $2 node_id_s = $3 node_id_d = $4 pkt_type = $5 pkt_size = $6 pkt_attrib = $7 pkt_id = $12

Pada proses diatas merupakan proses inisialisasi dari trace file, trace file ini di dapatkan pada saat proses simulasi data telah di proses.
if (event == "+" && node_id_s == "0" && pkt_type == "tcp") { send[pkt_id] = 1 #printf("send[%g] = 1\n",pkt_id) }

Proses diatas merupakan proses untuk menghitung total packet yang telah di kirim pada tcp (packet send).
if (event == "r" && node_id_d == "9" && pkt_type == "tcp") { recv[pkt_id] = 1 #printf("\t\trecv[%g] = 1\n",pkt_id)

Proses diatas merupakan proses untuk menghitung total packet yang telah diterima pada tcp sink (packet received) Untuk proses UDP memiliki fungsi yang sama, yang membedakanya terletak pada flow diagramnya. TCP =1 dan UDP = 2

45

#printf("%10g ",flow) for (i in send) { if (send[i] == 1) { tx if (recv[i] == 0) { drop #printf("pkt %g not recvd\n",i) } } } if (tx != 0) { pkt_loss = drop / tx pkt_rcvd = tx - drop } else { pkt_loss = 0

Pada proses diatas merupakan proses untuk menentukan kondisi dari proses inputan. Jika masukan bernilai 1 maka proses send yang berjalan,
if (send[i] == 1) { tx

Jika bernilai 0 maka proses received yang akan berjalan.


if (recv[i] == 0) { drop

Jika paket yang dikirim tidak 0, maka akan melakukan proses berikut ini. Dimana proses ini akan menentukan jumlah packet loss dan packet received.
if (tx != 0) { pkt_loss = drop / tx pkt_rcvd = tx - drop } else { pkt_loss = 0 c=tx+tz; a=pkt_rcvd+pkt_rcvd1; b=(pkt_rcvd/time_obsrv) + (pkt_rcvd1/time_obsrv1); d=b*5.6;

Pada proses diatas adalah proses untuk menentukan jumlah total dari throughtput. C = punjumlahan paket yang dikirim dari UDP dan TCP

46

A = penjumlahan paket received dari UDP dan TCP B = penjumlahan paket received dari UDP dan TCP dan dibagi dengan

time_obsry nya D = penjumalhan total untuk menentukan berapa kbps yang digunakan saat pengiriman
print("Packet sent Total print("Packet success received Total print("==> Throughput ) print(" = ",d,"kbps" data Total = ",c) = ",a) = ",b,"packets/s"

Pada proses diatas merupakan proses untuk mencetak hasil dari hasil pemrosesan. 3.4 Percobaan Pertama Dalam percobaan pertama ada beberapa ketentuan yaitu link n2-n3 memiliki 2 mb / 20 ms. Untuk script simulasinya masih menggunakan script yang telah dijelaskan diatas, tetapi memiliki perubahan pada bagian proses pembuatan link untuk menghubungkan tiap node. Scriptnya akan menjadi :
$ns duplex-link $n0 $n2 4Mb 10ms DropTail $ns duplex-link $n1 $n2 4Mb 10ms DropTail $ns duplex-link $n2 $n3 2Mb 20ms DropTail $ns duplex-link $n4 $n3 4Mb 10ms DropTail $ns duplex-link $n5 $n3 4Mb 10ms DropTail

a. Proses Menghitung Delay End To End Untuk proses menghitung delaynya menggunakan script AWK delay yang telah dijelaskan diatas. Untuk menjalankan script AWK delay tersebut dapat dilakukan dengan langkah sebagai berikut : 1. Jalankan script simulasi untuk menghasilkan output trace filenya (out.tr). Untuk menjalankan script : ns namafile.tcl. Untuk melihat hasilnya file out.tr dapat dibuka dengan notepad++. Hasilnya sebagai berikut :

47

Gambar 3.7 Hasil out.tr Gambar di atas merupakan hasil out.tr, jika di cek sebenarnya hasilnya sangat banyak sekali kira-kira 16000 trace 2. Selanjutnya jalankan script AWK delay pada layar ns-2 menggunakan perintah : awk f namafile.awk out.tr. Setelah menjalankan script

AWK delay tersebut akan menghasilkan hasil sebagai berikut :

Gambar 3.8 Hasil Dari Delay End To End n0-n4 Dan n1-n5.

3. Untuk lebih jelasnya melihat delay tersebut, dapat di konversikan ke dalam bentuk txt, dengan perintah : awk f namafile.awk out.tr > namafile.txt

48

4. Setelah sampai ke tahap 3, proses perhitungan delay sebenarnya telah selesai, tetapi jika ingin menampilkannya dalam bentuk grafik, bisa menggunakan aplikasi gnuplot atau xgraph. Jika belum terinstall aplikasi tersebut, bisa dinstall terlebih dahulu 5. Dalam menampilkan grafik kita disini menggunakan aplikasi gnuplot, untuk proses sinkronisasinya dilakukan dengan cara : a. Ubahlah hasil delay kedalam format plt : awk f namafile.awk out.tr > namafile.plt b. Selanjunya buka aplikasi gnuplot, untuk menampilkan grafik gunakan cara : gnuplot > plot namafile.plt

Gambar 3.9 Perintah Gnuplot c. Setelah menjalankan perintah tersebut maka akan keluar hasil sebagai berikut :

Gambar 3.10 Hasil Dari Delay End To End n0-n4 dan n1-n5 pada Gnuplot

49

b. Perhitungan Loss Data Saat Transmisi Untuk proses menghitung loss data menggunakan script AWK Packet Loss yang telah dijelaskan diatas. Untuk menjalankan script AWK Packet Loss tersebut dapat dilakukan dengan langkah sebagai berikut : 1. Jalankan script simulasi untuk menghasilkan output trace filenya (out.tr). Untuk menjalankan script : ns namafile.tcl. Untuk melihat hasilnya file out.tr dapat dibuka dengan notepad++. Hasilnya sebagai berikut :

Gambar 3.11 Hasil out.tr 2. Selanjutnya untuk manampilkan packet loss secara detail, kita gunakan Scrip.awt, dimana untuk mehasilkan outputnya kita ketikkan perintah : %awt -f namafile.awt out.tr Yang akan menghasilkan output seperti screen shoot di bawah :

Gambar 3.12 Hasil Lost Simulasi 1

c. Perhitungan Throughput Dalam proses penghitungan troughput kita gunakan scrip AWK Thourghput. Dalam proses ini kita harus inputkan data secara manual. Hal yang dilakukan adalah :

50

1. Buka script AWK Troughput dengan aplikasi notepad ++ agar kita bisa melihat script AWK Troughput 2. Selanjutnya inputkan hasil yang kita peroleh pada saat pengujian packet loss kedalam script troughput

Gambar 3.13 Scrip Troughput

Dari script diatas yang diinputkan pada bagian tx, drop, packet loss packet drop dan loss diisikan jika terjadi loss pada saat pengujian loss data. 3. Selanjutnya setelah selesai menginputkan data simpan file tersebut dengan format awk. 4. Selanjutnya buka aplikasi ns-2 dan ketikan perintah : awk f namafile.awk out.tr 5. Setelah script dijalankan, maka hasil yang dihasilkan dapat dilihat pada gambar berikut.

Gambar 3.14 Hasil Troughput Simulasi 1

51

3.5 Percobaan Kedua Dalam percobaan kedua ada beberapa ketentuan yaitu link n2-n3 memiliki 10mb / 20 ms. Untuk script simulasinya masih menggunakan script yang telah dijelaskan diatas, tetapi memiliki perubahan pada bagian proses pembuatan link untuk menghubungkan tiap node. Scriptnya akan menjadi :
$ns duplex-link $n0 $n2 4Mb 10ms DropTail $ns duplex-link $n1 $n2 4Mb 10ms DropTail $ns duplex-link $n2 $n3 2Mb 20ms DropTail ==> $ns duplexlink $n2 $n3 10Mb 20ms DropTail $ns duplex-link $n4 $n3 4Mb 10ms DropTail $ns duplex-link $n5 $n3 4Mb 10ms DropTail

a. Proses Menghitung Delay End To End Untuk proses menghitung delaynya menggunakan script AWK delay yang telah dijelaskan diatas. Untuk menjalankan script AWK delay tersebut dapat dilakukan dengan langkah sebagai berikut : 1. Jalankan script simulasi untuk menghasilkan output trace filenya (out.tr). Untuk menjalankan script : ns namafile.tcl. Untuk melihat hasilnya file out.tr dapat dibuka dengan notepad++. Hasilnya sebagai berikut :

Gambar 3.15 Hasil out.tr Gambar berikut merupakan hasil out.tr, jika di cek sebenarnya hasilnya sangat banyak sekali kira-kira 16000 trace.

52

2. Selanjutnya jalankan script AWK delay pada layar ns-2 menggunakan perintah : awk f namafile.awk out.tr. Setelah menjalankan script

AWK delay tersebut akan menghasilkan hasil sebagai berikut :

Gambar 3.16 Delay End To End n0-n4 dan n1-n5. 3. Untuk lebih jelasnya melihat delay tersebut, dapat di konversikan ke dalam bentuk txt, dengan perintah : awk f namafile.awk out.tr > namafile.txt 4. Setelah sampai ke tahap 3, proses perhitungan delay sebenarnya telah selesai, tetapi jika ingin menampilkannya dalam bentuk grafik, bisa menggunakan aplikasi gnuplot atau xgraph. Jika belum terinstall aplikasi tersebut, bisa dinstall terlebih dahulu 5. Dalam menampilkan grafik kita disini menggunakan aplikasi gnuplot, untuk proses sinkronisasinya dilakukan dengan cara : a. Ubahlah hasil delay kedalam format plt : awk f namafile.awk out.tr > namafile.plt b. Selanjunya buka aplikasi gnuplot, untuk menampilkan grafik gunakan cara : gnuplot > plot namafile.plt

Gambar 3.17 Scrip Gnuplot

53

c. Setelah menjalankan perintah tersebut maka akan keluar hasil sebagai berikut :

Gambar 3.18 Delay End To End n0-n4 dan n1-n5 Pada Gnolput

b. Perhitungan Loss Data Saat Transmisi Untuk proses menghitung loss data menggunakan script AWK Packet Loss yang telah dijelaskan diatas. Untuk menjalankan script AWK Packet Loss tersebut dapat dilakukan dengan langkah sebagai berikut : 1. Jalankan script simulasi untuk menghasilkan output trace filenya (out.tr). Untuk menjalankan script : ns namafile.tcl. Untuk melihat hasilnya file out.tr dapat dibuka dengan notepad++. Hasilnya sebagai berikut :

54

Gambar 3.19 Hasil out. Gambar di atas merupakan hasil out.tr, jika di cek sebenarnya hasilnya sangat banyak sekali kira-kira 16000 trace. 2. Selanjutnya untuk manampilkan packet loss secara detail, kita gunakan Scrip.awt, dimana untuk mehasilkan outputnya kita ketikkan perintah : %awt -f namafile.awt out.tr Yang akan menghasilkan output seperti screen shoot di bawah :

Gambar 3.20 Hasil Lost Simulasi 2

c. Selanjutnya Perhitungan Throughput Dalam proses penghitungan troughput kita gunakan scrip AWK Thourghput. Dalam proses ini kita harus inputkan data secara manual. Hal yang dilakukan adalah : 1. Buka script AWK Troughput dengan aplikasi notepad ++ agar kita bisa melihat script AWK Troughput 2. Selanjutnya inputkan hasil yang kita peroleh pada saat pengujian packet loss kedalam script troughput

55

Gambar 3.21 Scrip Troughput

3. Dari script diatas yang diinputkan pada bagian tx, drop, packet loss packet drop dan loss diisikan jika terjadi loss pada saat pengujian loss data. 4. Selanjutnya setelah selesai menginputkan data simpan file tersebut dengan format awk. 5. Selanjutnya buka aplikasi ns-2 dan ketikan perintah : awk f namafile.awk out.tr 6. Setelah script dijalankan, maka hasil yang dihasilkan dapat dilihat pada gambar berikut.

Gambar 3.22 Hasil dari Troughput Simulasi 2

56

BAB IV PENUTUP

4.1 Kesimpulan Dalam penulisan laporan Jaringan Komputer Lanjut yang bertemakan simulasi jaringan menggunakan NS2, penulis dapat menyimpulkan bahwa : Dalam melakukan Simulasi pertama dengan ketentuan n2 n3 2Mb/ 20 Ms

Delay yang terjadi pada simulasi ini jika dilihat dengan menggunakan Gnuplot, maka delay yang terjadi akan lebih banyak dibandingkan dengan Simulasi kedua dengan ketentuan n2 n3 10Mb/ 20 Ms.

Secara kasap mata, jika di lihat dari simulasi yang digunakan terdapat beberapa paket data yang lost baik dari UDP dan TCP. Selanjutnya jika menggunakan scrip.awk maka akan didapatkan hasil Packets sent TCP : 290 lost TCP : 6 Packets sent UDP :550 lost UDP : 2

Karena dengan ketentuan n2 n3 2Mb/ 20Ms, troughput yang dihasilkan dari simulasi ini akan lebih kecil akibat kecilnya jalur akses data serta banyaknya terjadi lost akibat jalur yang kecil.

Dalam melakukan Simulasi kedua dengan ketentuan n2 n3 10Mb/ 20 Ms

Delay yang terjadi pada simulasi ini jika dilihat dengan menggunakan Gnuplot, maka delay yang terjadi akan lebih rendah dibandingkan dengan Simulasi pertama dengan ketentuan n2 n3 2Mb/ 20 Ms.

Secara kasap mata, jika di lihat dari simulasi yang digunakan tidak terdapat paket data yang lost baik dari UDP dan TCP. Selanjutnya jika menggunakan scrip.awk maka akan didapatkan hasil Packets sent TCP: 639 lost TCP : 0 Packets sent UDP :550 lost UDP :0

Kebalikan dari simulai pertama, troughput yang dihasilkan akan lebih besar karena lebih besarnya jalur lalu lintas data yang diberikan serta minimnya bahkan dapat dikatakan tidak ada lost yang terjadi pada simulasi ini.

57

4.2 Saran Saran yang dapat penulis sampaikan dalam penulisan laporan ini adalah dalam melakukan pemograman menggunakan simulasi NS2, pembaca haruslah benar- benar memahami Trace Format, sehingga dapat mengetahui struktur dari data data yang ada di dalam out.tr. Dengan mengetahui Trace Format pembaca akan lebih udah dalam membuat scrip.awk baik untuk mengetahui delay, troughput, dan lost sesuai dengan simulasi yang dipaparkan pada BAB III.

58

DAFTAR PUSTAKA

Min Chen.Introduction to NS-2. http://mmlab.snu.ac.kr/~mchen/weicai/slides/3analysis.pdf . Diakses pada tanggal 19 Oktober 2012 pukul 18.20 ABe Susanto dan I Wayan Warmada. Open Source Campus Agreement Modul Pelatihan Gnuplot Untuk Orang Lugu .http://lecturer.eepisDiakses pada

its.edu/~reni/modul%20ajar/praktikum%20shell/PrakSh11.pdf. tanggal 20 Oktober 2012 pukul 21.20 Bahasa Pemrograman AWK

.http://reza-09.blogspot.com/ . Diakses pada tanggal 20 Oktober 2012 pukul 23.20

59

Anda mungkin juga menyukai