Pengembangan Aplikasi Telefon Selular berbasis Bluetooth,
infra merah dan Wifi
Orang membutuhkan komunikasi untuk
menjaga hubungan dengan temannya, peralatan dan layanan-layanan telefon lainnya.
Di antara peralatan elektronik yang banyak orang miliki dan gunakan adalah
telepon selular yang sering dibawa dimanapun mereka berada.
Telepon Seluler atau Ponsel
adalah salah satu alat komunikasi yang dapat dibawa kemana saja oleh
pengggunanya. Dengan adanya perkembangan teknologi yang sangat pesat, ponsel saat
ini tidak hanya digunakan untuk komunikasi suara, tetapi juga dapat membeli
tiket, mencari berita, perbankan dan digunakan untuk berselancar di Internet, bahkan
untuk mengoperasikan peralatan tertentu. Boleh dikatakan suatu saat nanti kemampuan
telefon selular akan dapat menyamai kemampuan komputer yang ada saat ini. Dengan
kemampuan CPU dan memory yang makin meningkat, semakin dimungkinkan bagi
developer untuk mengembangkan aplikasi yang juga bersifat multimedia.
Bluetooth dan infra merah
pada telefon selular merupakan teknologi yang telah lama muncul. Menyusul
sekarang teknologi Wifi pada piranti tersebut. Akan tetapi aplikasi-aplikasi
yang memanfaatkannya belum banyak digali. Umumnya aplikasi yang banyak muncul adalah untuk
koneksi telefon selular ke headset atau komputer. Di lain pihak, saat ini
penelitian terkait dengan bidang komunikasi bergerak dan aplikasinya di Jurusan Teknik Elektro
belum nampak menggairahkan. Oleh karena itu diharapkan dengan kegiatan
penelitian tentang aplikasi telefon selular khususnya penggunaan bluetooth,
infra merah dan wifi ini, yang diharapkan salah satu hasilnya adalah class library, akan semakin menggiatkan
penelitian sejenis barbasis class class tersebut. Ini dimungkinkan karena
bahasa pemrograman java adalah bahasa yang memakai konsep berorientasi objek.
Masalah
utama yang diteliti adalah pemanfaatan telefon selular untuk tidak sekedar
komunikasi suara akan tetapi dapat berkembang untuk aplikasi yang lain oleh
karena tersedianya port I/O seperti bluetooth, inframerah dan wifi.
1. Bluetooth walkie talkie
2. Sistem parkir berbasis bluetooth
3. Telefon selular pengganti kartu elektronik
(ATM, VISA, dll)
4. Video chat melalui bluetooth
5. Video
chat melalui Wifi
Suatu saat nanti
telefon selular betul betul merupakan suatu peralatan multifungsi yang selain
untuk komunikasi juga untuk mengendalikan peralatan, mengkoordinasi peralatan
dan lain sebagainya.
Pada penelitian ini
akan digunakan J2ME (Java for mobile devices) yang memiliki Bluetooth API dan
Mobile Media API, di dalamnya. Bagian ini akan menjelaskan secara mendasar
tentang J2ME, Bluetooth API dan Mobile
Media API.
J2ME
Java 2 Micro Edition
(J2ME) merupakan subset dari
J2SE (Java 2 Standard Edition) yang ditujukan untuk implementasi pada
peralatan embeded system dan handhled yang tidak mampu mendukung
secara penuh implementasi mengunakan J2SE. Embedded system adalah
produk-produk dengan komputer kecil di dalamnya, namun aplikasi yang
bisa dimanfaatkan dari peralatan tersebut sangatlah spesifik. Hal ini
tentu saja berbeda dengan komputer PC (Personal Computer) yang kita
kenal sehari-hari, yang mampu digunakan untuk berbagai aplikasi. Contoh embedded
system yang ada misalnya adalah aplikasi-aplikasi yang memanfaatkan
mikroprosesor seperti Televisi, sistem keamanan gedung, dan lain
sebagainya.
J2ME sangat berguna untuk membangun suatu aplikasi pada
peralatan dengan jumlah memori dan kapasitas penyimpanan yang terbatas, serta kemampuan
user interface yang terbatas seperti pada perangkat komunikasi bergerak
berupa handphone, PDA (Personal Digital Assistant), dan lain sebagainya.
Seperti aplikasi Java
umumnya yang menggunakan JVM, dalam J2ME digunakan pula virtual machine yang
disebut K virtual machine. K Virtual Machine
adalah virtual machine yang sangat kecil dalam kebutuhan memorinya. Huruf K
dalam K virtual machine adalah singkatan dari kilobyte, untuk menggambarkan
betapa virtual machine ini bekerja pada total memori yang sedemikian
kecil mulai dari 128 kilobyte hingga maksimal rata-rata sekitar 512 kilobyte.
Dalam J2ME dibagi menjadi dua bagian besar yang
dikenal sebagai configuration dan profile[1]. Dua istilah ini sangatlah penting dalam pengembangan aplikasi
wireless dengan Java sehingga harus dipahami dengan baik. Sebuah profile
dibangun dalam sebuah configuration namun menambahkan beberapa API (Application
Program Interface) khusus agar dihasilkan sebuah lingkungan yang lengkap
untuk membangun aplikasi. Sedangkan sebuah configuration mendeskripsikan
sebuah JVM dan sekumpulan API dasar, dan hal ini tidak cukup untuk membangun
sebuah aplikasi yang lengkap. Profile-profile biasanya termasuk API-API
untuk aplikasi lifecycle, user inteface, dan penyimpanan secara kontinu.
J2ME configuration mendefinisikan lingkungan kerja J2ME runtime. Oleh
karena handheld devices memiliki fitur-fitur yang berbeda-beda, J2ME configuration
dirancang untuk menyediakan library standar yang mengimplementasikan
fitur standar dari handheld devices.
Bila J2ME configuration menyediakan library
Java untuk implementasi fitur-fitur standar dari sebuah handheld devices
maka J2ME profile menyediakan implementasi tambahan yang sangat
spesifik untuk sebuah handheld devices. MIDP menyediakan library-library
Java untuk implementasi dasar interface (GUI) Graphical User Interface,
implementasi networking, database, dan timer. MIDP dirancang khusus untuk wireless phone dan
pager. Beberapa perusahaan mengembangkan sendiri J2ME profile,
misalnya NTT Docomo, yang mengembangkan J2ME profile yang spesifik untuk
perangkat keras yang dimiliki NTT Docomo. Keuntungan yang paling menonjol
dari J2ME dibandingkan dengan teknologi wireless sebelumnya adalah security
dan disconnected access and synchronization. Security menjadi
sebuah isu yang sangat penting dewasa ini.
MIDlet
MIDlet adalah
aplikasi yang dibuat menggunakan Java 2 Micro Edition dengan profile Mobile
Information Device Profile (MIDP) [4].. MIDP dikhususkan untuk
digunakan pada handset dengan kemampuan CPU, memori, keyboard, dan layar
yang terbatas, misalnya pada handphone, pager, PDA, dan
sebagainya. Arsitektur tingkat tinggi dari sebuah aplikasi MIDP
ditunjukkan oleh Gambar 1 sebagai berikut.

Gambar 1 Arsitektur Sebuah Aplikasi MIDP
Secara umum,
terdapat beberapa hal penting dalam membuat sebuah aplikasi MIDlet, yaitu menyangkut
lifecycle, user interface, command handling, deployment
dan Application Management. Paket javax.microedition.midlet memiliki
kelas MIDlet yang mendefinisikan MIDP.
Bluetooth
Bluetooth [9] adalah standar yang sifatnya
terbuka dan ditujukan untuk komunikasi wireless untuk menghubungkan peralatan
seperti telefon selular dengan headset, atau dengan peralatan portabel lainnya
seperti komputer. Spesifikasi bluetooth mendifinisikan secara sistem lengkap dari
level transmisi radio hingga lapiran aplikasi, termasuk software stack. Tetapi spesifikasi Bluetooth tidak menjelaskan
bagaimana software API akan dikembangkan dan digunakan oleh software developers.
Salah satu API yang dikembangkan adalah JABWT (Java API Bluetooth Wireless
Technology) [6,9] atau dinami JSR-82. JABWT mendifinisikan API untuk
pengembangan aplikasi aplikasi berbasis Bluetooth
menggunakan J2ME.
Spesifikasi Bluetooth terdiri atas Bluetooth
stack dan profile Bluetooth. Perlu mendapat perhatian bahwa dalam Bluetooth
stack dan semua profil Bluetooth tidak semuanya diimplementasikan pada JABWT. Salah
satu contohnya adalah profil audio yang belum diimplementasikan. Informasi
lebih lanjut terkait dengan JABWT dan profile Bluetooth yang telah
diimplementasikan dapat dilihat pada [9].
Telah pula dikembangkan aplikasi menggunakan Bluetooth
dan Java [8], yang menjelaskan bagaimana membangun aplikasi Bluetooth menggunakan
J2ME yang dinamai BlueChat. BlueChat adalah aplikasi chatting peer-to-peer yang
menggunakan Bluetooth dan berbasis JABWT API.
Mobile
Media
Mobile Media API (MMAPI), yang dijelaskan di JSR-135
[7], menyediakan api yang dapat dipakai untuk mengembangkan aplikasi multimedia
berbasis J2ME.
MMAPI mendukung
fitur-fitur seperti
-
Playback file file audio dan video
-
kemampuan rekam sinyal audio dan video ke file
-
akses ke vibrator pada telefon selular
Meskipun suatu peralatan J2ME mempunyai dukungan
MMAPI tidak berarti mendukung semua fitur yang ada pada api. Contohnya adalah SonyEricsson
K750i yang tidak mempunyai kemampuan untuk audio
recording, tetapi mendukung picture recording.