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.
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.
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
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. f(k) f(k+1) f(k+2) f(k+3) f(k+4) f(k+5) f(k+6) f(k) f(k+3) f(k+4) f(k) f(k+5) f(k+6) 625 s 220 s
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 packet-switched. Sedangkan SCO digunakan untuk transmisi suara simetris dan merupakan tipe koneksi circuit switched. Dalam penelitian tesis ini pembahasan tipe koneksi difokuskan pada ACL.
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.
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.
Preamble Sync Word Trailer Member Address Packet Type Flow
Control ARQN SEQN HEC FEC
Access Code Packet Header Payload 4 64 4 3 4 1 1 1 8 36 68/72 54 0-2745
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.
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.
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
2.4 J2ME, Java 2 Micro Edition
Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhir-akhir 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.
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
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 men-download 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
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.
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
suatu peralatan, dimana MIDlet merupakan aplikasi yang dibuat oleh para pengembang aplikasi dengan menggunakan fungsionalitas CLDC, MIDP, dan optional API seperti JABWT.
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) UWB (802.15.3a) WIMAX (802.16) GPRS/ GSM (1xRTT/ CDMA) Fokus Aplikasi Cable replacement monitoring, control Web, mail, video consumer electronic Wide area voice + data Wide area voice + data Kebutuhan resource 250+ KB 4 sd 32 KB 1+ MB ? ? 16+ MB Batteray life (hari) 1 sd 7 / 7+ 100 sd 1000+ 0.5 sd 5 ? ? 1 sd 7 Ukuran M ID le t V e n d o r S p e c ific A p p . V e n d o r S p e c ific C la s s e s H o s t O p e ra tin g S ys te m d a n B lu e to o th P ro to co l S ta ck C L D C K V M M ID P J A B W T
jaringan/ node 7 unlimited 32 ? ? 1 Fitur Bluetooth v 1.2 / 2 (802.15.1) ZigBee (802.15.4b) WiFi (802.11b) UWB (802.15.3a) WIMAX (802.16) GPRS/ GSM (1xRTT/ CDMA) Bandwidth 1 Mbps / 3 Mbps 250 Kbps 11 Mbps 480 Mbps 72 Mbps 128 Kbps Jarak transmisi 10 m / 100 m 100+ m 100 m 10 m 30 mil 1000+ m Latency 10 s / 10 s 30 ms 3 s ? ? ?