• Tidak ada hasil yang ditemukan

LANDASAN TEOR

2.8. Simulasi Jaringan

Sebuah simulasi dapat dianggap sebagai suatu proses aliran entitas jaringan, contoh: node dan paket. Ketika entitas tersebut bergerak melalui sistem, mereka berinteraksi dengan entitas lain, bergabung dalam kegiatan tertentu, memicu peristiwa, menyebabkan beberapa perubahan keadaan pada sistem, dan meninggalkan proses. Sebuah urutan eksekusi memainkan peran penting dalam mengawasi simulasi dan kadang-kadang digunakan untuk mencirikan jenis simulasi.

Simulasi jaringan pada komunikasi dan penilitian jaringan komputer adalah sebuah teknik dimana sebuah program memperagakan perilaku jaringan baik dengan menghitung interaksi antara entitas jaringan yang berbeda (host/router, link data, paket, dll) dengan menggunakan rumus

29

matematika, atau sebenarnya menangkap dan memutar kembali pengamatan dari produksi jaringan.

Keuntungan utama dari simulasi jaringan adalah simulasi yang dilakukan tidak menyebabkan permasalahan atau bahkan membahayakan jaringan yang sesungguhnya atau setidaknya membutuhkan inisialisasi baru pada model elemen dan traffic. Oleh karena itu perilaku jraingan dan berbagai aplikasi dan layanan yang mendukung dapat diamati secara leluasa di laboratorium penguji; berbagai atribut lingkungan juga dapat dimodifikasi dengan cara yang terkontrol untuk menilai bagaimana jaringan akan berperilaku dibawah kondisi yang berbeda. (Braun and Staub, 2008, p.186) a) Faktor-faktor Simulasi

Komponen struktural simulasi menurut Teerawat dan Hossain (2009, p.7) terdiri dari:

i. Entities/Entitas

Entitas adalah obyek yang berinteraksi satu sama lain dalam sebuah program simulasi untuk membuat beberapa perubahan pada keadaan dari sistem. Entitas disini termasuk node komputer, paket, aliran paket, atau obyek non-fisik seperti jam simulasi. Untuk membedakan entitas yang berbeda, atribut yang unik ditugaskan untuk masing-masing entitas.

ii. Resources

Sumber daya merupakan bagian dari sistem yang kompleks. Secara umum, persediaan sumber daya yang terbatas harus dibagi

30

diantara kumpulan entitas tertentu. Hal ini biasanya terjadi untuk jaringan komputer, dimana bandwidth, air time, jumlah server, misalnya, mewakili sumber daya jaringan yang harus dibagi diantara entitas jaringan.

iii. Activities and Events

Dari waktu ke waktu, entitas terlibat dalam beberapa aktivitas yang menciptakan peristiwa dan memicu perubahan dalam keadaan sistem. Contoh aktivitas meliputi delay dan queueing. Ketika komputer butuh untuk mengirimkan paket tetapi menemukan medium sedang sibuk, maka harus menunggu sampai medium bebas. Dalam hal ini, paket yang akan dikirim melalui udara tapi medium sibuk, paket dikatakan terlibat dalam aktivitas menunggu.

iv. Scheduler

Scheduler memelihara daftar kejadian dan waktu eksekusinya. Selama simulasi, scheduler menjalankan waktu simulasi menciptakan peristiwa, dan mengeksekusinya.

v. Global Varieties

Dalam simulasi, variabel global dapat diakses oleh fungsi atau entitas apa saja dalam sistem, dan pada dasarnya melacak beberapa nilai umum simulasi tersebut. Variabel tersebut mungkin mewakili, misalnya, panjang dari antrian paket dalam jaringan server tunggal,

31

total air time sibuk dari jaringan nirkabel, atau jumlah paket yang ditransmisikan.

vi. Random Number Generator (RNG)

Sebuah RNG diperlukan untuk memperkenalkan keacakan dalam model simulasi. Nomor acak dihasilkan oleh pengambil nomor secara berurutan dari urutan deterministik nomor pseudo-random, namun nomor diambil dari urutan ini secara acak. Dalam pelaksanaannya, RNG diinisialisasi dengan seed. Seed mengidentifikasi lokasi awal dalam urutan pseudo-random, dimana sebuah RNG mulai memilih angka. Simulasi berbeda diinisialisasi dengan seed yang berbeda ehingga menghasilkan hasil yang berbeda (tapi secara statistik identik). Dalam simulasi jaringan komputer, misalnya, proses kedatangan paket, proses menunggu, dan proses layanan biasanya dimodelkan sebagai proses acak. Sebuah proses acak dinyatakan oleh urutan variabel acak. Proses acak ini biasanya dilaksanakan dengan bantuan dari suatu RNG.

vii. Statistic Gatherer

Tanggung jawab utama dari seorang pengumpul statistik adalah untuk mengumpulkan data yang dihasilkan oleh simulasi sehingga kesimpulan yang berarti dapat ditarik dari data tersebut.

32

NS-3 adalah sebuah network simulator peristiwa yang memiliki ciri tersendiri yang ditargetkan secara utama untuk tujuan riset dan pendidikan. Proyek NS-3, dimulai pada tahun 2006, adalah sebuah proyek

open source yang diatur oleh komunitas peneliti dan pengembang. Pada MANET, NS-3 mempunyai beberapa fitur yang dapat dimanfaatkan untuk memodelkan dan menguji MANET.

Dengan NS-3, MANET disimulasikan dengan membuat salah satu skenario. Pembuatan topologi, node dan protokol yang digunakan untuk MANET sudah didukung oleh NS-3. Dengan NS-3 kita dapat menambahkan fungsi-fungsi baru didalam core NS-3 karena NS-3 bersifat open source. NS-3 dikembangkan menggunakan bahasa C++ di lapisan inti dan script python. Fitur-fitur NS-3 diantaranya adalah sistem atribut NS-3 terdokumentasi dengan baik. Setiap obyek NS-3 memiliki seperangkat atribut (name, type, initial value) dan NS-3 selaras dengan sistem nyata. Model node yang lebih seperti komputer nyata, dukungan utama antarmuka seperti soket API dan IP atau perangkat driver

antarmuka (di sistem operasi Linux) serta NS-3 juga telah meng-update

model-model (memuat campuran model baru dan ported model). NS-3 juga terintegrasi dengan software/tools lain seperti Wireshark untuk melihat trace output. Representasi hasil data simulasi pada NS-3 dapat ditampilkan dalam bentuk grafik, sehingga memudahkan untuk menganalisa dan mengevaluasi hasil terhadap suatu model jaringan MANET.

33

Sebagai tools simulasi jaringan, NS-3 mempunyai model-model untuk semua elemen jaringan yang terdapat pada jaringan real. Elemen-elemen jaringan tersebut adalah:

1. Node. Dalam jargon internet, perangkat komputer yang terhubung ke jaringan disebut host atau terkadang end-system. Dalam NS-3 abstraksi perangkat komputasi dasar atau komputer disebut node. Abstraksi ini diwakili dalam C++ oleh kelas node. Kelas node

menyediakan metode untuk mengelola representasi perangkat komputasi disimulasi. Kelas node menyediakan metode untuk mengelola representasi perangkat komputasi disimulasi.

2. Aplikasi. Dalam NS-3 abstraksi dasar untuk program pengguna yang menghasilkan beberapa kegiatan yang akan disimulasikan adalah aplikasi. Abstraksi ini diwakili dalam C++ kelas Application. Kelas

Application menyediakan metode untuk mengelola representasi versi NS-3 pada aplikasi-aplikasi level user dalam simulasi. Pengembang diharapkan untuk mengkhususkan kelas Application dalam pengertian pemrograman berorientasi obyek untuk membuat aplikasi baru.

3. Channel. Media dimana aliran data pada jaringan mengalir disebut

channel. Dalam dunia simulasi NS-3, seseorang menghubungkan sebuah node ke obyek yang mewakili sebuah saluran komunikasi. 4. Net Device. Untuk terhubung dengan jaringan, komputer harus

memiliki perangkat keras yang disebut dengan peripheral card atau

34

5. Topology Helpers. Dalam sebuah jaringan simulasi besar akan diperlukan banyak koneksi untuk mengatur antar node, NetDevice

serta channel. NS-3 menyediakan apa yang disebut obyek Topology Helpers untuk mengatur simulasi–simulasi jaringan semudah mungkin.

2.9.AWK

AWK scripts merupakan Unix tool yang sangat bermanfaat untuk melakukan proses parsing yang bentuknya menyerupai keluaran file keluaran .tr yang bisa diartikan sebagai tabel. Proses parsing merupakan salah satu teknik yang dipakai untuk mengambil data yang disediakan oleh trace-file. Tiap tabel berisi beberapa record. Masing-masing baris pada file di atas dianggap sebagai record. Kemudian tiap record terdiri atas beberapa field

yang dipisahkan dengan tanda spasi.

Ada beberapa cara untuk menggunakan AWK, tapi penulis hanya menggunakan dua cara, yaitu:

1. Mengeksekusi perintah AWK sebagai command line.

awk [-F field-separator] ‘commands’ input-file(s)

Pada perintah di atas ‘commands’ adalah instruksi-instruksi AWK yang ingin dijalankan. Penggunaan –F field separator sifatnya optional, karena AWK menggunakan spasi sebagai default field separator.

2. Seluruh instruksi AWK kita tuliskan dalam sebuah file berekstensi .awk. Kemudian pemanggilan perintah awk dilakukan dengan

35

Opsi –f menyatakan bahwa instruksi AWK yang akan dijalankan berada didalam awk-script-file. Sedangkan input-file(s) adalah file yang akan di- scan olehAWK.

Struktur AWK script pada dasarnya terdiri atas 3 bagian utama;

- Bagian awal ditandai dengan keyword BEGIN, adalah bagian yang akan dieksekusi sekali sebelum proses scanning file.

- Bagian akhir ditandai dengan keyword END, adalah bagian yang akan dieksekusi sekali setelah proses scanning file

- Bagian inti (tidak ditandai dengan keyword apapun) adalah bagian yang akan dieksekusi pada saat proses scanning file

BEGIN { print "START" } { print } END { print "STOP" }

Proses scanning file yang dilakukan oleh AWK biasanya dilakukan secara baris per baris. Artinya, setiap baris dianggap sebagai

record, dan bagian inti dari AWK scripts akan dijalankan pada setiap pembacaan baris. Dengan demikian, setiap baris akan dibaca dan pada saat setiap pembacaan baris itulah bagian inti selalu diproses.

BEGIN { print "File\tOwner"} { print $8, "\t", $3}

36

BAB III

Dokumen terkait