• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
26
0
0

Teks penuh

(1)

5 BAB 2

TINJAUAN PUSTAKA

2.1 Teori Umum

2.1.1 Pengertian Jaringan

Menurut Tanenbaum (2003 : 2) penggabungan teknologi komputer dan komunikasi sangat berpengaruh terhadap bentuk organisasi sistem komputer. Konsep dari “pusat komputer” sebagai sebuah ruangan yang berisi sebuah komputer besar tempat semua pengguna mengolah pekerjaannya, merupakan pemikiran yang sudah ketinggalan jaman. Model lama dari komputer tunggal yang melayani seluruh tugas-tugas komputasi suatu organisasi telah diganti oleh sekumpulan komputer berjumlah banyak yang terpisah-pisah akan tetapi saling berhubungan dalam melaksanakan tugasnya. Sistem seperti ini dinamakan jaringan komputer.

Jaringan komputer adalah suatu kumpulan autonomous system yang saling berhubungan dengan satu teknologi. Dua buah komputer dikatakan saling berhubungan apabila keduanya dapat saling bertukar informasi.

2.1.2 Klasifikasi Jaringan Komputer Berdasarkan Cakupan

Berdasarkan luas cakupannya, jaringan komputer pada umumnya dikategorikan menjadi tiga ukuran yaitu Local Area Networks (LAN), Metropolitan Area Networks (MAN), Wide Area Networks (WAN). Gambar dibawah ini menjelaskan tentang cakupan masing-masing area.

(2)

Gambar 2.1 Cakupan Daerah Suatu Jaringan

Local Area Networks (LAN)

Menurut Tanenbaum (2003 : 16) Local Area Network, umumnya disebut LAN adalah jaringan pribadi yang berada didalam suatu bangunan atau kampus yang dapat mencapai beberapa kilometer saja. LAN banyak digunakan untuk menghubungkan personal computer dan workstation dalam perusahaan dan pabrik untuk memakai sumber daya yang ada (misalnya, printer) dan saling bertukar informasi.

Metropolitan Area Networks (MAN)

Menurut Shinder (2003 : 37) MAN terdiri dari dua atau lebih jaringan LAN yang saling terhubung dalam batas ruang yang sesuai untuk area metropolitan. Jarak maksimum yang didefinisikan oleh MAN sekitar 50 mil atau 80 kilometer.

Wide Area Networks (WAN)

Menurut Tanenbaum (2003 : 19) Wide Area Network atau WAN, mencakup wilayah geografis yang luas, seringkali mencakup negara atau benua. WAN berisi kumpulan dari mesin-mesin yang dirancang untuk menjalankan aplikasi program milik pengguna.

(3)

2.1.3 Networking Model

Pada saat network baru muncul, kebanyakan komputer hanya bisa berkomunikasi dengan komputer yang dibuat oleh perusahaan yang sama. Untuk itu International Organization for Standarization membuat model referensi Open System Interconnection (OSI) sebagai solusi untuk mengatasi masalah ko mp abilitas ini.

Model referensi jaringan terbuka OSI atau OSI Reference Model for open networking adalah sebuah model arsitektural jaringan yang dikembangkan oleh badan International Organization for Standardization (ISO) di Eropa pada tahun 1977. OSI sendiri merupakan singkatan dari Open System Interconnection. Model ini disebut juga dengan model "Model tujuh lapis OSI" (OSI seven layer model).

Sebelum munculnya model referensi OSI, sistem jaringan komputer sangat tergantung kepada pemasok (vendor). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi

(4)

Standar OSI in i mend efinisik an tujuh lap isan, diantarany a adalah sebagai berikut :

1. Physical layer

Physical layer berhubungan dengan cara pengiriman dari aliran bit yang tidak terstruktur melewati media fisik. Berhubungan dengan mekanisme, listrik, fungsional, dan karakteristik prosedural untuk mengakses media fisik.

2. Data Link Layer

Data Link layer menyediakan pengiriman informasi yang handal melewati physical link. Mengirimkan blok-blok (frames) dengan sikronisasi yang diperlukan, error control dan flow control.

3. Network Layer

Menyediakan pelayanan layer atas dengan kebebasan dalam mentransimisi data dan teknologi pemindahan yang digunakan untuk menghubungkan sistem; bertanggung jawab membangun sebuah establishes, maintaining, dan mengakhiri suatu hubungan.

4. Transport Layer

Menyediakan kehandalan, pengiriman data secara transparan antara end point; menyediakan end-to-end error control dan flow control. 5. Session

Session layer menyediakan struktur kontrol untuk komunikasi antara aplikasi, establishes, pengelolaan, dan berakhirnya hubungan (session) antar aplikasi. Session layer dibutuhkan untuk mengatur dan mengsinkronisasikan dialog serta untuk mengelola pertukaran data.

(5)

6. Presentation

Presentation menyediakan kebebasan untuk proses aplikasi dari representasi data yang berbeda (syntax).

7. Application

Application layer menyediakan akses ke lingkungan OSI untuk para pengguna serta menyediakan pelayanan informasi yang terdistribusi

2.2 Teori Khusus

2.2.1 Multi Protocol Label Switching (MPLS)

MPLS adalah teknologi pengiriman paket pada jaringan backbone berkecepatan tinggi. Asas kerjanya menggabungkan beberapa kelebihan dari sistem komunikasi circuit-switched dan packet-switched yang melahirkan teknologi yang lebih baik dari keduanya. Sebelumnya, paket-paket diteruskan dengan protokol routing seperti Open Shortest Path First (OSPF), Intermediate System to Intermediate System (IS-IS), Border Gateway Protocol (BGP), atau Exterior Gateway Protocol (EGP). Protokol routing berada pada lapisan network (ketiga) dalam sistem OSI, sedangkan MPLS berada di antara lapisan kedua dan ketiga.

Menurut Ghein (2006 : 28) MPLS merupakan sebuah teknik yang menggabungkan kemampuan manajemen switching yang ada dalam teknologi ATM dan fleksibilitas network layer yang dimiliki teknologi IP. Konsep utama MPLS ialah teknik peletakan label dalam setiap paket yang dikirim melalui jaringan ini. MPLS bekerja dengan cara memberi label untuk paket-paket data, untuk menentukan rute dan prioritas pengiriman paket tersebut. Label tersebut akan memuat informasi penting yang berhubungan dengan informasi routing suatu paket, diantaranya berisi tujuan paket serta prioritas paket mana yang harus dikirimkan terlebih dahulu.

(6)

Teknik ini biasa disebut dengan label switching. Dengan informasi label switching yang didapat dari router network layer, setiap paket hanya dianalisa sekali di dalam router dimana paket tersebut masuk dalam jaringan untuk pertama kali. Router tersebut berada di tepi dan dalam jaringan MPLS yang biasa disebut label switching router (LSR).

Network MPLS terdiri atas sirkuit yang disebut label-switched path (LSP), yang menghubungkan titik-titik yang disebut label-switched router (LSR). LSR pertama dan terakhir disebut ingress dan egress. Setiap LSP dikaitkan dengan sebuah forwarding equivalence class (FEC), yang merupakan kumpulan paket yang menerima perlakukan forwarding yang sama di sebuah LSR. FEC diidentifikasikan dengan pemasangan label.

Untuk menyusun LSP, label-switching table di setiap LSR harus dilengkapi dengan pemetaan dari setiap label masukan ke setiap label keluaran. Proses melengkapi tabel ini dilakukan dengan protokol distribusi label hampir serupa dengan protokol persinyalan di ATM, sehingga sering juga disebut protokol persinyalan MPLS (Perez, 2011:18).

2.2.1.1 Cara Kerja MPLS

Prinsip atau cara kerja MPLS ialah menggabungkan kecepatan switching pada layer 2 dengan kemampuan routing dan skalabilitas pada layer 3. Cara kerjanya adalah dengan menyelipkan label di antara header layer 2 dan layer 3 pada paket yang diteruskan. Label dihasilkan oleh LSR, di mana bertindak sebagai penghubung jaringan MPLS dengan jaringan luar. Label berisi informasi tujuan node selanjutnya kemana paket harus dikirim. Kemudian paket diteruskan ke node berikutnya, di node ini label paket akan dilepas dan diberi label yang baru yang berisi tujuan berikutnya. Paket-paket diteruskan dalam LSP.

(7)

Gambar 2.3 MPLS Network

2.2.1.2 Komponen MPLS

Adapun komponen – komponen MPLS yaitu sebagai berikut :

1. Label Switched Path (LSP): Merupakan jalur yang melalui satu atau serangkaian LSR dimana paket diteruskan oleh label swapping dari satu MPLS node ke MPLS node yang lain.

2. Label Switching Router (LSR): MPLS node yang mampu meneruskan paket-paket layer-3.

3. MPLS Edge Node atau Label Edge Router (LER): MPLS node yang menghubungkan sebuah MPLS domain dengan node yang berada diluar MPLS domain.

4. MPLS Egress Node: MPLS node yang mengatur trafik saat meninggalkan MPLS domain

5. MPLS Ingress Node: MPLS node yang mengatur trafik saat akan memasuki MPLS domain

(8)

6. MPLS label: merupakan label yang ditempatkan sebagai MPLS header

7. MPLS node: node yang menjalankan MPLS. MPLS node ini sebagai control protokol yang akan meneruskan paket berdasarkan label.

8. Edge Label Switching Routers (ELSR) ini terletak pada perbatasan jaringan MPLS, dan berfungsi untuk mengaplikasikan label ke dalam paket-paket yang masuk ke dalam jaringan MPLS. Sebuah MPLS Edge Router akan menganalisa header IP dan akan menentukan label yang tepat untuk dienkapsulasi ke dalam paket tersebut ketika sebuah paket IP masuk ke dalam jaringan MPLS. Ketika paket yang berlabel meninggalkan jaringan MPLS, maka Edge Router yang lain akan menghilangkan label yang disebut Label Switches. Perangkat Label Switches ini berfungsi untuk menswitch paket-paket ataupun sel-sel yang telah dilabeli berdasarkan label tersebut. Label Switches ini juga mendukung Layer 3 routing ataupun Layer 2 switching untuk ditambahkan dalam label switching. Operasi dalam label switches memiliki persamaan dengan teknik switching yang biasa dikerjakan dalam ATM.

9. Label Distribution Protocol (LDP) merupakan suatu prosedur yang digunakan untuk menginformasikan ikatan label yang telah dibuat dari satu LSR ke LSR lainnya dalam satu jaringan MPLS. Dalam arsitektur jaringan MPLS, sebuah LSR yang merupakan tujuan atau hop selanjutnya akan mengirimkan informasi tentang ikatan sebuah label ke LSR yang sebelumnya mengirimkan pesan untuk mengikat label tersebut bagi rute paketnya. Teknik ini biasa disebut distribusi label downstream on demand.

(9)

Beberapa keunggulan MPLS adalah menyediakan pelayanan ISP yang baru yang tidak bisa dilakukan dengan teknik routing IP yang lama. Dengan pemisahan antara komponen control dan komponen forwarding, MPLS mendukung fleksibilitas perkembangan fungsi komponen control tanpa mengubah mekanisme forwarding. Sehingga MPLS dapat meningkatkan kemampuan forwarding yang dibutuhkan untuk mengantisipasi perkembangan internet yang sangat pesat. MPLS menggabungkan teknologi switching/forwarding layer 2 dengan teknologi routing layer 3 pada standar OSI (OpenSystem Interconnection). Keunggulan lainnya yaitu dapat mengurangi banyaknya proses pengolahan di IP routers, serta memperbaiki proses pengiriman suatu paket data, dan juga dapat menyediakan QoS dalam jaringan backbone sehingga setiap layanan paket yang dikirimkan akan mendapat perlakuan sesuai dengan skala prioritas

2.2.2 Multicast pada MPLS

Gambar 2.4 Multicast MPLS

Dalam penerapan MPLS multicast, multicast routing module membuat tabel FEC menggunakan multicast routing protocol seperti

(10)

Protokol-Independent Multicast (PIM). Multicast routing table digunakan untuk pertukaran label antara dua MPLS node yang berdekatan untuk subnet yang ada pada multicast routing table. Pertukaran label menggunakan PIM v2 protokol dengan MPLS extensions. (Alwayn, Vivek. 2002).

2.2.3 Network Simulator – 3 (NS-3)

NS-3 adalah program simulasi jaringan yang open source, yang umumnya banyak digunakan oleh para peneliti, akademisi, dan praktisi, sehingga sangat cocok dalam pengembangan teknologi terbaru yang berhubungan dengan networking. NS-3 dibuat dengan menggunakan bahasa pemrograman C++ dan juga menggunakan script python.

2.2.3.1 Dasar Prosedur Simulasi NS-3

Gambar 2.5 Dasar Prosedur Simulasi NS-3

Gambar diatas menunjukan alur dasar prosedur dalam pembuatan simulasi jaringan dengan menggunakan NS-3. Berikut ini deskripsi dari masing-masing tahapnya. Untuk dapat menggunakan NS-3, hal yang harus dilakukan adalah mengunduh dan memasang NS-3 ke dalam sistem komputer. Tetapi dalam hal ini, penulis menggunakan Network Simulator-3 (NS-3 Dev) sebagai versi yang lebih baik daripada NS-3 dikarenakan untuk penyesuaian dengan pengembangan yang ada didalam BPPT agar

(11)

sama dan serasi atau seimbang. Berikut adalah penjelasan secara detil mengenai NS-3 Dev.

NS-3 Dev merupakan sebuah simulator jaringan yang biasanya digunakan dalam penelitian dan bidang pendidikan. NS-3 DEV merupakan perangkat lunak tidak berbayar yang berlisensi di bawah GNU GPLv2.

Tujuan dari proyek NS-3 DEV adalah untuk mengembangkan penelitian mengenai jaringan melalui simulasi sehingga mempermudah dalam melakukan penelitian terhadap jaringan yang akan dikembangkan nantinya. Para pengembang NS-3 Dev berkomitmen untuk membuat perangkat simulasi ini agar mudah digunakan sehingga dapat melayani kebutuhan para peneliti dalam mengambangkan jaringan mereka.

Selain itu, infrastruktur perangkat lunak NS-3 Dev mendorong pengembangan model simulasi yang cukup realistis yang memungkinkan NS-3 Dev sebagai emulator jaringan realtime. NS-3 Dev dikembangkan menggunakan bahasa C++ di lapisan inti dan script python. Setiap objek NS-3 Dev memiliki seperangkat atribut (name, type, initial value). NS-3 Dev juga terintegrasi dengan software/tools lain seperti wireshark untuk melihat trace output.

Sebagai tools simulasi jaringan, NS-3 Dev memiliki alur prosedur yang sama dengan NS-3 dalam membuat simulasi jaringan, berikut merupakan deskripsi dari tahap – tahap tersebut.

2.2.3.2 Mengaktifkan Logging

Langkah ini bertujuan untuk mengaktifkan fitur logging yang ada di NS-3 yang dapat ditampilkan pada konsol Linux dan juga dapat dicatat pada logging file packet capture yang dapat

(12)

dibaca oleh aplikasi Wireshark untuk melakukan trace pada paket yang mengalir dalam simulasi yang dibuat. Logging dapat diaktifkan dengan cara menyisipkan kode berikut pada kode program simulasi. NS_LOG_COMPONENT_DEFINE ( “FirstScriptExample” ); LogComponentEnable(“UdpEchoClientApplication”,LOG_LEVE L_INFO); LogComponentEnable(“UdpEchoServerApplication”,LOG_LEV EL_INFO);

2.2.3.3 Merancang Topologi Jaringan

Gambar 2.6 Perancangan Topologi Jaringan di NS-3

1. Pembuatan Node

Node pada NS-3 Dev merupakan abstraksi dari end-system atau lebih sering dikenal dengan host pada suatu jaringan komputer. Abstraksi ini diwakili dalam C++ oleh kelas node yang menyediakan metode untuk mengelola representasi perangkat komputasi di simulasi.

NodeContainer nodes;

nodes.Create (2);

Node merepresentasikan komputer yang akan ditambahkan sesuatu seperti protokol, aplikasi, dan peripheral

(13)

card. Topology helper NodeContainer menyediakan sebuah cara yang mudah untuk membuat, mengontrol, dan mengakses Node apapun yang telah dibuat untuk dapat menjalankan sebuah simulasi. Pada baris pertama kode di atas mendeklarasikan sebuah NodeContainer yang dipanggil sebagai nodes. Pada baris kedua memanggil metode Create pada objek nodes dan meminta NodeContainer untuk membuat dua buah node.Langkah selanjutnya dalam pembuatan sebuah topologi jaringan adalah dengan menghubungkan node yang telah dibuat pada sebuah jaringan.Bentuk paling sederhana dari sebuah jaringan yang dapat dibuat adalah sebuah jalur point-to-point antara dua node.

2. Penentuan Topology Helper

Dalam sebuah jaringan simulasi besar akan diperlukan banyak koneksi untuk mengatur node, Net Device serta channel. NS-3 Dev menyediakan apa yang disebut objek topology helpers untuk mengatur simulasi–simulasi jaringan semudah mungkin. Dalam membuat topologi point-to-point, topology helper PointToPointHelper diperlukan untuk membuat jalur untuk menghubungkan kedua node. Istilah yang akan digunakan dalam hal ini adalah Net Device dan Channel. Dalam dunia nyata, istilah tersebut sesuai dengan peripheral card dan kabel jaringan. Umumnya, kedua hal ini berhubungan erat dan tidak dapat ditukar-tukar satu sama lain, sebagai contoh menggunakan perangkat Ethernet tetapi dengan channel wireless. Oleh karena itu, pada pembuatan jalur point-to-point akan menggunakan PointToPointHelper untuk mengkonfigurasi dan menghubungkan objek NS-3

(14)

PointToPointNetDevice dan PointToPointChannel yang ditunjukan pada kode di bawah ini.

PointToPointHelper pointToPoint;

pointToPoint.setDeviceAttribute (“DataRate”, StringValue

(“5Mbps”));

pointToPoint.setChannelAttribute (“Delay”, StringValue

(“2ms”));

Pada baris pertama diinisiasikan objek. PointToPointHelper. Lalu pada baris berikutnya kode di atas memberitahu objek PointToPointHelper untuk menggunakan nilai “5Mbps” (lima megabit per detik) sebagai “DataRate” ketika membuat sebuah objek PointToPointNetDevice. Kata “DataRate” merupakan atribut dari PointToPointNetDevice. Lalu pada baris ketiga, PointToPointHelper diminta untuk memakai nilai “2ms” (dua milidetik) sebagai besarnya delay transmisi dari setiap channel point-to-point yang dibuat.

3. Pemasangan Net Device

Untuk terhubung dengan jaringan, komputer harus memiliki perangkat keras yang disebut dengan peripheral card. Peripheral card tersebut diimplementasikan beberapa fungsi jaringan, sehingga disebut Network Interface Cards (NICs). NIC tidak akan berfungsi tanpa sebuah software driver untuk mengontrol perangkat keras tersebut. Pada Unix (atau Linux), sebuah peripheral hardware disebut sebagai device. Device dikontrol menggunakan device driver, dan NIC

(15)

dikontrol menggunakan network device driver yang disebut dengan net device. Di NS-3 Dev, net Device meliputi baik software driver dan simulasi hardware. Sebuah net device 'di-instalasi' pada sebuah node agar memungkinkan node untuk berkomunikasi dengan node lainnya dengan simulasi melalui channels. Abstraksi net device direpresentasikan dengan C++ oleh kelas NetDevice. Kelas NetDevice menyediakan metode untuk mengatur koneksi ke objek node dan channel. Untuk menampung objek NetDevice yang akan dibuat, digunakanlah NetDeviceContainer, seperti halnya pada NodeContainer untuk menampung node yang telah dibuat. Kode di bawah ini akan menyelesaikan pengkonfigurasian device dan channel.

NetDeviceContainer devices;

devices = pointToPoint.Install (nodes);

Metode install pada PointToPointHelper memiliki parameter yaitu NodeContainer. PointToPointNetDevice akan terbentuk dan tersimpan pada NetDeviceContainer sebanyak jumlah node yang ada dalam NodeContainer, dalam hal ini sebanyak dua buah karena untuk topologi point-to-point. Sebuah PointToPointChannel telah terbentuk dan dua buah PointToPointNetDevice telah terpasang. Kedua device akan terkonfigurasi untuk mengirimkan data dengan kecepatan sebesar lima megabit per detik melalui channel yang telah terbentuk yang memiliki delay sebesar dua milidetik.

4. Pemasangan Protocol Stack

Setelah node dan device terkonfigurasi dengan baik, langkah berikutnya yaitu memasang protokol pada node yang telah dibuat. Kode berikut berfungsi untuk pemasangan protokol tersebut..

(16)

InternetStackHelper stack;

stack.Install (nodes);

InternetStackHelper adalah sebuah topology helper yang berfungsi untuk memasangkan protokol Internet pada point-to-point net device. Metode Install memiliki parameter yakni NodeContainer. Ketika dijalankan, akan diinstall stack Internet seperti TCP (Transmission Control Protocol), UDP (User Datagram Protocol), IP (Internet Protocol), dan sebagainya pada setiap node yang ada dalam NodeContainer.

5. Penentuan alamat IP

Berikutnya node yang telah dibuat akan dipasangkan alamat IP untuk dapat berkomunikasi antar node satu sama lain. Topology helper IPv4AddressHelper ini berfungsi untuk mengatur pengalokasian dari alamat IP. Berikut ini kode yang bertujuan untuk menetapkan alamat IP pada node yang telah dibuat.

IPv4AddressHelper address;

address.SetBase (“10.1.1.0”, “255.255.255.0”);

Pada baris pertama mendeklarasikan sebuah objek address helper yang memberitahukan agar alamat IP yang dialokasikan adalah dengan jaringan 10.1.1.0 dan menggunakan subnet mask 255.255.255.0. Secara default alamat yang dialokasikan akan dimulai dari satu dan akan bertambah secara statik, maka alamat pertama yang dialokasikan dalam hal ini adalah 10.1.1.1, diikuti dengan 10.1.1.2, dan seterusnya. Sistem NS-3 dapat mengingat seluruh alamat IP yang telah dialokasikan sehingga bila secara

(17)

tidak sengaja menetapkan alamat IP yang sama maka akan menimbulkan fatal error.

Lalu kode berikutnya adalah seperti berikut:

IPv4InterfaceContainer interfaces = address.Assign (devices);

Objek IPv4Interface dibutuhkan untuk mengasosiasikan antara alamat IP dengan device. IPv4InterfaceContainer di atas berfungsi untuk menampung daftar dari objek IPv4Interface sebagai referensi yang mungkin akan dipakai di lain kesempatan. Sekarang, sebuah jaringan point-to-point sudah terbentuk dengan baik. Yang diperlukan selanjutnya adalah aplikasi untuk menghasilkan aliran data.

2.2.3.4 Membuat Aplikasi

Dalam NS-3 Dev abstraksi dasar untuk program pengguna yang menghasilkan beberapa kegiatan yang akan disimulasikan adalah aplikasi. Abstraksi ini diwakili dalam C++ oleh kelas Application yang menyediakan metode untuk mengelola representasi versi NS-3 DEV pada aplikasi-aplikasi setingkat user dalam simulasi. Pengembang diharapkan untuk mengkhususkan kelas Application dalam pengertian pemrograman berorientasi obyek untuk membuat aplikasi baru.Contoh spesialisasi dari class Application adalah seperti UdpEchoServerApplication dan UdpEchoClientApplication. Sama seperti sebelumnya, objek helper digunakan untuk mengkonfigurasi dan mengendalikan sebuah objek dengan lebih mudah. Oleh karena itu, digunakanlah objek UdpEchoServerHelper dan UdpEchoClientHelper.

(18)

Kode di bawah ini adalah untuk melakukan pemasangan sebuah UdpEchoServerApplication pada salah satu dari node yang telah dibuat.

UdpEchoServerHelper echoServer (9);

ApplicationContainer serverApps = echoServer.Install

(nodes.Get (1));

serverApps.Start (Seconds (1.0));

serverApps.Stop (Seconds (10.0));

Baris pertama pada potongan kode di atas mendeklarasikan UdpEchoServerHelper. Seperti biasa, ini bukan aplikasi itu sendiri, melainkan sebuah objek yang dapat membantu untuk membuat aplikasi. Lalu atribut yang ada pada constructor helper adalah nomor port yang diketahui baik server maupun client. Seperti pada objek helper lainnya, objek UdpEchoServerHelper juga memiliki metode Install. Dijalankannya metode ini akan menginisiasi aplikasi echo server dan memasangkannya pada sebuah node. Pada baris kedua, ApplicationContainer dideklarasikan dan berisi aplikasi server. Metode Install mempunyai parameter NodeContainer yang akan memasang aplikasi server pada node yang berada pada NodeContainer dengan indeks 1. Aplikasi tersebut membutuhkan sebuah waktu untuk memulai menghasilkan aliran data dan juga waktu untuk berhenti. Pada kode di atas menggunakan casting Seconds untuk mengkonversikan format bilangan pada C++ ke objek Time pada NS-3. Baris 3 dan 4 pada kode di atas akan membuat aplikasi echo server untuk menyalakan pada detik

(19)

ke-1 pada simulasi dan berhenti pada detik ke-10 pada simulasi.

UdpEchoClientHelper

Pemasangan aplikasi echo client sama halnya seperti pada server. Terdapat UdpEchoClientApplication yang dikendalikan oleh sebuah UdpClientEchoHelper.

UdpEchoClientHelper echoClient (interfaces.GetAddress(1), 9);

echoClient.SetAttribute (“MaxPackets”, UintegerValue(1));

echoClient.SetAttribute (“Interval”, TimeValue (Seconds(1.)));

echoClient.SetAttribute (“PacketSize”, UintegerValue (1024));

ApplicationContainer clientApps =

echoClient.Install (nodes.get (0));

clientApps.Start (Seconds (2.0));

clientApps.Stop (Seconds (10.0));

Pada baris pertama kode di atas terdapat dua buah atribut yang ditetapkan pada saat pembuatan UdpEchoClientHelper. Secara internal di dalam helper, parameter diteruskan untuk menetapkan atribut RemoteAddress dan RemotePort. Dalam contoh ini, RemoteAddress adalah alamat dari server dan paket data

(20)

akan dikirimkan ke RemotePort 9. Atribut MaxPackets memberitahukan kepada client jumlah paket maksimum yang diperbolehkan untuk dikirimkan selama simulasi. Atribut Interval memberitahu pihak client berapa lama jeda waktu pengiriman paket. Atribut PacketSize memberitahukan client seberapa besar ukuran tiap paket yang akan dikirimkan. Pada contoh kode di atas menunjukan bahwa client akan mengirimkan sebuah paket yang berukuran 1024 byte. Lalu seperti pada echo server, echo client juga memiliki waktu kapan aplikasi client mulai menyala dan kapan akan berhenti.

2.2.3.5 Menjalankan Simulasi

Untuk menjalankan simulasi NS-3 digunakan fungsi global seperti berikut:

Simulator::Run ();

Simulator::Destroy ();

(21)

Gambar 2.7 Dasar Model Simulasi NS-3

Gambar di atas menunjukan dasar dari model simulasi dengan menggunakan NS-3. Semua simulasi jaringan yang dibuat dengan menggunakan NS-3 mengikuti alur model tersebut. Dimana paket yang dihasilkan oleh Application akan melewati berbagai susunan protokol sebelum dikirimkan melalui Channel yang merupakan sebuah media yang menjadi tempat mengalirnya data dalam suatu jaringan. Dalam NS-3 Dev abstraksi komunikasi dasar subnetwork disebut channel dan diwakili di C++ oleh kelas channel, oleh NetDevice. Application, Protocol stack, dan NetDevice tersebut terdapat dalam sebuah Node yang telah dibuat.Lalu paket tersebut akan dikirimkan ke Node yang dituju, yang pertama-tama akan diterima oleh NetDevice Node yang dituju, kemudian melewati lapisan protokol, dan akan dibaca dan ditampilkan isi dari paket tersebut oleh Application juga. Channel berfungsi sebagai media perantara yang menjembatani antara Node yang satu dengan yang lain. Untuk memperjelas teori diatas, bisa diberikan sebuah contoh pengembangan model simulasi jaringan LAN yang menggunakan protocol CSMA/CD. Topologi jaringan LAN ini bisa diberikan contoh pada gambar dibawah.

(22)

NetDevice : router – router

Channel : Media/ kabel yang digunakkan, untuk setting parameter-parameter Datarate dan Delay

Nodes : host – host

Protocol Stack : IP Address

Application : UDP atau TCP sebagai format pengiriman paket dan terdapat parameter-parameter seperti MaxPacket, Interval, PacketSize

Ketika setting IP pada Device Router (Layer 3) dan Nodes maka akan secara otomatis MAC Address terbentuk (Layer 2). Jika semua Attribute terpenuhi maka jaringan akan saling terkoneksi dan menampilkan hasil ouput timing dari source ke destination yang dipengaruhi parameter-paramer yang ada di Channel dan Application.

2.2.4 Quality of Experience (QoE)

QoE adalah pengukuran tingkat kepuasan yang digunakan untuk menentukan seberapa baik jaringan untuk memenuhi persyaratan pada pengguna akhir yang disediakan oleh provider. QoE menunjukkan ukuran kinerja dari titik layanan sudut pandang pengguna akhir. (3GPP, 2009) QoE mempertimbangkan koneksi end-to-end dan aplikasi yang sedang berjalan dalam koneksi jaringan dan perangkat multimedia dengan elemen seperti video Internet yang disediakan oleh provider.

(23)

Gambar 2.9 QoE dengan kualitas baik dan buruk dari sisi pelanggan.

2.2.5 Pemrograman Berorientasi Objek

Pemrograman berorientasi objek merupakan paradigma

pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Jika dibandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep Dasar :

- Kelas

Kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh

(24)

permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

- Objek

Objek membungkus data dan fungsi bersama menjadi suatu unit dalam

sebuah program komputer. Objek merupakan dasar dari

modularitas dan struktur dalam sebuah program komputer berorientasi objek.

- Abstraksi

Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan

berkomunikasi dengan objek lainnya dalam sistem, tanpa

mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.

- Enkapsulasi

Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.

- Polimorfisme

Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan

(25)

tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.

- Inheritance

Inheritance adalah dimana sebuah objek dapat mempunyai objek turunan. Dalam hal pemrogramman makan dapat diimpelementasikan dengan sebuah class yang mempunyai class turunan. Class yang mempunyai class turunan disebut sebagai Parent Class atau Base Class, sedangkan class yang menjadi turunan dari Parent Class disebut sebagai Subclass atau Child Class. Secara sederhana misal Hewan adalah parent class maka child class bisa berupa ayam,kucing,bebek dll.

(26)

Gambar

Gambar 2.1 Cakupan Daerah Suatu Jaringan
Gambar 2.2. Model OSI Layer
Gambar 2.3 MPLS Network  2.2.1.2 Komponen MPLS
Gambar 2.4 Multicast MPLS
+5

Referensi

Dokumen terkait

Dari analisis regresi yang telah dilakukan diketahui bahwa untuk investasi swasta di Jawa Tengah mempunyai pengaruh yang positif dan sinifikan baik dalam

 Prinsip: memeriksa berat jenis urine dengan alat urinometer  Tujuan: mengetahui kepekatan urine.  Alat

Lama diare di RS pada kelompok suplementasi zinc+probiotik lebih singkat 3,89 jam tetapi tidak menunjukkan perbedaan yang bermakna dibandingkan dengan pemberian

Wasita Kusumah – (khusus Parakanhonje belok kiri Jl. Mayjen Ibrahim Aji – belok kiri Parakanhonje) – belok kanan Jl.. Mayjen Ibrahim Aji

Perjanjian Tingkat Layanan untuk Layanan Cloud SAP ini menyatakan Perjanjian Tingkat Layanan (Service Level Agreement - “SLA”) Ketersediaan Sistem untuk versi produktif

Berdasarkan analisis hasil penelitian diperoleh kesimpulan tentang data observasi aktivitas guru dan siswa selama proses pembelajaran berlangsung, hasil belajar

Proses budidaya tambak udang sistem alam di daerah penelitianterdiri dari pengolahan lahan rata-rata dilakukan selama 3 jam/ hari selama 1 minggu, kegiatan

Dapat diamati dari kedua gambar profil kecepatan diatas bahwa ketika radius relatif naik maka gradient kecepatan pada dinding dalam elbow naik karena pada y yang sama