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) 9
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 •
2.1.2
Dikendalikan secara private oleh administrator lokal.
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
(Arifin,2003,p149) WAN didesain untuk: •
Beroperasi pada wilayah geografis yang sangat luas,
bawah
laut.
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
standardization)
pada
oleh tahun
ISO
(Internasional
1984.
Organization
Pengembangan
model
Of 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 0-127
Host 0-255
Host
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 128-191 0-255
Host 0-255
Host
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 192-223 0-255
Network 0-255
0-255.
Host
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 masingmasing 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 benarbenar 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.
Agent SNMP UDP IP Lower Layer 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.
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 variabelvariabel 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. GetNext 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. Tiaptiap 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 submanagement 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 aturanaturan 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 Version
Community
PDU type
Request id
Error Status
Error index
Name
value
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 Version ID
SNMP version
0
SNMPv1
1
SNMPv2
2
SNMPv3
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.
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 PDU number 0 1 2 3 4
PDU type GetRequest GetNextRequest GetResponse SetRequest Trap
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)
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
Gambar 2.14 Field GetRequest Command
Object identifier
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
Ini terjadi untuk dua kondisi:
2
Name
Agent tidak mensupport OID yang diminta Tidak ada OID lagi untuk perintah Get Next Response.
Bad Value
Response untuk Set Request yang menjelaskan bad
3
value atau data type. Read Only
Response ini diberikan jika kita menulis ke sebuah
4
variabel yang read-only. Error Message untuk memberitahukan error yang
Gen Err
5
terjadi saat menulis atau membaca MIB variable. 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 = ((UifINOctet*8)/(ifSpeed*Utime))*100% keterangan : - rxUtilization : utilisasi bandwidth masuk - UifINOctet : selisih jumlah oktet yang masuk - ifSpeed : bandwidth maksimum pada jaringan - Utime : 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 = ((UifOutOctets*8)/(ifSpeed*Utime))*100% keterangan : - txUtilization: utilisasi bandwidth keluar - UifOutOctets : selisih jumlah oktet yang keluar
49 - ifSpeed : bandwidth maksimum pada jaringan - Utime : 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 PHPSwitch 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)