BAB II
LANDASAN TEORI
2.1
Routing
2.1.1 Definisi Routing
Routing adalah inti dari semua kontrol jaringan, yaitu mekanisme yang digunakan untuk mengirimkan paket serta mengarahkan dan menentukan jalur yang akan dilewati paket dari satu jaringan ke jaringan yang lain. Pembahasan tentang routing telah meliputi bidang ilmu komputer lebih dari dua dekade, tetapi routing secara komersial menjadi populer pada pertengahan tahun 1980. Routing pada sistem terdistribusi dapat dikarakteristikkan sebagai berikut. Graf G = (V,E) adalah graf yang berbobot, dimana setiap node pada himpunan V merepresentasikan proses/antrian/unit pengirim dan setiap rusuk adalah sistem transmisinya. Tugas utama dari algoritma routing adalah meneruskan aliran data dari sumber ke nodenode tujuan dan memaksimalkan performansi jaringan.
Pada kasus tertentu jaringan komunikasi (Steenstrup, 1995; Bertskas dan Gallager, 1992), algoritma routing harus mengatur kumpulan dari fungsi-fungsi dasar dan secara ketat berinteraksi dengan kemacetan dan algoritma kontrol pemasukan data, dengan aturan yang berhubungan dengan antrian, dan lalu lintas pemakai. Inti dari fungsi routing adalah: 1. Akuisi, pengorganisasian, dan distribusi informasi lalu lintas pemakai dan keadaan jaringan. 2. Penggunaan informasi tersebut untuk membangkitkan kemungkinan rute – rute yang dapat memaksimalkan performansi 3. Meneruskan lalu lintas pemakai ke rute – rute tertentu.
Universitas Sumatera Utara
2.1.2 Komponen Routing
Terdapat dua aktifitas dasar routing yaitu menentukan jalur routing optimal dan transportasi informasi antar jaringan. Protokol routing adalah metode – metode yang digunakan oleh router untuk saling mengkomunikasikan informasi NLR (Network Layer Reachability). Protokol routing menggunakan matriks untuk mengevaluasi jalur mana yang terbaik untuk perjalanan paket data. Untuk membantu proses penentuan jalur, algoritma routing menginisial dan menjaga tabel routing yang memiliki informasi rute. Variasi informasi rute tergantung dengan algoritma routing yang digunakan. Algoitma routing mengisi tabel routing dengan informasi – informasi yang berbeda. Tujuan/hop selanjutnya memberitahu router bahwa partikel node tujuan dapat dicapai secara optimal dengan cara mengirim paket ke partikel router yang merepresentasikan hop selanjutnya ke tujuan akhir. Ketika router menerima paket data, router memeriksa alamat tujuan dan berusaha menggabungkan alamat ini dengan hop selanjutnya.
Tabel routing dapat juga berisi informasi lainnya, seperti data tentang jalur yang diinginkan. Router membandingkan matriks untuk menentukan rute optimal, dan matriks – matriks ini berbeda tergantung dengan desain algoritma routing yang digunakan. Router saling berkomunikasi dan memelihara tabel routingnya melalui transmisi pesan yang beragam. Dengan menganalisa pembaharuan (update) routing dari semua router yang ada, sebuah router dapat membangun detail topologi jaringan.
2.1.3 Algoritma Routing
Algoritma routing adalah mekanisme untuk menemukan rute / lintasan yang harus dilalui oleh suatu paket dari suatu node sumber ke node tujuan. Tujuan utama dari algoritma routing adalah memilih rute pada jaringan sehingga total delay untuk setiap paket menjadi minimum. Algoritma routing dibagi menjadi dua kelas yaitu nonadaptive dan adaptive, tergantung bagaimana rute – rute di kalkulasikan.
Universitas Sumatera Utara
Algoritma non-adaptive atau disebut juga algoritma statik, keputusan routing tidak berdasarkan penaksiran arus trafik dan topologi. Pada algoritma statik, jalur diambil oleh paket hanya tergantung pada basis sumber dan tujuan, tanpa memperdulikan status jaringan. Sebagai gantinya, rute adalah pra-komputasi dan diberikan kepada router secara offline.
Algoritma adaptive merubah keputusan routingnya untuk menggambarkan perubahan pada topologi dan trafik.
Adaptive routing dapat lebih mudah
menyesuaikan pada situasi yang tidak konsisten, bergabung dengan node atau kegagalan link atau perubahan lokal topologi.
2.2
Ant Colony System
2.2.1 Sejarah Ant Colony System
Sistem cerdas menjadi bagian dari kemajuan ilmu pengetahuan dan teknologi. Seiring dengan berkembangnya teknologi, aplikasi – aplikasi yang menerapkan sistem cerdas semakin banyak untuk menyelesaikan berbagai macam permasalahan optimisasi. Salah satu algoritma yang menerapkan sistem cerdas ini adalah algoritma Ant Colony System (ACS).
ACS merupakan pendatang baru pada sistem cerdas. Algoritma ini dikemukakan oleh Marco Dorigo dan Luca Gambardella pada tahun 1996. Sesuai dengan namanya, algoritma ini dibuat berdasarkan prinsip dan prilaku alami dari sistem koloni semut dalam mencari makanannya. Berdasarkan penelitian tersebut ditemukan fakta bahwa semut dapat menemukan rute terpendek dalam mencari makanannya. Hal inilah yang menginspirasi terciptanya algoritma ACS.
Universitas Sumatera Utara
2.2.2 Perilaku Koloni Semut
Semut adalah serangga sosial. Semut dapat bekerja sama dengan koloninya secara efektif untuk melaksanakan sejumlah pekerjaan, contohnya mencari rute terpendek dari sarang ke sumber makanan dan kembali ke sarang mereka tanpa menggunakan petunjuk yang nyata.
Semut dapat bekerja sama dengan koloninya dan bertukar informasi secara tidak langsung yang disebut dengan stigmergy. Pada saat melakukan suatu rute perjalanan, semut meletakkan sejumlah informasi pada daerah yang dilaluinya yaitu feromon yang merupakan zat yang dikeluarkan oleh semut untuk mendeteksi dan merespon keberadaan dari semut lainnya. Dengan feromon ini, semut menandai daerah yang dilaluinya. Semut berikut yang melalui jalur tersebut akan mengidentifikasikan feromon yang diletakkan oleh semut sebelumnya dan memutuskan dengan probabilitas yang tinggi untuk mengikutinya dan menguatkan jalur yang dipilihnya dengan feromon miliknya. Proses dari stigmergy ini dapat diilustrasikan seperti pada gambar 2.1.
t =0
E
E
30 semut
t =1
E
10 semut d=1
D
d=0.5
15 semut
D
15 semut
20 semut D
H H
C
H
C
C
d=1
B B
d=0.5
15 semut
B
15 semut
10 semut
20 semut 30 semut
A
(a)
A
30 semut
(b)
A
(c)
Gambar 2.1. Proses stigmergy
Universitas Sumatera Utara
Keterangan: 1. Graf dengan jarak D – H = H – B = 1, dan D – C = C – B = 0.5. E adalah sarang dan A adalah sumber makanan. 2. Pada saat t=0 belum terdapat jejak, semut memilih untuk bergerak kearah kiri atau kekanan dengan probabilitas 3. Pada saat t=1, jejak feromon lebih kuat pada jarak yang lebih pendek, sehingga lebih banyak semut memilih jalur tersebut untuk dilewati.
Berdasarkan sifat alamiah semut yang dapat menemukan jarak terpendek inilah banyak permasalahan optimisasi yang terinspirasi dengan menggunakan prinsip semut tersebut. Perbedaan agen semut yang dipakai dalam pemecahan masalah optimisasi dengan semut alami adalah pada agen semut terdapat memori, sehingga semut – semut ini memiliki kemampuan untuk menyimpan data – data atau hasil kunjungan mereka pada setiap rute perjalanan. Konsep ACS telah banyak diterapkan dalam berbagai kajian permasalahan optimisasi kombinatorial seperti
traveling salesman problem (TSP), quadratic assignment problem, jobscheduling, vehicle routing, graph coloring, dan network routing. Pada penelitian ini, konsep dari perilaku semut yang akan dibahas lebih lanjut adalah ACS pada routing jaringan, bagaimana agen – agen semut dapat memecahkan permasalahan routing dan bagaimana hasil kinerja routing tersebut jika menerapkan algoritma ACS.
2.2.3
AntNet
Ant Colony System pada routing jaringan disebut dengan AntNet. Pada AntNet, semut mengikuti proses yang iteratif, setiap semut membangun solusi dengan menggunakan dua tipe informasi lokal yaitu informasi masalah – masalah tertentu ( seperti jarak kota pada Travelling Salesman Problem) dan informasi baru yang ditambah oleh semut selama iterasi algoritma sebelumnya. Faktanya, ketika membangun solusi, setiap semut membangun informasi pada karakteristik permasalahan dan pada saat performansinya sendiri dan menggunakan informasi ini untuk memodifikasi representasi masalah yang dilihat oleh semut lainnya. Representasi masalah yang dimodifikasi mengandung informasi solusi yang baik pada masalah sebelumnya dan dapat dibangun solusi baru yang lebih baik lagi.
Universitas Sumatera Utara
Secara informal, algoritma AntNet
dan karakteristik utamanya dapat
dirangkum sebagai berikut: 1. Pada interval regular dan bersamaan dengan data trafik ,dari tiap node – node jaringan, setiap semut bersifat asinkron, maju secara acak ke node – node yang dipilihnya. 2. Agen semut bertindak secara bersamaan dan bebas, dan berkomunikasi secara tidak langsung, melalui informasi yang mereka baca dan menulis informasinya kembali pada node yang mereka lalui. 3. Setiap agen mencari jarak minimum dari node sumber ke node tujuan. 4. Setiap agen bergerak langkah demi langkah ke node tujuan. Pada setiap node berikutnya, aturan greedy diberlakukan dalam pemilihan node selanjutnya. Hal ini berguna untuk generasi agen lokal dan pemeliharaan informasi. 5. Ketika bergerak, agen mengumpulkan informasi waktu, status kongesti dan identifikasi node pada jalur yang telah dilewati. 6. Ketika agen telah sampai di node tujuan, agen kembali ke node sumber dengan bergerak ke jalur yang sama tetapi berlawanan arah 7. Selama perjalanan pulang, model lokal dari status jaringan dan tabel routing pada setiap node yang dikunjungi dimodifikasi oleh agen sebagai fungsi dari jalur yang mereka ikuti dan kebaikan (goodness) yang diharapkan. 8. Ketika agen sampai kembali ke node sumber, agen tersebut akan mati.
Universitas Sumatera Utara
2.2.4 Deskripsi Algoritma
AntNet terbagi menjadi dua agen mobile yang homogen yang disebut dengan forward ant dan backward ant. Agen tesebut memiliki sifat yang sama hanya saja berbeda penempatan situasi dan lingkungannya, sehingga mereka dapat menerima input yang berbeda dan menghasilkan output yang berbeda pula. Secara luas agen – agen semut ini dapat diklasifikasikan sebagai agen yang deliberatif, karena mereka memiliki tingkah laku dapat meregenerasi kembali dan pada waktu yang sama mereka dapat melakukan pemeliharaan status internal yang komplit.
Masing – masing agen berkomunikasi dengan cara tidak langsung atau stigmergy. Agen menangkap informasi yang mereka baca dan menulis informasi yang didapat dalam dua struktur data yang disimpan pada setiap node jaringan seperti gambar 2.2
Gambar 2.2. Struktur data yang disimpan oleh AntNet
Universitas Sumatera Utara
Keterangan: 1. Sebuah tabel routing T k merupakan algoritma vektor jarak tetapi dengan masukan yang probabilitas. T k mendefinisikan probabilitas aturan routing yang diadopsi oleh node k, untuk setiap node tujuan d yang mungkin dan untuk setiap node tetangga n, T k menyimpan sebuah nilai probabilitas P nd yang menggambarkan kabaikan (goodness)/keinginan dalam aturan routing jaringan yang luas, memilih n sebagai node selanjutnya sedangkan node tujuannya adalah d:
∑
n Є Nk
P nd = 1, d Є [1, N], Nk = {tetangga(k)}
2. Sebuah array M k ( μd , σd2, Wd), dari struktur data mendefinisikan model sederhana parameter statik dari trafik distribusi antar jaringan yang dilihat oleh node k. Modelnya adalah adaptif dan digambarkan oleh contoh properti dan varian komputasi selama waktu perjalanan yang dialami oleh agen mobile, dan dengan memindahkan jendela observasi Wd yang digunakan untuk menyimpan nilai terbaik Wterbaikd dari waktu perjalanan agen. Untuk setiap daerah tujuan d dalam jaringan, taksiran properti dan variannya, μd dan σd2 memberikan representasi waktu yang diharapkan untuk pergi dan kestabilannya.
2.3
Network Simulator
Untuk menguji algoritma ACS atau antnet pada jaringan maka dibutuhkan sebuah media yang dapat menggambarkan proses – proses yang berjalan pada jaringan komputer. Oleh sebab itu dibutuhkan simulator jaringan yang dapat merepresentasikan algoritma antnet . Pada penelitian ini simulator jaringan yang dipakai adalah Network Simulator versi 2 atau NS2.
Universitas Sumatera Utara
NS2 adalah alat simulasi jaringan open source yang banyak digunakan dalam mempelajari struktur dinamik dari jaringan komunikasi. Simulasi dari jaringan nirkabel dan protokol (seperti algoritma routing, TCP, dan UDP) dapat diselesaikan dengan baik dengan simulator ini. Karena kefleksibelannya, NS2 menjadi popular dikalangan komunitas peneliti sejak awal kemunculannya pada tahun 1989.
Beberapa fitur yang ada pada NS2 adalah : 1. TCP dan implementasinya 2. Mobilitas 3. Node berupa satelit yang dapat kita tentukan longitude, latitude, dan altitude. 4. Internet routing protocol 5. Berbagai macam model link loss 6. Berbagai macam penghasil trafik (seperti web, telnet, dan sebagainya) 7. Kemampuan mengemulasikan jaringan
NS2 terdiri dari dua bahasa pemrograman yaitu C++ dan OTcl (Objek-oriented Tool Command Language). C++ mendefinisikan mekanisme internal dari simulasi objek dan OTcl berfungsi untuk menset simulasi dengan assembly dan mengkonfigurasi objek sebagai penjadwalan diskrit. C++ dan OTcl saling berhubungan menggunakan TclCL. Setelah simulasi, output NS2 dapat berupa basis teks atau animasi berdasarkan simulasi. Untuk menginterprestasikan output ini secara grafik dan interaktif maka dibutuhkan NAM (Network Animator) dan XGraph. Untuk menganalisa tingkah laku dari jaringan
user
dapat
mengekstrak
subset
dari
data
teks
dan
mentransformasikannya agar menjadi lebih atraktif.
Universitas Sumatera Utara
Gambar 2.3 merupakan struktur dari NS2 yang menggambarkan kinerja dari NS2
Gambar 2.3 . Arsitektur NS2
Pada prakteknya, NS2 merupakan simulasi yang berjalan pada sistem UNIX. Oleh sebab itu NS2 dapat berjalan dengan baik di sistem operasi Linux, OpenBSD, FreeBSD, dan sistem operasi berbasis unix lainnya. Walaupun demikian NS2 dapat juga berjalan pada Windows dengan menggunakan tool tambahan yaitu Cygwin. Cygwin adalah port dari tool pengembangan GNU (GNU’s Not UNIX) untuk Microsoft Windows. Hal ini dimungkinkan dengan adanya librari Cygwin sebagai penyedia sistem dan lingkungan UNIX yang dibutuhkan oleh tool GNU tersebut. Singkatnya, Cygwin adalah sebuah lingkungan yang menyerupai Linux untuk Windows. Pada penelitian ini algoritma antnet akan diimplementasikan pada NS2 yang berjalan pada sistem windows yang akan dijelaskan pada bab berikutnya.
Universitas Sumatera Utara