REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME...

16
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

Transcript of REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME...

HALAMAN JUDUL

REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME

Naskah Publikasi

diajukan oleh

Sandy Fauzan Prasaja

07.11.1494

kepadaSEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOMYOGYAKARTA

2011

HALAMAN PENGESAHAN

HALAMAN ABSTRACT

REMOTE MONITORING (WEBCAM) BASED J2ME APPLICATION

REMOTE PEMANTAU (WEBCAM) BERBASIS APLIKASI J2ME

Sandy Fauzan PrasajaJurusan 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 User_Name dan

Password, user harus 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 fitur-fitur 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-simulating-mobile-phone-camera-using-pc-webcam/. Diakses 28 April 2011.

Salahuddin M. dan A.S Rosa 2008. Pemrograman J2ME (Belajar Cepat Pemrog-raman Perangkat Telekomunikasi Mobile). Bandung : Penerbit Informatika.

13