MEMBANGUN APLIKASI MOBILE “KAMERA PENGINTAI” MENGGUNAKAN BLUETOOTH SEBAGAI MEDIA TRANSMISI BERBASIS J2ME Naskah Publikasi diajukan oleh Ali Mahfud 07.11.1587 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011 DEVELOPING MOBILE APPLICATION "SURVEILLANCE CAMERA" USING BLUETOOTH AS TRANSMISSION MEDIA BASED ON J2ME MEMBANGUN APLIKASI MOBILE “KAMERA PENGINTAI” MENGGUNAKAN BLUETOOTH SEBAGAI MEDIA TRANSMISI BERBASIS J2ME Ali Mahfud Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Surveillance camera is a technology that is designed as a security monitoring tool. Criminal acts to be the main reason the use of surveillance cameras. The surveillance camera has been implemented in many technologies such of CCTV and IP cameras. Unfortunately, having these tools are very expensive. Therefore, the author tries to give a solution to this problem by developing a mobile version of surveillance camera. The surveillance camera is built on Java 2 Micro Edition platform which runs on mobile devices that support Java. The functions of this application are various such as activities or events monitoring tools. This application implements client server approach. One device acts as a server and the others act as a client. The client side requires cell phone that has a camera, Bluetooth and Java MIDP 2.1 support with a fairly large internal memory, while the server requires a personal computer. This application is applicable while in a Bluetooth coverage area held by the device in question (in this case mobile devices and laptops). The further the reach of the data transmission is also influenced by the more slowly because existing medium. In the implementation of this application is used at relatively close distances. Keyword: J2ME, Bluetooth, Spy Camera, Surveillance Camera 1. Pendahuluan Handphone merupakan salah satu teknologi yang berkembang dengan pesat. Awalnya handphone hanya dapat digunakan sebagai media komunikasi suara. Namun seiring dengan bertambahnya kebutuhan manusia dibidang komunikasi yang diiringi dengan kemajuan teknologi, kini handphone telah menjadi perangkat multi fungsi, selain sebagai alat komunikasi suara, handphone juga dapat mengirimkan pesan teks berupa SMS (Short Message Service), mengambil gambar dan video menggunakan kamera Built-In, mengirim file menggunakan Bluetooth. Selain itu juga dapat menjalankan aplikasi mobile sebagai media hiburan dan informasi. Aplikasi-aplikasi mobile juga berkembang dengan pesat, karena didukung dengan semakin berkembangnya bahasa pemrograman untuk aplikasi mobile. Salah satu bahasa pemrograman untuk perangkat mobile yang banyak digunakan adalah J2ME (Java 2 Micro Edition) merupakan superset (bagian) dari J2SE (Java 2 Standard Edition) untuk perangkat mikro, contohnya handphone, PDA dan sejenisnya. Perkembangan perangkat mobile khususnya handphone sangat berpengaruh terhadap perkembangan aplikasi mobile. Aplikasi mobile harus menyesuaikan dengan perangkat kerasnya agar dapat terjadi sinkronisasi antara keduanya. Dampak perkembangan tersebut telah dirasakan diberbagai bidang kehidupan kita. Salah satunya adalah pada bidang keamanan. Kemajuan teknologi sangat dibutuhkan dibidang keamanan. Dewasa ini kerap terjadi tindakan kriminal di pedesaan maupun di perkotaan. Contoh kongkritnya yaitu terjadinya tindak kriminal dalam bentuk pencurian atau perampokan di pusat-pusat perbelanjaan dan di toko-toko. Bahkan sering juga terjadi dirumah-rumah penduduk. Untuk mengurangi tindak kriminal tersebut dibutuhkan teknologi pemantau kejadian. CCTV dan IP camera merupakan salah satu teknologi yang dirancang untuk memantau kejadian. Akan tetapi permasalahannya, kalangan ekonomi menengah kebawah tidak dapat menjangkau alat tersebut karena harganya yang relatif mahal. Berdasarkan latar belakang diatas, maka penulis mengembangkan teknologi mobile dengan membangun aplikasi kamera pengintai yang dapat digunakan sebagai media pemantau ruangan dengan bahasa pemrograman Java 2 Micro Edition. Dengan aplikasi ini, pengguna dapat melihat kejadian ditempat yang diinginkan menggunakan handphone. 2. Landasan Teori 2.1 Teknologi Java Java menurut definisi sun adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Java adalah bahasa pemograman tingkat tinggi yang berorientasi objek, diedarkan oleh Sun Microsystem1 pada awal tahun 1996. Sejarah awal Java berawal di tahun 1991 ketika satu group insinyur-insinyur Sun, yang dipimpin oleh Patrick Naughton dan James Gosling, ingin mendesain sebuah bahasa pemograman komputer yang berukuran kecil yang dapat digunakan untuk peralatan elektronika konsumen seperti switchboxes TV kabel. Dikarenakan peralatan-peralatan ini menggunakan konsumsi daya dan memory yang rendah, maka bahasa pemograman tersebut harus berukuran sangat kecil. Juga karena setiap vendor menggunakan CPU (Central Processing Unit) yang berbeda, maka bahasa tersebut harus bersifat multiplatform, tidak terikat hanya pada satu arsitektur (Architecture Neutral). Proyek ini diberi nama Green Project. 2.2 J2ME (Java 2 Micro Edition) 2.2.1 Pengertian J2ME J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei, layar yang kecil dan bandwith jaringan yang rendah. 2.2.2 Profile Sebuah profile memberikan library tambahan untuk suatu kelas tertentu pada sebuah perangkat. Profile-profile menyediakan user interface(UI) API, persistence, messaging library, dan sebagainya. Satu set library tambahan atau package tambahan menyediakan kemampuan program tambahan. Pemasukan package ini ke dalam perangkat J2ME dapat berubahubah karena tergantung pada kemampuan sebuah perangkat. Sebagai contoh, beberapa perangkat MIDP tidak memiliki Bluetooth built-in, sehingga Bluetooth API tidak disediakan dalam perangkat ini. J2ME mempunyai beberapa profil antara lain : 1. Mobile Information Device Profile (MIDP) 2. Foundation Profile (FP) 3. Personal Profile 4. Personal Digital Assistance (PDA) 2.2.3 Configuration Suatu configuration menggambarkan fitur minimal dari lingkungan lengkap java runtime. untuk menjamin kemampuan portabilitas dan interoperabilitas optimal diantara berbagai macam perangkat yang dibatasi sumber dayanya (memory, prosesor, koneksi yang dibatasi), configuration tidak menggambarkan fitur tambahan. Suatu configuration J2ME menggambarkan suatu komplemen yang minimum dari teknologi java. adalah merupakan tugas profile-profile untuk menggambarkan tambahan library untuk suatu kategori perangkat tertentu. Configuration menggambarkan: a. Subset bahasa pemrograman JAVA b. Kemampuan Java Virtual Machine (JVM) c. Core platform libraries d. Fitur sekuriti dan jaringan J2ME mempunyai dua konfigurasi yaitu Connected Limited Device Configuration (CLDC) dan Connected Device Configuration (CDC). 2.2.4 MMAPI (Mobile Media Application Programming Interface) Mobile Media API adalah paket tambahan yang mendukung aplikasi multimedia di peralatan J2ME. Ini adalah standar Java yang ditetapkan oleh Java Community Process (JCP) dalam JSR 135. Standar ini didesain fleksibel jalan di beberapa protokol dan format. Contoh penerapannya tidak harus dengan protokol HTTP, Real-Time Transport Protokol (RTP), media dengan format MP3, MIDI atau MPEG-4 saja. Mobile Media API (MMAPI) memungkinkan kita untuk menciptakan nada, mengakses kamera, memutar serta merekam audio dan video dari device yang kompatibel. 2.2.5 Arsitektur MMAPI Gambar 2.1 Arsitektur MMAPI Manager menciptakan Player dari DataSource. Manager memiliki method untuk menciptakan Player dari media locator (lokasi URL), DataSource, dan InputStream. DataSource menangani mekanisme pengambilan data dari sumber yang telah ada. Sumber yang ada bisa dari file JAR atau dari jaringan (via HTTP), record dari sebuah RMS, koneksi streaming dari server, atau dari sumber lain. Player tidak perlu mengatur tentang darimana data datang dan data mana yang diambil, yang perlu dilakukan oleh Player adalah membaca data dari DataSource, kemudian menampilkan atau memutar media ke device output. Siklus Player terdiri dari lima keadaan yaitu: UNREALIZED, REALIZED, PREFETCHED, STARTED dan CLOSE. Menghasilkan enam transisi keadaan yaitu: realize(), prefetch(), start(), stop(), deallocate(), close(). 2.3 2.3.1 Bluetooth Sejarah Bluetooth Bluetooth adalah nama orang, yaitu Harold Bluetooth (dalam bahasa Inggris) atau Harald Blatand (bahasa Denmark), raja Viking Denmark di tahun 940-985, yang berhasil melanjutkan perjuangan ayahnya raja Gorm Dek Gammel, mempersatukan Denmark dengan Norwegia. Nama Bluetooth mengesankan akan gambaran gigi seseorang yang berwarna biru atau butut. Konotasi demikian tidaklah jauh keliru, karena menurut cerita mitologi, Raja Viking Denmark itu konon berambut dan berkulit gelap. Ia gemar makan blueberries atau arbei, maka layak bila gigi Blatand menjadi kebiru-biruan atau Blue tooth. Nama Bluetooth diberikan untuk teknologi wireless ini oleh Telefonaktiebolagest LM Ericsson, perusahaan besar telepon mobile Swedia, ketika pertama kali dikembangkan pada pertengahan tahun 1990. 2.3.2 Pembagian Kelas Bluetooth Perangkat Bluetooth umumnya dapat saling berkomunikasi pada dalam jangkauan 1 – 100 m. Jarak maksimal dapat dihasilkan tergantung dari daya output yang digunakan dalam modul Bluetooth . Modul Bluetooth disini biasanya berupa satu IC chip komunikasi khusus yang telah di implementasikan protokol Bluetooth. Terdapat tiga kelas Bluetooth berdasarkan daya output dari jarak jangkauannya seperti pada table dibawah ini: Tabel 2.1 Klasisfikasi Daya Pancar Radio Bluetooth Kelas Daya 1 2 3 2.4 Daya output maksimum [mW] <100 (20dBm) 1 - 2,5 (4 dBm) 1 mw (0dBm) Jangkauan /Range[meter] 100 10 0,1 - 1 Netbeans IDE 6.9.1 NetBeans IDE (integrated development environment) adalah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman Java menggunakan platform NetBeans. NetBeans IDE dapat berjalan pada Windows, Mac, Linux, dan Solaris yang mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring. Netbeans bersifat modularitas, maksudnya adalah fungsi IDE di sediakan oleh modul-modul. Tiap modul menyediakan fungsi yang didefinisikan dengan baik, seperti dukungan untuk bahasa pemrograman Java, editing, atau dukungan bagi CVS. NetBeans memuat semua modul yang diperlukan dalam pengembangan Java dalam sekali download, memungkinkan pengguna untuk memulai bekerja sesegera mungkin. Modul- modul juga mengijinkan NetBeans untuk bisa dikembangkan. 3. 3.1 Analisa Dan Perancangan Analisa Kebutuhan Sistem Analisis kebutuhan sistem dilakukan untuk mengetahui apa saja yang dibutuhkan pada pembuatan aplikasi Bluescm yang meliputi proses pembuatan, kebutuhan pada tahap pengujian dan implementasi. Analisis yang perlu dilakukan yaitu analisis kebutuhan perangkat keras dan analisis kebutuhan perangkat lunak. 3.2 Kebutuhan Perangkat Keras 1. Notebook Pembuatan aplikasi Bluescm ini membutuhkan perangkat komputer untuk menuliskan kode program, baik kode program untuk aplikasi client maupun kode program untuk aplikasi server. Perangkat komputer yang digunakan oleh penulis yaitu notebook acer aspire 4710 beserta kelengkapannya dengan spesifikasi sebagai berikut: Tabel 3.1 Spesifikasi Notebook Acer Aspire 4710 Perangkat Keras Prosesor Motherboard RAM Display Hardisk Optical Drive Keyboard Mouse Network Spesifikasi Intel Core Duo T2450 @2,00 GHz Acer Volvi (U2E1) Visipro DDR2 2048 Mbytes Mobile Intel® 945 Express Chipset Family, 14,1” @ 1280x800 Seagate ST9250315AS ATA Device (SATA) 250 GB Optiarc DVD RW AD-7560A ATA Device Embedded Keyboard Logitech Value Optical - Intel(R) PRO/Wireless 3945ABG dan - Broadcom Netlink Gigabit Ethernet 2.Handphone Perangkat handphone yang digunakan untuk menjalankan aplikasi ini adalah handphone yang minimal memiliki dukungan java dengan profile MIDP 2.0 dan konfigurasi CLDC 1.1. Adapun perangkat handphone yang digunakan pada pembuatan aplikasi Bluescm ini adalah Nokia 5320 Xpress Music dengan spesifikasi sebagai berikut: Tabel 3.2 Spesifikasi Handphone Nokia 5320 Xpress Music Nokia 5320 Xpress Music Berat Memory Internal Dimensi Kamera Layar Java Bluetooth 3.3 Spesifikasi 90 g 140 MB 108 x 46 x 15 mm, 67 cc 2 MP, 1600x1200 pixels, LED Flash TFT 16 M warna MIDP 2.1 v2.0 A2DP Kebutuhan Perangkat Lunak Perangkat lunak yang digunakan dalam perancangan aplikasi ini adalah sebagai berikut: Tabel 3.3 Kebutuhan Perangkat Lunak Perangkat Lunak Windows 7 Ultimate Keterangan System operasi yang digunakan dalam Netbeans 6.9.1 pembuatan aplikasi ini. Software IDE dengan Visual Paradigm for UML 7.2 pemrograman java Software ini digunakan untuk pembuatan Enterprise Edition GUI Design Studio 4.1 UML diagram Digunakan untuk perancangan antarmuka bahasa 3.4 3.4.1 Perancangan Sistem Use Case Diagram Use Case Diagram menggambarkan proses yang terjadi didalam aplikasi ini. Selain itu, hubungan antara proses satu dengan yang lain, begitu juga hubungan antara pengguna dengan proses yang terdapat didalam aplikasi. Use menjelaskan secara naratif bagaimana sistem yang akan digunakan menggunakan skenario untuk menjelaskan setiap aktifitas yang mungkin terjadi. Gambar 3.1 Use Case Diagram 3.4.2 Activity Diagram Activity Diagram menggambarkan aliran kejadian suatu aplikasi. Pada diagram ini digambarkan aliran kerja suatu proses menggunakan text yang mudah dibaca oleh pengguna. Rancangan activity diagram menggambarkan diagram aktifitas dua pengguna aplikasi yaitu client dan server. Komponen utamanya adalah state dan message. Pada perancangan ini dibuat dua activity diagram agar alur program lebih mudah untuk dipahami. Gambar 3.2 Activity Diagram Client Gambar 3.3 Activity Diagram Server 3.4.3 Class Diagram Fungsi Class Diagram adalah untuk menjelaskan tipe dari sebuah sistem dan hubungan-hubungannya (relationships) yang dibagi menjadi tiga bagian yaitu class, attribute yang dimiliki juga method yang akan dijalankan. Rancangan class diagram dari aplikasi ini dijelaskan pada gambar berikut : 1. Class Diagram Client Gambar 3.4 Class Diagram Client 2. Class Diagram Server Gambar 3.5 Class Diagram Server 3.4.4 Sequence Diagram 1. Sequence Diagram Client Gambar 3.6 Sequence Diagram Client 2. Sequence Diagram Server Gambar 3.7 Sequence Diagram server 4. Implementasi Dan Pembahasan Bluescm adalah aplikasi kamera pengintai untuk yang berjalan pada handphone java dengan kebutuhan memori yang cukup besar. Dengan memanfaatkan Bluetooth sebagai media transmisi gambar, aplikasi ini mampu mengirimkan gambar ke aplikasi server yang berjalan pada komputer. Persyaratan yang harus dipenuhi untuk menjalankan aplikasi Bluescm yaitu Bluetooth dan kamera serta memori internal yang cukup besar. Besar memori internal handphone yang digunakan pada penelitian ini adalah 140MB. Aplikasi Bluescm dibuat dalam dua bagian, yaitu client dan server. Pada bagian client dirancang sebagai kamera pengintai. Perancangannya menggunakan J2ME. Sedangkan pada bagian server dirancang menggunakan J2SE (bersifat desktop application) dan diimplementasikan sebagai monitor untuk melihat apa yang telah ditangkap oleh kamera handphone. Agar aplikasi kamera pengintai pada Bluescm client dapat dijalankan, aplikasi Bluescm server harus dijalankan terlebih dahulu. Karena keduanya saling berhubungan sehingga tidak dapat dijalankan secara sepihak. 5. Kesimpulan Dari uraian pada bab-bab yang telah dibahas sebelumnya, penulis dapat memperoleh kesimpulan sebagai berikut: 1. Aplikasi Bluescm berfungsi sebagai alat untuk melihat atau memantau keadaan yang sedang terjadi disebuah ruangan. 2. Bluescm membuat perangkat Bluetooth pada handphone yang biasanya hanya digunakan sebagai alat transfer data oleh kebanyakan orang menjadi lebih bermanfaat. DAFTAR PUSTAKA Hariyanto, Bambang. 2007. Esensi-esensi Bahasa Pemrograman JAVA. Informatika: Bandung Nugroho, Adi, 2009. Rekayasa Perangkat Lunak Menggunakan UML dan JAVA. Andi: Yogyakarta Shalahuddin, M., A.S, Rosa,. 2010. Pemrograman J2ME, Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile. Informatika: Bandung Discovering Bluetooth device in Java ME, http://wiki.forum.nokia.com/index.php/CS001211Discovering_Bluetooth_device_in_Java_ME diakses tanggal 21 Februari 2011 Java Overview, http://www.oracle.com/technetwork/java/overview-142076.html diakses pada 28 Oktober 2010 MMAPI Overview, http://developers.sun.com/mobility/midp/articles/mmapioverview diakses tanggal 9 Januari 2011 Teknologi, arsitektur dan protokol Bluetooth, http://www.andisun.com/jurnal/overview-teknologi-arsitektur-dan-protokolbluetooth diakses tanggal 26 Oktober 2010