IMPLEMENTASI FACE RECOGNITION DENGAN
OPENCV PADA “SMART CCTV” UNTUK KEAMANAN
BRANKAS BERBASIS IOT
SKRIPSI
Oleh :
Fikriansyah Martunus
11150910000046
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2020 M / 1441 H
IMPLEMENTASI FACE RECOGNITION DENGAN
OPENCV PADA “SMART CCTV” UNTUK KEAMANAN
BRANKAS BERBASIS IOT
SKRIPSI
Sebagai salah satu syarat untuk
Mendapatkan gelar Sarjana Komputer (S.Kom)
Oleh :
Fikriansyah Martunus
11150910000046
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2020 / 1441 H
ii
LEMBAR PERSETUJUAN
iii
LEMBAR PENGESAHAN
iv
PERNYATAAN ORISINALITAS
v
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI
Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda tangan di
bawah ini:
Nama : Fikriansyah Martunus
NIM : 111509100000546
Program Studi : Teknik Informatika
Fakultas : Sains dan Teknologi
Jenis Karya : Skripsi
demi pembuatan ilmu pengetahuan, menyetujui untuk memberikan kepada UIN Syarif
Hidayatullah Jakarta Hak Bebas Royalti Noneksklusif (Non-exclusive Royalti Free Right)
atas karya ilmiah yang berjudul:
IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART
CCTV” UNTUK KEAMANAN BRANKAS BERBASIS IOT
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Noneksklusif ini
UIN Syarif Hidayatullah Jakarta berhak menyimpan, mengalihmedia/ formatkan,
mengelola dalam bentuk pangkalan data (database), merawat, dan mempublikasikan tugas
akhir saya selama tetap mencantumkan nama saya sebagai penulis/ pencipta dan sebagai
pemilik Hak Cipta. Demikian pernyataan ini saya buat dengan sebenarnya.
vi
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah melimpahkan rahmat,
taufik serta hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini. Proses
penyelesaian skripsi ini tidak lepas dari bantuan, dukungan, saran, serta kritik dari
berbagai pihak, oleh karena itu penulis ingin menyampaikan terima kasih kepada :
1. Ibu Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud. selaku Dekan Fakultas Sains
dan Teknologi.
2. Bapak Dr. Imam Marzuki Shofi, M.T. selaku Ketua Program Studi Teknik
Informatika serta pembimbing II yang telah memberi banyak ilmu, masukan dan
meluangkan waktu untuk membantu penulis dalam menyelesaikan skripsi dan
Bapak Andrew Fiade, M.Kom. selaku Sekretaris Program Studi Teknik
Informatika.
3. Ibu Nenny Anggraini, M.T., selaku dosen pembimbing I yang secara kooperatif
telah meluangkan waktu dan memberikan bimbingan, bantuan, semangat, dan
motivasi kepada penulis dalam menyelesaikan skripsi.
4. Ibu Prita Wardhani, A.Md. selaku bendahara dari Bagian Keuangan Fakultas
Sains dan Teknologi UIN Syarif Hidayatullah Jakarta selaku tester yang
membantu penulis dalam mendapatkan hasil pengujian.
5. Kedua orang tua tercinta, yaitu Bapak Martunus dan Ibu Armis yang tidak Lelah
mendoakan serta memberi dukungan moril dan materil sepanjang perjalanan
hidup penulis.
6. Annisa Maulina yang selalu memberi motivasi dan dukungan kepada penulis.
7. Sahabat dari basis HHL Syahrul Hamdi Azis, Renaldy Irfan, Dhimas Endira
Yunantasena, Ali Akbar atas kesediaannya untuk selalu belajar bersama dan
berbagi pengalaman.
vii
8. Teman-teman angkatan 2015 khususnya Alifia Ayu, Abu Ubaidillah, Fariz
Alifio, Ahsan Tq, Kelvin, Roselin, Addini Yusmar, Farid Evan yang telah
memberi dorongan, masukan serta motivasi dalam menyelesaikan skripsi.
9. Semua pihak yang tidak dapat penulis sebut satu persatu yang telah membantu
dalam penyelesaian penulisan skripsi ini.
Akhirnya, dengan segala kerendahan hati penulis menyadari masih banyak
terdapat kekurangan-kekurangan, sehingga penulis mengharapkan adanya saran dan
kritik yang bersifat membangun demi kesempurnaan skripsi ini.
Jakarta, 14 Januari 2020
Fikriansyah Martunus
11150910000046
viii
Author : Fikriansyah Martunus Study Program : Informatics Title :IMPLENTATION OF FACE RECOGNITION
USING OPENCV ON “SMART CCTV” FOR SAFE SECURITY BASED ON IOT
ABSTRACT
One of the basic human rights is the right to be safe, this right to be safe is not only in the physical, psychological sense but also the right to security of property. Breaking into a safe is one of the security damages to the things. Every safe has a different level of protection to those who pass the certification test in accordance with international standards. Author is trying to develop CCTV by making a smart CCTV device using Raspberry Pi 4 based on IoT. By using face recognition which is one of the methods of the open source of computer vision (opencv), this method can recognize people and if there’s strangers smart ccctv will send images via telegram applications on smartphones. Based on the research results obtained from 40-69% approval of facial recognition and function suitability of 100%.
Keywords : Safe, Face Recognition, CCTV, Raspberry Pi, IoT
ix
Penulis : Fikriansyah Martunus
Program Studi : Teknik Informatika
Judul : IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN BRANKAS BERBASIS IOT
ABSTRAK
Salah satu Hak Asasi Manusia yang mendasar adalah hak atas rasa aman, hak atas rasa aman ini tidak saja dalam pengertian fisik, psikis tetapi juga hak atas keamanan harta benda. Perusakan atau pembobolan terhadap brankas merupakan salah satu pelanggaran keamanan terhadap barang. Setiap lemari besi atau brankas mempunyai tingkat proteksi yang berbeda-beda yang mesti lulus terhadap pengujian tersertifikasi sesuai dengan standar internasional. Peneliti mencoba mengembangkan penggunaan CCTV dengan membuat sebuah alat yaitu smart CCTV menggunakan Raspberry Pi 4 berbasis IoT. Dengan memanfaatkan face recognition yang merupakan salah satu metode dari library pada open source computer vision (opencv), alat ini dapat memantau orang-orang yang mendekati brankas dan kemudian mengirimkan gambar melalui aplikasi telegram pada smartphone apabila orang tersebut tidak dikenali. Berdasarkan hasil penelitian didapatkan hasil akurasi dari 40-69% terhadap pengenalan wajah dan kesesuaian fungsi sebesar 100%.
Kata Kunci : Brankas, Face Recognition, CCTV, Raspberry Pi4, IoT
x
DAFTAR ISI
LEMBAR PERSETUJUAN ................................................................................................ ii LEMBAR PENGESAHAN ................................................................................................ iii PERNYATAAN ORISINALITAS .................................................................................... iv
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI ................................................ v
KATA PENGANTAR ........................................................................................................ vi ABSTRACT ..................................................................................................................... viii ABSTRAK ......................................................................................................................... ix
DAFTAR ISI ....................................................................................................................... x
DAFTAR GAMBAR........................................................................................................ xiv
DAFTAR TABEL ............................................................................................................. xv
BAB I PENDAHULUAN ................................................................................................... 1
1.1 Latar Belakang ...................................................................................................... 1
1.2 Rumusan Masalah ................................................................................................ 4
1.3 Batasan Masalah .................................................................................................. 4
1.4 Tujuan Penelitian .................................................................................................. 5
1.5 Manfaat ................................................................................................................. 5
1.5.1 Bagi mahasiswa ............................................................................................. 5
1.5.2 Bagi Universitas ............................................................................................ 5
1.5.3 Bagi Pemilik Brankas .................................................................................... 5
1.6 Metodologi Penelitian ........................................................................................... 5
1.6.1 Metode Pengumpulan Data ........................................................................... 6
1.6.2 Metode Pengembangan Sistem ..................................................................... 6
1.7 Sistem Penulisan ................................................................................................... 6
BAB II LANDASAN TEORI ............................................................................................. 8
2.1 Implementasi ......................................................................................................... 8
2.2 Face Recognition .................................................................................................. 8
2.2.1 Pengenalan Face Recognition ....................................................................... 8
2.2.2 Konsep Pengenalan Wajah ............................................................................ 9
xi
2.2.3 False acceptance rate (FAR) ....................................................................... 11
2.2.4 False rejection rate (FRR)........................................................................... 11
2.3 Closed Circuit Television (CCTV) ...................................................................... 11
2.4 Brankas ............................................................................................................... 12
2.5 Internet of Things (IoT)....................................................................................... 12
2.6 Raspberry Pi ........................................................................................................ 13
2.6.1 Raspberry Pi 4 ............................................................................................. 14
2.6.2 Raspberry Pi Camera .................................................................................. 15
2.7 Python ................................................................................................................. 17
2.7.1 Pengertian Python ........................................................................................ 17
2.7.2 Fitur-Fitur Dari Python ................................................................................ 18
2.8 OpenCV .............................................................................................................. 19
2.8.1 Pengertian OpenCV ..................................................................................... 19
2.8.2 Algoritma OpenCV ..................................................................................... 20
2.9 Metode Pengumpulan Data ................................................................................. 21
2.9.1 Pengertian Data ........................................................................................... 21
2.9.2 Studi Pustaka ............................................................................................... 21
2.9.3 Studi Literatur .............................................................................................. 21
2.10 Product Lifecycle ............................................................................................ 22
2.10.1 Product Development Lifecycle ................................................................... 23
a. Requirement Analysis ...................................................................................... 24
b. Design ............................................................................................................. 24
c. Manufacture/Development .................................................................................. 24
d. Testing ............................................................................................................. 25
2.11 Black-Box Testing ........................................................................................... 25
2.12 Structured Analysis for Real Time system (SA/RT) ........................................ 26
BAB III METODOLOGI PENELITIAN .......................................................................... 29
3.1 Metode Pengumpulan Data ................................................................................. 29
3.1.1 Studi Pustaka ............................................................................................... 29
3.1.2 Literatur Sejenis........................................................................................... 29
xii
3.2 Model Pengembangan Sistem ............................................................................. 34
3.2.1 Requirements Analysis ................................................................................ 34
3.2.2 Design .......................................................................................................... 35
3.2.3 Manufacture and Development ................................................................... 35
3.2.4 Testing ......................................................................................................... 35
3.3 Kerangka Berpikir............................................................................................... 36
BAB IV ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN PENGUJIAN SISTEM ...................................................................................................... 37
4.1 Requirement Analysis ......................................................................................... 37
4.1.1 Tinjauan Sistem ........................................................................................... 37
4.1.2 Mendefinisikan Ruang Lingkup .................................................................. 38
4.1.3 Analisis Sistem Berjalan ............................................................................. 38
4.1.4 Analisis Sistem Usulan ................................................................................ 39
4.1.5 Analisis Kebutuhan Fungsional Sistem ....................................................... 40
4.1.6 Analisis Kebutuhan Hardware .................................................................... 43
4.1.7 Analisis Kebutuhan Software dan Tools...................................................... 43
4.2 Design ................................................................................................................. 44
4.2.1 Pengambilan Dataset ................................................................................... 45
4.2.2 Training Dataset .......................................................................................... 47
4.2.3 Pengenalan Wajah (Face Recognition) ....................................................... 47
4.2.4 Pengiriman Gambar (send picture) ............................................................. 48
4.3 Manufacture and Development ........................................................................... 49
4.3.1 Manufacture ................................................................................................ 49
4.3.2 Development ................................................................................................ 51
4.4 Testing ................................................................................................................. 65
4.4.1 User Acceptance Test .................................................................................. 65
4.4.2 Performance Testing ................................................................................... 67
BAB V HASIL DAN PEMBAHASAN ............................................................................ 69
5.1 Hasil Pengujian Sistem ....................................................................................... 69
5.2 Hasil Pengujian Tingkat User ............................................................................. 71
xiii
BAB VI PENUTUP ........................................................................................................... 72
6.1 Kesimpulan ......................................................................................................... 72
6.2 Saran ................................................................................................................... 73
DAFTAR PUSTAKA ........................................................................................................ 74
LAMPIRAN ...................................................................................................................... 78
xiv
DAFTAR GAMBAR Gambar 2.1 Logo Raspberry Pi ......................................................................................... 14 Gambar 2.2 Raspberry Pi 4 Model B ................................................................................ 15 Gambar 2.4 Raspberry Pi Camera ..................................................................................... 16 Gambar 2.5 Product Life Cycle ......................................................................................... 23 Gambar 2.6 SA/RT ............................................................................................................ 27 Gambar 3.1 Kerangka Berpikir ......................................................................................... 36 Gambar 4.1 Analisis Sistem Berjalan ................................................................................ 38 Gambar 4.2 Analisis Sistem Usulan .................................................................................. 39 Gambar 4.3 Context Diagram/DFD level 0 “smart cctv” .................................................. 40 Gambar 4.4 DFD Level 1 "smart cctv" ............................................................................. 41 Gambar 4.5 DFD/CFD Level 1 "smart cctv" .................................................................... 41 Gambar 4.6 Block Diagram ............................................................................................... 44 Gambar 4.7 Grayscale ....................................................................................................... 45 Gambar 4.8 Smart CCTV ................................................................................................... 49 Gambar 4. 9 Port raspberry pi ........................................................................................... 50 Gambar 4.10 Hasil Pengenalan Wajah .............................................................................. 64 Gambar 4.11 Hasil Pengiriman Gambar ........................................................................... 64
xv
DAFTAR TABEL
Tabel 3. 1 Studi Literatur ...................................................................................................30 Tabel 4. 1 Analisis Kebutuhan Hardware ......................................................................... 43 Tabel 4. 2 Analisis Kebutuhan Sofrware dan Tools .......................................................... 44 Tabel 4. 3 Komponen Port ................................................................................................ 50 Tabel 4. 4 Dataset Penelitian............................................................................................. 54 Tabel 4. 5 UAT-A ............................................................................................................. 65 Tabel 4. 6 UAT-B .............................................................................................................. 66 Tabel 4. 7 UAT-C .............................................................................................................. 66 Tabel 4. 8 UAT-D ............................................................................................................. 67 Tabel 4. 9 Pengaruh Jarak ................................................................................................. 68 Tabel 4. 10 Pendeteksian berdasarkan objek ..................................................................... 68 Tabel 5. 1 Tabel Hasil Pengujian Sistem ........................................................................... 69 Tabel 5. 2 Hasil UAT ........................................................................................................ 71
1
BAB I PENDAHULUAN
1.1 Latar Belakang
Salah satu Hak Asasi Manusia yang mendasar adalah hak atas rasa aman. Rasa aman
merupakan hak yang harus didapatkan oleh semua orang sehingga mendapatkan rasa
tentram dan nyaman. Hak atas rasa aman ini tidak saja dalam pengertian fisik, psikis tetapi
juga hak atas keamanan harta benda. Hak yang begitu penting ini dalam Konvensi
Internasional HAM dimasukkan dalam Konvensi Internasional Hak-hak Ekonomi, Sosial,
dan Budaya (International Covenant Economi, Social and Cultural Right) (Suseno, 2004).
Hak atas rasa aman juga tercantum dalam UUD 1945 pasal 35 UU HAM: “Setiap orang
berhak hidup di dalam tatanan masyarakat dan kenegaraan yang damai, aman dan tentram
yang menghormati, melindungi dan melaksakan sepenuhnya hak asasi manusia dan
kewajiban dasar manusia sebagaimana diatur dalam undang-undang ini.” (Kemenkumham,
2000)
Menurut Kitab Undang-undang Hukum Pidana (KUHP) dalam bab 1 Tentang Pelanggaran Keamanan Umum Bagi Orang atau Barang dan Kesehatan pasal 489 dikatakan
bahwa jika kenakalan terhadap orang atau barang yang dapat menimbulkan bahaya,
kerugian atau kesusahan, diancam dengan pidana denda paling banyak dua ratus dua puluh
lima juta rupiah. Perusakan atau pembobolan terhadap brankas merupakan salah satu
pelanggaran keamanan terhadap barang (DirektoriUURI, n.d.)
Setiap brankas mempunyai tingkat proteksi berbeda-beda yang mesti lulus
terhadap pengujian tersertifikasi sesuai dengan standar internasional. (Brankasid, 2017).
Pada umumnya, dalam brankas selain uang tunai juga disimpan dokumen-dokumen penting
atau benda berharga lainnya. Brankas tersebut dilengkapi dengan sistem keamanan yang
beroperasi secara mekanik (manual) berdasarkan kombinasi kode angka yang hanya
diketahui oleh pihak yang diberikan wewenang untuk mengaksesnya. Pada tahun 2018
2
UIN Syarif Hidayatullah Jakarta
terdapat pembobolan sebuah brankas di kantor Badan Pengembangan Sumber Daya
Manusia Daerah (BPSDMD), brankas yang berisi uang senilai lebih dari Rp.230 Juta itu
habis dibobol dengan dugaan brankas mencungkil jendela kantor lalu mengambil uang dari
dalam brankas (Poskupang.com, 2018).
Penelitian yang dilakukan oleh (Marti, 2010) membuktikan bahwa pengawasan
dengan CCTV banyak dilakukan pada beberapa perusahaan dan rumah untuk
mengantisipasi tindak kejahatan. Terdapat juga CCTV yang mampu mengenali wajah untuk
keamanan yang lebih tinggi, CCTV ini menggunakan dua metode yaitu dikenali dan tidak
dikenali. Metode ini juga harus mampu mengenali objek bukan wajah, perhitungan model
pengenalan wajah memiliki beberapa masalah seperti kesulitan muncul ketika wajah
direpresentasikan dalam suatu pola yang berisi informasi unik yang membedakan wajah
lain.
Salah satu API library yang dapat menjalankan identifikasi wajah (face
identification) dan pengenalan wajah (face recognition) yaitu Open Computer Vision
(OpenCV) pada bahasa pemrograman Python, seperti pengelolaan citra yang
memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer
dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek.
(Pazriyah, 2017). Face recognition akan membandingkan wajah yang terdeteksi dengan
basis data wajah yang diketahui, untuk memutuskan siapa orang itu. Sejak 2002, deteksi
wajah dapat dilakukan dengan cukup mudah dan andal dengan OpenCV. OpenCV memiliki
Face Detector built-in yang bekerja di sekitar 90-95% foto yang jelas dari
seseorang(Emami & Suciu, 2012).
Sebelumnya terdapat beberapa penelitian untuk pencegahan kehilangan brankas di
rumah maupun di sebuah perusahaan. Pada penelitian Sri Setyani yang menggunakan
RFID, dalam penelitian ini brankas dapat dibuka menggunakan e-KTP sebagai tag berbasis
arduino dan mendapat presentase 84,375% untuk uji kelayakan. Penelitian ini terdapat
kekurangan seperti jika kehilangan e-KTP, maka pemilik brankas tidak dapat membuka
3
UIN Syarif Hidayatullah Jakarta
brankas. Penelitian lain dari Penelitian yang dilakukan oleh Dedi Ashardi dengan judul "
Rancang Bangun Aplikasi Pemantau Ruangan Melalui Kamera Ip Menggunakan Platform
Android (Studi Kasus : Laboratorium Teknik Informatika Universitas Tanjungpura )”
Menjelaskan bahwa penelitian tersebut dapat melakukan pemantauan live streaming
dengan format Motion-JPEG melalui kamera IP dengan perangkat mobile menggunakan
platform Android, Streaming dengan format Motion -JPEG pada perangkat mobile tidak
membebani memori dari perangkat Android , namun memerlukan bandwidth yang besar
untuk dapat menampilkan frame rate (fps) yang tinggi sehingga streaming motion penuh
dan histori hasil pemantauan kamera IP berupa gambar disimpan pada sisi desktop dapat
dilihat kembali oleh pengguna melalui view history dari browser. (Kurniawan & Fani,
2017) melakukan penelitian tentang perancangan sistem kamera pengawas berbasis
perangkat bergerak menggunakan raspberry pi. Pada penelitian ini dapat mendeteksi
gerakan yang terjadi pada kamera pengawas tersebut, penelitian ini terdapat kelemahan
karena tidak semua smartphone dapat mengakses alat.
Terdapat beberapa produk cctv yang menggunakan jaringan wifi untuk keamanan
dari jarak jauh. IP Camera CCTV Wifi Wireless Portable SPC Smart Home menggunakan
sistem operasi windows dan dapat mendeteksi gerakan (motion detection), serta mengirim
notifikasi berupa alarm yang dikirimkan ke aplikasi smartphone, alat ini masih belum bisa
mengenali wajah. Smart KAMERA CCTV WIFI - V380 Outdoor menggunakan sistem
operasi windows dan dapat mendeteksi gerakan serta mengirim notifikasi berupa alarm
yang dikirimkan ke aplikasi smartphone seperti produk pertama, alat ini tidak dapat
mengenali wajah. Produk lain dari SIFARS, cctv ini dapat mengenali wajah tetapi tidak
dapat terhubung pada smartphone
Berdasarkan penelitian sebelumnya, peneliti ingin mengembangkan penggunaan
CCTV dan membuat sebuah alat yaitu smart CCTV menggunakan Raspberry Pi 4 berbasis
IoT yang dapat memantau orang-orang yang mendekati brankas dengan mengirimkan
gambar dari CCTV ke android dan membantu meningkatkan keamanan ketika brankas
4
UIN Syarif Hidayatullah Jakarta
tersebut ditinggalkan oleh pemiliknya. Smart CCTV merupakan sebuah CCTV yang dapat
mengenali wajah pemilik brankas tersebut dan ketika orang lain terekam oleh CCTV
tersebut tetapi CCTV tidak mengenali wajahnya, maka CCTV tersebut akan mengirimkan
gambar wajah orang tersebut dan mengirimkannya kepada si pemilik brankas melalui
android yang terhubung dengan jaringan internet.
Untuk dapat merealisasikan solusi tersebut, penulis memilih untuk melakukan
penelitian dengan menggunakan judul “IMPLEMENTASI FACE RECOGNITION
DENGAN OPENCV PADA SMART CCTV UNTUK KEAMANAN BRANKAS
BERBASIS IOT”
1.2 Rumusan Masalah
Berdasarkan uraian yang ada dari latar belakang diatas, maka rumusan masalah
pada skripsi ini adalah bagaimana hasil implementasi face recognition dengan opencv pada
smart cctv untuk keamanan brankas berbasis iot
1.3 Batasan Masalah
Sebagai pembatasan pengembangan penelitian dan alat untuk tetap fokus dan sesuai
dengan tujuan yang ditetapkan, maka penulis memberikan ruang lingkup batasan sebagai
berikut:
a. Komunikasi antara sistem dengan alat secara mobile menggunakan internet.
b. Input berupa gambar wajah untuk dikenali dengan raspberry pi dan output
berupa gambar wajah yang tidak dikenali kemudian dikirim melalui aplikasi
telegram.
c. Hanya wajah orang-orang yang dapat mengakses brankas yang dapat dikenali
cctv.
d. Alat diletakkan pada ketinggian minimal 2 meter.
e. Studi kasus pada brankas keuangan Fakultas Sains dan Teknologi UIN Syarif
Hidayatullah Jakarta.
5
UIN Syarif Hidayatullah Jakarta
f. Tidak dilakukan pengujian terhadap tingkat pencahayaan.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini yaitu mengimplementasikan opencv dan face recognition
dalam pembuatan smart cctv untuk membantu pengguna dalam meningkatkan pengawasan
pada brankas keuangan Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta
menggunakan opencv dan face recognition.
1.5 Manfaat
1.5.1 Bagi mahasiswa
1. Dapat mengimplementasikan apa yang sudah diajarkan.
2. Dapat mengembangkan ilmu yang telah diajarkan.
1.5.2 Bagi Universitas
Mengukur tingkat kemampuan dalam menerapkan ilmu akademis dan non-
akademis di lingkungan masyarakat.
1.5.3 Bagi Pemilik Brankas
1. Pengawasan brankas menjadi lebih terkontrol.
2. Memberikan kemudahan kepada pemilik brankas, karena dapat
meningkatkan sistem keamanan 24 jam dan mampu mengirimkan gambar
sebagai notifikasi.
1.6 Metodologi Penelitian
Metode yang digunakan penulis dalam penulisan dan penelitian dibagi menjadi dua,
yaitu metode pengumpulan data dan metode pengembangan. Metodologi ini digunakan
sebagai pedoman dalam pelaksanaan penelitian ini supaya memperoleh hasil yang
sesuai dengan tujuannya.
6
UIN Syarif Hidayatullah Jakarta
1.6.1 Metode Pengumpulan Data
Dalam melakukan analisis data dan penulisan tugas akhir ini, penulis
menggunakan 2 metode pengumpulan data, yaitu:
a. Studi Pustaka
b. Studi Literatur
1.6.2 Metode Pengembangan Sistem
Pada penelitian ini menggunakan model Product Development Live Cycle
dengan tahapan pengembangan sistem sebagai berikut:
a. Requirement analysis
b. Design
c. Manufacture and Development
d. Testing
1.7 Sistem Penulisan
Dalam penulisan tugas akhir ini penulis menyusunnya ke dalam enam bab. Setiap
bab-nya terdiri dari beberapa sub tersendiri. Bab tersebut secara keseluruhan saling
berkaitan, diawali dengan bab pendahuluan dan di akhiri dengan bab penutup yang berisi
kesimpulan dan saran. Secara singkat akan diuraikan sebagai berikut:
BAB I PENDAHULUAN
Dalam bab ini membahas mengenai latar belakang, batasan
masalah, rumusan masalah, tujuan, manfaat dan juga sistematika
penulisan.
7
UIN Syarif Hidayatullah Jakarta
BAB II LANDASAN TEORI DAN TINJAUAN PUSTAKA
Dalam bab ini membahas mengenai berbagai teori yang
mendasari dari analisis permasalahan yang berhubungan dengan
topik yang dibahas.
BAB III METODOLOGI PENELITIAN
Dalam bab ini membahas mengenai metode penelitian yang
digunakan dalam merancang dan mebangun alat.
BAB IV ANALISIS, DESAIN, IMPLEMENTASI DAN PENGUJIAN
SISTEM
Pada bab ini membahas mengenai hasil dari tahap analisis,
perancangan, implementasi sesuai dengan metode yang
digunakan pada alat yang dibuat serta hasil dari pengujian alat.
BAB V HASIL DAN PEMBAHASAN
Bab ini berisi pembahasan mengenai temuan selama proses
penelitian berlangsung serta analisa terhadap hasil pengujian
yang telah dilakukan dalam penelitian.
BAB VI PENUTUP
Pada bab ini berisi kesimpulan dari penulis mengenai
penelitian yang telah dilakukan serta saran untuk pengembangan
lebih lanjut mengenai penelitian ini supaya memperoleh hasil
yang lebih baik dikemudian hari.
8
BAB II
LANDASAN TEORI
2.1 Implementasi
Browne dan Wildavsky (dalam Nurdin dan Usman, 2004:70) mengemukakan
bahwa “implementasi adalah perluasan aktivitas yang saling menyesuaikan”. Pengertian
implementasi sebagai aktivitas yang saling menyesuaikan. Setelah sistem informasi yang
baru dirancang, sistem tersebut harus diimplementasikan sebagai sistem kerja, dan
dipelihara agar dapat berrjalan dengan baik. Proses implementasi yang akan kita bahas
dalam bagian ini adalah kelanjutan dari tahap investigasi, analis, dan desain siklus
pengembangan sistem yang kita bahas. Implementasi adalah langkah yang vital dalam
pengembangan teknologi informasi untuk mendukung karyawan, pelanggan, dan
pihakpihak yang berkepentingan lainnya.
2.2 Face Recognition
2.2.1 Pengenalan Face Recognition
Wajah merupakan bagian dari tubuh manusia yang menjadi fokus perhatian
di dalam interaksi sosial, wajah memainkan peranan vital dengan menunjukan
identitas dan emosi. Kemampuan manusia untuk mengetahui seseorang dari
wajahnya sangat luar biasa. Kita dapat mengenali ribuan wajah karena frekuensi
interaksi yang sangat sering ataupun hanya sekilas bahkan dalam rentang waktu
yang sangat lama. Bahkan kita mampu mengenali seseorang walaupun terjadi
perubahan pada orang tersebut karena bertambahnya usia atau pemakaian kacamata
atau perubahan gaya rambut. Oleh karena itu wajah digunakan sebagai organ dari
tubuh manusia yang dijadikan indikasi pengenalan seseorang atau face recognition.
Face recognition atau pengenalan wajah merupakan salah satu teknologi biometrik
yang banyak diaplikasikan khususnya dalam sistem security. Sistem absensi dengan
wajah, mengenali pelaku tindak kriminal dengan CCTV adalah beberapa aplikasi
9
UIN Syarif Hidayatullah Jakarta
dari pengenalan wajah, efisiensi dan akurasi menjadi faktor utama mengapa
pengenalan wajah banyak diaplikasikan khususnya dalam sistem security. (Zein,
2018)
2.2.2 Konsep Pengenalan Wajah
Pengenalan wajah adalah salah satu metode pengenalan yang berorientasi
pada wajah. Pengenalan ini dapat menjadi dua bagian, yaitu : Dikenali dan tidak
dikenali, setelah dilakukan perbandingan dengan pola yang sebelumnya disimpan
dalam database. Metode ini juga harus mampu mengenali objek bukan wajah.
Perhitungan model pengenalan wajah memiliki beberapa masalah. Kesulitan
muncul ketika wajah direpresentasikan dalam suatu pola yang berisi informasi unik
yang membedakan wajah lain (Marti, 2010).
Pengenalan wajah ditinjau dari posisi rotasi sangat berpengaruh terhadap
akurasi pengenalan wajah. Rotasi posisi wajah terdapat 3 jenis kemungkinan, antara
lain: menoleh ke kiri atau kanan, menggeleng ke kiri atau kanan, dan mendongak
ke atas atau menunduk ke bawah. Secara ideal wajah yang dapat diidentifikai
dengan baik adalah wajah yang menghadap ke sensor kamera secara tegak lurus.
Kemiringan yang bisa di tolerir berkisar 10 derajat dari posisi normal. Namun
secara normal (tidak cacat fisik) kebanyakan wajah berada posisi tegak lurus dengan
sensor kamera web sehingga aplikasi tetap mendeteksi wajah dengan baik.
(Suprianto, 2013)
Menurut Haisong Gu, Qiang Ji, dan Zhiwei Zu (2002), pengenalan wajah
pada umumnya memakai 3 tahapan dalam mendapatkan hasil:
a. Face Detection membagi area wajah. Di dalam video, wajah yang terdeteksi
akan dibagi menjadi beberapa komponen (Mata, hidung, mulut, dan garis
besar wajah).
10
UIN Syarif Hidayatullah Jakarta
Berikut adalah tahapan face detection (Bruno, 2019):
- Mengubah warna citra dari RGB menjadi grayscale.
- Citra wajah akan diproses sedemikian rupa dengan melakukan resize
citra saat mendeteksi adanya wajah, digunakan untuk menjaga
kompleksitas sebelum diproses pada tahapan ekstraksi ciri citra.
- Mencari nilai fitur dengan cara melakukan pemindaian pada citra
grayscale, citra hasil dari tahapan awal ini selanjutnya akan diproses
pada tahapan ekstraksi ciri citra dan pengenalan citra wajah.
b. Facial Expression Information Extraction dilakukan pada wajah untuk
mengekstraksi informasi penting yang berguna untuk membedakan wajah.
Fitur wajah yang diekstraksi digunakan untuk pencocokan wajah.
Tahapan facial expression information extraction adalah sebagai berikut
(Bruno, 2019):
- Pertama-tama membagi daerah gambar menjadi 8x8.
- Setiap blok diubah menjadi thresholding dengan ukuran 3x3 untuk
mendapatkan nilai histogram.
c. Expression Clasification dilakukan saat gambar dari masukan wajah
dicocokkan dengan yang ada didalam database. Pencocokan menghasilkan
ya atau tidak didalam verifikasi sedangkan dalam identifikasi menghasilkan
persentase akurasi.
Berikut adalah tahapan expression classification (Mjrovai, n.d.):
- Mencocokkan dengan hasil deteksi dari streaming kamera, dimana pada
streaming nantinya beberapa gambar dalam database akan dicocokkan
dengan gambar masukan dari kamera.
- Bagian dari wajah yang diambil akan dianalisis untuk mendapatkan
probabilitas dengan menunjukkan id-nya dan seberapa besar kemiripan
terhadap id dan wajah yang ada di kamera.
11
UIN Syarif Hidayatullah Jakarta
Dibalik kemudahan mengenali wajah, terdapat beberapa masalah dan
kesalahan yang timbul dalam proses pengenalan wajah, yaitu: adanya perubahan
skala, perubahan posisi, perubahan pencahayaan, hingga adanya perubahan detail
dan ekspresi wajah.
2.2.3 False acceptance rate (FAR)
False acceptance rate (FAR) adalah kesalahan dalam mengenali identitas
gambar masukan, baik itu kesalahan dalam mengenali identitas gambar masukan
dari individu di luar database yang terdeteksi sebagai individu di dalam database,
maupun kesalahan dalam mengenali identitas gambar masukan dari individu di
dalam database yang dikenali sebagai individu lain.
2.2.4 False rejection rate (FRR)
False rejection rate (FRR) adalah kesalahan dalam menolak gambar
masukan. Sebuah gambar masukan yang seharusnya dapat dikenali (identitasnya
terdapat di dalam database) berubah menjadi tidak dikenali.
2.3 Closed Circuit Television (CCTV)
Menurut Herman Dwi Surjono, Closed Circuit Television (CCTV) adalah alat
perekaman yang menggunakan satu atau lebih kamera video dan menghasilkan data video
atau audio. Closed Circuit Television (CCTV) adalah penggunaan video kamera yang
mentransmisikan sinyal atau penyiaran tertuju kepada lingkup perangkat tertentu, yakni
seperangkat monitor “spesifik terbatas”. Pemasangan CCTV mampu memonitor kondisi
secara real time, namun masih menggunakan perangkat dekstop yang dirasa kurang belum
mampu menjawab permasalahan ketika pemilik berpergian atau berada di luar. Kamera
CCTV yang ada belum dilengkapi dengan aplikasi berbasis perangkat bergerak, kalaupun
ada masih terbatas pada vendor dan platform yang digunakan. Selain itu sistem kamera
yang ada juga belum dilengkapi alat untuk melakukan upaya pencegahan awal terhadap
tindakan pencurian (Kurniawan & Fani, 2017).
12
UIN Syarif Hidayatullah Jakarta
2.4 Brankas
Brankas merupakan sebuah tempat penyimpanan barang berharga yang ada
didalam rumah maupun di kantor, keamanan brankas sangatlah dibutuhkan untuk
terhindarnya dari sebuah pembobolan atau pencurian barang yang ada didalamnya. Dalam
Peraturan Menteri Keuangan Republik Indonesia nomor 218/pmk. 06/2015 tentang
penyimpanan Barang Milik Negara (BMN), bab vi yang berisi tentang prasarana dan sarana
penyimpanan dokumen kepemilikan BMN yang didalamnya terdapat pasal 53 ayat 1
mengatakan dokumen kepemilikan BMN disimpan di (a) suatu gedung khusus, (b) ruangan
tertentu dalam suatu gedung dan/atau (c) brankas. Ayat 2 mengatakan penyimpanan di
brankas sebagaimana dimaksud pada ayat (1) huruf c hanya dilakukan dalam hal kuantitas
Dokumen Kepemilikan BMN tidak memerlukan gedung khusus atau ruangan tertentu.
Pasal 56 mengatakan bahwa brankas penyimpanan Dokumen Kepemilikan BMN memiliki
kriteria: a. terbuat dari material yang tahan cuaca, tidak mudah terbakar, dan tahan api; b.
tidak berpotensi merusak Dokumen Kepemilikan BMN; dan c. dilengkapi dengan alat atau
sistem pencegah kehilangan Dokumen Kepemilikan BMN, seperti kunci manual, kunci
dengan kombinasi angka, atau kunci digital. (Kemenkeu, 2015)
Selain penggunaan kunci pengaman pada brankas, diperlukan juga kamera
pengaman sebagai fasilitas keamanan tambahan untuk pengawasan brankas. Kamera
pengaman tersebut dapat memantau segala aktivitas yang terjadi di sekitar brankas. Namun,
pada saat ini pemasangan kamera pengaman pada ruang brankas masih banyak belum
dilakukan. Untuk itu, perlu diterapkan kamera pengaman pendeteksi gerak yang berbasis
internet pada brankas. (Prima & Putra, 2016)
2.5 Internet of Things (IoT)
Internet of Things (IoT) merupakan sebuah konsep yang bertujuan untuk
memperluas manfaat dari konektivitas internet yang tersambung secara terus menerus.
Internet of Things (IoT) mengacu pada benda yang diidentifikasi secara unik sebagai
repservasi virtual dalam struktur berbasis internet. Internet of Things (IoT) sebagai sebuah
13
UIN Syarif Hidayatullah Jakarta
infrastruktur jaringan global, yang menghubungkan benda-benda fisik dan virtual melalui
eksploitasi data capture dan kemampuan komunikasi dengan sensor dan koneksi sebagai
pengembangan layanan. Dalam hal tersebut dapat disimpulkan bahwa IoT mengacu dan
memanfaatkan pada suatu benda yang nantinya benda tersebut akan dapat berkomunikasi
antara satu dengan yang lain melalui sebuah jaringan internet.(Kusumaningrum, Pujiastuti,
& Zeny, 2017)
Menurut Prihatmoko (2015) Internet of Things (IoT) adalah arsitektur sistem yang
terdiri dari perangkat keras, perangkat lunak, dan Web. Karena perbedaan protokol antara
perangkat keras dengan protokol web, maka di perlukan sistem embedded berupa gateway
untuk menghubungkan dan menjembatani perbedaan protokol tersebut. Perangkat bisa
terhubung ke internet menggunakan beberapa cara seperti Ethernet, WIFI, dan lain
sebagainya. perangkat mungkin juga tidak terkoneksi dengan internet secara langsung,
akan tetapi dibentuk kluster-kluster dan terhubung ke koordinator.
2.6 Raspberry Pi
Raspberry Pi adalah sebuah komputer papan tunggal (single-board computer) atau
SBC berukuran kartu kredit. Raspberry Pi telah dilengkapi dengan semua fungsi layaknya
sebuah komputer lengkap, menggunakan SoC (System-on-a-chip) ARM yang dikemas dan
diintegrasikan diatas PCB. Perangkat ini menggunakan kartu SD untuk booting dan
penyimpanan jangka panjang. (Bambang, dkk., 2015).
Secara keseluruhan, perbedaan antar masing-masing model terletak pada kekuatan
prosesor, jumlah port USB, ada atau tidaknya port jaringan, bluetooth, wireless, dan lain
sebagainya, meskipun untuk desain tidak begitu berbeda (Wiley, 2016).
Untuk penyimpanan data didisain tidak menggunakan hard disk atau solid-state
drive, melainkan mengandalkan kartu SD (SD memory card) untuk booting dan
penyimpanan jangka panjang. Hardware Raspberry Pi tidak memiliki real-time clock,
sehingga OS harus memanfaatkan timer jaringan server sebagai pengganti. Namun
komputer yang mudah dikembangkan ini dapat ditambahkan dengan fungsi real-time
14
UIN Syarif Hidayatullah Jakarta
(seperti DS1307) dan banyak lainnya, melalui saluran GPIO (General-purpose
input/output) via antarmuka I²C (Inter-Integrated Circuit). Raspberry Pi bersifat open
source (berbasis Linux), Raspberry Pi bisa dimodifikasi sesuai kebutuhan penggunanya.
Sistem operasi utama Raspberry Pi menggunakan Debian GNU/Linux dan bahasa
pemrograman Python. Salah satu pengembang OS untuk Raspberry Pi telah meluncurkan
sistem operasi yang dinamai Raspbian, Raspbian diklaim mampu memaksimalkan
perangkat Raspberry Pi. Sistem operasi tersebut dibuat berbasis Debian yang merupakan
salah satu distribusi Linux OS (Gay, 2014).
Gambar 2.1 Logo Raspberry Pi (Sumber: https://www.raspberrypi.)
2.6.1 Raspberry Pi 4
Raspberry Pi Foundation baru saja merilis generasi terbaru dari komputer
papan tunggalnya, yakni Raspberry Pi 4. Kalau dilihat sepintas, ia memang punya
banyak kemiripan dengan pendahulunya, akan tetapi jika ditelusuri secara
mendalam, ternyata pembaruan yang dibawanya begitu komprehensif. Berbekal
prosesor quad-core 64-bit ARM Cortex-A72 berkecepatan 1,5 GHz, performa
Raspberry Pi sudah cukup pantas dimasukkan ke kategori komputer desktop, dan
peningkatannya pun bisa mencapai tiga kali lipat jika dibandingkan generasi
sebelumnya.Spesifikasinya semakin dimatangkan oleh pilihan RAM DDR4
berkapasitas 1 GB, 2 GB atau 4 GB, tidak ketinggalan pula chip grafis VideoCore
VI yang mendukung hardware decoding video 4K 60 fps dengan codec HEVC.
Sepasang monitor 4K pun juga dapat dihubungkan via sambungan HDMI.
15
UIN Syarif Hidayatullah Jakarta
Raspberry Pi 4 sudah mengikuti standar terbaru dengan mengemas Bluetooth 5.0
dan Wi-Fi AC. Selain sepasang port micro HDMI itu tadi, masih ada port USB 3.0
dan USB 2.0 yang masing-masing berjumlah sepasang, serta tentu saja sebuah port
Gigabit Ethernet dan port USB-C untuk power. Semua itu disematkan di atas PCB
(printed circuit board) yang dimensinya kurang lebih sama seperti generasi
sebelumnya. Peningkatan performa dan penyempurnaan konektivitas ini juga sama
sekali tidak berpengaruh terhadap kadar hackability Raspberry Pi 4, dan
pengembangnya pun menjamin kompatibilitas yang sama lengkapnya seperti
generasi sebelumnya. (Kaonang, 2019)
Gambar 2.2 Raspberry Pi 4 Model B (Project, n.d.)
2.6.2 Raspberry Pi Camera
Kamera Raspberry Pi dapat dihubungkan langsung ke konektor CSI pada
Raspberry Pi. Kamera ini mampu memberi gmbar dengan resolusi 5MP, atau
perekaman video 1080p HD pada 30fps. Kamera ini dirancang khusus dan
diproduksi oleh Yayasan Raspberry Pi di Inggris. Kamera Raspberry Pi
menampilkan sensor 5MP (2592 x 1944 piksel) Omnivision 5647 dalam modul
fokus tetap. Modul ini melekat pada Raspberry Pi, dengan menggunakan Kabel Pita
15 Pin yang dirancang khusus untuk antarmuka ke kamera. Bus CSI mampu
16
UIN Syarif Hidayatullah Jakarta
kecepatan data sangat tinggi, dan secara eksklusif membawa data piksel ke prosesor
BCM2835. Papan itu sendiri berukuran kecil, sekitar 25mm x 20mm x 9mm, dan
beratnya hanya lebih dari 3g, membuatnya sempurna untuk aplikasi seluler atau
lainnya di mana ukuran dan beratnya penting. Sensor itu sendiri memiliki resolusi
asli 5 megapiksel, dan memiliki lensa fokus tetap onboard. Dalam hal gambar diam,
kamera ini mampu menghasilkan gambar statis 2592 x 1944 piksel, dan juga
mendukung 1080p @ 30fps, 720p @ 60fps, dan perekaman video 640x480p 60/90.
Kamera ini didukung dalam versi terbaru Raspbian, sistem operasi yang disukai
Raspberry Pi. Fitur Papan Kamera Raspberry Pi: (Supply, 2019)
1. 5MP Omnivision 5647 Modul Kamera
2. Resolusi Gambar Diam: 2592 x 1944
3. Video: Mendukung 1080p @ 30fps, 720p @ 60fps dan 640x480p 60/90
Recording
4. 15-pin MIPI Camera Serial Interface
5. Ukuran: 20 x 25 x 9mm
6. Berat 3g
Gambar 2.3 Raspberry Pi Camera (raspberrypi.org, n.d.)
17
UIN Syarif Hidayatullah Jakarta
2.7 Python
2.7.1 Pengertian Python
Python adalah sebuah bahasa pemrograman yang bisa digunakan pada
beberapa platform (multiplatform), dan berifat sumber perangkat bebas terbuka
(opensource), pertama kali dikembangkan oleh Guido van Rosuum pada tahun 1990
di CWI, Belanda. Bahasa ini dikategorikan sebagai bahasa tingkat tinggi (very-
high-level language) dan merupakan bahasa berorientasi objek yang dinamis
(object-oriented-dynamic language). Hal utama yang membedakan Python dengan
bahasa lain adalah dalam hal aturan penulisan kode program. Python memiliki
aturan yang berbeda dengan bahasa lain, seperti indentasi, tipe data, tuple, dan
dictionary. Python adalah bahasa pemrograman dinamis yang mendukung
pemrograman berorientasi obyek. Python dapat digunakan untuk berbagai
keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai sistem
operasi seperti Linux, Windows, Unix, Symbian dan masih banyak lagi. (Pazriyah,
2017)
Python merupakan salah satu bahasa pemrograman favorit saat ini, karena
Python menawarkan banyak fitur seperti:
a. Kepustakaan yang luas, menyediakan modul-modul untuk berbagai keperluan.
b. Mendukung pemrograman berorientasi objek.
c. Memiliki tata bahasa yang mudah dipelajari.
d. Memiliki sistem pengelolaan memori otomatis.
e. Arsitektur yang dapat dikembangkan (extensible) dan ditanam (embeddable)
dalam bahasa lain, misal objek oriented Python dapat digabungkan dengan modul
yang dibuat dengan C++.
18
UIN Syarif Hidayatullah Jakarta
Python telah digunakan pada berbagai aplikasi saat ini, contohnya adalah
BitTorrent, Yum, Civilization 4, bahkan saat ini Python merupakan bahasa resmi
dari Raspberry Pi. Kata “Pi” dalam Raspberry Pi merujuk pada kata Python. Python
mendukung beberapa modul khusus untuk Rasperry Pi seperti modul picamera, dan
modul gpio. (Pazriyah, 2017)
2.7.2 Fitur-Fitur Dari Python
Beberapa fitur yang dimiliki Python adalah: (Pazriyah, 2017)
a. memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan
modul-modul 'siap pakai' untuk berbagai keperluan.
b. memiliki tata bahasa yang jernih dan mudah dipelajari.
c. memiliki aturan layout kode sumber yang memudahkan pengecekan,
pembacaan kembali dan penulisan ulang kode sumber.
d. berorientasi objek.
e. memiliki sistem pengelolaan memori otomatis (garbage collection, seperti
java)
f. modular, mudah dikembangkan dengan menciptakan modul-modul baru;
modul-modul tersebut dapat dibangun dengan bahasa Python maupun
C/C++.
g. memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada
bahasa pemrograman Java, python memiliki fasilitas pengaturan
penggunaan ingatan komputer sehingga para pemrogram tidak perlu
melakukan pengaturan ingatan komputer secara langsung.
h. memiliki banyak faslitas pendukung sehingga mudah dalam
pengoprasiannya.
19
UIN Syarif Hidayatullah Jakarta
2.8 OpenCV
2.8.1 Pengertian OpenCV
OpenCV (Open Source Computer Vision Library) adalah sebuah pustaka
perangkat lunak yang ditujukan untuk pengolahan citra dinamis secara real-time,
yang pengembangannya diawali oleh Intel, dan sekarang didukung oleh Willow
Garage dan Itseez. OpenCV dirilis dibawah lisensi permisif BSD yang lebih bebas
dari pada GPL, dan memberikan kebebasan sepenuhnya untuk dimanfaatkan secara
komersil tanpa perlu mengungkapkan kode sumbernya. Ia juga memiliki antar muka
yang mendukung bahasa pemrograman C++, C, Python dan Java, termasuk untuk
sistem operasi Windows, Linux, Mac OS, iOS dan Android. OpenCV didisain untuk
efisiensi dalam komputasi dan difokuskan pada aplikasi real-time. Ditulis dalam
C++ yang dioptimalkan, dengan perpustakaan dapat memanfaatkan pengolahan
pada prosesor inti majemuk (multi-core processing). Mendukung OpenCL,
sekaligus memberikan keuntungan dari akselerasi hardware yang dimiliki platform
komputasi heterogen. OpenCV telah diadopsi di seluruh dunia, memiliki lebih dari
47 ribu komunitas pengguna dengan estimasi download melebihi 7 juta.
Penggunaannya openCV disebutkan, mulai dari seni interaktif, meliputi inspeksi
penambangan (mines inspection), stitching maps di web, sampai dengan robotika
maju (advanced). (Permana & Destriana, 2018)
Berikut adalah beberapa fungsi opencv yang digunakan dalam penelitian ini (Ivanjul.com, 2018) :
a. cv2.imread() : digunakan untuk membaca gambar.
b. cv2.IMREAD_COLOR: Memuat gambar berwarna.
c. cv2.IMREAD_GRAYSCALE: Memuat gambar dalam mode grayscale.
d. cv2.imshow () : untuk menampilkan gambar di jendela. Jendela secara
otomatis sesuai dengan ukuran gambar.
e. cv2.waitkey(0) : untuk mempertahankan window agar tetap
menampilkan gambar.
20
UIN Syarif Hidayatullah Jakarta
f. cv2.destroyAllWindows() : untuk menutup window lain yang sedang
terbuka.
g. cv2.imwrite() : untuk menyimpan gambar.
h. cv2.flip(img, -1) : untuk merubah rotasi gambar sebesar 180º
i. cv2.VideoCapture(0) : untuk menangkap video.
2.8.2 Algoritma OpenCV
Haar Cascade digunakan untuk proses pendeteksi wajah digunakan
algoritma haar cascade. Secara umum, haar-like feature digunakan dalam
mendeteksi objek pada image digital. Istilah Haar menunjukkan suatu fungsi
matematika (Haar Wavelet) yang berbentuk kotak, prinsipnya sama seperti pada
fungsi Fourier. Awalnya pengolahan gambar hanya dengan melihat dari nilai RGB
setiap pixel, namun metode ini ternyata tidaklah efektif. Viola dan Jones kemudian
mengembangkannya sehingga terbentuk Haar-Like feature. Haar-like feature
memproses gambar dalam kotakkotak, dimana dalam satu kotak terdapat beberapa
pixel. Perkotak itu pun kemudian diproses dan menghasilkan perbedaan nilai yang
menandakan daerah gelap dan terang. Nilai-nilai inilah yang nantinya dijadikan
dasar dalam pemrosesan gambar. Cara menghitung nilai dari fitur ini adalah dengan
mengurangkan nilai piksel pada area putih dengan piksel pada area hitam. Untuk
mempermudah proses penghitungan nilai fitur, algoritma Haar menggunakan
sebuah media berupa Integral Image. Integral Image adalah sebuah citra yang nilai
tiap pikselnya merupakan penjumlahan dari nilai piksel kiri atas hingga kanan
bawah. Sebagai contoh piksel (a,b) memiliki nilai akumulatif untuk semua piksel
(x, y). Dimana x ≤ a dan y ≤ b. Dalam menggunakan metode haar cascade ada
beberapa jenis citra gambar yang bisa diolah salah satunya yaitu grayscale (Al-
Aidid & Pamungkas, 2018)
21
UIN Syarif Hidayatullah Jakarta
2.9 Metode Pengumpulan Data
2.9.1 Pengertian Data
Definisi Data secara Etimologis merupakan bentuk jamak dari DATUM
yang berasal dari Bahasa Latin dan berarti "Sesuatu Yang Diberikan". Sementara
itu, menurut Siswandari, data dapat berarti fakta dari suatu objek yang diamati, yang
dapat berupa angka-angka maupun kata-kata. Sedangkan jika dipandang dari sisi
Statistika, maka data merupakan fakta-fakta yang akan digunakan sebagai bahan
penarikan kesimpulan. Penulis menyimpulkan bahwa data adalah sebuah fakta dari
hal atau objek yang diamati yang digunakan sebagai bahan pengambilan
kesimpulan. Agar data dapat dianalisis dan ditafsirkan dengan baik, maka harus
bersifat obyektif, relevan, up-to-date, representative (Khalilulah, 2016).
2.9.2 Studi Pustaka
Studi pustaka adalah menganalisis secara kritis pustaka penelitian yang ada
saat ini. Studi pustaka tersebut perlu dilakukan secara ketat dan harus mengandung
keseimbangan antara uraian deskriptif dan analisis. Identifikasi kekuatan dan
kelemahan pustaka tersebut dengan menelaah hasil atau temuan penelitian tersebut,
metodologi yang digunakan, serta bagaimana hasil temuan tersebut dibandingkan
penelitian atau publikasi lainnya. (Sudaryono, 2011)
2.9.3 Studi Literatur
Studi literatur sejenis merupakan kegiatan mencari literatur yang
mempunyai persamaan atau keterkaitan dengan penelitian yang sedang dilakukan.
Literatur sejenis yang didapatkan berupa penulisan skripsi dan juga produk, yang
kemudian ditelaah dan dibuat perbandingan sehingga penelitian ini dapat menjadi
pelengkap atau penyempurnaan dari penelitian-penelitian yang sudah dilakukan
sebelumnya.
22
UIN Syarif Hidayatullah Jakarta
2.10 Product Lifecycle
Product Lifecycle adalah sebuah aktivitas pengelolaan sebuah produk sepanjang
lifecycle mulai dari suatu produk diinisialisasi hingga produk tersebut tidak terpakai. PLC
menjadi sistem untuk manajemen produk perusahaan. Tujuan utama dari PDLC adalah
memaksimalkan nilai suatu produk untuk saat ini dan masa depan baik bagi user maupun
bagi pengembang. PDLC melakukan pengelolaan terhadap keseluruhan yang berhubungan
dengan suatu produk mulai dari individu yang terlibat hingga sumber daya yang dibutuhkan
(Stark, 2015)
Menurut (He, Roe, Wood, Nachtigal, & Investigator, 2015) Model Product
Lifecycle sekilas serupa dengam model pengembangan System Development Life Cycle
(SDLC), namun terdapat pembagian khusus pada tahap implementasi yaitu Manufacture
untuk perangkat keras dan Development untuk perangkat lunak. Atas dasar tersebut maka
dalam penelitian ini mengadaptasi model pengembangan Product Lifecycle, sebab sistem
sistem yang akan dibuat mencakup dua bagian yaitu perangkat keras dan perangkat lunak.
Sebuah produk lifecycle biasanya terdiri dari lima tahapan utama, yaitu: Product
development, Product introduction, Product growth, Product maturity and finally Product
decline. Fase-fase ini ada dan berlaku untuk semua produk atau layanan. Fase-fase ini dapat
dibagi menjadi yang lebih kecil tergantung pada produk dan harus dipertimbangkan ketika
produk baru akan diperkenalkan ke pasar karena proses tersebut menentukan kinerja
penjualan produk.(Jamnia, 2018)
23
UIN Syarif Hidayatullah Jakarta
Gambar 2.4 Product Life Cycle (Sunny L, Natalie H, Evan C L, Nachtigal, & Helms, 2015)
Gambar 2.5 merupakan sebuah produk lifecycle. Dalam penelitian ini penulis
hanya menerapkan produk development karena hanya akan dilakukan pengembangan
saja, tidak sampai pada tahap pemasaran.
2.10.1 Product Development Lifecycle
Product Development Phase merupakan fase pengembangan produk
dimulai ketika ditemukan sebuah ide produk baru. Hal ini melibatkan penerjemahan
berbagai informasi dan menggabungkannya ke dalam produk baru. (He et al., 2015)
dalam bukunya mengungkapkan bahwa Product Development dibagi menjadi
beberapa fase yaitu: (1) Requirements, (2) Design, (3) Manufacturing for hardware
and Development for software, (4) Testing.
Model Product Lifecycle sekilas serupa dengam model pengembangan System
Development Life Cycle (SDLC), namun terdapat pembagian khusus pada tahap
implementasi yaitu Manufacture untuk perangkat keras dan Development untuk
24
UIN Syarif Hidayatullah Jakarta
perangkat lunak. Atas dasar tersebut maka dalam penelitian ini mengadaptasi model
pengembangan Product Lifecycle, sebab sistem sistem yang akan dibuat mencakup
dua bagian yaitu perangkat keras dan perangkat lunak. Namun dari total tujuh tahapan
yang ada, dalam penelitian ini hanya melakuakan empat tahapan yaitu sebagai
berikut. (Sunny L, Natalie H, Evan C L, Nachtial, & Helms, 2015).
a. Requirement Analysis
Merupakan tahap pengumpulan kebutuhan dan spesifikasi dari produk yang
dikembangkan, baik dari segi perangkat keras maupun perangkat lunak. Tahap ini
mengawali seluruh tahapan lain pada model Product Development Life Cycle.
Analisis dilakukan terhadap sistem saat ini, kemudian dikembangkan fitur-fitur baru
berdasarkan kebutuhan pasar hingga menghasilkan sistem usulan.
b. Design
Baik dalam siklus perangkat keras maupun perangkat lunak, desain berarti
proses konkrit berupa perancangan sesuai dengan spesifikasi yang telah ditentukan
dalam tahap sebelumnya. Rancangan tersebut dapat berupa skema atupun mockup
(prototype) dari produk yang akan dibuat. Requirement analysis spesifik pada apa
tujuan dari diciptakannya sebuah produk, sedangkan tahapan Design fokus pada
bagaimana caranya supaya produk dapat memenuhi tujuan tersebut.
c. Manufacture/Development
Tahap manufacture fokus pada pembuatan perangkat keras. Komponen
dirangkai sesuai dengan skema yang telah dirancang pada tahap sebelumnya, hingga
menghasilkan produk akhir. Sedangkan tahap development fokus pada
pengembangan perangkat lunak. Cakupan dari tahap ini adalah proses pengkodean
hingga menghasilkan perangkat lunak yang siap untuk ditanamkan dalam produk
perangkat keras. Pengembangan perangkat lunak ini tentu mengacu pada analisis
kebutuhan yang telah dilakukan.
25
UIN Syarif Hidayatullah Jakarta
d. Testing
Pengujian sistematis dilakukan untuk memastikan fungsionalitas dan
performa produk. Produk dengan fungsionalitas yang baik harus dapat memenuhi
kebutuhan pengguna sebagai mana pada tahapa requirement. Sedangkan untuk
performa dapat diuji dengan variabel teretentu yang berkaitan dan mempengaruhi
kinerja produk.
2.11 Black-Box Testing
Black-Box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional
dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan
pengetesan pada spesifikasi fungsional program. (Sihabuddin, 2014)
Pada black-box testing terdapat jenis teknik design tes yang dapat dipilih
berdasarkan pada tipe testing yang akan digunakan, yang diantaranya : (Sihabuddin, 2014)
a. Equivalence Class Partitioning
b. Boundary Value Analysis
c. State Transitions Testing
d. Cause-Effect
e. Graphing
Kategori error yang akan diketahui melalui black box testing:
a. Fungsi yang hilang atau tak benar
b. Error dari antar-muka
c. Error dari struktur data atau akses eksternal database
d. Error dari kinerja atau tingkah laku
e. Error dari inisialisasi dan terminasi
26
UIN Syarif Hidayatullah Jakarta
2.12 Structured Analysis for Real Time system (SA/RT)
Tampilan fungsional metode SA/RT dimodelkan dengan cara alat analisis
terstruktur. Komponen grafis dari modelnya adalah aliran data, penyimpanan dan proses
data. Mereka diorganisasikan melalui aturan konstruksi khusus diagram bernama Data
Flow Diagram (DFD). DFD pertama adalah diagram konteks. Ini memberikan satu-satunya
representasi sistem di dalam yang divisualisasikan batas model. Mereka mendefinisikan
batas antara sistem dan lingkungannya. Model diatur sebagai hierarki DFD, yang diagram
konteksnya mewakili level tertinggi. Setiap DFD mengekspresikan penyempurnaan satu
DFD leluhur langsung sedemikian rupa sehingga membusuk proses disebut proses ayah
dari salah satu proses putranya. Di bagian bawah percabangan, daun mengidentifikasi atom
proses. Juga disebut primitif, proses-proses itu tidak mungkin dijelaskan melalui DFD; kita
harus beralih ke yang lain mode representasi. Ini langkah akhir fungsional pemodelan
sesuai dengan spesifikasi proses (PSPEC) yang terutama dilakukan dengan menggunakan
bahasa tekstual: (Timisora, 2018)
27
UIN Syarif Hidayatullah Jakarta
(Timisora, 2018)
a. Aspek informasi dari metode SA / RT: Data dan peristiwa yang terjadi pada
semua tahapan model didefinisikan dalam sebuah kamus. Adapun
penyimpanan data yang kompleks, WM Pendekatan memprediksi pemodelan
dengan cara diagram entitas / asosiasi yang digunakan untuk pemodelan cukup
besar dan data kompleks seperti database.
b. Pandangan perilaku SA / RT: aspek yang dipelajari sistem didukung oleh alat-
alat yang dapat dipertimbangkan peristiwa akun diperlukan untuk mengelola
proses yang benar eksekusi. Model kontrol diturunkan untuk setiap DFD yang
ditarik dan memasok logika kontrol untuk diterapkan pada mereka sub-proses
terkait. Jadi hierarki logika kontrol adalah didirikan pada DFD satu. Setiap unit
kontrol spesifikasi direalisasikan menggunakan otomat, atau negara tabel atau
array transisi.
Gambar 2.5 SA/RT
28
UIN Syarif Hidayatullah Jakarta
c. SA-RT adalah model spesifikasi yang telah banyak digunakan dalam sistem
waktu nyata dan rekayasa perangkat lunak aplikasi. Ini adalah metode umum
yang menangani keduanya analisis sistem dan desain real-time dan kompleks
sistem.
d. Diagram SA / RT menangani dua pandangan yang dipertimbangkan sistem:
tampilan statis, deskripsi struktural, dan tampilan dinamis, deskripsi perilaku.
Dalam SA / RT standar (meskipun sedikit berbeda), struktural deskripsi
dilakukan oleh diagram aliran data (DFD) dan deskripsi perilaku dilakukan
oleh diagram alir kontrol (CFD) ditambah dengan diagram transisi keadaan
(dan / atau proses tabel aktivasi). Untuk spesifikasi SA / RT lainnya alat juga
digunakan (termasuk spesifikasi proses, data kamus ...) yang terutama
merupakan alat tekstual.
29
BAB III
METODOLOGI PENELITIAN
3.1 Metode Pengumpulan Data
Terdapat berbagai metode yang dapat digunakan untuk memperoleh data yang
diperlukan dalam sebuah penelitian. Peneliti menggunakan beberapa metode pengumpulan
data dalam penelitian ini, yaitu sebagai berikut.
3.1.1 Studi Pustaka
Pada tahapan pengumpulan data dengan cara studi pustaka, penulis
mengumpulkan mencari referensi yang dibutuhkan untuk mengumpulkan
informasi dalam penelitian ini. Pencarian referensi didapat dari jurnal, buku,
literatur sejenis, skripsi yang ada dan dari internet.
3.1.2 Literatur Sejenis
Literatur sejenis dilakukan untuk mencari referensi yang terkait atau
mempunyai kesamaan dengan penelitian ini. Literatur tersebut dibuat
perbandingannya sehingga penelitian ini akan menjadi lebih lengkap dan lebih
sempurna dari penelitian yang sudah dilakukan sebelumnya. Berikut ini detail
informasi literatur sejenis pada tabel 3.
30
UIN Syarif Hidayatullah Jakarta
Tabel 3. 1 Literatur Sejenis
No.
Nama
Peneliti /
Tahun
Judul Perangkat Terhubung
Smartphone Opencv
Face
Recognition
Algoritma
Haar
Cascade
Pengambilan
Dataset
secara
automatis
Menangkap
dan Mengirim
Gambar
1. (Kurniawan
& Fani,
2017)
Perancangan
sistem kamera
pengawas
berbasis
perangkat
bergerak
menggunakan
raspberry pi
Raspberry
Pi, Linux Ya - - - - -
2. (Zein, 2018) Pendeteksian
Multi Wajah Dan
Recognition
Secara Real Time
Menggunakan
Metoda Principal
Component
Analysis (PCA)
Dan Eigenface
Intel,
Windows - Ya Ya - - -
31
UIN Syarif Hidayatullah Jakarta
3. (Mahesa,
Rahmawan,
Rinharsah, &
Arifin, 2019)
Sistem Keamanan
Brankas Berbasis
Kartu E-ktp Nodemcu Ya - - - - -
4. (Anggraini,
Rozy, &
Lazuardy,
2013)
Sistem Pengenalan Wajah Untuk Mendeteksi Kelelahan Dengan Teknologi Intel Realsense
Intel,
Windows Ya Ya Ya - - -
5. (Al-Aidid &
Pamungkas,
2018)
Sistem Pengenalan Wajah dengan Algoritma Haar Cascade dan Local Binary Pattern Histogram
Intel,
Windows - Ya Ya Ya - -
6. (Bruno,
2019)
Aplikasi Pendeteksian Ras Kucing dengan Mendeteksi Wajah Kucing dengan Metode Viola-Jones berbasis Android
Intel,
Windows Ya Ya Ya - - -
7. (Fauzan,
Novamizanti,
& Fuadah,
2018)
Perancangan Sistem Deteksi Wajah untuk Presensi Kehadiran
Intel,
Windows Ya Ya Ya Ya - -
32
UIN Syarif Hidayatullah Jakarta
Menggunakan Metode LBPH ( Local Binary Pattern Histogram ) Berbasis Android
33
UIN Syarif Hidayatullah Jakarta
Berdasarakan studi literatur yang dilakukan, penulis melakukan penelitian tentang
opencv sebagai library untuk metode face recognition dan algoritma haar cascade untuk
mengenali wajah. Penelitian ini bertujuan untuk menggabungkan metode yang terdapat pada
beberapa penelitian sebelumnya untuk melakukan pengawasan.
Terdapat beberapa penelitian yang masih belum menggunakan opencv dan face
recognition untuk keamanan pengawasan brankas seperti yang dilakukan (Kurniawan &
Fani, 2017) dan (Mahesa et al., 2019). Pada penelitian (Al-Aidid & Pamungkas, 2018) dan
(Zein, 2018) hanya menggunakan opencv dan face recognition untuk pembelajaran dalam
membedakan wajah, dataset yang digunakan tidak diambil secara langsung melainkan
pemasukan dataset hanya dapat dilakukan dengan cara pengunggahan file ke folder pda
dataset. (Anggraini et al., 2013) dan (Bruno, 2019) mengembangkan penggunaan opencv
dan face recognition yang dapat terhubung dengan smartphone pada suatu aplikasi tetapi
masih belum digunakan untuk tingkat keamanan, dataset juga harus diunggah dan tidak bisa
diambil secara langsung secara automatis. Penelitian (Fauzan et al., 2018) menggunakan
opencv, face recognition dan algoritma haar cascade untuk pengenalan wajah dan juga dapat
terhubung pada smartphone, tetapi dataset juga tidak diambil secara automatis dari kamera
melainkan harus mengunggah gambar ke folder dataset, penelitian ini belum digunakan
untuk keamanan pengawasan brankas.
Penelitian yang penulis lakukan adalah untuk pengawasan brankas dan memiliki
beberapa kelebihan dibanding dengan penelitian sebelumnya, yaitu membuat alat smart cctv
menggunakan raspberry pi 4 yang terhubung dengan aplikasi telegram pada smartphone.
Alat ini dapat mengambil gambar wajah sebagai dataset dari kamera secara langsung dan
gambar tersebut langsung masuk kedalam folder dataset sehingga tidak diperlukan lagi
proses pengunggahan gambar dari media lain, proses training pada dataset dilakukan
langsung secara manual setelah gambar didapatkan melalui kamera, proses face recognition
dapat memberitahu akurasi persentase kecocokan dengan label nama dan mengirimkan
gambar wajah yang tidak dikenal dengan label unknown secara langsung pada aplikasi
34
UIN Syarif Hidayatullah Jakarta
telegram di smartphone. Pada saat pengenalan wajah, hanya wajah manusia yang dapat
dideteksi oleh smart cctv.
3.2 Model Pengembangan Sistem
Dalam penelitian ini menggunakan model pengembangan sistem Product
Development Lifecycle. Tahapan yang terdapat dalam model ini yaitu Requirements
Analysis, Design, Manufacture and Development, dan Testing.
Penulis menggunakan metode ini karena menurut hasil penelitian oleh (Stark, 2015)
tujuan utama dari Product Development Lifecycle adalah memaksimalkan nilai suatu produk
untuk saat ini dan masa depan baik bagi user maupun bagi pengembang. Metode ini
melakukan pengelolaan terhadap keseluruhan yang berhubungan dengan suatu produk mulai
dari individu yang terlibat hingga sumber daya yang dibutuhkan.
3.2.1 Requirements Analysis
Reqirement analysis merupakan tahap pengumpulan kebutuhan dan
spesifikasi dari produk yang dikembangkan, baik dari segi perangkat keras maupun
perangkat lunak. Tahap ini mengawali seluruh tahapan lain pada model Product
Development Life Cycle.
Tahap pengumpulan kebutuhan dilakukan dengan studi literatur dan studi
pustaka. Melalui pengumpulan kebutuhan tersebut, peneliti memperoleh data
mengenai keamanan pengawasan brankas menggunakan cctv. komponen untuk
membangun produk, tools untuk pengembangan sistem, teori yang akan digunakan,
serta data untuk desain dan proses pembuatan alat dan sistem.
Analisis pada tahap ini dilakukan dengan metode Structured Analysis for Real
Time system (SA-RT). SART sendiri pengembangan lanjut dari Data Flow Diagram
(DFD) yang di gabungkan dengan Control Flow Diagram (CFD). Hasil dari analisis
ini yang nantinya akan digunakan sebagai acuan dalam pengkodean fitur dalam
sistem smart cctv.
35
UIN Syarif Hidayatullah Jakarta
3.2.2 Design
Dalam tahapan ini akan dibentuk suatu arsitektur sistem berdasarkan
persyaratan yang telah diperoleh pada fase sebelumnya, dan juga mengidentifikasi
dan menggambarkan abstraksi dasar sistem yang akan dibuat. Berikut ini hal-hal
yang perlu diidentifikasi pada fase ini, yaitu:
a. Perancangan sistem pengambilan gambar sebagai dataset.
b. Perancangan sistem training untuk mempelajari dataset.
c. Perancangan sistem pengenalan wajah (face recognition)
d. Perancangan sistem pengiriman gambar ke smartphone.
3.2.3 Manufacture and Development
Tahap ini dibagi menjadi dua yaitu manufacture dan development. Tahap
manufacture fokus pada pembuatan smart cctv. Penyusunan komponen perangkat
keras sesuai dengan skematik yang telah dibuat.
Sedangkan dalam tahap development difokuskan pada pembuatan kode
program melalui bahasa pemrograman Python. Kode program dibuat berdasarkan hasil
analisis kebutuhan sistem, sehingga fitur yang dibuat pada sistem sesuai dengan
kebutuhan dan keperluan pengguna. Script hasil pengkodean tersebut yang nantinya
akan diunggah dalam alat untuk memproses data untuk dijadikan notifikasi.
3.2.4 Testing
Dalam tahapan ini, setiap unit program akan diintegrasikan satu sama lain dan
diuji sebagai satu sistem yang utuh untuk memastikan sistem sudah memenuhi
persyaratan yang ada.
Fase ini merupakan fase pengujian sistem yang sudah dibuat. Pada fase ini
terdapat beberapa bagian yaitu, pengujian keakuratan hasil output dengan mengukur
recognition rate dan pengujian sistem menggunakan blackbox testing. Pengujian fokus
pada aplikasi dari segi logic dan fungsional dan memastikan bahwa semua bagian
36
UIN Syarif Hidayatullah Jakarta
sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan
keluaran yang dihasilkan sesuai dengan yang diinginkan.
3.3 Kerangka Berpikir
Start
Requirement Analysis
Tinjauan Pustaka
Mendefinisikan Ruang Lingkup
Analisis Sistem Berjalan
Analisis Sistem Usulan
Analisis Kebutuhan Fungsional Sistem
Analisis Kebutuhan Hardware
Analisis Kebutuhan Software dan Tools
Design
Pengambilan Dataset
Training Dataset
Pengenalan Wajah (Face Recognition)
Pengiriman Gambar (Send Picture)
Manufacture and Development
Manufacture
Development
Instalasi Opencv
Pembuatan Dataset
Proses Training
Pengenalan Wajah dan Pengiriman
Gambar
Testing
Gambar 3.1 Kerangka Berpikir
37
BAB IV
ANALISIS, PERANCANGAN SISTEM, IMPLEMENTASI DAN PENGUJIAN
SISTEM
4.1 Requirement Analysis
Pada tahap ini, dijelaskan apa saja yang menjadi kebutuhan sistem, yang meliputi
tinjauan sistem, mendefinisikan ruang lingkup, analisis sistem berjalan, analisis sistem
usulan, analisis kebutuhan fungsional sistem, analisis kebutuhan hardware, analisis
kebutuhan software dan tools.
4.1.1 Tinjauan Sistem
Sistem yang dikembangkan terdiri atas dua bagian, yaitu alat yang dipasang pada
Raspberry Pi 4 yang merupakan otak dari smart cctv dan aplikasi telegram pada
smartphone. Smart cctv dapat mengenali wajah pemilik brankas dan beberapa orang
yang dapat mengakses brankas tersebut, jika smart cctv tidak dapat mengenali wajah
orang yang terdeteksi oleh kamera tersebut, maka smart cctv akan mengambil gambar
wajah orang tersebut dan mengirim gambar kepada pemilik brankas. Perintah dan fitur
yang ada dalam sistem ini disesuiakan dengan kebutuhan pengguna sesuai dengan
hasil studi literatur yaitu:
a. Mengambil 40 gambar wajah untuk dijadikan dataset
b. Mempelajari dataset
c. Mengenali wajah dari dataset
d. Mengambil wajah yang tidak dikenal
e. Mengirim gambar wajah yang tidak dikenal
38
UIN Syarif Hidayatullah Jakarta
4.1.2 Mendefinisikan Ruang Lingkup
Ruang lingkup dalam penelitian ini adalah brankas keuangan FST UIN Syarif
Hidayatullah Jakarta, sistem yang dapat dikendalikan secara jarak jauh tetapi harus
dalam satu jaringan, juga dapat melihat keadaan sekitar, baik dalam bentuk gambar
yang dikirim ataupun video yang dapat diakses melalui smartphone ketika dalam satu
jaringan.
4.1.3 Analisis Sistem Berjalan
Gambar berikut merupakan analisis sistem berjalan.
Gambar diatas menunjukkan bahwa sistem yang berjalan saat ini masih
menggunakan tenaga manusia untuk selalu melihat cctv. Jika terjadi kehilangan saat
tidak ada yang mengawasi brankas atau cctv pada saat itu juga, maka pemilik brankas
akan mengulang-ulang waktu kejadian kehilangan barang-barang di dalam brankas.
Gambar 4.1 Analisis Sistem Berjalan
39
UIN Syarif Hidayatullah Jakarta
Gambar 4.2 Analisis Sistem Usulan
4.1.4 Analisis Sistem Usulan
Sistem usulan yang diajukan pada tahap ini berdasarkan hasil dari identifikasi
kebutuhan. Digunakan beberapa skema alur dari analisis sistem usulan berupa sistem
monitoring cctv menggunakan mobile. Gambar 4.2 merupakan gambaran secara garis
besar bagaimana sistem usulan berjalan.
40
UIN Syarif Hidayatullah Jakarta
Pada gambar 4.2 menunjukkan keadaan dimana smart cctv melihat ada yang
mendekati brankas. Smart cctv akan mengidentifikasi wajah orang tersebut apakah
dikenal atau tidak dikenal, jika orang tersebut tidak dikenal maka smart cctv akan
mengambil gambar wajah orang tersebut dan mengirimkan sebuah pesan notifikasi
berupa gambar pada sebuah aplikasi telegram yang ada di smartphone kepada pemilik
brankas. Dengan adanya smart cctv ini akan memudahkan pemilik brankas untuk
mengawasi brankas karena tidak dibutuhkan pengawasan 24 jam dari manusia
melainkan pengawasan mesin. Smart cctv ini menggunakan Raspberry Pi 4 yang dapat
terhubung dengan koneksi internet dan telah mendapat ip dari bot pada aplikasi
telegram, dan sebuah Raspberry Pi camera untuk mengambil gambar. XML digunakan
untuk mengubah gambar dari dataset menjadi sebuah data dengan klasifikasi sehingga
wajah dapat dikenal.
4.1.5 Analisis Kebutuhan Fungsional Sistem
Tahap ini berisi analisis terhadap kebutuhan-kebutuhan fungsional dari
sistem. Kebutuhan fungsi utama sistem autentikasi sekender ini disajikan dalam Data
Flow Diagram (DFD) dan Control Flow Diagram (CFD).
CCTV
Gambar 4.3 Context Diagram/DFD level 0 “smart cctv”
41
UIN Syarif Hidayatullah Jakarta
Pada gambar 4.3 menunjukkan data diperoleh dari input eksternal yang masuk
ke dalam proses sistem. Data berasal dari hasil input kamera. Setelah sistem
menerimanya, data tersebut diolah hingga menghasilkan data output menuju aplikasi
android.
Pada gambar 4.4 berikut ini menampilkan Data Flow Diagram (DFD) level
1 dari sistem smart cctv. Proses pengolahan data akan dilakukan setelah inputan sudah
masuk, dalam sistem inputan akan melalui beberapa proses hingga akhirnya
menghasilkan keluaran berupa gambar pada aplikasi android.
Gambar 4.4 DFD Level 1 "smart cctv"
Gambar 4.5 DFD/CFD Level 1 "smart cctv"
42
UIN Syarif Hidayatullah Jakarta
Pada gambar 4.5 menampilkan kebutuhan fungsi utama smart cctv berupa
gabungan Data Flow Diagram (DFD) dan Control Flow Diagram (CFD) level 1. Dari
gambar terlihat bahwa untuk dapat mengirim gambar, data input harus melalui
beberapa proses yaitu:
a. Penambahan Dataset (add dataset)
Merujuk pada penelitian (Fauzan et al., 2018), pada penelitian ini
dilakukan deteksi wajah (face detection) untuk diidentifikasi dan
mengambil 40 gambar hitam-putih yang nantinya akan digunakan sebagai
pengenalan yang dimasukkan kedalam database secara real time. Setiap
orang akan diberikan nomor sebagai id yang berikutnya setiap id akan
diberikan penamaan.
b. Pembacaan Gambar (read picture/train)
Gambar yang telah diambil akan dibaca dan dilakukan ekstraksi informasi
dari ekspresi wajah setiap gambar berdasarkan id yang diberikan untuk
pencocokkan berdasarkan hasil nilai ekstraksi gambar. Pada proses ini
hsil nilai ekstraksi gambar akan disimpan dalam format data yml.
c. Pengenalan Wajah (recognize picture)
Wajah yang telah diambil dan dipelajari oleh sistem akan dicocokkan dari
database dengan wajah yang masuk kedalam kamera untuk diverifikasi
dan dinamai berdasarkan nomor yang telah diberikan serta menghasilkan
akurasi pengenalan wajah. Pada proses ini wajah dibedakan menjadi dua
bagian, yaitu dikenal dengan berisikan nama dan tidak dikenal dengan
label unknown.
d. Pengiriman Gambar (send picture)
Pada proses ini wajah yang tidak dikenal akan diambil dan disimpan di
dalam folder capture pada raspberry pi 4 lalu dikirimkan pada salah satu
aplikasi di smartphone yaitu Telegram.
43
UIN Syarif Hidayatullah Jakarta
4.1.6 Analisis Kebutuhan Hardware
Dalam pembuatan cctv ini, dibutuhkan beberapa hardware agar sistem
berjalan dengan baik sesuai kebutuhan pengguna. Berikut adalah kebutuhan
hardware pada tabel 4.1
Tabel 4. 1 Analisis Kebutuhan Hardware
No. Komponen Jumlah
1. Raspberry Pi 4 Model B 1
2. Raspberry Pi Camera 1
3. Micro SD 32 GB Class
10
1
4. WiFi Router 1
5. Power Source Micro
USB 5V/3A tipe C
1
4.1.7 Analisis Kebutuhan Software dan Tools
Selain perangkat keras yang sudah disebutkan sebelumnya, dibutuhkan juga
perangkat lunak untuk mendukung kinerja perangkat keras agar berjalan sesuai
dengan yang diharapkan. Berikut perangkat lunak yang dibutuhkan dalam
pembuatan sistem smart cctv ini agar dapat berjalan sesuai dengan yang diharapkan
pada table 4.2
44
UIN Syarif Hidayatullah Jakarta
Tabel 4. 2 Analisis Kebutuhan Sofrware dan Tools
No. Nama
Software/Tools
Kegunaan
1.
Pemrograman
Python
Untuk menjalankan script yang membuka tampilan
kamera.
2. OpenCV Berupa library pada bahasa pemrograman python
yang digunakan mengidentifikasi wajah kemudian
wajah tersebut dapat dikenal.
3. Haar Cascade Tempat pengolahan dataset dan mempelajarinya
hingga gambar dikenal.
4. Aplikasi Telegram Sebagai notifikasi berupa gambar yang dikirimkan
oleh Raspberry Pi
4.2 Design
Pada penelitian ini beberapa tahapan yang akan dilakukan adalah pengambilan
dataset, proses training, proses pengenalan wajah dan proses pengiriman gambar. Berikut
adalah gambar 4.6 yang merupakan blok diagram dari perancangan desain.
Gambar 4.6 Block Diagram
45
UIN Syarif Hidayatullah Jakarta
4.2.1 Pengambilan Dataset
Untuk mengambil sebuah dataset, dibutuhkan beberapa contoh gambar
wajah. Sebelum gambar diambil, kamera akan mencari gambar wajah untuk dideteksi
(face detection). Pada proses pendeteksian objek menggunakan metode haar cascade
classifier, terdapat dua proses yang dilakukan sebelum akhirnya akan menghasilkan
sebuah output objek yang terdeteksi pada sebuah citra. Dalam deteksi objek dengan
metode ini, proses tersebut yaitu Grayscale dan Haar-Like Feature.
Proses pertama yang dilakukan dalam metode haar cascade classifier adalah
dengan merubah citra tersebut menjadi citra grayscale. Setelah citra diubah menjadi
grayscale, proses berikutnya yaitu mendapatkan nilai fitur dengan cara melakukan
pemindaian pada citra grayscale tersebut. Pemindaian dilakukan pada bagian citra
dengan Haar-Like Feature dari ujung kiri atas hingga kanan bawah, proses ini
dilakukan untuk mencari nilai fitur yang menyatakan objek wajah.
Nilai Haar feature pada openCV yang dikenal dengan Haarcascade. Proses
ini dilakukan untuk mendapatkan sampel dari gambar yang didapat dari kamera dan
akan dibandingkan dengan nilai yang ada pada OpenCV. Kemudian nilai frame akan
digunakan untuk mendeteksi apakah objek gambar yang masuk wajah atau bukan.
Fitur-fitur ini merupakan gambaran dari wajah yang dikelompokkan
berdasarkan sisi yang terang dan sisi yang gelap. Contohnya daerah mata memiliki
sisi yang lebih gelap daripada bagian di antara dua mata.
Gambar 4.7 Grayscale
46
UIN Syarif Hidayatullah Jakarta
Terdapat 3 jenis fitur berdasarkan jumlah persegi yang terdapat di dalamnya,
seperti yang dapat dilihat pada gambar di bawah ini :
Pada gambar di atas dapat dilihat bahwa fitur (a) dan (b) terdiri dari dua
persegi panjang, sedangkan fitur (c) dan (d) terdiri dari tiga persegi panjang dan fitur
(e) empat persegi panjang. Cara menghitung nilai dari fitur ini adalah mengurangkan
nilai piksel pada area hitam dengan piksel pada area putih. Untuk mempermudah
proses penghitungan nilai fitur, algoritma Viola-Jones menggunakan sebuah media
berupa citra integral.
Semakin banyak variasi gambar yang diambil maka semakin tinggi
performansi yang dihasilkan dari sebuah algoritma.
Pada pengambilan dataset terdapat kesalahan dalam mengenali identitas
gambar masukan dari individu di dalam database yang dikenali sebagai individu lain.
Kesalahan tersebut dikarenakan ketika mengganti posisi wajah.
Tahapan pengambilan gambar adalah sebagai berikut:
a. Memasukkan nomor sebagai id untuk tanda pengenal.
b. Melakukan penyesuaian ukuran gambar menjadi sesuai ukuran wajah
yang dideteksi.
c. Mengambil gambar wajah dengan sebanyak 40 sampel dengan variasi
yang berbeda.
d. Melakukan konversi gambar menjadi warna hitam-putih (grayscale)
47
UIN Syarif Hidayatullah Jakarta
4.2.2 Training Dataset
Pada proses ini, dari semua gambar yang telah didapatkan (dataset) akan
dipelajari menggunakan algoritma Haar Cascade dengan melakukan ekstraksi
informasi pada ekspresi wajah (Facial Expression Information Extraction) untuk
membedakan wajah pada setiap gambar.
Mekanismenya adalah pertama-tama membagi daerah gambar menjadi 8x8.
Setiap blok diubah menjadi thresholding dengan ukuran 3x3 untuk mendapatkan
nilai histogram. Lalu mengambil satu pixel tengah untuk menjadi pembanding.
• Jika nilai tetangga >= nilai pembanding =1
• Jika nilai tetangga < nilai pembanding = 0:
Threshold LBPH = nilai sekeliling - nilai pixel tengah
Setelah mendapatkan setiap nilai pada gambar, nilai tersebut akan disimpan
menggunakan algoritma Haar Cascade (xml/docker) kedalam sebuah file berbentuk
yml. Docker itu sendiri adalah sebuah project open source yang ditujukan untuk
developer atau sysadmin untuk membangun, mengemas dan menjalankan aplikasi
dimanapun di dalam sebuah container.
4.2.3 Pengenalan Wajah (Face Recognition)
Setelah gambar disimpan dalam bentuk format yml, data tersebut akan dibaca
dan diberikan nama sesuai nomor id yang telah diberi.
Dengan memanfaatkan hasil training dari haar cascade, kemudian hasil dari
proses ini dikombinasikan dengan proses Expression Clasification dan Image
Matching dengan salah satu metode algoritma haarcascade yaitu Local Binary
Pattern Histogram. Dengan metode ini, foto yang sudah menyelesaikan training
akan dicocokkan dengan hasil deteksi dari streaming kamera dimana pada streaming
nantinya beberapa gambar dalam database kemudian dicocokkan. Pencocokan
48
UIN Syarif Hidayatullah Jakarta
menghasilkan ya atau tidak didalam verifikasi sedangkan dalam identifikasi
menghasilkan persentasi akurasi dengan memanfaatkan nilai histogram yang telah
diekstraksi dari gambar menggunakan metode Local Binary Pattern Histogram.
Saat proses pengenalan wajah dilakukan terdapat kesalahan yaitu menolak
gambar masukan saat kamera mendeteksi wajah, sebuah gambar masukan yang
seharusnya dapat dikenali (identitasnya terdapat di dalam database) menjadi tidak
dikenali.
Berikut merupakan rumus pengenalan wajah yang digunakan:
id, confidence = recognizer.predict(gray portion of the face)
recognizer.predict() akan diambil sebagai parameter. Bagian dari wajah yang
diambil akan dianalisis untuk mendapatkan probabilitas dengan menunjukkan id-nya
dan seberapa besar kemiripan terhadap id dan wajah yang ada di kamera. Confidence
akan kembali ke nol jika ditemukan kecocokan.
Dan akhirnya, jika pengenal dapat memprediksi wajah, terdapat teks di atas
gambar dengan kemungkinan nama dan berapa "probabilitas" dalam persen (%) bahwa
kecocokan itu benar (“probability” = 100 — confidence index). Jika tidak, maka
akan terdapat label unknown pada wajah.
4.2.4 Pengiriman Gambar (send picture)
Pengiriman gambar dilakukan ketika smart cctv tidak dapat mengenali wajah
yang terdeteksi oleh kamera, kemudian akan menamai orang tersebut dengan
memberi label unknown.
Pada proses ini, smart cctv telah dihubungkan dengan koneksi internet dan
mendapat sebuah IP dari aplikasi Telegram agar Raspberry Pi dapat terhubung
dengan smartphone.
49
UIN Syarif Hidayatullah Jakarta
4.3 Manufacture and Development
Tahapan manufacture dan development merupakan tahap menterjemahkan desain
rancangan pada tahap sebelumnya menjadi sebuah sistem akhir yang dapat digunakan. Tahap
ini dibagi menjadi dua yaitu manufacture yang bertanggung jawab mengenai seluruh
perakitan perangkat keras, dan tahap development yang bertanggung jawab dalam hal
pengembangan perangkat lunak termasuk pengkodean.
4.3.1 Manufacture
Tahap manufacture ini fokus pada pembuatan alat smart cctv. gambar 4.8
adalah packaging smart cctv.
Gambar 4.8 Smart CCTV
50
UIN Syarif Hidayatullah Jakarta
Pada gambar 4.9 merupakan port yang terdapat pada raspberry pi 4 model B.
Berikut port yang penulis gunakan pada tabel 4.3
Tabel 4. 3 Komponen dan Port No. Alat Port
1. Micro SD Card Micro SD Card Slot 2. Power USB-C Power Port 5V/3A 3. Raspberry Pi Camera MIPI CSI Camera Port 4. Keyboard dan Mouse wireless USB 3.0 5. Kabel Micro HDMI Micro HDMI Port
1. Micro SD Card digunakan sebagai sistem operasi dan media penyimpanan,
penulis menggunakan sistem operasi Raspbian Buster.
2. Power yang digunakan harus berupa USB-C dan tegangan 5V/3A agar daya yang
diberikan cukup.
3. Raspberry Pi Camera dipasang pada port Camera Serial Interface yang terdapat
pada raspberry pi.
4. keyboard dan mouse wireless dipasang pada USB 3.0 untuk pembuatan kode dan
melakukan proses pengenalan wajah
Gambar 4. 9 Port raspberry pi
51
UIN Syarif Hidayatullah Jakarta
5. Kabel micro HDMI dihubungkan pada micro hdmi port dengan monitor untuk
melihat streaming dari kamera.
4.3.2 Development
Tahap development difokuskan pada instalasi OpenCV dan pembuatan kode
program melalui bahasa pemrograman Python. Kode program dibuat berdasarkan
hasil analisis kebutuhan sistem yang telah dibuat sebelumnya, sehingga fitur yang
dibuat pada sistem sesuai dengan kebutuhan dan keperluan pengguna. Peneliti
menggunakan source code dari (Mjrovai, n.d.) yang dimodifikasi, berikut ini
merupakan bagian-bagian dari proses development perangkat lunak.
a. Instalasi OpenCV
Berikut merupakan potongan cara menginstal opencv pada Raspberry
Pi beserta penjelasan.
52
UIN Syarif Hidayatullah Jakarta
Dependencies digunakan untuk penambahan library yang tidak tersedia di opencv tetapi dapat mendukung penggunaan fungsi opencv.
b. Pembuatan Dataset
- Inisiasi Library
1. Cv2 : Merupakan library opencv.
2. Os : Merupakan modul pada python untuk program python atau
python itu sendiri berinteraksi langsung dengan sistem operasi untuk
mendukung python didalamnya, juga memberikan dimana python itu
di install dan menunjukkan letak direktori.
- Proses Face Detection
Pada penelitian ini digunakan algoritma haarcascade untuk melakukan
identifikasi wajah setiap orang. Identifikasi dilakukan dengan melakukan
klasifikasi pada wajah berdasarkan mata, hidung, dan mulut.
- Membalikkan Kamera dan Perubahan Warna Menjadi Grayscale
Kode ini digunakan untuk membuka kamera dan penggunaan metode opencv akan membalikkan kamera 180º kemudian mengubah warna menjadi hitam putih menggunakan cv2.cvtColor(img,cv2. COLOR_BGR2GRAY).
Berikut adalah kode yang digunakan dalam proses pengambilan dataset
import cv2 import os
face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
ret, img = cam.read() img = cv2.flip(img, -1) # flip video image vertically gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
53
UIN Syarif Hidayatullah Jakarta
import cv2 import os cam = cv2.VideoCapture(0) cam.set(3, 640) # set video width cam.set(4, 480) # set video height face_detector = cv2.CascadeClassifier('haarcascade_frontalface_default.xml') # For each person, enter one numeric face id face_id = input('\n enter user id end press <return> ==> ') print("\n [INFO] Initializing face capture. Look the camera and wait ...") # Initialize individual sampling face count count = 0 while(True): ret, img = cam.read() img = cv2.flip(img, -1) # flip video image vertically gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_detector.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: cv2.rectangle(img, (x,y), (x+w,y+h), (255,0,0), 2) count += 1 # Save the captured image into the datasets folder cv2.imwrite("dataset/User." + str(face_id) + '.' + str(count) + ".jpg", gray[y:y+h,x:x+w])
54
UIN Syarif Hidayatullah Jakarta
Dibawah ini merupakan hasil pengambilan gambar sebagai dataset yang
digunakan untuk penelitian, serta kesalahan dalam mengenali identitas masukan
sebagai dataset:
Tabel 4. 4 Dataset Penelitian 1.
2.
3.
4.
. .
. .
cv2.imshow('image', img) k = cv2.waitKey(100) & 0xff # Press 'ESC' for exiting video if k == 27: break elif count >= 40: # Take 40 face sample and stop video break # Do a bit of cleanup print("\n [INFO] Exiting Program and cleanup stuff") cam.release() cv2.destroyAllWindows()
55
UIN Syarif Hidayatullah Jakarta
39.
40.
Gambar 40 merupakan kesalahan pengenalan wajah saat pengambilan dataset
c. Proses Training
Berikut merupakan potongan cara pengkodean training beserta penjelasan.
- Inisiasi Library:
1. Cv2 : Merupakan library opencv.
2. Numpy : Numpy memiliki kegunaan untuk operasi vektor dan
matriks. Fiturnya hampir sama dengan MATLAB dalam
mengelola array dan array multidimensi. Numpy merupakan salah
satu library yang digunakan oleh library lain seperti Scikit-Learn
untuk keperluan analisis data.
3. PIL : Library untuk Image Processing, merupakan
rangkaian proses yang mengelola dan menganalisis gambar dengan
cara melibatkan presepsi visual secara digital
import cv2 import numpy as np from PIL import Image import os
56
UIN Syarif Hidayatullah Jakarta
- Proses Facial Expression Information Extraction untuk Pengenalan
Algoritma ini digunakan untuk membuat klasifikasi pengenalan
wajah berdasarkan nomor id pada dataset menggunakan perhitungan
Local Binary Pattern Histogram (LBPH).
- Proses Perubahan Gambar menjadi Integer
Pada tahapan ini gambar diekstraksi kedalam bentuk integer untuk
mencari nilai grayscale.
- Proses Pembelajaran Integer
Pada proses ini dilakukan pengambilan hasil ekstraksi gambar berupa
nilai integer, yaitu membagi gambar menjadi 8x8 dan setiap blok akan
dibagi 3x3 kemudian dilakukan proses pembelajaran (training) untuk
mengambil nilai rata-rata grayscale pada gambar.
recognizer = cv2.face.LBPHFaceRecognizer_create() detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml");
img_numpy = np.array(PIL_img,'uint8')
faces,ids = getImagesAndLabels(path) recognizer.train(faces, np.array(ids))
57
UIN Syarif Hidayatullah Jakarta
Berikut adalah kode yang digunakan dalam training.
import cv2 import numpy as np from PIL import Image import os # Path for face image database path = 'dataset' recognizer = cv2.face.LBPHFaceRecognizer_create() detector = cv2.CascadeClassifier("haarcascade_frontalface_default.xml"); # function to get the images and label data def getImagesAndLabels(path): imagePaths = [os.path.join(path,f) for f in os.listdir(path)] faceSamples=[] ids = []
58
UIN Syarif Hidayatullah Jakarta
for imagePath in imagePaths: PIL_img = Image.open(imagePath).convert('L') # convert it to grayscale img_numpy = np.array(PIL_img,'uint8') id = int(os.path.split(imagePath)[-1].split(".")[1]) faces = detector.detectMultiScale(img_numpy) for (x,y,w,h) in faces: faceSamples.append(img_numpy[y:y+h,x:x+w]) ids.append(id) return faceSamples,ids print ("\n [INFO] Training faces. It will take a few seconds. Wait ...") faces,ids = getImagesAndLabels(path) recognizer.train(faces, np.array(ids)) # Save the model into trainer/trainer.yml recognizer.write('trainer/trainer.yml') # recognizer.save() worked on Mac, but not on Pi # Print the numer of faces trained and end program print("\n [INFO] {0} faces trained. Exiting Program".format(len(np.unique(ids))))
59
UIN Syarif Hidayatullah Jakarta
d. Pengenalan Wajah (Face Recognition) dan Pengiriman Gambar
- Inisiasi Library:
1. Time : untuk memberi informasi tentang waktu dan tanggal.
2. Telebot : untuk menghubungkan raspberry pi dengan aplikasi telegram
pada smartphone.
3. Cv2 : Merupakan library opencv.
4. Numpy : Numpy memiliki kegunaan untuk operasi vektor dan matriks.
Fiturnya hampir sama dengan MATLAB dalam
mengelola array dan array multidimensi. Numpy merupakan salah
satu library yang digunakan oleh library lain seperti Scikit-Learn untuk
keperluan analisis data.
5. Os : Merupakan modul pada python untuk program python atau
python itu sendiri berinteraksi langsung dengan sistem operasi untuk
mendukung python didalamnya, juga memberikan dimana python itu di
install dan menunjukkan letak direktori.
- Bot Telegram
Kode ini digunakan untuk menghubungkan bot telegram dengan smart
cctv menggunakan API dari bot telegram.
bot = telebot.TeleBot("741780913:AAHe-7xLu_z4KpvPduO8lZLc0Etz_36K_NM")
import time from datetime import datetime
import telebot import cv2 import numpy as np import os
60
UIN Syarif Hidayatullah Jakarta
- Proses Expression Clasification
Pada proses ini dilakukan pembacaan gambar yang diperoleh dari proses
training untuk pengenalan, sehingga gambar masukan dari kamera dapat
dicocokkan dengan gambar yang terdapat pada dataset dengan algoritma
haarcascade menggunakan metode pengenalan (recognizer).
- Proses Pemberian Nama Berdasarkan Nomor id
Pada proses diberikan nama berdasarkan nomor id
- Proses Pencocokan Gambar
Pada proses ini gambar masukan dari kamera akan dicocokan dengan
gambar yang terdapat pada dataset dan apabila ditemukan kecocokan
berdasarakan nilai confidence maka diberikan label sesuai nama yang
telah terdaftar berdasarkan nomor id.
recognizer.read('trainer/trainer.yml') cascadePath = "haarcascade_frontalface_default.xml" faceCascade = cv2.CascadeClassifier(cascadePath);
id, confidence = recognizer.predict(gray[y:y+h,x:x+w]) # Check if confidence is less them 100 ==> "0" is perfect match if (confidence < 100): id = names[id] confidence = " {0}%".format(round(100 - confidence)) else: id = "unknown" confidence = " {0}%".format(round(100 - confidence))
#iniciate id counter id = 0 # names related to ids: example ==> Marcelo: id=1, etc names = ['None', 'Ryan', 'Elon', 'Ilza', 'Prita', 'W']
61
UIN Syarif Hidayatullah Jakarta
- Keterangan Gambar
1. Timestamp : pemberian waktu dan tanggal pada gambar
2. Filename : pemberian nama berdasarkan waktu dan tanggal
pengambilan gambar
3. Cv2.imwrite : kode untuk pengambilan gambar
4. Photo : Agar foto dapat dibuka
- Pengiriman Gambar
Potongan kode tersebut digunakan untuk mengirim gambar dari smart
cctv ke bot telegram
timestamp = datetime.now() filename = "capture/{}.jpg".format(timestamp) cv2.imwrite(filename, img) photo = open(filename, 'rb')
bot.send_photo("793430359",photo)
62
UIN Syarif Hidayatullah Jakarta
Berikut adalah kode untuk pengenalan wajah dan pengiriman notifikasi.
import time from datetime import datetime import telebot import cv2 import numpy as np import os bot = telebot.TeleBot("741780913:AAHe-7xLu_z4KpvPduO8lZLc0Etz_36K_NM") recognizer = cv2.face.LBPHFaceRecognizer_create() recognizer.read('trainer/trainer.yml') cascadePath = "haarcascade_frontalface_default.xml" faceCascade = cv2.CascadeClassifier(cascadePath); font = cv2.FONT_HERSHEY_SIMPLEX #iniciate id counter id = 0 # names related to ids: example ==> Marcelo: id=1, etc names = ['None', 'Ryan', 'Elon', 'Ilza', 'Prita', 'W'] # Initialize and start realtime video capture cam = cv2.VideoCapture(0) cam.set(3, 640) # set video widht cam.set(4, 480) # set video height # Define min window size to be recognized as a face minW = 0.1*cam.get(3) minH = 0.1*cam.get(3)
63
UIN Syarif Hidayatullah Jakarta
while True: #bot.polling() ret, img =cam.read() img = cv2.flip(img, -1) # Flip vertically gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) faces = faceCascade.detectMultiScale( gray, scaleFactor = 1.2, minNeighbors = 5, minSize = (int(minW), int(minH)), ) for(x,y,w,h) in faces: cv2.rectangle(img, (x,y), (x+w,y+h), (0,255,0), 2) id, confidence = recognizer.predict(gray[y:y+h,x:x+w]) # Check if confidence is less them 100 ==> "0" is perfect match if (confidence < 100): id = names[id] confidence = " {0}%".format(round(100 - confidence)) else: id = "unknown" confidence = " {0}%".format(round(100 - confidence)) timestamp = datetime.now() filename = "capture/{}.jpg".format(timestamp) cv2.imwrite(filename, img) photo = open(filename, 'rb') bot.send_photo("793430359",photo) cv2.putText(img, str(id), (x+5,y-5), font, 1, (255,255,255), 2) cv2.putText(img, str(confidence), (x+5,y+h-5), font, 1, (255,255,0), 1) cv2.imshow('camera',img) time.sleep(10) k = cv2.waitKey(10) & 0xff # Press 'ESC' for exiting video if k == 27: break # Do a bit of cleanup print("\n [INFO] Exiting Program and cleanup stuff") cam.release() cv2.destroyAllWindows()
64
UIN Syarif Hidayatullah Jakarta
Berikut adalah hasil pengenalan wajah pada sistem serta persentase
kemiripan dengan data training pada gambar 4.10:
Pada gambar gambar 4.11 merupakan hasil dari pengiriman gambar wajah yang tidak
dikenal pada aplikasi telegram. Pengiriman gambar dilakukan setiap ada wajah yang tidak
dikenali.
Gambar 4.11 Hasil Pengiriman Gambar
Gambar 4.10 Hasil Pengenalan Wajah
65
UIN Syarif Hidayatullah Jakarta
4.4 Testing
Setelah melakukan perancangan, peneliti melakukan pengujian terhadap hasil
implementasi sistem. Pengujian dilakukan pada dua tingkatan, yaitu tingkat sistem dengan
aspek pengujian functionality. Metode yang digunakan dalam pengujian adalah black box
testing.
4.4.1 User Acceptance Test
Uji fungsionalitas dilakukan dengan user acceptance testing. Parameter yang
diuji disusun berdasarkan fungsi-fungsi pokok yang dibutuhkan. Pengujian ini
dilakukan oleh target dari penelitian ini yaitu bendahara bagian keuangan Fakultas
Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.
Tabel 4. 5 UAT-A
User Acceptance Test Nama Sistem Smart CCTV Nomor pengujian UAT-A Topik Pengujian Fungsi Pengambilan Dataset Tanggal Pengujian 06 Januari 2020 Penguji Prita Wardhani
No. Fungsi pokok Sesuai
ya Tidak 1. Memasukkan nomor id 1 2. Menangkap gambar 1 3. Melihat dataset 1
Jumlah 3 0
Tabel 4.4 merupakan hasil dari pengujian kepada pengguna terhadap
pengambilan dataset oleh Prita Wardhani sebagai pengguna. Hasilnya tiga kasus
pengujian sesuai dengan harapan pengguna.
66
UIN Syarif Hidayatullah Jakarta
Tabel 4. 6 UAT-B
User Acceptance Test Nama Sistem Smart CCTV Nomor pengujian UAT-B Topik Pengujian Fungsi Training Tanggal Pengujian 06 Januari 2020 Penguji Prita Wardhani
No. Fungsi pokok Sesuai
ya Tidak 1. Melakukan training 1
Jumlah 1 0
Tabel 4.5 merupakan hasil dari pengujian kepada pengguna terhadap fungsi
training oleh Prita Wardhani sebagai pengguna. Hasilnya satu kasus pengujian sesuai
dengan harapan pengguna.
Tabel 4. 7 UAT-C
User Acceptance Test Nama Sistem Smart CCTV Nomor pengujian UAT-C Topik Pengujian Fungsi Pengenalan Wajah Tanggal Pengujian 06 Januari 2020 Penguji Prita Wardhani
No. Fungsi pokok Sesuai
ya Tidak 1. Mendeteksi wajah yang dikenal 1 2. Mendeteksi wajah yang tidak dikenal 1
Jumlah 2 0
Tabel 4.6 merupakan hasil dari pengujian kepada pengguna terhadap
pengenalan wajah oleh Prita Wardhani sebagai pengguna. Hasilnya dua kasus
pengujian sesuai dengan harapan pengguna.
67
UIN Syarif Hidayatullah Jakarta
Tabel 4. 8 UAT-D
User Acceptance Test Nama Sistem Smart CCTV Nomor pengujian UAT-D Topik Pengujian Fungsi Pengiriman Gambar Tanggal Pengujian 06 Januari 2020 Penguji Prita Wardhani
No. Fungsi pokok Sesuai
ya Tidak
1. Melihat gambar wajah yang tidak dikenal pada raspberry pi 1
2 Melihat gambar wajah yang tidak dikenal pada aplikasi telegram 1
Jumlah 2 0
Tabel 4.7 merupakan hasil dari pengujian kepada pengguna terhadap fungsi pengiriman gambar oleh Prita Wardhani sebagai pengguna. Hasilnya tdua kasus pengujian sesuai dengan harapan pengguna.
4.4.2 Performance Testing
Untuk mendapatkan hasil performa dari alat, peneliti membuat skenario
pengujian dengan beberapa parameter yaitu sebagai berikut:
a. Pengaruh Jarak terhadap tingkat Keberhasilan Pengenalan
Wajah
Berikut tabel 4.8 merupakan hasil uji coba terhadap jarak untuk
pengenalan wajah:
68
UIN Syarif Hidayatullah Jakarta
Tabel 4. 9 Pengaruh Jarak
No Jarak Mengenali Wajah
Ya Tidak
1. 50 cm Ya -
2. 100 cm Ya -
3. 150 cm Ya -
4. 200 cm Ya -
5. 250 cm Ya -
6. 300 cm Ya -
7. 350 cm - Tidak
Terlihat pada jarak 50-300cm alat dapat mengenali wajah dan pada
jarak 350cm tidak bisa untuk mengenali wajah.
b. Perbedaan Pendeteksian dari Objek yaitu Wajah Manusia
dan Hewan
Berikut adalah tabel 4.9 hasil pendeteksian berdasarkan objek wajah:
Tabel 4. 10 Pendeteksian berdasarkan objek
Hasil dari pengujian tersebut dapat disimpulkan bahwa smart cctv
hanya mampu mengenali wajah manusia.
No Subjek Terdeteksi
Ya Tidak
1. Manusia Ya -
2. Kucing - Tidak
3. Anjing - Tidak
4. Tikus - Tidak
69
BAB V HASIL DAN PEMBAHASAN
5.1 Hasil Pengujian Sistem
Secara keseluruhan, implementasi face recognition dengan opencv dalam beberapa
proses, yaitu pengambilan dataset, training, face recognition, dan pengiriman gambar ke
aplikasi telegram berhasil diterapkan pada smart cctv. Berdasarkan hasil pengujian dengan
pengenalan wajah, didapatkan persentase akurasi pengenalan dari 40-69%. Persentase
didapat dengan pengambilan dataset secara langsung menggunakan raspberry pi camera
setiap orang yaitu 40 gambar yang bervariasi. Berdasarkan pengiriman notifikasi berupa
gambar, alat mampu langsung mengambil gambar wajah yang tidak dikenal dan
mengirimkan gambar tersebut secara langsung.
Berdasarkan performasi, smart cctv hanya dapat mendeteksi wajah untuk dikenali
dengan jarak dibawah 350cm dan tidak dapat mendeteksi wajah selain manusia. Berikut data
hasil uji coba pada table 5.1
Tabel 5. 1 Tabel Hasil Pengujian Sistem
No Sistem Pengujian Validasi Hasil
1. Dataset Pengambilan 40 gambar
wajah yang akan
disimpan menjadi
sebuah folder dan
pemberian nomor id
Berhasil
70
UIN Syarif Hidayatullah Jakarta
2. Training Mempelejari gambar
dengan mengklasifikasi
dan mengganti data jpg
menjadi yml
Berhasil
3. Pengenalan
Wajah
-Mampu mengenal
wajah orang yang
berbeda-beda dan juga
wajah dari smartphone
atau foto
-Mampu membedakan
orang yang dikenal
dengan orang asing
Berhasil
4. Pengiriman
Notifikasi
-Mampu menangkap
gambar orang yang
tidak dikenal
-Mampu mengirim
notifikasi berupa
gambar pada aplikasi
Telegram secara real
time
Berhasil
5. Pengenalan
Objek selain
Manusia
Tidak mendeteksi dan
mengenali wajah selain
manusia
Berhasil
71
UIN Syarif Hidayatullah Jakarta
5.2 Hasil Pengujian Tingkat User
Berdasarkan pengujian yang dilakukan oleh bendahara keuangan melalui user
acceptance test pada smart cctv, data hasil pengujian fungsionalitas disederhanakan pada
table berikut.
Tabel 5. 2 Hasil UAT
No. Uji Fitur Jumah Sesuai ya Tidak
UAT-A Pengambilan Dataset 3 0 UAT-B Training 1 0 UAT-C Pengenalan Wajah 2 0 UAT-D Pengiriman Gambar 2 0
Berdasarkan tabel 5.2 jumlah skor kesesuaian yang diperoleh dalam penelitian ini
adalah 8. Sedangkan tingkat kesesuaian yang diharapkan dalam user acceptace test ini
adalah jumlah skor sesuai ditambah dengan skor tidak sesuai dari hasil pengujian, yaitu 8 +
0 = 8. Maka persentase tingkat kesesuaian aplikasi ini dengan pengguna adalah 100% dengan
penghitungan sebagai berikut
𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑡𝑡𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 =∑(𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡)
∑(𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡 + 𝑡𝑡𝑡𝑡𝑑𝑑𝑡𝑡𝑡𝑡 𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡)𝑥𝑥100
𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑡𝑡𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 =8
8 + 0 𝑥𝑥 100
𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 𝑡𝑡𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑘𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 100%
72
BAB VI PENUTUP
6.1 Kesimpulan
Berdasarkan pengujian yang telah dilakukan, opencv dan face recognition dapat
diimplementasikan pada smart cctv untuk pengawasan brankas. Penulis menggunakan
bahasa pemrograman python dengan opencv sebagai library dan metode face recognition.
Algoritma yang penulis gunakan pada face recognition adalah haarcascade. Proses yang
dilakukan terdiri dari pengambilan dataset secara langsung dari raspberry pi camera
menggunakan metode face detection, training dengan metode Facial Expression
Information Extraction, dan face recognition/pengenalan wajah menggunakan metode
Expression Clasification, serta penangkapan gambar dan pengiriman gambar orang yang
tidak dikenal. Hasil face recognition berupa pelabelan pada nama dengan akurasi 40-69%
dan tidak dikenal sebagai unknown. Smart cctv ini terhubung dengan smartphone, maka
ketika tidak ada yang mengawasi brankas dan seseorang yang tidak dikenal mendekati
brankas, kamera dapat mengambil gambar orang asing tersebut dan langsung mengirimkan
gambarnya menggunakan aplikasi Telegram sebagai notifikasi. Ketika alat ini masih dalam
satu jaringan dengan smartphone, smartphone bisa mengakses video secara langsung
menggunakan VNC atau Remote Desktop.
Pada metode face recognition masih terdapat kesalahan dalam mengenali identitas
gambar masukan, baik itu kesalahan dalam mengenali identitas gambar masukan sebanyak
1:40 yaitu 0.025% untuk dataset, maupun kesalahan dalam mengenali identitas gambar
masukan dari individu di dalam database yang dikenali sebagai individu lain dan kesalahan
dalam menolak gambar masukan, sebuah gambar masukan yang seharusnya dapat dikenali
(identitasnya terdapat di dalam database) berubah menjadi tidak dikenali.
73
UIN Syarif Hidayatullah Jakarta
6.2 Saran
Setelah dibuat alat smart cctv menggunakan Raspberry Pi, terdapat beberapa saran
untuk pembaca dan pengembang selanjutnya. Berikut adalah beberapa saran dari penulis,
yaitu:
a. Melakukan pencahayaan yang pas untuk meningkatkan akurasi pengenalan
wajah, dikarenakan cahaya sangat mempengaruhi gambar.
b. Mampu memantau alat dari jarak jauh, tidak menggunakan satu jaringan jika
ingin melihat video secara langsung.
c. Pengembang berikutnya dapat merekam dan menyimpan video sehingga lebih
mudah untuk melihat orang asing tersebut.
d. Dapat mengambil gambar yang dapat terstruktur berapa banyaknya ketika tidak
mengenali orang.
74
DAFTAR PUSTAKA
Al-Aidid, S., & Pamungkas, D. (2018). Sistem Pengenalan Wajah dengan Algoritma Haar
Cascade dan Local Binary Pattern Histogram. Jurnal Rekayasa Elektrika, 14(1), 62–
67. https://doi.org/10.17529/jre.v14i1.9799
Anggraini, N., Rozy, N. F., & Lazuardy, R. A. (2013). Facial Recognition System For
Fatigue Detection Using Intel Realsense Technology Departement of Informatics
Engineering Faculty of Science and Technology State Islamic University of Syarif
Hidayatullah Jakarta. (may).
Brankasid. (2017). Cara Menyimpan Dokumen Menggunakan Brankas. Retrieved from
Medium.com website: https://medium.com/@idbrangkas/cara-menyimpan-dokumen-
menggunakan-brankas-67784439215e
Bruno, L. (2019). Aplikasi Pendeteksian Ras Kucing dengan Mendeteksi Wajah Kucing
dengan Metode Viola-Jones berbasis Android (Vol. 53).
https://doi.org/10.1017/CBO9781107415324.004
DirektoriUURI. (n.d.). Kumpulan Undang-undang dan Peraturan di Indonesia. Retrieved
from https://uu.direktorimu.com/kuhp/buku-ketiga/bab-1-tentang-pelanggaran-
keamanan-umum-bagi-orang-atau-barang-dan-kesehatan/
Emami, S., & Suciu, V. P. (2012). Facial Recognition using OpenCV. Journal of Mobile,
Embedded and Distributed Systems, 4(1), 38–43. Retrieved from
http://www.jmeds.eu/index.php/jmeds/article/view/57
Fauzan, A., Novamizanti, L., & Fuadah, Y. N. (2018). Perancangan Sistem Deteksi Wajah
untuk Presensi Kehadiran Menggunakan Metode LBPH ( Local Binary Pattern
Histogram ) Berbasis Android. E-Proceeding of Engineering, 5(3), 5403–5413.
He, S. L., Roe, N. H., Wood, E. C. L., Nachtigal, N., & Investigator, P. (2015). Lifecycle.
75
UIN Syarif Hidayatullah Jakarta
(September).
Ivanjul.com. (2018). Fungsi Membaca, Menampilkan, dan Menyimpan Gambar OpenCV
Python. Retrieved December 21, 2019, from https://www.ivanjul.com/fungsi-
membaca-menampilkan-dan-menyimpan-gambar-opencv-python/
Jamnia, A. (2018). Product Life Cycle Management Models. Introduction to Product
Design and Development for Engineers, 67–77.
https://doi.org/10.1201/9781315148939-6
Kaonang, G. (2019). Raspberry Pi 4 Janjikan Performa Sekelas Komputer Desktop Tanpa
Korbankan Fleksibilitasnya.
Kemenkeu. (2015). Peraturan Menteri Keuangan Republik Indonesia Nomor 218 / Pmk.
06/ 2015 Tentang Tata Cara Penyimpanan Dokumen Kepemilikan Barang Milik
Negara. Retrieved May 2, 2019, from http://bmn.bmkg.go.id/wp-
content/uploads/2014/06/Peraturan-Menteri-Keuangan-Nomor-218-PMK.-06-2015-
Tentang-Tata-Cara-Penyimpanan-Dokumen-Kepemilikan-Barang-Milik-Negara.pdf
Kemenkumham. (2000). Perubahan Kedua Undang-Undang Dasar Negara Republik
Indonesia Tahun 1945. Retrieved from
http://ditjenpp.kemenkumham.go.id/arsip/ln/1945/UUD1945PerubahanKedua.pdf
Khalilulah, H. A. (2016). Implementasi Speech Recognition pada Aplikasi Penerjemah
Idiom Bahasa Inggris ke Bahasa Indonesia Berbasis Android. 1–6.
Kurniawan, D. E., & Fani, S. (2017). Perancangan sistem kamera pengawas berbasis
perangkat bergerak menggunakan raspberry pi. Jurnal Ilmiah Teknologi Informasi
Terapan, III(2), 140–146.
Kusumaningrum, A., Pujiastuti, A., & Zeny, M. (2017). Pemanfaatan Internet of Things
pada Kendali Lampu. Compiler, 6(1), 53–59.
https://doi.org/10.28989/compiler.v6i1.201
76
UIN Syarif Hidayatullah Jakarta
Mahesa, A. T., Rahmawan, H., Rinharsah, A., & Arifin, S. (2019). Sistem Keamanan
Brankas Berbasis Kartu Rfid E-Ktp. Jurnal Teknologi Dan Manajemen Informatika,
5(1). https://doi.org/10.26905/jtmi.v5i1.3105
Mjrovai. (n.d.). Real-time Face Recognition: an End-to-end Project: 8 Steps (with
Pictures). Retrieved January 5, 2020, from https://www.instructables.com/id/Real-
time-Face-Recognition-an-End-to-end-Project/
Pazriyah. (2017). PENGGUNAAN RASPBERRY PI DALAM MENDETEKSI WARNA
MELALUI WEBCAM.
Permana, A. A., & Destriana, R. (2018). Pengamanan Teks Menggunakan Metode
Algoritma Rsa. 7(2).
Poskupang.com. (2018). Brankas Kantor BPSDM NTT Dibobol Maling, Lebih Dari Rp
230 Juta Raib. Retrieved from https://kupang.tribunnews.com/2018/11/06/brankas-
kantor-bpsdm-ntt-dibobol-maling-lebih-dari-rp-230-juta-raib
Prima, R., & Putra, M. (2016). Using Raspberry Pi-Based Motion Detector Camera. 21(3),
37–44.
Project, R. P. (n.d.). Getting Started with the Camera Module - Introduction | Raspberry Pi
Projects. Retrieved January 17, 2020, from
https://projects.raspberrypi.org/en/projects/getting-started-with-picamera
raspberrypi.org. (n.d.). Raspberry Pi 4 Model B – Raspberry Pi. Retrieved January 17,
2020, from https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
Sihabuddin, M. R. (2014). METODE WHITE BOX DAN BLACK BOX TESTING.
Retrieved from https://rijjasihabuddin.blogspot.com/2014/03/metode-white-box-dan-
black-box-testing.html
Stark, J. (2015). Product Lifecycle Management-Empowering the Future of Business. 1–29.
https://doi.org/10.1007/978-3-319-17440-2
77
UIN Syarif Hidayatullah Jakarta
Sunny L, H., Natalie H, R., Evan C L, W., Nachtigal, N., & Helms, J. (2015). Model of the
Product Development Lifecycle. Sandia National Laboratories, (September).
Supply, P. (2019). Raspberry Pi Camera.
Suprianto, D. (2013). Sistem Pengenalan Wajah Secara Real-Time. Sistem Pengenalan
Wajah Secara Real-Time Dengan Adaboost, Eigenface PCA & MySQL, 7(2), 179–
184.
Suseno, J. (2004). Pemenuhan Hak Atas Rasa Aman Masyarakat Yogyakarta Rendah.
Timisora, U. P. (2018). ACTA Technica Corviniensis– Bulletin of Engineering (P. Assoc.
Prof. Eng. KISS Imre, Ed.). Hunedoara.
Zein, A. (2018). Pendeteksian Multi Wajah Dan Recognition Secara Real Time
Menggunakan Metoda Principal Component Analysis ( Pca ) Dan. XII(01), 1–7.
78
LAMPIRAN
Lampiran User Acceptance Test
79
UIN Syarif Hidayatullah Jakarta