BAB II DASAR TEORI - Repositori Institusi · 2016. 9. 23. · 6 BAB II DASAR TEORI . Berisi dasar...
Transcript of BAB II DASAR TEORI - Repositori Institusi · 2016. 9. 23. · 6 BAB II DASAR TEORI . Berisi dasar...
6
BAB II
DASAR TEORI
Berisi dasar teori yang berhubungan dengan perancangan aplikasi antara lain mengenai
HTTP, HTML, Protocol, Streaming, MySQL, PHP, Java Media Framework, kompresi video
dan Wireshark.
2.1. HTTP
HTTP (HyperText Transfer Protocol) adalah protokol yang dipergunakan untuk
mentransfer dokumen dalam World Wide Web (WWW) atau sebuah protokol meminta /
menjawab antara client dan server, maksudnya adalah data dokumen dikirim sesuai dengan
isi dari dokumen tersebut tanpa memandang tipe dari dokumen.
2.1.1. Sejarah HTTP
Protokol HTTP pertama kali dipergunakan dalam WWW pada tahun 1990. Pada saat
tersebut yang dipakai adalah protokol HTTP versi 0.9. Versi 0.9, pada tahun 1996 protokol
HTTP diperbaiki menjadi HTTP versi 1.0. Perubahan ini untuk mengakomodasi tipe-tipe
dokumen yang hendak dikirim beserta enkoding yang dipergunakan dalam pengiriman data
dokumen. Sesuai dengan perkembangan infrastruktur internet maka pada tahun 1999
dikeluarkan HTTP versi 1.1 untuk mengakomodasi proxy, cache dan koneksi yang persisten.
HTTP sendiri juga digunakan sebagai protokol umum untuk komunikasi diantara berbagai
user agent ( user agent adalah istilah yang digunakan untuk program yang dijalankan di sisi
client, seperti web browser misalnya dalam konteks HTTP ) dan proxy / gateway dengan
sistem internet lain seperti SMTP (Simple Mail Transfer Protocol – RFC 821 ), NNTP (
Network News Transfer Protocol – RFC 977 ), FTP ( File Transfer Protocol – RFC 959 ),
Gopher ( RFC 1436 ) dan WAIS ( Wide Area Information Servers ). Dengan demikian,
HTTP mengijinkan akses pada sumber daya yang tersedia pada aplikasi yang berbeda.
2.1.2. Fungsi Dan Cara Kerja HTTP
HTTP, Muncul di awal setiap alamat halaman web, HTTP menetapkan mekanisme
standar untuk pertukaran ditingkat aplikasi pesan antara perangkat di website. Semua
layanan website dijalankan melalui protokol ini. HTTPS adalah variasi bagian dari HTTP,
dimana browser menambahkan lapisan enkripsi
7
World Wide Web Consortium dan Internet Engineering Task Force, bekerja untuk
pengembangan HTTP. Protokol ini digunakan untuk pengambilan interlink dokumen teks
dilayanni oleh website dan untuk mengakses sumber daya melalui website dengan
menggunakan Uniform Resource Locator (URL).
Cara Kerja Protokol menetapkan bagaimana komputer berkomunikasi satu sama
lainnya. Protokol adalah seperangkat aturan dan prosedur yang harus diikuti oleh komputer
untuk menerima dan mengirimkan pesan. Protokol yang paling umum digunakan saat ini
adalah HTTP, SMTP, FTP, IMAP, POP3, dll
Fungsi HTTP menetapkan bagaimana pesan diformat dan ditransmisikan, dan tindakan
apa dari web server dan browser untuk merespon berbagai perintah.
2.2. HTML
HTML (Hyper Text Markup Language) adalah sebuah bahasa markup yang digunakan
untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah
browser pada internet. 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. HTML saat ini merupakan standar internet yang didefinisikan dan dikendalikan
penggunaannya oleh World Wide Web Consortium (W3C).
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan
tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat
dibuka dengan menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet
Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan
program lain yang memiliki kemampuan browser.
HTML dokumen tersebut mirip dengan dokumen teks biasa, hanya dalam dokumen
ini sebuah teks bisa memuat instruksi yang ditandai dengan kode atau lebih dikenal dengan
TAG tertentu. Sebagai contoh jika ingin membuat teks ditampilkan menjadi tebal
seperti: TAMPIL TEBAL, maka penulisannya dilakukan dengan cara: <b>TAMPIL
TEBAL</b>. Tanda <b> digunakan untuk mengaktifkan instruksi cetak tebal, diikuti oleh
teks yang ingin ditebalkan, dan diakhiri dengan tanda </b> untuk menonaktifkan cetak tebal
tersebut. Secara garis besar, terdapat 4 jenis elemen dari HTML:
8
Structural
Tanda yang menentukan level atau tingkatan dari sebuah teks
(contoh, <h1>Golf</h1> akan memerintahkan browser untuk menampilkan “Golf”
sebagai teks tebal besar yang menunjukkan sebagai Heading 1
Presentational
Tanda yang menentukan tampilan dari sebuah teks tidak peduli dengan level dari teks
tersebut (contoh, <b>boldface</b> akan menampilkan bold. Tanda presentational saat
ini sudah mulai digantikan oleh CSS dan tidak direkomendasikan untuk mengatur
tampilan teks.
Hypertext
Tanda yang menunjukkan pranala ke bagian dari dokumen tersebut atau pranala ke
dokumen lain (contoh, <a href="http://www.elektro.com/">Elektro</a> akan
menampilkan Elektro sebagai sebuah hyperlink ke URL tertentu),
Elemen widget yang membuat objek-objek lain seperti tombol (<button>), list (<li>),
dan garis horizontal (<hr>).
2.2.1. HTML 5
HTML5 merupakan sebuah bahasa markah untuk menstrukturkan dan menampilkan
isi dari World Wide Web, sebuah teknologi inti dari Internet. HTML5 adalah revisi kelima
dari HTML dan hingga bulan Juni 2011 masih dalam pengembangan. Dimana tujuan utama
pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung
teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh
mesin.
HTML5 merupakan hasil proyek dari W3C (World Wide Web Consortium dan
WHATWG ( Web Hypertext Application Technology Working Group ). Dimana WHATWG
bekerja dengan bentuk web dan aplikasi dan W3C merupakan pengembang dari XHTML 2.0
pada tahun 2006, kemudian mereka memutuskan untuk bekerja sama dan membentuk versi
baru dari HTML.
2.2.1.1. Tujuan HTML5
Tujuan dibuatnya HTML5 adalah sebagai berikut :
1. HTML5 adalah sebuah perangkat mandiri.
2. Fitur baru harus didasarkan pada HTML, CSS, DOM, dan Javascript.
3. Penanganan terhadap sebuah masalah yang lebih baik.
4. Markup lebih banyak untuk menggantikan scripting.
9
5. Mengurangi kebutuhan akan penambahan plugin eksternal.
2.2.1.2. Fitur HTML5
Fitur-fitur baru yang ada pada HTML 5 adalah sebagai berikut :
1. Unsur kanvas untuk menggambar.
2. Player video dan elemen audio untuk media pemutaran.
3. Dukungan yang lebih baik dibandingkan dengan HTML4 yang di gunakan
untuk penyimpanan secara offline.
4. Elemen konten yang lebih spesifik.
5. Adanya bentuk kontrol form seperti kalender, e-mail, dan masih banyak lagi.
2.2.1.3. Kelebihan HTML5
Beberapa kelebihan yang dijanjikan pada HTML 5 dapat dilihat sebagai berikut :
1. Dapat ditulis dalam sintaks HTML dan XML.
2. Penulisan kode yang lebih efisien.
3. Integrasi yang lebih baik dengan aplikasi situs dan pemrosesannya.
4. Integrasi dengan doctype yang lebih sederhana.
5. Konten yang ada di situs lebih mudah terindeks oleh search engine.
2.3. Protokol
Protokol adalah sebuah aturan atau standar yang mengatur atau mengijinkan terjadinya
hubungan, komunikasi, dan perpindahan data antara dua atau lebih titik komputer. Protokol
dapat diterapkan pada perangkat keras, perangkat lunak atau kombinasi dari keduanya. Pada
tingkatan yang terendah, protokol mendefinisikan koneksi perangkat keras.
Protokol perlu diutamakan pada penggunaan standar teknis, untuk menspesifikasi
bagaimana membangun komputer atau menghubungkan peralatan perangkat keras. Protokol
secara umum digunakan pada komunikasi real-time dimana standar digunakan untuk
mengatur struktur dari informasi untuk penyimpanan jangka panjang.
Protokol internet pertama kali dirancang pada awal tahun 1980-an. Akan tetapi pada
saat itu protokol tersebut hanya digunakan untuk menghubungkan beberapa node saja, dan
tidak diprediksi akan tumbuh secara global seperti saat ini. Baru pada awal 1990-an mulai
disadari bahwa internet mulai tumbuh ke seluruh dunia dengan pesat. Sehingga mulai banyak
bermunculan berbagai jenis protokol, maka timbul suatu masalah baru dimana jenis protokol
dari sebuah pabrik tertentu tidak dapat saling berkomunikasi terhadap protokol jenis lain.
Sehingga pada akhirnya suatu badan, yaitu International Standard Organization(ISO)
membuat standarisasi protokol yang saat ini dikenal dengan protokol model OSI. Tetapi
10
dikarenakan model OSI ini adalah sebagai konsep dasar dan referensi teori cara bekerja suatu
protokol, dalam perkembangannya protokol TCP/IP digunakan sebagai standar de facto, yaitu
standar yang diterima karena pemakaiannya secara sendirinya semakin berkembang.
Beberapa protokol yang digunakan dalam teknologi streaming adalah:
a. Session Description Protocol (SDP) : Gambaran format media yang digunakan untuk
menggambarkan session multimedia untuk tujuan pengumuman session, session
undangan, dan bentuk-bentuk inisiasi session multimedia.
b. RealTime Transport Protocol (RTP) : Sebuah paket dengan format UDP dan
seperangkat konvensi yang menyediakan fungsi jaringan transportasi end-to-end,
cocok untuk aplikasi transmisi data real-time seperti audio, video atau data simulasi,
melalui layanan jaringan multicast atau unicast.
c. Real-time Control Protocol (RTCP) : RTCP adalah protokol kontrol yang bekerja
sama dengan RTP. Paket kontrol RTCP secara berkala dikirimkan oleh masing-
masing paket dalam sesi RTP untuk semua paket lainnya. RTCP digunakan untuk
mengontrol kinerja dan untuk tujuan diagnostik.
d. Hypertext Transfer Protocol (HTTP) : Sebuah protokol level aplikasi yang
terdistribusi, kolaboratif, dengan sistem informasi hypermedia. Ini adalah protokol
berorientasi objek yang dapat digunakan untuk banyak tugas, seperti server nama dan
sistem manajemen objek terdistribusi, melalui perpanjangan metode permintaannya.
e. Real Time Streaming Protocol (RTSP) : Sebuah protokol level aplikasi untuk kontrol
atas pengiriman data dengan sifat real-time. RTSP menyediakan kerangka extensible
untuk mengaktifkan kendali pada pengiriman data real-time, seperti audio dan video,
dengan menggunakan Transmission Control Protocol (TCP) atau User Data Protocol
(UDP).
2.3.1. Protokol Model OSI
Model OSI dibagi atas tujuh lapisan (layer) yang masing-masing lapisan mempunyai
fungsi dan aturan tersendiri. Tujuan pembagian adalah untuk mempermudah pelaksanaan
standar tersebut secara praktis dan untuk memungkinkan fleksibilitas dalam arti perubahan
salah satu lapisan tidak mempengaruhi perubahan dilapisan lain. Berikut ini akan dijabarkan
mengenai fungsi dari masing-masing lapisan:
- Lapisan Aplikasi (Application Layer)
11
Merupakan interface pengguna dengan Layer OSI lainnya di layer inilah aplikasi-
aplikasi jaringan berada seperti e-mail, ftp, http, dan lain sebagainya. Tujuan dari layer
ini adalah menampilkan data dari layer dibawahnya kepada pengguna.
- Lapisan Presentasi (Presentation Layer)
Berfungsi mengubah data dari layer diatasnya menjadi data yang bisa dipahami oleh
semua jenis hardware dalam jaringan.
- Lapisan Session (Session Layer)
Berfungsi mensinkronisasikan pertukaran data antar proses aplikasi dan
mengkoordinasikan komunikasi antar aplikasi yang berbeda.
- Lapisan Transport (Transport Layer)
Layer ini menginisialisasi, memelihara, serta mengakhiri komunikasi antar
komputer,selain itu juga memastikan data yang dikirim benar serta memperbaiki
apabila terjadi kesalahan.
- Lapisan Network (Network Layer)
Berfungsi untuk menyediakan routing fisik, menentukan rute yang akan ditempuh.
- Lapisan Data Link (Data Link Layer)
Layer ini berwenang untuk mengendalikan lapisan fisik, mendeteksi serta mengkoreksi
kesalahan yang berupa gangguan sinyal pada media transmisi fisik.
- Lapisan Fisik (Physical Layer)
Menangani koneksi fisik jaringan dan prosedur-prosedur teknis yang berhubungan
langsung dengan media transmisi fisik.
2.3.2. TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) adalah standar komunikasi
data yang digunakan oleh komunitas internet dalam proses tukar-menukar data dari satu
komputer ke komputer lain di dalam jaringan internet. Protokol ini tidak dapat berdiri sendiri,
karena memang protokol ini berupa kumpulan protokol (protocol suite). Protokol ini juga
merupakan protokol yang paling banyak digunakan saat ini. Data tersebut diimplementasikan
dalam bentuk perangkat lunak (software) di sistem operasi. Istilah yang diberikan kepada
perangkat lunak ini adalah TCP/IP stack.[11]
Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an
sebagai sebuah protokol standar untuk menghubungkan komputer-komputer dan jaringan
untuk membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar
jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang
12
digunakan, sehingga dapat digunakan di mana saja. Protokol ini menggunakan skema
pengalamatan yang sederhana yang disebut sebagai alamat IP (IP Address) yang mengizinkan
beberapa ratus juta komputer untuk dapat saling berhubungan satu sama lainnya di internet.
Protokol ini juga bersifat routable yang berarti protokol ini cocok untuk menghubungkan
sistem-sistem berbeda untuk membentuk jaringan yang heterogen.
Protokol TCP/IP selalu berevolusi seiring dengan waktu, mengingat semakin
banyaknya kebutuhan terhadap jaringan komputer dan Internet. Pengembangan ini dilakukan
oleh beberapa badan, seperti halnya Internet Society (ISOC), Internet Architecture Board
(IAB), dan Internet Engineering Task Force (IETF). Macam-macam protokol yang berjalan
di atas TCP/IP, skema pengalamatan, dan konsep TCP/IP didefinisikan dalam dokumen yang
disebut sebagai Request for Comments (RFC) yang dikeluarkan oleh IETF.
2.3.3. Layer pada TCP/IP
TCP/IP pun mempunyai beberapa layer, layer-layer itu adalah :
- IP (internet protocol) yang berperan dalam pentransmisian paket data dari node ke
node. IP mendahului setiap paket data berdasarkan 4 byte (untuk versi IPv4) alamat
tujuan (nomor IP). Internet authorities menciptakan range angka untuk organisasi
yang berbeda. Organisasi menciptakan grup dengan nomornya untuk departemen. IP
bekerja pada mesin gateaway yang memindahkan data dari departemen ke organisasi
kemudian ke region dan kemudian ke seluruh dunia.
- TCP (transmission transfer protocol) berperan didalam memperbaiki pengiriman data
yang benar dari suatu client ke server. Data dapat hilang di tengah-tengah jaringan.
TCP dapat mendeteksi error atau data yang hilang dan kemudian melakukan transmisi
ulang sampai data diterima dengan benar dan lengkap.
- Sockets yaitu merupakan nama yang diberikan kepada subrutin paket yang
menyediakan akses ke TCP/IP pada kebanyakan sistem.
2.3.4. RealTime Transport Protocol
Real-Time Transport Protocol atau disingkat RTP adalah suatu protokol yang biasanya
digunakan untuk menangani transfer data yang sifatnya real time. RTP berjalan diatas
protokol UDP, transmisi video secara real time lebih cocok menggunakan protokol ini karena
tidak ada handle terhadap paket yang hilang seperti pada protocol TCP yang mana apabila
ada paket yang hilang, paket tersebut akan ditransmisikan kembali, yang mengakibatkan
collision paket pada jaringan tinggi.
13
2.3.5. Real Time Streaming Protocol
Real Time Streaming Protocol adalah protocol level aplikasi yang bertujuan untuk
menyediakan sebuah protocol yang kuat untuk multimedia streaming satu ke banyak aplikasi
secara unicast dan multicast, dan untuk mendukung interoperabilitas antara client dan server
dari vendor yang berbeda. RTSP dianggap lebih dari kerangka daripada protocol. RTSP
didesain untuk bekerja di atas RTP untuk mengontrol dan menyampaikan konten secara real-
time.[3]
Gambar 2.1. Arsitektur RTSP
Dari gambar 2.1. diatas dapat dilihat Protocol RTSP menempatkan semua metode
secara bersama-sama. Mulai dari mengirim permintaan control, membangun sebuah line,
permintaan URL, dan nomor versi protocol. Kemudian, client termasuk general header,
header permintaan dan header entitas, membentuk protocol HTTP. Ini dikirim ke server,
yang akan mengeksekusi permintaan jika memungkinkan. Kemudian server merespon status-
line, general header dan header entitas. Status line berisi versi protocol, kode status numeric,
dan deskripsi tekstual. Media stream yang tersisa tidak ditentukan oleh RTSP. Hal ini bias
merupakan streaming RTP, atau bentuk lain dari transmisi media. RTSP hanya menetapkan
TEAR DOWN
PAUSE
HTTP GET
RTCP
SET UP
PLAY
RTP VIDEO
MEDIA SERVER
WEB SERVER
CLIENT
14
control dan sampai dengan perangkat lunak client dan server untuk menjaga pemetaan antara
saluran control dan media stream.
Sebuah konsep kunci dalam RTSP adalah gagasan tentang session. RTSP bekerja
dengan terlebih dahulu meminta presentasi yang akan dimulai oleh server, menerima session
identifier yang kemudian digunakan dalam semua control berikutnya. Session
pengidentifikasi merupakan state bersama antara client dan server. Jika state hilang, misalnya
melalui salah satu mesin yang sedang reboot, kemudian protocol yang bergantung pada
pengangkutan media berhenti secara otomatis, misalnya tidak melalui menerima pesan RTCP
jika menggunakan RTP, atau implementasi menggunakan metode GET_PARAMETER.
Permintaan control dan tanggapan dapat dikirim melalui TCP atau UDP. Karena urutan
hal-hal permintaan, memungkinkan adanya permintaan yang hilang. Jadi jika ada permintaan
yang hilang, mereka harus dipancarkan kembali menggunakan UDP sehingga memerlukan
pembangunan mekanisme retransmission, jadi ada kesempatan sangat sedikit saat aplikasi
bias lolos dengan menggunakan UDP.
2.4. Streaming
Streaming adalah sebuah teknologi untuk memainkan file video atau audio secara
langsung ataupun dengan pre-recorder dari sebuah mesin server (web server). Saat file video
atau audio di-stream, akan berbentuk sebuah buffer di komputer client, dan data video - audio
tersebut akan mulai di-download ke dalam buffer yang telah terbentuk pada mesin client.
Dalam waktu sepersekian detik, buffer telah terisi penuh dan secara otomatis file video -
audio dijalankan oleh sistem. Sistem akan membaca informasi dari buffer dan tetap
melakukan proses download file, sehingga proses streaming tetap berlangsung ke mesin.[7]
Sering sekali orang mengakses video-video dari internet untuk mendapatkan
informasi-informasi penting seperti siaran berita, pembelajaran online, dan juga untuk
melihat video-video lainnya yang bersifat hiburan. Kecepatan streaming sebuah video di
internet dipengaruhi oleh besar Bandwidth user.
2.4.1. Video Coding
Encoding sebagai media kompresi data digital dapat memperkecil ukuran data dan bisa
mempercepat proses transmisi. Proses kompresi mengidentifikasi komponen-komponen
utama dari input media dan membuang bagian-bagian yang tidak diperlukan. Dengan
menginstal DirectShowi dan QuickTime 6, Helix Mobile Producer Live dapat membaca
15
beberapa tipe file yaitu file MOV, DV, MPEG-1, MPEG-2 (dengan catatan telah terinstall
DirectShow atau QuickTime), MP3, MPEG-4 dan WAV.
Video coding digunakan sebagai perangkat untuk mengkompresi file dari media source
ke dalam format yang sesuai untuk streaming agar dapat mengatasi keterbatasan bandwith
pada saat distribusi data melalui jaringan internet atau intranet. Perangkat untuk melakukan
coding video disebut dengan codec yang merupakan kepanjangan dari encoder dan decoder.
Sesuai dengan namanya maka coder dan decoder berjalan secara bersama-sama dan saling
terkait. Encoder bekerja pada sisi pengiriman dan decoder bekerja pada sisi penerimaan,
walaupun pada tiap sisi baik sisi pengiriman dan sisi penerimaan selalu dilengkapi dengan
encoder dan decoder.
Video encoder yaitu realvideo 8 bekerja pada sisi pengiriman dengan tujuan untuk
mengubah data digital kedalam file format yang dapat diteruskan jaringan dan membagi data
menjadi paket-paket yang telah digabungkan dengan gelombang pembawa serta header yang
berisi alamat tujuan, alamat pengirim dan pendeteksi kesalahan. Prinsip kerja kompresi data
yang telah dilakukan oleh encoder seperti telah dijelaskan dalam bab sebelumnya mengenai
elemen-elemen pembuatan video klip yang melibatkan encoder sebagai piranti untuk
mengkompresi data. Vendor-vendor penghasil encoder antara lain realnetworks, windows
media dan apple.
Video decoder digunakan pada sisi penerimaan yang bekerja untuk mengubah kembali
file format ke dalam format awal sebelum di encode pada sisi pengiriman. Antara codec yang
digunakan pada sisi pengiriman harus sesuai dengan codec yang digunakan pada sisi
penerimaan. Hal ini untuk mencegah perbedaan persepsi mengenai data yang dikirim dengan
data yang diterima. Sehingga diperlukan kerjasama yang kompak antara operator dengan
vendor penghasil handset dalam menentukan jenis dan produk coder yang digunakan
sehingga tidak terjadi kesalahan persepsi mengenai data yang dikirim dengan data yang
diterima.
2.4.2. Modulasi
Modulasi adalah proses menumpangkan sinyal (data) pada sinyal pembawa/ carrier
yang biasanya berupa gelombang sinusoida/ gelombang radio. Fungsi modulasi adalah untuk
memudahkan pengiriman data melalui media transmisi, karena tidak semua media transmisi
dapat mengirimkan sinyal digital ataupun sebaliknya. Teknik modulasi yang digunakan pada
teknologi video streaming adalah modulasi data digital ke sinyal analog. Karena teknologi
video streaming merupakan pengiriman paket data yang menggunakan jaringan paket suara
16
yang hanya dapat melakukan transmisi data yang berupa sinyal analog. Sehingga data digital
yang dihasilkan oleh perangkat sumber yang berupa kamera harus dikodekan ke dalam sinyal
analog agar dapat ditransmisikan oleh jaringan.
2.4.3. Arsitektur Streaming Video[8]
Gambar 2.2. Arsitektur Streaming Video
- Encoder:
Encoder merupakan suatu program yang digunakan untuk mengubah media source ke
format yang sesuai untuk streaming. Encoder bertugas untuk mengkonversikan data
digital menjadi bit stream yang dapat dilewatkan jaringan. Di dalam encoder terdapat
modulasi frekuensi yang akan dialirkan melalui jaringan. Fungsi dari modulasi
frekuensi adalah untuk menggabungkan sinyal yang telah dikompresi oleh encoder
dengan sinyal-sinyal lain yang akan bertindak sebagai sinyal pembawa menuju ke
client.
- Server:
Setelah file di encoding, file ditaruh dalam Streaming Media server, Streaming Media
server hampir sama dengan Web Server yang bisa menangani request dari multiple
client. Setelah web server mengirimkan file ke browser, koneksi antara web server dan
browser terputus, akan tetapi tidak demikian dengan Streaming Media server, yang
menggunakan two-way connection, user punya control (rewind, pause, play, dll).
Streaming media server juga harus memproses live broadcast yang datang dari
encoder, sehingga dapat melayani user secara simultan.
17
- Player:
Software yang dapat berkomunikasi dengan streaming media server, dan dapat
memainkan file streaming media, player dapat berupa stand-alone application atau
plugin yang ada di web browser.
- File format:
Ketika player atau server menerima streaming media data, file harus di-unpacked dan
disusun kembali menurut aturan yang spesifik . Aturan tersebut disebut File Formats.
- Codec:
Setelah streaming media data di-unpacked dan disusun kembali, streaming media
player harus decode data sebelum dimainkan, ini dilakukan oleh software kecil
bernama codec. Codec digunakan karena raw audio atau video file mengandung terlalu
banyak data (besar) untuk di stream di internet, Codec menggunakan advanced
mathematical model untuk mengurangi ukuran asli dari A/V files.
2.4.4. Delay[2]
Delay adalah waktu yang dibutuhkan untuk mentransmisikan data sampai ke penerima.
Delay dalam jaringan dapat digolongkan sebagai berikut:
a. Packetization Delay
Delay yang disebabkan oleh waktu yang diperlukan untuk proses pembentukan paket IP
dari infomasi user.
b. Delay Propagasi
Delay Propagasi adalah delay yang terjadi pada saat proses perjalanan informasi selama
didalam media transmisi. Misalnya SDH, coax atau tembaga.
c. Queuing Delay
Delay ini disebabkan oleh waktu proses yang diperlukan oleh router didalam
menangani antrian transmisi paket di sepanjang jaringan.
d. Processing Delay
Processing Delay adalah waktu yang diperlukan oleh suatu perangkat jaringan untuk
melihat rute, mengubah header, dan tugas switching lainnya.
e. Transmission Delay
Transmission Delay adalah waktu yang diperlukan sebuah paket data untuk melintasi
suatu media. Transmission delay ditentukan oleh kecepatan media dan juga besar dari
paket data.
18
2.4.5. Jitter[7]
Jitter merupakan variasi delay yang terjadi akibat adanya selisih waktu atau interval
antar kedatangan paket di penerima. Jitter diakibatkan oleh antrian yang terjadi didalam
jaringan. Jitter dapat menyebabkan sampling disisi penerima menjadi tidak tepat sasaran
sehingga informasi menjadi rusak. Ukuran paket juga mempengaruhi dari nilai jitter tersebut
yang mana semakin besar ukuran paket maka proses penerimaan paket tersebut juga menjadi
lama sehingga jitter yang dihasilkan menjadi besar. Untuk mengatasi jitter maka paket data
yang datang dikumpulkan dulu dalam jitter buffer selama waktu yang telah ditentukan sampai
paket dapat diterima pada sisi penerima dengan urutan yang benar. Parameter jitter
merupakan ukuran QoS dalam aplikasi suara dan video. Jitter dapat menyebabkan data loss
terutama pada kecepatan transmisi yang tinggi.
2.4.6. Packet Loss
Packet loss didefinisikan sebagai kegagalan transmisi paket IP mencapai tujuannya.
Packet loss terjadi ketika ada peak load dan congestion (kemacetan transmisi paket akibat
padatnya traffic yang harus dilayani) dalam batas waktu tertentu, maka frame (gabungan data
payload dan header yang ditransmisikan ) akan dibuang sebagaimana perlakuan terhadap
frame data lainnya pada jarinngan berbasis IP. Packet loss untuk aplikasi voice dan
multimedia tidak dapat di toleransi, sehingga harus dibuat seminimal mungkin agar streaming
berjalan dengan baik. Penyebab Packet loss yaitu :
- Interferensi jaringan (wireless memiliki interferensi yg tinggi)
- Kepadatan pengguna jaringan
- Kemampuan server/router yang rendah/tidak mampu menangani banyaknya client.
- Kualitas instalasi jaringan (Kabel/router/dll)
- Sabotase (paket snifing/pencurian paket oleh hacker)
- Error checksum/kesalahan sistem .
2.5. Kompresi Video
Kompresi video adalah salah satu bentuk kompresi data yang bertujuan untuk
mengecilkan suatu ukuran file video. Kompresi video biasanya mengacu untuk mengurangi
jumlah data yang digunakkan untuk mewakili video digital gambar, dan merupakan
kombinasi dari ruang kompresi gambar dan temporal kompresi gerak. Kompresi dapat
dilakukan dengan memanfaatkan redundansi yang terdapat pada data video, yaitu :
- Redundansi Temporal
19
Redundansi yang dilakukan dengan mengirimkan dan meng-encode frame yang
berubah saja sedangkan data yang sama masih disimpan.
- Redundansi Spasial
Redundansi yang dilakukan dengan mengambil keuntungan dari fakta bahwa mata
manusia tidak terlalu dapat membedakan warna dibandingkan dengan brightness,
sehingga image dalam video bisa dikompresi.
Berdasarkan redundansi diatas, kompresi data video dapat dibagi menjadi dua yaitu :
a. Kompresi intraframe
Dilakukan dengan memanfaatkan redundansi spasial yang terdapat dalam suatu frame.
Beberapa metode yang digunakkan pada proses kompresi ini antara lain :
- Subsampling
Mengurangi jumlah piksel yang digunakan untuk mrepresentasikan suatu gambar.
- Pengurangan kedalaman bit
Mengurangi jumlah bit yang digunkan untuk merepresentasikan suatu piksel.
- Transform Coding
Mentransformasikan data dari domain ruang ke domain frekuensi.
b. Kompresi interframe
Dilakukan dengan memanfaatkan redundansi temporal. Metode yang digunakan dalam
kompresi ini antara lain :
- Subsampling
Mengurangi laju frame dalam data video.
- Difference Coding
Membagi frame menjadi blok yang tidak saling tumpang tindih.
- Motion Compensation
Melakukan proses pencocokan blok, tiap blok pada frame tersebut dibandingkan
dengan blok yang berukuran sama pada frame sebelumnya. Perbedaan lokasi antara
blok tersebut dengan blok yang mirip pada frame sebelumnya disebut motion vector.
Hanya motion vector saja yang disimpan.
2.5.1. Pulse Code Modulation (PCM)[9]
PCM merupakan metode umum untuk mengubah sinyal analog menjadi sinyal digital
yang digunakan untuk transmisi sinyal informasi seperti suara, gambar, dan video. PCM
adalah pengembangan dari PAM ( Pulse Amplitude Modulation) dimana tiap-tiap sampel
analog dikuantisasi dan diberikan dalam bentuk kode-kode digital. Terdapat tiga proses
utama dalam prinsip kerja PCM yaitu :
20
- Sampling.
Sampling merupakan proses pengambilan sumber data.
- Quantizing.
Quantizing merupakan proses pembulatan nilai sampai pada level tertentu.
- Coding.
Coding merupakan proses mengubah sinyal yang ditangkap menjadi bilangan biner.
2.5.2. Discrete Cosine Transform (DCT)[10]
DCT adalah algoritma kompresi video yang paling sering digunakan didalam dunia
kompresi sehingga membuat algoritma kompresi ini menjadi paling populer. Video yang
menggunakan kompresi DCT sangat mudah ditemukan di berbagai media.
Prinsip dasar yang dilakukan DCT adalah melakukan transformasi data dari domain
ruang ke domain frekuensi. Pada domain frekuensi, terdapat frekuensi DC yang merupakan
frekuensi inti dari suatu blok yang ditransformasikan dan frekuensi-frekuensi non-DC yang
tidak akan mengubah blok secara signifikan bila terjadi distorsi padanya. Mata manusia
kurang peka untuk mendeteksi distorsi yang terjadi dengan frekuensi-frekuensi tinggi non-
DC ini. Sifat inilah yang dimanfaatkan untuk kompresi, dengan memotong frekuensi-
frekuensi tinggi tersebut pada proses kuantisasi.
2.6. MYSQL
MySQL adalah Relational Database Management System (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap
orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang
bersifat komersial. MySQL merupakan turunan salah satu konsep utama dalam database sejak
lama, yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian
database, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan
pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu sistem
database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses
perintah-perintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai
database server, MySQL dapat dikatakan lebih unggul dibandingkan database server lainnya
dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan
query MySQL bisa sepuluh kali lebih cepat dari PostgreSQL dan lima kali lebih cepat
dibandingkan Interbase. Keistimewaan dari MySQL yaitu :
21
Portabilitas.
MySQL dapat berjalan stabil pada semua sistem operasi.
Open Source.
MySQL didistribusikan secara open source, sehingga dapat digunakan secara gratis.
Multiuser.
MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa
mengalami masalah atau konflik.
Performance tuning.
MySQL memiliki kecepatan yang sangat baik dalam menangani query sehingga dapat
memproses lebih banyak SQL.
Jenis Kolom.
MySQL memiliki tipe kolom yang sangat kompleks dan mudah dimengerti, seperti
signed / unsigned integer, float, double, char, text, date, timestamp, dan lain-lain.
Perintah dan Fungsi.
MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select
dan Where dalam perintah (query).
Keamanan.
MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host,
dan ijin akses user.
Skalabilitas dan Pembatasan.
MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman
(records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas
indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
Konektivitas.
MySQL dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix
soket (UNIX), atau Named Pipes(NT).
Lokalisasi.
MySQL dapat mendeteksi pesan kesalahan pada client dengan menggunakan lebih
dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di
dalamnya.
Antar Muka.
22
MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa
pemrograman dengan menggunakan fungsi API (Application Programming
Interface).
Klien dan Peralatan.
MySQL dilengkapi dengan berbagai peralatan yang dapat digunakan untuk
administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online.
Struktur tabel.
MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER
TABLE, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle.
2.7. PHP
PHP adalah bahasa scripting web HTML – embedded. Kode PHP dapat disisipkan
kedalam HTML halaman web. Kepanjangan dari PHP sendiri adalah Hypertext Preprocessor.
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
- Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah
kompilasi dalam penggunaanya.
- Web Server yang mendukung PHP sangat mudah ditemukan seperti apache, IIS,
Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.
- Dalam sisi pengembangan lebih mudah, karena banyaknya developer yang siap
membantu dalam pengembangan.
- Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena
memiliki referensi yang banyak.
- PHP adalah bahasa open source yang dapat digunakan di berbagai sistem operasi dan
dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-
perintah sistem.
2.8. Java Media Framework (JMF)
Java Media Framework adalah program Application Programming Interface (API)
yang dapat digunakan untuk memasukkan data-data media, baik itu data video maupun data
audio kedalam aplikasi dan applet java. Selain itu JMF API merupakan arsitektur yang
menggabungkan protokol dan pemograman interface untuk merekam, mentransmisi, dan
playback media.[4]
Beberapa fungsi dari JMF antara lain sebagai berikut :
23
a. Dapat digunakan untuk berbagai file multimedia pada Java Applet.
b. Play media streaming dari internet.
c. Dapat digunakan untuk program penyiaran televisi maupun radio secara langsung.
d. Pengiriman data audio dan video secara real-time dalam jaringan internet atau intranet.
e. Capture audio dan video dengan mikrophone dan webcamera kemudian menyimpan
data tersebut kedalam format yang mendukungnya.
Fungsi-fungsi yang terdapat pada JMF adalah sebagai berikut :
- Data Source
Data Source berfungsi untuk mengatur transfer media
- Capture Device
Merupakan perangkat keras yang digunakan untuk memperoleh data, seperti
webcamera dan microphone.
- Player
Player berfungsi untuk memperoleh input stream data audio dan video kemudian
mengirimnya ke speaker atau layar pada client.
- Processor
Processor adalah interface dengan extends player. Selain itu processor juga
mendukung untuk kontrol menampilkan media data.
- Data Sink
Data Sink adalah interface dasar untuk objek yang membaca isi media yang dikirimkan
oleh suatu Data source dan mengirimkan media tersebut ke beberapa tujuan.
- Format
Format merupakan class yang akan menempatkan suatu objek ke suatu format media
yang tepat.
- Manager
Manager adalah interface yang berfungsi untuk penghubung objek dan
mengintegrasikan implementasi interface yang digunakan dengan kelas yang ada.
2.9. Wireshark
Wireshark adalah sebuah tools yang digunakan untuk menganalisis lalu lintas paket
data didalam suatu jaringan. Wireshark dapat menganalisa beberapa QoS seperti jitter, delay,
throughput dan paket loss dan lainnya serta dapat meng-capture protokol yang sedang
berjalan dalam jaringan tersebut.