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
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.
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.
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.
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.
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.
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.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.
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.
Gambar 4.27 Ping terhadap 192.168.180.1 gagal .. Error! Bookmark not defined.
Gambar 4.28 Percobaan validasi ... Error! Bookmark not defined.
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
(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
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
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,
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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,
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
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
BAB III
METODE PENELITIAN
3.1 Perancangan Sistem dan Blok Diagram Sistem
Perancangan sistem dapat dijelaskan dengan lebih baik melalui blok
[image:34.595.91.506.281.529.2]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
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
[image:35.595.98.505.222.506.2]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
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
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
[image:37.595.94.513.80.510.2]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
[image:38.595.95.508.159.548.2]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
[image:39.595.95.512.75.532.2]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
[image:40.595.275.349.83.262.2]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
[image:41.595.89.504.81.611.2]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.
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
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
[image:43.595.94.508.79.523.2]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.
C. Melihat Iptables
Perancangan proses melihat rules iptables dapat dijelaskan dengan
flowchart berikut:
start
end Var=Iptables -L
[image:44.595.96.503.186.491.2]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
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
[image:45.595.92.504.185.624.2]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
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
[image:47.595.97.504.76.524.2]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
[image:48.595.97.506.179.519.2]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
[image:49.595.275.349.82.276.2]start
end Ambil vid dan
vname dari file Open ajax.php
If set vname
Ambil variabel bandwith , tcp ,udp
If ajax.php ready state
[image:50.595.90.532.80.531.2]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
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]);
} }
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
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
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() {
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,