PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

88
TUGAS AKHIR PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU MENGGUNAKAN RASPBERRY PI Diajukan untuk memenuhi salah satu syarat Memperoleh gelar Sarjana Teknik pada Program Studi Teknik Elektro Jurusan Teknik Elektro Fakultas Sains dan Teknologi, Universitas Sanata Dharma Disusun oleh: Marco Oscar Mustamin NIM: 155114065 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2019 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Transcript of PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

Page 1: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

TUGAS AKHIR

PENGENALAN WAJAH UNTUK SISTEM

KEAMANAN PINTU MENGGUNAKAN

RASPBERRY PI

Diajukan untuk memenuhi salah satu syarat

Memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro Jurusan Teknik Elektro

Fakultas Sains dan Teknologi, Universitas Sanata Dharma

Disusun oleh:

Marco Oscar Mustamin

NIM: 155114065

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 2: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

i

TUGAS AKHIR

PENGENALAN WAJAH UNTUK SISTEM

KEAMANAN PINTU MENGGUNAKAN

RASPBERRY PI

Diajukan untuk memenuhi salah satu syarat

Memperoleh gelar Sarjana Teknik pada

Program Studi Teknik Elektro Jurusan Teknik Elektro

Fakultas Sains dan Teknologi, Universitas Sanata Dharma

Disusun oleh:

Marco Oscar Mustamin

NIM: 155114065

PROGRAM STUDI TEKNIK ELEKTRO

JURUSAN TEKNIK ELEKTRO

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 3: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

ii

FINAL PROJECT

FACE RECOGNITION FOR DOOR SECURITY

SYSTEM USING RASPBERRY PI

In partial fulfilment of the requirements

for the degree Sarjana Teknik

Department of Electrical Engineering Faculty of Science and Technology, Sanata Dharma University

Arranged by:

Marco Oscar Mustamin

NIM: 155114065

DEPARTMENT OF ELECTRICAL ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 4: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 5: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 6: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 7: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

vi

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP

MOTTO:

“ Success is walking from failure to failure with no loss of enthusiasm ”

-Winston Churchill-

Skripsi ini saya persembahkan untuk :

Tuhan Yang Maha Kuasa yang selalu bersama saya

Keluarga dan Kerabat terdekat, yang selalu memberi

dukungan secara moral maupun materi

Teman-teman elektro USD angkatan 2015 yang selalu

memberikan semangat

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 8: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 9: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

viii

INTISARI

Peran teknologi telah banyak digunakan diberbagai aspek kehidupan manusia saat ini.

Dalam teknologi informasi, biometrik biasanya merujuk kepada teknologi untuk mengukur

dan menganalisis karakteristik tubuh manusia seperti pemindai retina, pemindai iris,

pemindai sidik jari, pengenalan wajah dan pengenalan suara yang digunakan dalam proses

autentifikasi (pembuktian). Pengenalan wajah semakin diaplikasikan secara luas seperti di

handphone, keamanan dan ketertiban.

Pengenalan wajah diimplementasikan untuk keamanan pintu menggunakan algoritma

principal compenent analysis (PCA). Proses kerja pengenalan wajah diawali dengan

pengambilan pengambilan data wajah yang kemudian hasilnya diubah kedalam bentuk

grayscale dan selanjutnya di proses dengan metode PCA dengan menggunakan software

python. Hasil pemrosesan wajah yang diambil melalui webcam kemudian dibandingkan

dengan data di database dengan menggunakan jarak euclidean. Setelah itu hasil keluaran

berupa wajah siapa yang terkenali, servo akan bergerak membuka pintu dan LED merah

sebagai indikator pintu terkunci akan mati dan LED hijau sebagai indikator pintu terbuka

akan menyala.

Hasil implementasi pengenalan wajah untuk sistem keamanan pintu dengan

pengambilan data wajah testing melalui database mendapatkan keberhasilan 100%,

sedangkan untuk pengenalan wajah sistem keamanan pintu dengan pengambilan data wajah

testing secara real time belum dapat dikatakan aman karena persentase rata-rata keberhasilan

pada intensitas cahaya 138-141 lux tanpa menggunakan atribut adalah 45%, dengan

menggunakan atribut topi adalah 20% dan dengan menggunakan atribut kacamata adalah

25%, sedangkan persentase rata-rata keberhasilan pada intensitas cahaya 45-47 lux tanpa

menggunakan atribut adalah 30%, dengan menggunakan atribut topi adalah 25% dan dengan

menggunakan atribut kacamata adalah 50%.

Kata Kunci : Pengenalan Wajah, Princial Component Analysis

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 10: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

ix

ABSTRACT

The role of technology has been widely used in various aspects of human life today.

In information technology, biometrics are usually used to measure and analyze human

characteristics such as retinal scanners, iris scanners, fingerprint scanners, facial recognition

and voice recognition used in the authentication process. Facial recognition is increasingly

being applied to mobile phones, security and order. Face recognition is also applied by

several countries to facilitate population.

Face recognition is implemented for door security using the principal compenent

analysis (PCA) algorithm. The process of introducing faces begins with taking face data

which is then converted into grayscale form and then processed by the PCA method using

python software. The results of using faces taken through a webcam are then compared with

data in the database using euclidean distances. After that the output of the face is known, the

servo will be moved to open the door and the red LED as the door indicator will turn off and

the green LED as the door open indicator will be activated.

The results of the face recognition implementation for the door security system by

taking face data testing through the database got 100% success, while for face recognition

the door security system by taking face data testing in real time can not be said to be safe

because the average percentage of success at light intensity 138-141 lux without using the

attribute is 45%, using hat attribute is 20% and using glasses attribute is 25%, while the

average percentage of success rate at light intensity 45-47 lux without using the attribute is

30%, using hat attribute is 25% and using glasses attribute is 50%.

Keywords : Face Recognition ,Princial Component Analysis.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 11: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 12: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xi

DAFTAR ISI

PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU MENGGUNAKAN

RASPBERRY PI ......................................................................................................................... i

FACE RECOGNITION FOR DOOR SECURITY SYSTEM USING RASPBERRY PI .... ii

HALAMAN PERSETUJUAN ................................................................................................. iii

HALAMAN PENGESAHAN .................................................................................................. iv

PERNYATAAN KEASLIAN KARYA ................................................................................... v

HALAMAN PERSEMBAHAN DAN MOTTO HIDUP ....................................................... vi

HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK

KEPENTINGAN AKADEMIS ............................................................................................... vii

INTISARI ................................................................................................................................ viii

ABSTRACT .............................................................................................................................. ix

KATA PENGANTAR ............................................................................................................... x

DAFTAR ISI ............................................................................................................................. xi

DAFTAR GAMBAR .............................................................................................................. xiv

DAFTAR TABEL ................................................................................................................... xvi

BAB I PENDAHULUAN.......................................................................................................... 1

1.1. Latar Belakang ............................................................................................................ 1

1.2. Tujuan dan Manfaat .................................................................................................... 2

1.3. Batasan Masalah ......................................................................................................... 2

1.4. Metodologi Penelitian ................................................................................................. 2

BAB II DASAR TEORI ............................................................................................................ 5

2.1. WebCam....................................................................................................................... 5

2.2. Raspberry Pi 3............................................................................................................. 6

2.3. Python .......................................................................................................................... 7

2.4. Open CV ...................................................................................................................... 8

2.5. Motor Servo ................................................................................................................. 8

2.6. LED .............................................................................................................................. 9

2.7. GUI ............................................................................................................................ 10

2.8. Limit Switch ............................................................................................................... 12

2.9. Pengolahan Citra ....................................................................................................... 12

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 13: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xii

2.9.1. Citra Warna ........................................................................................................ 13

2.9.2. Citra Grayscale .................................................................................................. 13

2.9.3. Resizing .............................................................................................................. 14

2.10. Principal Component Analysis (PCA) ................................................................. 14

2.11. Jarak Euclidean ..................................................................................................... 17

2.12. Haar Cascade Classifier ............................................................................................ 17

2.13. Hukum Ohm .......................................................................................................... 19

BAB III RANCANGAN PENELITIAN ................................................................................ 20

3.1. Proses Kerja Sistem .................................................................................................. 20

3.2. Perancangan Perangkat Keras .................................................................................. 21

3.2.1. Desain Pintu ....................................................................................................... 21

3.2.2. LED ......................................................................................................................... 22

3.2.3. Limit Switch ....................................................................................................... 22

3.2.4. Mikro Servo ....................................................................................................... 23

3.2.5. WebCam ............................................................................................................. 24

3.3. Perancangan Perangkat Lunak ................................................................................. 24

3.3.1. Preprocessing .................................................................................................... 25

3.3.2. Processing .......................................................................................................... 26

3.3.3. Penentuan Keluaran........................................................................................... 31

BAB IV HASIL DAN PEMBAHASAN ................................................................................ 33

4.1. Perubahan Rancangan ............................................................................................... 33

4.1.1. Desain Pintu ....................................................................................................... 33

4.1.2. Rangkaian LED ................................................................................................. 34

4.1.3. Tampilan GUI .................................................................................................... 34

4.2. Hasil Implementasi ................................................................................................... 35

4.2.1. Implemetasi Perangkat Keras ........................................................................... 35

4.2.2. Cara Kerja Sistem .............................................................................................. 37

4.2.3. Pengujian Sistem Keamanan Pintu Dengan Pengenalan Wajah Orang Yang

Ada Di Database ............................................................................................................... 38

4.2.4. Pengujian Sistem Keamanan Pintu Dengan Pengenalan Wajah Orang Yang

Tidak Dikenali. ................................................................................................................. 44

4.2.5. Pembuatan Database ......................................................................................... 45

4.2.6. Perhitungan Database ........................................................................................ 47

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 14: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xiii

4.2.7. Perhitungan Jarak Euclidean. ........................................................................... 49

4.2.8. Mikro Servo ....................................................................................................... 50

BAB V KESIMPULAN DAN SARAN ................................................................................. 51

DAFTAR PUSTAKA .............................................................................................................. 52

LAMPIRAN ........................................................................................................................... L-1

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 15: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xiv

DAFTAR GAMBAR

Gambar 2.1. WebCam Logitech [8]. ......................................................................................... 5

Gambar 2.2. Raspberry pi 3 [11]. .............................................................................................. 6

Gambar 2.3. Raspberry Pi 3 pinout [12]. .................................................................................. 7

Gambar 2.4. Motor Servo TowerPro SG90 [15]. ..................................................................... 8

Gambar 2.5. Cara pengontrolan motor servo [16]. .................................................................. 9

Gambar 2.6. LED [17]. ............................................................................................................ 10

Gambar 2.7. Limit Switch [21]. ............................................................................................... 12

Gambar 2.8. Representasi citra RGB dan kanal penyusunnya [23]. ..................................... 13

Gambar 2.9. Contoh citra grayscale [23]. .............................................................................. 14

Gambar 2.10. Contoh hasil resizing [24]. ............................................................................... 14

Gambar 2.11. contoh matriks. ................................................................................................. 15

Gambar 2.12. Pengubahan matriks ke dalam bentuk vektor. ................................................ 15

Gambar 2.13. Gelombang Haar like features[30]. ................................................................. 18

Gambar 2.14. Contoh pencarian menggunakan Haar like features [29]. .............................. 18

Gambar 2.15. hasil deteksi wajah [29].................................................................................... 18

Gambar 3.1.Flowchart sistem secara keseluruhan. ................................................................ 20

Gambar 3.1.(Lanjutan) Flowchart sistem secara keseluruhan.............................................21

Gambar 3.2. (a) desain pintu bagian depan (b) desain pintu bagian dalam. ......................... 21

Gambar 3.3. Rangkaian LED. ................................................................................................. 22

Gambar 3.4. Rangkaian antara Limit Switch dan Raspberry pi. ........................................... 23

Gambar 3.5. (a) pulsa tinggi selama 1 ms (b) pulsa tinggi selama 1,5 ms (c) pulsa tinggi

selama 2 ms......................................................................................................... 23

Gambar 3.6. Rangkaian Mikro Servo ke Raspberry Pi.......................................................... 24

Gambar 3.7.blok diagram hubungan WebCam dan Raspberry pi. ....................................... 24

Gambar 3.8. Tampilan GUI. .................................................................................................... 25

Gambar 3.9. flowchart preprocessing. .................................................................................... 26

Gambar 3.10. flowchart processing. ..................................................................................... 276

Gambar 3.10. (Lanjutan) flowchart processing...................................................................27 Gambar 3.11. flowchart keluaran sistem. ............................................................................... 31

Gambar 4.1. Bagian Dalam Desain Pintu. .............................................................................. 33

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 16: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xv

Gambar 4.2. Perubahan Rangkaian LED. ............................................................................... 34

Gambar 4.3. Tampilan GUI. .................................................................................................... 34

Gambar 4.4. Tampilan Pintu Bagian Depan. .......................................................................... 35

Gambar 4.5. Tampilan Pintu Bagian Belakang. .................................................................... 36

Gambar 4.6. Bagian dalam Desain Pintu. ............................................................................... 37

Gambar 4.7. Pemberian Bentuk Kotak Pada Area Wajah. .................................................... 37

Gambar 4. 8. Pendeteksian Wajah Orang Yang Tidak Dikenal. ........................................... 44

Gambar 4.9. Program Penyimpanan Gambar. ........................................................................ 45

Gambar 4.10. Pemberian Bentuk Kotak di daerah wajah. ..................................................... 46

Gambar 4.11. Beberapa data wajah 1 orang dalam bentuk grayscale. ................................. 46

Gambar 4.12. Proses Pengambilan Gambar Database. .......................................................... 47

Gambar 4.13. Program Perhitungan Database. ...................................................................... 47

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 17: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

xvi

DAFTAR TABEL

Tabel 2.1. Widget Dalam TKinter [19]................................................................................... 11

Tabel 2.2. Warna dan nilai penyusun warna [22]. ................................................................. 13

Tabel 4.1. Tabel Hasil Pengenalan dan Nilai Jarak Euclidean. ......................................................38

Tabel 4.2. Hasil Pengujian Real Time Tanpa Atribut Dengan Intensitas Cahaya 138-141 lux. .......39

Tabel 4.3. Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas Cahaya 138-141

lux. ............................................................................................................................39

Tabel 4.3. (Lanjutan) Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas Cahaya

138-141 lux ................................................................................................................40

Tabel 4.4. Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan Intensitas Cahaya 138-141

lux. ..............................................................................................................................40

Tabel 4.4. (Lanjutan) Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan Intensitas

Cahaya 138-141 lux. ...................................................................................................41

Tabel 4.5. Persentase Keberhasilan Dengan Intensitas Cahaya 138-141 lux. .................................41

Tabel 4.6. Hasil Pengujian Real Time Tanpa Atribut Dengan Intensitas Cahaya 45-47 lux. ...........41

Tabel 4.6. (Lanjutan) Hasil Pengujian Real Time Tanpa Atribut engan Intensitas Cahaya 45-47

lux. .............................................................................................................................42

Tabel 4.7. Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas Cahaya 45-47 lux. 42

Tabel 4.8. Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan Intensitas Cahaya 45-47

lux. .............................................................................................................................43

Tabel 4.9. Persentase Keberhasilan Dengan Intensitas Cahaya 45-47 lux. .....................................43

Tabel 4.10. Hasil Perhitungan Jarak. ............................................................................................44

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 18: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Pada zaman sekarang, banyak sekali hal-hal yang berkembang pada bidang teknologi

seperti perkembangan pada perindustrian yang dimana proses pembuatannya semakin cepat

dan akurat yang dibantu oleh perkembangan robot pada proses produksi, perkembangan

pada dunia otomotif yang dimana sebuah mobil dapat bergerak sendiri tanpa pengemudinya,

contohnya adalah mobil google [1], perkembangan pada sistem pengenalan yang dimana

kebanyakan smartphone sudah menggunakan teknologi pengidentifikasian iris dan

fingerprint scanner [1]

Seiring berkembangnya teknologi, ada salah satu teknologi yang banyak digunakan

pada saat ini, yaitu sistem pengenalan yang berkaitan dengan pengukuran dan analisis data

biologis (biometrik) manusia, salah satu contohnya adalah proses identifikasi sidik jari pada

E-KTP, hal ini terjadi karena seseorang pernah memiliki banyak KTP yang menimbulkan

banyak masalah seperti kesalahan data yang tersimpan pada pemerintahan [2]. Dalam

teknologi informasi, biometrik biasanya merujuk kepada teknologi untuk mengukur dan

menganalisis karakteristik tubuh manusia seperti pemindai retina, pemindai iris, pemindai

sidik jari, pemindaian wajah dan pengenalan suara [3] yang digunakan dalam proses

autentifikasi (pembuktian).

Pada tahun 2016, Indonesia mempunyai kasus kejahatan sebanyak 357.197 kasus [4].

Angka ini masih terbilang banyak untuk sebuah kasus kejahatan di sebuah negara. Dalam

menangani kasus kejahatan yang masih banyak, pemerintah sudah berupaya untuk

menanggulangi kasus kejahatan tersebut dengan berbagai cara, seperti meningkatkan patroli

polisi pada sebuah kota. Kejahatan bisa datang setiap saat, untuk itu pencegahan merupakan

cara yang tepat untuk mengantisipasi tindak kejahatan. Oleh karena itu, tugas akhir ini

bertujuan untuk membuat sebuah sistem keamanan yang menekankan pada keamanan pada

sebuah pintu rumah yang dimana sistem tersebut menggunakan pengenalan wajah sebagai

kunci untuk membuka sebuah pintu rumah.

Adapaun penelitian mengenai sistem keamanan rumah dengan judul sistem pengaman

pintu rumah menggunakan sensor sidik jari yang dibuat oleh Idris Setiawan dari Universitas

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 19: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

2

Negeri Semarang [5]. Pada penelitian ini dibuat sebuah sistem yang dimana sebuah pintu

dapat terbuka jika proses identifikasi sebuah jari berhasil. Oleh karena itu, akan

dikembangkan sebuah sistem keamanan pintu yang dimana proses identifikasinya

menggunakan pengidentifikasian wajah.

1.2. Tujuan dan Manfaat

Tujuan dari tugas akhir ini adalah membuat suatu sistem yang dapat melakukan

pendeteksian wajah sebagai salah satu indikator keamanan pada sebuah pintu.

Manfaat dari tugas akhir ini adalah memaksimalkan sistem keamanan sebuah rumah

ataupun perindustrian yang minim penjagaan.

1.3. Batasan Masalah

Supaya Tugas Akhir ini bisa mengarah pada tujuan dan untuk menghindari terlalu

kompleksnya permasalahan yang muncul, maka perlu adanya batasan-batasan masalah yang

sesuai dengan judul Tugas Akhir ini. Adapun batasan masalahnya adalah :

1. Menggunakan kamera webcam 2 buah, webcam pertama untuk pengenalan wajah

pada saat masuk dan webcam kedua untuk pengenalan wajah pada saat keluar

pintu.

2. Menggunakan Raspberry pi 3 sebagai pengolahan data dan penampil.

3. Jumlah wajah yang tersimpan di dalam database maximum 4 orang.

4. Minimal menggunakan 2 atribut seperti topi dan kacamata.

5. Sebuah mikro servo SG90 yang akan berfungsi sebagai alat untuk membuka pintu.

6. LED merah sebagai indikator pintu terkunci.

7. LED hijau sebagai indikator pintu terbuka.

8. Limit switch untuk mengaktifkan indikator pintu tertutup.

1.4. Metodologi Penelitian

Berdasarkan pada tujuan yang ingin dicapai, metode-metode yang digunakan dalam

menyusun tugas akhir ini adalah :

1. Studi Literatur

Pengumpulan informasi dari berbagai sumber seperti buku, jurnal dan artikel di

internet yang berhubungan dengan tugas akhir.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 20: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

3

WebCam 1 Servo Pintu

LED

Limit Switch

WebCam 2 Raspberry

Pi 3

GUI

Database

Pengolahan

Citra

2. Perancangan Hardware dan Software

Tahap ini bertujuan untuk merancang desain sebuah miniatur pintu dan

pembuatan model sistem di Raspberry pi 3.

Gambar 1.1. Diagram Blok Perancangan.

Berdasarkan gambar 1.1, maka WebCam 1 dan WebCam 2 berfungsi sebagai

penangkap citra wajah, kemudian citra wajah tersebut akan diolah oleh program

yang sudah dibuat di raspberry pi 3. Apabila citra wajah yang ditangkap sesuai

dengan database, maka servo yang berfungsi sebagai pengunci pada pintu akan

terbuka dan LED yang berwarna hijau akan menyala dan LED berwarna merah

akan mati. Apabila pintu ditutup dan menyentuh limit switch, maka servo akan

kembali mengunci pintu dan LED berwarna merah akan menyal dan LED

berwarna hijau akan mati.

3. Pembuatan Hardware dan Software

Tahap ini bertujuan untuk membuat miniatur dan program sesuai dengan hasil

perancangan yang sudah dibuat.

4. Proses pengambilan data

Sebelum sistem diuji, dilakukan pengambilan data berupa wajah sebagai database

untuk mencocokkan data wajah yang diambil ketika sistem ini dijalankan. Hal

yang dilakukan pada saat pengujian berupa proses pengambilan citra wajah yang

dilakukan oleh WebCam, kemudian hasil penangkapan citra wajah yang dilakukan

oleh WebCam dicocokkan dengan data wajah yang ada di database, apabila proses

pencocokan dengan data wajah yang ada di database dikategorikan cocok, maka

pintu dapat terbuka dan LED berwarna hijau akan menyala dan jika tidak maka

pintu tetap terkunci dan LED berwarna merah akan menyala.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 21: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

4

5. Analisis dan penyimpulan data percobaan

Analisis dan penyimpulan diperoleh dari sistem yang telah diuji dengan cara

membandingkan tiap pengujian untuk melihat tingkat keberhasilan sistem.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 22: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

5

BAB II

DASAR TEORI

2.1. WebCam

Web camera (Webcam) merupakan sebuah perangkat eksternal yang berupa kamera

digital yang dihubungkan ke sebuah laptop ataupun komputer melalui sebuah port USB [6].

WebCam biasanya terdiri dari sebuah lensa yang berfungsi untuk mengambil gambar

ataupun video, sebuah kabel data yang berfungsi sebagai penghubung WebCam ke

komputer/laptop, cover sebagai wadah lensa beserta kabel data dan sensor gambar yang

berupa CMOS atau CCD [7]. Contoh WebCam dapat dilihat pada gambar 2.1.

Gambar 2.1. WebCam Logitech [8].

Salah satu hal yang mendukung bagus atau buruknya sebuah gambar yang ditangkap

oleh webcam adalah resolusi yang dimiliki oleh webcam tersebut. Resolusi merupakan

istilah yang digunakan untuk menyatakan jumlah titik atau pixel yang digunakan untuk

menampilkan suatu gambar [9]. Pixel sendiri merupakan bagian terkecil dari gambar yang

ditampilkan oleh perangkat-perangkat seperti monitor, televisi dan proyektor [9]. Resolusi

yang semakin tinggi berarti semakin banyak pixel yang digunakan untuk menyusun suatu

gambar, sehingga gambar dapat menjadi lebih jelas dan tajam [9]. Resolusi biasa ditulis

dengan format "banyak pixel secara horizontal × banyak pixel secara vertikal" [9].

Contohnya resolusi 1920×1080 berarti digunakan pixel sebanyak 2.073.600 untuk

menampilkan gambar, dengan 1920 pixel sebaris secara horizontal dan 1080 pixel sebaris

secara vertikal [9].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 23: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

6

2.2. Raspberry Pi 3

Raspberry pi adalah komputer mini yang dirancang dan diproduksi di Inggris dengan

tujuan awal untuk menyediakan perangkat komputasi yang murah untuk pendidikan.

Raspberry pi 3 adalah model terbaru dari raspberry pi. Raspberry pi 3 menggunakan

prosesor baru yaitu Broadcom BCM 283764 bit. Raspberry pi 3 juga merupakan model

pertama yang memiliki built-in wireless (mampu terhubung WiFi dan juga perangkat

bluetooth) [10]. Contoh raspberry pi 3 dapat dilihat pada gambar 2.2.

Gambar 2.2. Raspberry pi 3 [11].

Raspberry pi 3 mempunyai spesifikasi sebagai berikut [11]:

1. Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC @ 1.4GHz.

2. 1GB LPDDR2 SDRAM.

3. 2.4GHz and 5GHz IEEE 802.11.b/g/n/ac wireless LAN, Bluetooth 4.2, BLE.

4. Gigabit Ethernet melalui USB 2.0 (throughput maksimum 300 Mbps).

5. 40-pin GPIO.

6. HDMI ukuran penuh.

7. 4 port USB 2.0.

8. Port kamera CSI untuk menghubungkan kamera Raspberry Pi.

9. Port tampilan DSI untuk menghubungkan layar sentuh Raspberry Pi.

10. Output stereo 4-tiang dan port video komposit.

11. Port Micro SD untuk memuat sistem operasi dan menyimpan data.

12. 5V / 2.5A input daya DC.

13. Dukungan Power-over-Ethernet (PoE) (memerlukan PoE HAT terpisah).

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 24: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

7

Raspberry Pi 3 terdapat 40 pin yang terbagi atas VCC, GND dan GPIO yang letaknya

dapat dilihat pada gambar 2.3.

Gambar 2.3. Raspberry Pi 3 pinout [12].

2.3. Python

Python adalah bahasa tingkat tinggi yang berarti bahwa kode python ditulis dalam

bahasa Inggris yang dapat dikenali, sehingga perintah-perintah dapat dengan mudah

dipelajari dan mudah diikuti [10]. Python merupakan bahasa pemrograman tingkat tinggi

yang ditafsirkan, berorientasi objek, dengan semantik dinamis yang dibangun dalam struktur

data, dikombinasikan dengan pengetikan dinamis dan pengikatan dinamis, membuat python

sangat menarik untuk pengembangan aplikasi cepat, serta digunakan sebagai bahasa

scripting untuk menghubungkan komponen yang ada bersama-sama. Sintaksis Python yang

sederhana dan mudah dipelajari menekankan keterbacaan dan karenanya mengurangi biaya

pemeliharaan program. Python mendukung modul dan paket, yang mendorong modularitas

program dan penggunaan kembali kode. Interpreter Python dan pustaka standar yang luas

tersedia dalam bentuk sumber atau biner tanpa biaya untuk semua platform utama, dan dapat

didistribusikan secara bebas [13].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 25: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

8

2.4. Open CV

OpenCV (Open Source Computer Vision) adalah sebuah library (perpustakaan) yang

digunakan untuk mengolah gambar dan video hingga kita mampu mengekstrak informasi

didalamnya [14]. OpenCV dapat berjalan di berbagai bahasa pemograman, seperti C, C++,

Java, Python, dan juga support diberbagai platform seperti Windows, Linux, Mac OS, iOS

dan Android [14].

Computer Vision sendiri merupakan sebuah cabang dari bidang ilmu pengolahan

citra. Teknologi Computer Vision sendiri sudah diterpakan diberbagai bidang kehidupan

seperti pengenalan sebuah objek, pengenalan plat nomor kendaraan di jalan dan

pengidentifikasian wajah seseorang.

2.5. Motor Servo

Motor servo adalah jenis aktuator elektromekanis yang tidak berputar secara kontinu

seperti motor DC/AC atau motor stepper. Motor servo digunakan untuk posisi dan

memegang beberapa objek. Motor jenis ini digunakan dimana rotasi kontinu tidak

diperlukan sehingga tidak digunakan untuk mengendalikan roda. Motor servo digunakan

dimana sesuatu yang dibutuhkan pindah ke posisi tertentu, kemudian berhenti dan bertahan

pada posisi tersebut. Hal yang paling umum dari penggunaan motor servo adalah digunakan

untuk posisi kemudi pesawat terbang, kapal dan lain-lain. Motor servo dapat digunakan

secara efektif karena tidak perlu bergerak 360 derajat penuh atau tidak memerlukan rotasi

terus-menerus seperti roda [10].

Motor servo TowerPro SG90 adalah sebuah servo kecil dengan output power yang

tinggi. Motor ini dapat berotasi sekitar 180 derajat dan bisa bekerja seperti servo standar

lainnya [10]. Bentuk fisik dari motor servo TowerPro SG90 dapat ditunjukkan pada gambar

2.4.

Gambar 2.4. Motor Servo TowerPro SG90 [15].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 26: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

9

Pada motor servo, pemberian nilai PWM akan membuat motor servo bergerak pada

posisi tertentu lalu berhenti (kontrol posisi) [16]. Cara pengontrolan motor servo dapat

ditunjukkan pada gambar 2.5.

Gambar 2.5. Cara pengontrolan motor servo [16].

Prinsip utama pada pengontrolan motor servo adalah pemberian nilai PWM pada

kontrolnya. Perubahan duty cycle akan menentukan perubahan posisi dari motor servo.

Frekuensi PWM yang digunakan pada pengontrolan motor servo selalu mempunyai

frekuensi 50 Hz sehingga pulsa yang dihasilkan setiap 20 ms. Lebar pulsa pengontrolan

menentukan posisi servo yang dikehendaki. Seperti contoh pada gambar 2.5. yaitu untuk

menggerakkan servo ke posisi 900, maka dengan cara memberikan pulsa high selama 1,5 ms

dan pulsa low selama 18,5 ms [16].

2.6. LED

Light Emitting Diode atau sering disingkat dengan LED adalah komponen elektronika

yang dapat memancarkan cahaya monokromatik ketika diberikan tegangan maju [17]. LED

biasanya dipakai untuk indikator peralatan elektronik, papan iklan,pemancar infra merah

pada remote kontrol televisi, dan masih banyak lagi. Contoh LED dapat dilihat pada gambar

2.5. Pada tugas akhir ini, LED hanya berfungsi sebagai indikator kondisi pintu terkunci dan

terbuka.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 27: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

10

Gambar 2.6. LED [17].

2.7. GUI

GUI adalah antarmuka pada sistem operasi yang menggunakan tampilan grafis, dapat

dikendalikan menggunakan beberapa macam alat input, seperti mouse, keyboard,

touchscreen dan lain-lain [18]. Pada GUI biasanya terdapat menu dan tombol yang didesain

oleh pengguna supaya pengguna lebih mudah dalam berinteraksi dengan sebuah sistem

operasi yang dijalankan. Beberapa contoh sistem operasi berbasis GUI adalah windows,

Macintosh, Ubuntu, RedHat dan Android [18].

GUI memiliki beberapa kelebihan, yaitu [18] :

1. Desain menarik dan user friendly

2. Tidak membosankan.

3. Tidak perlu mengingat baris dan perintah

Selain memiliki kelebihan, GUI juga memiliki beberapa kekurangan, yaitu [18] :

1. Kebutuhan spesifikasi hardware lebih besar.

2. Performa lebih berat.

Tkinter adalah pustaka GUI standar untuk Python. Python apabila dikombinasikan

dengan Tkinter, menyediakan cara cepat dan mudah untuk membuat aplikasi GUI. Tkinter

menyediakan antarmuka berorientasi objek yang kuat ke toolkit Tk GUI. Membuat aplikasi

GUI menggunakan Tkinter adalah hal yang mudah, yang perlu dilakukan adalah sebagai

berikut [19] :

1. Import modul Tkinter.

2. Buat jendela utama aplikasi GUI.

3. Tambahkan satu atau lebih widget yang disebutkan di atas ke aplikasi GUI.

4. Masukkan loop acara utama untuk mengambil tindakan terhadap setiap acara yang

dipicu oleh pengguna.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 28: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

11

Tkinter menyediakan beberapa kontrol seperti tombol, label dan kotak teks yang

digunakan dalam aplikasi GUI. Kontrol tersebut biasanya disebut dengan widget. Saat ini

ada 15 tipe widget di dalam Tkinter. Macam-macam widget tersebut dapat dilihat dalam tabel

2.1.

Tabel 2.1. Widget Dalam TKinter [19].

No. Operator Diskripsi

1. Button Widget Tombol digunakan untuk menampilkan tombol

di aplikasi.

2. Canvas

Widget kanvas digunakan untuk menggambar bentuk,

seperti garis, oval, poligon, dan persegi panjang, dalam

aplikasi.

3. Checkbutton

Widget Checkbutton digunakan untuk menampilkan

sejumlah opsi sebagai kotak centang. Pengguna dapat

memilih beberapa opsi sekaligus.

4. Entry Widget Entri digunakan untuk menampilkan bidang teks

satu baris untuk menerima nilai dari pengguna.

5. Frame Widget Bingkai digunakan sebagai widget wadah untuk

mengatur widget lainnya.

6. Label

Widget Label digunakan untuk memberikan keterangan

satu baris untuk widget lainnya. Selain itu juga bisa

memuat gambar.

7. Listbox Widget Listbox digunakan untuk memberikan daftar

opsi kepada pengguna.

8. Menubutton Widget Menubutton digunakan untuk menampilkan

menu di aplikasi.

9. Menu Widget Menu digunakan untuk menyediakan berbagai

perintah kepada pengguna. Perintah-perintah ini ada di

dalam Menubutton.

10. Message Widget Pesan digunakan untuk menampilkan bidang

teks multiline untuk menerima nilai dari pengguna.

11. Radiobutton

Widget Radiobutton digunakan untuk menampilkan

sejumlah opsi sebagai tombol radio. Pengguna hanya

dapat memilih satu opsi pada satu waktu.

12. Scale Widget Skala digunakan untuk menyediakan widget

slider.

13. Scrollbar

Widget Scrollbar digunakan untuk menambahkan

kemampuan gulir ke berbagai widget, seperti kotak

daftar.

14. Text Widget Teks digunakan untuk menampilkan teks dalam

beberapa baris.

15. Toplevel Widget Toplevel digunakan untuk menyediakan wadah

jendela terpisah.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 29: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

12

2.8. Limit Switch

Limit switch adalah jenis saklar yang dilengkapi dengan sebuah katup. Katup tersebut

berfungsi untuk menggantikan tombol. Cara kerja limit switch sebenarnya tak jauh berbeda

dibandingkan dengan saklar push on. Limit switch akan menghubungkan arus listrik pada

saat katup ditutup dalam batas tertentu dan pada saat katup tersebut tidak ditekan, maka arus

listrik juga akan ikut putus. Limit switch dapat diatur dalam dua mode yakni bisa diatur saat

katup ditekan rangkaian akan nyala (normally open), atau saat katup ditekan rangkaian akan

mati (normally close) [20].

Pada umumnya limit switch digunakan untuk berbagai macam keperluan seperti

memutus atau menghubungkan sebuah rangkaian menggunakan objek atau benda yang lain,

menghidupkan daya besar dengan sarana yang kecil, serta dapat digunakan pula sebagai

sensor posisi untuk melihat kondisi suatu objek [20]. Contoh limit switch dapat dilihat pada

gambar 2.6.

Gambar 2.7. Limit Switch [21].

2.9. Pengolahan Citra

Pengolahan citra adalah istilah umum untuk berbagai teknik yang keberadaannya

untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Secara umum, istilah

pengolahan citra digital menyatakan pemrosesan gambar berdimensi dua melalui komputer

digital. Foto adalah contoh gambar berdimensi 2 yang dapat dapat diolah dengan mudah.

Pengolahan citra merupakan bagian penting yang mendasari berbagai aplikasi nyata, seperti

pengenalan pola, penginderaan jarak jauh melalui satelit atau pesawat udara dan machine

vision [22].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 30: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

13

2.9.1. Citra Warna

Citra warna atau citra RGB merupakan jenis citra yang menyajikan warna dalam

bentuk komponen R (merah), G (hijau) dan B (biru). Setiap komponen warna menggunakan

8 bit (nilainya berkisar antara 0-255), sehingga kemungkinan warna yang dapat disajikan

mencapai 16.581.375 warna. Tabel 2.2. menunjukkan contoh warna dan nilai R,G dan B.

Tabel 2.2. Warna dan nilai penyusun warna [22].

Warna R G B

Merah 255 0 0

Hijau 0 255 0

Biru 0 0 255

Hitam 0 0 0

Putih 255 255 255

Kuning 0 255 255

Representasi citra RGB dan masing-masing kanal warna penyusunnya dapat dilihat

pada gambar 2.8.

Gambar 2.8. Representasi citra RGB dan kanal penyusunnya [23].

2.9.2. Citra Grayscale

Citra grayscale merupakan citra yang nilai intensitas pikselnya didasarkan pada

derajat keabuan. Pada citra grayscale 8-bit, derajat warna hitam sampai dengan putih dibagi

ke dalam 256 derajat keabuan di mana warna hitam sempurna direpresentasikan dengan nilai

0 dan putih sempurna dengan nilai 255 [23]. Pada umumnya citra RGB dapat dikonversikan

ke citra grayscale dengan menggunakan persamaan (2.1) [23] :

𝐺𝑟𝑎𝑦𝑠𝑐𝑎𝑙𝑒 = 0.2989 ∗ R + 0.5870 ∗ G + 0.1140 ∗ B (2.1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 31: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

14

dengan grayscale adalah nilai intensitas citra grayscale, R adalah nilai intensitas piksel pada

kanal merah, G adalah nilai intensitas piksel pada kanal hijau dan B adalah nilai intensitas

piksel pada kanal biru [23]. Contoh citra grayscale dapat dilihat pada gambar 2.9.

Gambar 2.9. Contoh citra grayscale [23].

2.9.3. Resizing

Resizing merupakan proses pengubahan citra digital, hal ini diperlukan agar citra

digital memiliki ukuran yang sama. Contoh hasil resizing dapat dilihat pada gambar 2.10.

Gambar 2.10. Contoh hasil resizing [24].

2.10. Principal Component Analysis (PCA)

Principal Componen Analysis (PCA) adalah sebuah cara untuk mengidentifikasi pola

pada data dan kemudian mengekspresikan data tersebut ke bentuk yang lain untuk

menunjukkan perbedaan dan persamaan antar pola. Tujuan dari PCA adalah untuk

mereduksi dimensi yang besar dari ruang data (observed variables) menjadi dimensi yang

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 32: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

15

dengan 30 adalah kolom.

lebih kecil dari ruang fitur (independent variables), yang dibutuhkan untuk mendeskripsikan

data lebih sederhana. Ruang fitur adalah ciri yang digunakan sebagai kriteria dalam

pengklasifikasian [25].

Proses ini memiliki beberapa langkah, yaitu [26]:

a. Menangkap citra wajah dan mengubah citra wajah ke dalam bentuk citra RGB,

setelah di bentuk kedalam citra RGB, kemudian diubah ke dalam bentuk citra

grayscale.

b. Pembentukan matriks data citra wajah

Langkah kedua yang dilakukan adalah membentuk matriks berukuran sama

(MxN) dari data citra dengan mengambil data pixel setiap citranya. Citra

berukuran MxN dengan M adalah jumlah kolom sedangkan N adalah jumlah baris.

Bentuk matriks dapat dilihat pada gambar 2.11.

𝑥 = [

𝑋11 𝑋12𝑋21 …

… 𝑋140… 𝑋240… …

𝑋301 𝑋302 … … … 𝑋3040

]

Gambar 2.11. contoh matriks.

c. Mengubah dimensi citra wajah menjadi vektor berukuran M2 x 1. Bentuk vektor

dapat dilihat pada gambar 2.12.

V =

[ 𝑋11𝑋12𝑋21𝑋22𝑋31…

𝑋𝑀𝑁]

Gambar 2.12. Pengubahan matriks ke dalam bentuk vektor.

d. Mencari nilai rata-rata dari matriks yang sudah diubah kedalam bentuk vektor.

Hal ini bertujuan untuk untuk mengetahui noise yang dapat mengurangi tingkat

keakuratan didalam perhitungan PCA, yang dapat dihitung dengan menggunakan

rumus:

�̅� (𝑟𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 𝑚𝑎𝑡𝑟𝑖𝑘𝑠) = ∑𝑉

M (2.2)

dengan 40

adalah

baris

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 33: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

16

Keterangan :

X̅ = Rata-rata matriks yang sudah diubah kedalam bentuk vektor.

∑V = Jumlah matriks vektor.

M = Jumlah kolom matriks vektor.

e. Mengurangkan setiap matriks citra wajah dengan rata-rata

Berfungsi untuk menghilangkan noise yang dapat menganggu keakuratan pada

perhitungan PCA. Perhitungan ini dapat dimodelkan menggunakan persamaan:

ϕ = V − �̅�

Keterangan :

ϕ = Hasil pengurangan matriks citra wajah dengan rata-rata.

V = Matriks vektor.

X̅ = Rata-rata matriks yang sudah diubah ke dalam bentuk vektor.

f. Membangun matriks kovarian

Hasil perhitungan nilai rata-rata nol (zero mean) digunakan untuk mendapatkan

nilai matriks kovarian.

𝐶 =1

𝐴 − 1ϕ𝑇ϕ

Keterangan :

C = Matriks kovarian..

A = Jumlah kolom pada ϕ.

ϕT = Hasil pengurangan matriks citra wajah dengan rata-rata yang di transpose.

ϕ = Hasil pengurangan matriks citra wajah dengan rata-rata

g. Menghitung eigenvalue dan eigenvector

Dengan menggunakan rumus :

|𝐶ui− 𝜆ui| = 0

Eigenvalue (𝜆) = Det (𝜆I -C) = 0

Eigenvektor (ui) = (C – 𝜆I) ui = 0

Keterangan :

C = Matriks kovarian.

I = Matriks identitas.

(2.3)

(2.5)

(2.4)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 34: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

17

h. Pencarian eigenface (µ) untuk proses pengenalan wajah

Dengan menggunakan rumus :

𝐸𝑖𝑔𝑒𝑛𝑓𝑎𝑐𝑒 (𝜇) = ∑ uϕ

M

i=1

Keterangan :

ϕ = Hasil pengurangan matriks citra wajah dengan rata-rata

u = Eigenvektor.

2.11. Jarak Euclidean

Metode Euclidean adalah suatu metode pencarian kedekatan nilai jarak dari 2 buah

variabel, selain mudah metode ini juga tidak memakan waktu dan proses yang cepat.

Euclidean adalah fungsi heuristik yang diperoleh berdasarkan jarak langsung bebas

hambatan seperti untuk mendapatkan nilai dari panjang garis diagonal pada segitiga [27].

Jika ingin menghitung jarak Euclidean 1 dimensi dapat dimisalkan dengan mendapatkan

titik pertama adalah 4 dan titik kedua adalah -10. Hal pertama yang harus dilakukan adalah

kurangkan -10 dengan 4. sehingga menghasilkan -14. Cari nilai absolut dari nilai -14 dengan

cara mempangkatkan -14, sehingga mendapat nilai 196, kemudian diakarkan sehingga

mendapatkan nilai 14. Sehingga jarak euclidean dari 2 titik tersebut adalah 14 [27].

Pada 2 dimensi cara yang dilakukan hampir sama, tetapi sebelum mendapatkan hasil

kedua titik harus direpresentasikan ke dalam koordinat 2 dimensi (x, y). Dua buah titik p1 =

(x1, y1) dan p2 = (x2, y2) menjadi persamaan berikut (rumus Euclidian) [27]:

𝐸𝑢𝑐𝑙𝑖𝑑𝑒𝑎𝑛 𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒(𝑑) = √(𝑋2 − 𝑋1)2 + (𝑌2 − 𝑌1)

2

2.12. Haar Cascade Classifier

Prinsip Haar-like features adalah mengenali obyek berdasarkan nilai sederhana dari

fitur tetapi bukan merupakan nilai piksel dari image obyek tersebut. Metode ini memiliki

kelebihan yaitu komputasinya sangat cepat, karena hanya bergantung pada jumlah piksel

dalam persegi bukan setiap nilai piksel dari sebuah image [28]. Metode ini menggunakan

haar-like features dimana perlu dilakukan training terlebih dahulu untuk mendapatkan suatu

keputusan dengan nama cascade classifier sebagai penentu apakah ada obyek atau tidak

dalam tiap frame yang diproses [29]. Haar Feature sendiri merupakan fitur yang didasarkan

(2.6)

(2.7)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 35: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

18

pada gelombang kotak. Pada 2 dimensi, gelombang kotak adalah pasangan persegi yang

bersebelahan, yaitu 1 terang dan 1 gelap [30]. Gambar gelombang dapat dilihat pada gambar

2.13.

Gambar 2.13. Gelombang Haar like features[30].

contoh pencarian dengan gelombang haar like features dapat dilihat pada gambar 2.14.

Gambar 2.14. Contoh pencarian menggunakan Haar like features [29].

Semakin banyak proses haar like feature yang dilakukan, makan akan semakin akurat

hasil yang dicapai, sehingga pemrosesan haar like feature yang banyak tersebut diorganisir

di dalam cascade classifier. Proses pertama yang dilakukan pada cascade classifier adalah

tiap subcitra akan diklasifikasi menggunakan satu fitur, jika hasil nilai fitur dari filter tidak

memenuhi kriteria yang diinginkan, maka hasil ditolak, sehingga algoritma kemudian

bergerak ke sub window selanjutnya dan menghitung nilai fitur kembali, jika didapatkan

hasil yang sesuai, maka dilanjutkan ke tahap filter selanjutnya sampai jumlah sub window

yang lolos klasifikasi pun akan berkurang [29]. Hasil dari filter proses cascade classifier

dapat dilihat pada gambar 2.15.

Gambar 2.15. hasil deteksi wajah [29].

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 36: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

19

2.13. Hukum Ohm

Hukum ohm menyatakan besar arus yang mengalir melalui sebuah penghantar atau

konduktor akan berbanding lurus dengan tegangan dan berbanding terbalik dengan

hambatan. Secara matematis hukum ohm dapat dirumuskan :

V = I x R

Keterangan :

V = Tegangan (Volt)

I =Arus (A)

R = Hambatan (ohm)

(2.8)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 37: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

20

BAB III

RANCANGAN PENELITIAN

3.1. Proses Kerja Sistem

Perancangan sistem ini secara keseluruhan terdiri dari 2 buah WebCam yang dimana

WebCam berfungsi untuk menangkap wajah dan memprosesnya. Proses pengolahan data

wajah terjadi di dalam raspberry pi 3 dengan database wajah yang sudah terdaftar akan

dibandingkan dengan wajah yang ditangkap dengan WebCam. Apabila hasil perbandingan

sudah bisa dikategorikan cocok, maka servo yang berfungsi sebagai kunci pintu akan

bergerak supaya pintu bisa terbuka, LED berwarna hijau akan menyala dan LED berwarna

merah akan mati. Apabila pintu ditutup dan pintu meyentuh limit switch,maka servo akan

bergerak untuk mengunci pintu kembali dan LED berwarna merah akan menyala, sedangkan

LED berwarna hijau akan mati. Pada gambar 3.1. menunjukkan cara kerja sistem secara

keseluruhan.

Gambar 3.1.Flowchart sistem secara keseluruhan.

Ya

Mulai

Inisialisai

Deteksi Wajah

Sesuai

database?

Pintu terbuka & LED Hijau

Pintu terkunci &

LED Merah

Tidak

A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 38: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

21

Gambar 3.1.(Lanjutan) Flowchart sistem secara keseluruhan.

3.2. Perancangan Perangkat Keras

3.2.1. Desain Pintu

(a) (b)

Gambar 3.2. (a) desain pintu bagian depan (b) desain pintu bagian dalam.

Pada sistem ini, telah dibuat contoh desain sebuah ruangan yang memiliki pintu,

yang dimana pada gambar 3.2.(a) disebelah pintu terdapat beberapa komponen, yaitu LED

merah, LED hijau dan WebCam 1, pada gambar 3.2.(b) merupakan bentuk desain secara

keseluruhan dan pada gambar 3.2.(c) disebelah pintu terdapat beberapa komponen, yaitu

LED merah, LED hijau, WebCam 2 dan mikro servo. Desain luar memiliki ukuran 60x5x25

cm, sedangkan desain pintu memiliki ukuran 12x20 cm.

Selesai

Pintu ditutup dan

menekan limit switch

Servo bergerak mengunci

pintu

A

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 39: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

22

3.2.2. LED

Pada sistem ini, LED berfungsi sebagai indikator untuk mengetahui pintu terkunci atau

terbuka. LED yang dipakai berupa LED berwarna merah dan hijau. LED berwarna merah

berfungsi untuk mengetahui pintu dalam keadaan terkunci, sedangkan LED berwarna hijau

berfungsi untuk mengetahui pintu dalam keadaan terbuka. LED yang dipakai pada sistem ini

adalah LED berwarna merah yang memerlukan tegangan ±1,8 volt dan LED berwarna hijau

yang memerlukan tegangan ±2,6 volt, sedangkan arus yang dibutuhkan ±20mA. Gambar

rangkaian antara raspberry dan LED dapat dilihat pada gambar 3.3.

Gambar 3.3. Rangkaian LED.

Dengan merujuk pada rumus 2.9, maka dapat ditentukan nilai minimal resitor yang

akan dipakai untuk dihubungkan dengan LED, yaitu :

R = V / I = 3,3 V / 10 mA = 330 ohm

nilai 3,3 V merupakan keluaran dari raspberry pi , sedangkan nilai 10 mA digunakan karena

keluaran arus dari raspberry pi maksimal adalah 16 mA per pin, jadi digunakan arus dengan

nilai 10 mA sebagai nilai perhitungan untuk mendapatkan nilai resistor yang akan

digunakan.

3.2.3. Limit Switch

Pada sistem ini, limit switch berfungsi sebagai indikator untuk mengaktifkan mikro

servo supaya kembali ke posisi semula, yang dimana limit switch ini bekerja apabila pintu

dibuka dan kemudian pintu ditutup kembali, pintu tersebut berhasil menekan limit switch.

Gambar rangkaian antara raspberry pi dengan limit switch dapat dilihat pada gambar 3.4.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 40: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

23

GPIO 5 (pin 29) disambungkan dengan COM pada switch, NO pada switch dihubungkan

dengan 3,3 volt dan NC pada switch dihubungkan dengan GND.

Gambar 3.4. Rangkaian antara Limit Switch dan Raspberry pi.

3.2.4. Mikro Servo

Pada sistem ini, mikro servo digunakan sebagai pengunci pintu yang dimana mikro

servo tersebut disambungkan ke raspyberry pi, kemudian didalam raspberry pi dibuat

program untuk menggerakkan mikro servo tersebut. Mikro servo dapat digerakkan dengan

cara diberikan pulsa lewat raspberry pi, jika pulsa tinggi selama 1 milidetik, maka sudut

servo akan menjadi nol, jika pulsa tinggi selama 1,5 milidetik, maka akan berada di posisi

tengah dan jika pulsa tinggi selama 2 milidetik, maka akan berada pada 180 derajat. Contoh

posisi servo dapat dilihat pada gambar 3.5.

(a) (b) (c)

Gambar 3.5. (a) pulsa tinggi selama 1 ms (b) pulsa tinggi selama 1,5 ms (c) pulsa tinggi

selama 2 ms.

Gambar rangkaian antara mikro servo dengan raspberry pi dapat dilihat pada gambar

3.6 yang dimana pin 11 (GPIO 17) adalah pemberi nilai PWM dan sumber tegangan servo

berasal dari power supply bertegangan 5 volt.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 41: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

24

Gambar 3.6. Rangkaian Mikro Servo ke Raspberry Pi.

Berdasarkan gambar 3.6, servo membutuhkan tegangan 6 volt dan arus sebesar 550

mA untuk menggerakkan servo, maka merujuk pada rumus 2.9, dapat dicari nilai minimal

resistor yang dibutuhkan, yaitu :

R = V / I = 6 V / 0,55 A = 10,91 ohm

3.2.5. WebCam

Pada sistem ini, WebCam digunakan untuk mengambil citra dari wajah seseorang

yang kemudian hasil dari pengambilan citra tersebut akan di proses didalam raspberry pi.

Rangkaian antara WebCam dan Raspberry pi sangat sederhana karena WebCam yang dipakai

adalah USB WebCam, sehingga WebCam dapat disambung langsung ke USB yang ada pada

Raspberry Pi. Blok diagram hubungan antara raspberry pi dan webcam dapat di lihat pada

gambar 3.7.

Gambar 3.7.blok diagram hubungan WebCam dan Raspberry pi.

3.3. Perancangan Perangkat Lunak

Pada sistem ini ,dirancang sebuah tampilan untuk mempermudah pengguna dalam

mengambil gambar. Pada GUI tersebut dirancang supaya memiliki 4 tombol, yaitu :

a. Mulai yang berfungsi untuk memulai program.

b. Selesai yang berfungsi untuk memberhentikan program.

c. Capture 1 berfungsi untuk menangkap gambar melalui WebCam 1.

d. Capture 2 berfungsi untuk menangkap gambar melalui WebCam 2.

USB Raspberry

pi WebCam

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 42: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

25

Tampilan GUI yang akan dirancang dapat dilihat pada gambar 3.8.

Gambar 3.8. Tampilan GUI.

Hal yang dilakukan pertama kali dalam GUI adalah dengan menekan tombol mulai,

maka program akan mulai bekerja dan WebCam akan aktif. Pada saat WebCam aktif, maka

posisi wajah yang akan dikenali harus ada di depan WebCam dengan jarak kurang lebih 30

cm sampai 40 cm dari WebCam. Ketika wajah sudah berada di posisi yang sesuai,

selanjutnya menekan tombol capture yang berfungsi sebagai menangkap citra wajah dan

memproses citra wajah yang di capture. Apabila proses yang diinginkan sudah sesuai, maka

dengan menekan tombol selesai program akan berhenti dieksekusi.

3.3.1. Preprocessing

Preprocessing dilakukan untuk memeriksa hasil penangkapan citra wajah yang

dilakukan oleh WebCam. Apabila citra wajah yang ditangkap terlalu jauh, maka akan

dilakukan proses cropping dan resize. Cropping dilakukan apabila wajah yang tertangkap

melalui WebCam terlalu jauh dan setelah dilakukan proses cropping,maka akan dilanjutkan

dengan proses resize, yang dimana ukuran citra hasil cropping akan diubah ukurannya

menjadi 80x80. Setelah melakukan proses cropping maupun resize, hal yang dilakukan

selanjutnya adalah untuk mengubah citra yang ditangkap oleh WebCam ke dalam bentuk

citra RGB, citra yang sudah diubah ke dalam bentuk citra RGB akan diubah kembali ke

dalam bentuk citra grayscale. Proses preprocessing dapat dilihat pada gambar 3.9.

Gambar dari

WebCam 1

Mulai Selesai

Capture

1

Gambar dari

WebCam 2

Capture

2

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 43: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

26

Gambar 3.9. flowchart preprocessing.

3.3.2. Processing

Processing adalah tahapan yang akan dilakukan setelah tahap preprocessing.

Processing merupakan proses utama yang akan dijalankan sebagai penentu sistem keamanan

yang akan dipasang. Semakin teliti dalam processing, maka semakin baik juga sistem

keamanan yang dibuat. Dalam processing terdiri dari berbagai tahapan yang dimana setelah

melakukan preprocessing, maka akan dilanjutkan dengan perhitungan dengan metode PCA.

Perhitungan tersebut dilakukan terhadap citra wajah yang ditangkap oleh WebCam supaya

hasilnya bisa dicocokkan dengan hasil perhitungan yang telah dilakukan terhadap kumpulan

citra wajah yang ada di database. Tahapan processing dapat dilihat pada gambar 3.10.

Gambar 3.10. flowchart processing.

Mulai

Mempersiapkan database wajah

yang akan diuji

Mulai

Haar Cascade Classifier

Konversi ke citra RGB

Konversi citra RGB ke citra grayscale

Selesai

Menangkap citra wajah

B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 44: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

27

Gambar 3.10. (Lanjutan) flowchart processing. Tahapan pertama dalam flowchart tersebut adalah mulai, yang dimana program

sudah mulai berjalan ketika tombol capture pada GUI ditekan. Setelah citra wajah berhasil

ditangkap, maka proses selanjutnya mengubah data-data citra menjadi data matrik,

kemudian data matriks tersebut diubah ke dalam bentuk vektor. Setelah diubah kedalam

bentuk vektor, maka proses berlanjut ke perhitungan rata-rata vektor wajah, yang dimana

hal tersebut dapat mengurangi noise yang terdapat dalam citra wajah. Setelah mendapatkan

rata-rata, maka data wajah asli dikurangkan dengan rata-rata supaya noise yang terdapat

dalam citra wajah dapat dihilangkan. Kemudian perhitungan berlanjut sampai perhitungan

eigenface yang dimana perhitungan tersebut berguna dalam perhitungan euclidean dengan

Menghitung matriks kovarian

Mempersiapkan data wajah yang

ditangkap oleh WebCam

Menghitung rata-rata vektor wajah

Kurangi vektor wajah rata-rata

dari wajah asli

Menghitung eigenvalue dan

eigenvector dari matriks kovarian

Menghitung jarak euclidean antara vektor citra yang

ditangkap dan vektor citra dalam database.

Menemukan kelas wajah dengan jarak euclidean minimum yang

menunjukkan kemiripan dengan citra yang ditangkap.

Selesai

B

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 45: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

28

cara mencari selisih terkecil antara eigenface citra wajah hasil penangkapan WebCam

dengan citra wajah yang terdapat di dalam database.

3.3.2.1. Perhitungan dalam processing

Hal pertama kali yang dilakukan setelah mengambil gambar dari WebCam adalah

mengubah gambar tersebut ke dalam bentuk matriks. Bentuk matriks pada gambar dapat

dimisalkan sebagai berikut.

X1 = [2 3 41 3 76 4 9

]

X2 = [5 3 71 1 70 4 2

]

X3 = [2 3 41 3 54 4 7

]

dengan X1 adalah matriks gambar pertama, X2 adalah matriks gambar kedua dan X3 adalah

matriks gambar ketiga.

Setelah mendapatkan bentuk matriks tersebut, maka langkah selanjutnya adalah

mengubah matriks tersebut kedalam bentuk vektor

V1 =

[ 234137649]

,V2 =

[ 537117042]

,V3 =

[ 234135447]

dengan V1 adalah vektor dari matriks X1, V2 adalah vektor dari matriks X2 dan V3 adalah

vektor dari matriks ketiga.

Setelah mengubah ke dalam bentuk vektor, langkah selanjutnya adalah mencari rata-

rata tiap vektor. Hal ini bertujuan untuk untuk mengetahui noise yang dapat mengurangi

tingkat keakuratan didalam perhitungan.

𝑉1̅̅̅̅ = ∑𝑉1

𝑀=

39

9= 4,33

𝑉2̅̅̅̅ = ∑𝑉2

𝑀=

30

9= 3,33

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 46: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

29

𝑉3̅̅̅̅ = ∑𝑉3

𝑀=

33

9= 3,67

Setelah mendapatkan rata-rata tersebut, maka kurangkan nilai vektor asli dengan rata-

rata yang sudah didapatkan. Hal ini berfungsi untuk menghilangkan noise yang dapat

menganggu keakuratan perhitungan.

ϕ1 =

[ −2,33

−1,33−0,33

−3,33−1,33

2,671,67

−0,33

4,67 ]

ϕ2 =

[

1,67

−0,333,67

−2,33−2,33

3,67−3,33

0,67

−1,33]

ϕ3 =

[ −1,67

−0,670,33

−2,67−0,67

1,330,33

0,33

3,33 ]

Setelah mengurangi nilai vektor asli dengan rata-rata, maka ketiga vektor tersebut

ditranspose sehingga didapatkan sebuah matriks baris.

ϕ1 = [−2,33 − 1,33 − 0,33 − 3,33 − 1,33 2,67 1,67 − 0,33 4,67]

ϕ2 = [1,67 − 0,33 3,67 − 2,33 − 2,33 3,67 − 3,33 0,67 − 1,33]

ϕ3 = [−1,67 − 0,67 0,33 − 2,67 − 0,67 1,33 0,33 0,33 3,33]

Setelah melakukan transpose matriks, langkah selanjutnya adalah mencari matriks

kovarian. Dengan menggunakan rumus 2.4 , maka didapatkan hasil :

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 47: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

30

ϕ1 = 6,5

ϕ2 = 6,75

ϕ3 = 3

Setelah mendapatkan matriks kovarian, langkah selanjutnya adalah mencari nilai

eigenvalue dan eigenvektor. Dengan menggunakan rumus 2.5, maka didapatkan hasil :

eigenvalue 1 = 6,5 , eigenvektor 1 = 1

eigenvalue 2 = 6,75 , eigenvektor 2 = 1

eigenvalue 3 = 3 , eigenvektor 3 = 1

Setelah mendapatkan nilai eigenvalue dan eigenvektor, maka langkah selanjutnya

adalah mencari nilai eigenface. Dengan menggunakan rumus 2.6, maka didapatkan hasil :

ϕ1 =

[ −2,33

−1,33−0,33

−3,33−1,33

2,671,67

−0,33

4,67 ]

ϕ2 =

[

1,67

−0,333,67

−2,33−2,33

3,67−3,33

0,67

−1,33]

ϕ3 =

[ −1,67

−0,670,33

−2,67−0,67

1,330,33

0,33

3,33 ]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 48: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

31

Setelah mendapatkan nilai eigenface, maka langkah selanjutnya adalah mencari nilai

rata-rata eigenface tersebut, sehingga didapatkan hasil :

ϕ1 = 2.9605947323337506e-16

ϕ2 = -1.4802973661668753e-16

ϕ3 = 1.4802973661668753e-16

Setelah mendapatkan nilai rata-rata eigenface, maka langkah selanjutnya adalah

dengan mencari nilai jarak euclidean. Penentuan hasil didapatkan dengan cara mencari nilai

minimum dari hasil perhitungan jarak euclidean. Dimisalkan nilai minimum yang didapat

adalah 10, 7 dan 15, maka nilai minimumnya adalah vektor 2.

3.3.3. Penentuan Keluaran

Gambar 3.11. flowchart keluaran sistem.

Diagram alir penentuan keluaran sistem dapat dilihat pada gambar 3.11. Proses

penentuan keluaran merupakan tahap akhir dari proses sistem yang akan dibuat. Tahap ini

menghasilkan 2 kondisi, yaitu:

1. kondisi pertama jika hasil pengenalan wajah berhasil, maka mikro servo akan

bergerak sehingga pintu dapat terbuka dan lampu LED hijau akan menyala.

Ya

Tidak

Selesai

Mulai

Processing citra wajah

Sesuai

database?

Pintu terbuka & LED Hijau

Pintu terkunci &

LED Merah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 49: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

32

2. Kondisi kedua apabila hasil pengenalan wajah tidak berhasil atau tidak sesuai

dengan database, maka mikro servo akan tetap diam sehingga pintu akan tetap

terkunci dan lampu LED merah akan menyala.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 50: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

33

BAB IV

HASIL DAN PEMBAHASAN

Pada bab ini akan dibahas mengenai hasil pengamatan dari pengenalan wajah untuk

keamanan pintu menggunakan raspberry pi. Hasil pengamatan berupa pengujian

keberhasilan yang dihasilkan. Pada bab ini juga akan dibahas mengenai perubahan antara

rancangan alat dan implementasi alat.

4.1. Perubahan Rancangan

4.1.1. Desain Pintu

Pembuatan perangkat keras yang berupa desain pintu yang akan digunakan terdapat

sedikit perubahan posisi webcam 2 dan LED untuk bagian dalam karena posisi yang

digunakan sebelumnya tidak mencukupi untuk meletakkan posisi webcam 2 dan desain pintu

ini juga memiliki sedikit perubahan di bagian ukuran pintu dan bagian luar.

Pada bagian ukuran luar memiliki sedikit perubahan ukuran yang di mana ukuran

semula adalah 60×5×25 cm menjadi 58,5×5×25 cm, sedangkan untuk bagian pintu yang

dimana ukuran semula adalah 12x20 cm menjadi 11,5×20cm. Hal ini disebabkan karena

tidak tepatnya penulis dalam memotong triplek.

Perubahan posisi webcam 2 dan LED bagian dalam dapat dilihat pada gambar 4.1.

yang dimana pada gambar 3.2 , posisi webcam 2 dan LED bagian dalam terletak di sebelah

kiri pintu dan pada perubahan ini posisi webcam terletak di sebelah kanan pintu.

Gambar 4.1. Bagian Dalam Desain Pintu.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 51: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

34

4.1.2. Rangkaian LED

Perubahan rangkaian LED ini disebabkan oleh berubahnya letak posisi webcam 2

yang mengakibatkan penambahan jumlah LED yang dimana pada perancangan hanya

memakai 1 LED berwarna merah dan 1 LED berwarna hijau dan pada implementasi alat

menjadi 2 LED berwarna merah dan 2 LED berwarna hijau. Perubahan rangkaian LED

dapat dilihat pada gambar 4.2.

Gambar 4.2. Perubahan Rangkaian LED.

4.1.3. Tampilan GUI

Pada proses pembuatan tampilan GUI mengalami sedikit perubahan yaitu pada

gambar 3.3, GUI memiliki tombol start dan stop, sedangkan pada pembuatan tampilan GUI,

GUI tidak memiliki tombol stat dan stop. Tampilan GUI yang dipakai dapat dilihat pada

gambar 4.3.

Gambar 4.3. Tampilan GUI.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 52: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

35

4.2. Hasil Implementasi

Bagian ini akan dibahas mengenai perangkat keras dan perangkat lunak. Perangkat

keras berupa penempatan webcam , power supply, raspberry pi dan beberapa rangkaian,

sedangkan untuk perangkat lunak berupa penjelasan mengenai program dan hasilnya.

4.2.1. Implemetasi Perangkat Keras

Hasil dari pembuatan tampilan depan perangkat keras yang berupa desain pintu

bagian depan dapat dilihat pada gambar 4.4. Pada gambar 4.4. terdapat 2 blok, 1 blok

berwarna hitam dan 1 blok berwarna merah. Blok berwarna hitam merupakan indikator LED

yang berfungsi untuk mengetahui kondisi pintu dalam keadaan terkunci atau tertutup. Jika

kondisi pintu tertutup, maka LED yang aktif adalah LED berwarna merah dan jika kondisi

pintu terbuka, maka LED yang aktif adalah LED berwarna hijau. Blok berwarna merah

merupakan webcam 1 yang berfungsi untuk menangkap dan memproses citra atau wajah

yang ingin membuka pintu dari luar.

Gambar 4.4. Tampilan Pintu Bagian Depan.

Hasil dari pembuatan tampilan belakang perangkat keras yang berupa desain pintu

bagian belakang dapat dilihat pada gambar 4.5. Pada gambar 4.5. terdapat 2 blok, 1 blok

berwarna kuning dan 1 blok berwarna orange. Blok berwarna kuning merupakan indikator

LED yang berfungsi untuk mengetahui kondisi pintu dalam keadaan terkunci atau tertutup.

Jika kondisi pintu tertutup, maka LED yang aktif adalah LED berwarna merah dan jika

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 53: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

36

kondisi pintu terbuka, maka LED yang aktif adalah LED berwarna hijau. Blok berwarna

orange merupakan webcam 2 yang berfungsi untuk menangkap dan memproses citra atau

wajah yang ingin membuka pintu dari dalam.

Gambar 4.5. Tampilan Pintu Bagian Belakang.

Hasil dari pembuatan bagian dalam desain pintu dapat dilihat pada gambar 4.6. Pada

gambar 4.6. terdapat beberapa blok warna, blok berwarna merah merupakan power supply 5

volt 1 ampere yang berfungsi sebagai sumber penggerak mikro servo sg90, blok berwarna

kuning merupakan rangkaian LED yang berfungsi sebagai indikator kondisi pintu dalam

keadaan terbuka atau terkunci, blok berwarna hijau merupakan webcam 1 dan webcam 2

yang berfungsi untuk menangkap dan memproses citra wajah yang ingin membuka pintu

dari dalam maupun dari luar, blok berwarna biru merupakan limit switch yang berfungsi

sebagai indikator untuk mengaktifkan mikro servo, blok berwarna pink merupakan mikro

servo yang berfungsi sebagai alat untuk mengunci dan membuka pintu, blok berwarna hitam

merupakan rangkaian pusat yang dimana pada rangkaian tersebut terdapat pin header sebagai

jalur untuk menghubungkan rangkaian LED, limit switch dan mikro servo ke raspberry pi,

dan blok terakhir yang berwarna coklat merupakan raspberry pi yang berfungsi sebagai

tempat untuk menjalankan program, mengaktifkan beberapa GPIO untuk menghidupkan

LED, limit switch dan mikro servo.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 54: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

37

Gambar 4.6. Bagian dalam Desain Pintu.

4.2.2. Cara Kerja Sistem

Proses kerja sistem diawali dengan menjalankan tampilan GUI yang hasil tampilan

GUI dapat dilihat pada gambar 4.3, kemudian lampu LED berwarna merah akan menyala

dan lampu LED berwarna hijau akan mati. Proses selanjutnya adalah program akan

mendeteksi di bagian pemrosesan webcam apakah ada wajah yang terdeteksi atau tidak, jika

ada wajah yang terdeteksi maka proses berlanjut ke pembentukan kotak di area wajah yang

terdeteksi, hasil pemberian kotak dapat dilihat pada gambar 4.7.

Gambar 4.7. Pemberian Bentuk Kotak Pada Area Wajah.

Hal yang dilakukan selanjutnya adalah pengguna menekan tombol capture yang

berfungsi untuk memproses wajah yang sudah ada di dalam area kotak. Setelah menekan

tombol capture, maka akan didapatkan nilai eigenface dari data real, kemudian eigenface

dari data real dilakukan perhitungan jarak euclidean dengan data dari database. Setelah

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 55: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

38

melakukan perhitungan jarak euclidean dengan database yang berbeda-beda, maka akan

dicari nilai minimal dari hasil perhitungan jarak euclidean tersebut, kemudian dari nilai

minimal tersebut dapat ditentukan wajah siapa yang dikenali. Setelah wajah dapat dikenali,

maka mikro servo yang berfungsi sebagai pengunci pintu akan bergerak untuk membuka

pintu dan lampu LED berwarna merah akan mati dan lampu LED berwarna hijau akan

menyala, apabila pintu ditutup kembali dan menyentuh limit switch, maka servo akan

bergerak untuk mengunci pintu kembali, LED berwarna merah akan menyala dan LED

berwarna hijau akan mati.

4.2.3. Pengujian Sistem Keamanan Pintu Dengan Pengenalan Wajah

Orang Yang Ada Di Database

Pada pengujian ini dilakukan 2 cara dalam menguji data testing, cara pertama data

testing diambil dari salah satu foto yang ada di database dan cara kedua data testing diambil

melalui webcam.

Dengan melakukan cara pertama yaitu mengambil data testing dari salah sattu

database, maka hasil yang didapatkan cukup akurat. Apabila penulis mengambil data testing

yang berupa wajah vinsent, maka keluaran yang didapatkan adalah vinsent, begitu juga jika

dengan wajah panji, marco dan tian, hasil yang keluar sesuai dengan yang diinginkan. Hasil

dapat dilihat pada tabel 4.1, dengan mengambil 3 data wajah dari database untuk testing.

Tabel 4.1. Tabel Hasil Pengenalan dan Nilai Jarak Euclidean.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Minimal

Hasil

Penge-

nalan Marco Tian Vinsent Panji

Marco

1 2040 3625 3631 4674 2040 Marco

2 2208 4009 4108 4978 2208 Marco

3 2344 3917 3901 4901 2344 Marco

Vinsent

1 3637 3471 1276 4420 1276 Vinsent

2 3722 3445 1544 4655 1544 Vinsent

3 3243 3274 1676 4547 1676 Vinsent

Tian

1 3352 904 3264 4154 904 Tian

2 3332 1778 3373 4511 1778 Tian

3 3323 713 3269 4072 713 Tian

Panji

1 4470 4070 4360 706 706 Panji

2 4389 3920 4249 783 783 Panji

3 4453 4010 4335 517 517 Panji

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 56: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

39

Dengan melakukan cara kedua yaitu mengambil data testing melalui webcam,

dilakukan dengan melakukan percobaan di 2 kondisi intensitas cahaya yang berbeda.

Tingkat intensitas cahaya dapat diketahui dengan sebuah aplikasi di android yang bernama

lux meter. Hasil pengujian real time yang pertama dengan tingkat intensitas cahaya berkisar

antara 138-141 lux dapat dilihat pada tabel 4.2, tabel 4.3 dan tabel 4.4.

Tabel 4.2.Hasil Pengujian Real Time Tanpa Atribut Dengan Intensitas Cahaya 138-141

lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 4028 3923 4542 4442 3923 Tian Terbuka Terkunci

2 4132 4136 4351 4756 4132 Marco Terbuka Terbuka

3 4148 4135 4452 4690 4135 Tian Terbuka Terkunci

4 4160 4258 4451 4862 4160 Marco Terbuka Terbuka

5 4169 4172 4525 4680 4169 Marco Terbuka Terbuka

Vinsent

1 3976 4425 4767 4226 3976 Marco Terbuka Terkunci

2 3527 4105 4422 3831 3527 Marco Terbuka Terkunci

3 3393 3996 4280 3589 3393 Marco Terbuka Terkunci

4 3865 4535 4867 3443 3443 Panji Terbuka Terkunci

5 4094 4795 5174 3534 3534 Panji Terbuka Terkunci

Tian

1 3540 2986 3791 4682 2986 Tian Terbuka Terbuka

2 3529 3059 3830 4500 3059 Tian Terbuka Terbuka

3 3528 3055 3809 4583 3055 Tian Terbuka Terbuka

4 3514 3093 3844 4447 3093 Tian Terbuka Terbuka

5 3482 3040 3809 4477 3040 Tian Terbuka Terbuka

Panji

1 4021 3800 4519 3944 3800 Tian Terbuka Terkunci

2 4196 3952 4694 3930 3930 Panji Terbuka Terbuka

3 4445 4028 4800 4150 4028 Tian Terbuka Terkunci

4 4422 4064 4822 4134 4064 Tian Terbuka Terkunci

5 4445 4080 4855 4127 4080 Tian Terbuka Terkunci

Tabel 4.3. Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas Cahaya 138-

141 lux. Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 3735 3349 3955 3904 3349 Tian Terbuka Terkunci

2 3949 3525 4265 4304 3525 Tian Terbuka Terkunci

3 4007 3975 4470 4173 3975 Tian Terbuka Terkunci

4 4128 4096 4575 4373 4096 Tian Terbuka Terkunci

5 4113 4016 4558 4363 4016 Tian Terbuka Terkunci

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 57: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

40

Tabel 4.4. (Lanjutan) Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas

Cahaya 138-141 lux

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Vinsent

1 4170 4174 4621 4277 4170 Marco Terbuka Terkunci

2 3998 3942 4458 4088 3942 Tian Terbuka Terkunci

3 4223 4081 4659 4315 4081 Tian Terbuka Terkunci

4 4068 4056 4517 4036 4036 Panji Terbuka Terkunci

5 4207 4003 4549 4261 4003 Tian Terbuka Terkunci

Tian

1 2558 2612 3029 3652 2558 Marco Terbuka Terkunci

2 3543 2760 3542 4455 2760 Tian Terbuka Terbuka

3 3515 2684 3526 4235 2684 Tian Terbuka Terbuka

4 3497 2760 3567 4286 2760 Tian Terbuka Terbuka

5 3493 2697 3519 4248 2697 Tian Terbuka Terbuka

Panji

1 3736 3497 4111 3960 3497 Tian Terbuka Terkunci

2 3964 3628 4237 4125 3628 Tian Terbuka Terkunci

3 3979 3646 4270 4131 3646 Tian Terbuka Terkunci

4 3583 3377 4012 3955 3377 Tian Terbuka Terkunci

5 3982 3557 4194 4180 3557 Tian Terbuka Terkunci

Tabel 4.5. Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan Intensitas

Cahaya 138-141 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 3949 4206 4642 4347 3949 Marco Terbuka Terbuka

2 4121 4186 4645 4498 4121 Marco Terbuka Terbuka

3 4026 4151 4609 4416 4026 Marco Terbuka Terbuka

4 3405 3913 4271 3732 3405 Marco Terbuka Terbuka

5 3811 4220 4574 4143 3811 Marco Terbuka Terbuka

Vinsent

1 4342 4930 5168 4448 4342 Marco Terbuka Terkunci

2 4382 4863 5094 4508 4382 Marco Terbuka Terkunci

3 4000 4441 4680 4099 4000 Marco Terbuka Terkunci

4 3986 4423 4712 4127 3986 Marco Terbuka Terkunci

5 3945 4504 4737 4028 3945 Marco Terbuka Terkunci

Tian

1 3533 3771 4086 4240 3533 Marco Terbuka Terkunci

2 3413 3748 4047 4593 3413 Marco Terbuka Terkunci

3 3436 3775 4088 4558 3436 Marco Terbuka Terkunci

4 3378 3691 3978 4663 3378 Marco Terbuka Terkunci

5 3397 3757 4048 4590 3397 Marco Terbuka Terkunci

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 58: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

41

Tabel 4.6. (Lanjutan) Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan

Intensitas Cahaya 138-141 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Panji

1 3834 3960 4580 4222 3834 Marco Terbuka Terkunci

2 4024 3856 4520 4430 3856 Tian Terbuka Terkunci

3 4163 3941 4638 4448 3941 Tian Terbuka Terkunci

4 4128 4017 4703 4339 4017 Tian Terbuka Terkunci

5 4120 4013 4708 4332 4013 Tian Terbuka Terkunci

Tabel 4.7. Persentase Keberhasilan Dengan Intensitas Cahaya 138-141 lux. Tanpa

Atribut

Atribut

Topi

Atribut

Kacamata

Marco 60% 0% 100%

Vinsent 0% 0% 0%

Panji 20% 0% 0%

Tian 100% 80% 0%

Hasil pengujian kedua dengan tingkat intensitas cahaya berkisar antara 45-47 lux dapat

dilihat pada tabel 4.6, tabel 4.7 dan tabel 4.8

Tabel 4.8. Hasil Pengujian Real Time Tanpa Atribut Dengan Intensitas Cahaya 45-47 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 3673 4042 4701 4160 3673 Marco Terbuka Terbuka

2 3713 4079 4738 4330 3713 Marco Terbuka Terbuka

3 3639 4017 4637 4309 3639 Marco Terbuka Terbuka

4 3757 4110 4772 4246 3757 Marco Terbuka Terbuka

5 3665 4011 4656 4298 3665 Marco Terbuka Terbuka

Vinsent

1 3777 3796 4398 3649 3649 Panji Terbuka Terkunci

2 3806 3655 4376 3897 3655 Tian Terbuka Terkunci

3 3908 3666 4466 3970 3666 Tian Terbuka Terkunci

4 3912 3762 4554 3839 3762 Tian Terbuka Terkunci

5 3922 3767 4571 3931 3767 Tian Terbuka Terkunci

Tian

1 3665 4384 4638 4459 3665 Marco Terbuka Terkunci

2 3807 4392 4636 4454 3807 Marco Terbuka Terkunci

3 3732 4409 4738 4518 3732 Marco Terbuka Terkunci

4 3682 4352 4569 4617 3682 Marco Terbuka Terkunci

5 3634 4367 4575 4478 3634 Marco Terbuka Terkunci

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 59: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

42

Tabel 4.9. (Lanjutan) Hasil Pengujian Real Time Tanpa Atribut engan Intensitas Cahaya

45-47 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Panji

1 4235 4408 5243 4269 4235 Marco Terbuka Terkunci

2 4208 4289 5154 4255 4208 Marco Terbuka Terkunci

3 4248 4324 5174 4224 4224 Panji Terbuka Terbuka

4 4337 4287 5179 4584 4287 Tian Terbuka Terkunci

5 4298 4382 5219 4321 4298 Marco Terbuka Terkunci

Tabel 4.10. Hasil Pengujian Real Time Dengan Atribut Topi Dengan Intensitas Cahaya 45-

47 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 2936 3320 3481 4198 2936 Marco Terbuka Terbuka

2 2883 3321 3470 4346 2883 Marco Terbuka Terbuka

3 3000 3345 3563 4195 3000 Marco Terbuka Terbuka

4 2969 3323 3467 4266 2969 Marco Terbuka Terbuka

5 2992 3317 3518 4222 2992 Marco Terbuka Terbuka

Vinsent

1 3686 3989 4380 3711 3686 Marco Terbuka Terkunci

2 3769 3970 4401 4018 3769 Marco Terbuka Terkunci

3 3838 3863 4432 4247 3838 Marco Terbuka Terkunci

4 3916 3409 4313 4328 3409 Tian Terbuka Terkunci

5 4005 3694 4652 4073 3694 Tian Terbuka Terkunci

Tian

1 3258 3352 3644 4494 3258 Marco Terbuka Terkunci

2 3149 3364 3602 4430 3149 Marco Terbuka Terkunci

3 3129 3206 3626 4376 3129 Marco Terbuka Terkunci

4 3184 3359 3747 4449 3184 Marco Terbuka Terkunci

5 3160 3246 3617 4424 3160 Marco Terbuka Terkunci

Panji

1 3373 3601 3972 3610 3373 Marco Terbuka Terkunci

2 3705 3734 4118 3988 3705 Marco Terbuka Terkunci

3 3988 3936 4261 4608 3936 Tian Terbuka Terkunci

4 3754 3710 4169 4024 3710 Tian Terbuka Terkunci

5 3500 3501 4048 3985 3500 Marco Terbuka Terkunci

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 60: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

43

Tabel 4.11. Hasil Pengujian Real Time Dengan Atribut Kacamata Demgan Intensitas

Cahaya 45-47 lux.

Wajah

Testing

Pe-

ng-

uji-

an

Ke-

Hasil Perhitungan jarak

Nilai

Min-

imal

Hasil

Peng-

enalan

Status Pintu

Marco Tian Vins-

ent Panji Real

Seharus-

nya

Marco

1 3654 4058 4711 4542 3654 Marco Terbuka Terbuka

2 3682 4049 4643 4552 3682 Marco Terbuka Terbuka

3 3654 4011 4579 4548 3654 Marco Terbuka Terbuka

4 3678 4033 4620 4491 3678 Marco Terbuka Terbuka

5 3698 4096 4755 4520 3698 Marco Terbuka Terbuka

Vinsent

1 4445 4723 5215 4421 4421 Panji Terbuka Terkunci

2 4226 4536 5144 4041 4041 Panji Terbuka Terkunci

3 4310 4243 4925 4430 4243 Tian Terbuka Terkunci

4 4434 4551 5106 4448 4434 Marco Terbuka Terkunci

5 4297 4380 4997 4211 4211 Panji Terbuka Terkunci

Tian

1 3634 3766 4398 5024 3634 Marco Terbuka Terkunci

2 3668 3792 4322 5070 3668 Marco Terbuka Terkunci

3 3663 3720 4323 5050 3663 Marco Terbuka Terkunci

4 3690 3742 4340 5267 3690 Marco Terbuka Terkunci

5 3655 3677 4347 5186 3655 Marco Terbuka Terkunci

Panji

1 4121 4332 5027 3955 3955 Panji Terbuka Terbuka

2 4252 4343 5157 4231 4231 Panji Terbuka Terbuka

3 4225 4588 5362 4139 4139 Panji Terbuka Terbuka

4 4164 4138 4953 4123 4123 Panji Terbuka Terbuka

5 4220 4327 5142 4044 4044 Panji Terbuka Terbuka

Tabel 4.12. Persentase Keberhasilan Dengan Intensitas Cahaya 45-47 lux. Tanpa

Atribut

Atribut

Topi

Atribut

Kacamata

Marco 100% 100% 100%

Vinsent 0% 0% 0%

Panji 0% 0% 0%

Tian 20% 0% 100%

Dari pengujian dengan 2 tingkat intensitas cahaya yang berbeda, maka dapat dianalisa

bahwa cahaya mempengaruhi pendeteksian sebuah wajah karena cahaya mempengaruhi

nilai piksel gambar yang di capture. Hal lain yang mengakibatkan keberhasilan hanya dapat

dilihat dari percobaan dengan wajah marco dan tian adalah kurangnya variasi wajah yang

diambil, maksud dari variasi tersebut adalah wajah di database hanya terdapat wajah dengan

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 61: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

44

posisi lurus tegak meghadap kamera, hal tersebut yang mengakibatkan kemungkinan besar

wajah hanya mengenali 2 orang.

Adapun hal lain yang mempengaruhi tingkat keberhasilan keamanan pintu adalah

sesuai atau tidaknya wajah yang ditangkap dengan proses keluaran, misalnya adalah ketika

wajah A dilakukan proses identifikasi kemudian proses keluarannya adalah A, maka hal

tersebut bisa dikatakan berhasil, namun apabila proses keluarannya adalah B atau C atau D,

maka hal tersebut bisa dikatakan tidak berhasil.

4.2.4. Pengujian Sistem Keamanan Pintu Dengan Pengenalan Wajah

Orang Yang Tidak Dikenali.

Hasil yang didapatkan pada tahap pengujian pengenalan wajah orang yang tidak

dikenali adalah orang yang tidak dikenali tersebut teridentifikasi sebagai salah satu orang

yang ada di database, hal ini terjadi karena belum ada nilai batasan antara orang yang

dikenali dan orang yang tidak dikenali. Contoh pengambilan data wajah untuk orang yang

tidak dikenali dapat dilihat pada gambar 4.8.

Gambar 4. 8. Pendeteksian Wajah Orang Yang Tidak Dikenal.

Nilai jarak yang didapat dari percobaan wajah yang tidak dikenali dapat dilihat pada

tabel 4.10.

Tabel 4.13. Hasil Perhitungan Jarak.

Database Nilai Jarak

Marco 4660

Tian 4148

Vinsent 4262

Panji 4392

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 62: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

45

Dari hasil perhitungan jarak tersebut, dapat dilihat nilai minimal yang didapat adalah

4148,6917 yang dimana nilai minimal tersebut menunjukkan database tian, sehingga pintu

akan terbuka. Untuk pengujian dengan pengambilan data testing dari database, hal ini dapat

diantisipasi dengan cara melihat tabel 4.2, yang dimana nilai minimal yang didapatkan

paling besar adalah 2344,3190 , sehingga dapat diambil kesimpulan untuk mengantisipasi

orang yang tidak dikenal apabila nilai jarak lebih dari 2500 maka sudah dianggap tidak

dikenali, sedangkan untuk pengujian dengan pengambilan data testing dari webcam, hal ini

dapat diantisipasi dengan cara memberi nilai batasan jarak sebesar 4000, sehingga apabila

nilai jarak hasil perhitungan lebih besar dari nilai batasan, maka hasil yang ditunjukkan

adalah orang tersebut tidak dikenali.

4.2.5. Pembuatan Database

Program penyimpanan gambar wajah untuk database dapat dilihar pada gambar 4.9.

Gambar 4.9. Program Penyimpanan Gambar.

Pada gambar 4.9, terdapat potongan program database yang dimana kode cam.read

berfungsi untuk membaca apa yang tertangkap dikamera, kemudian kode cv2.flip berfungsi

sebagai membalikkan arah gerak pada kamera, hal ini karena arah gerak kamera dengan real

time berlawanan, misalnya kita bergerak ke kanan maka apa yang kita lihat di frame kamera

adalah kita bergerak kekiri. Hal selanjutnya adalah mendeteksi apakah ada wajah yang

tertangkap dikamera, jika ada wajah yang tertangkap dikamera maka wajah tersebut akan

diberi kotak seperti pada gambar 4.10.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 63: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

46

Gambar 4.10. Pemberian Bentuk Kotak di daerah wajah.

Hal selanjutnya yang dilakukan apabila sudah memberi bentuk kotak didaerah wajah

adalah dengan menekan tombol ‘c’ pada keyboard, sehingga wajah akan tersimpan dalam

bentuk grayscale seperti pada gambar 4.11.

Gambar 4.11. Beberapa data wajah 1 orang dalam bentuk grayscale.

Program pengambilan database wajah 1 orang akan berhenti apabila jumlah database

yang diinginkan sudah tercapai, didalam program tersebut jumlah database yang diinginkan

berjumlah 21 gambar.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 64: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

47

Sebelum mengubah dalam bentuk grayscale, maka hal yang pertama kali diambil

adalah pengambilan daerah wajah yang sudah diberi kotak, setelah dilakukan pengambilan

daerah wajah yang diberi kotak, maka hal yang dilakukan selanjutnya adalah mengubah

daerah wajah yang sudah diambil tersebut kedalam bentuk grayscale. Hal ini dapat dilihat

pada gambar 4.12.

Gambar 4.12. Proses Pengambilan Gambar Database.

4.2.6. Perhitungan Database

Program perhitungan database dapat dilihat pada gambar 4.13.

Gambar 4.13. Program Perhitungan Database.

Pada program perhitungan database ini, hal yang pertama dilakukan adalah dengan

melakukan pencarian folder yang berisikan gambar grayscale seperti pada gambar 4.9,

setelah menuju folder yang terdapat kumpulan gambar grayscale, maka hal yang dilakukan

selanjutnya adalah memastikan apakah folder tersebut benar-benar memiliki file gambar

dalam format ‘png’ ataupun ‘jpg’, jika tidak ada file dalam bentuk format tersebut, maka

proses tidak akan berlangsung dan jika di dalam folder tersebut terdapat file dalam bentuk

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 65: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

48

format tersebut maka proses selanjutnya adalah mengubah gambar di dalam folder tersebut

ke dalam bentuk grayscale, hal ini berguna untuk memastikan bahwa file yang ada di dalam

folder tersebut sudah dalam bentuk grayscale. Setelah mengubah file tersebut ke dalam

bentuk grayscale, maka hal yang dilakukan selanjutnya adalah mengubah ukuran file

tersebut menjadi 80×80, setelah mengubah ukuran file tersebut maka hal yang dilakukan

adalah mengambil nilai pixel dalam gambar tersebut dan mengubahnya ke dalam bentuk

array matriks. Setelah mengubah file gambar tersebut ke dalam bentuk array matriks, hal

yang dilakukan selanjutnya adalah bentuk array matriks tersebut ke dalam bentuk vektor

kolom, kemudian array matriks yang sudah diubah ke dalam bentuk vektor kolom

dimasukkan ke dalam sebuah list sehingga terbentuk matriks baru, kemudian setiap baris

dari matriks baru tersebut dijumlahkan, sehingga membentuk sebuah matriks kolom yang

baru yang merupakan gabungan dari database setiap wajah. Setelah terbentuknya vektor

kolom baru tersebut, maka hal selanjutnya adalah mencari rata-rata dari vektor kolom

tersebut, kemudian vektor kolom tersebut dikurangi dengan rata-rata. Hal selanjutnya yang

dilakukan adalah mencari nilai kovarian, eigenvalue, eigenvektor, dan hal terakhir yang

dilakukan adalah mencari nilai eigenface.

Berikut adalah contoh penerapan proses penggabungan beberapa matriks wajah,

sehingga menjadi sebuah vektor kolom yang baru, misal diberikan 3 buah matrik :

X1 = [2 3 41 3 76 4 9

]

X2 = [5 3 71 1 70 4 2

]

X3 = [2 3 41 3 54 4 7

]

Kemudian, ketiga matriks tersebut diubah menjadi vektor kolom

V1 =

[ 234137649]

,V2 =

[ 537117042]

,V3 =

[ 234135447]

Setelah itu, vektor kolom tersebut dimasukkan ke dalam sebuah list

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 66: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

49

V1 =

[ 2 5 23 3 34 7 41 1 13 1 37 7 56 0 44 4 49 2 7]

Setelah didapatkan matriks baru dari penggabungan vektor kolom, maka langkah

selanjutnya adalah menjumlahkan setiap baris, sehingga menjadi sebuah vektor kolom

kembali

V1 =

[ 99153719101218]

4.2.7. Perhitungan Jarak Euclidean.

Perhitungan jarak euclidean dilakukan dengan rumus :

𝐸𝑢𝑐𝑙𝑖𝑑𝑒𝑎𝑛 = √∑(𝑋𝑖 − 𝑋𝑗)2

𝑛

𝑖=1

dimana Xi merupakan eigenface dari citra testing dan Xj merupakan eigenface dari citra

wajah database. Berikut adalah contoh penerapannya di dalam program, misal didapatkan

nilai dari eigenface testing dan eigenface dari database.

Eigenface testing = [[ 69.05640625]

[ 68.05640625]

[ 66.05640625]

...

[-13.94359375]

[-20.94359375]

[-16.94359375]]

(4.1)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 67: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

50

eigenface database = [[46.89698661]

[42.56365327]

[37.42079613]

...

[-5.29348958]

[ 0.61127232]

[ 7.27793899]]

Proses pertama yang dilakukan adalah dengan mengurangkan tiap baris data testing dengan

database, kemudian dikuadratkan dan dimasukkan ke dalam sebuah list, kemudian

melakukan penjumlahan dari hasil-hasil perhitungan yang ada di dalam list tersebut, setelah

melakukan penjumlahan maka langkah selanjutnya adalah mengakarkan hasil penjumlahan

tersebut , sehingga didapatkan hasil matriks 1×1. Dari matriks 1×1 inilah nilainya

dibandingkan dengan hasil pencarian nilai pengurangan eigenface testing dengan eigenface

database lain.

4.2.8. Mikro Servo

Mikro servo dapat dikendalikan dengan menggunakan sinyal PWM yang

dikeluarkan oleh pin raspberry pi. Frekuensi pada motor servo yang dipakai adalah 50Hz

dengan kata lain periodanya 20ms. Untuk 90 derajat bisa didapatkan dengan memberikan

pulsa sepanjang 1,5ms, kemudian posisi 0 derajat bisa didapatkan dengan memberikan pulsa

sepanjang 0,5 ms dan untuk posisi 180 derajat bisa didapatkan dengan memberikan pulsa

sepanjang 2,5 ms. Perhitungan duty cycle dibutuhkan untuk menggerakkan mikro servo

melalui program yang dibuat. Berikut adalah perhitungan duty cycle :

1. Duty cycle untuk sudut 0 derajat :

Duty cycle = (0,5/20) * 100% = 2,5%

2. Duty cycle untuk sudut 90 derajat :

Duty cycle = (1,5/20) * 100% = 7,5%

3. Duty cycle untuk sudut 180 derajat :

Duty cycle = (2,5/20) * 100% = 12,5%

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 68: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

51

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Dari hasil pengujian serta pengambilan data, dapat diambil kesimpulan :

1. Pengenalan wajah dengan pengambilan data wajah testing dari database mampu

mengenali dengan baik dengan tingkat keberhasilan 100%

2. Pengenalan wajah dengan pengambilan data wajah testing secara real time belum

mampu mengenal dengan baik dengan tingkat keberhasilan yang berbeda-beda.

3. Rata-rata tingkat keamanan pintu dengan pengenalan wajah tanpa menggunakan

atribut pada intensitas cahaya 138-141 lux adalah 45% dan pada intensitas cahaya

45-47 lux adalah 30%

4. Rata-rata tingkat keamanan pintu dengan pengenalan wajah menggunakan atribut

topi pada intensitas cahaya 138-141 lux adalah 20% dan pada intensitas cahaya

45-47 lux adalah 25%

5. Rata-rata tingkat keamanan pintu dengan pengenalan wajah menggunakan atribut

kacamata pada intensitas cahaya 138-141 lux adalah 25% dan pada intensitas

cahaya 45-47 lux adalah 50%

6. Cahaya berpengaruh terhadap proses keluaran identifikasi wajah.

5.2. Saran

Saran-saran bagi pengembang selanjutnya adalah :

1. Menggunakan metode yang lebih rinci penjelasannya beserta contoh

penggunaannya.

2. Membuat variasi wajah di database.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 69: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

52

DAFTAR PUSTAKA

[1] Perkembangan Teknologi Dari Waktu ke Waktu yang Mengalami Banyak Kemajuan,

https://www.klikmania.net/perkembangan-teknologi-tahun-2017/, diakses 5

November 2018.

[2] 2018,Mengenal Sistem Biometrik E-KTP dan Keamanannya,

https://www.bernas.id/62873-mengenal-sistem-biometrik-e-ktp-dan-

keamanannya.html, diakses 8 November 2018.

[3] Fauzi,Moch Prima, 2017, Jenis Sistem Biometrik yang Banyak Digunakan,

https://techno.okezone.com/read/2017/04/04/207/1658328/jenis-sistem-biometrik-

yang-banyak-digunakan, diakses 5 November 2018.

[4] https://www.bps.go.id/publication/2017/12/22/197562b7ad0ced87c08fada5/statistik-

kriminal-2017.html, diakses 1 November 2018.

[5] http://lib.unnes.ac.id/23465/, diakses 7 November 2018.

[6] Azam, Moch., Pengertian Webcam Beserta Fungsi dan Cara Kerja Webcam,

https://www.nesabamedia.com/pengertian-webcam-dan-fungsi-webcam/, diakses 8

November 2018.

[7] Webcam,https://sumberbelajar.belajar.kemdikbud.go.id/sumberbelajar/tampil/Webca

m-2007/konten3.html, diakses 9 November 2018.

[8] https://www.logitech.com/en-us/product/hd-webcam-c270, diakses 8 November

2018.

[9] 2014, Pengertian Resolusi Gambar,

http://www.jendelasarjana.com/2014/05/pengertian-resolusi-gambar.html, diakses 6

Desember 2018.

[10] Mochamad Fajar Wicaksono.2018.Mudah Belajar Raspberry Pi. Informatika

Bandung, Bandung.

[11] https://www.raspberrypi.org/products/raspberry-pi-3-model-b-plus/

[12] Sahoo, satya sankar, 2016, Raspberry Pi 3 Pinout Model B, RPI2, B+ 40Pin GPIO

Pinout, https://myelectronicslab.com/raspberry-pi-3-gpio-model-b-block-pinout/,

diakses 6 Desember 2018.

[13] https://www.python.org/doc/essays/blurb/, diakses 2 april 2019.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 70: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

53

[14] P, Anggri Yulio, 2017, Mengenal OpenCV (Open Source Computer Vision Library),

https://devtrik.com/opencv/mengenal-opencv-open-source-computer-vision-library/,

diakses 15 November 2018.

[15] http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf, diakses

15 November 2018.

[16] Budiharto, W. 2014, Robotika Modern - Teori dan Implementasi (Edisi Revisi), C.V

Andi Offset, Yogyakarta.

[17] Kho, Dickson,Pengertian LED (Light Emitting Diode) dan Cara Kerjanya,

https://teknikelektronika.com/pengertian-led-light-emitting-diode-cara-kerja/, diakses

23 November 2018.

[18] Setiawan, Agus, 2015, Pengertian GUI dan CLI,

http://www.transiskom.com/2015/07/pengertian-cli-dan-gui.html, diakses 30

November 2018.

[19] Python – GUI Programming (Tkinter),

https://www.tutorialspoint.com/python/python_gui_programming.htm, diakses 6

Februari 2019.

[20] 2017, Perbedaan Limit Switch dan Saklar Push On/Button,

http://belajarelektronika.net/perbedaan-limit-switch-dan-saklar-push-on/, diakses 6

Februari 2019.

[21] https://frc-pdr.readthedocs.io/en/latest/motors/limitswitch.html, diakses 6 Februari

2019.

[22] Kadir,abdul, Adhi Susanto, 2013, Teori dan Aplikasi Pengolahan Citra, Penerbit

Andi,Yogyakarta.

[23] Pamungkas, adi, Pengolahan Citra Digital,

https://pemrogramanmatlab.com/2017/07/26/pengolahan-citra-digital/,diakses 6

desember 2018.

[24] https://www.fiverr.com/photo_shop_man/resize-crop-and-editing-of-your-images-

professionally, diakses 6 desember 2018.

[25] Pratiwi, Dian Esti, Agus Harjoko, 2013, Implementasi Pengenalan Wajah

Menggunakan PCA (Principal Component Analysis), IJEIS, Vol. 3, no. 2, hal 175-184,

https://jurnal.ugm.ac.id/ijeis/article/view/3892/3181, diakses 6 Februari 2019.

[26] https://media.neliti.com/media/publications/133531-ID-pengenalan-citra-wajah-

sebagai-identifie.pdf, diakses 7 Februari 2019

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 71: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

54

[27] https://www.academia.edu/35522508/Teknik_Pengukuran_Teori_Pengukuran_Jarak

?auto=download, diakses 1 April 2019

[28] http://jati.stta.ac.id/2015/09/deteksi-obyek-menggunakan-haar-cascade.html, diakses

1 April 2019

[29] Santoso, H., Harjoko, A, 2013, Haar Cascade Classifier dan Algoritma Adaboost

untuk Deteksi Banyak Wajah dalam Ruang Kelas. Jurnal Teknologi IST AKPRIND,

Vol. 6, no. 2 , hal 108-115, http://jurtek.akprind.ac.id/bib/haar-cascade-classifier-dan-

algoritma-adaboost-untuk-deteksi-banyak-wajah-dalam-ruang-kelas, diakses 1 April

2019

[30] Budiharto, Widodo, 2018, Pemrograman Python untuk Ilmu Komputer dan Teknik,

Penerbit Andi, Yogyakarta.

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 72: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

LAMPIRAN

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 73: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-1

Listing Program Pengambilan Citra Sebagai Database

import cv2

import os

face =

cv2.CascadeClassifier('/home/pi/Documents/skripsi/Skripsi/haarcascade_frontalface_defau

lt.xml')

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

print BASE_DIR

image_dir = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/database")

print image_dir

cam = cv2.VideoCapture(1)

jumlah0 = 0

jumlah1 = 1

jumlah2 = 1

while True:

_, frame = cam.read()

frame = cv2.flip(frame, 1)

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

muka = face.detectMultiScale(gray, 1.3, 5)

for (x,y,w,h) in muka:

cv2.rectangle(frame, (x,y), (x+w, y+h), (0, 0, 255), 5)

if cv2.waitKey(1) & 0xff == ord('c'):

cv2.imwrite("/home/pi/Documents/skripsi/Skripsi/Panji/" + str(jumlah1) + '.' +

str(jumlah2) + ".jpg", gray[y:y + h, x:x + w])

print str(jumlah1)

print str(jumlah2)

if jumlah2 == 9:

jumlah1 +=1

jumlah2 = 0

jumlah2 += 1

jumlah0 += 1

cv2.imshow('Capturing', frame)

if jumlah0 > 20:

break

cv2.destroyAllWindows()

cam.release()

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 74: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-2

Listing Program Perhitungan Database

import os

import numpy as np

from PIL import Image

import cv2

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

image_dir = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/Marco")

##print image_dir

for root,dirs,files in os.walk(image_dir):

rateifacesmarco=[]

for file in files:

if file.endswith("png") or file.endswith("jpg"):

path=os.path.join(root,file)

## print(path,i)

pil_image = Image.open(path).convert("L") #grayscale

new_img = pil_image.resize((80,80))

image_array = np.array(new_img,"uint8")

## print image_array

# ke vektor

vektor_baris = image_array.flatten()

vektor_kolom = np.c_[vektor_baris]

## print 'vektor kolom = ',vektor_kolom

rateifacesmarco.append(vektor_kolom)

z=[]

s=0.0

for i in range (6400):

for j in range (21):

s = s + rateifacesmarco[j][i]

z.append(s/21)

s=0.0

z=np.array(z)

z=z.flatten()

z= np.c_[z]

rata = np.mean(z)

vr = z - rata

#transpos

vt = vr.transpose()

#jumlah kolom

jkvr = len(vr)

#kovarian

cov = (float(1)/(float(jkvr)-float(1)))*(vt.dot(vr))

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 75: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-3

#eigenvalue dan eigenvektor

eigen_values, eigen_vektors = np.linalg.eig(cov)

#eigenface

eigen_face = eigen_vektors*vr

image_dir2 = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/Tian")

for root,dirs,files in os.walk(image_dir2):

rateifacestian=[]

for file in files:

if file.endswith("png") or file.endswith("jpg"):

path2=os.path.join(root,file)

## print(path)

pil_image2 = Image.open(path2).convert("L") #grayscale

new_img2 = pil_image2.resize((80,80))

image_array2 = np.array(new_img2,"uint8")

## print image_array2

# ke vektor

vektor_baris2 = image_array2.flatten()

vektor_kolom2 = np.c_[vektor_baris2]

## print 'vektor kolom = ',vektor_kolom

rateifacestian.append(vektor_kolom2)

z2=[]

s2=0.0

for i in range (6400):

for j in range (21):

s2 = s2 + rateifacestian[j][i]

z2.append(s2/21)

s2=0.0

z2=np.array(z2)

z2=z2.flatten()

z2= np.c_[z2]

## print z2

rata2 = np.mean(z2)

vr2 = z2 - rata2

#transpos

vt2 = vr2.transpose()

#jumlah kolom

jkvr2 = len(vr2)

#kovarian

cov2 = (float(1)/(float(jkvr2)-float(1)))*(vt2.dot(vr2))

#eigenvalue dan eigenvektor

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 76: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-4

eigen_values2, eigen_vektors2 = np.linalg.eig(cov2)

#eigenface

eigen_face2 = eigen_vektors2*vr2

image_dir3 = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/Vinsent")

for root,dirs,files in os.walk(image_dir3):

rateifacesvinsent=[]

for file in files:

if file.endswith("png") or file.endswith("jpg"):

path3=os.path.join(root,file)

## print(path,i)

pil_image3 = Image.open(path3).convert("L") #grayscale

new_img3 = pil_image3.resize((80,80))

image_array3 = np.array(new_img3,"uint8")

# ke vektor

vektor_baris3 = image_array3.flatten()

vektor_kolom3 = np.c_[vektor_baris3]

## print 'vektor kolom = ',vektor_kolom

rateifacesvinsent.append(vektor_kolom3)

z3=[]

s3=0.0

for i in range (6400):

for j in range (21):

s3 = s3 + rateifacesvinsent[j][i]

z3.append(s3/21)

s3=0.0

z3=np.array(z3)

z3=z3.flatten()

z3= np.c_[z3]

rata3 = np.mean(z3)

vr3 = z3 - rata3

#transpos

vt3 = vr3.transpose()

#jumlah kolom

jkvr3 = len(vr3)

#kovarian

cov3 = (float(1)/(float(jkvr3)-float(1)))*(vt3.dot(vr3))

#eigenvalue dan eigenvektor

eigen_values3, eigen_vektors3 = np.linalg.eig(cov3)

#eigenface

eigen_face3 = eigen_vektors3*vr3

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 77: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-5

image_dir4 = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/Panji")

for root,dirs,files in os.walk(image_dir4):

rateifacespanji=[]

for file in files:

if file.endswith("png") or file.endswith("jpg"):

path4=os.path.join(root,file)

## print(path,i)

pil_image4 = Image.open(path4).convert("L") #grayscale

new_img4 = pil_image4.resize((80,80))

image_array4 = np.array(new_img4,"uint8")

# ke vektor

vektor_baris4 = image_array4.flatten()

vektor_kolom4 = np.c_[vektor_baris4]

## print 'vektor kolom = ',vektor_kolom

rateifacespanji.append(vektor_kolom4)

z4=[]

s4=0.0

for i in range (6400):

for j in range (21):

s4 = s4 + rateifacespanji[j][i]

z4.append(s4/21)

s4=0.0

z4=np.array(z4)

z4=z4.flatten()

z4= np.c_[z4]

rata4 = np.mean(z4)

vr4 = z4 - rata4

#transpos

vt4 = vr4.transpose()

#jumlah kolom

jkvr4 = len(vr4)

#kovarian

cov4 = (float(1)/(float(jkvr4)-float(1)))*(vt4.dot(vr4))

#eigenvalue dan eigenvektor

eigen_values4, eigen_vektors4 = np.linalg.eig(cov4)

#eigenface

eigen_face4 = eigen_vektors4*vr4

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 78: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-6

Listing Program Pengenalan Wajah Dengan Pengambilan Testing wajah

Dari Database

import os

import numpy as np

from PIL import Image

import cv2

from hitdatabasev2 import eigen_face,eigen_face2,eigen_face3,eigen_face4

import RPi.GPIO as GPIO

import time

import sys

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11,GPIO.OUT)

GPIO.setup(16,GPIO.OUT)

GPIO.setup(18,GPIO.OUT)

GPIO.setup(29,GPIO.IN)

q=GPIO.PWM(11,50)

q.start(7.5)

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

image_dir = os.path.join(BASE_DIR,

"/home/pi/Documents/skripsi/Skripsi/fototestinghitv2")

##print image_dir

for root,dirs,files in os.walk(image_dir):

rateifaces=[]

for file in files:

if file.endswith("png") or file.endswith("jpg"):

path=os.path.join(root,file)

## print(path,i)

pil_image = Image.open(path).convert("L") #grayscale

new_img = pil_image.resize((80,80))

image_array = np.array(new_img,"uint8")

## print image_array

# ke vektor

vektor_baris = image_array.flatten()

vektor_kolom = np.c_[vektor_baris]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 79: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-7

## print 'vektor kolom = ',vektor_kolom

rata = np.mean(vektor_kolom)

vr = vektor_kolom - rata

#transpos

vt = vr.transpose()

#jumlah kolom

jkvr = len(vr)

#kovarian

cov = (float(1)/(float(jkvr)-float(1)))*(vt.dot(vr))

#eigenvalue dan eigenvektor

eigen_values, eigen_vektors = np.linalg.eig(cov)

#eigenface

eigen_facetest = eigen_vektors*vr

#jumlah

sef=sum(eigen_facetest)

hasil = []

kuadrat=[]

kuadrat2=[]

kuadrat3=[]

kuadrat4=[]

for i in range (6400):

kuadrat.append((eigen_facetest[i]-eigen_face[i])**2)

jumlah = sum(kuadrat)

akar = np.sqrt(jumlah)

hasil.append(akar)

for i in range (6400):

kuadrat2.append((eigen_facetest[i]-eigen_face2[i])**2)

jumlah2 = sum(kuadrat2)

akar2 = np.sqrt(jumlah2)

hasil.append(akar2)

for i in range (6400):

kuadrat3.append((eigen_facetest[i]-eigen_face3[i])**2)

jumlah3 = sum(kuadrat3)

akar3 = np.sqrt(jumlah3)

hasil.append(akar3)

for i in range (6400):

kuadrat4.append((eigen_facetest[i]-eigen_face4[i])**2)

jumlah4 = sum(kuadrat4)

akar4 = np.sqrt(jumlah4)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 80: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-8

hasil.append(akar4)

print hasil

minimum = min(hasil)

if minimum == hasil[0]:

print 'marco'

print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

time.sleep(5)

elif minimum == hasil[1]:

print 'tian'

print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

time.sleep(5)

elif minimum == hasil[2]:

print 'vinsent'

print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

time.sleep(5)

elif minimum == hasil[3]:

print 'panji'

print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

time.sleep(5)

while 1:

if GPIO.input(29) == GPIO.HIGH:

q.ChangeDutyCycle(12.5)

print "terkunci"

GPIO.output(16, True)

GPIO.output(18,0)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 81: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-9

Listing Program GUI, Mikro Servo dan Limit Switch

import os

import numpy as np

import cv2

import Tkinter as tk

from Tkinter import*

from PIL import Image, ImageTk

import time

import sys

from hitdatabasev2 import eigen_face,eigen_face2,eigen_face3,eigen_face4

import RPi.GPIO as GPIO

import thread

#setup GPIO

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BOARD)

GPIO.setup(11,GPIO.OUT)

GPIO.setup(16,GPIO.OUT)

GPIO.setup(18,GPIO.OUT)

GPIO.setup(29,GPIO.IN)

q=GPIO.PWM(11,50)

q.start(7.5)

tanda = 0

#Setup GUI

window = tk.Tk() #window utama

window.wm_title("TAMPILAN WEBCAM")

window.config(background="CYAN")

#Graphics window

imageFrame = tk.Frame(window, width=720, height=500)

imageFrame.grid(row=0, column=0, padx=10, pady=2)

#Capture video frames

cap = cv2.VideoCapture(1)

cap2= cv2.VideoCapture(0)

face =

cv2.CascadeClassifier('/home/pi/Documents/skripsi/Skripsi/haarcascade_frontalface_defau

lt.xml')

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 82: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-10

def show_frame():

_, frame = cap.read()

frame = cv2.flip(frame, 1)

__, frame2 = cap2.read()

frame2 = cv2.flip(frame2, 1)

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

#MENERAPKAN ALGORITMA DARI FACE KEDALAM GRAY

muka = face.detectMultiScale(gray, 1.3, 5) #1.3 DAN 5 BERFUNGSI SEBAGAI

ANGKA KEAKURATAN ALGORITMA

muka2 = face.detectMultiScale(gray2, 1.3, 5)

#MENGGAMBAR SEBUAH KOTAK DIMUKA YANG TERDETEKSI

for (x,y,w,h) in muka:

cv2.rectangle(frame, (x,y), (x+w, y+h), (0, 0, 255), 5)

for (x,y,w,h) in muka2:

cv2.rectangle(frame2, (x,y), (x+w, y+h), (0, 0, 255), 5)

cv2image = cv2.cvtColor(frame, cv2.COLOR_BGR2RGBA)

cv2image2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2RGBA)

img = Image.fromarray(cv2image)

img2 = Image.fromarray(cv2image2)

imgtk = ImageTk.PhotoImage(image=img)

imgtk2 = ImageTk.PhotoImage(image=img2)

display1.imgtk = imgtk #menampilkan frame untuk display 1

display1.configure(image=imgtk)

display2.imgtk2 = imgtk2 #menampilakan frame untuk display 2

display2.configure(image=imgtk2)

window.after(10, show_frame)

display1 = tk.Label(imageFrame)

display1.grid(row=0, column=0, padx=10, pady=2) #Display 1

display2 = tk.Label(imageFrame)

display2.grid(row=0, column=1) #Display 2

def masuk():

_, frame = cap.read()

frame = cv2.flip(frame, 1)

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

muka = face.detectMultiScale(gray, 1.3, 5)

for (x,y,w,h) in muka:

cv2.imwrite('/home/pi/Documents/skripsi/Skripsi/orang-masuk-keluar/masuk'+".jpg",

gray[y:y + h, x:x + w])

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 83: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-11

image_dir = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/orang-

masuk-keluar")

for root,dirs,files in os.walk(image_dir):

for file in files:

if file.endswith("masuk.png") or file.endswith("masuk.jpg"):

path=os.path.join(root,file)

## print(path)

pil_image = Image.open(path).convert("L") #grayscale

new_img = pil_image.resize((80,80))

image_array = np.array(new_img,"uint8")

# ke vektor

vektor_baris = image_array.flatten()

vektor_kolom = np.c_[vektor_baris]

#mencari rata-rata

rata = np.mean(vektor_kolom)

#pengurangan vektor kolom dengan rata-rata

vr= vektor_kolom - rata

#jumlah kolom

jkvr = len(vr)

#transpose

vt = vr.transpose()

#matriks kovarian

cov = (float(1)/(float(jkvr)-float(1)))*(vt.dot(vr))

#eigenvalue dan eigenvektor

eigen_values, eigen_vektors = np.linalg.eig(cov)

#eigenface

eigen_facetesting = eigen_vektors*vr

## print 'data real =' ,eigen_face,'\n'

hasil = []

kuadrat=[]

kuadrat2=[]

kuadrat3=[]

kuadrat4=[]

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 84: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-12

for i in range (6400):

kuadrat.append((eigen_facetesting[i]-eigen_face[i])**2)

jumlah = sum(kuadrat)

akar = np.sqrt(jumlah)

hasil.append(akar)

for i in range (6400):

kuadrat2.append((eigen_facetesting[i]-eigen_face2[i])**2)

jumlah2 = sum(kuadrat2)

akar2 = np.sqrt(jumlah2)

hasil.append(akar2)

for i in range (6400):

kuadrat3.append((eigen_facetesting[i]-eigen_face3[i])**2)

jumlah3 = sum(kuadrat3)

akar3 = np.sqrt(jumlah3)

hasil.append(akar3)

for i in range (6400):

kuadrat4.append((eigen_facetesting[i]-eigen_face4[i])**2)

jumlah4 = sum(kuadrat4)

akar4 = np.sqrt(jumlah4)

hasil.append(akar4)

global tanda

print hasil

minimum = min(hasil)

print minimum

if minimum == hasil[0]:

print 'marco'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[1]:

print 'tian'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[2]:

print 'vinsent'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[3]:

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 85: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-13

print 'panji'

print 'terbuka'

print tanda

tanda = 1

## DELETE FILE DI FOLDER

## folder = 'E:\kuliah\Skripsi\orang-masuk-keluar'

## for the_file in os.listdir(folder):

## file_path = os.path.join(folder, the_file)

## try:

## if os.path.isfile(file_path):

## os.unlink(file_path)

## #elif os.path.isdir(file_path): shutil.rmtree(file_path)

## except Exception as e:

## print(e)

def keluar():

_, frame2 = cap2.read()

frame2 = cv2.flip(frame2, 1)

gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

muka2 = face.detectMultiScale(gray2, 1.3, 5)

for (x,y,w,h) in muka2:

cv2.imwrite('/home/pi/Documents/skripsi/Skripsi/orang-masuk-keluar/keluar'+".jpg",

gray2[y:y + h, x:x + w])

BASE_DIR = os.path.dirname(os.path.abspath(__file__))

image_dir = os.path.join(BASE_DIR, "/home/pi/Documents/skripsi/Skripsi/orang-

masuk-keluar")

for root,dirs,files in os.walk(image_dir):

for file in files:

if file.endswith("keluar.png") or file.endswith("keluar.jpg"):

path=os.path.join(root,file)

## print(path)

pil_image = Image.open(path).convert("L") #grayscale

new_img = pil_image.resize((80,80))

image_array = np.array(new_img,"uint8")

# ke vektor

vektor_baris = image_array.flatten()

vektor_kolom = np.c_[vektor_baris]

#mencari rata-rata

rata = np.mean(vektor_kolom)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 86: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-14

#pengurangan vektor kolom dengan rata-rata

vr= vektor_kolom - rata

#jumlah kolom

jkvr = len(vr)

#transpose

vt = vr.transpose()

#matriks kovarian

cov = (float(1)/(float(jkvr)-float(1)))*(vt.dot(vr))

#eigenvalue dan eigenvektor

eigen_values, eigen_vektors = np.linalg.eig(cov)

#eigenface

eigen_facetesting = eigen_vektors*vr

## print 'data real =' ,eigen_face,'\n'

hasil = []

kuadrat=[]

kuadrat2=[]

kuadrat3=[]

kuadrat4=[]

for i in range (6400):

kuadrat.append((eigen_facetesting[i]-eigen_face[i])**2)

jumlah = sum(kuadrat)

akar = np.sqrt(jumlah)

hasil.append(akar)

for i in range (6400):

kuadrat2.append((eigen_facetesting[i]-eigen_face2[i])**2)

jumlah2 = sum(kuadrat2)

akar2 = np.sqrt(jumlah2)

hasil.append(akar2)

for i in range (6400):

kuadrat3.append((eigen_facetesting[i]-eigen_face3[i])**2)

jumlah3 = sum(kuadrat3)

akar3 = np.sqrt(jumlah3)

hasil.append(akar3)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 87: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-15

for i in range (6400):

kuadrat4.append((eigen_facetesting[i]-eigen_face4[i])**2)

jumlah4 = sum(kuadrat4)

akar4 = np.sqrt(jumlah4)

hasil.append(akar4)

global tanda

print hasil

minimum = min(hasil)

print minimum

if minimum == hasil[0]:

print 'marco'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[1]:

print 'tian'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[2]:

print 'vinsent'

print 'terbuka'

print tanda

tanda = 1

elif minimum == hasil[3]:

print 'panji'

print 'terbuka'

print tanda

tanda = 1

b1=Button(imageFrame,text='Capture1',command=masuk)

b1.grid(row=1, column=0)

b2=Button(imageFrame,text='Capture2',command=keluar)

b2.grid(row=1,column=1)

def servo():

while 1:

global tanda

time.sleep(0.01)

if GPIO.input(29) == GPIO.HIGH and tanda == 0:

q.ChangeDutyCycle(12.5)

## print "terkunci"

GPIO.output(16, True)

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI

Page 88: PENGENALAN WAJAH UNTUK SISTEM KEAMANAN PINTU …

L-16

GPIO.output(18,0)

elif GPIO.input(29) == GPIO.HIGH and tanda == 1:

## print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

time.sleep(5)

tanda = 0

elif GPIO.input(29) == GPIO.LOW and tanda == 1:

## print "terbuka"

q.ChangeDutyCycle(7.5)

GPIO.output(18, True)

GPIO.output(16, 0)

tanda = 0

elif GPIO.input(29) == GPIO.LOW and tanda == 0:

q.ChangeDutyCycle(7.5)

## print "terbuka"

GPIO.output(18, True)

GPIO.output(16,0)

show_frame() #Display

thread.start_new_thread(servo,())

window.mainloop() #Starts GUI

PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI