Upload
lamnhi
View
216
Download
0
Embed Size (px)
Citation preview
9
BAB 2
LANDASAN TEORI
Pada bab ini akan diuraikan mengenai teori dan definisi yang mendukung
penyusunan skripsi ini baik teori-teori yang umum maupun teori-teori yang khusus,
diantaranya definisi dari jaringan komputer, model OSI, model TCP/IP, network
monitoring, sampai dengan pengertian dari SNMP dan juga teori-teori lainnya yang
menunjang skripsi ini.
2.1 Jaringan Komputer
Jaringan Komputer (Computer Network) adalah kumpulan dari sejumlah
komputer yang saling berhubungan satu sama lain, saling berkomunikasi secara
elektronik, saling membagi sumber daya (misalnya cd-rom, printer, file sharing,
internet, dll) dan juga dapat saling menggunakan sumber daya yang sama.
Komputer yang saling terhubung satu sama lainnya tersebut biasanya dapat
dihubungkan melalui berbagai macam media seperti media kabel, gelombang
radio, satelit, sinar infra merah. Beberapa perangkat dan protokol juga ikut
menentukan bagaimana komputer dalam jaringan tersebut dapat saling
berkomunikasi
Berdasarkan cakupan area, jaringan komputer dapat dibedakan dalam 3 macam
jaringan, yaitu:
1. Local Area Network (LAN)
2. Metropolitan Area Network (MAN)
3. Wide Area Network (WAN)
10
2.1.1 Local Area Network
Local Area Network (LAN) adalah sebuah jaringan komputer yang
dibatasi oleh area geografis yang relatif kecil dan umumnya dibatasi oleh
area lingkungan seperti perkantoran atau sebuah sekolah dan biasanya
ruang lingkup yang dicakupnya tidak lebih dari 2 km².
Dalam koneksi jaringan seperti ini, biasanya ada satu komputer
yang dijadikan sebuah server. Server tersebut dapat digunakan untuk
menyimpan berbagai macam piranti lunak (software) yang dapat digunakan
untuk mengatur jaringan ataupun sebagai piranti lunak yang dapat
digunakan oleh komputer-komputer yang terhubung dalam jaringan
tersebut (komputer client / workstation).
User yang membutuhkan aplikasi yang sering dipakai dan disimpan
di server, dapat mengunduhnya dan menyimpannya di komputer lokal yang
kemudian dapat langsung dipakai. User juga dapat melakukan pencetakan
ke printer atau servis layanan lainnya dalam jaringan.
Jaringan LAN didesain untuk:
• Beroperasi pada wilayah geografis yang terbatas,
• Memiliki kecepatan transfer yang relatif tinggi.
• Memungkinkan banyak user untuk mengakses media dengan kecepatan
tinggi,
• Menyediakan koneksi ke layanan lokal setiap saat (seperti printer dan
file di server)
• Menghubungkan peralatan yang berdekatan.
11
• Dikendalikan secara private oleh administrator lokal.
2.1.2 Metropolitan Area Network
Sebuah Metropolitan Area Network (MAN), biasanya mencakup
area yang lebih besar dari LAN, misalnya antar wilayah dalam satu
propinsi. MAN juga dapat menghubungkan beberapa LAN menjadi suatu
bagian jaringan yang lebih besar lagi. Cakupan geografis dari MAN itu
sendiri tidak dapat menghubungkan area geografis yang berbeda.
Contoh:
Sebuah kantor X, memiliki cabang di propinsi Jawa Tengah yaitu pada kota
Semarang, Purwokerto dan Pekalongan. Kantor cabang tersebut saling
terhubung satu sama lain. Hubungan antar kantor-kantor cabang tersebut
dapat dilakukan dengan menggunakan media seperti Leased Line, jalur
telepon, ISDN.
2.1.3 Wide Area Network
Wide Area Network (WAN) adalah jaringan yang ruang lingkupnya
sudah terpisah oleh batas geografis dan biasanya sebagai penghubungnya
sudah menggunakan media satelit ataupun kabel bawah laut.
(Arifin,2003,p149)
WAN didesain untuk:
• Beroperasi pada wilayah geografis yang sangat luas,
12
• Memungkinkan akses melalui interface serial yang beroperasi pada
kecepatan yang rendah,
• Menyediakan konektifitas fulltime dan parttime,
• Menghubungkan peralatan yang dipisahkan oleh wilayah yang luas,
bahkan secara global.
Beberapa teknologi yang biasa digunakan dalam WAN:
1. Modem,
2. ISDN (Integrated Services Digital Network),
3. DSL (Digital Subscriber Line),
4. Frame Relay,
5. ATM (Asynchronous Transfer Mode),
6. SONET (Synchronous Optical Network).
2.1.4 Model OSI
OSI (Open System Interconection) adalah suatu model jaringan
yang dikembangkan oleh ISO (Internasional Organization Of
standardization) pada tahun 1984. Pengembangan model OSI
dilatarbelakangi oleh kebutuhan akan suatu model jaringan yang dapat
membantu para perancang dalam mengimplementasikan suatu jaringan
yang dapat berkomunikasi satu sama lain dan bekerja bersama-sama.
Model OSI menggunakan konsep layering untuk memperjelas dan
menyederhanakan fungsi-fungsi networking dalam satu jaringan. Ada tujuh
layer dalam model OSI:
13
1. Layer 7 (Application Layer)
Layer ini adalah layer yang paling dekat dengan user/pengguna, layer
ini menyediakan sebuah layanan jaringan kepada pengguna aplikasi.
Contohnya : program pengolah kata, email, ftp.
2. Layer 6 (Presentation Layer)
Layer ini mengelola informasi yang disediakan oleh layer aplikasi
(application layer) supaya informasi yang dikirimkan dapat dibaca oleh
layer aplikasi pada sistem lain. Jika di perlukan, pada layer ini dapat
menterjemahkan beberapa data format yang berbeda, kompresi, dan
enkripsi.
3. Layer 5 (Session Layer)
Sesuai dengan namanya, layer ini berfungsi untuk menyelenggarakan,
mengatur dan memutuskan sesi komunikasi. Session layer menyediakan
layanan kepada layer presentation. Layer ini juga mensinkronisasi
dialog diantara dua host layer presentation dan mengatur pertukaran
data.
4. Layer 4 (Transport Layer)
Layer transport mensegmentasi data dari pengirim dan merakit kembali
data ke dalam sebuah data stream pada komputer penerima. Pada layer
ini juga meyediakan layanan komunikasi. Dalam menyediakan sebuah
layanan yang handal, pada layer ini menyediakan error detection dan
recovery serta flow control. Layer transport berfungsi sebagai pemecah
informasi menjadi paket-paket data yang akan dikirim dan penyusun
kembali paket-paket data menjadi sebuah informasi yang diterima.
14
Batasan antara layer session dan layer transport dapat dikaitkan dengan
batasaan antara protokol logikal dan protokol media (fisik), dimana
layer application, presentation dan session berhubungan dengan sebuah
aplikasi logikal, sedangkan tiga layer dibawah berhubungan dengan
cara pengiriman data. Transport layer juga berfungsi menyediakan
layanan metode pengiriman data untuk melindungi layer diatasnya dari
implementasi detil layer dibawahnya.
5. Layer 3 (Network Layer)
Layer network lebih sedikit kompleks dalam menyediakan koneksi.
Layer ini dapat melakukan pemilihan jalur terbaik dalam komunikasi
jaringan yang terpisah secara geografis (Path Selection).
6. Layer 2 (Data Link Layer)
Layer Data Link berfungsi menghasilkan alamat fisik (Physical
addressing), pesan-pesan kesalahan (error notification), pemesanan
pengiriman data (flow control). Jika anda ingin mengambil istilah yang
mudah diingat pada layer ini, gunakanlah istilah ’media access
control’.
7. Layer 1 (Physical Layer)
Layer Physical berkaitan dengan karakteristik tinggi tegangan, periode
perubahan tegangan, lebar jalur komunikasi (bandwidth), jarak
maksimum komunikasi, konektor, dll.(lewis,1999,p17)
15
2.1.5 Model TCP/IP
Model Referensi TCP/IP diciptakan oleh Department of Defense
(DOD) Amerika Serikat karena mereka menginginkan jaringan yang dapat
bertahan dalam kondisi apapun, sekalipun perang nuklir. DOD
menginginkan network yang dapat mengirimkan packet setiap saat, dalam
kondisi apapun, dari satu titik ke titik lainnya. Masalah desain yang sangat
sulit inilah yang menghasilkan Model TCP/IP, yang mana menjadi standard
pertumbuhan internet.
Model TCP/IP memiliki 4 layer: Layer aplikasi, Layer Transport,
Internet layer dan layer Network Access. Penting untuk diperhatikan bahwa
beberapa layer pada model TCP/IP memiliki nama yang sama dengan layer
pada model OSI.
Ada empat layer yang di kenal dalam TCP/IP yaitu :
1. Application Layer
Layer ini mengkombinasikan fungsionalitas yang ditemukan dalam
application, session, dan presentation layer dari model OSI.
2. Transport Layer
Layer ini memungkinkan perangkat pengguna untuk mensegmentasi
data dari beberapa aplikasi upper layer untuk menempatkannya dalam
data stream layer 4 yang sama, dan memungkinkan sebuah perangkat
penerima untuk menyusun kembali bagian data tersebut, dimana data
stream layer 4 adalah suatu hubungan logical antara endpoint dalam
sebuah jaringan. (end-to-end service).
16
3. Internet Layer
Layer ini berkorespondensi dengan network layer pada model OSI,
dimana layer ini bertanggung jawab untuk mengirimkan paket data
dalam jaringan dengan menggunakan pengalamatan logical. Layer ini
berfungsi untuk melakukan penentuan best path dan packet switching.
4. Network Access Layer
Nama dari layer ini memiliki arti yang luas dan seringkali
membingungkan. Layer ini disebut juga layer host-to-network. Layer
inilah yang berhubungan dengan hal-hal yang memungkinkan paket IP
untuk membuat hubungan secara fisik, dan kemudian membuat
hubungan fisik lainnya. Termasuk didalamnya teknologi LAN dan
WAN, dan semua detail dari layer Physical dan layer Data Link pada
layer OSI. (http://www.cisco.com)
Model OSI
Model TCP/IP
Gambar 2.1 Perbandingan Model OSI dan TCP/IP
17
2.1.6 Pengalamatan Jaringan
Dikenal dua macam pengalamatan dalam jaringan,yaitu
a. Physical Address
Media Access Control (MAC) merupakan pengalamatan yang
terdapat pada peralatan secara fisik, yang langsung diberikan pada saat
peralatan tersebut dibuat dan tidak dapat diubah. Panjang MAC address
48 bit. Terbagi atas dua field yaitu: kode vendor dan kode produk,
masing-masing 24 bit. Tidak ada MAC address yang sama di dunia ini.
MAC address ini ada pada berbagai peralatan jaringan yang bekerja
pada layer 2 sampai layer 7 seperti NIC/Ethernet card, router, switch,
dll.
b. Logical Address
Logical address lebih dikenal sebagai IP address, memiliki sifat
yang berbeda dengan MAC address yaitu pengalamatannya bersifat
hirarkis. Pengalamatan IP (IP addressing) memiliki panjang 32 bit.
Mengandung dua bagian utama, nomor network dan nomor host.
Karena hampir mustahil bagi orang untuk mengingat 32 bit biner. IP
address di groupkan menjadi 8 bit per group sehingga menjadi 4 group,
dipisahkan oleh titik, dan masing-masing group ditampilkan dalam
desimal dan bukan format biner. Hal ini dikenal juga dengan format
”Dotted Decimal”.
18
IP address terbagi menjadi lima kelas, yaitu :
1. Kelas A
Pada kelas A, 8 bit pertama merupakan network address dan
24 bit berikutnya merupakan Host address. IP kelas A ditandai
dengan bit pertama dari oktet pertama berupa 0 (0xxxxxxx),
sehingga rentang alamatnya dimulai dari 0-127 d.
Network Host Host Host
0-127 0-255 0-255 0-255
2. Kelas B
Pada kelas B, 16 bit pertamanya merupakan network address
dan 16 bit berikutnya merupakan host address. IP kelas B ditandai
dengan 2 bit pertama dari byte pertama berupa 10 (10xxxxxx),
sehingga rentang alamatnya dimulai dari 128-191 d.
Network Network Host Host
128-191 0-255 0-255 0-255.
3. Kelas C
Pada kelas C, 24 bit pertamanya merupakan network address
dan 8 bit berikutnya merupakan host address. IP kelas C ditandai
dengan 3 bit pertama dari byte pertama berupa 110 (110xxxxxx),
sehingga rentang alamatnya dimulai dari 192-223 d.
Network Network Network Host
192-223 0-255 0-255 0-255.
19
4. Kelas D
IP kelas D mempunyai byte pertama 1110xxxx sehingga
rentang alamatnya dimulai dari 224-239 d. IP kelas D digunakan
untuk keperluan multicasting. Dalam multicasting tidak dikenal
adanya network bit dan host bit.
224-239 0-255 0-255 0-255.
5. Kelas E
IP kelas E mempunyai byte pertama 11110xxx, sehingga
rentang alamatnya dimulai dari 240-247 d. IP kelas E tidak
digunakan untuk umum melainkan digunakan untuk keperluan
eksperimental dan riset.
240-247 0-255 0-255 0-255.
(lewis,1999,p32;http://www.cisco.com).
(http://alexbudiyanto.web.id/2006/07/02/4.html).
2.1.7 Broadcast Address, Private Address, dan Subnet Mask
2.1.7.1 Broadcast address
Digunakan untuk mengirimkan paket data ke seluruh node
dalam suatu network. Seluruh host ID pada Broadcast address
memiliki nilai 255. Berikut ini merupakan broadcast address untuk
tiap kelas:
Kelas A : xxx.255.255.255
N H H H
20
Kelas B : xxx.xxx.255.255
N N H H
Kelas C : xxx.xxx.xxx.255
N N N H
2.1.7.2 Private address
Sekumpulan alamat yang tidak di-assign pada tiap-tiap kelas
IP. Private address dapat digunakan oleh host yang menggunakan
NAT (Network Address Translation) atau proxy server agar dapat
terhubung ke internet, atau digunakan oleh host yang tidak
terkoneksi ke internet sama sekali. Melalui sebuah persetujuan,
traffic dengan alamat tujuan berupa private address tidak akan
diarahkan melalui internet.
Yang termasuk dalam private address untuk masing-masing kelas
adalah :
• Kelas A : 10.0.0.0 sampai dengan 10.255.255.255
• Kelas B : 172.16.0.0 sampai dengan 172.31.255.255
• Kelas C : 192.168.0.0. sampai dengan 192.169.255.255
2.1.7.3 Subnet Mask
Subnet Mask (extended network prefix) bukan merupakan
suatu alamat, melainkan digunakan untuk menentukan manakah
dari suatu IP address yang merupakan network id dan mana yang
21
merupakan host id. Subnet mask terdiri dari 32 bit dan seperti IP
address dibagi menjadi empat oktet. Pada subnet mask, seluruh bit
yang berhubungan dengan network ID diset 1. Sedangkan bit yang
berhubungan dengan host ID diset 0. IP address kelas C misalnya,
secara default memiliki subnet mask 255.255.255.0 yang
menunjukkan batas antara network ID dan host ID IP address kelas
C.
Subnet mask juga digunakan untuk menentukan letak suatu
host, apakah di jaringan lokal, atau di jaringan luar. Hal ini
diperlukan untuk operasi pengiriman paket IP. Dengan melakukan
operasi AND antara subnet mask dengan IP address tujuan, serta
membandingkan hasilnya, dapat diketahui arah tujuan paket IP
tersebut. Jika kedua hasil operasi tersebut sama, maka host tujuan
terletak dijaringan lokal, dan paket IP dikirim langsung ke host
tujuan. Jika hasilnya berbeda, host tujuan terletak diluar jaringan
lokal, sehingga paket pun dikirim ke default router.
Contoh :
Alamat IP 10000011 01101011 10100100 00011010 (131.107.164.026)
Subnet Mask 11111111 11111111 11110000 00000000 (255.255.240.000)
-----------------------------------------------------------------------------------------AND
Network ID 10000011 01101011 10100000 00000000 (131.107.160.000)
(http://124.81.184.82/utama/modul/jaringan/download.php?file=5_lan.pdf.)
(http://id.wikipedia.org/wiki/Subnet_mask)
22
2.1.8 Topologi Jaringan
Topologi jaringan menjelaskan struktur dari suatu jaringan
komputer. Satu bagian dari definisi topologi adalah physical topology,
dimana merupakan suatu layout aktual dari kabel atau media. Bagian
lainnya adalah logical topology, yang menjelaskan bagaimana host-host
mengakses media untuk mengirimkan data.
1. Physical Topology
Physical topology memberikan suatu gambaran wiring/cabling
daripada perangkat-perangkat yang ada. Jenis-jenis dari topology fisik
(physical topology).
a. Bus Topology
Pada topologi ini semua node-nya terhubung langsung ke
satu sambungan (link), dan tidak memiliki hubungan yang lain
antar node. Sebuah topologi bus memungkinkan setiap perangkat
jaringan untuk melihat semua sinyal dari perangkat-perangkat yang
lain.
Gambar 2.2 Bus Topology
23
b. Ring Topology
Topologi ini merupakan sebuah cincin tertutup(closed ring)
yang terdiri dari node-node dan kabel (link), dimana masing-masing
node terhubung hanya dengan 2 node yang disebelahnya, sehingga
pada akhirnya membentuk loop tertutup.
Gambar 2.3 Ring Topology
c. Star Topology
Topologi jaringan dimana end point pada sebuah jaringan
dihubungkan dengan sebuah central hub atau switch oleh dedicated
links. Topologi ini mempunyai central node, dimana semua
hubungan ke node yang lain melalui central node tersebut.
Gambar 2.4 Star Topology
24
d. Extended star topology
Topologi ini memiliki inti sebuah star topology, dengan
masing-masing end node dari topologi inti bertindak sebagai pusat
dari topologi star-nya sendiri.
Gambar 2.5 Extended Star Topology
e. Hierarchical topology
Hierarchical topology mirip dengan extended star topology.
Perbedaan utamanya adalah topologi ini tidak menggunakan satu
central node, melainkan menggunakan trunk node dengan masing-
masing cabang ke node lainnya.
Gambar 2.6 Hierarchical Topology
25
f. Mesh Topology
Pada topologi ini, masing-masing host saling terhubung ke
setiap host dalam network. Topologi ini diimplementasikan untuk
menyediakan sebanyak mungkin perlindungan dari interupsi
pengiriman data. Sebagai contoh, pembangkit tenaga nuklir
mungkin menggunakan topology mesh ini. (Topologi yang benar-
benar dalam suatu sistem kendali).
Gambar 2.7 Mesh Topology
2. Logical Topology
Logical Topology adalah gambaran secara maya bagaimana
sebuah host dapat berkomunikasi dalam medium. Dua tipikal logical
topology yang paling banyak digunakan adalah broadcast dan token
passing
.
26
• Broadcast Topology
Pada topologi ini, setiap host yang mengirim paket data akan
mengirimkan paket tersebut ke semua host (broadcast) pada media
komunikasi jaringan.
• Token Passing Topology
Topology logical yang kedua adalah token passing. Pada
tipe topologi ini, token elektronik di pindahkan secara sekuensial ke
setiap host. Ketika suatu host menerima token, host itu dapat
mengirim data dalam jaringan. Jika host itu tidak mempunyai data
untuk dikirim, host itu memberikan token ke host selanjutnya dan
proses yang sama terjadi lagi. Dua contoh jaringan yang
menggunakan token passing adalah token ring dan FDDI adalah
Arcnet. Arcnet adalah token passing dalam suatu topology bus.
(http://buletin.melsa.net.id/mar/1006/lan7.html)
(http://buletin.melsa.net.id/mar/1006/lan8.html).
2.2 Network Monitoring
Terdapat dua alasan utama untuk memonitor suatu jaringan, yaitu untuk
meramalkan perubahan untuk perkembangan yang akan datang dan juga untuk
mendeteksi perubahan yang tidak terduga dalam status jaringan. Perubahan tidak
terduga yang mungkin terjadi seperti kegagalan router atau switch, seorang hacker
berusaha mengakses jaringan secara ilegal, atau kegagalan jalur komunikasi.
Tanpa kemampuan untuk memonitor jaringan, seorang administrator hanya dapat
bereaksi terhadap problem, jika problem tersebut muncul barulah diselesaikan
27
dibandingkan mencegah problem ini sebelumnya (Cisco Networking Academy
Program Second-Year Companion Guide 2nd Edition, 2001,p424).
2.2.1 Connection Monitoring
Connection monitoring adalah salah satu teknik untuk memonitor
jaringan. Teknik ini dapat dilakukan dengan melakukan tes ping antara
monitoring station dan device target, sehingga dapat diketahui bila
koneksinya down, tetapi metode ini tidak dapat mengindikasikan dimana
letak masalahnya. Metode ini kurang baik, sebab pada jaringan yang besar,
di mana terdapat banyak host akan memerlukan sumber sistem yang besar.
(Cisco Networking Academy Program: Second-Year Companion Guide
2nd Edition,2001,p425)
2.2.2 Traffic Monitoring
Traffic monitoring adalah sebuah metode yang lebih canggih dari
networking monitoring. Metode ini melihat paket aktual dari traffic pada
jaringan dan menghasilkan laporan berdasarkan traffic jaringan. Program
ini tidak hanya mendeteksi peralatan yang gagal, tetapi mereka juga
menentukan apakah suatu komponen overload atau terkonfigurasi secara
buruk. Kelemahan dari program ini adalah karena biasanya bekerja pada
suatu segmen tunggal pada satu waktu; jika data perlu didapat dari segmen
lain, software monitoring harus bergerak pada segmen tersebut, tapi hal ini
dapat diatasi dengan menggunakan agent pada segmen remote network.
28
(Cisco Networking Academy Program: Second-Year Companion Guide
2nd Edition,2001,p425)
2.3 SNMP
Manajemen TCP/IP terdiri atas stasiun manajemen yang berkomunikasi
dengan elemen-elemen jaringan. Elemen jaringan ini biasa berupa host, router,
printer, dan sebagainya. Sedangkan station manajemen jaringan biasanya berupa
workstation yang menampilkan status elemen yang dipantaunya.
Untuk menjalankan aktivitas monitoring tersebut, antara manager dan
elemen-elemen jaringan yang dipantau harus ada komunikasi. Ada dua arah
komunikasi, pertama manager meminta informasi dari elemen jaringan mengenai
keadaannya saat itu, kedua elemen jaringan memberitahukan kondisinya saat itu ke
manager. Selanjutnya manager station menampilkan status interface di layar
monitornya. Dengan cara seperti ini seorang network administrator mengetahui
adanya kegagalan dalam jaringannya.
Dalam jaringan TCP/IP, protokol aplikasi yang menangani manajemen
jaringan adalah SNMP (Simple Network Management Protocol).
2.3.1 Pengertian dasar SNMP
Secara umum SNMP adalah sebuah protokol yang didesain untuk
memberikan kemampuan pengumpulan data manajemen perangkat jaringan
dan pengkonfigurasian perangkat jaringan secara jarak jauh (remotely).
Pengelolaan ini dilakukan dengan cara melakukan polling dan setting
variabel-variabel elemen jaringan yang dikelolanya.
29
SNMP didesain oleh Internet Engineering Task Force (IETF) untuk
pemakaian di internet. SNMP memanfaatkan datagram UDP untuk
menyampaikan pesannya pada perangkat jaringan. Karena pesan UDP
bersifat unreliable (tidak dapat diandalkan) maka SNMP menggunakan
prosedur time out dan retry count untuk memecahkan masalah ini.
Gambar 2.8 Bagan SNMP
SNMP terdiri dari 3 bagian:
• MIB (Management Information Base)
• Agent
• Manager
MIB bisa dikatakan sebagai struktur database variable elemen
jaringan yang dikelola. Struktur ini bersifat hierarki dan memiliki aturan
sedemikian rupa sehingga informasi nilai setiap variabel dapat diketahui
atau di set dengan mudah.
Agent merupakan software yang dijalankan di setiap node atau
elemen jaringan yang akan dimonitor. Tugasnya adalah mengumpulkan
seluruh informasi yang telah ditentukan dalam MIB.
Agent
SNMP
UDP
IP
Lower Layer
30
Manager merupakan software yang berjalan di sebuah host di
jaringan. Manager ini bertugas mengumpulkan informasi dari agen-agen.
Tidak semua informasi yang dimiliki agent diminta oleh manager.
Informasi-informasi yang diminta oleh administrator jaringan, yang
menjalankan host yang berfungsi sebagai manager saja yang akan
dikumpulkan oleh agent.
SNMP bekerja secara sederhana. Manager dan agent saling
bertukar pesan berupa permintaan manager dan jawaban dari agent tentang
informasi jaringan. Pesan-pesan ini dibawa oleh paket-paket data yang
disebut PDU (Protocol Data Unit).
PDU merupakan unit yang terdiri dari sebuah header dan beberapa
data yang ditempelkan pada header tersebut. PDU ini dapat dilihat sebagai
sebuah benda yang mengandung variabel-variabel, dimana variabel-
variabel tersebut memiliki nama dan nilai. Lima PDU yang telah
didefinisikan dalam standard adalah sebagai berikut :
• GET REQUEST
Dimanfaatkan untuk membaca informasi (nilai) MIB ketika manajer
mengetahui informasi yang spesifik mengenai suatu objek.
• GET-NEXT REQUEST
Seperti Get Request, tetapi memungkinkan pengambilan informasi pada
logical identifier selanjutnya dalam MIB Tree secara berurutan. Get-
Next melakukan pengambilan objek dengan melakukan traverse pada
MIB tree.
31
• GET RESPONSE
PDU ini untuk merespons unit data Get Request, Get-Next Request dan
Set Request. Get Response dikeluarkan oleh agent.
• SET REQUEST
Dipakai untuk menjelaskan aksi yang harus dilaksanakan di elemen
jaringan. Biasanya untuk mengubah/melakukan modifikasi nilai suatu
daftar variabel.
• TRAP
PDU ini memungkinkan modul management jaringan (agent) memberi
laporan tentang kejadian pada elemen jaringan kepada manager.
Gambar 2.9 Skematik Kerja Lima Operator SNMP
PDU Request dari manager dikirimkan melalui port UDP 161 dan
dibalas oleh agen melalui port yang sama. Sementara agent akan
mengirimkan pesan trap melalui port 162. Dengan menggunakan dua port
berbeda, sebuah host bisa menjalankan fungsi sebagai manager dan agent
32
sekaligus (Certificated Internet Webmaster, 2000, p7-1 – 7-11; Purbo,
1998, p281-285).
Ada empat format data primitif yang didefinisikan bagi SNMP
untuk merepresentasikan informasi manajemennya. Beberapa tipe abstrak
kemudian dikembangkan diatas tipe data primitif ini. Keempat tipe data
primitif ini adalah:
• INTEGER
Merupakan sebuah nilai 32-bit dalam representasi 2 komplomen.
INTEGER memiliki range nilai antara -2147483648 sampai
2147483647, dan biasa digunakan untuk merepresentasikan sebuah
enumerasi.
• OCTET STRING
Adalah satu atau lebih oktet. Tiap oktetnya memiliki nilai antara 0-255.
Tipe data ini biasanya digunakan untuk merepresentasikan sebuah teks
string.
• OBJECT IDENTIFIER
Adalah sebuah urutan integer yang men-tranverse sebuah MIB tree.
• NULL
(A Practical Guide to SNMPv3 and Network Management, 1999, p8)
33
2.3.2 Arsitektur Network Management
• Centralized Architecture
Semua agent mengirimkan informasi ke sebuah management system.
Semua aplikasi management di install ke dalam sebuah NMS yang
menjadi central.
Gambar 2.10 Centralized Architecture
Keuntungan dan kerugian centralized architecture :
o Keuntungan :
Informasi lebih mudah untuk diatur
o Kerugian :
Untuk jaringan yang besar akan terjadi flooding karena informasi
ditujukan ke hanya satu NMS.
(Certificated Internet Webmaster, 2000, p4-21)
• Distributed Architecture
Pada distributed architecture, sedikit ada dua NMS yang saling
terhubung dan mengambil informasi dari tiap agent di bawahnya. Tiap-
tiap NMS dapat bertukar informasi.
34
Gambar 2.11 Distributed Architecture
Keuntungan dan kerugian distribute architecture
o Keuntungan :
Tidak terjadi flooding pada tiap NMS karena adanya load
balancing.
o Kerugian :
Lebih sulit untuk melakukan manajemen karena terdapat beberapa
NMS.
(Certificated Internet Webmaster, 2000, p4-22)
• Hierarchical Architecture
Merupakan penggabungan antara centralized architecture dan
distributed architecture. Beberapa NMS terhubung ke sebuah
centralized NMS.
35
Gambar 2.12 Hierarchical Architecture
Keuntungan dan kerugian hierarchical architecture
o Keuntungan :
Mudah untuk melakukan manajemen karena NMS tersentralisasi.
Aplikasi management system terdistribusi melalui beberapa sub-
management system, dengan sebuah central yang mengambil
informasi dari sub-management system tersebut. Karena itu flooding
dapat dihindari. (Certificated Internet Webmaster, 2000,p4-22)
2.3.3 ASN.1
ASN.1 merupakan bahasa pemrograman yang digunakan oleh
SNMP untuk membuat MIB object. Bahasa pemrograman ini
menggunakan variabel dan statement seperti bahasa pemrograman lainnya.
Syntax pada ASN.1 digunakan di dalam MIB untuk menciptakan
strukturnya dan syntax ini merupakan human-readable syntax (Stallings,
1999, p561).
36
2.3.4 Basic Encoding Rule (BER)
BER standar mengubah informasi agar dapat ditransfer melalui
network. Secara spesifik, BER mengubah nilai dari ASN.1 menjadi oktet
agar bisa ditransfer dan diproses pada network. BER mengkodekan SNMP
Messages menggunakan basic encoding translation syntax language.
2.3.5 Structure of Management Information (SMI)
SMI adalah satu set aturan untuk menspesifikasikan informasi
manajemen yang dipelihara oleh sebuah perangkat. Informasi manajemen
adalah sebuah koleksi dari objek-objek yang dapat di-manage, dan aturan-
aturan pada SMI digunakan baik untuk memberi nama dan untuk
mendefinisikan objek-objek tersebut, (A Practical Guide to SNMPv3 and
Network Management, 1999, p5).
Dokumen SMI menetapkan 3 ketentuan yaitu:
1. Setiap bagian objek harus mempunyai nama yang disebut Object
Identifier (OID) yang membentuk MIB tree.
2. Penamaan sintak atau grammar yang akan digunakan. SMI
menggunakan dua buah bahasa yang menentukan sintak dan encoding,
yaitu ASN.1 dan BER (Basic Encoding Rule).
3. Menetapkan skema dari encoding.
2.3.6 Management Information Base (MIB)
Salah satu konsep terpenting dalam manajemen SNMP adalah
konsep tentang MIB. MIB adalah pandangan tentang informasi manajemen
37
yang diekspor oleh agen kepada manajer SNMP. Semua informasi yang
diakses atau dimodifikasi melalui agen sama halnya dengan diakses atau
dimodifikasi melalui MIB (SNMP++ Pendekatan Berorientasi Objek,
2002,p24)
MIB adalah sebuah koleksi terstruktur dari semua objek yang dapat
di-manage yang di-maintain oleh sebuah perangkat. Objek-objek tersebut
distruktukan dalam bentuk sebuah pohon hirarkis. (A Practical Guide to
SNMPv3 and Network Management, 1999,p6)
2.3.7 Object Identifier (OID)
OID adalah tipe data yang menggambarkan objek SNMP yang
mempunyai nama yang telah ditetapkan dalam MIB. OID memampukan
identifikasi objek-objek yang dikelola untuk diakses, dirujuk atau
dimodifikasi dalam sebuah information base. (SNMP++ Pendekatan
Berorientasi Objek, 2002,p34)
OID dinyatakan dalam dua format, yaitu notasi integer bertitik atau
notasi nama yang telah dikenal.
Sebagai contoh dalam notasi integer bertitik OID node MIB adalah
1.3.6.1.2.1, sementara dalam notasi nama yang telah dikenal dinyatakan
dengan (ISO.org.dod.internet.mgmt.mib).
2.3.8 Arsitektur SNMP
Arsitektur SNMP termasuk sebuah NMS, agent, dan Message
format. Berikut ini struktur Message format dari sebuah pesan SNMP :
38
Gambar 2.13 Struktur Message Format SNMP
Secara garis besar sebuah pesan SNMP dapat di bagi dalam dua bagian
yaitu SNMP header yang terdiri dari version, community, dan PDU type
serta SNMP message yang terdiri dari request id, error status, error index,
name dan value (variable binding).
Version identifier
Version indentifier ini berfungsi untuk menentukan versi dari
SNMP yang digunakan. Nilainya bertipe integer dan memiliki rentang 0-2.
Tabel 2.1 Version identifier
Community name
Community name adalah sebuah OCTET STRING yang berfungsi
sebagai sebuah password dalam proses pengambilan atau pemodifikasian
data manajemen oleh sebuah NMS. Agent dan NMS harus mempunyai data
manajemen oleh sebuah NMS. Agent dan NMS harus mempunyai
community name yang sama agar bisa saling berkomunikasi.
Version Community PDU type Request id Error Status Error index Name value
Version ID SNMP version
0
1
2
SNMPv1
SNMPv2
SNMPv3
39
PDU type
Field PDU type ini menspesifikasikan jenis/tipe dari pesan SNMP
yang dikirim apakah merupakan sebuah operasi SNMP (get, get-next, atau
set), sebuah respon terhadap operasi SNMP, atau sebuah trap. Tabel
berikut berisi PDU number dan PDU type:
Tabel 2.2 PDU Type
Request ID
Sebuah integer unik yang digunakan untuk mengidentifikasi
request. Sewaktu sebuah agen merespon pada sebuah pesan request dengan
PDU GetResponse, agen akan menggunakan nilai request id yang sama.
Value/Variable Binding
Menspesifikasikan objek yang mana yang akan diambil atau
dimodifikasi.
(A Pratctical Guide to SNMPv3 and Network Management, 1999, p27-28)
PDU number PDU type 0 1 2 3 4
GetRequest GetNextRequest GetResponse SetRequest Trap
40
2.3.9 Tipe Data Abstrak MIB
Beberapa tipe data abstrak telah didefinisikan dari tipe data primitif,
yang disebut sebagai application-wide types berikut:
• IP Address
Terdiri dari empat octet string yang berisi address standard TCP/IP.
• Counter
Sebuah objek integer 32 bit non-negative. Nilainya berada antara 0 dan
4294967295 (232 -1) Objek ini di-increase terus sampai mencapai suatu
nilai maksimum, lalu kemudian melakukan wrap around dan akan
mengulang kembali perhitungan dari 0. Counter biasanya digunakan
untuk merepresentasikan hal-hal seperti jumlah error yang terjadi,
jumlah byte data yang ditransmisikan oleh sebuah interface, dan lain
sebagainya. Sebuah counter baru akan berguna apabila dilakukan dua
nilai berbeda pada waktu yang berlainan.
• Network Address
Merepresentasikan sebuah pilihan dari beberapa keluarga protokol.
• Gauge
Sebuah integer 32 bit non-negative. Nilainya dapat bertambah maupun
berkurang namun tidak dapat bertambah sampai melewati suatu batas
maksimum atau berkurang sampai kurang dari suatu batas minimum.
• TimeTicks
Sebuah objek integer non-negative yang menghitung dengan resolusi
1/100 sejak sebuah event terjadi. Direpresentasikan oleh sebuah integer
41
32-bit non-negative. Setiap variabel TimeTicks menggunakan satuan
1/100 detik. Batas maksimum dari TimeTicks adalah 497 hari,
kemudian akan kembali menjadi nilai nol.
• Opaque
Memperbolehkan data arbritary untuk dienkodekan sebagai sebuah
OCTET STRING. Pada kenyataannya tipe data ini jarang sekali
digunakan.
(A Practical Guide to SNMPv3 and Network Management, 1999, p8-9)
2.3.10 MIB-I
MIB-I dikembangkan pada tahun 1988 dan dipublikasikan dengan
standard RFC 156 dan RFC 1212. MIB-I dapat mendefinisikan lebih dari
100 configurable managed object. Managed object ini dibagi menjadi
beberapa group dengan masing-masing grup memiliki instance-instancenya
masing-masing:
• System object group (1.3.6.1.2.1.1)
• Interface object group(1.3.6.1.2.1.2)
• Address translation object group(1.3.6.1.2.1.3)
• Internet Protocol (IP) object group (1.3.6.1.2.1.4)
• Internet Control Message Protocol (ICMP) object group (1.3.6.1.2.1.5)
• Transmission Control Protocol (TCP) object group (1.3.6.1.2.1.6)
• User Datagram Protocol (UDP) object group (1.3.6.1.2.1.7)
• Exterior Gateway Protocol (EGP) object group (1.3.6.1.2.1.8).
42
2.3.11 MIB-II
MIB-II dikembangkan pada tahun 1990. Pertama kali
dipublikasikan menurut RFC 1158 dan di-update menjadi RFC 1213.
MIB mengembangkan 8 object group yang sudah ada pada MIB-I
menjadi 11 object group dengan menambah 3 object group baru. Total
object yang terdapat pada group menjadi 174 object. Object baru yang
ditambahkan dalam MIB-II adalah:
• Transmission object group (1.3.6.1.2.1.9)
• CMOT object group (1.3.6.1.2.1.10)
• SNMP object group (1.3.6.1.2.1.11)
(Certificated Internet Webmaster, 2000, p6-10)
2.3.12 Format Message SNMPv1
Nama resmi untuk SNMP Message adalah Application Protocol
Data Unit (APDU). Nama tersebut sering disebut Protocol Data Unit
(PDU).
Get Request
Get Request command yang dikirim oleh NMS ke sebuah agent
akan memperoleh reply berupa nilai spesifik dari MIB. Berikut ini adalah
ilustrasi field Get Request command :
PDU type = 0 Request ID ERR status/ERR index Object identifier
Gambar 2.14 Field GetRequest Command
43
PDU type : Field ini mengidentifikasikan tipe command yang terdapat
dalam SNMP Message. Nilai 0 untuk mengindikasikan bahwa PDU
memiliki tipe Get command.
Request ID : Berisi nilai yang mengindentifikasikan SNMP Message.
Request ID digunakan untuk mencocokan antara Request dari NMS
dengan Response yang diterima dari agent.
Error status dan Error index : field ini tidak digunakan dalam Get
command, dan selalu di Set 0.
Object identifier : field ini berisi Object Identifier (OID) dari MIB.
Get Next Request
Command Get Next Request yang diberikan NMS ke agent
bertujuan untuk memperoleh nilai MIB berikutnya secara berurutan.
Berikut ini adalah ilustrasi field Get Next Request command :
PDU type = 1 Request ID ERR status/ERR index Object identifier
Gambar 2.15 Field GetNext Request PDU type : Field ini mengidentifikasikan type command yang terdapat
dalam SNMP Message. Nilai 1 mengindikasikan tipe pesan sebagai
Get command.
Request ID : Berisi nilai yang mengidentifikasikan SNMP Message.
Request ID digunakan untuk mencocokkan antara Request dari NMS
dengan Response yang diterima dari agent.
Error status dan Error index : Field ini tidak digunakan dalam Get
command, dan selalu di Set 0.
44
Object identifier : Field ini berisi Object Identifier (OID) dari MIB.
Get Response
Saat sebuah agent menerima request Get Request atau Get Next
Request, agent akan memeriksa apakah host yang meminta request berhak
untuk me-request. Itu dilakukan dengan memeriksa community name. Jika
ya, agent akan memberikan Response dengan Get Response Message.
Berikut ini adalah ilustrasi field dari Get Response:
PDU type = 2 Request ID ERR status/ERR index Object Identifier
Gambar 2.16 Field GetResponse Command
PDU type : Field ini mengidentifikasikan type command yang terdapat
dalam SNMP Message. Nilai 2 mengidentifikasikan tipe pesan
sebagai Get Command.
Request ID : Berisi nilai yang mengidentifikasikan SNMP Message.
Request ID digunakan untuk mencocokkan antara Request dari NMS
dengan Response yang diterima dari agent.
Error Status : Field ini berfungsi untuk melaporkan error Message yang
terjadi selama proses Get atau Get Next SNMP Message. Tabel
berikut menjelaskan error yang terdapat di dalam field.
45
Tabel 2.3 GetResponse
Message Description Value
No Error Proses berhasil 0
Too Big Response Message terlalu besar untuk dikirim 1
No Such
Name
Ini terjadi untuk dua kondisi:
Agent tidak mensupport OID yang diminta
Tidak ada OID lagi untuk perintah Get Next
Response.
2
Bad Value Response untuk Set Request yang menjelaskan bad
value atau data type.
3
Read Only Response ini diberikan jika kita menulis ke sebuah
variabel yang read-only.
4
Gen Err Error Message untuk memberitahukan error yang
terjadi saat menulis atau membaca MIB variable.
5
Error Index : Field ini menyimpan informasi error tambahan yang
digunakan untuk menjelaskan sumber dari error tersebut.
Object identifier : Field ini berisi Object Identifier (OID) dari MIB.
Set Request
Set Request command digunakan untuk mengubah nilai dari MIB
object pada sebuah agent.Dengan Set Request, NMS bisa men-configure
agent dari jauh (remotely). Berikut ini adalah ilustrasi dari Set Request
field:
PDU type = 3 Request ID ERR status /ERR index Object identifier
Gambar 2.17 Field SetRequest Command
46
PDU type : Field ini mengidentifikasikan type command yang terdapat
dalam SNMP Message. PDU di Set 3 untuk mengidentifikasikan
SNMP Message.
Request ID : Berisi nilai yang mengindentifikasikan SNMP Message.
Request ID digunakan untuk mencocokkan antara Request dari NMS
dengan Response yang diterima dari agent.
Error status dan Error index : Field ini tidak digunakan dalam Set
command, dan selalu di Set 0.
Object identifier : field ini berisi Object Identifier (OID) dari MIB.
Trap
Agent memberikan trap Message ke manager (NMS) jika ada event
tertentu yang terjadi. Misalnya terjadi error.Berikut ini adalah ilustrasi field
trap :
PDU type=4 Enterprise Agentaddress Generic trap Spesific trap Time stamp Variable values
Gambar 2.18 Field Trap Command
PDU type : Field ini mengidentifikasikan type command yang terdapat
dalam SNMP Message. PDU di Set 4 untuk mengidentifikasikan Get
command.
Enterprise : Field ini berisi informasi di dalam MIB object sysObjectID.
Informasi ini termasuk sebuah deskripsi tentang agent yang
memberikan trap Message.
47
Agent address : field ini berisi IP address dari agent yang memberikan
trap.
Generic trap : Field ini berisi sebuah error code yang mengidentifikasikan
satu dari 6 generic trap Message, yaitu:
• Cold start (0) mengindikasikan bahwa agen telah melakukan
reset. Kemungkinan besar menunjukkan bahwa sebuah perangkat
telah di reboot.
• Warm start (1) mengindikasikan bahwa agen telah melakukan
inisialisasi ulang, namun managed object yang ada dalamnya
tidak diubah.
• Link down (2) mengindikasikan bahwa sebuah interface telah
mengalami perubahan status dari up menjadi down.
• Link up (3) mengindikasikan bahwa sebuah interface telah
mengalami perubahan status dari down menjadi up.
• Authentication failure (4) mengindikasikan bahwa sebuah pesan
SNMP telah diterima namun mengalami kegagalan authentikasi.
• Egp neighbor loss (5) mengindikasikan bahwa sebuah EGP
neighbor telah melakukan transisi kepada keadaan down.
• Enterprise Spesific (6) mengindikasikan trap yang bersifat
khusus.
(A Practical Guide to SNMPv3 and Network Management, 1999, p35)
48
Specific trap : Jika Enterprise Specific code berada di dalam generic trap
field, field ini akan berisi perangkat Specific code yang di-generate
oleh event yang menyebabkan trap itu terjadi.
Time stamp : ini adalah waktu saat trap Message di-generate.
Variable values : field ini digunakan untuk menambah nilai yang
berhubungan dengan trap Message.
(Certificated Internet Webmaster, 2000,p7-9)
2.4 Perhitungan parameter jaringan
Dalam perhitungan tingkat utilisasi jaringan digunakan rumus sebagai
berikut:
rxUtilization = (( ifINOctet*8)/(ifSpeed* time))*100%
keterangan : - rxUtilization : utilisasi bandwidth masuk
- ifINOctet : selisih jumlah oktet yang masuk
- ifSpeed : bandwidth maksimum pada jaringan
- time : selisih waktu
Ekspresi diatas digunakan untuk melakukan perhitungan tingkat receive
utilization dari sebuah interface. Tingkat utilisasi ini bersifat independen dari
media yang digunakan, dan untuk line full-duplex perhitungan ini akan
menunjukkan berapa banyak dari bandwidth yang digunakan.
txUtilization = (( ifOutOctets*8)/(ifSpeed* time))*100%
keterangan : - txUtilization: utilisasi bandwidth keluar
- ifOutOctets : selisih jumlah oktet yang keluar
49
- ifSpeed : bandwidth maksimum pada jaringan
- time : selisih waktu
Ekspresi diatas digunakan untuk melakukan perhitungan tingkat transmit
utilization dari sebuah interface. Pada sebuah jaringan half-duplex normal, tingkat
utilisasi untuk segmen tersebut akan berupa hasil penjumlahan dari transmit dan
receive utilization. Untuk mendapatkan hasil yang benar-benar akurat, harus
diperhitungkan jarak yang ada antara tiap frame, namun hal itu dapat diindahkan
karena pengaruhnya terhadap hasil akan sangat kecil sekali dan tidak perlu
dikhawatirkan.
Ethernet Utilization = rxUtilization + txUtilization
(A Practical Guide to SNMPv3 and Network Management, 1999, p56-57)
2.5 Perancangan Piranti Lunak
Menurut Pressman(2001,p6), yang dimaksud dengan piranti lunak adalah
(1) kumpulan instruksi (program komputer) yang jika dieksekusi akan
menyediakan fungsi dan dayaguna yang diinginkan, (2) kumpulan struktur data
yang memungkinkan program untuk memanipulasi informasi dengan memadai,
dan (3) kumpulan dokumen yang menggambarkan operasi dan penggunaan
program. Dalam perancangan piranti lunak terdapat beberapa macam model seperti
linier sekuensial, spiral, incremental, dll. Penyusun memilih model waterfall (
linier sekuensial ) karena langkah-langkahnya berurutan dan sistematis.
50
Gambar 2.19 Model Linear Sekuensial
Langkah-langkah dalam model waterfall adalah sebagai berikut:
1. Rekayasa dan penyusunan sistem/informasi
Tahap ini dimulai dengan menyusun kebutuhan (requirement) untuk seluruh
elemen sistem dan kemudian mengalokasikan beberapa subset dari kebutuhan
tersebut pada piranti lunak (software). Proses ini sangat penting ketika piranti
lunak harus berinteraksi dengan elemen yang lainnya seperti, perangkat keras
(hardware), manusia, dan basis data (database).
2. Analisa kebutuhan piranti lunak
Proses pengumpulan kebutuhan pada tahap ini lebih diintensifkan dan
difokuskan pada piranti lunak. Pengembang piranti lunak harus memahami
tentang fungsi yang dibutuhkan, perilaku, dayaguna dan tampilan layar dari
piranti lunak yang akan dikembangkan.
3. Perancangan (Design)
Perancangan piranti lunak sesungguhnya merupakan proses bertahap yang
berfokus pada empat atribut dari sebuah program: struktur data, arsitektur
piranti lunak, representasi tampilan layar, dan detail prosedural (algoritmik).
51
Proses desain menerjemahkan kebutuhan menjadi suatu representasi dari
piranti lunak yang dapat diakses sebelum pengkodean dimulai.
4. Pembuatan kode (code generation)
5. Pengujian (testing)
Proses program dilakukan setelah kode dihasilkan. Proses pengujian
difokuskan pada bagian internal software secara logis, memastikan bahwa
setiap pertanyaan (statement) telah diuji, dan pada bagian eksternal fungsi, di
mana dilakukan pengujian untuk menemukan error dan memastikan bahwa
masukan yang ditentukan akan memberikan hasil yang diharapkan.
6. Pemeliharaan (Maintenance)
Ketika piranti lunak telah selesai dikembangkan dan dikirimkan kepada
pelanggan, piranti lunak tersebut mungkin akan mengalami masalah atau error
yang tidak diharapkan sebelumnya. Untuk itu, tahapan pemeliharaan dilakukan
dengan tujuan melakukan penyesuaian dan perbaikan pada piranti lunak
tersebut.
2.6 Squid
Squid adalah software web caching yang paling populer saat ini, dan bisa
bekerja di beberapa platform termasuk Linux, FreeBSD, dan Microsoft Windows.
Squid meningkatkan kinerja jaringan dengan mengurangin jumlah bandwidth yang
digunakan saat melakukan surfing di internet. Dengan caching dan penggunaan
ulang web content yang populer, Squid meringankan kerja web server. Squid juga
melindungi host-host dalam jaringan internal dengan berperan sebagai firewall dan
melakukan sistem proxy terhadap internal web traffic. Squid dapat digunakan
52
untuk mengumpulkan statistik mengenai lalu lintas yang terjadi di jaringan,
mencegah user mengunjungi web-web yang tidak diinginkan, menjamin hanya
user yang diijinkan yang bisa mengakses internet, dan meningkatkan privasi
dengan melakukan filtering terhadap web request
(http://squidbook.org).
Squid berlisensi GPL (GNU Public Lisecse) atau open source yang dalam
pembuatannya melibatkan banyak pihak. Dengan open source ini, Squid bisa
dikatakan selalu dalam tahap pembuatan (beta/develop version). Namun tidak
berati Squid jelek dan tidak stabil, namun sebaliknya.
2.7 PHP
PHP adalah bahasa pemograman script yang paling banyak dipakai saat ini.
PHP banyak dipakai untuk pemograman situs web dinamis, walaupun tidak
tertutup kemungkinan digunakan untuk pemakaian lain.
(http://id.wikipedia.org/wiki/Php)
PHP pertama kali dibuat oleh Rasmus Lerdof pada tahun 1995. Pada waktu
itu PHP bernama FI (Form Interpreted). Pada saat tersebut PHP adalah sekumpulan
script yang digunakan untuk mengolah data form dari web.
Kelebihan PHP dari bahasa pemograman lain, yaitu :
• Bahasa pemograman PHP adalah sebuah bahasa script yang tidak melakukan
sebuah kompilasi dengan penggunanya.
• Web server yang mendukung PHP dapat ditemukan dimana-mana dari mulai
IIS sampai dengan Apache, dengan konfigurasi yang relatif mudah.
53
• Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan
developer yang siap membantu dalam pengembangan.
• Dalam sisi pemahaman, PHP adalah bahasa scripting yang paling mudah
karena referensinya yang banyak.
• PHP adalah bahasa open source yang dapat digunakan di berbagai mesin
(Linux, UNIX, Microsoft Windows) dan dapat dijalankan secara runtime
melalui console serta juga dapat menjalankan perintah-perintah sistem.
(http://id.wikipedia.org/wiki/Php)
2.8 MySQL
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL
(bahasa Inggris: database management system) atau DBMS yang multithread,
multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat
MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General
Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk
kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
o Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat
lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber
dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh
sebuah perusahaan komersial Swedia MySQL AB, dimana pemegang hak cipta
atas semua kode sumbernya.
Beberapa karakteristik penting MySQL yaitu:
• Ditulis dalam Bahasa Pemograman C dan C++.
54
• Diuji coba dengan berbagai jenis compiler.
• Dapat bekerja di beberapa flatform yang berbeda (Linux, Mac, Microsoft
Windows).
• Terdapat beberapa API tersedia yang memungkinkan aplikasi-aplikasi
komputer yang ditulis dalam berbagai bahasa pemrograman untuk dapat
mengakses basis data MySQL antara lain : Bahasa Pemrograman C, C++, C#,
Bahasa pemrograman Eiffel, Bahasa pemrograman Smalltalk, Bahasa
pemrograman Java, Bahasa pemrograman Lisp, Perl, PHP, Phyton, Ruby,
REALbasic.
(http://www.mysql.com)
2.9 XAMPP
XAMPP merupakan salah satu paket installasi Apache, PHP dan MySQL
instant yang dapat kita gunakan untuk membantu proses installasi ketiga produk
tersebut. Selain paket installasi instant XAMPP versi 1.5.2 juga memberikan
fasiltias pilihan pengunaan PHP4 atau PHP5. Untuk berpindah versi PHP yang
ingin digunakan juga sangat mudah dilakukan dengan mengunakan bantuan PHP-
Switch yang telah disertakan oleh XAMPP, dan yang terpenting XAMPP bersifat
free atau gratis untuk digunakan.
XAMPP merupakan pengembangan dari LAMP (Linux Apache, MySQL,
PHP and PERL), XAMPP ini merupakan project non-profit yang di kembangkan
oleh Apache Friends yang didirikan Kai 'Oswalad' Seidler dan Kay Vogelgesang
55
pada tahun 2002, project mereka ini bertujuan mempromosikan pengunaan Apache
web server.
Berikut detail paket installasi yang disertakan pada XAMPP 1.5.2 :
▪ Apache 2.2.6
▪ MySQL 5.0.45
▪ PHP 5.2.4 + PHP 4.4.7 + PEAR
▪ PHP-Switch win32 1.0
▪ XAMPP Control Version 2.5 from www.nat32.com
▪ XAMPP Security 1.0
▪ SQLite 2.8.15
▪ OpenSSL 0.9.8e
▪ phpMyAdmin 2.11.1
▪ ADOdb 4.95
▪ Mercury Mail Transport System v4.01b
▪ FileZilla FTP Server 0.9.23
▪ Webalizer 2.01-10
▪ Zend Optimizer 3.3.0
▪ eAccelerator 0.9.5.2 for PHP 5.2.4
2.10 Asynchronous JavaScript And XML (AJAX)
Asynchronous JavaScript And XML, atau disingkat Ajax, adalah suatu
teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif.
Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer
web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga
56
halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang
pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas,
kecepatan, dan ketersediaan. Ajax merupakan kombinasi dari:
• XHTML (atau HTML) dan CSS untuk bahasa mark up dan tampilan.
• DOM yang diakses dengan client side scripting language, khususnya
implementasi ECMAScript seperti JavaScript dan JScript, untuk menampilkan
secara dinamis dan berinteraksi dengan informasi yang ditampilkan
• Objek XMLHttpRequest untuk melakukan pertukaran data asinkronus dengan
web server. Pada beberapa framework dan kasus Ajax, objek IFrame lebih
dipilih daripada XMLHttpRequest untuk melakukan pertukaran data dengan
web server.
• XML umumnya digunakan sebagai format untuk pengiriman data, walaupun
format lain juga memungkinkan, seperti HTML, plain text, JSON dan EBML.
Seperti halnya DHTML, LAMP, atau SPA, Ajax bukanlah teknologi
spesifik, melainkan merupakan gabungan dari teknologi yang dipakai bersamaan.
Bahkan, teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX
sudah mulai bermunculan.
2.11 Visual Basic
Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan sebuah
bahasa pemograman yang bersifat event driven dan menawarkan Integrated
Development Environment (IDE) visual untuk program aplikasi berbasis sistem
operasi Microsoft Windows dengan menggunakan model pemograman Common
57
Object Model(COM). Visual Basic merupakan turunan bahasa BASIC dan
menawarkan pengembangan aplikasi komputer berbasis grafik dengan cepat, akses
ke basis data menggunakan Data Access Object(DAO), Remote Data
Object(RDO), atau ActiveX Data Object(ADO), serta menawarkan pembuatan
kontrol ActiveX dan object ActiveX.
Visual Basic merupakan bahasa yang mendukung OOP, namun tidak
sepenuhnya. Beberapa karakteristik obyek tidak dapat dilakukan pada Visual
Basic, seperti Inheritance tidak dapat dilakukan pada class module. Polymorphism
secara terbatas bisa dilakukan dengan mendeklarasikan class module yang
memiliki Interface tertentu. Visual Basic (VB) tidak bersifat case sensitif. Visual
Basic menjadi populer karena kemudahan desain form secara visual dan adanya
kemampuan untuk menggunakan komponen-komponen ActiveX yang dibuat oleh
pihak lain.
(http://id.wikipedia.org/wiki/Visual_Basic)
2.12 Pseudocode
Pseudocode adalah outline dari program, ditulis dalam bentuk yang mudah
untuk dikonvert ke dalam bentuk sintaks bahasa pemograman.
Pseudocode tidak bisa dikompile atau di eksekusi dan tidak ada format atau
aturan sintaks yang pasti. Pseudocode merupakan tahap yang penting dalam proses
coding. Keunggulan pseudocode adalah programmer bisa berkonsentrasi pada
pembuatan algroritma dan tidak khawatir pada bahasa pemograman apa yang akan
dipakai. Pada dasarnya, setiap orang dapat membuat pseudocode tanpa harus
mengetahui bahasa pemograman apa yang akan digunakan. (www.webopedia.com)