Anda di halaman 1dari 12

 

 
BAB II
 

  TINJAUAN PUSTAKA

II.1  Karya Ilmiah Sejenis Sebelumnya


Dalam pengerjaan tugas akhir ini beberapa karya ilmiah digunakan sebagai
 
referensi dalam mencari konsep serta teknologi yang digunakan. Karya ilmiah
 
yang digunakan dapat dilihat pada tabel II-I.
  Tabel II-1 Karya ilmiah sebelumnya
 
No Tahun Judul K arya Obyek Metode Kata kunci
  Ilmiah dan Penulis

1 2015 Research and Arsit ekt ur - WebRTC,


  Implementation of WebRTC WebSocket,
WebRTC Signaling Real-time
via WebSocket- Communication
based for Real-time
Multimedia
Communications(Cu
i Jian, Zhuying Lin)

2 2016 WebRTC to - WebRTC


complement IP
Communication
Services (GSM
Associat ion)

3 2013 E-learning: Virtual Virtual - Virtual


Classroom as an Classroom Classroom, E-
Added Learning Learning
Platf orm in
Higher Learning
Institutions of
Rwanda. (Ben
Ruhinda)

Pada karya ilmiah yang pertama, dipaparkan hasil analisis perihal struktur
WebRTC serta pembuatan real-time communication system berdasarkan
mekanisme signaling dengan websocket.
Pada karya ilmiah yang selanjutnya, dipaparkan peluang implementasi WebRTC
terhadap operator seluler dengan berbagai sudut pandang.
Karya ilmiah yang ketiga, dipaparkan mengenai penelitian penerapan virtual
classroom sebagai platform untuk e-learning pada universitas Rwanda.

4
 
  5

 
II.2 Dasar Teori
 
Sub bab ini memaparkan mengenai konsep, teknologi serta teori yang digunakan
  sebagai pendukung dalam pembuatan tugas akhir.
 

  WebRTC
II.2.1
  Web Real-Time Communication (WebRTC) adalah kumpulan standar, protokol,
dan JavaScript API. Kombinasi tersebut memungkinkan sebuah pertukaran data
 
dalam bentuk audio, video, dan bentuk lainnya melalui browser. WebRTC
 
mengubah real-time communication menjadi fitur standar tanpa perlu
 
mengandalkan plug-in maupun perangkat lunak lainnya [1].
  WebRTC bersifat open framework dan diyakinkan memiliki kualitas yang tinggi
dalam melakukan komunikasi. Sehingga WebRTC memungkinkan pengembang
untuk dengan mudah mengimplementasikan aplikasi WebRTC mereka sendiri [2].
Berdasakan penuturan Grigory [3], WebRTC mengabstraksi kemampuan
konferensi jarak jauh, kemampuan pemrosesan audio dan video berkualitas tinggi,
dan kemampuan lainnya dalam tiga API utama yaitu :
1. MediaStream : mengakuisisi penyiaran suara dan video,
2. RTCPeerConnection : komunikasi data berbentuk suara dan video,
3. RTCDataChannel : komunikasi data yang berubah-ubah.
RTCPeerConnection menjadi API yang dapat diekspos secara sederhana,
meskipun terdapat banyak protokol lainnya. Secara singkat, RTCPeerConnection
mengenkapsulasi semua pengaturan koneksi manajemennya dalam satu interface.
Interface pada RTCPeerConnection dapat dilihat pada Gambar II-1.

 
  6

Gambar II-1 Interface RTCPeerConnection [3]

II.2.1.1Arsitektur WebRTC
WebRTC dapat diaplikasikan dengan berbagai macam arsitektur topologi. Grigory
[3] dalam artikelnya membagi menjadi empat jenis yang digambarkan melalui
Gambar II-2.

Gambar II-2 Arsitekur distribusi untuk panggilan N-way [3]

 
  7

 
Direct connection adalah jenis tolopologi di mana peer terhubung langsung ke
 
satu peer lainnya sehingga berbentuk satu-satu.
  Mesh network membentuk jaringan di mana setiap peer terhubung dengan setiap
peer  lainnya sehingga tiap peer membentuk N-1 koneksi dengan total koneksi
yang
  terbentuk N x (N-1).
Mesh network mudah diterapkan namun dirasa kurang efisien diterapkan dalam
 
multiparty karena membutuhkan bandwith yang besar. Sehingga, topologi star
 
menjadi alternatif. Topologi ini membuat satu peer menjadi “supernode” yang
 
bertanggung jawab untuk melakukan distribusi penyiaran ke semua peer yang
terhubung.
  Topologi ini membuat total koneksi sebanyak N-1.
WebRTC pun tidak menutup kemungkinan untuk membentuk arsitektur
 
tersentralisasi sehingga layanan penyiaran melalui proxy server.
Menurut Romano dan Loreto [4], arsitektur tersentralisasi atau client-server, dapat
dibagi kembali menjadi dua bentuk yaitu trapezoid dan triangle. Penggambaran
kedua arsitektur tersebut dapat dilihat pada gambar II-3 serta II-4.

Gambar II-3 Arsitektur WebRTC tipe trapezoid [4]

 
  8

Gambar II-4 Arsitektur WebRTC tipe triangle [4]

Dalam model trapezoid kedua browser menjalankan aplikasi web yang diunduh
dari dua server yang berbeda. Proses signaling yang bertujuan memulai dan
mengakhiri proses komunikasi dilakukan melalui protokol HTTP atau protokol
WebSocket melalui web server diubah atau disesuaikan sesuai kebutuhan.
Umumnya, aplikasi yang menggunakan WebRTC menjalankan aplikasi web yang
sama dan diunduh dari halaman web yang yang sama. Dalam tugas akhir ini tipe
yang dipakai merupakan tipe triangle.

 
  9

 
II.2.1.2 Browser
 
Berdasarkan situs website webRTC, webRTC mendukung penggunaan pada lima
  browser dan platform, yaitu “Chrome”, “Firefox”, “Opera”, “Android” dan “iOS”.
Gambar
  II-5 menunjukan browser yang didukung pada laman tersebut.

 
Gambar II-5 Supported Browsers & Platforms

II.2.2WebSocket
WebSocket adalah sebuah teknologi yang memungkinkan membuat komunikasi
dua arah antara browser dan server [5]. WebSocket memungkinkan streaming
data dalam bentuk teks maupun biner. Sisi manapun (klien dan server) dapat
mengirim data ke sisi lainnya kapan saja [1].
Untuk mendukung teknologi web socket, dibutuhkan teknik pengkodean yang
disebut dengan socket programming. Socket programming mendukung
komunikasi melalui protokol TCP dan UDP.
TCP menyediakan connection oriented service, di mana koneksi harus terbentuk
sebelum proses pertukaran data. Saat klien TCP mengirim data ke server, klien
membutuhkan kembalian acknowledgement. Jika acknowledgement tidak diterima
kembali, TCP akan otomatis mengirim ulang data dan menunggu lebih lama
dalam periode waktu tertentu.
UDP adalah protokol datagram yang bersifat conectionless. Klien tidak membuat
koneksi dengan server seperti TCP. Sebagai gantinya, klien hanya mengirim
datagram ke server menggunakan fungsi yang tersedia yang mempunyai alamat
serta tujuan sebagai parameter.

 
  10

 
Pada WebRTC, UDP digunakan sebagai default protokol. Menurut Tutorials Point
 
Team [6] alasan UDP digunakan karena WebRTC mengirim paket data secepat
  mungkin.
 

  Proxy
II.2.3
  Server proxy adalah sebuah server yang bertindak sebagai perantara antara klien
dan server lain, seperti server web di Internet [7]. Sedangkan Gumaste el at [8]
 
menyatakan bahwa server proxy adalah sebuah server berbentuk sistem operasi
 
atau aplikasi yang bertindak sebagai perantara untuk permintaan dari klien yang
 
mencari sumber dari server lain.
  Gumaste el at [8] menyatakan beberapa tujuan penggunaan proxy ialah:
1. Menjaga keamanan,
2. Mempercepat akses ke tujuan menggunakan teknik caching. Web proxy
biasanya digunakan untuk caching pada halaman web server,
3. Mencegah pengunduhan berkas berulang kali, sehingga menghemat bandwidth,
4. Mencatat/mengaudit penggunaan Internet, sebagai contoh penggunaan koneksi
Internet pada sebuah perusahaan,
5. Memindai konten yang dicurigai ditransmisikan sebagai malware,
6. Pencegahan data loss,
7. Peningkatan/pembatasan akses, sebagai contoh memblokir situs yang tidak
diinginkan.

II.2.4 NAT
Network Address Translation (NAT) digunakan untuk memberi sebuah perangkat
alamat IP publik. Router akan memiliki alamat IP publik dan setiap perangkat
yang terhubung ke router akan memiliki alamat IP pribadi [9].
NAT diperkenalkan pada tahun 1994 untuk menyelesaikan masalah keterbatasan
alamat IP di mana pada IPv4 hanya mungkin membuat 4,92 miliar alamat IP unik.
NAT akan bertanggung jawab untuk menjaga tabel pemetaan IP lokal dan port
tuple ke satu atau lebih tuple IP publik dan port (publik) yang unik secara global.
Ilustrasi pemetaan IP local menjadi IP publik dapat dilihat pada gambar II-6.

 
  11

 
Gambar II-6 IP Network Address Translator [3]

 
II.2.5WebRTC Protokol
Dalam memenuhi kebutuhan real time communication, WebRTC membutuhkan
dukungan beberapa protokol.

II.2.5.1 Interactive Connectivity Establishment (ICE)


Interactive Connectivity Establishment adalah sebuah kerangka yang
memungkinkan peramban web terhubung dengan peer pada koneksi WebRTC [9].
ICE akan menentukan rute untuk membentuk koneksi peer-to-peer.
Pada kasus biasa, koneksi peer-to-peer dapat langsung dibentuk jika semua peer
berada pada server internal dan tidak ada firewall dan NAT antar peer. Peer yang
tidak berada pada jaringan yang sama mempunyai kemungkinan terhalang firewall
dan NAT [3].
Setiap objek RTCPeerConnection mempunyai “ICE agent” yang mempunyai
tanggung jawab untuk:
1. Mengumpulkan informasi IP local/port tuple sebagai kandidat,
2. Melakukan pemeriksaan antar konektivitas peer,
3. Mengirim koneksi agar tetap berfungsi.
Sehingga pada kasus peer yang berbeda jaringan, saat description protocol
dibentuk ICE agent akan memulai proses menemukan semua kandidat IP yang
memungkinkan dengan melakukan:

 
  12

 
1. Pencarian IP dan port tuple,
 
2. Jika tidak ditemukan/terhalang firewall, ICE agent akan mencari alamat IP
  publik peer melalui STUN server,
3. Jika
  tidak bisa melalui STUN server, ICE agent akan mencari alamat IP publik
peer
  melalui TURN server sebagai pilihan terakhir.
Saat tidak ditemukan, maka koneksi akan dinyatakan gagal.
 

 
II.2.5.2 STUN
 
Session Traversal Utilities for NAT (STUN) adalah sebuah protokol untuk
 
menemukan alamat IP publik suatu peer dan menentukan batasan yang ada pada
  router yang mencegah koneksi langsung. Klien akan mengirim permintaan ke
server STUN di Internet, server STUN akan membalas dengan alamat publik klien,
serta kemungkinan dapat diakses atau tidak [9].
STUN Server dijalankan di jaringan internet dan memiliki satu tugas sederhana
yaitu mengecek IP: port address dari request yang masuk (dari aplikasi di
belakang NAT). Proses ini memungkinkan WebRTC peer untuk mendapatkan
alamat akses host publik lalu mengirimkannya ke target atau peer lainnya dengan
mekanisme signaling [9]. Ilustrasi mencari IP publik melalui STUN server dapat
dilihat pada gambar II-7.

Gambar II-7 Ilustrasi mencari IP publik melalui STUN server [5]

 
  13

 
II.2.5.3 TURN
 
Traversal Using Relays around NAT (TURN) dimaksudkan untuk melewati
  pembatasan NAT simetris dengan membuka koneksi dengan TURN server dan
menyampaikan
  semua informasi melalui server itu [9].
RTCPeerConnection
  mencoba membuat koneksi langsung antar peer melalui
UDP. Jika gagal maka RTCPeerConnection mengalihkan ke TCP. Jika cara
 
tersebut masih gagal, TURN server dapat digunakan sebagai alternatif.
 
TURN server memiliki alamat publik, sehingga dapat dihubungi oleh peer
 
walaupun mereka berada di belakang firewall atau proxy. TURN server memiliki
sebuah
  tugas sederhana yaitu untuk menyampaikan stream [9]. Proses mencari IP
publik melalui TURN server dapat dilihat pada gambar II-8.
 

Gambar II-8 Ilustrasi mencari IP publik melalui TURN server [5]

II.2.5.4 Session Description Protocol (SDP)


Session Description Protocol (SDP) adalah standar untuk menggambarkan konten
multimedia dari koneksi seperti resolusi, format, codec, dll. Sehingga antar peer
dapat saling memahami saat data ditransfer [10].
Menurut Grigorik [3], SDP adalah protokol teks sederhana yang menggambarkan
property dari sesi yang berlangsung.

 
  14

 
SDP akan dikirimkan dengan pemanggilan method dari objek
 
RTCPeerConnection dan dikirim melalui signaling channel. String dapat dikirim
  langsung atau dapat dengan format lain yang diatur pada aplikasi.
 

  Signaling
II.2.6
  Signaling merupakan sebuah mekanisme yang dilakukan untuk mengatur,
mengendalikan, dan mengakhiri sesi komunikasi [11].
 
Sedangkan menurut Khan [12], signaling merupakan proses yang digunakan
 
WebRTC untuk mendeteksi peer, bertukar deskripsi sesi untuk mengatur port
 
media,serta semua data saat initial handshake.
  Signaling digunakan untuk bertukar SDP, konfigurasi jaringan dengan
menggunakan ICE dan kapabilitas menggunakan pesan session control yang sama.
Signaling dilakukan melalui media yang disebut “Signaling Channel”. Menurut
Grigorik [3], signaling channel mempunyai tiga pilihan bentuk infrastruktur yang
digambarkan pada Gambar II-9.

Gambar II-9 Signaling gateway [3]

 
  15

 
II.2.7 WebRTC Experiment
 
WebRTC Experiment merupakan sebuah template kode program yang dibentuk
  menjadi sebuah library untuk webRTC yang dikembangkan oleh Muaz Khan
sejak
  2012. Menurut pemaparan Khan [11], dua eksperimennya yang paling
terkenal
  adalah RecordRTC serta RTCMultiConnection.

 
II.2.8 Tablet Grafis
 
Tablet grafis merupakan sebuah perangkat input grafis yang memungkinkan
 
pengguna menggunakan membuat masukan seperti menggambar menggunakan
  atau pena biasa. Tablet grafis terdiri dari sebuah perangkat berupa papan
pensil
  datar yang disebut puck yang dapat “digambar” menggunakan stylus pen.
Jacob [12] menyampaikan bahwa perangkat ini mirip dengan tetikus (mouse),
namun terdiri dari puck yang mempunyai sebuah sensor yang dapat mendeteksi
dan mengukur posisi dari stylus pen. Keuntungan perangkat ini dibandingkan
tetikus adalah penggunaan interaksi yang lebih mudah seperti melingkari seolah
menggunakan pena asli.

Anda mungkin juga menyukai