6 BAB 2 LANDASAN TEORI
2.1
Bluetooth Bab ini membahas pengenalan tentang teknologi Bluetooth dan arsitektur dari
Bluetooth akan dijelaskan. Setelah membaca bab ini, para pengembang yang ingin mengembangkan teknologi ini akan mendapatkan pengetahuan tentang teknologi Bluetooth ini untuk memulai pengembangan aplikasi dengan Java API untuk Bluetooth Wireless Technology (JABWT). Bluetooth
tidak
mahal,
tidak
memerlukan
daya
yang
besar
untuk
menghidupkannya atau memakainya, teknologi gelombang radio yang pendek yang dimaksudkan untuk menggantikan koneksi yang menggunakan kabel antar perangkat telepon genggam, PDA, dan perangkat lainnya. Bluetooth dapat digunakan untuk menghubungkan mouse, laptop, dan bagian komputer yang lainnya tanpa menggunakan kabel. Organisasi Ericsson Mobile Communications adalah pengembang Bluetooth petama kali pada tahun 1994, dan organisasi tersebut bertujuan untuk mencari solusi untuk membuat koneksi antara telepon genggam dengan komponen yang ada (accessories) tanpa menggunakan kabel. Pada tahun 1999 perangkat Bluetooth mulai dipasarkan. [8] http://ensiklomedia.insan.co.id/b/bluetooth.htm [9] http://www.elektroindonesia.com/elektro/khu36.html [5] e-book dari http://wireless.klings.org hal 5
7 2.1.1 Arsitektur Bluetooth ( Bluetooth Architecture ) Spesifikasi Bluetooth dibuat untuk mengenali alat Bluetooth dari produsen yang berbeda untuk bekerja sama antara alat satu dengan alat yang lainnya, maka dari itu perlu dibuat sistem gelombang radio yang disesuaikan. Karena adanya berbagai macam produsen Bluetooth yang bervariasi maka tidak hanya penyesuaian sistem gelombang radio saja tetapi diperlukan juga protocol stack yang sama, ditujukan supaya alat yang satu dapat mengenali alat yang lainnya, tentu saja dengan merk dan produsen yang berbeda.
Gambar 2.1 protocol stack dari Bluetooth
Stack dari Bluetooth terdiri dari beberapa layer, seperti tampak pada gambar 2.1 Layer HCI biasanya memisahkan antara perangkat keras dan perangkat lunak dan diimplementasikan sebagian pada hardware dan software. Layer-layer dibawah layer HCI biasanya diimplementasikan pada hardware, dan layer-layer yang terdapat di atas
8 layer HCI biasanya diimplementasikan pada software. Tabel 2.1 memberikan sedikit gambaran tentang setiap layer yang terdapat pada gambar 2.1
Layer
Keterangan
Applications
Profil Bluetooth yang menuntun para pengembang tentang bagaimana suatu aplikasi seharusnya menggunakan protokol stack
Telephony Control System (TCS )
Menciptakan pelayanan yang berhubungan dengan telepon
Service Discovery Protocol (SDP)
Digunakan
untuk
penemuan
pada
pengontrolan alat Bluetooth WAP and OBEX
Menyediakan interface untuk bagian layer yang lebih tinggi dari komunikasi protokol yang lainnya
RFCOMM
Menyediakan sebuah RS-232 seperti serial interface
L2CAP
Multiplexes data dari layer yang lebih tinggi dan meng-konvert paket dengan ukuran yang berbeda
HCI
Menangani komunikasi antara host dan modul Bluetooth
Link manager Protocol
Mengontrol dan meng-konfigurasi link ke alat yang lainnya
Baseband and Link Controller
Mengontrol
link
fisik
(hardware),
pengenalan frekwensi dan perakitak paket Radio
Mengatur dan memisahkan data untuk proses pengiriman dan penerimaan di udara
Tabel 2.1 Keterangan Layer pada Bluetooth
9 Pengembang aplikasi Bluetooth tidak perlu untuk mengerti semua secara mendetail tentang layer-layer pada stack Bluetooth. Tetapi bagaimanapun juga sistem cara kerja gelombang Bluetooth harus dimengerti, karena hal tersebut penting. Radio Bluetooth adalah layer terendah dalam komunikasi layer pada Bluetooth, dan gelombang Bluetooth
bekerja pada frekwensi 2,4 GHz sama seperti yang digunakan pada
gelombang radio. Setiap alat Bluetooth memiliki alamat yang sudah ditentukan secara unik, sistem pengalamatan pada perangkat Bluetooth menggunakan 48 bit yang ekuivalen dengan alamat hardware yang lainnya. Alamat Bluetooth tidak hanya untuk mengidentifikasikan alat tersebut saja, tetapi juga untuk mensinkronisasikan (synchronizing) frekuensi yang ada diantara dua alat dan menciptakan kunci (password) pada prosedur keamaan Bluetooth. [11] http://www.palowireless.com/infotooth/tutorial.asp [5] e-book dari http://wireless.klings.org hal 6
2.1.2
Piconet dan Scatternet Sebuah piconet adalah jaringan Bluetooth yang terdiri dari satu master dan satu
atau lebih slave. Suatu alat yang disebut master mengenali sebuah koneksi Bluetooth secara otomatis. Sebuah piconet dapat terdiri dari satu master dan tujuh slave yang aktif. Alat yang menjadi master secara harfiah menjadi master dalam suatu piconet. Slave hanya dapat mengirimkan data ketika waktu pengiriman diizinkan oleh alat yang pada saat tersebut menjadi master. Slave tidak boleh berkomunikasi langsung satu sama lain, semua proses komunikasi harus melewati master. Slave menyesuaikan frekuensinya dengan master menggunakan waktu master dan alamat Bluetooth.
10
Gambar 2.2 Piconet
Konsep piconet diambil dari topologi jaringan yang sering disebut sebagai star, dengan sebuah master yang digambarkan sebagai node di tengah, ditunjukkan pada gambar 2.2. Dua piconet bisa terbentuk dengan jarak gelombang satu dengan yang lainnya. Frekuensi tidak sinkron antara piconet satu dengan piconet yang lain dan itu menyebabkan piconet yang lain secara acak akan bertabrakan pada frekuensi yang sama. Dua piconet saling terhubung akan membentuk suatu jaringan yang sering disebut scatternet. Gambar 2.3 sebagai contohnya, dengan satu node di tengah yang menghubungkan piconet satu dengan piconet yang lainnya. Node yang berada di tengah harus membagi waktu, ini berarti node tersebut harus mengikuti perubahan frekuensi pada suatu piconet pada saat itu.
11
Gambar 2.3 Scatternet
Sebagai contoh, jika anda memiliki dua alat A dan B. Alat A terhubung pada B, maka dari itu alat A akan menjadi master dari sebuah piconet yang terdiri dari alat A dan B seperti ditunjukkan pada gambar 2.4
Gambar 2.4 Piconet dengan dua node
12 Kemudian muncul alat yang bernama C ingin untuk bergabung dalam piconet tersebut. Alat C terhubung pada master, A. Sejak alat C dikenali oleh piconet tersebut, C secara otomatis akan menjadi master diantara alat A dan C. Kita sekarang memiliki dua master, sebab itu kita memiliki dua piconet. Alat A adalah alat dimana menjadi penengah antar piconet-piconet ini, alat A menjadi master untuk alat B dan menjadi slave untuk alat C, seperti tampak pada gambar 2.5
Gambar 2.5 Scatternet dengan 3 node
Gambar 2.6 menunjukkan hubungan antara alat A dan alat C akan menghasilkan satu piconet dimana A sebagai master dan alat B dan C sebagai slave. Kita dapat melihat ketika sebuah alat baru ingin untuk menjadi bagian dari sebuah piconet diperlukan sebuah role-swicth untuk membuat jaringan ini terhubung, jika tidak maka sebuah scatternet akan terbentuk.
13
Gambar 2.6 Piconet dengan 3 node
[5] e-book dari http://wireless.klings.org hal 8
2.1.3
Link-link Pada Bluetooth Dua tipe dari link fisik ditemukan pada versi 1.1 dari Spesifikasi bluetooth, dua
tipe itu adalah Synchronous Connection Oriented (SCO) dan Asynchronous Connection Less (ACL). Link SCO dan ACL adalah bagian dasar dari spesifikasi Bluetooth. Link SCO digunakan untuk pengiriman paket berupa suara. Semua link SCO beroperasi pada 64 kbps. Sebuah master dapat mengatur tiga link SCO secara bersamasama pada waktu yang sama pula, untuk slave yang sama atau slave yang berbeda. Link ACL digunakan untuk pengiriman data. Sebuah link ACL memiliki “error free transmission” yang berarti jika ada paket yang hilang akan dikirim ulang. Link ACL ini beroperasi pada 650 kbps.
14 Logical Link Control and Adaptation Layer ( L2CAP ). Layer ini mengatur segmentasi paket dan perakitan ulang paket (SAR), protokol multiplexing, dan menyediakan informasi quality of service. [5] e-book dari http://wireless.klings.org hal 11
2.1.4
Pengenalan Bluetooth (Device discovery (inquiry) and service discovery) Pada jaringan Bluetooth, alat Bluetooth memiliki kemampuan untuk menemukan
alat Bluetooth lain di dekatnya. Ketika suatu alat Bluetooth telah ditemukan, sebuah service discovery akan mengenalinya untuk mendefinisikan servis mana yang akan diberikan. Spesifikasi Bluetooth berguna untuk proses penemuan alat Bluetooth sebagai pengenalan alat satu dengan alat yang lainnya. Selama proses pengenalan, alat bluetooth akan menerima alamat dan waktu dari alat Bluetooth yang sudah ditemukan. Kemudian alat yang sudah diidentifikasi oleh alat Bluetooth akan dapat disinkronkan dan menjadi bagian dalam jaringan tersebut. [5] e-book dari http://wireless.klings.org hal 12
2.1.5
Profil Bluetooth ( Bluetooth profiles ) Gambaran Bluetooth memberi penjelasan dari prosedur layer yang lebih tinggi
dan menyeragamkan jalan atau cara-cara yang digunakan oleh layer yang lebih rendah dari Bluetooth. Gambaran Bluetooth versi 1.1 sering disebut profil dasar ( Foundation profiles ). Tabel 2.3 memberikan sedikit keterangan dan gambaran singkat dari profilprofil tersebut.
15 Profile Generic Access Profile (GAP)
Description Ini adalah dasar dari semua profil yang ada pada
sistem
Bluetooth.
GAP
menggambarkan fungsi-fungsi dasar dari Bluetooth seperti mengatur link L2CAP, menangani keamanan. Serial Port Profile (SPP)
Menyediakan port serial (RS-232) emulasi yang didasarkan pada bagian RFCOMM dari stack Bluetooth
Dial Up Networking Profile (DUNP)
Berfungsi
untuk
menggunakan
alat
Bluetooth sebagai Dial Up Networking Gateway
FAX Profile
Menggunakan alat Bluetooth sebagai FAX gateway
Headset Profile
Berfungsi untuk pengiriman data yang berupa suara, contoh: dengan headset Bluetooth
LAN Access Point Profile
Generic Object Exchange Profile (GOEP)
Sebagai LAN akses point
Menyediakan dukungan untuk protokol Objext Exchange (OBEX)
melalui link
Bluetooth Object Push Profile
Berfungsi untuk menggantikan vCard dan vCalendar, yang didasari pada GOEP
File Transfer Profile
Berfungsi untuk navigasi folder proses copy, delete, meng-create suatu file atau folder pada alat Bluetooth, berdasar pada GOEP
Synchronization Profile
Berfungsi untuk mensinkronisasikan Objek yang tersimpan dan mengandung objek IrMC (vCard, vCalendar, vMessaging, dan
16 objek
vNotes
)
diantara
peralatan
Bluetooth, berdasarkan pada GOEP Intercom Profile
Memungkinkan peralatan Bluetooth untuk membuat komunikasi link yang mirip dengan komunikasi intercom
The Cordless Telephony Profile
Berfungsi
untuk
berkomunikasi
tanpa
menggunakan kabel, pada gateway ISDN
Tabel 2.2 Profil dasar Bluetooth
Dengan memperhatikan profil-profil Bluetooth akan menjamin kesuksesan dua alat Bluetooth yang saling bekerja sama walaupun dari vendor yang berbeda. Para pelanggan dapat membeli sebuah telepon genggam dari satu vendor dan sebuah headset Bluetooth dari vendor yang lain dan mendapatkan kedua alat tersebut dapat bekerja sama secara baik. [5] e-book dari http://wireless.klings.org hal 15
2.1.6 Keamanan Bluetooth Keamanan merupakan faktor utama dan yang terpenting dalam berkomunikasi tanpa menggunakan kabel. Jika setiap alat dapat dikenali maka orang yang berada disekitar jangkauan Bluetooth dapat melakukan alat anda dengan menggunakan Bluetooth. Orang-orang tersebut dapat menentukan servis mana yang ditawarkan oleh alat itu dan mencoba untuk mengkoneksikannya. Masalah lainnya yang timbul adalah penyadapan paket yang sedang dikirim dan masalah itu akan dengan sangat mudah muncul karena data dikirim dari satu alat ke alat yang lainnya tanpa menggunakan kabel.
17 Untuk menghadapi ancaman-ancaman ini, Bluetooth dibagi menjadi tiga bagian yaitu pengautentifikasian, enkripsi data, dan pemberian hak akses. Sebagai tambahan tiga model keamanan dibuat dan lebih ditekankan pada level keamanan Bluetooth yang ke dua. Pengaturan keamanan digunakan untuk menangani transaksi keamanan pada sistem Bluetooth. [5] e-book dari http://wireless.klings.org hal 17
2.1.6.1 Model Keamanan Pertama Model keamanan adalah bagian dari profil GAP. Semua peralatan Bluetooth yang memenuhi syarat harus memliki profil dari penerapan GAP. Sehinga semua peralatan Bluetooth dapat mempunyai sistem keamanan tersebut. OEM harus memutuskan sistem keamanan mana yang harus dipakai untuk mendukung dalam menerapkan profil GAP pada peralatan Bluetooth. Pada peralatan yang lebih canggih seperti laptop, para pengguna mungkin mempunyai pilihan untuk memilih sistem keamanan mana yang diinginkan. Kemampuan untuk memilih sistem keamanan yang tersedia, sebagai contoh: software Bluetooth yang disertai dengan peralatan 3COM USB GAP yang dapat digambarkan dengan 3 sistem keamanan: 1. No Security 2. Service level enforced security 3. Link level enforced security Pada sistem keamanan model yang pertama, peralatan tidak akan pernah memulai prosedur kemanan apapun. Sistem keamanan ini tidak banyak dijumpai pada peralatanperalatan Bluetooth. Sistem keamanan ini mungkin dipakai pada peralatan Bluetooth pada awal-awal alat Bluetooth diproduksi.
18 Sistem keamanan yang kedua adalah sistem keamanan yang paling banyak dipakai oleh alat-alat Bluetooth. Anda dapat memperhatikan sistem keamanan yang kedua menggunakan prosedur keamanan dan diawali oleh layer Bluetooth yang lebih tinggi setelah jaringan Bluetooth dibuat oleh layer di bawahnya. Ini memungkinkan para pengembang untuk membuat aplikasi dan memutuskan apakah suatu layanan membutuhkan sistem keamanan. [5] e-book dari http://wireless.klings.org hal 17
2.1.6.2 Pairing and Bonding (Authentication) Bonding (penggabungan) adalah prosedur dari peralatan Bluetooth yang berguna untuk mengenali peralatan Bluetooth yang lain dan bergantung pada nomer pin yang dipakai secara bersama-sama. Jika alat tidak mempunyai pin yang dapat dipakai bersama maka pin yang baru harus dibuat sebelum proses bonding selesai dan pembuatan passkey itu disebut pairing. Proses pairing meliputi pembuatan dari pengenalan dan sebuah autentifikasi dari passkey, diikuti oleh autentifikasi dari kedua alat Bluetooth. Pengenalan passkey didasarkan pada password yang dimasukkan oleh user dan sebuah nomer acak beserta alamat Bluetooth. Dari salah satu peralatan yang ada, inputan dari user dikenal sebagai pin atau passkey dan bisa mencapai 128 bit panjangnya. [5] e-book dari http://wireless.klings.org hal 18
2.1.6.3 Enkripsi Ketika dua peralatan Bluetooth telah saling mengenal satu sama lain, proses enkripsi data diminta oleh jaringan Bluetooth pada alat tersebut. Sebelum proses enkripsi
19 dimulai, alat itu harus mencocokan sistem enkripsi dan ukuran passkey untuk pengenkripsian passkey. Ada tiga sistem enkripsi : 1. no encryption 2. encrypt both point-to-point and broadcast packets 3. only encrypt point-to-point packets [5] e-book dari http://wireless.klings.org hal 18
2.1.6.4 Autorisasi (Authorization) Autorisasi adalah proses pemberian izin untuk mengakses layanan. Izin yang untuk mendapatkan akses (izin masuk), alat yang berada pada jangkauan tersebut harus melewati proses Bonding. Izin akses akan diberikan untuk sementara waktu atau selamanya. Trust attribute berhubungan dengan autorisasi untuk memberikan wewenang dalam pemberian izin secara otomatis kepada sebuah alat tertentu, (alat yang diizinkan untuk mendapatkan akses). Dapat berhubungan dengan service Bluetooth, dan pemberian wewenang dapat selesai dengan sukses tanpa interaksi antar pengguna. Ini berarti pengguna yang disebutkan sebelumnya yang menggunakan laptop dan telepon genggam dapat benar-benar menghindari interaksi antar pengguna lain ketika mereka terhubung ke internet. Dengan mengenali laptop sebagai alat yang dapat dipercaya pada telepon genggam, laptop dapat diakui secara otomatis ketika proses dial up networking service pada telepon genggam. [5] e-book dari http://wireless.klings.org hal 19
20 2.1.6.5 Pengatur Keamanan Berfungsi untuk mengamati alat mana yang dapat dipercaya dan berasal dari level-level yang berbeda dari autorisasi untuk servis yang berbeda, informasi keamanan perlu disimpan dalam database security. Database memiliki dua fungsi, satu sebagai alat dan satu untuk service. Beberapa layer butuh akses untuk ke masuk ke data-data yang berada di database security. Pengaturan keamanan memperbolehkan akses yang sama untuk masuk ke semua layer dan bertangung jawab untuk memasukkan dan mengambil kembali informasi dari security database. Semua pertukaran informasi dari layer-layer yang berbeda dan dari security database harus melalui pengatur keamanan. Aplikasiaplikasi dan protokol Bluetooth harus didaftarkan ke pengatur keamanan agar dapat menggunakan fitur-fitur keamanan yang ada. [5] e-book dari http://wireless.klings.org hal 19
2.1.6.6 Model Keamanan Ke-dua Sistem keamanan Bluetooth menegaskan Bluetooth untuk diterapkan pada sistem keamanan yang kedua, keamanan yang ditekanakan pada layanan level keamanan yang kedua, dan dapat dikelompokkan menjadi tiga kategori keamanan: 1. Alat-alat yang dapat dipercaya adalah alat-alat yang digabungkan dan ditandai sebagai alat yang dipercaya dalam database. Alat-alat tersebut diberikan akses bebas kepada semua layanan. 2. Alat-alat yang dikenali sebagai alat-alat yang tidak dapat dipercaya digabungkan dan tidak ditandai sebagai alat yang dapat dipercaya didalam database. Akses kepada layanan layanan untuk service dibatasi.
21 3. Alat-alat yang tidak dikenali adalah alat-alat yang tidak terhubung. Alat-alat ini adalah alat-alat yang tidak dipercayai dan akses ke service layanan dibatasi. [5] e-book dari http://wireless.klings.org hal 20
2.1.7 Mobile Information Device Profile (MIDP) MIDP merupakan perangkat API yang terdapat pada bagian atas dari CLDC sebagaimana ditampilkan pada gambar 2.9, yang menyediakan berbagai kelengkapan seperti user interface, networking support dan persistent storage.
Gambar 2.7 MIDP [5] e-book dari http://wireless.klings.org hal 25
2.1.7.1 MIDP Versi 2 MIDP versi 2.0 merupakan hasil dari group expert Java Community Process (JCR-118[27]). Spesifikasi MIDP 2.0 merupakan peralatan arsitektur dan merupakan penggabungan dari API yang membutuhkan pengembang aplikasi untuk peralatan informasi mobile (telepon genggam, PDA, dll).
22 Spesifikasi didasarkan pada spesikasi MIDP 1.0, jadi pada saat MID sedang dalam proses penulisan, MIDP 1.0 dapat dijalankan (di-execute) dalam MIDP 2.0. Memory / penyimpanan telah dilakukan dalam MIDP 2.0. Terdapat 256 KB memori untuk mengimplementasikan MIDlet, terlepas apakah sudah termasuk CLDC dan 128 KB memori untuk menjalankan Java. Untuk suara sudah ditambahkan. Kemampuan untuk memainkan nada-nada dibuat dengan menggunakan MIDP 2.0 yang setara dengan MIDP 1.0.
Dalam penggunaannya ditambahkan OTA (Over-The-Air). Kelengkapan ini adalah bagian dari OEM yang merupakan spesifikasi dari MIDP 1.0. Aplikasi yang digunakan menggunakan aplikasi yang lebih interaktif dan dapat digunakan dengan mudah. Media Support sudah ditambahkan, yang memiliki kemampuan untuk menambahkan nada-nada, nada sequences, file WAV bahkan jika paket Mobile Media API (MMAPI) tidak dapat digunakan. Pengembang game sekarang telah dapat mengakses ke dalam game API yang merupakan standard dari pembuatan game. API mempunyai keuntungan yaitu memiliki kemampuan sebagai native device graphic. MIDP 2.0 ditambahkan untuk mendukung HTTP, datagram, sockets, server sockets dan serial port communication. Arsitektur terdapat dalam MIDP 2.0. Hal ini sangat memungkinkan untuk mengaktifkan MIDlet ketika alat menerima informasi dari server. Pengembang dapat mengembangkan aplikasi-aplikasi dengan menggunakan jaringan. Salah satu contohnya adalah SMS MIDlet, dimana akan aktif/bekerja ketika SMS baru datang/masuk ke dalam device. [5] e-book dari http://wireless.klings.org hal 28
23
2.1.8
Java API Untuk Penggunaan Bluetooth Java API untuk Bluetooth merupakan paket opsional dari Java Community Press,
berikut gambaran hubungan dari Java API untuk Bluetooth dan platform J2ME, menggunakan Mobile Information Device Profile (MIDP) dan Connected Limited Device Configuration (CLDC) :
Gambar 2.8 APIs
Pada bagian bawah dari gambar di atas terdapat hardware, operating system, dan stack Bluetooth, diikuti oleh konfigurasi (CLDC) dan profile untuk peralatan mobile (dalam hal ini MIDP) serta paket Java API untuk Bluetooth. Dan pada bagian puncak terdapat MIDP Application (MIDlet) yang merupakan aplikasi nanti yang akan dibuat.
CLDC ditujukan untuk perangkat-perangkat yang memiliki spesifikasi minimum :
24 •
Processor : 16 bit/16 MHz atau lebih tinggi.
•
Memory : 160-512 KB dari total memori yang tersedia untuk platform Java.
•
Power : Sumber tenaga biasanya batere
•
Networking : Terkoneksi pada suatu jaringan dengan kecepatan terbatas.
Sebagai catatan untuk skripsi ini peralatan tersebut harus memiliki perangkat Bluetooth di dalamnya. Jadi alat-alat yang bisa digunakan meliputi seluruh handphone atau smartphone yang memiliki spesifikasi minimum di atas dan mensupport Java.
Sebagai tambahan :
Spesifikasi Bluetooth
Tabel 2.3 Spesifikasi Bluetooth
http://www.elektroindonesia.com/elektro/khu36.html