bab 2 landasan teori -...

49
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)

Upload: lamnhi

Post on 07-Mar-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

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)