• Tidak ada hasil yang ditemukan

Bab ini berisi kesimpulan dan saran dari hasil analisa, implementasi dan pengujian sistem.

8

BAB II LANDASAN TEORI

2. 1. Pengertian CCTV (Closed-Circuit-Television)

Definisi sederhana dari CCTV adalah sebuah kamera video digital yang difungsikan untuk memantau suatu ruang dan mengirimkan sinyal video, dimana sinyal tersebut akan diteruskan ke sebuah layar monitor. Dapat dikatakan bahwa CCTV merupakan sistem televisi tertutup yang menggunakann kamera video untuk mengambil gambar maupun video dari suatu ruangan atau tempat tertentu, yang selanjutnya ditransmisikan ke penerima dengan menampilkannya dalam monitor. CCTV digunakan dalam berbagai macam aplikasi yang meliputi keamanan, pencegahan bencana, promosi penjualan dan layanan informasi, manajemen produksi,

industrial measurement, perawatan kesehatan, serta bidang pendidikan dan militer.

Meskipun disebut televisi, namun CCTV berbeda dengan televisi

broadcast dimana sinyal ditransmisikan secara tertutup melalui titik-titik site link wireless, koneksi fiber optic, ataupun menggunakan jaringan public VPN. CCTV biasanya digunakan untuk area-area tertentu yang memputuhkan keamanan, seperti bank, pusat pedagangan (retail shop), badar udara, atau instansi militer. Selain yang telah disebutkan di atas, perangkat ini juga dapat dimanfaatkan untuk memonitor trafik lalu lintas jalan raya. Seiring berkembangnya jaman, CCTV kerap kali dimanfaatkan

oleh masyarakat umum untuk memantau kondisi di sekitar temapt tinggalnya. Maraknya tidak kejahatan yang dapat terjadi dimana pun dan kapan pun tersebut membuat pemanfaatan CCTV semakin meluas, tidak hanya terbatas pada tempat-tempat umum namun juga dapat dimanfaatkan oleh masing-masing individu yang membutuhkannya untuk memberikan suatu system keamanan bagi lingkungannya.

2. 2. Citra Digital

2.2.1. Pengertian Citra Digital

Citra adalah gambar pada bidang dua dimensi yang menggambarkan suatu visualisasi obyek. Dalam tinjauan matematis, citra merupakan fungsi kontinu dari intensitas cahaya pada bidang dua dimensi. Citra dapat diwujudkan dalam bentuk tercetak ataupun digital. Citra digital merupakan sebuah larik (array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan dengan deretan bit tertentu. Suatu citra dapat didefinisikan sebagai fungsi (x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila nilai x, y, dan nilai amplitudo f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital.

x,y) disebut dengan picture elements, image elements, pels, atau

pixels. Dalam komputer, citra digital disimpan sebagai suatu file dengan format tertentu. Format citra tersebut menunjukan cara sebuah citra digital disimpan.

2.2.2. Piksel

Setiap pixel mewakili tidak hanya satu titik dalam sebuah citra, melainkan sebuah bagian berupa kotak yang merupakan bagian terkecil (sel). Nilai dari sebuah pixel haruslah dapat menunjukkan nilai rata-rata yang sama untuk seluruh bagian dari sel tersebut. Berikut merupakan model citra untuk menunjukan pixel:

Gambar 2. 1 : Model Citra

kolom

baris

2.2.3. Pengolahan Citra Digital

Pengolahan citra merupakan pemrosesan pada citra atau gambar dengan cara memproses numerik dari gambar tersebut untuk menghasilkan suatu citra yang lain. Pemrosesan tersebut dilakukan pada masing-masing pixel atau titik dari citra yang hendak diolah. Pengolahan citra tersebut bertujuan untuk mengolah gambar sehingga menghasilkan gambar lain yang sesuai dengan keinginan.

2.2.4. Format File Citra

Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini digunakan dalma menyimpan citra dalam sebuah file. Setiap format memiliki karakteristik masing-masing. Beberapa format umum digunakan saat ini adalah

Bitmap (.bmp), Tagged Image Format (.tif, .tiff), Portable Network Graphics (.png), JPEG (.jpg), MPEG (.mpg), Graphics Interchange Format (.gif), RGB (.rgb), RAS (.ras), Postscript (.ps, .eps, .epfs), Portable Image File Format, PPM, PGM, PBM.

2.2.5. Threshold

Threshold adalah image processing dimana melakukan pengolahan pixel pada suatu citra atau menghilangkan beberapa pixel dan juga mempertahankan beberapa pixel sehingga

menghasilkan citra baru hasil sortir pixel yang telah dilakukan. Dalam computer vision, threshold digunakan agar dapat mempermudah dalam proses identifikasi ataupun perbandingan dari dua atau lebih citra. Berikut adalah fungsi threshold terhadap suatu citra pada persamaan (1):

Dalam threshold sendiri pada dasarnya ada dua operasi. Pertama menggunakan fungsi prediksi dari suatu koordinat pada suatu citra yaitu sumbu g(x,y) dan h(x,y) yang konstan dilakukan di dalam citra. Sementara itu, cara kedua dengan melakukan perbandingan dari hasil perbandingan sebelumnya dengan fungsi h(x,y) dengan tujuan untuk mengekstrak daerah brightness dan

contrast. Hasil threshold dari suatu image biasanya akan dipakai dalam berbagai teknik dalam computer vision seperti pencarian

contour, penggambaran contour dan tracking atau motion.

2.3. Android

Android merupakan system operasi yang dikembangkan untuk perangkat mobile berbasis Linux. Pada awalnya system operasi ini dikembangkan oleh Android Inc. yang kemudian dibeli oleh Google pada tahun 2005. Sistem operasi Android dibangun berdasarkan kernel Linux dan memiliki arsitektur sesuai dengan Gambar 2.1.

2.3.1. Applications

Lapisan ini adalah lapisan aplikasi, serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang telah terdapat pada Android termasuk kalender, kontak, SMS, dan lain sebagainya. Aplikasi-aplikasi ini ditulis dengan Bahasa pemrograman Java.

2.3.2. Application Framework

Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi inti yang telah tersedia. Pengembang dapat dengan mudah mengakses infromasi lokasi, mengatur alarm, menambahkan pemberitahuan ke status bar dan lain sebagainya. Arsitektur aplikasi ini dirancang untuk menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat memublikasikan kemampuan dan aplikasi lain dapat menggunakan kemampuan mereka sesuai batasan keamanan.

2.3.3. Libraries

Satu set libraries dalam Bahasa C/C++ yang digunakan oleh berbagai komponen pada system Android.

2.3.4. Android Runtime

fungsi yang tersedia di libraries inti dari Bahasa pemrograman Java. Setiap aplikasi akan berjalan sebagai proses sendiri pada

Dalvik Virtual Machine (VMM).

2.3.5. Linux Kernel

Android bergantung pada Linux versi 2.6 untuk layanan sistem inti seperti keamanan, manajemen memeori, manajemen proses, network stack, dan model driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh software.

Gambar 2. 2 : Arsitektur Android

2.3.6. Kamera

Kamera merupakan sensor paling terlihat dan sering digunakan di piranti android. Ada 2 cara untuk mengakses kamera,

yaitu cara pertama dengan mendeklarasikan intent dan cara kedua dengan class Camera, yang menyediakan antarmuka kamera custom yang bias digunakan sesuai kebutuhan. Pada cara kedua, diperlukan user permission untuk androidmanifest.xml. Pada Android, kamera diakses dengan menggunakan class Camera dan SurfaceView.

Class Camera meungkinkan Anda mengubah setting, preview, dan mengambil gambar diam dari kamera. Class SurfaceView ini digunakan untuk menampilkan preview dari user. Untuk memakai fitur kamera, Anda harus menggunakan

permission di manifest, yaitu dengan

android.permission.CAMERA permission.

2.4. Open Computer Vision (OpenCV)

OpenCV merupakan framework untuk membantu dalam membangun sistem yang menggunakan teknologi Computer Vision yang mendukung terhadap Intel Image Processing library (IPL). OpenCV merupakan Open Source Computer Vision library dijalankan dibawah Linux, Windows, dan MacOS X. OpenCV didesain utnuk efisiensi komputasi dan dengan fokus yang kuat pada aplikasi realtime. Salah satu tujuan OpenCV adalah menyediakan infrastruktur computer vision

sederhana untuk digunakan yang membantu seseorang membangun aplikasi yang cukup canggih dengan cepat. Library OpenCV berisi lebih

dari 500 fungsi yang mencakup banyak ruang lingkup dalam vision, termasuk inspeksi produk pabrik, pencitraan medis, keamanan, user interface, kalibrasi kamera, stereo vision, dan robotika.

2.4.1. Background Subtraction

Metode Background Subtraction merupakan metode yang digunakan untuk melihat perbedaan antara current image dan

background image untuk mendeteksi obyek bergerak. Setelah

background image B(X,Y) diperoleh, kurangi background image

B(X,Y) dari current frame F(X,Y). Jika perbedaan piksel lebih besar dari threshold T yang ditetapkan, maka diketahui bahwa piksel tersebut muncul dari obyek yang bergerak, jika tidak merupakan piksel background. Rumus yang didapatkan adalah sebagai berikut:

Dalam OpenCV terdapat operasi pemrosesan gambar dengan menggunakan metode Background Subtraction. Salah satunya adalah absdiff(). Fungsi dari absdiff() itu sendiri adalah untuk menghitung perbedaan mutlak per-elemen antara dua array atau antara array dan skalar. Fungsi absdiff() tersebut adalah sebagai berikut:

Keterangan parameter untuk fungsi absdiff() di atas adalah sebagai berikut:

 src1 : input array atau scalar pertama  src2 : input array atau scalar kedua

 dst : output array yang mempunyai ukuran yang sama dan tipe sebagai input array.

2.5. SMS (Short Message Service)

SMS (Short Message Service) atau Layanan Pesan Singkat memungkinkan pesan teks yang akan dikirim dan diterima ke dan dari telepon seluler. Teks dapat terdiri dari kata-kata atau angka atau kombinasi keduanya. Setiap pesan singkat hingga 160 karakter ketika huruf latin digunakan, dan 70 karakter ketika huruf non-latin yang digunakan.

Framework android menyediakan akses penuh ke fungsi SMS menggunakan class SmsManager. Versi awal android meletakkan SmsManager di paket android.telephony.gsm. Tetapi, sejak Android 1.5 di mana smsManager mendukung standar GSM dan CDMA, maka SmsManager sekarang digantikan di paket android.telephony.

2.6. Intents

Android menggunakan class Intent untuk melakukan aksi, berubah dari layar satu ke layar yang lain. Dua hal utama yang perlu diperhatikan pada struktur class intent adalah aksi yang dilakukan dan data yang

dibawa. Aksi yang dilakukan dinyatakan dengan perintah seperti VIEW, PICK, EDIT, dan sebagainya. Sedangkan datanya dinyatakan pada URI (Uniform Resource Indicator). Sebuah class intent tidak dapat melakukan sendiri, namun membutuhkan sebuah intent filter dan intent receiver. Intent receiver akan menerima semua activity yang diberikan, kemudian oleh intent filter akan dipilih aksi mana yang akan dijalankan.

Intents merupakan bagian utama dari aplikasi, yaitu activities,

services, dan broadcast recievers yang diaktifkan melalui pesan. Intents

melayani mekanisme untuk melewatkan pesan antar aplikasi maupun dalam aplikasi itu sendiri. Intents juga dapat digunakan untuk memulai

activity. Dengan intents dapat menyiarkan action yang diinginkan (misalnya: menelepon) melalui system ke aplikasi lain untuk menanganinya. Singkatnya, intent ini digunakan jika Anda ingin berpindah dari satu activity ke activity lainnya.

2.7. Gerak Melingkar Beraturan

Gerak melingkar beraturan adalah keadaan dimana sebuah benda bergerak dengan kelajuan sudutnya (ω = ϴ) tetap/konstan, dengan jari-jari (r) yang juga tetap/konstan.

2.7.1. Pengertian Radian

Satu radian adalah besarnya sudut tengah lingkaran yang panjang busurnya sama dengan jari-jarinya.

Jika panjang busur sama dengan jari-jari, maka ϴ = 1 radian. Satu radian dipergunakan untuk menyatakan posisi suatu titik yang bergerak melingkar (beraturan maupun tak beraturan)

atau dalam gerak rotasi. Keliling lingkaran = 2π × radius, gerakan melingkar dalam 1 putaran = 2π radian.

2.7.2. Kecepatan Linier dan Kecepatan Sudut

Kecepatan linier yang diberi notasi v adalah jalan sepanjang

keliling lingkaran (2πR) yang ditempuh dalam waktu T detik.

Kelajuan partikel P untuk mengelilingi lingkaran dapat dirumuskan:

Kecepatan anguler (sudut) yang diberi notasi ω adalah perubahan dari perpindahan sudut persatuan waktu (setiap saat). Biasanya dinyatakan dalam radian/detik, derajat perdetik, putaran perdetik (rps) atau putaran permenit (rpm).

Bila benda melingkar beraturan dengan sudut rata-rata (ω) dalam radian perdetik :

Jika 1 putaran, maka:

Dengan demikian, besarnya sudut yang ditempuh dalam 1 detik:

21

BAB III

ANALISA DAN PERANCANGAN SISTEM

Gambaran besar mengenai sistem yang akan dibangun dapat dilihat pada diagram blok di bawah ini:

Gambar 3. 1. Diagram Blok

Input pertama merupakan gambar background yang kemudian akan dibandingkan dengan input kedua yaitu gambar frame. Sistem kamera pengintai berbasis android akan memproses keduanya untuk mengetahui perubahan yang terjadi dari perbedaan antar kedua gambar terseut. Jika sistem mendapatkan adanya perubahan antara kedua gambar tersebut, maka sistem akan menghasilkan

output berupa peringatan/notifikasi berupa SMS yang ditujukan kepada pengguna sistem.

Tugas akhir ini dikembangkan melalui tahapan atau proses pengembangan perangkat lunak. Tahapan tersebut meliputi:

3. 1. Identifikasi

Sebuah sistem yang akan dibangun ini merupakan sistem kamera pengintai berbasis android. Sistem ini diharapkan mampu mendeteksi obyek yang tertangkap oleh kamera dan mampu memberikan peringatan

Gambar Background Sistem Kamera Pengintai Berbasis Android SMS Gambar Frame Input 1 Input 2 Output 1

kepada user secara real time (saat terdeteksi obyek). Sistem tersebut menerapkan teknik background subtraction dalam pemrosesan citra. Citra yang akan diolah merupakan hasil penangkapan gambar pada ruangan yang hendak diintai. Penanganan keamanan pada sistem kamera pengintai ini dilakukan dengan mengirimkan suatu peringatan berupa SMS (Short Message Service) secara otomatis kepada user saat terdapat perubahan pada ruangan yang terekam oleh sistem ini.

3. 2. Perancangan 3.2.1. Usecase

Use case mendeskripsikan sebuah interaksi satu atau lebih aktor dengan sistem atau aplikasi yang akan dibuat. Secara umum,

Use case dibuat untuk mengetahui fungsi apa saja yang ada di dalam sistem/aplikasi dan siapa saja yang berhak menggunakan fungsi-fungsi dalam aplikasi tersebut.

Pengguna pada sistem ini hanya satu. Fungsi yang dapat dijalankan oleh pengguna pada system ini adalah fungsi menerima SMS (Short Message Service) / alert, mengatur nomor telpon, dan mengatur threshold. Diagram use case dari sistem kamera pengintai dapat dilihat seperti gambar di bawah ini:

Gambar 3. 2 : Diagram Usecase

Tabel 3.1. di bawah ini merupakan gambaran umum mengenai

Usecase yang terdapat pada sistem kamera pengintai.

Tabel 3. 1. Gambaran Umum Usecase Nomor

Use Case

Nama

Usecase Deskripsi Aktor

CCTV-001 Mengaktif kan/Mema tikan Sistem

Use case ini menggambarkan proses mengaktifkan/mematikan sistem. Pengguna harus menekan sebuah tombol yang tersedia agar sistem dapat aktif.

Pengguna CCTV-002 Mengatur Nomor Telpon

Use case ini menggambarkan proses input data nomor telpon pada bagian pengaturan sistem.

Pengguna

CCTV-003

Mengatur Threshold

Use case ini menggambarkan proses input data threshold sebagai batas nilai ambang gambar yang ditangkap oleh sistem.

Pengguna CCTV-004 Menerima Pesan Singkat (SMS)

Use case ini menggambarkan proses diterimanya pesan singkat oleh pengguna sebagai peringatan yang dikirimkan oleh sistem.

Pengguna

3.2.2. Narasi Use Case

Setiap use case pada bagian sebelumnya akan dijelaskan lebih rinci dalam sebuah narasi yang merupakan deskripsi tekstual dari kejadian bisnis dan bagaimana pengguna berinteraksi dengan

Pemilik Rumah Menerima SMS / Alert

Mengatur nomor telpon

Mengatur threshold Mengaktifkan/Me-matikan sistem

sistem untuk menyelesaikan tugas tersebut. Narasi dari diagram

use case di atas, dapat dilihat pada lampiran 1.

3.2.3. Diagram Aktivitas

Diagram aktivitas merupakan diagram yang menjelaskan aktivitas pengguna dengan sistem.

3.2.3.1. Diagram Aktivitas Mengaktifkan/Mematikan Sistem

Sistem kamera pengintai aktif Tekan tombol Start/Stop

Aktor Sistem

Berhenti?

Ya

Tekan tombol Start/Stop Sistem kamera pengintai tidak aktif

3.2.3.2. Mengatur Nomor Telpon

Menampilkan halaman Settings Tekan menu Settings

Aktor

Pilih pengaturan Set Phone Number

Memasukkan nomor telpon user

Ada?

Ya

Ganti nomor telpon yang ada dengan yang

baru dimasukkan.

Tidak

Sistem

Buat file baru. Simpan nomor

telpon. Tekan OK

Tidak

Cek file nomor telpon

Simpan?

Ya

3.2.3.3. Mengatur Threshold

Menampilkan halaman Settings Tekan menu Settings

Aktor

Pilih pengaturan Set Threshold Memasukkan besarnya threshold Sistem Tekan OK Tidak Simpan? Ya Tekan Cancel Ada? Ya

Ganti threshold yang ada dengan yang baru

dimasukkan.

Tidak

Buat file baru. Simpan threshold.

3.2.3.4. Menerima Pesan Singkat/SMS

Aktor Sistem

Ambil gambar dengan kamera

Ya

Ada perubahan?

Tidak

Kirim pesan singkat Terima pesan singkat

28

3.2.4. Diagram Sekuen

3.2.4.1. Mengaktifkan/Mematikan Sistem

Pengguna MainActivity.java SurfacePreview.java onCreate (Bundle savedInstanceState) activity_main.xml findViewById (R.id.button) Buka aplikasi

Klik tombol Start/Stop Motion Detector

onResume() open() onClick(View arg0) Camera.java SurfacePreview (this, mCamera) DetectMotion()

Gambar tertangkap kamera Tampilkan pada layar

29

3.2.4.2. Mengatur Nomor Telpon

Pengguna MainActivity.java onCreate

(Bundle savedInstanceState) settings.xml

Buka menu

Pilih menu Settings

onActivityResult

(int requestCode, int resultCode, Intent data)

SavePhone()

UserSettingActivity.java

Pilihan menu

Pilih menu Set Phone Number

File.java

createNewFile() Nomor telpon tersimpan

30 3.2.4.3. Mengatur Threshold Pengguna MainActivity.java onCreate (Bundle savedInstanceState) settings.xml Buka menu

Pilih menu Settings

onActivityResult

(int requestCode, int resultCode, Intent data)

SaveThreshold() UserSettingActivity.java Pilihan menu Pilih menu Set Threshold File.java createNewFile() Threshold tersimpan

31

3.2.4.4. Menerima Pesan Singkat/SMS

Pengguna MainActivity.java

FileOutputStream.java Citra digital

Sistem aktif

isMotionDetected

(byte[] data1, byte[] data2, byte[] data3)

write(data) savePicture(byte[] data) Camera.java

sendSMS

(String phoneNumber, String message)

Core.java

absdiff(mat2, mat1, d1)

absdiff(mat3, mat1, d2)

bitwise_and(d1, d2, result)

norm(result)

SmsManager.java

sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI) Pesan Singkat Dikirim

32 3.2.5. Diagram Kelas Activity MainActivity SurfacePreview SurfaceView SurfaceHolder UserSettingActivity PreferenceActivity activity_main settings SmsManager Camera File Core FileOutputStream

3.2.6. Antarmuka

3.2.6.1. Antarmuka Sistem

Antarmuka yang digunakan merupakan antarmuka sederhana yang menampilkan sebuah citra yang tertangkap oleh kamera pada smartphone android. Diperlukan sebuah tombol start/stop untuk memulai atau menghentikan kerja sistem dalam menangkap gambar. Gambaran dari antarmuka sistem ini dapat dilihat pada gambar berikut:

Gambar 3. 2 : Antarmuka Sistem

3.2.6.2. Antarmuka Menu Sistem

Antarmuka menu pada sistem ini cukup sederhana. Hanya terdapat satu menu yang dapat

Start/stop motion detector Image View

digunakan oleh pengguna, yaitu menu Settings.

Gambar 3. 3 : Antarmuka Menu Sistem

3.2.6.3. Antarmuka Menu Item Sistem

Terdapat dua buah menu item pada pilihan menu Settings, yakni menu item untuk mengatur nomor telpon dan menu item untuk mengatur threshold. Berikut merupakan gambaran menu item yang disediakan:

Start/stop motion detector

Settings

Gambar 3. 4 : Antarmuka Menu Item Sistem

Saat memilih menu item Set Phone Number, maka tampilannya akan seperti gambar dibawah ini:

Gambar 3. 5 : Antarmuka Set Phone Number

SETTINGS

Set Phone Number

Set Threshold

SETTINGS

Set your phone number

Set the threshold

Set Phone Number

Saat memilih menu item Set Threshold, maka tampilannya akan seperti gambar dibawah ini:

Gambar 3. 6 : Antarmuka Set Threshold

3.2.7. Desain Proses

Proses 1. Menyimpan nomor telpon tujuan

Proses ini untuk mengatur penyimpanan nomor ponsel dari user sebagai penerima pesan singkat (SMS) dari sistem. Cara kerja dari proses ini dijelaskan dengan pseudocode berikut:

1. Mulai.

2. Baca nomor telpon.

3. Tentukan lokasi penyimpanan file. 4. Jika file belum ada, lakukan langkah 5. 5. Buat file baru.

6. Tulis nomor telepon yang dibaca ke dalam file tersebut.

Set Threshold

7. Selesai

Proses 2. Menyimpan threshold

Proses ini untuk mengatur penyimpanan threshold yang berguna untuk pendeteksi obyek. Cara kerja dari proses ini dijelaskan dengan pseudocode berikut:

1. Mulai.

2. Baca threshold.

3. Tentukan lokasi penyimpanan file. 4. Jika file belum ada, lakukan langkah 5. 5. Buat file baru.

6. Tulis threshold yang dibaca ke dalam file tersebut. 7. Selesai.

Proses 3. Merubah gambar menjadi matriks

Proses ini untuk merubah gambar yang tertangkap kamera menjadi bentuk matriks agar lebih mudah untuk dilakukan pemrosesan lebih lanjut. Cara kerja dalam proses ini dijelaskan dalam pseudocode berikut:

1. Mulai.

2. Baca ukuran gambar Bitmap masukkan dalam variabel bitmap. 3. Baca ukuran panjang gambar bitmap sebagai kolom matriks,

Masukkan dalam variabel tmp.

4. Ubah gambar Bitmap menjadi Matriks berdasarkan bitmap dan tmp.

5. Selesai.

Proses 4. Mendeteksi Obyek

Peoses ini untuk mendeteksi perubahan yang terdapat pada gambar yang ditangkap dengan memproses matriks dari gambar awal dengan gambar setelahnya. Cara kerja dalam proses ini dijelaskan dalam pseudocode berikut:

1. Mulai.

2. Panggil method untuk merubah gambar menjadi matriks dengan menampung inputan dari parameter berupa byte array data1, data2, dan data3 yang selanjutnya disimpan dalam matriks mat1, mat2, dan mat3.

3. Simpan panjang dan lebar dari mat1 ke dalam matriks d1, d2, dan result.

4. Panggil method absdiff untuk menghitung perbedaan antara matriks mat2, mat1, dan d1.

5. Panggil method absdiff untuk menghitung perbedaan antara matriks mat3, mat1, dan d2.

6. Panggil method bitwise_and untuk menghitung bit pada d1, d2, dan result.

7. Panggil method getThreshold untuk mendapatkan nilai threshold yang telah disimpan.

8. Set threshold gambar dari matriks result

9. Panggil method norm untuk menormalisasi matriks result. 10.Selesai.

Proses 5. Menyimpan gambar

Proses ini untuk menyimpan gambar yang tertangkap oleh kamera sebagai dokumentasi untuk user. Cara kerja dalam proses ini dijelakan dalam pseudocode berikut:

1. Mulai.

2. Tentukan lokasi penyimpanan beserta format nama gambar yang disimpan.

3. Baca array byte dari gambar dan tulis dalam file gambar. 4. Selesai.

Proses 6. Mengirim pesan singkat (SMS)

Proses ini untuk mengirim pesan singkat yang berisi peringatan bagi user. Cara kerja dalam proses ini dijelaskan dalam pseudocode berikut:

1. Mulai.

2. SENT = “SMS_SENT”.

4. Buat sebuah PendingIntent untuk menyimpan informasi SMS_SENT.

5. Buat sebuah PendingIntent untuk menyimpan informasi SMS_DELIVERED.

6. Saat sms terkirim, buat IntentFilter untuk SENT, kemudian lakukan langkah 7 sampai 11

7. Jika RESULT_OK, tampilkan informasi “SMS sent”.

8. Jika RESULT_ERROR_GENERIC_FAILURE, tampilkan

informasi “Generic failure”.

9. Jika RESULT_ERROR_NO_SERVICE, tampilkan informasi

“No service”

10.Jika RESULT_ERROR_NULL_PDU, tampilkan informasi

“Null pdu”

11.Jika RESULT_ERROR_RADIO_OFF, tampilkan informasi

“Radio off”

12.Saat sms dikirim, buat IntentFilter untuk DELIVERED, kemudian lakukan langkah 13 sampai 14.

13.Jika RESULT_OK, tampilkan informasi “SMS delivered”

14.Jika RESULT_CANCELED, tampilkan informasi “SMS not

Dalam dokumen Sistem kamera pengintai berbasis android. (Halaman 24-200)

Dokumen terkait