TA : Perancangan Aplikasi Pemantau dan Pengatur Router PC dengan Multi-Vlan Berbasis Web.

(1)

PERANCANGAN APLIKASI PEMANTAU DAN PENGATUR ROUTER PC DENGAN MULTI-VLAN BERBASIS WEB

TUGAS AKHIR

Nama : Sendy Kurniawan NIM : 08.41020.0028

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA


(2)

ABSTRAK

Pengimplementasian jaringan komputer menimbulkan adanya permasalahan tentang pegelolaan jaringan. Setiap jaringan dalam perusahaan mempunyai pengelolan yang berbeda-beda sesuai dengan kebutuhuan perusahaan itu sendiri. Tiap perusahaan mempunyai aturan-aturan tersendiri untuk mengatur alur keluar masuk traffic jaringan, sebagai contoh departemen keuangan tidak diperbolehkan terhubung dengan departemen mahasiswa, maka pengelolaan jaringan dapat dilakukan pada pc router ataupun router dimana setiap jaringan saling terhubung.

Pengelolaan lain yang umum digunakan adalah pemantauan terhadap

bandwith dan juga pemantauan terhadap setiap koneksi PC dalam jaringan. Pemantauan bandwith diperlukan untuk menganalisa paket yang masuk ataupun keluar jaringan. Sedangkan pemantauan koneksi, berfungsi untuk mempermudah melihat proses troubleshoot apakah setiap komputer client terhubung dengan jaringan atau tidak.

Dari hasil ujicoba yang telah dilakukan, aplikasi pemantau dan pengatur

router pc dengan multi-vlan dapat digunakan untuk membuat script pengelolaan jaringan untuk pemantau bandwith, pengaturan aliran paket, pengaturan VLAN dan pemantau koneksi tiap Host menggunakan interface berbasis web.


(3)

DAFTAR ISI

ABSTRAK ... Error! Bookmark not defined.

KATA PENGANTAR ... Error! Bookmark not defined.

DAFTAR ISI ... 24 DAFTAR GAMBAR ... 28 BAB I PENDAHULUAN ... Error! Bookmark not defined.

1.1 Latar Belakang Masalah ... Error! Bookmark not defined.

1.2 Perumusan Masalah ... Error! Bookmark not defined.

1.3 Pembatasan Masalah ... Error! Bookmark not defined.

1.4 Tujuan ... Error! Bookmark not defined.

1.5 Sistematika Penulisan... Error! Bookmark not defined.

BAB II LANDASAN TEORI ... Error! Bookmark not defined.

2.1 VLAN (Virtual Local Area Network) .... Error! Bookmark not defined.

2.1.1 Broadcast Control... Error! Bookmark not defined.

2.1.2 Keamanan ... Error! Bookmark not defined.

2.1.3 Flexibilitas ... Error! Bookmark not defined.

2.2 Web Server ... Error! Bookmark not defined.

2.3 HTML (Hypertext Markup Language) ... Error! Bookmark not defined.

2.3.1 Struktur dasar HTML ... Error! Bookmark not defined.

2.4. PHP ... Error! Bookmark not defined.

2.5 Shell... Error! Bookmark not defined.

2.6 Ubuntu ... Error! Bookmark not defined.

2.7 Router ... Error! Bookmark not defined.


(4)

2.9 Crontab ... Error! Bookmark not defined.

2.9.1 Membuat penjadwalan dengan crontab . Error! Bookmark not defined.

2.10 TCP DUMP ... Error! Bookmark not defined.

BAB III METODE PENELITIAN... Error! Bookmark not defined.

3.1 Perancangan Sistem dan Blok Diagram Sistem ... Error! Bookmark not defined.

3.2 Perancangan Pengaturan pada PC Router ... Error! Bookmark not defined.

3.2.1 Pengaturan VLAN ... Error! Bookmark not defined.

3.2.2 Pengaturan Iptables ... Error! Bookmark not defined.

3.2.3 Pengaturan Penjadwalan Iptables ... Error! Bookmark not defined.

3.3 Perancangan Monitoring pada PC Router .... Error! Bookmark not defined.

3.3.1 Monitoring Bandwith ... Error! Bookmark not defined.

3.3.2 Monitoring Koneksi PC dengan PC Router ... Error! Bookmark not defined.

3.4 perancangan authentifikasi ... Error! Bookmark not defined.

3.5 Perancangan Validasi IP ... Error! Bookmark not defined.

BAB IVPENGUJIAN SISTEM ... Error! Bookmark not defined.

4.1 Pengujian Terhadap proses authentifikasi .... Error! Bookmark not defined.

4.1.1 Tujuan ... Error! Bookmark not defined.

4.1.2 Alat yang Digunakan... Error! Bookmark not defined.

4.1.3 Prosedur Pengujian... Error! Bookmark not defined.

4.1.4 Hasil pengujian Authentifikasi ... Error! Bookmark not defined.

4.2 Pengujian Terhadap Pengaturan VLAN... Error! Bookmark not defined.


(5)

4.2.2 Alat yang Digunakan... Error! Bookmark not defined.

4.2.3 Prosedur Pengujian... Error! Bookmark not defined.

4.2.4 Hasil Pengujian Pengaturan VLAN ... Error! Bookmark not defined.

4.3 Pengujian terhadap IP tables ... Error! Bookmark not defined.

4.3.1 Tujuan ... Error! Bookmark not defined.

4.3.2 Alat yang digunakan ... Error! Bookmark not defined.

4.3.3 Prosedur pengujian ... Error! Bookmark not defined.

4.3.4 Hasil Pengujian IP Tables ... Error! Bookmark not defined.

4.4 Pengujian Terhadap penjadwalan ... Error! Bookmark not defined.

4.4.1 Tujuan ... Error! Bookmark not defined.

4.4.2 Alat yang Digunakan... Error! Bookmark not defined.

4.4.3 Prosedur pengujian ... Error! Bookmark not defined.

4.4.4 Hasil Pengujian Penjadwalan ... Error! Bookmark not defined.

4.5 Pengujian terhadap Monitoring Bandwith ... Error! Bookmark not defined.

4.5.1 Tujuan ... Error! Bookmark not defined.

4.5.2 Alat yang Digunakan... Error! Bookmark not defined.

4.5.3 Prosedur Pengujian... Error! Bookmark not defined.

4.5.4 Hasil Pengujian Bandwith ... Error! Bookmark not defined.

4.5 Pengujian terhadap monitoring PC ... Error! Bookmark not defined.

4.5.1 Tujuan ... Error! Bookmark not defined.

4.5.2 Alat yang digunakan ... Error! Bookmark not defined.

4.5.3 Prosedur pengujian ... Error! Bookmark not defined.

4.5.4 Hasil Pengujian Monitoring PC ... Error! Bookmark not defined.


(6)

4.6.1 Tujuan ... Error! Bookmark not defined.

4.6.2 Alat yang digunakan ... Error! Bookmark not defined.

4.6.3 Prosedur pengujian ... Error! Bookmark not defined.

4.5.4 Hasil Pengujian Validasi ... Error! Bookmark not defined.

BAB V PENUTUP ... Error! Bookmark not defined.

5.1 Simpulan ... Error! Bookmark not defined.

5.2 Saran ... Error! Bookmark not defined.


(7)

DAFTAR GAMBAR

Gambar 2.1 Struktur Jaringan Datar ... Error! Bookmark not defined.

Gambar 2.2 Manfaat dari switched network ... Error! Bookmark not defined.

Gambar 2.3 Router ... Error! Bookmark not defined.

Gambar 2.4 blok diagram perintah IP Tables ... Error! Bookmark not defined.

Gambar 3.1 Blok diagram ... Error! Bookmark not defined.

Gambar 3.2 Topologi jaringan S1 Sistem Komputer ... Error! Bookmark not defined.

Gambar 3.3 flowchart pembuatan VLAN ... Error! Bookmark not defined.

Gambar 3.4 flowchart penghapusan VLAN... Error! Bookmark not defined.

Gambar 3.5 flowchart apply-VLAN ... Error! Bookmark not defined.

Gambar 3.6 flowchart melihat isi VLAN ... Error! Bookmark not defined.

Gambar 3.7 flowchart add iptables ... Error! Bookmark not defined.

Gambar 3.8 flowchart penghapusan iptables ... Error! Bookmark not defined.

Gambar 3.9 flowchart melihat iptables ... Error! Bookmark not defined.

Gambar 3.10 flowchart penjadwalan penambahan rules ... Error! Bookmark not defined.

Gambar 3.11 flowchart menghapus jadwal deleterules ... Error! Bookmark not defined.


(8)

Gambar 3.12 flowchart menampilkan penjadwalan... Error! Bookmark not defined.

Gambar 3.13 flowchart menghapus jadwal ... Error! Bookmark not defined.

Gambar 3.14 Flowchart menampilkan bandwith dan grafik bar Error! Bookmark not defined.

Gambar 3.15 flowchart file ajax untuk mengolah data monitoring ... Error! Bookmark not defined.

Gambar 3.16 flowchart monitoring PC ... Error! Bookmark not defined.

Gambar 3.17 Flowchart authentifikasi ... Error! Bookmark not defined.

Gambar 3.18 Flowchart validasi IP ... Error! Bookmark not defined.

Gambar 4.1 database yang dibuat ... Error! Bookmark not defined.

Gambar 4.2 Login Sesuai Database ... Error! Bookmark not defined.

Gambar 4.3 Redirect Halaman Aplikasi ... Error! Bookmark not defined.

Gambar 4.4 Login Salah ... Error! Bookmark not defined.

Gambar 4.5 Username Salah... Error! Bookmark not defined.

Gambar 4.6 Pengisian Form VLAN... Error! Bookmark not defined.

Gambar 4.7 VLAN 180 dan VLAN 88 berhasil dibuat ... Error! Bookmark not defined.

Gambar 4.8 VLAN 181 dan VLAN 82 berhasil dibuat ... Error! Bookmark not defined.


(9)

Gambar 4.11 aturan berhasil ditambahkan... Error! Bookmark not defined.

Gambar 4.12 Aturan uji coba sebelum dihapus ... Error! Bookmark not defined.

Gambar 4.13 menghapus aturan dengan nama blok_proxy Error! Bookmark not defined.

Gambar 4.14 aturan blok_proxy terhapus ... Error! Bookmark not defined.

Gambar 4.15 menghapus semua aturan ... Error! Bookmark not defined.

Gambar 4.16 Semua Aturan Terhapus ... Error! Bookmark not defined.

Gambar 4.17 penambahan aturan penjadwalan lab jarkom . Error! Bookmark not defined.

Gambar 4.18 penambahan jadwal masuk kedalam file jadwal ... Error! Bookmark not defined.

Gambar 4.19 penambahan jadwal berhasil ... Error! Bookmark not defined.

Gambar 4.20 memasukan jadwal untuk menghapus aturan iptables ... Error! Bookmark not defined.

Gambar 4.21 hasil file jadwal ... Error! Bookmark not defined.

Gambar 4.22 aturan iptables berhasil dihapus ... Error! Bookmark not defined.

Gambar 4.23 Monitoring laboratorium jaringan komputer.. Error! Bookmark not defined.

Gambar 4.24 bandwith yang terlihat laboratorium jaringan komputer ... Error! Bookmark not defined.

Gambar 4.25 PC yang terkoneksi dengan jaringan Error! Bookmark not defined.


(10)

Gambar 4.27 Ping terhadap 192.168.180.1 gagal .. Error! Bookmark not defined.

Gambar 4.28 Percobaan validasi ... Error! Bookmark not defined.


(11)

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Jaringan komputer adalah kumpulan komputer dan peralatan lain yang saling dihubungkan bersama menggunakan media komunikasi tertentu. Informasi yang melintas sepanjang media komunikasi, memungkinkan pengguna jaringan untuk saling bertukar data atau menggunakan perangkat lunak maupun perangkat keras secara bersama. (Wagito, 2005)

Jaringan komputer bukanlah sesuatu yang baru saat ini. Hampir di setiap perusahaan terdapat jaringan komputer, baik perusahaan kecil maupun besar. Hal itu untuk menunjang perkembangan tiap perusahaan. Jaringan komputer digunakan untuk memperlancar arus informasi, resource sharing dan pertukaran data di dalam perusahaan tersebut.

Kebutuhan atas penggunaan bersama resources yang ada dalam jaringan, baik software maupun hardware telah mengakibatkan timbulnya berbagai pengembangan teknologi jaringan itu sendiri. Seiring dengan semakin tingginya tingkat kebutuhan dan banyaknya pengguna jaringan yang menginginkan suatu bentuk jaringan yang dapat memberikan hasil maksimal baik dari segi efisiensi maupun peningkatan keamanan jaringan itu sendiri, maka upaya-upaya penyempurnaan terus dilakukan. Dengan memanfaatkan berbagai teknik khususnya teknik subnetting dan penggunaan hardware yang lebih baik (antara lain switch) maka munculah konsep Virtual Local Area Network (VLAN) yang diharapkan dapat memberikan hasil yang lebih baik untuk Local Area Network


(12)

(LAN). Degan munculnya VLAN, maka perusahaan mulai mengimplementasikan VLAN untuk jaringan (LAN) dengan keunggulan-keunggulan yang ditawarkan, yaitu flexibilitas, keamanan, dan efesiensi.

Dengan adanya pengimplementasian jaringan komputer, maka timbul permasalahan tentang pegelolaan jaringan. Setiap jaringan dalam perusahaan mempunyai pengelolan yang berbeda-beda sesuai dengan kebutuhuan perusahaan itu sendiri. Tiap perusahaan mempunyai aturan-aturan tersendiri untuk mengatur alur keluar masuk traffic jaringan, sebagai contoh departemen keuangan tidak diperbolehkan terhubung dengan departemen mahasiswa, maka pengelolaan jaringan dapat dilakukan pada pc router ataupun router dimana setiap jaringan saling terhubung.

Pengelolaan lain yang umum digunakan adalah, pemantauan terhadap

bandwith dan juga pemantauan terhadap setiap koneksi PC dalam jaringan. Pemantauan bandwith diperlukan untuk mengananalisa paket yang masuk ataupun keluar jaringan. Sedangkan pemantauan koneksi, berfungsi untuk mempermudah melihat proses troubleshoot apakah setiap komputer client terhubung dengan jaringan atau tidak.

Ubuntu merupakan salah satu sistem operasi yang biasa digunakan sebagai PC Router untuk pengelolaan jaringan. Ubuntu mempunyai keunggulan yaitu bersifat gratis dalam arti tidak membutuhkan license dalam penggunaanya. Untuk membuat suatu aturan, maka diperlukan aplikasi Ubuntu yang dinamakan dengan iptables. Iptables berfungsi untuk mengatur jalanya paket untuk keluar atau masuk kedalam jaringan.


(13)

Hal yang menjadi kendala dalam pengelolaan jaringan menggunakan ubuntu adalah dalam hal pembuatan script yang tidak mempunyai GUI (Graphical Human Interface). Dengan pembuatan Aplikasi ini admin dapat membuat script berbasis web sebagai GUI dalam mengelola jaringan dalam memantau dan mengatur PC Router Ubuntu. Pemantauan tersebut meliputi memantau bandwith tiap VLAN dan juga memantau koneksi tiap PC , apakah PC tersebut terhubung dengan jaringan atau tidak. Sedangkan Mengatur PC Router

yang dimaksud adalah mengatur pembuatan VLAN dan mengatur koneksi laboratorium, apakah laboratorium tersebut terhubung dengan internet atau tidak dengan cara mengakses IP Tables pada PC Router, dengan berbasis WEB sebagai

human interface.

1.2 Perumusan Masalah

Dari permasalahan diatas, maka dapat dirumuskan:

1. Bagaimana membuat aplikasi pemantau bandwith untuk memonitoring jaringan pada Ubuntu berbasis web sebagai human interface.

2. Bagaimana membuat aplikasi pemantau koneksi PC tiap laboratorium didalam jaringan pada Ubuntu berbasis web sebagai human interface. 3. Bagaimana mengatur IP tables dan penjadwalan perubahan IP tables pada

PC Router dengan berbasis web sebagai human interface.

1.3 Pembatasan Masalah

Dalam perancangan dan pembuatan sistem ini, terdapat beberapa pembatasan masalah, antara lain:


(14)

1. Sistem operasi yang digunakan untuk Personal Komputer (PC) Router

adalah Ubuntu 10.04.

2. Aturan yang digunakan untuk iptables adalah jenis paket forward.

1.4 Tujuan

Tujuan dari permasalahan diatas adalah:

1. Membuat aplikasi pemantau bandwith untuk memonitoring jaringan dengan Ubuntu berbasis web sebagai human interface.

2. Membuat aplikasi pemantau koneksi PC tiap laboratorium dengan jaringan pada Ubuntu berbasis web sebagai human interface.

3. Mengatur IP tables dan penjadwalan perubahan IP tables pada PC Router

Ubuntu dengan berbasis web sebagai human interface.

1.5 Sistematika Penulisan

Pada penulisan Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Pada bab ini dikemukakan hal–hal yang menjadi latar belakang, perumusan masalah, batasan masalah, tujuan yang ingin dicapai, manfaat serta sistematika penulisan laporan tugas akhir ini.

BAB II : LANDASAN TEORI

Pada bab ini dibahas teori yang berhubungan dengan VLAN, PHP,


(15)

(aplikasi untuk penjadwalan pada ubuntu), Ubuntu, TCP dump dan IP tables.

BAB III : METODE PENELITIAN

Pada bab ini dibahas mengenai blok diagram sistem aplikasi secara keseluruhan, flowchart pembuatan VLAN, flowchart pembuatan iptables, flowchart monitoring, flowchart penjadwalan, flowchart

pembuatan validasi IP dan cara kerja masing-masing.

BAB IV : PENGUJIAN SISTEM

Pada bab ini memaparkan berbagai macam percobaan yang dilakukan, hasil-hasil yang didapatkan berserta solusi dari permasalahan yang didapat. Selain itu disertai pula hasil uji coba perbagian dan juga uji coba sistem secara keseluruhan.

BAB V : PENUTUP

Pada bab ini dibahas mengenai kesimpulan dari sistem terkait dengan tujuan dan permasalahan yang ada, serta saran untuk pengembangan sistem di masa mendatang.


(16)

BAB II

LANDASAN TEORI

2.1 VLAN (Virtual Local Area Network)

Gambar 2.1 menunjukan suatu jaringan dengan desain Flat Network. hal ini berarti, setiap paket broadcast yang dikirim, diterima oleh setiap device

meskipun device tersebut tidak membutuhkan paket data. Secara default, Router

memungkinkan pengiriman paket broadcast hanya dalam satu jaringan, sedangkan switch meneruskan paket broadcast ke semua segmen. Pada Gambar 1.1 host A mengirimkan paket broadcast dan semua port pada semua switch

mem-forward paket tersebut kecuali port yang mengirimkan broadcast.

Gambar 2.1 Struktur Jaringan Datar Sumber : CCNA study guide (hal 553)

Lihat pada Gambar 2.2 gambar tersebut merupakan gambar switched network yang menunjukan Host A mengirim frame kepada host D. frame dikirim hanya kepada Host D. hal ini merupakan suatu perkembangan dari Hub networks. Layer 2 switched network menciptakan segmen collision domain individu untuk setiap perangkat dihubungkan ke setiap port di switch. hal ini membebaskan dari kendala jarak Ethernet, sehingga jaringan yang lebih besar bisa dibangun.


(17)

Namun seringkali, setiap kemajuan baru datang dengan masalah baru. Sebagai contoh, semakin besar jumlah pengguna dan perangkat, semakin banyak lagi paket broadcast dan setiap switch yang harus ditangani.

Gambar 2.2 Manfaat dari switched network

Sumber : CCNA study guide (hal 553)

Masalah lain yang perlu diperhatikan adalah keamanan. karena di dalam

layer 2 internetwork switch, semua user dapat mengakses semua perangkat secara

default. Selain itu pengiriman paket tidak bisa dihentikan, dan tidak bisa menghentikan pengguna dari berusaha untuk menanggapi paket broadcast. Hal Ini berarti pilihan keamanan terbatas untuk menempatkan password pada server dan perangkat lain.

Hal tersebut dapat diatasi dengan membuat Virtual Local Area Network

(VLAN). kita dapat memecahkan banyak masalah yang terkait dengan layer 2

switching dengan VLAN.

Berikut adalah bagaimana VLAN memudahkan manajemen jaringan: 1. Memudahkan penambahan jaringan (segment), dengan hanya

mengkonfigurasi port ke VLAN yang sesuai.

2. Pengguna yang memerlukan tingkat keamanan yang tinggi dapat digolongkan kedalam VLAN tertentu sehingga pengguna di luar VLAN tidak dapat berkomunikasi dengan mereka.


(18)

3. VLAN mengelompokkan user secara logis, VLAN dapat dianggap independen karena tidak terbatas pada lokasi fisik atau geografis.

4. VLAN meningkatkan keamanan jaringan. VLAN memperbanyak jumlah

broadcast domain .

2.1.1 Broadcast Control

Broadcast terjadi pada setiap protocol, bagaimana broadcast terjadi dipengaruhi oleh 3 hal berikut:

1. Tipe dari protocol

2. Aplikasi yang berjalan pada internetwork

3. Bagaimana service digunakan

Sejak switch banyak memberikan kemudahan, perusahaan-perusahaan mulai mengganti flat hub networks dengan switched network dan VLAN. Setiap

devices yang menjadi anggota VLAN mempunyai broadcast domain yang sama. Jadi secara default, port yang tidak menjadi anggota VLAN yang sama, tidak akan menerima broadcast tersebut. Hal ini akan mengatasi banyak masalah yang timbul.

2.1.2 Keamanan

Flat internetwork mempunyai kelemahan sebagai berikut:

1. Setiap orang yang menghubungkan physical network dapat mengakses

network resources pada LAN tersebut.

2. Setiap orang dapat menganalisa paket-paket yang terjadi dengan menghubungkan network analyzer pada hub yang tersedia.


(19)

3. User dapat bergabung dengan workgroup dengan menghubungkan

workstation pada hub.

Hal tersebut membuat VLAN sangat dibutuhkan. Jika kita membuat banyak broadcast group, kita dapat mengontrol setiap port dan user. Sehingga setiap orang yang menghubungkan workstation ke switch port tidak akan mendapat akses penuh pada jaringan tersebut.

2.1.3 Flexibilitas

Kita tahu bahwa layer 2 switch hanya membaca frame untuk filtering, tidak berdasar network layer. Dan secara defult switch mem-forward semua

broadcast. Tetapi dengan adanya VLAN, kita dapat membuat broadcast yang lebih kecil pada layer 2.

Setiap broadcast yang dikirim, tidak akan dikirim ke VLAN yang berbeda. Dengan menetapkan switch port menjadi VLAN group, kita mendapat flexibilitas. Flexibilitas dalam menambah user pada broadcast, tidak peduli lokasi fisik user

tersebut.

Keunggulan lainya adalah jika anggota VLAN terlalu banyak, kita dapat membuat VLAN untuk menjaga broadcast tidak memakan banyak bandwith. Semakin sedikit user maka semakin sedikit broadcast yang diterima sehingga

bandwith semakin kecil. (Lammle, 2007)

2.2 Web Server

Web server adalah software yang menjadi tulang belakang dari world wide web yang berfungsi untuk melayani permintaan halaman-halaman web, seperti


(20)

website. Web server menunggu permintaan dari client yang menggunakan browser

seperti Netscape Navigator, Internet Explorer, Modzilla, dan program browser

lainnya. Jika ada permintaan dari browser, maka web server akan memproses permintaan itu kemudian memberikan hasil prosesnya berupa data yang diinginkan kembali ke browser. Data ini mempunyai format yang standar, disebut dengan format SGML (standar general markup language). Data yang berupa format ini kemudian akan ditampilkan oleh browser sesuai dengan kemampuan

browser tersebut. Contohnya, bila data yang dikirim berupa gambar, browser

yang hanya mampu menampilkan teks (misalnya lynx) tidak akan mampu menampilkan gambar tersebut, dan jika ada akan menampilkan alternatifnya saja.

Web server, untuk berkomunikasi dengan client-nya (web browser) mempunyai protocol sendiri, yaitu HTTP (hypertext transfer protocol). Dengan

protocol ini, komunikasi antar web server dengan client-nya dapat saling dimengerti dan lebih mudah. Seperti telah dijelaskan diatas, format data pada

world wide web adalah SGML. Tapi para pengguna internet saat ini lebih banyak menggunakan format HTML (hypertext markup language) karena penggunaannya lebih sederhana dan mudah dipelajari. Kata HyperText mempunyai arti bahwa seorang pengguna internet dengan web browsernya dapat membuka dan membaca dokumen-dokumen yang ada dalam komputernya atau bahkan jauh tempatnya sekalipun. Hal ini memberikan cita rasa dari suatu proses yang tridimensional, artinya pengguna internet dapat membaca dari satu dokumen ke dokumen yang lain hanya dengan meng-klik beberapa bagian dari halaman-halaman dokumen (web) itu. Proses yang dimulai dari permintaan webclient (browser), diterima web


(21)

lagi dilakukan secara transparan. Setiap orang dapat dengan mudah mengetahui apa yang terjadi pada tiap-tiap proses. Secara garis besarnya web server hanya memproses semua masukan yang diperolehnya dari web clientnya. (Budhi,2010)

2.3 HTML (Hypertext Markup Language)

HTML merupakan protokol yang digunakan untuk mentransfer data antara

web server ke web browser. Protocol ini mentransfer dokumen-dokumen web

yang ditulis atau berformat HTML. HTML dikatakan markup language kaena HTML berfungsi untuk memformat file dokumen teks biasa untuk ditampilkan pada web browser dengan bantuan tanda-tanda yang sudah ditentukan. Hal tersebut dapat dilakukan dengan menambahkan elemen atau yang sering disebut sebagai tag.

Elemen HTML biasanya berupa tag yang berpasangan dan setiap tag ditandai dengan symbol < dan >. Pasangan dari sebuah tag ditandai dengan tanda „/‟. Misalnya pasangan dari tag <contoh> adalah </contoh>. Dalam hal ini <contoh> disebut sebagai elemen dan biasanya dalam suatu elemen terdapat atribut-atribut untuk mengatur elemen tersebut. Contoh elemen yang disertai atribut adalah sebagai berikut: <contoh atribut1=‟nilai atribut1‟ atribut2=‟nilai atribut2‟>. Dalam penulisan tag HTML tidaklah case sensitive yang artinya penulisan huruf besar dan kecil tidaklah menjadi masalah.

2.3.1 Struktur dasar HTML

Script HTML dituliskan dalam text editor seperti Notepad, kemudian ditulis dengan ekstensi .htm atau .html. kemudian untuk mencobanya dapat dapat


(22)

langsung dibuka dengan web browser. Setiap dokumen HTML memiliki struktur dasar atau susunan file sebagai berikut:

<html> <head>

<title>berisi teks yang akan muncul pada title bar browser</title>

</head> <body>

Berisi tentang teks, gambar atau apapun yang ingin ditampilkan </body>

</html>

Seperti dapat dilihat struktur file HTML diawali dengan sebuah tag <HTML> dan ditutup dengan tag </HTML>. Didalam tag ini terdapat dua bagian besar yaitu yang diapit oleh tag <head>….</head> dan yang diapit oleh tag <body>…</body>.

Bagian yang diapit oleh tag HEAD merupakan header dari halaman HTML dan tidak ditampilkan pada window browser. Bagian ini berisi tag-tag

header seperti <title>…</title> yang berfungsi untuk mengeluarkan judul pada

title bar window web browser.

Bagian kedua yang diapit oleh tag BODY merupakan bagian yang akan ditampilkan pada window web browser nantinya. Pada bagian ini dapat dituliskan semua jenis informasi yang berupa teks dengan bermacam format maupun gambar yang nantinya akan disampaikan pada pembaca. (Sunarfrihantono,2002)

2.4. PHP

PHP adalah bahasa scripting server-side, artinya bahasa yang digunakan pada server dengan tanpa perlu melakukan kompilasi tetapi cukup menuliskan tulisan dalam bentuk ASCII-nya saja. PHP sangat mirip dengan penulisan bahasa C, juga mempunyai karakteristik yang mirip dengan perl. Bahasa PHP ini sangat mudah untuk dipelajari.


(23)

PHP memungkinkan kita membuat halaman web secara on-the-fly artinya program pada halaman web dapat dibaca oleh orang yang browsing ke server kita. Kita dapat melakukan hal ini dengan cara mengambil data dari database atau file, memanipulasi data tersebut, dan mengirimkan data tersebut ke webbrowser.

Dengan menggunakan PHP, kita dapat meng-update database, membuat

database, dan melakukan perhitungan matematis (termasuk fungsi trigonometri

yang kompleks). Kita juga dapat membuat dan menghapus file-file secara acak di system kita, bergantung pada level sekuriti yang menjalankan PHP. Kita juga dapat membuat koneksi jaringan internet dan melayani koneksi tersebut. Secara teori, kita juga dapat membuat sebuah web server yang canggih menggunakan PHP. (Purwanto, 2002)

PHP dapat juga digunakan untuk mengakses sistem. Perintah PHP yang digunakan adalah perintah SHELL_EXEC(perintah) dimana perintah yang dimasukan adalah perintah sistem.

2.5 Shell

Shell pada Linux dapat dianalogikan seperti prompt pada sistim operasi DOS. Shell pada Linux digunakan untuk melakukan interaksi dengan sistem operasi itu sendiri, dengan cara mengetikan sebuah baris perintah (command line), baik berupa peritah tunggal atau perintah majemuk dan diakhiri tombol enter. Namun cara berinteraksi seperti ini tidaklah efektif, terutama jika dibutuhkan berbagai operasi shell untuk melakukan suatu operasi tertentu secara peridoik dimana harus mengetikkan puluhan atau ratusan perintah secara berulang-ulang.


(24)

Pada Linux, untuk menanggulangi kondisi seperti diatas, dapat dibuat sebuah script, yaitu suatu file yang berisi urutan-urutan perintah untuk melakukan suatu operasi tertentu secara sekuensial. Pembuatan sebuah script identik dengan pembuatan sebuah program. (Syahputra,2002)

2.6 Ubuntu

Linux adalah salah satu sistem operasi yang menyita banyak perhatian para pengguna komputer yang ditemukan oleh Linus Torvalds. Tak heran jika Linux

dipakai menjadi nama operating system seperti nama penemunya. Agustus 1991, Linus mengerjakan versi 0.01. Dan pada tahun yang sama, tepatnya pada tanggal 5 October 1991, secara resmi meluncurkan versi 0.02.

Sejarah Linux Ubuntu. Ubuntu berasal dari bahasa Afrika yakni “Humanity to Others” yang berarti “Kemanusiaan Untuk Sesama”. Atas dasar

itulah diluncurkannya Linux Ubuntu yang dirilis pada tahun 2004. Sistem operasi ini adalah merupakan turunan dari sistem operasi Linux yang lain, yakni Debian.

Ubuntu itu sendiri dibuat dengan tujuan bahwa, Ubuntu selalu gratis tanpa adanya biaya lisensi, bersifat open source (kode terbuka), dan siap untuk dipergunakan dalam kondisi yang stabil. Ubuntu didukung oleh perusahaan bernama Canonical, Ltd yang memiliki tujuan untuk membantu perkembangan, distribusi, dan promosi dari produk-produk yang bersifat open source (kode terbuka). Perusahaan ini bermarkas di Eropa dan dipimpin oleh seseorang bernama Mark Shuttleworth.

Sejak pertama kali diluncurkan, Ubuntu mendapat perhatian yang sangat besar dari pengguna Linux yang lain. Hal ini disebabkan karena kestabilan yang


(25)

dimiliki oleh Ubuntu itu sendiri. Selain itu kenyamanan dan kemudahan yang dimiliki Ubuntu menjadi daya tarik yang besar bagi pengguna Linux di seluruh belahan dunia. (Bunga,2008)

2.7 Router

Router berfungsi sebagai penghubung antar dua atau lebih jaringan untuk meneruskan data dari satu jaringan ke jaringan lainnya. Router berbeda dengan

switch. Switch merupakan penghubung beberapa alat untuk membentuk suatu

Local Area Network (LAN). Sebagai ilustrasi perbedaan fungsi dari Router dan

switch merupakan suatu jalanan, dan Router merupakan penghubung antar jalan. Masing-masing rumah berada pada jalan yang memiliki alamat dalam suatu urutan tertentu. Dengan cara yang sama, switch menghubungkan berbagai macam alat, dimana masing-masing alat memiliki alamat IP sendiri pada sebuah LAN. Router sangat banyak digunakan dalam jaringan berbasis teknologi protokol TCP/IP, dan Router jenis itu disebut juga dengan IP Router. Selain IP

Router, ada lagi AppleTalk Router, dan masih ada beberapa jenis Router lainnya. Internet merupakan contoh utama dari sebuah jaringan yang memiliki banyak

Router IP. Router dapat digunakan untuk menghubungkan banyak jaringan kecil ke sebuah jaringan yang lebih besar, yang disebut dengan internetwork, atau untuk membagi sebuah jaringan besar ke dalam beberapa subnetwork untuk meningkatkan kinerja dan juga mempermudah manajemennya. Router juga kadang digunakan untuk mengoneksikan dua buah jaringan yang menggunakan media yang berbeda (seperti halnya Routerwireless yang pada umumnya selain ia dapat menghubungkan komputer dengan menggunakan radio, ia juga mendukung


(26)

penghubungan komputer dengan kabel UTP), atau berbeda arsitektur jaringan, seperti halnya dari Ethernet ke Token Ring.

Gambar 2.3 Router

http:// www.router-switch.com/_Cisco/2010/07/02/Router/

Router juga dapat digunakan untuk menghubungkan LAN ke sebuah layanan telekomunikasi seperti halnya telekomunikasi leased line atau Digital Subscriber Line (DSL). Router yang digunakan untuk menghubungkan LAN ke sebuah koneksi leased line seperti T1, atau T3, sering disebut sebagai access server. Sementara itu, Router yang digunakan untuk menghubungkan jaringan lokal ke sebuah koneksi DSL disebut juga dengan DSL Router. Router-Router

jenis tersebut umumnya memiliki fungsi firewall untuk melakukan penapisan paket berdasarkan alamat sumber dan alamat tujuan paket tersebut, meski beberapa Router tidak memilikinya. Router yang memiliki fitur penapisan paket disebut juga dengan packet-filtering Router. Router umumnya memblokir lalu lintas data yang dipancarkan secara broadcast sehingga dapat mencegah adanya

broadcaststorm yang mampu memperlambat kinerja jaringan. (Utomo,2011)

2.8 IP Tables

IPTABLES adalah modul di Linux yang memberikan dukungan langsung untuk keamanan sistem serta beberapa keperluan jaringan lainnya. IPTABLES


(27)

dapat digunakan untuk melakukan seleksi terhadap paket-paket yang datang baik

input, output, maupun forward berdasarkan IP address, identitas jaringan, nomor

port, source (asal), destination (tujuan), protocol yang digunakan, bahkan berdasarkan tipe koneksi terhadap setiap paket (data) yang diinginkan.

IPTables mengizinkan user untuk mengontrol sepenuhnya jaringan melalui paket IP dengan system LINUX yang diimplementasikan pada kernel Linux. Sebuah kebijakan atau Policy dapat dibuat dengan IPTables.

Sebuah policy pada IPTables dibuat berdasarkan sekumpulan peraturan yang diberikan pada kernel untuk mengatur setiap paket yang datang. Pada

IPTable ada istilah yang disebut dengan IPChain yang merupakan daftar aturan bawaan dalam IPTables. Ketiga chain tersebut adalah INPUT, OUTPUT dan

FORWARD. Berikut ini adalah diagram perjalanan paket data pada IPTables.

Gambar 2.4 blok diagram perintah IP Tables Sumber : http://www.scribd.com/doc/25831631/IPtables

Pada diagram tersebut, persegi panjang yaitu filter INPUT, filterOUTPUT, dan filter FORWARD menggambarkan ketiga rantai atau chain. Pada saat sebuah paket sampai pada salah satu persegipanjang diantara IPChains, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai


(28)

memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.

Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan

menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah

yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan

paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan defaultACCEPT.

Berikut ini adalah format penulisan iptables pada Ubuntu server.

iptables [– t tables] [option] [rule] [target]

Option terdiri dari perintah, dan parameter serta opsi tambahan, berikut ini adalah daftar dari perintah dan keteranganya:

a. -A atau – append Melakukan penambahan rule

b. -D atau –delete Melakukan penghapusan rule

c. -R atau – replace Melakukan penggantian rule

d. -L atau – list Menampilkan ke display, daftar iptables e. -F atau – flush Menghapus daftar iptables/pengosongan f. -I atau – insert Melakukan penyisipan rule

g. -N atau – new-chain Melakukan penambahan chain baru h. -X atau –delete-chain Melakukan penghapusan chain

i. -P atau – policy Memberikan rule standard j. -E atau – rename Memberikan penggantian nama


(29)

Berikut ini adalah daftar perintah parameter. Parameter digunakan untuk tujuan spesifikasi dari aturan pada iptables tersebut:

a. -p,– protocol (proto) Parameter ini untuk menentukan perlakuan terhadap

protocol

b. -s,–source (address) Parameter untuk menentukan asal paket c. -d, –destination (address) Parameter untuk menentukan tujuan paket d. -i, – in-interface paket Masuk melalui interface

e. -o,– out-interface paket keluar melalui interface f. -sport-source-port Menentukan port asal

g. -dport-destination-port Menentukan port tujuan

Berikut ini adalah daftar perintah dari chain, chain digambarkan sebagai jalur aliran data. Chains yang dipelrukan untuk iptables antara lain:

a. FORWARD, yaitu route paket akan di FORWARD tanpa diproses lanjut di lokal sistem.

b. INPUT yaitu route paket masuk ke dalam lokal sistem. c. OUTPUT yaitu route paket keluar dari lokal sistem.

d. PREROUTING yaitu Chain yang digunakan untuk keperluan sebelum paket masuk route. Biasanya dipakai untuk proses NAT.

e. POSTROUTING yaitu chain yang digunakan untuk keperluan perlakuan paket sesudah paket masuk route. Biasanya dipakai untuk proses NAT

Target adalah tujuan perlakuan terhadap rule sebelumnya. Pada target terletak keputusan paket data mau ditolak,diteruskan atau diolah terlebih dahulu. Berikut adalah daftar table target iptables.


(30)

b. DROP Rantai paket tersebut dibuang

c. REJECT Rantai paket tersebut ditolak seperti DROP

d. DNAT Rantai paket di “destinationnat” kan ke address lain e. SNAT Rantai paket di arahkan ke source nat tertentu

f. REDIRECT Rantai paket di redirect ke suatu addres dan port tertentu g. MASQUERADE Bekerja seperti SNAT tapi tidak memerlukan source

(Scribd, 2011)

2.9 Crontab

Penjadwalan merupakan salah satu tugas seorang sistem administrator, yang bertujuan untuk mengotomatisasi pekerjaan agar dapat berjalan tanpa penekanan tombol keyboard. Dengan adanya program cron pada linux memungkinkan untuk melakukan penjadwalan program yang secara periodik dapat dijalankan, contohnya kita ingin melakukan backup file setiap jam 2 dini hari. Layanan cron merupakan proses yang dibentuk oleh daemon cron. Semua yang dijalankan, diketahui oleh cron dengan membaca entri yang ada pada crontab.

Berikut ini adalah format penulisan Crontab pada Ubuntu server.

iptables [menit] [jam] [tanggal] [bulan] [hari] [perintah]

a. menit bernilai antara 0 sampai dengan 59. b. jam bernilai antara 0 sampai dengan 23. c. tanggal bernilai antara 1 sampai dengan 31. d. bulan bernilai antara 1 sampai dengan 12.

e. hari bernilai antara 1 sampai dengan 7, nilai 1 berarti hari senin, 2 berarti hari selasa dan seterusnya.


(31)

Ada beberapa cara untuk menuliskan rules waktu penjadwalan: 1. Menggunakan operator koma (,)

Dalam rule penjadwalan, operator koma diartikan sebagai dan. Berikut ini contoh penulisan dengan operator koma

contoh: * 2,14 * * * (bintang pertama mewakilin menit, kedua mewakili jam, ketiga mewakili, tanggal, keempat mewakili bulan dan kelima mewakili tahun)

Rule ini akan menghapus/menambah iptables setiap jam 02.00 dan 14.00 setiap harinya

2. Menggunakan operator asterik (*)

Operator ini digunakan untuk mengeksekusi perintah setiap waktu<br> Contoh: * * * * *

Rule ini akan menghapus/menambah iptables setiap menit setiap hari<br> 3. Menggunakan operator slash (/)

Operator “/” digunakan untuk mengeksekusi perintah setiap kelipatan waktu yang ditentukan

Contoh: */3 * * * *

2.9.1 Membuat penjadwalan dengan crontab

Untuk melakuakn penjadwalan kita dapat menggunakan perintah Crontab, dan setiap melakukan penjadwalan dengan crontab berarti proses tersebut akan diletakkan di dalam /var/spool/cron/nama_user. Untuk mengedit file crontab, gunakan perintah berikut :$ crontab –e. Gunakan editor vi untuk memasukkan


(32)

perintah yang akan dijadwal. Untuk melihat isi crontab dapat dilakuakn dengan perintah : $ crontab –1. (ICT center,2005)

2.10 TCP DUMP

TCP/IP merupakan standar untuk komunikasi antara dua komputer atau lebih. IP (Internet Protocol) menjalankan fungsinya pada network layer

(pengalamatan dan routing) sedangkan TCP (Transmission Control Protocol) menyediakan jalur hubungan end-to-end (transport layer).

TCPdump adalah tools yang berfungsi menangkap, membaca paket yang sedang ditransmisikan melalui jalur TCP. Untuk menjalankan TCPdump anda harus menggunakan user root. Adapun sintaks untuk menjalankan TCPdump adalah sebagai berikut

TCPdump [ -adeflnNOpqRStuvxX ] [ -c count ] [ -C file_size ] [ -F file ][ -i interface ] [ -m module ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -E algo:secret ] [ expression ]

Contoh : # TCPdump –i eth0 # TCPdump –X –i eth0 # TCP dump –n –v –i eth0

Perintah tersebut digunakan untuk melihat semua header paket yang termonitor oleh interface eth0. Pada perintah yang ke dua, selain header paket akan di tampilkan isi data yang di bawa dalam paket yang termonitor oleh interface eth0 baik dalam bentuk binary (hexadesimal) maupun dalam bentuk ASCII. Perintah ketiga berguna untuk melihat paket yang keluar masuk, dengan menghilangkan paket tertentu (-n) dan menambah kelengkapan informasi paket (-v)


(33)

Berikut adalah cuplikan hasil dari TCP dump:

[cc lang="VHDL"]19:57:06.748557 IP (tos 0×0, ttl 64, id 33646, offset 0, flags [DF], proto TCP (6), length 60)

192.168.1.4.33922 > 68.178.254.190.80: Flags [S], cksum 0x83ae (correct), seq 4011514848, win 5840, options [mss 1460,sackOK,TS val 612494 ecr 0,nop,wscale 6], length 0[/cc]

Keterangan:

1. 19:57:06.748557 merupakan waktu diambilnya TCPdump 2. tos 0×0 => tipe servis

3. ttl 64 merupakan time to live

4. id 33646 menunjukan nomer id paket

5. [DF] berarti don‟t fragment, artinya paket yang dikirim tidak terbagi-bagi. 6. proto TCP merupakan tipe dari protocol, bisa UDP, TCP ataupun ICMP 7. length 60 panjang paket + header

8. 192.168.1.4.33922 192.168.1.4 merupakan ip sumber dan 33922 portnumber

yang digunakan oleh client

9. 68.178.254.190.80 , ip tujuan dengan port 80

10. Flags [S] merupakan flag dari TCP dimana parameter S berarti ack reply dari server, parameter r berarti koneksi diulang, parameter F berarti untuk penanda akir dari pengiriman data, dan parameter P berarti data harus dikirim

secepatnya.

11. cksum 0x83ae (correct) merupakan TCP-header check-sum dari paket. 12. seq 4011514848 merupakan TCP sequence number

13. win 5840 merupakan jumlah yang akan dikirim sebelum mendapat Paket ACK dikirim kembali dari server

14. length 0 merupakan panjang dari data, bernilai 0 karena yang dikirim adalah


(34)

BAB III

METODE PENELITIAN

3.1 Perancangan Sistem dan Blok Diagram Sistem

Perancangan sistem dapat dijelaskan dengan lebih baik melalui blok diagram seperti yang terlihat pada Gambar 3.1 dibawah ini :

Gambar 3.1 Blok diagram

Gambar 3.1 merupakan blok diagram keseluruhan aplikasi yang akan dibuat. Web aplikasi diatas akan tertanam di PC Router. User yang akan mengakses PC Router harus memasukan authentifikasi, dimana orang yang berwewenang yang dapat masuk kedalam aplikasi yang dibuat.

Aplikasi yang dibuat terbagi atas 2 bagian utama, bagian pertama adalah untuk mengatur PC Router dan bagian kedua adalah untuk memonitor PC Router. Mengatur yang dimaksud adalah mengatur pembuatan VLAN, mengatur IP tables serta penjadwalanya. Sedangkan memonitor yang dimaksud adalah memonitor

web aplikasi PC Router

Mengatur PC Router

Memonitor PC Router Authentifikasi

Bandwith

Koneksi PC dengan internet Ip tables dan Penjadwalan


(35)

bandwith tiap VLAN dan memonitor koneksi PC tiap laboratorium, apakah terhubung dengan PC Router atau tidak.

PC Router Ubuntu untuk pembuatan aplikasi ini diujicobakan pada laboratorium sistem komputer di lantai 8 gedung Stikom Surabaya dengan topologi sebagai berikut:

Gambar 3.2 Topologi jaringan S1 Sistem Komputer

PC Router berfungsi untuk mengoneksikan ke enam laboratorium yaitu laboratorium jaringan dengan VLAN 180, laboratorium mikrokontroler dengan VLAN 181, laboratorium PLC (Programmable Logic Controller ) dengan VLAN 182, laboratorium RLA dengan VLAN 183, laboratorium digital dengan VLAN 184 dan dengan laboratorium CNAP dengan VLAN 185. Untuk koneksi internet PC Router melakukan proses NAT (Network Address Translation) dengan VLAN 88, yaitu VLAN yang telah terkoneksi dengan internet.

Aplikasi ini adalah aplikasi berbasis web, oleh karena itu penulis menggunakan PHP dalam implementasinya. Hal yang terpenting untuk


(36)

pembuatan aplikasi ini adalah pengaksesan shell. Dimana Setiap sintak yang berjalan pada terminal dapat dijalankan pada PHP. Untuk pengaksesan shell pada PHP dapat dilakukan dengan sintak php_shell (“perintah”). Contoh: $contoh= shell_exec(ifconfig), hal ini berarti isi variabel contoh adalah hasil dari ifconfig terminal.

Hal yang perlu diperhatikan lainya adalah otoritas user. User yang membuka halaman web, menempati kedudukan sebagai var-www. Secara default

user yang dapat mengakses sistem adalah root. Oleh karena itu, sebelum dijalankan penulis memberi otoritas pada var-www untuk mempunyai wewenang menjalankan perintah sistem.

3.2 Perancangan Pengaturan pada PC Router

Perancangan pengaturan PC Router dalam aplikasi ini terdiri dari 3 bagian utama, yaitu pengaturan VLAN, pengaturan iptables dan pengaturan penjadwalan iptables.

3.2.1 Pengaturan VLAN

Pengaturan VLAN yang dimaksud adalah membuat VLAN, menghapus VLAN, melihat VLAN yang dibuat dan menggonfirmasiVLAN yang dibuat kedalam PC Router.

A. Pembuatan VLAN

Perancangan pembuatan VLAN dapat dijelaskan dengan flowchart sebagai berikut:


(37)

start

Simpan ke file

end If validasi input

== true Input vid Input vname

Input netid Input ipvlan Input netmask Input broadcast

Input gateway

T

F

Gambar 3.3 flowchart pembuatan VLAN

Proses pembuatan VLAN merupakan proses awal dari penggunaan aplikasi ini. form ini akan menangkap inputan user dan menyimpanya kedalam file tertentu. Data yang harus dimasukan oleh user adalah VLAN id (nomor VLAN), nama VLAN, network id, ip VLAN, netmask VLAN, broadcast, dan gateway dari PC Router.

Pada dasarnya konsep pembuatan VLAN ini adalah membuat file interfaces sendiri. Input dari user membentuk 4 file yang berbeda, file pertama adalah init, sebagai inisialisasi di interface, file kedua adalah berisi konfigurasi VLAN, file ketiga adalah berisi konfigurasi routing, dan file keempat adalah berisi konfigurasi gateway dan path file iptables. Untuk mengkonfirmasi perubahan VLAN user harus membuka halaman apply-VLAN.


(38)

B. Penghapusan VLAN

Perancangan pembuatan VLAN dapat dijelaskan dengan flowchart sebagai berikut:

start

end kosongkan file init

vlan, routing, gateway

Gambar 3.4 flowchart penghapusan VLAN

Konsep penghapusan VLAN dilakukan dengan menghapus keempat file yang dibuat yaitu file konfigurasi VLAN, file konfigurasi routing, file konfigurasi gateway kecuali file init. File init berisi loopback dan auto eth0, sehingga file init harus selalu ada pada file interfaces.

C. Konfirmasi VLAN

Perancangan proses konfirmasi VLAN dapat dijelaskan dengan flowchart


(39)

start

end A= isi file init+ vlan

+routing + gw

Cp A ke /etc/ network/interfaces

Restart /etc/init.d/ networking

Gambar 3.5 flowchart apply-VLAN

Konfirmasi VLAN dimulai dengan menangkap isi dari file init, konfigurasi VLAN, konfigurasi routing dan konfigurasi gateway dari proses membuat VLAN. Isi ke empat file tersebut dimasukan kedalam satu file misalnya copy-interfaces. Kemudian copy copy-interfaces kedalam file /etc/network/interfaces. Setelah itu restart service dari network, service network

berada pada /etc/init.d/networking.

D. Menampilkan VLAN

Perancangan proses menampilkan VLAN dapat dijelaskan dengan


(40)

start

end Tampilkan isi file init, vlan, routing,

gateway

Gambar 3.6 flowchart melihat isi VLAN

Perancangan menampilkan VLAN dilakukan dengan menampilkan 4 file yaitu konfigurasi init, konfigurasi VLAN, konfigurasi routing dan kofigurasi gateway. Keempat file tersebut ditampilkan ke page list-perubahan VLAN.

3.2.2 Pengaturan Iptables

perancangan ip tables meliputi 3 hal, yaitu menambah iptables, menghapus iptables, dan melihat isi dari iptables.

A. Menambah Iptables

Perancangan proses menambah rules iptables dapat dijelaskan dengan


(41)

start

end Ambl vlan name dan net id dari file

Masukan source / vname, dest, chain, nama rule

Ip tables -A postrouting -s source -d dest

chain If source set

If validasi == true

T

T

Ip tables -A postrouting -s netid -d dest chain

F

F

Masukan nama ke file nama_rule

Masukan nama ke file nama_rule

Gambar 3.7 flowchart add iptables

Penambahan rules iptables dimulai dengan pendeteksian VLAN name dan net id yang telah dibuat. Pendeteksian VLAN didapat dari file yang dibuat pada halaman add VLAN. Setelah diambil variable tersebut membuat combo box. Combo box berisi VLAN name dengan value adalah net id.


(42)

Input nat disini bersifat opsional, bila nat diisi maka program menjalankan perintah iptables –t nat –A POSTROUTING –o nat. hal ini berarti semua VLAN yang dibuat, menggunakan jaringan nat sebagai koneksi internet. Input nat diisi dengan interface jaringan yang terkoneksi dengan internet.

User akan memasukan inputan ip asal, ip tujuan ,nat, combo box VLAN name serta chain. Halaman ini mendeteksi salah satu, bila source terisi maka input

source yang terpakai, selanjutnya menjalankan perintah iptables –A FORWARD

s source–d destination–j chain.

sebaliknya bila combo box VLAN name yang terisi, makan input dari kombo box yang terpakai. Selanjutnya program menjalankan perintah iptables –A

FORWARD–s net id –d destination–j chain.

B. Menghapus Iptables

Perancangan proses menambah rules iptables dapat dijelaskan dengan


(43)

start

end Input delete, delete all, number

Iptables -F forward If set delete all

If set delete Iptables -D forward

number

T

F

F

T Kosongkan file nama_rule Masukan isi file

nama_rule kekombobox

number

Hapus array number pada file

nama_rule

Gambar 3.8 flowchart penghapusan iptables

untuk menghapus rule, user harus memilih combo box delete ataupun

delete all, bila delete yang dipilih maka user harus memasukan input baris yang dihapus. Pertama user harus memasukan input, input deleteall yang dipilih maka PHP memanggil command iptables –F FORWARD, jika delete yang dipilih maka PHP memanggil command iptables –D FORWARD baris.


(44)

C. Melihat Iptables

Perancangan proses melihat rules iptables dapat dijelaskan dengan

flowchart berikut:

start

end Var=Iptables -L

Tampilkan var

Gambar 3.9 flowchart melihat iptables

Pada flowchart diatas, cara yang digunakan adalah memasukan isi dari perintah iptables –L dan kemudian memasukannya dalam suatu variabel. Variabel tersebut kemudian ditampilkan ke halaman tersebut.

3.2.3 Pengaturan Penjadwalan Iptables

Pengaturan penjadwalan iptables terbagi ada 4 halaman PHP, yaitu halaman untuk membuat jadwal penambahan rules, halaman untuk menghapus jadwal penghapusan rules, halaman untuk melihat jadwal dan halaman untuk menghapus jadwal.


(45)

A. Pembuatan Jadwal Penambahan Rules

Perancangan proses membuat jadwal penambahan rules dapat dijelaskan dengan flowchart berikut:

start

end Detect vname vid

dengan Ambil vname dan vid dari

file

Masukan jam menit hari tanggal

bulan source/ vname destination chain, nama rules

If source vname set

Masukan menit jam tanggal bulan hari dan perinah sudo iptables -A forward vname destination

-j chain ke file jadwal

Masukan menit jam tanggal bulan hari dan perinah sudo iptables -A forward source destination -j chain

ke file jadwal

T

F

Crontab file jadwal If validasi ip ==

true

F tanggal bulan hari dan Masukan menit jam perinah echo nama rule ke

file nama_rules

Masukan menit jam tanggal bulan hari dan perinah echo nama rule ke

file nama_rules

A

A

T

Gambar 3.10 flowchart penjadwalan penambahan rules

Penjadwalan penambahan rules iptables mempunyai konsep yang hampir sama dengan penambahan iptables. Penjadwalan dimulai dengan pendeteksian VLAN name dan net id yang telah dibuat. Pendeteksian VLAN didapat dari file


(46)

yang dibuat pada halaman add VLAN. Setelah diambil variable tersebut membuat combo box. Combo box berisi VLAN name dengan value adalah net id.

User harus memasukan input penjadwalan, source (dari kombo box ataupun masukan manual), destination dan juga chain. Setelah mengisi inputan, yang dilakukan program adalah memroses hasil inputan tersebut. Bila combo box terisi, maka program mengabaikan inputan source dan program menyimpan teks ke file jadwal dengan format [menit] [jam] [tanggal] [bulan] [hari] sudo iptables – A FORWARD –s netid yang dipilih –d destination –j chain. Sebaliknya bila

source terisi maka program menyimpan teks ke file jadwal dengan format [menit] [jam] [tanggal] [bulan] [hari] sudo iptables –A FORWARD –s source –d

destination–j chain. Setelah itu menjalankan perintah crontab file jadwal.

B. Pembuatan Jadwal Penghapusan Rules

Perancangan proses membuat jadwal penghapusan rules dapat dijelaskan dengan flowchart berikut:


(47)

start

end Masukan jam

menit hari tanggal bulan delete/

deleteall nama_rule yang

dihapus

If set delete

Masukan menit jam tanggal bulan hari dan perinah sudo iptables -D forward nama_rule ke file

jadwal

Masukan menit jam tanggal bulan hari dan perinah sudo iptables -F forward

file jadwal

T

F

Crontab file jadwal Ambil nama rules

dari file nama_rules

Masukan menit jam tanggal bulan hari dan perinah sh coba.sh nama_rule ke file

jadwal

If validasi ip ==true

F

A

A

T

Gambar 3.11 flowchart menghapus jadwal deleterules

Inputan user pada halaman ini hampir sama dengan halaman sebelumnya,

user memasukan menit, jam, tanggal, bulan, hari, delete/deleteall, dan baris. Inputan baris berfungsi bila perintah delete yang dipilih. Bila delete yang dipilih maka program memanggil perintah * * * * * sudo iptables –D forward baris, * * * * * merupakan inputan jadwal yang dimasukan user. Sebaliknya bila delete all yang dipilih maka program memanggil perintah * * * * * sudo iptables –F


(48)

C. List Penjadwalan

Perancangan proses melihat penjadwalan dapat dijelaskan dengan

flowchart berikut:

start

end Var= isi file jadwal

Tampilkan var

Gambar 3.12 flowchart menampilkan penjadwalan

Untuk melihat penjadwalan dapat dilakukan dengan menangkap isi file jadwal pada sebuah variabel, dengan perintah var=shell_exec(cat file jadwal). Kemudian langkah berikutnya adalah menampilan var.

D. Hapus Penjadwalan

Perancangan proses menghapus jadwal dapat dijelaskan dengan flowchart


(49)

start

end Kosongkan file

jadwal

Gambar 3.13 flowchart menghapus jadwal

Untuk menghapus jadwal, berarti menghapus file jadwal. Hal ini dilakukan dengan cara mengisikan karakter kosong kedalam file tersebut. Perintah yang digunakan adalah shell_exec(echo “” > file jadwal).

3.3 Perancangan Monitoring pada PC Router

Perancangan monitoring meliputi 2 hal yaitu monitoring bandwith tiap VLAN dan monitoring koneksi PC laboratorium dengan jaringan PC Router.

3.3.1 Monitoring Bandwith

Untuk algoritma program monitoring bandwith yang digunakan akan dijelaskan melalui flowchart berikut:


(50)

start

end Ambil vid dan

vname dari file Open ajax.php

If set vname

Ambil variabel bandwith , tcp ,udp

If ajax.php ready state

Save vname ke file

Gambar grafik dan speedometer

Timer 10 s Load gambar

speedometer

F

T

T

F

A

A

Gambar 3.14 Flowchart menampilkan bandwith dan grafik bar

Monitoring dimulai dengan pendeteksian VLAN name dan net id yang telah dibuat. Pendeteksian VLAN didapat dari file yang dibuat pada halaman add VLAN. Setelah diambil, variable tersebut membuat combo box. Combo box berisi VLAN name dengan value adalah net id. Berikutnya program menampilkan gambar speedometer, dan merequest file ajax untuk mendapat parameter,


(51)

parameter nantinya digunakan untuk menggambar grafik bar tiap port dan juga menggapdate variabel dari speedometer.

User memilih nama VLAN yang akan dimonitoring, jika program mendeteksi pemilihan maka variabel net id disimpan di file pemilihan. Setelah itu memanggil request untuk membuka file ajax.php. berikut perintah untuk merequest http, var xmlhttp=new XMLHttpRequest();

xmlhttp.open("GET","ajax.php",true);

setelah membuka file ajax, program akan menunggu file ajax sampai terbuka dengan sempurna (ready state = 4). Nilai ready state mempunyai 5 nilai. Berikut ini adalah daftar lengkap dari nilai ready state: 0 (uninitialized), 1 (Loading) 2 (Loaded) 3(interactive) 4(complete). File dibaca dengan baik bila state file adalah 4 dan status bernilai 200, setelah itu hasil dari file ajax diambil. Parameter yang diambil adalah persentasi masing-masing port, baik TCP, UDP, ICMP maupun bandwith. Kemudian parameter dipresentasikan dengan gambar dan grafik. Berikut adalah cuplikan kode agar menunggu sampai file terbuka dengan sempurna.

xmlhttp.onreadystatechange=function() {

if (xmlhttp.readyState==4 && xmlhttp.status == 200) {

parameters = xmlhttp.responseText.split('|'); for(var x=0;x<47;x++)

{

for(var y=0;y<2;y++) {

nama[x][y]=parameters[(x*2)+2+y]; alert(nama[x][y]);

} }


(52)

Program diatas berfungsi untuk memanggil fungsi setiap ready state berubah, dan data akan diambil bila ready state bernilai 4 yaitu complete dan status code bernilai 200. Status code 200 berarti data telah termuat dengan sempurna. Pengambilan data dimasukan dalam variabel parameter. Data yang masuk adalah data yang ditampilkan pada file ajax dengan pemisah (|). Data yang masuk pada parameter dimasukan kedalam array 2 dimensi agar dapat dimanupulasi dengan mudah, dengan nama(x)(0) berarti nama port dan (x)(1) berarti besar presentase.

Menggambar grafik dilakukan dengan membuat tabel. Untuk grafik vertikal, program membuat 1 baris dengan banyak kolom. Kolom diisi dengan jumlah presentase port + (peresentase port + 1 pixel) dengan style background berwarna merah + nama port. Penggambaran ini dilakukan berulang-ulang sampai setiap variabel tergambar. Berikut adalah cuplikan file menggambar grafik secara vertikal.

var html = '';

html += '<table border="0"><tr>'; for (var i=0; i < 14; i++)

{

html += '<td align="center" valign="bottom">' +

parseInt(nama[i][1]) + '<div

style="background:red;width:30px;height:' +

(parseInt(nama[i][1])+1)+'px"> </div>' + nama[i][0] +'</td>'; }

html += '</tr></table>';

document.getElementById("graphDiv").innerHTML = html;

sintak diatas merupakan sintak javascript sehingga setiap penulisan sintak html harus ditambahkan dengan ''. perulangan dari 0 sampai 14 merupakan pembuatan data vertikal dari paket TCP. Tiap perulangan proses yang ditampilkan adalah presentasi digabungkan dengan 1+presentase dalam pixel digabungkan dengan nama port. Setelah itu dituliskan pada graphDiv.


(53)

Untuk menggambar horisontal , program membuat 1 baris dengan 3 kolom. Kolom pertama diisi dengan jumlah presentase port, kolom kedua diisi (peresentase port + 1 pixel) dengan style background berwarna merah dan kolom ketiga diisi dengan nama port. Penggambaran ini dilakukan berulang-ulang sampai setiap variabel tergambar. Berikut adalah cuplikan file menggambar grafik secara horisontal.

var html2 = '';

html2 += '<table border="0">'; for (var i=15; i < 20; i++) { html2+= '<tr>'; html2+= '<td>'; html2+= nama[i][0]; html2+= '</td>'; html2+= '<td>';

html2+= '<hr id="red" style="height: .8em; ' + 'background-color: green; color: green; ' + 'margin-left: 0; text-align: left; '

+ 'width: ' + (parseInt(nama[i][1])+1) + 'px">'; html2+= '</td>';

html2+= '<td>'; html2+= nama[i][1]; html2+= '</td>'; }

html2 += '</table>';

document.getElementById("graph").innerHTML = html2;

Prinsipnya hampir sama dengan menggambar secara vertical. Penulisan

html dimasukan pada variabel html 2. Perulangan dilakukan sebanyak 5 kali, sesuai dengan jumlah paket port paket UDP dari data ke 15 sampai data ke 20. Untuk menggambar, dibuat tabel dengan setiap baris mempunyai 3 kolom, kolom pertama berisi keterangan port, kedua berisi panjang port dalam pixel yang berwarna hijau dan ketiga berisi panjang port dalam angka.

Untuk Menggambar speedometer dilakukan dengan meload gambar speedometer dari bindow script. Jika ada perubahan parameter bandwith, maka variabel bantu akan bertambah atau berkurang 1 sampai sama dengan variabel


(54)

bandwith. Setiap penambahan dan pengurangan variabel bantu, digambarkan secara langsung oleh pergerakan jarum pada speedometer. Berikut cuplikan penggambaran speedometer pada program.

var gauge = bindows.loadGaugeIntoDiv("gauge.xml",

"gaugeDiv");

if (simpan > parseInt(parameters[1])) { drawGaugemin(); } else { drawGauge(); } function drawGaugemin() { ; if (simpan-1<parseInt(parameters[1])) { simpan=parseInt(parameters[1]); } else { simpan=simpan-1; updateGauge();

var t2=setTimeout("drawGaugemin()",100); } } function drawGauge() { if (simpan+1>parseInt(parameters[1])) { simpan=parseInt(parameters[1]); } else { simpan=simpan+1; updateGauge();

var t2=setTimeout("drawGauge()",100); }

}

function updateGauge() {

gauge.needle.setValue(simpan); gauge.label.setText( simpan ); }


(55)

Var gauge merupakan variabel untuk memanggil speedometer yang dibuat oleh bindow. Simpan adalah variabel bantu yang digunakan untuk menggambarkan jarum pada speedometer. Bila simpan lebih kecil dari bandwith

maka, akan memanggil fungsi pengurangan simpan (draw gauge min). Sebaliknya jika simpan lebih besar makan simpan akan bertambah satu persatu sampai tercapai hasil yang sama dengan bandwith (draw gauge). Setiap pengurangan atau penambahan pada variabel simpan akan digambarkan pada fungsi update gauge. Dimana update gauge menggambarkan posisi jarum dan text pada speedometer.

Berikut adalah flowchart dari file ajax, file ajax adalah file yang mengolah data dari TCP dump menjadi data matang berupa bandwith dan presentase tiap

port:

start

end Ambil vname dari

pc.php

Tcpdump 10 s dari vname

Bandwith = total length /10 Presentase port =

jumlah length port tertentu/ jumlah

port x 100 % Simpan port_src,

port_dest, length, proto

Kelompokan tcp udp berdasar port,

jumlahkan length berdasar port Tampilkan bandwith dan presentase port A A


(56)

Pertama file ajax membaca variabel yang telah dibuat oleh monitoring dari file pemilihan, kemudian program memberikan perintah TCPdump –n –v dengan interface variabel selama 10 detik. Opsi –n berguna untuk menghilangkan sistem dns, sehingga yang terlihat adalah ip bukan nama dari name server, sedangkan –v berguna untuk melihat paket secara lengkap termasuk panjang paket. Berikut adalah cuplikan dari TCP dump.

[cc lang="VHDL"]19:57:06.748557 IP (tos 0×0, ttl 64, id 33646,

offset 0, flags [DF], proto TCP (6), length 60)

192.168.1.4.33922 > 68.178.254.190.80: Flags [S], cksum 0x83ae

(correct), seq 4011514848, win 5840, options [mss 1460,sackOK,TS

val 612494 ecr 0,nop,wscale 6], length 0[/cc]

Keterangan:

1. 19:57:06.748557 merupakan waktu diambilnya TCPdump 2. tos 0×0 => tipe servis

3. ttl 64 merupakan time to live

4. id 33646 menunjukan nomer id paket

5. [DF] berarti don’t fragment, artinya paket yang dikirim tidak terbagi-bagi. 6. proto TCP merupakan tipe dari protocol, bisa UDP, TCP ataupun ICMP 7. length 60 panjang paket + header

8. 192.168.1.4.33922 192.168.1.4 merupakan ip sumber dan 33922 portnumber

yang digunakan oleh client

9. 68.178.254.190.80 , ip tujuan dengan port 80

10. Flags [S] merupakan flag dari TCP dimana parameter S berarti ack reply dari server, parameter r berarti koneksi diulang(reset), parameter F berarti untuk penanda akir dari pengiriman data, dan parameter P berarti data harus dikirim secepatnya.


(57)

12. seq 4011514848 merupakan TCP sequence number

13. win 5840 merupakan jumlah yang akan dikirim sebelum mendapat Paket ACK dikirim kembali dari server

14. length 0 merupakan panjang dari data, bernilai 0 karena yang dikirim adalah

header.

Setelah dijalankan Data dari tcpdump disimpan kedalam file hasil. program akan memotong informasi destination port, source port, panjang data +

header, dan jenis protocol. Cara pemotongan yang digunakan adalah pemotongan berdasarkan kolom. Dari beberapa percobaan, diketahui bahwa kolom protocol

berada pada kolom 14, port source berada pada kolom 3, panjang paket berada pada kolom 17, dan port destination berada pada kolom 1. Tiap data yang dipotong dimasukan kedalam file, untuk media penyimpanan. Kemudian proses selanjutnya, file dibuka, data file diambil dan dimasukkan kedalam array. Berikut cuplikan pemotongan jenis protokol pada file ajax.

$save1=shell_exec ("cat /home/sendy/monitor/hasil3 |grep proto |

awk '{print $14}' > /home/sendy/monitor/proto")

fopen('/home/sendy/monitor/proto', 'r');

while (!feof($fp)) { $kata2=fgetc($fp); if ($kata2=="T"){

$proto[$count]="TCP";

$count=$count+1; }

else if($kata2=="U"){

$proto[$count]="UDP";

$count=$count+1; }

else if($kata2=="I"){

$proto[$count]="ICMP";

$count=$count+1; }

} Fclose


(58)

Pada sintak diatas variabel save berfungsi untuk memanggil perintah terminal untuk memotong baris ke 14 pada file hasil dan menyimpanya kedalam file proto, dimana file hasil adalah file berisi paket tcpdump selama 10 detik. Cat merupakan perintah pada terminal yang berfungsi untuk menampilkan isi file. Grep berfungsi untuk menangkap kata, sedangkan awk berarti pemotongan pada kolom.

Tiap variabel dimasukan kedalam array tertentu, sehingga terbentuk 4 variabel array dari destinationport, sourceport, length dan protocol. Kelompokan tiap port berdasarkan jenis protokolnya dan jumlahkan panjang data. Suatu paket dikatakan port http bila source port atau destination port bernilai 80. Berikut adalah cuplikan pengolahan data file ajax:

for ($i=0;$i<$count;$i++){ if ($proto[$i]=="TCP"){

if($kesatuanport[$i]==20 or $kesatuanport_s[$i]==20){

$ftpdata=$ftpdata+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==21 or $kesatuanport_s[$i]==21){

$ftp=$ftp+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==22 or $kesatuanport_s[$i]==22){

$ssh=$ssh+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==23 or $kesatuanport_s[$i]==23){

$telnet=$telnet+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==25 or $kesatuanport_s[$i]==25){

$smtp=$smtp+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==53 or $kesatuanport_s[$i]==53){

$nameserver=$nameserver+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==80 or $kesatuanport_s[$i]==80){

$http=$http+$kesatuanpanjang[$i]; }


(59)

else if($kesatuanport[$i]==109 or $kesatuanport_s[$i]==109){ $pop2=$pop2+$kesatuanpanjang[$i];

}

else if($kesatuanport[$i]==110 or $kesatuanport_s[$i]==110){

$pop3=$pop3+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==220 or $kesatuanport_s[$i]==220){

$imap3=$imap3+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==443 or $kesatuanport_s[$i]==443){

$https=$https+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==993 or $kesatuanport_s[$i]==993){

$imaps=$imaps+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==995 or $kesatuanport_s[$i]==995){

$pop3s=$pop3s+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]>1023 and $kesatuanport_s[$i]>1023){ $others=$others+$kesatuanpanjang[$i];

} }

else if ($proto[$i]=="UDP"){

if($kesatuanport[$i]==53 or $kesatuanport_s[$i]==53){

$u_nameserver=$u_nameserver+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==80 or $kesatuanport_s[$i]==80){

$u_http=$u_http+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==138 or $kesatuanport_s[$i]==138){

$netbios_dgm=$netbios_dgm+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==161 or $kesatuanport_s[$i]==161){

$snmp=$snmp+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==220 or $kesatuanport_s[$i]==220){

$u_imap3=$u_imap3+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]==443 or $kesatuanport_s[$i]==443){

$u_https=$u_https+$kesatuanpanjang[$i]; }

else if($kesatuanport[$i]>1023 and $kesatuanport_s[$i]>1023){ $u_others=$u_others+$kesatuanpanjang[$i];

}

else if ($proto[$i]=="ICMP"){

$ICMP=$ICMP+$kesatuanpanjang[$i]; }


(60)

$total=$total+$kesatuanpanjang[$i]; }

Pada sintak diatas terlihat bahwa setiap paket yang masuk didiurutkan berdasarkan jenis protocol, baik protocol TCP, UDP dan ICMP. Jika port TCP, dikelompokan lagi berdasarkan nomor port, suatu paket dikatakan port http jika

source portnya bernilai 80 atau destination port bernilai 80, begitu juga dengan

port lainya. Jika masuk ke pengelompokan port http, maka jumlah dari data dimasukan kedalam variabel tertentu.

Jenis port yang ditampilkan adalah port yang umum yaitu untuk protocol

TCP adalah port ftp, ftp data, ssh, telnet, smtp, nameserver, http, pop2, pop3, imap3, https, imaps, pop3s, dan other. Perlu diketahui others merupakan port

diluar well-known-port. Sedangkan untuk UDP dengan port nameserver, http, https, netbios dgm, snmp, imap3, others. Dan yang terakhir adalah protocol

ICMP. Protocol ICMP tidak mempunyai portnumbers.

Bandwith didapat dengan hasil penjumlahan total panjang tiap port dibagi dengan 10 (TCPdump berjalan selama 10 detik). Panjang data pada TCP dump mempunyai satuan byte. Sehingga perlu dibagi 1000 lagi untuk menjadi

KiloBytes/second. Sedangkan presentase masing-masing port didapat jumlah panjang tiap port tersebut dibagi jumlah total port dikali dengan 100 persen.

3.3.2 Monitoring Koneksi PC dengan PC Router

Monitoring koneksi PC yang dilakukan menggunakan metode ping ke tiap PC dari jaringan yang dipilih, berikut adalah flowchart monitoring koneksi PC:


(61)

start

end Ambil vname

vbroadcast vnetid

If set vname Input vname

Ambil vbroadcast and vnetid

Ping dari netid +1 sampai vbroadcast -1

output image ok dan ip yang di

ping If Request time

out

output image not ok dan ip yang di

ping A A T F T F B B

Gambar 3.16 flowchart monitoring PC

Pertama-tama program mengambil dari file yang dibuat oleh pembuatan VLAN, file yang diambil adalah VLAN name, VLAN broadcastid dan VLAN netid. Algoritma dari pemrograman ini adalah jika VLAN name terpilih dari kombo box, maka program memberikan perintah untuk mengeping dari netid +1 sampai dengan broadcast id -1 dari VLAN name tersebut. Jika balasan ping adalah reqest time out maka menampilkan gambar sukses dan menampilkan ip yang di ping, jika tidak request time out maka menampilkan gambar gagal dan menampilkan ip yang di ping.


(62)

3.4 perancangan authentifikasi

Perancangan authentifikasi akan dijelaskan dengan flowchart berikut:

start

end index.php Masukan user dan

password

Redirect checklogin.php Connect database If submit

Output wrong username password

Session registerd, redirect iptables.php

If user and password not

found

end

Gambar 3.17 Flowchart authentifikasi

Pada index PHP, terdapat form login dimana user harus memasukan

username login dan password login. Authentifikasi dibuat agar orang yang berwenang saja yang dapat mengakses PC Router. Setelah di submit form, isi dari

username dan password disimpan dan page akan merubah ke halaman checklogin, pada halaman checklogin, program akan melakukan koneksi ke database, jika

username dan password tidak berada di database maka akan menampilkan wrong username password. Jika benar maka session akan terdaftar kemudian halaman page akan dirubah lagi ke iptables.php.


(63)

$sql="SELECT * FROM $tbl_name WHERE username=root and password='$mypassword'";

$result=mysql_query($sql); $count=mysql_num_rows($result); if($count==1){

session_register("myusername"); session_register("mypassword");

header("location:ip-tables.php");

} else {

echo "Wrong Username or Password"; }

Baris pertama merupakan penyimpanan penyimpanan isi table members mysql kedalam variabel sql. Variabel count akan mengecek kesamaan username dan password pada database. Bila cocok, maka nilai count bernilai 1, dan session terdaftar, jika tidak bernilai 1 maka user dianggap tidak terdaftar.

Untuk mencegah user masuk ke aplikasi tanpa authentifikasi, maka tiap awal page dari tiap fungsi diberi sintak. Isi sintak tersebut adalah, page tersebut dapat dibuka bila session teregistrasi (sudah login terlebih dahulu). Berikut adalah cuplikan sintak yang harus dimasukan pada tiap halaman:

session_start();

if(!session_is_registered(myusername)){

header("location:index.php");

}

Sintak diatas berguna untuk menolak user yang langsung masuk ke halaman fungsi tanpa login terlebih dahulul. bila session tidak terdaftar melalui proses login, maka diredirect ke file index.php

Untuk page log out, page hanya keluar dari session dan kembali ke halaman login, berikut cuplikan sintak untuk log-out.php:

session_start(); session_destroy();


(64)

sedangkan untuk database, dilakukan dengan mysql. Database yang digunakan diberi nama username dan tabelnya bernama members. Untuk masuk kedatabase menggunakan sintak. Mysql –u root –p. sehingga hanya root sajalah yang dapat masuk kedalam database mysql yang telah dibuat.

3.5 Perancangan Validasi IP

Perancangan Validasi terhadap IP dapat dijelaskan dengan flowchart berikut:

start

Validasi=true i=0

While i <= strlen(ip)

If ip[i] bukan angka dan bukan titik

Valid= false

If ip[i] != “.” Tmp.=ip[.]

If i[[i]==”.”

PotonganIP[J]=tm p J++ T F F T T T Valid= false i++ F If J!=4 If PotonganIP[j] <0 or potongan

IP[J]>255 Valid= false J=0 While j<=3 J++ F T T T T F End


(65)

Untuk validasi, ip dikatakan benar bila mempunyai format xxx.xxx.xxx.xxx, dimana tiap xxx berisi angka bulat dengan kisaran antara 0-255. Ip dikatakan salah, bila tidak sesuai dengan format diatas.

Validasi IP dilakukan dengan mendeteksi inputan ip dari user. Program akan mendeteksi karakter yang dimasukan user tiap karakter. Bila karakter yang dimasukan user bukan angka dan bukan titik, maka validasi akan dibuat menjadi salah, bila angka, kemudian program akan menghitung panjang angka tersebut, bila angka tersebut mempunyai panjang lebih besar 3 digit, maka validasi bernilai salah, sebaliknya jika mempunyai panjang 3 atau kurang dari 3 digit, angka dimasukan kedalam array sementara. Kemudian program akan mengecek tiap potongan 3 digit tersebut, bila 3 digit lebih dari 255, atau kurang dari 255. Maka validasi juga bernilai salah.


(1)

4.6.4 Hasil Pengujian Validasi

Pengujian validasi dilakukan pada form penambahan VLAN, itput form yang dimasukan adalah ip yang salah seperti gambar 4.28. dimana ip vlan, vlan ID dan netmask vlan merupakan vlan yang tidak valid. Ip vlan harus mempunyai format x.x.x.x dimana tiap x mempunyai kisaran angka dari 0-255. Vlan id mempunyai kisaran angka dari 1-255.

Gambar 4.28 Percobaan validasi


(2)

Setelah dilakukan form submit, maka akan terlihat hasil validasi pada gambar 4.29. dimana terdapat keterangan bahwa validasi yang dimasukan salah, sehingga user harus memasukkan ulang input ip, netmask dan juga vlan id.


(3)

BAB V PENUTUP

5.1 Simpulan

Setelah melakukan penelitian dan pengujian terhadap sistem yang dibuat, dapat diambil kesimpulan sebagai berikut:

1. aplikasi dapat memantau bandwith pada router PC dengan baik. Terlihat pada hasil percobaan, bahwa hasil bandwith yang terbaca sesuai dengan hasil jumlah paket tiap port dibagi dengan waktu.

2. aplikasi untuk memantau koneksi PC berjalan dengan baik. Hal ini dibuktikan pada hasil percobaan, dimana aplikasi mampu memantau tiap PC, apakah PC tersebut terhubung dalam jaringan atau tidak.

3. aplikasi untuk mengatur iptables dan penjadwalan berfungsi dengan baik. Terlihat pada hasil percobaan, bahwa setiap aturan dan penjadwalan yang dibuat pada aplikasi, memberikan perubahan secara langsung pada iptables.

5.2 Saran

Berikut ini terdapat beberapa saran yang penulis berikan untuk peneliti berikutnya apablia ingin mengembangkan sistem yang telah dibuat ini agar menjadi lebih baik adalah sebagai berikut :


(4)

2. penambahan iptables masih terbatas pada source dan destination, sehingga pada pengembangan selanjutnya, dapat dilakukan penambahan segala macam jenis aturan pada iptables.

3. pemantauan bandwith bisa dikembangkan lebih lanjut dengan menggunakan database untuk membantu admin menganalisa jaringan.


(5)

DAFTAR PUSTAKA

Budhi.2010. Webserver dan instalasi xampp. (Online).

(http://kangbudhi.files.wordpress.com /2010/06/web-server-dan-instalasi-xampp.pdf, diakses 10 juli 2011).

Bunga, Sandryones.2008. Mengenal Linux Ubuntu. (Online). http://Linux.or.id/node/2679, diakses 10 juli 2011).

Herlambang, Tito. 2002. Membangun Web Server Dengan Linux. Jakarta: Elex Media Komputindo.

ICT. 2005. Modul Pelatihan System Administrator ICT Center. Purwakarta: ICT Center.

Jardiq.2010. Router. (Online). http://jardiq.wordpress.com/2010/07/02/Router/, diakses 4 februari 2010.

Lammle, Todd. 2007. Cisco Certified Network Associate STUDY GUIDE. Indianapolis : Sybex

Onno. 2002. TCPdump untuk melihat paket data di jaringan. (Online).

(http://onno.vlsm.org/v09/onno-ind-1/network/network-security/TCPdump-untuk-melihat-paket-data-di-jaringan-1-2002.rtf,diakses januari 2012) Scribd. 2011. IPTable. (Online). http://www.scribd.com/doc/25831631/IPtables,

diakses 20 Maret 2011.

Sunarfrihantono, Bimo.2002. PHP dan MySQL untuk WEB. Yogyarkarta : Andi. Syahputra, Andry. 2002. Pemrograman Berbasis Linux. Yogyakarta : Andi.


(6)

Utomo, Budi. 2011. Fungsi Router. (Online). http://

www.budiutomo.com/2011/08/fungsi-Router.htmlRouter.html, diakses 15 Agustus 2011.

Wagito. 2005. Jaringan Komputer Teori dan Implementasi Berbasis Linux. Yogyakarta: Gava Media.