jurnal-sidang
TRANSCRIPT
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 1/14
PEMBANGUNAN APLIKASI VIDEO STREAMING PADA HANDSET MELALUI
TEKNOLOGI BLUETOOTH
Nidaul Husna1, Eddy Muntina Darma 2, Fazmah Arif Yulianto 3
Jurusan Teknik Informatika Sekolah Tinggi Teknologi Telkom, [email protected], [email protected], fay@ stelkom.co.id3
Abstraksi
Streaming merupakan sebuah teknologi yang memungkinkan suatu file dapat segera dijalankan tanpa
harus menunggu selesai di download seluruhnya dan terus "mengalir" tanpa ada interupsi. Sehingga
video streaming diartikan sebagai video yang dijalankan secara mengalir atau terus menerus, tanpa harus
mendownload keseluruhan dari file untuk dapat dilihat dan dinikmati. Bluetooth adalah cara
berkomunikasi antar peralatan dengan menggunakan sinyal radio jarak dekat dengan jangkauan
mencapai 100 meter, serta mempunyai kecepatan maksimum 1 Mbps. Dengan kemampuan bluetooth
tersebut serta sifatnya yang free, maka penulis membangun aplikasi video streaming dengan
menggunakan teknologi bluetooth.
Pada tugas akhir ini dibangun dua buah aplikasi berbasis Java, yakni J2SE yang bertindak sebagai server
serta J2ME yang bertindak sebagai client yakni mobile application yang menjalankan video streaming melalui teknologi bluetooth. Adapun IDE yang digunakan untuk membuat kedua sistem tersebut adalah
Netbeans 4.1. Yang kemudian dianalisa performansi dari sistem, dan didapat bahwa streaming setting
yang efektif untuk menjalankan aplikasi video streaming pada handset adalah dengan menggunakan
ChunkSize 7 Kbyte dan PacketSize 1000 byte. Dimana ChunkSize merupakan ukuran packet yang
dipecah dari video aslinya, sedangkan PacketSize merupakan data yang dikirim dari server ke client.
Kata kunci: video streaming , bluetooth, handset , J2ME, J2SE
Abstract
Streaming is a technology that able a file to be play without being completely downloaded first and it’s
continually without interrupt. So, video streaming can be defined as video that playing continually,
without downloading all file to be look and enjoyable. Bluetooth is the method of communication between
devices that use short-range radio signal with range can achieve until 100 meters, and maximum
bandwidth is 1 Mbps. Because of that and also free charge, writer developed an application video
streaming over bluetooth technology.
At this final project was developed two application based of Java programming, there is J2SE that
behavior as server application and J2ME that behavior as client application that is a mobile application
which play video streaming over Bluetooth. IDE that used to develop both of system is Netbeans 4.1.
Afterwards, it was analized performance of system, and it was result that streaming setting which
effective for this video streaming application is used ChunkSize 7 Kbyte and PacketSize 1000 byte.
ChunkSize is packet size that is partition from the original video, and PacketSize is data that is
transmitted from server side to client side.
Keyword: video streaming, bluetooth, handset, J2ME
1 Pendahuluan
1.1 Latar Belakang
Perkembangan teknologi canggih semakin
cepat dan pengguna teknologi canggih pun semakin
banyak. Handphone tidak hanya digunakan untuk
melakukan panggilan atau menerima panggilan dan
mengirim pesan atau menerima pesan saja,
melainkan bisa digunakan untuk mendengarkan
radio serta melakukan koneksi internet kapan pun
dan dimana pun. Bahkan video streaming pun sudahdapat dinikmati oleh pengguna handphone, berbagai
operator selular baik GSM maupun CDMA saling
berlomba-lomba dalam mempromosikan layanan-
layanan yang disediakan. Namun, untuk menikmati
layanan video streaming tersebut masih dikenai tarif
yang cukup mahal, maka penulis berharap dapat
menikmati video streaming tanpa dipungut biaya.
Untuk itu, penulis berupaya untuk dapat membuat
suatu aplikasi video streaming dimana si pengguna
tidak perlu mengeluarkan biaya untuk
menikmatinya, yakni dengan memanfaatkan
teknologi yang sudah ada pada handphone yaitu
bluetooth.
Bluetooth adalah sebuah teknologi komunikasiwireless (tanpa kabel) yang beroperasi dalam pita
frekuensi 2,4 GHz unlicensed ISM ( Industrial ,
1
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 2/14
Scientific and Medical ) dengan menggunakan
sebuah frequency hopping tranceiver yang mampu
menyediakan layanan komunikasi data dan suara
secara real-time antara host-host bluetooth dengan
jarak jangkauan layanan yang terbatas. Pada
dasarnya bluetooth diciptakan bukan hanya untuk
menggantikan atau menghilangkan penggunaankabel di dalam melakukan pertukaran informasi,
tetapi juga mampu menawarkan fitur yang baik
untuk teknologi mobile wireless dengan biaya yang
relatif murah. Sudah cukup banyak dari berbagai
kalangan mulai dari kalangan anak muda hingga
para eksekutif, telah menggunakan teknologi
nirkabel layanan tanpa bayar bluetooth kapan pun
dan dimana pun.
1.2 Perumusan Masalah
Perumusan masalah dari penulisan tugas akhir
ini yakni:a) Bagaimana membuat implementasi berbasis
J2ME untuk koneksi bluetooth
b) Bagaimana membuat mobile applicationvideo streaming dengan format 3gpp
c) Bagaimana mengintegrasikan point a) dan
point b) sehingga aplikasi yang dibuat dapat
melakukan streaming 3gpp melalui bluetooth.
1.3 Tujuan Penelitian
Adapun tujuan dari tugas akhir ini, yakni dapat
membuat aplikasi mobile dimana seseorang dapat
menikmati video streaming melalui handset yangdimilikinya dengan menggunakan teknologi
bluetooth. Video streaming yang dimaksud pada
tugas akhir ini yaitu, video yang dapat dimainkan
tanpa dapat melakukan proses editing maupun
rewind namun dapat melakukan pause.
1.4 Batasan Masalah
Yang menjadi batasan masalah pada pembuatan
tugas akhir ini, yakni:
• Bersifat on-demand , sehingga video streaming yang dimainkan adalah video yang
telah direkam sebelumnya
• Format video asli sebelum di- streaming adalah .avi dan .mpg
• Menggunakan video compression H.263
dan audio compression AMR, yang akan
menghasilkan video .3gp
• Aplikasi berbasis Java, J2SE pada sisi
server dan J2ME pada sisi client
• Server hanya dapat menangani sebuah
client
1.5 Metodologi Penelitian
• Studi literatur
Mencari informasi dari berbagai sumber
mengenai beberapa topik seperti: video
streaming , 3gpp, bluetooth, serta bahasa
pemrograman JAVA.
Pembangunan perangkat lunak aplikasi video
streaming melalui bluetooth metode object
oriented , serta melakukan perancangan sistem.• Melakukan pengujian performansi sistem
berdasarkan waktu, yang akan dievaluasi serta
diperbaiki jika masih terdapat kesalahan.
• Pengambilan kesimpulan dan penyusunan
laporan.
2 Landasan Teori
2.1 Video Streaming
2.1.1 Pengertian
Dalam dunia Internet, streaming merupakan
sebuah teknologi yang mampu mengkompresi atau
menyusutkan ukuran file audio dan video agar
mudah ditransfer melalui jaringan Internet.
Pentransferan file audio dan video tersebut
dilakukan secara terus-menerus.
Aplikasi dalam layanan streaming dibagi
menjadi dua, yaitu “on-demand ” dan “live”. Sebagai
contoh yang termasuk dalam kategori “on-demand ”yakni musik dan video, sedangkan yang termasuk
“live” yakni acara radio atau televisi yang disiarkan
secara broadcasting pada saat itu juga.
Ada beberapa masalah dasar dalam videostreaming, yakni[1]:
• Bandwidth, Jika pengirim mengirimkan
data lebih cepat dibandingkan dengan
ketersediaan bandwdith yang ada, maka akan
terjadi congestion (kemacetan) pada jaringan,
packet loss, dan kualitas video yang jelek.
• Delay Jitter merupakan masalah yang
menyebabkan penerima harus menampilkan
frame dengan rate yang konstan, dan setiap
frame yang terlambat datang akan menyulitkan
rekonstruksi video yang diterima.
• Loss Rate dapat disebabkan oleh bit error
dan bursh error. Loss rate ini dapatmenimbulkan kerusakan pada kualitas video
hasil rekonstruksi.
2.2 Encode/Decode
CODEC (compression/decompression), dalam
konteks streaming merupakan suatu metode atau
algoritma yang terdapat pada sebuah streaming player yang fungsinya adalah untuk melakukan
proses pengkompresan dan pendekompresan pada
file media streaming [3]. Tujuan dari video
compression adalah untuk menghilangkan informasi
yang berlebihan dari sebuah sequence video sertadata yang kurang baik harus dikompres sebelum
pengiriman untuk mencapai keefisienan.
2
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 3/14
Untuk melakukan pengiriman data video akan
dilakukan fragmentasi yakni dengan membuat paket-
paket besar yang kemudian dijadikan beberapa slice
yang lebih kecil untuk kemudian dikirimkan melalui
jaringan, hal tersebut dilakukan agar packet yang
besar tersebut dapat ditransmisikan melalui jaringan
yang memiliki keterbatasan bandwidth.
Gambar 1. Proses Fragmentasi
Pada proses fragmentasi tersebut, jika salah satu
slice dalam satu packet mengalami kerusakan, maka
packet tersebut akan dibuang, sehingga packet
tersebut akan dianggap sebagai packet loss.
2.3 Bluetooth
2.3.1 Pengertian
Bluetooth merupakan spesifikasi terbuka (open specification) untuk data dan voice (suara) yang
berbasis pada short-range radio link . Bluetooth
didisain untuk beroperasi di lingkungan yang
memiliki frekuensi radio yang cukup ribut atau
berisik (noisy radio frequency environment ).Bluetooth menggunakan " fast acknowledgement "
dan mekanisme " frequency hopping " untuk membuat
link menjadi robust . Bluetooth radio modules
menghindari interferensi dengan sinyal lain dengan
cara hopping ke frekuensi baru setelah mengirim
atau menerima paket. Bluetooth radio beroperasi
pada ISM band 2.4 GHz. Bluetooth merupakan chip
radio yang dirancang untuk menggantikan kabel.
2.3.2 Cara Kerja Bluetooth
Bluetooth device dibagi dua, yakni master
device dan slave device. Bluetooth mendukung tiga
jenis koneksi dalam membentuk jaringan, yakni:
point-to-point , piconet, dan scatternet. Dalam
operasinya, bluetooth device melakukan koneksi ke
dalam piconet. Piconet terdiri dari sebuah master device dan active slave device dengan jumlah
maksimum active slave device adalah 7. Kumpulan
dari beberapa piconet yang saling berhubungan
disebut scatternets. Bluetooth device mempunyai 4
basic states, yaitu: master (mengontrol sebuah
piconet), active slave (terhubung dan secara aktif
memonitor piconet), parked slave (secara logik
masih bagian dari piconet tetapi low power ), dan standby (tidak terhubung dengan piconet). Berikut
merupakan gambar sebuah node master piconetmenjadi node slave untuk piconet yang lain.
Gambar 2. Jaringan Piconet dan Scatternet
Bluetooth
Pada mulanya, bluetooth device hanya
mengetahui sekitarnya saja dan berada pada mode
standby, dalam mode ini bluetooth device dapat
mengurangi kekuatannya sekitar 98%. Inquirymerupakan proses bagaimana bluetooth device
mempelajari bluetooth device lainnya yang ada
dalam jangkauan. Selama proses inquiry, master device secara terus-menerus melakukan broadcast page command dengan menggunakan inquiry ID,
yang kemudian setiap standby device dalam
jangkauannya menerima inquiry page. Dengan
melakukan persetujuan, node-node ini akan
merespon dengan sebuah standar FHS packet yang
menyediakan BT ID yang unik clock offset -nya.
Setelah proses inquiry, dilanjutkan proses paging ,yakni akan dibangun hubungan antar device. Setelah
sebuah slave device membalas master device, maka
master device akan mengirim sebuah FHS packet
dan menetapkan sebagai Active Member Address
pada piconet.
2.3.3 Protokol Stack
Tidak seperti wireless standar yang lain,
spesifikasi bluetooth terdiri dari physical layer, link
layer, dan application layer yang mendukung data,
voice, dan aplikasi content -centric. Protokol stack
bluetooth dibagi menjadi dua bagian, yaitu:
Bluetooth controller yang biasa diimplementasikan
pada hardware, dan Bluetooth host yang
berhubungan dengan aplikasi dan layanan-layanan.
Berikut merupakan gambar yang merepresentasikan
protokol stack bluetooth [4].
3
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 4/14
Gambar 3. Bluetooth Stack
Bluetooth stack memiliki beberapa layer . HCI
merupakan layer yang memisahkan hardware dari
software dan mengimplementasikan sebagiannya pada software dan hardware. Layer di bawah HCI
mengimplementasikan hardware sedangkan layer di
atas HCI mengimplementasikan software. Tabel di
bawah akan dideskripsikan masing-masing layer.
Layer Deskripsi
Applications
Profile bluetooth yang
mengendalikan developer dalam
menentukan bagaimana sebuah
aplikasi harus menggunakan
protokol stack
TCS Menyediakan Telephony service
SDP
Digunakan untuk mencari service
yang disediakan pada remote
bluetooth device
WAP and
OBEX
Menyediakan interface pada bagian
layer yang lebih tinggi pada protokol
komunikasi yang lain
RFCOMM
Menyediakan keterhubungan melalui
bluetooth seperti standard serial
(COM) port.
L2CAP
Merupakan layer yang mengangani
packet segmentation and reassembly(SAR).
HCI Menangani komunikasi antara host dan bluetooth module
LMPMengontrol dan konfigurasi link kepada device lain
Baseband and
Link
Controller
Mengontrol akses dan mengirim
paket data ke media fisik yang
melewati bluetooth radio.
Radio
Bluetooth Radio merupakan layer
fisik yang menggunakan frequencyhopping spead spectrum untuk
memperkecil interferensi dari device
lain yang menggunakan band ini.
2.4 Java Programming
2.4.1 Object Oriented Programming
OOP (Object Oriented Programming)
merupakan metode pemrograman yang mencoba
melihat permasalahan lewat pengamatan dunia nyata
dimana setiap objek adalah entitas tunggal yang
memiliki kombinasi struktur data dan fungsitertentu. OOP memiliki beberapa konsep, yakni:
Encapsulation (pengkapsulan), Inheritance
(Pewarisan), dan Polymorphism.
Java adalah pemrograman yang berorientasi
pada objek, merupakan bahasa yang dapat
dijalankan dimanapun dan disembarang platform
apapun. The Java 2 Platform tersedia dalam tiga
edisi untuk keperluan berbeda, yaitu: Java 2
Standard Edition (J2SE), Java 2 Enterprise Edition
(J2EE), dan Java 2 Micro Edition (J2ME).
2.4.2 J2ME
Sun Microsystem telah mengembangkan
platform Java 2 Micro Edition (J2ME), sebuah
lingkungan Java yang diarahkan untuk sistem yang
kecil dengan resource yang terbatas. Adapun
arsitektur dari J2ME [8], seperti pada gambar di
bawah.
Gambar 4. Arsitektur Platform J2ME
Adapun komponen-komponen dari J2ME,
terdiri atas [7]:
• Java Virtual Machine (JVM), yang
digunakan untuk menjalan program-programJava pada emulator atau handheld device.
• Java API ( Application Programming Interface), merupakan kumpulan library untuk
menjalankan dan mengembangkan program
Java pada handheld device
• Tools lain untuk mengembangkan aplikasi
java, semacam emulator Java Phone, emulator
Motorolla
2.4.2.1 J2ME Configuration [7]
J2ME Configuration dirancang untuk
menyediakan librari standar yangmengimplementasikan fitur standar dari sebuah
handheld devices dikarenakan fitur dari setiap
4
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 5/14
handheld berbeda-beda. J2ME Configuration
mendefinisikan lingkungan kerja J2ME runtime
yang meliputi Java Virtual Machine yang digunakan
untuk menjalankan program Java. Sampai saat ini,
J2ME Configuration memiliki 2 kategori yakni:
CLDC (Connected Limited Device Configuration)
dan CDC (Connected Device Configuration)
2.4.2.2 J2ME Profile
J2ME Profile menyediakan implementasi-
implementasi tambahan yang sangat spesifik dari
sebuah handheld devices yang pada umumnya
sangat tergantung pada jenis perangkat handheld
yang digunakan. J2ME Profile memiliki lima
kategori, yakni: Mobile Information Device Profile
(MIDP), Foundation Profile, Personal Profile, RMI
Profile, dan Personal Digital Assistance Profile [7].
Namun, yang akan digunakan untuk tugas akhir ini
adalah MIDP. Seperti namanya, profile iniditargetkan pada perangkat mobile khususnya
mobile phone.
2.4.2.3 Java APIs For Bluetooth [4]
Java APIs for Bluetooth Wireless Technology
(JABWT) merupakan J2ME optional package yang
didefinisikan oleh Java Community Process (JSR-
82). Optional Package ini menyediakan API secara
umum untuk perkembangan bluetooth.
Gambar 5. Posisi JABWT pada
J2ME
Gambar di atas menunjukkan bahwa JABWT
beroperasi di atas CLDC dan dimaksudkan untuk
memberikan kemampuan pada profile seperti MIDP.
JABWT mendefinisikan dua package, yaitu
javax.bluetooth dan javax.obex.
Menggunakan Java APIs for bluetooth terdiri
dari inisialisasi stack bluetooth, menemukan device
atau layanan yang dekat, membuka dan menutup
serta menunggu koneksi, dan perform I/O. Berikut
merupakan gambar ilustrasi perbedaan operasi
bluetooth yang dapat digunakan.
Gambar 6. Menggunakan Bluetooth API
2.4.2.4 Mobile Media API (MMAPI)
Mobile Media API (MMAPI) merupakan
sebuah package yang mendukung aplikasi
multimedia pada perangkat J2ME, standar
spesifikasi java ini didefinisikan oleh Java
Community Process (JCP) pada JSR 135. MMAPI
menyediakan beberapa kemampuan multimedia
untuk perangkat mobile, diantaranya playing audiodan video, playback , merekam data audio dan video,
mengambil gambar, dan fitur yang lainnya.
Adapun MMAPI memiliki tiga buah
komponen utama, yaitu: player , control , dan
manager . Di bawah merupakan gambar keterkaitan
antara ketiga komponen tersebut.
Gambar 7. Arsitektur MMAPI
2.5 Arsitektur Sistem
Gambaran umum dari sistem yang akan
dibuat pada tugas akhir ini yakni seperti pada
gambar di bawah. Dalam hal ini, komputer berperan
sebagai server sedangkan handphone berperan
sebagai client dengan menggunakan wireless bluetooth sebagai koneksi antara server dan client .
Gambar 8. Gambaran Umum Sistem
Pada sisi server, server mem- publish semua
video yang akan di- streaming -kan ke client .Sedangkan pada sisi client, sebagai tahap awal,
melakukan koneksi terhadap server dan kemudian
mencari video-video yang disediakan oleh server yang kemudian meminta kepada server. Video
5
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 6/14
belum akan ditampilkan pada sisi client sebelum
server menyetujui terjadinya transmisi.
SERVER
Media Encoding
Protokol
Bluetooth Module
CLIENT
Media Decoding
Protokol
Bluetooth Module
Gambar 9. Arsitektur Sistem
Adapun urutan pengerjaan sejak client meminta
kepada server dan server setuju untuk melakukan
tranmisi yakni, dari sisi server melakukan encoding
guna meng-kompres video agar ukurannya dapat
diperkecil yang kemudian video yang dikompres
tersebut dibagi menjadi beberapa paket yang akan
dilewatkan melalui protokol (dalam hal ini
RFCOMM) dimana paket tersebut dipaketisasi dan
segmentasi. Kemudian paket yang disegmentasi
tersebut dikirim ke bluetooth module untuk
ditransmisikan. Pada sisi client , bluetooth module
menerima paket dari udara yang dikumpulkan
kembali pada layer protokol, dan mengirim paket-
paket tersebut ke encoder untuk di dekompres.
3 Analisa Dan Perancangan
3.1 Analisa Sistem
Sesuai dengan judul dari Tugas Akhir ini
yakni “Pembangunan Aplikasi Video Streaming
Pada Handset Melalui Teknologi Bluetooth”, maka
dalam tugas akhir ini akan dibangun sebuah aplikasi
video streaming yang akan dimainkan pada handset
dalam hal ini handphone yang bertindak sebagai
client, yang akan meminta sebuah streaming videokepada server yang menyediakan beberapa video
yang dapat dimainkan. Adapun teknologi yang akan
digunakan untuk menghubungkan serta
mengirimkan data antara server dan client adalah
dengan menggunakan teknologi bluetooth.
3.1.1 Analisa Kebutuhan Sistem
3.1.1.1 Perangkat Lunak
Perangkat lunak yang dibutuhkan untuk
menjalankan aplikasi adalah sebagai berikut:
• Sistem Operasi Windows XP SP 2
• Netbeans 4.1 dan Netbeans_mobility 4.1
• Blue Manager Software dan Switch driver-
nya
• Nokia Multimedia Converter Pro v 2.0b
• Package bluetooth stack BlueCoveWinXPdan BlueCove-20050514.jar
3.1.1.2 Perangkat Keras
Perangkat keras yang dibutuhkan untuk
menjalankan aplikasi adalah sebagai berikut:
• Komputer yang bertindak sebagai server
dan media penyimpanan video yang akandimainkan
• Handphone (Nokia 6600) yang memiliki
fitur bluetooth serta support untuk menjalankan
video
• Bluetooth dongle yang akan ditanamkan
pada komputer server
3.1.2 Analisa Input dan Output
3.1.2.1 Sistem Input
Input berupa request video yang disediakan
oleh server untuk dimainkan pada client
3.1.2.2 Sistem Output
Output berupa tampilan video streaming
berformat 3gp yang diminta client.
3.1.3 Analisa User
User yang terlibat pada sistem, yakni:
• Client yang memiliki handphone dan
bermaksud untuk menikmati video streaming
dari handphone
• Administrator sistem, yang bertugas
mengendalikan sistem pada server
3.2 Perancangan Sistem
Pada tahap perancangan akan digunakan
notasi UML dengan metode object oriented. UML
adalah bahasa atau alat bantu untuk
memvisualisasikan, menspesifikasikan,
mengkonstruksikan, dan mendokumentasikan
artifak-artifak sistem perangkat lunak [6].
3.2.1 Use Case Diagram
Use case diagram digunakan untuk
menjelaskan subset dari kelakuan sistem, yang
diorganisasi ke dalam kumpulan transaksi atau
interaksi saat menanggapi initial event [6].
6
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 7/14
Client
Server Connect
Request
<<inc
lude>>
Gambar 10. Diagram Use Case
3.2.2 Class Diagram
Memperlihatkan kumpulan kelas, antarmuka,
dan kerja sama serta hubungan satu sama lainnya
antar setiap kelas [6]. [Terlampir]
3.2.3 Sequence Diagram
Sequence diagram digunakan untuk
menyatakan keseluruhan rincian skenario dan pesan
yang mengalir diantara objek-objek setiap saat [6].
3.2.3.1 Proses Connect
[Terlampir]
3.2.3.2 Proses Request
[Terlampir]
3.2.4 Activity Diagram
Activity diagram digunakan untuk
menyatakan semantik dari setiap metode pada
model-model fungsional [6]. [Terlampir]
4 IMPLEMENTASI DAN ANALISA
4.1 Implementasi
Implementasi dari tugas akhir ini merupakan
bentuk nyata dari perancangan yang telah dibuat.Baik pada sisi server maupun sisi client, keduanya
menggunakan bahasa pemrograman java. Yakni
J2SE (jdk-1_5_0_01-windows-i586-p) untuk sistem
server yang merupakan aplikasi pada PC dan J2ME
(j2me_wireless_toolkit-2_2-windows) untuk sistem
client yang merupakan aplikasi mobile. Adapun
jaringan yang digunakan untuk menghubungkan
antara server dan client, yakni dengan menggunakan
teknologi wireless bluetooth.
4.1.1 Sistem Server
Dalam membangun sistem server diperlukan
sistem operasi Windows XP Service Pack 2,
dikarenakan sampai saat ini yang mendukung
adanya bluetooth stack (yang akan diperlukan dalam
membangun hubungan melalui bluetooth) yakni
Windows XP SP 2. Sedangkan peralatan tambahan
yang diperlukan adalah sebuah device bluetooth,
dalam tugas akhir ini penulis menggunakan
bluetooth dongle sebagai device blueooth, untuk itudiperlukan driver dari bluetooth tersebut ( Blue
Manager ). Antara Blue Manager dan Windows XP
SP 2, dapat exist pada sistem dalam waktu yang
bersamaan, namun hanya satu driver saja yang dapat
digunakan pada satu waktu, untuk itu diperlukan
sebuah aplikasi/instaler berupa switch driver untuk
mengganti driver. Untuk sebuah sistem server yang
akan koneksi melalui bluetooth, maka diperlukan
sebuah package bluetooth, dalam tugas akhir ini
penulis menggunakan “BluecoveWinXP”. Dari tiga
buah protokol yang tersedia pada bluetooth, yakni
RFCOMM (btspp), L2CAP (btl2cap), dan OBEX
(btgoep), penulis menggunakan protokol RFCOMM.Protokol RFCOMM merupakan protokol yang
paling bagus dalam hal mengirim dan menerima
stream data.
Pada sistem server akan dilakukan
pengaktifan bluetooth agar dikenali oleh client, dan
akan mem-publish video yang nantinya dapat
dimainkan oleh client. Server akan menunggu
hingga client melakukan koneksi kepada server,
setelah client me-request video, server melakukan
proses encoding data video yakni dengan
membaginya menjadi beberapa paket yang
kemudian tiap paket tersebut dikirim secara
berurutan ke client.Berikut merupakan contoh tampilan dari
sistem server:
Gambar 11. Sistem server
4.1.2 Sistem Client
Client akan melakukan beberapa tahapan
proses sebelum benar-benar dapat menikmati video.
Tahap pertama, client diminta untuk mengaktifkan
bluetooth yang tersedia pada mobile device (dalam
tugas akhir ini digunakan Nokia 6600), pada tahapini sistem akan mencari device yang berada di
sekelilingnya. Setelah ditemukan device yang berada
7
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 8/14
disekelilingnya, kemungkinan device lain (selain
server) akan ditemukan, untuk itu client harus benar-
benar mengetahui nama device dari server yang
menyediakan video. Jika client telah mengetahui
nama device server, kemudian client melakukan
koneksi kepada server. Setelah terjadi koneksi, client
akan diperlihatkan list video yang dapat dipilihclient untuk dinikmati. Mobile device akan
menampilkan video streaming setelah client memilih
salah satu video yang disediakan server. Di bawah
merupakan contoh tampilan video:
Gambar 12. Video Streaming pada
client
4.2 Analisa
Pengujian dilakukan dengan menggunakan
personal computer seperti yang telah
dispesifikasikan pada BAB III, sebuah device
bluetooth dongle, sebuah handphone N6600, dan
sebuah stopwatch. Dalam pengujian ini akandianalisa efektivitas berjalannya video streaming ,yaitu dengan mengadakan perubahan dari beberapa
streaming setting , serta akan dianalisa dengan
menggunakan dua buah aplikasi server yang berbeda
dengan aplikasi client yang sama.
4.2.1 Pengujian berdasarkan streaming setting
Pengujian dilakukan sebanyak 36 kali,
berdasarkan tiga video yang masing-masing video
dilakukan pengujian sebanyak empat kali dengan
streaming setting yang berbeda-beda, dan setiap
streaming setting yang sama akan dilakukan pengujian sebanyak tiga kali.
Dari beberapa pengujian di atas, dapat
diambil beberapa kesimpulan, yakni:
• Untuk video yang memiliki ChunkSize
yang sama memiliki kecenderungan waktu
Encode yang sama, hal itu dikarenakan
encoding data yang diproses pada sisi server di-
execute pada jumlah dan ukuran video yang
sama.
• Hasil dari video yang di streaming kan,
untuk setiap video dengan streaming setting
yang berbeda-beda akan memiliki kualitas videoyang berbeda pula, terutama disebabkan karena
jumlah PacketSize yang berbeda. PacketSize
yang lebih besar akan menghasilkan kualitas
video yang semakin bagus, hal itu dikarenakan
pada PacketSize yang lebih kecil, akan
dilakukan transmisi data yang lebih sering atau
lebih banyak dari PacketSize yang lebih besar,
sehingga kemungkinan untuk terjadi packet loss
akan lebih sering sehingga akan mengakibatkanrusaknya data video yang sampai pada client.
Perbedaan lain dari video yang di streaming kan
adalah delay waktu dari masing-masing
streaming setting , tepatnya pada ChunkSize
yang berbeda-beda. Dengan ChunkSize yang
semakin besar, maka waktu delay akan semakin
lama, namun waktu akses nya akan semakin
cepat, dikarenakan ChunkSize yang berbanding
lurus dengan durasi video yang ditampilkan.
• Dari semua pengujian yang telah dilakukan,
untuk memainkan sebuah video dibutuhkan
waktu yang lebih lama dari waktu yang
sebenarnya. Sedangkan dari data-data yangtelah didapat, maka streaming setting yang
paling efektif untuk digunakan adalah pada
ChunkSize 7 Kbyte dan PacketSize 1000 Byte,
yakni berdasarkan waktu untuk mengakses
video yang cenderung stabil, kualitas dari video
yang ditampilkan, serta berdasarkan waktu
delay saat video di streaming kan pada client
dengan ChunkSize 7 Kbyte akan membutuhkan
waktu delay yang lebih sedikit dibandingkan
dengan ChunkSize yang lebih besar dari 7
Kbyte.
4.2.2 Pengujian dengan aplikasi server yangberbeda
Pengujian yang dimaksud adalah, dengan
membuat dua buah aplikasi server untuk melihat
keefektifan waktu bagi client dalam memainkan
video streaming . Dua buah aplikasi server tersebut,
dinamakan masing-masing “Aplikasi Server
Bluetooth Online”, dan “Aplikasi Server Bluetooth
Offline”. Yang dimaksud online yakni, sesuai
dengan konsep dari streaming tersebut yaitu dari
server akan meng-encode video yang di-request oleh
client pada saat itu juga, sehingga client diharuskan
menunggu dalam waktu yang cukup lama untuk bisa
menikmati video streaming dikarenakan encoding
video tersebut. Namun sebaliknya, yang dimaksud
offline yakni, data encoding video merupakan
sebuah data yang memang sudah ada pada server,
sehingga ketika client me-request video, server akan
merespon dengan tanpa melakukan proses encoding
data, sehingga akan dibutuhkan waktu yang lebih
cepat untuk client bisa menikmati video streaming .
• Dengan dilakukan percobaan terhadap dua
buah video dengan content data yang sama
namun dengan ekstention yang berbeda
yakni .mpg pada video pertama dan .avi padavideo kedua, sehingga menyebabkan ukuran file
video yang berbeda, dengan durasi dan ukuran
8
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 9/14
yang sama, ternyata memiliki waktu encode
yang berbeda namun tidak memiliki perbedaan
yang sangat signifikan.
• Perbedaan waktu antara server online
dengan server offline terlihat cukup signifikan,
hal itu dikarenakan pada server offline tidak
diperlukan waktu untuk melakukan prosesencoding data. Sehingga dapat diambil
kesimpulan bahwa perbedaan waktu akses dari
masing-masing server adalah merupakan waktuencoding data.
• Dari segi kapasitas ruang harddisk dari
masing-masing server, offline adalah lebih baik,
karena pada offline hanya diperlukan sebuah
tempat khusus secara permanen untuk
menyimpan data encoding video tanpa perlu
menyimpan video original , dan data encoding
video tersebut memiliki kapasitas data yang
jauh lebih kecil dibandingkan dengan video
original -nya. Sedangkan pada server online,diperlukan data video original yang memiliki
kapasitas data yang cukup besar.
5 Kesimpulan dan Saran
5.1 Kesimpulan
Kesimpulan sementara yang didapat dari tugas
akhir ini yaitu:
• Delay yang terjadi pada saat video
dimainkan pada sisi client, dipengaruhi oleh
beberapa faktor, yakni: ukuran data packet,
ukuran slice video, performansi sistem pada
server dan device yang digunakan.
• Streaming setting yang paling efektif untuk
menjalankan video streaming adalah dengan
ChunkSize sebesar 7 Kbyte dan PacketSize
1000 byte.
5.2 Saran
• Dapat dibuat sebuah database tersendiri
untuk video yang dapat di publish oleh server
sehingga tidak terbatas hanya tiga video
• Sistem server tidak hanya dapat menangani
video on-demand saja, tetapi juga video real time yakni sebuah video yang secara langsung
sedang direkam dan sekaligus dapat dimainkan
secara streaming oleh client.
Daftar Pustaka:
[1] Apostolopoulos, John G. Wai- tian Tan. Susie
J. Wee. 2002. Video Streaming: Concepts, Algorithms, and Systems. USA.
[2] Bluetooth.http://ensiklomedia.insan.co.id/b/bl
uetooth.htm
[3] Donny B.U., M.Si. 2002. Streaming:
Membuat File Besar Serasa Kecil .http://bebas.vlsm.org/
[4] Klingsheim, Andre N. 2004. J2ME Bluetooth
Programming . Universitas Bergensis.
[5] Sony Ericsson. 2004. Developing
Applications with The Java APIs for BluetoothTM (JSR-82).
[6] Sony Ericsson. 2005. Video Streaming and Playback. www.SoniEricsson.com
[7] Suharto, Toto. 2000. Modul Kuliah Analisisdan Perancangan Berorientasi Objek .
[8] Susanto, Tri. 2001. BLUETOOTH: Teknologi
Komunikasi Wireless untuk LayananMultimedia dengan Jangkauan Terbatashttp://www.elektroindonesia.com/elektro/khu
36.html
[9] Wicaksono, Aby. 2002. Pemrograman
Aplikasi Wireless dengan Java. Jakarta: PT.
Elexmedia Komputindo.
[10] Williams, Benjamin. 2002. Java Application for a Bluetooth Platform. The University of
Queensland.
[11] Xiaohang, Wang. Video Streaming Over
Bluetooth: A Survey. Institute for Infocomm
Research (I2R).
[12] Yulia. Leo Willyanto Santoso. 2004. Studi
dan Uji Coba Teknologi Bluetooth Sebagai
Alternatif Komunikasi Data Nirkabel.
9
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 10/14
Lampiran
VideoPlayer
midlet : ClientMidlet
player : Player
pending : Boolean
pause : Command
VideoPlayer()
showNotify()
paint()
commandAction()
playerUpdate()
stop()
prepare()
play()
discardPlayer()
ClientMidlet
videoPlayer : VideoPlayer
ok : Command
exit : Command
searchDev : Comma nd
selectDev : Command
selectVid : Command
stop : Command
back : Command
textBox : TextBox
li st : Li st
pil : Integer
timeOut : Integer
filePlay : BytevideoList : Vector
ClientMidlet()
informasiError()
showVideoList()
showVideo()
displayPlayer()
startApp()
pauseApp()
destroyApp()
commandAction()
NetClient
parent : ClientMidlet
clientThread : T hreadlocalDevice : LocalDevice
discoveryAgent : DiscoveryAgent
uuid : UUID
searchList : UUID[]
deviceList : Vector
records : Vector
attrID : Integer
url : String
isClosed : Bo olean
isFinished : Boolean
nameVideo2Play : String
selectDevice : Integer
buffer : ByteArrayOutputStream
head : Byte
chunkSize : Integer
packetSize : Integer
startPlay : Boolean
statusPlayer : Boolean
netCient()
startInquiry()
requestDev()
inisialisasiStream()
startPlay()
destroy()
requestLoad()
deviceDiscovered()
inquiryCompleted()
serviceDiscovered()
serviceSearchCompleted()
loadVideo()
getHeader()
hexToInt()
receiveListVideo()
Gambar 13. Diagram Class Client
1
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 11/14
ServerFrame
published : Boolean
jumItem : Integer
count : Integer
videoNames : Vector
namePublish : Vector
durationFilm : Integer durationChunk : Integer
chunkSize : Integer
packetSize : Integer
loop : Long
fileName : String
videoList : String
dataFile : Byte
ServerFrame()
main()
log()
getVideoName()
getName()
initComponent()
removeVideo()
publishVideo()
clearConsole()startServer()
exit()
StreamGobbler
is : InputStream
type : String
streamGobbler()
run()
EncodeVideo
streamGobbler : StreamGobbler
sliceExecute : SliceExecute
MMCstatus : Bool ean
parent : ServerFrame
mulai()
selectSlice()
SliceExecute
SliceExecute()
ProsesClient
antrian : Vector
isOK : Boolean
ProsesClient()
run()
addConnection()
destroy()
Flag
dataD : Double
timeline : Integer
offset : In teger
Flag()
getFlag()
repleceTo3Hex()
NetServer
parent : S erverFrame
encodeVideo : EncodeVideo
prosesor : ProsesClient
uuid : UUID
notifier : StreamConnectionNotifier serviceRecord : ServiceRecord
isClosed : Boolean
serviceTelephony : Integer
attrID : Integer
serverThread : Thread
dataElement : Hashtable
url : String
LOOP : Integer
NetServer()
aktif()
nonAktif()
run()
destroy()
changeVideoInfo()
sendVideoName()
processConnection()
sendVideo()
readVideoName()
Gambar 14. Diagram Class Server
2
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 12/14
: Server
: ServerFrame : Cl ientMidlet: Client
initComponent( )
mainMenu()
tampilMidlet()
startServer()
publishVideo()updateRecord()
removeVideo()startClient()
searchDevice()
selectDevice()connect()
acceptAmdOpen()
sendVideoList() recieveVideoList()
Gambar 15. Sequence Diagram Proses Connect
3
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 13/14
: EncodeVideo : NetServer : NetClient : ClientMidlet : Client
selectVideo()requestVideo()sendVideoName()mulaiEncode()
selectSlice()
sendDataVideo()
prosesDecode()
startPlay() videoPlay()
stop()
sendMassageToPlay() viewQuery()play()
Gambar 16. Sequence Diagram Proses Request
4
5/11/2018 Jurnal-Sidang - slidepdf.com
http://slidepdf.com/reader/full/jurnal-sidang 14/14
Start
End
no
Activate
Bluetooth?
Receive
VideoList
Select
VideoName
no
Playing
VideoStreaming
Stop
Playing
startInquiry()
Mencari deviceyes
Select
Device?
no
Connection
Open
yes
Send
VideoNameyes
Receive
DataVideo
Bluetooth
Active
Connection
AccepAndOpen
Send
VideoList
Call
EncodeVideo
Send
DataVideo
Start
EncodingVideo
Finished
EncodingVideo
Decoding
Video
Encoding : EncodeVideoNetServer : NetServer NetClient : NetClientClient Application
Gambar 17. Activity Diagram
5