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. Lima aplikasi di antaranya adalah sebagai berikut.

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.