SKRIPSI PENGENALAN DORSAL HAND VEIN MENGGUNAKAN LOCAL BINARY PATTERNS
Diajukan untuk memenuhi salah satu syarat memperoleh derajat Sarjana Teknik
ASPIAN ACHBAN E1E1 13 006
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2017
SKRIPSI PENGENALAN DORSAL HAND VEIN MENGGUNAKAN LOCAL BINARY PATTERNS
Diajukan untuk memenuhi salah satu syarat memperoleh derajat Sarjana Teknik
ASPIAN ACHBAN E1E1 13 006
JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS HALU OLEO KENDARI 2017
ii
iii
iv
INTISARI Aspian Achban E1E1 13 006 Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns
Kata kunci : Biomertika, Dorsal Hand Vein, Local Binary Patterns Sistem biometrika merupakan teknologi pengenalan diri menggunakan bagian tubuh manusia seperti sidik jari, wajah, geometri tangan, telapak tangan, retina, gigi dan bibir. Sistem pengenalan biometrika tersebut, kini telah banyak diterapkan di berbagai bidang seperti pada sistem keamanan dan absensi karyawan. Namun, terdapat beberapa kelemahan yang dimiliki oleh sistem pengenalan tersebut seperti besarnya kemungkinan sabotase pada sidik jari dan geometri telapak tangan, sulit melakukan pengenalan pada objek wajah yang menggunakan aksesoris seperti topi dan kacamata serta pada ekspresi yang berubah ubah dan mahalnya alat akuisisi pada aplikasi pengenalan berbasis retina. Penelitian ini menggunakan Local Binary Patterns (LBP) untuk pengenalan dorsal hand vein (pembuluh darah pada punggung tangan). LBP digunakan sebagai metode ekstraksi fitur untuk mengoptimalkan nilai fitur dari tekstur pembuluh darah sehingga diperoleh akurasi yang baik dan kecepatan pemrosesan yang baik. Implementasi metode Local Binary Pattern (LBP) untuk pengenalan dorsal hand vein diujikan pada 150 data sampel. Hasil pengujian menunjukkan akurasi pengenalan yang baik yaitu sebesar 90,67%.
v
ABSTRACT Aspian Achban E1E1 13 006 Dorsal Hand Vein Recognition Using Local Binary Patterns
Keywords: Biomertica, Dorsal Hand Vein, Local Binary Patterns Biometrics system is a self-introduction technology using human body parts such as fingerprint, face, hand geometry, palm, retina, teeth and lips. The biometric recognition system, has been widely applied in various fields such as security systems and absenteeism. However, there are some weaknesses that are owned by the recognition system such as the magnitude of possible sabotage on fingerprints and geometry palms, difficult to perform recognition on the object face using accessories such as hats and sunglasses as well as the expression of a changing and costly acquisition tool on recognition applications based retina. This mini thesis uses the Local Binary Patterns (LBP) for the introduction of the dorsal hand vein (blood vessels in the back of the hand). LBP is used as a feature extraction method to optimize the value of the texture features of blood vessels in order to obtain good accuracy and good processing speed. Implementation method Local Binary Pattern (LBP) for the introduction of the dorsal hand vein was tested on 150 samples of data. The test results show a good recognition accuracy that is equal to 90.67%.
vi
KATA PENGANTAR
Assalamualaikum Warahmatullahi Wabarakatuh Segala Puji dan syukur penulis panjatkan kehadirat Allah SWT, karena atas rahmat dan ridho-Nya penulisan skripsi yang berjudul “Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns” ini dapat disusun dan diselesaikan sebagai syarat menyelesaikan studi di Jurusan Teknik Informatika, Fakultas Teknik Universitas Halu Oleo Kendari. Pada kesempatan ini dengan segala kerendahan hati penulis haturkan sebuah ucapan terima kasih yang sebesar-besarnya dan penghargaan yang setinggi-tingginya kepada : 1.
Allah SWT yang telah menciptakan dan menuntun penulis hingga dapat menyelesaikan skripsi ini.
2.
Ayahanda Mahmud, Ibunda Walmiati, saudariku Vina Damayanti, atas doa dan dukungan moral yang diberikan kepada penulis.
3.
Bapak Sutardi, S.Kom., M.T. dan Ibu Jayanti Yusmah Sari, S.T., M.Kom. sebagai dosen pembimbing skripsi yang banyak memberikan motivasi, masukan, saran serta ketersediaan untuk meluangkan waktunya dengan penulis untuk memberikan arahan – arahan yang sangat berguna.
4.
Teman-teman di jurusan Teknik Informatika angkatan 2013 yang memberikan saran dan semangatnya selama proses penyelesaian skripsi ini.
5.
Teman-teman Teknik Informatika angkatan 2012, 2013, 2014, 2015, 2016 dan seluruh volunteer citra sampel serta semua pihak yang tidak dapat disebutkan satu per satu yang telah memudahkan penyusunan skripsi ini.
vii
Dengan keterbatasan pengalaman, pengetahuan maupun pustaka yang ditinjau, penulis menyadari bahwa tugas akhir ini masih banyak kekurangan dan perlu pengembangan lebih lanjut agar benar-benar bermanfaat. Oleh sebab itu, penulis sangat mengharapkan kritik dan saran agar tugas akhir ini lebih sempurna serta sebagai masukan bagi penulis untuk penelitian dan penulisan karya ilmiah di masa yang akan datang. Akhir kata, penulis berharap tugas akhir ini memberikan manfaat bagi kita semua terutama untuk pengembangan ilmu pengetahuan yang ramah lingkungan dan bersifat positif.
Kendari,
April 2017
Penulis
viii
DAFTAR ISI HALAMAN JUDUL….……………………………………………………… i HALAMAN PENGESAHAN ...........................................................................ii HALAMAN PERNYATAAN ...........................................................................iv INTISARI ..........................................................................................................v ABSTRACT .......................................................................................................vi KATA PENGANTAR .......................................................................................vii DAFTAR ISI…………………………………………………………………. ix DAFTAR TABEL .............................................................................................xii DAFTAR GAMBAR .........................................................................................xiii BAB I PENDAHULUAN……………………………………………………. 1 1.1 Latar Belakang ....................................................................................... 1 1.2 Rumusan Masalah .................................................................................. 2 1.3 Batasan Masalah ..................................................................................... 2 1.4 Tujuan Penelitian ....................................................................................3 1.5 Manfaat Penelitian ..................................................................................3 1.6 Sistematika Penulisan ............................................................................. 3 1.7 Tinjauan Pustaka .................................................................................... 5 BAB II LANDASAN TEORI……………………………………………...... 7 2.1 Biometrika ..............................................................................................7 2.2 Pengenalan Dorsal Hand Vein ................................................................8 2.3 Citra Digital .............................................................................................9 2.4 Representasi Citra Digital ......................................................................10 2.5 Konversi Citra RGB ke Grayscale ..........................................................11 2.6 Median Filter...........................................................................................11 2.7 Ekstraksi Fitur ........................................................................................12 2.8 Metode Local Binary Patterns (LBP) .....................................................13 2.9 Fuzzy k-Nearest Neighbour (Fuzzy k-NN) ..............................................15 2.10 Perhitungan Akurasi ··························································· 15 2.11 Matlab (Matrix Laboratory)...................................................................15 2.11.1 Imcrop ........................................................................... ...................16 2.11.2 Imresize .............................................................................................17 2.11.3 Adapthisteq .......................................................................................17 2.11.4 Anisodiff2d ........................................................................................19 2.11.5 Imclose ..............................................................................................19 2.11.6 Imsubtract .........................................................................................19 ix
2.11.7 Imadjust.............................................................................................20 2.12 Flowchart ................................................................................................20 2.13 Pemodelan UML (Unified Modeling Language) ...................................21 2.13.1 Use Case Diagram ...........................................................................22 2.11.2 Activity Diagram ...............................................................................23 2.11.3 Sequence Diagram ............................................................................23 2.14 Metodologi Pengembangan Sistem ........................................................24 2.15 PNG (Portable Network Graphics) ........................................................25 BAB III METODE PENELITIAN ..................................................................27 3.1 Prosedur dan Pengumpulan Data .............................................................27 3.2 Metode Pengembangan Perangkat Lunak ................................................27 3.3 Waktu Penelitian ......................................................................................28 BAB IV ANALISIS DAN PERANCANGAN .................................................29 4.1 Perancangan Unified Modeling Language (UML) ...................................29 4.1.1 Use Case Diagram ..............................................................................29 4.1.2 Activity Diagram ................................................................................30 4.1.2.1 Activity Diagram Aktifkan Webcam.............................................30 4.1.2.2 Activity Diagram Ambil Citra ......................................................31 4.1.2.3 Activity Diagram Simpan Citra ....................................................31 4.1.2.4 Activity Diagram Masukkan Citra ................................................32 4.1.2.5 Activity Diagram Crop Citra ........................................................33 4.1.2.6 Activity Diagram Preprocessing ..................................................33 4.1.2.7 Activity Diagram Ekstraksi Fitur ..................................................34 4.1.2.8 Activity Diagram Buat Database ..................................................35 4.1.2.9 Activity Diagram Pengenalan .......................................................35 4.1.3 Sequence Diagram .............................................................................36 4.1.3.1 Sequence Diagram Akuisisi Citra ...............................................36 4.1.3.2 Sequence Diagram Masukkan Citra ............................................37 4.1.3.3 Sequence Diagram Crop Citra .....................................................37 4.1.3.2 Sequence Diagram Preprocessing ...............................................37 4.1.3.3 Sequence Diagram Ekstraksi Fitur ...............................................38 4.1.3.2 Sequence Diagram Buat Database ..............................................38 4.1.3.3 Sequence Diagram Pengenalan ....................................................39 4.2 Perancangan Sistem ..................................................................................39 4.2.1 Perancangan Proses Citra Latih ..........................................................40 4.2.2 Perancangan Proses Citra Uji .............................................................40 4.2.2.1 Cropping......................................................................................41 4.2.2.2 Konversi Citra RGB ke Grayscale ..............................................42 4.2.2.3 Resize ...........................................................................................43 4.2.2.4 Median Filter...............................................................................44 x
4.2.2.5 Adaptive Histogram Equalization ...............................................46 4.2.2.6 Subtract .......................................................................................46 4.2.2.7 Ekstraksi Fitur .............................................................................47 4.2.2.8 Pengenalan Dorsal Hand Vein ....................................................48 BAB V IMPLEMENTASI DAN HASIL PENGUJIAN ................................50 5.1 Implementasi Sistem ................................................................................50 5.1.1 Dataset .................................................................................................51 5.1.2 Tampilan Sistem .................................................................................52 5.1.2.1 Akuisisi Citra...............................................................................53 5.1.2.2 Masukkan Citra ...........................................................................56 5.1.2.3 Crop Citra ....................................................................................57 5.1.2.4 Konversi Citra RGB ke Grayscale ..............................................57 5.1.2.5 Resize ...........................................................................................58 5.1.2.6 Median Filter...............................................................................59 5.1.2.7 Adaptive Histogram Equalization ...............................................60 5.1.2.8 Subtract .......................................................................................60 5.1.2.9 Ekstraksi Fitur .............................................................................63 5.1.2.10 Buat Database ............................................................................64 5.1.2.11 Pengenalan ................................................................................66 5.2 Pengujian Akurasi ....................................................................................69 BAB VI PENUTUP ...........................................................................................73 6.1 Kesimpulan ...............................................................................................73 6.2 Saran .........................................................................................................73 DAFTAR PUSTAKA LAMPIRAN
xi
DAFTAR TABEL Tabel 2.1 Simbol-simbol pada Flowchart ............................................................ 21 Tabel 2.2 Simbol-simbol pada Use Case Diagram .............................................. 22 Tabel 2.3 Simbol-simbol pada Activity Diagram .................................................. 23 Tabel 2.4 Simbol-simbol pada Sequence Diagram ............................................... 24 Tabel 3.1 Waktu Penelitian ................................................................................... 28 Tabel 5.1 Hasil Uji Coba Pertama ........................................................................ 70 Tabel 5.2 Hasil Uji Coba Kedua ........................................................................... 70 Tabel 5.3 Hasil Uji Coba Ketiga ........................................................................... 71
xii
DAFTAR GAMBAR Gambar 2.1 Citra Dorsal Hand Vein ..................................................................9 Gambar 2.2 Konversi Citra RGB ke Citra Grayscale .........................................11 Gambar 2.3 Ilustrasi Proses Median Filter ..........................................................12 Gambar 2.4 Ilustrasi LBP....................................................................................14 Gambar 2.5 Ilustrasi Proses Cropping ................................................................16 Gambar 2.6 Ilustrasi Proses Resize .....................................................................17 Gambar 2.7 Ilustrasi Struktur Region Size ..........................................................18 Gambar 2.8 Ilustrasi Proses Anisotropic Diffusion Filter ...................................19 Gambar 2.9 Ilustrasi Proses Subtract ..................................................................20 Gambar 2.10 Ilustrasi Proses Normalisasi ..........................................................20 Gambar 4.1 Use Case Diagram Sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) ..........................................29 Gambar 4.2 Activity Diagram Aktifkan Webcam ...............................................30 Gambar 4.3 Activity Diagram Ambil Citra .........................................................31 Gambar 4.4 Activity Diagram Simpan Citra .......................................................32 Gambar 4.5 Activity Diagram Masukkan Citra ..................................................32 Gambar 4.6 Activity Diagram Crop Citra ...........................................................33 Gambar 4.7 Activity Diagram Preprocessing .....................................................34 Gambar 4.8 Activity Diagram Ekstraksi Fitur ....................................................34 Gambar 4.9 Activity Diagram Buat Database ....................................................35 Gambar 4.10 Activity Diagram Pengenalan ........................................................36 Gambar 4.11 Sequence Diagram Akuisisi Citra .................................................36 Gambar 4.12 Sequence Diagram Masukkan Citra..............................................37 Gambar 4.13 Sequence Diagram Crop Citra ......................................................37 Gambar 4.14 Sequence Diagram Preprocessing ................................................38 Gambar 4.15 Sequence Diagram Ekstraksi Fitur................................................38 Gambar 4.16 Sequence Diagram Buat Database ...............................................38 Gambar 4.17 Sequence Diagram Pengenalan .....................................................39 xiii
Gambar 4.18 Gambaran Umum Sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) ..........................................39 Gambar 4.19 Flowchart Cropping ......................................................................41 Gambar 4.20 Flowchart Grayscale .....................................................................42 Gambar 4.21 Flowchart Resize ...........................................................................44 Gambar 4.22 Flowchart Median Filter ...............................................................45 Gambar 4.23 Flowchart Local Binary Patterns..................................................48 Gambar 5.1 Ilustrasi SOP Akuisisi Citra Dorsal Hand ......................................51 Gambar 5.2 Contoh Nama File Dataset Dorsal Hand ........................................52 Gambar 5.3 Tampilan Sistem Pengenalan Dorsal Hand Vein ............................53 Gambar 5.4 Script Akuisisi Citra ........................................................................54 Gambar 5.5 Ilustrasi Aktifkan Webcam ..............................................................55 Gambar 5.6 Ilustrasi Ambil Citra ........................................................................55 Gambar 5.7 Ilustrasi Simpan Citra ......................................................................56 Gambar 5.8 Script Masukkan Citra.....................................................................56 Gambar 5.9 Ilustrasi Masukkan Citra .................................................................56 Gambar 5.10 Script Fungsi Crop Citra ...............................................................57 Gambar 5.11 Ilustrasi Crop Citra ........................................................................57 Gambar 5.12 Script Konversi Citra RGB ke Grayscale .....................................57 Gambar 5.13 Ilustrasi Konversi Citra RGB ke Grayscale ..................................58 Gambar 5.14 Script Fungsi Resize ......................................................................58 Gambar 5.15 Ilustrasi Hasil Proses Resize ..........................................................58 Gambar 5.16 Script Median Filter ......................................................................59 Gambar 5.17 Ilustrasi Hasil Proses Median Filter ..............................................59 Gambar 5.18 Script Fungsi Adaptive Histogram Equalization...........................60 Gambar 5.19 Ilustrasi Hasil Proses Adaptive Histogram Equalization ..............60 Gambar 5.20 Script Fungsi Anisotropic Diffusion Filter ....................................60 Gambar 5.21 Ilustrasi Hasil Proses Anisotropic Diffusion Filter .......................61 Gambar 5.22 Script Fungsi Operasi Morfologi Closing .....................................61 Gambar 5.23 Ilustrasi Hasil Proses Operasi Morfologi Closing .........................61 xiv
Gambar 5.24 Script Fungsi Subtract ...................................................................62 Gambar 5.25 Ilustrasi Hasil Proses Operasi Subtract .........................................62 Gambar 5.26 Script Fungsi Normalisasi .............................................................62 Gambar 5.27 Ilustrasi Hasil Proses Normalisasi .................................................63 Gambar 5.28 Script Ekstraksi Fitur....................................................................64 Gambar 5.29 Ilustrasi Hasil Proses Ekstraksi Fitur ............................................64 Gambar 5.30 Script Buat Database ...................................................................65 Gambar 5.31 Script Tampilkan Database..........................................................66 Gambar 5.32 Ilustrasi Hasil Proses Tampilkan Database ..................................66 Gambar 5.33 Script Pengenalan .........................................................................67 Gambar 5.34 Script Fuzzy k-Nearest Neighbour (Fuzzy k-NN) ........................68 Gambar 5.35 Ilustrasi Hasil Proses Pengenalan ..................................................69 Gambar 5.36 Ilustrasi Posisi Tangan yang Berubah Saat Proses Akuisisi Citra 71 Gambar 5.37 Ilustrasi Proses Crop yang Beragam .............................................72
xv
BAB I PENDAHULUAN
1.1 Latar Belakang Sistem biometrika merupakan teknologi pengenalan diri menggunakan bagian tubuh manusia seperti sidik jari, wajah, geometri tangan, telapak tangan, retina, gigi dan bibir. Sistem pengenalan biometrika tersebut, kini telah banyak diterapkan di berbagai bidang seperti pada sistem keamanan dan absensi karyawan. Namun, terdapat beberapa kelemahan yang dimiliki oleh sistem pengenalan tersebut seperti besarnya kemungkinan sabotase pada sidik jari dan geometri telapak tangan, sulit melakukan pengenalan pada objek wajah yang menggunakan aksesoris seperti topi dan kacamata serta pada ekspresi yang berubah ubah dan mahalnya alat akuisisi pada aplikasi pengenalan berbasis retina. Pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) merupakan sistem biometrika yang dapat digunakan untuk melakukan pengenalan personal dengan sensor kamera atau akses control. Hal ini karena dorsal hand vein merupakan salah satu biometrika yang dapat digunakan untuk mengenali seseorang. Selain itu, pengenalan dorsal hand vein tidak mengganggu kenyamanan seseorang saat proses akuisisi citra dan harga sensor yang digunakan cukup terjangkau. Banyak penelitian yang mencoba untuk membangun program aplikasi pengenalan dorsal hand vein dengan berbagai macam metode yang masingmasing memiliki kelebihan dan kelemahan. Ada metode yang cepat dalam mengenali citra dorsal hand vein akan tetapi mengorbankan tingkat keakuratan dalam pengenalan. Pada umumnya, ada beberapa faktor yang menjadi masalah utama dalam pengenalan dorsal hand vein yaitu teknik akuisisi yang digunakan untuk mendapatkan citra yang dibutuhkan karena diperlukan kamera infra merah dan tingkat pencahayaan yang sesuai dan juga proses ekstraksi fitur dari sampel dorsal hand vein yang terkadang menimbulkan noise yang cukup mengganggu proses ekstraksi fitur.
1
2
Ada beberapa metode ekstraksi fitur yang telah digunakan untuk aplikasi pengenalan dorsal hand vein seperti Hough Lines Transform (Nandini, dkk., 2012) dan Gaussian Directional Filter (Hsu, dkk., 2015). Namun, metode-metode tersebut masih kurang baik dalam mengenali tekstur pembuluh darah pada dorsal hand. Salah satu metode yang baik digunakan dalam proses pengenalan tekstur yaitu Local Binary Patterns (LBP) karena LBP mampu menggambarkan tekstur dan bentuk dari gambar digital dengan membagi gambar menjadi beberapa daerah kecil dari fitur-fitur objek yang diekstraksi. Fitur-fitur yang diperoleh terdiri dari pola biner yang menggambarkan lingkungan piksel pada suatu daerah yang selanjutnya diubah menjadi fitur histogram tunggal yang membentuk representasi dari gambar dan kemudian dapat dibandingkan dengan mengukur kesamaan (jarak) antar histogram. Metode LBP menyediakan hasil yang sangat baik jika dilihat dari segi kecepatan pemrosesan dan akurasi dalam mengenali tekstur citra (Rahim, dkk., 2013). Penelitian ini menggunakan Local Binary Patterns (LBP) untuk pengenalan dorsal hand vein (pembuluh darah pada punggung tangan). LBP digunakan sebagai metode ekstraksi fitur untuk mengoptimalkan nilai fitur dari tekstur pembuluh darah sehingga diperoleh akurasi yang baik dan kecepatan pemrosesan yang tinggi.
1.2 Rumusan Masalah Berdasarkan latar belakang yang telah diuraikan sebelumnya, rumusan masalah yang dapat dipaparkan yaitu bagaimana membangun suatu aplikasi pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) dengan menerapkan metode Local Binary Patterns (LBP).
1.3 Batasan Masalah Hal – hal yang menjadi batasan masalah dalam penelitian ini adalah sebagai berikut : 1.
Data citra dorsal hand (punggung tangan) yang digunakan adalah data citra yang diakuisisi menggunakan kamera infra merah.
3
2.
Objek yang dijadikan data penelitian berupa gambar dorsal hand (punggung tangan) manusia.
3.
Aplikasi hanya mengenali individu dengan data citra dorsal hand vein yang telah disimpan sebelumnya di dalam database.
4.
Citra dorsal hand hasil akuisisi memiliki resolusi 640x480 piksel.
1.4 Tujuan Penelitian Tujuan dari penelitian ini yaitu untuk menerapkan metode Local Binary Patterns (LBP) untuk melakukan pengenalan dorsal hand vein (pembuluh darah pada punggung tangan).
1.5 Manfaat Penelitian Manfaat yang diharapkan dalam pembuatan dan perancangan perangkat lunak pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) yaitu : 1. Mengenali seseorang berdasarkan citra dorsal hand vein orang tersebut. 2. Dalam pengembangannya, aplikasi pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) ini dapat diimplementasikan untuk sistem berbasis biometrika seperti sistem keamanan dan absensi.
1.6 Sistematika Penulisan Tugas akhir ini terdiri dari enam bab, masing-masing merupakan rangkaian sistematis dalam pengkajian materi berdasarkan rumusan masalah yang telah dikemukakan pada BAB I dengan sistematika sebagai berikut :
BAB I PENDAHULUAN Bagian ini berisi pendahuluan yang terdiri dari latar belakang, rumusan masalah, tujuan penelitian, manfaat penelitian, sistematika penulisan dan tinjauan pustaka.
4
BAB II LANDASAN TEORI Bagian ini berisi materi yang berhubungan dengan tema penelitian baik yang bersumber dari media cetak maupun media elektronik meliputi biometrika, pengenalan dorsal hand vein, citra digital, representasi citra digital, cropping, konversi citra RGB ke grayscale, penskalaan (scaling), median filter, histogram equalization, feature extraction (ekstraksi fitur), metode Local Binary Patterns (LBP), Euclidean Distance, flowchart, pemodelan UML (Unified Modeling Language), use case diagram, activity diagram, metodologi pengembangan sistem, Matlab (Matrix Laboratory) dan PNG (Portable Network Graphics). BAB III METODOLOGI PENELITIAN Bagian ini memuat prosedur dan pengumpulan data, prosedur pengembangan perangkat lunak serta waktu dan tempat penelitian.
BAB IV ANALISIS DAN PERANCANGAN Pada bagian ini diuraikan analisis sistem yang akan dibuat dan kebutuhan sistem yang meliputi kebutuhan fungsional dan kebutuhan non fungsional sistem. Rancangan sistem meliputi rancangan arsitektur sistem, rancangan proses, rancangan data dan rancangan antarmuka pengguna.
BAB V IMPLEMENTASI DAN HASIL PENGUJIAN Bagian ini menyajikan implementasi serta hasil penelitian dan pengujian. Bagian implementasi menguraikan tentang implementasi secara detail dan runut, bagian hasil penelitian dan pembahasan hasil dari implementasi disertai dengan penjelasan yang terkait.
BAB VI PENUTUP Bagian ini memuat kesimpulan dari penelitian yang telah dilakukan serta saran untuk penelitian selanjutnya.
5
1.7 Tinjauan Pustaka Pada tinjauan pustaka diuraikan tentang teori–teori penunjang yang dipakai dalam melakukan penelitian pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) menggunakan Local Binary Patterns (LBP). Penelitian ini didasarkan atas penelitian sebelumnya yang berhubungan dengan pengembangan pengenalan dorsal hand vein dan juga penerapan metode Local Binary Patterns (LBP). Pada Penelitian yang dilakukan Rossan dan Khan pada tahun 2014 yang berjudul “Impact of Changing Parameters when Preprocessing Dorsal Hand Vein Pattern”, dilakukan pengujian terhadap proses preprocessing citra dorsal hand vein untuk mengetahui perbedaan hasil pemrosesan citra yang menggunakan metode preprocessing berbeda. Metode preprocessing yang digunakan yaitu mean-C adaptive thresholding, median-C adaptive thresholding, Wellner’s adaptive thresholding, histogram equalization succeeded by adaptive threshold dan histeq as histogram equalization followed by Wellner’s adaptive thresholding. Penelitian ini menggunakan 500 citra dorsal hand (punggung tangan) dan hasil preprocessing tebaik menggunakan metode mean-C adaptive thresholding dengan nilai error 0.054. Dari penelitian tersebut disimpulkan bahwa nilai error pada tahap preprocessing tidak menjamin akurasi yang tinggi karena tingkat akurasi yang diperoleh juga dipengaruhi oleh beberapa faktor seperti proses akuisisi citra dan proses ekstraksi fitur (Rossan dan Khan, 2014). Penelitian lain dilakukan Rahim, dkk. pada tahun 2013 dengan judul “Face Recognition using Local Binary Patterns (LBP)”. Pada penelitian ini, digunakan metode Local Binary Patterns (LBP) untuk proses ekstraksi fiturnya karena penelitian ini secara empiris mengevaluasi pengenalan wajah menggunakan bentuk dan informasi tekstur dari citra wajah seseorang. Citra area wajah mulamula dibagi menjadi bagian-bagian kecil dari nilai histogram yang diperoleh pada proses ekstraksi fitur dan dirubah menjadi vector fitur tunggal yang membentuk representasi efisien wajah dan digunakan untuk mengukur kesamaan antar gambar uji dan gambar pada database. Dalam proses pengenalan wajah, metode Local Binary Patterns (LBP) menghasilkan akurasi hingga 100% (Rahim, dkk., 2013).
6
Penelitian selanjutnya yang dilakukan oleh Nandini, dkk. pada tahun 2012 dengan judul “Biometric Authentication by Dorsal Hand Vein Pattern” yang menggunakan data dari 20 orang yang memiliki umur dan jenis kelamin berbeda serta dengan 3 kali akuisisi pada tangan kiri dan 3 kali akuisisi pada tangan kanan. Penelitian ini menggunakan metode Hough Transform dalam proses ekstraksi fiturnya karena metode ini mampu menentukan dan mengisolasi fitur dari bentuk tertentu dalam sebuah gambar. Metode Hough Transform sering digunakan untuk mendeteksi kurva sederhana seperti garis, lingkaran dan elips. Namun, metode ini masih kurang baik diterapkan dalam pengenalan dorsal hand vein karena kurang akurat dalam mengidentifikasi pola tekstur yang dimiliki oleh pembuluh darah yang disebabkan oleh keterbatasan metode Hough Transform dalam mengenali pola garis pada suatu objek sehingga akurasi yang dihasilkan menggunakan metode ini yaitu 90% (Nandini, dkk., 2012). Berdasarkan ketiga referensi tersebut, penelitian yang dilakukan akan menggunakan metode Local Binary Patterns (LBP) karena metode ini memiliki kemampuan yang cukup baik dalam mengenali pola tekstur dan memiliki kecepatan yang baik dalam memproses data citra.
BAB II LANDASAN TEORI
2.1 Biometrika Biometrika adalah metode otomatis untuk mengindentifikasi atau mengenali seseorang berdasarkan karakteristik fisik yang memiliki keunikan. Biometrika berasal dari bahasa Yunani bios yang artinya hidup dan metron yang artinya mengukur. Dalam dunia teknologi informasi, biometrika relevan dengan teknologi yang digunakan untuk menganalisis fisik dan kelakuan manusia dalam autentifikasi (Aguna, 2013). Penggunaan biometrika dipengaruhi oleh dua faktor yang meliputi verifikasi berdasarkan benda dan verifikasi berdasarkan pengetahuan. Verifikasi berdasarkan benda adalah dengan identifikasi semua data-data yang dibutuhkan berada pada suatu benda seperti dokumen atau kartu kredit. Apabila benda tersebut hilang, kemungkinan orang lain dapat memalsukannya bisa terjadi. Sedangkan verifikasi terhadap pengetahuan biasanya menggunakan password. Bahkan jika seseorang menggunakan algoritma enkripsi terbaik pun, tetap saja terdapat kunci yang dapat membukanya. Oleh karena itu, biometrika merupakan teknologi yang sangat tepat karena biometrika mengidentifikasi seseorang berdasarkan keunikan dari seseorang sehingga tidak ada yang bisa melakukan pemalsuan. Selain itu, biometrika juga memiliki beberapa keunggulan yaitu tidak dapat hilang, sulit diduplikasi, di-share ataupun berpindah tangan, dan keaslian lebih terjamin. Terdapat dua kategori pengidentifikasi biometrika, yaitu karakteristik fisiologis dan karakteristik perilaku. Karakteristik fisiologis berhubungan dengan bentuk tubuh. Karakteristik fisiologis terdiri dari indentifikasi sidik jari, pengenalan wajah, telapak tangan, DNA, geometri lengan, geometri jari, pengenalan iris atau retina, dan pengenalan bau (aroma) sedangkan karakteristik perilaku adalah pengidentifikasi terkait dengan perilaku seseorang. Karakter ini meliputi identifikasi pada ritme, suara dan cara mengetik (Aguna, 2013).
7
8
2.2 Pengenalan Dorsal Hand Vein Dorsal hand vein merupakan pembuluh darah pada punggung tangan. Pola pembuluh darah tersebut memiliki karakteristik yang unik pada setiap manusia, bahkan orang yang kembar identik pun memiliki pola pembuluh darah yang berbeda. Selain itu, pola pembuluh darah juga tidak berubah sepanjang hidup manusia (sejak usia dewasa) kecuali apabila ada luka atau penyakit (Watanabe, 2008). Beberapa rumah sakit di Amerika Serikat, seperti NYU Langone Medical Center, menggunakan sistem pencocokkan pembuluh darah yang disebut Imprivata PatientSecure untuk mengurangi kesalahan, mengidentifikasi pasien sadar atau tidak serta menghemat waktu. Dokter Bernand A. Birnbaum, seorang kepala operasi rumah sakit di Langone menerangkan bahwa pola pembuluh darah 100 kali lebih unik daripada fingerprints (Plasencia, 2011). Pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) adalah sistem
biometrika
yang
dapat
digunakan
untuk
mengidentifikasi
atau
memverifikasi seseorang melalui citra pembuluh darah punggung tangannya. (Lee, dkk., 2014). Pengenalan dorsal hand vein pada umumnya mencakup empat modul utama yaitu deteksi, preprocessing, ekstraksi fitur dan pencocokan. Sebelum melakukan ekstraksi fitur dan pencocokan, sebaiknya dilakukan proses preprocessing yang tepat agar citra yang diperoleh lebih baik. Deteksi pembuluh darah merupakan langkah awal dalam melakukan pengenalan dorsal hand vein (pembuluh darah pada punggung tangan). Sehingga diperlukan sebuah alat atau kamera yang mampu menangkap citra pembuluh darah dengan baik seperti kamera inframerah (Lee, dkk., 2014). Pengenalan dorsal hand vein menggunakan citra pembuluh darah vena sebagai objek utama pengenalannya karena pembuluh darah vena menyalurkan darah yang mengandung hemoglobin dioksida dengan panjang gelombang 7001400nm, dimana gelombang ini hanya dapat dideteksi menggunakan kamera inframerah (Pontoh, 2016).
9
Berikut ini contoh gambar dorsal hand yang telah diakuisisi menggunakan kamera inframerah.
Gambar 2.1 Citra Dorsal Hand Vein
2.3 Citra Digital Citra didefinisikan sebagai fungsi dua dimensi f(x,y) di mana x dan y adalah koordinat spatial (ruang) dan besaran f adalah intensitas (gray level) dari citra tersebut pada koordinat (x,y). Apabila x,y dan besaran f mempunyai nilai terbatas dengan kuantitas diskrit, maka disebut sebagai citra digital. Citra digital terdiri dari elemen-elemen dalam jumlah terbatas, masing-masing memiliki nilai dan lokasi tertentu. Elemen ini disebut sebagai pictureelements, image elements, pels atau pixels. Intensitas dari citra hitam-putih pada titik (x0,y0) disebut derajat keabuan l (gray level), yang dalam hal ini gray level bergerak dari hitam ke putih, sedangkan citranya disebut citra hitam putih (grayscale image) atau citra monokrom (monocrhome image) (Gonzalez dan Woods, 2008).
𝑙 = ∫(𝑥0, 𝑦0)
(2.1)
Gray level (l) memiliki interval nilai dari Lmin sampai Lmax, atau 𝐿𝑚𝑖𝑛 < 𝑙 < 𝐿𝑚𝑎𝑥
(2.2)
Dan interval [Lmin, Lmax] disebut gray scale. Biasanya interval (Lmin Lmax) sering digeser untuk alasan-alasan praktis menjadi [0, L-1), dengan nilai l = 0 menyatakan hitam dan nilai l = L-1 menyatakan putih. Sedangkan nilai intensitas antara 0 sampai L-1 bergeser dari hitam ke putih.
10
Citra yang memiliki 16 derajat keabuan (mulai dari 0 mewakili warna hitam sampai 15 yang mewakili warna putih) dipresentasikan oleh 4 bit data. Sedangkan citra dengan 256 derajat keabuan (nilai 0 mewakili warna hitam sampai dengan 255 mewakili warna putih) dipresentasikan oleh 8 bit data. Citra hitam-putih disebut juga citra satu kanal, karena warnanya hanya ditentukan oleh satu fungsi intensitas saja. Citra berwarna (color images) dikenal dengan nama citra spektral, karena warna pada citra disusun oleh tiga komponen warna yang disebut komponen RGB, yaitu: merah (red), hijau (green), dan biru (blue) (Gonzalez dan Woods, 2002). Intensitas suatu titik pada citra berwarna merupakan kombinasi dari tiga intensitas yaitu derajat keabuan merah (fmerah (x,y)), hijau (fhijau (x, y)), dan biru (fbiru (x,y)). Dalam citra berwarna, jumlah warna mulai dari 16, 256, 65.536 atau 16 juta warna yang masing-masing dipresentasikan oleh 4, 8, 16 atau 24 bit data untuk setiap pikselnya.
2.4 Representasi Citra Digital Citra digital dapat dianggap sebagai matriks dengan ukuran M x N yang baris dan kolomnya menunjukkan titik-titiknya, yang diperlihatkan pada Persamaan (2.3) (Gonzalez dan Woods, 2008).
(
( (
)=[ (
) ( ) ( ) (
) )
( ( )
) ) (
]
(2.3)
)
Masing-masing elemen di dalam matriks disebut dengan piksel (picture element) atau pel. Piksel menyatakan rata-rata intensitas cahaya pada area citra. Jadi, citra yang berukuran M x N mempunyai MN buah piksel. Pada citra 8 bit skala keabuan setiap pikselnya memiliki 256 tingkat kecerahan, nilai 0 untuk tingkat paling gelap dan nilai 255 untuk tingkat yang paling terang. Di lain pihak, untuk citra 24 bit terdapat tiga komponen warna (red-green-blue) yang masingmasing berukuran 8 bit, sehingga setiap pikselnya memiliki 256 x 256 x 256 =
11
16.777.216 tingkat kecerahan. Hal ini membuktikan bahwa kualitas citra 24 bit jauh lebih baik jika dibandingkan dengan kualitas citra 8 bit.
2.5 Konversi Citra RGB ke Grayscale Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal, dengan kata lain, nilai piksel RED = nilai piksel GREEN = nilai piksel BLUE. Nilai tersebut digunakan untuk menunjukkan tingkatan dari hitam hingga mendekati putih. Untuk mengubah citra RGB ke citra grayscale digunakan Persamaan (2.4). ( dengan (
)=
(2.4)
) adalah level/intensitas keabuan pada satu koordinat piksel yang
diperoleh dengan mengatur komposisi warna R (red), G (green), B (blue) yang ditunjukkan oleh nilai parameter =
dan
dan . Secara umum nilai
=
=
. Nilai yang lain juga dapat diberikan untuk ketiga parameter tersebut
asalkan total keseluruhan nilainya adalah 1 (Putra, 2010). Adapun contoh gambar hasil konversi RGB ke grayscale dapat dilihat pada Gambar 2.2.
Citra Grayscale
Citra RGB
Gambar 2.2 Konversi Citra RGB ke Citra Grayscale 2.6
Median Filter Metode median filter merupakan filter non-linear yang dikembangkan
Tukey, yang berfungsi untuk menghaluskan dan mengurangi noise atau gangguan pada citra. Dikatakan nonlinear karena cara kerja penapis ini tidak termasuk ke dalam
kategori
operasi
konvolusi.
Operasi
nonlinear
dihitung
dengan
12
mengurutkan nilai intensitas sekelompok pixel, kemudian menggantikan nilai pixel yang diproses dengan nilai tertentu. Pada median filter suatu window atau penapis yang memuat sejumlah pixel ganjil digeser titik per titik pada seluruh daerah citra. Nilai-nilai yang berada pada window diurutkan secara ascending untuk kemudian dihitung nilai mediannya. Nilai tersebut akan menggantikan nilai yang berada pada pusat bidang window. Jika suatu window ditempatkan pada suatu bidang citra, maka nilai pixel pada pusat bidang window dapat dihitung dengan mencari nilai median dari nilai intensitas sekelompok pixel yang telah diurutkan. Secara matematis dapat ditulis Persamaannya sebagai berikut. (
)=
(
) (
)
(2.5)
Dengan f(x,y) merupakan citra hasil median filter, g(s,t) adalah sub-image Sxy dan Sxy merupakan window daerah yang diliputi oleh filter (Okada, 2015).
Gambar 2.3 Ilustrasi Proses Median Filter
2.7
Ekstraksi Fitur Ekstraksi fitur merupakan suatu pengambilan ciri/feature dari suatu bentuk
yang nantinya nilai yang didapatkan akan dianalisis untuk proses selanjutnya. Ekstraksi fitur dilakukan dengan menghitung titik atau piksel yang ditemui dalam setiap pengecekan, di mana pengecekan dilakukan dalam berbagai arah tracing pengecekan pada koordinat kartesian dari citra digital yang dianalisis, yaitu vertikal, horizontal, diagonal kanan, dan diagonal kiri. Fitur merupakan karakteristik unik dari suatu objek. Fitur dibedakan menjadi dua yaitu fitur alami dan fitur buatan. Fitur alami merupakan bagian dari gambar, contoh kecerahan dan tepi objek. Sedangkan fitur buatan merupakan fitur yang diperoleh dengan operasi tertentu pada gambar, misalnya histogram
13
ekualisasi (Gualtieri, dkk., 1995). Sehingga ekstraksi fitur adalah proses untuk mendapatkan ciri–ciri pembeda yang membedakan suatu objek dari objek yang lain. Salah satu teknik dalam ekstraksi fitur yaitu ekstraksi fitur berdasarkan tekstur citra. Fitur yang digunakan yaitu tekstur yang terdapat pada citra yang menjadi pembeda antara satu citra dengan citra lainnya. Local Binary Pattern (LBP) merupakan metode ekstraksi fitur tekstur yang memiliki hasil yang baik sehingga sering digunakan di berbagai penelitian tentang citra utamanya yang mengutamakan tekstur sebagai fitur pengenalannya (Putra, 2010).
2.8
Metode Local Binary Patterns (LBP) Operator LBP adalah salah satu deskriptor tekstur terbaik dan telah banyak
digunakan dalam berbagai aplikasi. LBP telah terbukti sangat diskriminatif dan keuntungan utamanya yaitu variasi untuk perubahan tingkat abu-abu monoton dan efisiensi komputasi, membuatnya cocok dalam pengolahan gambar untuk keperluan analisis. Local Binary Pattern (LBP) didefinisikan sebagai ukuran tekstur grayscale invarian, berasal dari definisi umum tekstur di daerah sekitar. Operator LBP dapat dilihat sebagai pendekatan kesatuan dengan model statistik dan struktur tradisional berbeda dari analisis tekstur. Secara sederhana, LBP adalah sebuah kode biner yang menggambarkan pola tekstur lokal. Hal ini dibangun dengan lingkungan batas dengan nilai abu-abu dari pusatnya (Ahonen, dkk., 2006). Kelebihan lainnya adalah LBP ampuh untuk mendeskripsikan suatu tekstur, mempunyai daya pembeda yang akurat, dan juga mempunyai toleransi terhadap perubahan grayscale yang monotonic. Istilah biner dari LBP dimaksudkan sebagai representasi dari intensitas piksel tetangga terhadap piksel yang sedang diproses. Sederhananya, LBP adalah sebuah kode biner yang mempresentasikan pola tekstur lokal. Kalkulasi dari LBP itu sendiri adalah membandingkan nilai intensitas piksel tengah dengan intensitas piksel sekelilingnya (piksel tetangga). LBP pertama kali diperkenalkan oleh Timo Ojala. Operator LBP merupakan deskriptor tekstur yang menggunakan perbandingan nilai keabuan dari piksel-
14
piksel ketetanggaan. Operator dasar LBP berukuran 3x3 menggunakan 8 piksel ketetanggan in dari sebuah piksel tengah ic. Piksel ketetanggaan ke-n tersebut dithreshold menggunakan nilai keabuan dari piksel tengah seperti yang ditunjukkan pada Persamaan (2.6) dan fungsi thresholding s(x) seperti yang ditunjukkan pada Persamaan (2.7). Kode binary hasil operator LBP piksel ketetanggaan akan digunakan untuk merepresentasikan fitur dari piksel tengah ic (Nainggolan, 2012). (
)= ∑ (
)
( )={
(
)
(
)
Gambar 2.4 merupakan ilustrasi dari proses LBP. Proses pertama adalah piksel ketetanggaan di-threshold menggunakan nilai keabuan dari piksel tengah dengan menggunakan Persamaan (2.7) sebagai fungsi thresholding jika hasilnya lebih besar atau sama dengan 0 maka diberi nilai 1 dan jika hasilnya kurang dari 0 maka diberi 0. Setelah itu, nilai biner piksel ketetanggaan akan disusun berlawanan arah jarum jam dan 8 bit biner tersebut dikonversi ke dalam nilai desimal untuk menggantikan nilai piksel tengah ic.
Gambar 2.4 Ilustrasi LBP
Kelebihan lain dari LBP adalah mudah diimplementasikan dan tingkat komputasinya lebih rendah sehingga tidak membutuhkan waktu yang lama dalam ekstraksi fitur.
15
2.9 Fuzzy k-Nearest Neighbour (Fuzzy k-NN) Untuk mencocokkan fitur dorsal vein dari citra uji dan citra pada database digunakan metode Fuzzy k-NN. Konsep dasar dari metode ini adalah memberikan derajat keanggotaan sebagai representasi dari jarak k-Nearest Neighbour fitur citra dan keanggotaannya pada beberapa kemungkinan kelas (Keller dkk, 1985). µ(x,yi) adalah nilai keanggotaan data x ke kelas yi, variabel k merupakan jumlah tetangga terdekat yang digunakan. Maka µ(xj,yi) merupakan nilai keanggotaan data tetangga dalam k tetangga pada kelas yi dimana nilainya 1 jika data latih xj memiliki kelas yi, untuk d(x,xj) adalah jarak dari data x ke data xj dalam k tetangga terdekat, m merupakan scalling factor untuk nilai keanggotaan µ(x,yi). Untuk menghitung µ(x,yi), digunakan Persamaan (2.8) (Keller dkk, 1985).
(
)=
∑
( ∑
) (
(
) )
(
( )
)
(2.8)
Karena menggunakan metode fuzzy k-NN, setiap elemen dari data uji x akan diklasifikasikan ke dalam lebih dari satu kelas dengan nilai keanggotaan μ(x,yi). Namun yang akan diambil sebagai kelas dari elemen x adalah kelas yi dengan nilai keanggotaan μ(x,yi) tertinggi.
2.10 Perhitungan Akurasi Perhitungan akurasi digunakan untuk mengetahui sejauh mana sistem dapat mengenali citra dorsal hand dan menguji apakah metode yang digunakan sudah cukup baik. Perhitungan akurasi pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) menggunakan rumus pada Persamaan (2.9). =
(2.9)
2.11 Matlab (Matrix Laboratory) MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi numerik yang merupakan suatu bahasa pemrograman matematika
16
lanjutan yang dibentuk dengan dasar pemikiran menggunakan sifat dan bentuk matriks. Pada awalnya, program ini merupakan interface untuk koleksi rutinnumerik dari proyek LINPACK dan EISPACK, dan dikembangkan menggunakan bahasa FORTRAN namun sekarang merupakan produk komersial dari perusahaan Mathworks,
Inc.
yang dalam perkembangan selanjutnya
dikembangkan
menggunakan bahasa C++ dan assembler (utamanya untuk fungsi-fungsi dasar MATLAB). MATLAB berisi toolbox yang berisi fungsi-fungsi tambahan untuk aplikasi khusus. MATLAB bersifat extensible, dalam arti bahwa seorang pengguna dapat menulis fungsi baru untuk ditambahkan pada library ketika fungsi-fungsi built-in yang tersedia tidak dapat melakukan tugas tertentu. Berikut ini beberapa fungsi pada MATLAB yang digunakan pada penelitian ini.
2.11.1 Imcrop Imcrop merupakan fungsi pada MATLAB untuk melakukan cropping. Cropping adalah memotong bagian tertentu dari citra sehingga diperoleh area citra yang akan diproses. Operasi ini pada dasarnya adalah operasi translasi, yaitu menggeser koordinat titik citra. Persamaan yang digunakan untuk operasi cropping adalah sebagai berikut: x’=x-xL untuk x=xL sampai xR (2.10) y’=y-yr untuk y=yT sampai yB (xL, yT) dan (xR, yB), masing-masing adalah koordinat titik pojok kiri atas dan pojok kanan bawah bagian citra yang hendak di-crop. Adapun ilustrasi proses cropping dapat dilihat pada Gambar 2.5.
Gambar 2.5 Ilustrasi Proses Cropping
17
2.11.2 Imresize Imresize merupakan suatu fungsi scaling atau penskalaan citra yang memberikan efek memperbesar atau memperkecil ukuran citra input sesuai dengan variabel penskalaan citranya. Ukuran baru hasil penskalaan didapat melalui perkalian antara ukuran citra input dengan variabel penskalaan (Putra, 2010). Rumus yang digunakan untuk proses scaling ditunjukkan pada Persamaan (2.11) dan Persamaan (2.12).
Dengan ( (
=
(2.11)
=
(2.12)
) adalah ukuran citra input, (
) adalah ukuran citra output dan
) adalah variabel penskalaan yang diinginkan. Jika variabel penskalaan
bernilai lebih besar dari 1 maka hasil penskalaannya akan memperbesar ukuran citra, sebaliknya apabila variabel penskalaannya lebih kecil dari 1 maka hasilnya akan memperkecil ukuran citra. Gambar 2.6 merupakan ilustrasi proses resize.
Gambar 2.6 Ilustrasi Proses Resize
2.11.3 Adapthisteq Adaptive Histogram Equalization (AHE) merupakan teknik perbaikan kekontrasan citra dengan meningkatkan kontras lokal citra. Lokal citra ini didapat dengan membentuk grid-grid simetris pada citra yang disebut dengan region size. Struktur regional citra yang ditunjukkan pada Gambar 2.7 dibagi menjadi tiga, yaitu bagian yang berada di sudut citra ditandai dengan corner region (CR), bagian tepi kecuali CR ditandai dengan border region (BR) dan bagian lainnya yang berada di tengah ditandai dengan inner region (IR) .
18
Alasan dibedakannya struktur region size karena antara CR, BR dan IR memiliki karakteristik ketetanggaan yang berbeda. Cara mendapatkan nilai grey level baru untuk tiap region size dilakukan dengan menggunakan fungsi distributif kumulatif.
Gambar 2.7 Ilustrasi Struktur Region Size
Adapthisteq merupakan fungsi yang digunakan untuk meningkatkan kualitas citra yang memiliki kontras yang kurang baik atau range warna yang terbatas. Histogram hasil proses ekualisasi tidak akan seragam atau sama untuk seluruh intensitas. Teknik ini hanya melakukan distribusi ulang terhadap distribusi intensitas dari histogram awal. Distribusi ulang terhadap histogram awal dilakukan dengan memetakan setiap nilai piksel pada histogram awal menjadi nilai piksel dengan menggunakan Persamaan (2.13). ( )=
(
*(
)
( )
+
)
(2.13)
Dengan n(g) adalah nilai piksel baru, N menyatakan banyaknya piksel pada citra, g menyatakan gray level awal yang nilainya 1, 2, …, L-1 (L menyatakan nilai gray level maksimum). Sedangkan c(g) menyatakan banyaknya piksel yang memiliki nilai sama dengan g atau kurang yang secara matematis dapat dilihat pada Persamaan (2.14) (Putra, 2010). ( )= ∑
()
=
(2.14)
19
2.11.4 Anisodiff2d Anisodiff2d merupakan fungsi yang digunakan untuk melakukan smoothing khususnya pada bagian tepi citra tanpa mengurangi informasi penting dari bagian tepi citra. Gambar 2.8 menunjukkan citra hasil smoothing menggunakan anisotropic diffusion filter.
Gambar 2.8 Ilustrasi Proses Anisotropic Diffusion Filter (Perona dan Malik, 1990) 2.11.5 Imclose Imclose merupakan fungsi operasi morfologi closing pada MATLAB. Operasi morfologi closing merupakan kombinasi dimana suatu citra dikenai operasi dilasi dilanjutkan dengan erosi. Dilasi merupakan proses penggabungan titik latar menjadi bagian dari titik objek berdasarkan structuring element yang digunakan. Sedangkan erosi merupakan proses penggabungan titik objek menjadi bagian dari titik latar berdasarkan structuring element yang digunakan. Operasi closing juga cenderung akan memperhalus objek pada citra, namun dengan cara menyambung pecahan-pecahan (fuses narrow breaks and thin gulf) dan menghilangkan lubang-lubang kecil pada objek (Pontoh, 2016).
2.11.6 Imsubtract Merupakan fungsi pengurangan yang digunakan untuk memperoleh objek citra yang diinginkan dengan cara mengurangkan citra hasil anisotropic diffusion filter dengan citra hasil operasi closing (Pontoh, 2016). Gambar 2.9 menunjukkan citra hasil subtract.
20
Gambar 2.9 Ilustrasi Proses Subtract
2.11.7 Imadjust Imadjust merupakan fungsi normalisasi yang digunakan untuk memetakan nilai citra sehingga diperoleh citra dengan nilai intensitas yang baik. Dari hasil imadjust, dapat terlihat secara visual daerah objek dan background dari citra (Pontoh, 2016). Gambar 2.10 menunjukkan citra hasil normalisasi.
Gambar 2.10 Ilustrasi Proses Normalisasi 2.12 Flowchart Flowchart adalah simbol-simbol pekerjaan yang menunjukkan bagian aliran proses yang terhubung. Jadi, setiap simbol flowchart melambangkan perkejaan dan instruksinya. Simbol-simbol flowchart adalah standar yang digunakan oleh American National Standard Institute Inc (eWolf Community, 2012).
21
Tabel 2.1 Simbol-simbol pada Flowchart Simbol
Arti
Simbol
Arti
Simbol Start atau
Simbol
preparation
End
untuk
menyiapkan
yang
mendefinisikan awal
penyimpanan sebagai
atau
tempat
akhir
suatu
pengolahan
flowchart
pada storage.
Simbol pemrosesan
Simbol
yang
yang
terjadi
pada
sebuah alur kerja
input/output mendefinisikan
masukan dan keluaran proses.
Simbol
untuk
Simbol
yang
memutuskan
menyatakan
lanjutan dari kondisi
dari
tertentu
program)
Simbol database
Simbol
program
bagian (sub-
untuk
menghubungkan antar proses
atau
antar
simbol
2.13 Pemodelan UML (Unified Modeling Language) Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek (Object Oriented). Definisi ini merupakan definisi yang sederhana. Pada kenyataannya, pendapat orang–orang tentang UML berbeda satu sama lain. Hal ini dikarenakan oleh sejarahnya sendiri dan oleh perbedaan persepsi tentang apa yang membuat sebuah proses rancang–bangun perangkat lunak efektif (Fowler dan Martin, 2004).
22
2.13.1 Use Case Diagram Use case atau use case diagram merupakan pemodelan untuk kelakuan sistem yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Simbol-simbol yang ada pada use case diagram diberikan pada Tabel 2.2 (Sukamto dan Shalahuddin, 2013): Tabel 2.2 Simbol-simbol pada Use Case Diagram Nama
Deskripsi
Komponen Use Case
Fungsionalitas
yang
Simbol disediakan
sistem sebagai unit-unit yang saling bertukar pesan antar unit atau actor Actor
Orang, proses, atau sistem lain yang berinteraksi dengan sistem yang akan dibuat di luar dari sistem itu sendiri. Actor
Association
Komunikasi antar actor dan use case yang berpartisipasi pada use case
atau
use
case
memiliki
interaksi dengan actor. Generalization Hubungan
generalisasi
dan
spesialisasi (umum - khusus) antara dua buah use case dengan fungsi yang satu adalah fungsi yang lebih umum dari yang lainnya. Include
Relasi
use
case
tambahan
ke
sebuah use case yang ditambahkan karena memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini.
<< include >>
23
2.13.2 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Diagram aktivitas sistem tidak menggambarkan aktivitas yang dilakukan aktor, namun menggambarkan aktivitas yang dapat dilakukan sistem. Simbol-simbol yang ada pada activity diagram diberikan pada Tabel 2.3 (Sukamto dan Shalahuddin, 2013): Tabel 2.3 Simbol-simbol pada Activity Diagram Nama
Deskripsi
Komponen Status Awal
Simbol
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal.
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan
aktivitas
kata kerja. Decision
Asosiasi percabangan, jika terdapat lebih dari satu pilihan aktivitas. Asosiasi penggabungan, lebih dari
Join
satu aktivitas digabungkan menjadi satu. Status Akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah satus akhir.
2.13.3 Sequence Diagram Sequence Diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu, untuk menggambar diagram sekuen maka harus
24
diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Simbol-simbol yang ada pada sequence diagram diberikan pada Tabel 2.4 (Sukamto dan Shalahuddin, 2013):
Tabel 2.4 Simbol-simbol pada Sequence Diagram Nama
Deskripsi
Komponen
Simbol
Orang, proses atau sistem lain yang Aktor
berinteraksi dengan sistem yang akan
nama aktor
dibuat. Menyatakan kehidupan suatu objek. Garis hidup/ lifeline Menyatakan objek dalam keadaan Waktu Aktif
aktif dan berinteraksi. Menyatakan objek yang memanggil
Pesan tipe call operasi/metode yang ada pada objek
1: nama_metode ()
lain atau pada objek itu sendiri. Pesan tipe send Pesan tipe return
Menyatakan
bahwa
mengirimkan
suatu
objek
data/masukan/
1: masukan
informasi ke objek lainnya. Menyatakan bahwa suatu objek telah
1: keluaran
menjalankan suatu operasi.
2.14 Metodologi Pengembangan Sistem RUP (Rational Unified Process) adalah pendekatan pengembangan perangkat lunak yang dilakukan berulang-ulang (iterative), fokus pada arsitektur (architecture-centric), serta lebih diarahkan berdasarkan penggunaan kasus (use case driven). RUP merupakan proses rekayasa perangkat lunak dengan
25
pendefinisian yang baik (well defined) dan penstrukturan yang baik (well structured). Adapun 4 tahapan kerja dari RUP sebagai berikut (Sukamto dan Shalahuddin, 2013): 1.
Fase Inception (Permulaan) Pada tahap ini dilakukan pemodelan proses bisnis yang dibutuhkan (business
modeling) dan pendefinisian kebutuhan sistem yang akan dibuat (requirements). 2.
Fase Elaboration (Perluasan/Perencanaan) Pada tahap ini dilakukan pengecekan terhadap arsitektur sistem yang
diinginkan, dan terhadap kemungkinan resiko yang terjadi dari arsitektur yang dibuat. Tahap ini lebih memfokuskan pada analisis dan desain sistem serta implementasi sistem yang masih berupa prototype. 3.
Fase Construction (Konstruksi) Tahap ini difokuskan pada pengembangan komponen dan fitur-fitur sistem.
Pada tahap ini lebih memfokuskan pada implementasi dan pengujian sistem yang berupa implementasi perangkat lunak pada kode program. 4.
Fase Transition (Transisi) Tahap ini lebih difokuskan pada deployment atau instalasi sistem agar dapat
dimengerti oleh user. Aktivitas pada tahap ini meliputi pelatihan user, pemeliharaan sistem serta pengujian sistem untuk mengetahui jika sistem telah sesuai dengan harapan user.
2.15 PNG (Portable Network Graphics) PNG memiliki sifat transparansi yang baik dan juga kualitas citra yang dihasilkan cukup detail dan tidak pecah-pecah. PNG mampu mengkompresi citra dari proses fotografi tanpa banyak mengurangi kualitas citra. PNG mendukung 24-bit RGB, CMYK dan 8-bit grayscale. File PNG cocok digunakan untuk : 1. Gambar yang memiliki banyak warna, misalnya foto wajah dan pemandangan. 2. Gambar yang memiliki gradien, misalnya perubahan warna yang perlahanlahan dari merah ke biru.
26
Format gambar PNG cocok digunakan pada penelitian pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) dengan menerapkan metode Local Binary Patterns (LBP) karena format PNG memiliki kualitas gambar yang baik dengan ukuran yang cukup kecil sehingga sangat mempengaruhi kecepatan pemrosesan.
BAB III METODE PENELITIAN
3.1
Prosedur dan Pengumpulan Data Studi kepustakaan digunakan untuk mengumpulkan data. Kegiatan
dilakukan dengan mengumpulkan bahan-bahan yang berkaitan dengan penelitian yang berasal dari jurnal-jurnal ilmiah, literatur-literatur serta publikasi-publikasi lain yang layak dijadikan sumber. Untuk kebutuhan penelitian ini, digunakan sampel citra dorsal hand vein yang berasal dari hasil akuisisi dorsal hand dari 50 orang dengan masing-masing orang 3 citra sampel menggunakan kamera webcam inframerah. Citra dorsal hand tersebut merupakan citra punggung tangan kanan karena umumnya tangan kanan lebih sering digunakan dibandingkan dengan tangan kiri, sehingga pembuluh darah pada tangan kanan nampak lebih jelas.
3.2
Metode Pengembangan Perangkat Lunak Metode pengembangan perangkat lunak untuk penelitian ini menggunakan
metode Rational Unified Process (RUP) yaitu: 1. Inception (Permulaan) Pada tahap ini dilakukan proses pengidentifikasian aplikasi, dilakukan dengan analisis kebutuhan akan aplikasi, melakukan kajian terhadap penelitian yang meliputi teknik akuisisi citra, pengenalan pola pembuluh darah, metode Local Binary Patterns (LBP) dan perhitungan jarak Euclidean Distance. 2. Elaboration (Perluasan/Perencanaan) Pada tahap Elaboration dilakukan proses analisis yaitu tahap ditentukan Unified Modeling Language (UML) yang terdiri dari diagram use case, diagram activity dan analisis metode yang digunakan yaitu Local Binary Patterns (LBP). Pada tahap ini dilakukan juga desain arsitektur aplikasi.
27
28
3. Construction (Konstruksi) Pada tahap ini dilakukan membangun perangkat lunak secara utuh, mulai dari interface aplikasi dan coding yang dimulai dari akuisisi citra, cropping, konversi citra ke grayscale, resize, median filter, ekstraksi fitur, buat database hingga pengenalan pola dorsal hand vein dengan menggunakan MATLAB. 4. Transition (Transisi) Fase transition difokuskan untuk melakukan proses penerapan, untuk memastikan sistem sudah bekerja dengan baik di lingkungan pengguna. Dalam penenlitian ini, sistem dipakai untuk melakukan pengujian terhadap aplikasi serta memperbaiki segala masalah yang muncul selama pengujian.
3.3
Waktu Penelitian Adapun waktu penelitian diuraikan pada Tabel 3.1. Tabel 3.1 Waktu Penelitian
No
Judul Kegiatan
1
Inception
2
Elaboration
3
Construction
4
Transition
Waktu (2016-2017) Nov
Des
Jan
Feb
Mar
BAB IV ANALISIS DAN PERANCANGAN
4.1
Perancangan Unified Modeling Language (UML)
4.1.1 Use Case Diagram Adapun tampilan diagram use case dari sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) ditunjukkan pada Gambar 4.1.
Gambar 4.1 Use Case Diagram Sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP)
Berdasarkan Gambar 4.1 sistem pada penelitian ini menyediakan 9 menu utama yaitu menu Aktifkan Webcam, Ambil Citra, Simpan Citra, Masukkan Citra, Crop Citra, Preprocessing, Ekstraksi Fitur, Buat Database dan Pengenalan. Menu
29
30
Aktifkan Webcam digunakan untuk mengaktifkan webcam yang akan digunakan untuk mengambil citra, menu Ambil Citra digunakan untuk mengakuisisi citra, menu Simpan Citra digunakan untuk menyimpan citra hasil akuisisi ke dalam folder, menu Masukkan Citra digunakan untuk memasukkan citra dari folder citra ke dalam aplikasi, menu Crop Citra digunakan untuk memotong citra sesuai dengan area yang akan diproses, menu Preprocessing digunakan untuk mengolah citra yang telah dimasukkan ke dalam aplikasi sebelum dilakukan ekstraksi fitur, menu Ekstraksi Fitur menggunakan metode Local Binary Patterns (LBP) untuk memperoleh nilai fitur dari citra, menu Buat Database digunakan untuk menyimpan nilai fitur citra ke dalam database, menu Pengenalan digunakan untuk melakukan pengenalan citra dengan database yang telah dibuat sebelumnya.
4.1.2
Activity Diagram
4.1.2.1 Activity Diagram Aktifkan Webcam Gambar 4.2 merupakan aktivitas untuk menampilkan visualisasi yang ditangkap oleh webcam. Untuk menampilkan visualisasi yang ditangkap oleh webcam, user harus memilih menu Aktifkan Webcam kemudian sistem akan menampilkan hasil visualisasi yang ditangkap oleh kamera webcam.
Gambar 4.2 Activity Diagram Aktifkan Webcam
31
4.1.2.2 Activity Diagram Ambil Citra Gambar 4.3 merupakan aktivitas untuk melakukan akuisisi citra dari webcam. Untuk melakukan akuisisi citra, sebelumnya user memilih menu Ambil Citra kemudian sistem akan mengakuisisi citra yang ditangkap oleh kamera webcam.
Gambar 4.3 Activity Diagram Ambil Citra
4.1.2.3 Activity Diagram Simpan Citra Gambar 4.4 merupakan aktivitas untuk menyimpan citra hasil akuisisi ke dalam folder. User memilih menu Simpan Citra terlebih dahulu lalu memilih folder yang akan digunakan untuk menyimpan citra serta memberi nama pada citra yang akan disimpan.
32
Gambar 4.4 Activity Diagram Simpan Citra
4.1.2.4 Activity Diagram Masukkan Citra Gambar 4.5 merupakan aktivitas untuk memasukkan citra yang akan diproses ke dalam aplikasi. Untuk memasukkan citra, sebelumnya user memilih menu Masukkan Citra kemudian sistem akan meminta user untuk memilih folder lokasi citra dan file citra yang akan dimasukkan ke dalam sistem.
Gambar 4.5 Activity Diagram Masukkan Citra
33
4.1.2.5 Activity Diagram Crop Citra Gambar 4.6 merupakan aktivitas untuk memotong citra yang akan diproses sesuai dengan area citra yang akan digunakan. Untuk memotong citra, sebelumnya user memilih menu Crop Citra kemudian sistem akan meminta user untuk memilih area yang akan dipotong.
Gambar 4.6 Activity Diagram Crop Citra
4.1.2.6 Activity Diagram Preprocessing Gambar 4.7 merupakan aktivitas untuk melakukan tahapan preprocessing citra. Untuk melakukan tahapan preprocessing, sebelumnya user memilih menu Preprocessing, kemudian sistem akan menampilkan hasil preprocessing berupa grayscale dan resize, median filter, adaptive histogram equalization dan subtract.
34
Gambar 4.7 Activity Diagram Preprocessing
4.1.2.7 Activity Diagram Ekstraksi Fitur Gambar 4.8 merupakan aktivitas untuk melakukan ekstraksi fitur citra. Untuk melakukan tahapan ekstraksi fitur, sebelumnya user memilih menu Ekstraksi Fitur, kemudian sistem akan menampilkan hasil ekstraksi fitur.
Gambar 4.8 Activity Diagram Ekstraksi Fitur
35
4.1.2.8 Activity Diagram Buat Database Gambar 4.9 merupakan aktivitas untuk menyimpan nilai ekstraksi fitur citra ke dalam database. Untuk melakukan tahapan buat database, sebelumnya user memilih menu Buat Database, kemudian sistem akan menyimpan nilai hasil ekstraksi fitur ke dalam sebuah database.
Gambar 4.9 Activity Diagram Buat Database
4.1.2.9 Activity Diagram Pengenalan Gambar 4.10 merupakan aktivitas untuk melakukan pengenalan terhadap citra uji. Untuk melakukan tahapan pengenalan, sebelumnya user memilih menu Pengenalan, kemudian sistem akan menampilkan form pengenalan, lalu user memilih menu tampilkan database, maka sistem akan menampilkan tabel nilai fitur citra yang ada pada database. Selanjutnya user memilih menu pengenalan dan sistem akan menampilkan hasil pengenalan citra.
36
Gambar 4.10 Activity Diagram Pengenalan
4.1.3 Sequence Diagram 4.1.3.1 Sequence Diagram Akuisisi Citra Gambar 4.11 merupakan sequence diagram Akuisisi Citra pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.11 Sequence Diagram Akuisisi Citra
37
4.1.3.2 Sequence Diagram Masukkan Citra Gambar 4.12 merupakan sequence diagram Masukkan Citra pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.12 Sequence Diagram Masukkan Citra
4.1.3.3 Sequence Diagram Crop Citra Gambar 4.13 merupakan sequence diagram Crop Citra pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.13 Sequence Diagram Crop Citra
4.1.3.4 Sequence Diagram Preprocessing Gambar 4.14 merupakan sequence diagram Preprocessing pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
38
Gambar 4.14 Sequence Diagram Preprocessing
4.1.3.5 Sequence Diagram Ekstraksi Fitur Gambar 4.15 merupakan sequence diagram Ekstraksi Fitur pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.15 Sequence Diagram Ekstraksi Fitur
4.1.3.6 Sequence Diagram Buat Database Gambar 4.16 merupakan sequence diagram Buat Database pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.16 Sequence Diagram Buat Database
39
4.1.3.7 Sequence Diagram Pengenalan Gambar 4.17 merupakan sequence diagram Pengenalan pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP).
Gambar 4.17 Sequence Diagram Pengenalan
4.2
Perancangan Sistem Pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary
Patterns (LBP) terdiri dari 6 proses utama yaitu akuisisi citra, input citra, preprocessing, ekstraksi fitur, buat database dan pengenalan. Adapun perancangan proses terbagi atas dua yaitu perancangan proses citra latih dan perancangan proses citra uji yang ditunjukkan pada Gambar 4.18.
Gambar 4.18 Gambaran Umum Sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP)
40
4.2.1 Perancangan Proses Citra Latih Proses ini bertujuan untuk mendapatkan citra latih yang akan disimpan ke dalam database. Citra latih diperoleh dari proses akuisisi citra menggunakan kamera webcam inframerah. Pada dasarnya langlah-langkah pada proses ini sama dengan proses citra uji. Adapun langkah-langkahnya adalah cropping, grayscale, resize, median filter, adaptive histogram equalization, subtract (anisotropic diffusion filter, operasi morfologi closing dan imsubtract), ekstraksi fitur dan buat database.
4.2.2 Perancangan Proses Citra Uji Perancangan proses citra uji merupakan proses yang bertujuan untuk mengidentifikasi citra dorsal hand vain yang dimasukkan oleh user. Tahap pertama yaitu melakukan crop citra yang dimasukkan user. Tahap kedua yaitu mengubah citra RGB ke grayscale. Setelah citra uji berubah menjadi citra grayscale, maka selanjutnya dilakukan proses resize yang bertujuan untuk menormalisasi ukuran citra uji menjadi 128x128 piksel, ukuran ini berdasarkan penelitian sebelumnya tentang pengenalan dorsal hand vein yang dilakukan oleh Pontoh (2016). Proses selanjutnya yaitu melakukan median filter untuk mengurangi derau/noise pada citra dorsal hand yang berupa bulu tangan seperti yang ditunjukkan pada Gambar 5.17. Kemudian dilakukan proses adaptive histogram equalization yang bertujuan untuk melakukan pemerataan histogram suatu citra sehingga setiap derajat keabuan memiliki jumlah piksel yang relatif sama. Berikutnya dilakukan tahapan subtract yang terdiri dari proses anisotropic diffusion filter, operasi morfologi closing dan imsubtract yang bertujuan untuk memperoleh objek dorsal hand vein pada citra dengan cara mengurangkan citra hasil proses operasi morfologi closing dan citra hasil proses anisotropic diffusion filter sehingga diperoleh citra imsubtract yang akan dinormalisasi dan diperoleh objek citra dorsal hand vein. Tahap selanjutnya dilakukan proses pengenalan pola menggunakan metode Local Binary Patterns (LBP) sebagai ekstraksi fitur dan Fuzzy k-NN sebagai perhitungan jarak berdasarkan jumlah ketetanggaan terdekat.
41
4.2.2.1 Cropping Proses cropping adalah proses seleksi sub piksel dari citra menjadi citra baru. Proses ini bertujuan untuk mengambil objek dorsal hand pada citra dan membuang bagian yang tidak diperlukan sehingga proses ekstraksi fitur lebih baik. Proses cropping pada penelitian ini yaitu: 1. Menentukan 4 titik potong yaitu nilai x0, nilai x1, y0 dan y1 berdasarkan nilai piksel objek. Langkah pertama yaitu melakukan inisialisasi nilai x0, y1, x0, y1 pada citra. Setelah semua piksel diproses maka didapatkan 4 titik potong yang akan digunakan pada proses selanjutnya. 2. Melakukan pemotongan citra asli berdasarkan 4 titik potong yang telah didapatkan dari proses sebelumnya.
Gambar 4.19 Flowchart Cropping
42
4.2.2.2 Konversi Citra RGB ke Grayscale Proses konversi citra RGB ke grayscale bertujuan untuk mengubah citra dari citra RGB ke citra grayscale dengan menggunakan Persamaan (2.4). Adapun tahap-tahap dari proses konversi citra RGB ke grayscale ditunjukkan pada Gambar 4.20. Tahap pertama yang dilakukan adalah inisialisasi nilai x dan y. Tahap selanjutnya mengambil nilai warna merah, hijau dan biru. Nilai warna merah dikalikan dengan 0.3, nilai warna hijau dikalikan dengan 0.5 dan nilai warna biru dikalikan dengan 0.2 sehingga didapatkan nilai grayscale. Selanjutnya nilai grayscale tersebut digunakan untuk menggantikan nilai warna merah, hijau dan biru pada piksel x,y. Kemudian dilakukan penambahan nilai y untuk memproses piksel selanjutnya. Setelah nilai y <= tinggi citra maka dilakukan penambahan nilai x. Setelah semua piksel telah diproses maka diperoleh citra grayscale.
Gambar 4.20 Flowchart Grayscale
43
4.2.2.3 Resize Proses resize bertujuan untuk menormalisasi ukuran citra hasil cropping ke ukuran 128x128 piksel. Pada penelitian ini digunakan fungsi penskalaan yang tersedia pada MATLAB. Cara kerja fungsi tersebut adalah: 1.
Mendefinisikan tinggi citra dan lebar citra input.
2.
Mendefinisikan tinggi citra output dan lebar citra output.
3.
Menghitung skala tinggi dengan melakukan perbandingan tinggi citra output dengan tinggi citra input.
4.
Menghitung skala lebar dengan melakukan perbandingan lebar citra output dengan lebar citra input.
5.
Jika skala tinggi = 1 dan skala lebar = 1 maka citra input tidak mengalami interpolasi.
6.
Jika skala tinggi = 1 dan skala lebar > 1 maka citra input mengalami interpolasi perbesar lebar.
7.
Jika skala tinggi = 1 dan skala lebar < 1 maka citra input mengalami interpolasi perkecil lebar.
8.
Jika skala tinggi > 1 dan skala lebar = 1 maka citra input mengalami interpolasi perbesar tinggi.
9.
Jika skala tinggi > 1 dan skala lebar > 1 maka citra input mengalami interpolasi perbesar tinggi dan interpolasi perbesar lebar.
10. Jika skala tinggi > 1 dan skala lebar < 1 maka citra input mengalami interpolasi perbesar tinggi dan interpolasi perkecil lebar. 11. Jika skala tinggi < 1 dan skala lebar = 1 maka citra input mengalami interpolasi perkecil tinggi. 12. Jika skala tinggi < 1 dan skala lebar > 1 maka citra input mengalami interpolasi perkecil tinggi dan interpolasi perbesar lebar. 13. Jika skala tinggi < 1 dan skala lebar < 1 maka citra input mengalami interpolasi perkecil tinggi dan interpolasi perkecil lebar.
44
Gambar 4.21 Flowchart Resize
4.2.2.4 Median Filter Proses median filter bertujuan untuk menghaluskan dan mengurangi noise pada citra yang telah di-scalling serta akan meningkatkan akurasi hasil pemrosesan citra karena noise yang ikut diproses dalam sistem semakin berkurang. Cara kerja proses median filter yaitu:
45
1. Melakukan pembacaan untuk setiap piksel yang terdapat pada citra, dengan perulangan berdasarkan tinggi dan lebarnya. 2. inisialisasi variabel untuk pembacaan piksel dengan mask 3x3 dimulai dari koordinat (0,0). 3. Melakukan pengurutan terhadap nilai piksel dari mask yang sudah ditentukan. 4. Diperoleh nilai tengah hasil median filter. 5. Mengganti nilai pusat mask dengan nilai tengah hasil median filter.
Gambar 4.22 Flowchart Median Filter
46
4.2.2.5 Adaptive Histogram Equalization Metode adaptive histogram equalization digunakan untuk meningkatkan kontras citra dan kualitas citra sehingga informasi yang ada pada citra semakin terlihat jelas dibandingkan citra sebelum proses adaptive histogram equalization. Adapun tahapan adaptive histogram equalization yaitu: 1. Ambil nilai tingkat keabuan dari piksel penyusun citra dan simpan ke dalam sebuah array. 2.
Cari nilai maksimum tingkat keabuan citra yang nantinya akan digunakan untuk menentukan nilai adaptive histogram equalization.
3. Simpan frekuensi kemunculan derajat keabuan dalam array kosong yang ukurannya mengacu pada nilai maksimum derajat keabuan yang dibulatkan ke 2n. 4. Hitung frekuensi kemunculan derajat keabuan pada masing-masing posisi array. 5. Hitung presentasi kemunculan derajat keabuan pada citra lalu dikalikan dengan derajat keabuan maksimal citra asal. 6. Cari nilai tingkat keabuan dari citra baru hasil ekualisasi dengan menggunakan histogram ekualisasinya. 7. Untuk memetakan histogram ekualisasi menjadi citra baru, siapkan array kosong yang ukurannya sama dengan citra asal. Selanjutnya masing-masing nilai array baru dihitung nilai histogram ekualisasinya berdasarkan nilai array citra asal.
4.2.2.6 Subtract Metode subtract digunakan untuk menemukan objek pada gambar dengan cara membandingkan gambar yang ada dengan sebuah model latar belakang. Metode subtract ini menggunakan fungsi anisotropic diffusion filter, fungsi operasi morfologi closing, fungsi subtract dan fungsi normalisasi pada MATLAB. Adapun tahap-tahapnya yaitu: 1. Melakukan smoothing pada bagian tepi citra menggunakan fungsi anisotropic diffusion filter yang terdapat pada MATLAB (Subbab 2.11.4).
47
2. Mendefinisikan elemen struktur morfologi citra untuk memperoleh citra background menggunakan fungsi operasi morfologi closing pada MATLAB (Subbab 2.11.5). 3. Mengurangkan citra hasil dari fungsi anisotropic diffusion filter dan citra background hasil dari fungsi operasi morfologi closing dengan menggunakan fungsi subtract pada MATLAB (Subbab 2.11.6). 4. Melakukan normalisasi citra hasil subtract sehingga diperoleh citra dorsal hand vein yang siap diekstraksi menggunakan fungsi normalisasi
pada
MATLAB, sehingga diperoleh bagian objek dari citra (Subbab 2.11.7).
4.2.2.7 Ekstraksi Fitur Pada penelitian ini metode ekstraksi fitur yang digunakan adalah Local Binary Patterns (LBP). Adapun tahap-tahap dari proses LBP dengan menggunakan persamaan (2.6) dan thresholding berdasarkan Persamaan (2.7). Adapun tahap-tahapnya yaitu: 1. Langkah pertama adalah melakukan inisialisasi terhadap x,y dan variabel nilai yang berguna sebagai penampung nilai yang nantinya menggantikan nilai piksel tengah. 2. Langkah selanjutnya adalah menggunakan kondisi x >0 dan x < lebar citra dikurang 1 dan y > 0 dan y < tinggi citra dikurang 1. 3. Apabila kondisi tersebut terpenuhi maka langkah selanjutnya adalah mengambil nilai piksel tengah ic dan piksel ketetanggaan dari i7 sampai i0. 4. Langkah selanjutnya melakukan perbandingan nilai piksel tengah ic dengan piksel ketetanggaan, apabila nilai ic >= piksel ketetanggaan maka dilakukan pengalian pada variabel nilai sesuai dengan bobot masing-masing piksel ketetanggaan. 5. Langkah selanjutnya adalah mengubah semua nilai warna pada piksel x,y dengan value pada variabel nilai. 6. Selanjutnya dilakukan penjumlahan nilai y dan memproses piksel selanjutnya. Setelah semua piksel diproses maka terbentuklah citra hasil LBP.
48
Gambar 4.23 Flowchart Local Binary Patterns
4.2.2.8 Pengenalan Dorsal Hand Vein Proses pengenalan citra dorsal hand vein menggunakan metode Fuzzy kNearest Neighbour (Fuzzy k-NN). Konsep dasar dari metode ini adalah memberikan derajat keanggotaan sebagai representasi dari jarak k-Nearest Neightbour fitur citra dan keanggotaannya pada beberapa kemungkinan kelas menggunakan Persamaan (2.8). Adapun tahap-tahapnya yaitu: 1. Normalisasi data menggunakan nilai terbesar dan terkecil data pada setiap fitur. 2. Hitung jarak kedekatan (d) citra uji dengan citra latih. 3. Lakukan pengurutan jarak dari yang paling dekat ke jarak yang paling jauh.
49
4. Nilai k yang digunakan pada penelitian ini yaitu k=2 karena berdasarkan penelitian yang dilakukan oleh Keller, dkk. (1985), nilai k default pada Fuzzy k-NN adalah k=2. Karena menggunakan k=2, maka diperoleh 2 citra pada database yang memiliki nilai paling dekat dengan citra uji. 5. Lakukan perhitungan bobot menggunakan fungsi fuzzy. 6. Jika terdapat nilai bobot yang mendekati nilai tak terhingga, maka nilai bobot ini akan dikembalikan menjadi angka 1. 7. Ambil nilai bobot yang paling tinggi kemudian indeks dari bobot tersebut merupakan hasil pengenalan menggunakan Fuzzy k-NN.
BAB V IMPLEMENTASI DAN HASIL PENGUJIAN
5.1
Implementasi Sistem Hasil analisis dan perancangan diimplementasikan dalam bentuk sistem
Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) dengan menggunakan MATLAB. Berikut spesifikasi perangkat lunak yang digunakan
dalam
implementasi
sistem
Pengenalan
Dorsal
Hand
Vein
Menggunakan Local Binary Patterns (LBP): 1. Sistem operasi
: Windows 10
2. Builder
: MATLAB R2012a
Adapun spesifikasi perangkat keras yang digunakan yaitu: 1. Kamera Web M-Tech 5.0 Megapixel. 2. Processor Intel(R) Core(TM) i7-3517U 2.40 GHz. 3. HDD 750GB, RAM 8.00 GB. Agar dapat menggunakan aplikasi ini dengan optimal, maka Standar Operating Procedure (SOP) yang perlu diperhatikan saat akuisisi citra dorsal hand yaitu: 1. Tangan yang digunakan untuk melakukan akuisisi citra adalah tangan kanan. 2. Citra diakuisisi dengan menggunakan pencahayaan dari sinar matahari dan hanya dapat dilakukan apabila ada sinar matahari. 3. Akuisisi citra dorsal hand harus dilakukan dengan posisi tangan dikepal dan ibu jari digenggam. 4. Posisi dorsal hand harus berada di bawah lensa kamera dan tepat berada di tengah alat akuisisi. 5. Jarak dorsal hand dengan kamera disesuaikan agar dapat menghasilkan citra dorsal hand yang utuh. Pada penelitian ini digunakan jarak ±11 cm. 6. Tidak diperkenankan menggunakan aksesoris yang menutupi permukaan dorsal hand pada saat akuisisi citra.
50
51
7. Posisi tangan bertumpu pada permukaan ruas kedua dari keempat jari tangan yang menggenggam ibu jari. 8. Akuisisi citra dilakukan sebanyak 3 kali dan setiap kali melakukan akuisisi, tangan harus dikeluarkan dari dalam alat dan setelah itu, dimasukkan kembali untuk melakukan akuisisi berikutnya.
Gambar 5.1 Ilustrasi Standard Operational Procedure Akuisisi Citra Dorsal Hand
5.1.1
Dataset Dataset yang digunakan pada penelitan ini berasal dari 50 individu
berbeda. Citra sampel dorsal hand diambil menggunakan webcam sebanyak 3 kali sehingga total dataset yang digunakan yaitu 150 citra. Adapun ukuran dari citra hasil akuisisi yaitu sebesar 640x480 piksel dengan format *.png. Penamaan citra sampel dorsal hand hasil akuisisi pada penelitian ini ditunjukkan pada Gambar 5.2.
52
Dua digit pertama Tiga digit terakhir
Gambar 5.2 Contoh Nama File Dataset Dorsal Hand
Dua digit pertama pada nama file citra sampel dorsal hand menunjukkan citra dari individu ke-n. Tiga digit terakhir yang digunakan yaitu *_001, *_002 dan *_003, dengan *_001 merupakan akuisisi pertama dari seorang individu, *_002 merupakan akuisisi kedua dari seorang individu dan *_003 merupakan akuisisi ketiga dari seorang individu. Contohnya 01_L_001 merupakan citra sampel dari orang pertama yang diambil pada akuisisi pertama.
5.1.2
Tampilan Sistem Tampilan sistem Pengenalan Dorsal Hand Vein Menggunakan Local
Binary Patterns (LBP) dengan menggunakan MATLAB ditunjukkan pada Gambar 5.3. Pada sistem ini terdapat 9 tombol yaitu Aktifkan Webcam, Ambil Citra, Simpan Citra, Masukkan Citra, Crop Citra, Preprocessing, Ekstraksi Fitur, Buat Database dan Pengenalan.
53
Gambar 5.3 Tampilan Sistem Pengenalan Dorsal Hand Vein
5.1.2.1 Akuisisi Citra Proses akuisisi citra dilakukan dengan menggunakan 3 tombol yaitu tombol Aktifkan Webcam, tombol Ambil Citra dan tombol Simpan Citra. Tombol Aktifkan Webcam berfungsi untuk mengaktifkan webcam, tombol Ambil Citra berfungsi untuk mengakuisisi citra yang ditangkap webcam, dan tombol Simpan Citra berfungsi untuk menyimpan hasil akuisisi citra ke dalam sebuah directory. Gambar 5.4 merupakan script untuk proses akuisisi citra.
54
% Tombol Aktifkan Webcam function pushbutton10_Callback(hObject, eventdata, handles) global cam; axes(handles.citra_asli); cam = videoinput('winvideo',2,'YUY2_640x480'); set(cam,'ReturnedColorSpace','rgb'); camRes = get(cam,'VideoResolution'); imWidth = camRes(1); imHeight = camRes(2); nBands = get(cam,'NumberOfBands'); hImage = image(zeros(imHeight, imWidth, nBands)); preview(cam,hImage); end % Tombol Ambil Citra function pushbutton11_Callback(hObject, eventdata, handles) global cam; global capture; capture = getsnapshot(cam); axes(handles.citra_asli); imshow(capture); msgbox(strcat('Akuisisi Citra Selesai !')) end % Tombol Simpan Citra function pushbutton12_Callback(hObject, eventdata, handles) global CAM [F,~,NotGet]=imputfile; S=getimage(handles.citra_asli); if(~NotGet|| ~isempty(S)|| ~CAM) imwrite(S,F) msgbox(strcat('Gambar Telah Disimpan di :',F)) else msgbox('Gambar Tidak Tersimpan') end; cla (handles.citra_asli); end
Gambar 5.4 Script Akuisisi Citra
Gambar 5.5 merupakan ilustrasi saat user menekan tombol Aktifkan Webcam. Sedangkan Gambar 5.6 merupakan ilustrasi saat user menekan tombol Ambil Citra.
55
Gambar 5.5 Ilustrasi Aktifkan Webcam
Gambar 5.6 Ilustrasi Ambil Citra
Gambar 5.7 merupakan Ilustrasi saat user menekan tombol Simpan Citra. Citra yang disimpan menggunakan format *.png.
56
Gambar 5.7 Ilustrasi Simpan Citra
5.1.2.2 Masukkan Citra Proses masukkan citra digunakan untuk memasukkan citra dorsal hand ke dalam sistem untuk diproses. Gambar 5.8 merupakan script masukkan citra. % --- Executes on button press in buka_gambar. function buka_gambar_Callback(hObject, eventdata, handles) [file_name, path_name]=uigetfile('*.png','Pilih Citra','*.png') if ~isequal(file_name, 0) handles.data1=imread(fullfile(path_name,file_name)); guidata(hObject,handles); handles.current_data1=handles.data1; axes(handles.citra_asli); imshow(handles.current_data1); set(handles.text,'string',file_name); save ('file_name','file_name'); else return; end end
Gambar 5.8 Script Masukkan Citra
Proses masukkan citra dimulai saat user menekan tombol Masukkan Citra pada sistem. Gambar 5.9 merupakan ilustrasi proses masukkan citra.
Gambar 5.9 Ilustrasi Masukkan Citra
57
5.1.2.3 Crop Citra Proses crop citra digunakan untuk memilih area dorsal hand yang akan diproses oleh sistem. Proses crop menggunakan fungsi yang tersedia pada MATLAB. Gambar 5.10 merupakan script fungsi crop citra. hasil_crop = imcrop(original_image);
Gambar 5.10 Script Fungsi Crop Citra
Proses crop citra dimulai dengan menekan tombol Crop Citra lalu user akan diminta untuk memilih area crop, setelah itu, sistem akan menampilkan hasil crop citra. Gambar 5.11 merupakan ilustrasi proses crop citra.
Gambar 5.11 Ilustrasi Crop Citra
5.1.2.4 Konversi Citra RGB ke Grayscale Proses konversi citra RGB ke grayscale bertujuan untuk mengubah citra dorsal hand dari citra RGB ke citra grayscale menggunakan Persamaan (2.4) pada Subbab 2.5. Gambar 5.12 merupakan script konversi citra RGB ke grayscale. gambar = I; [baris,kolom,layer] = size(gambar); red = gambar(:,:,1); green = gambar(:,:,2); blue = gambar(:,:,3); gray = 0.3*red+0.5*green+0.2*blue; [baris_gray,kolom_gray] = size(gray);
Gambar 5.12 Script Konversi Citra RGB ke Grayscale
Gambar 5.13 merupakan ilustrasi hasil proses konversi citra RGB ke grayscale.
58
Gambar 5.13 Ilustrasi Konversi Citra RGB ke Grayscale
5.1.2.5 Resize Proses resize bertujuan untuk menormalisasi ukuran citra hasil cropping ke ukuran 128x128 piksel menggunakan fungsi yang tersedia pada MATLAB. Adapun Gambar 5.14 merupakan ilustrasi hasil dari proses resize. resize = imresize(gray,[128 128],'bicubic');
Gambar 5.14 Script Fungsi Resize
Gambar 5.15 merupakan ilustrasi hasil proses resize.
Gambar 5.15 Ilustrasi Hasil Proses Resize
59
5.1.2.6 Median Filter Proses median filter bertujuan untuk menghaluskan dan mengurangi noise pada citra menggunakan Persamaan (2.5) pada Subbab 2.6. Gambar 5.16 merupakan script median filter. modifyA=zeros(size(A)+2); B=zeros(size(A)); for x=1:size(A,1) for y=1:size(A,2) modifyA(x+1,y+1)=A(x,y); end end for i= 1:size(modifyA,1)-2 for j=1:size(modifyA,2)-2 window=zeros(9,1); inc=1; for x=1:3 for y=1:3 window(inc)=modifyA(i+x-1,j+y-1); inc=inc+1; end end med=sort(window); B(i,j)=med(5); end end B=uint8(B);
Gambar 5.16 Script Median Filter
Gambar 5.17 merupakan ilustrasi hasil proses median filter.
Gambar 5.17 Ilustrasi Hasil Proses Median Filter
60
5.1.2.7 Adaptive Histogram Equalization Proses adaptive histogram equalization bertujuan untuk meningkatkan kontras citra dan kualitas citra sehingga informasi yang ada pada citra semakin terlihat jelas. Pada proses ini digunakan fungsi yang tersedia pada MATLAB yang ditunjukkan Gambar 5.18. I = adapthisteq(I);
Gambar 5.18 Script Fungsi Adaptive Histogram Equalization
Gambar 5.19 merupakan ilustrasi hasil proses adaptive median filter.
Gambar 5.19 Ilustrasi Hasil Proses Adaptive Histogram Equalization
5.1.2.8 Subtract Proses subtract digunakan untuk menemukan objek pada gambar dengan cara membandingkan gambar yang ada dengan sebuah model latar belakang. Metode subtract ini menggunakan fungsi anisotropic diffusion filter, fungsi operasi morfologi closing, fungsi subtract dan fungsi normalisasi (Pontoh, 2016). Fungsi anisotropic diffusion filter digunakan untuk menghaluskan bagian tepi citra. Pada proses ini digunakan fungsi yang tersedia pada MATLAB yang ditunjukkan Gambar 5.20.
61
B = anisodiff2D(I, 30, 1/10, 18, 1);
Gambar 5.20 Script Fungsi Anisotropic Diffusion Filter Gambar 5.21 merupakan ilustrasi hasil proses anisotropic diffusion filter.
Gambar 5.21 Ilustrasi Hasil Proses Anisotropic Diffusion Filter
Fungsi operasi morfologi closing digunakan untuk mendefinisikan elemen struktur morfologi citra sehingga diperoleh citra background. Pada proses ini digunakan fungsi yang tersedia pada MATLAB yang ditunjukkan Gambar 5.22. SE = strel('disk', 3, 0); est_bkg = imclose(B, SE);
Gambar 5.22 Script Fungsi Operasi Morfologi Closing
Gambar 5.23 merupakan ilustrasi hasil proses operasi morfologi closing.
62
Fungsi subtract digunakan untuk mengurangkan citra hasil dari fungsi anisotropic diffusion filter dengan citra background hasil dari fungsi operasi morfologi closing. Pada proses ini digunakan fungsi yang tersedia pada MATLAB yang ditunjukkan Gambar 5.24. normed = imsubtract(est_bkg, B);
Gambar 5.24 Script Fungsi Subtract
Gambar 5.25 merupakan ilustrasi hasil proses subtract.
Gambar 5.25 Ilustrasi Hasil Proses Operasi Subtract
Fungsi normalisasi digunakan untuk melakukan normalisasi citra hasil subtract sehingga diperoleh citra dorsal hand vein yang siap diekstraksi. Pada proses ini digunakan fungsi yang tersedia pada MATLAB yang ditunjukkan Gambar 5.26. normed = imadjust(normed);
Gambar 5.26 Script Fungsi Normalisasi
63
Gambar 5.27 merupakan ilustrasi hasil proses normalisasi.
Gambar 5.27 Ilustrasi Hasil Proses Normalisasi
5.1.2.9 Ekstraksi Fitur Pada penelitian ini, proses ekstraksi fitur yang digunakan adalah Local Binary Patterns (LBP). Operator LBP menggunakan perbandingan nilai keabuan dari piksel-piksel ketetanggaan. Operator dasar LBP berukuran 3x3 menggunakan 8 piksel ketetanggan dari sebuah piksel tengah. Piksel ketetanggaan ke-n tersebut di-threshold menggunakan nilai keabuan dari piksel tengah. Gambar 5.28 merupakan script ekstraksi fitur.
64
grayImage = I; [rows columns numberOfColorBands] = size(grayImage); localBinaryPatternImage = zeros(size(grayImage)); for row = 2 : rows - 1 for col = 2 : columns - 1 centerPixel = grayImage(row, col); pixel7=grayImage(row-1, col-1) >= centerPixel; pixel6=grayImage(row-1, col) >= centerPixel; pixel5=grayImage(row-1, col+1) >= centerPixel; pixel4=grayImage(row, col+1) >= centerPixel; pixel3=grayImage(row+1, col+1) >= centerPixel; pixel2=grayImage(row+1, col) >= centerPixel; pixel1=grayImage(row+1, col-1) >= centerPixel; pixel0=grayImage(row, col-1) >= centerPixel; localBinaryPatternImage(row, col) = (... pixel7 * 2^7 + pixel6 * 2^6 + ... pixel5 * 2^5 + pixel4 * 2^4 + ... pixel3 * 2^3 + pixel2 * 2^2 + ... pixel1 * 2 + pixel0); end end localBinaryPatternImage =uint8(localBinaryPatternImage);
Gambar 5.28 Script Ekstraksi Fitur
Gambar 5.29 merupakan ilustrasi hasil proses normalisasi.
Gambar 5.29 Ilustrasi Hasil Proses Ekstraksi Fitur
5.1.2.10 Buat Database Proses simpan database digunakan untuk menyimpan fitur citra hasil ekstraksi fitur ke dalam suatu array yang akan digunakan saat melakukan pengenalan citra uji. Fitur citra yang disimpan dibagi menjadi 3 data testing,
65
dimana penyimpanan fitur citra ke dalam file testing dilakukan berdasarkan kode nama belakang dari citra, contohnya citra dengan nama 01_L_001.png maka fitur citranya akan disimpan pada data testing1.mat. Gambar 5.30 merupakan script buat database. delete testing1.mat; delete testing2.mat; delete testing3.mat; tic; sdirectory = '7.lbp'; pngfiles = dir([sdirectory '/*L_001.png']); testing1 = zeros(length(pngfiles),16384); h = waitbar(1/3,'Please Wait...') % Update user. for k = 1:length(pngfiles) filename = [sdirectory '/' pngfiles(k).name]; I = imread(filename); featureSize=size(I); features=reshape(I,1,featureSize(1)*featureSize(1)); testing1(k,:) =[features(:,:)]; save('testing1','testing1'); end waitbar(2/3) % Update user. pngfiles = dir([sdirectory '/*L_002.png']); testing2 = zeros(length(pngfiles),16384); for k = 1:length(pngfiles) filename = [sdirectory '/' pngfiles(k).name]; I = imread(filename); featureSize=size(I); features=reshape(I,1,featureSize(1)*featureSize(1)); testing2(k,:) =[features(:,:)]; save('testing2','testing2'); end waitbar(3/3) % Update user. pngfiles = dir([sdirectory '/*L_003.png']); testing3 = zeros(length(pngfiles),16384); for k = 1:length(pngfiles) filename = [sdirectory '/' pngfiles(k).name]; I = imread(filename); featureSize=size(I); features=reshape(I,1,featureSize(1)*featureSize(1)); testing3(k,:) =[features(:,:)]; save('testing3','testing3'); end close(h); toc;
Gambar 5.30 Script Buat Database
66
5.1.2.11 Pengenalan Panel Pengenalan akan tampil saat user menekan tombol Pengenalan pada panel menu utama. Panel Pengenalan digunakan untuk melakukan pengenalan citra uji terhadap database yang telah disimpan sebelumnya. Proses pengenalan menggunakan metode Fuzzy k-Nearest Neighbour (Fuzzy k-NN). Proses pengenalan diawali dengan menekan tombol Tampilkan Database pada panel pengenalan dan sistem akan menampilkan tabel yang menampilkan nilai fitur citra yang telah disimpan sebelumnya pada database. Gambar 5.31 merupakan script tampilkan database. function pushbutton1_Callback(hObject, eventdata, handles) delete databaseFitur.mat; load testing1.mat; load testing2.mat; load testing3.mat; databaseFitur=[testing1;testing2;testing3;]; save ('databaseFitur','databaseFitur'); load databaseFitur.mat; uitable2=uitable; data = databaseFitur'; set(uitable2,'Data',data,'Position',[310 90 260 400]);
Gambar 5.31 Script Tampilkan Database
Gambar 5.32 merupakan ilustrasi proses tampilkan database.
Gambar 5.32 Ilustrasi Hasil Proses Tampilkan Database
67
Setelah menekan tombol Tampilkan Database, tahap selanjutnya untuk melakukan proses pengenalan citra yaitu menekan tombol Pengenalan. Pada script pengenalan, sistem akan memanggil fungsi Fuzzy k-Nearest Neighbour (Fuzzy kNN) yang disimpan pada script function yang berbeda. Gambar 5.33 merupakan script pengenalan. function pushbutton2_Callback(hObject, eventdata, handles) load features.mat; load databaseFitur.mat; load training_class.txt; load testing_class.txt; data = databaseFitur; testing=double(features); training=double(data); display(testing_class); K=2; info=1; %classification with fknn [y,memberships]=fknn(training, training_class, testing, testing_class, K, info); display('Class');y display('weight');memberships set(handles.text4,'string',y); uitable3=uitable; data = [memberships']; columnname={'weight'}; set(uitable3,'Data',data,'ColumnName',columnname,'Position',[63 0 90 150 400]);
Gambar 5.33 Script Pengenalan
Gambar 5.34 merupakan script Fuzzy k-Nearest Neighbour (Fuzzy kNN).
68
function [predicted,memberships, numhits] = fknn(data, labels, test, testlabels, k_values, info, fuzzy) if nargin<7 fuzzy = true; end num_train = size(data,1); num_test = size(test,1); m = 2; max_class = max(labels); temp = zeros(length(labels),max_class); for i=1:num_train temp(i,:) = [zeros(1, labels(i)-1) 1 zeros(1,max_class labels(i))]; end labels = temp; clear temp; predicted = zeros(num_test, length(k_values)); numhits = zeros(length(k_values),1); store_memberships = false; if nargout > 1, store_memberships=true; memberships = zeros(num_test, max_class, length(k_values)); end for i=1:num_test distances = (repmat(test(i,:), num_train,1) - data).^2; distances = sum(distances,2)'; [junk, indeces] = sort(distances); for k=1:length(k_values) neighbor_index = indeces(1:k_values(k)); weight = ones(1,length(neighbor_index)); if fuzzy, weight = distances(neighbor_index).^(-1/(m-1)); if max(isinf(weight)) warning(['Some of the weights are Inf for sample: ' ... num2str(i) '. These weights are set to 1.']); weight(isinf(weight))=1; end end test_out = weight*labels(neighbor_index,:)/(sum(weight)); if store_memberships, memberships(i,:,k) = test_out; end; [junk, index_of_max] = max(test_out'); if ~isempty(testlabels) && predicted(i,k)==testlabels(i) numhits(k) = numhits(k)+1; end end end end
Gambar 5.34 Script Fuzzy k-Nearest Neighbour (Fuzzy k-NN)
69
Pada proses pengenalan, saat user menekan tombol Pengenalan, maka sistem akan menampilkan tabel nilai fitur dari citra uji dan menampilkan hasil pengenalan yang menunjukkan bahwa citra uji yang diproses dikenali sebagai individu ke-n. Hasil pengenalan dianggap benar jika dua digit pertama pada nama file citra uji sama dengan hasil pengenalan individu ke-n pada sistem. Gambar 5.35 merupakan ilustrasi proses pengenalan.
Gambar 5.35 Ilustrasi Hasil Proses Pengenalan
5.2
Pengujian Akurasi Pada penelitian ini digunakan 150 citra dorsal hand yang diambil dari 50
individu berbeda sebanyak 3 kali akuisisi untuk tiap individunya. Citra hasil akuisisi dari tiap individu disimpan ke dalam sebuah folder dengan format *.png. Pada proses pengujian sistem, citra uji yang digunakan melalui tahapan preprocessing dan ekstraksi fitur yang sama dengan tahapan yang dilalui oleh citra latih. Pengujian dilakukan dengan cara melakukan pengenalan terhadap 150 citra dorsal hand dengan database yang telah disimpan sebelumnya. Adapun nilai ketetanggaan (k) dari Fuzzy k-Nearest Neighbour (Fuzzy k-NN) yang digunakan yaitu 2. Pengujian sistem dilakukan sebanyak 3 kali dimana setiap percobaan menggunakan jumlah citra latih yang berbeda-beda. Persentasi keakuratan pada sistem Pengenalan Dorsal Hand Vein Menggunakan Local Binary Patterns (LBP) diperoleh menggunakan Persamaan (2.9) pada Subbab 2.10. Pada uji coba pertama, dilakukan pengujian terhadap 50 citra uji menggunakan 50 citra latih yang nilai fitur citranya tersimpan pada database. Adapun hasil pengujiannya dapat dilihat pada Tabel 5.1.
70
Tabel 5.1 Hasil Uji Coba Pertama Citra Uji Sampel 1 Sampel 1 Sampel 2 Sampel 2 Sampel 3 Sampel 3
Citra Benar Salah Latih Sampel 2 8 42 Sampel 3 12 38 Sampel 1 19 31 Sampel 3 14 36 Sampel 1 14 36 Sampel 2 15 35 Akurasi rata-rata hasil pengenalan
Jumlah Citra Uji 50 50 50 50 50 50
Akurasi 16% 24% 38% 28% 28% 30% 27,33%
Pada uji coba kedua, dilakukan pengujian terhadap 50 citra uji terhadap 100 citra latih yang nilai fitur citranya tersimpan pada database. Database dibagi menjadi 3 bagian yaitu database1, database2 dan database3 dimana pada database1 hanya terdapat nilai fitur sampel 2 dan sampel 3, pada database2 hanya terdapat nilai fitur sampel 1 dan sampel 3 dan pada database3 hanya terdapat nilai fitur sampel 1 dan sampel 2. Pengujian dilakukan dengan cara menguji file citra dengan nama *_L_001 dengan database1 yang berarti data fitur citra tersebut tidak terdapat pada database1. Adapun hasil pengujiannya dapat dilihat pada Tabel 5.2. Tabel 5.2 Hasil Uji Coba Kedua Citra Uji Sampel 1 Sampel 2 Sampel 3
Citra Benar Salah Latih Sampel 2 16 34 Sampel 3 Sampel 1 19 31 Sampel 3 Sampel 1 19 31 Sampel 2 Akurasi rata-rata hasil pengenalan
Jumlah Citra Uji 50
Akurasi
50
38%
50
38%
32%
36.00%
Pada uji coba ketiga, dilakukan pengujian terhadap 150 citra uji terhadap 150 citra latih yang nilai fitur citranya tersimpan pada database. Nilai fitur untuk database yang digunakan berasal dari 150 citra yang terdiri atas data sampel 1, sampel 2 dan sampel 3 yang digabungkan ke dalam sebuah database. Adapun hasil pengujiannya dapat dilihat pada Tabel 5.3. Berikut ini tabel hasil pengujian dari ketiga percobaan yang dilakukan.
71
Tabel 5.3 Hasil Uji Coba Ketiga Citra Uji Sampel 1
Sampel 2
Sampel 3
Citra Benar Salah Latih Sampel 1 43 7 Sampel 2 Sampel 3 Sampel 1 46 4 Sampel 2 Sampel 3 Sampel 1 47 3 Sampel 2 Sampel 3 Akurasi rata-rata hasil pengenalan
Jumlah Citra Uji 50
Akurasi
50
92%
50
94%
86%
90.67%
Berdasarkan hasil pengujian pada Tabel 5.1, Tabel 5.2 dan Tabel 5.3, dapat dilihat bahwa semakin banyak sampel pada database, maka akurasi yang diperoleh akan semakin baik. Hal tersebut disebabkan karena semakin banyak sampel yang terdapat di database maka semakin besar kemungkinan kesamaan fitur antara citra uji dan citra latih pada database. Adapun kesalahan yang terjadi pada proses pengenalan disebabkan oleh posisi tangan individu yang selalu berubah saat proses akuisisi. Hal ini karena posisi tangan yang tidak konstan akan merubah sudut pandang kamera terhadap dorsal hand sehingga posisi pembuluh darah, ketebalan pembuluh darah dan ukuran pembuluh darah akan ikut berubah yang mengakibatkan sistem sulit mengenali individu tersebut. Ilustrasi posisi tangan yang berubah saat proses akuisisi citra ditunjukkan pada Gambar 5.36.
Gambar 5.36 Ilustrasi Posisi Tangan yang Berubah Saat Proses Akuisisi Citra
72
Selanjutnya, kesalahan yang terjadi pada proses pengenalan disebabkan oleh proses crop yang beragam. Hal ini karena proses crop akan mempengaruhi proses-proses selanjutnya yaitu preprocessing, ekstraksi fitur sampai pengenalan. Ilustrasi proses crop yang beragam ditunjukkan pada Gambar 5.37.
Gambar 5.37 Ilustrasi Proses Crop yang Beragam
Berdasarkan hasil analisis yang dilakukan, diketahui bahwa hal-hal yang berpengaruh pada sistem pengenalan dorsal hand vein pada penelitian ini yaitu jumlah citra latih pada database, proses akuisisi citra dan preprocessing citra.
BAB VI PENUTUP 6.1
Kesimpulan Berdasarkan analisis hasil pengujian maka dapat disimpulkan bahwa
penerapan metode Local Binary Patterns (LBP) pada sistem pengenalan dorsal hand vein (pembuluh darah pada punggung tangan) memberikan hasil yang baik, dibuktikan dengan hasil akurasi pengenalan yang cukup akurat dan dapat mencapai 90,67%. Hal ini dipengaruhi oleh jumlah citra latih pada database, posisi tangan yang beragam saat proses akuisisi citra dan proses crop citra yang tidak konstan karena sering berubah-ubah posisinya setiap kali melakukan crop citra dan juga alat akuisisi citra yang digunakan masih kurang baik dalam menangkap citra dorsal hand vein sehingga sangat mempengaruhi hasil pengenalan.
6.2
Saran Adapun saran untuk penelitian selanjutnya mengenai Pengenalan Dorsal
Hand Vein Menggunakan Local Binary Patterns (LBP) yaitu: 1. Diperlukan jumlah citra latih yang lebih banyak pada database. 2. Diperlukan proses akuisisi dan proses cropping citra yang lebih baik, dalam hal ini sebaiknya dibuat konstan posisi tangan individunya dan tidak bervariasi. 3. Dalam melakukan akuisisi citra diperlukan alat akuisisi yang baik dalam menangkap citra dorsal hand vein.
73
DAFTAR PUSTAKA
Aguna A., (2013), Biometrika sebagai alternatif pencegah pemalsuan absensi, Yogyakarta, Bindo. Ahonen, T., Hadid, A., & Pietikainen, M. (2006). Face description with local binary patterns: Application to face recognition. IEEE transactions on pattern analysis and machine intelligence, 28(12), 2037-2041. Amat R., (2016), Implementasi metode local binary pattern untuk pengenalan pola huruf hiragana dan katakana pada smartphone berbasis android, Skripsi, Universitas Halu Oleo, Kendari. eWolf Community, (2012), Index Lengkap Syntax, MediaKom: Yogyakarta. Fowler & Martin, (2004), UML distilled (Panduan singkat bahasa pemodelan objek standar), vol.3 Yogyakarta: Andi. Gonzalez, R. F., & Woods, R. E., (2008), Digital image processing third edition, Prentice-Hall, Inc., New Jersey. Gualtieri, Barsanti, P., Coltelli, L., dan Primo (1995). Computer processing of optical microsscpe images. Micron and Microscopia Acta. Vol.16.No.3. pp159-172.Perfarnon Press Ltd. Hsu, C. B., Lee, J. C., Chuang, S. J., & Kuei, P. Y. (2015). Gaussian directional pattern for dorsal hand vein recognition. The Imaging Science Journal, 63(1), 54-62. Keller, J. M., Gray, M. R., & Givens, J. A. (1985). A fuzzy k-nearest neighbor algorithm. IEEE transactions on systems, man, and cybernetics, (4), 580-585. Lee, J. C., Lee, C. H., Hsu, C. B., Kuei, P. Y., & Chang, K. C. (2014). Dorsal hand vein recognition based on 2D Gabor filters. The Imaging Science Journal, 62(3), 127-138.
Nainggolan, P. I. (2012). Aplikasi Mobile Untuk Identifikasi Tumbuhan Obat Menggunakan Local Binary Patterndengan Klasifikasi Probabilistic Neural Network. Nandini, C., Ashwini, C., Aparna, M., Ramani, N., Kini, P., & Sheeba, K. (2012). Biometric authentication by dorsal hand vein pattern. International Journal of Engineering and Technology, 2(15), 837-840. Okada, S. A. (2015). Perbandingan kinerja metode median filter dan midpoint filter untuk mereduksi noise pada Citra Digital. Skripsi, Fakultas Ilmu Komputer. Perona, P., & Malik, J. (1990). Scale-space and edge detection using anisotropic diffusion. IEEE
Transactions
on
pattern
analysis
and
machine
intelligence, 12(7), 629-639. Plasencia, A. (2011). Hospital Scans Patient Hands to Pull Medical Info. NBC New York. Diakses pada 11 April 2017. Pontoh, F. J., (2016). Pengenalan dorsal vein menggunakan fitur tekstur berbasis local line binary pattern. Tesis, Universitas Hasanudin, Makassar. Putra, D. (2010). Pengolahan citra digital. Penerbit Andi. Rahim, Md. A., Md. Hossain N., Wahid T. & Azam, M. S., (2013), Face Recognition using Local Binary Patterns (LBP), Global Journal of Computer Science and Technology Graphics & Vision. Rossan, I., & Khan, M. H. M. (2014). Impact of changing parameters when preprocessing dorsal hand vein pattern. Procedia Computer Science, 32, 513520. Sukamto, R. A., & Shalahuddin, M. (2013). Rekayasa perangkat lunak terstruktur dan berorientasi objek. Bandung: Informatika. Watanabe, M. (2008). Palm vein authentication. In Advances in biometrics (pp. 75-88). Springer London.
LAMPIRAN
Tabel Hasil Uji Coba ke-3 No. Citra Uji Individu ke-1 1. 01_L_001.png Individu ke-1 2. 01_L_002.png Individu ke-1 3. 01_L_003.png Individu ke-2 4. 02_L_001.png Individu ke-2 5. 02_L_002.png Individu ke-2 6. 02_L_003.png Individu ke-3 7. 03_L_001.png Individu ke-3 8. 03_L_002.png Individu ke-3 9. 03_L_003.png 10. Individu ke-4 04_L_001.png 11. Individu ke-4 04_L_002.png 12. Individu ke-4 04_L_003.png 13. Individu ke-5 05_L_001.png 14. Individu ke-5 05_L_002.png 15. Individu ke-5 05_L_003.png 16. Individu ke-6 06_L_001.png 17. Individu ke-6 06_L_002.png 18. Individu ke-6 06_L_003.png 19. Individu ke-7 07_L_001.png 20. Individu ke-7
Hasil Pengenalan Individu ke-1
Keterangan Benar
Individu ke-1
Benar
Individu ke-1
Benar
Individu ke-2
Benar
Individu ke-2
Benar
Individu ke-2
Benar
Individu ke-3
Benar
Individu ke-3
Benar
Individu ke-3
Benar
Individu ke-11
Salah
Individu ke-4
Benar
Individu ke-4
Benar
Individu ke-5
Benar
Individu ke-5
Benar
Individu ke-5
Benar
Individu ke-6
Benar
Individu ke-6
Benar
Individu ke-6
Benar
Individu ke-1
Salah
Individu ke-1
Salah
21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
07_L_002.png Individu ke-7 07_L_003.png Individu ke-8 08_L_001.png Individu ke-8 08_L_002.png Individu ke-8 08_L_003.png Individu ke-9 09_L_001.png Individu ke-9 09_L_002.png Individu ke-9 09_L_003.png Individu ke-10 10_L_001.png Individu ke-10 10_L_002.png Individu ke-10 10_L_003.png Individu ke-11 11_L_001.png Individu ke-11 11_L_002.png Individu ke-11 11_L_003.png Individu ke-12 12_L_001.png Individu ke-12 12_L_002.png Individu ke-12 12_L_003.png Individu ke-13 13_L_001.png Individu ke-13 13_L_002.png Individu ke-13 13_L_003.png Individu ke-14 14_L_001.png Individu ke-14 14_L_002.png Individu ke-14 14_L_003.png
Individu ke-7
Benar
Individu ke-8
Benar
Individu ke-8
Benar
Individu ke-8
Benar
Individu ke-9
Benar
Individu ke-9
Benar
Individu ke-9
Benar
Individu ke-10
Benar
Individu ke-10
Benar
Individu ke-10
Benar
Individu ke-11
Benar
Individu ke-11
Benar
Individu ke-11
Benar
Individu ke-12
Benar
Individu ke-12
Benar
Individu ke-12
Benar
Individu ke-13
Benar
Individu ke-13
Benar
Individu ke-13
Benar
Individu ke-14
Benar
Individu ke-14
Benar
Individu ke-14
Benar
43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65.
Individu ke-15 15_L_001.png Individu ke-15 15_L_002.png Individu ke-15 15_L_003.png Individu ke-16 16_L_001.png Individu ke-16 16_L_002.png Individu ke-16 16_L_003.png Individu ke-17 17_L_001.png Individu ke-17 17_L_002.png Individu ke-17 17_L_003.png Individu ke-18 18_L_001.png Individu ke-18 18_L_002.png Individu ke-18 18_L_003.png Individu ke-19 19_L_001.png Individu ke-19 19_L_002.png Individu ke-19 19_L_003.png Individu ke-20 20_L_001.png Individu ke-20 20_L_002.png Individu ke-20 20_L_003.png Individu ke-21 21_L_001.png Individu ke-21 21_L_002.png Individu ke-21 21_L_003.png Individu ke-22 22_L_001.png Individu ke-22
Individu ke-15
Benar
Individu ke-11
Salah
Individu ke-15
Benar
Individu ke-16
Benar
Individu ke-16
Benar
Individu ke-16
Benar
Individu ke-17
Benar
Individu ke-17
Benar
Individu ke-17
Benar
Individu ke-18
Benar
Individu ke-18
Benar
Individu ke-18
Benar
Individu ke-19
Benar
Individu ke-19
Benar
Individu ke-19
Benar
Individu ke-20
Benar
Individu ke-20
Benar
Individu ke-20
Benar
Individu ke-21
Benar
Individu ke-21
Benar
Individu ke-21
Benar
Individu ke-22
Benar
Individu ke-22
Benar
66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87.
22_L_002.png Individu ke-22 22_L_003.png Individu ke-23 23_L_001.png Individu ke-23 23_L_002.png Individu ke-23 23_L_003.png Individu ke-24 24_L_001.png Individu ke-24 24_L_002.png Individu ke-24 24_L_003.png Individu ke-25 25_L_001.png Individu ke-25 25_L_002.png Individu ke-25 25_L_003.png Individu ke-26 26_L_001.png Individu ke-26 26_L_002.png Individu ke-26 26_L_003.png Individu ke-27 27_L_001.png Individu ke-27 27_L_002.png Individu ke-27 27_L_003.png Individu ke-28 28_L_001.png Individu ke-28 28_L_002.png Individu ke-28 28_L_003.png Individu ke-29 29_L_001.png Individu ke-29 29_L_002.png Individu ke-29 29_L_003.png
Individu ke-22
Benar
Individu ke-20
Salah
Individu ke-23
Benar
Individu ke-23
Benar
Individu ke-24
Benar
Individu ke-24
Benar
Individu ke-24
Benar
Individu ke-25
Benar
Individu ke-25
Benar
Individu ke-25
Benar
Individu ke-26
Benar
Individu ke-26
Benar
Individu ke-26
Benar
Individu ke-27
Benar
Individu ke-27
Benar
Individu ke-11
Salah
Individu ke-28
Benar
Individu ke-28
Benar
Individu ke-11
Salah
Individu ke-29
Benar
Individu ke-39
Salah
Individu ke-29
Benar
88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110.
Individu ke-30 30_L_001.png Individu ke-30 30_L_002.png Individu ke-30 30_L_003.png Individu ke-31 31_L_001.png Individu ke-31 31_L_002.png Individu ke-31 31_L_003.png Individu ke-32 32_L_001.png Individu ke-32 32_L_002.png Individu ke-32 32_L_003.png Individu ke-33 33_L_001.png Individu ke-33 33_L_002.png Individu ke-33 33_L_003.png Individu ke-34 34_L_001.png Individu ke-34 34_L_002.png Individu ke-34 34_L_003.png Individu ke-35 35_L_001.png Individu ke-35 35_L_002.png Individu ke-35 35_L_003.png Individu ke-36 36_L_001.png Individu ke-36 36_L_002.png Individu ke-36 36_L_003.png Individu ke-37 37_L_001.png Individu ke-37
Individu ke-11
Salah
Individu ke-30
Benar
Individu ke-30
Benar
Individu ke-31
Benar
Individu ke-31
Benar
Individu ke-31
Benar
Individu ke-32
Benar
Individu ke-32
Benar
Individu ke-32
Benar
Individu ke-33
Benar
Individu ke-33
Benar
Individu ke-33
Benar
Individu ke-34
Benar
Individu ke-34
Benar
Individu ke-34
Benar
Individu ke-35
Benar
Individu ke-35
Benar
Individu ke-35
Benar
Individu ke-36
Benar
Individu ke-36
Benar
Individu ke-36
Benar
Individu ke-37
Benar
Individu ke-37
Benar
37_L_002.png 111. Individu ke-37 37_L_003.png 112. Individu ke-38 38_L_001.png 113. Individu ke-38 38_L_002.png 114. Individu ke-38 38_L_003.png 115. Individu ke-39 39_L_001.png 116. Individu ke-39 39_L_002.png 117. Individu ke-39 39_L_003.png 118. Individu ke-40 40_L_001.png 119. Individu ke-40 40_L_002.png 120. Individu ke-40 40_L_003.png 121. Individu ke-41 41_L_001.png 122. Individu ke-41 41_L_002.png 123. Individu ke-41 41_L_003.png 124. Individu ke-42 42_L_001.png 125. Individu ke-42 42_L_002.png 126. Individu ke-42 42_L_003.png 127. Individu ke-43 43_L_001.png 128. Individu ke-43 43_L_002.png 129. Individu ke-43 43_L_003.png 130. Individu ke-44 44_L_001.png 131. Individu ke-44 44_L_002.png 132. Individu ke-44 44_L_003.png
Individu ke-37
Benar
Individu ke-45
Salah
Individu ke-45
Salah
Individu ke-45
Salah
Individu ke-39
Benar
Individu ke-39
Benar
Individu ke-39
Benar
Individu ke-20
Salah
Individu ke-40
Benar
Individu ke-40
Benar
Individu ke-45
Salah
Individu ke-41
Benar
Individu ke-41
Benar
Individu ke-42
Benar
Individu ke-42
Benar
Individu ke-42
Benar
Individu ke-43
Benar
Individu ke-43
Benar
Individu ke-43
Benar
Individu ke-44
Benar
Individu ke-44
Benar
Individu ke-44
Benar
133. Individu ke-45 45_L_001.png 134. Individu ke-45 45_L_002.png 135. Individu ke-45 45_L_003.png 136. Individu ke-46 46_L_001.png 137. Individu ke-46 46_L_002.png 138. Individu ke-46 46_L_003.png 139. Individu ke-47 47_L_001.png 140. Individu ke-47 47_L_002.png 141. Individu ke-47 47_L_003.png 142. Individu ke-48 48_L_001.png 143. Individu ke-48 48_L_002.png 144. Individu ke-48 48_L_003.png 145. Individu ke-49 49_L_001.png 146. Individu ke-49 49_L_002.png 147. Individu ke-49 49_L_003.png 148. Individu ke-50 50_L_001.png 149. Individu ke-50 50_L_002.png 150. Individu ke-50 50_L_003.png
Individu ke-45
Benar
Individu ke-45
Benar
Individu ke-45
Benar
Individu ke-46
Benar
Individu ke-46
Benar
Individu ke-46
Benar
Individu ke-47
Benar
Individu ke-47
Benar
Individu ke-47
Benar
Individu ke-48
Benar
Individu ke-48
Benar
Individu ke-48
Benar
Individu ke-49
Benar
Individu ke-49
Benar
Individu ke-49
Benar
Individu ke-50
Benar
Individu ke-50
Benar
Individu ke-50
Benar