Anda di halaman 1dari 24

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.

6
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

7
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 .

8
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.

9
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

10
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

11
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

12
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

13
Tabel 2.1. Perbandingan codec audio

Jenis Codec Standart Algoritma Bitrate(kbps)


G.711 ITU-T Pulse Code Modulation 64
(PCM)

G.721 ITU-T Adaptive differential pulse 32


code modulation (ADPCM)

G.723 ITU-T Adaptive differential pulse 24/40


code modulation (ADPCM)

GSM ETSI Regular Pulse Excitation 13


LongTerm Predictor (RPE-
LTP)
DVI IMA Adaptive differential pulse 32
code modulation (ADPCM)

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]

14
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.

15
 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 por t 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.

16
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

17
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

18
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).
19
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.

20
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

21
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
22
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

23
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

24
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


.

25
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.

26
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]

27
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.

28
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 dela y, tetapi delta
dideteksi dari tiap tiap paket data yang diterima.

29

Anda mungkin juga menyukai