BAB II TINJAUAN PUSTAKA Ponsel sebagai mobile presentation berbasis bluetooth merupakan aplikasi yang sangat menarik untuk dibahas dan diimplementasikan. Untuk memahami aplikasi ini dengan baik, tentunya konsep-konsep dan teknologi-teknologi yang menunjang perlu dikuasai dengan baik pula. Beberapa diantaranya yang dibahas pada bab ini, adalah teknologi Bluetooth yang memungkinkan fitur komunikasi nirkabel dapat dilakukan, J2SE sebagai salah satu varian teknologi Java, Visual Studio 6 merupakan bahasa C sekaligus bahasa pemrograman yang digunakan untuk membuat aplikasi. 2.1 Teknologi Bluetooth Bluetooth adalah sebuah teknologi komunikasi wireless (tanpa kabel) yang beroperasi dalam pita frekuensi 2,4 GHz unlicensed ISM (Industrial, 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. Dalam perkembangan berikutnya pertumbuhan teknologi tersebut menjadi solusi bagi jaringan nirkabel untuk jarak pendek. Teknik frekuensi hopping yang digunakan oleh Bluetooth dapat meminimalkan interferensi. Hal ini sangat dibutuhkan dalam pemanfaatan lSM Band karena banyak sekali produk yang menggunakan frekuensi ini. Teknologi Bluetooth mendukung komunikasi data dan suara. Oleh karena itu membuat Bluetooth dapat bersaing dengan jenis-jenis teknologi lain yang hanya mendukung satu jenis komunikasi saja. Modul Bluetooth atau chip berbentuk kecil, tahan terhadap interferensi dan hanya menggunakan daya yang kecil. Keunggulan ini membuat Bluetooth menjadi solusi yang ideal untuk perangkat portable wireless seperti Personal Data Assistants (PDAs), headset dan sebagainya. Karena memiliki daya keluaran yang rendah dibandingkan telepon bergerak menyebabkan Bluetooth dapai berkomunikasi tanpa mengakibatkan radiasi yang disebabkan frekuensi radio. Teknologi Bluetooth merupakan standar terbuka sehingga dapat membuat pengembangan manufaktur akan lebih atraktif dan dapat saling berhubungan antara satu dengan yang lainnya. 5
2.2.1 Arsitektur Bluetooth Agar peralatan-peralatan Bluetooth dari berbagai vendor dapat berkomunikasi satu sama lain, maka tidaklah cukup dengan hanya menspesifikasikan sistem radio. Oleh karena itu, spesifikasi Bluetooth memuat protocol stack yang lengkap untuk memastikan berbagai peralatan Bluetooth dapat saling mencari (inquiry), mengeksplorasi layanan yang disediakan, dan berkomunikasi satu sama lain[4]. Bluetooth protocol stack terdiri dari beberapa layer, seperti pada Gambar 2.1.
Gambar 2.1 Bluetooth Protocol Stack Bluetooth terdiri dari sebuah unit radio, link control unit dan unit pendukung untuk link management dan fungsi hubungan antar muka host terminal. Bluetooth beroperasi di 2,4 GHz ISM Band. Jangkauan bluetooth dari 10 cm sampai 100 m tergantung pada daya pengirim di antena. Berdasarkan kelas tiap-tiap perangkat, bluetooth dapat mentransmisikan daya lebih dari 100 mW (20dBm) sampai minimum sebesar 1 mW (0 dBm). Host Controller Interface (HCL) merupakan layer yang memisahkan perangkat keras dari perangkat lunak dan diimplementasikan sebagian dalam bentuk perangkat keras dan perangkat lunak. Layer bagian atas HCL umumnya diimplementasikan dalam bentuk perangkat lunak dan layer bagian bawah HCL umumnya diimplementasikan dalam bentuk perangkat keras[7] . Berikut ini Tabel 2.1 menjelaskan layer-layer Bluetooth Protocol Stack. 6
Tabel 2.1 Penjelasan Layer Bluetooth Protocol Stack Layer
Penjelasan
Bluetooth Radio
Layer ini berfungsi melakukan modulasi dan demodulasi data untuk keperluan komunikasi.
Baseband
Layer ini berfungsi mengatur koneksi fisik (flow control dan error correction) dan sinkronisasi frequency hopping. Layer baseband mengatur koneksi Synchronous Connection-Oriented (SCO) untuk audio dan Asynchoronous Connectionless (ACL) untuk data.
Link Manager
Layer ini berfungsi mengatur dan mengkonfigurasi koneksi ke peralatan Bluetooth lain (termasuk otentikasi dan enkripsi).
HCL
Layer ini berfungsi mengatur antara host dengan modul Bluetooth..
L2CAP
Layer ini berfungsi melakukan multiplexing, reassembly dan segmentasi paket.
SDP
Layer ini berfungsi untuk melakukan pencarian layanan pada peralatan Bluetooth lain.
RFCOMM
Layer ini berfungsi sebagai antarmuka serial, seperti halnya RS-232.
OBEX
Layer ini berfungsi menyediakan fasilitas transfer obyek atau file
TCS BIN
Layer ini berfungsi menyediakan call control signaling untuk panggilan suara dan data antara peralatan Bluetooth.
PPP, IP, TCP
Layer-layer ini digunakan untuk keperluan koneksi ke Internet
AT Command
Layer ini digunakan untuk mengontrol telepon atau modem
7
Bluetooth radio menggunakan Frequency Hopping Spread Spectrum (FHSS) untuk meminimalisasi terjadinya interferensi dan fading[4]. Pada FHSS setiap paket data ditransmisikan pada frekuensi yang berbeda-beda. Pada dasarnya setiap paket menempati satu slot frekuensi tertentu selama 625 μs terlihat pada Gambar 2.2. Namun dapat pula setiap paket selama 3 atau 5 slot menggunakan frekuensi yang sama.
625
s
f(k)
f(k+1)
220
f(k+2)
f(k+3)
f(k+4)
f(k+5)
f(k+6)
s f(k)
f(k+3)
f(k+4)
f(k)
f(k+5)
f(k+6)
Gambar 2.2 Alokasi slot frequency hopping[4] Dalam time slot, server dan client dapat mentransmisikan paket-paket dengan menggunakan skema Time Division Duplex (TDD).
Server hanya memulai
melakukan pentransmisiannya pada nomor time slot genap saja sedangkan client hanya memulai melakukan pentransmisiannya pada nomor time slot ganjil saja. Tipe koneksi dalam Bluetooth terdiri dari ACL dan SCO. ACL digunakan untuk transmisi data baik simetris maupun asimetris dan merupakan tipe koneksi packetswitched. Sedangkan SCO digunakan untuk transmisi suara simetris dan merupakan tipe koneksi circuit switched. Dalam penelitian tesis ini pembahasan tipe koneksi difokuskan pada ACL.
8
Struktur paket data Bluetooth, seperti terlihat dalam Gambar 2.3 terdiri dari 68 atau 72 bit access code, 54 bit header, dan 0-2745 bit payload. Saat melakukan komunikasi IM tipe koneksi ACL membutuhkan ketiga elemen tersebut.
68/72
Access Code
54
0-2745
Packet Header
Payload
Preamble
Sync Word
Trailer
4
64
4
Member Packet Flow ARQN Address Type Control 3
4
1
1
SEQN
HEC
FEC
1
8
36
Gambar 2.3 Stuktur paket data Bluetooth[1] . Untuk menentukan data yang ditransmisi benar atau tidak, dalam Bluetooth terdapat 3 cara, yaitu : a. Automatic Repeat Request (ARQ), untuk mentransmisi ulang Payload secara otomatis bila penerima tidak mengirimkan pemberitahuan (acknowledgement) yang disertakan dalam Header Paket kembalian; b. Forward
Error
Correction (FEC),
digunakan Packet
Header
dengan
menambahkan check bit dapat pula digunakan pada Payload; c. Cyclic Redundancy Check (CRC), digunakan untuk memeriksa apakah isi Payload benar. 2.2.2 Bluetooth Profile Bluetooth profile digunakan untuk menjamin interoperabilitas dan konsistensi berbagai peralatan Bluetooth. Profil menyediakan fungsi-fungsi dan fitur-fitur spesifik yang menggunakan Bluetooth sebagai mekanisme transmisi (lihat Gambar 2.4). Penjelasan Bluetooth Profile dapat dilihat pada Tabel 2.2. 9
Gambar 2.4 Bluetooth Profile[3] .
Tabel 2.2 Penjelasan Bluetooth Profile
Profile
Penjelasan
Generic Access Profile (GAP)
Profile ini merupakan basis bagi semua profile di dalam sistem Bluetooth dan mendefinisikan fungsionalitas dasar, seperti prosedur koneksi, device discovery, link management, dan prosedur security.
Service Discovery Application Profile (SDAP)
Profile ini mendefinisikan fitur dan prosedur bagi aplikasi di peralatan Bluetooth untuk menemukan layanan yang terdaftar di peralatan lain dan mendapatkan informasi yang berhubungan dengan layanan tersebut.
Cordless Telephony Profile
Profile ini memungkinkan peralatan Bluetooth berperan sebagi telepon seluler untuk berkomunikasi dengan PSTN melalui titik akses Bluetooth.
Intercom Profile
Profile ini menangani komunikasi suara dua arah di
10
Profile
Penjelasan antara peralatan-peralatan Bluetooth.
Serial Port Profile (SPP)
Profile ini memungkinkan peralatan Bluetooth mengemulasi port-port serial PC menggunakan protokol RFCOMM
Fax Profile
Profile ini mendefinisikan fungsionalitas untuk menggunakan peralatan Bluetooth sebagai fax gateway
Dial-up Networking Profile
Profile ini mendefinisikan fungsionalitas untuk menggunakan peralatan Bluetooth sebagai dial-up networking gateway.
Headset Profile
Profile ini mendefinisikan fungsionalitas yang diperlukan untuk melakukan transfer audio, misalnya dengan headset Bluetooth nirkabel.
LAN Access Profile
Profile ini mendefinisikan fungsionalitas untuk menggunakan peralatan Bluetooth sebagani LAN Access Point.
Generic Object Exchange Profile (GOEP)
Profile ini menyediakan dukungan bagi protokol OBEX melalui media Bluetooth.
Object Push Profile
Profile ini mendefinisikan fungsionalitas untuk mengatur pertukaran obyek dalam format vCard atau vCalender berdasarkan GOEP.
File Transfer Profile
Profile ini mendefinisikan fungsionalitas untuk melakukan navigasi folder dan manipulasi file atau folder pada peralatan Bluetooth berdasarkan GEP.
Synchronization Profile
Profile ini mendefinisikan fungsionalitas untuk melakukan sinkronisasi data antara peralatan Bluetooth berdasarkan GOEP.
11
2.3 Keunggulan dan Kekurangan Bluetooth Bluetooth merupakan teknologi wireless jarak pendek tentulah memiliki beberapa keunggulan dan kekurangan. 2.3.1 Keunggulan Bluetooth Bluetooth beroperasi pada spektrum frekuensi bebas yang disebut Industrial, Scientific, Medicine (ISM) band yang memungkinkan Bluetooth beroperasi di seluruh dunia tanpa pembelian izin atau pembayaran royalti. Teknik frekuensi hopping yang digunakan Bluetooth membuatnya tahan terhadap interferensi. Hal tersebut diperlukan pada band ISM karena banyak produk lain yang beroperasi pada band tersebut. Modul atau chip Bluetooth sangat kecil, tahan terhadap interferensi dan hanya mengkonsumsi daya yang kecil. Hal tersebut membuat Bluetooth menjadi solusi yang ideal untuk portable wireless device seperti PDA, headset, dan lain-lain. Karena daya keluaran yang jauh lebih kecil dari telepon bergerak membuat Bluetooth dapat digunakan untuk komunikasi secara wireless tanpa menimbulkan bahaya radiasi RF. Bluetooth merupakan open standard, yang membuatnya menarik bagi banyak perusahaan manufaktur, dan bersamanya terdapat program kualifikasi yang ketat untuk memastikan interoperabilitasnya antara device dari jenis dan manufaktur yang berbeda. 2.3.2 Kekurangan Bluetooth Standar Bluetooth memiliki jangkauan default sekitar 10 meter, meskipun dapat diperluas hingga 100 meter namun tetaplah jangkauannya masih lebih pendek dibandingkan solusi wireless lainnya kecuali inframerah. Bandwidth Bluetooth sebesar 1 MHz untuk setiap channel tentunya tidaklah cukup untuk aplikasi video dan multimedia lainnya
12
2.4 J2ME, Java 2 Micro Edition Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhirakhir ini. Teknologi Java yang pada awalnya dikenal untuk aplikasi pada desktop (J2SE) ataupun pada application server (J2EE), kini hadir dengan teknologi terbarunya, J2ME™ Platform, untuk pembangunan aplikasi pada mobile device seperti mobile phone dan PDA. Selain J2ME™ Platform yang termasuk baru, terdapat pula satu buah platform teknologi Java yang termasuk baru pula yaitu Java Card. Java Card merupakan suatu platform untuk membangun aplikasi pada sebuah card electronic seperti SIM Card pada ponsel kita. SIM Card yang dipergunakan oleh Mobile Banking BCA (layanan operator selular Excelcomindo) menjadi salah satu contoh dari teknologi Java Card. Teknologi Java saat ini terbagi atas 4 kuadran utama, yaitu Java 2 Enterprise Edition (J2EE) yang difokuskan ke aplikasi distribusi, Java 2 Standar Edition (J2SE) yang difokuskan ke aplikasi stand-alone, Java 2 Micro Edition (J2ME) yang difokuskan ke aplikasi seluler, dan Java card yang difokuskan ke aplikasi smart card 2.4.1 Arsitektur J2ME J2ME terbagi atas configuration, profile, dan optional API, yang menyediakan informasi spesifik mengenai API dan peralatan[6]. Configuration didisain khusus untuk suatu peralatan berdasarkan pertimbangan kapasitas memori, daya dan kecepatan processor. Configuration menspesifikasikan Java Virtual Machine (JVM), subset API dari J2SE, dan optional API yang akan digunakan pada platform J2ME. Profile merupakan layer di atas configuration yang menspesifikasikan API yang lebih spesifik ke peralatan dibanding configuration, seperti API untuk user interface dan persistent storage. Optional API mendefinisikan fungsionalitas tambahan yang dapat disertakan ke platform J2ME. Arsitektur J2ME (stack) secara umum dapat dilihat pada Gambar 2.5 sedangkan untuk memberikan gambaran yang lebih jelas mengenai lingkungan J2ME, Tabel 2.3 menampilkan sejumlah configuration, profile, dan optional API yang tersedia.
13
Tabel 2.3 J2ME : Configuration, Profile, dan Optional API Configuration JSR
Nama
30
Connected, Limited Device Configuration (CLDC) 1.0
139
CLDC 1.1
36
Connected Device Configuration (CDC)
Profile JSR
Nama
37
Mobile Information Device Profile (MIDP) 1.0
118
MIDP 2.0
75
PDA Profile 1.0
46
Foundation Profile
129
Personal Basis Profile
62
Personal Profile
66
RMI Profile
134
Java Game Profile
Optional API JSR
Nama
172
Web Service Access for J2ME
82
Java API for Bluetooth Wireless Technology (JABWT)
120
Wireless Messaging API 1.1
205
Wireless Messaging API 2.0
135
Mobile Media API
179
Location API for J2ME
14
Profile
Optional API
Configuration Java Virtual Machine Host Operating System Gambar 2.5 Arsitektur J2ME
2.4.2 Konfigurasi J2ME Konfigurasi J2ME merupakan spesifikasi yang mendefinisikan lingkungan perangkat lunak untuk berbagai peralatan berdasarkan sekumpulan karakteristik. seperti tipe dan jumlah memori yang tersedia, tipe dan kecepatan processor, dan tipe koneksi jaringan yang tersedia[8] . Konfigurasi diharapkan dapat merepresentasikan platform minimum bagi peralatan target. Vendor diperlukan untuk mengimplementasikan spesikasi secara lengkap sehingga para pengembang dapat mengandalkan lingkungan pemrograman yang konsisten dan sedapat mungkin membuat aplikasi-aplikasi yang kompatibel dengan berbagai peralatan. Hingga saat ini terdapat dua J2ME configuration, yaitu: a. CLDC, ditujukan pada peralatan elektronik yang memiliki sumber daya yang sangat terbatas dan dikembangkan untuk keperluan wireless Java, yang memungkinkan pengguna telepon seluler atau PDA untuk membeli dan mendownload aplikasi Java (MIDlet) ke peralatan mereka; b. CDC, ditujukan pada peralatan elektronik yang terletak antara peralatan yang didukung CLDC dan sistem desktop yang didukung J2SE, seperti set-top box, web telephone, dan high-end PDA (lihat Gambar 2.6). Setiap konfigurasi terdiri dari JVM dan kumpulan kelas Java yang menyediakan lingkungan pemrograman bagi pembuatan aplikasi. Spesifikasi konfigurasi tidak mengharuskan implementasi Java menggunakan virtual machine yang spesifik. Para
15
vendor bebas membuat virtual machine mereka sendiri asalkan memenuhi persyaratan minimum spesifikasi. Sun menyediakan implementasi kedua konfigurasi di atas, yang dapat menjadi pedoman bagi para vendor di mana JVM untuk implementasi CLDC dinamakan Kilobyte Virtual Machine (KVM) dan untuk implementasi CDC dinamakan CVM.
Gambar 2.6 Konfigurasi J2ME Tabel 2.4 memperlihatkan dua buah configuration yaitu CDC & CLDC dengan perbandingannya sebagai berikut : Tabel 2.4 Tabel perbandingan CLDC dan CDC CLDC (Connected Limited Device Configuration)
CDC (Connected Device Configuration)
Mengimplementasikan subset dariJ2SE.
Mengimplementasikan seluruh fitur dari J2SE.
JVM yang digunakan adalah KVM.
JVM yang digunakan adalah CVM.
Digunakan pada perangkathandheld (handphone, PDA, twoway pager) dengan memory terbatas(160-512 kb).
Digunakan pada perangkat handheld (internet TV, Nokia Communicator, car TV) dengan memory minimal 2 Mb.
Prosesor : 16/ 32 bit.
Prosesor : 32 bit.
16
2.4.3 J2ME Profile Profile dimaksudkan untuk memperkaya fitur configuration dengan menyediakan tambahan kelas yang lebih spesifikasi ke tipe peralatan. MIDP merupakan J2ME profile yang paling dikenal saat ini karena peralatan yang mendukung MIDP (seperti telepon seluler dan PDA) merupakan produk yang sangat dibutuhkan pasar. Adanya fitur konektivitas Intenet pada peralatan-peralatan yang mendukung MIDP membuat mereka menjadi platform yang sangat menarik untuk aplikasi distribusi.
Gambar 2.7 Layer Profile and Configuration[8] . Perpaduan antara CLDC dan MIDP menyediakan fungsionalitas untuk melakukan konektivitas ke Internet, mengelola record managemen sistem, membuat antarmuka aplikasi (termasuk game), memainkan data audio dan video, dan lain-lain, yang memungkinkan berbagai aplikasi diimplementasikan di peralatan-peralatan yang mendukung MIDP. Layer profile dan configuration platform J2ME dapat dilihat pada Gambar 2.7. 2.4.4 J2ME Optional API: JABWT Optional API mendefinisikan fungsionalitas tambahan yang dapat disertakan ke platform J2ME. Salah satu optional API inr adalah JABWT yang menyediakan fungsionalitas untuk melakukan komunikasi antara peralatan yang memiliki protocol stack. Gambar 2.8 mengilustrasikan arsitektur CLDC, MIDP, dan JABWT pada
17
suatu peralatan, dimana MIDlet merupakan aplikasi yang dibuat oleh para pengembang aplikasi dengan menggunakan fungsionalitas CLDC, MIDP, dan optional API seperti JABWT.
Vendor S p e cific A p p .
N a tive A p p lica tio n
Vendor S p e cific C lasse s
M ID le t M ID P
JA B W T CLDC KVM
H o st O p e ra tin g S yste m d a n B lu e to o th P ro to co l S ta ck
Gambar 2. 8 Arsitektur CLDC, MIDP, dan JABWT[7] . Telepon seluler yang memiliki fasilitas CLDC, MIDP, dan JABWT mulai banyak di pasaran seperti Sendo X2, BenQ P30, BenQ P3l, Motorola A000, Sony Ericson P900, Sony Ericsson P910, Nokia 6681, Nokia 6682, Nokia 6630, Nokia 9500, Nokia 9300, Nokia 6600, Nokia 6620, Siemens SK65. dan lain-lain. 2.5 Perbandingan Teknologi Bluetooth dengan Teknologi Lain Berdasarkan penelitian yang ada perbandingan teknologi Bluetooth dengan teknologi lain dapat dikelompokkan sebagai berikut. Tabel 2.5 Perbandingan teknologi Bluetooth dengan teknologi lain. Fitur
Bluetooth v 1.2 / 2 (802.15.1)
ZigBee (802.15.4b)
WiFi (802.11b)
Fokus Aplikasi
Cable replacement
monitoring, control
Web, mail, consumer video electronic
Kebutuhan resource Batteray life (hari) Ukuran
250+ KB
4 sd 32 KB
1+ MB
?
Wide area voice data ?
1 sd 7 / 7+
100 sd 1000+
0.5 sd 5
?
?
18
UWB (802.15.3a)
WIMAX (802.16)
GPRS/ GSM (1xRTT/ CDMA) Wide area voice + + data 16+ MB 1 sd 7
jaringan/ node Fitur
7
Bandwidth
1 Mbps / 3 Mbps 10 m / 100 m 10 s / 10 s
Jarak transmisi Latency
unlimited Bluetooth v 1.2 / 2 (802.15.1)
ZigBee (802.15.4b)
32 WiFi (802.11b)
?
?
1
UWB (802.15.3a)
WIMAX (802.16)
250 Kbps
11 Mbps
480 Mbps
72 Mbps
GPRS/ GSM (1xRTT/ CDMA) 128 Kbps
100+ m
100 m
10 m
30 mil
1000+ m
30 ms
3s
?
?
?
19