BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... ·...

24
6 BAB II DASAR TEORI Bab ini berisi dasar teori yang berhubungan dengan perancangan aplikasi antara lain mengenai Streaming, Audio encoding, Internet dan website, Protocol, dan Java Media Framework. 2.1. Streaming Streaming adalah suatu teknologi untuk memainkan file audio atau video secara langsung maupun dengan prerecord dari sebuah mesin server (web server). File audio atau video yang terletak pada sebuah server dapat secara langsung dijalankan pada komputer client sesaat setelah ada permintaan dari pengguna sehingga proses download file tersebut yang menghabiskan waktu cukup lama dapat dihindari.[3] Saat file tersebut di-stream maka akan terbentuk sebuah buffer di komputer client dan data audio atau video tersebut akan mulai di-download ke dalam buffer yang telah terbentuk pada mesin client. Biasanya file yang di download sementara disimpan pada memori RAM client. Setelah buffer terisi dalam waktu hitungan detik, maka secara otomatis file video ataupun audio akan di jalankan oleh sistem. Sistem akan membaca informasi dari buffer sambil tetap melakukan proses download file sehingga proses streaming tetap berlangsung ke mesin client. Delay waktu sesaat sebelum file video atau audio di jalankan biasanya berkisar antara 5 sampai dengan 30 detik. Konsep dasar dari audio streaming adalah membagi paket audio ke dalam beberapa bagian, mentransmisikan paket tersebut, kemudian pada pihak penerima ( client) dapat men- decode dan memainkan potongan paket file audio tanpa harus menunggu seluruh file terkirim ke mesin penerima.

Transcript of BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... ·...

Page 1: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

6

BAB II

DASAR TEORI

Bab ini berisi dasar teori yang berhubungan dengan perancangan aplikasi antara lain

mengenai Streaming, Audio encoding, Internet dan website, Protocol, dan Java Media

Framework.

2.1. Streaming

Streaming adalah suatu teknologi untuk memainkan file audio atau video secara

langsung maupun dengan prerecord dari sebuah mesin server (web server). File audio atau

video yang terletak pada sebuah server dapat secara langsung dijalankan pada komputer

client sesaat setelah ada permintaan dari pengguna sehingga proses download file tersebut

yang menghabiskan waktu cukup lama dapat dihindari.[3]

Saat file tersebut di-stream maka akan terbentuk sebuah buffer di komputer client dan

data audio atau video tersebut akan mulai di-download ke dalam buffer yang telah terbentuk

pada mesin client. Biasanya file yang di download sementara disimpan pada memori RAM

client. Setelah buffer terisi dalam waktu hitungan detik, maka secara otomatis file video

ataupun audio akan di jalankan oleh sistem. Sistem akan membaca informasi dari buffer

sambil tetap melakukan proses download file sehingga proses streaming tetap berlangsung ke

mesin client. Delay waktu sesaat sebelum file video atau audio di jalankan biasanya berkisar

antara 5 sampai dengan 30 detik.

Konsep dasar dari audio streaming adalah membagi paket audio ke dalam beberapa

bagian, mentransmisikan paket tersebut, kemudian pada pihak penerima (client) dapat men-

decode dan memainkan potongan paket file audio tanpa harus menunggu seluruh file terkirim

ke mesin penerima.

Page 2: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

7

2.1.1. Arsitektur Streaming [4]

Arsitektur streaming dibagi kedalam 4 bagian seperti pada Gambar 2.1

Gambar 2.1 Arsitektur Streaming

a. Capture dan encoding

Proses capture dan encode membutuhkan sinyal audio atau video yang didapat dari

data sumber dan diubah ke dalam bentuk file streaming, ada beberapa langkah yang

harus dilakukan yaitu:

1. Capture ke file format komputer

2. Kompresi data media

3. Paketisasi data

Algoritma kompresi ini sudah terpasang pada software aplikasi yang disebut

compression-decompression atau disingkat dengan sebutan codec. proses

kompresi membutuhkan data mentah / RAW audio/video file dan menurunkan

data ratenya sehingga sesuai dengan bandwidth yang dibutuhkan untuk

streaming, sedangkan proses dekompresi dilakukan oleh media player dan di

ubah kembali ke bentuk data audio/video semula

b. Serving

File yang sudah di-encode di-upload ke server untuk dikirimkan ke network. server

biasanya merupakan aplikasi server seperti webserver. Server untuk streaming tidak

Page 3: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

8

berbeda jauh seperti server lainnya, hanya saja server streaming memiliki kontrol

dalam pengiriman data real-time.

c. Distribusi dan pengiriman

Dalam pendistribusian dan pengiriman dibutuhkan koneksi IP antara server dengan

client, server menangani permintaan yang dikirim oleh client, lalu server akan

membalas permintaan tersebut berupa paket-paket data. Paket yang di-request

nantinya akan diterima oleh player.

d. Media Player

Web browser biasanya hanya dapat menerjemahkan text dan gambar saja, tetapi

dibutuhkan player media khusus untuk menerjemahkan data streaming. Player yang

digunakan untuk streaming biasanya dapat di-instal tersendiri berupa desktop

aplikasi maupun dapat juga ter-instal sebagai plugin dalam web browser.

2.1.2. Streaming dan download

Download adalah proses pengambilan data secara utuh, dan disimpan ke-dalam tempat

penyimpanan lokal, file yang dikirim dapat diputar secara lokal, sedangkan streaming adalah

proses pengiriman bagian demi bagian data, dan bagian data tersebut langsung diterjemahkan

ke layar, dan data tersebut menghilang, sehingga tidak diperlukan proses pengambilan data

utuh terlebih dahulu sebelum diputar. Dalam proses streaming, data tidak tersimpan di tempat

penyimpanan lokal / local harddisk sehingga ini adalah cara jitu untuk mencegah illegal

copying. Perbedaan proses download dan streaming dapat dilihat pada Gambar 2.2

Gambar 2.2 Perbedaan Download dan Streaming [8]

2.1.3. On demand streaming[4]

On demand streaming merupakan salah satu cara pengiriman data multimedia secara

langsung, dimana client melakukan permintaan dan langsung dilayani oleh server.

Page 4: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

9

Pengiriman data dilakukan bagian demi bagian secara terus menerus, sedangkan penerimaan

data tergantung dengan permintaan user. Pada on demand streaming hanya terdapat tombol

play dan pause saja. Saat user menekan tombol pause, maka penerimaan data akan terhenti,

dan data akan hilang sementara hingga user menekan tombol play kembali.

2.1.4. Parameter dalam audio streaming

Dalam audio streaming ada beberapa parameter yang mempengaruhi kualitas dan

performa streaming yaitu:

a. Data rate

Data rate adalah kecepatan pengiriman data, data rate biasanya diukur dalam bytes per

second. Semakin tinggi data rate maka kualitas yang dihasilkan juga semakin tinggi.

Data rate yang tinggi memerlukan sumber sistem yang lebih banyak, dalam hal ini

kecepatan prosesor, besar memory RAM dan kebutuhan ruang hard disk sangat

berpengaruh.[8]

b. Sample rate

Sample rate adalah jumlah sample yang diambil tiap detiknya, untuk audio biasa ukuran

sample rate diukur dalam satuan kilohertz. Semakin tinggi sample rate, kualitas suara

yang dihasilkan juga semakin baik.[8]

c. Transcoding

Transcoding adalah proses yang konversi dari suatu format media ke format yang lain

dalam sebuah paket data tepat sebelum paket data tersebut ditransmisikan, proses ini

akan berlangsung terus menerus selama proses transmisi masih berjalan.[8]

2.1.5. Delay [7]

Delay merupakan waktu tunda yang disebabkan oleh proses transmisi suatu data dari

satu titik ke titik yang lainnya. Dalam jaringan delay dapat digolongkan sebagai berikut:

a. Delay Algoritmik

Merupakan delay yang dihasilkan dalam proses kompresi dan dekompresi data dalam

melakukan pengkodean sebelum data dikirim.

b. Delay Paketisasi

Delay paketisasi adalah perbedaan waktu yang disebabkan karena adanya antrian antara

satu paket RTP dan paket yang lain.

Page 5: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

10

c. Delay Serialisasi

Delay serialisasi disebabkan oleh perangkat-perangkat seperti router dan switch, delay

serialisasi terjadi karena adanya waktu yang dibutuhkan untuk mengirim paket data dari

pengirim.

d. Delay Propagasi

Delay propagasi adalah delay yang disebabkan karena adanya waktu yang diperlukan

untuk sinyal listrik atau sinyal optik untuk melewati media transmisi dan jarak yang

harus ditempuh sinyal. Sebagai contoh Coax, tembaga dan SDH dapat menyebabkan

delay propagasi.

e. Delay Komponen

Delay yang disebabkan oleh perangkat keras, dimana delay ini terjadi dikarenakan

setiap komponen atau perangkat membutuhkan waktu dari paket masuk ke komponen

dan diproses yang nantinya dikeluarkan melalui port output.

Gambar 2.3. Delay yang terjadi dalam pengiriman data

2.1.6. Jitter[9]

Jitter adalah sebuah variasi dari delay penerimaan paket, setelah paket dikirim secara

terus menerus dengan adanya jeda tiap bagiannya. Hal ini desebabkan karena kemacetan

jaringan, antrian yang tidak benar serta kesalahan konfigurasi atau penundaan setiap paket

yang bervariasi ini dapat menyebabkan terjadi perbedaan waktu antar kedatangan antar paket

data.

Paket data yang datang dikumpulkan ke dalam jitter buffer dengan tujuan paket data

dapat diterima dengan urutan yang benar, hanya saja jitter tidak mungkin dihilangkan, sebab

Page 6: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

11

metode antrian yang paling baik tetap saja tidak dapat mengatasi semua masalah dalam kasus

antrian. Proses terjadinya jitter dapat dilihat pada Gambar 2.4

Gambar 2.4. Proses terjadinya Jitter[4]

2.1.7. Paket Loss

Paket loss atau kehilangan paket terjadi ketika adanya penumpukan data pada jalur

yang dilewati pada saat beban mencapai puncak sehingga terjadi kemacetan data. hal ini

menyebabkan gabungan data payload dan header yang ditransmisikan menjadi rusak dan

terbuang. Paket loss bisa disebabkan oleh sejumlah faktor lainnya seperti degradasi sinyal

saat melalui media jaringan, paket data yang rusak atau ditolak saat ditransmisikan, perangkat

keras jaringan yang mengalami gangguan ataupun masalah dalam routing.

2.2. Audio Encoding

Soundcard merupakan perangkat penting dalam pemprosesan audio, dengan

perangkat soundcard banyak perangkat luar untuk pemprosesan audio dapat digunakan,

seperti audio editing system, audio mixing board, CD dan beberapa sumber audio seperti VTR

atau microphone.

Audio encoding dimulai dengan data live stream dari sumber audio seperti

microphone atau mixing board, aliran data yang terekam di-encode dan dikompresi

menggunakan streaming codec yang menghasilkan aliran data dengan media format tertentu.

Proses audio encoding dapat dilihat pada Gambar 2.5

Page 7: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

12

Gambar 2.5 Proses Audio Encoding [4]

2.2.1. Audio Capture

Audio Capture adalah proses memperoleh data live audio stream dan mengubahnya

kedalam file format komputer. File ini dibentuk dari bagian – bagian, header dari bagian

mendiskripsikan file format dan banyaknya sample yang ditangkap.

Audio format dalam capture audio biasanya berformat AIFF dan WAVE, AIFF adalah

Audio Interchange File Format yang biasa digunakan oleh sistem operasi Apple Mac dan

UNIX, sedangkan WAVE atau Waveform Audio biasanya digunakan oleh sistem operasi

Microsoft Windows. Proses capture audio dapat dilihat pada Gambar 2.6

Page 8: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

13

Gambar 2.6 Proses Capture Audio [4]

2.2.2. G.711 µlaw [5]

G.711 µlaw adalah format standarisasi yang direkomendasikan oleh ITU-T dari

Internation Telecommunication Union (ITU) untuk sistem komunikasi digital dan telah

didukung oleh banyak Voice over Internet Protocol (VoIP) providers, G.711 encoder

menggunakan 64bit/s untuk sample sinyal 8khz. G.711 menghasilkan kualitas yang cukup

bagus untuk kualitas suara VoIP.

G.711 menggunakan teknik Pulse Code Modulation (PCM) dalam pengiriman suara,

PCM mengkonversikan sinyal analog ke digital dengan melakukan penyampelan data per

detik yang kemudian dikodekan dalam kode angka. Jarak antara sample data yang satu

dengan yang lain adalah sebesar 125µdetik. sinyal sample tersebut kemudian dikonversikan

ke dalam bentuk diskrit. Sinyal analog pada suatu suara yang diterima dari sumber perekam

atau microphone diasumsikan memiliki frekuensi antara 300hz-3400hz. Sinyal yang sudah

dikonversi dalam bentuk diskrit direpresentasikan dengan kode yang disesuaikan dengan

amplitudo dari sinyal sampel.

2.2.3. GSM [15]

GSM merupakan jenis codec yang mengunakan RegularPulse Excitation LongTerm

Predictor (RPE-LTP), codec ini telah distandarisasi untuk penggunaan telepon selular

generasi ketiga. Codec jenis ini menggunakan 13kbps. GSM dikembangkan untuk menjaga

kualitas suara pada berbagai jenis kondisi transmisi. Tabel perbandingan codec yang biasa

digunakan dalam transmisi audio dapat dilihat pada Tabel 2.1

Page 9: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

14

Tabel 2.1. Perbandingan codec audio

Jenis Codec Standart Algoritma Bitrate(kbps)

G.711 ITU-T Pulse Code Modulation

(PCM)

64

G.721 ITU-T Adaptive differential pulse

code modulation (ADPCM)

32

G.723 ITU-T Adaptive differential pulse

code modulation (ADPCM)

24/40

GSM ETSI Regular Pulse Excitation

LongTerm Predictor (RPE-

LTP)

13

DVI IMA Adaptive differential pulse

code modulation (ADPCM)

32

2.3. Internet dan Website

Internet adalah singkatan dari Interconnectec network adalah jaringan-jaringan

komputer sedunia yang saling berhubungan satu sama lain. Agar bisa berhubungan, internet

menggunakan bahasa yang sama yang disebut Transmission Control Protocol/Internet

Protocol (TCP/IP). TCP/IP memberikan sebuah alamat dan identitas yang unik pada setiap

komputer diseluruh dunia, hal ini bertujuan untuk menghindari terjadinya kesalahan dalam

proses pengiriman data.[11]

Website merupakan jaringan komputer yangterdiri dari kumpulan situs internet yang

menawarkan teks, grafik, suara serta multimedia lainnya melalui protokol transfer hypertext.

Website dikenal dengan istilah World Wide Web (WWW) dimana halaman website yang

dapat saling berhubungan satu sama lain dengan hyperlink yang membentuk satu kesatuan

informasi.

WWW berjalan dengan protokol HyperText Transfer Protocol (HTTP). Halaman

website merupakan file text murni yang berisi sintaks dan tata bahasa HTML yang dapat

dibuka, dilihat dan diterjemahkan oleh browser internet sehingga isi dari konten text, gambar,

audio, video dan animasi dapat dinikmati.[12]

Page 10: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

15

2.3.1. HTTP

HTTP (HyperTextTransfer Protocol) adalah protokol yang dipergunakan untuk

mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah protokol ringan,

tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen.

Pengembangan HTTP dikoordinasi oleh Konsorsium World Wide Web (W3C) dan grup

bekerja Internet Engineering Task Force (IETF), bekerja dalam publikasi satu seri RFC, yang

paling terkenal RFC 2616, yang menjelaskan HTTP/1,1, versti HTTP yang digunakan umum

sekarang ini. HTTP adalah sebuah protokol meminta/menjawab antara client dan server.

Pesan HTTP dirancang agar tidak bisa diterjemahkan oleh manusia, sehingga pesan

tersebut hanya dapat dibaca dan diterjemahkan oleh HTTP server dan client. Proses kerja

HTTP adalah dengan client mengirim sebuah permintaan (request) yang nantinya akan

diterima oleh server. Kemudian server akan mengirim balasan berupa response terhadap

permintaan tersebut.

Pesan permintaan client atau request message biasanya terdiri dari beberapa komponen

seperti request type, URL dan HTTP version dengan penjelasan sebagai berikut:

a. Request Type

Request Type digunakan oleh client untuk berkomunikasi dengan server yang terdiri

dari beberapa method yaitu:

GET

Digunakan saat client ingin meminta sebuah data dari server. Alamat data yang

diminta didefinisikan dalam bentuk URL, isi dari data yang diminta nantinya akan

dibalas oleh server dan dikirim dalam body.

HEAD

Digunakan saat client meminta tanggapan yang identik dengan tanggapan yang

sesuai dengan permintaan GET, namun tanpa body tanggapan. Ini berguna untuk

mengakses informasi meta tanpa perlu mengangkut seluruh konten.

POST

Digunakan saat client memberikan informasi kepada server.

PUT

Digunakan jika client memiliki sebuah data yang ingin digunakan atau disimpan

ke dalam server.

Page 11: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

16

PATCH

Digunakan saat client ingin memodifikasi atau merubah isi dari dokumen atau

data yang sudah ada.

TRACE

Mengirimkan kembali permintaan yang diterima, sehingga client dapat melihat

perbuhan yang dilakukan oleh server.

OPTION

Mengembalikan metode HTTP yang berfungsi untuk melihat pilihan yang

disediakan server.

DELETE

Digunakan untuk menghapus data atau dokumen yang ada didalam server.

b. Uniform Resource Locator (URL)

URL merupakan standart yang digunakan untuk mendefinisikan informasi yang ada

pada internet. Dalam URL terdapat beberapa informasi sebagai berikut:

Method

Protokol yang digunakan untuk mengakses sebuah data dari server.

Host

Komputer dimana informasi atau data tersebut disimpan.

Port

Informasi tambahan yang dapat ditambahkan jika diperlukan, port biasanya

diletakkan diantara host dan path, informasi port dipisahkan dengan titik dua.

Path

Lokasi direktori dimana informasi atau data tersebut disimpan.

c. HTTP version

HTTP version menyatakan versi HTTP yang digunakan.

Sebuah sesi HTTP adalah urutan transaksi permintaan dan respons jaringan dengan

menggunakan protokol HTTP. Sebuah client HTTP akan memulai sebuah permintaan. Client

tersebut akan membuka sebuah koneksi Transmission Control Protocol (TCP) ke sebuah

port tertentu yang terdapat dalam sebuah host (umumnya port 80 atau 8080). Server yang

mendengarkan pada port 80 tersebut akan menunggu pesan permintaan client. Saat menerima

permintaan, server akan mengirimkan kembali baris status, seperti "HTTP/1.1 200 OK", dan

pesan yang hendak diminta, pesan kesalahan atau informasi lainnya.

Page 12: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

17

Contoh transaksi yang dilakukan oleh server dan client S = Server C = Client

C : (Inisialisasi koneksi)

C : GET /index.htm HTTP/1.1

C : Host: www.alamathost.com

S : 300 OK

S : Mime-type: text/html

S :

S : -- data dokumen --

S : (close connection)

2.3.2. HTML5

HTML Hyper Text Markup Language adalah sebuah bahasa markup yang digunakan

untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah

browser Internet. Bermula dari sebuah bahasa yang sebelumnya banyak digunakan di dunia

penerbitan dan percetakan yang disebut dengan Standard Generalized Markup Language

(SGML), 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 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.

HTML5 merupakan generasi kelima dari versi HTML. HTML5 lahir pada tahun 2009

yang merupakan standar baru untuk HTML HTML5 merupakan hasil proyek dari World

Wide Web Consortium (W3C) dan Web Hypertext Application Technology Working Group

(WHATWG). WHATWG bekerja dengan bentuk situs dan aplikasi, sedangkan W3C

merupakan pengembang dari XHTM L 2.0 pada tahun 2006, kemudian mereka memutuskan

untuk bekerja sama dan membentuk versi baru dari HTML. Di HTML5 terdapat banyak

keunggulan, salah satunya adalah Video dan elemen audio untuk media pemutaran, sehingga

dapat memudahkan dalam memutar multimedia tanpa menggunakan plugin player pada

browser.

2.3.3. PHP

PHP merupakan singkatan dari PHP: Hypertext Preprocessor yaitu bahasa

pemprograman open source website yang berada pada sisi server, PHP mengunakan script

yang terintegrasi dengan HTML dan berada pada sisi server. Script ini biasa digunakan untuk

Page 13: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

18

membuat halaman website yang dinamis. Dinamis berarti halaman yang akan ditampilkan

dibuat saat halaman tersebut diminta oleh client. Mekanisme ini menyebabkan informasi

yang diterima oleh client dapat berubah-ubah sesuai dengan permintaan dan waktu.[13]

Beberapa keunggulan PHP antara lain

1. Life Cycle

Bahasa PHP selalu mengikuti perkembangan teknologi.

2. Cross Platform

PHP dapat dipakai hampir semua web server yang ada dipasaran seperti Apache,

AOLServer, fhttpd, phttpd, IIS dan lainnya. PHP dapat dijalankan pada semua sistem

operasi, termasuk Linux, dengan berbagai macam variasi UNIX termasuk (HP-Ux,

Solaris dan OpenBSD), Microsoft Windows, Mac OS dan RISC OS.

3. Object Oriented

PHP mendukung pembangunan website dinamis yang berorientasi objek, sehingga

website dapat memperoleh kemudahan untuk mengelola kompleksitas aplikasi yang

dibuat dan kemudahan dalam melakukan perubahan dalam pengembangan website. PHP

mendukung banyak paket database seperti MYSQL, postgreSQL, Oracle, Informix,

Microsoft SQL server dan lainnya.

2.3.4. WAMP Server

WAMP merupakan salah satu paket instalasi Apache, PHP dan MYSQL. Dimana

paket tersebut terdiri dari Apache yang digunakan sebagai webserver yang bertujuan untuk

menjembatani permintaan dari client ke server, PHP yang merupakan bahasa pemprograman

website yang dapat memanajemen informasi dan konektivitas database sehingga

menghasilkan sebuah website yang dinamis, serta MYSQL sebagai database server yang

bersifat free yang dapat menyimpan data-data atau informasi yang digunakan.

2.3.5. MYSQL

MYSQL merupakan salah satu database server opensource, sehingga dapat diperoleh

secara gratis. MYSQL digunakan untuk menyimpan serta mengolah database. MYSQL

menggunakan bahasa standar query Structure Query Language (SQL) dalam hal

pemprosesan data. SQL merupakan bahasa yang digunakan untuk berkomunikasi dengan

server database relasional. Dalam SQL query ini tidak memiliki struktur kendalam sehingga

Page 14: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

19

untuk pengembangan aplikasi, harus digabungkan dengan struktur bahasa pemprograman

lainnya.

2.4. Protocol

Dalam pengiriman data dan komunikasi antar network, diperlukan sebuah standar

agar dapat berkomunikasi antara network satu dengan yang lain yang disebut sebagai

protokol. Protokol memiliki jenis dan fungsinya sendiri-sendiri. Berikut merupakan beberapa

protokol beserta fungsinya:

2.4.1. TCP/IP[16]

TCP/IP merupakan singkatan dari Transmission Control Protocol/Internet Protocol.

TCP/IP merupakan standart yang digunakan untuk komunikasi internet dan tukar menukar

data antara komputer satu dengan yang lain dalam networking. TCP/IP merupakan protokol

suite, sehingga tidak dapat berditi sendiri. Karena merupakan jenis protokol suite maka

protokol ini memiliki lapisan-lapisan yang dapat dilihat pada Gambar 2.7

Gambar 2.7. Lapisan pada TCP/IP

a. Application Layer

Application layer atau lapisan aplikasi bertugas menyediakan akses kepada aplikasi

terhadap layanan jaringan TCP/IP. Protokol pada layer ini menunggu di portnya masing-

masing dalam suatu antrian untuk diproses.digunakan untuk Telecommunication Network

(Telnet), File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), DNS

(Domain Name Service), dan Hypertext Transfer Protocol (HTTP).

Page 15: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

20

b. Host-to-Host Transport

Host-to-host atau lapisan antar host berguna untuk membuat komunikasi menggunakan

sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat

connectionless. Host-to-host Layer menentukan bagaimana host pengirim dan host

penerima dalam membentuk sebuah sambungan sebelum kedua host tersebut

berkomunikasi, serta seberapa sering kedua host ini akan mengirim informasi dalam

sambungan tersebut satu sama lainnya. Protokol dalam lapisan ini hanya ada dua yaitu

Transmission Control Protocol (TCP) dan User Datagram Protocol (UDP).

c. Internet

Protokol lapisan internetwork: bertanggung jawab untuk melakukan pemetaan (routing)

dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja

dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP),

Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol

(IGMP).

d. Network Interface

Network Interface Layer atau lapisan antarmuka jaringan bertanggung jawab untuk

meletakkan frame-frame jaringan di atas media jaringan yang digunakan. Protokol pada

layer ini menyediakan media bagi sistem untuk mengirimkan data ke device lain yang

terhubung secara langsung. Network Access Layer merupakan gabungan antara Network,

Data Link dan Physical Layer. Fungsi dalam layer ini adalah mengubah IP datagram ke

frame yang ditransmisikan oleh network, dan memetakan IP Address ke physical address

yang digunakan dalam jaringan. IP Address ini harus diubah ke alamat apapun yang

diperlukan untuk Physical Layer untuk mentransmisikan datagram.

2.4.2. UDP[17]

UDP atau User Datagram Protocol yaitu suatu protokol yang berada pada lapisan

transpor TCP/IP yang bekerja pada lapisan antar host yang berguna untuk membuat

komunikasi yang bersifat connectionless. Hal ini berarti suatu paket yang dikirim melalui

jaringan dan mencapai komputer lain tanpa membuat suatu koneksi. Sehingga dalam

perjalanan ke tujuan paket dapat hilang karena tidak ada koneksi langsung antara kedua host,

sehingga UDP sifatnya tidak realibel.

Page 16: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

21

UDP memiliki karakteristik-karakteristik berikut:

Connectionless (tanpa koneksi)

Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi

antara dua host yang hendak bertukar informasi.

Unreliable (tidak andal)

Pesan-pesan UDP akan dikirimkan sebagai datagram tanpa adanya nomor urut atau

pesan informasi. Protokol lapisan aplikasi yang berjalan di atas UDP harus melakukan

pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol

lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan

mereka masing-masing, atau mengirim pesan secara periodik atau dengan

menggunakan waktu yang telah didefinisikan.

UDP tidak menyediakan mekanisme penyanggaan (buffering) dari data yang masuk

ataupun data yang keluar. Tugas buffering merupakan tugas yang harus

diimplementasikan oleh protokol lapisan aplikasi yang berjalan di atas UDP.

UDP tidak menyediakan mekanisme segmentasi data yang besar ke dalam segmen-

segmen data, seperti yang terjadi dalam protokol TCP. Karena itulah, protokol lapisan

aplikasi yang berjalan di atas UDP harus mengirimkan data yang berukuran kecil

(tidak lebih besar dari nilai Maximum Transfer Unit/MTU ) yang dimiliki oleh sebuah

antarmuka di mana data tersebut dikirim. Karena, jika ukuran paket data yang dikirim

lebih besar dibandingkan nilai MTU, paket data yang dikirimkan bisa saja terpecah

menjadi beberapa fragmen yang akhirnya tidak jadi terkirim dengan benar.

UDP tidak menyediakan mekanisme flow-control, seperti yang dimiliki oleh TCP.

Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu

dengan sebuah host tertentu, maka protokol ini sering digunakan untuk transmisi. Sebuah

protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan

menggunakan alamat multicast atau broadcast. Berbeda dengan protokol TCP yang

hanya bisa mengirimkan one-to-one.

2.4.3. RealTime Transport Protocol (RTP)

RTP merupakan protokol yang digunakan untuk mengirimkan paket data secara real-

time, biasa digunakan untuk transmisi multimedia, seperti audio dan video. Aplikasi yang

dibangun menggunakan protokol ini biasanya dibangun diatas protokol UDP. RTP juga

Page 17: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

22

mendukung dalam transmisi data ke tujuan lebih dari satu mengunakan distribusi multicast

atau broadcast dalam network.[19]

RTP tidak menyediakan mekanisme untuk memastikan waktu penerimaan secara

tepat waktu dan memberi jaminan mengenai kualitas data yang dikirim, pada RTP, proses

pengiriman tidak dijamin dikirim secara berurutan, oleh karena itu penerima harus

merekontruksi ulang paket data yang diterima, dan mengabaikan paket data yang hilang atau

rusak selama dikirim.

Protokol ini bekerja berpasangan dengan protokol kontrol yang disebut RTCP

(RealTime Control Protocol) yang bertugas untuk menerima informasi kontrol sesuai dengan

permintaan. Arsitektur RTP dapat dilihat pada Gambar 2.8

Gambar 2.8. Arsitektur RTP

Pada aplikasi yang dibangun dalam RTP, selain memiliki sumber dan tujuan

penerima, sistem juga harus dilengkapi dengan translator dan mixer. Translator digunakan

untuk menerjemahkan satu format data ke bentuk lainnya, seperti contohnya pada pengiriman

paket data multimedia berupa audio atau video, dimana paket multimedia tersebut harus

diubah ke dalam format tertentu sehingga tidak membutuhkan banyak bandwidth. Sedangkan

mixer berfungsi untuk mengkombinasikan pecahan bagian-bagian data sehingga menjadi satu

kesatuan skema.

Protokol RTP memiliki mekanisme khusus dalam pengirimannya yang disebut

dengan header. Berikut merupakan penjelasan mengenai RTP header:

a. Sequence Number

Jumlah dari Sequence number adalah 16bit. Dimana akan terjadi penambahan pada setiap

paket data yang datang, sequence number biasa digunakan untuk mendeteksi paket data

yang hilang atau rusak, dan untuk mengurutkan kembali data sesuai permintaan

Page 18: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

23

b. Timestamp

Merupakan nilai sampling yang didapatkan dari waktu penghubung yang digunakan

untuk perhitungan sinkronisasi. Timestamp juga biasa digunakan untuk mengaktifkan

fungsi penerima dalam memutar sample sesuai dengan interval, dan untuk melakukan

sinkronisasi apabila terdapat media streaming lain yang berjalan.

c. Identifikasi Pengirim

Merupakan tanda pengenal yang bersifat unik yang berfungsi untuk membedakan dan

mensinkronisasi media data yang di terima, dengan adannya identifikasi pengirim, maka

dapat mengatasi permasalahan tercampurnya data yang dikirim dari dua atau lebih

sumber media.

2.4.4. RealTime Control Protocol (RTCP)[19]

RTCP merupakan protokol control yang bekerja sama dengan RTP, protokol ini

memberikan umpan balik kepada setiap penerima yang berada pada sesi RTP. RTCP bertugas

untuk memberi laporan mengenai jumlah paket yang hilang, besarnya delay, dan jitter. Dari

informasi yang didapat nantinya dapat digunakan untuk memodifikasi cara pengiriman data

untuk mengatasi berbagai macam permasalahan jaringan.

RTCP akan mengirimkan paket secara berkala dan mengidentifikasi data yang dikirim

dan data yang diterima. Beberapa tipe paket RTCP tersebut adalah sebagai berikut:

a. Sender Report

Informasi yang diperoleh pada saat pengiriman berlangsung melalui paket

RTP.

b. Receiver Report

Informasi yang diperoleh pada sisi penerima, saat menerima paket.

c. Source description

Informasi yang berisi mengenai sumber lokasi pengirim beserta identitasnya.

d. Stop

Informasi yang berisi mengenai penerima yang sudah tidak aktif atau

meninggalkan session.

2.4.5. Real Time Streaming Protocol (RTSP)

RTSP merupakan protokol yang berada pada layer aplikasi yang digunakan untuk

mengontrol multimedia baik berupa audio maupun video secara real time, RTSP mendukung

Page 19: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

24

perangkat interaktif serta tombol yang digunakan dalam player multimedia seperti play,

pause dan lainnya.

RTSP mendukung penggunaan dari RTP sebagai dasar protokol pengiriman data

multimedia, protokol tersebut diharapkan bisa memaksimalisasi pengiriman data multimedia

secara real time dari pengirim ke penerima

2.5. Java Media Framework[20]

Java Media Framework (JMF) merupakan bagian dari J2SE yang difokuskan pada

pemprograman multimedia streaming. JMF sudah mendukung penggunaan protokol RTP

yang digunakan sebagai protokol aplikasi dalam mengolah data multimedia secara real-time.

JMF juga sudah mendukung berbagai macam tipe format audio dan video.

Beberapa fungsi JMF antara lain:

a. Dapat digunakan untuk berbagai file multimedia pada Java Applet atau aplikasi

b. Memutar media streaming dari internet

c. Capture audio dan video dari sumber seperti microphone dan kamera kemudian di-ubah

ke dalam format tertentu

d. Mengolah media multimedia time-based dan mengubah format multimedia

e. Mengirimkan media multimedia secara real-time melalui jaringan intranet maupun

internet

Arsitektur dari Java Media Framework dapat dilihat pada Gambar 2.9

Gambar 2.9. Arsitektur JMF

Page 20: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

25

Beberapa fungsi penting dalam JMF untuk pembuatan aplikasi streaming yaitu:

1. Capture Device

Merupakan komponen perangkat keras yang akan digunakan untuk pengambilan

media data, seperti video kamera atau microphone, hasil dari rekaman akan langsung

dikonversi agar bisa ditampilkan atau disimpan. Fungsi ini digolongkan sebagai push

atau pull source, dimana user bisa mengatur kapan dan sumber capture yang akan

digunakan.

2. DataSource

Berfungsi untuk mengatur transfer dari media. Pada JMF datasource didefinisikan

dengan MediaLocator. Data source bisa berupa file dan streaming yang terdapat

pada jaringan. Kelebihan fungsi ini adalah data source dapat langsung dikenali.

Media data yang di set bisa di berupa file lokal, file jaringan maupun broadcast live

internet.

3. Player

Player memperoleh input stream data multimedia yang nantinya dikirim dan

diterima melalui layar client. Player merupakan interface yang mempersiapkan suatu

DataSource untuk dipresentasikan. Sebuah player memiliki 6 states yang dapat

dilihat pada Gambar 2.10

Gambar 2.10. State Player

.

Page 21: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

26

a. Unrealized

Ketika player pertama kali dibuat, dan belum memiliki informasi mengenai

media.

b. Realizing

Adalah proses untuk mendapatkan sumber, sebuah player hanya bisa memiliki

sebuah sumber saja.

c. Realized

Pada state ini player sudah memiliki informasi mengenai media beserta tipe

nya. Realized player tahu bagaimana data tersebut diterjemahkan.

d. Prefetch

Sebuah Prefetch player mulai mempersiapkan untuk mempresentasikan

media, jika media tersebut memiliki fitur perulangan, maka player akan

mempersiapkan agar dapat melakukan perulangan, dan apabila media tidak

memiliki fungsi perulangan, maka player memerlukan buffer tambahan atau

proses alternatif lainnya.

e. Prefethed

Pada state ini, player sudah siap untuk memulai mempresentasikan media.

f. Started

Player mulai mempresentasikan media berdasarkan time-base dan waktu akan

berjalan selama pemutaran.

4. Processor

Seperti halnya player prosesor memiliki state-state yang sama, hanya saja prosesor

memiliki state tambahan antara Urealize dan Realize yaitu Configurating, processor

masuk ke tahapan konfigurasi dari Unrealized ketika tahapan metode ini dipanggil.

Processor akan berada pada tahapan metode ini saat mulai terhubung ke DataSource.

Tahapan kedua adalah Configured, dimana prosesor akan berpindah ke tahapan ini

setelah terhubung ke DataSource dan data telah memiliki format yang sudah

ditentukan.

5. DataSink

Merupakan interface dasar untuk objek, dengan DataSink isi media dibaca dan

dikirimkan oleh suatu DataSource menuju ke tujuan yang ditentukan.

Page 22: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

27

6. Format

Merupakan class yang akan menempatkan suatu objek ke suatu format media yang

tepat.

7. Manager

Merupakan interface yang berfungsi sebagai penghubung objek dan

mengintegrasikan implementasi interface yang digunakan dengan kelas-kelas yang

ada.

8. RTP Transmitter

Pada RTP Transmitter, DataSource memperoleh data yang berasal dari Capture

Device, kemudian data tersebut akan diolah oleh Processor dan dikembalikan

kembali menjadi DataSource setelah itu dikirim melalui Session Manager untuk

ditransmisikan ke dalam jaringan. RTP Transmitter dengan JMF dapat dilihat pada

Gambar 2.11

Gambar 2.11. RTP Transmitter dengan JMF

9. RTP Receiver

File yang ditransmisikan secara real-time melalui RTP akan diterima kembali pada

Session Manager dan diteruskan oleh Player untuk diolah dan ditampilkan pada

layar Console Client secara berkala.

2.6. Java Applet

Java Applet adalah aplikasi java yang bisa disisipkan kedalam halaman HTML. Java

applet bisa berjalan pada web browser yang telah mendukung java seperti mozilla, IE, dan

chrome. Applet dirancang untuk berjalan ‘remotely‘ pada browser client, sehingga ada

beberapa keterbatasan. Secara default, applet tidak bisa mengakses resource pada komputer

lokal. Applet biasanya digunakan untuk membuat website lebih dinamis dan menghibur.[18]

Page 23: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

28

Keuntungan menggunakan Java Applet:

1. Bersifat lintas platform, dapat dijalankan pada Windows, Mac OS, dan Linux.

2. Bisa berjalan pada semua versi plugin java.

3. Bisa berjalan di dalam sandbox, sehingga user tidak perlu meninjau source-nya, berjalan

tanpa persetujuan keamanan.

4. Didukung oleh hampir semua browser

5. Applet bisa disimpan sebagai cache oleh sebagian besar webbrowser sehingga menjadi

lebih cepat untuk dimuat ketika diakses berikutnya.

Kerugian Menggunakan Java Applet:

1. Memerlukan plugin Java.

2. Java applet memerlukan JVM (Java Virtual Machine) sehingga saat pertama dijalankan,

akan memakan waktu cukup lama.

3. Jika applet tidak di-cache kedalam komputer lokal, maka proses download akan

memakan waktu lama.

2.7. Wireshark[21]

Wireshark merupakan software yang digunakan untuk sniffing dan analisa jaringan.

Wireshark software dapat di unduh secara gratis pada website www.wireshark.org. wireshark

dapat menganalisa Quality of Service (Qos) jaringan dan meng-capture kualitas dari jaringan

tersebut.

Salah satu fungsi penting wireshark yaitu RTP stream analysis merupakan fungsi yang

digunakan untuk pengujian pada skripsi ini. Contoh hasil capture analisis RTP stream

analysis wireshark dapat dilihat pada Gambar 2.12.

Page 24: BAB II DASAR TEORI - repository.uksw.edurepository.uksw.edu/bitstream/123456789/8490/2/T1... · Konsep dasar dari audio . streaming. adalah membagi paket audio ke dalam beberapa bagian,

29

Gambar 2.12. Wireshark RTP Stream Analysis

Pada Wireshark RTP stream analysis akan ditampilkan analisa paket RTP, akan

tertampil sumber pengirim RTP dan tujuan kiriman, data jumlah paket yang telah

terkirim beserta waktunya, delta, jitter dan packet loss. Pengertian delta pada wireshark

adalah perbedaan waktu kedatangan antara paket yang diterima sekarang dengan paket

yang diterima sebelumnya. delta pada wireshark mirip dengan delay, tetapi delta

dideteksi dari tiap tiap paket data yang diterima.