jurnal-sidang

15
 PEMBANGUNAN APLIKASI VIDEO STREAMING PADA HANDSET MELALUI TEKNOLOGI BLUETOOTH Nidaul Husna 1 , Eddy Muntina Darma 2 , Fazmah Arif Yulianto 3  Jurusan Teknik Informatika Sekolah Tinggi Teknologi Telkom, Bandung [email protected] 1 , [email protected] 2 , fay@ stelkom. co.id 3  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 ke se luruhan dari fi le untuk dapat di li hat dan di ni kmat i. Bl uetoot h ada lah cara ber komunikas i ant ar per alatan deng an menggunak an sin yal radio jar ak dek at dengan jangka uan mencapai 100 meter, serta mempunyai kecepatan maksimum 1 Mbps. Dengan kemampuan bluetooth tersebut serta si fatny a yang  free, maka pe nulis membang un apl ikasi video stre aming 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 efek tif untuk menjalanka n aplik asi video stre aming pada handset adalah denga n menggunakan Chunk Size 7 Kbyte dan Pack etSize 1000 byte. Dimana ChunkS ize merupaka n ukura n packe t 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 contin ually without interrupt . So, video stre aming can be defined as video that playing continually , without downloading all file to be look and enjoyable. Bluetooth is the method of communication between dev ice s that use short- range rad io sig nal wit h range can ach ieve unt il 100 met ers , and maximum bandwidth is 1 Mbps. Bec aus e of that and als o free charge , writer develo ped an application video streaming over bluetooth technology. At this final projec t was developed two applic ation base d of Java progr amming, ther e 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. Aft erwards, it was analiz ed per for mance of sys tem, and it was res ult that streaming set ting which effective for this video streaming applic ation is used ChunkSi ze 7 Kbyte and PacketSiz e 1000 byte. Chu nkSize is pac ket size that is par tit ion fro m the ori ginal video, and Packe tSiz e is dat a that is transmitted from server side to client side.  Keyword: video streaming, bluetooth, handset, J2ME 1 Pendahuluan 1. 1 Latar Bel akang Per kemban gan teknol ogi ca nggih semaki n cepat dan pengguna teknologi canggih pun semakin  bany ak. Handp hone tidak hanya digun akan untuk melakukan panggilan atau menerima panggilan dan me ngirim pe sa n atau me ne ri ma pe san sa ja , mel ainkan bis a diguna kan unt uk men den gar kan radio serta melakukan koneks i inter net kapan pun dan dimana pun. Bahkan video streaming pun sudah dapat dinikmati oleh pengguna handphone, berbagai operator selular baik GSM maupun CDMA saling  berl omba-l omba dalam mempr omosik an layan an- layanan yang disediakan. Namun, untuk menikmati layanan video streaming tersebut masih dikenai tarif yan g cuk up mahal, maka pen uli s ber har ap dap at menikmati video stre aming tanpa dipungut biaya . Untuk itu, penulis berupaya untuk dapat membuat suatu aplikasi video streaming dimana si pengguna tidak perlu mengeluarkan biaya untuk  me ni kmatinya , ya kn i de ngan me ma nf aa tkan tek nol ogi yan g sudah ada pad a han dph one yai tu  bluetooth. Bluetooth adalah sebuah teknologi komunikasi wirel ess (tanpa kabel ) yang beropera si dalam pita fr ekue nsi 2, 4 GHz unlicensed ISM (  Industrial , 1

Upload: trisna-abunk

Post on 11-Jul-2015

120 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jurnal-Sidang

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

Page 2: Jurnal-Sidang

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

Page 3: Jurnal-Sidang

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

Page 4: Jurnal-Sidang

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

Page 5: Jurnal-Sidang

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

Page 6: Jurnal-Sidang

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

Page 7: Jurnal-Sidang

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

Page 8: Jurnal-Sidang

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

Page 9: Jurnal-Sidang

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

Page 10: Jurnal-Sidang

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

Page 11: Jurnal-Sidang

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

Page 12: Jurnal-Sidang

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

Page 13: Jurnal-Sidang

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

Page 14: Jurnal-Sidang

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