alat pendeteksi suhu tubuh dan wajah berbasis

73
ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS RASPBERRY PI PROYEK AKHIR Laporan akhir ini dibuat dan diajukan untuk memenuhi salah satu syarat kelulusan Dipolma III Politeknik Manufaktur Negeri Bangka Belitung Diusulkan oleh Junialdi Saputra NIM : 0031844 Puspita Desvirati NIM : 0031851 POLITEKNIK MANUFAKTUR NEGERI BANGKA BELITUNG 2021

Upload: others

Post on 22-May-2022

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

RASPBERRY PI

PROYEK AKHIR

Laporan akhir ini dibuat dan diajukan untuk memenuhi salah satu syarat

kelulusan Dipolma III Politeknik Manufaktur Negeri Bangka Belitung

Diusulkan oleh

Junialdi Saputra NIM : 0031844

Puspita Desvirati NIM : 0031851

POLITEKNIK MANUFAKTUR NEGERI

BANGKA BELITUNG

2021

Page 2: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

iv

Page 3: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

v

PERNYATAAN BUKAN PLAGIAT

Yang bertanda tangan dibawah ini:

Nama Mahasiswa 1: Junialdi Saputra

Nama Mahasiswa 2: Puspita Desvirati

Dengan Judul : Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis Raspberry Pi

Menyatakan bahwa laporan akhir ini adalah hail kerja kami sendiri dan bukan

merupakan plagiat. Pernyataan ini kami buat dengan sebenarnya dan bila

dikemudian hari ternyata melanggar pernyataan ini kami bersedia menerima

sanksi yang berlaku.

Sungailiat, 10Agustus 2021

Page 4: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

vi

ABSTRAK

Penelitian ini mengarah pada pembuatan alat presensi dengan menerapkan

sistem pengenalan dan pendeteksian wajah, serta dilengkapi dengan pengukuran

suhu tubuh. Dalam penelitian ini untuk pendeteksian dan pengenalan wajah

diterapkan Algoritma Local Binary Pattern Histogram (LBPH) dan Haar

Cascade of Classifier. Sistem kerja algoritma tersebut melakukan pendeteksian

dan pengenalan wajah secara cepat dengan penggunaan WebCam. Cara tepat

dalam pembuatan Mesin Presensi ini adalah melakukan penyusunan database,

training, pendeteksian, pengenalan, dan pengidentifikasian wajah. Untuk

pengukuran suhu tubuh menggunakan sensor suhu Infrared MLX90614, sensor

suhu ini memanfaatkan radiasi gelombang inframera, secara otomatis sensor ini

dapat melakukan pengukuran energi pada radiasi inframerah yang akan menjadi

skala temperatur. Dalam pengujian Mesin Presensi ini menggunakan 100 gambar

wajah yang tersimpan pada database dan akan dibaca citra wajahnya saat proses

pendeteksian. Dari hasil pengujian, sistem pendeteksian dan pengenalan wajah

akan bekerja secara maksimal pada jarak 30-100 cm dari WebCam. sedangkan

pada sistem pengukuran suhu tubuh akan lebih akurat pada jarak 5-15 cm dari

sensor suhu MLX90614.

Kata kunci: Sistem pendeteksian dan pengenalan wajah, Algoritma Local Binary

Pattern Histogram (LBPH), Haar Cascade of Classifier, sensor suhu

Infrared MLX90614, Raspberry Pi.

Page 5: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

vii

ABSTRACT

This research leads to the manufacture of presence tools by

implementing a face recognition and detection system, and is equipped with body

temperature measurements. In this study, for face detection and recognition, the

Local Binary Pattern Histogram (LBPH) Algorithm and Haar Cascade of

Classifier were applied. The algorithm's working system performs face detection

and recognition quickly with the use of a webcam. The right way to make this

Presence Machine is to do database preparation, training, detection, recognition,

and face identification. For measuring body temperature using the MLX90614

Infrared temperature sensor, this temperature sensor utilizes infrared radiation,

this sensor can automatically measure energy in infrared radiation which will

become a temperature scale. In this Presence Machine test, 100 face images are

stored in the database and the face image will be read during the detection

process. From the test results, the face detection and recognition system will work

optimally at a distance of 30-100 cm from the WebCam. while the body

temperature measurement system will be more accurate at a distance of 5-15 cm

from the MLX90614 temperature sensor.

Keywords: Face detection and recognition system, Local Binary Pattern

Histogram (LBPH) Algorithm, Haar Cascade of Classifier, Infrared

temperature sensor MLX90614, Raspberry Pi.

Page 6: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

viii

KATA PENGANTAR

Puji syukur dipanjatkan atas kehadiran Allah SWT, karena atas berkat dan

rahmatnya Laporan Tugas Akhir ini dapat terselesaikan tepat pada waktunya.

Laporan Tugas Akhir ini disusun sebagai salah satu syarat dan kewajiban

mahasiswa dalam menyelesaikan kurikulum program pendidikan Dipolma III di

Politeknik Manufaktur Negeri Bangka Belitung.

Laporan Tugas Akhir ini dapat diselesaikan berkat adanya usaha dan kerja

sama tim yang baik, serta adanya bantuan dan dukungan dari berbagai pihak. Pada

kesempatan diucapkan terima kasih kepada pihak-pihak yang turut serta dalam

membantu dan mendukung tersebut, diantaranya :

1. Bapak Aan Febriansyah, S.ST., M.T selaku pembimbing I yang telah

meluangkan waktu, tenaga dan pikiran dalam mengarahkan pengarahan

dalam penulisan Laporan Tugas Akhir.

2. Bapak Irwan, M. Sc. Ph. D selaku pembimbing II yang telah memberikan

saran-saran dan solusi dari masalah-masalah yang dihadapi selama proses

perencanaan dan pembuatan alat serta penyusunan laporan.

3. Bapak Dr. Parulian Silalahi,M.Pd selaku wali kelas III Elektronika B

teknik D3 Elektronika Politeknik Manufaktur Negeri Bangka Belitung.

4. Bapak I Made Andik S, Eng , Ph.D selaku Direktur Politeknik Manufaktur

Negeri Bangka Belitung.

5. Seluruh staf pengajar di Politeknik Manufaktur Negeri Bangka Belitung.

6. Rekan-rekan mahasiswa Politeknik Manufaktur Negeri Bangka Belitung,

yang telah banyak membantu selama pengerjaan Tugas Akhir.

7. Keluarga besar yang selalu senantiasa memberi dukungan dan doa selama

proses pembuatan Tugas Akhir.

8. Pihak-pihak lainnya yang telah memberikan bantuan baik secara langsung

dalam pembuatan Tugas Akhir yang tidak dapat disebutkan satu persatu.

Page 7: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

ix

Dalam pembuataan Laporan Tugas Akhir ini masih jauh dari kata

sempurna, baik dari segi isi maupun penulisannya. Oleh karena itu diharapkan

kritik dan saran dari semua pihak yang bersifat membangun demi kebaikan

dalam penulisan laporan kedepannya.

Akhir kata diucapkan terima kasih, semoga laporan ini dapat berguna

dalam menambah pengetahuan dan wawasan bagi penulis dan pembaca.

Sungailiat, 10 Agustus 2021

Penulis

Page 8: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

x

DAFTAR ISI

HALAMAN JUDUL ......................................................................................... i

LEMBAR PENGESAHAN ................................................................................ ii

PERNYATAAN BUKAN PLAGIAT ............................................................... iii

ABSTRAK ......................................................................................................... iv

ABSTRACT......................................................................................................... v

KATA PENGANTAR ....................................................................................... vi

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

DAFTAR TABEL ............................................................................................ vii

DAFTAR GAMBAR ........................................................................................ ix

DAFTAR LAMPIRAN ...................................................................................... x

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

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

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

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

1.4. Tujuan Proyek Akhir ............................................................................... 3

BAB II LANDASAN TEORI ............................................................................. 4

1.1. Deteksi dan Pengenalan Wajah ............................................................... 4

1.2. Deteksi Wajah Algoritma LBPH (Local Binary Pattern Histogram) ...... 4

1.3. Haar Cascade of Classifier .................................................................... 6

1.4. Raspberry Pi .......................................................................................... 7

1.4.1. Fungsi dan Penggunaan Raspberry Pi ............................................... 7

1.4.2. Jenis-jenis Raspberry Pi ................................................................... 7

1.4.3. Bagian-bagian dan Spesifikasi Raspberry Pi 3 B .............................. 7

1.5. Sistem Operasi Rasbian .......................................................................... 8

1.6. Bahasa Pemrograman Python ................................................................. 8

1.7. OpenCV ................................................................................................. 8

1.8. Pengolah Citra ........................................................................................ 9

Page 9: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

xi

1.9. WebCam................................................................................................. 9

1.10. Sensor Suhu Infrared MLX90614 ...................................................... 10

1.11. Speaker USB ...................................................................................... 10

BAB III METODE PELAKSANAAN ............................................................. 12

3.1. Pengumpulan Data Pendeteksian suhu tubuh dan wajah ....................... 13

3.2. Pengolahan Data Pendeteksian suhu tubuh dan wajah ........................... 13

3.3. Perancangan Software .......................................................................... 13

3.4. Assembly (Pearakitan Alat) ................................................................... 14

3.5. Uji Coba ............................................................................................... 14

BAB IV PEMBAHASAN ................................................................................ 15

4.1. Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis Raspberry Pi ........... 15

4.2. Pengujian ............................................................................................. 19

4.3. Sistem Presensi .................................................................................... 26

4.4. Pengukuran Suhu Tubuh ...................................................................... 29

4.5. Hasil Perancangan dan Pengujian ......................................................... 31

BAB V PENUTUP ........................................................................................... 45

5.1. Kesimpulan .......................................................................................... 45

5.2. Saran .................................................................................................... 46

DAFTAR PUSTAKA ....................................................................................... 47

Page 10: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

DAFTAR TABEL

Table 4.2 Pengukuran suhu tubuh dengan Thermogan ........................................ 41

Tabel 4.1 pengukuran suhu tubuh dengan sensor MLX90614 ............................. 41

Table 4.3 Pengukuran suhu tubuh berdasarkan suhu ruangan ............................. 44

Page 11: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

xiii

DAFTAR GAMBAR

Gambar 2.1. Cara Kerja Original Local Binary Pattern ....................................... 5

Gambar 2.2 Proses Local Binary Pattern Histogram (LBPH) .............................. 5

Gambar 2.3 Struktur dari Cascade Classifier ....................................................... 6

Gambar 2.4 bagian-bagian Raspberry Pi ............................................................. 7

Gambar 3.1 Flowchart Metode Pelaksanaan ...................................................... 14

Gambar 3.2 Diagram Blok Rancangan ............................................................... 16

Gambar 4.1 Flowchart Database ....................................................................... 18

Gambar 4.2 Flowchart sistem Presensi .............................................................. 20

Gambar 4.3 Parameter MaxSize.......................................................................... 20

Gambar 4.4 Parameter MinSize .......................................................................... 21

Gambar 4.5 Database Wajah ............................................................................. 21

Gambar 4.6 Training wajah di Database ........................................................... 24

Gambar 4.7 Identifikasi Wajah .......................................................................... 25

Gambar 4.8 Identifikasi wajah pada sistem presensi ........................................... 27

Gambar 4.9 Settingan waktu .............................................................................. 28

Gambar 4.10 Data Presensi ................................................................................ 29

Gambar 4.11 Pendeteksian dan pengidentifikasian wajah pada jarak 10 cm dari

WebCam. ....................................................................................... 31

Gambar 4.12 Pendeteksian dan pengidentifikasian wajah pada jarak 30 cm dari

WebCam ........................................................................................ 32

Gambar 4.13 Pendeteksian dan pengidentifikasian wajah pada jarak 50 cm dari

Webcam......................................................................................... 32

Gambar 4.14 Pendeteksian dan pengidentifikasian wajah pada jarak 80 cm dari

WebCam. ....................................................................................... 32

Gambar 4.15 Pendeteksian dan pengidentifikasian wajah pada jarak 100 cm dar

WebCam. ....................................................................................... 33

Gambar 4.16 Pendeteksian dan pengidentifikasian wajah pada jarak 150 cm dari

WebCam. ....................................................................................... 33

Page 12: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

xiv

Gambar 4.17 Pendeteksian dan pengidentifikasian wajah dengan kurangnya

pencahayaan. ................................................................................. 34

Gambar 4.18 Pendeteksian dan pengidentifikasian wajah dengan intensitas

pencahayaan dari bawah. ............................................................... 34

Gambar 4.19 Pendeteksian dan pengidentifikasian wajah dengan intensitas

pencahayaan dari atas .................................................................... 34

Gambar 4.20 Pendeteksian dan pengidentifikasian wajah dengan intensitas

pencahayaan dari samping kanan ................................................... 35

Gambar 4.21 Pendeteksian dan pengidentifikasian wajah dengan intensitas cahaya

dari samping kiri ........................................................................... 35

Gambar 4.22 Pendeteksian dan pengidentifikasian wajah dengan intensitas cahaya

dari depan WebCam ....................................................................... 36

Gambar 4.23 Pendeteksian dan pengidentifikasian wajah dengan intensitas cahaya

dari belakang WebCam .................................................................. 36

Gambar 4.24 Posisi wajah di depan WebCam ..................................................... 36

Gambar 4.25 Posisi wajah di samping kiri WebCam........................................... 37

Gambar 4.26 Posisi wajah di samping kanan WebCam ....................................... 37

Gambar 4.27 Pengukuran suhu tubuh pada bagian tangan dengan jarak 5 cm dari

sensor suhu tubuh. ......................................................................... 38

Gambar 4.28 Pengukuran suhu tubuh pada bagian tangan dengan jarak 10 cm dari

sensor suhu tubuh .......................................................................... 38

Gambar 4.29 Pengukuran suhu tubuh pada bagian tangan pada jarak 15 cm dari

sensor suhu tubuh .......................................................................... 39

Gambar 4.30 Pengukuran suhu tubuh pada bagian tangan pada jarak 20 cm dari

sensor suhu tubuh .......................................................................... 39

Gambar 4.31 Pengukuran suhu tubuh pada bagian tangan pada jarak 25 cm dari

sensor suhu tubuh .......................................................................... 40

Gambar 4.32 Pengukuran suhu tubuh pada bagian tangan pada jarak 30 cm dari

sensor suhu tubuh. ......................................................................... 40

Gambar 4.33 Pengukuran suhu tubuh pada bagian tangan dengan suhu ruangan

26°C. ............................................................................................. 43

Page 13: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

xv

Gambar 4.34 Pengukuran suhu tubuh pada bagian tangan dengan suhu ruangan

27°C. ............................................................................................. 43

Gambar 4.35 Pengukuran suhu tubuh pada bagian tangan dengan suhu ruangan

28°C. ............................................................................................. 43

Gambar 4.36 Pengukuran suhu tubuh pada bagian tangan dengan suhu ruangan

29°C. ............................................................................................. 44

Gambar 4.37 Pengukuran suhu tubuh pada bagian tangan dengan suhu ruangan

30°C. ............................................................................................. 44

Page 14: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

xvi

DAFTAR LAMPIRAN

LAMPIRAN 1 : RIWAYAT HIDUP

LAMPIRAN 2 : LIST PROGRAM

Page 15: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Mesin Presensi adalah mesin yang dipergunakan dalam pendataan kehadiran

mahasiswa, karyawan, maupun anggota dalam sebuah organisasi. Mesin Presensi

ini sering dipergunakan baik di kantor, sekolah, maupun instansi. Peranan Mesin

Presensi ini sangat penting dalam melakukan pendataan kehadiran berupa jam

masuk/pulang kerja terutama bagi perusahaan yang melakukan perhitungan gaji

atau upah sesuai hitungan waktu. Mesin Presensi juga sering dipergunakan pada

sekolah maupun Kampus dalam pendataan kehadiran siswa maupun mahasiswa,

hal ini sangat membantu mengajarkan kedisiplinan kepada siswa maupun

mahasiswa. Penggunaan Mesin Presensi dapat menghasilkan data kehadiran yang

akurat sehingga minim tingkat kesalahannya, selain itu juga pendataan akan lebih

cepat dilakukan [1].

Pada era sekarang Mesin Presensi juga mengalami perkembangan secara

teknologi seperti pengembangan pada sensor input-annya. Untuk sekarang banyak

pengembangan Mesin Presensi yang didasari oleh jenis inputnya seperti: Mesin

Presensi Kartu, Mesin Presensi Digital, dan Mesin Presensi Biometrik yang dapat

mendeteksi bagian tubuh manusia seperti sidik jari,wajah dan suara [2]. Seiring

perkembangan, Mesin Presensi tidak hanya sebagai pendataan dalam kehadiran

dan memperhitungkan upah saja, namun peranan Mesin Presensi dituntut

berintegrasi secara langsung pada sistem di sekolah, kampus, maupun di sebuah

instansi. Kecanggihan teknologi pada Mesin Presensi juga bukan hanya terletak

pada kecanggihan inputannya saja, tetapi seiring pengembangan sensor

integrasinya juga dikembangkan, seperti Mesin Presensi USB, Mesin Presensi

TCP/IP, Mesin Presensi Wi-Fi [1].

Adanya penyebaran virus COVID-19 yang berkembang pesat di dunia yang

berdampak negatif kepada pihak masyarakat, penyebaran virus menular ini harus

di hindari karena dapat menghambat kegiatan baik di Kantor, Sekolah, maupun di

Instansi. Untuk menghindari dampak penyebaran dari virus menular COVID-19 di

Page 16: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

2

kantor, sekolah, kampus maupun Instansi telah menggunakan Presensi berbasis

scan wajah untuk menghindari interaksi antar sesama. Dikarenakan untuk

pengukuran suhu tubuh masih menggunakan operator yang dimana virus COVID-

19 mudah terjangkit melalui udara hal itu di nilai kurang efektif. Oleh karena itu

penulis membuat suatu “Alat Pendeteksi Suhu Tubuh dan Wajah Berbasis

Raspberry Pi” yang merupakan penggabungkan alat scan wajah dan pengukur

suhu tubuh.

1.2 Rumusan Masalah

Rumusan masalah pada Proyek Akhir ini adalah:

1. Bagaimana cara mengembangkan Mesin Presensi berbasis Raspberry Pi?

2. Bagimana membuat Mesin Presensi dengan menggabungkan Alat Scan

Wajah dan Pengukur suhu tubuh?

1.3 Batasan Masalah

Untuk lebih terarahnya tujuan Proyek Akhir, maka batasan masalah dalam

pengerjaan ini:

1. Pelaksanaan pembuatan database berisi Nama, NIM, Jam masuk dan

pulang.

2. Pelaksanaan pembuatan tampilan di layar monitor terdiri Nama, Suhu

tubuh, Keterangan masuk atau tidak, Tanggal dan Jam masuk.

3. Menggunakan Algoritma LBPH dan metode Haar Cascade Classifier

yang sesuai dengan Scan Wajah.

4. Pelaksanaan Pembuatan Output Suara dengan kata “Suhu Tubuh Normal

dan Suhu Tubuh Tidak Normal”.

5. Pengukuran suhu tubuh pada bagian tangan.

6. Data Record Scan wajah maksimal 10 gambar per orang.

7. Jarak sensor suhu dalam mendeteksi suhu dengan akurat sejauh 5-10 cm.

8. Kecepatan data sistem presensi bergantung dengan koneksi Internet.

Page 17: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

3

1.4 Tujuan Proyek Akhir

1. Membuat Mesin Presensi scan wajah dan pendeteksi suhu tubuh bebasis

Raspberry Pi.

2. Membuat Mesin Presensi dengan menggabungkan alat scan wajah dan

pengukur suhu tubuh.

Page 18: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

4

BAB II

DASAR TEORI

2.1 Deteksi Dan Pengenalan Wajah

Deteksi wajah merupakan sebuah metode dalam mengekstraksi daerah

pada wajah dengan tujuan sebagai proses pengenalan wajah. Sementara itu

Pengenalan wajah termauk kedalam sebuah teknologi yang melakukan

pengolahan citra (computer vision), dalam hal ini dapat mengidentifikasi suatu

identitas atau informasi seseorang dari wajahnya [3].

Face recognition merupakan sebuah teknologi komputer yang mampu

mendeteksi dan mengidentifikasi wajah melalui sebuah gambar digital dengan

melakuka pencocokkan tekstur dari lekuk wajah yang sudah terdata dan tersimpan

dalam database [4].

2.2 Deteksi Wajah Algoritma LBPH (Local Binary Pattern Histogram)

Algoritma LBPH bekerja dengan mencari perbedaan pada suatu objek dan

background. Local Binary Pattern Histogtram (LBPH) terbentuk dari

kombinasi algoritma LBP dengan Histogram of Oriented Gradients (HOG).

Citra wajah yang yang di tangkap secara cepat oleh WebCam akan dilakukan

perbandingkan dan dicocokan dengan metode histogram yang sudah diekstraksi

citra wajahnya yang ada pada database [3].

Prinsip kerja dari algoritma Local Binary Pattern Histogram (LBPH)

dalam mencocokkan gambar adalah dengan melakukan perbandingan nilai suatu

pixel yang berada di pusat citra dengan 8 nilai pixel yang ada di

sekelilingnya [5]. Pixel yang berada di tengah diperoleh dengan melakukan

perbandingan insensitasnya dengan insensitas dari pixel yang lainnya. Nilai dari

pixel yang tengah merupakan suatu ambang batas dari kedelapan pixel lainnya.

Dalam sebuah matriks, nilai biner yang berada di tengah akan dibandingkan

dengan nilai matriks yang berada di sekelilingnya. Apabila nilai matriks yang

berada di tengah lebih tinggi dari nilai yang ada di sekelilingnya, maka nilai

matriks di sekelilingnya akan diberi nilai ‘1’ begitu juga sebaliknya, apabila nilai

Page 19: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

5

matriks yang ada di tengah bernilai lebih rendah dari nilai yang ada di

sekelilingnya, maka nilai matriks di sekelilingnya akan bernilai ‘0’ [3]. Angka 0

dan 1 (8 nilai biner) akan disusun searah jarum jam, nilai-nilai ini disebut

sebagai threshold. Dari susunan 8 nilai biner tersebut, akan dikonversi menjadi

nilai decimal [5]. Hal selanjutnya yaitu menghitung nilai histogram untuk

melakukan perbandingan dan pencocokan identitas wajah yang ditangkap oleh

WebCam dengan yang telah tersimpan pada database [3]. persamaan untuk

menghitung nilai threshold:

……………………………….(2.2.1)

Nilai dari D merupakan pembandingan antara citra wajah yang tersimpan pada

database dengan yang berada di kamera.

g1 g2 g3

g4 g5 g6

g7 g8 g9

Gambar 2.1. Prinsip kerja Original Local Binary Pattern [3]

Dengan melakukan perbandingan nilai pixel yang berada di pusat atau di

tengah citra wajah dengan 8 nilai pixel yang ada di sekelilingnya, didapat nilai

desimalnya (nilai threshold).

Page 20: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

6

Gambar 2.2 Proses Local Binary Pattern Histogram (LBPH) [5].

2.3 Haar Cascade Of Classifier

Haar Cascade of Classifier adalah library yang sudah tesedia di

dalam Open-CV, library ini dibangun di atas Bahasa C/C++ menggunakan

API (Application Programming Interface) python [3]. Dengan melakukan

pengkombinasian pengklasifikasian dalam suatu Cascade of Classifier yang

membuat kecepatan dalam proses pendeteksian meningkat, hal ini

dilakukan dengan cara memperhatikan daerah-daerah dalam citra wajah

yang berpeluang saja [5]. Haar Cascade melakukan kombinasi tiga hal

yang akan menjadi dasarnya. Pertama dengan memiliki fitur lengkap yang

luas serta dapat dihitung secara cepat dan tepat, dalam hal ini dapat

mengurangi suatu variabilitas dalam suatu kelas, serta meningkatkan

variabilitas antar kelas. Kedua dengan melakukan penerapan algoritma yang

dapat memungkinkan pilihan dari suatu fitur dan pelatihan. Ketiga dengan

melakukan suatu pembentukan cascade dengan bertahap yang menghasilkan

suatu klasifikasi dan skema deteksi yang akan lebih komplek, efesien dan

cepat [3].

Gambar 2.3 Struktur dari Cascade Classifier [5].

2.4 Raspberry Pi

Merupakan komputer seperti sebuah papan tunggal (single-board

circuit; SBC) yang memiliki ukuran seperti kartu kredit. Raspberry Pi

memiliki CPU, GPU, RAM, Port USB, Audio Jack, HDMI, Ethernet, dan

GPIO hampir sama seperti komputer pada umumnya. Hanya saja

Page 21: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

7

penyimpanan pada Raspberry Pi tidak menggunakan harddisk drive (HDD)

tetapi hanya menggunakan Micro SD dengan kapasitas yang dapat

disesuaikan dengan kebutuhan, sumber tenaga dari Raspberry Pi

menggunakan micro USB power dengan sumber daya 5V dan minimal arus

700 mA [6].

2.4.1 Jenis-jenis Raspberry Pi

Ada dua model utrama yang dimiliki Raspberry Pi, yaitu model A

dan model B. Kedua model Raspberry Pi ini memiliki perbedaan yaitu

terletak pada memori yang digunakan, Model A sendiri menggunakan

memori 256 MB sedangkan model B menggunakan memori 512 MB, model

B juga telah menggunakan ethernet port (kartu jaringan) yang tidak ada pada

model A. berikut jenis-jenis dari Raspberry Pi adalah [6]:

a. Raspberry Pi A+

b. Rasberry Pi B dan B+

c. Raspberry Pi 2

d. Raspberry Pi 3

2.4.2 Bagian-bagian dan Spesifikasi Raspberry Pi 3 B

Gambar 2.4 bagian-bagian Raspberry Pi [6]

2.5 Sistem Operasi Raspbian

Sistem Operasi Raspbian adalah suatu sistem operasi yang

berbasis Linux Distro Debian, sistem ini dioptimalkan untuk penggunaan

Raspberry Pi. Pada sistem operasi ini mempunyai beberapa program

standar dan program pembantu yang dapat menjalankan perangkat keras

yang ada pada Raspberry Pi [7].

Page 22: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

8

2.6 Bahasa Pemrograman Python

Python merupakan bahasa pemrograman dengan model skrip

(scripting language) diorientasi dengan obyek. Python digunakan

diberbagai kebutuhan dalam pembentukan pengembangan suatu

perangkat lunak dan dapat dijalankan diberbagai platform dalam suatu

sistem operasi. Python juga dapat dikatakan bahasa pemrograman yang

bersifat freeware, dalam art ian tidak ada batasan di dalam

mendistribusikannya. dilengkapi source code, debugger dan profiler,

terdapat juga pelayanan antarmuka [7].

2.7 OpenCV

OpenCV merupakan libray yang digunakan dalam mengolah suatu

gambar dan video sehingga dapat meng-ekstrak informasi di dalam suatu

gambar atau video tersebut [8]. Terdapat 2500 lebih algoritma optimasi yang

dapat digunakan untuk memproses, memanipulasi, serta mengedit suatu

gambar dengan menggunakan OpenCV. OpenCV dapat digunakan dengan

berbagai macam bahasa pemprograman seperti Python, PHP, C, C++, dan

Java. Ada beberapa aplikasi yang dapat dipergunakan dalam penerapan

OpenCV ialah Interaksi Manusia Komputer (HCI), Pendeteksian dan

Pengenalan Wajah, Pengenalan Gestur, Pengenalan dan Identifikasi Objek,

Tracking Gerakan, Proses pada gambar, dan Mobile Robotics(Implementasi

Penggunaan OpenCV). OpenCV meng-support berbagai macam platform

seperti Windows, Linux, Mac OS, iOS dan Android [9].

2.8 Pengolahan Citra

Diperolehnya sebuah Citra digital merupakan hasil digitalisasi dari

sebuah citra analog. Ada dua proses dalam mendigitalisasi sebuah citra yaitu

proses sampling dan kuantisasi. Dalam proses sampling ditunjukkan

banyaknya suatu pixel/blok dalam mendefinisikan sebuah gambar. Sedangkan

dalam suatu proses kuantisasi akan menunjukkan banyaknya suatu nilai

Page 23: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

9

derajat pada setiap pixel (menunjukkan sejumlah bit yang berada pada sebuah

gambar digital, dengan 2 bit black/white, 8 bit grayscale, dan 24 bit true

color) [10]. Pengolahan Citra dilakukan agar dapat melakukan peningkatan

kualitas dari citra agar mudah diinterpretasi oleh manusia maupun komputer.

Masukannya merupakan berupa sebuah citra dan keluarannya akan berupa

citra juga, yang diekstrak menjadi kualitas lebih baik lagi dari pada citra

masukkan sebelumnya. Operasi yang berhubungan antara pengelolahan citra

dalam deteksi wajah adalah neighborhood operation, histogram equalization,

grayscaling, thresholding, resizing. Proses dari suatu analisis sebuah citra

wajah dimulai dari melakukan pencitraan sampai dengan proses terakhir,

sehingga akan didapatkan sebuah keputusan dengan maksud dan tujuan

tertentu [10].

2.9 WebCam

WebCam (Web Camera) merupakan sebuah kamera realtime

(bermakna keadaan pada saat ini juga) gambar yang ditangkap bisa

diakses atau dilihat melalui program instant messaging, World Wide Web,

maupun aplikasi video call. Dalam web camera terdapat sebuah lensa

standar yang dipasang pada sebuah papan yang berupa sirkuit berguna

untuk menangkap sinyal gambar. Memiliki sebuah lubang lensa di casing

depan yang digunakan untuk menginput sebuah gambar. Salah satu

ujungnya kabel suport dihubungkan dengan papan sirkuit dan ujung satu

lagi sebagai connector, kabel ini dapat dikontrol sesuai ketinggian, arah

dan sudut pandang dari web camera [7].

2.10 Sensor Suhu Infrared MLX90614

Sensor MLX90614 adalah sensor yang memanfaatkan radiasi dari

gelombang inframerah yang akan digunakan untuk pengukuran suhu tubuh.

Sensor ini dikhususkan dalam melakukan pendeteksian energi dari radiasi

inframerah yang kemudian akan secara otomatis melakukan kalibrasi suatu

energi dari radiasi inframerah yang kemudian akan diubah menjadi skala

Page 24: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

10

temperatur.

Pada sensor ini terdapat signal conditioning ASSP MLX90302 dan

detektor thermopile infrared MLX81101 yang berguna dalam melakukan

pemprosesan keluaran dari sensor inframerah [11]. Sensor ini juga memiliki

tegangan rendah suatu penguat, unit DSP, thermometer, dan ADC 17 bit serta

memiliki tingkat keakurasian dan resulusi yang cukup tinggi [12]. Sensor ini

Mampu melakukan pendeteksian suatu radiasi temperature objek antara - 70

C hingga 380 C. Keluarannya akan berupa digital, hal ini dikarenakan di

dalam sensor ini telah terdapat ADC. Cara kerja dari sensor ini adalah

menangkap dari pancaran inframerah suatu energi panas yang dihasilkan

setiap benda, setelah itu akan dikonversikan dalam bentuk besaran suhu [11].

2.11 Speaker USB

Speaker merupakan suatu perangkat keras atau output yang memiliki

fungsi dalam mengeluarkan hasil dari pemrosesan yang telah dilakukan oleh

CPU berupa audio/suara. speaker dapat dikatakan sebagai alat bantu yang

berguna sebagai keluaran suara dari perangkat musik seperti MP3 Player,

DVD Player dan perangkat musik lainnya [13].

Dalam hal lain speaker juga mempunyai fungsi sebagai suatu alat yang

digunakan dalam mengubah suatu gelombang listrik yang pada awalnya

merupakan perangkat penguat audio/suara menjadi gelombang getaran

setelahnya berupa suara itu sendiri. Dalam suatu proses perubahan gelombang

elektromagnet ke gelombang bunyi akan bermula melalui aliran listrik yang

berada pada penguat audio/suara setelah itu akan dialirkan ke dalam suatu

kumparan. Dalam suatu kumparan tersebut akan terjadi sebuah pengaruh gaya

magnet pada speaker yang akan sesuai dengan kuat atau lemahnya suatu

aliran arus listrik yang telah diperoleh, oleh karena itu getaran yang akan

dihasilkan pada suatu membran akan sama. Dari hal tersebut terjadilah sutau

gelombang bunyi yang dapat didengar dalam kesehariannya [13].

Page 25: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

11

.

Page 26: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

12

BAB III

METODE PELAKSANAAN

Untuk memudahkan proses pembuatan proyek akhir, ada beberapa tahap

dalam bentuk flowchart dapat ditunjukkan pada gambar 3.1

Gambar 3.1 Flowchart Metode Pelaksanaan

Mulai

Pengumpulan Data

Pendeteksian suhu tubuh dan

wajah

Pengolahan Data Pendeteksian

suhu tubuh dan wajah

Perancangan Softdware

Assembly (Perakitan Alat)

Uji coba

berhasil

Selesai

Ya

Tidak

Page 27: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

13

2.1 Pengumpulan Data Pendeteksian Suhu Tubuh Dan Wajah

Proses pengumpulan data ini bertujuan untuk mempermudah dan

mengetahui kebutuhan akan komponen yang digunakan sebelum melakukan

perancangan Alat Pendeteksian suhu tubuh dan wajah. Pada tahap studi

pustaka akan dipelajari beberapa hal-hal yang berhubungan dengan proyek

akhir ini, diantaranya:

Pengumpulan data secara primer, yaitu:

a. Diskusi dengan pembimbing

Pengumpulan data secara skunder, yaitu :

a. Dari referensi jurnal

b. Dari Internet

2.2 Pengolahan Data Pendeteksian Suhu Tubuh Dan Wajah

Pada tahapan ini data yang sudah dikumpulkan akan didiskusikan

bersama pembimbing untuk memperjelas informasi yang ada, kemudian dari

hasil diskusi tersebut akan didapatkan kesimpulan yang mengarah ke

pembuatan alat proyek akhir berupa Alat Pendeteksi suhu tubuh dan wajah,

baik dari segi tekniknya maupun metode - metode yang di perlukan.

2.3 Perancangan Software

Saat semua alat yang dibuat telah terkumpul, adapun proses

perancangan software yang bertujuan untuk mengakses hardware yang telah

dirancang agar menjadi satu kesatuan. Rancangan software ini berupa

database yang berisi program citra wajah yang akan dikirim ke DashBoard

dengan webserver sebagai koneksi. Dalam pembuatan rancangan software

menggunakan bahasa Python dengan menggunakan aplikasi bawaan dari

Raspberry Pi yaitu Thony, sementara untuk pembuatan webserver

menggunakan PHP Framework Codeigniter.

Page 28: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

14

2.4 Assembly (Perakitan Alat)

Tahap selanjutnya melakukan perakitan alat berupa penyusunan

beberapa bagian komponen yang akan menjadi sebuah alat pendeteksi suhu

tubuh dan wajah sebagai pendataan kehadiran. Adapun rancangan hardware

yang dibuat terdiri dari letak komponen, fungsi komponen, dan assembly dari

hardware. Hardware yang dirancang di harapkan dapat berfungsi dengan

baik. Berikut perancangan hardware yang dibuat:

a) Pemasangan WebCam pada Raspberry Pi.

b) Pemasangan sensor suhu MLX90614 pada Raspberry Pi.

c) Pemasangan Speaker pada Raspberry Pi

d) Pemasangan monitor pada Raspberry Pi

Gambar 3.2 Diagram Blok Rancangan

2.5 Uji Coba

Dalam menguji coba alat biasanya mengalami trial and error, dalam

mengatasi masalah tersebut hardware dan rancangan sistem yang telah

dibuat harus diuji coba, agar proses kerja yang diinginkan tercapai dan sesuai.

Jika dalam proses uji coba alat mengalami gangguan(error) dan tidak bekerja

sesuai dengan keinginan, maka proses selanjutnya adalah melakukan

perbaikan pada sistem yang mengalami gangguan tersebut. Apabila tahap uji

coba selanjutnya berhasil dengan proses kerja yang sesuai, maka pembuatan

selesai.

Monitor

WebCam Logitech

C720

Sensor Suhu MLX90614

Raspberry Pi

Speaker

Page 29: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

15

BAB IV

PEMBAHASAN

Pada bab ini akan membahas mengenai proses pembuatan Alat Pendeteksi

Suhu Tubuh Dan Wajah Berbasis Raspberry Pi yang terdiri dari perancangan,

pembuatan alat, pemprograman, dan pengujian sistem kerja alat. Berikut adalah

penjelasannya.

4.1 Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis Raspberry Pi

Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis Raspberry Pi ini

merupakan sebuah Mesin Presensi yang dibuat untuk mempermudah mahasiswa,

siswa, serta karyawan dalam pendataan kehadiran. Mesin ini menggunakan

Raspberry Pi 3B sebagai prosesor utama pada Mesin Presensi ini. Pada sistem

kontrol alat ini menggunakan WebCam logitech C270 HD untuk proses

pengenalan dan pendeteksian wajah, sensor suhu inframera MLX90614 untuk

proses pengukuran suhu tubuh, dan Speaker ASP600 USB sebagai keluaran

berupa suara penanda terdeteksinya wajah dan suhu tubuh yang terukur normal

atau tidak normal.

Alat Presensi ini melakukan pendeteksian dan pengenalan pada wajah dalam

pendataan kehadirannya kemudian data tersebut akan tersimpan pada Database,

jika wajah dikenali dan terdeteksi Mesin Presensi ini akan melakukan pengecekan

suhu tubuh dengan estimasi suhu normal 35°-37°C, pada proses ini akan

ditampilkan pada layar monitor, keluaran dari Mesin Presensi ini berupa suara

yang dikeluarkan pada speaker, apabila suhu tubuh terukur normal maka suara

yang di keluarkan yaitu “suhu tubuh normal”, dan sebaliknya apabila suhu tubuh

terukur tidak normal suara yang akan dikeluarkan yaitu “suhu tubuh tidak

normal”. Data kehadiran berupa nama, NIM, kelas, jam masuk/pulang, dan suhu

tubuh akan tersimpan pada DashBoard.

Page 30: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

16

Pada sistem presensi kamera WebCam Logitech C270 menjadi inputan

data, gambar yang ditangkap akan di filter pada algoritma Haar Cascade

Classifier dan diubah dalam bentuk matriks, setelah itu gambar akan di deteksi

dan di capture sebanyak 10 gambar per orang, gambar-gambar tersebut akan di

Gambar 4.1 Flowchart Database

Start

Input Data Kamera

Mem-filter gambar (Haar

Cascade Classifier

Deteksi

wajah

Meng-capture gambar

>=10

gambar

Menyimpan pada folder

Database

Training Wajah

Stop

Tidak

Tidak

Ya

Ya

Page 31: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

17

training dengan memberikan ID yang berbeda- beda pada setiap wajah yang

berbeda pula, kemudian gambar akan tersimpan pada folder Database.

Tidak

Ya

Start

Input data kamera

Mem-filter gambar (Haar

Cascade Classifier)

Deteksi

Wajah

Identifikasi Wajah dengan Algoritma

Local Binary Pettern Histogram(LBPH)

Interval

Nilai

Threshold

Pengukuran Suhu Tubuh Dengan

Sensor Suhu Tubuh MLX90614

35°-37,2°C

A

B

Database

“UNKNOWN”

Tidak

Suhu Tubuh Tidak

Normal

Ya

Page 32: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

18

Pada sistem presensi kamera WebCam Logitech C270 menjadi inputan

data, gambar yang ditangkap akan di filter pada algoritma Haar Cascade

Classifier dan diubah dalam bentuk matriks, jika wajah sudah dikenali dan

terdeteksi maka proses selanjutnya sistem akan melakukan identifikasi dari

wajah tersebut, proses ini dilakukan oleh algoritma Local Binary Pettern

Histogram(LBPH), selanjutnya sistem akan mencari interval nilai threshold pada

wajah yang sesuai dengan data gambar yang telah tersimpan pada Database.

jika wajah yang terdeteksi sesuai pada Database identitas dari pemilik wajah

akan teridentifikasi, selanjutnya sensor suhu tubuh MLX90614 akan mendeteksi

nilai suhu tubuh pemilik wajah pada bagian tangan, estimasi nilai suhu tubuh

normal adalah 35°C – 37,2 °C. jika suhu tubuh menunjukan nilai suhu antara

35°C – 37,2 °C maka suhu tubuh menunjukkan suhu normal, hal ini akan di

tandai dengan adanya keluaran suara yaitu “Suhu Tubuh Nomal”. Jika suhu

A

Keluaran Berupa Suara

Suhu Tubuh Normal/ Tidak

Normal

Data Identifikasi wajah dan

suhu tubuh dikirim ke

DashBoard sistem Presensi

Stop

B

Suhu Tubuh Normal

Gambar 4.2 Flowchart sistem Presensi

Page 33: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

19

tubuh kurang atau melebihi 35°C – 37,2 °C maka suhu tubuh menunjukan nilai

suhu tubuh tidak normal, hal ini juga akan di tandai dengan adanya keluaran

suara yaitu “Suhu Tubuh Tidak Normal”. Selanjutnya data wajah yang

teridentifikasi dan suhu tubuh yang terukur akan dikirim ke Dashboard sistem

presensi sebagai peserta yang hadir. Jika wajah tidak teridentifikasi karena

belum terdata pada Database akan menampilkan bacaan “UNKNOWN”.

4.2 Pengujian

Tahap pengujian ini dilakukan setelah tahap perancangan.

a) Menampilkan video atau kamera dengan perintah OpenCV

Hal awal yang dilakukan adalah mengetahui apakah WebCam

Logitech C720 HD sudah siap digunakan atau belum dalam sistem alat

presensi ini. Jika kamera sudah siap digunakan akan ditandai dengan aktifnya

lampu LED pada WebCam Logitech C720 HD.

Selanjutnya adalah menambahkan program pada python untuk memanggil

video atau kamera menggunakan OpenCv dengan perintah:

cam = cv2.VideoCapture(sourceCam)

Setelah sistem kamera dapat dipanggil, sistem kamera dapat mendeteksi dan

menunjukkan perbedaan mana objek yang wajah dan mana yang bukan wajah

dengan perintah:

detector=cv2.CascadeClassifier('/home/pi/juniald

i/include/face.xml')

Tahap selanjutnya mengambil gambar dari kamera yang kemudian diubah

menjadi berwarna hitam putih, pada pendeteksian ini terdapat parameter yang

menentukan seberapa besar ukuran gambar diperkecil pada setiap skala

gambar, ditandai dengan adanya kotak berwarna hijau.

ret, im =cam.read()

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

faces=detector.detectMultiScale(

Page 34: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

20

gray,

scaleFactor=myScaleFactor,

minNeighbors=5,

minSize=(myMinSize, myMinSize),

maxSize = (myMaxSize, myMaxSize),

flags=cv2.CASCADE_SCALE_IMAGE)

Menampilkan ROI (Region Of Interest) dalam bentuk kotak warna biru

sesuai dengan koordinat dan dimensinya (nilai x,y,w,h).

cv2.rectangle(im,(x-50,y-

50),(x+w+50,y+h+50),(225,0,0),2)

Gambar 4.3 Parameter MaxSize

Ukuran objek wajah maksimum yang kemungkinan dapat di deteksi, objek

wajah yang lebih besar akan diabaikan atau tidak dapat terdeteksi.

Gambar 4.4 Parameter MinSize

Page 35: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

21

Ukuran objek wajah seminimal mungkin yang kemungkinan dapat di

deteksi, objek wajah yang lebih kecil akan diabaikan atau tidak dapat

terdeteksi.

b) Penyimpanan data wajah pada Database

Setelah wajah terdeteksi, perintah pemprograman dengan bahasa python

akan meng-capture wajah dan akan menyimpan wajah tersebut ke dalam

Database, dengan perintah:

label = "Capture foto "+nama+" "+str(i)

print(label)

gambar yang telah ter-capture akan tersimpan pada Database dengan format

.jpg, user akan memberi nama ke gambar pertama, misalnya face_aldi_3_1,

begitu juga dengan gambar selanjutnya. Gambar yang tersimpan dalam

database sebanyak 10 gambar per orang.

cv2.imwrite("/home/pi/junialdi/face/face_"+img_name+"-

"+face_id +"."+ str(i) + ".jpg", gray[y-

offset:y+h+offset,x-offset:x+w+offset])

Gambar 4.5 Database Wajah

Page 36: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

22

c) Training Database

Pada pengujian Training Database foto yang sudah tersimpan dalam

database akan dibaca dengan tujuan melatih wajah agar dapat dikenali dalam

proses identifikasi wajah nantinya. Dalam hal ini algoritma Local Binary

Pattern Hitogram (LBPH) akan mengenali foto yang sudah tersimpan dalam

folder Database secara terus menerus sehingga dapat mengenali pemilik

wajah tersebut dengan tepat.

recognizer = cv2.face.LBPHFaceRecognizer_create()

dalam hal ini akan dilakukan perintah pengulangan agar sistem dapat

mengenali gambar wajah secara tepat, dengan perintah:

def get_images_and_labels(path):

gambar yang ada di folder Database akan diambil untuk ditraining secara

keseluruhannya pada gambar yang ada.

image_paths = [os.path.join(path, f) for f in

os.listdir(path)]

perintah di atas bertujuan untuk menelusuri setiap gambar yang ada pada

database. Tahap selanjutnya dibuat definisi untuk gambar wajah dan labelnya

dengan perintah:

images = []

labels = []

gambar akan dipelajari dengan menggunakan looping pada perintah, dimana perintah

tersebut akan mengkonversikan gambar menjadi gray(hitam putih) terlebih dahulu

kemudian di konversikan lagi menjadi array,

for image_path in image_paths:

# Read the image and convert to grayscale

image_pil = Image.open(image_path).convert('L')

# Convert the image format into numpy array

image = np.array(image_pil, 'uint8')

Page 37: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

23

# Get the label of the image

nbr =

int(os.path.split(image_path)[1].split("-

")[1].split(".")[0])

membutuhkan sebuah modul dalam pengelolahan gambar yaitu PIL (Python

Imaging Library) yang berguna dalam membuka, memanipulasi, dan

menyimpan gambar dalam berbagai format file, setelah semua looping telah

selesai, selanjutnya akan disimpan pada sebuah file dengan ekstensi .yml

(training.yml).

Berikut adalah perintahnya:

# return the images list and labels list

return images, labels

recognizer = cv2.face.LBPHFaceRecognizer_create()

cascadePath = "/home/pi/junialdi/include/face.xml"

faceCascade = cv2.CascadeClassifier(cascadePath);

try:

images, labels = get_images_and_labels("face")

cv2.imshow('train',images[0])

cv2.waitKey(1)

recognizer.train(images, np.array(labels))

recognizer.write('/home/pi/junialdi/include/trainer.yml')

print("Proses Train Face selesai")

cv2.destroyAllWindows()

except Exception as e:

print(e)

cv2.destroyAllWindows()

Page 38: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

24

Gambar 4.6 Training wajah di Database

d) Pendeteksi, Pengenalan dan Pengidentifikasian Wajah

Wajah yang sudah di simpan dalam database memiliki ID yang

berbeda-beda dalam melakukan pendataan kehadirannya, sehingga pada saat

proses identifikasi wajah identitas pemilik wajah akan mudah dikenali .

Dalam proses pendeteksian dan pengenalan pada wajah alat presensi ini

menggunakan Haar Cascade Classifier dan algoritma Local Binary Pattern

Histogram (LBPH).

recognizer = cv2.face.LBPHFaceRecognizer_create()

recognizer.read('/home/pi/junialdi/include/trainer.yml')

Dalam proses pendektesian dan pengenalan wajah diperlukan untuk

mengetahui interval nilai threshold yang di dapatkan pada proses training

sebelumnya, diperlukan juga keakuratan untuk mengetahui tingkat kecocokan

dalam proses pendeteksian dan pengenalan . Berikut merupakan perintahnya :

recognizer.predict(gray[y:y+h,x:x+w])

if(conf<=accuracy): 80

Proses selanjutnya dalam melakukan pengidentifikasian dan pengenalan

adalah memberikan identisas pemilik wajah agar terdata pada saat melakukan

pendataan kehadiran.

def get_ID():

print("tambah Face ID")

Page 39: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

25

flag = False

nama = ""

face_id = ""

img_name = ""

try:

addID = requests.post(url_addFaceID,

data={"iddev":iddev}, timeout=2).json()

#print(json.dumps(addID, indent=4,

sort_keys=True))

if addID['status'] == "ADD":

nama = addID['nama']

face_id = addID['face_id']

img_name = addID['image']

if addID['status'] == "-":

print("Tidak ada Face ID baru dari SERVER")

except Exception as e:

print(e)

Jika identitas sudah terdata, saat melakukan pengidentifikasian dan

pengenalan wajah akan menampilkan identitas pada pemilik wajah tersebut.

Jika wajah tersebut tidak terdata atau tidak dikenali maka akan menampilkan

bacaan “Tidak ada Face ID baru dari SERVER”.

cv2.putText(im,nama, (x,y+h),font,1,(0,255,0), 2)

tulisan akan berwana hijau dengan ukuran tulisan (font 1). Sesuai dengan

koordinat dan dimensinya (nilai x,y,w,h).

Gambar 4.7 Identifikasi Wajah

Page 40: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

26

4.3 Sistem Presensi

Sistem presensi dapat bekerja setelah identifikasi wajah berhasil. Pada

tahap ini wajah akan dideteksi dan di identifikasi sesuai dengan citra wajah yang

telah terdata pada Database, interval nilai threshold yang telah diketahui dan data

wajah akan di akurasikan tingkat kecocokannya agar identifikasi yang di

keluarkan dapat sesuai dengan wajah tersebut. Sensor suhu tubuh akan bekerja

untuk mengukur nilai suhu pemilik wajah pada bagian tangan. Hal ini akan

dikirim ke data sistem presensi, berikut perintahnya :

print(dir (cv2.face))

recognizer = cv2.face.LBPHFaceRecognizer_create()

recognizer.read('/home/pi/junialdi/include/trainer.yml')

cascadePath = "/home/pi/junialdi/include/face.xml"

faceCascade = cv2.CascadeClassifier(cascadePath);

Id = 0

face_id = 0

#cam = cv2.VideoCapture(0)

cam = cv2.VideoCapture(sourceCam)

font = cv2.FONT_HERSHEY_SIMPLEX

haveSend = False

while True:

ret, im = cam.read()

haveSend = False

flagAbsen = False

if ret == True :

try:

mlx = adafruit_mlx90614.MLX90614(i2c)

suhuTubuh =

"{:.2f}".format(mlx.object_temperature)

suhuTubuh = float(suhuTubuh) + suhu_kalibrasi

except Exception as e:

print(e)

suhuTubuh = "0.0"

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

cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)

Page 41: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

27

cv2.putText(im,"suhu

"+str(suhuTubuh),(x+20,y+20),font,1,(0,255,0),2)

Id, conf =

recognizer.predict(gray[y:y+h,x:x+w])

if(conf<=accuracy):

for i in range(len(id_list)):

#print(i)

if Id == int(id_list[i]):

nama = nama_list[i]

print(nama)

face_id = int(id_list[i])

Gambar 4.8 Identifikasi wajah pada sistem presensi

Dapat dilihat pada gambar data pemilik wajah yang sudah terdata akan

ditampilkan sesuai dengan citra atau interval nilai threshold wajah yang terbaca

pada database, terlihat tingkat kecocokan dari wajah bernilai 41,2 semakin

mendekati nilai 0 maka tingkat kecocokan wajah semakin akurat. Pada gambar

di atas juga terdapat identitas pemilik wajah berupa nama, nilai suhu tubuh, jam

masuk, tingkat kecocokan wajah, dan keterangan masuk atau tidak masuk. Jika

wajah tidak terdata pada Database atau tidak ada kecocokan citra wajah pada

saat melakukan presensi maka akan ditampilkan “UNKNOWN”, sesuai perintah

yang telah dibuat:

else:

print(nama)

face_id = 0

cv2.putText(im,nama, (x,y+h),font,1,(0,255,0), 2)

Page 42: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

28

cv2.putText(im,"kecocokan

"+str(round(conf,1)), (x,y+h+20),font,1,(0,255,255), 2)

if face_id > 0 and nama != "Unknown":

Perintah untuk menampilkan waktu:

print(time.strftime("%d %B %Y %H:%M",

time.localtime(time.time())))

Gambar 4.9 Setting waktu

Data yang telah teridentifikasi tersebut akan di kirim ke web server,

dengan perintah:

data_FaceID = requests.post(url_name_user,

data={"iddev":iddev}).json()

print(json.dumps(data_FaceID, indent=4,

sort_keys=True))

data yang telah teridentifikasi identitas pemilik wajah berupa nama,

nilai suhu tubuh, jam masuk, tingkat kecocokan wajah, dan keterangan masuk

atau tidak masuk. Akan ditampilkan pada Dashboard :

print("Kirim data ke server...")

print("Nama : "+nama)

print("Face ID : "+str(face_id))

print(time.strftime("%d %B %Y %H:%M",

time.localtime(time.time())))

namaImgAbsensi = "absensi.jpg"

cv2.imwrite(namaImgAbsensi,im)

Page 43: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

29

try:

files = {"foto":open(namaImgAbsensi,

"rb")}

send_absen = requests.post(url_absensi,

data={"faceid":face_id, "iddev":iddev, "suhu":str(suhuTubuh)},

files=files, timeout=5).json()

print(json.dumps(send_absen, indent=4,

sort_keys=True))

if send_absen['status'] == "success":

cv2.putText(im,send_absen['waktu'],

(10,300),font,1,(0,255,0), 2)

flagAbsen = True

cv2.putText(im,send_absen['ket'],

(10,400),font,1,(0,0,255), 2)

haveSend = True

Gambar 4.10 Data Presensi

4.4 Pengukuran Suhu Tubuh

Dalam pengukuran suhu tubuh menggunakan sensor suhu MLX90614.

Sensor ini menggunakan I2C sebagai inputannya, oleh karena itu perlu

mengaktifkan 2 pin utama pada Raspberry Pi yaitu pin SCL sebagai pin jam

dan SDA sebagai pin data. Dalam mengaktifkan pin I2C agar terbaca pada

Page 44: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

30

sistem presensi saat melakukan pengukuran perlulah men-download dan meng-

import library I2C itu sendiri.perintahnya sebagai berikut:

import busio as io

import adafruit_mlx90614

i2c = io.I2C(board.SCL, board.SDA, frequency=100000)

pada pengukur suhu tubuh haruslah mendapatkan nilai suhu tubuh yang

akurat. Keakuratan pada sensor suhu tubuh dapat dilakukan dengan perintah:

accuracy = 80 #semakin mendekati 0 semakin akurat

myScaleFactor = 1.5

myMinSize = 100

myMaxSize = 800

suhu_min = 35.0

suhu_max = 37.2

suhu_kalibrasi = 3.0 #penambahan suhu dr sensor

setelah suhu tubuh terdeteksi dengan baik data akan direkam dan di tampilkan

pada sistem presensi, untuk menampilkannya menggunakan perintah

mlx = adafruit_mlx90614.MLX90614(i2c)

suhuTubuh =

"{:.2f}".format(mlx.object_temperature)

suhuTubuh = float(suhuTubuh) +

suhu_kalibrasi

except Exception as e:

print(e)

suhuTubuh = "0.0"

jika suhu tubuh yang terdeteksi oleh sensor suhu MLX90614 bernilai 35-

37°C itu tandanya suhu tubuh normal, dan jika tidak bernilai 35-37°C

menandakan suhu tubuh yang terukur tidak normal. Hal ini ditandai dengan

adanya keluaran suara dari speaker yaitu “Suhu Tubuh Normal dan Suhu

Tubuh Tidak Normal, dapat ditunjukkan pada perintah berikut:

if suhuTubuh >= suhu_min and suhuTubuh <= suhu_max:

Page 45: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

31

fileMP3 = "/home/pi/junialdi/normal.mp3"

else:

fileMP3 = "/home/pi/junialdi/tidaknormal.mp3"

4.5 Hasil Perancangan dan Pengujian

Hasi rancangan meliputi beberapa parameter yang memungkinkan dapat

berpengaruh pada alat presensi ini dalam melakukan pendeteksian, pengenalan

wajah, dan pengidentifikasi, seperti jarak wajah pada kamera, intensitas cahaya

di sekitar ruangan, posisi wajah dengan kamera, banyak wajah yang ingin di

deteksi dan di identifikasi. Kemudian dapat juga berpengaruh pada pengukuran

suhu tubuh, seperti jarak sensor suhu tubuh dengan tangan, serta pengaruh suhu

lingkungan sekitar.

Berikut hasil perancangan dan pengujiannya:

a) Pendeteksian dan Pengidentifikasian berdasarkan jarak wajah

dengan kamera.

Gambar 4.11 Pendeteksian dan pengidentifikasian wajah pada jarak 10 cm

dari WebCam.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 10 cm dari WebCam tidak dapat

mendeteksi dan mengidentifikasi wajah.

Page 46: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

32

Gambar 4.12 Pendeteksian dan pengidentifikasian wajah pada jarak 30 cm

dari WebCam

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 30 cm dari WebCam dapat mendeteksi

dan mengidentifikasi wajah.

Gambar 4.13 Pendeteksian dan pengidentifikasian wajah pada jarak 50 cm

dari Webcam.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 50 cm dari WebCam dapat mendeteksi

dan mengidentifikasi wajah.

Gambar 4.14 Pendeteksian dan pengidentifikasian wajah pada jarak 80 cm

dari WebCam.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 80 cm dari WebCam dapat mendeteksi

dan mengidentifikasi wajah.

Page 47: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

33

Gambar 4.15 Pendeteksian dan pengidentifikasian wajah pada jarak 100

cm dari WebCam.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 100 cm dari WebCam dapat mendeteksi

dan mengidentifikasi wajah.

Gambar 4.16 Pendeteksian dan pengidentifikasian wajah pada jarak 150

cm dari WebCam.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan jarak 150 cm dari WebCam tidak dapat

mendeteksi dan mengidentifikasi wajah.

Page 48: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

34

b) Pendeteksian dan Pengidentifikasian wajah berdasarkan intensitas

cahaya di sekitar ruangan

Gambar 4.17 Pendeteksian dan pengidentifikasian wajah dengan

kurangnya pencahayaan.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan kurangnya pencahayaan, dapat mendeteksi dan

mengidentifikasi wajah.

Gambar 4.18 Pendeteksian dan pengidentifikasian wajah dengan

intensitas pencahayaan dari bawah.

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari bawah, tidak dapat

mendeteksi dan mengidentifikasi wajah.

Gambar 4.19 Pendeteksian dan pengidentifikasian wajah dengan

intensitas pencahayaan dari atas

Page 49: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

35

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari atas, dapat mendeteksi dan

mengidentifikasi wajah.

Gambar 4.20 Pendeteksian dan pengidentifikasian wajah dengan intensitas

pencahayaan dari samping kanan

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari samping kanan, dapat

mendeteksi dan mengidentifikasi wajah.

Gambar 4.21 Pendeteksian dan pengidentifikasian wajah dengan intensitas

cahaya dari samping kiri

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari samping kiri, dapat

mendeteksi dan mengidentifikasi wajah.

Page 50: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

36

Gambar 4.22 Pendeteksian dan pengidentifikasian wajah dengan intensitas

cahaya dari depan WebCam

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari depan WebCam, dapat

mendeteksi dan mengidentifikasi wajah.

Gambar 4.23 Pendeteksian dan pengidentifikasian wajah dengan intensitas

cahaya dari belakang WebCam

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian dengan pencahayaan dari belakang WebCam , dapat

mendeteksi dan mengidentifikasi wajah.

c) Pendeteksian dan pengidentifikasian berdasarkan posisi wajah

dengan kamera.

Gambar 4.24 Posisi wajah di depan WebCam

Page 51: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

37

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian pada posisi wajah di depan WebCam, wajah dapat

terdeteksi dan teridentifikasi.

Gambar 4.25 Posisi wajah di samping kiri WebCam

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian pada posisi wajah di samping kiri WebCam, wajah

dapat terdeteksi dan teridentifikasi.

Gambar 4.26 Posisi wajah di samping kanan WebCam

Dapat dilihat pada gambar di atas pendeteksian dan

pengidentifikasian pada posisi wajah di samping kanan WebCam, wajah

dapat terdeteksi dan teridentifikasi.

Page 52: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

38

d) Pengukuran suhu tubuh berdasarkan jarak sensor suhu tubuh pada

bagian tangan

Gambar 4.27 Pengukuran suhu tubuh pada bagian tangan dengan jarak 5

cm dari sensor suhu tubuh.

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 5 cm dari sensor suhu tubuh terukur, dan

menunjukkan nilai suhu tubuh yaitu 36,69°C. Dalam hal ini untuk suhu

normal yang dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil

pengujian suhu yang di hasilkan normal.

Gambar 4.28 Pengukuran suhu tubuh pada bagian tangan dengan jarak 10

cm dari sensor suhu tubuh

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 10 cm dari sensor suhu tubuh terukur, dan

menunjukkan nilai suhu tubuh yaitu 36,17°C. Dalam hal ini untuk suhu

normal yang dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil

pengujian suhu yang di hasilkan normal.

Page 53: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

39

Gambar 4.29 Pengukuran suhu tubuh pada bagian tangan pada jarak 15 cm

dari sensor suhu tubuh

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 15 cm dari sensor suhu tubuh terukur, dan

menunjukkan nilai suhu tubuh yaitu 35,33°C. Dalam hal ini untuk suhu

normal yang dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil

pengujian suhu yang di hasilkan normal.

Gambar 4.30 Pengukuran suhu tubuh pada bagian tangan pada jarak 20 cm

dari sensor suhu tubuh

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 20 cm dari sensor suhu dan menunjukkan nilai suhu

tubuh yaitu 34.75°C, dalam hal ini. Dalam hal ini untuk suhu normal yang

dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil pengujian

suhu yang di hasilkan tidak normal, bisa juga pengukuran suhu pada tubuh

tidak terdeteksi dan suhu yang di hasilkan dari pengujian merupakan suhu

lingkungan sekitar atau suhu ruang.

Page 54: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

40

Gambar 4.31 Pengukuran suhu tubuh pada bagian tangan pada jarak 25 cm

dari sensor suhu tubuh

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 25 cm dari sensor suhu tubuh terukur, dan

menunjukkan nilai suhu tubuh yaitu 34,81°C. Dalam hal ini untuk suhu

normal yang dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil

pengujian suhu yang di hasilkan tidak normal, bisa juga pengukuran suhu

pada tubuh tidak terdeteksi dan suhu yang di hasilkan dari pengujian

merupakan suhu lingkungan sekitar atau suhu ruang.

Gambar 4.32 Pengukuran suhu tubuh pada bagian tangan pada jarak 30 cm

dari sensor suhu tubuh.

Dapat dilihat pada gambar pengukuran suhu tubuh pada bagian

tangan dengan jarak 30 cm dari sensor suhu tubuh terukur, dan

menunjukkan nilai suhu tubuh yaitu 34.57°C. Dalam hal ini untuk suhu

normal yang dapat di ukur pada alat adalah 35°C-37,2°C, maka dari hasil

pengujian suhu yang di hasilkan tidak normal, bisa juga pengukuran suhu

pada tubuh tidak terdeteksi dan suhu yang di hasilkan dari pengujian

merupakan suhu lingkungan sekitar atau suhu ruang.

Page 55: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

41

Tabel 4.1 Pengukuran suhu tubuh dengan sensor MLX90614

Table 4.2 Pengukuran suhu tubuh dengan Thermogun

No Jarak Sensor Suhu Tubuh Temperature

1 5cm 36,69°C

2 10cm 36,17°C

3 15cm 36,33°C

4 20cm 34,75°C

5 25cm 34,81°C

6 30cm 34,57°C

No Jarak Sensor Suhu Tubuh Temperature

1 5cm 36,5°C

2 10cm 36,4°C

3 15cm 36,4°C

4 20cm 36,3°C

5 25cm 36,2°C

6 30cm 36,2°C

Page 56: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

42

Error Pengukuran Suhu Tubuh antara pengukuran dengan menggunakan sensor

suhu inframerah MLX90614 dan Pengukuran Suhu Tubuh dengan Thermogun.

Jarak 5 cm

Selisih = sensor MLX90614 – Thermogun

= |36,69 – 36,5|= 0,19

Error =| 0,19

36,5| 𝑥 100% = 0,56 %

Jarak 10 cm

Selisih = sensor MLX90614 – Thermogun

= |36,17 – 36,4|= 0,23

Error =| 0,23

36,4| 𝑥 100% = 0,63 %

Jarak 15 cm

Selisih = sensor MLX90614 – Thermogun

= |36,33 – 36,3|= 0,08

Error =| 0,03

36,3| 𝑥 100% = 0,08 %

Jarak 20 cm

Selisih = sensor MLX90614 – Thermogun

= |34,75 – 36,3|= -1,55

Error = |1,55

36,3| 𝑥 100% = 4,27 %

Jarak 25 cm

Selisih = sensor MLX90614 – Thermogun

= |34,81 – 36,2|= -1,39

Error =| 1,39

36,2| 𝑥 100% = 3,84 %

Jarak 30 cm

Selisih = sensor MLX90614 – Thermogun

= |34,57 – 36,2|= -1,63

Error =| 1,63

36,2| 𝑥 100% = 4,50 %

Perbandingan Pengukuran suhu tubuh pada bagian tangan berdasarkan

jarak dengan sensor suhu inframerah MLX90614 dan Thermogun, pada jarak 5-15

Page 57: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

43

cm nilai error yang dihasilkan tidak begitu tinggi, karena hasil pengukuran tidak

jauh berbeda. Sedangkan pengukuran suhu tubuh pada jarak 20-30 nilai error

yang di hasilkan tinggi hal ini disebabkan ke akuratan dari sensor suhu inframerah

MLX90614 dalam pengukuran suhu tubuh hanya berjarak 5-10cm saja,

temperature suhu yang di hasilkan ketika melebihi jarak tersebut merupakan nilai

dari suhu lingkungan di sekitar, Berbeda dengan Thermogun jarak ke akuratan

Thermogun mencapai 30cm.

e) Pengukuran suhu tubuh berdasarkan suhu ruangan

Gambar 4.33 Pengukuran suhu tubuh pada bagian tangan dengan suhu

ruangan 26°C.

Gambar 4.34 Pengukuran suhu tubuh pada bagian tangan dengan suhu

ruangan 27°C.

Gambar 4.35 Pengukuran suhu tubuh pada bagian tangan dengan suhu

ruangan 28°C.

Page 58: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

44

Gambar 4.36 Pengukuran suhu tubuh pada bagian tangan dengan suhu

ruangan 29°C.

Gambar 4.37 Pengukuran suhu tubuh pada bagian tangan dengan suhu

ruangan 30°C.

Table 4.3 Pengukuran suhu tubuh berdasarkan suhu ruangan.

Dapat dilihat pada tabel 4.3 pengukuran suhu tubuh pada bagian tangan

berdasarkan suhu ruangan yang terbilang normal, hanya saja semakin tingginya

temperatur suhu yang ada diruangan, temperatur suhu tubuh yang terukur juga

naik, artinya temperatur suhu yang ada diruangan berpengaruh ke temperatur suhu

tubuh.

BAB V

PENUTUP

No Temperature Ruangan Temperature

1 26°C 36,21°C

2 27°C 36,33°C

3 28°C 36,61°C

4 29°C 36,69°C

5 30°C 36,91°C

Page 59: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

45

5.1 KESIMPULAN

Setelah melakukan perancangan, pengujian, dan analisa Alat Pendeteksi

Suhu Tubuh Dan Wajah Berbasis Raspberry Pi ini dapat diambil beberapa

kesimpulan secara keseluruhan dari kinerja dari sistem Alat Pendeteksi

Suhu Tubuh Dan Wajah Berbasis Raspberry Pi yakni sebagai berikut:

a) Pada sistem presensi Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis

Raspberry Pi ini mampu mendeteksi wajah dari jarak 30cm-100cm dari

WebCam ke akurasiannya secara akurat, sementara pada jarak 10cm

sistem tidak dapat mendeteksi dan mengidentifikasi wajah karena wajah

terlalu dekat dengan WebCam. Dan pada jarak 150cm sistem juga tidak

dapat mendeteksi dan mengidentifikasi wajah karena jarak wajah terlalu

jauh dari WebCam. Pada pendeteksian dan pengidentifikasian wajah

dengan intensitas cahaya haruslah dengan intensitas cahaya yang cukup

dan untuk ke akurasian pendeteksian dan pengidentifikasian wajah

dengan posisi wajah berbeda-beda, wajah dapat terdeteksi dengan baik.

b) Sistem presensi Alat Pendeteksi Suhu Tubuh Dan Wajah Berbasis

Raspberry Pi ini mampu meminimalisirkan tingkat kecurangan, karena

wajah akan terkirim pada DashBoard sistem Presensi.

c) Untuk pengukuran suhu tubuh yang akurat dengan jarak 5cm.

Page 60: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

46

5.2. SARAN

Dari Proyek Akhir yang berjudul Alat Pendeteksi Suhu Tubuh Dan

Wajah Berbasis Raspberry Pi ini ada beberapa kekurangan yang nantinya

akan menjadi saran, agar dapat mengembangkan alat ini lebih baik lagi dari

sebelumnya diantaranya:

a) Dapat mendeteksi dan mengidentifikasi wajah yang menggunakan

masker.

b) Tidak bergantung kepada koneksi Internet karena hal ini berpengaruh

pada kinerja sistem presensinya.

c) Memperbaiki sistem agar dapat mendeteksi dan mengidentifikasi banyak

wajah sekaligus dan dapat mengirim sekaligus data wajah ke sistem

presensi di DashBoard.

d) Menggunakan sensor suhu tubuh yang yang dapat mengukur temperatur

suhu tubuh pada jarak jauh.

Page 61: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

47

DAFTAR PUSTAKA

[1] Surya Semesta, "Apa itu Mesin Absensi, Jenis, Fungsi dan Kegunaan," 2010.

[Online]. Available: https://suryasemesta.com/apa-itu-mesin-absensi-jenis-fungsi-dan-kegunaan

[2] Surya Semesta, "Jenis- Jenis Abbsensi," 2010. [Online]. Available:

https://suryasemesta.com/jenis-jenis-mesin-absensi.html. [Accessed 20 06

2021].

[3] A. W. wibowol, A. Karima, W. A. Yobioktabera and S. Fahriah,

"Pendeteksian dan Pengenalan Wajah pada foto secara Real Time dengan

Haar Cascade dan Local Binary Pattern Histogram," vol. 9, no. 1, 2020.

[4] R. Purwati and G. Ariyanto, "Pengenalan Wajah Manusia Berbasis Algoritma

Local Binary Pattern," vol. 17, no. 2, 2017.

[5] N. M. Fahmi, "Sistem Absensi Wajah Dengan Menggunakan Algoritma Haar

Cascade dan Local Binary Pattern Histogram(LBPH)," repositori.usu.ac.id,

Sumatra Utara, 2020.

[6] M. Riadi, "Raspberry Pi" Kajian Pustaka, 17 Desember 2020. [Online].

Available: https://www.kajianpustaka.com/2020/12/Raspberry-Pi.html. [Accessed 10 mei 2021].

[7] I. D. Wijaya, U. Nurhasan and M. A. Barata, "Implementasi Raspberry Pi

untuk Rancang Bangun Sistem Keamanan Pintu Ruang Server Dengan

Pengenalan Wajah Menggunakan Metode Triangle Face," vol. 4, no. 1, 2017.

[8] A. Y. P, "Mengenal OpenCV (Open Source Computer Vision Library)" Devtrik, 21 Februari

2017. [Online]. Available: https://devtrik.com/opencv/mengenal-opencv-open-source computer-

vision-library/. [Accessed 16 Juni 2021].

[9] B. Santoso and R. P. Kristianto, "Implementasi Penggunaan OpenCV pada

Face Recognition untuk sistem Presensi Perkuliahan Mahasiswa," vol. 9, no.

2, 2020.

[10] T. C. A.-S. Zulkhaidi, E. Maria and Y. , "Pengenalan Pola Bentuk Wajah

dengan OpenCV," vol. 3, no. 2, 2019.

[11] S. R. Sokku and S. F. Harun, "Deteksi Sapi Sehat Berdasarkan Suhu Tubuh

Page 62: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

48

Berbasis Sensor MLX90614 dan Mikrokontroller," vol. 2, no. 6, 2019.

[12] M. O. Sibuea, "PENGUKURAN SUHU DENGAN SENSOR SUHU

INFRAMERAH MLX90614 BERBASIS ARDUINO," respository.usd.ac.id,

Yogyakarta, 2018.

[13] Chaterine, "Pengertian Fungsi Speaker" audioengine, 25 maret 2015. [Online].

Available: https://www.audioengine.co.id/pengertian-fungsi-speaker/. [Accessed 26 juli

2021].

Page 63: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

Lampiran 1: Daftar Riwayat Hidup (Perorangan)

DAFTAR RIWAYAT HIDUP

1. Data Pribadi

Nama Lengkap : Junialdi Saputra

Tempat & Tanggal Lahir : Sungailiat, 29 Juni 2000

Alamat Rumah : Lingkungan Jelutung, RT.04

Telp. : 083803050769

Email : [email protected]

Jenis Kelamin : Laki - laki

Agama : Islam

2. Riwayat Pendidikan

a. SD NEGERI 29 SUNGAILIAT

b. SMP NEGERI 03 SUNGAILIAT

c. SMK NEGERI 02 SUNGAILIAT

3. Pendidikan Non Formal

Sungailiat,10 Agustus 2021

……………………..

Page 64: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

DAFTAR RIWAYAT HIDUP

1. Data Pribadi

Nama Lengkap : Puspita Desvirati

Tempat & Tanggal Lahir : Belinyu, 04 Desember 2000

Alamat Rumah : JL.Lurus Belinyu RT.002, RW. 002

Telp. : 0895605609306

Email : [email protected]

Jenis Kelamin : Perempuan

Agama : Islam

2. Riwayat Pendidikan

a. SD NEGERI 03 BELINYU

b. SMP NEGERI 01 BELINYU

c. SMK YPN BELINYU

3. Pendidikan Non Formal

Sungailiat, 10 Agustus 2021

……………………..

Page 65: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

Lampiran 2 List Program

#Library

import cv2,os

import tkinter

from tkinter import *

import numpy as np

import requests

import json

import time

import pygame

import board

import busio as io

import adafruit_mlx90614

i2c = io.I2C(board.SCL, board.SDA, frequency=100000)

pygame.mixer.init()

pygame.mixer.music.load("/home/pi/junialdi/selamatdatang.mp3") pygame.mixer.music.set_volume(1.0)

pygame.mixer.music.play() // # while pygame.mixer.music.get_busy() == True:

# print("play mp3")

# pass

sourceCam = 0 #usb webcam index 0

#sourceCam = "http://192.168.43.51:8080/video"

iddev = "1" #id alat dari web

Server = "http://192.168.43.31"

url_absensi = Server+"/junialdi/api/absensi"

url_addFaceID = Server+"/junialdi/api/addfaceid"

url_delFaceID = Server+"/junialdi/api/delfaceid"

url_confirmFaceID = Server+"/junialdi/api/confirm"

url_name_user = Server+"/junialdi/api/listfaceid"

accuracy = 80 #semakin mendekati 0 semakin akurat

myScaleFactor = 1.5

myMinSize = 100

myMaxSize = 800

suhu_min = 35.0

suhu_max = 37.2

suhu_kalibrasi = 3.0 #penambahan suhu dr sensor

root = Tk()

root.title("Absensi Face Recognition")

root.geometry("480x640")

main = Label(root, text="Absensi Face Recognition", font=("arial",

20, "bold"), fg="steelblue").pack(pady=50)

def get_ID():

Page 66: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

print("tambah Face ID")

flag = False

nama = ""

face_id = ""

img_name = ""

try:

addID = requests.post(url_addFaceID, data={"iddev":iddev},

timeout=2).json()

#print(json.dumps(addID, indent=4, sort_keys=True))

if addID['status'] == "ADD":

nama = addID['nama']

face_id = addID['face_id']

img_name = addID['image']

if addID['status'] == "-":

print("Tidak ada Face ID baru dari SERVER")

except Exception as e:

print(e)

if nama != "" and face_id != "":

print("Nama "+nama)

print("Face ID "+face_id)

cam = cv2.VideoCapture(sourceCam)

detector=cv2.CascadeClassifier('/home/pi/junialdi/include/face.xml

')

font = cv2.FONT_HERSHEY_SIMPLEX

i=0

offset=10

try:

print("Starting Capture...")

while True:

ret, im =cam.read()

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

faces=detector.detectMultiScale(

gray,

scaleFactor=myScaleFactor,

minNeighbors=5,

minSize=(myMinSize, myMinSize),

maxSize = (myMaxSize, myMaxSize),

flags=cv2.CASCADE_SCALE_IMAGE

)

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

i=i+1

label = "Capture foto "+nama+" "+str(i)

print(label)

cv2.imwrite("/home/pi/junialdi/face/face_"+img_name+"-"+face_id

+"."+ str(i) + ".jpg", gray[y-offset:y+h+offset,x-

offset:x+w+offset])

cv2.rectangle(im,(x-50,y-

50),(x+w+50,y+h+50),(225,0,0),2)

cv2.putText(im,label,(10,400),font,1,(255,255,255),2)

Page 67: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

cv2.waitKey(100)

if i > 5:

flag = True

cv2.imshow('frame capture',im)

if cv2.waitKey(100) & 0xFF==ord('q'):

cam.release()

cv2.destroyAllWindows()

break

if i>=10:

cam.release()

cv2.destroyAllWindows()

break

except Exception as e:

print(e)

cam.release()

cv2.destroyAllWindows()

if flag:

try:

send_data_confirm = requests.post(url_confirmFaceID,

data={"iddev":iddev,"confirm_add":face_id}, timeout=2).json()

print(json.dumps(send_data_confirm, indent=4,

sort_keys=True))

pygame.mixer.init()

pygame.mixer.music.load("/home/pi/junialdi/tambahface.mp3")

pygame.mixer.music.set_volume(1.0)

pygame.mixer.music.play()

while pygame.mixer.music.get_busy() == True:

print("play mp3")

pass

except Exception as e:

print(e)

#########################################

def del_ID():

print("hapus Face ID")

nama = ""

face_id = ""

img_name = ""

id_face_table = ""

try:

delID = requests.post(url_delFaceID, data={"iddev":iddev},

timeout=2).json()

#print(json.dumps(delID, indent=4, sort_keys=True))

if delID['status'] == "DEL":

nama = delID['nama']

face_id = delID['face_id']

id_face_table = delID['id_face_table']

img_name = delID['image']

Page 68: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

if delID['status'] == "-":

print("Tidak ada Face ID yang di hapus dari SERVER")

except Exception as e:

print(e)

if nama != "" and face_id != "":

print("Menghapus data")

print("Nama "+nama)

print("Face ID "+face_id)

pathx = "face"

nameFile = "face_"

image_paths = [os.path.join(pathx, f) for f in

os.listdir(pathx)]

for xi in image_paths:

#print(xi)

print()

if xi[5:len(nameFile)+len(img_name)+6+len(face_id)] ==

nameFile+img_name+"-"+face_id:

if os.path.exists(xi):

print("menghapus "+xi)

os.remove(xi)

try:

send_del_confirm = requests.post(url_confirmFaceID,

data={"iddev":iddev,"confirm_del":id_face_table}, timeout=2)

print(send_del_confirm.text)

except Exception as e:

print(e)

#########################################

def train(): #train foto from PIL import Image

def get_images_and_labels(path):

image_paths = [os.path.join(path, f) for f in

os.listdir(path)]

# images will contains face images

images = []

# labels will contains the label that is assigned to the

image

labels = []

for image_path in image_paths:

# Read the image and convert to grayscale

image_pil = Image.open(image_path).convert('L')

# Convert the image format into numpy array

image = np.array(image_pil, 'uint8')

# Get the label of the image

nbr = int(os.path.split(image_path)[1].split("-

")[1].split(".")[0])

#nbr=int(''.join(str(ord(c)) for c in nbr))

print (nbr)

# Detect the face in the image

Page 69: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

faces = faceCascade.detectMultiScale(image)

# If face is detected, append the face to images and

the label to labels

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

images.append(image[y: y + h, x: x + w])

labels.append(nbr)

cv2.imshow("Adding faces to traning set...",

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

cv2.waitKey(10)

# return the images list and labels list

return images, labels

recognizer = cv2.face.LBPHFaceRecognizer_create()

cascadePath = "/home/pi/junialdi/include/face.xml"

faceCascade = cv2.CascadeClassifier(cascadePath);

try:

images, labels = get_images_and_labels("face")

cv2.imshow('train',images[0])

cv2.waitKey(1)

recognizer.train(images, np.array(labels))

recognizer.write('/home/pi/junialdi/include/trainer.yml')

print("Proses Train Face selesai")

cv2.destroyAllWindows()

except Exception as e:

print(e)

cv2.destroyAllWindows()

#########################################

def absensi(): #absensi

try:

data_FaceID = requests.post(url_name_user,

data={"iddev":iddev}).json()

print(json.dumps(data_FaceID, indent=4, sort_keys=True))

id_list = []

nama_list = []

for i in data_FaceID['id']:

print(i)

id_list.append(i)

for i in data_FaceID['nama']:

print(i)

nama_list.append(i)

except Exception as e:

print(e)

return

print(dir (cv2.face))

recognizer = cv2.face.LBPHFaceRecognizer_create()

recognizer.read('/home/pi/junialdi/include/trainer.yml')

cascadePath = "/home/pi/junialdi/include/face.xml"

Page 70: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

faceCascade = cv2.CascadeClassifier(cascadePath);

Id = 0

face_id = 0

#cam = cv2.VideoCapture(0)

cam = cv2.VideoCapture(sourceCam)

font = cv2.FONT_HERSHEY_SIMPLEX

haveSend = False

while True:

ret, im = cam.read()

haveSend = False

flagAbsen = False

if ret == True :

try:

mlx = adafruit_mlx90614.MLX90614(i2c)

suhuTubuh =

"{:.2f}".format(mlx.object_temperature)

suhuTubuh = float(suhuTubuh) + suhu_kalibrasi

except Exception as e:

print(e)

suhuTubuh = "0.0"

cv2.putText(im,"Face Recognition",

(10,50),font,1,(255,0,0), 1)

nama="Unknown"

face_id = 0

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

faces = faceCascade.detectMultiScale(

gray,

scaleFactor = myScaleFactor,

minNeighbors = 5,

minSize = (myMinSize, myMinSize),

maxSize = (myMaxSize, myMaxSize),

flags = cv2.CASCADE_SCALE_IMAGE

)

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

cv2.rectangle(im,(x,y),(x+w,y+h),(225,0,0),2)

cv2.putText(im,"suhu

"+str(suhuTubuh),(x+20,y+20),font,1,(0,255,0),2)

Id, conf = recognizer.predict(gray[y:y+h,x:x+w])

if(conf<=accuracy): #semakin mndekati nol

semakin akurat

for i in range(len(id_list)):

#print(i)

if Id == int(id_list[i]):

nama = nama_list[i]

print(nama)

face_id = int(id_list[i])

else:

print(nama)

face_id = 0

cv2.putText(im,nama, (x,y+h),font,1,(0,255,0), 2)

Page 71: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

cv2.putText(im,"kecocokan "+str(round(conf,1)),

(x,y+h+20),font,1,(0,255,255), 2)

if face_id > 0 and nama != "Unknown":

print("Kirim data ke server...")

print("Nama : "+nama)

print("Face ID : "+str(face_id))

print(time.strftime("%d %B %Y %H:%M",

time.localtime(time.time())))

namaImgAbsensi = "absensi.jpg"

cv2.imwrite(namaImgAbsensi,im)

try:

files = {"foto":open(namaImgAbsensi, "rb")}

send_absen = requests.post(url_absensi,

data={"faceid":face_id, "iddev":iddev, "suhu":str(suhuTubuh)},

files=files, timeout=5).json()

print(json.dumps(send_absen, indent=4,

sort_keys=True))

if send_absen['status'] == "success":

cv2.putText(im,send_absen['waktu'],

(10,300),font,1,(0,255,0), 2)

flagAbsen = True

cv2.putText(im,send_absen['ket'],

(10,400),font,1,(0,0,255), 2)

haveSend = True

except Exception as e:

print(e)

print()

cv2.imshow('face recognition',im)

if cv2.waitKey(10) & 0xFF==ord('q'):

break

if haveSend:

cv2.waitKey(3)

if flagAbsen:

if suhuTubuh >= suhu_min and suhuTubuh <=

suhu_max:

fileMP3 = "/home/pi/junialdi/normal.mp3"

else:

fileMP3 = "/home/pi/junialdi/tidaknormal.mp3"

pygame.mixer.init()

pygame.mixer.music.load(fileMP3)

pygame.mixer.music.set_volume(1.0)

pygame.mixer.music.play()

while pygame.mixer.music.get_busy() == True:

print("play mp3")

pass

cam.release()

cam = cv2.VideoCapture(sourceCam)

else:

Page 72: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

print("release cam and start again")

cam.release()

cam = cv2.VideoCapture(sourceCam)

cam.release()

cv2.destroyAllWindows()

##################################

def exitApps():

cv2.destroyAllWindows()

quit()

btnAdd = Button(root, text="Tambah Face ID", width=15, height=2,

bg="lightblue", fg="darkblue",

font=("arial", 13, "italic"),

command=get_ID).place(x=50,y=125)

btnDel = Button(root, text="Hapus Face ID", width=15, height=2,

bg="lightblue", fg="darkblue",

font=("arial", 13, "italic"),

command=del_ID).place(x=250,y=125)

btnTrain = Button(root, text="TRAIN FACE", width=15, height=3,

bg="lightblue", fg="darkblue",

font=("arial", 13, "bold"),

command=train).place(x=50,y=250)

btnFaceAbsen = Button(root, text="ABSEN FACE", width=15, height=3,

bg="lightblue", fg="darkblue",

font=("arial", 13, "bold"),

command=absensi).place(x=250,y=250)

btnExit = Button(root, text="EXIT", width=10, height=1,

bg="lightblue", fg="darkblue",

font=("arial", 12, "bold"),

command=exitApps).place(x=180,y=400)

Copyright = Label(root, text="Copyright Junialdi Saputra @ 2021",

font=("arial", 12, "bold"),

fg="red").place(x=110,y=500)

root.mainloop()

Page 73: ALAT PENDETEKSI SUHU TUBUH DAN WAJAH BERBASIS

2

LAMPIRAN 1

Daftar Riwayat Hidup