Bab II Landasan Teori Bab ini berisi tentang dasar-dasar teori yang bersangkutan dengan pembuatan pengembangan aplikasi Bebek Jafaik yang berguna untuk proses pengunduhan Youtube pada server yang membatasi proses pengunduhan itu sendiri. 2.1 Model Spiral Pressman (2002) mengemukakan bahwa terdapat suatu model yang cocok untuk pengembangan suatu aplikasi yang disebut model iteratif. Model itu sendiri ditandai dengan tingkah laku yang memungkinkan perekayasa perangkat lunak mengembangkan versi perangkat lunak yang lebih lengkap sedikit demi sedikit. Model iteratif terbagi atas empat model, yaitu model inkremental atau penambahan, model rakitan komponen,model perkembangan konkuren, dan model spiral. Pada penulisan laporan kali ini, penulis menggunakan model spiral. Model spiral (spiral model) yang pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk pengembangan versi pertambahan perangkat lunak secara cepat. Di dalam model spiral, perangkat lunak dikembangkan didalam suatu deretan pertambahan. Selama awal iterasi, rilis inkremental bisa merupakan sebuah model atau prototipe kertas. Selama iterasi berikutnya, sedikit demi sedikit dihasilkan versi sistem rekayasa yang sangat lengkap. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas, diantara tiga sampai enam wilayah tugas. Gambar 2.1 menggambarkan model spiral yang berisi empat sektor dalam setiap iterasi: 7 8 Gambar 2.1 Model spiral tipikal Keterangan pada Gambar 2.1 dapat dilihat pada Tabel 2.1. Tabel 2.1 Wilayah Tugas pada Metode spiral Nama Sektor Keterangan Penentuan tujuan Tujuan, hambatan dalam proses ataupun produk serta resiko-resiko proyek ditentukan. Rencan rinci manajemen juga ditulis lengkap. Pembuatan strategi-strategi alternatif direncanakan sesuai dengan resiko yang ada. Identifikasi dan Untuk setiap resiko yang telah diidentifikasi, akan dibuat analisis pengurangan resiko rincinya. Kemudian diambil langkah-langkah untuk mengurangi resiko. contohnya, jika ada resiko bahwa persyaratan-persyaratan tidak tepat maka sebuah model contoh mungkin dapat dikembangkan. Pengembangan validasi dan Setelah evaluasi resiko, sebuah model pengembangan untuk sistem dipilih. Misalnya, jika resiko interface pengguna yang dominan maka model pengembangan yang tepat mungkin pengembangan evolusioner dengan menggunakan model contoh (prototipe) Jika resiko keselamatan yang diutamakan, model pengembangan yang sesuai adalah transformasi formal dan seterusnya. Model waterfall mungkin tepat digunakan jika resiko yang diutamakan adalah integrasi sistem Perencanaan Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicarakan kembali dan rencana dibuat untuk tahap selanjutnya. 9 2.2 Perangkat Lunak Rosa dan Shalahudin (2011) mengemukakan bahwa perangkat Lunak adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, modul desain, dan cara penggunaan (user manual yang berguna untuk membantu menyelesaikan suatu masalah. 2.3 Rekayasa Perangkat Lunak Rosa dan Shalahudin (2011) mengemukakan bahwa rekayasa perangkat lunak atau RPL merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keengganan pemakai perangkat lunak (user) untuk mengubah cara kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan komputer. Oleh lkarena itu, reka yasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yan tidak terpakai. 2.4 Pemodelan Sistem Untuk suatu sistem yang baik diperlukan suatu metode atau perangkat pemodelan sistem. Perangkat pemodelan berfungsi sebagai media yang memberikan penjelasan tentang sistem yang dibuat. Perangkat pemodelan dapat berupa diagram maupun Gambar. Menurut Husni Iskandar Pohan (1997), tiga alasan untuk melakukan pemodelan sistem yaitu: Dapat memfokuskan perhatian pada hal-hal penting dalam sistem tanpa mesti terlibat terlalu jauh. Mendiskusikan perubahan dan koreksi terhadap kebutuhan pemakai dengan resiko dan biaya minimal. Menguji pengertian penganalisis sistem terhadap kebutuhan pemakai dan membantu pendesain sistem dan pemrogram membangun sistem. 10 Pemodelan sistem dapat dipresentasikan dengan berbagai cara antara lain, diagram konteks (Data Flow Diagram Context Level), diagram alir(Flowchart), dan banyak model lainnya. 2.4.1 Diagram Alir (Flowchart) Flowchart atau diagram alir merupakan metode untuk menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang mudah dimengerti, mudah digunakan, dan standar (Oetomo, Dharma B.S., 2002). Tujuan utama penggunaan diagram alir adalah untuk mengGambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai, rapi, dan jelas dengan menggunakan simbol-simbol yang standar. Dalam penulisannya diagram alir dikenal dua model, yaitu diagram alir sistem dan diagram alir program. 2.4..1.1Diagram Alir Program Diagram alir program merupakan diagram alir yang menggambarkan urutan logika dari suatu prosedur pemecahan masalah. Simbol-simbol standar yang digunakan pada diagram alir sistem ditunjukkan dalam Gambar 2.2: Proses Input/Output Keterangan Pengujian Pemberian Nilai Awal Awal/Akhir Program Konektor pada satu halaman Konektor pada satu halaman Arah Gambar 2.2 Simbol-Simbol Diagram Alir Program(Oetomo 2002) 11 Pada penggambaran diagram alir program, ada dua jenis metode, yaitu conceptual flowchart dan detail flowchart. Conceptual flowchart mengGambarkan tentang alur dari suatu pemecahan masalah secara global saja.Sedangkan detail flowchart menggambarkan alur pemecahan masalah secara rinci. 2.4.1.2 Diagram Alir Sistem Diagram alir sistem merupakan diagram alir yang mengGambarkan suatu sistem peralatan komputer yang digunakan dalam proses pengolahan data serta hubungan antar peralatan tersebut. Diagram alir sistem tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk. Simbol-simbol standar yang digunakan dan contoh penggunaannya ditunjukkan dalam Gambar 2.3: Pita Magnetik Kartu Plong/ Keyboard Punched Paper Tape Input/Output Magnetic Drum Process Off Line Storage Proses Sortir Proses Merge On Line Storage/ VDU Magnetic Disc Arus Gambar 2.3 Simbol-Simbol Diagram Alir Sistem(Oetomo 2002) 12 Keyboard CPU Disket VDU Gambar 2.4 Contoh Penerapan Diagram Alir Sistem (Oetomo 2002) 2.5 SDLC atau Software Development Life Cycle SDLC atau software Development life cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya. Tahapan-tahapan yang ada pada SDLC secara global adalah sebagai berikut : Inisiasi (initiation) Tahap ini biasanya ditandai dengan pembuatan proposal proyek perangkat lunak. Pengembangan konsep sistem (system concept development) 13 Mendefinisikan lingkup konsep termasuk dokumen lingkup sistem analisis manfaat biaya, manajemen rencana, dan pembelajaran kemudahan sistem. Perencanaan (planning) Mengembangkan rencana manajemen proyek dan dokumen perencanaan lainnya. Menyediakan dasar untuk mendapatkan sumber daya (resources) yang dibutuhkan untuk memperoleh solusi. Analisis kebutuhan (requirements analysis) Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional. Desain (design) Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap, dokumen desain sistem focus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan. Pengembangan (development) Mengonversi desain ke sistem informasi yang lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan sistem yang dibutuhkan; membuat basis data dan mempersiapkan prosedur kasus pengujian; mempersiapkan berkas atau file pengujian, pengodean, pengompilasian, memperbaiki dan membersihkan program; peninjauan pengujian. Integrasi dan pengujian (integration and test) Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan pada dokumen kebutuhan fungsional. Dengan diarahkan oleh staf penjamin kualitas (quality assurance) dan user. Menghaslkan laporan analisis pengujian. Implementasi (implementation) Termasuk pada persiapan implementasi, implementasi perangkat lunak pada lingkungan produksi (lingkungan dan user) dan menjalankan resolusi dari permasalahan yang teridentifikasi dari fase integrasi dan pengujian. Operasi dan pemeliharaan (operations and maintenance) 14 Mendeskripsikan pekerjaan untuk mengoperasikan dan memelihara sistem informasi pada lingkungan produksi (lingkungan pada user) termasuk implementasi akhir dan masuk pada proses peninjauan. Disposisi (disposition) Mendeskripsikan aktifitas akhir dari pengembangan sistem dan membangun data yang sebenarnya sesuai dengan aktifitas user. 2.6 Internet Secara harfiah, Internet (interconnection-networking) ialah sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia.Internet adalah sistem komputer umum, yang berhubung secara global dan menggunakan TCP/IP sebagai protokol pertukaran paket (packet switching communication protocol). 2.7 Aplikasi Web Aplikasi Web adalah aplikasi yang disimpan dan dieksekusi di lingkungan web server. Setiap permintaan yang dilakukan oleh user melalui web browser akan direspon oleh aplikasi web dan hasilnya akan dikembalikan lagi ke hadapan user (Budi Raharjo, Imam Heryanto, Enjang RK.,2010). 2.8 Web Browser Web Browser disebut juga penjelajah web, adalah perangkat lunak yang berfungsi menampilkan dan melakukan interaksi dengan dokumen-dokumen yang disediakan oleh server web . Peramban web yang populer adalah Microsoft Internet Explorer dan Mozilla Firefox (Budi Raharjo, Imam Heryanto, Enjang RK.,2010). 15 2.9 Bahasa Pemrograman Web Bahasa pemrograman merupakan suatu teknik instruksi standar untuk memerintah komputer yang akan ditampilkan pada layar browser. Bahasa yang digunakan dalam pengembangan aplikasi Bebek Jafaik ada dua, yaitu HTML dan PHP. 2.9.1 HyperText Markup Language HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah Penjelajah web Internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi. Dengan kata lain, berkas yang dibuat dalam perangkat lunak pengolah kata dan disimpan kedalam format ASCII normal sehingga menjadi home page dengan perintah-perintah HTML. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia penerbitan dan percetakan yang disebut dengan SGML (Standard Generalized Markup Language), HTML adalah sebuah standar yang digunakan secara luas untuk menampilkan halaman web. 2.9.2 PHP PHP adalah salah satu bahasa pemrograman skrip yang dirancang untuk membangun aplikasi web. Ketika dipanggil dari web browser ,program yan ditulis dengan PHP akan diparsing didalam web server oleh interpreter PHPdan diterjemahkan kedalam dokumen HTML, yang selanjtnya akan ditampilkan kembali ke web browser. Karena pemrosesan pemrograman PHP dilakukan dilingkungan web server, PHP dikatakan sebagai bahasa sisi server (server-side). 2.9.2.1 Struktur Dasar PHP Pada pemrograman PHP, semua proses didalam bahasa pemrograman PHP selalu berawalan “<?php” atau “<?” dan berakhiran dengan simbol “?> 16 Bentuk umum penulisan PHP : 1 <?php 2 isi program 3 ?> keterangan: - baris 1 adalah awal dari program php. boleh juga tanpa ada php setelah tanda ?, sehingga awal program hanya dimulai dengan <? saja - baris 2 adalah dimana anda meletakkan isi program - baris 3 adalah penutup Sebenarnya masih terdapat cara lain dalam penuisan PHP, yaitu dengan tag <script>. Penggunaan pasangan tag <script> dan </script> juga masih dapat digunakan untuk menyisipkan script HP yang kita buat. Sebenarnya secara pemrograman HTML model script embedded dengan menggunakan tag <script> ini lebih umum, tetapi jarang digunakan apabila membuat/mengembangkan script PHP, karena yang lebih umum dengan menggunakan tag <? dan ?>. Sintaks dari tag <script> untuk menggunakan PHP adalah sebagai berikut: <script language="php"> Perintah-perintah php </script> 2.10 Proses-proses dalam Internet Dalam ber Internet, terdapat proses-proses yang dapat dilakukan, baik oleh browser maupun oleh pengguna internet itu sendiri. Proses-proses tersebut dilakukan untuk menampilkan suatu keluaran pada browser maupun komputer. Misalnya streaming dan download. 17 2.10.1 Download atau unduh Download adalah transfer data melalui jalur komunikasi digital dari sistem yang lebih besar atau pusat (host atau server) ke sistem yang lebih kecil (client) (Fathul Wahid, 2002). 2.10.2 Streaming Data disebut streaming “mengalir” ketika data berpindah dengan cepat dari satu perangkat keras ke yang lain dan tidak harus berada pada satu tempat sebelum dimanipulasi atau digunakan. Sebagai contoh, seorang pengguna jaringan atau Internet, tidak perlu mendownload file AVI untuk kemudian diputar (Fathul Wahid, 2002). 2.11 URL URL atau Uniform Resource Locator adalah nama yang diberikan ke kombinasi unik dari suatu protokol komunikasi jaringan (misalnya HTTP) dan alamat internet yang diterjemahkan dari umum ke khusus, seperti sewaktu menelepon, mulai dari kode negara, kode wilayah, dan nomor telepon. URL digunakan browser untuk mengakses suatu situs tertentu (Fathul Wahid, 2002).. 2.12 cURL cURL adalah sebuah librari pada PHP yang memungkinkan sebuah web server untuk mentransfer file dengan komputer remote menggunakan berbagai internet protokol. Dengan cURL, klien dapat melihat dan mendapatkan semua isi pada body maupun header pada sebuah halaman web (www.devzone.zend.com, 6 januari 2012). 2.12.1 Fungsi-fungsi Utama pada cURL Sebelum memulai penggunaan cURL, ada baiknya memahami fungsi-fungsi dasar dari cURL yang umum digunakan. Fungsi-fungsi tersebut diantaranya: curl_init = memulai sesi cURL 18 curl_setopt = menentukan opsi-opsi sebelum menjalankan cURL. curl_exec = menjalankaan cURL. curl_close = menutup sesi cURL. 2.13 XAMPP XAMPP adalah perangkat yang menggabungkan tiga aplikasi kedalam satu paket. Aplikasi-aplikasi tersebuta yaitu Apache, MySQL, dan PHPMyAdmin. Dengan XAMPP pekerjaan akan sangat mudah karena dapat menginstalasi dan mengkonfigurasi ketiga aplikasi tersebut secara sekaligus. 2.14 Apache Apache adalah web server open source, jadi semua orang dipersilahkan memakainya secara gratis, bahkan bisa mengedit kode programnya. Fungsi utama Apache menghasilkan halaman web yang benar sesuai dengan yang telah dibuat oleh seorang web programmer, dengan menggunakan kode PHP (www.apache.org, 6 Januari 2012). 2.15 Proxy Proxy adalah aplikasi server yang berfungsi mewakili request yang ingin diteruskan ke Internet, sehingga jika ada request yang tidak diperbolehkan oleh proxy server yang sudah ditetapkan agar tidak melanjutkan beberapa request ke Internet, maka akan langsung diputuskan(Disconnect), oleh proxy server. Biasanya proxy digunakan di kantor-kantor, universitas-universitas, yang hanya memperbolehkan karyawannya agar mengakses situs-situs yang berbau positif. 2.16 Fiddler Fiddler adalah Web Debugging Proxy yang mencatat semua lalu lintas HTTP(S) antara komputer dan internet. Untuk saat ini Fiddler dapat digunakan diberbagai macam browser seperti Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, dan Opera (www.fiddler2.com, 6 Januari 2012) . 19 2.17 HTTP HTTP merupakan kepanjangan dari Hyper Text Transfer Protocol. HTTP merupakan protokol yang menyediakan perintah dalam komunikasi antar jaringan,yaitu antara jaringan komputer browser atau client dengan komputer server. Dalam komunikasi ini, klien atau browser melakukan permintaan dengan mengetikkan alamat web yang dituju. Sedangkan server mengolah permintaan itu berdasarkan kode protokol yang dimasukkannya. 2.17.1 HTTP Headers HTTP Headers adalah pesan yang dikirim antara browser dan server web internet setiap kali browser meminta halaman. Pesan-pesan ini berisi segala macam informasi - beberapa yang diperlukan, beberapa hanya informasi. Biasanya pesan ini tidak pernah terlihat. HTTP Header terbagi atas dua, yaitu HTTP Request dan HTTP Response. 2.17.1.1 HTTP Request HTTP Request adalah permintaan yang dilakukan oleh klien lewat browser kepada server suatu situs web untuk mengunduh file-file yang akan dijadikan atau ditampilkan menjadi sebuah halaman yang kita akses atau kita baca. Berikut metode-metode yang terdapat pada HTTP Request ditunjukkan pada Tabel 2.2 : Tabel 2.2 metode-metode pada HTTP Request Metode Keterangan HEAD permintaan terhadap header suatu resource HTML GET permintaan terhadap suatu resource, permintaan tersebut tidak berada pada body POST permintaan terhadap suatu resource, permintaan berada pada body PUT Upload atau unggah DELETE menghapus resource tertentu TRACE mengembalikan request ke client, biasanya bertujuan untuk mengetahui perubahan yang terjadi pada request yang dilakukan OPTION mengembalikan method HTTP yang didukung oleh resource yang bersangkutan CONNECT mengkonversi request connection ke suatu transparent TCP/IP tunnel 20 Sintak baris pada request adalah sebagai berikut: Nama_metode url_yang_dituju protokol Selain itu terdapat header-header yang umum yang terdapat pada HTTP Request ditunjukkan pada Tabel 2.3: Tabel 2.3 Header-header pada HTTP Request Nama field Deskripsi Contoh Accept Tipe konten yang akan diterima Accept: text/plain Host Nama domain Connection Jenis koneksi yang dipilih oleh Connection: close Host: www.facebook.com user-agent User-agent script yang dikirimkan oleh browser ke web server yang kita User-Agent: Web-sniffer/1.0.37 tuju (+http://web-sniffer.net/) Accept-encoding Encoding yang diterima Accept-Encoding: gzip Accept-charset Rangkaian karakter yang Accept-Charset: diterima Chache-control ISO-8859- 1,UTF-8;q=0.7,*;q=0.7 Digunakan untuk menentukan Cache-Control: no-cache arahan yang harus ditaati oleh semua mekanisme caching sepanjang rantai permintaan / tanggapan Accept-language Bahasa yang akan diterima pada Accept-Language: tahap respon Referer de,en;q=0.7,en-us;q=0.3 Ini adalah alamat dari halaman Referer: http://web-sniffer.net/ web sebelumnya dari mana link ke halaman yang sedang diminta diikuti Date Tanggal dan waktu pengiriman Date: request dikirim Tue, 08:12:31 GMT 15 Nov 1994 21 2.17.1.2 HTTP Response Sementara itu, HTTP response adalah respon atau reaksi dari server suatu situs web terhadap permintaan yang dilakukan oleh client. Dengan kata lain, situs web membalas apa yang diminta suatu klien untuk ditampilkan pada browser. Sintak baris pada respon tersebut adalah: PROTOKOL KODE_RESPON KETERANGAN Keterangan : 1. PROTOKOL adalah HTTP/1.0 atau HTTP/1.1. 2. KODE_RESPON adalah angka 3 digit a. 2xx artinya berhasil b. 3xx artinya redirection c. 4xx artinya ada kesalahan di sisi klien d. 5xx artinya ada kesalahan di sisi server. 3. Kode-kode umum adalah 200 (OK), 302, 303, 401, 403 (Forbidden), 404 (Not Found), 500 (Internal server error). Contoh : HTTP/1.0 200 OK Macam-macam kode status pada HTTP Response ditunjukkan pada Tabel 2.4 : Tabel 2.4 Kode Status pada HTTP Response Kode Status Keterangan 200 – OK Permintaan telah berhasil 206 - Partial Content Server memberikan hanya sebagian dari sumbernya karena berbagai header dikirim oleh klien. Header tersebut digunakan untuk melanjutkan download yang terputus. 301 – Moved Permanently Dokumen telah dipindahkan ke URL yang ditunjuk 400 – Bad Request Browser mengirim permintaan dan server tidak dapat memahami 403 – Forbidden Anda tidak memiliki izin untuk mengakses server ini 500 – Internal Server Error Server mengalami kesalahan internal atau misconfiguration dan tidak dapat memenuhi permintaan Anda 502 – Bad Gateway Server proxy menerima respon tidak valid dari upstream server 408 – Request Time-out Permintaan terhadap server melewati batas waktu yang disediakan 401 – Authorization Membutuhkan autorisasi untuk memasuki URL ini 303 – See Other Jawaban untuk permintaan anda berada di URL ini 22 Pada Tabel 2.5 adalah header-header umum yang terdapat pada HTTP Response: Tabel 2.5 Header-header pada HTTP Response Nama Field Deskripsi contoh Cache-Control Menceritakan semua mekanisme caching dari Cache-Control: private; maxserver ke klien ketika mereka akan age: 31536000 melakukan cache objek ini. Hal ini diukur dalam detik Expires Tanggal dan waktu ketika respon diangap Date: Mon, basi Location 07 Jan 2013 01:50:03 GMT Digunakan dalam pengalihan, atau ketika Location: sumber baru telah dibuat. http://m.facebook.com/?refsrc= http://web-sniffer.net/&_rdr Warning Peringatan yang umum tentang isi dalam Warning: 199 Miscellaneous halaman Vary Bercerita warning downstream proxy bagaimana User-Agent untuk mencocokkan header permintaan yang akan datang untuk memutuskan apakah respon cache dapat digunakan daripada respon yang baru dari server asal. Set-Cookie digunakan untuk sebuah situs web untuk datr=S_YIT4FxM7OK8RIQFi mengirim informasi asal untuk browser s7vrVi; expires=Tue, 07-Jan- pengguna 2014 01:50:03 GMT; path=/; domain=.facebook.com; http only Content-Type File format yang terdiri atas dua bagian text/html; charset=utf-8 Date Sun, 08 Jan 2012 01:50:03 Tanggal dan waktu pesan dikirim GMT Server Nama server Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) ContentLanguage Bahasa yang terdapat dlam konten Content-Language: en 23 2.18 Youtube YouTube adalah sebuah situs web video sharing (berbagi video) populer dimana para pengguna dapat memuat, menonton, dan berbagi klip video secara gratis. Format yang digunakan video-video di YouTube adalah .flv yang dapat diputar di penjelajah web yang memiliki plugin Flash Player. 2.19 Basis Data Basis data adalah mekanisme yang digunakan untuk menyimpan informasi atau data. Dengan basis data, pengguna dapat menyimpan data secara terorganisasi. Setelah data disimpan, informasi harus mudah diambil. Kriteria dapat digunakan untuk mengambil informasi. Cara data disimpan dalam basis data menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data pun harus mudah ditambahkan ke dalam basis data, dimodifikasi, dan dihapus(Simarmata dan Paryudi 2006). Struktur yang mendasari suatu basis data adalah model data yang merupakan kumpulan alat-alat konseptual untuk mendeskripsikan data, relasi data, data semantic, dan batasan konsistensi. Model data entity relationship diagram digunakan untuk mendeskripsikan rancangan basis data pada tingkatan logis. 2.20 Firewall atau Dinding Api Firewall adalah sebuah sistem atau grup sistem yang menjalankan kontrol akses keamanan diantara jaringan internal yang aman dan jaringan yang untrusted seperti internet.Firewall didesain untuk mengijinkan trusted data atau data yang dipercaya lewat, menolak layanan yang mudah diserang, mencegah jaringan internal dari serangan luar yang bisa menembus firewall setiap waktu. Umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah lazim yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda. Mengingat saat ini banyak perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan berbadan hukum di dalamnya, maka perlindungan terhadap modal digital perusahaan tersebut dari serangan para hacker menjadi wajib (www. http://belajarit.um.ac.id, 20 Januari 2012). 24 Gambar 2.5 Ilustrasi Firewall 2.21 OSI Layer OSI atau Open System Interconnection merupakan standar umum jaringan komputer untuk menunjang interoperatibilitas antar pemasok yang berbeda. Dalam suatu jaringan yang besar biasanya terdapat banyak protokol jaringan yang berbeda. Tidak adanya suatu protokol yang sama, membuat banyak perangkat tidak bisa saling berkomunikasi. OSI Reference Model memiliki tujuh lapis, yakni dapat dilihat pada Tabel 2.6. Tabel 2.6 Bagian-bagian dari OSI Layer Lapisan Nama Layer Keterangan ke7 Application layer Berfungsi sebagai antarmuka dengan aplikasi dengan fungsionalitas jaringan, mengatur bagaimana aplikasi dapat mengakses jaringan, dan kemudian membuat pesan-pesan kesalahan. Protokol yang berada dalam lapisan ini adalah HTTP, FTP, SMTP, dan NFS. 6 Presentation layer Berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang dapat ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan Workstation (dalam Windows NT) dan juga Network shell (semacam Virtual Network Computing (VNC) atau Remote Desktop Protocol (RDP)). 5 Session layer Berfungsi untuk mendefinisikan bagaimana koneksi dapat dibuat, dipelihara, atau dihancurkan. Selain itu, di level ini juga dilakukan resolusi nama. 4 Transport layer Berfungsi untuk memecah data ke dalam paket-paket data serta memberikan nomor urut ke paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima. Selain itu, pada level ini juga membuat sebuah tanda bahwa paket diterima dengan sukses (acknowledgement), dan mentransmisikan ulang terhadp paket-paket yang hilang di tengah jalan. 25 Lanjutan Tabel 2.6 Lapisan Nama Layer ke3 Network layer 2 Data-link layer 1 Physical layer Keterangan Berfungsi untuk mendefinisikan alamat-alamat IP, membuat header untuk paket-paket, dan kemudian melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3. Befungsi untuk menentukan bagaimana bit-bit data dikelompokkan menjadi format yang disebut sebagai frame. Selain itu, pada level ini terjadi koreksi kesalahan, flow control, pengalamatan perangkat keras (seperti halnya Media Access Control Address (MAC Address)), dan menetukan bagaimana perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer 2 beroperasi. Spesifikasi IEEE 802, membagi level ini menjadi dua level anak, yaitu lapisan Logical Link Control (LLC) dan lapisan Media Access Control (MAC). Berfungsi untuk mendefinisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan (seperti halnya Ethernet atau Token Ring), topologi jaringan dan pengabelan. Selain itu, level ini juga mendefinisikan bagaimana Network Interface Card (NIC) dapat berinteraksi dengan media kabel atau radio. 2.21.1 Application Layer Application layer berada pada ujung protocol stack TCP/IP. Aplication layer pada TCP/IP adalah kumpulan dari beberapa komponen software yang mengirim dan menerima informasi dari port TCP dan UDP. Beberapa komponen pada application layer hanya sebagai alat untuk pengumpul informasi konfigurasi network dan beberapa lainnya boleh jadi adalah sebuah user interface atau Application Program Interface (API) yang mendukung desktop operating environment. Protokol HTTP adalah termasuk dalam layer aplikasi. Protokol merupakan salah satu bagian dari suatu aplikasi. Protokol aplikasi mendefinisikan pesan yang dipertukarkan aplikasi dan tindakan yang diambil.