implementasi face recognition dengan opencv...

95
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

Upload: others

Post on 23-Sep-2020

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 2: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 3: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

ii

LEMBAR PERSETUJUAN

Page 4: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

iii

LEMBAR PENGESAHAN

Page 5: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

iv

PERNYATAAN ORISINALITAS

Page 6: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 7: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 8: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 9: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 10: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 11: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 12: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 13: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 14: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

xiii

BAB VI PENUTUP ........................................................................................................... 72

6.1 Kesimpulan ......................................................................................................... 72

6.2 Saran ................................................................................................................... 73

DAFTAR PUSTAKA ........................................................................................................ 74

LAMPIRAN ...................................................................................................................... 78

Page 15: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 16: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 17: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 18: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 19: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 20: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 21: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 22: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 23: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 24: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 25: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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).

Page 26: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 27: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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).

Page 28: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 29: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 30: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 31: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 32: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.)

Page 33: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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++.

Page 34: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 35: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 36: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 37: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 38: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 39: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 40: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 41: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 42: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 43: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 44: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 45: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 46: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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 - - -

Page 47: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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 - -

Page 48: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

32

UIN Syarif Hidayatullah Jakarta

Menggunakan Metode LBPH ( Local Binary Pattern Histogram ) Berbasis Android

Page 49: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 50: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 51: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 52: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 53: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 54: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 55: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 56: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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”

Page 57: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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"

Page 58: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 59: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 60: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 61: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 62: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 63: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 64: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 65: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 66: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 67: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 68: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 69: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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])

Page 70: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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()

Page 71: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 72: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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))

Page 73: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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 = []

Page 74: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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))))

Page 75: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 76: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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']

Page 77: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 78: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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)

Page 79: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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()

Page 80: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 81: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 82: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 83: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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:

Page 84: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 85: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 86: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 87: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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%

Page 88: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 89: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 90: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 91: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 92: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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

Page 93: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

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.

Page 94: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

78

LAMPIRAN

Lampiran User Acceptance Test

Page 95: IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV ...repository.uinjkt.ac.id/dspace/bitstream/123456789/50590...IMPLEMENTASI FACE RECOGNITION DENGAN OPENCV PADA “SMART CCTV” UNTUK KEAMANAN

79

UIN Syarif Hidayatullah Jakarta