Gambar 2.16. Black Box
Pengujian black box adalah pengujian aspek fundamental sistem tanpa memperhatikan struktur logika internal perangkat lunak. Metode ini digunakan untuk mengetahui apakah perangkat lunak berfungsi dengan benar. Pengujian black box
BAB III ANALISA PERANCANGAN SISTEM 3.1 Analisa Masalah Motion detect atau deteksi gerakan secara garis besar mempunyai arti untuk menangkap atau mengidentifikasi suatu pergerakan pada objek, gerakan adalah suatu pusat perhatian yang digunakan manusia ataupun hewan untuk mengenali suatu obyek dari suatu latar yang tidak teratur. Dalam aplikasi pencitraan, gerakan muncul dari perpindahan tempat antara sistem pendeteksi dan lingkungan yang sedang dilihat.
Metode Spatial Domain merupakan salah satu metode yang digunakan untuk mendeteksi gerakan pada suatu objek. Metode Spatial Domain menggunakan pixel untuk membandingkan perbedaan dua buah citra. Analisis dari kebutuhan Aplikasi yang akan dibangun adalah sebagai berikut : a. Aplikasi yang akan dibuat harus mampu memberikan peringatan otomatis saat ada objek yang bergerak. b. Aplikasi yang akan dibuat harus mampu menangkap dan menyimpan gambar secara otomatis saat ada objek yang bergerak. c. Aplikasi yang akan dibuat harus mampu merekam hasil pantauan dalam bentuk Video.
3.2 Algoritma Deteksi Gerakan Deteksi gerakan yang digunakan di aplikasi kamera pengawas pendeteksi gerakan ini adalah pemrosesan citra spatial domain dengan point processing. Metode ini bekerja dengan cara sebagai berikut : 1. Penetapan sebuah citra referensi Sebuah citra yang diambil oleh kamera pada saat situasi lingkungan yang stabil ditetapkan sebagai citra referensi. Citra ini kemudian disimpan sebagai acuan dalam membandingkan citra-citra berikut. 2. Pangambilan citra secara periodik Setiap jangka waktu tertentu, sebuah citra diambil oleh kamera. Citra ini kemudian disimpan untuk perhitungan selanjutnya.
3. Pendeteksian gerakan Citra yang diambil secara periodik tadi dibandingkan dengan citra referensi dengan cara membandingkan setiap pixel-pixel yang berada di lokasi yang sama. Perhitungan perbandingan dilakukan dengan cara mengambil nilai absolut dari hasil pengurangan nilai RGB dari 2 pixel yang berada di lokasi yang sama. Jika nilai dari perhitungan tersebut melewati suatu batas nilai tertentu maka pixel tersebut dinyatakan sebagai pixel yang terdeteksi gerakan.
Dimana: f = Array 2 dimensi yang digunakan untuk menyimpan hasil perhitungan. x = Posisi pixel terhadap sumbu x. y = Posisi pixel terhadap sumbu y. T1 = Batas nilai untuk membatasi banyaknya perubahan nilai pixel sebelum sebuah pixel tersebut dinyatakan terdapat gerakan (Threshold). ABS = Fungsi absolut. p = Citra referensi. q = Citra yang diambil secara periodik (citra yang dibandingkan). Variabel T1 merupakan sebuah nilai batas ambang perubahan 2 buah pixel di letak yang sama. Penggunaan variabel T1 ini memiliki dua tujuan. Tujuan yang pertama adalah untuk mengeliminasi noise yang terjadi, sedangkan tujuan yang kedua adalah untuk memberikan batas ambang perubahan intensitas warna antara dua buah pixel. Noise terjadi karena suatu lingkungan yang pencahayaannya labil. Hal ini dapat terjadi
karena intensitas cahaya yang datang tidak selalu sama dari waktu ke waktu. Sebuah array boolean f(x,y) digunakan untuk menyimpan nilai dari perhitungan. Jika nilai f(x,y) bernilai true berarti dua buah pixel dari 2 buah citra yang berbeda dengan letak yang sama terjadi perubahan warna yang melewati batas ambang T1. Sebaliknya, jika f(x,y) bernilai false berarti kedua buah pixel tersebut tidak terjadi perubahan warna atau perubahan yang terjadi tidak melewati batas ambang T1. Array ini digunakan untuk menghitung jumlah pixel yang berubah. Jika jumlah pixel yang berubah melebihi nilai batas ambang T2 maka citra tersebut dikatakan terdapat gerakan.
Dimana: res = Hasil pendeteksian gerakan, bernilai 1 jika terdapat gerakan, dan bernilai 0 jika tidak terdapat gerakan. T2 = Batas nilai untuk membatasi banyak jumlah pixel yang berubah sebelum sebuah citra dinyatakan terdapat gerakan (Threshold). x= Posisi pixel terhadap sumbu x. y= Posisi pixel terhadap sumbu y. f= Array hasil perhitungan pendeteksian citra.
Terdapat dua metode yang dapat digunakan untuk menetapkan sebuah citra sebagai citra referensi. Metode yang pertama, citra referensi hanya diambil satu kali untuk pendeteksian seterusnya, sedangkan metode kedua,
citra referensi diambil dari citra pembanding setiap kali citra pembanding telah lolos dari deteksi gerakan. Metode yang pertama digunakan apabila lingkungan yang dideteksi tidak ada perubahan cahaya selama proses deteksi gerakan berlangsung, misalnya di dalam ruangan. Metode yang kedua digunakan apabila pencahayaan lingkungan yang dideteksi dapat berubah-ubah. Metode ini dapat digunakan pada lingkungan yang terpengaruh oleh cahaya matahari. Perubahan sinar matahari tidak dianggap sebagai gerakan karena perubahannya yang sangat lambat dan karena adanya variabel T1. Penggunaan metode kedua ini dapat berakibat tak terdeteksinya sebuah gerakan yang sangat lambat, metode ini hanya dapat mengenali perubahan yang ekstrim. Apabila proses pendeteksian termasuk untuk mendeteksi gerakan yang sangat lambat maka metode kedua ini tidak dapat digunakan, atau dapat digunakan tetapi dengan mengurangi nilai batas ambang T1, sehingga perubahan kecil dapat terdeteksi oleh sistem.
Ilustrasi deteksi gerakan pada suatu objek pada layar 10x10 pixel Citra Referensi Citra Pembanding
x x x
RGB 255| 0 |255
x x x
x x x
x x x
RGB 255| 0 | 0 RGB 0 |255| 0 RGB 0 | 0 |255
jh
Gambar 3.1. Ilustrasi Deteksi Gerakan
Jika nilai RGB dari perbandingan Citra Referensi dan Citra Pembanding pada dua pixel di lokasi yang sama tersebut terdapat perbedaan nilai RGB dari nilai RGB awal dan melebihi batas nilai toleransi, maka pixel tersebut dinyatakan sebagai pixel yang terdeteksi gerakan.
3.3 Algoritma Video Rekaman Video adalah teknologi pemrosesan sinyal elektronik yang mewakilkan gambar bergerak. Video direpresentasikan sebagai serangkaian frame yang berurutan dan dihubungkan oleh suatu interval waktu . Untuk menganalisa suatu video, diperlukan pembagian video menjadi unit yang lebih kecil dan memiliki beberapa hubungan semantik. Video dapat dibagi menjadi beberapa shot, keyframe dan scene. Video merupakan serangkaian frame utuh yang tidak terputus yang diproduksi dari kamera atau peralatan lain. Dalam suatu shot, suatu kamera dapat diam, atau bergerak (panning, tilting, zooming, tracking). Keyframe adalah suatu frame yang menunjukkan bagian penting dari shot. Dalam satu shot dapat terdiri dari beberapa keyframe tergantung kompleksitas shot. Beberapa shot dipisahkan oleh shot boundary. Sedangkan video scene adalah koleksi dari shot berdekatan yang memiliki hubungan semantik. Ilustrasi Rekaman Video
Gambar 3.2. Ilustrasi File Video 3.4 Flowchart Spatial Domain Flowchart yang di gunakan merupakan flowchart Motion Detect metode Spatial Domain dengan point processing. Point Processing adalah salah satu teknik untuk melakukan perbandingan citra dengan fokus pada titik per titik. Pada Flowchart ini user harus memasukkan nilai toleransi untuk perubahan nilai RGB untuk pixel, semakin tinggi nilai toleransinya maka akan semakin rendah tingkat sensitifitasnya dan begitu juga sebaliknya. Setelah nilai toleransi telah dimasukkan maka program akan menjalankan proses membandingkan perubahan nilai RGB pada setiap pixel dilokasi yang sama dengan menjalankan algoritma Motion Detect Spatial Domain dengan point processing. Setelah proses menjalankan algoritma tersebut dilakukan dan ada perbedaan nilai RGB yang melewati batas toleransi perubahan antara Citra Referensi dan Citra Pembanding pada pixel dilokasi yang sama maka program
akan melakukan proses simpan gambar. Jika tidak ada perubahan nilai RGB yang melewati batas toleransi maka program akan mengambil citra Referensi dan membandingkan dengan citra sebelumnya.
Gambar 3.3. Flowchart Spatial Domain
3.5 Flowchart Video Flowchart video merupakan alur dari proses terbentuknya video. Video sendiri adalah kumpulan snapshot yang diambil secara priodik, Setiap adegan disampling sesuai satuan waktu untuk menghasilkan frame. Memutar kembali rangkaian snapshot tersebut akan menampilkan gambar bergerak. Semakin banyak snapshot gambar yang diambil maka akan menghaluskan pergerakan gambar video tetapi membutuhkan lebih banyak sampling untuk diambil dan disimpan.
Gambar 3.4. Flowchart Video
3.6 Flowchart Alarm Flowchart alarm merupakan flowchart yang menggambarkan tentang alur bagaimana alarm tersebut dapat berbunyi. Pada Flowchart ini user harus memasukkan file suara dengan tipe *.wav untuk digunakan sebagai alarm pada saat ada objek bergerak yang tertangkap kamera. Jika terjadi perubahan nilai RGB yang melewati batas toleransi perubahan antara Citra Referensi dan Citra Pembanding pada pixel dilokasi yang sama maka program akan memainkan file suara yang telah dipih oleh user. Setiap kali terjadi perubahan nilai RGB yang melewati batas toleransi yang telah ditentukan maka program akan memainkan file suara yang telah dipilih.
Gambar 3.5. Flowchart Alarm
3.7 UML (Unified Modeling Language) 3.7.1 Use Case
Gambar 3.6. Use Case Aplikasi Kamera Pemantau Rumah
a. Deskripsi Use Case Aplikasi Kamera Pemantau Rumah.
Tabel 3.1 Deskripsi Use Case Melihat video tangkapan Melihat video tangkapan
Use case Actor
User
Deskripsi
User memainkan video hasil tangkapan
kamera
yang
telah
tersimpan
Tabel 3.2 Deskripsi Use Case Melihat gambar tangkapan Use case
Melihat gambar tangkapan
Actor
User
Deskripsi
User dapat melihat gambar hasil tangkapan
kamera
yang
telah
tersimpan
Tabel 3.3 Deskripsi Use Case Memantau tangkapan kamera Use case
Memantau tangkapan kamera
Actor
User
Deskripsi
User melihat langsung pantauan kamera melalui layar pantau pada monitor
Tabel 3.4 Deskripsi Use Case Memilih suara alarm Use case
Memilih suara alarm
Actor
User
Deskripsi
User
memilih file suara dengan
format file *.wav untuk digunakan sebagai alarm yang berbunyi pada saat kamera mendeteksi gerakan.
Tabel 3.5 Deskripsi Use Case Mengatur sensitifitas Use case
Mengatur sensitifitas
Actor
User
Deskripsi
User memasukkan nilai tingkat sensitifitas
kamera
pemantau
pendeteksi gerakan pada kotakkotak yang terdapat pada form dialog Motion Grid yang diberi nilai 1 untuk sensitifitas terendah dan 9 sebagai sensitifitas tertinggi
Tabel 3.6 Deskripsi Use Case Menangkap gambar Use case
Menangkap gambar
Actor
User
Deskripsi
User
menangkap
terpantau
kamera
gambar
yang
dengan
cara
manual. Yaitu dengan cara mengklik tombol “Capture Image” yang terdapat pada bagian kiri atas layar pantauan
Tabel 3.7 Deskripsi Use Case Mengaktifkan alarm Use case
Mengaktifkan alarm
Actor
User
Deskripsi
User mengaktifkan dan me-non aktifkan
alarm
dengan
cara
mengklik tombol ON/OFF pada alarm
Tabel 3.8 Deskripsi Use Case Mengaktifkan pendeteksi gerakan Use case
Mengaktifkan pendeteksi gerakan
Actor
User
Deskripsi
User
mengaktifkan
pendeteksi
gerakan pada saat kamera telah aktif. Yaitu dengan cara mengklik tombol “Motion Detect” ON/OFF
Tabel 3.9 Deskripsi Use Case Memilih lokasi penyimpanan file Use case
Memilih lokasi penyimpanan file
Actor
User
Deskripsi
User memilih tempat atau lokasi penimpanan file, baik berupa file video maupun gambar
b. Activity Diagram 1. Activity diagram aplikasi kamera pantau rumah
Gambar 3.7. Activity diagram aplikasi kamera pantau rumah
Aktor
: User
Skenario : Setelah aplikasi kamera pemantau rumah telah tampil, maka untuk menggunakan aplikasi ini pertama kali user harus memasukkan lokasi penyimpanan file gambar, setelah lokasi penyimpanan gambar telah ditentukan, maka user diharuskan untuk memilih lokasi penyimpanan file video. Jika lokasi penyimpanan file gambar dan file video telah dipilih, maka dilanjutkan dengan memilih kamera yang akan digunakan. Untuk mengaktifkan alarm maka user harus memilih file suara dengan format *.wav. Pada saat kamera mendeteksi gerakan suatu objek maka aplikasi ini dengan otomatis akan memainkan file suara yang telah dipilih setiap kali kamera menangkap gerakan. Untuk merekam hasil pantauan dalam bentuk video dengan format *.mpg maka user dapat mengklik tombol “Start Video Recording” dan untuk mengakhiri proses rekaman yaitu dengan mengklik tombol yang sama. Dan yang terakhir adalah suatu fitur untuk mendeteksi gerakan pada suatu objek yang tertangkap kamera. Untuk mengaktifkan fitur ini maka user hanya perlu mengklik tombol “Motion Detect : ON” dan untuk meng-non aktifkanya yaitu dengan mengklik tombol yang sama. Saat motion detect atau pendeteksi gerak diaktifkan maka setiap ada pergerakan objek yang tertangkap kamera maka dengan otomatis aplikasi ini akan menyimpan hasil tangkapan tersebut dalam bentuk gambar dengan format *.bmp
c. Sequence Diagram 1. Sequence diagram video recording
Gambar 3.8. Sequence diagram video recording
Aktor
: User
Skenario
: User dapat merekam tangkapan kamera dalam bentuk video yaitu dengan cara, yang pertama adalah user diharuskan menentukan direktori penyimpanan file, setelah menentukan direktori maka dilanjutkan dengan memilih kamera yang akan digunakan dan yang terakhir adalah memulai merekam tangkapan kamera dalam bentuk video yaitu dengan cara mengklik tombol “Start Video Recording” untuk memulai dan menghentikan rekaman tersebut.
2. Sequence diagram alarm
Gambar 3.9. Sequence diagram alarm Aktor
: User
Skenario
: User dapat mengaktifkan alarm yaitu dengan cara memilih file suara dalam format *.wav. Setelah file tersebut telah dipilih maka dengan otomatis alarm akan berbunyi setiap kali kamera menangkap ada pergerakan objek.
3. Sequence diagram motion detect
Gambar 3.8. Sequence diagram motion detect
Aktor Skenario
: User : User dapat menyimpan tangkapan kamera dalam bentuk gambar dengan cara: pertama adalah user diharuskan menentukan
direktori
penyimpanan
file,
setelah
menentukan direktori maka dilanjutkan dengan memilih kamera yang akan digunakan dan yang terakhir adalah memulai merekam tangkapan kamera dalam bentuk gambar yaitu dengan cara mengklik tombol “Camera On” pada groupbox Motion Detect untuk mengaktifkan dan me non-aktifkan motio detect tersebut.
Setelah motion detect diaktifkan tersebut maka dengan otomatis alarm akan menangkap setiap kali kamera menangkap ada pergerakan objek.
3.8 Rancang Layar Dalam pembuatan aplikasi, penulis membuat rancangan antar muka atau rancang layar yang terdiri dari 3 form, yaitu form utama, form user guide dan form info.
Gambar 3.9. Rancang layar form utama
Semua aktifitas seperti rekam video, penangkapan gambar, pengaturan sensitifitas, pengaturan alarm dan pemilihan lokasi penyimpanan file dilakukan pada form ini.
1. Rancang layar user guide
Gambar 3.10. Rancang layar user guide Rancangan layar user guide adalah suatu form rancangan yang digunakan
untuk memberitahukan
kepada user tentang
bagaimana cara atau tahapan dalam penggunaan aplikasi kamera pemantau rumah tersebut.
2. Rancang layar informasi aplikasi
Gambar 3.11. Rancang layar informasi aplikasi Rancang layar informasi aplikasi adalah form yang berisi tentang informasi atau keterangan Aplikasi kamera pemantau rumah itu sendiri.
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Di tahapan ini akan di bahas mengenai implementasi dari aplikasi kamera pemantau ini, yaitu cakupan mengenai karakteristik spesifikasi perangkat keras dan perangkat lunak yang di gunakan dalam uji coba aplikasi. Dan implementasi pada aplikasi yaitu proses coding dan tampilan antarmuka.