PERANCANGAN APLIKASI WIZARD UNTUK
KONFIGURASI SQUID PROXY SERVER
SKRIPSI
SETYO M SYAMSUDDIN NOOR
081401065
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
ii
PERANCANGAN
APLIKASI
WIZARD
UNTUK
KONFIGURASI
SQUID
PROXY
SERVER
SKRIPSI
Diajukan untuk melengkapi tugas akhir dan memenuhi syarat mencapai gelar
Sarjana Komputer
SETYO M SYAMSUDDIN NOOR
081401065
PROGRAM STUDI S-1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
iii
PERSETUJUAN
Judul : PERANCANGAN APLIKASI WIZARD UNTUK
KONFIGURASI SQUID PROXY SERVER
Kategori : SKRIPSI
Nama : SETYO M SYAMSUDDIN NOOR
Nomor Induk Mahasiswa : 081401065
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
(FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 27 Juni 2013
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Syurahbil, S.Si, M.Comp.Sc Dr. Poltak Sihombing, M.Kom
NIP. 197502282008101001 NIP.196203171991021001
Diketahui/Disetujui oleh
Program Studi Ilmu Komputer Fasilkom-TI USU
Ketua,
Dr. Poltak Sihombing, M.Kom
iv
PERNYATAAN
PERANCANGAN APLIKASI WIZARD UNTUK KONFIGURASI SQUID PROXY SERVER
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 27 Juni 2013
SETYO M SYAMSUDDIN NOOR
v
PENGHARGAAN
Puji syukur penulis ucapkan kepada Allah SWT yang telah memberikan kesehatan, akal
sehat, ilmu kepada penulis, sehingga skripsi ini dapat diselesaikan dalam waktu yang telah
ditetapkan. Dalam menyelesaikan tugas akhir ini penulis telah banyak menerima
bimbingan, arahan, masukan, serta dorongan semangat dari berbagai pihak. Untuk itu
penulis mengucapkan terima kasih yang tak terhingga kepada :
1. Bapak Prof. DR. dr. H. Syahril Pasaribu, DTM&H, Msc(CTM), SpAK selaku Rektor USU.
2. Bapak Prof. Dr. Muhammad Zarlis sebagai Dekan Fasilkom-TI, serta Pembantu Dekan,
semua Dosen dan Pegawai di Program Studi S-1 Ilmu Komputer USU yang telah
memberikan pengajaran dan bimbingan kepada penulis selama menuntut ilmu di USU.
3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Prodi S-1 Ilmu Komputer USU dan Pembimbing I yang pada tahap penyelesaian skripsi ini telah memberikan arahan danr
bimbingan kepada penulis.
4. Ibu Maya Silvi Lydia,B.Sc, M.Sc, selaku Sekretaris Prodi S-1 Ilmu Komputer USU
yang telah memberikan arahan dan bimbingan selama menuntut ilmu di kampus ini.
5. Bapak Syurahbil, S.Si, M.Comp.Sc selaku Pembimbing II yang telah memberikan
arahan dan bimbingan kepada penulis.
6. Bapak Syahriol Sitorus, S.Si, MIT selaku Pembanding I dan Bapak Ade Candra, S.T,
M.Kom selaku Pembanding II yang telah memberikan kritik dan saran demi
penyempurnaan skripsi ini.
7. Yang teristimewa untuk Ayah penulis, dr. Bambang Setyo Broto Oetomo dan Ibu
Nuzula Istia Ningsih atas segala dukungan baik moral maupun dana, nasehat, doa serta
vi
8. Lima saudara penulis, Bang Anca, Bang Bobi, Dik Dendi, Dik Eki, Dik Fahmi yang
selalu memberikan keceriaan dan semangat dalam mengerjakan skripsi ini.
9. Tengku Raisya Hannisa yang selalu mendoakan, memberi semangat, bahagia, senyum
dan gembira, sehingga penulis menjadi percaya diri dan semangat.
10. Seluruh Sahabat Parkirangers yang telah menemani penulis baik suka maupun duka,
serta memberi nasehat dan semangat selama menuntut ilmu di USU.
Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan. Oleh karena itu
penulis menerima kritik dan masukan dari semua pihak yang bersifat membangun dan
menyempurnakan skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi penulis
sendiri pada khususnya dan pembaca pada umumnya.
Medan, 27 Juni 2013
vii
ABSTRAK
Proxy server berfungsi sebagai connection sharing, cache, firewall, dan pengaturan
bandwidth. Proxy server dapat menghemat bandwidth request ke internet. Salah satu aplikasi proxy server yaitu Squid. Squid banyak dipakai pada lembaga, perusahaan-perusahaan ataupun rumahan. Dalam pengkonfigurasian Squid banyak kata atau perintah yang digunakan, sehingga aplikasi ini bisa berjalan. Penulis membuat sebuah aplikasi
wizard dimana dapat mengurangi penulisan perintah-perintah yang kemudian dibahasakan
dalam bahasa manusia. Penelitian dilakukan terhadap konfigurasi Squid menggunakan
command line. Aplikasi ini terdiri dari empat konfigurasi utama yaitu pengelolaan IP
Address, pengelolaan alokasi cache pada harddisk dan memory, pemblokiran situs dan konten, serta kontrol bandwidth sehingga bisa digunakan sebagaimana konfigurasi utama
Squid tersebut.
viii
DESIGNING APPLICATION WIZARD TO CONFIGURE
SQUID PROXY SERVER
ABSTRACT
Proxy server has function as connection sharing, cache, firewall, and bandwidth control.
Proxy server can save bandwidth request to the internet. One application of proxy server is
Squid. Squid is widely used in organizations, companies or home. In configuring Squid
many words or commands are used, so that the application can run. The author makes a
wizard application which can reduce the write commands are then reworded in human
language. Research conducted on Squid configuration using the command line. The
application consists of four main configuration, management of IP Address, managing
cache allocation on the hard drive and memory, blocking sites and content, and bandwidth
control so that it can be used as the main configuration Squid.
ix
2.4 Pengalamatan Jaringan 13
2.4.1 Protocol TCP/IP 13
2.4.8 ICMP (Internet Control Massage Protocol) 21
2.4.9 ARP (Address Resolution Protocol) 21
2.5 Pengkabelan 21
2.6 Kabel Twisted Pair 22
x 3.1.2 Analisis Proses Memory and Disk Usage 34 3.1.3 Analisis Proses Blocking 35 3.1.4 Analisis Proses Bandwidth Control 36 3.2 Pemodelan Dengan UML 36
xi
BAB 5 KESIMPULAN DAN SARAN 64
5.1 Kesimpulan 64
5.2 Saran 64
Daftar Pustaka 65
xii
Daftar Tabel
Halaman
2.1 Kategori Tabel Twisted Pair 22
3.1 Spesifikasi Use Case IP Address 37
3.2 Spesifikasi Use Case Alokasi Cache 38
3.3 Spesifikasi Use Case Blokir 39
3.4 Spesifikasi Use Case Kontrol Bandwidth 40
4.1 Perbandingan Wizard dengan Command Line
xiii
Daftar Gambar
Halaman
2.1 OSI Layer 8
2.2 Proses Urutan Jalannya OSIlayer Pada Suatu Jaringan 9
2.3 IP Address Dalam Desimal Dan Biner 17
2.4 Kelas TCP/IP 17
3.3 Activity Diagram Konfigurasi Alokasi Cache 41
3.4 Activity Diagram Konfigurasi Proses Pemblokiran 42
3.5 Activity Diagram Konfigurasi Pengontrolan Bandwidth 42
3.6 Sequence Diagram Konfigurasi IP 43
3.7 Sequence Diagram Konfigurasi Alokasi Cache 43
3.8 Sequence Diagram Konfigurasi Proses Pemblokiran 44
3.9 Seqence Diagram Konfigurasi Pengontrolan Bandwidth 44
3.6 Topologi Sistem Yang Dirancang 45
3.13 Perancangan Halaman Kontrol Bandwidth 50
4.1 Konfigurasi Squid.conf 52
4.2 Tampilan Halaman Menu Utama 53
4.3 Tampilan Halaman IP Address 53
xiv
4.5 Tampilan Halaman Blokir 54
4.6 Tampilan Halaman Untuk Memblokir Situs 54
4.7 Tampilan Halaman Untuk Memblokir Konten 55
4.8 Tampilan Halaman untuk Bandwidth Kontrol 56
4.9 Tampilang Proses Restart Squid 57
4.10 Tampilan Proses Stop Squid 57
4.11 Gagal Akses Situs yang di Blok 58
4.12 Gagal Akses IP Address yang Dibatasi 59
vii
ABSTRAK
Proxy server berfungsi sebagai connection sharing, cache, firewall, dan pengaturan
bandwidth. Proxy server dapat menghemat bandwidth request ke internet. Salah satu aplikasi proxy server yaitu Squid. Squid banyak dipakai pada lembaga, perusahaan-perusahaan ataupun rumahan. Dalam pengkonfigurasian Squid banyak kata atau perintah yang digunakan, sehingga aplikasi ini bisa berjalan. Penulis membuat sebuah aplikasi
wizard dimana dapat mengurangi penulisan perintah-perintah yang kemudian dibahasakan
dalam bahasa manusia. Penelitian dilakukan terhadap konfigurasi Squid menggunakan
command line. Aplikasi ini terdiri dari empat konfigurasi utama yaitu pengelolaan IP
Address, pengelolaan alokasi cache pada harddisk dan memory, pemblokiran situs dan konten, serta kontrol bandwidth sehingga bisa digunakan sebagaimana konfigurasi utama
Squid tersebut.
viii
DESIGNING APPLICATION WIZARD TO CONFIGURE
SQUID PROXY SERVER
ABSTRACT
Proxy server has function as connection sharing, cache, firewall, and bandwidth control.
Proxy server can save bandwidth request to the internet. One application of proxy server is
Squid. Squid is widely used in organizations, companies or home. In configuring Squid
many words or commands are used, so that the application can run. The author makes a
wizard application which can reduce the write commands are then reworded in human
language. Research conducted on Squid configuration using the command line. The
application consists of four main configuration, management of IP Address, managing
cache allocation on the hard drive and memory, blocking sites and content, and bandwidth
control so that it can be used as the main configuration Squid.
BAB 1
PENDAHULUAN
1.1 Latar Belakang Masalah
Proxy server merupakan sebuah komputer server atau program yang digunakan untuk menangani permintaan dari client untuk melakukan request terhadap konten-konten yang terdapat di internet.
Aplikasi proxy server yang banyak dipakai adalah Squid. Squid merupakan aplikasi proxy server yang dapat digunakan sebagai firewall, proses caching,
pengendalian bandwidth dan lain-lain.
Dengan adanya teknologi proxy server, pembatasan kuota dan kecepatan akses internet dapat ditangani, karena didalamnya terdapat sistem caching. Apabila user
pertama telah melakukan request ke server luar untuk kedua kali dan seterusnya request hanya langsung kepada komputer proxy, itulah yang dimaksud dengan caching. Proxy server adalah sistem komputer yang berada ditengah-tengah client dan server luar.
Masalah yang dihadapi adalah banyak konfigurasi untuk menjalankan fungsi
Squid, maka dari itu berdasarkan uraian di atas, penulis berniat membuat skripsi yang bejudul Perancangan Aplikasi Wizard untuk Konfigurasi Squid Proxy Server yang difungsikan agar mengurangi penulisan perintah-perintah yang dibahasakan dalam
bahasa manusia.
1.2 Perumusan Masalah
Bagaimana merancang suatu aplikasi untuk mengatasi pengkonfigurasian squid yang
mempunyai banyak perintah pada pengaturan jaringan, pemblokiran situs, pengaturan alokasi memory dan harddisk, serta bandwidht control di squid.
Batasan masalah yang menjadi acuan dalam pengerjaan skripsi ini adalah sebagai
berikut:
1. Menggunakan bahasa pemrograman C.
2. Aplikasi proxy server menggunakan Squid Proxy Server versi 3
3. Wizard berbentuk Command Line Interface yang diimplementasikan pada Ubuntu Server 11.10.
4. Aplikasi Wizard terdiri dari pengaturan IP Address, pemblokiran situs dan konten, pengaturan pemakaian alokasi memori dan disk, dankontrol bandwidht.
5. Pengaturan IP Address hanya terdiri dari satu network.
1.4 Tujuan Masalah
Penelitian ini bertujuan merancang suatu aplikasi untuk mengkonfigurasi squid dengan tampilan yang mudah dan dapat digunakan oleh administrator jaringan pemula.
1.5 Manfaat Penelitian
Manfaat penelitian ini adalah memudahkan para pengguna biasa atau administrator jaringan pemula untuk konfigurasi squid.
1.6 Metode Penelitian
Tahapan yang dilakukan dalam penelitian ini adalah:
1. Studi Literatur
Penulisan skripsi ini diawali dengan melakukan pembelajaran literatur pada
sejumlah buku, artikel, paper, jurnal, makalah, maupun situs internet mengenai squid proxy server dan pemrograman bahasa C.
2. Analisis Penelitian
aplikasi wizard.
Dalam tahapan ini dilakukan penyusunan laporan dari hasil analisis, perancangan
dalam format penulisan penelitian.
1.7 Sistematika Penulisan
Dalam penulisan skripsi ini penulis membuat sistematika sebagai berikut:
BAB 1 PENDAHULUAN membahas Latar Belakang, Perumusan Masalah, Batasan Modelling Language) sistem serta perancangan antar muka pengguna.
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM membahas tentang
implementasi dan pengujian sistem.
BAB 5 KESIMPULAN DAN SARAN merupakan kesimpulan dari semua pembahasan
yang ada dengan saran-saran yang ditujukan bagi para pembaca atau
BAB 2
LANDASAN TEORI
2.1 Jaringan Komputer
Jaringan komputer adalah kumpulan dua atau lebih dari komputer yang saling
berhubungan dan saling bekerjasana satu sama lain. Produktifitas dan efisiensi
merupakan bentuk keuntungan yang didapat dari jaringan komputer. Tujuan dari
jaringan komputer antara lain:
1. Membagi sumber daya: contohnya berbagi pemakaian printer, CPU, memory, harddisk .
2. Komunikasi: contohnya surat elektronik, instant messaging, chatting . 3. Akses informasi: contohnya web browsing . [5]
Agar dapat mencapai tujuan yang sama, setiap bagian dari jaringan komputer
meminta dan memberikan layanan (service). Pihak yang meminta layanan disebut client
(client) dan yang memberikan layanan disebut pelayan (server). Arsitektur ini disebut dengan sistem client-server, dan digunakan pada hampir seluruh aplikasi jaringan komputer. Jaringan komputer diklasifikasikan kedalam beberapa cara, antara lain:
2.1.1. Berdasarkan Skala
1. LAN (Local Area Network)
a) Biasa digunakan pada skala kecil sekelas rumahan, kantor, pertokoan dll.
b) Menggunakan ethernet 10/100/1000 Mbps.
2. MAN (Metropolitan Area Network)
a) Mencakup wilayah yang lebih luas (perkotaan) .
a) Wilayah yang ditangani sangat luas (negara)
b) Menggunakan media fiberoptic atau satelit. [5]
2.1.2. Berdasarkan Fungsi
1. client-server
Yaitu jaringan komputer dengan komputer yang didedikasikan khusus sebagai server. Sebuah service/layanan bisa diberikan oleh sebuah komputer atau lebih. Sedangkan yang lain bertindak sebagai client yang menggunakan layanan server. Contohnya adalah sebuah domain seperti www.google.com yang diakses oleh banyak komputer.
2. Peer to Peer
Yaitu bentuk jaringan dimana semua komputer berkedudukan sama. bisa sebagai
server sekaligus sebagai client. Ini adalah kebalikan dari yang diatas.
2.1.3. Berdasarkan Media Transmisi
1. Jaringan Berkabel (wired network)
Pada jaringan ini, untuk menghubungkan satu komputer dengan komputer lain
diperlukan penghubung berupa kabel jaringan. Kabel jaringan berfungsi dalam
mengirim informasi dalam bentuk sinyal listrik antar komputer jaringan.
2. Jaringan Non-kabel (wireless network)
Merupakan jaringan dengan medium berupa gelombang elektromagnetik. Pada
jaringan ini tidak diperlukan kabel untuk menghubungkan antar komputer karena
menggunakan gelombang elektromagnetik yang akan mengirimkan sinyal informasi
antar komputer jaringan . [5]
Arsitektur fisik jaringan biasa disebut sebagai topologi, yang merupakan suatu cara
menghubungkan komputer yang satu dengan komputer lainnya sehingga membentuk
jaringan. Yang saat ini banyak digunakan adalah bus, ring, star, dan mesh. Masing-masing topologi ini mempunyai ciri khas, dengan kelebihan dan kekurangannya sendiri.
1. Topologi Ring
Metode token-ring (sering disebut ring saja) adalah cara menghubungkan komputer sehingga berbentuk ring (lingkaran). Setiap simpul mempunyai tingkatan yang sama. Jaringan akan disebut sebagai loop, data dikirimkan kesetiap simpul dan setiap informasi yang diterima simpul diperiksa alamatnya apakah data itu untuknya
atau bukan.
2. Topologi Bus
Semua komputer saling terhubung melewati sebuah jalur utama (bus). Kerusakan jalur utama akan merusak semua jaringan.
3. Topologi Star
Kontrol terpusat, semua link harus melewati pusat yang menyalurkan data tersebut
kesemua simpul atau client yang dipilihnya. Simpul pusat dinamakan stasium
primer atau server dan lainnya dinamakan stasiun sekunder atau client server.
Setelah hubungan jaringan dimulai oleh server maka setiap client-server sewaktu-waktu dapat menggunakan hubungan jaringan tersebut tanpa menunggu perintah
2.2 Model Layer OSI
Gambar 2.1 OSI Layer
Model referensi OSI (Open System Interconnection) menggambarkan bagaimana informasi dari suatu software aplikasi di sebuah komputer berpindah melewati sebuah media jaringan ke suatu software aplikasi di komputer lain. Model referensi OSI secara konseptual terbagi ke dalam 7 lapisan dimana masing- masing lapisan memiliki fungsi
jaringan yang spesifik.
Model OSI memiliki tujuh layer. Prinsip-prinsip yang digunakan bagi ketujuh
layer tersebut adalah :
1. Sebuah layer harus dibuat bila diperlukan tingkat abstraksi yang berbeda. 2. Setiap layer harus memiliki fungsi-fungsi tertentu.
3. Fungsi setiap layer harus dipilih dengan teliti sesuai dengan ketentuan standar
protocol internasional.
4. Batas-batas layer diusahakan agar meminimalkan aliran informasi yang melewati interface.
5. Jumlah layer harus cukup banyak, sehingga fungsi-fungsi yang berbeda tidak perlu disatukan dalam satu layer diluar keperluannya. Akan tetapi jumlah layer juga harus diusahakan sesedikit mungkin sehingga arsitektur jaringan tidak menjadi sulit
2.2.1. Cara Kerja OSI Layer
Cara kerja yang dimaksud adalah proses berjalannya sebuah data dari sumber ke tujuan
melalui OSI layer. Jadi untuk mencapai tujuan sebuah data harus melalui lapisan-lapisan OSI terlebih dahulu.
Gambar 2.2 proses urutan jalannya OSI layer pada suatu jaringan
Berikut akan dijelaskan bagaimana jalannya data dari host A menuju host B sesuai dengan nomor pada gambar.
1. Pertama-tama data dibuat oleh host A. Kemudian data tersebut turun dari
application layer sampai ke physicallayer (dalam proses ini data akan ditambahkan header setiap turun 1 lapisan kecuali pada Physical layer, sehingga terjadi enkapsulasi sempurna).
2. Data keluar dari host A menuju kabel dalam bentuk bit (kabel bekerja pada physical layer).
3. Data masuk ke hub, tetapi data dalam bentuk bit tersebut tidak mengalami proses apa-apa karena hub bekerja pada physicallayer.
4. Setelah data keluar dari hub, data masuk ke switch. Karena switch bekerja pada
datalink layer/ layer 2, maka data akan naik sampai layer 2 kemudian dilakukan proses, setelah itu data turun dari layer 2 kembali ke layer 1/ phisycallayer.
pada layer 3/ network layer, maka data naik sampai layer 3 kemudian dilakukan proses, setelah itu data turun dari layer 3 kembali ke layer 1 , dan data keluar dari
router menuju kabel dalam bentuk bit.
6. Pada akhirnya data sampai pada host B. Data dalam bentuk bit naik dari layer 1 sampai layer 7. Dalam proses ini data yang dibungkus oleh header-header layer OSI mulai dilepas satu persatu sesuai dengan lapisannya (berlawanan dengan proses no
1 ). Setalah data sampai di layer 7 maka data siap dipakai oleh host B. [9]
2.3 Perangkat Keras Jaringan Komputer
2.3.1. Hub dan Switch
a. Hub
Secara fisik hub dan switch sama, kegunaan secara umum pun sama yaitu menghubungkan antara device jaringan dan/atau antara komputer dalam jaringan. Tetapi sebenarnya cara kerjanya berbeda jauh.
Hub merupakan suatu device pada jaringan yang secara konseptual beroperasi pada layer 1 (Physical Layer). Maksudnya, hub tidak menyaring menerjemahkan sesuatu, hanya mengetahui kecepatan transfer data dan susunan pin pada kabel. Cara kerja alat ini adalah dengan cara mengirimkan sinyal paket data ke seluruh port pada hub sehingga paket data tersebut diterima oleh seluruh komputer yang berhubungan
dengan hub tersebut kecuali komputer yang mengirimkan. Sinyal yang dikirimkan tersebut diulang-ulang walaupun paket data telah diterima oleh komputer tujuan. Hal ini
menyebabkan fungsi collision lebih sering terjadi. Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka akan terjadi tabrakan (collision) karena menggunakan jalur yang sama (jalur broadcast yang sama) sehingga paket data akan menjadi rusak yang mengakibatkan pengiriman ulang paket data. Jika hal ini sering terjadi maka collison
yang terjadi dapat mengganggu aktifitas pengiriman paket data yang baru maupun
Ketika paket data dikirimkan melalui salah satu port pada hub, maka pengiriman paket data tersebut akan terlihat dan terkirim ke setiap port lainnya sehingga bandwidth
pada hub menjadi terbagi ke seluruh port yang ada. Semakin banyak port yang tersedia pada hub, maka bandwidth yang tersedia menjadi semakin kecil untuk setiap port. Hal ini membuat pengiriman data pada hub dengan banyak port yang terhubung pada komputer menjadi lambat. [7]
b. Switch
Switch merupakan suatu device pada jaringan yang secara konseptual berada pada layer
2 (Datalink Layer) dan ada yang layer 3 (Network Layer). Maksudnya, switch pada saat pengirimkan data mengikuti MAC address pada NIC (Network Interface Card) sehingga switch mengetahui kepada siapa paket ini akan diterima. Jika ada collision
yang terjadi merupakan collision pada port-port yang sedang saling berkirim paket data. Misalnya ketika ada pengiriman paket data dari port A ke port B dan pada saat yang sama ada pengiriman paket data dari port C ke port D, maka tidak akan terjadi tabrakan (collision) karena alamat yang dituju berbeda dan tidak menggunakan jalur yang sama. Semakin banyak port yang tersedia pada switch, tidak akan mempengaruhi bandwidth
yang tersedia untuk setiap port.
Ketika paket data dikirimkan melalui salah satu port pada switch, maka pengiriman paket data tersebut tidak akan terlihat dan tidak terkirim ke setiap port
lainnya sehingga masing-masing port mempunyai bandwidth yang penuh. Hal ini menyebabkan kecepatan pentransferan data lebih terjamin. [7]
2.3.2. NIC (Network Interface Card) / LAN Card
NIC (network interface card) adalah expansion board yang digunakan supaya komputer dapat dihubungkan dengan jaringan. Sebagian besar NIC dirancang untuk jaringan,
LanCard jenisnya ada dua :
1. 10/100 BaseT
Bekerja di kecepatan maksimal 10mbps sampai 100mbps
2. Gigabit LAN
Bekerja di kecepatan maksimal 1000mbps/1 gbps
Tipe konektor LanCard ada dua : 1. BNC : untuk kabel Coaxial.
2. RJ45 : untuk kabel UTP/STP (ini yang secara umum dipakai)
2.3.3. Modem
Modem berasal dari singkatan Modulator Demodulator. Modulator merupakan bagian yang mengubah sinyal informasi kedalam sinyal pembawa (carrier) dan siap untuk dikirimkan, sedangkan Demodulator adalah bagian yang memisahkan sinyal informasi (yang berisi data atau pesan) dari sinyal pembawa yang diterima sehingga informasi
tersebut dapat diterima dengan baik. Modem merupakan penggabungan kedua-duanya, artinya modem adalah alat komunikasi dua arah.
2.4 Pengalamatan Jaringan
2.4.1. TCP/IP
IP adalah sebuah protocol jaringan, secara umum dijalankan bersama protocol TCP, sehingga sering disebut TCP/IP. Adanya IP Address merupakan konsekuensi dari penerapan Internet Protocol untuk mengintegrasikan jaringan komputer internet di dunia. Seluruh client (komputer) yang terhubung ke internet dan ingin berkomunikasi memakai TCP/IP harus memiliki IP Address sebagai alat pengenal client pada network.
Secara logika, internet merupakan suatu network besar yang terdiri dari berbagai sub
berbeda.
Penggunaan IP Address di seluruh dunia dikoordinasi oleh lembaga sentral
internet yang di kenal dengan IANA (Internet Assigned Numbers Authority) di www.iana.org IP Address ada dua macam , IP versi 4 (IPv4) dan IP versi 6 (IPv6). [7]
2.4.2. Layanan Pada TCP/IP
Layanan-layanan pada protokol TCP/IP :
a)FileTransfer
FileTransferProtocol (FTP) memungkinkan user dapat mengirim atau menerima file dari komputer jaringan.
b)RemoteLogin
Network Terminal Protokol (telnet). Memungkinkan user untuk melakukan login ke dalam suatu komputer di dalam jaringan .
c)ComputerMail
Digunakan untuk menerapkan sistem e-mail, Protokol yang digunakan:
1) SMTP (Simple Mail Transport Protokol) untuk pengiriman email .
2) POP (Post Office Protokol) dan IMAP (Internet Message Access Control) untuk menerima email .
3) MIME (Multipurpose Internet Mail Extensions) untuk mengirimkan data selain teks.
d)Network File System (NFS)
Pelayanan akses file jarak jauh yang memungkinkan client untuk mengakses file
pada komputer jaringan jarak jauh walaupun file tersebut disimpan lokal.
e) Remote Execution
f) NameServer
Nama database alamat yang digunakan pada internet.
g)Internet Relay Chat (IRC)
Dalam komunikasi jaringan komputer, selain menggunakan protokol IP, juga digunakan
protokol TCP/UDP. Kedua protokol ini bekerja bersamaan sesuai dengan layer masing-masing, oleh karena itu dikenal sebagai protokol TCP/IP. Untuk koneksi, TCP
(Transmission Control Protocol) dan UDP (User Datagram Protocol) mengggunakan sistem port. Port adalah mekanisme yang mendukung beberapa sesi koneksi antar komputer atau antar program. Port dapat mengidentifikasikan aplikasi dan layanan yang menggunakan koneksi di dalam jaringan TCP/IP. Oleh karena itu protokol TCP/UDP
akan menambahkan port asal dan port tujuan, didalam header paket nya. Komputer atau program akan menggunakan gabungan port dan ip address untuk saling berkomunikasi dalam jaringan, hal ini disebut socket address. Socket adalah program yang dibentuk oleh sistem operasi dan digunakan untuk mengatur jalannya transport koneksi dalam jaringan dengan menggunakan metode identifikasi socket address. Port menggunakan kombinasi 16bit, yang dikenal sebagai port number. Total jumlah port yang ada adalah sebanyak 65536 port, dibagi menjadi 3 kelompok :
a) Well-known Port
Well-knownport adalah port antara 0 – 1023 yang telah ditetapkan oleh Internet AssignedNumberAuthority (IANA), yang digunakan untuk aplikasi- aplikasi yang telah ditentukan. Well-knownport bersifat tetap untuk aplikasi- aplikasi tersebut. Tujuannya adalah untuk standarisasi penggunaan port untuk aplikasi-aplikasi yang
Contoh :
21: FTP
22: SSH
23: Telnet
25: SimpleMailTransferProtocol (SMTP) 53: DomainNameSystem (DNS)
80: WorldWideWeb (HTTP)
110: PostOffiveProtocolversion 3 (POP3) 119: NetworkNewsTransferProtocol (NNTP) 161: SimpleNetworkManagementProtocol (SNMP)
443: HTTP overTransportLayer Security/Secure Sockets Layer (HTTPS) 445: microsoft-ds, Server Message Block over TCP (SMB)
b) Registered Port
Registered port adalah port antara 1024 – 49151. Port-port ini yang digunakan oleh vendor-vendor komputer atau jaringan yang berbeda untuk mendukung aplikasi dan
sistem operasi yang mereka buat. Registered port juga diketahui dan didaftarkan oleh IANA tapi tidak dialokasikan secara permanen, sehingga vendor lainnya dapat
menggunakan port number yang sama.
c) Dynamic,Private, dan Ephemeral Port
Berada pada alamat port 49152 – 65536. Port ini tidak ditentukan oleh IANA, digunakan untuk aplikasi-aplikasi yang dibuat oleh vendor (private), alokasi otomatis oleh suatu program (dynamic) , dan untuk port-port yang digunakan sementara waktu oleh suatu program (ephemeral) .
2.4.4. IPV4
Agar komputer bisa terhubung dengan benar memerlukan adanya IP Address di setiap komputer. IP Address terdiri dari bilangan biner sepanjang 32 bit yang dibagi atas 4 segmen. Tiap segmen terdiri atas 8 bit yang berarti memiliki nilai desimal dari 0 – 255.
bisa dipakai diseluruh dunia (walaupun pada kenyataannya ada sejumlah IP Address
yang digunakan untuk keperluan khusus). Jadi, jaringan TCP/IP dengan 32 bit address
ini mampu menampung sebanyak 232 atau lebih dari 4 milyar host. Untuk memudahkan pembacaan dan penulisan, IP Address biasanya direpresentasikan dalam bilangan desimal. Jadi, range address di atas dapat diubah menjadi 0.0.0.0 sampai 255.255.255.255. Nilai desimal dari IP Address inilah yang dikenal dalam pemakaian sehari-hari. [5]
Beberapa contoh IP Address adalah :
202.95.151.129
202.58.201.211
172.16.122.204
Ilustrasi IP Address dalam desimal dan biner dapat dilihat pada gambar 2.3 berikut:
Gambar 2.3 IP Address dalam desimal dan biner
IP Address dapat dipisahkan menjadi 2 bagian, yakni :
1. Bagian network (bit-bit network/network bit) dan bagian host (bit-bit host/host bit).
Bit network berperan dalam identifikasi suatu network dari network yang lain, 2. Bagian host, yang berperan dalam identifikasi host dalam suatu network. Jadi,
Ada 3 kelas address yang utama dalam TCP/IP, yakni :
1. Kelas A: 8 bit pertama merupakan bit network sedangkan 24 bit terakhir merupakan
bit host.
2. Kelas B: 16 bit pertama merupakan bit network sedangkan 16 bit terakhir merupakan
bit host.
3. Kelas C: 24 bit pertama merupakan bit network sedangkan 8 bit terakhir merupakan
bit host. [5]
Gambar 2.4 Kelas TCP/IP
Selain ke tiga kelas di atas, ada 2 kelas lagi yang ditujukan untuk pemakaian khusus,
yakni kelas D dan kelas E. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas D yang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersama suatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlah komputer yang memakai bersama suatu network). Salah satu penggunaan multicastaddress yang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video conference yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone (MBone). Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruh kelas). Pemakaiannya dicadangkan untuk
kegiatan eksperimental. [5]
Address Khusus
1. Broadcast Address.
Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada networknya? Tidak efisien jika ia harus membuat replikasi paket sebanyak jumlah host tujuan.
Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep
broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host
yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host
pada network yang sama harus memiliki address broadcast yang sama dan address
tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima paket : pertama adalah IP Addressnya yang bersifat unik dan kedua . adalah broadcast address pada network
tempat host tersebut berada. [5]
Alamat loopback digunakan oleh komputer untuk menunjuk dirinya sendiri. Alamat
ini berawalan 127 sehingga tidak boleh digunakan untuk keperluan lainnya.
3. IP private
Adalah ip yang boleh digunakan oleh tiap-tiap orang ketika membuat jaringan. Ip
• 10.0.0.0-10.255.255.255 netmask 255.0.0.0 (Kelas A)
• 172.16.0.0-172.31.255.255 netmask 255.240.0.0 (Kelas B)
• 192.168.0.0–192.168.255.255 netmask 255.255.0.0 (Kelas C)
2.4.5. Subnetting
Subnetting memungkinkan untuk menciptakan multiple logical network yang terdapat dalam sebuah jaringan kelas A, B, atau C. Jika subnetting tidak dilakukan, maka hanya akan dapat digunakan satu jaringan dari sebuah jaringan kelas A, B, atau C.
Setiap datalink pada sebuah jaringan harus memiliki sebuah network ID yang unik, dengan setiap node pada link tersebut merupakan anggota dari jaringan yang sama. Jika sebuah jaringan besar (jaringan dengan kelas A, B, atau C) dibagi menjadi sub
jaringan yang lebih kecil, maka akan memungkinkan terciptanya sebuah jaringan yang
di dalamnya terdapat interkoneksi antara subjaringan yang ada. Setiap 18 data link pada jaringan ini kemudian akan memiliki sebuah unique network ID atau subnetwork ID. Sebuah alat maupun gateway yang menghubungkan jaringan atau subjaringan sejumlah n memiliki IP address sejumlah n, masing-masing untuk setiap jaringan / subjaringan
yang saling berinterkoneksi.
Untuk melakukan subnetting pada sebuah jaringan dapat dilakukan dengan cara memperluas natural mask menggunakan beberapa bit dari bagian host ID pada IP address untuk menciptakan sebuah subnetwork ID.
Jika terdapat sebuah jaringan kelas C dengan network address 204.15.5.0 yang memiliki sebuah natural mask 255.255.255.0, maka dapat dibuat subjaringan seperti di bawah ini:
204.15.5.0 - 11001100.00001111.00000101.00000000
255.255.255.224 - 11111111.11111111.11111111.11100000
---|sub|---
Gambar 2.5 Biner Subnetmask
(yang diindikasikan oleh kata sub) dari bagian host pada IP address dan
menggunakannya untuk membuat subjaringan-subjaringan baru.
Dengan 3 bit ini, terdapat kemungkinan untuk menciptakan subjaringan baru
sebanyak 8 subjaringan. Dengan sisa 5 bit host ID, masing-masing subjaringan dapat memiliki host address hingga 32 host address, dengan jumlah host address efektif adalah 30. Hal ini disebabkan karena host ID yang seluruhnya bernilai 0 dan 1 tidak digunakan. [5]
2.4.6. IPV6
Menggunakan 128 bit untuk mendukung 3.4 x 1038 alamat IP yang unik. Jumlah yang
masif ini lebih dari cukup untuk menyelesaikan masalah keterbatasan jumlah alamat
pada IPv4 secara permanen. Dengan proses routing yang jauh lebih efisien dari pendahulunya, IPv6 memiliki kemampuan untuk mengelola tabel routing yang besar. Memenuhi kebutuhan mobilitas tinggi melalui roaming dari satu jaringan ke jaringan
lain dengan tetap terjaganya kelangsungan sambungan. Fitur ini mendukung
perkembangan aplikasi-aplikasi.
Contoh IPv6 :
FE78:2344:BE43:BCDA:4145:0:0:3A
2.4.7. NAT (Network Address Translation)
Pengertian dan jenis-jenis NAT sangat luas, tetapi intinya NAT adalah memetakan IP
tertentu ke IP yang lain. Secara umum, NAT digunakan untuk mengkoneksikan IP
Private ke internet melalui IP Public. Keuntungan sistem ini adalah, hanya diperlukan sebuah/sedikit IP Public untuk menangani banyak IP Private. Hal ini menghemat kebutuhan akan IP Public yang jumlahnya terbatas dan harus mengeluarkan sejumlah biaya untuk mendapatkannya. ClearOS mendukung teknik NAT, baik untuk port
2.4.8. ICMP (Internet Control Massage Protocol)
ICMP bertugas mengirimkan pesan-pesan kesalahan dan kondisi lain yang memerlukan
perhatian khusus. Pesan ICMP dikirim ketika terjadi masalah pada layer IP dan layer di
atasnya (TCP/UDP). seperti matinya host tujuan atau putusnya koneksi. Sehingga sangat membantu mengetahui kondisi jaringan. [5]
2.4.9. ARP (Address Resolution Protocol)
Berfungsi memetakan IP address ke MAC address. Karena dalam pengiriman data
diperlukan MAC address tujuan. ARP bekerja dengan mengirimkan paket berisi IP
address yang ingin diketahui ke alamat broadcast. Semua host dalam jaringan akan mengetahui, dan akan dijawab oleh yang cocok saja dengan menyertakan IP dan MAC
address. Kebalikan dari ARP adalah RARP (Reverse Address Resolution Protocol). [5]
2.5 Pengkabelan
Media kabel yang digunakan dalam jaringan komputer bermacam-macam :
a) Kabel Coaxial
b) Kabel Twistedpair
c) Kabel FiberOptic
Untuk pembahasan berikut akanmembahas kabel jenis TwistedPair (yang secara umum dipakai adalah jenis UTP). [7]
2.6 Kabel TwistedPair
Kabel Twisted Pair adalah kabel jaringan yang terdiri dari beberapa kabel yang dililit perpasangan. Tujuannya dililit perpasangan ada untuk mengurangi induksi
Tabel 2.1 Kategori Kabel Twisted Pair
Kategori Bandwidth Kegunaan
Cat 1 4 Mhz Telepon dan modem
Cat 2 10 Mhz Sistem terminal kuno
Cat 3 16 Mhz 10BASE-T and 100BASE-T4 Ethernet
Cat 4 20 Mhz 16 Mbit/s TokenRing
Cat 5 100 Mhz 100BASE-TX Ethernet
Cat 5e 100 Mhz 100BASE-TX & 1000BASE-T Ethernet
Cat 6 250 Mhz 1000BASE-T Ethernet
Cat 6e 250 Mhz 10GBASE-T (under development) Ethernet
Cat 6a 500 Mhz 10GBASE-T (under development) Ethernet
Cat 7 600 Mhz Belum diaplikasikan
Cat 7a 1200 Mhz Belum diaplikasikan Telephone, CATV, 1000BASE-T berjalan
dalam satu kabel yang sama.
Ada tiga jenis kabel Twisted Pair, yaitu
1. UTP ( Unshielded Twisted Pair )
Kabel UTP adalah kabel Twisted Pair tanpa ada foil pelindung luar. Kabel ini umumnya digunakan untuk instalasi indoor dan lalu lintas data yang tidak sensitif.
2. FTP ( Foiled Twisted Pair) atau S/UTP
Kabel FTP atau yang dikenal juga sebagai S/UTP menggunakan aluminium foil
untuk melindungi lapisan terluar (dibawah karet luar), untuk mengurangi interferensi
elektromagnetik dari luar.
3. STP ( Shielded Twisted Pair )
Kabel STP menggunakan lapisan aluminium foil untuk melindungi setiap pasangan
kabel didalamnya. Varian lain seperti S/STP juga menambahkan lapisan foil
dibawah karet terluar (seperti FTP) untuk pelindungan ekstra terhadap
2.6.1.Cross VS Straight
Secara umum kabel UTP menghubungkan komputer-komputer dan peralatan- peralatan
melalui switch. Untuk keperluan ini maka kabel twisted pair (contoh UTP Cat5) menggunakan konfigurasi/susunan kabel straight. Ujung kabel UTP terhubung ke
switch dan Lancard menggunakan konektor RJ45. [7]
Gambar 2.6 Pemasangan Kabel Straight
Gambar 2.7 Pemasangan Kabel Cross
2.7 Remote System
Suatu sistem yang dapat digunakan untuk memantauatau memonitor kondisi peralatan
dari jarak jauh. Artinya kinerja peralatan dapat dipantau darimana saja lewat jaringan
komunikasi data yang terhubung ke peralatan secara real time.[7]
Contoh aplikasi yang dapat digunakan untuk melakukan remote :
a) Aplikasi Remote
Putty adalah salah satu contoh dari aplikasi yang dapat melakukan remote melalui
port 22. Putty adalah program free dan open source yang dapat mengakses console client menggunakan ssh, telnet, rlogin, dan raw TCP (paling aman gunakan akses via SSH) Putty dapat diinstalasi ke Windows, Linux, MacOS.
b) DDNS / Dinamic Domain Name Server
2.8 Proxy Server
bekerja dengan cara menerima permintaan layanan dari user dan kemudian sebagai gantinya akan mewakili permintaan pengguna ke server-server di internet yang dimaksudkan.
2. Filtering
Bekerja pada layer aplikasi sehingga berfungsi sebagai firewallpackingfiltering yang digunakan untuk melindungi jaringan lokal dari serangan atau gangguan yang berasal
dari jaringan Internet dengan cara melakukan filtering atas paket yang lewat dari dan ke jaringan-jaringan yang dihubungkan dan dapat dikonfigurasi untuk menolak akses
ke website tertentu pada waktu-waktu tertentu.
3. Caching
Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di Internet, biasa disebut caching. Caching proxy menyimpan data yang sering diminta oleh pengguna ke suatu tempat penyimpanan di server. [13]
4. Bandwidth Control
Proxy server mempunyai kemampuan untuk menaggulangi keterbatasan bandwidth yang dimiliki user internet. Dimana dengan proxy server, bandwidth dapat dibagi kepada setiap user sehingga penggunaan bandwidth dapat merata.
2.8.1. Keuntungan dan Kerugian Proxy Server
Ada beberapa manfaat atau keuntungan dan kerugian dalam penggunaan proxy server
Keuntungan Pemakaiaan Proxy Server
Ada beberapa keuntungan dan kerugian dalam pemakaian proxy server dalam sebuah skema jaringan, yaitu :
a) Dapat menghemat biaya bandwidth. mempercepat koneksi karena file-file web yang
direquest (selanjutnya disebut object) disimpan di dalam cache sehingga tidak perlu keluar menuju internet.
b) Dapat mengatur kecepatan bandwidth untuk subnet yang berbeda-beda (mirip dengan HTB atau zaper).
c) Dapat melakukan pembatasan untuk file-file tertentu. Dapat melakukan pembatasan akses kepada situs-situs tertentu (misalnya situs porno).
d) Dapat melakukan pembatasan download untuk file-file tertentu (misalnya mp3, wav, dsb).
e) Dapat melakukan pembatasan waktu-waktu yang diperbolehkan untuk download. f) Dapat melakukan pembatasan siapa saja yang boleh mengakses internet dengan
menggunakan autentikasi. Autentikasi yang biasa digunakan bisa basic, digest, ataupun
ntlm. [5]
Kerugian Pemakaian ProxyServer
Selain dari keuntungan pemakaian, ada pula kerugian dalam penggunaan proxy server, yaitu :
a) Pintu keluar menuju gerbang internet hanya lewat proxy, sehingga ketika terjadi
overload, akses internet menjadi lambat .
b) User akan melihat file yang kadaluarsa jika cache expire time-nya terlalu lama, sehingga meskipun di website file tersebut sudah berubah, user masih melihat file yang tersimpan di cachememory.
c) Karena koneksi internet harus melalui gerbang proxy terlebih dahulu, maka kecepatan akses bisa jadi lebih lambat daripada melakukan koneksi langsung.
Dalam hal ini keduanya akan mengakses file internet secara langsung . [5]
2.9 SquidProxyServer
Tidak semua data bisa di cache oleh squid, data-data yang bersifat dinamik seperti CGI-BIN tidak di cache oleh squid, jadi tiap kali ada permintaan CGI-BIN, maka squid akan menghubungi langsung server tujuan.
Saat ini protokol yang bisa dilayani oleh squid adalah HTTP, HTTPS, FTP,
Gopher, dan Wais. Squid pertama-tama akan memeriksa request yang datang. Jika squid
diset dengan autentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu. Autentikasi 38 ini termasuk subnet wilayah, user account, jenis file yang direquest, alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi squid.
Jika lolos dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek yang diminta telah berada di cache. Jika sudah ada maka proxy server
tidak perlu melanjutkan request ke internet tetapi langsung mereply request dengan objek yang diminta. Jika tidak ada di cache, squid dapat menghubungi sibling-nya agar bisa saling tukar cache informasi menggunakan protokol icp. Jika masih tidak ada,
squid akan merequest ke parentnya.Parent harus menyediakan informasi yang diminta, entah mengambil dari cache-nya atau langsung ke internet. [5]
2.9.1. Cara Kerja Squid
Salah satu proxy server yang banyak digunakan di lingkungan Unix/Linux adalah squid. Tidak semua data bisa di cache oleh Squid, data-data yang bersifat dinamik seperti CGI-BIN tidak di cache oleh squid, jadi tiap kali ada permintaan CGI-BIN, maka squid akan menghubungi langsung server tujuan. Saat ini protokol yang bisa dilayani oleh squid
adalah HTTP, HTTPS, FTP, Gopher, dan Wais.
Squid pertama-tama akan memeriksa request yang datang. Jika squid diset dengan autentikasi tertentu, squid akan memeriksa autentikasi user terlebih dahulu. Autentikasi ini termasuk subnet area, user account, jenis file yang di-request, alamat situs tujuan, dan properti-properti yang telah diset pada file konfigurasi squid. Jika lolos
dan telah sesuai dengan konfigurasi, request tersebut kembali diperiksa apakah objek
tukar cache informasi menggunakan protokol icp. Jika masih tidak ada, squid akan me-request ke parent-nya. Parent harus menyediakan informasi yang diminta, entah mengambil dari cache-nya atau langsung ke internet. [5]
2.9.2. Bagian-bagian Squid
1. ICP
ICP merupakan kependekan dari Internet Cache Protocol, yaitu merupakan protokol yang digunakan untuk mengkoordinasikan antara dua web cache atau lebih agar dapat bekerjasama dan berkomunikasi. Tujuan web-cache bekerja sama ini adalah supaya dapat mencari letak yang tepat untuk menerima objek yang di-request. Protokol ini tidak
reliable namun memiliki timeout yang sangat pendek sehingga cocok untuk web-cache. Protokol ini tidak cocok untuk delivery-UDP adalah protokol yang lebih umum digunakan untuk delivery protocol.
Dengan ICP, sistem cache bias mempunyai hirarki. Hirarki dibentuk oleh dua jenis hubungan, yaitu parent dan sibling.
a) Parent: cache server yang wajib mencarikan content yang diminta oleh client. b) Sibling: cache server yang wajib memberikan content yang diminta jika
memang tersedia. Jika tidak, sibling tidak wajib untuk mencarikannya. [5]
2. Access Control List (ACL)
Access Control List (ACL) adalah daftar rule yang menyatakan pembagian previleges, untuk mencegah orang yang tidak memiliki hak akses menggunakan infrastruktur cache. ACL adalah konfigurasi yang paling penting dalam sebuah web-cache. Dalam squid, ACL digunakan untuk mendefinisikan aturan yang diterapkan dalam web-cache
tersebut. Squid mendukung tipe-tipe ACL seperti di bawah ini:
a) Network, subnet, baik tujuan maupun asal
d) Maksimal koneksi untuk setiap IP address
e) Maksimal jumlah IP address yang diperbolehkan untuk username yang sama f) Alamat website ,MIME dan header yang direquest yang terangkum dalam
regularexpression
Squid akan memeriksa setiap request yang datang dengan ACL yang ada pada konfigurasi dan mencocokannya dengan aturan yang ada. Pencocokan ini bisa berakibat
diizinkan atau ditolaknya suatu koneksi dari user, pemberian bandwidth yang sesuai dengan aturan, dan sebagainya. [5]
3. Autentikasi Pada Squid
Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai ke yang kompleks. Beberapa autentikasi yang didukung antara lain:
a) LDAP: Uses the Lightweight Directory Access Protocol
b) NCSA: Uses an NCSA-style username and password file.
c) MSNT: Uses a Windows NT authentication domain.
d) PAM: Uses the Linux Pluggable Authentication Modules scheme.
e) SMB: Uses a SMB server like Windows NT or Samba.
2.9.3. Autentikasi pada Squid
Squid mendukung berberbagai cara autentikasi user mulai dari yang sederhana sampai ke yang kompleks. Beberapa autentikasi yang didukung antara lain:
a) LDAP: Uses the Lightweight Directory Access Protocol
b) NCSA: Uses an NCSA-style username and password file.
c) MSNT: Uses a Windows NT authentication domain.
d) PAM: Uses the Linux Pluggable Authentication Modules scheme.
e) SMB: Uses a SMB server like Windows NT or Samba.
Reverse proxy server adalah proxy server yang terinstall di dalam satu neighbourhood
dengan satu atau lebih webserver. Semua request dari internet yang berasal dari internet yang menuju ke salah satu webserver akan dilayani lewat proxy server, yang bisa jadi
request tersebut ke dirinya sendiri atau diteruskan ke webserver seluruhnya atau sebagian saja. Ada beberapa alasan kenapa memakai reverse proxy server, diantaranya adalah :
a) Alasan keamanan: Proxy server adalah lapisan keamanan tambahan sebelum masuk lapisan webserver.
b) Enkripsi/SSL accelerator: Ketika website yang aman dibentuk, enkripsi SSL mungkin tidak dikerjakan oleh webserver untuk mengurangi beban kerja webserver, tetapi dilakukan oleh proxy server yang dilengkapi dengan hardware acceleration
untuk SSL.
c) Load distribution: Reverse proxy dapat mendistribusikan beban ke beberapa
webserver, sehingga masing-masing webserver hanya bekerja di areanya sendiri. d)Caching content yang statis. Reverse proxy dapat meng-cache content-content yang
statis seperti image, sehingga memperingan beban kerja webserver.
2.9.5. Transparent Caching
Ketika menggunakan squid untuk melakukan caching dari web traffic, browser harus dikonfigurasi agar menggunakan squid sebagai proxy. Transparent caching adalah metode agar browser tidak perlu dikonfigurasi menggunakan proxy, namun secara otomatis telah menggunakan proxy. Web traffic yang menuju ke port 80 diarahkan menuju ke port yang didengarkan oleh squid, sehingga squid bertindak sebagai layaknya standar web server untuk browser.
Keuntungan memakai transparentcaching:
a) Tidak perlu mengkonfigurasi browser untuk memakai proxy tertentu karena sudah otomatis. Teknik ini cocok jika pengguna dari suatu subnet sangat awam dan tidak mau melakukan konfigurasi terlalu rumit pada browser-nya.
Kerugian memakai transparentcaching:
a) Fungsi autentikasi menjadi tidak berjalan .
b) Request untuk HTTPS tidak akan di-cache .
c) Tidak kokoh, karena transparent proxy sangat bergantung pada kestabilan jalur
network (karena adanya pengalihan request) .
2.9.6. Instalasi Squid
Untuk instalasi squid tidak berbeda dengan lainnya, cukup dengan apt-get install squid. Di repository Ubuntu terdapat 2 versi squid yaitu versi 2 dan versi 3. Jika anda ingin menggunakan squid versi3 installah dengan menggunakan apt-get install squid3.
Konfigurasi utama squid berada pada file /etc/squid3/squid.conf. File ini berisi ribuan baris karena selain mengandung syntax konfigurasi, file ini sekaligus mengandung manual sehingga user lebih mudah mengkonfigurasi squid.
2.9.7. Tag-Tag pada Squid
Tag adalah perintah-perintah yang berbentuk baris-baris untuk konfigurasi squid proxy server. Berikut ini adalah tag yang secara umum digunakan untuk melakukan konfigurasi squid :
a) http_port : merupakan port default yang digunakan squid. b) icp_port : port untuk internet cache protocol.
c) cache_dir : folder cache untuk squid dimana.
d) cache_mem : memory yang digunakan sebagai proses cache pada squid
e) cache_log , cache_access_log, cache_store_log :
tempat menyimpan cache log, akses log, dan storing data log
f) cache_mgr : email administrator proxy server, dapat diganti sesuai email admin anda
maupun di Allow
h) http_access : untuk memanggil dari hasil deklarasi dari acl
i) visible_hostname : nama host yang dimunculkan dalam Page Error Squid
j) delay_pools : menyatakan berapa banyak bagian/pool yang akan dibuat
k) delay_parameters : bagian terpenting dari delay pools memberikan aturan main setiap delay pools yang dibentuk.
Delay parameter mempunyai format yang disesuaikan dengan tipe/class yang dipakai. Tapi disetiap tipe yang dipakai ada 1 format baku yaitu restore/max.
Restore menunjukkan maksimum kecepatan data yang dapat dilewatkan bila harga
max sudah terlampaui, dalam satuan bytes/second, max menunjukkan besar-nya file
atau bucket yang dapat dilewatkan tanpa melalui proses delay dalam satuan bytes. Spesial Case: “-1/- 1” berarti unlimited atau tidak dibatasi pada nilai restore/max. l) delay access : Memberi batasan siapa saja yang boleh mempergunakan delay
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem
Sebelum dilakukan tahap perancangan sebuah aplikasi, perlu dilakukan analisis yang
akan dibangun. Analisis merupakan istilah yang secara kolektif mendeskripsikan
fase-fase awal pengembangan sistem. Analisis sistem pada dasarnya merupakan tahapan
yang ditujukan untuk menciptakan pemahaman yang menyeluruh terhadap sistem
sehingga diperoleh gambaran tentang kebutuhan, cara kerja, dan alur data yang akan
dikerjakan sistem. Hal ini akan membantu mempermudah dalam proses implementasi
sistem.
3.1.1 Analisis Proses IP Address
Pada pengaturan IP address proses yang dilakukan adalah :
1. Memasukkan subnetmask sesuai dari panjang host yang diinginkan dalam bentuk prefix.
2. Memasukkan network address sesuai ketentuan topologi yang dirancang
3. Menerapkan ke squid.conf.
3.1.2 Analisis Proses Pengalokasian cache Memory dan Harddisk
Pada pengaturan Alokasi cache pada memory dan harddisk
proses yang dilakukan adalah :
1. Menentukan proses mana yang akan dipilih, apakah alokasi harddisk, alokasi
memory, maksimum objek yang di cache, atau batas hapus otomatis.
/var/spool/squid 100 16 256 ), size yang dimasukkan dalam satuan MB (megabyte).
3. Jika memilih alokasi memory, maka proses yang akan dilakukan adalah pengaturan batas (limit) memory yang dibutuhkan oleh proxy server, yaitu pada tag cache_mem
40 ) dengan memasukkan size dalam satuan MB (megabyte).
4. Jika memilih maksimum objek yang di cache, maka proses yang akan dilakukan adalah pengaturan batas (limit) dari objek yang ditampung pada disk dan memory
yaitu pada tag maximum_object_size 56. maximum_object_size_in_memory 32.
Untuk nilai object pada disk, size dibuat dalam satuan MB (megabyte), sedangkan
size yang ditampung pada memory dalam satuan Kilobyte.
5. Jika memilih batas hapus otomatis, maka yang dimasukkan adalah batas low dan high dari disk yang telah digunakan. Jika pemakaiaan disk telah mencapai batas bawah (tag cache_swap_low 90) maka proxy akan melakukan penghapusan objek pada disk
secara perlahan, sedangkan jika pemakaian disk telah mencapai batas atas
(cache_swap_high 99) maka proxy akan melakukan penghapusan objek pada disk
lebih cepat.
3.1.3 Analisis Proses Blokir
Pada proses blokir terdapat dua pilihan pengaturan yaitu blokir situs dan blokir konten.
Pada blokir situs terdapat tiga menu pilihan yaitu :
1. Daftar situs yang diblokir, menu ini berfungsi untuk melihat isi dari situs-situs yang telah diblok.
2. Hapus situs, menu ini berfungsi untuk menghapus situs yang telah diblok satu-persatu.
3. Tambah situs, menu ini berfungsi untuk menambah situs yang ingin diblok. Pada blokir konten terdapat tiga menu pilihan yaitu :
1. Daftar konten yang diblokir, menu ini berfungsi untuk melihat isi dari konten-konten yang telah diblok.
2. Hapus konten, menu ini berfungsi untuk menghapus konten yang telah diblok satu-persatu.
3. Tambah konten, menu itu berfungsi untuk menambah konten yang ingin diblok.
Pada proses ini yang di-input-kan adalah banyaknya bandwidth yang ingin dibagi per
user dalam satuan KB (Kilobyte).
3.2 Pemodelan dengan UML
3.2.1 Use Case Diagram
Dari diagram use case diatas terlihat interaksi user pada sistem beserta proses-proses yang dilakukan. Diharapkan user mengetahui secara garis besar proses-proses yang
terjadi pada setiap tahapan. Agar tidak terjadi kesalahan dalam urutan tahapan, maka
sistem akan mengevaluasi pilihan-pilihan yang diambil oleh user
Berdasarkan analisis kebutuhan sistem, secara garis besar ada dua hal yang
harus dilakukan sistem, yaitu :
1. Konfigurasi IP Address
2. Konfigurasi Penggunaan Alokasi Memory dan Harddisk
3. Konfigurasi Pemblokiran
4. Konfigurasi Pembagian Bandwidth
Spesifikasi UseCase pada IP Address
Tabel 3.1 Spesifikasi Use Case IP Address
Name IP Address Actors user
Description Use case ini mendeksripsikan proses pengaturan IP Address
Preconditions user menggunakan aplikasi fungsi IP Address
Spesifikasi use case Alokasi cache pada Memory dan Harddisk
Tabel 3.2 Spesifikasi Use Case Pengalokasian Cache
Name Pengalokasian Cache pada Memory dan Harddisk Actors user
Description Use case ini mendeksripsikan proses pengaturan
Pengalokasian Cache pada Memory dan Harddisk
Preconditions user menggunakan aplikasi fungsi Pengalokasian Cache pada Memory dan Harddisk
1. Sistem menampilkan halaman
Pengalokasian cache pada
“input batas hapus bawah/atas
Spesifikasi Use Case Blokir
Tabel 3.3 Spesifikasi Use Case Blokir
Name Pemblokiran Actors user
Description Use case ini mendeksripsikan proses pengaturan Blokir
Preconditions user menggunakan aplikasi fungsi Blocking
Post Conditions user dapat mengatur situs dan konten dari fungsi blokir.
Kegiatan user Respon sistem
verifikasi sesuai dengan
Spesifikasi use case kontrol bandwidth
Tabel 3.4 Spesifikasi Use Case Kontrol Bandwidth
Name Pengontrolan Bandwidth Actors user
Description Use case ini mendeksripsikan proses pengaturan besar
Bandwith
3.2.2 Activity Diagram
Activity diagram merupakan gambaran dari alur aktivitas sistem. Berikut ini activity
diagram untuk masing-masing use case yang terdapat dalam sistem ini.
Gambar 3.2 Activity Diagram Konfigurasi IP
Gambar 3.4 Activity Diagram Proses Pemblokiranc
3.2.3 Sequence Diagram
Diagram sequence merupakan salah satu yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Objek-objek yang berkaitan dengan proses berjalannya
operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang
terurut. Berikut adalah sequence diagram dari perancangan ini :
Gambar 3.6 Sequence Diagram Konfigurasi IP
Gambar 3.8 Sequence Diagram Pemblokiran
3.3 Topologi Sistem
Gambar 3.6 Topologi yang dirancang
Pada penelitian ini aplikasi wizard diujicoba dengan topologi pada gambar 3.6. Topologi tersebut menggambarkan sumber internet melewati modem yang mempunyai IP Address
192.168.1.1 disambungkan kepada eth0 pada proxy server yang mempunyai IP
Address192.168.1.2. Proxy server mempunyai 2 Lan Card yaitu eth0 dan eth1, eth0 telah dijalaskan diatas, dan eth1 yang menuju kearah client mempunyai IP Address
192.168.2.1 yang digunakan sebagai gateway dan network id client192.168.2.0/23, dimana
Netwok address: 192.168.2.0/23
Subnetmask : 255.255.255.254
IP Addresshost : 192.168.2.1 – 192.168.3.254
BroadcastAddress : 192.168.3.255
3.4 Perancangan Antarmuka
Sistem ini dirancang menggunakan bahasa C yang terdiri dari 4 menu pilihan, Menu IP Address, Menu Alokasi cache pada Memory dan Harddisk, Blokir, dan Kontrol
Bandwidth.
Gambar 3.7 Perancangan Halaman Utama
Komponen- komponen dalam perancangan halaman utama :
a) IP Address : konfigurasi network id dan subnetmask dalam jaringan.
b) Alokasi cache pada Memory dan Harddisk : konfigurasi alokasi proses caching
pada memori dan harddisk.
c) Blokir : menambah, menghapus situs dan konten.
d) Kontrol Bandwidth : mengontrol bandwidth setiap user pada jaringan.
3.4.1 Perancangan Antarmuka IP Address
Pada perancangan menu IP address ini, ada fungsi untuk masukan Subnetmask (prefix),
IP address (network address).
Aplikasi wizard untuk Squid ======================== 1. IP address
2. Alokasi cache pada Memory dan
Harddisk
3. Blokir