18

Click here to load reader

BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

Embed Size (px)

Citation preview

Page 1: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 2: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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:

Page 3: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.

Page 4: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 5: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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)

Page 6: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 7: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.

Page 8: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 9: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 10: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 11: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.

Page 12: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.

Page 13: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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

Page 14: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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 :

Page 15: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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 :

Page 16: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.

Page 17: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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 :

Page 18: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8491/2/T1... · BAB II DASAR TEORI . Berisi dasar teori yang berhubungan dengan perancangan aplikasi

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.