HALAMAN JUDUL
REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME
Naskah Publikasi
diajukan oleh Sandy Fauzan Prasaja 07.11.1494
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011
HALAMAN PENGESAHAN
HALAMAN ABSTRACT REMOTE MONITORING (WEBCAM) BASED J2ME APPLICATION REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME Sandy Fauzan Prasaja Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Surveillance camera is a technology that is designed as a security monitoring tool.The number of criminal acts is one reason the use of surveillance cameras. Manytechnologies are used as examples of CCTV and IP cameras. Unfortunately to have these tools are very expensive. Therefore, the author tries member solution to this problem is to build applications using a webcam surveillance cameras in place of the CCTV devices. Application monitoring camera is an application made by the programming language Java 2 Micro Editio and running on her mobile device Java platform.The functions of this application is as a tool to record activities or events that occurin a place with the use of mobile devices. This application works just like CCTV orIP camera, using camera technology capable of streaming and image data streaming realtime. Transmission media used for data transmission that is with Capture.Because of not using too much bandwidth, enough with streaming files form the image. In its design, the camera application monitors implement client server database.One device acts as a server and a set of longer act as a client. From the client side,the hardware required is a phone with java application support, webcams as input to the server. Webcam as a camera monitor is connecting to the server and application webcamXP as monitoring devices that are installed on the server. Keywords: J2ME, Webcam, Mobile Device
1.
Pendahuluan Sistem keamanan menggunakan kamera (webcam) sebagai pemantau adalah
suatu rangkaian pemancar yang memodulasi sinyal video atau image dari sumber yang berupa kamera pemantau. Sistem yang di buat untuk melihat keadaan ruangan atau tempat-tempat umum yang bisa di pantau langsung pada aplikasi J2ME. Dengan begitu keamanan bisa terpantau oleh aplikasi J2ME yang di install pada handphone untuk melihat situasi dan kondisi tertentu. Pemantauan dengan menggunakan kamera (webcam) menampilkan output gambar atau video tidak begitu menghasilkan hasil yang maksimal, seperti camera CCTV atau camera Video. Kamera (webcam) hanya bisa menghasilkan Video yang di tampilkan sebagai media output di monitor. Tujuan dibuatnya Remote Pemantau (webcam) berbasis J2ME adalah sistem Camera (Webcam) yang memantau keadaan sekitar objek yang didapat, dan selanjutnya digunakan sebagai input dari media Camera (webcam) yang terpantau hasil outputnya dengan menggunakan aplikasi yang di buat berbasiskan J2ME. Aplikasi ini di buat agar user dapat memantau situasi dan kondisi terpadu dengan menggunakan Handphone, yang juga praktis dan dapat memantau di mana saja kita berada. 2.
Landasan Teori
2.1
Java Java adalah bahasa pemrograman yang disusun oleh James Gosling yang
dibantu oleh rekan-rekannya seperti Patrick Naugton, Chris Warth, Ed Frank dan Mike Sheridan disuatu perusahaan perangkat lunak yang bernama Sun Microsystem, pada tahun 1991. Bahasa pemrograman ini mula-mula diinisialisasikan dengan nama “Oak” namun pada tahun 1995 di ganti namanya menjadi “Java”. Alasan utama pembentukan bahasa Java adalah untuk membuat aplikasi-aplikasi yang dapat diletakkan diberbagai macam perangkat elektronik, seperti microwave oven dan remote control, sehingga java harus bersifat portable atau yang sering disebut dengan platform independent (tidak tergantung pada platform). Itulah yang menyebabkan dalam pemrograman java, dikenal adanya istilah “write once, run everywhere”, yang berarti kode program hanya ditulis sekali, namun dapat dijalankan di bawah platform manapun, tanpa harus melakukan perubahan kode program. 2.2
Arsitektur Java Arsitektur dari Java tidak berubah sedikitpun sejak awal mula bahasa itu dirilis.
Kompiler
Java
(yang
disebut
dengan
Javac
atau
Java
Compiler)
akan
mentransformasikan kode-kode dalam bahasa java ke dalam suatu bytecode. Apa itu bytecode? Bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat di 1
eksekusi melalui sebuah mesin komputer abstrak yang disebut dengan JVM (Java Virtual Machine). JVM juga sering dinamakan sebagai interpreter, karena sifatnya yang selalu menerjemahkan kode-kode yang tersimpan dalam bytecode dengan cara baris demi baris. 2.3
J2ME J2ME merupakan teknologi java yang digunakan untuk device yang memiliki
memori terbatas. Misalnya HP, Pager, dan PDA (Personal Digital Assistance) dan sejenisnya. Komponen-komponen J2ME terdiri dari Java Virtual Machine (JVM) yang digunakan untuk menjalankan aplikasi java pada emulator atau handleld device. Java API (Aplication Programming Interface) dan tools lain. Untuk pengembangan aplikasi java semacam emulator Java Phone dari J2ME wireless toolkit. Pada dasarnya J2ME adalah bagian dari J2SE, namun ada beberapa library khusus pada J2ME yang tidak memiliki oleh J2SE. Pengembangan aplikasi wireless dengan Java, J2ME di bagi menjadi dua buah bagian inti yaitu Configuration dan Profil. 2.4
MIDlet MIDlet merupakan aplikasi yang berjalan pada sebuah perangkat yang
mendukung MIDP. Aplikasi MIDlet dibuat menggunakan J2ME dengan profil Mobile Information Device Profile (MIDP). MIDP di khususkan untuk digunakan pada Handset dengan kemampuan CPU, Memori, Keyboard dan Layer yang terbatas, seperti handphone page, PDA dan sebagainya. Kehidupan MIDlet dimulai ketika di instantiate oleh AMS. MIDlet pada awalnya masuk status Pause setelah perintah baru di buat. AMS memanggil Constructor, MIDlet memasuki status Destroyed dan membuangnya segera. MIDlet masuk ke dalam status Active atas pemanggilan method destroyApp(). Status ini juga kembali di akses ketika method notifyDestroyed(). MIDlet hanya bisa memasuki status Destroyed sekali dalam masa hidupnya. 2.5
Software Yang Digunakan
2.5.1
Netbeans 6.9.1 Pada tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika
Universitas Charles, Praha, diadakan sebuah proyek mahasiswa yang diberi nama Xelfi. Proyek inilah yang menjadi awal pengembangan NetBeans. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan menghasilkan versi komersial IDE (Integrated Development Enterprise) NetBeans. Namun pada 1999 Sun Microsystem membeli proyek ini kemudian menjadikan NetBeans open sorce pada bulan Juni tahun 2000. 2
Di dalam NetBeans, semua perancangan dan perancangan pemrograman dilakukan di dalam kerangka sebuah proyek. Proyek NetBeans merupakan sekumpulan file yang dikelompokkan di dalam satu kesatuan. Pada umumnya sebuah proyek, beserta file-file isinya, akan ditempatkan di dalam satu direktori. Meskipun demikian ada juga proyek yang dapat menangani file-file yang terpisah direktorinya. Platform NetBeans menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembangan untuk popul ke logika yang spesifik terhadap aplikasi. Fitur-fitur yang disediakan oleh platform NetBeans : a) Manajemen antarmuka (misal: menu & toolbar) b) Manajemen pengaturan pengguna c) Manajemen penyimpanan (menyimpan dan membuka berbagai macam data) d) Manajemen jendela e) Wizard framework (mendukung dialog langkah demi langkah) Sejak Juli 2006, NetBeans IDE dilisensikan di bawah Common Development and Distribution License (CDDL), yaitu lisensi yang berbasis Mozilla Public License (MPL). Keunggulan NetBeans diantaranya adalah : 1. NetBeans GUI Builder gratis dengan ribuan plug In yang bisa di
download
langsung di webiste resminya, maupun dari pihak ketiga. 2. NetBeans GUI Builder sangat kompetebel dengan Swing karena memang langsung dikembangkan oleh Sun yang notabenennya sebagai pengembang Swing. 3. NetBeans tidak hanya dapat digunakan buat java saja, karena NetBeans dapat digunakan untuk bahasa pemrograman lain seperti C/C++, Ruby, dan PHP. 4. NetBeans GUI Builder sangat cocok untuk digunakan dalam pengembangan sistem berskala Enterprise. 5. Pada paket tertentu, NetBeans juga menyertakan GlassFish V2 UR2 dan Apache Tomcat 6.0.16.
2.6
Aplikasi WebcamXp WebcamXP adalah sebuah program yang dapat digunakan untuk monitoring satu
atau lebih beberapa kamera untuk dapat mendeteksi setiap gerakan yang terjadi. WebcamXP merupakan salah satu program aplikasi yang cukup lengkap dengan berbagai macam fasilitas yang sangat membantu untuk sistem pengawasan. Hasil keluaran software WebcamXP ini dapat berupa file jpeg dan video MPEG. Seluruh fasilitas WebcamXP bisa di lihat di http://www.webcamxp.com/products.aspx dan
3
untuk tutorial http://www.portoforward.com/. Namun pada perancangan sistem kamera pengawasan ini hanya memanfaatkan rekaman gambar saat terjadi gerakan. Format file gambar yang tersimpan dalam hardisk dalam bentuk .jpg. Aplikasi ini bisa digunakan sebagai software untuk mengatasi lingkungan sekitarnya. Fungsi yang lain, software ini juga bisa digunakan bersama aplikasi chating seperti
yahoo
messenger,
skype
dan
aplikasi-aplikasi
yang
lain.
Jika
ingin
menggunakannya secara personal, aplikasi ini bisa mendownloadnya secara gratis (free). Tetapi, jika ingin menggunakannya pada banyak perangkat kamera itu harus memberi lisensinya, karena versi gratis hanya tersedia untuk versi personal. 2.6.1
Fitur-fitur WebcamXP
1) Dijalankan sebagai layanan baru. 2) Local, Remote pan dan Tilt Control (Logitech Orbit, Creative Live Motion dan IP Camera). 3) Support FTP/FTPS dan HTTP/HTTPS Post. 4) Detektor gerak (optik atau akustik) dengan cara banyak kemungkinan untuk menangani alert (rekaman lokal, ftp, http post,external aplikasi). 5) Overlay editor mendukung gambar dalam gambar, animasi gifs, alpha-blending dan editor teks. 6) DVR (rekaman permanen dihapus setelah jam X). 7) Fitur WebcamXP bisa menjadikan layanan yang sudah di sediakan di semua versi WebcamXP 5.3, versi layanan secara otomatis terinstall selama installasi sesuai dengan prosedur dari layanan Windows dan memiliki nama “WebcamXP Service” atau “Webcam 7 Service”. 8) Streaming audio dan video hanya tersedia dalam mode tertentu, itu terjadi di Windows modus Streaming Media untuk WebcamXP dan juga untuk mode Flash Streaming FLV di Webcam 7. Modus streaming yang lain seperti (javascript, flash, dll).
3.
Analisis
3.1
Tinjauan Umum Aplikasi Remote pemantau Berbasiskan J2ME merupakan aplikasi yang dapat
memantau kamera pengintai yang dibangun menggunakan bahasa pemrograman J2ME dengan WebcamXP sebagai media capture gambar. Ditinjau dari segi fungsi, terdapat kesamaan dengan kamera pengintai lain seperti CCTV atau IP Camera yaitu sama-sama mampu mengirimkan dan melihat gambar streaming dari perangkat client ke server. Hanya saja perangkat yang digunakan pada aplikasi ini adalah perangkat mobile. Secara
4
teknis, aplikasi ini memanfaatkan dua perangkat mobile sebagai client dan server. Penentuan perangkat client dan server diatur oleh program. Aplikasi Remote pemantau Berbasiskan J2ME memudahkan pengguna untuk memanfaatkan perangkat handphone menjadi sebuah remote pengintai. Hal ini merupakan sebuah solusi untuk menjaga keamanan dengan biaya rendah. Hanya dengan kamera (Webcam) sebagai pengintai dan perangkat handphone untuk menjalankan aplikasi ini. Tidak hanya untuk keamanan, fungsi aplikasi ini juga dapat digunakan untuk mengirimkan SMS (Short Message Service). 3.2
Analisis Kebutuhan Sistem Analisis kebutuhan sistem dilakukan untuk mengetahui apa saja yang dibutuhkan
pada pembuatan aplikasi Remote Pemantau 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.1
Kebutuhan Perangkat Keras (Hardware) Pembuatan aplikasi Remote Pemantau ini membutuhkan perangkat komputer
untuk menuliskan kode program dan kompilasi agar dapat dijalankan pada perangkat handphone. Perangkat komputer yang digunakan yaitu : 1. Notebook Compaq 515 2. Server 3. Handphone E63 4. Webcam Logitech Quickcam Pro 4000 3.2.2
Kebutuhan Perangkat Lunak (Software) Perangkat lunak yang digunakan dalam perancangan aplikasi ini adalah sebagai
berikut: 1. Linux Amigos (Amikom Go Open Source (Anselia)) 2.6.32-22 2. Windows XP (Service Pack-2, 32-bit) 3. NetBeans 6.9.1 4. WebcamXP Pro 5.5.0
3.3
Perancangan Sistem Perancangan ini disusun dengan prosedur yang telah di tentukan oleh penulis
yaitu merancang dari user dengan berlangganan hak akses internet kepada provider yang telah ditentukan, selain itu server harus memiliki pula akses online internet yang
5
memiliki IP Public tersendiri untuk dapat mendeteksi port dari kamera (webcam) yang akan di akses secara online. Perancangan aplikasi Remote Pemantau meliputi rancangan sistem yang akan dibangun (use case diagram), rancangan alur sistem (activity Diagram), rancangan obyek (class diagram), rancangan integrasi antar obyek (sequence diagram), dan rancangan tampilan (user interface). Tujuannya adalah untuk mempermudah program untuk dipahami serta memudahkan program untuk dikembangkan
oleh pengembang
selanjutnya.
Gambar 3.1 Deskripsi Remote Pemantau Gambar diatas menjelaskan cara kerja remote pemantau dari mulai user mengakses melalui handphone sampai Kamera Webcam yang sedang mematau. Cara kerja akses melalui provider yang di pakai oleh user tersebut, setelah itu provider langsung mengakses ke Web Server, dari Web Server lalu mengambil data dari Camera Server sebagai media penyimpan untuk data Kamera Webcam. Setelah Capture dari user yang di inginkan maka data file gambar .jpg tersebut di kirimkan kembali dari proses Web Server, lalu balik lagi melalui providernya yang user pakai dan langsung data di terima dari handphone User dengan bentuk gambar. 3.3.1
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. Perancangan use case diagram akan dibagi menjadi dua bagian, yaitu bagian server dan client.
6
Gambar 3.2 Use Case Diagram 3.3.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. Pada activity diagram akan digambarkan diagram aktifitas 2 pengguna aplikasi yaitu client dan server. Komponen utamanya adalah state dan message.
Gambar 3.3 Activity Diagram 3.3.3
Class Diagram Class Diagram fungsinya 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 :
7
Gambar 3.4 Class Diagram (Client) 3.3.4
Squence Diagram Sequence Diagram merupakan permodelan dari use case diagram dan class
diagram yang menjelaskan alur kerja sistem secara terperinci.
Gambar 3.5 Sequence Diagram (Client)
4.
Hasil Pembahasan Dan Hasil
4.1
Implementasi Sistem Implementasi sistem (system implementasi) merupakan tahapan meletakkan
sistem yang diusulkan atau yang dikembangkan supaya nantinya sistem tersebut siap untuk dioperasikan sesuai dengan yang di terapkan. 4.1.1
Implementasi Aplikasi WebcamXP Aplikasi WebcamXP ini didistribusikan secara gratis bila menggunakannya
secara personal, aplikasi ini bisa mendownloadnya secara gratis. Dan bila memang ingin menambahkan kamera lebih dari satu maka harus membayar lisensinya saja. Aplikasi
8
WebcamXP memberikan fasilitas antara lain image dan video, bisa di buat file .jpg dan .mpeg.
Gambar 4.1 Tampilan Awal WebcamXP Gambar di atas menunjukan aplikasi wecamXP dapat digunakan, pada proses tersebut sebelumnya harus setting camera terlebih dahulu pada tampilan gambarnya webcamXP atau bisa pula di sebelah kanannya yang berupa kotak-kotak di klik kanan dan nanti akan muncul PCI/USB (WDM Driver) untuk memilih layanan yang akan di pilih sesuai dengan Kamera. 4.1.2
Implementasi Aplikasi Remote Pemantau Aplikasi Remote Pemantau hanya dapat di gunakan dengan 1 User saja dan
Admin dapat pula menggunakannya. Karena aplikasi ini di tujukan hanya untuk 1 user yang ingin membangun pemantauan hanya dengan genggaman (handphone). Berikut ini pembahasan tentang aplikasi remote pemantau yang penulis buat dengan nama (Ningali).
4.2
Hasil Uji Coba Tabel 4.1 Hasil Uji Coba Client Tampilan
di
samping
ini
user
harus
menginputkan User_Name dan Password terlebih
dahulu,
ini
sebagai
security
pertama. Sebagai contoh, User_name : user Password : user
9
Setelah
menginputkan
Password,
user
User_Name
harus
dan
menginputkan
kembali Keygen sebagai keamanan ke-2, karena user_name dan password untuk keamanan masih banyak yang bisa buka, untuk itu program di buat menjadi 2 sistem keamanan yaitu user Login dan Keygen. Sebagai contoh input : Keygen : 141289 Tampilan
selanjutnya
yaitu
mode,
ini
sebagai layanan menu utuk user. User bisa menggunakan camera terlebih dahulu atau kebalikannya user juga bisa menggunakan SMS.
Setelah user memilih mode dengan salah satu yaitu camera, untuk tahap selajutnya user bisa menginputkan kembali URL IP dari camera servernya. Sebagai contoh URL dari skripsi ini di buat : URL : http://192.158.1.100:8080/cam_1.jpg Gambar di samping adalah hasil akhir capture dari aplikasi webcamXP yang di pantau dari handphone dengan bentuk gambar.
10
Tampilan mode dari SMS, tampilan di samping user dapat mengirimkan pesan berbentuk teks saja dari program yang di buat. Tampilan teks ini hanya 255 kata yang di inputkan.
Selanjutnya user menginputkan nomor handphone, pada proses input nomor handphone user dapat menginputkan secara manual atau bisa juga dengan menginputkan nomor handphone yang sudah tersimpan di memori handphone. Setelah itu akan ada pesan untuk melanjutkan proses kirim pesan.
Tabel 4.2 Hasil Uji Coba Server Tampilan utama dari aplikasi WebcamXP yang mana aplikasi ini hanya di install dan menyimpan hasil data capture pada server. Aplikasi ini sebelumnya di setting terlebih dahulu kamera yang akan di pakai, pada dasarnya kamera yang lebih di utamakan untuk settingan.
Inilah tampilan setting kamera sebelum kamera di gunakan, pengaturan kamera yang akan di gunakan ini cek kamera sudah connect dengan aplikasi ini. Pengecekan bisa dilihat dari tampilan logo aplikasi webcamXP tersebut dan klik kanan PCI/USB(WDM Driver) nanti ada tampilan kamera yang di pakai.
11
Ini hasil dari settingan pertama untuk menghasilkan tampilan dari kamera yang telah aktif. Dari hasil tampilan kecil ini bisa pula menjadi tampilan yang lebih besar.
Gambar di samping hasil tampilan perbesar pemantauan dari aplikasi webcamXP, kamera yang bisa di pakai dan menampilkan hanya dengan 4 kamera jumlah yang paling maximum.
Selain dari aplikasinya untuk memantau, gambar disamping ini menunjukan pula pemantauan dari web-browser dengan alamat HTTP(HyperText Transfer Protocol) dan port dari connect kamera tersebut. Dari pemantauan dengan menggunakan web-browser ini sama saja fiturfitur yang ada di aplikasinya.
5.
Kesimpulan Kesimpulan yang dapat diambil adalah sebagai berikut : 1. User bisa leluasa memantau keadaan lokasi yang telah di pasang kamera pengintai hanya dengan menggunakan handphone, karena handphone sebagai media pengganti dari komputer. Oleh karena itu user bisa memantau dimana saja berada yang terpenting ada layanan jaringan GPRS dari provider yang user pakai. 2. Aplikasi ini hanya bisa memantau kamera (webcam) dan mengirimkan SMS secara praktis dan efisien dengan menggunakan handphone yang support dengan Java Mobile (.jar).
12
HALAMAN DAFTAR PUSTAKA Daftar Pustaka Fowler, Martin. UML Distilled Edisi Ketiga, Penerbit Andi, Yogyakarta, 2005. JENI (Java Educational Network Indonesia). 2007. Pengembangan Perangkat Mobile. Moonware Studios 2010. Documentation. http://www.webcamxp.com/support.aspx. Diakses 30 April 2011. Muhammad Hakim. A 2009. Java ME (J2ME), simulating mobile phone camera using PC Webcam. http://jampasir.wordpress.com/2009/03/08/java-me-j2me-simulatingmobile-phone-camera-using-pc-webcam/. Diakses 28 April 2011. Salahuddin M. dan A.S Rosa 2008. Pemrograman J2ME (Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile). Bandung : Penerbit Informatika.
13