BAB 2 LANDAS AN TEORI 2.1. Data Data adalah informasi yang direpresentasikan dalam berbagai bentuk yang telah disepakati oleh pihak-pihak yang membuat dan menggunakannya (Forouzan, 2007). Komunikasi Data adalah pertukaran Data antara 2 alat melalui beberapa media transmisi seperti kabel (Forouzan, 2007). Alat komunikasi harus menjadi bagian dari sistem komunikasi yang dibuat dari kombinasi antara hardware (peralatan fisik) dan software (program). Efektifitas sistem komunikasi Data bergantung pada 4 hal: delivery, accuracy, timeliness, jitter. 1. Delivery Sistem harus mengirimkan data ke tujuan yang tepat. Data harus diterima oleh alat dan user yang dikehendaki dan hanya oleh device dan user tersebut. 2. Accuracy Sistem harus mengirimkan data secara akurat. Data yang telah diubah di dalam transmisi dan dibiarkan salah tidak akan bermanfaat. 3. Timeliness Sistem harus mengirimkan data sesuai tepat pada waktunya. Data yang terkirim terlambat tidak akan berguna. Pada kasus video dan audio, ketepatan pengiriman berarti mengirimkan data dengan urutan yang sama seperti pada saat diproduksi dan tanpa terjadi delay yang signifikan. 4. Jitter 8 Jitter merupakan istilah yang menunjukkan variasi waktu penerimaan paket data. M isalnya ketidakseimbangan delay pada saat penerimaan paket Data audio dan video. Komponen dalam sistem komunikasi Data ada 5 : 1. Message (Pesan) Message adalah informasi (Data) yang dikomunikasikan yang bentuknya dapat berupa teks, angka, gambar, audio, dan video. 2. Sender Sender adalah alat yang mengirimkan pesan data yang dapat berupa komputer, workstation, telepon, kamera video, dan lain-lain. 3. Receiver Receiver adalah alat yang menerima pesan. Bentuk umum receiver adalah komputer, workstation, telepon, televisi, dan lain-lain. 4. Transmission Medium (M edia Transmisi) M edia Transmisi adalah jalur fisik dimana pesan berpindah dari sender ke receiver. Contoh dari media transmisi misalnya twisted-pair wire, coaxial cable, fibre-optic cable, dan gelombang radio. 5. Protocol (Protokol) Protokol adalah seperangkat peraturan yang mengatur komunikasi data dimana protokol merepresentasikan sebuah kesepakatan antara peralatan yang sedang berkomunikasi. Tanpa protokol, 2 alat komunikasi dapat dihubungkan tapi tidak dapat berkomunikasi. 9 2.2. Network Network (jaringan) adalah seperangkat alat (sering disebut juga sebagai node) yang terhubung oleh jaringan komunikasi. Sebuah node dapat berupa komputer, printer, ataupun alat-alat lain yang sanggup mengirim dan/atau menerima Data yang dihasilkan oleh node lain dalam jaringan tersebut. Bentuk Fisik - Tipe koneksi Ada 2 macam tipe koneksi dalam jaringan : • Point-to-point Point-to-point connection menyediakan link antara 2 alat. • Multipoint Atau juga disebut Multidrop adalah salah satu dimana lebih dari 2 alat tertentu berbagi dalam satu link. - Topologi Fisik • Mesh • Star Topology • Bus Topology • Ring Topology • Hybrid Topology Kategori Jaringan Secara garis besar, ada 2 kategori utama dalam jaringan, yaitu : Local Area Network (LAN) dan Wide Area Network (WAN). Ketentuan suatu jaringan dikatakan sebagai LAN atau WAN dilihat dari ukurannya, dimana LAN 10 biasanya mencakup area kurang dari 2 mil, sedangkan WAN mencakup wilayah yang lebih luas daripada LAN. 1. Local Area Network (LAN) LAN merupakan jaringan komputer yang digunakan untuk menghubungkan komputer yang jaraknya tidak terlalu jauh. Sebuah Local Area Network (LAN) biasanya dimiliki oleh suatu perusahaan, gedung, atau kampus. 2. Metropolitan Area Network (M AN) MAN adalah suatu jaringan komputer yang mencakup area suatu kota. Biasanya didesain untuk user yang membutuhkan koneksi berkecepatan tinggi. 3. Interconnection of Networks : Internetwork Gabungan dari beberapa LAN, M AN biasa disebut Internetwork atau Internet. 2.3. OS I Layer M odel OSI (yang merupakan singkatan dari Open System Interconnection) dikembangkan oleh ISO (International Standard for Organization). Proses pengerjaan M odel OSI dimulai dari akhir 1970, kemudian penyelesaian OSI M odel ini berakhir diantara akhir tahun 1980-an dan awal 1990-an. Tujuan pembuatan M odel OSI adalah agar menjadi jelas jenis protokol yang diimplementasi pada sebuah proses komunikasi Data. Tujuan lain yang tidak kalah penting dari pembuatan M odel OSI kala itu adalah untuk menjadi standard agar sistem yang berbeda platform dapat saling berkomunikasi. 11 M odel OSI terdiri 7 layer (lapisan), yang hampir setiap layer memiliki service dan protokol yang unik. Ketujuah layer beserta fungsionalitasnya adalah sebagai berikut: 1. Physical Layer Physical layer mengkoordinasikan fungsi yang dibutuhkan untuk membawa bit stream melewati media dalam jaringan. Layer ini akan mengenali karakteristik Interface diantara alat media transmisi yang digunakan serta mengenali tipe bit (yaitu bit 0 dan bit 1) melalui sinyal (listrik dan optik). Physical layer juga mengatur arah transmisi data diantara 2 device secara simplex (komunikasi satu arah), half-duplex (komunikasi dua arah yang tidak bersamaan), dan full-duplex (komunikasi dua arah yang bersamaan). Secara umum, Physical layer bertanggungjawab terhadap perpindahan setiap bit data dari node satu ke node yang lainnya. 2. Data Link Layer Data Link layer merupakan layer yang bertanggungjawab menghubungkan Physical layer yang membawa data mentah untuk diubah menjadi suatu reliable link yang selanjutnya akan ditransfer ke layer di atasnya, yaitu Network layer. Pada layer ini, sekumpulan bit akan dibagi menjadi bagianbagian yang disebut frames. Layer ini akan menambahkan sebuah header pada tiap frame yang berisikan alamat pengirim dan penerima frame tersebut. Data Link layer juga bertanggungjawab atas manajemen perbaikan data yang rusak atau hilang yang terjadi pada Physical layer. 12 3. Network Layer Layer ini mengatur data pada level source-to-destination. Penyampaian pengiriman paket data dari suatu host ke destination khususnya ketika melewati berbagai jaringan yang kompleks harus sesuai dengan tujuan atau penerima yang diinginkan. Logical Addressing pengirim dan penerima akan digunakan dan ditambahkan dalam paket data yang sedang dikirimkan. Dalam pengiriman data yang melewati berbagai jaringan yang berbeda satu dengan yang lainnya, dibutuhkan routing table untuk menentukan arah pengiriman data hingga sampai ke tujuan. 4. Transport Layer Transport layer bertanggungjawab terhadap level process-to-process dari keseluruhan pesan yang dikirimkan, artinya, setiap paket data yang telah dipisahkan satu sama lain (pada Network layer) tidak akan memiliki hubungan antara satu dengan paket data yang lainnya. Transport layer hanya memastikan bahwa semua pesan yang dikirimkan lengkap dan berurutan dan mengontrol error control dan flow control pada level source-to-destination. 5. Session Layer Session layer dapat disebut sebagai dialog contoller, yang membangun interaksi diantara sistem komunikasi yang terjadi dalam suatu jaringan, baik pada mode half-duplex maupun full-duplex. Pada layer ini juga bertanggungjawab terhadap proses pengecekan sekumpulan stream data untuk menjamin kelengkapan data yang dikirimkan. 13 6. Presentation Layer Pada layer ini, data-data yang akan dikirimkan ke suatu tujuan tertentu harus melalui suatu proses perubahan format. Hal ini disebabkan karena tiap komputer baik itu yang mengirimkan maupun menerima data bisa saja menggunakan encoding system yang berbeda satu sama lainnya. Presentation layer pada komputer pengirim akan mengubah format data yang dikirimkan menjadi format yang lebih umum, dan selanjutnya data akan diubah oleh presentation layer pada komputer penerima menjadi format data yang dikenal. Untuk mengurangi pemakaian bit dalam suatu informasi, biasanya digunakan teknik kompresi. Selain mengatur encoding system, layer ini juga mengontrol perihal enkripsi dan dekripsi data sebagai jaminan keamanan dalam pengiriman data yang sifatnya sangat pribadi. 7. Application Layer Layer terakhir pada OSI-layer, adalah application layer yang mengatur pemakaian akses jaringan yang berbentuk user Interface seperti electronic mail, remote file access and transfer, shared database management, dan sebagainya. Pada application layer memungkinkan terciptanya komunikasi berbasis remote host yang dapat memungkinkan user untuk log on ke dalamnya serta memungkinkan pengaksesan file (untuk dibaca maupun diubah) pada sebuah remote hos t. Pada mail service, menyediakan e-mail forwarding and storage. Sedangkan pada directory service menyediakan database terdistribusi dan akses informasi global terhadap berbagai objek. 14 2.4. Internet Sebuah jaringan adalah kumpulan alat komunikasi yang saling terhubung seperti komputer dan printer. Internet merupakan gabungan ratusan maupun ribuan jaringan yang dapat berkomunikasi satu sama lain (Forouzan, 2007). Sejarah perkembangan Internet dimulai sejak tahun 1960-an yang dipelopori oleh Advanced Research Projects Agency (ARPA) yang menciptakan ARPANET, sebuah jaringan kecil yang berisi komputer-komputer yang saling terhubung. Perkembangan Internet terus berlanjut hingga sekarang, sampai terciptanya protokol dalam Internet yang dikenal dengan Transmission Control Protocol (TCP) dan Internetworking Protocol (IP). TCP bertanggungjawab atas fungsi segmentation, reassembly, dan error detection. IP bertanggungjawab dalam menangani Datagram routing. Pada jaman sekarang, kebanyakan pengguna Internet yang menginginkan koneksi Internet biasanya menggunakan layanana dari Internet Service Provider (ISP). Terdapat beberapa ISP yang berskala lokal, nasional, regional, dan internasional. 2.5. Bandwidth Dalam istilah komunikasi elektronik, bandwidth merupakan selisih frekuensi yang sinyalnya terdiri dari dua bagian, atau selisih antara frekuensi atas dan frekuensi bawah (Forouzan, 2007). Pengertian bandwidth dalam bidang komunikasi data digital adalah sejumlah data yang dapat dibawa dalam sebuah frekuensi yang dinyatakan dalam satuan bit per second (bit/s) (Lamle, 2008). Biasanya, semakin besar bandwidth, semakin cepat informasi yang dapat dibawa. 15 Satuan dasar bandwidth dinyatakan dalam bit per second (bit/s) atau digunakan satuan yang lebih besar seperti dalam satuan kilobits per second (kbps), megabits per second (M bps), dan satuan yang lebih besar lainnya. Tipe media transmisi data sangat mempengaruhi besarnya bandwidth. Fisik dan media yang digunakan juga mempengaruhi besarnya bandwidth. Sinyal data dapat berjalan melalui kabel koaksial, kabel twisted-pair, serat optik, maupun lewat udara. Perbedaan mekanisme sinyal berjalan secara fisik mengakibatkan batasan yang mendasar terhadap besarnya kapasitas media dalam membawa informasi. 2.6. TCP/IP Protocol Suite TCP/IP Protocol Suite dikembangkan mengacu pada model OSI. TCP/IP Protocol Suite dibagi menjadi 4 layer. Yaitu : host-to-Network, Internet, transport, dan application. Namun, ketika TCP/IP dibandingkan dengan O SI, dapat dikatakan host-to-Network layer sama dengan kombinasi dari Physical layer dan Data Link layer. Internet layer sama dengan Network layer, dan application layer sama dengan session, presentation, dan application layer dengan transport layer pada TCP/IP memperhatikan bagian tugas dari session layer. TCP/IP adalah protokol hirarkis yang dibuat dari modul-modul interaktif, dimana masing-masing menyediakan fungsi yang spesifik (Forouzan, 2007). Namun, modul-modul tersebut tidak harus saling bergantung. Sedangkan O SI model menetapkan fungsi dari tiap layernya, leyer pada protokol TCP/IP mengandung independent protocols yang dapat digabungkan dan dicocokkan 16 berdasarkan kebutuhan sistem. Protokol dengan level yang lebih tinggi didukung oleh satu atau beberapa protokol dengan level di bawahnya. • Physical and Data Link Layers Pada Physical and Data Link Layers, TCP/IP tidak menjelaskan protokol secara spesifik. Pada layer ini mendukung semua standar dan pemilik protokolprotokol. Jaringan pada sebuah Internetwork TCP/IP dapat menjadi sebuah Local Area Network atau sebuah Wide Area Network. • Network Layer Pada Network layer atau disebut Internetwork layer, TCP/IP mendukung InternetwoRing Protocol. IP digunakan untuk mendukung protocol seperti: RARP, ICM P, IGM P. - InterNetworking Protocol (IP) Adalah mekanisme transmisi yang digunakan oleh protokol TCP/IP dan merupakan unrealible and connectionless protocol, suatu best-effort delivery service, yang artinya IP tidak menggunakan pengecekan kesalahan atau tracking. IP mengirimkan Data dalam paket disebut datagram, dimana setiap pengirimannya dipisahkan. Datagram dapat berjalan melewati berbagai rute dan tiba secara tidak berurutan. - Address Resolution Protocol (ARP) ARP digunakan untuk mengaabungkan Logical Address dengan Physical Address. Pada Physical Network, seperti LAN, setiap alat pada suatu link diidentifikasi oleh alamat fisik. Biasanya dicetak pada Network Interface 17 Card (NIC). ARP digunakan untuk menemukan alamat fisik pada node ketika alamat Internet telah diketahui. - Reverse Address Resolution Protocol (RARP) diketahui alamat fisiknya saja. Digunakan ketika komputer sedang terhubung dengan jaringan untuk pertama kalinya atau ketika diskless computer sedang di-boot. - Internet Control Message Protocol (ICM P) ICMP adalah mekanisme yang dibuat oleh host dan gateway untuk mengirimkan pemberitahuan pada permasalahan datagram kepada pengirim. ICMP mengirimkan query dan pesan error. - Internet Group Message Protocol (IGM P) IGM P digunakan untuk memfasilitasi transmisi pesan secara simultan kepada grup penerima. • Transport Layer Secara tradisional, layer transport di TCP/IP diwakili oleh 2 protokol yaitu TCP dan UDP. IP adalah host-to-host protocol, yang berarti dapat mengirimkan paket dari satu alat ke alat yang lain. UDP dan TCP adalah transport level protocol yang bertanggungjawab dalam mengirimkan pesan dari proses (program yang sedang berjalan) ke proses yang lain. - User Datagram Protocol (UDP) UDP adalah protokol transport yang lebih sederhana pada TCP/IP, merupakan process-to-process protocol yang ditambahkan pada port Address, checksum error control, dan panjang informasi pada Data dari layer diatasnya. 18 - Transmission Control Protocol (TCP) TCP menyediakan layanan layer transport penuh untuk aplikasi. TCP adalah protokol stream protocol transport, maksudnya adalah connection-oriented, yaitu koneksi harus dibangun antara 2 pihak sebelum bisa mengirimkan Data. - Stream Control Transmission Protocol (SCTP) SCTP menyediakan aplikasi lebih baru seperti penggunaan suara pada media Internet. SCTP adaah layer transport yang menggabungkan fitur terbaik pada UDP dan TCP. • Application Layer Layer aplikasi pada TCP/IP adalah gabungan dari session, presentation, dan application layer pada OSI model. Beberapa protokol didefinisikan pada layer ini. 2.7. Perangkat Keras Jaringan M enurut Tanenbaum (2003) Secara garis besar, perangkat keras jaringan dibagi menjadi 2 bagian besar, yaitu : 1. Broadcast Link M emiliki single communication channel yang akan didistribusikan oleh mesin dalam suatu jaringan. Data akan dikirimkan ke seluruh tujuan dengan menggunakan kode spesial pada Address field, yang dapat diterima oleh semua mesin dalam suatu jaringan. M ekanisme ini biasanya disebut dengan Broadcasting. 19 2. Point-to-point links Jaringan point-to-point memiliki beberapa koneksi diantara berbagai mesin dalam suatu atau beberapa jaringan. Untuk mengirimkan data ke tujuan tertentu, sangat memungkinkan data tersebut akan melewati berbagai intermediate machine dalam sebuah atau beberapa jaringan. Dalam membangun suatu jaringan biasanya diperlukan beberapa peralatan untuk menghubungkan beberapa perangkat komputer maupun perangkat jaringan. Beberapa alat yang biasa digunakan dalam sebuah jaringan adalah sebagai berikut : 1. Network Interface Card (NIC) Network Interface Card (NIC) atau biasanya disebut LAN Card merupakan sebuah kartu jaringan yang dipasang pada slot ekspansi pada komputer. Sebuah NIC memiliki alamat khusus yang disebut dengan ethernet Address atau M AC Address. Alamat ini mengandung kode heksa 48-bit. Setiap NIC memiliki alamat yang berbeda. Ketika sebuah komputer ingin berkomunikasi dengan komputer lainnya maka ia akan memancarkan sinyal untuk mencari alamat NIC yang dituju. Bia alamat tersebut telah ditemukan, maka komunikasi antar dua kartu ethernet tersebut dapat dilakukan. 2. Repeater Repeater digunakan untuk memperkuat sinyal digital yang berfungsi memanjangkan kabel jaringan dari batasan normalnya. Repeater akan memperbanyak paket-paket dan menempatkannya ke dalam setiap 20 segmen kabel. Ketika Repeater menerima sinyal, Repeater akan memperkuat sinyal dan melewatkan sinyal tersebut ke segmen berikutnya. Seluruh Repeater tidak menyediakan isolasi antara segmen jaringan, semua data yang datang diteruskan oleh Repeater. Gambar 2.1 Repeater dalam suatu jaringan 3. Hub Hub mempunyai kesamaan dengan Repeater, yaitu berfungsi menguatkan sinyal dalam suatu jaringan. Hub memungkinkan beberapa titik atau node bergabung menjadi satu jaringan. Namun Hub memiliki port yang lebih banyak dibandingkan dengan Repeater. Jika ada komputer yang mengirimkan pesan ke komputer lain maka akan terjadi Broadcast data ke setiap komputer yang terhubung dengan Hub. 21 Gambar 2.2 Hub dalam suatu jaringan 4. Bridge Bridges adalah salah satu alat jaringan yang berada pada layer ke-2 dalam OSI-layer. Bridge digunakan untuk packet forwarding antar jaringan yang homogen (Cisco, 2008). Bridge melakukan filtrasi traffic data antar LAN menggunakan alamat Media Access Control (MAC) yang terdapat di setiap alat jaringan. Oleh karena itu, jika ada paket data yang melewati Bridge dan tujuannya berada di segmen LAN yang sama, maka data tersebut tidak akan diteruskan ke segmen LAN yang lain. Bridge juga dapat mencegah pesan rusak untuk tak menyebar keluar dari satu segmen. Gambar 2.3 Bridge dalam suatu jaringan 22 5. Switch Switch merupakan alat jaringan yang berada pada layer ke-2 (Data Link) pada OSI layer yang digunakan untuk menghubungkan berbagai device jaringan atau segmen LAN ke dalam satu jaringan (yang besar), (cisco system, 2008). Seperti pada Bridge, Switch mengenali dan meneruskan data berdasarkan M AC Address. Setiap Network device yang ada akan menciptakan suatu latency. Sifat khusus dari Switch adalah collision-free diantara alat jaringan yang ada dan mendukung multiple simultaneous conversation. Pada umumnya, LAN Switch menghubungkan ethernet LAN dengan kecepatan 10-M bps dan 100-M bps. Gambar 2.4 Switch dalam suatu jaringan Switch memiliki 2 forwarding technique, yaitu : store-and-forward Switching dan cut-through Switching. Pada store-and-forward 23 Switching, frame data yang diterima Switch akan dikumpulkan terlebih dahulu sebelum diteruskan ke tujuan, hal ini akan menyebabkan latency bergantung pada besarnya frame data. Sedangkan cut-through Switching, frame data yang diterima Switch dapat dikirimkan ke tujuan ketika frame sudah cukup terkumpul untuk melakukan forwarding decision, hal ini akan mengurangi latency pada Switch. 6. Router M enurut Cisco system (2008), Router merupakan alat yang digunakan untuk memindahkan informasi antar jaringan dari suatu sumber ke tujuan tertentu. Seringkali Router disamakan dengan brigde, namun perbedaan mendasarnya, Router berada di layer ke-3 (Network layer), sedangkan Bridge berada di layer ke-2 (Data Link layer). Router akan melewatkan data antar segmen yang memiliki alamat Network yang berbeda serta memiliki kemampuan untuk mengelola collision domain seperti Switch. Ada 2 aktifitas utama dalam Router, yaitu menentukan routing path yang optimal dan membawa informasi grup menyeluruh ke Internetwork. Router menganalisa alamat IP dari paket data yang masuk apakah perlu diteruskan atau tidak. Jika perlu, maka Router akan menentukan rute terbaik dan meneruskan paket tersebut. 24 Gambar 2.5 Router dalam suatu jaringan 2.8. Quality of Service (QoS ) Quality of Service (QoS) merupakan sebuah kemampuan jaringan untuk menyelenggarakan layanan yang baik terhadap suatu jaringan yang memiliki berbagai teknologi seperti Frame Relay, Asynchronous Transfer Mode (ATM ), Ethernet 802.1 Networks, SONET, dan jaringan lain berbasis IP yang menggunakan beberapa teknologi tersebut. Tujuan utama QoS adalah menyediakan prioritas termasuk dedicated-bandwidth, jitter dan latency yang terkontrol (dibutuhkan oleh beberapa real-time dan interactive traffic), dan memperbaiki tingkat packet loss. Konsep QoS secara umum adalah menyediakan pelayanan yang baik untuk aliran data tertentu. Hal ini dilakukan dengan memberikan prioritas aliran data atupun membatasi prioritas terhadap aliran yang lain. QoS juga bertujuan untuk memastikan aliran data dengan prioritas yang lebih rendah tidak akan terabaikan oleh aliran data dengan prioritas yang lebih tinggi (Cisco, 2008). 25 QoS biasanya digunakan dalam suatu jaringan untuk menyediakan prioritas trafik pada jaringan atau trafik dengan permintaan khusus (Doherty, 2008). M isalnya dalam suatu jaringan yang membawa data suara (seperti voice over IP) dan video over IP, QoS digunakan untuk mengatur permintaan khusus terhadap komunikasi suara dan video dengan delay, jitter, packet loss yang lebih kecil. QoS merupakan sekumpulan teknologi yang memungkinkan Network administrator untuk mengatur efek kepadatan pada suatu trafik di jaringan dengan menggunakan sumber daya jaringan secara optimal. Parameter yang ada dalam sebuah Quality of Service (Senan, 2001): • Service availibility Ketersediaan koneksi ke layanan Internet setiap saat. • Latency Interval waktu antara pengirimiman dan penerimaan paket melalui 2 titik. • Delay variation Disebut juga jitter, merupakan perbedaan/variasi dalam durasi waktu antara semua paket dalam stream yang mengambil jalur yang sama. • Throughput kecepatan dimana paket ditransmisikan di dalam sebuah jaringan; dapat juga disebut dengan kecepatan rata-rata atau kecepatan maksimum. • Packet loss rate kecepatan maksimum dimana paket dapat dibuang selama pertukaran data terjadi di dalam sebuah jaringan. 26 2.9. Traffic shaping Traffic shaping adalah sebuah mekanisme untuk mengontrol jumlah dan kecepatan lalu lintas yang dikirimkan dalam sebuah jaringan (Forouzan, 2007). Traffic shaping yang sering disebut sebagai packet shaping merupakan pengontrol lalu lintas jaringan komputer untuk mengoptimalkan atau menjamin kinerja jaringan. Traffic shaping biasanya diaplikasikan pada traffic source untuk menjamin traffic yang dikirimkan agar pasti mengikuti kebijakan yang yang telah dibuat. Terdapat 2 macam traffic shaping, yaitu leaky bucket dan token bucket. 1. Leaky Bucket Ketika suatu ember memiliki sebuah lubang kecil pada bagian dasar, air akan mengalir dari ember tersebut pada kecepatan yang tetap selama air tersedia di dalam ember. Kecepatan air yang keluar tidak bergantung pada kecepatan ketika air dimasukkan ke dalam ember dalam keadaan kosong. Air yang dimasukkan bisa memiliki kecepatan yang berbeda, namun kecepatan air yang keluar akan tetap. Sama seperti pada jaringan, teknik yang disebut leaky bucket dapat memperhalus lalu lintas yang padat. Kepadatan tersebut dapat disimpan dalam bucket dan dikirimkan keluar dengan kecepatan tertentu. Gambar 2.6 Ilustrasi leaky bucket 27 Seperti tampak pada ilustrasi gambar diatas, diibaratkan suatu jaringan mengalokasikan bandwidth sebesar 3 M bps untuk suatu host. Penggunaan leaky bucket akan membentuk input traffic untuk mematuhi komitmen yang telah dibuat. Host mengirimkan burst data pada kecepatan 12M bits selama 2 detik (jumlah 24M bits data), dan host akan diam selama 5 detik dan kemudian mengirimkan data pada kecepatan rata-rata 2 M bps selama 3 detik (jumlah 6 M bits data). Secara keseluruhan, host telah mengirimkan data sebesar 30M bits dalam 10 detik. Leaky bucket akan memperhalus lalu lintas dengan mengirim data keluar pada kecepatan 3 M bps dengan waktu yang sama, yaitu 10 detik. Tanpa leaky bucket aliran data yang padat dapat merusak jaringan dengan memakan bandwidth yang berlebih akibat aktifitas host tersebut. 2. Token Bucket M odel leaky bucket sangat membatasi dengan menghiraukan idle host. Contohnya ketika host tidak melakukan proses pengiriman sejenak, bucket akan kosong. Namun ketika host memiliki aliran data yang padat, leaky bucket hanya bekerja pada kecepatan rata-rata. Waktu yang diperlukan selama host mengalami idle tidak terjadi penghitungan. Di sisi lain, algoritma token bucket memungkinkan idle host untuk menghitung proses yang akan datang ke dalam bentuk token-token. Setiap satuan waktu tertentu, sistem akan mengirim sebanyak n token pada kumpulan bucket. Sistem akan mengeluarkan satu token untuk tiap paket data yang dikirimkan. Sebagai ilustrasi, jika nilai n adalah 100 dan host idle selama 100 detik, bucket akan mengumpulkan 10.000 token. Host sekarang dapat mengeluarkan semua token dalam 1 detik sebanyak 10.000 paket data atau, host dapat meggunakan 1000 detik untuk 10 paket data tiap detiknya. 28 Dengan kata lain, host dapat mengirimkan data yang padat selama bucket tidak kosong. Token bucket dapat diilustrasikan dengan sebuah alat penghitung. Ketika token ditambahkan, alat penghitung token akan bergerak 1 angka. Dan tiap data yang dikirimkan, alat penghitung token akan dikurangi 1. Ketika alat penghitung menunjuk angka 0, host tidak dapat mengirimkan data . Gambar 2.7 ilustrasi token bucket 2.10. Hierarchical Token Bucket (HTB) Hierarchical Token Bucket (HTB) adalah kelas yang berbasiskan queue discipline (qdisc), yang mampu mengantri paket sesuai urutan dan waktu yang tertulis dalam sebuah algoritma. HTB ditulis oleh M artin Devera dengan sekumpulan konfigurasi yang lebih sederhana dibanding teknik class Based Queue (CBQ). Secara konseptual, HTB adalah sejumlah Token bucket yang disusun dalam suatu hirarki. Secara sederhana, disiplin antrian engress yang utama pada perangkat jaringan manapun dikenal sebagai disiplin antrian (qdisc) root. 29 Ada 3 tipe kelas dalam HTB, yaitu: root, Inner, dan leaf. Root class berada di paling atas, dan semua trafik harus melewati kelas ini. Inner class mempunyai father classes dan daughter classes. Sedangkan leaf class adalah terminal class dimana mempunyai father classes, namun tidak memiliki daughter classes. Pada leaf classes, trafik dari layer yang lebih tinggi disuntikkan mengikuti klasifikasi yang harus dilakukan menggunakan filter, sehingga memungkinkan untuk membedakan jenis trafik dan prioritas. Sehingga, sebelum trafik memasuki sebuah leaf class, harus diklasifikasikan melewati filter dengan berbagai rules yang berbeda. Rules dapat memfilter berbagai jenis services, IP Address dan bahkan Network Address. Proses ini dikenal dengan sebutan classifying process. Lebih jauh, ketika trafik telah diklasifikasikan, trafik akan dijadwalkan dan dibentuk. Untuk melakukan tugas ini, HTB menggunakan konsep Token dan bucket untuk mengontrol bandwidth yang digunakan dalam sebuah link. Untuk menyesuaikan aliran, HTB menghasilkan Token pada irama yang penting dan dequeue packets hanya dari bucket jika Token tersedia. Gambar 2.8 Hierarchical classes dalam HTB 30 Teknik antrian HTB memberikan fasilitas pembatasan trafik pada setiap level maupun klasifikasi. Bandwidth yang tidak terpakai bisa digunakan oleh klasifikasi yang lebih rendah. HTB juga dapat dilihat seperti suatu struktur organisasi dimana pada setiap bagian memiliki wewenang dan mampu membantu bagian lain yang memerlukan. Teknik antrian HTB cocok diterapkan pada perusahaan dengan banyak struktur organisasi. Gambar 2.9 Ilustrasi dalam HTB HTB memiliki 2 parameter, yaitu rate dan ceil. Rate berarti jaminan bandwidth yang tersedia untuk suatu kelas. Sedangkan ceil mengindikasikan bandwidth maksimum yang dapat diambil dalam suatu kelas. Parameter rate menentukan bandwidth maksimum yang bisa dipakai oleh setiap class, jika bandwidth melebihi rate, maka paket data akan dipotong. Parameter ceil di set untuk menentukan peminjaman bandwidth antar class. Peminjaman bandwidth dilakukan class paling bawah ke kelas di atasnya, disebut teknik sharing. 31 Selain HTB, ada algoritma lain yang cukup banyak dipakai sampai saat ini, yaitu CBQ (Class Based Queue). HTB merupakan algortima yang muncul setelah kehadiran CBQ. Walaupun masih dipakai, CBQ tidak disukai oleh banyak administrator jaringan karena algoritma ini sangat kompleks dan susah dimengerti. Selain itu, kinerja CBQ tidak begitu akurat (Balliache, 2003). 2.11. MySQL MySQL adalah sebuah relational database management system (RDBM S) yang sangat cepat dan handal. Sebuah database dibutuhkan agar dapat menyimpan, mencari, mengurutkan, dan mendapatkan kembali data yang tersimpan dengan efisien. MySQL Server melakukan pengendalian akses pada data yang tersimpan untuk memastikan agar multiple user (lebih dari satu user) dapat bekerja bersama-sama. Selain itu, pengendalian akses dilakukan oleh MySQL Server agar akses dapat dengan cepat dilakukan terhadap database, dan memastikan bahwa hanya user yang berhak / memiliki otoritas yang dapat melakukan akses terhadap database. Oleh karena itu, M ySQL adalah multi-user, multi-thread server. MySQL menggunakan bahasa SQL (Structured Query Language), yang merupakan standard bahasa database query tingkat dunia. MySQL pertama kali dirilis kepada publik pada tahun 1996 namun sejarah pengembangannya jauh dimulai pada tahun 1979. MySQL tersedia dibawah lisensi OpenSource, namun lisensi untuk komesial juga tersedia. 32 MySQL disebut sebagai database OpenSource yang paling populer di dunia. M enurut, pengembang MySQL, MySQL telah terpasang di tiga juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. Penyebab utama MySQL begitu popular di kalangan Web adalah; Pertama, MySQL tersedia di berbagai platform Windows, Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki Access, karena Access hanya berjalan pada sistem operasi Windows. Banyak server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/Networking. Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak dibutuhkan dalam aplikasi Web. M isalnya, klausa LIM IT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field fullttext, untuk full text searching. Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. 2.12. S tate Transition Diagram (S TD) State Transition Diagram adalah sebuah diagram yang menjelaskan perilaku (behavior) pada sebuah sistem dengan penggunaan states dan event 33 yang menyebabkan perubahan state pada sistem. Jadi, state bisa digambarkan sebagai behavior yang muncul pada suatu event. Rule dasar dari STD adalah: “Behavior dari sebuah sistem pada state manapun harus tetap sama tidak peduli path manakah yang dipilih untuk mencapai state tersebut ( A system's behaviour in any state must be the same no matter by which path the state is arrived at) “. Berikut, ilustrasi STD di bawah ini menggambarkan masalah elevator (elevator problem) (Pressman, 2001) : Gambar 2.10 Ilustrasi elevator problem 34 Gambar 2.11 Ilustrasi elevator problem Penjelasan mengenai ilustrasi elevator problem diatas: - Ilustrasi elevator problem diatas hanya memiliki 1 lift. - Setiap lantai hanya bisa di-request pada satu waktu. - T idak ada call button pada setiap lantai - Lift akan menunggu pada lantai yang di-request selama lima menit jika tidak ada yang memilih lantai manapun yang dituju. Lift akan kembali pada lantai dasar - Lift tidak akan bergerak dengan pintu terbuka. 35 2.13. Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah sebuah diagram yang menggambarkan tentang aliran informasi dan bagaimana informasi tersebut berubah bentuk dari input hingga ke output. Bentuk paling dasar dari sebuah Data Flow Diagram disebut juga dengan istilah data flow graph atau bubble chart. Gambar di bawah adalah ilustrasi data flow graph / bubble graph: Gambar 2.12 Information flow model Seperti yang telah dijelaskan sebelumnya, Data Flow Diagram dapat digunakan sebagai sebuah gambaran yang mewakili abstraktsi dari sebuah sistem atau software. Agar dapat mewakili abstraksi dari sebuah sistem / software maka Data Flow Diagram terbagi dalam beberapa level / tingkat, dimana semakin tinggi levelnya, maka aliran data yang berubah bentuk semakin banyak dan rinci. 36 Sekarang kita akan bahas level-level pada sebuah Data Flow Diagram. Pada level 0, sebuah DFD disebut sebagai fundamental system model atau context model. Pada level 0 ini, DFD menggambarkan seluruh elemen software dalam satu kesatuan dimana input dan outputnya dalam satu proses (bubble). Kemudian, untuk menjelaskan lebih rinci tentang proses input dan output atau subfungsi-subfungsi dalam proses input dan output selanjutnya dilakukan pada DFD level 1. Dengan kata lain, DFD level 1, menggambarkan sistem secara keseluruhan pada context model / DFD level 0. Gambar di bawah ini mengilustrasikan bagaimana sebuah bubble digunakan untuk mewakili sebuah proses atau menggambarkarkan detil dari sebuah proses: Gambar 2.13 Information flow refinement 37 Ilustrasi diatas DFD level 0 menjelaskan fundamental model sistem F memiliki input A dan output B. Kemudian proses input dan output pada fundamental model tersebut dijelaskan lebih rinci lagi oleh DFD level 1, dengan menambahkan beberapa proses atau bubble f1 – f7. Perlu diingat bahwa penambahan bubble ini harus saling berkesinambungan; dalam arti bahwa input dan output yang dibuat pada fundamental model harus tetap sama setelah dirinci oleh DFD level 1. Konsep ini dinamakan dengan balancing, dan konsep ini merupakan konsep yang penting dalam membuat sebuah sistem agar tetap konsisten. Jika diteliti lagi pada ilustrasi DFD diatas, bisa dilihat bahwa pada bubble f4 dibuat lebih rinci lagi dengan penambahan bubble dari f41 sampai f45. Dan bisa dikatakan bahwa model DFD pada ilustrasi adalah konsisten. Kenapa? Karena input (X dan Y) dan ouput (Z) tidak berubah. Notasi grafis DFD terkadang tidaklah cukup untuk menjelaskan tingkatan abstraksi sebuah sistem atau software, oleh karena itu perlunya penambahan beberapa teks untuk menjelaskan proses dalam bubble pada DFD. Teks yang digunakan untuk mendeskripsikan proses pada DFD ini disebut dengan process specification (P SPEC). Sekali lagi, process specification ini menjelaskan proses dalam bubble termasuk di dalamnya misalnya: fungsi input, algoritma yang digunakan untuk memproses input, dan proses output. M eskipun process specification dapat digunakan untuk menjelaskan proses dalam bubble, akan tetapi process specification juga memiliki keterbatasan, yaitu process specification tidak menjelaskan karakteristik performa yang berhubungan dengan process dan keterbatasan desain pada model DFD. 38 2.14. PHP PHP adalah server Side Scripting language yang dirancang khusus untuk web. Server Side Scripting artinya kode PHP di-interpret dan dieksekusi pada web server bukan client (browser). Dalam halaman web HTM L dapat dimasukkan kode / script PHP, dan kode PHP ini akan dijalankan setiap kali user membuka halaman web tersebut. Kode PHP di-interpret (dieksekusi) oleh web server kemudian web server tersebut men-generate-nya ke dalam halaman HTM L seperti apa yang dilihat oleh user. PHP dibuat pada tahun 1994 dan pada mulanya disusun oleh Rasmus Lerdorf. Pada masa pengembangannya mengalami perpindahan tangan oleh beberapa ahli, dan mengalami penulisan ulang sebanyak 3 kali sampai akhirnya menjadi sempurna seperti saat ini. Pemakaian PHP banyak digunakan termasuk untuk Server Side Scripting language. PHP merupakan produk Open source dimana pengguna dapat memiliki hak akses terhadap source code-nya. Source code tersebut bebas digunakan, diubah, dan didistribusikan kembali tanpa dikenakan biaya. Sekarang ini, PHP merupakan kepanjangan dari PHHP Hypertext Preprocessor. Versi PHP yang paling banyak digunakan sekarang adalah PHP versi 4, yang memiliki keistimewaan sebagai berikut: • lebih cepat daripada versi yang sebelumnya karena menggunakan Zend Engine yang baru. Jika pengembang web membutuhkan performa yang lebih cepat lagi maka dapat menggunakan Zend Optimizer, Zend Cache, dan Zend Compiler http://www.zend.com yang tersedia pada halaman web 39 • PHP selalu dapat digunakan oleh Apache server sebagai modul yang efisien. Dengan versi 4 ini, PHP dapat di-install sebagai ISAPI module pada M icrosoft Information Server. • PHP versi 4 memiliki session Support yang built-in. Pada versi sebelumnya. M odul PHPlib harus di-install untuk mengendalikan session, atau menulis session. Keunggulan memakai PHP dibanding kompetitornya (Perl, M icrosoft Active Server Pages, Java Server Page, Allaire Cold Fusion) diantaranya : • Performa yang lebih baik PHP sangat efisien dimana dengan menggunakan satu server yang tidak terlalu mahal, tapi dapat melayani jutaan hits setiap hari. Untuk melihat benchmark performa PHP dapat mengunjungi situs http://www.zend.com • M emiliki Interface dan integrasi ke berbagai sistem database PHP pada dasarnya dibuat untuk menyediakan koneksi ke berbagai sistem databse. Selain M ySQL, PHP juga dapat digunakan untuk mengkoneksikan sistem database seperti PostgreSQL, Oracle, dbm, filePro, Hyperware, Informix, Interbase, dan Sybase, juga database lainnya. • M enggunakan ODBC PHP menggunakan ODBC (Open Database Connectivity Standard) yang dapat digunakan untuk mengkoneksikan berbagai databse yang memiliki driver ODBC. Termasuk di dalamnya produk M icrosoft. • M emiliki built-in library 40 PHP dirancang untuk penggunaan web yang umum, misalnya PHP dapat digunakan untuk men-generate GIF images on-the-fly, melakukan koneksi terhadap Network service lainnya, mengirim email, bekerja dengan cookies, dan dapat men-generate dokumen PDF, dengan hanya beberapa baris kode saja. • Biaya murah PHP sifatnya gratis, dan versi terbaru selalu tersedia untuk di-download dengan cuma-cuma. • M udah dipelajari dan digunakan PHP memiliki persamaan sintaks seperti pada bahasa C dan Perl. Programmer yang pernah mempelajari C, atau Perl, atau bahasa C-Like Seperti Java atau C++, akan dengan cepat menguasai PHP. • Portability PHP tersedia pada banyak sistem operasi. PHP dapat digunakan pada sistem operasi Unix, Linux, FreeBSD, Solaris, IRIX, dan juga M icrosoft Windows. Kode PHP dapat dijalankan pada sistem operasi yang berbeda tanpa perlu memodifikasi. • Source code Source code pada PHP bebas diakses oleh siapa saja yang berminat. Tidak seperti software komersil dimana source code-nya tidak tersedia. Pada PHP, source code bebas dimodifikasi.