APLIKASI PENGAMAN RUANGAN
MENGGUNAKAN WEBCAM
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika
OLEH:
YANUARIUS BUDI SANTOSO NIM :045314063
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
iii ABSTRAK
Pengolahan citra digital adalah pemrosesan citra dengan menggunakan computer digital untuk menghasilkan sebuah citra baru yang sesuai dengan keinginan pengguna. Salah satu implementasinya adalah dalam aplikasi pengaman ruangan dimana citra diperoleh dari kamera. Aplikasi Pengamanan berbasi kamera umumnya berharga mahal. Skripsi ini mencoba menawarkan aplikasi berbasis kamera dengan harga murah.
Aplikasi ini dikembangkan dengan teknik pengolahan citra, dimana dua buah citra yang diambil secara berurutan melalui webcam kemudian dilakukan operasi pengurangan. Tujuan dari pengurangan ini adalah untuk mencari perbedaan kedua buah citra .
iv
ABSTRACT
Digital image processing is handing out an image by using digital computer in order to create a new image which is appropriate to user’s desirability. One of digital image process implementation is room security application which the image be obtain by camera. The must common room security application based camera is expensive. The aim of this research is to make the application based camera with low price.
This application developed with image processing technique, in which we subtract the value of two image who are take in the series through webcam. The goal of this subtract is looking for different between two image.
v
Segala kuatirku, kutaruh di kakiMu, Allah pemeliharaku
Bila Kau yang mengangkat aku, Tiada yang dapat merendahkanku….
Dalam Hidup ini ada dua hal yang terpenting,
Pertama mendapatkan apa yang kita inginkan,
vi
PERNYATAAN KEASLIAN KARYA
Dengan ini saya sebagai penulis menyatakan dengan sesungguhnya bahwa
judul, isi dan gagasan yang tertuang dalam skripsi ini belum pernah dipakai untuk
mendapatkan gelar kesarjanaan di tempat lain baik di Indonesia maupun di luar
negeri. Pemikiran, metode atau hasil penelitian orang lain yang diambil
disebutkan dengan jelas sebagai acuan. Hasil-hasil penelitian, jurnal, makalah,
buku, termasuk informasi di internet yang dipakai sebagai acuan dan bahan
literatur ditulis dalam daftar pustaka.
Yogyakarta, 15 Oktober 2009
Penulis
vii
PRAKATA
Puji dan syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa
karena atas kasih dan karunianya, penulis dapat menyelesaikan skripsi yang
berjudul “Aplikasi Pengaman Ruangan Menggunakan Webcam” dengan baik.
Skripsi ini disusun guna memenuhi syarat untuk mendapatkan gelar sarjana
Teknik (S. T.) di Universitas Sanata Dharma.
Pada kesempatan ini, penulis ingin mengucapkan banyak terima kasih
kepada:
1. Yosef Agung Cahyanta,S.T,M.T selaku Dekan Fakultas Sains dan Teknologi
Universitas Sanata Dharma.
2. Bapak Puspaningtyas Sanjoyo Adi. selaku dosen pembimbing yang telah
memberi bimbingan, masukan, kebaikan dan kesabarannya sehingga
penelitian dapat berjalan dengan lancar.
3. Bapak Yanuarius Joko S, S.Si selaku dosen pembimbing atas bantuan,
bimbingan, masukan dan kesabarannya sehingga skripsi ini dapat selesai tepat
waktu.
4. Ibu Anastasia Rita W., S.Kom, M.Kom, selaku dosen penguji dan telah
membimbing ketika awal pengeejaan skripsi ini.
5. Bapak Eko Hari, S.Kom, M.Kom selaku dosen penguji atas masukan dan
viii
6. Kedua orang tua yang telah memberikan dukungan doa, spirit, moral maupun
material sehingga skripsi ini dapat berjalan lancar.
7. Chatarina Suryati dan Kristina Tri Lestari atas segala dukungan yang telah
diberikan kepada penulis
8. Nisitantri Prabaningrum atas pengorbanan, kesabaran, kesetiaan dan dukungan
yang diberikan kepada penulis sehingga skripsi ini dapat terselesaikan dengan
baik dan tepat waktu.
9. Christiana Shinta Estri Wahyuningrum dan YB Dwi Setianto atas segala
dukungan doa, semangat dan bantuan yang telah diberikan sehingga penulis
dapat menyelesaikan skripsi ini
10.Romo Kuntoro, yang selalu mengingatkan saya untuk selalu fokus pada
skripsi.
11.Tri PRasetyo, Y. Kuntho, Andri Khrisharyadi, Yosef Beni, Antonius Adiyoso,
Ida Bagus Mahendra Yuda yang selalu bersama-sama menemani sampai
selesainya Tugas Akhir
12.Angga, Bimo, Antok, Martin, Buntas, Venti yang bersama kita ujian Tugas
Akhir.
13.Dimas, Sigit, Enggar, Ragil, Akri, Adit, Iyus, Wisnu yang selalu memberikan
dukungan untuk mengerjakan Tugas Akhir
14.Teman-teman Mudika Brayat Minulyo Nogosari Trirenggo Bantul yang selalu
memberikan doa dan semangat.
ix
16.Semua pihak yang tidak dapat penulis sebut satu persatu
Tak ada gading yang tak retak, begitu pula dengan skripsi yang tidak
sempurna ini. Oleh sebab itu penulis sangat membutuhkan kritik dan saran yang
membangun dari semua pihak untuk mencapai kesempurnaan. Besar harapan
penulis agar skripsi ini dapat berguna bagi semua orang khususnya dalam
peningkatan ilmu pengetahuan.
Yogyakarta, 20 Oktober 2009
x
DAFTAR ISI
HALAMAN PERSETUJUAN ... i
HALAMAN PENGESAHAN ... ii
INTISARI ... iii
ABSTRACK ... iv
PRAKATA ... vii
DAFTAR ISI ... x
BAB I ... 1
1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan dan Manfaat Penelitian ... 2
1.5. Metodologi Penelitian ... 2
1.6. Sistematika Penulisan ... 3
BAB II ... 5
2.3. Pengolahan Citra Digital ... 6
2.3.1. Pengertian Citra Digital... 6
2.3.2. Pengertian Pengolahan Citra Digital ... 7
2.4. Pembentukkan Citra ... 8
2.4.1. Digitalisasi Citra ... 8
2.4.2. Elemen-elemen Citra Digital... 10
2.4.3. Tipe Citra berdasarkan format penyimpanan. ... 11
xi
2.5. Format Citra Bitmap ... 14
2.6. Warna ... 15
2.6.1. Dasar-dasar Warna ... 15
2.5.2. Atribut Warna... 16
2.5.3. Ruang Warna ... 16
Gambar 2.4 Ruang Warna... 17
BAB III ... 27
3.1. Gambaran Sistem.………..28
3.2 Diagram Konteks sistem………,…..30
3.3 Diagram Alir Data ………30
3.3.1. Proses Membandingkan dua buah citra... 30
3.3.2. Proses Membangkitkan Suara Peringatan ... 32
3.3.3. Proses Menyimpan Gambar ... 32
3.3.4. Proses Setting Webcam ... 33
3.4. Diagram Berjenjang……….………..35
3.5. Perancangan Antar Muka Aplikasi...………...……..35
3.6. Disain Pengujian Perangkat Lunak………...…..39
3.7. Spesifikasi Kebutuhan Hardware dan software……….…..35
BAB IV ... 53
4.1. Implementasi Program ……….………..41
4.2 Implementasi Antar Muka……..………..47
4.3 Hasil Pengujian ………58
BAB V ... 85
xii
5.2 Saran………..……….………,…..61
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Perkembangan kehidupan jaman modern berpengaruh terhadap meningkatnya aktivitas manusia yang mengharuskannya untuk lebih sering meninggalkan rumah sehingga semakin mengurangi kesempatan berada di sekitar rumah, baik ketika ditinggal bekerja atau bahkan mudik ke kampung halaman yang menjadi rutinitas tahunan warga perkotaan. Keadaan seperti ini yang sering menjadi sasaran tindak kejahatan. Berita mengenai kasus pencurian di media massa semakin bertambah, mengakibatkan rasa was-was bagi masyarakat. Lambatnya penanganan maupun antisipasi tindak kejahatan menyebabkan semakin maraknya tindak kejahatan.
Untuk mengantisipasi permasalahan tersebut, maka dibutuhkan sebuah sistem keamanan untuk mengurangi resiko terjadinya tindak kriminal pada suatu lokasi. Salah satu cara yang bisa dilakukan untuk mengurangi tindak kriminal adalah dengan memasang kamera pengintai pada tempat yang berpotensi terjadi tindak kriminal. Pada sistem keamanan berbasis kamera ini, kamera akan selalu menyimpan semua gambar kejadian. Hal ini merupakan kelemahan sistem jika terjadi kekurangan media penyimpanan.
1.2. Rumusan Masalah
Dari latar belakang masalah di atas dapat dirumuskan menjadi suatu masalah yaitu bagaimana memanfaatkan teknik pengurangan citra digital untuk sistem keamanan.
1.3. Batasan Masalah
Implementasi aplikasi ini, dibuat dengan batasan sebagai berikut: 1. Citra yang akan diproses di peroleh dari piranti webcam.
2. Jika terdeteksi adanya obyek asing yang masuk maka sistem akan membunyikan suara dan menyimpan gambar obyek tersebut .
3. Toleransi nilai pixel (intensitas) yang digunakan adalah 20. 4. Kecepatan penangkapan gambar adala 200 milisecond. 5. Jumlah kamera yang digunakan adalah satu.
1.4. Tujuan dan Manfaat Penelitian 1.4.1. Tujuan Penelitian :
Adapun tujuan yang ingin dicapai penulis dalam penulisan tugas akhir ini adalah membangun suatu perangkat lunak pengolahan citra yang bisa digunakan untuk sistem keamanan.
1.4.2 Manfaat Penelitian :
Adapun manfaat yang ingin dicapai penulis setelah menyelesaikan penyusunan tugas akhir ini adalah memberikan alternatif solusi pada sistem keamanan berbasis kamera yang lebih murah dengan fitur peralatan webcam.
1.5. Metodologi Penelitian 1. Metode studi literatur
2. Metode pengembangan sistem
Metode yang digunakan dalam pengembangan sistem ini adalah metode Waterfal. Model ini merupakan model klasik yang bersifat sistematis dalam membangun sebuah software. Fase-fase yang ada dalam model ini diantaranya : menganalisa kebutuhan program, mendesian interface, mengimplementasikan hasil analisa dan desain sebelumnya kemudian melakukan testing dan analisa hasil dari tahap implementasi.
1.6. Sistematika Penulisan
Laporan pembangunan tugas akhir ini ditulis berdasarkan hasil penelitian yang dilakukan selama pengerjaan. Adapun sistematika penulisannya terdiri atas:
BAB I. PENDAHULUAN
Bab ini merupakan gambaran umum tentang tugas akhir ini yang menjelaskan mengenai latar belakang masalah, batasan masalah, tujuan dan manfaat penelitian, rumusan masalah, dan metodologi yang digunakan dalam pembangunan sistem.
BAB II. DASAR TEORI
Bab ini akan berisi uraian tentang teori-teori yang akan digunakan dalam perancangan sistem yaitu penjelasan mengenai citra dan operasi pengolahan citra.
BAB III. ANALISIS DAN PERANCANGAN SISTEM
Bab ini akan membahas analisa dan rancangan dari sistem yang akan dibangun secara umum dan terperinci.
BAB IV. IMPLEMENTASI SISTEM
BAB V. ANALISIS HASIL IMPLEMENTASI
Bab ini membahas tentang analisa hasil implementasi pada sistem informasi yang telah dibuat dan hasil dari analisa yang telah dilakukan pada sistem setelah sistem dicoba.
BAB VI. PENUTUP
5
BAB II
LANDASAN TEORI
2.1 Sistem Keamanan
Keamanan berasal dari kata dasar aman yang artinya adalah suatu keadaan bebas dari bahaya, bebas dari gangguan dan tersembunyi (Kamus Besar Bahasa Indonesia). Dalam kehidupan sehari ada beberapa jenis kemanan yang sering kita temukan, diantaranya adalah kemanan fisik. Kemanan fisik adalah tindakan atau cara yang dilakukan untuk mencegah atau menanggulangi dan menjaga orang, barang, tempat dari bahaya fisik yang bisa menyebabkan kerugian. Kemanan fisik termasuk perlindungan dari pencurian, vandalisme dan terorisme. Pengamanan secara tradisional adalah dengan menempatkan seorang penjaga untuk menjaga suatu area yang dianggap sebagai aset yang perlu dijaga. Namun cara tersebut dianggap kurang efektif
2.2 Sensor visual
Pada komponen sensor visual yang ditangkap oleh indera sensor adalah berupa citra gambar. Perangkat yang digunakan sebagai komponen sensor adalah kamera. Dalam bidang keamanan yang sering digunakan sebagai alat bantu adalah kamera CCTV (Close Circuit Televission), namun pada penelitian ini penulis akan menggunakan webcam.
Webcam adalah suatu kamera digital yang digunakan untuk mengambil gambar secara digital dan mengirimkanya melalui internet. Cara kerja webcam sama dengan cara kerja kemera digital, yaitu menggunakan sensor CMOS untuk menangkap obyek yang terkena cahaya melalui dan mengubahnya menjadi gambar digital. Saat ini jenis webcam yang banyak digunakan adalah adalah webcam USB dan IP Kamera. Untuk webcam USB koneksi hanya memerlukan kabel USB, dan untuk IP Kamera perlu konfigurasi alamat IP. Dalam penelitian ini menggunakan webcam 1.3 Mega Pixel. Dimensi maksimal untuk gambar yang didapat dengan webcam 1.3 Mega Pixel adalah 640x480.
2.3. Pengolahan Citra Digital 2.3.1. Pengertian Citra Digital
Citra digital adalah sebuah bentuk representasi atau kemiripin sebuah obyek nyata ke dalam bidang dimensi tertentu. (Webster,1999) Sebagai contoh yang dapat kita ambil adalah foto diri seseorang atau mungkin lukisan seseorang dan beberapa contoh lainnya.
Sedangkan pengertian citra dalam bidang matematika dapat juga dikatakan sebagai suatu fungsi yang memiliki sifat menerus atau continue dari intensitas cahaya pada bidang dua dimensi.
Suatu obyek dapat dikatakan sebagai citra, jika obyek tersebut dikenai oleh cahaya dan memantulkannya ke segala arah (disesuaikan dengan permukaan obyek), dari pemantulan tersebut di tangkap oleh alat-alat optik (semisal mata manusia, scanner, kamera, sensor satelit dan lain sebagainya) kemudian direkam.
Pada dasarnya citra dibagi menjadi 2 kelompok. Diantaranya citra tampak dan citra tidak tampak (Munir, 2005). Contoh citra tampak adalah foto, gambar, lukisan, dan lain sebagainya. Sedangkan contoh citra yang tidak tampak adalah data foto atau citra dalam file atau data foto atau citra yang direpresentasikan ke dalam fungsi matematis.
Citra yang dimaksudkan dalam penelitian ini adalah citra digital yang bersifat diam (still digital image) dan citra yang bergerak (moving digital image). Citra digital yang bersifat diam adalah sebuah citra yang disimpan atau direkam dalam bentuk format file serta tidak mengalami pergerakan (Munir,2005). Perbedaannya dengan citra digital yang bergerak (moving digital image) adalah cara menampilkannya, dalam arti pada citra digital yang bergerak citra ditampilkan secara berurutan (terurut) sehingga memberikan kesan citra tersebut bergerak.
2.3.2. Pengertian Pengolahan Citra Digital
Dalam ilmu komputer sebenarnya ada 3 bidang studi yang berkaitan dengan citra digital (Munir,2004), diantaranya:
1. Grafika Komputer (computer graphics) 2. Pengolahan Citra (image processing)
Dari ketiga bidang studi tersebut tentunya memiliki tujuan yang berbeda-beda satu sama lain. Perbedaan tersebut dapat kita lihat sebagai berikut:
Grafika Komputer memiliki tujuan untuk menciptakan sebuah citra dari obyek nyata dengan menggunakan geometri-geometri primitive (seperti garis, lingkaran dan sebagainya) sedangkan pengolahan citra memiliki tujuan untuk memperbaiki atau memodifikasi kualitas citra agar menjadi citra yang lebih baik. Sementara tujuan Pengenalan Pola adalah untuk mengelompokkan atau mengumpulkan data numerik dan simbolik (dapat berupa data citra) secara otomatis dengan menggunakan mesin (dalam hal ini mesin komputer).
Dalam penelitian ini, penulis hanya memfokuskan pada pengolahan citra digital, dimana data citra digital yang didapat akan diproses dan dilakukan operasi aritmatika pada dua buah citra yang dilakukan secara berurutan dan terus menerus, yaitu operasi pengurangan, sehingga bisa diketahui apakah kedua citra tersebut sama atau beda.
2.4. Pembentukkan Citra 2.4.1. Digitalisasi Citra
Agar sebuah citra dapat dilakukan perhitungan dengan komputer digital, maka suatu citra harus direpresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi malar menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut sebagai citra digital. Umumnya citra digital berbentuk empat persegi panjang dan dimensi ukurannya dinyatakan sebagai tinggi x lebar.
f(x,y) =
Masing-masing elemen pada citra digital disebut image element, picture element atau pixel. Sebagai contoh misalkan sebuah citra berukuran 256 x 256 pixel dan direpresentasikan secara numerik dengam matriks yang terdiri dari 256 buah baris (di-indeks dari 0 sampai 256) dan 256 buah kolom (di-indeks dari 0 sampai 255) seperti contoh berikut:
Gambar 2.2 Contoh citra digital
2.4.2. Elemen-elemen Citra Digital
Dalam citra digital mengandung elemen dasar, dari elemen-elemen tersebut dapat dilakukan manipulasi dalam pengolahan citra. Elemen-elemen dasar yang penting diantaranya adalah:
1. Kecerahan
Kecerahan atau intensitas pada sebuah titik (piksel) dalam citra digital bukanlah bentuk intensitas yang riil, melainkan intensitas rata-rata dari suatu area yang melingkupinya.
2. Kontras
Keadaan yang ditimbulkan oleh perubahan intensitas pada piksel-piksel yang bertetangga, sehingga dengan adanya perubahan tersebut kita dapat mendeteksi tepi-tepi obyek di dalam citra.
4. Warna
Adalah persepsi yang ditangkap oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh obyek. Setiap warna memiliki panjang gelombang yang berbeda-beda. Warna-warna yang diterima oleh mata manusia merupakan bentuk kombinasi cahaya dengan panjang gelombang yang berbeda. Persepsi sistem visual manusia terhadap warna sangat relatif sebab dipengaruhi oleh beragam kriteria yang disebabkan adaptasi yang menimbulkan distorsi.
5. Bentuk
Merupakan properti intrinsik dari obyek tiga dimensi untuk sistem visual manusia. Manusia lebih sering mengasosiasikan obyek dengan bentuknya ketimbang elemen lainnya.
6. Tekstur
Dicirikan sebagai distribusi spasial derajat keabuan dari sekumpulan piksel-piksel yang bertetangga. Jadi tekstur tidak didefiniskan sebagai piksel. Sebuah informasi citra diterima oleh sistem visual manusia tidak secara independen pada tiap pikselnya merupakan sebuah suatu citra dianggap sebagai suatu kesatuan piksel-piksel penyusunnya.
2.4.3. Tipe Citra berdasarkan format penyimpanan. 2.2.3.1 Citra Biner (monokrom)
hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik. Contoh representasi citra biner ke dalam data digital
Gambar 2.3 contoh penyajian citra biner dalam matrik.
2.4.3.2 Citra skala keabuan (grayscale)
Citra skala keabuan memberi kemungkinan warna yang lebih banyak dari pada citra biner., karena nilai-nilai lain antara nilai minimum dan nilai maksimumnya. Banyaknya kemungkinan nilai dan nilai maksimumnya tergantung pada jumlah bit yang digunakan. Contohnya untuk skala keabuan 4 bit, maka jumlah kemungkinan nilainya adalah 24 atau sama dengan 16, dan nilai maksimumnya adalah 24-1 = 15. Sedangkan untuk nilai skala keabuan 8 bit, maka jumlah kemungkinan nilainya adalah 28 =256, dan nilai maksimumnya adalah 28-1= 255.
2.4.3.3 Citra warna (true colour)
Pada citra warna, setiap titik mempunyai warna yang spesifik yang merupakan kombinasi dari tiga warna yaitu merah, hijau dan biru. Format citra ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna kuning merupakan kombinasi warna dan hijau sehingga nilai RGB-nya adalah 255 255 0. Dengan demikian tiap titik pada citra warna membutuhkan data 3 byte.
Jumlah kombinasi yang mungkin untuk format citra ini adalah 224
Jumlah bit yang dibutuhkan setiap titik pada citra bergantung pada jumlah warna yang tersedia pada palet warna. Sebagai contoh, untuk palet ukuran 26 warna, setiap titik membutuhkan 4 bit. Dan untuk palet berukuran 256 warna, setiap titik membutuhkan 8 bit atau 1 byte. Palet atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada. Inilah sebabnya format citra ini dinamakan true-colour.
2.4.3.4 Citra warna berindeks
warna merupakan bagian dari citra warna berindeks, sehingga saat penyimpanan citra, informasi palet juga harus disertakan. Keuntungan menggunakan palet warna ini adalah kita dapat dengan cepat memanipulasi warna tanpa harus mengubah informasi pada setiap titik pada citra, keuntungan lainya dalah besarnya data yang diperlukan untuk menyimpan citra ini lebih kecil dibandingkan dengan citra true colour.
2.4.4. Elemen Sistem Pemrosesan Citra Digital
Secara umum elemen yang terlibat dalam pemrosesan citra dapat dibagi menjadi empat komponen (Munir, 2004):
1. Digitizer
2. Komputer digital 3. Piranti tampilan 4. Piranti penyimpanan
Digitizer merupakan sistem penangkap citra digital yang dikonversikan ke dalam representasi numerik sebagai masukkan bagi komputer digital. Hasil yang didapat dalam proses ini adalah matriks yang elemen-elemennya menyatakan nilai intensitas cahaya pada suatu titik (piksel). Contoh digitizer adalah kamera digital dan scanner.
2.5.Format Citra Bitmap
Meski format BMP memiliki ukuran file yang besar, tetapi ada kelebihan lain yang dapat diambil, yaitu kualitas gambarnya. Citra dalam format BMP ini lebih baik kualitas gambarnya dibandingkan dengan format citra lainnya. Sebab citra ini tidak mengalami pemampatan, dan informasi-informasi akan pixel-pixel sebuah citra tidak hilang.
Secara harifiah bitmap dapat diartikan sebagai pemetaan bit, maksudnya intensitas pixel di dalam sebuah citra dipetakan ke dalam sejumlah bit tertentu. Peta bit yang umum adalah 8, artinya setiap pixel panjangnya 8 bit. Nilai tersebut merepresentasikan nilai intensitas pixel.
2.6. Warna
2.6.1. Dasar-dasar Warna
Warna merupakan salah satu bentuk presepsi visual seseorang terhadap sebuah obyek citra. Warna yang dihasilkan oleh obyek citra ditentukan oleh warna sinar yang dipantulkannya. Warna sinar yang dapat terespon oleh mata manusia adalah sinar tampak dengan panjang gelombang antara 400 – 700 nanometer.
2.5.2. Atribut Warna
Selain RGB warna juga dapat dimodelkan ke dalam bentuk lain, yaitu berdasarkan artibut warna yang dimiliki. Berikut ini adalah macam dari atribut warna, diantaranya intensity (I), hue (H), saturation (S).
1. Intensity/Luminance
Merupakan salah satu atribut yang menyatakan banyaknya sinar atau cahaya yang ditangkap oleh mata manusia tanpa memperhatikan warna. Kisaran nilai yang dimiliki antara gelap (hitam) dan terang (putih).
2. Hue
Atribut ini lebih menerangkan warna sebenarnya dalam arti atribut ini dapat membedakan warna-warna yang tertangkap mata manusia. Hue
3. Saturation
berasosiasi dengan dengan panjang gelombang cahaya.
Menyatakan tingkat kemurnian warna cahaya atau dapat juga dinyatakan sebagai pengukur dalamnya sebuah warna dengan cara mengindikasikan seberapa banyak warna warna putih yang diberikan pada sebuah warna.
2.5.3. Ruang Warna
Gambar 2.4 Ruang Warna
Dari gambar di atas dapat kita lihat red, green dan blue terdapat di aksis (1,0,0) sedangkan warna abu-abu atau grayscale terdapat pada garis diagonal dari titik warna hitam menuju warna putih.
2.7 Operasi Pengolahan Citra
Pengolahan citra digital (digital image processing) adalah proses memanipulasi suatu file citra dengan menggunakan komputer digital sehingga menghasilkan suatu file citra yang sesuai dengan keinginan.
Gambar 2.5. Pengolahan Citra
Manfaat pengolahan citra adalah menunjang kebutuhan kehidupan sehari-hari khususnya untuk :
• Memfasilitasi penyimpanan dan transmisi citra seperti menentukan metode penyimpanan citra yang efisien dalam suatu kamera digital sehingga mempercepat proses pengirim citra dari jarak jauh misalkan dari planet Mars ke Bumi.
• Menyiapkan untuk ditampilkan di monitor atau dicetak. Proses yang dilakukan adalah merubah ukuran citra yang harus disesuaikan dengan ukuran media tampilan serta proses halftoning untuk proses pencetakan.
Pengolahan citra pada dasarnya dilakukan dengan cara memodifikasi setiap titik dalam citra tersebut. Secara garis besar, modifikasi citra dikelompokkan menjadi:
1. Operasi titik adalah operasi pengolahan citra dimana setiap titik diolah tidak berpengaruh antara satu titik dengan titik yang lain. Setiap titik pada suatu citra mempunyai 2 karakteristik, yaitu koordinat yang menunjukkan lokasi dari titik tersebut dalam citra dan nilai piksel. Beberapa operasi pengolahan citra yang termasuk dalam kelompok operasi titik adalah operasi modifikasi kecemerlangan (brightness modification), peningkatan kontras (contrast enhancement), negasi (negation), dan operasi pengambangan (thresholding).
2. Operasi global adalah operasi pengolahan citra dimana karakteristik global dari citra tersebut digunakan untuk memodifikasi nilai setiap titik. Salah satu contoh operasi global adalah ekualisasi histogram.
3. Operasi geometri adalah operasi terhadap koordinat piksel dalam citra yang memungkinkan terjadinya perubahan bentuk, ukuran, atau orientasi. Operasi geometri di antaranya meliputi pencerminan (flipping), rotasi / pemutaran (rorating), penskalaan (scaling / zooming), dan pembengkokan (warping).
5. Operasi titik bertetangga adalah operasi dimana data dari titik yang bersebelahan (bertetangga) dengan titik yang ditinjau ikut berperan dalam mengubah nilai. Operasi bertetangga pada dasarnya konvolusi antara citra dengan sebuah filter atau mask. Operasi titik bertetangga di antaranya meliputi penghalusan citra (smoothing), eliminasi derau, pendeteksi tepi, penajaman citra (sharping).
6. Operasi morfologi adalah operasi yang didasarkan pada segmen atau region dalam citra yang menjadi perhatian. Operasi morfologi di antaranya meliputi operasi pencarian batas, dilasi (dilation), erosi (erosion), penutupan (closing), pembukaan (opening), pengisian (filling).
Operasi citra pada pengolahan citra pada umumnya diterapkan bila:
1. Perbaikan kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung dalam citra tersebut.
2. Elemen-elemen dalam citra perlu dikelompokkan atau dicocokkan untuk diukur.
3. Sebagian citra perlu digabung dengan citra yang lain.
2.7.1 Operasi Berbasis Bingkai
Operasi berbasis bingkai adalah operasi yang melibatkan 2 buah citra atau lebih dan menghasilkan sebuah citra keluaran yang merupakan hasil operasi matematis (Achmad, 2005).
Operasi berbasis bingkai antara citra A dan citra B akan menghasilkan citra C, yang persamaannya dapat dituliskan sebagai berikut:
dimana op adalah operator yang menghubungkan kedua citra tersebut. Operasi berbasis bingkai juga dapat melibatkan N buah citra A1 sampai dengan AN yang persamaannya dapat dituliskan sebagai berikut:
C(x,y) = A1(x,y) op A2(x,y) op A3(x,y) ... op AN(x,y)
Berdasarkan operator yang dipakai, operasi berbasis bingkai meliputi operasi aritmatik dan operasi logika.
2.7.1.1 Operasi Aritmatika
Operasi aritmatik biasanya diterapkan terhadap citra keabuan dan warna. Berdasarkan operator aritmatika yang umum digunakan terdapat empat operasi aritmatika yang dapat dirumuskan sebagai berikut:
Penjumlahan Dua Buah Citra
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) + B(x,y)
C adalah citra baru yang intensitas setiap pixel-nya adalah jumlah dari intensitas pada A dan B. Jika hasil penjumlahan intensitas lebih besar dari 255 maka intensitasnya akan dibulatkan menjadi 255.
Operasi penjumlahan citra dapat digunakan untuk mengurangi pengaruh derau (noise) di dalam data, dengan cara merata-ratakan derajat keabuan setiap piksel dari citra yang sama yang diambil berkali-kali.
C(x,y) = wA * A(x,y) + wB * B(x,y)
dengan wA * dan wB adalah bobot untuk citra A dan citra B. Biasanya nilai total dari bobot untuk sebuah lokasi piksel adalah 1, sehingga
wB = 1 – wA
C(x,y) = A(x,y) - B(x,y)
C adalah citra baru yang intensitas setiap pixel-nya adalah selisih dari intensitas pada A dan B. Ada kemungkinan hasil operasi ini menghasilkan nilai negatif, oleh karena itu, operasi pengurangan citra perlu melibatkan operasi clipping.
Pengurangan citra dapat digunakan untuk mendeteksi perubahan yang terjadi selama selang waktu tertentu bila dua buah citra yang diambil adalah citra dari adegan yang sama. Teknik semacam ini dipakai pada moving images.
Perkalian Citra
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) * B(x,y)
C adalah citra baru yang intensitas setiap pixel-nya adalah hasil perkalian dari intensitas pada A dan B.
Pengurangan Dua Buah Citra
Persamaan yang digunakan adalah:
mungkin akan bernilai rill, sehingga semua nilai dibulatkan ke nilai bulat terdekat. Nilai maksimumnya adalah 255.
Penjumlahan/Pengurangan Citra Dengan Skalar Persamaan yang digunakan adalah:
B(x,y) = A(x,y) + c
Penjumlahan citra A dengan skalar c adalah menambah setiap piksel di dalam citra dengan sebuah skalar c, dan menghasilkan citra baru B yang intensitasnya lebih terang daripada A. Kenaikan intensitas sama untuk seluruh piksel, yaituc.
Pengurangan citra A dengan skalar c adalah mengurangkan setiap piksel di dalam citra dengan sebuah skalar c, dan menghasilkan citra baru B yang intensitasnya lebih gelap daripada A. Penurunan intensitas sama untuk seluruh pixel, yaitu c. Contoh operasi penjumlahan/pengurangan citra dengan sebuah skalar adalah operasi pencerahan citra.
Perkalian/Pembagian Citra Dengan Skalar Persamaan yang digunakan adalah:
B(x,y) = c . A(x,y)
dan
B(x,y) = A(x,y) / c
Pembagian citra A dengan skalar c menghasilkan citra baru B yang intensitasnya lebih gelap daripada A. Penurunan intensitas setiap pixel sebanding dengan c. Operasi pembagian citra dengan skalar dipakai untuk normalisasi kecerahan (normalization of brightness).
2.7.2 Operasi Logika
Operasi logika juga dapat dilakukan terhadap dua atau lebih citra. Beberapa operasi logika yang sering dipergunakan adalah:
Operasi Logika AND
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) AND B(x,y)
AND
(A) AND (B)
B
A
Gambar 2.6. Citra hasil operasi logika AND
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan menggunakan operasi logika AND maka citra hasil operasi yang didapat adalah citra persegi panjang yang merupakan perpotongan kedua citra tersebut.
Operasi Logika OR
Persamaan yang digunakan adalah:
B
OR
(A) OR (B)
A
Gambar 2.7. Citra hasil operasi logika OR
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan menggunakan operasi logika OR maka citra hasil operasi yang didapat adalah citra poligon yang merupakan perpaduan kedua citra tersebut.
Operasi Logika XOR
Persamaan yang digunakan adalah:
C(x,y) = A(x,y) XOR B(x,y)
XOR
(A) XOR (B)
B
A
Gambar 2.8. Citra hasil operasi logika XOR
Jika A adalah citra dengan gambar persegi panjang dan B adalah citra dengan gambar persegi maka setelah kedua citra tersebut dioperasikan dengan menggunakan operasi logika XOR maka citra hasil operasi yang didapat adalah citra poligon yang berlubang dibagian tengah yang merupakan hasil perpaduan kedua citra tersebut.
Operasi Logika NOT
Persamaan yang digunakan adalah:
A
NOT
NOT (A)
Gambar 2.9. Citra hasil operasi logika NOT
27
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Gambaran Sistem
Sistem yang dibuat ini merupakan salah satu implementasi pengolahan citra digital. Sistem ini merupakan sebuah alat bantu dalam bidang keamanan. Pada sistem ini kita membutuhkan sebuah perangkat komputer yang menggunakan sistem operasi Windows untuk menjalankan sistem tersebut, juga sebuah speaker untuk membunyikan alarm ketika terjadi adanya gerakan Dalam sistem ini akan menggunakan citra dari obyek nyata yang diambil menggunakan media webcam yang kemudian citra tersebut akan diolah dengan teknik pengolahan citra.
Dalam pengolahan citra tersebut, sistem akan mengambil citra yang digunakan sebagai pembanding. Citra yang diambil pertama tersebut diambil untuk mencitrakan keadaan ketika tempat atau latar tersebut dalam keadaan tanpa obyek asing yang tertangkap kamera. Kamera atau webcam yang dipasang akan mengambil gambar secara real time tiap beberapa satuan waktu. Misalnya dalam setiap setengah detik akan ada satu citra yang diambil. Setiap gambar yang diambil akan dibandingkan dengan gambar yang diambil sebelumnya.
Objek image
Latar image
2. perbedaan = | Objek – latar |
Perbedaan>tol eransi
3. Play Suara Perbedaan=0
tidak
1. Ambil gambar Latar mulai
4. Simpan Gambar
selesai
Objek = latar Perbedaan > 0
Berhenti?
ya
2. Ambil gambar obyek
Berhenti
ya
tidak
3.2 Diagram Konteks Sistem
Gambar 3.2 Gambar Diagram Konteks sistem.
3.3 Diagram Alir Data
User
Setting kamera
Kamera Bandingkan dua buah
citra
Suara dan Teks berkedip
Gambar 3.3 Gambar Diagram Alir Data
Aplikasi ini terdiri dari empat proses utama, yaitu proses banding citra, proses simpan gambar, proses pembangkit peringatan, dan proses setting kamera. Berikut merupakan penjelasan mengenai masing-masing proses tersebut.
3.3.1. Proses Membandingkan dua buah citra
pada kedua citra. Hasil dari pengurangan citra akan dibuat harga mutlak sehingga didapat nilai positif. Jika hasil dari pengurangan tersebut lebih dari nol, maka kedua citra tersebut berbeda, namun jika hasil pengurangan kedua citra tersebut adalah nol, maka citra tersebut sama. Output dari proses ini adalah keterangan apakah kedua citra tersebut beda atau sama.
Proses banding gambar adalah sebagai berikut :
1. Baca kedua citra masukan.
2. Baca panjang dan lebar gambar obyek dan gambar latar. 3. Baca Nilai RGB pada tiap koordinat x,y kedua buah citra
4. Untuk koordinat (x,y) yang sama pada kedua gambar dikurangkan masing nilai Red, Green dan Blue
5. Jika nilai |(Red obyek – Red Latar)| > toleransi dan |(Green obyek – Red Latar)| > toleransi dan nilai |(Blue obyek – Blue Latar )| > toleransi pixel maka jumlah pixel yang berubah di tambahkan satu.
6. Ulangi langkah empat untuk semua titik pada kedua gambar
mulai
Baca panjang dan lebar 2 citra
Y=tinggi; y>0; y-1
X=lebar;x>0; X-1
PersenPerubahan = (pixelBerubah*100)/
luasGambar
R(|objek(x,y)-latar(x,y)|)>toleransipixel Dan
G(|objek(x,y)-latar(x,y)|)>toleransipixel Dan
B(|objek(x,y)-latar(x,y)|)>toleransipixel
PixelBerubah ++ ya tidak
Terdeteksi obyek asing
selesai Baca Citra
3.3.2. Proses Membangkitkan Suara Peringatan
Proses membangkitkan suara merupakan proses kelanjutan dari proses banding citra, jika proses banding citra menghasilkan output bahwa kedua citra berbeda maka proses ini akan berjalan. Proses ini akan memberikan sebuah informasi peringatan dengan memainkan suara atau alarm dan tulisan adanya pergerakan pada layar jika hasil dari proses banding citra mendeteksi adanya perbedaan citra.
mulai
PlaySuara true
selesai terdeteksiGerak =
true
false
Gambar 3.2 Algoritma Proses Pembangkit Suara.
3.3.3. Proses Menyimpan Gambar
direktori sesuai tanggal obyek tersebut terdeteksi. Nama file dari citra ini akan disesuaikan dengan waktu obyek tersebut terdeteksi. Nama file yang disimpan adalah [jam];[menit];[detik];[milidetik].JPG . File citra ini akan dimasukan dalam folder sesuai tanggal terdeteksinya obyek.
mulai
Simpan Gambar true
selesai terdeteksiGerak =
true
false
Gambar 3.3 Algoritma Proses Simpan Gambar.
3.3.4. Proses Setting Webcam
3.4 Diagram Berjenjang
0
Aplikasi Pengaman Ruangan Menggunakan Webcam
1 Modul Pengintaian
2 Modul Setting webcam
Proses Pembangkit Suara
Proses penyimpanan
gambar
2.2P Setting kamera
1.2P Proses Banding
Gambar
Gambar 3.4 Gambar Diagram Berjenjang.
3.5 Perancangan Antarmuka Aplikasi
3.5.1 Perancangan Modul Pengintaian
File setting help
1
2
3 4
5 6 7
Peringatan
Gambar 3.5 Rancangan User Interface Aplikasi Pengaman Ruangan
Rencana untuk tampilan utama program adalah seperti pada gambar 3.5. Pada tampilan awal program akan memuat beberapa komponen yang akan digunakan, dan komponen yang digunakan tampak pada keterangan berikut ini :
1. Layar, untuk menampilkan gambar yang diambil dari webcam
2. Progres Bar, untuk menampilkan besarnya jumlah titik yang berbeda
3. Track bar, digunakan untuk memasukan jumlah prosentase titik yang berubah.
4. Tombol Play, yaitu tombol yang digunakan untuk memulai mendeteksi obyek yang masuk ke layar kamera.
5. Menu File
7. Menu help, berisi tentang about dan bantuan dalam menjalankan program ini
3.5.2 Perancangan Form Bantuan
Form bantuan merupakan fasilitas tambahan pada aplikasi. Dengan adanya form bantuan ini, diharapkan user bisa mempunyai petunjuk dalam menjalankan program dan mendapatkan informasi tentang aplikasi. form bantuan terdiri dari dua form, yaitu form help dan form about.
3.5.2.1 Form Help
Help topik
keterangan
Gambar 3.6 Rancangan Form Help
3.5.2.1 Form About
Form about digunakan untuk menampilkan informasi tentang aplikasi. informasi yang ditampilkan adalah informasi tentang pembangun aplikasi ini.
ABOUT
Keterangan mengenai pembuat program aplikasi ini adalah
3.6 Disain Pengujian Perangkat Lunak
Untuk pengujian akan dilakukan secara bertahap dari modul sederhana hingga kompleks.
Tabel 3.1 Disain pengujian kamera pada Aplikasi Pengaman Ruangan Menggunakan Webcam
No Sekenario uji Hasil yang diharapkan Keterangan
a
Mengambil Gambar sesuai dengan resolusi menggunakan aplikasi
ConEnventos :
1.Ukuran 640x280 2. ukuran 352x288
Hasil pengujian untuk mengetahui ukuran menggunakan windows
explorer dilihat detail dimensinya gambar 640x480 gambar 352x288
b
Menyimpan gambar pada forder pada folder coba, menggunakan ConEnventos
Gambar tersimpan di folder coba satu
c Memainkan suara sond.wav
menggunakan media player Suara terdengar
d
Tabel 3.2 Pengujian Aplikasi Pengaman Ruang Menggunakan Webcam dengan Objek Orang.
Jarak
(meter)
Toleransi (%)
1 3 5 10 15 20
1 √ √ √ √ √ √
2 √ √ √ √ √ √
3 √ √ √ √ √ √
4 √ √ √ √ √ √
5 √ √ √ √ √ √
6 √ √ √ √ √ √
7 √ √ √ √ √ √
8 √ √ √ √ √ √
9 √ √ √ √ √ √
10 √ √ √ √ √ √
11 √ √ √ √ √ √
12 √ √ √ √ √ √
13 √ √ √ √ √ √
14 √ √ √ √ √ √
16 √ √ √ √ √ √
17 √ √ √ √ √ √
18 √ √ √ √ √ √
19 √ √ √ √ √ √
20 √ √ √ √ √ √
Keterangan : √ berarti terdeteksi, sedangkan × berarti tidak terdeteksi.
Tabel 3.3 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 1 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
Tabel 3.4 hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 2 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
27 7 3 √
28 8 3 √
29 9 3 √
30 10 3 √
Tabel 3.5 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 3 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
30 10 3 √
Tabel 3.6 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 4 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
29 9 3 √
30 10 3 √
Tabel 3.6 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 5 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
30 10 3 √
Tabel 3.7 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 6 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
Tabel 3.8 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 7 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
30 10 3 √
Tabel 3.9 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola tenis dan toleransi 1 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 √
8 8 1 √
9 9 1 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 √
17 7 2 √
18 8 2 √
19 9 2 √
20 10 2 √
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 √
26 6 3 √
27 7 3 √
28 8 3 √
29 9 3 √
3.7 Spesifikasi Kebutuhan Hardware dan Software
Untuk bisa menjalankan aplikasi ini dibutuhkan beberapa perangkat keras dan
Adapun komponen-komponen pendukungnya adalah sebagai berikut:
1. Prosesor Pentium III atau lebih. 2. Memori minimal 128 MB . 3. Harddisk 20 GB
4. Monitor VGA 5. speaker 6. Webcam
53
BAB IV
IMPLENTASI SISTEM
4.1 Implementasi Program
Implementasi merupakan tahap pengkodean dari hasil perancangan. Pada bab sebelumnya telah dijelaskan mengenai perancangan pembuatan program. Pada bab ini akan dijelaskan hasil implementasi dan jalannya program. Pada aplikasi ini program utama terletak dalam file pascal (.pas) yaitu file unit yang digunakan untuk menangani kejadian pada form. Sedangkan untuk tampilan antar muka berada dalam file .dfm yang berisi daftar komponen yang digunakan berikut propertinya. Setelah aplikasi ini di kompilasi maka akan muncul file aplikasi yang berekstensi .exe. File .exe ini merupakan aplikasi yang bisa digunakan oleh user untuk menjalankan program.
4.1.1 Modul Pengintai
4.1.1.1 Proses Banding Citra
Pada proses banding citra terdiri atas bebeberapa proses. proses banding citra berada dalam fungsi CariPerbedaan. Berikut merupakan penejelasan masing-masing proses utama yang digunakan dalam fungsi CariPerbedaan. Output dari fungsi cariPerberdaan adalah prosentase dari jumah titik yang berubah dan bertipe integer. Nilai balik dari fungsi cari perbedaan ini kemudian dibandingkan dengan nilai prosentase yang didapat dari trackbar. Dan output dari perbandinganya digunakan sebagai pemicu atau trigger untuk proses simpan gambar dan proses pembangkit Peringatan. Berikut ini adalah implementasi proses yang terdapat dalam proses banding citra.
Keluaran : imgObjek : Timage;
ImgLatar : Timage
Algoritma :
imgObjek.picture.LoadFromFile(JLCVideo1.FicheroImage n)
keterangan :Timage merupakan komponen untuk menampilkan citra pada form.
Timage mempunyai properti picture yang digunakan untuk menyimpan data citra. Sedangkan prosedurFile digunakan untuk mengambil citra. Citra yang diambil berasal dari komopnen JLCVideo1, dengan memanggil fungsi FicheroImagen yang berada pada komponen JLCVideo1.
2. Proses baca panjang, lebar dan luas citra Masukan : imgObjek:Timage
Keluaran : endX: integer
endY: integer
jumlahPixel: integer
Algoritma : endY := imgObjek.picture.Height – 1
endX := imgObjek.picture.Width – 1
jumlahPixel:=(imgObjek.picture.Height* imgObjek.picture.Width).
Pada listing tersebut nilai panjang dikurangi satu karena untuk penyimpanan citra pada Delphi dimulai dari titik 0,0. Demikian juga untuk lebar citra juga dikurangkan satu. Fungsi untuk mendapatkan nilai panjang dan lebar adalah dengan menggunakan subproperti dari Timage yaitu height dan width. Sedangkan variabel jumlah pixel digunakan untuk menghitung jumlah titik atau luas citra.
3. Proses baca jumlah perbedaan nilai RGB untuk semua titik Masukan : endX dan endY :integer
Keluaran : PixelBerubah : integer
Algoritma :
for y := 0 to endY do begin
currentLine := imgObjek.picture.bitmap.Scanline[y]; prevLine := imgLatar.picture.bitmap.Scanline[y]; for x := 0 to endX do
begin
currentPixel := currentLine^[x]; prevPixel := prevLine^[x];
if (abs(currentPixel.rgbtRed - prevPixel.rgbtRed) > pixelToleransi) and
(abs(currentPixel.rgbtGreen - prevPixel.rgbtGreen) > pixelToleransi) and
((abs(currentPixel.rgbtBlue - prevPixel.rgbtBlue) > pixelToleransi)) then
inc(pixelBerubah);
Keterangan : untuk membaca semua titik dilakukan perulangan dengan for, dan untuk membaca titik digunakan fungsi scanline. Fungsi ini hanya bisa membaca baris atau secara horizontal. Tiap titik yang dibaca pada koordinat yang sama dan dikurangkan nilainya untuk mengetahui perbedaan kedua citra. Fungsi inc() adalah fungsi increment yang digunakan untuk menambah satu suatu nilai variabel.
4. Proses hitung jumlah perbedaan
Masukan : PixelBerubah: integer
Keluaran : result: integer
Algoritma : result := (pixelBerubah * 100) div jumlahPixel;
Keterangan : proses ini digunakan untuk mencari prosentase jumlah titik yang berbeda. Variabel jumlahPixel didapatkan dari proses sebelumnya yaitu pada proses baca panjang, lebar dan luas.
5. Proses mentukan apakah ada gerakan
Masukan : result, moveTriger:integer
Keluaran : terdeteksiGerakan: boolean
Algoritma : trackbar1.Position := moveTrigger
TerdeteksiGerak := (result >= moveTrigger);
gambar dan proses pembangkit peringatan. Kedua proses dilakukan jika output dari proses ini adalah true.
4.1.1.1 Proses Pembangkit Peringatan
Proses pembangkit peringatan adalah proses untuk memberitahukan kepada user, bahwa telah ada obyek asing masuk kedalam area pengamanan. Ouptput dari proses ini berupa suara yang bisa langsung didengar oleh user melalui speaker.
Masukan : tredeteksiGerak: Boolean
keluaran : terdeteksiGerak: Boolean
algoritma : if (TerdeteksiGerak) then PlaySuara
sndPlaySound(PChar('sond.wav'), SND_NODEFAULT);
keterangan : Play Suara adalah prosedur yang akan dijalankan jika terdeksiGerak=true. Prosedur play suara akan memainkan file sond.wav.
4.1.1.1 Proses Simpan Gambar
Proses ini adalah proses untuk menyimpan gambar jika terdeteksi adanya pergerakan dalam area pengintian. Output dari proses ini adalah file gambar objek yang masuk kedalam area pengamanan.
Masukan : terdeksiGerak : Boolean
imgObjek: Timage
Keluaran : File gambar
Algoritma : if (TerdeteksiGerak) then SimpanGambar
JpegImg.Assign(imgObjek.picture.bitmap) ;
tmpFilename :=
dateTostr(date)+'\'+inttostr(jam)+';'+inttostr(min)+';' +inttostr(sec)+';'+intToStr(msec) + '.jpg'
JpegImg.SaveToFile(tmpFilename) ;
Keterangan : variabel sekarang digunakan untuk mengambil nilai tanggal dari sistem, dan tanggal dari sistem ini yang digunakan sebagi nama direktori penyimpanan file. Dan penamaan file objek sesuai dengan waktu dengan format jam;menit;detik;milidetik.jpg. Sedangkan tmpFilename adalah variabel bertipe string yang digunakan untuk menyimpan nama file. fungsi untuk menyimpan gambar adalah JpegImg.SaveToFile().
4.1.2 Modul Setting Kamera
Pada setting kamera penganan untuk event ini dikerjakan pada komponen JLCV. Untuk melakukan setting kamera kita bisa memanggil fungsi SeleccionarFormato yang telah disediakan oleh komponen JLCV untuk melakukakn setting kamera.
Masukan : JLCVIdeo1: JLCV
Keluaran : tampilan setting kamera
4.2 Implementasi Antar Muka
Progam ini dapat langsung dijalankan dengan double klik icon program yang berekstensi .exe karena sebelumnya telah dieksport ke format exe.
Gambar 4.1 Tampilan Icon Aplikasi Pengaman Ruangan
4.2.1 Halaman Pengintaian
Setelah selesai splash screen maka tampilan halaman atau form utama dari program tampak seperti pada gambar 4.2
Gambar 4.2 Tampilan Halaman Utama Aplikasi
video dan gambar. Dan untuk bantuan bisa masuk kedalm menu help. Selain itu juga terdapat beberapa komponen form, diantaranya adalah tombol mulai dan tombol berhenti, tombol mulai digunakan untuk memulai mendeteksi obyek yang masuk kedalam tampilan. Ketika tombol mulai aktifkan maka tampilan obyek akan ditampilkan melalui komponen Timage yang ada dalam form ini. Komponen berikutnya adalah komponen progres bar dan track bar, komponen trackbar digunakan untuk menentukan berapa persen jumlah pixel yang berubah ketika ada obyek masuk atau perubahan di dalam layar. Untuk nilai yang bisa kita atur dalam taksbar ini berkisar antara 0 sampai 100 persen. Sedangkan progresbar digunakan untuk menampilkan berapan persen perbedaan antara gambar obyek dan latar.implementasi modul pengintain terletak pada kelas form1. Pada gambar dijelaskan tentang diagram kelas dari form halaman pengintaian.
Form1 JLCVideo1: TJLCVideo
pnlSpeedButtons: TPanel pnlMainImage: TPanel
ProgressBar1: TProgressBar Label2: TLabel
lblLockCountdown: TLabel MainMenu1: TMainMenu file1: TMenuItem
seting1: TMenuItem help1: TMenuItem keluar1: TMenuItem
settingwebcam1: TMenuItem help2: TMenuItem
about1: TMenuItem formatvideo1: TMenuItem Mulai: TButton
Button2: TButton Label3: TLabel Label4: TLabel
4.2.2 Tampilan Setting Kamera
Gambar 4.3 Tampilan Menu Setting
Gambar 4.4 Tampilan Seting untuk inputan webcam
Gambar 4.5 Tampilan Form Untuk Pengaturan Format Video
Pada gambar 4.5 menunjukan bahwa kita bisa melakukan pengaturan terhadap resolusi tampilan video yang akan digunakan sebagai pendeteksi adanya obyek asing yang masuk dalam zona yang kita amankan. Gambar simpanan obyek yang masuk kedalam zona aman nantinya akan disimpan dengan resolusi yang digunakan dalam pengaturan ini. Untuk fasilitas setting yang ada, disediakan langsung oleh komponen jlcvideo, dan kita hanya tinggal memanggil fungsi untuk melakukan pengaturan.
4.2.3 Tampilan Ketika Program Melakukan Proses Banding Citra
Gambar 4.6 Tampilan Ketika Aplikasi sedang dieksekusi
selalu berubah ketika kita melakukan perhitugan beda antar kedua gambar.
Pada saat melakukan proses banding citra maka aplikasi akan menjalankan fungsi hitungPerbedaan pada file unit1.pass. Pada gambar 4.7 menunjukan tampilan ketika aplikasi mendeteksi adanya obyek yang masuk kedalam tampilan layar
Gambar 4.7 Tampilan ketika terdapat obyek masuk kedalam layar.
menyimpan tampilan yang ada pada layer secara otmatis maka obyek tersebut juga akan terekam dalam gambar. Penyimpanan gambar obyek terebut akan dikelompokan kedalam folder berdasarkan tanggal. Aplikasi ini akan otomatis membuat folder baru jika nama folder berdasar tanggal pengeksekusiannya belum ada.
Gambar 4.8 Folder baru yang dibentuk dengan nama sesuai tanggal
Pada bagian kiri bawah terdapat tulisan keterangan berwarna merah yang menampilkan keterangan bahwa obyek yang masuk kedalam tampilan di simpan, dan diberi nama file sesuai dengan jam ketika obyek tersebut di simpan dengan format JPG. Gambar 4.4c merupakan gambar hasil dari pengambilan terhadap obyek yang masuk kedalam tampilan. Pada saat mendeteksi gerak, program akan menjalankan prosedur simpanGambar dan prosedur PlaySuara. Kedua prosedur ini terdapat pada file unit.pas.
Ukuran gambar yang disimpan akan menyesuaikan dengan setting format video yang digunakan, dan untuk mengubah ukuran gambar kita bisa merubah dengan masuk ke menu Setting format video.
4.2.4 Tampilan Form Bantuan 4.2.4.1 Tampilan Form About
Untuk tampilan form about bisa dilihat pada gambar 4.5 .
Gambar 4.9 Tampilan Form About
Form pada gambar 4.5 akan ditampilkan tentang profil dari pembangun aplikasi pengaman ruangan ini.
4.2.4.2 Tampilan Help Program
Untuk masuk ke help, pilih menu utama Help -> Help Program. Help program ini berbentuk chm. Maka ketika masuk ke help akan langsung tampil di jendela lain. help berisi tentang panduan cara
Gambar 4.10 Tampilan Menu Help.
Menu bantuan yang dibuat menggunakan format shm, dan file bantuan akan dipanggil melalui fungsi pemanggilan file bantuan.chm
4.3 Hasil Pengujian Program
4.3.1 Hasil ujicoba Aplikasi Pengaman Ruangan Menggunakan Webcam. Hasil pengujian tiap modul pada aplikasi ini bisa dilihat pada table 3.1
Tabel 3.1 Disain pengujian kamera pada Aplikasi Pengaman Ruangan
Menggunakan Webcam
No Sekenario uji Hasil yang
diharapkan Hasil pengujian keterangan
a
Mengambil Gambar sesuai dengan resolusi menggunakan aplikasi
ConEnventos :
1.Ukuran 640x280 2. ukuran 352x288
Hasil pengujian
b Menyimpan gambar pada forder
Suara terdengar Suara terdengar
√
setelah itu di tentukan berapa nilai toleransi yang diperbolehkan, dan obyek uji berjalan memasuki ruangan dengan jarak antara obyek dan kamera yang berubah dan sudah ditentukan seperti pada tabel 3.1. Pada pengujian ini akan menggunakan resolusi 320x240 dan tanpa penerangan tambahan menggunakan lampu.
Tabel 3.2 Hasil Hasil ujicoba Aplikasi Pengaman Ruangan Menggunakan
Webcam dengan obyek orang berjalan pada.
Jarak
(meter)
Toleransi (%)
1 3 5 10 15 20
1 √ √ √ √ √ √
2 √ √ √ √ √ ×
3 √ √ √ √ × ×
4 √ √ √ × × ×
5 √ √ × × × ×
6 √ √ × × × ×
7 √ √ × × × ×
8 √ √ × × × ×
9 √ × × × × ×
10 √ × × × × ×
11 √ × × × × ×
12 √ × × × × ×
14 × × × × × ×
15 × × × × × ×
16 × × × × × ×
17 × × × × × ×
18 × × × × × ×
19 × × × × × ×
20 × × × × × ×
Keterangan : √ berarti terdeteksi, sedangkan × berarti tidak terdeteksi.
Pada percobaan diatas menggunakan ukuran gambar 320x240 , dan waktu pengujian adalah siang hari pukul 13.00.
Dari hasil percobaan maka dapat disimpulkan bahwa jarak maksimal untuk obyek yang bisa dideteksi adalah :
1. Untuk tolerasni dengan nilai 1 % adalah 13 meter jarak maksimal. 2. Untuk toleransi dengan nilai 3 % adalah 8 meter jarak maksimal. 3. Untuk toleransi dengan nilai 5 % adalah 4 meter jarak maksimal. 4. Untuk toleransi dengan nilai 10 % adalah 3 meter jarak maksimal. 5. Untuk toleransi dengan nilai 15 % adalah 2 meter jarak maksimal. 6. Untuk toleransi dengan nilai 20 % adalah 1 meter jarak maksimal.
Tabel 3.3 Hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 1 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 √
7 7 1 ×
8 8 1 ×
9 9 1 ×
10 10 2 √
11 1 2 √
12 2 2 √
13 3 2 √
14 4 2 √
15 5 2 √
16 6 2 ×
17 7 2 ×
18 8 2 ×
19 9 2 ×
21 1 3 √
22 2 3 √
23 3 3 √
24 4 3 √
25 5 3 ×
26 6 3 ×
27 7 3 ×
28 8 3 ×
29 9 3 ×
Tabel 3.4 hasil pengujian aplikasi pengaman ruangan dengan obyek bola volley dan toleransi 2 persen.
No Kecepatan (m/s) Jarak (meter ) Hasil
1 1 1 √
2 2 1 √
3 3 1 √
4 4 1 √
5 5 1 √
6 6 1 ×
7 7 1 ×
8 8 1 ×
9 9 1 ×
10 10 2 ×
11 1 2 √
12 2 2 √