Anda di halaman 1dari 146

SISTEM KEAMANAN AKSES PINTU MASUK MENGGUNAKAN FACE

RECOGNITION BERBASIS RASPBERRY PI 3

TUGAS AKHIR

Disusun dalam Rangka Memenuhi Salah Satu Persyaratan Untuk Menyelesaikan

Program Strata Satu Departemen Elektro Fakultas Teknik

Universitas

Hasanuddin Makassar

Oleh :

FADEL MUHAMMAD

D411 14 307

DEPARTEMEN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS HASANUDDIN

MAKASSAR

2018
LEMBAR PENGESMtaN

SlSTEM'f KEAMAhAN AKSES PINTtI M11LJX MENGGUXAKA.1


FAC'E RFCOG! ITION BF.RRASTS RASPBERRY PI
J

FADkL MLIHAMMAD

f7isahlcan oleh:

Pcmbimbing I
Pcinbimbing II

Dr . Zsbir Zaiauddin.W.Sc. Dt. tr. Inyrid Nartania .LIT.


NIP. I9f›40427 I9g9l0 I tXl2
HIP.i¥s›o8i3 i9a4i i z ai

Mengctahui.
Kctua I3cpartcnwn Tcknik Elcktro

P”Dr, lr. H. ñatama k1ani»


Optimization Software: l'962l23l 1Whl3 1 024
ABSTRAK

Teknologi biometrik untuk keamanan yang berkembang saat ini seperti


pengenalan sidik jari, pengenalan retina mata, dan sebagainya mengharuskan
seseorang memposisikan tubuh mereka pada posisi tertentu yang sesuai dengan
posisi sensor ataupun kamera yang membuat teknologi ini terkesan kaku. Untuk
itu diperlukan sebuah sistem identifikasi yang lebih fleksibel dan bersifat otomatis
yang dapat mencegah pencurian dan juga dapat memberikan peringatan langsung
kepemilik rumah. Pada sistem ini dirancang sebuah sistem keamanan untuk akses
pintu masuk yang menggunakan face recognition berbasis Raspberry Pi.
Raspberry Pi adalah sebuah komputer berpapan tunggal yang mampu melakukan
tugas-tugas layaknya komputer, bahkan mampu melakukan pengolahan citra
dengan respon yang cepat. Untuk face recognition menggunakan metode SURF
(Speeded-Up Robust Features) dimana akan dicari sebuah titik penting dari citra
sample dan citra database, kemudian akan dilakukan pencocokan citra. Untuk
pemberitahuan kepada pemilik digunakan aplikasi Telegram yang mengirim data
citra dan pesan. Serta digunakan relay sebagai aktuator. Dengan pencocokan
wajah pada Raspberry Pi dengan menggunakan metode SURF mendapatkan
keakuratan sebesar 91,4% dengan waktu proses alat keseluruhan sebesar 3.813
detik untuk pengendalian relay dan proses alat sampai mengirimkan data citra dan
teks ke Telegram rata-rata 4.641 detik. Serta untuk pengendalian relay melalui
Telegram memiliki delay sebesar
0.85 detik.

Kata kunci: Face Recognition, Raspberry Pi, SURF, Telegram, Relay

iii
KATA PENGANTAR

Bismillahirrahmanirrahim. Puji dan syukur penulis panjatkan ke hadirat

Allah subhanu wata’ala atas limpahan rahmat dan hidayah-Nya sehingga skripsi

ini dapat terselesaikan. Shalawat dan salam selalu tercurahkan kepada junjungan

kita Rasulullah sallallahu ‘alaihi wasallam. Penyelesaian skripsi ini merupakan

upaya penulis dalam memenuhi salah satu syarat guna memeroleh gelar Sarjana

Teknik di Departemen Teknik Elektro Fakultas Teknik Universitas Hasanuddin.

Penulis persembahkan skripsi sederhana ini agar menjadi sebuah

kebanggaan bagi kedua orang tua. Kedua orang tua peneliti yang dengan setulus

hati, keikhlasan jiwa, butiran doa dan keringat jerih payahnya dalam

membesarkan dan mendidik ananda. Semoga kalian berdua selalu diberi umur

panjang dan senantiasa dikaruniai kesehatan.

Skripsi ini berjudul Sistem Keamanan Akses Pintu Masuk Menggunakan

Face Recognition Berbasis Raspberry Pi 3. Penulis menyadari bahwa dalam

penyusunan skripsi ini mengalami berbagai kesulitan. Namun, berkat ketekunan

dan usaha yang disertai doa, penulisan skripsi ini akhirnya dapat terselesaikan.

Penyusunan skripsi ini juga tidak terlepas dari bantuan, dorongan, semangat, serta

bimbingan dari berbagai pihak. Sehebungan dengan hal tersebut, penulis

sewajarnya menyampaikan terima kasih kepada:

1. Orang tua dan saudara-saudara kami tercinta, serta seluruh keluarga

atas segala doa, bantuan, nasehat, dan motivasinya.

2. Bapak Prof. Dr. Ir. H. Salama Manjang, M.T., selaku Ketua

Departemen Teknik Elektro Fakultas Teknik Universitas Hasanuddin.


3. Bapak Dr. Ir. Zahir Zainuddin, M.Sc. selaku pembimbing I dan Ibu

Dr. Ir. Ingrid Nurtanio, M.T. selaku Pembimbing II, terima kasih

telah meluangkan waktu dan memberikan bimbingan, gagasan, serta

ide-ide dalam penyelesaian skripsi ini.

4. Seluruh dosen dan staf pengajar, serta pegawai Departemen Teknik

Elektro atas segala ilmu, bantuan, dan kemudahan yang diberikan

selama kami menempuh proses perkuliahan.

5. Seluruh kanda-kanda yang ada di Laboratorium Computer Based

System yang telah bersedia memberikan saran, masukan, dan bantuan

dalam menyelesaikan skripsi kami.

6. Kepada Rekan-Rekan “Rectifier 2014” Departemen Teknik Elektro

angkatan 2014 yang sejak pertama menginjakkan kaki di Universitas

Hasanuddin hingga saat ini berjuang bersama penulis untuk menuntut

ilmu di kampus merah tercinta.

7. Kepada teman seperjuangan para pengejar ST periode bulan September,

yang membantu dalam menyiapkan berkas serta membantu menyiapkan

tempat ujian kami.

8. Kepada Laila Arliana yang selalu memberikan semangat untuk

menyelesaikan tugas akhir ini.

9. Seluruh pihak yang tidak dapat kami sebutkan satu-persatu yang telah

membantu dan mendukung kami dalam menyelesaikan tugas akhir ini.

Penulis menyadari bahwa masih banyak kekurangan yang terdapat dalam

skripsi ini, oleh karena itu saran dan kritik dari semua pihak diharapkan untuk

v
kesempurnaan skripsi ini. Penulis berharap semoga skripsi ini dapat diterima

sebagai sumbangan pikiran peneliti yang mendatangkan manfaat baik bagi penulis

maupun pembacanya.

Akhir kata semoga skripsi ini dapat bermanfaat bagi penulis sendiri,

institusi pendidikan dan masyarakat luas.

Makassar, Agustus 2018

Fadel Muhammad
DAFTAR ISI

LEMBAR PENGESAHAN......................................Error! Bookmark not defined.

ABSTRAK..............................................................................................................ii

KATA PENGANTAR...........................................................................................iv

DAFTAR ISI........................................................................................................vii

DAFTAR GAMBAR..............................................................................................x

DAFTAR TABEL................................................................................................xii

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

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

1.2. Rumusan Masalah............................................................................2

1.3. Tujuan Penelitian..............................................................................3

1.4. Batasan Masalah...............................................................................3

1.5. Metode Penelitian.............................................................................4

1.6. Sistematika Penulisan.......................................................................5

BAB II LANDASAN TEORI................................................................................7

2.1. Raspberry PI.....................................................................................7

2.1.1. Raspberry Pi 3.........................................................................7

2.1.2. GPIO Raspberry Pi 3..............................................................8

2.1.3. Sistem Operasi Raspberry Pi................................................10

2.2. Bahasa Pemrograman Python.........................................................10

2.3. WebCam.........................................................................................11

2.4. Push Button....................................................................................12

2.5. Relay...............................................................................................14
2.6. Solenoid Door Lock.......................................................................14

2.7. Buzzer.............................................................................................15

2.8. OpenCV..........................................................................................16

2.9. Pengolahan Citra............................................................................17

2.10. Algortima Viola-Jones...................................................................19

2.11. Algoritma SURF (Speeded-Up Robust Features)..........................20

2.11.1. Pendeteksian Fitur.................................................................21

2.11.2. Pendeskrispian Titik Fitur.....................................................24

2.11.3. Pencocokan Fitur..................................................................26

2.12. Metode FLANN (Fast Library Approximated Nearest Neighbor) 26

2.13. Internet.............................................................................................27

2.14. Telegram.........................................................................................27

BAB III PERANCANGAN SISTEM................................................................28

3.1. Rancangan Umum..........................................................................28

3.2. Perancangan Perangkat Keras........................................................30

3.2.1. Miniatur Pintu.......................................................................30

3.2.2. Perancangan Sistem Elektronik............................................31

3.3. Perancangan Perangkat Lunak.......................................................35

3.3.1. WebCam...............................................................................37

3.3.2. Kontrol Relay dan Buzzer.....................................................38

3.3.3. Pengenalan Wajah.................................................................38

3.3.4. Rancangan Telegram............................................................45

viii
BAB IV PENGUJIAN DAN ANALISA.............................................................49

4.1. Pengujian Akurasi Pencocokan Wajah.............................................49

4.1.1. Pengujian Citra Sesuai Database..........................................50

4.1.2. Pengujian Citra Tidak Sesuai Database...............................53

4.2. Pengujian Dan Analisis Waktu Delay Pengendalian Relay...........56

4.3. Pengujian Kerja Alat Secara Keseluruhan.....................................57

4.4. Pengujian Delay Pengiriman Data Ke Telegram...........................59

BAB V PENUTUP...............................................................................................61

5.1. Kesimpulan.....................................................................................62

5.2. Saran...............................................................................................63

DAFTAR PUSTAKA

LAMPIRAN

viii
DAFTAR GAMBAR

Gambar 2.1 Logo Raspberry Pi................................................................................7

Gambar 2.2 Bagian-bagian Raspberry Pi 3..............................................................8

Gambar 2.3 PIN GPIO Raspberry pi 3 Model B.....................................................9

Gambar 2.4 Blok 40 PIN GPIO Raspberry Pi 3 Model B.....................................10

Gambar 2.5 Webcam Logitech..............................................................................12

Gambar 2.6 Contoh push button............................................................................12

Gambar 2.7 Modul Relay 1 Channel......................................................................14

Gambar 2.8 Rangkaian dalam solenoid door lock.................................................15

Gambar 2.9 Buzzer................................................................................................16

Gambar 2.10 Citra 200x80 di-skala 1:5 dan 1:8....................................................18

Gambar 2.11 Struktur piramida............................................................................21

Gambar 2.12 Laplacian of Gaussian didiskritisasi menjadi kotak filter...............22

Gambar 2.13 Penskalaan citra pada algoritma SURF............................................23

Gambar 2.14 Hubungan antara skala dan oktaf pada ukuran kernel.....................23

Gambar 2.15 Delay Haar Wavelet.........................................................................24

Gambar 2.16 Wavelet dalam arah horizontal dan vertikal.....................................25

Gambar 2.17 Mencari delay wavelet di area 20s yang dibagi ke dalam 4 x 4 sub-

area....................................................................................................25

Gambar 2.18 Contoh keypoint matching................................................................27

Gambar 3.1 Blok diagram sistem...........................................................................29

Gambar 3.2 Miniatur tampak depan......................................................................30

Gambar 3.3 Miniatur tampak belakang..................................................................31

x
Gambar 3.4 Skematik Sistem Elektronik...............................................................32

Gambar 3.5 Flowchart Sistem................................................................................35

Gambar 3.6 Flowchart pengenalan wajah..............................................................39

Gambar 3.7 Hasil deteksi wajah............................................................................40

Gambar 3.8 Gambar hasil pendeteksian fitur.........................................................42

Gambar 3.9 Hasil proses FLANN..........................................................................45

Gambar 3.10 Pembuatan Telegram Bot.................................................................46

Gambar 4.1 Hasil Pengujian Citra Sesuai Database..............................................50

Gambar 4.2 Hasil Pencocokan Citra Tidak Sesuai Database.................................53

Gambar 4.3 Proses Pengujian Delay Relay Dengan Telegram..............................56

Gambar 4.4 Citra dan teks pada Telegram.............................................................60


DAFTAR TABEL

Tabel 2.1 Modul dalam OpenCV...........................................................................16

Tabel 4.1 Hasil pengujian citra sesuai database.....................................................51

Tabel 4.2 Hasil pengujian citra tidak sesuai database............................................54

Tabel 4.3 Hasil pengujian delay Relay dengan Telegram.....................................57

Tabel 4.4 Hasil pengujian kerja alat sampai pengendalian relay...........................58

Tabel 4.5 Hasil pengujian delay pengiriman data ke Telegram.............................60


BAB I

PENDAHULUAN

1.1. Latar Belakang

Teknologi komputer pada saat ini berkembang dengan sangat pesatnya dan

merupakan salah satu bidang yang mempunyai peran yang sangat penting

dibeberapa aspek kehidupan manusia, termasuk pada bidang security. Saat ini

telah banyak dikembangkan sebuah sistem pengamanan akses masuk ke sebuah

rumah atau ruangan dengan beberapa verifikasi identitas dengan sistem komputer,

baik dengan menggunakan kunci, kartu, password, dan sebagainya. Namun

metode ini masih memiliki kekurangan seperti keterbatasan manusia dalam

mengingat benda dan kombinasi angka yang menyebabkan tidak dapatnya diakses

pintu tersebut. Oleh sebab itu teknik untuk identifikasi ataupun verifikasi yang

handal dan akurat dapat dirancang menggunakan teknologi biometrik yang

memanfaatkan karakteristik khusus dari individu manusia tersebut.

Penggunaan teknologi ini sangat cocok untuk diimplementasikan pada

sistem identifikasi yang membutuhkan keamanan yang tinggi. Teknologi

biometrik untuk keamanan yang berkembang saat ini seperti pengenalan sidik jari,

pengenalan retina mata, pengenalan iris mata, dan sebagainya mengharuskan

seseorang memposisikan tubuh mereka pada posisi tertentu yang sesuai dengan

posisi sensor ataupun kamera yang membuat teknologi ini terkesan kaku.

Teknologinya mengharuskan orang tersebut untuk tidak bergerak dalam beberapa

waktu tertentu

1
selama proses identifikasi untuk membuat sistem pembacaannya akurat. [1]

1
Untuk itu diperlukan sebuah sistem identifikasi yang lebih fleksibel dan

bersifat otomatis yang dapat mencegah pencurian dan juga dapat memberikan

peringatan langsung ke pemilik rumah. Dengan sistem yang seperti ini akan

sangat mudah untuk mencegah terjadinya pencurian dan dapat memudahkan

pemilik rumah untuk mengidentifikasi pelaku apabila telah terjadi pencurian.

Oleh karena itu tugas akhir ini akan membuat prototipe keamanan akses

pintu menggunakan face recognition berbasis Raspberry Pi dengan menggunakan

algoritma Speeded-Up Robust Feature (SURF) untuk mencari titik pada wajah

yang nantinya akan dilakukan pencocokan antara sample dan database. Pada

prototipe ini Raspberry Pi 3 sebagai pengontrol utama. USB Webcam sebagai

pendeteksi dan pengambil gambar. Aplikasi telegram sebagai pemberitahuan

kepemilik dan sebagai pengatur sistem. Internet sebagai media penghubung

komunikasi. Push button sebagai pembuka sistem secara manual. Serta

menggunakan Solenoid Lock Door sebagai actuator.

Dengan adanya prototipe ini nantinya dapat dikembangkan menjadi alat

yang lebih baik dan dapat digunakan oleh masyarakat umum dimasa yang akan

datang.

1.2. Rumusan Masalah

Berdasarkan uraian di atas, maka dapat dirumuskan masalah yang melatar

belakangi tugas akhir ini yaitu:

a. Bagaimana membuat suatu prototipe keamanan pintu yang dapat

memberikan alarm untuk mencegah terjadinya pencurian rumah dan

2
dapat
engirimkan pemberitahuan melalui aplikasi telegram ke pemilik rumah?

2
b. Bagaimana sistem dapat mengenali wajah menggunakan algoritma

Speeded-Up Robust Feature (SURF)?

c. Bagaimana delay actuator dan aplikasi telegram terhadap sistem ketika

bekerja?

1.3. Tujuan Penelitian

Tujuan penelitian tugas akhir ini adalah sebagai berikut:

a. Menghasilkan sebuah prototipe sistem yang dapat memberikan alarm

untuk mencegah terjadinya pencurian rumah dan dapat mengirimkan

pemberitahuan melalui aplikasi telegram ke pemilik rumah.

b. Merancang dan menganalisis sistem pengenalan wajah dengan algoritma

Speeded-Up Robust Feature (SURF).

c. Mengetahui seberapa cepat delay actuator dan aplikasi telegram terhadap

sistem ketika bekerja.

1.4. Batasan Masalah

Dalam tugas akhir ini sistem yang akan dibuat, dibatasi pada hal-hal

sebagai berikut:

a. Membuat prototipe dengan gambaran pada pintu masuk.

b. Menggunakan Raspberry Pi 3 sebagai pusat kendali.

c. Menggunakan bahasa pemrograman Phyton.

d. Mengenali wajah hanya tampak dari depan.

e. Menggunakan resolusi citra wajah yang berbeda.

f. Menggunakan lampu tiga watt sebagai pencahayaan.

3
1.5. Metode Penelitian

Adapun metode penelitian yang digunakan dalam tugas akhir ini adalah

sebagai berikut :

1. Studi Literatur

Studi literatur dilakukan dengan cara pencarian dan pengumpulan

literatur-literatur yang berkaitan dengan masalah-masalah yang ada pada

tugas akhir ini, baik berupa artikel, buku refrensi, jurnal-jurnal, internet,

dan sumber-sumber yang dapat menunjang penelitian.

2. Diskusi dan Konsultasi.

Melakukan asistensi secara langsung kepada dosen pembimbing dan

pihak-pihak yang berkompoten pada bidang ini.

3. Perancangan Alat.

Meliputi perancangan hardware (perangkat keras) dan perancangan

software (perangkat lunak) dari sistem ini serta pembuatan database

untuk beberapa contoh wajah.

4. Pembuatan Alat

Melakukan pembuatan perangkat keras dan membuat perangkat lunak

sehingga siap untuk dilakukan uji coba.

5. Pengujian Alat

Meliputi pengujian terhadap alat dengan menghasilkan data-data dengan

beberapa parameter yang diterapkan untuk selanjutnya akan dianalisa


6. Analisa Hasil dan Simpulan

Melakukan Analisa terhadap seluruh data yang telah diperoleh kemudian

membandingkan dengan beberapa sistem keamanan yang telah ada

sehingga dapat diperoleh sebuah kesimpulan dari hasil tersebut.

1.6. Sistematika Penulisan

Sistematika penulisan yang digunakan dalam penulisan Tugas Akhir ini

adalah sebagai berikut:

BAB I PENDAHULUAN

Pada bab ini berisikan mengenai latar belakang, rumusan masalah,

tujuan penulisan, batasan masalah, metode penelitian, dan sistematika

penulisan.

BAB II LANDASAN TEORI

Pada bab ini dijelaskan tentang berbagai teori-teori yang berkaitan

dengan Tugas Akhir ini.

BAB III PERANCANGAN SISTEM

Pada bab ini menjelaskan tentang perancangan perangkat keras maupun

perangkat lunak yang digunakan dalam Tugas Akhir ini.

BAB IV HASIL DAN ANALISA

Pada bab ini berisi hasil perancangan dan penjelasan baik hardware dan

software yang digunakan, dan analisa mengenai data-data yang diambil


BAB V PENUTUP

Pada bab ini berisi tentang kesimpulan dari pembahasan hasil analisa

yang dilakukan dan saran perbaikan untuk menyempurnakan tugas

akhir ini.
BAB II

LANDASAN TEORI

2.1. Raspberry PI

Raspberry Pi adalah sebuah komputer papan tunggal (single-board

computer) atau SBC berukuran kartu kredit. Raspberry Pi telah dilengkapi dengan

semua fungsi sebuah komputer lengkap, menggunakan SoC (System-on-a-chip)

ARM yang dikemas dan diintegrasikan diatas PCB. Perangkat ini menggunakan

kartu microSD untuk booting dan penyimpanan jangka panjang [2].

Gambar 2.1 Logo Raspberry Pi [2]

2.1.1. Raspberry Pi 3

Model ini yang terbaik saat ini karena kecepatannya mencapai 4 kali lipat

dari Pi 2. Selain itu, versi ini sudah memiliki built-in WiFi (802.11n) dan

Bluetooth 4, serta Bluetooth Low Energy (BLE). Spesifikasinya adalah sebagai

berikut:

a) CPU 64-bit quad-core ARMv8 1.2GHz

b) RAM 1 GB

Raspberry Pi 3 dibanderol dengan harga yang sama dengan Pi 2. Oleh karena


itu model ini memiliki nilai ekonomis yang lebih tinggi sehingga pembeli tidak
perlu mengeluarkan biaya tambahan untuk membeli WiFi dan Bluetooth USB,

karena lebih cepat dan lengkap.

Sama seperti Pi 2, Raspberry Pi 3 juga memiliki 4 USB port, 40 pin GPIO,

Full HDMI port, Port Ethernet, Combined 3.5mm audio jack and composite video,

Camera interface (CSI), Display interface (DSI), slot kartu Micro SD (Sistem

tekan-tarik, berbeda dari yang sebelumnya ditekan-tekan), dan VideoCore IV 3D

graphics core[3]. Gambar 2.2 memperlihatkan bagian-bagian Raspberry Pi 3.

Gambar 2.2 Bagian-bagian Raspberry Pi 3 [3]

2.1.2. GPIO Raspberry Pi 3

Salah satu fitur yang kuat dari Raspberry Pi adalah deretan GPIO (General

Purpose Input/Output) pin di sepanjang tepi atas pin board merupakan antarmuka

fisik antara Pi dan dunia luar. Pada tingkat yang paling sederhana, dapat dianggap

sebagai switch yang dapat mengaktifkan atau menonaktifkan (input) atau bahwa

Pi dapat mengaktifkan atau menonaktifkan (output). GPIO terdiri dari 40 pin

dengan berbagai fungsi.

8
Dari 40 pin, 26 pin GPIO dan yang lain adalah pin power atau ground

(ditambah dua pin ID EEPROM yang tidak harus digunakan). Dapat memprogram

pin untuk berinteraksi dengan cara yang menakjubkan dengan dunia nyata. Input

tidak harus berasal dari saklar fisik, itu bisa menjadi masukan dari sensor atau

sinyal dari komputer lain atau perangkat. Misalnya Output juga dapat melakukan

apa saja, dari menyalakan LED untuk mengirim sinyal atau data keperangkat lain.

Ketika Raspberry Pi terhubung pada internet, maka Raspberry Pi dapat

mengontrol perangkat yang terhubung padanya dari mana saja dan perangkat

dapat mengirim data kembali. Konektivitas dan kontrol dari perangkat fisik

melalui internet adalah hal yang sangat kuat dan menarik, dan Raspberry Pi ideal

untuk ini [3]. GPIO Raspberry Pi 3 dapat dilihat pada gambar 2.3.

Gambar 2.3 PIN GPIO Raspberry pi 3 Model B [3]

Lebih lanjut mengenai fungsi masing-masing PIN GPIO pada Raspberry

Pi 3 adalah sebagai berikut:


Gambar 2.4 Blok 40 PIN GPIO Raspberry Pi 3 Model B [3]

2.1.3. Sistem Operasi Raspberry Pi

Raspberry Pi tidak menggunakan sistem operasi yang sering kita jumpai di

sekolah atau di rumah, berupa Windows atau Mac. Ada banyak sistem operasi

yang bisa berjalan di Raspberry Pi seperti RISC OS, FreeBSD, bahkan ada versi

Windows IoT (Internet of Things). Saat ini, Microsoft sudah mulai masuk ke

sistem IoT dengan Windows IoT-nya. Namun, Windows IoT masih tergolong

ribet untuk pemula karena harus coding di PC lalu ditransfer ke Raspberry Pi.

Sistem operasi popular yang digunakan Raspberry Pi adalah Linux yang

disebut dengan Raspbian. Raspbian adalah salah satu sistem Linux yang mudah

untuk digunakan. Cara menggunakannya sudah sama seperti penggunaan

Windows di sekolah atau di rumah [3].

2.2. Bahasa Pemrograman Python

Python adalah bahasa pemrograman interpretatif multiguna. Tidak seperti


bahasa lain yang susah untuk dibaca dan dipahami, python lebih menekankan

pada
pembacaan kode agar lebih mudah untuk memahami sintaks. Python menjadi

Bahasa resmi yang terintegrasi dalam Raspberry Pi. Kata “Pi” pada Raspberry Pi

merupakan selang yang merujuk pada “Python”. Oleh karenanya, tepat dikatakan

bahwa Python adalah Bahasa natural Raspberry Pi.

Bahasa ini muncul pertama kali pada tahun 1991, dirancang oleh seorang

bernama Guido van Rossum. Sampai saat ini Python masih dikembangkan oleh

Python Software Foundation. Bahasa Python mendukung hampir semua sistem

operasi, bahkan untuk sistem operasi Linux [3].

2.3. WebCam

WebCam merupakan gabungan dari kata web dan camera. WebCam

sendiri sebutan bagi kamera real-time (bermakna keadaan pada saat ini juga) yang

gambarnya bisa diakses atau dilihat melalui internet, program instant messaging

seperti Yahoo Messenger, AOL Instant Messenger (AIM), Windows Live

Messenger, dan Skype, dan lainnya. Istilah “webcam” sendiri mengarah pada jenis

kamera yang digunakan untuk kebutuhan layanan berbasis web. Webcam sendiri

biasanya digunakan untuk keperluan konferensi jarak jauh atau juga sebagai

kamera pemantau.

WebCam adalah sebuah peripheral berupa kamera sebagai pengambil

citra/gambar dan mikropon (optional) sebagai pengambil suara/audio yang

dikendalikan oleh sebuah komputer atau oleh jaringan komputer. Gambar yang

diambil oleh WebCam ditampilkan ke layar monitor, karena dikendalikan oleh

komputer maka ada interface atau port yang digunakan untuk menghubungkan

WebCam dengan komputer atau jaringan. Ada beberapa orang mengartikan

11
WebCam sebagai Web pages + Camera, karena dengan menggunakan WebCam

untuk mengambil gambar video secara aktual bisa langsung di upload bila

komputer yang mengendalikan terkoneksi internet [4]. Pada gambar 2.5

menunjukkan salah satu contoh webcam.

Gambar 2.5 Webcam Logitech [4]

2.4. Push Button

Push button switch (saklar tombol tekan) adalah perangkat atau saklar

sederhana yang berfungsi untuk menghubungkan atau memutuskan aliran arus

listrik dengan sistem kerja tekan unlock (tidak mengunci). Sistem kerja unlock

disini berarti saklar akan bekerja sebagai device penghubung atau pemutus aliran

arus listrik saat tombol ditekan, dan saat tombol tidak ditekan (dilepas), maka

saklar akan kembali pada kondisi normal. Gambar 2.6 menunjukkan contoh fisik

push button.

12
Gambar 2.6 Contoh push button [5]

13
Sebagai device penghubung atau pemutus, push button hanya memiliki 2

kondisi, yaitu on dan off (1 dan 0). Istilah on dan off ini menjadi sangat penting

karena semua perangkat listrik yang memerlukan sumber energi listrik pasti

membutuhkan kondisi on dan off.

Karena sistem kerjanya yang unlock dan langsung berhubungan dengan

operator, push button menjadi device paling utama yang biasa digunakan untuk

memulai dan mengakhiri kerja mesin di industri. Secanggih apapun sebuah mesin

bisa dipastikan sistem kerjanya tidak terlepas dari keberadaan sebuah saklar

seperti push button switch atau perangkat lain yang sejenis yang bekerja mengatur

pengkondisian on dan off.

Berdasarkan fungsi kerjanya yang menghubungkan dan memutuskan, push

button mempunyai 2 tipe kontak yaitu NC (Normally Close) dan NO (Normally

Open) [5].

 NO (Normally Open), merupakan kontak terminal dimana kondisi awal

tidak tersambung (aliran arus listrik tidak mengalir). Dan ketika tombol

ditekan, kontak yang NO ini akan menjadi menutup dan mengalirkan

atau menghubungkan arus listrik. Kontak NO digunakan sebagai

penghubung atau menyalakan sistem circuit (push button on).

 NC (Normally Close), merupakan kontak terminal dimana kondisi awal

tersambung (mengalirkan arus litrik). Ketika tombol push button

ditekan, kontak NC ini akan menjadi membuka, sehingga memutus

aliran arus listrik. Kontak NC digunakan sebagai pemutus atau

mematikan sistem circuit (push button off).

13
2.5. Relay

Relay adalah Saklar (switch) yang dioperasikan secara listrik dan

merupakan komponen elektromekanikal yang terdiri dari 2 bagian utama yakni

elektromagnet (coil) dan mekanikal (seperangkat kontak saklar atau switch).

Relay menggunakan prinsip elektromagnetik untuk menggerakkan kontak saklar

sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan listrik

yang bertegangan lebih tinggi. Sebagai contoh, dengan relay yang menggunakan

elektromagnet 5V dan 50 mA mampu menggerakan Armature Relay (yang

berfungsi sebagai saklarnya) untuk menghantarkan listrik 220V 2A [6]. Gambar

2.7 merupakan salah satu contoh modul relay.

Gambar 2.7 Modul Relay 1 Channel [6]

2.6. Solenoid Door Lock

Solenoid Door Lock adalah salah satu solenoid yang difungsikan khusus

sebagai solenoid untuk pengunci pintu secara elektronik. Solenoid ini mempunyai

dua sistem kerja, yaitu Normaly Close (NC) dan Normaly Open (NO). Gambar 2.8

merupakan rangkaian dalam solenoid door lock.


Gambar 2.8 Rangkaian dalam solenoid door lock [7]

Perbedaannya adalah cara kerja solenoid NC apabila diberi tegangan,

maka solenoid akan memanjang (tertutup). Untuk cara kerja dari solenoid NO

adalah kebalikannya dari solenoid NC. Biasanya kebanyakan solenoid door lock

membutuhkan input atau tegangan kerja 12V DC tetapi ada juga solenoid door

lock yang yang hanya membutuhkan input tegangan 5V DC dan sehingga dapat

langsung bekerja dengan tegangan output dari pin IC digital [7].

2.7. Buzzer

Buzzer merupakan komponen elektronika yang berfungsi untuk mengubah

getaran listrik menjadi getaran suara. Prinsip kerja buzzer yakni terdiri dari

kumparan yang terpasang pada diagfragma dan kemudian kumparan tersebut

dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam

atau keluar tergantung dari arah arus dan polaritas magnetnya. Karena kumparan

dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan

diafragma secara bolak-balik sehingga membuat udara bergetar yang akan

menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah

selesai atau terjadi suatu kesalahan pada sebuah alat (alarm) [8]. Adapun salah

satu
bentuk buzzer seperti pada gambar 2.9.
Gambar 2.9 Buzzer [8]

2.8. OpenCV

OpenCV (Open Source Computer Vision) adalah perpustakaan fungsi

pemrograman terutama ditujukan untuk computer vision pada real time,

dikembangkan oleh Intel dan sekarang didukung oleh Willow Garage dan Itseez.

OpenCV dirilis dengan lisensi bawahan BSD dan oleh karenanya gratis untuk

penggunaan akademis dan komersial. OpenCV memiliki antarmuka dengan bahasa

pemrograman C, C++, Java, dan Python dan mendukung Windows, Linux, Mac

OS, iOS, dan Android. OpenCv dirancang untuk efisiensi komputasi dan dengan

focus yang kuat pada aplikasi real time. Ditulis dalam bahasa pemrograman C/C++

yang dioptimalkan, perpustakaan bisa memanfaatkan pengolahan pada multi-core.

OpenCV yang dibangun pada modul yang kinerja tinggi dan serbaguna

untuk memecahkan sebagian besar masalah computer vision [9]. OpenCV

memberikan seperangkat modul yang dapat menjalankan fungsi yang tercantum

pada tabel 2.1

Tabel 2.1 Modul dalam OpenCV [9]

NO Modul Fungsi

1 Core Core struktur data, tipe data, dan manajemen memori

Filter gambar, transformasi gambar, dan analisis


2 ImgProc
bentuk
Tabel 2.2 Modul dalam OpenCV (lanjutan) [9]

NO Modul Fungsi

3 Highgui GUI, membaca dan menulis gambar dan video

Model statistic dan klasifikasi algoritma untuk


4 ML
digunakan pada aplikasi computer vision

Deteksi objek menggunakan cascade dan histogram


5 Objdetect
klasifikasi gradien

6 Video Analisis gerakan dan trak objek pada video

Kalibrasi kamera dan rekonstruksi 3D dari beberapa


7 Calib3d
sudut

2.9. Pengolahan Citra

Citra merupakan informasi yang secara umum tersimpan dalam bentuk

pemetaan bit-bit, atau lebih dikenal sebagai bitmap. Setiap bit dari citra

membentuk satu titik informasi yang dikenal sebagai piksel. Satuan dari piksel

biasanya dinyatakan dengan posisi x, posisi y, dan nilai dari piksel tersebut (warna

atau gray). Dalam satu bidang gambar, sepenuhnya terdiri dari piksel-piksel

disimpan dalam bentuk bilangan biner. Penggunaan piksel biner ini dimaksudkan

untuk menyederhanakan proses dengan hanya memperhatikan ada atau tidak, dan

juga untuk memperkecil data baik saat dikirimkan atau saat disimpan, termasuk

juga saat diproses.

Grayscale dan biner sebenarnya memiliki kemiripan, hanya saja kalau

biner memiliki dua kemungkinan nilai, tetapi grayscale memiliki lebih banyak

kemungkinan. Grayscale banyak digunakan jika adanya perbedaan intensitas

antara
satu piksel dengan piksel lainnya sangat dipentingkan. Hal ini terutama jika objek
yang diamati memiliki perbedaan intensitas yang cukup kecil dengan berbagai

tingkat kecerahan.

Untuk mempermudah pengolahan suatu citra proses yang paling umum

digunakan adalah scaling, scanning, dan cropping. Pemilihan faktor penskalaan

yang sesuai akan mempercepat operasi kerja tanpa mengurangi kinerja sistem,

seperti pada contoh pada gambar 2.10

Gambar 2.10 Citra 200x80 di-skala 1:5 dan 1:8 [10]

Dengan memperkecil ukuran citra asli akan dapat mempercepat proses

perhitungan secara keseluruhan. Namun cara ini juga dapat menurunkan kinerja

dari sistem, dimana suatu citra yang semula memiliki jumlah pixel yang besar

akan memiliki bentuk yang detil, dengan dilakukan penskalaan akan didapatkan

bentuk gambar yang kurang detil [10].

Pencarian objek bisa berdasarkan scanning yang memiliki kelebihan

tersendiri, yaitu lebih cepat (kalau obyek yang dicari dekat dengan titik awal) dan

mudah tetapi tidak akurat. Hal ini tentu saja menyebabkan proses menjadi lambat.

Kelebihan lain dari proses scanning adalah metode klasifikasi atau identifikasi

dari proses deteksi dapat beragam, artinya dapat menggunakan berbagai metode.

Jika suatu obyek dapat diketahui berdasarkan ciri warnanya saja maka

dapat digunakan metode segmentasi warna. Metode ini secara umum digunakan

untuk memisahkan suatu warna terhadap warna lainnya. Inti dari segmentasi

warna adalah

membandingkannya dengan warna yang dikehendaki. Jika obyek yang akan

18
membaca warna piksel demi piksel atau daerah demi daerah dan

membandingkannya dengan warna yang dikehendaki. Jika obyek yang akan

19
dideteksi dipastikan hanya berjumlah satu, artinya dalam penangkapan citra

nantinya kemungkinan hanya ada satu obyek yang akan muncul, maka proses

deteksinya menjadi sederhana. Inipun masih bisa dibedakan antara obyek yang

posisinya tertentu dan obyek yang posisinya tidak tentu.

Jika obyek posisinya sudah tentu pada sensor, maka proses deteksi

dilakukan cukup dengan mengamati daerah tersebut, tanpa menghiraukan daerah

lainnya. Jika obyek ternyata menempati posisi yang tidak tentu, maka harus

dilakukan proses pencarian [11]. Proses pencarian dapat dilakukan dengan dua

cara melakukan scanning diseluruh daerah citra atau langsung menentukan titik

tengah (titik berat) dari obyek yang ada di layar.

Selain scanning, ada proses lain pada pengolahan citra yaitu Cropping.

Dengan cropping, cara ini mengharuskan program untuk mencari pixel demi

pixel, area demi area ukuran demi ukuran dari seluruh bagian citra. Jika suatu

obyek berhasil ditemukan, bagian citra yang bertepatan dengan obyek tersebut

akan dipotong untuk diproses pada bagian berikutnya. Kelebihan dari cara ini,

posisi dan ukuran dari obyek dapat bebas serta jumlah dari obyek dapat lebih dari

satu. Dapat menggunakan berbagai metode klasifikasi, dimana hasil crop obyek

yang ditemukan dengan mudah diproses pada classifier yang dikehendaki [11].

2.10. Algortima Viola-Jones

Saat ini telah banyak berkembang aplikasi-aplikasi yang menggunakan

fitur deteksi wajah. Deteksi wajah sendiri dapat dilakukan dengan berbagai cara,

salah satunya menggunakan algoritma Viola-Jones. Algoritma Viola-Jones

algoritma yang paling banyak digunakan untuk mendeteksi wajah. Viola-Jones

19
merupakan

algoritma yang paling banyak digunakan untuk mendeteksi wajah. Viola-Jones

20
telah memperkenalkan sebuah framework deteksi wajah yang mampu memproses

gambar dengan sangat cepat dengan tingkat deteksi yang tinggi. Viola-Jones

menerapkan algoritma Adaboost (adaptive boosting) algoritma yang dapat

meningkatkan kinerja pendeteksian. Dalam prosesnya algoritma Adaboost

memainkan peran dalam memilih fitur yang cocok untuk mendeteksi objek yang

menarik [12].

Dalam framework Viola-Jones disediakan banyak library untuk

melakukan proses seleksi fitur, fitur yang merupakan fungsi dasar untuk

meingkatkan proses seleksi dikenal sebagai HaarLike feature. Didorong oleh hasil

karya Tieu dan Viola, Viola-Jones terhambat oleh seleksi fitur yang harus

berdasarkan pada setiap classifier yang lemah sehingga tergantung pada satu fitur

tunggal. Viola-Jones memperkenalkan sebuah representasi image baru yang

dikenal sebagai Integral Image yang tidak terpisahkan. Dengan metode ini Haar-

Like features dapat dihitung pada setiap skala atau lokasi dalam waktu yang

konstan. Metode Viola- Jones menggabungkan empat kunci utama yaitu Haar-

Like Feature, Integral Image, Adaboost dan Cascade classifier [12].

2.11. Algoritma SURF (Speeded-Up Robust Features)

SURF atau Speeded Up Robust Features merupakan algoritma untuk

deteksi fitur. Deteksi fitur adalah proses mengolah citra untuk mengekstrasi fitur-

fitur yang unik dari suatu objek di dalam citra, tujuannya agar objek dapat

dideteksi pada citra lain yang mengandung objek yang sama meskipun objek

mengalami perubahan skala ataupun rotasi. Prosesnya dibagi ke dalam tiga

Pendeteksian fitur, pendeteksian titik fitur, dan pencocokan fitur

20
tahapan yakni:

Pendeteksian fitur, pendeteksian titik fitur, dan pencocokan fitur

21
2.11.1. Pendeteksian Fitur

Pendeteksian titik fitur bertujuan untuk mendeteksi titik fitur serta

membangun ketahanannya sehingga fitur yang sama tidak akan dideteksi sebagai

fitur baru dengan sudut pandang yang berbeda sekalipun. Teknik yang digunakan

untuk mendapatkan titik fitur dengan menggunakan kernel Gaussian yang

membagi scale space ke dalam beberapa level dan oktaf. Scale space merupakan

ruang penskalaan yang menunjukkan perubahan terhadap citra setelah dikenakan

filter Gaussian orde kedua [13]. Ilustrasi dari scale space berbentuk seperti

piramida ditunjukkan pada gambar 2.11

Gambar 2.11 Struktur piramida [14]

Pendeteksian fitur umumnya melibatkan 3 tahap; membangun scale space

menggunakan kernel Gaussian, menemukan determinan dari matriks Hessian dan

mencari nilai extrema. Pada SURF metode Laplacian of Gaussian diubah menjadi

filter kotak setelah didiskritisasi dan dipotong. SURF menggunakan kernel

gaussian

𝜕
orde kedua 2 𝑔(𝜎) dengan nilai 𝜎 = 1.2 (merupakan skala terkecil untuk
𝜕𝑦 2

mendapatkan resolusi spasial terbaik) pada perhitungan matriks Hessian setelah

didiskritisasi menjadi kotak filter berukuran 9 x 9 seperti digambarkan pada

21
gambar

2.12. Kotak berwarna abu-abu pada citra dianggap bernilai 0 sedangkan kotak putih

22
bernilai positif, sebaliknya kotak hitam bernilai negatif. Kotak filter direferensikan

sebagai 𝐷𝑦𝑦 untuk 𝐿𝑦𝑦(x, 𝜎) dan 𝐷𝑥𝑦 untuk 𝐿𝑥𝑦(x, 𝜎) [13].

Gambar 2.12 Laplacian of Gaussian didiskritisasi menjadi kotak filter [14]

Kemampuan Matriks Hessian dalam mendeteksi blob digunakan untuk

mendeteksi fitur. Hessian sendiri merupakan matriks dari derivatif kedua Gaussian

[13] yang dituliskan ke dalam persamaan (2.1)


𝐿𝑥𝑥(x,𝜎) 𝐿𝑥𝑦(x,𝜎)
H(x,σ)= [ ] (2.1)
𝐿𝑥𝑦(x,𝜎) 𝐿𝑦𝑦(x,𝜎)

Dimana,

𝐿𝑥𝑥
(x, σ) = 𝐼(x) * 𝑔(𝜎) (2.2)
𝜕
2
𝜕𝑦2

𝐿𝑥𝑦
(x, σ) = 𝐼(x) * 𝜕2 𝑔(𝜎) (2.3)
𝜕𝑦 2

Determinan dari matriks Hessian yang kemudian digunakan untuk

mendeteksi fitur dituliskan seperti pada persamaan (2.4)

det(H) = 𝐼𝑥𝑥𝐼𝑦𝑦 − 𝐼 2𝑥𝑦 (2.4)

terhadap periubahan skala namun pada kasus ini dapat dibuat konstan dengan

22
Dikarenakan kernel Gaussian diubah kedalam bentuk diskrit maka perlu

adanya penambahan nilai 𝜔 untuk memastikan efisiensi komputasi. Nilai 𝜔

sensitif

terhadap periubahan skala namun pada kasus ini dapat dibuat konstan dengan

23
memberikan nilai sebesar 0.9 [13]. Determinan matriks Hessian dari Gaussian

yang telah didiskritisasi diberikan pada persamaan (2.3).

𝐷𝑒𝑡(𝐻𝑎𝑝𝑝𝑟𝑜𝑥) = 𝐷𝑥𝑥𝐷𝑥𝑦 − (0.9𝐷𝑥𝑦)2 (2.5)

Menemukan titik fitur yang tahan terhadap penskalaan perlu dilakukan

pada beberapa level dan oktaf dari scale space. Algoritma SURF memperbesar

skala citra dari setiap perubahan oktaf [13] seperti diilustrasikan pada gambar

2.13.

Gambar 2.13 Penskalaan citra pada algoritma SURF [14]

Semakin besar citra maka semakin besar kernel yang digunakan. Meski

bertambah besar ukuran kernel harus dipastikan untuk mempertahankan

bentuknya dalam artian tidak mengubah fungsi filternya [13]. Perubahan ukuran

filter bergantung pada skala dan oktaf seperti diperlihatkan pada gambar 2.14

Gambar 2.14 Hubungan antara skala dan oktaf pada ukuran kernel [14]

representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra

23
Perhitungan determinan matriks Hessian ataupun pembentukan scale space

untuk algoritma SURF menggunakan citra integral. Citra integral 𝐼 adalah

representasi tengah untuk citra dan terdiri dari jumlah nilai keabu-abuan dari citra

24
N dengan tinggi y dan lebar x [13]. Perumusannya dapat dilihat pada persamaan

(2.4)

𝐼(𝑥, 𝑦) = 𝑥′ ∑𝑦
𝑦′ 𝑁(𝑥 ′ , 𝑦 (2.6)
∑𝑥 ′
)

2.11.2. Pendeskrispian Titik Fitur

Setiap titik fitur harus memiliki deskripsi yang unik agar tidak terpengaruh

terhadap transformasi rotasi ataupun skala pada citra. Agar deskriptor dapat

bekerja meski terjadi transformasi rotasi pada citra, mula-mula perlu diketahui

orientasi titik fitur. SURF menggunakan Haar Wavelet yang dapat dihitung

dengan mudah menggunakan citra integral untuk menemukan orientasi dari titik

fitur. Apabila orientasinya didapatkan maka fitur ini akan tahan terhadap

perubahan rotasi. Metode ini dikenal dengan metode Upright SURF (U-SURF)

yang mampu menahan perubahan rotasi tanpa perlu adanya perubahan orientasi

[13].

Gambar 2.15 Delay Haar Wavelet [14]

Gambar 2.15 menunjukkan delay dari Haar Wavelet pada arah horizontal

dan arah vertikal. Orientasi yang dominan ditentukan dengan menghitung jumlah

seluruh orientasi dalam juring dengan sudut 60 derajat. Apabila flag bernilai 0

24
maka tidak dihitung, sedangkan bila bernilai satu dideteksi sebagai orientasi [13].

24
Setelah mengetahui orientasi fitur maka hal lain yang perlu diketahui

adalah diskripsi fitur. Dibentuk disekitar titik fitur sebesar 20s. Kemudian dibagi

ke dalam 4 x 4 sub-area. Pada bagian ini disimpan informasi spasial. Untuk setiap

sub-area, dilakukan perhitungan Haar Wavelet dengan membaginya ke dalam 5 x

5 ruang sampel. Masing-masing dicari nilai dari delay wavelet baik secara vertikal

ataupun horizontal [13]. Delay wavelet ini dikenal dengan 𝑑𝑥 dan 𝑑𝑦, seperti

pada gambar 2.16

Gambar 2.16 Wavelet dalam arah horizontal dan vertikal [14]

Gambar 2.17 Mencari delay wavelet di area 20s yang dibagi ke dalam 4 x 4 sub-area
[14]

Untuk meningkatkan ketahanan ketika terjadi transformasi geometrik dan

kesalahan lokal, delay di 𝑑𝑥 dan 𝑑𝑦 dititik beratkan pada pusat Gaussian di

keypoint. Sehingga didapatkan vektor 4D yakni 𝑉 = (∑ 𝑑𝑥, ∑ |𝑑𝑥|, ∑ 𝑑𝑦, ∑

|𝑑𝑦|). Bila ditempakan pada masing-masing 4 x 4 sub-area akan didapatkan vektor

descriptor dengan panjang 64. Delay wavelet bervariasi terhadap perubahan

iluminasi. Faktor skala didapatkan dengan merubah descriptor ke dalam vektor

unit

25
[13]. Ilustrasi dari perhitungan delay wavelet ditunjukkan pada gambar 2.17.

26
2.11.3. Pencocokan Fitur

Apabila ada citra baru yang mengandung objek yang sama dari citra

sebelumnya maka objek tersebut dapat dideteksi dari titik fitur yang sudah

ditentukan. Hal ini yang kemudian disebut proses pencocokan fitur.

2.12. Metode FLANN (Fast Library Approximated Nearest Neighbor)

Metode Fast Library Approximated Nearest Neighbor (FLANN) adalah

sebuah library untuk melakukan pencarian cepat, perkiraan tetangga, yang

terdapat pada space dimensi yang tinggi. Library ini merupakan kumpulan

algoritma yang untuk menemukan nilai tetangga terdekat, sementara untuk hasil

parameter yang optimal, tergantung pada kumpulan data yang digunakan. Metoda

Fast Library Approximated Nearest Neighbor (FLANN) digunakan untuk

matching fitur SURF citra wajah data awal dengan fitur SURF citra wajah uji.

Fitur SURF ini terdiri dari 3 komponen utama, yaitu: keypoint, descriptor dan

vektor. Untuk satu gambar wajah citra uji terdapat cluster untuk fitur SURF.

Cluster ini akan otomatis dengan menggunakan K-Nearest Neighbor (KNN)

dengan tipe indeks kd tree, dimana KNN ini akan mencari jarak yang paling kecil

antara vector sampel dengan vector pada cluster. Proses matching fitur citra wajah

uji dan fitur citra wajah sampel, vektor keypoint dan descriptor pada citra wajah

akan di cocokan nilainya dengan menggunakan KNN search. KNN search

mencari cluster pada citra wajah uji yang nilai vektor deskriptornya paling dekat

jaraknya dengan vektor deskriptor [14].


Contoh pencocokan keypoint dapat dilihat pada gambar 2.18.
Gambar 2.18 Contoh keypoint matching [14]

2.13. Internet

Internet (Inter-Network) adalah sebutan untuk sekumpulan jaringan

komputer yang menghubungkan situs akademik, pemerintahan, komersial,

organisasi, maupun perorangan. Internet menyediakan akses untuk layanan

telekomunikasi dan sumber daya informasi untuk jutaan pemakainya yang

tersebar di seluruh dunia. Adapun layanan internet yang tersedia saat ini seperti

komunikasi langsung (email, chat), diskusi (Usenet News, email, milis), sumber

daya informasi yang terdistribusi (World Wide Web, Gopher), remote login dan

lalu lintas file (Telnet, FTP), dan aneka layanan lainnya [16].

2.14. Telegram

Telegram adalah sebuah aplikasi messaging yang memungkinkan

pengguna untuk mengirimkan pesan, gambar, video, dokumen, dan lainnya tanpa

menetapkan besarnya size file yang dikirimkan serta mampu mengirimkan lokasi.

Telegram juga menyediakan sebuah API (Application Programming

Interface atau Antarmuka Pemrograman Aplikasi) berupa Telegram Bot API yang

memungkinkan siapa saja untuk membuat bot mereka sendiri yang akan

membalas
pesan sesuai dengan program yang mereka buat.
BAB III

PERANCANGAN SISTEM

Pada bab ini akan membahas tentang perancangan “Sistem Keamanan

Akses Pintu Masuk Menggunakan Face Recognition Berbasis Raspberry Pi”

dimana dibedakan atas dua perancangan yaitu perancangan perangkat keras

(Hardware) dan perancangan perangkat lunak (Software).

3.1. Rancangan Umum

Perancangan sistem keamanan akses pintu menggunakan face recognition

berbasis Raspberry Pi 3 ini mengacu berdasarkan blok diagram pada gambar 3.1.

Dimana dalam perancangan alat ini meliputi. Sebuah WebCam yang digunakan

sebagai pengambil citra wajah manusia. Sebuah minicomputer Raspberry Pi 3

Model B digunakan untuk memproses pendeteksian dan mencocokan wajah dari

database, serta sebagai penggerak actuator dan pengirim pemberitahuan melalui

aplikasi telegram. Aplikasi telegram digunakan sebagai interface kepemilik rumah

dan dapat mengontrol Raspberry Pi 3 untuk menggerakkan actuator. Sebuah relay

sebagai saklar otomatis yang mengatur solenoid door lock dengan keadaan

normally open. Sebuah solenoid door lock sebagai actuator buka dan tutupnya

pintu. Buzzer sebagai sebuah alarm, serta penggunaan saklar sebagai penggerak

solenoid door lock diluar dari sistem.


Gambar 3.1 Blok diagram sistem

Dari gambar 3.1, dapat dijelaskan prinsip kerja dari sistem ini. WebCam

akan mendeteksi orang dengan cara mencari wajah dari orang tersebut lalu

membuat sebuah kotak yang menandakan wajahnya. Ketika terdeteksi wajah

orang maka Raspberry Pi 3 akan membuat WebCam untuk mengambil citra. Citra

yang diambil dilakukan proses cropping atau pemotongan gambar dengan hanya

mengambil bagian kotak yang menandakan wajahnya. Selanjutnya citra yang

diambil nantinya akan diproses untuk mencari keypoint atau titik penting untuk

kemudian dilakukan pencocokan dengan database yang telah terlebih dahulu

dicari keypoint. Apabila citra yang diproses mendapatkan kecocokan dengan

database maka Raspberry Pi 3 akan membuat relay keadaan close atau tertutup

dan membuat solenoid door lock dalam kondisi membuka pintu dan bersamaan

dengan buzzer berbunyi beberapa saat. Namun apabila citra yang diproses tidak

menemukan kecocokan dengan database maka Raspberry Pi 3 akan membuat

buzzer berbunyi berulang kali, serta akan mengirimkan pemberitahuan dan

mengirimkan citra tersebut ke sebuah aplikasi telegram pemilik rumah.

Selanjutnya pemilik rumah yang akan mengambil tindak lanjutnya. Pemilik

rumah dapat memberikan delay


kepada Raspberry Pi untuk membuat relay dalam keaadan close sehingga solenoid
door lock dalam kondisi membuka pintu. Adapun push button diletakkan di dalam

rumah sebagai pembuka pintu saat sistem sedang bekerja, dimana ketika push

button ditekan akan langsung membuat solenoid door lock dalam kondisi

membuka pintu orang yang berada di dalam rumah dapat keluar.

3.2. Perancangan Perangkat Keras

Dalam perancangan perangkat keras meliputi dua perancangan,

perancangan minatur pintu dan perancangan sistem elektronik.

3.2.1. Miniatur Pintu

Perancangan dan pembuatan miniatur pintu ini hanya membuat bagian

pintu tanpa membuat kondisi satu ruangan. Mulai dari kerangka penyangga

hingga keadaan pintu seperti sebenarnya. Miniatur dapat dilihat pada gambar 3.2.

dan 3.3.

Gambar 3.2 Miniatur tampak depan


Gambar 3.3 Miniatur tampak belakang

Miniatur pintu dibuat dari balok untuk kerangka penyangga, serta sistem

pintu dibuat dari balok dengan panjang 40 cm dan lebar 20 cm. Miniatur ini dibuat

dengan mengecilkan skala pintu yang ada 1:3. Gambar 3.2 dan gambar 3.3

merupakan miniatur yang telah dibuat.

3.2.2. Perancangan Sistem Elektronik

Gambar 3.4 menunjukkan skematik dari sistem elektronik pada sistem ini.

Perancangan sistem elektronik dari sistem keamanan pintu menggunakan face

recognition berbasis raspberry pi ini menggunakan alat dan bahan sebagai berikut:

1. Adapter 5V

2. Raspberry Pi 3

3. WebCam

4. Push button

5. Modul Relay

6. Solenoid Door Lock

7. Buzzer

8. Batterai Lipo 11.9 V 900 mAH


Gambar 3.4 Skematik Sistem Elektronik
3.2.2.1.Adapter 5V

Adapter yang digunakan dalam sistem ini memiliki spesifikasi input

tegangan sebesar 100-240V dengan frekuensi 50-60Hz mampu menghasilkan

output tegangan 5V dengan arus 2A. Adapter ini berfungsi sebagai supply

tegangan bagi Raspberry Pi 3.

3.2.2.2.Raspberry Pi 3

Minicomputer Raspberry Pi 3 digunakan untuk mengontrol dan

memproses data. Raspberry Pi 3 akan mengaktifkan WebCam dan mendeteksi

keberadaan manusia dengan menentukan wajah. Ketika terdeteksi wajah maka

Raspberry Pi 3 akan membuat kamera mengambil citra. Selain itu Raspberry Pi 3

juga menerima perintah dari aplikasi Telegram. Raspberry Pi 3 akan mengirimkan

data citra dan message pemberitahuan aplikasi Telegram melalui jaringan internet.

Raspberry Pi 3 juga akan mengontrol keadaan relay sehingga nantinya membuat

solenoid door
lock membuka atau menutup pintu, serta Raspberry Pi 3 akan mengaktifkan buzzer.
3.2.2.3.WebCam

WebCam yang digunakan pada perancangan ini adalah Logitech c525,

dengan spesifikasi kamera 8 megapiksel serta memiliki auto fokus. WebCam ini

berfungsi sebagai pengganti sensor dimana mampu mendeteksi wajah manusia

serta sebagai pengambil citra wajah yang dideteksinya

3.2.2.4.Push Button

Push Button digunakan untuk menyalurkan tegangan ke solenoid door

lock agar membuka pintu. Dikarenakan sistem ini hanya meletakkan kamera pada

bagian depan pintu, maka push button dipasang pada bagian dalam prototipe agar

pintu dapat terbuka dari dalam. Push button tidak disisipkan pada perangkat lunak

agar nantinya tidak mengganggu kerja sistem.

3.2.2.5.Modul Relay

Modul relay yang digunakan ini merupakan modul dengan 1 Channel,

berfungsi pemutus otomatis tegangan pada sistem. Pemilihan modul relay karena

telah memiliki pin power, ground dan input dimana power dan ground sebagai

sumber tegangan dan grounding, pin input disambungkan ke pin digital 14 pada

Raspberry Pi 3 sebagai pengatur keadaan relay, blok terminal untuk actuator

dalam hal ini adalah solenoid door lock.

3.2.2.6.Solenoid Door Lock

Solenoid door lock digunakan sebagai actuator sehingga nantinya pintu

pada sistem ini dapat terbuka secara otomatis sesuai dengan keaadan relay.

Solenoid door lock disambungkan ke blok terminal beban pada relay dengan

keadaan normaly open. Solenoid door lock yang digunakan pada sistem ini
digerakkan dengan tegangan 11V DC sehingga untuk sumber salah satu kaki

dihubungkan pada Batterai Lipo dan satu kaki dihubungkan dengan relay dimana

dipasangkan ke ground Batterai Lipo dan Raspberry Pi 3.

3.2.2.7.Buzzer

Buzzer digunakan sebagai alarm dan akan berbunyi jika Raspberry Pi 3

mendapatkan ataupun tidak kecocokan citra muka yang diambil dengan database

yang ada dengan keadaan bunyi yang berbeda. Buzzer dihubungkan ke pin digital

18 dan ground pada Raspberry Pi 3.

3.2.2.8.Batterai Lipo

Batterai Lipo digunakan sebagai sumber tambahan untuk menyuplai

solenoid door lock dan relay dengan spesifikasi 11.9 V dengan arus 900 mAh.

Tambahan sumber ini digunakan karena Raspberry Pi 3 tidak mampu untuk

menyuplai sistem keseluruhan.


3.3. Perancangan Perangkat Lunak

Gambar 3.5 Flowchart Sistem

Setelah proses perancangan sistem secara perangkat keras, dilakukan tahap

perancangan perangkat lunak sistem. Perangkat lunak adalah istilah umum untuk

data yang diformat dan disimpan secara digital, berbeda dengan perangkat keras
karena merupakan bagian sistem yang tidak berwujud. Perancangan ini terdiri atas

perancangan perangkat lunak pada Raspberry Pi dengan menggunakan bahasa

pemrograman Python dan perancangan perangkat lunak pada aplikasi Telegram.

Pemrograman dilakukan berdasarkan pada flowchart sistem seperti yang terlihat

pada gambar 3.5.

Ketika alat mulai dinyalakan, maka akan dilakukan terlebih dahulu

pencarian ciri khusus pada citra database. Ciri yang diambil adalah keypoint dari

database wajah. Nantinya data keypoint dari masing-masing database disimpan

pada library Python. Setelah itu maka Raspberry Pi 3 akan membuat WebCam

dalam keadaan enable atau menyala, sistem akan terus berada pada keadaan

mendeteksi sebuah wajah. Apabila sistem mendeteksi adanya wajah manusia,

maka WebCam akan mengambil citra hanya pada bagian wajah (terjadi proses

cropping). Citra wajah yang didapatkan kemudian dilakukan proses pencarian

keypoint. Data keypoint dari citra wajah yang diambil kemudian akan dilakukan

proses pencocokan ciri (Keypoint Matching) dengan data keypoint database wajah

yang telah disimpan sebelumnya. Apabila citra dikenali dengan salah citra wajah

yang ada pada database maka sistem akan membuat alarm dalam hal ini buzzer

enable atau menyala selama 1 detik sebagai penanda cocoknya wajah, serta

membuat relay dalam keadaan enable atau keadaan close dalam beberapa saat.

Relay yang dalam kondisi close akan membuat solenoid door lock mendapatkan

tegangan sehingga pintu terbuka. Sedangkan apabila citra yang diambil tidak

dikenali, maka buzzer akan enable selama 3 detik sebagai penanda orang yang

tidak dikenali. Selanjutnya sistem akan membuat Telegram mengirimkan citra

36
wajah yang tidak dikenali

37
tersebut bersamaan dengan sebuah script wajah tidak dikenali. Apabila terdapat

balasan dari pengguna telegram tersebut untuk membuka pintu maka buzzer akan

enable selama 1 detik, serta membuat relay dalam keadaan enable atau keadaan

close dalam beberapa saat dan pada akhirnya solenoid door lock membuka pintu.

Apabila adapter pada Raspberry Pi 3 masih tetap menyala maka sistem akan

kembali membuat WebCam enable. Namun apabila adapter tidak menyala maka

sistem akan berhenti.WebCam

WebCam pada perancangan perangkat lunak ini memiliki sebuah proses

agar dapat digunakan pada Raspberry Pi 3 dan dapat diprogram menggunakan

Python. Berikut langkah-langkah agar WebCam dapat digunakan:

 Menginstall library pada terminal Raspberry Pi 3 dengan mengetikkan perintah:

$ sudo apt-get install fswebcam

Untuk mengecek apakah WebCam telah terinstall:

$ fswebcam namafile.jpg

 Setelah Raspberry Pi 3 telah dapat mengakses WebCam, untuk mengekases

dengan bahasa Python, maka pada bagian programming Python dengan

menggunakan OpenCV untuk mengakses WebCam mengetikkan script

program pengaktifan WebCam. Berikut ini potongan script program

mengakses WebCam:

# Setting Camera
cap = cv2.VideoCapture(0)
cap.set(3 , 640 ) # width
cap.set(4 , 480 ) # height
# Start Video
while True:
ret, image = cap.read() # Read the camera object
3.3.2. Kontrol Relay dan Buzzer

Untuk mengendalikan relay dan buzzer pada Raspberry Pi 3, maka pin dari

relay dan buzzer dihubungkan pada GPIO (General Purpose Input Output)

Raspberry Pi 3. Untuk relay disambungkan pada pin 14 dan buzzer pada pin 18

pada Raspberry Pi 3. Setelah itu maka pada bagian programming Python

mengetikkan script program untuk memberikan perintah mematikan dan

menyalakan sebuah lampu dengan mengubah output pin GPIO HIGH (untuk

menyalakan) dan LOW (untuk mematikan). Berikut ini potongan script program

mengendalikan relay dan buzzer:

#Setting GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(14, GPIO.OUT)
GPIO.setup(18, GPIO.OUT)
#Menyalakan dan mematikan Relay dan
Buzzer GPIO.output(14, GPIO.HIGH)
GPIO.output(18, GPIO.HIGH)
time.sleep(1) #Mengatur waktu mengaktifkan
GPIO.output(14, GPIO.LOW)
GPIO.output(18, GPIO.LOW)

3.3.3. Pengenalan Wajah

Sub bab ini membahas bagaimana proses pengenalan wajah yang

dilakukan namun tidak secara mendetail. Secara tidak langsung algoritma untuk

pengenalan wajah yang dilakukan mengacu pada flowchart pengenalan wajah

gambar 3.6
Gambar 3.6 Flowchart pengenalan wajah

3.3.3.1. Deteksi Wajah

Ketika WebCam telah menyala selanjutnya dilakukan proses deteksi

wajah. Deteksi wajah ini bertujuan agar kamera berperan sebagai sensor selain

sebagai pengambil citra. Deteksi wajah menggunakan metode Viola-Jones.

Adapun peranan dari algoritma Viola-Jones dalam pembuatan aplikasi ini adalah
sebagai pendeteksian wajah pada citra. Untuk mendeteksi adanya fitur wajah pada

sebuah
citra maka terlebih dahulu merubah citra RGB menjadi Grayscale hal ini dikarena

algoritma ini mendeteksi wajah dengan cara membedakan warna hitam dan putih.

Setelah citra telah diubah maka dilanjutkan dengan beberapa proses yang

dilakukan sebelum akhirnya akan menghasilkan sebuah output wajah yang

terdeteksi pada sebuah citra. Pada gambar 3.7 dapat dilihat hasil dari penggunaan

Metode Viola- Jones sebagai pendeteksi wajah.

Gambar 3.7 Hasil deteksi wajah

Adapun potongan script program pendeteksian wajah sebagai berikut:


# Import the Haar cascades for face
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
# Mengubah citra RGB menjadi grayscale
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for(x,y,w,h) in faces:
# Create rectangle around the face cv2.rectangle(image,
(x, y), (x+w, y+h), (255, 255, 0), 2)

Dalam algoritma Viola-Jones terdapat dua parameter yang dimainkan untuk

mendeteksi wajah. Parameter pertama scale_factor, parameter ini berfungsi untuk

menentukan seberapa banyak citra dikurangkan untuk setiap skala gambar.

Parameter kedua minNeighbors, parameter ini berfungsi untuk menentukan nilai

40
minimal dari fitur haar agar nilainya tetap dipertahankan. Penggunaan nilai

parameter ini berdasarkan metode heuristik dengan mencari keadaan yang terbaik.

Telah dilakukan percobaan dengan mengganti nilai parameter scale factor dan

minNeighbors.

Pada nilai parameter scale factor mencoba dengan mengganti nilai dari

range 1.0 hingga 1.5, ternyata pengaruh dari mengganti parameter tersebut

membuat algoritma Viola-Jones ini dalam mendeteksi wajah menjadi sangat lebih

detail. Ketika nilai 1.5 dan 1.4 maka sebuah benda yang berwarna hitam putih

akan terdeteksi sebagai wajah. Ketika nilai yang digunakan 1.0 sampai 1.2 dengan

sample citra gambar yang terdapat beberapa wajah, didapatkan algoritma tidak

mendeteksi beberapa wajah secara tidak tepat atau dalam membuat kotak pada

wajah terdapat bagian tubuh lain yang dideteksi sebagai wajah. Namun ketika

nilai digunakan 1.3 maka didapatkan sistem mampu mendeteksi wajah pada suatu

citra dengan tepat.

3.3.3.2. Ekstraksi Ciri

Pada tahap ekstraksi ciri baik citra wajah sample dan citra wajah dari

database dilakukan proses pencarian ciri. Dalam kasus ini ciri khusus yang dicari

yaitu titik penting (keypoint). Pencarian ciri ini dilakukan sebanyak dua kali.

Pertama pada saat sistem mulai maka terlebih dahulu dilakukan ekstraksi ciri citra

database, hal ini dilakukan untuk melakukan training pada sistem sehingga hasil

dari training database didapatkan data keypoint dari tiap data agar nantinya data

ini yang akan dicari pada tahap pencocokan ciri. Untuk mencari keypoint dari citra

digunakan algoritma SURF (Speeded-Up Robust Features). SURF cocok untuk

41
menangani gambar dengan kualitas kabur dan rotasi pada gambar. Karena citra

wajah yang disimpan dari proses deteksi wajah boleh jadi mendapatkan hasil yang

kabur dan mengalami perubahan posisi. Sehingga nantinya pada proses

selanjutnya dapat dikenali mesti dalam citra yang kualitas kabur.

Hasil konversi RGB ke grayscale kemudian dilanjutkan dengan

pendeteksian keypoint. Fitur gelembung (blob-like feature) digunakan untuk

mendeteksi keypoint. Langkah yang dilakukan adalah membentuk piramida citra

dengan menggunakan box filter sebagai aproksimasi dari turunan parsial kedua

dari Gaussian. Ketika membentuk scale space, citra asli dikonvolusikan pada

kotak filter dengan mengubah ukuran kotak filter sesuai dengan citra dan

membentuk scale space image. Langkah berikutnya adalah mencari ekstrema dari

determinan matriks Hessian dibandingkan dengan tetangga-tetangganya.

Lokalisasi calon fitur kemudian dilakukan pada setiap ruang skala (scale space)

dengan menggunakan non-maximum suppression terhadap eksterma dari

determinan matriks Hessian. Hasil akhir dari tahap ini adalah titik-titik acuan atau

keypoint yang menunjukkan adanya fitur gelembung (blob-like feature). Gambar

3.8 menunjukkan hasil akhir pendeteksian fitur dengan SURF.

Gambar 3.8 Gambar hasil pendeteksian fitur


Adapun potongan script program untuk pendetksian fitur sebagai berikut:

#Mengatur parameter SURF


hessianThreshold = 400; nOctaves = 3; nOctaveLayers = 4; extended = 1;
#Memanggil fungsi SURF dengan parameter
surf = cv2.xfeatures2d.SURF_create(hessianThreshold, nOctaves, nOctaveLayers, extended)
#Mencari keypoint dan descriptor pada gambar
kp2, des2 = surf.detectAndCompute(img2, None)

Pada algoritma SURF terdapat parameter-parameter yang dapat diatur sedemikian

rupa untuk mencari keypoint dari citra yang digunakan. Parameter pertama adalah

hessian threshold atau ambang batas nilai hessian untuk mendeteksi sebuah

keypoint dimana apabila nilai hessian yang lebih besar dari threshold yang

digunakan maka akan dipertahankan oleh SURF. Parameter kedua adalah

nOctaves atau nilai yang diatur untuk menciptakan banyaknya piramida citra.

Parameter ketiga adalah nOctavesLayers atau nilai yang diatur untuk menentukan

jumlah citra dari setiap octaves yang telah diatur sebelumnya. Parameter yang

terakhir adalah extended atau pengaturan untuk nilai element yang digunakan.

Untuk nilai yang digunakan dalam perancangan perangkat lunak ini diambil

dengan menggunakan metode heuristik.

Pada parameter hessian threshold dilakukan beberapa kali penggantian

nilai dari 300, 400, dan 500, hal ini karena dari beberapa refrensi pada range 300

hingga 500 merupakan nilai terbaik dari SURF. Begitu pun telah dilakukan

mengganti nilai hessianthreshold dan disimpulkan SURF untuk mendeteksi

keypoint pada nilai paramater 400 didapatkan jumlah keypoint yang tidak rentang

terhadap cahaya dari sebuah citra sample.

Pada parameter nOctaves dan nOctavesLayer dilakukan beberapa kali

penggantian nilai dan didapatkan pada saat nilai parameter 3 dan 4 SURF mampu
membuat keypoint pada citra jauh lebih stabil dibandingkan saat diatur pada nilai

4
dan 5. Dapat disimpulkan hal itu dapat terjadi karena citra yang menjadi database

memiliki resolusi yang kecil yang mengakibatkan ketika SURF membuat paramida

citra maka citra yang resolusi kecil ketik dibuat semakin blur hanya membuat

resolusi citra semakin rendah sehingga apabila nilai parameter diperbesar SURF

akan membuat lebih sedikit keypoint pada citra database. Hal ini akan membuat

untuk proses pencocokan nantinya hanya akan didapatkan kecocokan yang minim.

Pada parameter extended ini digunakan nilai satu, hal itu karena parameter

ini membuat SURF untuk memberi orientasi matriks pada citra semakin besar

yang 128, sehingga jumlah keypoint pada citra bisa bertambah. Selain itu dengan

citra yang resolusi kecil nilai ini sangat membantu untuk SURF dalam

menentukan jumlah keypointnya.

3.3.3.3. Pencocokan Ciri

Pada proses pencocokan ciri menggunakan metode Fast Library

Approximated Nearest Neighbor (FLANN) pustaka untuk melakukan pencarian

cepat dan perkiraan neighborhood. FLANN merupakan kumpulan algoritma yang

bekerja untuk menemukan nilai tetangga terdekat, sementara untuk hasil

parameter yang optimal, tergantung pada kumpulan data yang digunakan. Fitur

SURF terdiri dari keypoint, deskriptor, dan berupa vektor. Satu citra di basis data

memiliki banyak klaster untuk fitur SURF. Klaster ini dibuat. otomatis dengan

menggunakan KNN (K-Nearest Neighbor) dengan tipe indeks KD tree, dimana

KNN ini akan mencari jarak yang paling kecil antara vektor fitur dengan vektor

pada klaster.

Proses pencocokkan fitur pada citra sample dan fitur pada citra dalam

database, vektor keypoint, dan deskriptor pada gambar sample akan dicocokkan

44
nilainya menggunakan KNN search. KNN search akan mencari klaster pada

database yang nilai vektor descriptor paling dekat jaraknya dengan vektor

descriptor pada citra sample. Setelah klaster didapat, kemudian akan dicari nilai

vektor descriptor pada klaster tersebut yang sama atau paling dekat dengan vektor

descriptor pada citra sample. Jika ada yang sama maka ada satu keypoint yang

cocok antara kedua citra tersebut. Semakin banyak jumlah keypoint yang cocok,

maka dianggap paling baik dalam mendeteksi titik fitur.

Adapun potongan script program untuk proses FLANN sebagai berikut:

index_params = dict(algorithm = 0, tree = 5) #algorithm 0 = kd3 dan 6 = lsh


flann = cv2.FlannBasedMatcher(index_params, {})
#Menyimpan descriptor ke dalam pustaka
flann.add([des])
target = PlanarTarget(image = img, keypoints = kp, descriptors = des, nilai = None)
best.append(target)
#Melakukan training data flann
flann.train()
#Pencocokan dengan descriptor sample
matches = flann.knnMatch(des2, k = 2)

Pada gambar 3.9 dapat dilihat hasil dari FLANN dalam mencocokkan

keypoint pada citra sample dan citra database yang dianggap paling mendekati

dengan citra database yang ada.

Gambar 3.9 Hasil proses FLANN

3.3.4. Rancangan Telegram

Dalam tugas akhir ini Telegram digunakan sebagai pemberi notifikasi

kepada pemilik tentang adanya wajah yang tidak dikenali berada di depan pintu

rumahnya baik dalam bentuk teks maupun citra wajah orang yang tidak dikenali

45
tersebut. Pemilihan Telegram sebagai pemberi notifikasi kepada pemilik

dikarenakan Telegram merupakan aplikasi gratis yang dapat diunduh di berbagai

basis gadget selama terinstallnya aplikasi. Selain itu developer Telegram

menyediakan API (Application Programming Interface) yang dapat diprogram

dengan berbagai bahasa pemrograman dan salah satunya adalah Python atau

dalam hal ini disebut dengan metode long-polling.

Berikut ini dijelaskan bagaimana untuk membuat tampilan Telegram Bot

sebagai tampilan kepada pemilik rumah, untuk pembuatannya dapat melalui

aplikasi telegram pada smartphone atau melalui web Telegram, serta cara

menghubungkan telegram dengan Python:

1) Membuat bot dan usernamenya, caranya :

Gambar 3.10 Pembuatan Telegram Bot


 Buka telegram

 Cari dan add @botfather,

 Klik start, akan muncul daftar perintah, klik /newbot.

 Akan muncul perintah untuk memberi nama bot kita. Ketik nama yang

kita inginkan, kemudian klik Enter/Ok.

 Setelah Ok, akan muncul perintah untuk membuat username bot kita,

yang harus menggunakan kata “bot”. Kita beri nama saja

Sistemskam_bot. Username sudah jadi, lalu copy kode angka dengan

tulisan berwarna merah yang merupakan kode token API kita. Token ini

yang akan menjadi acuan agar nantinya bot dapat diprogram untuk

mengirimkan teks, gambar, video, dan sebagainya.

2) Menghubungkan telegram bot yang telah dibuat dengan Python agar nantinya
Raspberry Pi 3 mampu mengendalikan balasan dari bot tadi. Untuk

menghubungkan Python dan bot yang dibuat, perlu memperhatikan langkah-

langkah berikut

 Menginstall library telegram dengan mengetikkan kode terminal dari

Raspberry Pi 3:

$ pip install python-telegram-bot

atau menginstall dari sumber dengan:

$ git clone https://github.com/python-telegram-bot -- recursive


$ cd python-telegram-bot
$ python setup.py install
 Setelah terinstall pada Raspberry Pi 3, selanjutnya mengetikkan script

pemanggilan API Telegram pada aplikasi programming Python.

47
#Memanggil API telegram
bot = telegram.Bot(token="555919767:AAGP25TCeQZmwjBmexTmbN5aQ9zXg0QS-w8")
#Mengirim teks dan gambar ke telegram
bot.sendMessage(chat_id=179126574,text="Wajah Tidak Dikenali")
bot.sendPhoto(chat_id=179126574, photo=open(images,"rb"))
BAB IV

PENGUJIAN DAN ANALISA

Pada bab ini akan membahas pengujian dari sistem dengan mengambil

data dan melakukan analisa terhadap pengujian perangkat lunak pengujian citra

wajah dan delay pengiriman data terhadap Telegram. Pengujian perangkat keras

dalam hal ini delay kerja relay, dan pengujian terhadap sistem keseluruhan.

Pengujian dilakukan pada Raspberry Pi 3 model B dengan spesifikasi:


1. Broadcom BCM2837 ARMv8 Quad Core Processor 1,2 GHz

2. RAM 1GB 900 MHz

3. Networking 2.4 GHz 802.11n wireless

4. Storage: microSD 16 GB kelas 10

5. GPIO: 40-pin header

Perangkat lunak:

1. Operation System Raspbian Jessie

2. Python 3.4 (IDLE)

3. Library Opencv 3.4.1

4.1.Pengujian Akurasi Pencocokan Wajah

Pengujian akurasi pencocokan wajah dilakukan untuk mengetahui akurasi

sistem dalam mencocokan wajah. Dilakukan dua pengujian pertama menguji citra

sample yang sesuai dengan database, kedua menguji citra sample yang tidak

sesuai dengan database. Pengujian ini dilakukan secara real time Raspberry Pi 3.

Citra yang tersimpan pada database berupa data 9 orang dengan masing-masing

10 pose
yang berbeda dan intensitas cahaya yang sama (menggunakan cahaya lampu yang
disorot ke wajah). Database terdiri dari berbagai citra wajah (lima laki-laki dan

empat perempuan, jenis rambut, dan warna kulit). Perbadaan pose pada database

terdiri dari posisi dan ekspresi. Perbedaan posisi wajah tersimpan berupa citra

menghadap atas, bawah, kiri, dan kanan. Untuk ekspresi wajah tersimpan berupa

tanpa ekspresi, senyum, senyum dengan kelihatan gigi, mulut yang dirapatkan,

buka mulut, dan mata melotot (lampiran 1). Perbedaan posisi dan ekspresi yang

disimpan pada database ini dimaksudkan karena sistem ini akan mengambil citra

dengan posisi dan eskpresi random sehingga diharapkan beberapa keadaan ini

akan menjadi posisi dan ekspresi yang paling memungkinkan untuk ditangkap

oleh deteksi wajah. Adapun resolusi dari citra database ini berbeda-beda sebab

pada saat pengambilan sistem otomatis mengcropping wajah yang tersimpan

hanya pada bagian wajah yang terdeteksi.

4.1.1. Pengujian Citra Sesuai Database

Pada pengujian ini dilakukan dengan menggunakan wajah yang sama

dengan database yang telah dilatih sebelumnya. Pengujian ini bertujuan untuk

mengetahui apakah sistem mengenali dengan baik atau tidak citra wajah yang

telah dilatih tersebut. Gambar 4.1 menunjukkan hasil dari pengujian ini.

Gambar 4.1 Hasil Pengujian Citra Sesuai Database

50
Tabel di bawah ini menunjukkan hasil pengujian terhadap tujuh sample

citra wajah yang sesuai database dengan pengambilan citra sebanyak 10 kali tiap

sample (lampiran 2). Pengambilan data dilakukan dengan menjalankan program

sebanyak 10 kali dan mencatat hasil pencocokan pada pendeteksian awalnya serta

membatasi titik kecocokan sebesar delapan titik.

Tabel 4.1 Hasil pengujian citra sesuai database

Wajah Nomor Uji Citra Dikenali Hasil Pengujian


1 Citra A Sesuai
2 Citra A Sesuai
3 Citra A Sesuai
4 Citra A Sesuai
5 Citra A Sesuai
A 6 Citra A Sesuai
7 Citra A Sesuai
8 Citra A Sesuai
9 Citra A Sesuai
10 Citra A Sesuai
1 Citra B Sesuai
2 Citra B Sesuai
3 Citra B Sesuai
4 Citra D Tidak Sesuai
5 Citra A Tidak Sesuai
B 6 Citra B Sesuai
7 Citra B Sesuai
8 Citra B Sesuai
9 Citra A Tidak Sesuai
10 Citra A Tidak Sesuai
1 Citra C Sesuai
2 Citra A Tidak Sesuai
3 Citra C Sesuai
4 Citra C Sesuai
5 Citra C Sesuai
C 6 Citra A Tidak Sesuai
7 Citra C Sesuai
8 Citra C Sesuai
9 Citra C Sesuai
10 Citra C Sesuai
1 Citra D Sesuai
2 Citra D Sesuai
3 Citra D Sesuai
4 Citra D Sesuai
D 5 Citra D Sesuai
6 Citra D Sesuai
7 Citra D Sesuai
8 Citra D Sesuai
Tabel 4.2 Hasil pengujian citra sesuai database (lanjutan)

Wajah Nomor Uji Citra Dikenali Hasil Pengujian


9 Citra D Sesuai
D
10 Citra D Sesuai
1 Citra E Sesuai
2 Citra E Sesuai
3 Citra E Sesuai
4 Citra E Sesuai
5 Citra E Sesuai
E 6 Citra E Sesuai
7 Citra E Sesuai
8 Citra E Sesuai
9 Citra E Sesuai
10 Citra E Sesuai
1 Citra F Sesuai
2 Citra F Sesuai
3 Citra F Sesuai
4 Citra F Sesuai
5 Citra F Sesuai
F 6 Citra F Sesuai
7 Citra F Sesuai
8 Citra F Sesuai
9 Citra F Sesuai
10 Citra F Sesuai
1 Citra G Sesuai
2 Citra G Sesuai
3 Citra G Sesuai
4 Citra G Sesuai
5 Citra G Sesuai
G 6 Citra G Sesuai
7 Citra G Sesuai
8 Citra G Sesuai
9 Citra G Sesuai
10 Citra G Sesuai

Dari hasil pengujian pada tabel 4.1 di atas, dapat diketahui bahwa

keakuratan sistem (As) untuk citra wajah yang sesuai dengan database dimana

hasil pencocokan keypoint dengan menggunakan rumus di bawah ini.

𝐽𝑢𝑚𝑙𝑎ℎ 𝐷𝑎𝑡𝑎 𝐵𝑒𝑛𝑎𝑟


As = ( 𝐽𝑢𝑚𝑙𝑎ℎ 𝑆𝑒𝑙𝑢𝑟𝑢ℎ 𝐷𝑎𝑡𝑎) 𝑥 100%
Adapun hasil keakuratan sistem untuk mengenali citra wajah yang sesuai

database.
64
As = ( ) 𝑥 100%
70

As = 91,4%

Dari hasil pengujian yang telah dilakukan didapatkan keakuratan sistem

(As) sebesar 91,4%. Dimana terdapat 8,6% atau enam citra data yang salah dalam

pencocokannya. Kesalahan tersebut dikarenakan sistem mengenali deskriptor data

sample paling mendekati dengan database hal ini disebabkan karena resolusi citra

sample yang didapat random artinya setiap terdeteksi wajah maka akan langsung

tersimpan tanpa ada pengaturan resolusi citra yang tetap.

4.1.2. Pengujian Citra Tidak Sesuai Database

Pada pengujian ini dilakukan dengan menggunakan wajah yang sama

dengan database yang telah dilatih sebelumnya. Pengujian ini bertujuan untuk

mengetahui apakah sistem mengenali dengan baik atau tidak citra wajah yang

dilatih tersebut. Gambar 4.2 menunjukkan hasil yang seharusnya tidak didapatkan

oleh sistem.

Gambar 4.2 Hasil Pencocokan Citra Tidak Sesuai Database

Tabel di bawah ini menunjukkan hasil pengujian terhadap sample tujuh


wajah yang tidak sesuai database dengan pengambilan citra sebanyak 10 kali tiap
sample (lampiran 3). Pengambilan data dilakukan dengan menjalankan program

sebanyak 10 kali dan dengan melihat 10 kali sistem mendeteksi wajah, serta pada

program dibatasi delapan titik kecocokan

Tabel 4.3 Hasil pengujian citra tidak sesuai database

Wajah Nomor Uji Citra Dikenali Hasil Pengujian


1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Tidak Ada Tidak Dikenali
4 Tidak Ada Tidak Dikenali
5 Tidak Ada Tidak Dikenali
Imam 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Citra C Dikenali
9 Tidak Ada Tidak Dikenali
10 Tidak Ada Tidak Dikenali
1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Citra B Dikenali
4 Tidak Ada Tidak Dikenali
5 Tidak Ada Tidak Dikenali
Hanif 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Citra A Dikenali
9 Tidak Ada Tidak Dikenali
10 Tidak Ada Tidak Dikenali
1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Citra G Dikenali
4 Tidak Ada Tidak Dikenali
5 Citra G Dikenali
Winda 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Tidak Ada Tidak Dikenali
9 Tidak Ada Tidak Dikenali
10 Tidak Ada Tidak Dikenali
1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Citra G Dikenali
4 Tidak Ada Tidak Dikenali
5 Citra G Dikenali
Atik 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Tidak Ada Tidak Dikenali
9 Tidak Ada Tidak Dikenali
10 Tidak Ada Tidak Dikenali
1 Tidak Ada Tidak Dikenali
Anto 2 Tidak Ada Tidak Dikenali
3 Tidak Ada Tidak Dikenali
Tabel 4.4 Hasil pengujian citra tidak sesuai database (lanjutan)

Wajah Nomor Uji Citra Dikenali Hasil Pengujian


4 Tidak Ada Tidak Dikenali
5 Tidak Ada Tidak Dikenali
6 Tidak Ada Tidak Dikenali
Anto 7 Tidak Ada Tidak Dikenali
8 Citra A Dikenali
9 Citra A Dikenali
10 Tidak Ada Tidak Dikenali
1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Tidak Ada Tidak Dikenali
4 Tidak Ada Tidak Dikenali
5 Tidak Ada Tidak Dikenali
Malik 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Tidak Ada Tidak Dikenali
9 Tidak Ada Tidak Dikenali
10 Citra B Dikenali
1 Tidak Ada Tidak Dikenali
2 Tidak Ada Tidak Dikenali
3 Tidak Ada Tidak Dikenali
4 Tidak Ada Tidak Dikenali
5 Tidak Ada Tidak Dikenali
Aldi 6 Tidak Ada Tidak Dikenali
7 Tidak Ada Tidak Dikenali
8 Citra A Dikenali
9 Tidak Ada Tidak Dikenali
10 Citra C Dikenali
Keterangan:
1. Ekspresi biasa, 2.Ekspresi senyum, 3.Ekspresi kelihatan gigi, 4.
Ekspresi mulut rapat, 5.Ekspresi buka mulut, 6.Menghadap atas, 7.
Menghadap bawah, 8.Menghadap kiri, 9.Menghadap kanan, 10.
Ekspresi Melotot.
Dari hasil pengujian pada tabel 4.1 di atas, dapat diketahui bahwa

keakuratan sistem untuk citra wajah yang sesuai dengan database dimana hasil

pencocokan keypoint dengan menggunakan rumus keakuratan sistem (As)

didapatkan.
58
As = ( ) 𝑥 100%
70

As = 82,9%
Dari hasil pengujian yang telah dilakukan didapatkan akuratan sistem

sebesar 82,9%. Dimana terdapat 17,1% atau 12 citra data yang salah dalam

pencocokannya. Kesalahan tersebut dikarenakan sistem mengenali deskriptor data

sample paling mendekati dengan database hal ini disebabkan karena resolusi citra

sample yang didapat random artinya setiap terdeteksi wajah maka akan langsung

tersimpan tanpa ada pengaturan resolusi citra yang tetap. Serta dengan

pembatasan delapan titik cocok maka titik yang memiliki nilai sama pada citra

wajah berbeda akan dikenali sebagai citra yang ada pada database.

4.2. Pengujian Dan Analisis Waktu Delay Pengendalian Relay

Pengujian dilakukan dengan mengirimkan 20 kali perintah pada Telegram

untuk mengendalikan relay. Untuk menghitung delay maka digunakan stopwatch

Smartphone. Hal ini dilakukan untuk mengetahui berapa delay untuk Telegram

mengendalikan keadaan relay. Gambar 4.3 menunjukkan perintah yang

dikirimkan dan perubahan relay yang terjadi

Gambar 4.3 Proses Pengujian Delay Relay Dengan Telegram

56
Tabel di bawah ini menunjukkan hasil pengujian delay relay yang

dikendalikan dengan Telegram.

Tabel 4.5 Hasil pengujian delay Relay dengan Telegram


Pengujian Keadaan Relay Delay (detik)
1 Menyala 0,8
2 Menyala 1,1
3 Menyala 0,4
4 Menyala 1,3
5 Menyala 0,9
6 Menyala 0,8
7 Menyala 0,8
8 Menyala 0,7
9 Menyala 0,7
10 Menyala 0,5
11 Menyala 0,8
12 Menyala 0,9
13 Menyala 0,9
14 Menyala 0,8
15 Menyala 1,0
16 Menyala 1,2
17 Menyala 0,6
18 Menyala 0,6
19 Menyala 1,0
20 Menyala 1,3
Rata-Rata 0.85

Dari hasil pengujian pada tabel 4.4 di atas, dapat diketahui bahwa delay

pengendalian relay melalui perintah yang dikirimkan dari Telegram memiliki rata-

rata delay waktu sebesar 0,85 detik. Dengan waktu delay tercepat adalah 0,4 detik

dan waktu delay terlama adalah 1,3 detik. Delay ini terjadi akibat adanya

pengaruh dari kecepatan internet.

4.3. Pengujian Kerja Alat Secara Keseluruhan

Pengujian sistem kerja alat dilakukan dengan dua kali pengambilan data.

Pertama pengujian dengan citra sample yang terdapat pada database hingga

akhirnya terjadi pengendalian relay. Kedua pengujian citra sample yang tidak

terdapat pada database.

57
4.3.1. Pengujian Pengendalian Relay

Pengujian ini bertujuan untuk mengetahui ketepatan pencocokan wajah

dan delay waktu sistem sampai akhirnya terjadi pengendalian relay. Pengujian

dilakukan dengan 20 data citra sample dengan lima citra orang berbeda (tiga laki-

laki dan dua perempuan) yang terdapat pada database. Pengambilan data dengan

melakukan secara real time melalui WebCam dengan deteksi pertama serta

dilakukan pengulangan mulai sistem, dan mengurangi nilai kecocokan pada

program sebesar enam titik pencocokan saja. Pengurangan nilai kecocokan

dilakukan agar meningkatkan keakuratan sistem. Untuk menghitung waktu proses

keseluruhan digunakan stopwatch dengan mencatat waktu awal program

dijalankan sampai terkendalinya relay. Berikut ini adalah tabel pengujian sistem

kerja alat secara keseluruhan:

Tabel 4.6 Hasil pengujian kerja alat sampai pengendalian relay


Waktu
No Sample Citra Dikenali Berhasil Relay Respon
(detik)
1 Citra B Ya Berubah 3.95
2 Citra B Ya Berubah 3.79
3 B Citra B Ya Berubah 3.78
4 Citra B Ya Berubah 3.81
5 Citra C Ya Berubah 4.05
6 Citra C Ya Berubah 3.89
7 C Citra C Ya Berubah 3.79
8 Citra C Ya Berubah 3.74
9 Citra E Ya Berubah 3.94
10 Citra E Ya Berubah 3.89
11 E Citra E Ya Berubah 3.87
12 Citra E Ya Berubah 3.82
13 Citra F Ya Berubah 3.50
14 Citra F Ya Berubah 3.65
15 F Citra F Ya Berubah 3.97
16 Citra F Ya Berubah 3.68
17 Citra G Ya Berubah 3.77
18 Citra G Ya Berubah 3.76
19 G Citra G Ya Berubah 3.78
20 Citra G Ya Berubah 3.83
Pada tabel di atas dapat diketahui bahwa dari 20 citra wajah yang diuji,

tidak terdapat kesalahan pencocokan citra. Sehingga keberhasilan sistem di atas

berdasarkan rumus yang telah digunakan adalah 100%. Terlihat ada peningkatan

nilai keberhasilan. Hal ini dikarenakan citra yang disimpan pada sistem memiliki

resolusi kecil sehingga pemberian titik cocok pada sample menjadi lebih sedikit

sehingga hanya dengan enam titik yang diartikan sebagai citra dikenali mampu

dicocokan dengan benar. Dapat juga diketahui dari tabel di atas waktu yang

dibutuhkan oleh sistem dalam mendeteksi benar sampai akhirnya relay

dikendalikan rata-rata sebesar 3,813. Hal ini diakibatkan karena saat sistem

bekerja pertama kali, maka sistem akan melakukan pelatihan dan menyimpan data

ke library terlebih dahulu sebelum akhirnya sistem melakukan pencocokan dan

pengendalian terhadap relay.

4.3.2. Pengujian Pengiriman Data Ke Telegram

Pengujian pengiriman data ke telegram ini untuk mengetahui delay waktu

Raspberry Pi 3 mengirimkan data ke Telegram. Pengujian ini termasuk pengujian

kerja alat keseluruhan karena dilakukan dari saat alat mulai mendeteksi wajah

hingga akhirnya data terkirim ke telegram. Pengujian dilakukan dengan 20 data

citra sample dengan lima citra orang berbeda (tiga laki-laki dan dua perempuan)

namun tidak terdapat pada database (lampiran 4). Pengambilan data dilakukan

secara real time melalui WebCam dengan deteksi pertama serta dilakukan

pengulangan mulai sistem, dan mengurangi nilai kecocokan pada program sebesar

enam titik pencocokan saja. Untuk menghitung waktu proses pengiriman digunakan
stopwatch dari awal program dijalankan sampai citra dan teks terkirim ke

Telegram. Gambar 4.4 memperlihatkan citra dan teks yang diterima oleh Bot

Telegram.

Gambar 4.4 Citra dan teks pada Telegram

Berikut ini adalah tabel pengujian delay pengiriman data citra dan teks ke

telegram:

Tabel 4.7 Hasil pengujian delay pengiriman data ke Telegram

Delay
Data ke
Sample Keterangan Pengiriman
Telegram
(detik)
Terkirim Berhasil 4.56
Terkirim Berhasil 4.94
Maharani Terkirim Berhasil 4.69
Terkirim Berhasil 4.62
Terkirim Berhasil 4.55
Terkirim Berhasil 5.21
Atik Terkirim Berhasil 4.67
Terkirim Berhasil 4.43
Terkirim Berhasil 4.56
Terkirim Berhasil 5.21
Aldi Terkirim Berhasil 5.55
Terkirim Berhasil 5.48
Terkirim Berhasil 4.88
Terkirim Berhasil 4.05
Hanif Terkirim Berhasil 4.11
Terkirim Berhasil 4.03
Terkirim Berhasil 4.75
Terkirim Berhasil 3.97
Anto Terkirim Berhasil 4.29
Terkirim Berhasil 4.27
Rata-rata delay pengiriman 4.64
Pada tabel di atas dapat diketahui bahwa dari 20 citra wajah yang diuji,

tidak terdapat kesalahan pencocokan citra atau semua citra dikenali sebagai citra

yang tidak dikenali oleh sistem. Sehingga keberhasilan sistem di atas berdasarkan

rumus yang telah digunakan adalah 100%. Dapat juga diketahui dari tabel di atas

delay atau waktu yang dibutuhkan oleh sistem dalam pendeteksian sampai

akhirnya data citra dan teks diterima oleh Telegram paling lama dengan delay

5,55 detik dan delay paling cepat 3,97 dengan rata-rata delay sebesar 4,641. Hal

ini diakibatkan karena setiap sistem bekerja pertama kali, maka sistem akan

melakukan pelatihan dan menyimpan data ke library terlebih dahulu, serta dalam

melakukan pencocokan sistem memerlukan waktu pencocokan yang berbeda-beda

yang disebabkan oleh perbedaan resolusi citra yang akan dilakukan pencocokan

sehingga setelah proses penyimpanan dan pencocokan selesai sistem akan

melakukan pengiriman data ke Telegram. Pengiriman data ke Telegram kemudian

dipengaruhi oleh kecepatan internet yang digunakan pada Raspberry Pi 3 serta

ukuran file yang dikirimkan.


BAB V

PENUTUP

5.1. Kesimpulan

Dari hasil pengujian yang telah dilakukan untuk sebuah akses keamaan

menggunakan face recognition berbasis raspberry pi, dapat disimpulkan:

1. Dengan menggunakan algoritma SURF sebagai face recognition

didapatkan akurasi pencocokan citra wajah yang sesuai data sebesar

91,4% dan untuk pencocokan citra wajah yang tidak sesuai data 82,9

% sehingga algoritma SURF dapat diterapkan sebagai face

recognition dalam sebuah sistem.

2. Pengendalian relay menggunakan telegram memiliki delay rata-rata

sebesar 0,85 detik. Hal ini menunjukkan bahwa sistem pengendalian

relay menggunakan telegram dapat diimplementasikan sebagai sistem

yang memiliki delay yang rendah.

3. Kinerja alat secara keseluruhan dengan mengurangi tingkat kecocokan

meningkatkan akurasi tingkat keberhasilan untuk wajah yang sesuai

dengan database serta untuk menjalankan perintah dari awal

pendeteksian, pencocokan citra, dan pengendalian relay didapatkan

waktu rata-rata 3,813 detik. Sedangkan untuk kinerja alat dalam

mengirim data citra dan teks ke Telegram didapatkan waktu rata-rata

4,641 detik. Hal ini menunjukkan sistem dapat diimplementasikan

dalam sebuah sistem keamanan dengan delay yang rendah


5.2. Saran

Dari hasil penelitian ini masih terdapat kekurangan dan dapat

memungkinkan untuk pengembangan lebih lanjut. Oleh karena itu penulis merasa

perlu untk memberi saran-saran sebagai berikut:

 Untuk memperbaiki keakuratan pencocokan gambar yang lebih baik

disarankan untuk perancangan input template ditambah dan dengan

berbagai kondisi, serta citra database diberikan resolusi yang lebih tinggi

agar sistem dapat mengenali wajah dengan baik.

 Agar melakukan pencarian algoritma untuk sebuah proses face

recognition yang memiliki tingkat akurasi yang tinggi sehingga nantinya

dapat diimplementasikan pada bidang keamanan saat ini.

 Sistem dijalankan dengan embedded board yang spesifikasinya lebih

tinggi untuk mendapatkan waktu dan akurasi yang lebih baik.

 Menggunakan WebCam atau kamera yang memiliki spesifikasi yang

lebih tinggi.
DAFTAR PUSTAKA

[1]. Juliandi, Reza. 2017. “Teknologi Biometrik: dari Sidik Jari, Iris Mata, Hingga
Suara”,http://www.sainsphd.com/2016/03/teknologi-biometrik.html.
Diakses pada 06 November 2017 pukul 14.33.
[2]. Rakhman Edi, Candrasyah Faisal, D.sutera Fajar. 2014. Raspberry Pi
Mikrokontroler Mungil yang Serba Bisa. Yogyakarta: Penerbit Andi.
[3]. Dinata, Andi. 2017. Physical Computing dengan Raspberry Pi. Jakarta: PT
Elex Media Komputindo
[4]. Shaleh. 2017. “Pengertian WebCam dan Jenisnya”,
http://rumahshaleh.com/pengertian-webcam-dan-jenisnya/. Diakses pada 16
Juli 2018 pukul 10.16.
[5]. Dermanto, Trikueni. 2014. “Pengertian Push Button Switch (Saklar Tombol
Tekan)”, http://trikueni-desain-sistem.blogspot.com/2014/04/Pengertian-
Push-Button.html. Diakses pada 16 Juli 2018 pukul 10.54.
[6]. Kho, Dickson. 2017. “Pengertian Relay dan Fungsinya”,
http://teknikelektronika.com/pengertian-relay-fungsi-relay/. Diakses
pada 14 November 2017 pukul 15.00.
[7]. Supriyono. 2016. “Kegunaan Solenoid Untuk Kunci Pintu Rumah”,
http://trikueni-desain-sistem.blogspot.com/2014/04/Pengertian-Push-
Button.html. Diakses pada 16 Juli 2018 pukul 14.21.
[8]. Kho, Dickson. 2017. “Pengertian LED (Light Emitting Diode) dan Cara
Kerjanya”,http://teknikelektronika.com/pengertian-led-light-emitting-diode-
cara-kerja/. Diakses pada 15 November 2017 pukul 14.40.
[9]. Budiharto, Widodo. 2014. Modern Robotics with OpenCV. New York:
Science Publishing Group.
[10]. Musa Purnawarman, Nuryuliani, Missa Lamsani. 2012. Rancang Bangun
Pengendalian Pintu Automatis Berdasarkan Ciri Wajah Menggunakan
Metode Euclidean Distance Dan Fuzzy C-Mean. Depok: Repository
Gunadarma
[11]. Basuki Achmad, Jozua F. Palandi, dan Fathurrochman. 2005. Pengolahan
Citra Digital Menggunakan Visual Basic. Bandung: Graha Ilmu.
[12]. Shulur, Permata Sandy. 2015. Perancangan Aplikasi Deteksi Wajah
Menggunakan Algoritma Viola-Jones. Bandung: Repository Universitas
Pasundan
[13]. Bay, H., Ess, A., Tuytelaars, T., dan Gool, L. V. 2006. SURF : Speeded-UP
Robust Features. Austria: Proceeding of 9th European Conference on
Computer Vision, Hal 7-13.
[14]. Yansyah, Febry. 2014. Deteksi Wajah Menggunakan Metode Speed-Up
Robust Features (SURF). Bandung: Repository Unikom
[15]. Hasan, Biben Nurbani. 2012. Pendeteksi Posisi Marker Pada Teknologi
Augmented Reality. Bandung: Repository Politeknik Negeri Bandung
[16]. Rohaya, Siti. 2008. Internet: Pengertian, Sejarah, Fasilitas dan Koneksinya.
Perpustakaan Digital UIN Sunan Kalijaga. Yogyakarta.
[17]. Hamizan, Zak dan Raden Sumiharto. 2017. Sistem Pentautan Citra Udara
Menggunakan Algoritma SURF dan Metode Reduksi Data. Yogyakarta:
JEIS, Vol.7 No.2
LAMPIRAN

Lampiran 1. Database Wajah

Data A

Data B

Data C

Data D

66
Data E

Data F

Data G

Data H
Data I

68
Lampiran 2. Citra Sesuai Database
Data A
Data B

70
Data C

72
Data D

73
Data E

75
Data F

76
Data G

78
Lampiran 3. Citra Tidak Sesuai Database
Aldi

Anto

Atik
Hanif

Winda

Malik Imam
Lampiran 4. Data yang diterima oleh Telegram
Maharani

Atik
Aldi

Anto
Hanif
XEMENTERIAM RISET, T?tXXOLOG! DAN PEXDIDIKAN TINP›€?I
UNIYERSITAS HASANUDDIN
FAt02l72J
Polos Malino Km. 6. Bontomurunnu KULTAS TEKNIK
Gowti. Suluwesi Selalnn. 92172. Sulaw'esi Selatao.
T›cp. ‹o«i u «asois «ao?ss F»« ‹mi i i sexiis.
http:://mg.unh ..id Email .
SURAT PENUGASAN
No. 4tI22/UN4.7. I *DA.04.09/2018
Dari Dck»n Fakultas Tcknik Univcrsitas Hasant« k1in
Kcyada I. Dr. tr. Zahir Zainuzbiin. M.Sc Pcmb. I
2. Dr. tr. Ingrid Nurtcnio. kl.’I’ Pcmh. II
Isi : I. Bcrdawrk«n Sur« Kctua Ucpartcmcn Tcknik Elektro Fakull«s Tc nik
Nome.1a1/L:N4.7.x.TPP.27ccltI iai›ggaI iu Anil 20!8 ‹<ni«ng u•ul
DOSEN PEMBIMBING MAHASISWA. maka dcnpan ini kami menuguskan
Saudam unruk memhimhing pcnulisan Skrtpsi/Tugas Akhir makasiswa Teknik
Elektro Fokultas Tcknik Univcrsit•s H«s•n•‹J‹Jin di hou'ah ini :
Xuma: Nn. Stambuk
r»‹<‹ x1«h:›inm:‹d D4I I 14XI7

Siinit penugaxan pcmbimbing ini n›ulai berlaku sej«k tanggal dilclapkunnyo


dan be akhir sazi›poi selcsainy‹a pcouIi •an Ski itai/Tugas Akhir mahasiswa
tersebut.
3 Ag*r penugasan ini diIaks‹inukun chaik-baiknya dengan prnuh rasa ianggung

Maka
l2 April 2016

3r. Ir. ItuMmmad R:izi›li. MT


'-.‹I»’ i•»un ix iss.vo‹o i

Tcmhusan :
i. r»rx• rt-un.
1. Kc«›‹ I p«ncmrn Teluiik Elektn› FT-UH.
KE MENTEft l AN RIS£T, TEWNOLOGI DAN PENDIDIKAN TINGG l
DFPAR7£M ENT ZkdIK ceexrno
FAKULTAS TEKNIK tJhIT EltSITAS HA5iAFIUHH1N
JI. Param M«linu Km. b. Bonlnmar gzjz\u (92] 71›Gina, ula <si Sel«h.
ONO Fe ( 588 F (04 5860 J

DERITA .4CARA ¥lJlAN $AR3ANA STRATA SATU (S I)

Pada han In Cftln. 13 Agusia 30I B puk.ul IO.U0 • Seia‹ai MTA bertempat di Ruatt$ Sidaip
Dcpi Ekkuo. tclak dilajcssrokon Ujizo Skripsi Strata Saci (SI ) bsei 9audara '

Mama fvfakasiswe : FADEL h.fLItlANIMAD


Nomor Pokok ! D41114107
Prog un Studi Tcknik ETcktro
Pembimbing I . l3r. Ir ? her 7aii›u‹kti i, h1.s=
1. Dr. Ir. Ind fiuuudd M.T
Judul 9kripsi 3istem Kzamanan Aksee Fiotu Masuk Menggunakan 1'ACE
RECOCNATTtJN berbasis Rosphcrzy Pi 3

No

I Or.I r. Zahir 2ainuddin. II.Sc

2 Dr. I r. 1 didNunanio, M.‘i'

3 Dr-Eng. Intan dari Areni, ST., MT. Anggota

4 DR.Hj. a. BJAH LI dRAENI SAI..4I\1, ,5”I”„ MI.

Hasil kcpuuzsan panitie ptnllai Ujian Skripsi : Lt0us / Tidak Luisa


dengan huzuf
. .....

Mzkass r. 13 Aguszus 20i 8

Kelua/Sekreturis Punilia Ui ion,

Dr. Ir. ahiz Zain»ddi». M.S<


NSP. 1Wr4 427l 5g51fJJ fJfJ2
UNlVERSlTAfiHAfiANUDDIN
KAMPL S TAMALANREA
'•.
JA£•AN PERINTIS KKMBROEXAAN KI¥L IO MAMA 1AR g0g4S
“ rr.1.L Pox roll li 1862tD, se4to2 FAX. ;o‹i i i

SURAT PERSETUJUAN
Nomor:0I4flUM4M1.L2flflFJ2ffl0l8
LkrJu rLau Kv suta•uu› Rcki‹›r Univcrsitas Haaznuddin tentang Pcratumn Madomik. fangyal
25 beer 2thl9 N‹minn I 870*HJ P *titi9 paual 28 a3at I dan l•eaal 40 •lcngan ini mencrangknn bahwa :

FADEL MIJHAMMAD
i!iti ti P.s nj nr. / 2i rum ices *r
D•tl 11J3 7
TEKNIK
1 RNIK ELEKTR

I blah memenuhi sx’amt tzntuk tJjiau Skripsi huata I (Si) dengan batas waktu ON-LINK rich mahasixva
<tmpai Jcnyan tanggal /# Je sfzzs J#/4 (Pukul III.IN R1TA¥ Demikian Sural Porsetujcauz ini
dibum unt‹ik digunakan dalam pruscs pelaksanaan qjian skripsi. dengan kcicntuau mahasiswa yang
dapat nwngikuli aisuda &6, '/ODS‘ S6 'FE #JC jika pz«syazataa kefslusaa/wtssdo *•'Ia* dtpeamfsi.
l”<rin›.1 K. ih.

t,zzstus 2018

Krtcrangan :
tumor £ sc D4 I I l 4307
"¥i›mor Pasword/Pin : I I86l92 i
.4lamt ¥¥ebsit hct://•• .tdYakadfsisada/
I syanaa F-¥Ixil : alizokomatb'bgasaJLezzm °
€”atatca 1. Bagi h'tahasixwa yang telah melaksanakan Ujian fiazjnra dan dinyatakan lultz•.
segvra menyemhksn e Skripsi dan Berits Acara ien na
kc Suh Bagian Akadcmik Fakul untuk mcnzpczolch oomor Alumni dan
Ji4afisr wfxsg,ai 6’istxIuwan peda periods Jalan.
’ JiLa tv sJi pcrubabaa JuduJ Skripsi agar melapwkan kc kasuba@ Pendidikan
Fakulta« sct›cIuta didaAar sef»sgai 6’isudawws pada Periods bed
Puda at Uh - I.SNF-. Mafasiswo dikarapkan atengisi tdcntitas diri sesuai
Surat Izin Lyan ini.
Surat izin ujian hanyu berlaku untuk 6’isu‹Ia periods bczjalan t'\ ’isuda Pcri‹xJc
h« tc’mlsc•r 2018).
KEMENTERIAN RISET, TEKNOLOGI DAN PENDIDIKAN TINGGI
DEPARTEMEN TEKNTK ELEKTRO
FAKULTAS TEKNIK UNIYERSITAS HASANL DDIN
Jl. PorosMalino KM. 6 Gowa, 92171, Sulawesi StlatBn
Telepon (041 I) 586262. Fas (0411) 586015

SURAT KETF.RANGAN
BEBAS PINJAMAN ALAT LABORATORIt M

Yang bertanda tangan di bawah ini menerangkan bahwa:

Nama Fadel Muhammad


Stambiik D4l 1 14 307
Program Studi SI Teknik Elektro

Benar telah tidak mempunyai pinjaman pada laboiatorium dalam lingkungan Departemen Teknik
Elektro Fakultas Teknik Universitas Hasanuddin, sebagaimana tertera pada tabel di bawah ini

NO NAMA LABORATORIUM NAMA LABORAN TANDA TANGAN


BORAN/CAP
Listrik Dasar

2. Sistem kendali dan lnstrumentasi Amsal Salim,


ST

Perangkat Lunak Computer

4. Elektronika Daya
Musiakim, ST
Elektronika Divais
Telekomunikasi Radio
dan Gelomban Mikr
Noma
Telematika

8. Mesin-mesin Listrik
Budi Prayitn
9. Relay dan Pengukuran

10. Teknik Tegangan Tinggi


Budi Prayitno
Distribusi dan lnstalasi
Demikian surat keterangan ini dibuat dan diberikan kepada yang bersangkutaa ontak
digunakan sebagai mana mestinya. •

Makassar, Agustus 2018


Kepala Sekretariat Tata

Optimization Software: Usaha,


Junaid Uding. SE
»w.balesi«i<nm
NIP. 19691203 200003 1 003
Catataa : Surat keterangen ini tidak bertaLu jika ada cecat (Tipe-X atau coretanj

Anda mungkin juga menyukai