PEMBUATAN SERVER BANDWIDTH MANAJEMEN BERBASIS WEB MENGGUNAKAN LIN UX S LACKWARE 13.1
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Mad ya Program Diploma III Ilmu Komputer
Disusun O leh :
KINTOKO SETYOWIDIYANTO NIM . M 3308016
PROGRAM DIPLOM A III ILM U KOM PUTER
FAKULTAS MATEM ATIKA DAN ILMU PEN GETAHUAN ALAM UNIVERSITAS SEBELAS M ARET
commit to user
PEMBUATAN SERVER BANDWIDTH MANAJEMEN BERBASIS WEB MENGGUNAKAN LIN UX S LACKWARE 13.1
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer
Disusun O leh :
KINTOKO SETYOWIDIYANTO NIM. M3308016
PROGRAM DIP LOMA III ILM U KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERS ITAS S EBELAS MARET
Kata Penganta r
Segala puji dan syukur penulis panjatkan kehadirat Allah SWT karena dengan ridho dan karunia-Nya serta atas berkah dan rahmat-Nya, penulis dapat menyelesaikan penyusunan laporan Tugas Akhir ini. Laporan dengan judul
Server Bandwidth Manaje men Berbasis Web Menggunakan Linux
diajukan sebagai salah satu syarat Mencapai Gelar Ahli Madya Program Diploma III Ilmu Komputer, Universitas Sebelas Maret S urakarta.
Selanjutnya dengan segala kerendahan dan ketulusan hati, penulis menyampaikan ucapan terima kasih kepada semua pihak yang telah memberikan bantuan dan dorongannya baik secara langsung maupun tidak langsung sehingga penulis dapat menyelesaikan laporan ini. Ucapan terima kasih d itujukan kepada :
1. Ir. Ari Handono Ramelan, M.Sc(Hons), P h. D selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret S urakarta. 2. Drs. YS. Palgunadi, M.Sc selaku Ketua Jurusan D3 Teknik Informatika. 3. Bud i Legowo, S.Si, M.Si selaku Do sen wali yang telah membimbing d an
memberi arahan kepada penulis selama menuntut ilmu di Universitas Sebelas Maret S urakarta.
4. Agus Purnomo, S.S i selaku dosen pembimbing yang banyak sekali meluangkan waktu untuk memberikan petunjuk dan arahan dalam menyelesaikan Laporan Kegiatan Magang Ma hasiswa ini.
5.
penulis baik secara moril maupun materiil.
6. Rekan Ira Asta Wredhana, teman seperjuangan dalam Kegiatan Tugas Akhir yang banyak memberikan bantuannya.
7. Rekan rekan mahasiswa D3 Teknik Komputer angkatan 2008 yang tidak dapat penulis sebutkan satu persatu.
Akhir kata, semoga ketulusan serta bantuan dari semua pihak tersebut diatas mendapat berkah dan anugerah dari Allah SW T.
commit to user
Abstract
KINTOKO SETYOWIDIYAN TO. M3308016. DEVELOPING WEB-BAS ED BANDWIDHT M ANAGEM ENT S ERVER WITH SLACKWAR E 13.1. Final Project Diploma Degree of Computer Engineering, S urakarta : Faculty o f
Mathematic and Natural Sciences, Sebelas Maret University S urakarta, 2011.
In a local network that connected to the Internet, there is needed for bandwidth management so that available bandwidth can be used optimally. For bandwid th management server, it usually uses Linux because of the reliability o f the system configuration. But for the co nfiguration, it most shall be set thro ugh the Terminal. For large-scale configuratio n, it will take much time.
The aim of this final project is to create a Web-based bandwidth management server using Linux S lackware 13.1. Web interfaces was created with the PHP programming language together with HTB-tools, namely tools for bandwid th management. PHP interface was created using scripts that gives co mmands to the terminal. The system was also facilitated to change the co nfiguration file that will be executed by the operating system. Interface made has five main menu, namely: basic, limiter, tools, graph and user. Menu contains the basic configuration o f IP Address, Bridge, NAT, and DNS. Limiter menu contains configuratio n for the purposes of limits on the client. Tools menu contains tools for p ing and trace ro ute. Graph menu contains the subnet configuration form which will be shown o n the chart and the menu to disp lay the graph itself. User menu contains a configuration to edit the user who has the right to make configuration and logout to exit the co nfiguration session.
It can be co ncluded that Developing Web-Based Bandwidth M anagement
Server With Slack ware 13.1
job beco mes easier in management bandwidth on his network. Admin has no longer to input commands through the terminal so that it can save more time. Risk of errors in inputting commands or scripts in the terminal can also be avoided.
Abstrak
KINTOKO SETYOWIDIYANTO. M 3308016. PEM BUATAN SERVER BANDWIDTH M ANAJEMEN BERBASIS WEB M ENGGUNAKAN LINUX SLACKWARE 13.1. Tugas Akhir, Surakarta : Fakultas Matematika dan Ilmu
Pengetahuan Alam, Universitas Sebelas Maret Surakarta, 2011.
Dalam sebuah jaringan lokal yang terhubung dengan internet, perlu adanya manajemen bandwidth agar bandwidth yang tersedia bisa d igunakan d engan optimal. Untuk server bandwidth manajemen, biasanya menggunakan linux oleh karena kehandalan dari sistem konfigurasinya. Tetapi untuk ko nfigurasi, kebanyakan harus di-setting melalui Terminal. Untuk konfigurasi berskala besar, tentu akan memakan banyak waktu.
Untuk itu, telah dibuat Server Bandwidth manajemen berbasis Web menggunakan linux Slackware 13.1. Interface Web dibuat dengan bahasa pemrograman P HP disatukan dengan HTB-tool, yaitu tool untuk k eperluan manajemen Bandwidth. Interface PHP yang dibuat menggunakan skrip yang memberikan perintah pada terminal. Ada juga yang mengubah file konfigurasi yang nantinya dieksekusi oleh sistem operasi.
Interface yang dib uat mempunyai lima menu utama yaitu : basic, limiter, tool, graph dan user. Menu basic berisikan konfigurasi IP Address, Bridge, NAT, dan
DNS. Menu limiter berisikan konfigurasi untuk kep erluan limit pada client. Menu tool berisikan tool untuk ping dan trace route. Menu graph berisikan form konfigurasi
subnet yang akan ditamp ilkan pada grafik dan menu untuk tampilan grafik itu sendiri. Menu user berisikan konfigurasi untuk edit user yang mempunyai hak untuk
melakukan konfigurasi dan logout untuk keluar dari sesi konfigurasi. Dengan adanya
Interface ini, maka pekerjaan admin menjadi lebih mudah dalam kegiatan manajemen Bandwidth pada jaringannya. Admin tidak perlu lagi menginputkan perintah melalui
terminal sehingga lebih menghemat wak tu. Resiko terjadi kesalahan d alam menginputkan perintah ataupun skrip dalam terminal juga b isa d ihindari.
commit to user
Daftar Isi
Kata Pengantar... v
Abstact... vi
Abstartk... vii
Daftar Isi... viii
Daftar Gambar... ... ix BAB I P ENDAHULUAN ... 1 1.1.Latar Belakang... 1 1.2.Rumusan Masalah... 1 1.3.Batasan Masalah... 1 1.4. ... 2 1.5. ... 2 1.6. ... 2
BAB II LANDASAN TEORI ... 4
2.1. HTB ... 4
2.2. HTB-tool ... 6
2.3. Slackware... 8
2.4. PHP ...8
BAB III DESAIN DAN PERANCANGAN... 8
3.1. Perancangan sistem... 12
3.2. Analisa Kebutuhan... 13
3.3. Mekanisme Kerja... 14
BAB IV IP LEMENTASI DAN ANALIS A... 20
4.1. Instalasi Linux S lackware... 20
4.2. Instalasi P rogram... 27 4.3. Layout Web... 29 4.4. Pengujian... 48 BAB V PENUTUP... 53 Kesimpulan ... 53 Saran ... 53
Daftar Ga mba r
Gambar 2.1. Hirarki HTB ...4
Gambar 2.2. Alur kerja HTB... 5
Gambar 3.1. Topo lo gi jaringan limiter ...12
Gambar 3.2. Alur sistem Interface limiter ...13
Gambar 3.3. Mekanisme kerja Tugas Akhir ...14
Gambar 3.4. Site map Interface limiter ...16
Gambar 3.5. Rencana layout login ...16
Gambar 3.6. Rencana layout isi Web ...17
Gambar 3.7. Rencana layout form pengisian ...17
Gambar 3.8. Rencana layout info rmasi inputan ...18
Gambar 3.9. Rencana layout output ...18
Gambar 4.1. Pembuatan partisi hardisk ...20
Gambar 4.2. Tamp ilan setup slackware ...20
Gambar 4.3. Memilih swap pada slackware ...21
Gambar 4.4. Pemilihan source master slackware ...21
Gambar 4.5. Pemilihan paket yang di instal ... ...22
Gambar 4.6. Menu nggu pro ses instalasi ...22
Gambar 4.7. Melihat aplikasi MySQ L... 23
Gambar 4.8. Melihat aplikasi apache(httpd)... 23
Gambar 4.9. Melihat ap likasi P HP... 24
Gambar 4.10. Konfigurasi untuk menjalankan PHP sebelum diub ah. ... 24
Gambar 4.11. Konfigurasi untuk menjalankan PHP setelah diuba h... 25
Gambar 4.12. Melihat ap likasi brctl... 25
Gambar 4.13. Melihat ap likas ip tables... 26
Gambar 4.14. Melihat ap likasi iptables-save... 26
Gambar 4.15. Instalasi HTB tool. ...27
Gambar 4.16. Melihat aplikasi HTB tool... 27
Gambar 4.17. Melihat paket Bandwidthd...28
Gambar 4.18. Setting Interface yang ditampilkan oleh Bandwidthd... 28
Gambar 4.19. Menjalankan Bandwidthd... 28
commit to user
Gambar 4.22. Tamp ilan informasi ip address ...30
Gambar 4.23. Form pengisian ip address ...30
Gambar 4.24. Tamp ilan ip address setelah diubah...31
Gambar 4.25. File rc.local ...31
Gambar 4.26. Pendaftaran sudoers rc. inet1.conf ...32
Gambar 4.27. Tampilan Bridge ...32
Gambar 4.28. Form isian konfigurasi Bridge... 33
Gambar 4.29. Tampilan Bridge setelah penambahan konfigurasi... 33
Gambar 4.30. Pesan penghapusan Bridge... 34
Gambar 4.31. Informasi NAT ...34
Gambar 4.32. Form input NAT ...35
Gambar 4.33. Tamp ilan NAT yang sudah diubah ...35
Gambar 4.43. Pesan penambahan NAT ...36
Gambar 4.35. File teks untuk menyimpan informasi NAT. ... ...36
Gambar 4.36. Informasi NAT dari iptables. ... ...36
Gambar 4.37. Script agar autoload NAT...37
Gambar 4.38. Tamp ilan DNS. ...37
Gambar 4.39. Tamp ilan DNS yang telah d iubah. ...38
Gambar 4.40. Pesan penambahan DNS ...38
Gambar 4.41. File konfigurasi DNS ...39
Gambar 4.42. Tamp ilan limiter. ...39
Gambar 4.43. Halaman konfigurasi class 40 Gambar 4.44. Tampilan edit nama class . 40 Gambar 4.45. Halaman tambah nama class ... 41
Gambar 4.46. Tampilan perubahan setting class 41 Gambar 4.47. Halaman konfigurasi class default ... 42
Gambar 4.48. Halaman konfigurasi class yang di edit . 42 Gambar 4.49. Halam laporan perubahan client. 43 Gambar 4.50. Form ping ...43
Gambar 4.51. Informasi output ping...44
Gambar 4.52. Form trace route ...44
Gambar 4.53. Output trace route ...45
Gambar 4.54. Tamp ilan grafik ...45
Gambar 4.56. Penggantian info rmasi login. ...46
Gambar 4.57. Kesalahan input password lama...47
Gambar 4.58. Tamp ilan setelah logout ...47
Gambar 4.59. Topologi pengujian Bridge... 48
Gambar 4.60. Pengecekan Bridge melalui client... 48
Gambar 4.61. Topologi pengujian N AT... 49
Gambar 4.62. Pengecekan NAT melalui client... 49
Gambar 4.63. Topologi pengujian L imiter... 50
Gambar 4.64. Konfigurasi limiter di Interface... 50
Gambar 4.65. 51
Gambar 4.66. Kecepatan download pada client laptop Gambar 4.67. Kecepatan download pada client Gambar 4.68. Kecepatan download
commit to user
BAB I PENDAHULUAN 1.1. Latar Belakang M asalah
Dalam sebuah jaringan lokal yang terhubung dengan internet, perlu adanya pengaturan bandwidth. Pengaturan ini diperlukan agar bandwidth yang tersedia bisa digunakan dengan optimal, layaknya pengaturan pada arus kendaraan bermotor. Dalam pengaturan bandwidth yang diatur adalah kecepatan trafik upload dan
download agar semua client bisa mendapatkan bandwidth dengan adil. Selain koneksi
ke internet, trafik pada jaringan itu sebaiknya juga diatur untuk koneksi antara client dengan server lokal jika ada. Hal ini bertujuan agar pengaturan koneksi ke server lokal tidak sama dengan pengaturan ke internet.
Untuk server bandwidth manajemen, biasanya menggunakan linux. Karena memp unyai keamanan yang relatif lebih tinggi, misalnya: linux lebih tahan terhadap serangan virus. Linux juga ideal untuk dijalankan sebagai server karena relatif leb ih stabil untuk d ijalankan dalam wak tu yang lama. Tetapi untuk ko nfigurasi, kebanyakan harus di-setting melalui Terminal. Untuk konfigurasi berskala besar, tentu akan memakan banyak wak tu.
Untuk mempermudah dan mempercepat dalam administrasi manajemen
bandwidth, maka akan dibuat interface berbasis web dengan php untuk menjembatani
perintah admin yang akan diterjemahkan kedalam CLI.
1.2. Perumusan Masalah
1. Bagaimana instalasi Linux sebagai server manajemen bandwidth?
2. Bagaimana membuat server manajemen bandwidth yang mempunyai interface konfigurasi yang user-friendly?
1.3. Batasan Masalah
Dalam Tugas Akhir ini, diberikan batasan masalah sebagai berikut: 1. Server bandwidth management diterapkan pada mode brigdge dan NAT
2. interface bandwidth management berbasis web dengan bahasa pemrograman php. 3. Software bandwidth management menggunakan HTB-tool versi 0.2. 7.
4. Server di buat pada platform linux slackware 13.1 5. Menggunak an 5 Interface Ethernet.
1.4. Tujua n da n M anfaat
Adapun tujuan dan manfaat dari Tugas Akhir ini adalah:
1. Membuat server manajemen bandwidth yang mempunyai interface konfigurasi yang user-friendly.
2. Memudahkan administrator jaringan dalam manajemen bandw idth.
1.5. Metodologi Penelitian
Dalam pembuatan dan peyusunan tugas ak hir ini, penulis menggunakan metode seb agai berikut:
1.5.1. Metode Literatur
Metode ini merupakan metode pengump ulan referensi baik dari media cetak maupun med ia elektornik yang menunjang dalam penyusunan dan pembuatan tugas akhir ini.
1.5.2. Metode Observasi
Metode ini merupakan metode pengump ulan data dengan cara pengujian terhadap alat yang buat.
1.6. Sistematika Penulisan 1.6.1. Bab I (Penda huluan)
Memuat latar belakang masalah, perumusan masalah, batasan masalah, tujuan dan manfaat, serta metodologi penelitian dalam TA ini.
1.6.2. Bab II (La ndasan Teori)
Landasan teori memuat tinjauan p ustaka dan teori yang mend ukung dalam tugas akhir ini. Meliputi: HTB-tool digunakan dalam management bandwidth. Linux S lackware sebagai Sistem Operasi yang digunakan da n PHP untuk memb uat tampilan interface web nya.
1.6.3. Bab III (Desain dan Pe rancangan)
Memuat tentang desain logika sistem yang diperlukan dalam perancangan produk TA ini, serta persiapan alat dan bahan yang digunakan dalam pembuatan
commit to user
1.6.4. Bab IV (Implementasi da n Analisa)
Memuat tentang langkah dan hasil analisa serta sajian data dalam TA ini.
1.6.5. Bab V (Penutup)
Memuat Kesimpulan yang didapat dari prod uk TA ini, serta saran bagi pembaca yang berminat mengembangkan p roduk TA ini.
BAB II
LANDASAN TEORI
2.1. HTB (Hierarchical Token Bucket)
Hierarchichal Token Bucket adalah suatu classful qd isc yang d itulis oleh
martin Devera dengan yang lebih sederhana bentuk parameternya dibanding C BQ. Ada banyak dokumentasi tentang HTB dan penggunaannya.
Di bawah adalah suatu ringkasan skema HTB sistem. Secara konseptual, HTB adalah suatu jumlah yang berubah-ubah dari token bucket diatur dalam suatu hirarki (susunan terstruk tur). Mari kita mempertimbangkan skenario yang paling sederhana. seperti queuing disiplin device yang dikenal sebagai root qdisc.
Gambar 2.1. Hirarki HTB
The root qdisc akan berisi satu kelas (skenario kompleks bisa mempunyai
berbagai kelas yang berkaitan dengan the root qdisc ). HTB kelas Tunggal ini akan diset dengan dua parameter, suatu tingkat tarip (a rate) dan suatu ceil (a ceil). N ilai-Nilai ini harus merupakan yang sama untuk the top-level class, dan akan menghad irkan total bandwidth yang tersedia di link atau jaringan.
Di HTB, rate berarti bandwidth yang dijamin dari yang tersedia untuk kelas yang ditentukan dan ceil (ceiling) adalah yang menandai (adanya) bandwidth
commit to user
antara rate dan ceil itu meminjam dari suatu kelas parent, biasanya rate dan ceil menjadi yang sama d i dalam kelas yang tertinggi (parent class). Jumlah kelas child dapat dibuat di bawah kelas parent, masing- masing dapat dialokasikan jumlah
bandwidth yang tersedia dari kelas parent.
Di kelas child, tingkat rate dan ceil parameter nilai- nilainya tidak perlu sama tidak seperti kelas parent. Rule ini mengijinkan untuk mencadangkan jumlah
bandwidth yang ditetapkan pada kelas tertentu . Itu juga mengijinkan HTB untuk
mengkalkulasi perbandingan distribusi dari bandwidth tersedia pada perbandingan dari kelas mereka sendiri.
Implements Hierarchical Token Bucket adalah suatu classful yang queuing
mekanisme untuk linux traffic control sistem, dan menyediakan tingkat rate dan ceil yang mengijinkan user untuk mengendalikan bandwidth di kelas bandwidth tertentu seperti halnya menandai adanya perbandingan distribusi bandwidth ketika bandwidth ekstra menjadi tersedia (up to ceil).
Ingat ketika memilih bandwidth untuk kelas yang tertinggi (top-level class) bahwa traffic shaping hanya membantu jika kamu menjadi bottleneck antara LAN dan
Internet. seperti, conto h kasus di lingkungan jaringan kantor dan rumah. (Bahtiar,
2005)
Cara kerja HTB yaitu: pada General Scheduler menggunakan mekanisme
Deficit Round Robin (DRR) dan pada blok umpan baliknya, Estimator HTB
menggunakan Token Bucket Filter (TBF).
Pada HTB terdapat parameter ceil sehingga kelas akan selalu mendapatkan
bandwidth di antara base link dan nilai ceil linknya. Parameter ini dapat dianggap
sebagai Estimator kedua, sehingga setiap kelas dapat meminjam bandwidth selama
bandwidth total yang dipero leh memiliki nilai di bawah nilai ceil. Hal ini mudah
diimplementasikan dengan cara tidak mengijinkan proses peminjaman bandwidth pada saat kelas telah melampaui link ini (keduanya leaves dan interior dapat memiliki
ceil). Sebagai catatan, apabila nilai ceil sama dengan nilai base link, maka kelas-kelas
tidak diijinkan untuk meminjam bandwidth. Sedangkan jika nilai ceil diset tak terbatas atau dengan nilai yang lebih tinggi seperti kecepatan link yang d imiliki, maka akan d idapat fungsi yang sama seperti kelas non-bounded. (Yud ha, 2007).
2.2. HTB-tool
HTB Tool adalah software yang digunakan untuk manajemen bandwidth yang berjalan pada platform Linux. Cara penggunaan HTB Tool adalah melalui terminal pada Linux. HTB-tool adalah tool yang digunak an untuk menkonfigurasi paket yang menggunakan sistem HTB. Setelah di- instal pada sistem operasi (Linux S lackware 13.1), buka terminal dan masuk ke alamat instalasi HTB-tool, misal terdapat pada direktori: /etc/htb, maka masukkan perintah berikut pada terminal:
darkstar:/etc/htb# vi eth1-qos.cfg
Akan muncul skrip ko nfigurasi defaultnya. Conto h skripnya sebagai berikut.
#UPLOAD class LAN_1 {
bandwidth 256; # garansi bandwidth yg dialokasikan untuk LAN limit 256; # maksimal bandwidth yang bisa dicapai untuk LAN burst 2; # maksimum jumlah kbits yang di kirim sekali waktu priority 1; # priority 0 7, lebih kecil paling diprioritaskan client pc1 { bandwidth 128; limit 192; burst 2; priority 1; src { # source address 192.168.1.2/32; }; };
commit to user
client pc2 { bandwidth 64; limit 96 ; burst 2; priority 1; src { 192.168.1.3/32; }; }; client pc3 { bandwidth 64; limit 96; burst 2; priority 1; src { 192.168.1.4/32; }; }; }Test config dan jalankan shapper
darkstar:/etc/htb# htb eth1 start Applying traffic Rules for device eth1 Checking the config file....OK
Checking kernel support for HTB: present.(Gunawan, 2006) Mematikan limiter pada sebuah interface
darkstar:/etc/htb# htb eth1 stop deleting Rules for device eth1
Melihat trafik yang berjalan pada sebuah interface darkstar:/etc/htb# htb eth1 stats
to stop viewing the statistics, press Ctrl+C
Memerintahkan HTB untuk membuat skrip yang sedang berjalan pada sebuah
interface.
darkstar:/etc/htb# htb eth1 generate
compiling Rules for /etc/htb/eth1-qos.cfg... checking the configuration file ... OK. generating configuration file(s) for eth1
the eth1-qos.sh script file is saved to /tmp/eth1-qos.sh you can start the traffic Rules like: tc -b /tmp/eth1-qos.sh
Melihat versi HTB yang dipakai.
darkstar:/etc/htb# htb eth1 version
htb-tools initscript for Linux CIR/MIR capabilities v0.8 \(c\) 2003-2005 [email protected]. All rights reserved.
This script is released under the terms of
www.gnu.org/licenses/gpl.html
Work based on http://sgi.rdscv.ro/~ionuts/htb -tools
2.3. Linux Slackwa re
Berbeda dengan kebanyakan d istribusi GN U/Linux lainnya, Slackware Linux mengacu pada prinsip KISS (Keep It Simple Stupid). Hal ini berarti S lackware Linux tidak memiliki perangkat grafis yang komp leks untuk mengkonfigurasi sistem. Sebagai hasilnya, S lackware mamp u menyediakan transparansi dan flek sibilitas yang lebih.
Aspek lain yang membedakan pada S lackware adalah pengelola paket Slackware Linux. S lackware Linux tidak memiliki manajamen paket yang ko mpleks seperti RP M atau dpkg. Paketnya adalah berkas tgz (tar/gzip) normal, seringkali dengan tambahan script installasi dan juga berkas deskripsi. Untuk pengguna awam, tgz jauh lebih handal dibandingkan RP M, dan menghindari masalah ketergantungan. Fitur lain dari S lackware Linux yang cukup d ikenal adalah script inisialisasinya. Berbeda dengan kebanyakan distribusi GNU/Linux lainnya, Slackware Linux tidak memiliki sebuah direkto ri untuk setiap runlevel dengan link simbolik pada layanan yang harus dijalankan atau dihentikan pada runlevel tersebut. Slack ware Linux menggunakan pendekatan yang leb ih sederhana, dimana Anda b isa mengaktifkan atau menonaktifkan layanan dengan memainkan bit executable dari script inisialisasi.
Paket-paket pada S lackware Linux dikompilasi dengan modifikasi sesedik it mungk in. Hal ini berarti Anda bisa menggunakan sebagian besar dokumentasi GNU/Linux pada umumnya. (Daniël, 2007)
2.4. PHP
PHP adalah bahasa server side script ing yang menyatu dengan HTML untuk memb uat halaman web yang dinamis. Maksud dari server side scripting adalah sintaks dan perintah yang d iberikan akan sep enuhnya d ijalank an d i server tetapi disertakan pada dokumen HTML. Pembuatan web send iri merupakan kombinasi antara PHP sebagai bahasa pemrograman dan HTML sebagai pembangun halaman
commit to user
web. Ketika seorang pengguna internet akan membuka suatu situs yang menggunakan
fasilitas server side script ing P HP, terlebih dahulu server yang bersangkutan akan memproses semua perintah PHP di server lalu mengirimk an hasilnya dalam format HTML k e web browser pengguna internet tadi. Seorang pengguna internet tidak dapat melihat kode program yang d itulis dalam PHP sehingga keamanan dari halaman web menjadi lebih terjamin. (Apriandi, 2010).
Fungsi yang digunakan dalam Tugas Akhir ini d iantaranya sebagai berikut. a. echo
Output dari string.
Contoh skrip:
<?php
echo "Hello World";
?>
b. shell_exec
Fungsi untuk menamp ilkan output perintah terminal yang di eksekusi. Contoh skrip:
<?php
$output = shell_exec('ls -lart'); echo "<pre>$output</pre>";
?>
c. strstr / stristr
Fungsi untuk mencari string. Strstr adalah case-sensitive dan stristr adalah
case-insensitive.
Contoh skrip:
<?php
$email = '[email protected]';
$domain = strstr($email, '@');
echo $domain; // prints @example.com
$user = strstr($email, '@', true); // As of PHP 5.3.0
echo $user; // prints name ?>
d. if-else
Statement control untuk menyatakan syarat. Jika syarat terpenuhi, statement
Contoh skrip:
<?php
if ($a > $b) {
echo "a is greater than b"; } else {
echo "a is NOT greater than b"; }
?>
e. for
Statement control untuk menyatakan syarat. Statement akan terus dilakukan
sampai syarat tidak terpenuhi. Contoh skrip: <?php for ($i = 1; $i <= 10; $i++) { echo $i; } ?> f. explode
Memecah string dengan string. Contoh skrip:
<?php
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza); echo $pieces[0]; // piece1
echo $pieces[1]; // piece2 ?>
g. implode
Menggabungkan elemen array dengan string. Contoh skrip:
<?php
$array = array('lastname', 'email', 'phone');
$comma_separated = implode(",", $array);
echo $comma_separated; // lastname,email,phone // Empty string when using an empty array:
var_dump(implode('hello', array())); // string(0) "" ?>
commit to user
h. fileMembaca file menjada array. Contoh skrip:
<?php
// Get a file into an array. In this example we'll go through HTTP to get
// the HTML source of a URL.
$lines = file('http://www.example.com/');
?>
i. file_get_cotents
Membaca file menjadi string. Contoh skrip:
<?php
$homepage = file_get_contents('http://www.example.com/'); echo $homepage;
?>
j. file_put_cotents
Menulis string kedalam file. Contoh skrip:
<?php
$file = 'people.txt';
// Open the file to get existing content $current = file_get_contents($file);
// Append a new person to the file $current .= "John Smith\n";
// Write the contents back to the file file_put_contents($file, $current);
?>
k. md5
Fungsi untuk mengkalkulasi hash md5 dari sebuah string. Contoh skrip:
<?php
$str = 'apple';
if (md5($str) === '1f3870be274f6c49b3e31a0c6728957f') { echo "Would you like a green or red apple?";
}
?>
BAB III
DESAIN DAN PERANCANG AN
3.1. Perancangan Sistem 3.1.1. To pologi
Gambar 3.1. Topo lo gi jaringan limiter
Gambar 3.1. merupakan contoh topologi jaringan mode NAT dan
bridge sederhana yang dapat d iterapkan oleh seorang Administrator. Dengan interface ethernet pada server lebih dari dua, dapat dikonfigurasi menjadi
bermacam- macam topologi menggunakan bridge, NAT, atau gabungan antara keduanya. Sebagian dari topologi tersebut akan di uji pada Tugas Akhir ini. Untuk selengkapnya pada poin pengujian.
commit to user
3.1.2. Alur Sistem
Gambar 3.2. Alur sistem interface limiter.
User yang berada d iluar sistem berinteraksi melalui interface web. User
menginputkan perintah, dan diteruskan ke kernel HTB oleh interface web. Kernel HTB memberikan respon, diambil o leh interface web dan disajikan kepada user.
3.2. Analisa Kebutuhan 3.2.1. Hardware
Untuk pengoperasian secara optimal, dibutuhkan komputer dengan spesifikasi seperti berikut.
Prosessor : Intel Pentium 4 1,67 GHz atau setara. RAM : 256 MB
VGA : 32 MB Hardisk : 10 GB
Ethernet : min imal 2 buah maksimal 5 buah
3.2.2. Software
Untuk software yang dibutuhkan sebagai berikut.
a. Linux S lackware 13.1, sebagai sistem operasi yang digunakan. b. MySQL, sebuah sistem manajemen database.
c. Apache, server web untuk melayani dan memfungsikan situs web. d. PHP, sebuah bahasa pemro graman web.
e. Brctl, paket yang menangani mode bridge. f. Iptables, paket yang menangani mod e NAT
g. Ip tables-save, paket untuk menyimpan konfigurasi NAT.
h. HTB tool, software yang digunakan untuk manajemen bandwidth i. Bandwidthd, software untuk menampilkan grafik di web.
3.3. Mekanisme Kerja
Untuk mekanisme kerja Tugas Ak hir ini adalah sebagai berikut.
commit to user
3.3.1. Instalasi Linux Slack ware
Yang pertama d ilakukan adalah menginstal S istem Operasi. Yang dipilih adalah Linux Slackware 13.1. Linux ini termasuk sudah cuk up lengkap paket-paket yang terinstal dalam full version-nya. Linux versi ini juga merupakan versi terbaru yang keluar saat munculnya ide TA ini. Untuk itu, versi inilah yang dipakai.
Dalam linux ini, telah terinstal paket-paket yang akan d igunakan. Yaitu:
a. Bridge.
b.
c. -save igurasi NAT.
d. base.
e. interface yang akan dibuat.
f. interface yang dibuat.
3.3.2. Instalasi Program yang Diperlukan
Pertama instalasi HTB-tool versi0.2.7. Ini adalah program yang akan digunakan sebagai limiter. Yaitu membatasi bandwidth Download-Upload oleh client. Pembatasan/limit di lak ukan pada interface Ethernet yang ada pada server. Dalam TA ini, akan dibuat interface php yang bisa digunakan untuk menkonfigurasi limiter hingga 5 interface Ethernet.
Untuk memudahkan dalam manajemen database, digunakan PHP
MyAdmin. Walaupun database hanya digunakan untuk menyimpan info rmasi login. Karena dikhawatirkan akan berbahaya jika disimpan dalam file p hp.
Untuk menampilkan data trafik internet digunakan badwidthd yang di tampilkan dalam bentuk grafik.
3.3.3. Desain Interface
Mendesain interface PHP yang akan d ib uat. Menggunakan script PHP yang sebagian dikombinasikan dengan file text untuk menyimpan informasi yang dibutuhkan. Selain itu menggunakan fungsi yang dikombinasikan dengan perintah terminal pada slackware untuk mengeksekusi perintah. Karena ada
perintah terminal yang harus dijalankan oleh user root user apache
akan d idaftarkan pada sudoers.
Berikut adalah site map interface.
Gambar 3.4. Site map interface limiter
Untuk layout akan menggunakan template yang berlisensi free. Diduk ung dengan css untuk memb uat interface lebih menarik. Untuk layout sebagai berik ut.
commit to user
Gambar 3.5. rencana layout loginLayout Isi Web
Gambar 3.6. rencana layout isi web
Layout Form Pengisian
Layout Form Informasi Inputa n
Gambar 3.8. rencana layout informasi inp utan
Layout Output
commit to user
3.3.4. Membuat Interface
Memb uat interface menggunakan PHP dengan statement control-nya. Untuk menu dengan include, dan sebagian menggunakan javascript agar tampilan lebih dinamis.
3.3.5. Peng ujia n
Pengujian dilakukan dengan topologi yang bermacam- macam, yaitu
Bridge, NAT, atau gabungan ked uanya. Pengujian dilakukan melaui client
yang terhubung, dan mencoba apakah limiter bisa berjalan semestinya.
.
3.3.6. Hasil
Hasil berupa data trafik yang berjalan pada client dan pantauan dari
BAB IV
IMPLEMENTASI DAN AN ALISA
1. Instalasi Linux Slackware
Untuk menginstal pertama membuat partisi pada hardisk. Pertama
linux dan swap, dan pilih
per
Gambar 4.1. Pembuatan partisi hardisk
setup interface untuk
menginstal slackware. swap,
commit to user
Gambar 4.2. tampilan setup slackware
Memilih swap, yaitu pada partisi yang telah disiapkan melalui cfdisk tadi.
Gambar 4.3. memilih swap pada slackware
Memilih source S lackware. Disini menggunakan DVD, maka pilihan pertama yang digunakan.
Gambar 4.4. pemilihan source master slackware Memilih sowtware yang di install
mengurangi software yang di highlight.
Gambar 4.5. Pemilihan p aket yang di instal
commit to user
Gambar 4.6. Menunggu proses instalasi
Setelah instalasi S lackware, aplikasi berikut juga sudah termasuk didalamnya yaitu : MySQL, Apache, P HP, brctl, iptables, iptables-save. Untuk melihat dan menjalankannya, langkahnya sebagai berikut:
4.1.1. Mysql
Untuk melihat apl Muncul
tampilan berikut menandakan bahwa aplikasi ini sudah ada.
Gambar 4.7. Melihat aplikasi MySQ L
Gambar 4.8. Melihat aplikasi apache(httpd).
4.1.3. Php
commit to user
Gambar 4.9. Melihat aplikasi PHP.file
/etc/http/httpd.conf di bagian enable P HP.
Gambar 4.10. Konfigurasi untuk menjalankan PHP sebelum diub ah.
save konfigurasi.
Gambar 4.11. Konfigurasi untuk menjalankan P HP setelah diubah.
4.1.4. Brctl
Gambar 4.12. melihat aplikasi b rctl.
4.1.5. Iptables
Untuk meli
commit to user
Gambar 4.13. melihat aplikas ip tables.
4.1.6. Iptables-save
-save
Muncul tampilan bantuan berikut menandakan bahwa ap likasi ini sudah ada.
Gambar 4.14. melihat aplikasi iptables-save.
2. Instalasi Program
Langkah selanjutnya adalah meng-install HTB-tool dengan installpkg HTB-tools-0.2.7-i486- HTB telah selesai diinstal dan terlihat pada terminal seperti gambar berik ut.
Gambar 4.15. instalasi HTB too l.
- masing perintah sudah dijelaskan pada bagian landasan teori.
Gambar 4.16.Melihat aplikasi HTB tool.
commit to user
-install andwidthd telah selesai diinstal. Maka dapat dilihat pada direktori /usr/local/bandwidthd seperti gambar berik ut.
Gambar 4.17. Melihat paket bandwid thd.
Untuk melihat interface yang akan ditampilkan o leh
-tampilan seperti berikut.
Gambar 4.18. Setting interface yang ditampilkan oleh bandwidthd.
Un
Gambar 4.19. menjalankan bandwidthd.
a. Login
Pertama user melakukan login dengan memasukkan username dan
password.
Gambar 4.20. tampilan login.
User dan password dimasukkan ke database. Untuk lebih
mengamankan, password di jadikan hash md5.
commit to user
Tampilan utama edit IP Address menamp ilkan seperti pada gambar. Disini terd apat menu konfigurasi alamat IP untuk mengkonfigurasi IP
Address.
Gambar 4.22. tampilan informasi ip Address.
Ini adalah tamp ilan form edit IP Address. K lik simpan untuk menyimpan konfigurasi ke dalam mesin.
Gambar 4.23. form pengisian ip Address.
Gambar 4.24. tampilan ip Address setelah d iubah.
Disini program dibuat untuk mengedit file konfigurasi IP Address yaitu
commit to user
Untuk merestart servis, harus d ijalankan oleh user root, maka user apache didaftarkan ke file sudoers agar bisa mengeksekusi perintah restart ini.
Gambar 4.26. pendaftaran sudoers rc.inet1.conf
c. Bridge
Berikut tampilan utama untuk konfigurasi mode bridge. Untuk menambah bridge klik menu bridge . Selanjutnya akan tampil form pengisian konfigurasi bridge yang akan dibuat.
Tampil form pengisian bridge, isi ko nfigurasi bridge sesuai kebutuhan.
Gambar 4.28. Form isian konfigurasi Bridge
Pada form utama akan terlihat bahwa brid ge yang telah dibuat ditampilkan pada tabel.
commit to user
Untuk menghapus Bridge, klik hap us pada p ilihan. Bridge yang dihapus akan menghilang, dengan ditandai pesan penghapusan bridge.
Gambar 4.30. Pesan penghapusan Bridge.
d. NAT
Tampilan utama N AT sebagai berikut. Disini ditampilkan NAT yang sedang aktif, berupa source Address (Network LAN) dan d estination
Address(W AN).
Untuk form penambahan NAT sebagai berikut. Disediakan form pengisian Network LAN dan IP W AN.
Gambar 4.32. form input NAT
Pada menu utama, telah bertambah setting yang di- input-kan user.
commit to user
Untuk menghapus setting NAT, klik hapus dan akan tamp il pesan bahwa NAT telah terhap us.
Gambar 4.34. pesan penambahan NAT
Untuk setting NAT, dibuat file teks untuk menyimpan konfigurasi yang telah di-input-kan user.
Gambar 4.35. file teks untuk menyimpan informasi NAT.
File teks disesuaikan dengan setting NAT dari mesin S lackware. Disini
menggun
Untuk me-load konfigurasi NAT, dibuat script agar konfigurasi d ibaca ketika mesin dihidupkan.
Gambar 4.37. script agar autoload NAT.
e. DNS
Tampilan utama DNS sebagai berikut. Ditampilkan DNS ser ver yang disimpan pada file
commit to user
Untuk menambah/edit disediakan form yang hamp ir sama. Setelah itu akan tampil perubahan yang di-input-kan user.
Gambar 4.39. tampilan DNS yang telah diubah.
Untuk menghapus, klik hapus dan setting akan menghilang.
Tampilan interface disesuaikan dengan file
interface ini akan meng-edit file tersebut.
Gambar 4.41. file konfigurasi DNS
f. Limiter
Berikut tampilan limiter. Untuk konfigurasi status saat ini klik Untuk mengubah mode klik link pada rule yang d ikehendaki.
commit to user
Setelah masuk halaman konfigurasi, ditampilkan halaman konfigurasi
class. class
class class class baru. Untuk mengedit
konfigurasi tiap class. K lik nama class yang akan di-edit.
Gambar 4.43. Halaman konfigurasi class.
Untuk form edit nama class berikut tampilannya.
Untuk form tambah class, berik ut tampilannya.
Gambar 4.45. Halaman tambah nama class.
Berikut hasil dari langkah yang dilakukan seb elumnya.
commit to user
Untuk konfigurasi class default, klik class default tersebut. Halaman konfigurasinya sebagai berikut.
Gambar 4.47. Halaman konfigurasi class default.
Untuk konfigurasi class, klik nama class. Misalkan class class
Muncul tampilan konfigurasi class ini, sebagai berik ut. Setelah selesai konfigurasi, restart limiter.
Untuk konfigurasi client pada class ini, klik client yang dimaksud. Untuk menu lainnya hampir sama p enggunaanya seperti pada konfigurasi
class. Tampilan laporan perubahan client sebagai berik ut.
Gambar 4.49. Halam laporan perubahan client.
g. Ping
commit to user
Setelah beberapa saat, muncul hasil. Disini digunakan proses
Gambar 4.51. informasi output ping.
h. Trace Route
Untuk melak ukan trace route, user memasukkan alamat pada form.
Setelah beberapa saat, muncul hasil trace route.
Gambar 4.53. output trace route
i. Grafik
Berikut tamp ilan menu grafik. Untuk menambah subnet yang akan
commit to user
Tampilan grafik subnet yang dimasukkan.Gambar 4.55. Tampilan grafik subnet.
j. User edit
Untuk mengganti password, dilakukan pada menu user. User diminta memasukkan password lama untuk menghindari penggantian oleh pihak yang tidak mempunyai hak.
Jika salah memasukkan password lama, akan ditamp ilkan pesan. Dan
user diminta mengulangi pro sesnya lagi.
Gambar 4.57. kesalahan input password lama.
k. Logout
Untuk proses logout, user klik logout pada submenu user.
commit to user
4. Pengujian
4.4.1 Pengujian Bridge dan NAT
Pengujian Bridge dengan topologi sebagai berikut.
Gambar 4.59. Topologi pengujian Bridge
Cek dari client
bahwa fungsi bridge telah berjalan.
Pengujian NAT dengan topologi sebagai berikut.
Gambar 4.61. Topologi pengujian N AT
Cek dari client dengan ping ke internet dan ping nama domain telah
commit to user
4.4.2 Pengujian Limiter
Topologi pengujian limiter menggunakan NAT, sebagai berikut.
Gambar 4.63. Topologi pengujian L imiter
Konfigurasi limiter di interface sebagai berik ut.
Kecepatan download keduanya adalah seperti gambar. 4.65. kecepatan client laptop mencapai 231,88 kb /s dan client pc mencapai 165.59kb/s.
Gambar 4.65. Kecepatan download client laptop dan client pc
Berikut kecepatan download pada client laptop, mendekati 30 K B/s atau 240 kb/s sesuai yang di inp utkan pada limiter yaitu bandwidth 240.
Gambar 4.66. Kecepatan download pada client laptop mendekati 240 kb/s
Berikut kecepatan download pada client pc, mendekati 20 KB/s atau 1600 kb/s sesuai yang di inputkan pada limiter yaitu bandwid th 160.
Gambar 4.67. Kecepatan download pada client pc mendekati 160 kb/s
Berikut status download saat client pc dimatikan. Kecepatan client laptop mencapai 392,91 kb/s. sesuai limit yang dimasukkan yaitu 400.
commit to user
Berikut kecepatan download client lap top mendekati 50 K B/s atau 400 kb/s. sesuai pada limit yang di inputkan yaitu 400.
BAB V PEN UTUP
Kesimpula n
2. Telah d i- install Linux sebagai server manajemen bandwidth. Linux yang digunakan adalah S lackware 13.1. Menggunakan HTB-tool versi 0.2.7 untuk manajemen bandwidth. Menggunakan brctl untuk menangani mode bridge. Menggunak an Iptables untuk menangani mode NAT. Menggunakan Iptables-save untuk menyimpan konfigurasi NAT. Dan menggunakan Bandwidthd untuk menampilkan grafik di web.
2. Telah dib uat server manajemen bandwidth yang mempunyai interface
konfigurasi yang user-friendly. Interface Web dibuat dengan bahasa pemrograman P HP. Interface yang dibuat mempunyai lima menu utama yaitu: basic, limiter, tool, graph dan user. Menu basic berisikan konfigurasi IP Address, Bridge, NAT, dan DNS. Menu limiter berisikan konfigurasi untuk keperluan limit pad a client. Menu tool berisikan too l untuk ping dan trace route. Menu grap h berisikan form konfigurasi subnet yang akan d itampilkan pada grafik dan menu untuk tampilan grafik itu sendiri. Menu user berisikan konfigurasi untuk edit user yang mempunyai hak untuk melakukan konfigurasi dan logo ut untuk keluar dari sesi konfigurasi.
Saran
1. Interface ini menduk ung konfigurasi ethernet sampai 5 ethernet. Produk ini bisa d ikembangkan dengan menambah jumlah ethernet menjadi tak terbatas, dalam arti dinamis sesuai yang dikehendaki oleh administator.
2. Produk ini menggunakan tampilan grafik yang di update setiap 2,5 menit. Bisa dikembangkan dengan menambahkan tamp ilan grafik secara real-time.