Anda di halaman 1dari 37

LAPORAN PROGRAM KERJA PRAKTEK

JUDUL PROGRAM
PROTOTIPE : SISTEM PRESENSI BANDARA
Dikerjakan oleh:

Wisma Chaerul Karunianto


1306413832

Peminatan Instrumentasi
Jurusan Fisika
Fakultas Matermatika dan Ilmu Pengetahuan Alam
Universitas Indonesia

BADAN PENGKAJIAN DAN PENERAPAN TEKNOLOGI


PUSAT TEKNOLOGI ELEKTRONIKA
LABORATORIUM NAVIGASI
SERPONG
2016

HALAMAN PERNYATAAN ORISINALITAS

Laporan Kerja Praktek ini adalah hasil karya sendiri,


dan semua sumber baik yang dikutip maupun dirujuk
telah saya nyatakan dan benar.

Nama

: Wisma Chaerul Karunianto

NPM

: 1306413832

Tanda Tangan

Tanggal

: 26 Agustus 2016

ii

HALAMAN PENGESAHAN INSTITUSI

Laporan Kerja Praktek ini diajukan oleh

Nama

Wisma Chaerul

NPM

1306413832

Program Studi

Fisika

Judul Laporan

PROTOTIPE : PRESENSI BANDARA MENGGUNAKAN PENGOLAHAN


CITRA

Telah berhasil menyelesaikan program kerja praktek di Lab. Navigasi, Pusat Teknologi
Elektronika, BPPT serta dipresentasikan di hadapan anggota lab. Navigasi dan diterima
sebagai bagian persyaratan yang diperlukan untuk memenuhi mata kuliah kerja praktek pada
Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas
Indonesia.

Tangerang Selatan, 26 Agustus 2016

Pembimbing,

(Dr. Fadjar Rahino Triputra)


NIP : 196906241988121001
Mengetahui,
Direktur Pusat Teknologi Elektronika

(Dr. Yudi Purwantoro, CISA, CRISC)


NIP : 19670319 198701 1001
iii

HALAMAN PENGESAHAN DEPARTEMEN FISIKA

Laporan Kerja Praktek ini diajukan oleh

Nama

Yohanes Fridolin Hestrio

NPM

1306365000

Program Studi

Fisika

Judul Laporan

PROTOTIPE : PRESENSI BANDARA MENGGUNAKAN PENGOLAHAN


CITRA

Telah berhasil menyelesaikan program kerja praktek di Lab. Navigasi, Pusat Teknologi
Elektronika, BPPT serta dipresentasikan di hadapan anggota lab. Navigasi dan diterima
sebagai bagian persyaratan yang diperlukan untuk memenuhi mata kuliah kerja praktek pada
Program Studi Fisika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas
Indonesia.

Depok, 26 Agustus 2016

Menyetujui
Ketua Program Studi Fisika Instrumentasi

(Dr. Sastra Kusuma Wijaya)


NIP : 195811261986091002

iv

KATA PENGANTAR
Puji dan syukur kita panjatkan kehadirat Allah SWT atas segala kasih sayang dan
nikmatnya sehingga penulis berhasil menyelesaikan segala runtunan kegiatan Kerja Praktek
ini. Penulis bersyukur sudah berada dalam rasa hangat saling berbagi atas pengalaman dan
ilmu selama bekerja selama satu setengah bulan di Pusat Teknologi Elektronika BPPT.
Kerja Praktek merupakan satu mata kuliah yang wajib diambil oleh setiap mahasiswa
Fisika peminatan Instrumentasi. Mata kuliah ini menyediakan jembatan antara ilmu yang
telah mahasiswa pelajari dengan pengimplementasiannya. Nyatanya penulis benar-benar
belajar banyak hal baru dibanding menggunakan pengetahuan yang telah ada sebelumnya.
Hal ini seakan menggambarkan penulis berada di pinggir pantai duduk sembari menciduk air
dengan ember, air di lautan setelah diciduk tidak berkurang. Ilmu begitu luasnya untuk
ditimba. Begitulah hal yang penulis maknai mengenai kerja praktek pada kesempatan kali ini.
Penulis ingin mengucapkan terimakasih atas segala bantuan yang diterima dari orangorang yang berada di lingkungan penulis bekerja. Bantuan tersebut dapat berupa dukungan
moril maupun ilmu. Orang - orang tersebut adalah:
Bapak Dr. Fadjar Rahino Triputra selaku pembimbing topik pekerjaan di BPPT
Bapak Willy Dharma, ST selaku pemberi saran dan teman diskusi
Bapak Dr. Sastra Widjaya Kusuma sebagai ketua peminatan Sistem dan
Instrumentasi Fisika UI
Kedua orang tua yang telah membesarkan penulis sebaik-baiknya
Terakhir, penulis memohon maaf jika selama melakukan pekerjaan sering melakukan
kesalahan dan sering terjadi salah paham. Semoga kedepannya penulis dapat menjadi pribadi
yang lebih baik lagi.

Depok, Agustus 2016

Penulis

DAFTAR ISI

Halaman Sampul ................................................................................................................ i


Halaman Judul................................................................................................................... ii
Halaman Pernyataan Orisinalitas ...................................................................................... iii
Halaman Pengesahan Institusi .......................................................................................... iv
Halaman Pengesahan Departemen ..................................................................................... v
Daftar Isi .......................................................................................................................... vi
Pendahuluan ..................................................................................................................... 1
Tujuan ......................................................................................................................................1
Manfaat ...................................................................................................................................2
Tentang Institusi................................................................................................................. 3
Sejarah Institusi .......................................................................................................................3
Struktur Organisasi ..................................................................................................................3
Visi Misi....................................................................................................................................4
Peran dan Ruang Lingkup ........................................................................................................4
ISI....................................................................................................................................... 7
Teori Dasar Pengolahan Citra ..................................................................................................7
Rancangan Protoipe .............................................................................................................. 12
Hasil dan Pembahasan ...................................................................................................... 15
Kesimpulan dan Saran ...................................................................................................... 18
Kesimpulan ............................................................................................................................ 18
Saran ...................................................................................................................................... 18
Daftar Pustaka.................................................................................................................. 19
Lampiran .......................................................................................................................... 20

vi

BAB I
PENDAHULUAN
1.1 LATAR BELAKANG
Saat ini tren penggunaan pesawat sebagai moda transportasi untuk
berpergian semakin meningkat. Hal ini di dukung oleh penerbangan berbiaya
rendah yang ikut andil dalam menarik minat kalangan menengah kebawah untuk
menggunakan pesawat. Pengelola bandara selaku salah satu pemain utama dalam
bisnis penerbangan diharapkan dapat melakukan perbaikan infrastruktur dan
teknologi guna meningkatkan kualitas pelayanan kepada penumpang.
Salah satu topik yang menjadi perhatian pengelola bandara saat ini
berhubungan dengan sistem presensi penumpang di dalam pesawat. Selama ini
pengecekan presensi di dalam pesawat dilakukan secara manual oleh petugas
bandara. Metode ini terkesan lama dan memakan waktu serta sumber daya
manusia. Hal yang lebih baik jika kita bias mengalokasikan sumber daya manusia
untuk mengerjakan hal yang lain.
Oleh karena itu pengelola bandara memerlukan sebuah system presensi
yang bekerja secara otomatis, cepat dan tepat. Sistem ini haruslah berada pada
jalur perjalanan penumpang selama dibandara tanpa mempersulit laju
penumpang. Selain itu system ini dapat terintegrasi dengan system lainnya yang
terdapat di bandara sehingga perubahan yang dilakukan oleh pengelola bandara
tidak terlalu besar. Hal ini bertujuan untuk menekan biaya yang harus dikeluarkan
oleh pengelola bandara.
Pengolahan citra dipilih untuk memenuhi semua kriteria diatas.
Pengolahan citra pada dewasa ini telah memungkinkan pengaplikasian diberbagai
bidang yang begitu luas tidak terkecuali sistem presensi. Pengolahan citra dapat
digunakan untuk mengidentifikasi seseorang untuk kemudian mengeceknya di
daftar penumpang. Metode pengidentifikasian yang telah mapan seperti metode
pengenalan suatu objek yang dipopulerkan oleh Viola dan Jones serta metode
pengenalan objek seperti eigenface, fisherface, dan LBPH dapat pula digunakan
untuk mengembangkan system presensi.

1.2 TUJUAN

Untuk mempelajari pengolahan citra sebagai blok dasar system presensi


Untuk membuat prototipe awal system presensi berbasis pengolahan citra

1.3 MANFAAT

Membuat suatu system presensi yang cepat dan tepat guna


Meningkatkan efektivitas pengecekan presensi

BAB II
TENTANG INSTITUSI
2.1 SEJARAH INSTITUSI
Badan Pengkajian dan Penerapan Teknologi (BPPT) adalah lembaga
pemerintah non-departemen yang berada dibawah koordinasi Kementerian Negara
Riset dan Teknologi yang mempunyai tugas melaksanakan tugas pemerintahan di
bidang pengkajian dan penerapan teknologi. Proses pembentukan BPPT bermula dari
gagasan Mantan Presiden Soeharto kepada Prof Dr. Ing. B.J. Habibie pada tanggal 28Januari-1974. Dengan surat keputusan no. 76/M/1974 tanggal 5-Januari-1974, Prof
Dr. Ing. B.J. Habibie diangkat sebagai penasehat pemerintah dibidang advance
teknologi dan teknologi penerbangan yang bertanggung jawab langsung pada
presiden dengan membentuk Divisi Teknologi dan Teknologi Penerbangan (ATTP)
Pertamina. Melalui surat keputusan Dewan Komisaris Pemerintah Pertamina
No.04/Kpts/DR/DU/1975 tanggal 1 April 1976, ATTP diubah menjadi Divisi Advance
Teknologi Pertamina. Kemudian diubah menjadi Badan Pengkajian dan Penerapan
Teknologi melalui Keputusan Presiden Republik Indonesia No.25 tanggal 21 Agustus
1978. Diperbaharui dengan Surat Keputusan Presiden No.47 tahun 1991.
2.2 STRUKTUR ORGANISASI INSTITUSI

Gambar 2.1. Struktur Institusi

2.3 VISI MISI


VISI
Pusat Unggulan Teknologi yang mengutamakan inovasi dan layanan teknologi untuk
mewujudkan kemandirian bangsa, peningkatan daya saing dan peningkatan
pelayanan publik.
MISI
1. Melaksanakan pengkajian dan penerapan teknologi di bidang teknologi agroindustri
dan bioteknologi untuk menghasilkan inovasi dan layanan teknologi melalui
pengkajian, intermediasi, solusi, clearing house, dan audit teknologi;
2. Melaksanakan pengkajian dan penerapan teknologi di bidang teknologi informasi,
energi dan material untuk menghasilkan inovasi dan layanan teknologi melalui
pengkajian, intermediasi, solusi, clearing house, dan audit teknologi;
3. Melaksanakan pengkajian dan penerapan teknologi di bidang teknologi industri
rancang bangun dan rekayasa untuk menghasilkan inovasi dan layanan teknologi
melalui pengkajian, intermediasi, solusi, clearing house, dan audit teknologi;
4. Melaksanakan pengkajian dan penerapan teknologi di bidang teknologi
pengembangan sumberdaya alam untuk menghasilkan inovasi dan layanan teknologi
melalui pengkajian, intermediasi, solusi, clearing house, dan audit teknologi;
5. Melaksanakan pengkajian dan penerapan teknologi di bidang kebijakan teknologi
untuk menghasilkan inovasi dan layanan teknologi melalui pengkajian, intermediasi,
solusi, clearing house, dan audit teknologi;
6. Melaksanakan tata kelola pemerintahan yang baik melalui reformasi birokrasi dalam
rangka mewujudkan inovasi dan layanan teknologi.

2.4 PERAN DAN RUANG LINGKUP


Intermediasi Teknologi

Memfasilitasi hubungan, keterkaitan, jejaring, kemitraan antara dua pihak atau lebih
dalam rangka pemanfaatan hasil perekayasaan teknologi.

Memberikan akses bagi industri, instansi pusat / pemda dan masyarakat untuk
memanfaatkan sumberdaya iptek dari BPPT atau lembaga iptek lainnya dari dalam
dan luar negeri.

Technology Clearing House


Melakukan clearance test bagi teknologi sebagai otoritas atau pendukung dalam
menyatakan bahwa suatu teknologi laik atau tidak untuk diterapkan di Indonesia atau
untuk konteks tertentu di Indonesia (misalnya berdasarkan tujuan perlindungan
kepentingan masyarakat dan lingkungan hidup dari segi keselamatan, kesehatan,
keamanan bagi manusia/masyarakat dan/atau kelestarian lingkungan hidup).
Pengkajian Teknologi
Melakukan studi multidimensi yang sistematis tentang suatu teknologi untuk
menghasilkan pemahaman tentang tingkat kesiapan/kematangan suatu teknologi (TRLtechnology readiness level), perkiraan nilai (value) dari suatu teknologi sebagai suatu
asset intelektual (knowledge / intellectual asset) beserta peluang dan tantangan /
risikonya, perkiraan dampak teknologi yang telah diterapkan / jika (yang akan) diterapkan,
dan/atau implikasi strategi / kebijakan atau advis / rekomendasi kebijakan pada tataran
organisasional ataupun publik.
Audit Teknologi
Melakukan suatu studi yang sistematis dengan prosedur legal terstandar untuk
mengevaluasi, membandingkan dan/atau memeriksa suatu teknologi atau suatu
penerapan teknologi terhadap (berdasarkan) standar atau ketentuan persyaratan/kriteria
tertentu
Solusi Teknologi
Memberikan advis teknologi
Memfasilitasi atau mengimplementasikan penerapan teknologi
Memberikan pelayanan teknis di bidang teknologi
Melaksanakan pembinaan teknologi

Gambar 2.2. Peran dan Ruang Lingkup Kegiatan BPPT

BAB III
ISI

3.1 TEORI DASAR PENGOLAHAN CITRA

Citra Digital
Merupakan citra yang terdiri dari suatu elemen yang disebut pixel. Pixel
berupa kotak kecil yang berderet. Dimensi dari suatu citra ditentukan oleh besar
dimensi dari pixel. Kolom pada deret merepresentasikan lebar sedang baris
merepresentasikan panjang. Pixle kita dapat pandang sebagai matrkis denagn ukuran
panjang x lebar. Setiap pixel memiliki nilai intensitasnya sendiri yang rentang nilainya
tergantung pada alokasi memori yang digunakan.
Citra digital dibagi menjadi empat jenis macam yaitu [1], yaitu :
o Citra Biner
Masing-masing pixel hanya berwarna hitam dan putih. Oleh karena hanya
terdapat dua nilai kemungkinan yaitu hitam dan putih, maka hanya diperlukan
satu bit oer pixel
o Citra abu-abu (gray scale)
Masing-nasing pixel berisikan warna abu-abu dengan nilai normal antara 0
(hitam) sampai 255 (putih). Range tersebut beratii masing-masing pixel dapat
direpresenasikan oleh nilai 8 bit atau satu byte. Citra grayscale dengan range
nilai yang lain juga digunakan. Akan tetaoi pada umumnya citra tersebut
memiliki pangkat dua dari 8 bit.
o Citra RGB
Untuk citra RGB masing-masing pixel memmpunyai sebuah warna khusus.
Warna dideskripsikan oleh kombinasi merah (Red), hijau (Green), dan biru
(Blue). Jika masing-masing komponen mempunyai range nilai 0-255, maka
total range yang digunakan untuk citra RGB adalah 16.777.216 kemungkinan
warna.

o Indexed
Citra paling berwarna hanya memiliki sebagian kecil dari 16 juta kemungkinan
warna. Untuk efisiensi storage akan diasosiasikan dengan peta warna. Masing-

masing pixel tidak berisikan warna, akan tetapi nilai yang terdapat pada
gambar merupakan sebuah index yang mmerujuk pada warna pada peta.

PREPROCESSING
Preprocessing merupakan serangkaian langkah yang digunakan untuk
mengkondisikan keadaan citra asli sebelum diolah lebih lanjut. Tujuan dari
preprocessing diantaranya adalah
o Menghilangkan noise
o Memperjelas features (fitur) data
o Memperkecil / memperbesar ukuran data
o Mengkonversi data asli agar diperoleh data yg sesuai kebutuhan
Hasil citra yang telah melalui preprocessing dibutuhkan agar citra dapat diolah
serta memenuhi kriteria algoritma pada proses lebih lanjut, misal pada beberapa
proses feature extraction kita hanya memerlukan gray value dari setiap pixelnya saja
untuk nilai RGB-nya dapat kita kesampingkan. Tetapi disamping berbagai
kegunaannya preprocessing juga menimbulkan kerugian yaitu menambah waktu yag
digunakan dalam pengolahan citra dan algortima pada saat preprocessing kadang kala
menghilangkan informasi penting yang terkandung di data tersebut.
Preprocessing citra mempunyai beragam jenis atau metode yang dibedakan
berdasarkan kegunaannya. Contoh dari preprocessing yang sering digunakan adalah:

Mengubah citra RGB gray-scale


Preprocessing yang digunakan untuk merubah nilai RGB(Red,Green,Blue) yang
pada dasarnya terdiri dari tiga blok yang mewakili masing-masing warna
dengan rentang niilai 0 255 menjadi satu blok warna dengan nilai rentang
antara 0 255.

Binerisasi citra
Preprocessing yang mengubah nilai dari setiap blok pixel pada citra menjadi 0
atau 255. Citra yang telah melaui proses ini akan keluar sebagai citra hitam
putih.

Croping citra
Proses pemotongan citra berdasar batasan yang telah di tentukan.

Resize citra
Proses yang digunakan untuk merubah ukuran dari suatu citra.

Pengolahan Citra Lebih Lanjut


o Face Detection
Face detection merupakan proses yang digunakan untuk menentukan
suatu objek merupakan wajah atau bukan. Terdapat berbagai metode dalam
pendeteksian wajah. Salah satu yang paling terkenal adalah meotde yang di
populerkan oleh Viola & Jones pada tahun 2003 [2]. Metode ini akan
mengekstrak feature dari wajah berupa operasi pixel pada area tertentu. Kita
akan memiliki nilai tertentu dari bagian wajah yang spesifik. Pengekstrakan
nilai dari wajah dilakukan dengan melakukan operasi pengurangan dari
penjumlahan nilai intensitas pixel pada bagian kotak berwarna putih dengan
penjumlahan nilai intensitas pixel pada bagian kotak berwarna hitam seperti
terlihat pada Gambar 3.1.

10

Gambar 3.1. Setiap kotak putih dan hitam merepresentasikan feature yang
akan dicari oleh algoritma.
Metode ini berpegang pada tiga ide dasar yaitu integral image,
adaboost classifier, dan cascade classifier. Image Integral digunakan untuk
menghitung Haar feature dengan cepat pada berbagai skala hanya dengan
mengoperasikan beberapa pixel. Selain itu untuk mengurangi beban
perhitungan dikarenakan banyaknya kemungkinan yang berpotensial yang
mengandung feature dari wajah kita menggunakan Adaboost. Adaboost akan
memberi nilai beban feature yang sekiranya merepresentasikan wajah. Setelah
itu terdapat cascade classifier yaitu algoritma yang membuat perhitungan
dengan memfokuskan perhitungan feature pada daerah yang berpotensial
sebagai wajah tahap demi tahap ditunjukkan pada Gambar 3.2.

Gambar 3.2. Pengcitraan pendeteksian cascade

Secara ringkas metode Viola & Jones akan menghitung nilai feature
dari satu wilayah kotak hitam-putih. Jika nilai hasil operasi cocok dengan nilai
threshold maka perhitungan akan dilanjutkan ketahap berikutnya begitu
seterusnya dengan kenaikan kesulitan di setiap kenaikan tahap jika nilai tidak
sesuai maka daerah tersebut dapat diabaikan hingga kita mendeteksi wajah
secara penuh.
o Face Recognition
Face Recognition digunakan untuk mengenali wajah seorang individu.
Proses ini mengizinkan penggunanya untuk membedakan wajah indvidu satu
dengan lainnya. Seperti halnya face detection, face recognition memliki
berbagai macam metode. Beberapa metode tersebut adalah eigenface,
fisherface, dan LBPH (Linear Binary Pattern Histogram).

11

Kita mengerjakan metode LBPH pada proyek yang dikerjakan. Hal ini
dikarenakan LBPH memiliki beberapa keunggulan dibandingkan dengan
metode lainnya. Pertama metode ini cenderung lebih bagus pada berbagai
variasi pencahayaan wajah. Alasan kedua adalah kita dapat menambahkan
citra sewaktu-waktu untuk mengajarkan recognizer untuk menghasilkan model
yang baru untuk mengenali wajah seseorang.
Konsep utama dari LBPH yaitu dengan mengambil suatu pixel untuk
kemudian kita bandingkan seperti terllihat pada Gambar 3.3. Nilai pixel yang
diambil dijadikan nilai threshold untuk dibandingkan dengan nilai tetangga
pixel tersebut. Untuk nilai yang lebih besar daripada threshold akan
mempunyai nilai 1 dan nilai lebih kecil akan bernilai 0. Jumlah pixel tetangga
yang di bandingkan bervariasi mulai dari 8, 16 dan seterusnya.

Gambar 3.3. Proses penamaan pada LBP[5]

Kita akan dapati nilai pixel-pixel kita berupa bilangan biner yang
diurutkan menurut pernjanjian tertentu. Kita dapat mengurutkan bilangan
biner searah jarum jam atau dapat pula berlawanan dengan arah jarum jam.
Setelah itu kita akan dapati suatu nilai bilangan biner yang dapat di konversi
menjadi nilai desimal. Nilai desimal ini sebagai bentuk pengcitraan karakter
dari setiap pixel.
Setelah kita selesai mengurutkan nilai biner. Langkah selanjutnya
adalah menentukan apakah nilai-nilai tersebut bersifat uniform pattern atau
tidak. Hal itu dapat diketahui dari jumlah transisi nilai 1 ke 0 atau 0 ke 1. Untuk
transisi yang berjumlah lebih dari 2 maka nilai tersebut dikategorikan sebagai
non uniform pattern. Sebaliknya untuk nilai yang memiliki jumlah transisi dari
kurang dari dua kita kategorikan sebagai nilai uniform pattern. Pada
penggunaan titik sampel 8 bit. Terdapat 58 jumlah nilai yang mungkin untuk
uniform pattern. Masing-masing nilai uniform pattern ini di simpan dalam 58
bin berbeda pada histogram sedangkan untuk nilai non-uniform dimasukkan
kedalam satu bin pada histogram.

12

Pada tahap selanjutnya citra dibagi menjadi bagian yang lebih kecil,
pada beberapa literature ada yang membagi menjadi 7x7 [3], untuk kemudian
di hitung bagaimana histogram dari bagian tersebut. Semua histogram dari
masing-masing bagian tadi kemudian disatukan untuk dihasilkan feature
vector dari citra tersebut.

3.2 RANCANGAN PROTOTIPE


Sistem yang dibuat terbagi menjadi dua bagian besar, bagian pertama digunakan
untuk mengambil identitas orang yang akan digunakan untuk mengidentifikasi orang tersbut
di tahap selanjutnya yang dalam hal ini adalah wajah, bagian kedua akan mengidentifikasi
orang yang telah melewati proses pada bagian pertama.
Keseluruhan proses dapat dilihat pada Gambar 3.4 dan 3.6.

Gambar 3.4. Proses bagian pertama

Proses bagian pertama terdiri dari pegambilan wajah penumpang di area check in.
Pengambilan wajah dilakukan dengan kamera digital. Kamera yang telah terprogram
pendeteksi wajah akan menyimpan frame disaat wajah seseorang terdeteksi. Untuk setiap
orang kamera akan mengambil 10 frame. Disetiap frame yang teah ditangkap akan terjadi
preprocessing citra berupa perubahan format citra dari RGB menjadi grayscale dan
pemotongan citra sehingga yang tersisa hanya berupa citra wajah.

13

Gambar 3.5. Proses pengidentifikasian wajah menggunakan LBP[7]

Hasil preprocessing tadi akan digunakan pada proses training untuk menghasilkan
model pengenal. Model pengenal yang telah jadi disimpan di database untuk kemudian
digunakan pada proses bagian kedua. Alur pengolahan citra dapat kita lihat pada Gambar 3.6.

14

Gambar 3.6. Proses pada bagian kedua

Proses pada bagian dua terjadi pada saat penumpang hendak masuk kedalam
pesawat. Kamera yang terpasang pada lorong akan mendeteksi wajah seseorang dan akan di
ambil framenya untuk kemudian melalui tahap preprocessing. Tahap preprocessing yang
dilalui oleh frame pada bagian kedua ini sama dengan bagian pertama. Setelah selesai melalui
tahap preprocessing, citra akan diverifikasi dengan model yang berasal dari training set
sebelumnya. Jika cocok maka informasi berupa index yang menyatakan nama penumpang,
waktu dimana saat individu ini terdidentifikasi akan disimpan didalam database. Alur
pengidentifikasian citra dapat dilihat pada Gambar 3.5

15

BAB IV
HASIL DAN PEMBAHASAN

4.1 HASIL DAN PEMBAHASAN


Dalam proses pembuatan recognizer menggunakan LBPH kita harus mengatur
parameter tertentu diantaranya adalah jumlah titik sampel, radius titik sampel, dan nilai
threshold. Pada beberapa literature nilai titik sampel dan radius adalah 8 titik sampel. Nilai
threshold dapat dicari dengan mencari titik perpotongan kurva False Reject Ratio dengan
False Acceptance Ratio. Kedua kurva ini dapat di plot dengan menggunakan data pada table
dibawah. Data ini diperoleh dengan melatih recognizer dengan training set yang terdiri dari
foto dari 8 individu berbeda dengan 9 ekspresi berbeda jadi keseuruhan terdapat 72 wajah.
Recognizer kemudian diuji untuk mengenali 8 wajah yang masuk kedalam training set dan 8
wajah yang tidak masuk ke dalam training set [4].

Tabel 4.1. Jumlah FA(False Acceptance),FR(False Rejection), CA(Correct Acceptance),


CR(Correct Rejection) berdasarkan perbuahan Threshold

16

Hasil dari FAR dan FRR dari data diatas sebagai berikut

Grafik 4.1. Threshold vs % (FRR & FAR)


Dari grafik diatas kita peroleh besar threshold terbaik recognizer ini berada pada rentang
nilai 32-38. Setelah mencari nilai threshold kita menguji program 1 kita dengan menggunakan
kamera webcam yang tertanam pada Notebook ASUS A456UF. Gambar 4.1. menunjukkan hasil
pengujiannya.

Gambar 4.1. Face detection menggunakan webcam


Wajah teridentifikasi dengan baik menggunakan Haar cascade clasifier frontal face yang
telah ada pada openCV. Setelah melalui proses yang telah diuraikan pada bab sebelumnya, program

17

mampu mengidentifikasi wajah sesuai dengan training set yang telah dibuat akan tetapi untuk
beberapa wajah terjadi kesalah identifikasi, hal ini penulis pahami sebagai pengaruh dari keadaan
sampel yang digunakan seperti pencahayaan, pose, dan background yang berbeda pada setiap
individu yang digunakan sebagai training set selain itu pula pose wajah sebagai input banding
dengan model hasil training juga dapat mempengaruhi hasil identifikasi.
Berikut adalah hasil yang diperoleh dari menjalankan program 2 yang bertugas sebagai
pengidentifikasi individu, setelah individu terdeteksi mencapai nilai yang diinginkan maka informasi
mengenai label indivdu dan waktu saat individu terkait terekam akan disimpan didalam database.

Gambar 4.2. Pengidentifikasin indivdu yang terekam sebagai individu yang dikenali

Gambar 4.3. Informasi indivdu yang disimpan didalam database

18

BAB V
KESIMPULAN DAN SARAN

5.1 KESIMPULAN
Dari pengujian yang dilakukan, didapatkan kesimpulan bahwa:
1. Sistem presensi berbasis pengolahan citra dimungkinkan untuk dibuat.
2. Pendeteksian wajah berhasil dengan baik menggunakan classifier yang telah
disediakan oleh openCV yaitu Haar classifier.
3. Program pendeteksi berjalan dengan baik untuk beberapa individu tetapi masih
terjadi kesalahan pengidentfikasian.
5.2 SARAN
Hasil pengujian bekerja dengan baik tetapi tidak cukup memuaskan. Untuk beberapa
individu terdapat kesalahan pengidentifikasian. Hal ini penulis duga berkaitan dengan kondisi
sampel yang digunakan sebagai training set. Penyeragaman setiap sampel dari satu individu
dan indivdu lain diperlukan. Pada pengujian yang telah berlangsung, sampel pada setiap
individu diambil pada tempat yang berbeda dengan pencahayaan yang berbeda pula. Selain
itu penambahan metode preprocessing untuk meningkatkan hasil pengidentifikasian layak
untuk dicoba seperti penggunaan histogram equalization pada alur pengolahan citra.
Perbaikan perangkat keras untuk mengambil citra juga dapat digunakan sebagai cara untuk
meningkatkan hasil identifikasi.

19

DAFTAR PUSTAKA
[1] Wahana Komputer. 2013. Ragam Aplikasi Pengolahan Image dengan MATLAB. Indonesia: PT
Elex Media Komputindo.
[2] Viola, P., Jones, M.J. 2004. Robust Real-Time Face Detection. International Journal of Computer
Vision 57(2):137-154 .
[3] Lopz, L.S. 2010. Local Binary Patterns applied to Face Detection and Recognition.
[4] Budiman, G., Wibowo, S.A., Dharmawan, W. Implementasi Prototype Pengenalan Wajah Manusia
Berbasiskan Android untuk Sistem Presensi.

20

LAMPIRAN

Alur Skema Program 1

Mulai

Menginisiasi kelas
face detector

Menginisiasi kelas
Face recognizer

Deteksi wajah
& tangkap Image

Preprocessor
Image

Jumlahnya 15
Tidak
Ya
Latih face
recognizer

Simpan Model
di database

Stop

21

Alur Skema Program 2

Mulai

Menginisiasi kelas
face detector

Menginisiasi kelas
Face recognizer

Load Model di
database

Ambil frame & deteksi


Wajah

Verifikasi

Prediksi Wajah
Sama setelah beberapa
frame
Tidak
Ya
Simpan Identitas
& Waktu di DB

Tidak
Semua id
teridentifikasi

Ya
Stop

22

Source Code Program 1


# python Program1.py --face cascades/haarcascade_frontalface_default.xml
# python Program1.py --face cascades/haarcascade_frontalface_default.xml --video
video/Videow2.webm
##################################################################################

# import the necessary packages


#######################################################
from folder_bantu.facedetector import FaceDetector
from folder_bantu import imutils
from folder_bantu import Gambar_Label as gb
from folder_bantu import Data2
from folder_bantu import detect_faces as df
import numpy as np
import argparse
import cv2
import os
from PIL import Image

# construct the argument parse and parse the arguments


#######################################################
ap = argparse.ArgumentParser()
ap.add_argument("-f", "--face", required = True,
help = "path to where the face cascade resides")
ap.add_argument("-v", "--video",

23

help = "path to the (optional) video file")


args = vars(ap.parse_args())

#inisialiasi recognizer
#######################################################
recognizer = cv2.createLBPHFaceRecognizer(1,8,8,8,150)

# construct the face detector


#######################################################
fd = FaceDetector(args["face"])

#Memulai Proses awal


#######################################################
detface = df.Ambil_Gambar()
Gambar = detface.Proses_awal(fd)

# if a video path was not supplied, grab the reference


# to the gray
#######################################################

if not args.get("video", False):


camera = cv2.VideoCapture(0)
# otherwise, load the video
else:

24

camera = cv2.VideoCapture(args["video"])

# Menentukan path yang dibaca oleh fungsi get image & label
#######################################################
path = "./Gambar"

# deklarasikan kelas Gambar_label


#######################################################
GamLab = gb.gambar_label(path)

# Call the get_images_and_labels function and get the face images and the
# corresponding labels
#######################################################
images, labels = GamLab.Label_Gambar()
cv2.destroyAllWindows()

# Perform the tranining & save model


#######################################################
recognizer.train(images, np.array(labels))
path_result = ("Result/Train_result.xml")
recognizer.save(path_result)

# Menyimpan Path hasil training


Datab = Data2.Database("127.0.0.1","root","sen")
Datab.Hubung()

25

Datab.buatDatabase()
Datab.buatTabel()
queryz = ("insert into Result_Train (Path_Result) values('Documents/KP/Uji/Uji\ Beneran\
1/Result/Train_result.xml')")
Datab.insertData(queryz)
print("Lanjutkan ke Program2")

26

Source Code Program 2


##################################################################################
# python Program2.py --face cascades/haarcascade_frontalface_default.xml
# python Program2.py --face cascades/haarcascade_frontalface_default.xml --video
video/Videow2.webm
##################################################################################

# import the necessary packages


#######################################################
from folder_bantu.facedetector import FaceDetector
from folder_bantu import imutils
from folder_bantu import Gambar_Label as gb
from folder_bantu import Data
from folder_bantu import Data2
from folder_bantu import Nomerdata as nmrdt
import argparse
import cv2
import os
from PIL import Image
import numpy as np
import datetime

# construct the argument parse and parse the arguments


#######################################################
ap = argparse.ArgumentParser()
ap.add_argument("-f", "--face", required = True,

27

help = "path to where the face cascade resides")


ap.add_argument("-v", "--video",
help = "path to the (optional) video file")
args = vars(ap.parse_args())

#######################################################
recognizer = cv2.createLBPHFaceRecognizer(1,8,8,8,150)

# construct the face detector


#######################################################
fd = FaceDetector(args["face"])

# if a video path was not supplied, grab the reference


# to the gray
#######################################################

if not args.get("video", False):


camera = cv2.VideoCapture(0)
# otherwise, load the video
else:
camera = cv2.VideoCapture(args["video"])

#Load model yang telah dibuat pada Program 1


Datab = Data2.Database("127.0.0.1","root","sen")

28

Datab.HubungDb()
model = Datab.tampilData()
A = model[0]
print(A)
recognizer.load("Result/Train_result.xml")
# Pendeklarasian class Data dan pembuatan database
#######################################################
Datac = Data.Database("127.0.0.1","root","sen")
Datac.Hubung()
Datac.buatDatabase()
Datac.buatTabel()
# inisialisasi variabel yang digunakan pada proses loop utama
Variabel_banding = 0
n=0
m=0

# Loop utama
#######################################################
while True:

# grab the current frame


#######################################################
(grabbed, frame) = camera.read()

# if we are viewing a video and we did not grab a


# frame, then we have reached the end of the video

29

if args.get("video") and not grabbed:


break

# mengetahui waktu saat ini


#######################################################
current_time = datetime.datetime.now().time()

# resize the frame and convert it to grayscale


#######################################################
frame = imutils.resize(frame, width = 300)
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
predict_image = np.array(gray, 'uint8')

# detect faces in the image and then clone the frame


# so that we can draw on it
#######################################################

faceRects = fd.detect(predict_image, scaleFactor = 1.1, minNeighbors = 5,


minSize = (30, 30))
frameClone = frame.copy()
frameClone2 = frame.copy()

for (fX, fY, fW, fH) in faceRects:

30

nbr_predicted, conf = recognizer.predict(predict_image[fY: fY + fH, fX: fX +


fW])

#Memasukkkan nilai prediksi ke variabel untuk dibandingkan


Variabel_baru = nbr_predicted

#print("n = {}, prediksi = {}, Variabel baru = {}, Variabel banding =


{}").format(n,nbr_predicted,Variabel_baru,Variabel_banding)
if Variabel_baru == Variabel_banding:
print ("{} dibaca dan dihitung +1").format(nbr_predicted)
n += 1
else:
print("Wajah Tidak dikenali")
n=0

# Memasukkan nilai prediksi setelah proses untuk dibandingkan dengan nilai


yang baru
Variabel_banding = Variabel_baru

if n == 10 :
waktu = current_time.isoformat()
nomer,m = nmrdt.nomer(m)
nilai = str(nbr_predicted)
A = ("insert into Info values('"+ nomer + "','" + nilai +"','"+ waktu + "')")
Datac.insertData(A)
print("data berhasil dimasukkan")
print(nomer)

31

n=0

cv2.imshow(nomer,frameClone2)

# loop over the face bounding boxes and draw them


#######################################################
for (fX, fY, fW, fH) in faceRects:
cv2.rectangle(frameClone, (fX, fY), (fX + fW, fY + fH), (0, 255, 0), 2)

# show our detected facesq


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

cv2.imshow("Face", frameClone)
# if the 'q' key is pressed, stop the loop
if cv2.waitKey(1) & 0xFF == ord("q"):
break

# cleanup the camera and close any open windows


camera.release()
cv2.destroyAllWindows()

Anda mungkin juga menyukai