Pengenalan Garis Telapak Tangan Menggunakan Ekstraksi Fitur Operasi Blok Non-Overlapping Dan Pencocokan Jarak Euclidean Ternormalisasi

(1)

09PENGENALAN GARIS TELAPAK TANGAN DENGAN MENGGUNAKAN

EKSTRAKSI FITUR OPERASI BLOK NON-OVERLAPPING DAN

PENCOCOKAN NORMALIZED EUCLIDEAN DISTANCE

SKRIPSI

FUJI FRILLA KURNIA

091402041

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014

PENGENALAN GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI

FITUR OPERASI BLOK

NON-OVERLAPPING

DAN PENCOCOKAN


(2)

PENGENALAN GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI

FITUR OPERASI BLOK

NON-OVERLAPPING

DAN PENCOCOKAN

JARAK

EUCLIDEAN

TERNORMALISASI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Teknologi Informasi

FUJI FRILLA KURNIA

091402041

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(3)

PERSETUJUAN

Judul : PENGENALAN GARIS TELAPAK TANGAN

MENGGUNAKAN EKSTRAKSI FITUR OPERASI

BLOK NON-OVERLAPPING DAN PENCOCOKAN

JARAK EUCLIDEAN TERNORMALISASI

Kategori : SKRIPSI

Nama : FUJI FRILLA KURNIA

Nomor Induk Mahasiswa : 091402041

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA Diluluskan di

Medan, 30 April 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan, M.IT NIP. -

Romi Fadillah Rahmat, B.Comp.Sc, M.Sc NIP. 19860303 201012 1 004

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

Prof. Dr. Opim Salim Sitompul, M.Sc NIP. 19610817 198701 1 001


(4)

PERNYATAAN

PENGENALAN GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI

FITUR OPERASI BLOK NON-OVERLAPPING DAN PENCOCOKAN

JARAK EUCLIDEAN TERNORMALISASI

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 30 April 2014

Fuji Frilla Kurnia 091402041


(5)

PENGHARGAAN

Puji dan syukur penulis sampaikan kepada Allah SWT yang telah memberikan rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Banyak pihak telah membantu penulis dalam penyelesaian skripsi ini dengan kerjasama, dukungan dan doa yang telah diberikan. Oleh karena itu penulis menyampaikan ucapan terima kasih sedalam-dalamnya dan penghargaan kepada: 1. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi

Universitas Sumatera Utara.

2. Ketua dan Sekretaris Program Studi Teknologi Informasi yaitu Bapak Prof. Dr. Opim Salim Sitompul, M.Sc dan Bapak Drs. Sawaluddin, M.Sc yang telah memberikan dukungan, arahan dan bantuan dalam penyelesaian skripsi.

3. Bapak Romi Fadillah Rahmat, B.Comp.Sc, M.Sc dan Ibu Dr. Erna Budhiarti Nababan, M.IT sebagai pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis dalam penyelesaian skripsi.

4. Bapak Muhammad Anggia Muchtar, S.T, MM.IT dan Bapak Baihaqi Siregar, S.Si, M.T yang telah bersedia menguji seminar hasil dan sidang sarjana penulis. 5. Seluruh dosen dan pegawai Program Studi Teknologi Informasi dan Ilmu

Komputer Universitas Sumatera Utara yang telah mengajarkan dan memberikan dukungan serta bantuannya dalam penyelesaian skripsi.

6. Kedua orangtua penulis, ibunda Muzdalifah dan ayahanda Sudarsono yang selalu memberi doa, dukungan dan motivasi untuk menyelesaikan skripsi ini serta selalu sabar dalam mendidik penulis.

7. Kakak Yuni, abang Yaya, adik Ivany, Winda dan Wanda serta yang terkasih Bobby Susilo yang selalu memberikan dukungan dan doa kepada penulis.

8. Teman-teman yang selalu memberikan dukungan, seluruh teman-teman TA, Bagus, Rozy, Yayuk, Rian, Anggreiny, Irwan, Desi, Upik, Adnan B, Frans, Arif, Ari, Mulki, Satria, April, Irene, Robet, Aang, Septi, Syarah, Whydia, Yuli, Tiwi serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu.

Semoga semua kebaikan dan bantuan yang telah diberikan dibalas oleh Allah SWT dan semoga skripsi ini dapat bermanfaat bagi semua pihak yang menggunakannya.


(6)

ABSTRAK

Pengenalan garis telapak tangan merupakan pengenalan identitas seseorang melalui salah satu bagian tubuh yang memiliki karakteristik tertentu. Garis telapak tangan memiliki karakteristik dengan bentuk garis telapak tangan yang berbeda pada setiap orang. Pada penelitian ini, metode ekstraksi fitur operasi blok non-overlapping digunakan pada pengenalan citra garis telapak tangan. Metode ini membagi data sampel menjadi LxK blok dan menghitung nilai fitur dari setiap blok tersebut. Pada penelitian ini data sampel dibagi menjadi 10x10 blok (10 baris dan 10 kolom), yaitu 100 blok dengan ukuran masing-masing blok adalah 20x20 piksel. Metode operasi blok non-overlapping menghitung rata-rata dari setiap blok dengan menghitung piksel aktif (putih) setiap blok dan melakukan pembagian terhadap jumlah keseluruhan piksel di dalam satu blok. Sehingga didapat hasil fitur dari sebuah citra berjumlah 100 nilai fitur. Nilai fitur tersebut menjadi acuan untuk pencocokan menggunakan jarak

Euclidean ternormalisasi. Jarak Euclidean ternormalisasi merupakan pengukuran tingkat kesamaan antara dua vektor. Total data sampel berjumlah 240 dengan 160 data digunakan untuk pelatihan dan 80 data sampel berbeda digunakan untuk proses pengujian tingkat pencocokan. Dari 80 citra uji, 48 citra tidak memiliki noise

didapatkan hasil pengenalan yang benar sebesar 97,92% dan 32 citra uji lain memiliki

noise dengan hasil pengenalan yang benar 75%. Sedangkan pengujian yang dilakukan secara keseluruhan didapatkan tingkat pencocokan menggunakan metode ekstraksi fitur ini adalah 88,75%.

Kata kunci : garis telapak tangan, ekstraksi fitur,operasi blok non-overlapping, jarak


(7)

PALMPRINT RECOGNITION USING NON-OVERLAPPING BLOCK PROCESSING FEATURE EXTRACTION AND MATCHING USING

NORMALIZED EUCLIDEAN DISTANCE

ABSTRACT

Palmprint line recognition is the one of a kind to recognize person through with one of the characteristic from the human body. The palmprint lines have the characteristic that the shape of the palmprint lines are different for each other. In this paper, non-overlapping block processing feature extraction method is used to palmprint recognition. The method divide sampel to LxK grid blocks and compute feature vector from each block. In this paper, sample is divided into 10x10 grid blocks, total 100 blocks from each block is 20x20 pixels. Block processing method compute the average of every active (white) pixel from each block and divide value with the sum of pixels in each block. The total feature vector is 100 features obtained from average active pixel. These feature used as referenced to matching process. Normalized Euclidean distance is the measure of similarity by the two vectors. The total data samples are 240 which 160 samples used for training and another samples are used for matching rate testing. After testing phase done, according to 80 of the data test, the result of 48 data test recognition which have no noise is 97.92% and the result of 32 data test recognition which have noise is 75%. After testing phase done, the overall matching rate using the feature extraction is 88.75%.

Keywords : palmprint, feature extraction, non-overlapping block processing, normalized Euclidean distance


(8)

DAFTAR ISI

Halaman

PERSETUJUAN ii

PERNYATAAN iii

PENGHARGAAN iv

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL ix

DAFTAR GAMBAR x

BAB 1 PENDAHULUAN 1

1.1. Latar Belakang 1

1.2. Rumusan Masalah 2

1.3. Batasan Masalah 3

1.4. Tujuan Penelitian 3

1.5. Manfaat Penelitian 3

1.6. Metodologi Penelitian 3

1.7. Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1. Garis Telapak Tangan 6

2.2. Konsep Dasar Citra 6

2.3. Pra-pengolahan Citra 7

2.3.1. Pembentukan citra keabuan 7

2.3.2. Deteksi tepi : operator Canny 8

2.3.3. Binerisasi citra 11

2.4. Konsep Fitur 12

2.5. Ekstraksi Fitur Operasi Blok Non-Overlapping 12

2.6. Metrika Pencocokan dengan Jarak Euclidean Ternormalisasi 13

2.7. Penelitian Terdahulu 14

BAB 3 ANALISIS DAN PERANCANGAN 15

3.1. Data yang Digunakan 15

3.2. Tahapan Pengenalan Garis Telapak Tangan 16

3.3. Akuisisi Citra 17

3.4. Pra-pengolahan Citra 18

3.4.1. Pembentukan citra keabuan 18

3.4.2. Deteksi tepi citra 19

3.4.3. Binerisasi citra 20


(9)

3.7. Tahap Pengujian 25

3.8. Pencocokan dengan Jarak Euclidean Ternormalisasi 26

BAB 4 HASIL DAN PEMBAHASAN 28

4.1. Implementasi 28

4.2. Tampilan Implementasi Sistem 30

4.3. Hasil Pelatihan Citra Latih dengan Ekstraksi Fitur Operasi Blok

Non-Overlapping 36

4.4. Hasil Pencocokan Citra Uji dengan Database 38

BAB 5 KESIMPULAN DAN SARAN 43

5.1. Kesimpulan 43

5.2. Saran 43

DAFTAR PUSTAKA 44

LAMPIRAN A : DATA SAMPEL 46


(10)

DAFTAR TABEL

Halaman

Tabel 2.1 Tabel penelitian terdahulu 14

Tabel 4.1 Method yang digunakan dalam program 29

Tabel 4.2 Hasil pelatihan ekstraksi fitur citra 36

Tabel 4.3 Hasil pencocokan citra uji dengan database 38

Tabel 4.4 Hasil keseluruhan pengujian tingkat pengenalan 41


(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Contoh matriks template dari filter Gaussian 9

Gambar 2.2 Matriks konvolusi 3x3 Operator Sobel 9

Gambar 2.3 Matriks citra berukuran 5x5 piksel 10

Gambar 2.4 Area untuk mengonversi arah tepi 10

Gambar 2.5 Contoh matriks vektor fitur rata-rata dengan ukuran 10x10 blok 12

Gambar 3.1 Tahapan pengenalan garis telapak tangan 15

Gambar 3.2 Contoh citra telapak tangan kiri resolusi 2052 x 1824 piksel 15 Gambar 3.3 Contoh cropping (pemotongan) citra berukuran 600x600 piksel 16 Gambar 3.4 Citra 600x600 piksel di resize menjadi 200x200 piksel 16

Gambar 3.5 Tahapan pra-pengolahan citra 16

Gambar 3.6 Diagram alir proses grayscaling 17

Gambar 3.7 Citra hasil grayscaling 18

Gambar 3.8 Diagram alir proses deteksi tepi 18

Gambar 3.9 Citra hasil deteksi tepi 19

Gambar 3.10 Diagram alir pembentukan citra biner 19

Gambar 3.11 Citra hasil binerisasi 20

Gambar 3.12 Matriks penyimpanan nilai fitur 20

Gambar 3.13 Pembagian blok menjadi 10 kolom dan 10 baris 21

Gambar 3.14 Diagram alir proses ekstraksi fitur operasi blok non-overlapping 21 Gambar 3.15 Diagram alir ekstraksi fitur operasi blok non-overlapping 22

Gambar 3.16 Contoh hasil fitur citra 23

Gambar 3.17 Diagram alir proses menghitung jarak Euclidean ternormalisasi 25

Gambar 4.1 Tampilan awal program 28

Gambar 4.2 Tampilan registrasi user 29

Gambar 4.3 Tampilan pengolahan citra sebelum citra dipilih 29

Gambar 4.4 Tampilan citra berwarna (RGB) 30

Gambar 4.5 Tampilan pembentukan citra grayscale 30

Gambar 4.6 Tampilan pembentukan citra deteksi tepi 31

Gambar 4.7 Tampilan pembentukan citra biner 31

Gambar 4.8 Tampilan hasil fitur citra uji 32

Gambar 4.9 Tampilan pengujian citra sebelum data diisi 32

Gambar 4.10 Tampilan pengujian citra 33

Gambar 4.11 Tampilan form“Tentang Saya” 33


(12)

ABSTRAK

Pengenalan garis telapak tangan merupakan pengenalan identitas seseorang melalui salah satu bagian tubuh yang memiliki karakteristik tertentu. Garis telapak tangan memiliki karakteristik dengan bentuk garis telapak tangan yang berbeda pada setiap orang. Pada penelitian ini, metode ekstraksi fitur operasi blok non-overlapping digunakan pada pengenalan citra garis telapak tangan. Metode ini membagi data sampel menjadi LxK blok dan menghitung nilai fitur dari setiap blok tersebut. Pada penelitian ini data sampel dibagi menjadi 10x10 blok (10 baris dan 10 kolom), yaitu 100 blok dengan ukuran masing-masing blok adalah 20x20 piksel. Metode operasi blok non-overlapping menghitung rata-rata dari setiap blok dengan menghitung piksel aktif (putih) setiap blok dan melakukan pembagian terhadap jumlah keseluruhan piksel di dalam satu blok. Sehingga didapat hasil fitur dari sebuah citra berjumlah 100 nilai fitur. Nilai fitur tersebut menjadi acuan untuk pencocokan menggunakan jarak

Euclidean ternormalisasi. Jarak Euclidean ternormalisasi merupakan pengukuran tingkat kesamaan antara dua vektor. Total data sampel berjumlah 240 dengan 160 data digunakan untuk pelatihan dan 80 data sampel berbeda digunakan untuk proses pengujian tingkat pencocokan. Dari 80 citra uji, 48 citra tidak memiliki noise

didapatkan hasil pengenalan yang benar sebesar 97,92% dan 32 citra uji lain memiliki

noise dengan hasil pengenalan yang benar 75%. Sedangkan pengujian yang dilakukan secara keseluruhan didapatkan tingkat pencocokan menggunakan metode ekstraksi fitur ini adalah 88,75%.

Kata kunci : garis telapak tangan, ekstraksi fitur,operasi blok non-overlapping, jarak


(13)

PALMPRINT RECOGNITION USING NON-OVERLAPPING BLOCK PROCESSING FEATURE EXTRACTION AND MATCHING USING

NORMALIZED EUCLIDEAN DISTANCE

ABSTRACT

Palmprint line recognition is the one of a kind to recognize person through with one of the characteristic from the human body. The palmprint lines have the characteristic that the shape of the palmprint lines are different for each other. In this paper, non-overlapping block processing feature extraction method is used to palmprint recognition. The method divide sampel to LxK grid blocks and compute feature vector from each block. In this paper, sample is divided into 10x10 grid blocks, total 100 blocks from each block is 20x20 pixels. Block processing method compute the average of every active (white) pixel from each block and divide value with the sum of pixels in each block. The total feature vector is 100 features obtained from average active pixel. These feature used as referenced to matching process. Normalized Euclidean distance is the measure of similarity by the two vectors. The total data samples are 240 which 160 samples used for training and another samples are used for matching rate testing. After testing phase done, according to 80 of the data test, the result of 48 data test recognition which have no noise is 97.92% and the result of 32 data test recognition which have noise is 75%. After testing phase done, the overall matching rate using the feature extraction is 88.75%.

Keywords : palmprint, feature extraction, non-overlapping block processing, normalized Euclidean distance


(14)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Dewasa ini pengolahan citra digital telah mengalami perkembangan pesat dengan semakin banyak penelitian tentang pengenalan objek dari sebuah citra. Pengenalan suatu objek dari citra berupa pengenalan karakter ataupun pola. Pengenalan citra dari salah satu bagian tubuh bersifat khas dimiliki seseorang menjadi topik penelitian yang sedang berkembang. Pengenalan salah satu bagian tubuh bersifat khas dari manusia yang dapat dilakukan adalah pengenalan sidik jari, pengenalan citra wajah, pengenalan garis telapak tangan, pengenalan tulisan tangan, pengenalan tanda tangan, iris, dll (Mughni, et al. 2011). Pengenalan tersebut dilakukan untuk mencari identitas seseorang berdasarkan apa yang dimiliki seseorang.

Salah satu bagian tubuh manusia yang memiliki ciri khas adalah garis telapak tangan (Ong, et al. 2003). Garis telapak tangan memiliki sifat khas karena bentuk garis telapak tangan yang berbeda-beda pada tiap manusia sehingga setiap garis telapak tangan seseorang mewakili satu identitas seseorang. Sebuah fitur citra garis telapak tangan mewakili identitas seseorang sehingga fitur tersebut menjadi suatu yang khas dari seseorang. Fitur citra garis telapak tangan memiliki nilai yang dapat dijadikan acuan untuk membandingkan antara satu citra dengan citra garis telapak tangan lainnya.

Garis telapak tangan dapat dikenali melalui pengenalan citra garis telapak tangan dengan beberapa tahapan-tahapan proses pengenalan. Tahapan dari pengenalan citra adalah pra-pengolahan citra, ekstraksi fitur citra (Falasev, et al. 2011) dan pencocokan citra uji dengan citra latih. Tahapan pra-pengolahan citra digunakan untuk


(15)

mempersiapkan citra yang lebih baik lagi dari citra aslinya. Pemilihan metode ekstraksi fitur yang baik merupakan salah satu faktor penting untuk mencapai tingkat pengenalan yang tinggi (Jain & Taxt 1996). Ekstraksi fitur citra digunakan untuk menghasilkan fitur citra yang akan digunakan sebagai masukan untuk tahapan pencocokan. Tahapan pencocokan adalah tahapan dimana fitur dari sebuah citra uji diukur tingkat kecocokan dengan fitur-fitur citra yang disimpan dalam database.

Pada penelitian ini metode ekstraksi fitur operasi blok non-overlapping

digunakan untuk mendapatkan nilai fitur sebuah citra garis telapak tangan. Nilai fitur tersebut digunakan sebagai parameter dalam pengukuran tingkat kesamaan antara vektor uji dan latih. Setiap data sampel yang telah melalui proses pra-pengolahan citra akan dilakukan ekstraksi fitur. Ekstraksi fitur dilakukan menggunakan metode operasi blok. Hasil ekstraksi dari metode tersebut akan digunakan untuk mendapatkan nilai fitur untuk proses pencocokan. Metode pencocokan jarak Euclidean ternormalisasi digunakan untuk mengukur tingkat kecocokan kesamaan dua vektor (uji dan latih).

Penelitian sebelumnya yang telah dilakukan dalam mengekstraksi fitur dan pencocokan sebuah citra garis telapak tangan dapat dilakukan dengan metode ekstraksi fitur operasi blok overlapping dan pencocokan dengan Euclidean distance

(Mughni, et al. 2011), dimana metode tersebut menghasilkan tingkat kecocokan sebesar 100% dengan menggunakan 90 citra sampel dari 30 orang responden dan menghasilkan blok 15x15. Putra (2007) menggunakan metode ekstraksi fitur operasi blok secara non-overlapping menghasilkan tingkat pencocokan 97% menggunakan metrika korelasi ternormalisasi dimana data yang digunakan adalah 1000 citra dari 200 orang responden dan menghasilkan 64 buah fitur setiap citra.

Penggunaan metode ekstraksi fitur citra dengan operasi blok dan pencocokan dengan jarak Euclidean ternormalisasi diharapkan dapat menambah nilai akurasi tingkat kecocokan dan memberi informasi identitas pemilikcitra garis telapak tangan yang paling mendekati kemiripan.

1.2. Rumusan Masalah

Untuk mendapatkan informasi identitas pemilik citra telapak tangan maka dibutuhkan pendekatan untuk menyelesaikan permasalahan pengenalan identitas seseorang melalui citra garis utama telapak tangan.


(16)

1.3. Batasan Masalah

Adapun batasan masalah dalam penelitian ini yaitu: 1. Akuisisi citra telapak tangan tidak mengalami rotasi. 2. Tidak mempertimbangkan pencahayaan.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah menerapkan metode ekstraksi fitur operasi blok non-overlapping dan metode pencocokan dengan jarak Euclidean ternormalisasi dalam mengenali identitas seseorang melalui garis utama telapak tangan.

1.5. Manfaat Penelitian

Penulis berharap penelitian ini dapat memberikan manfaat kepada penulis sendiri dan para pembaca. Adapun manfaat dari penelitian ini adalah sebagai berikut:

1. Penelitian dapat dikembangkan dalam membuat sistem pengenalan identitas seseorang melalui garis utama telapak tangan.

2. Menambah pengetahuan baru tentang ekstraksi fitur operasi blok non-overlapping

dalam menghasilkan ciri garis suatu citra telapak tangan dan metode jarak

Euclidean ternormalisasi sebagai salah satu pencocokan garis telapak tangan. 3. Penelitian dapat menjadi bahan rujukan untuk pengembangan penelitian lebih

lanjut.

1.6. Metodologi Penelitian

Metode penelitian yang akan digunakan dalam penelitian ini adalah: 1. Studi Literatur

Pada tahap ini, peneliti mencari metode pengajaran yang berbeda dari sebelumnya. Mempelajari kembali apa yang kurang dipahami dengan referensi-referensi, buku-


(17)

buku ataupun via internet dan dengan orang yang memahami secara benar pembelajaran tentang metode ekstraksi fitur dan pencocokan kesamaan dua vektor. 2. Desain Sistem

Pada tahap ini peneliti membuat diagram alir data dari setiap proses yang dilakukan dalam penelitian ini.

3. Pembuatan Sistem

Pada tahap ini, peneliti mulai mengodekan sistem akan dibuat dengan bahasa pemrograman Java.

4. Pengujian Sistem

Pada tahap ini dilakukan pengujian terhadap aplikasi apakah telah memenuhi kriteria atau tidak.

5. Dokumentasi

Pada tahap ini akan dilakukan penyusunan laporan mengenai aplikasi yang telah dibangun dengan tujuan menunjukkan hasil dari penelitian yang telah dilakukan.

1.7. Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut: Bab 1 Pendahuluan

Pada bab pendahuluan berisi tentang hal-hal yang mendasari dilakukannya penelitian serta mengidentifikasi masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini terdiri atas latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab 2 Tinjauan Pustaka

Pada bab tinjauan pustaka berisi landasan teori, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini. Bab 3 Metodologi

Pada bab metodologi berisi metodologi penelitian yang dilakukan dalam menerapkan metode ekstraksi fitur operasi blok non-overlapping dan jarak

Euclidean ternormalisasisebagai salah satu pengukuran tingkat kesamaan dua vektor untuk pencocokan garis telapak tangan.


(18)

Bab 4 Hasil dan Pembahasan

Pada bab hasil dan pembahasan berisi penjelasan hasil dari pengujian metode ekstraksi fitur operasi blok non-overlapping dan pengukuran pencocokan dengan jarak Euclidean ternormalisasi yang telah dilakukan dalam menyelesaikan permasalahan pengenalan identitas seseorang melalui garis telapak tangan.

Bab 5 Kesimpulan dan Saran

Pada bab kesimpulan dan saran berisi kesimpulan dari hasil penelitian dan saran-saran yang berkaitan dengan penelitian yang dapat dikembangkan selanjutnya.


(19)

BAB 2

LANDASAN TEORI

2.1. Garis Telapak Tangan

Menurut Putra (2009), garis telapak tangan merupakan salah satu bagian tubuh seseorang yang memiliki karakteristik tersendiri. Hal ini disebabkan setiap manusia memiliki garis telapak tangan unik yang sekilas terdapat kemiripan tetapi jika dilihat lebih dekat terdapat perbedaan.

Garis telapak tangan memiliki kelebihan dibandingkan dengan bagian-bagian tubuh manusia yang khas lainnya. Kelebihan yang dimiliki seperti citra telapak tangan memiliki area lebih luas daripada sidik jari, bersifat stabil karena perubahan yang dialami sangat kecil dalam kurun waktu lama, citra telapak tangan dapat diperoleh dengan kamera beresolusi rendah misal menggunakan webcam (Ikonen, 2003).

2.2. Konsep Dasar Citra

Citra (image) adalah dimensi spasial atau bidang yang berisi informasi warna yang tidak bergantung waktu (Sutarno, 2010). Citra adalah sebuah representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra juga sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti pada gambar monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Sutoyo, et al. 2009).


(20)

Citra digital adalah representasi visual dari suatu objek setelah mengalami berbagai transformasi data dari berbagai bentuk rangkaian numerik. Citra digital dapat dibagi menjadi beberapa jenis (Purnomo & Muntasa 2010):

1. Citra Keabuan (grayscale image)

Citra keabuan adalah citra yang setiap pikselnya memiliki nilai intensitas berada pada jangkauan 0 – 255. Jumlah warna pada citra keabuan adalah 256. Hal ini disebabkan oleh jumlah maksimum intensitas citra keabuan sebesar 8 bit sehingga jumlah warnanya adalah 28 = 256.

2. Citra Biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai tingkat keabuan yaitu hitam dan putih. Piksel-piksel objek bernilai satu dan piksel-piksel latar belakang bernilai nol. Pada waktu menampilkan citra, satu adalah warna putih dan nol adalah warna hitam.

3. Citra Berwarna

Citra warna adalah citra digital yang memiliki informasi warna pada setiap pikselnya. Sistem pewarnaan citra warna ada beberapa macam seperti RGB, CMYK, HSV, dll.

2.3. Pra-pengolahan Citra

Pra–pengolahan citra adalah proses yang dilakukan untuk mempersiapkan citra agar dapat menghasilkan fitur yang lebih baik pada tahap ekstraksi fitur (Hermawati, 2013). Citra diolah dengan cara memanipulasi parameter-parameter citra sehingga menghasilkan bentuk yang lebih cocok terhadap nilai-nilai piksel tersebut untuk proses yang akan dilakukan selanjutnya (Sutoyo, 2009).

2.3.1. Pembentukan citra keabuan

Citra keabuan adalah citra yang memiliki rentang nilai intensitas setiap piksel adalah 256 nilai intensitas warna (Sutoyo, 2009). Purnomo & Muntasa (2010) menjelaskan bahwa untuk membentuk citra keabuan digunakan persamaan (2.1):


(21)

dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan mengatur warna R (merah), G (hijau), B (biru) yang ditunjukkan oleh nilai parameter α, dan . Secara umum nilai α, dan adalah 0.γγ. Nilai yang lain juga dapat diberikan untuk ketiga parameter tersbut dengan total keseluruhan intensitas adalah 1 (satu).

2.3.2. Deteksi tepi : operator Canny

Deteksi tepi merupakan salah satu operasi dasar dari pemrosesan citra. Deteksi tepi berfungsi untuk mengidentifikasi garis batas dari suatu objek yang terdapat pada citra (Kadir & Susanto 2013).

Tepi merupakan batas dari suatu objek dan daerah yang memiliki intensitas cahaya (kontras) yang kuat. Hal ini merupakan indikasi untuk menuju proses pembacaan piksel selanjutnya. Mendeteksi tepi suatu citra signifikan akan mengurangi jumlah data dan menyaring informasi yang tidak berguna dengan tidak menghilangkan struktur penting dari citra tersebut (Putra, 2009). Metode deteksi tepi yang dapat digunakan antara lain metode dengan operator Canny, Sobel, Roberts, Log, Prewitt, dan Zerocross. Pada penelitian ini, penulis mengambil metode deteksi tepi Canny karena memiliki tingkat kesalahan rendah dan hanya memberikan satu tanggapan untuk satu tepi (Kadir & Susanto 2013).

Terdapat enam langkah dalam mendeteksi tepi menggunakan operator Canny (Green, 2002). Keenam langkah tersebut dijabarkan berikut ini:

1. Penerapan filter Gaussian untuk mengurangi noise

Filter Gaussian dapat digunakan untuk mengurangi noise pada citra sebelum melokasikan dan mendeteksi tepi. Filter ini digunakan untuk menurunkan pengaruh tekstur pada citra sehingga diperoleh hasil deteksi yang lebih baik. Filter Gaussian digunakan pada deteksi tepi Canny dalam bentuk matriks template yang merupakan weight (bobot) dalam perhitungan nilai rata-rata suatu kelompok piksel pada citra input yang diantaranya berukuran 3x3. Contoh filter Gaussian yang dapat digunakan seperti diberikan pada gambar 2.1.


(22)

0.37 0.61 0.37 0.61 1 0.61 0.37 0.61 0.37

Gambar 2.1 Contoh matriks template dari filter Gaussian (Putra, 2009) Filter tersebut dapat digunakan pada proses pemfilteran noise pada citra dengan cara menghaluskan citra untuk menghilangkan noise (Putra, 2008). Nilai matriks

template pada gambar 2.1 diperoleh dari persamaan (2.2):

(2.2)

Dimana x dan y merupakan koordinat dari matriks, dan radius ( ) adalah sigma standar deviasi dalam statistik sebesar 1,01 sehingga didapat hasil matriks

template seperti pada gambar 2.1. Sebagai contoh dengan koordinat pusat (0.0) jika dihitung dengan persamaan (2.2) didapat nilai matriks = 1.

2. Mencari nilai tepi

Mencari nilai tepi dengan menghitung gradien citra tersebut. Gradien adalah Hal ini dilakukan dengan menggunakan operator Sobel. Operator Sobel memperlihatkan banyaknya gradien spasial dua dimensi dalam sebuah citra. Lalu nilai mutlak sudut gradien (nilai tepi) pada masing-masing titik dapat ditemukan. Operator Sobel menggunakan sepasang matriks konvolusi 3x3 di mana salah satunya memprediksi nilai gradien untuk arah x (kolom) dan yang lainnya memprediksi nilai gradien arah y (baris). Matriks konvolusi pada operator Sobel dapat dilihat pada gambar 2.2.

-1 0 1 1 2 1

-2 0 2 0 0 0

-1 0 1 -1 -2 -1

Gx Gy

Gambar 2.2 Matriks konvolusi 3x3 Operator Sobel (Putra, 2008) Gradien tepi dapat dihitung dengan persamaan (2.3):

|G| = |Gx|+|Gy| (2.3)

dimana |G| adalah gradien citra, |Gx| adalah gradien pada arah x dan |Gy| adalah gradien pada arah y.


(23)

3. Mencari arah tepi

Mencari arah tepi atau arah gradien ( ) dilakukan setelah nilai gradien x dan y

diketahui. Saat gradien pada arah x = 0, arah tepi harus 90o atau 0o, tergantung nilai gradien arah y yang didefinisikan. Hal ini ditunjukkan dengan persamaan (2.4):

(2.4)

dimana adalah arah gradien, Gy adalah nilai gradien arah y dan Gx adalah nilai gradien arah x.

4. Menghubungkan arah tepi

Langkah selanjutnya adalah menghubungkan arah tepi ke arah yang dapat ditelusuri sesuai dengan citra aslinya. Contoh matriks citra berukuran 5x5 piksel dapat dilihat pada gambar 2.3.

x x x x x

x x x x x

x x a x x

x x x x x

x x x x x

Gambar 2.3 Matriks citra berukuran 5x5 piksel (Kadir dan Susanto 2013) Setelah tepi diperoleh, perlu menghubungkan antara tepi dengan sebuah arah yang dapat dilacak dari citra. Berdasarkan piksel a yang terdapat pada gambar 2.3, tampak bahwa piksel a dikelilingi empat arah berupa 0o arah horizontal, 45o arah positif diagonal, 90o arah vertikal, dan 135o arah negatif diagonal. Tepi harus berorientasi keempat arah tersebut tergantung arah mana yang paling mendekati. Sebagai contoh jika orientasi sudutnya adalah 3o, maka arah tepi menjadi 0o. Arah tepi ditunjukkan pada gambar 2.4.

Gambar 2.4 Area untuk mengonversi arah tepi ke dalam kategori salah satu dari arah 0o, 45o, 90o, 135o (Kadir dan Susanto 2013)


(24)

Dari gambar 2.4 didapat empat arah tepi sebagai berikut:

- Semua arah tepi yang berkisar antara 0o-22,5o serta 157,5o-180o (warna biru) diubah menjadi 0o.

- Semua arah tepi yang berkisar antara 22,5o-67,5o (warna kuning) diubah menjadi 45o.

- Semua arah tepi yang berkisar antara 67,5o-112,5o (warna hijau) diubah menjadi 90o.

- Semua arah tepi yang berkisar antara 112,5o-157,5o (warna merah) diubah menjadi 135o.

5. Proses non-maximum suppression

Proses ini merupakan penelusuran terhadap tepi yang ada di dalam arah tepi dan meredam nilai piksel manapun (dijadikan nol) yang tidak dianggap layak untuk menjadi sebuah tepi. Ini akan menampilkan garis tipis pada output citra.

6. Proses hysteresis

Proses ini menghilangkan garis-garis yang seperti terputus-putus pada tepi objek. Caranya adalah dengan menggunakan dua ambang T1 dan T2. Selanjutnya semua piksel citra yang bernilai lebih besar daripada T1 dianggap sebagai piksel tepi. Selain itu, semua piksel yang terhubung dengan piksel tersebut dan memiliki nilai lebih besar dari T2 juga dianggap sebuah piksel tepi (Kadir dan Susanto 2013).

2.3.3. Binerisasi citra

Untuk mengubah sebuah citra menjadi citra biner, proses yang dilakukan adalah mengubah nilai intensitas citra dengan cara pengambangan secara global (global image thresholding). Pengambangan secara global adalah pemberian satu nilai ambang batas yang digunakan untuk keseluruhan piksel. Setiap piksel di dalam citra dipetakan ke dalam dua nilai yaitu 0 atau 1. Dengan fungsi pengambangan pada persamaan (2.5):


(25)

2.4. Konsep Fitur

Fitur atau ciri adalah semua hasil pengukuran yang bisa diperoleh dengan menggambarkan karakteristik objek yang dipantau (Putra, 2009). Contoh dari fitur level rendah adalah intensitas sinyal. Fitur dapat berupa simbol, numerik atau keduanya. Contoh dari fitur simbol adalah warna sedangkan contoh dari fitur numerik adalah berat atau nilai bobot.

Fitur yang baik memiliki syarat berikut, yaitu mudah dalam komputasi, memiliki tingkat keberhasilan yang tinggi dan besarnya data dapat diperkecil tanpa menghilangkan informasi penting (Putra, 2007).

2.5. Ekstraksi Fitur Operasi Blok Non-Overlapping

Ekstraksi fitur adalah proses pengukuran terhadap data yang telah diproses sebelumnya dengan tujuan untuk mendapatkan sebuah nilai fitur. Nilai fitur digunakan oleh pengklasifikasi sebagai masukan untuk acuan membandingkan tingkat kesamaan dua vektor dan memudahkan pengklasifikasian karena nilai ini mudah untuk dibedakan (Pradeep et. al, 2011).

Ekstraksi fitur operasi blok adalah pengambilan ciri fitur suatu citra NxM berdasarkan pembagian blok LxK dimana ukuran blok LxK lebih kecil daripada ukuran sebuah citra. Ekstraksi fitur berdasarkan operasi blok dilakukan setelah pemrosesan citra sebelumnya, misalnya pra-pengolahan dengan deteksi tepi. Citra yang telah mengalami pra-pengolahan dibagi ke dalam blok-blok (Mughni, et al. 2011).

Ekstraksi fitur operasi blok non-overlapping merupakan operasi pembagian blok dengan tidak tumpang tindih antara piksel suatu blok dengan blok yang lain. Hasil ekstraksi fitur atau vektor fitur operasi blok ini dapat dibentuk dengan nilai rata-rata dari setiap blok. Rata-rata-rata setiap blok dapat dihitung dengan persamaan (2.6):

(2.6)

dengan M menyatakan jumlah seluruh piksel pada setiap blok dan x adalah nilai piksel. Sedangkan vektor fitur telapak tangan dapat dibentuk dengan persamaan (2.7):


(26)

dengan menyatakan nilai rata-rata blok ke-i, dan N menyatakan jumlah keseluruhan blok. Contoh jika vektor fitur dari rata-rata blok dengan ukuran blok 10 kolom dan 10 baris dari sebuah citra akan menghasilkan rata-rata blok hingga . Contoh vektor fitur tersebut dapat dilihat pada gambar 2.5.

… …

… … … … …

Gambar 2.5 Contoh matriks vektor fitur rata-rata dengan ukuran 10x10 blok

2.6. Metrika Pencocokan dengan Jarak Euclidean Ternormalisasi

Proses metrika pencocokan merupakan sebuah proses pengukuran tingkat kesamaan atau ketidaksamaan antara dua vektor fitur. Tingkat kesamaan berupa suatu jarak dan berdasarkan jarak tersebut dua vektor akan dikatakan mirip atau tidak (Putra, et al. 2012). Vektor fitur dapat dikenali atau tidak dengan membandingkan vektor tersebut dengan suatu nilai ambang.

Jarak Euclidean ternormalisasi (normalized Euclidean distance) adalah metrika (pengukuran) yang digunakan untuk menghitung kesamaan dua vektor. Jarak

Euclidean ternormalisasi menghitung akar kuadrat perbedaan dua vektor (Putra, 2007). Rumus jarak Euclidean ternormalisasi dari dua vektor fitur u dan v dapat ditunjukkan pada persamaan (2.8):

(2.8) dengan

(2.9)

(2.10)

dimana disebut norm dari v yang dinyatakan sebagai:

(2.11)


(27)

kedua vektor fitur yang dicocokkan. Sifat dari jarak Euclidean ternormalisasi adalah bahwa hasil dari hasil jarak berada pada rentang 0 ≤ ≤ β (Mughni, et al. 2011).

2.7. Penelitian Terdahulu

Bagian ini menjelaskan beberapa penelitian terdahulu terkait dengan penelitian pengenalan garis telapak tangan, ekstraksi fitur dan pencocokan yang digunakan. Penelitian yang telah dilakukan dalam mengekstraksi fitur dan pencocokan sebuah citra garis telapak tangan dapat dilakukan dengan metode ekstraksi fitur operasi blok

overlapping dan pencocokan dengan Euclidean distance (Mughni, et al. 2011), dimana metode tersebut menghasilkan tingkat kecocokan sebesar 100% dengan menggunakan 90 citra sampel dari 30 orang responden dan menghasilkan blok 15x15. Putra (2007) menggunakan metode ekstraksi fitur operasi blok secara non-overlapping

menghasilkan tingkat pencocokan 97% menggunakan metrika korelasi ternormalisasi dimana data yang digunakan adalah 1000 citra dari 200 orang responden dan menghasilkan 64 buah fitur setiap citra. Tabel penelitian terdahulu ditunjukkan pada tabel 2.1.

Tabel 2.1 Tabel penelitian terdahulu

Penulis Judul Penelitian Hasil Kelemahan

Putra (2007) Sistem verifikasi garis telapak tangan

100% Penelitian tidak

menunjukkan identitas pengguna. Hanya menunjukkan cocok dan tidak cocok antara data uji dengan data latih. Mughni, et al. (2011) Identifikasi garis telapak

tangan menggunakan operasi blok

97% Data yang dibandingkan hanya berdasarkan intensitas cahaya yang digunakan.


(28)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas beberapa hal diantaranya seperti data yang digunakan, tahapan pengenalan yang dilakukan, penerapan metode yang digunakan dan analisis perancangan sistem dalam mengimplementasikan metode operasi blok non-overlapping dan pencocokan dengan jarak Euclidean ternormalisasi dalam mengenali garis telapak tangan manusia. Pembahasan bertujuan untuk memberikan penjelasan tentang spesifikasi dan kebutuhan dalam pengerjaan dan pengembangan aplikasi.

3.1. Data yang Digunakan

Data penelitian yang digunakan berdasarkan data sampel dikumpulkan dari delapan orang responden yaitu mahasiswa Teknologi Informasi dan responden luar dimana setiap satu orang responden diambil citra telapak tangan kiri sebanyak 30 kali. Total data sampel yang digunakan sebanyak 240 citra telapak tangan kiri yang diambil menggunakan scanner printer Canon Pixma MG2270 dan disimpan dalam format citra

jointphotograhicgroup (.jpg).

Citra uji yang digunakan sebanyak 80 buah citra. Dimana sebanyak 48 citra uji merupakan citra tanpa noise dan 32 citra uji lain memiliki noise berbentuk sebuah kertas putih berukuran 2x1 cm yang ditempelkan secara acak di tiap citra untuk menutupi sebagian garis utama telapak tangan.


(29)

3.2. Tahapan Pengenalan Garis Telapak Tangan

Tahapan dalam metode penelitian ini adalah akuisisi data citra, yaitu membaca citra telapak tangan yang telah dikumpulkan dan dipindai. Tahap kedua yaitu proses citra yang telah dikumpulkan menjadi satu kesatuan yang seragam agar sesuai untuk tahap selanjutnya. Tahap ketiga yaitu ekstraksi fitur dengan menggunakan operasi blok non-overlapping untuk mengekstrak nilai fitur dari tiap citra yang akan digunakan sebagai data acuan proses pencocokan. Tahap keempat adalah pelatihan dan pengujian menggunakan pencocokan dengan jarak Euclidean ternormalisasi dimana fitur dari citra yang telah dilatih akan disimpan ke dalam database. Sedangkan pengujian akan melakukan proses pencocokan fitur citra uji dengan fitur citra latih yang telah disimpan di database. Secara umum, tahapan pengenalan garis telapak tangan dapat dilihat pada gambar 3.1.

Pengujian citra Deteksi Tepi

Nilai Vektor Fitur Rata-rata setiap blok Binerisasi

Ekstraksi Fitur : Operasi Blok Non-overlapping Akuisisi Citra

Telapak Tangan

Grayscale

Proses pra-pengolahan

citra garis telapak tangan

Ekstraksi fitur

Pelatihan citra

Pencocokan Jarak Euclidean Ternormalisasi

Output Simpan fitur

acuan


(30)

3.3. Akuisisi Citra

Akuisisi citra merupakan tahapan pengambilan data dan mempersiapkan untuk diolah ke proses berikutnya. Citra dipersiapkan terlebih dahulu dengan melakukan proses

cropping (pemotongan) dan resize citra dengan menggunakan software pengolahan citra photoscape. Contoh citra telapak tangan kiri dapat dilihat pada gambar 3.2.

Gambar 3.2 Contoh citra telapak tangan kiri resolusi 2052 x 1824 piksel Proses pemotongan citra dilakukan dengan mengambil bagian garis-garis utama telapak tangan saja, tidak termasuk jari tangan dan citra berukuran rasio 1:1. Dimana proses ini memotong sebagian dari citra menjadi ukuran lebih kecil. Selanjutnya proses resizing citra dimana semua citra direduksi dan diseragamkan citra input menjadi ukuran 200x200 piksel. Contoh hasil proses pemotongan dan resize

citra berturut dapat dilihat pada gambar 3.3 dan 3.4.

Gambar 3.3 Contoh cropping (pemotongan) citra berukuran 600x600 piksel


(31)

Setelah data sampel diambil lalu dilakukan proses pemotongan dan resizing, selanjutnya data sampel ini akan dipersiapkan pada tahap pra-pengolahan citra.

3.4. Pra-pengolahan Citra

Tahapan pra-pengolahan citra digunakan untuk mempersiapkan citra menjadi lebih baik lagi dari citra sebelumnya. Tahapan proses pra-pengolahan citra dapat dilihat pada gambar 3.5.

Deteksi Tepi

Binerisasi Grayscaling

Gambar 3.5 Tahapan pra-pengolahan citra

Pra-pengolahan citra dimulai dengan mengubah citra warna (RGB) menjadi citra keabuan dimana memiliki satu nilai intensitas dengan jangkauan 256 tingkat keabuan. Tahap selanjutnya dilakukan proses deteksi tepi untuk mengidentifikasi garis batas dari suatu objek yang terdapat pada citra. Setelah tepi didapatkan, tahap selanjutnya adalah binerisasi citra dimana citra diubah dengan hanya memiliki dua nilai derajat keabuan yaitu hitam dan putih. Citra hasil binerisasi ini kemudian digunakan untuk tahap ekstraksi fitur.

3.4.1. Pembentukan citra keabuan

Tahap proses citra diawali dengan grayscaling yaitu teknik pembentukan citra keabuan dengan mengubah citra berwarna menjadi bentuk grayscale atau tingkat keabuan dari 0-255. Nilai intensitas suatu piksel didapat dari rata-rata nilai RGB ataupun dapat juga dari metode luminasi dengan mengalikan nilai RGB dengan nilai yang telah ditentukan kecocokannya terhadap sensitivitas mata dan warna. Hasil dari proses ini adalah sebuah citra dengan rentang nilai keabuan 0-255. Diagram alir pembentukan citra keabuan dapat dilihat pada gambar 3.6.


(32)

MULAI

i = 0

i < lebar

Yes j = 0

SELESAI No

j < tinggi No

Yes

image (i,j) = (0.3 * r + 0.59 * g + 0.11 * b) i = i + 1

j = j + 1 Input citra

berwarna

Output citra grayscale Inisialisasi image(RGB)

tinggi = image(height) Lebar = image(width)

i,j

Gambar 3.6 Diagram alir proses grayscaling

Contoh citra hasil dari proses grayscaling dapat dilihat pada gambar 3.7.

Gambar 3.7 Citra hasil grayscaling

3.4.2. Deteksi tepi citra

Proses deteksi tepi yaitu proses mengidentifikasi garis batas dari suatu objek yang terdapat pada citra. Citra yang telah mengalami proses grayscale dilanjutkan dengan deteksi tepi piksel per piksel dari citra tersebut dengan memberikan dua nilai ambang batas T1 dan T2. Tahapan dari proses ini dapat dilihat pada sub bab 2.3.2 mengenai deteksi tepi. Diagram alir proses deteksi tepi dapat dilihat pada gambar 3.8.


(33)

MULAI

Input citra grayscale

Penerapan filter Gaussian

Cari nilai tepi dengan hitung

gradien

Cari arah tepi

Hubungkan tepi

Non maximum suppression Hysteresis

Citra hasil deteksi

tepi

SELESAI

Gambar 3.8 Diagram alir proses deteksi tepi

Contoh citra hasil dari proses deteksi tepi dapat dilihat pada gambar 3.9.

Gambar 3.9 Citra hasil deteksi tepi

3.4.3. Binerisasi citra

Binerisasi adalah proses pembentukan citra biner dimana citra hasil deteksi tepi akan diubah menjadi citra biner. Citra biner yaitu citra yang hanya memiliki dua warna, hitam dan putih. Proses ini membutuhkan nilai ambang (threshold) yang digunakan sebagai acuan untuk menentukan intensitas 255 (hitam) atau 0 (putih). Diagram alir pembentukan citra biner dapat dilihat pada gambar 3.10.


(34)

MULAI

Input citra deteksi

tepi

i = 0

i < tinggi

j < lebar Yes

SELESAI i = i + 1 j = 0

No

image(i,j) >= threshold

image(i,j) = 255 Yes Yes

image(i,j) = 0 No

j = j + 1

No

Output citra biner Inisialisasi image (hasil

deteksi tepi) tinggi = image(height)

lebar = image(width) threshold, i, j

Gambar 3.10 Diagram alir pembentukan citra biner

Contoh citra hasil dari proses pembentukan citra biner ditunjukkan pada gambar 3.11.

Gambar 3.11 Citra hasil binerisasi

3.5. Ekstraksi Fitur

Tahap ekstraksi fitur dilakukan setelah tahap pra-pengolahan citra selesai dilakukan. Tahap ekstraksi fitur digunakan untuk mendapatkan nilai fitur sebagai ciri dari suatu citra. Pada tahap ini, data sampel citra diekstrak menggunakan metode operasi blok

non-overlapping. Hasil dari fitur ini disimpan dan digunakan sebagai nilai acuan pada


(35)

tahap pencocokan. Nilai fitur disimpan dalam matriks dengan indeks ke-0 sampai dengan indeks ke-99. Matriks nilai fitur dapat dilihat pada gambar 3.12.

… … … …

Gambar 3.12 Matriks penyimpanan nilai fitur

Pada penelitian ini, data sampel citra telapak tangan berukuran 200x200 piksel. Ukuran citra diseragamkan dengan tujuan memudahkan pengolahan citra karena jika ukuran citra terlalu besar akan memperlambat kinerja sistem. Setiap data sampel citra dibagi menjadi blok-blok berukuran 20x20 piksel dengan hasil pembagian blok terdapat 10 kolom dan 10 baris. Jumlah blok yang dihasilkan sebanyak 100 blok. Jadi matriks penyimpanan fitur berisi dari blok indeks 0 sampai dengan blok indeks ke-99. Pembagian blok sebanyak 100 blok dapat ditunjukkan pada gambar 3.13.

Gambar 3.13 Pembagian blok menjadi 10 kolom dan 10 baris

Diagram alir proses ekstraksi fitur dengan metode operasi blok non-overlapping dapat dilihat pada gambar 3.14.

0 99

10

10

20


(36)

Bagi citra menjadi 10 kolom dan 10 baris dengan ukuran 1

blok 20x20 piksel

Hitung rata-rata setiap blok MULAI

Input citra biner

Nilai fitur = rata-rata setiap blok

SELESAI

Gambar 3.14 Diagram alir proses ekstraksi fitur operasi blok non-overlapping

Proses ekstraksi fitur tersebut dapat dijelaskan sebagai berikut:

1. Sebuah citra biner yang telah diproses sebelumnya menjadi input pada proses ekstraksi fitur.

2. Citra biner dibagi ke dalam blok-blok dengan total jumlah blok adalah 100 blok. Setiap blok yang dibagi memiliki ukuran sebesar 20x20 piksel. Jadi total keseluruhan piksel dari setiap blok adalah 400 piksel.

3. Pada setiap blok dihitung jumlah dari piksel putih (x), dengan n adalah urutan blok selanjutnya dihitung rata-rata ( ) setiap blok dimana 1 ≤ n ≤ 100.

(3.1)

Nilai rata-rata fitur akan disimpan sebagai nilai dari setiap matriks sesuai urutan indeks matriks. Contoh fitur rata-rata akan disimpan sebagai nilai dari indeks ke-0.

4. Selanjutnya didapat hasil dari fitur dari citra biner tersebut berbentuk vektor fitur

) (3.2)

Hasil fitur tersebut akan disimpan ke dalam database sebagai parameter yang dibandingkan saat proses pencocokan fitur uji dengan fitur latih yang telah dilatih.

Diagram alir dari proses ekstraksi fitur operasi blok non-overlapping lebih rinci dapat dilihat pada gambar 3.15.


(37)

MULAI

h < total_blok Input citra

biner

h = 0

i < total_blok Yes

nilai_pixel = 0; jlh_pixel = 0; index_i = h * max_pixel_blok;

temp_hasil = 0; Yes

No

j<index_i + max_pixel_blok j = index_i

index_j = i * max_pixel_blok

k = index_j

k < index_j + max_pixel_blok

SELESAI temp_hasil += gambar[k][j]

k = k+1 Yes

Yes

j = j+1

No

No h = h+1

No

hasil[hasil_index] = temp_hasil / 400 hasil = hasil + 1 kolom = kolom + 1

Output hasil nilai

rata-rata i = i+1

Inisialisasi image(hasil biner) tinggi = image(height) lebar = image(width), gambar[tinggi][lebar]; totalBlok ç 10, maxPixelBlok ç 20; nilai_pixel, jlh_pixel, index_i, index_j,

hasil_index ç 0, h, i, j, k

Gambar 3.15 Diagram alir ekstraksi fitur operasi blok non-overlapping


(38)

Gambar 3.16 Contoh hasil fitur citra dari gambar 3.13

3.6. Tahap Pelatihan

Tahap pelatihan adalah tahap dimana citra latih yang telah dipersiapkan mulai dari akuisisi citra latih, pra-pengolahan, dan ekstraksi fitur citra menghasilkan fitur citra latih yang akan disimpan di dalam database. Tahap pelatihan dilakukan untuk dapat mengenali citra garis telapak tangan latih dengan menyimpan fitur citra dari suatu citra garis telapak tangan ke dalam database. Fitur citra latih yang dikumpulkan di dalam database menjadi fitur acuan untuk dibandingkan saat tahap pengujian.

Tahap pelatihan menunjukkan data citra yang telah dipersiapkan akan dilatih dan fitur yang diekstrak selanjutnya disimpan ke dalam database. Data fitur disimpan beserta nomor id dan nama pemilik citra telapak tangan.

3.7. Tahap Pengujian

Tahap pengujian adalah tahap dimana citra uji yang tidak digunakan pada tahap pelatihan akan diuji di dalam sistem. Pada tahap ini akan dilakukan proses-proses seperti pelatihan citra latih tetapi perbedaaannya adalah saat pengujian dilakukan, fitur citra uji yang diuji akan dibandingkan dengan fitur citra latih yang telah disimpan di


(39)

yang dipilih tersebut memiliki kemiripan dengan citra latih atau tidak dan juga menampilkan jarak Euclidean ternormalisasi terkecil dari hasil pencocokan. Tahap pengujian menunjukkan penggunaan metode proses ekstraksi fitur operasi blok non-overlapping dan proses pencocokan dengan jarak Euclidean ternormalisasi.

3.8. Pencocokan dengan Jarak Euclidean Ternormalisasi

Tahap pencocokan menggunakan jarak Euclidean ternormalisasi adalah tahapan membandingkan antara satu vektor fitur yang diuji dengan vektor fitur yang tersimpan di dalam database. Tahap pencocokan ini merupakan tahap verifikasi kebenaran antara fitur citra uji dengan fitur citra acuan yang terdapat dalam database.

Vektor fitur citra uji (u) dibandingkan dengan hasil vektor fitur citra latih (v) yang telah disimpan. Kedua vektor tersebut dibandingkan berdasarkan kesamaan dua vektor. Jarak Euclidean ternormalisasi menghitung akar kuadrat perbedaan dua vektor. Semakin kecil jarak maka semakin mirip kedua vektor fitur yang dicocokkan. Sebaliknya, semakin besar hasil jarak maka semakin berbeda kedua vektor fitur yang dicocokkan. Sifat dari jarak Euclidean ternormalisasi adalah bahwa hasil dari jarak berada pada rentang 0 ≤ ≤ β. Nilai ambang toleransi yang digunakan pada penelitian ini adalah 2. Jadi jika jarak yang didapat lebih besar dari 2, maka kedua vektor yang dicocokkan tidak memiliki kemiripan.

Diagram alir proses untuk menghitung jarak Euclidean ternormalisasi dapat dilihat pada gambar 3.17.


(40)

MULAI

Input fitur citra latih (u), uji (v)

inisialisasi hasil_uji, u[], v[], arrayD[], min

d, unorm,vnorm ç 0

SELESAI i < u.length

i = 0

unorm += u[i] * u[i]; vnorm += v[i] * v[i];

unorm = sqrt(unorm); vnorm = sqrt(vnorm);

i = 0 Yes

i < u.length

d += (u[i]/unorm-v[i]/vnorm)*(u[i]/unorm-v[i]/vnorm); d = sqrt(d);

Yes j = 0

j < arrayD.length

Yes

No

i = i+1 j = j+1

i = i+1 No

arrayD[j] = d

j = 0

ArrayD[0]= min

No

j < arrayD.length

min = arrayD[j] arrayD[j] < min

Yes

j = j+1

min = hasil_uji min >= 0 && min <= 2

No Yes print(“tidak ada kecocokan”) No Output hasil


(41)

BAB 4

HASIL DAN PEMBAHASAN

Bab ini membahas hasil dari pengujian terhadap pengenalan garis telapak tangan dengan menggunakan metode ekstraksi fitur operasi blok non-overlapping dan pencocokan dengan jarak Euclidean ternormalisasi. Pembahasan bertujuan untuk memberikan hasil dari penerapan pemrograman terhadap metode ekstraksi fitur dan hasil yang didapat dari pengujian.

4.1. Implementasi

Data dan analisis dilakukan diimplementasi dalam bahasa pemrograman dengan tujuan dapat diproses dan didapatkan hasil pengujian pengenalan garis telapak tangan manusia. Proses pemrograman menggunakan bahasa pemrograman Java dengan IDE yang digunakan adalah Netbeans IDE 6.8. Spesifikasi perangkat lunak yang digunakan selama pembangunan software adalah sebagai berikut:

1. Operating System Windows 7.

2. Processor Intel ® Atom(TM) CPU N570 @1.66GHz.

3. Kapasitas hard disk 300 GB.

4. Memori RAM yang digunakan 2.00 GB.

Pengerjaan program dalam penelitian ini dibagi menjadi tiga modul yaitu: 1. Modul registrasi user

Modul ini berisi proses pendaftaran seorang user dengan input id dan nama. 2. Modul pelatihan

Modul yang terdiri dari proses untuk pra-pengolahan seluruh citra, ekstraksi fitur operasi blok non-overlapping dan penyimpanan fitur ke dalam database.


(42)

3. Modul pengujian

Modul ini berisi form pengujian terhadap citra uji dan menampilkan hasil jarak

Euclidean ternormalisasi.

Pengerjaan program dengan menggunakan bahasa Java membutuhkan method untuk membantu pengolahan citra dengan baik, maka dari itu digunakan method tambahan yang digunakan untuk membantu proses pengolahan citra hingga pengujian citra. Beberapa method yang digunakan dalam proses pengolahan citra dapat dilihat pada tabel 4.1.

Tabel 4.1 Method yang digunakan dalam program

Fungsi Keterangan

image.width() Method untuk mendapatkan lebar dari

sebuah citra bernama image.

image.height() Method untuk mendapatkan tinggi dari

sebuah citra bernama image.

bufferedImage Method dari class BufferedImage yang

digunakan untuk memodifikasi sebuah image.

Contoh : BufferedImage image = new BufferedImage();

ImageIO.write() Method dari class ImageIO untuk

membuat sebuah file.

Contoh : imageIO.write(im,”JPG”, new File(“newGray.jpg”);

image.getRGB(x,y) Method yang digunakan untuk

mengambil nilai RGB piksel(x,y) dari sebuah citra bernama image.

Contoh: image.getRGB(10,20);

RGB2GS() Method yang digunakan untuk mengubah

citra berwarna(RGB) menjadi citra

Grayscale.

setBinerisasi() Method yang digunakan untuk


(43)

4.2. Tampilan Implementasi Sistem

Tampilan hasil implementasi program dapat dilihat pada penjelasan berikut: 1. Tampilan awal program

Tampilan awal program saat pertama dijalankan akan ditampilkan lima buah pilihan menu yang ditunjukkan pada gambar 4.1.

Gambar 4.1 Tampilan awal program

Tampilan awal program berisi pilihan menu modul-modul seperti registrasi

user, pelatihan citra, dan pengujian citra. 2. Tampilan registrasi user

Tampilan registrasi user menampilkan form pengisian data id user dan nama pemilik citra garis telapak tangan. Tampilan form registrasi user ditunjukkan pada gambar 4.2.

Form ini berguna untuk memasukkan, mengubah dan menghapus data user


(44)

Gambar 4.2 Tampilan registrasi user

Modul registrasi user ini berfungsi untuk menyimpan data user yang akan disimpan data garis telapak tangannya.

3. Tampilan form pelatihan citra

Tampilan pelatihan citra berisi form pengisian beserta proses pengolahan citra yang akan dilatih. Tampilan pelatihan citra dapat dilihat pada gambar 4.3.

Gambar 4.3 Tampilan pengolahan citra sebelum citra dipilih 4. Tampilan pengolahan citra

Tampilan saat pengolahan citra terbagi atas lima bagian yaitu tampilan citra berwarna, citra grayscale, citra deteksi tepi, citra biner, dan tampilan fitur dari citra.


(45)

dipilh melalui button Open. Citra yang dipilih harus berukuran 200x200 piksel dan memiliki format jpg. Tampilan citra berwarna pada sistem ditunjukkan dengan lingkar merah pada gambar 4.4.

Gambar 4.4 Tampilan citra berwarna (RGB) - Tampilan citra grayscale

Tampilan citra grayscale berfungsi untuk menampilkan pembentukan citra

grayscale dari citra berwarna yang telah dipilih sebelumnya. Tampilan citra

grayscale pada sistem ditunjukkan dengan lingkar merah pada gambar 4.5.

Gambar 4.5 Tampilan pembentukan citra grayscale

- Tampilan citra deteksi tepi

Tampilan citra deteksi tepi berfungsi untuk menampilkan pembentukan citra deteksi tepi dari citra grayscale yang telah diproses sebelumnya. Tampilan citra deteksi tepi pada sistem ditunjukkan dengan lingkar merah pada gambar 4.6.


(46)

Gambar 4.6 Tampilan pembentukan citra deteksi tepi - Tampilan citra biner

Tampilan citra biner berfungsi untuk menampilkan pembentukan citra biner dari citra deteksi tepi yang telah diproses sebelumnya. Tampilan citra biner pada sistem ditunjukkan dengan lingkar merah pada gambar 4.7.

Gambar 4.7 Tampilan pembentukan citra biner - Tampilan ekstraksi fitur citra

Tampilan ekstraksi fitur berfungsi menampilkan hasil ekstraksi fitur dari citra yang sedang diproses. Tampilan hasil fitur citra uji pada sistem ditunjukkan dengan lingkar merah pada gambar 4.8.


(47)

Gambar 4.8 Tampilan hasil fitur citra uji 5. Tampilan pengujian citra

Tampilan pengujian citra berfungsi untuk mengolah citra uji yang akan diuji dan menghasilkan nilai jarak Euclidean ternormalisasi. Tampilan pengujian pada sistem ditunjukkan dengan panel merah pada gambar 4.9.

Gambar 4.9 Tampilan pengujian citra sebelum data diisi

Sebelum citra diolah, citra uji yang akan diuji dipilih terlebih dahulu dari button Open seperti pada gambar 4.9 panel A. Tampilan pengolahan citra pada saat pengujian akan menampilkan citra sesuai proses yang dilakukan dengan menggunakan tombol proses uji ditunjukkan pada gambar 4.9 panel B. Hasil pencocokan citra uji dengan citra latih dan hasil jarak Euclidean ternormalisasi dapat dilihat pada gambar 4.9 panel C. Sedangkan gambar 4.9 panel D

A

B


(48)

menunjukkan tabel yang berisi data citra uji yang telah disimpan beserta hasil pengujiannya.

Tampilan pengujian citra setelah data diisi dapat dilihat pada gambar 4.10.

Gambar 4.10 Tampilan pengujian citra 6. Tampilan form“Tentang Saya”

Tampilan form“Tentang Saya” berisi informasi judul skripsi dan identitas penulis.

Tampilan formTentang Saya” dapat dilihat pada gambar 4.11.

Gambar 4.11 Tampilan form“Tentang Saya”

7. Tampilan form“Tutup Aplikasi”

Tampilan form “Tutup Aplikasi” berisi informasi kotak dialog pertanyaan untuk

memilih akan keluar dari aplikasi atau tidak. Tampilan form ini dapat dilihat pada gambar 4.12.


(49)

Gambar 4.12 Tampilan form“Tutup Aplikasi”

4.3. Hasil Pelatihan Citra Latih dengan Ekstraksi Fitur Operasi Blok non-overlapping

Pelatihan citra berfungsi untuk mendapatkan nilai fitur citra garis telapak tangan yang dilatih dan selanjutnya akan disimpan di dalam database. Selanjutnya nilai fitur yang telah disimpan akan digunakan sebagai acuan perbandingan dengan citra uji garis telapak tangan pada saat pengujian. Hasil pelatihan citra latih dan hasil fitur dapat dilihat pada tabel 4.2.

Tabel 4.2 Hasil pelatihan ekstraksi fitur citra

No ID User nama Nama Citra Hasil Fitur

1 ID001 April Palmprint_April (1).jpg 0.975; 0.94; 0.94; 0.95β5; 0.965; … 2 ID001 April Palmprint_April (2).jpg 0.9875; 0.9725; 0.95;

0.975; 0.9675; … 3 ID002 Bobby Palmprint_Bobby (1).jpg 0.975; 0.97; 0.935;

0.97β5; 0.9β; 0.945; … 4 ID002 Bobby Palmprint_Bobby (2).jpg 0.99; 0.915; 0.955;


(50)

Tabel 4.2 Hasil pelatihan ekstraksi fitur citra (lanjutan)

No ID User nama Nama Citra Hasil Fitur

5 ID003 Cici Palmprint_Cici (1).jpg 0.985; 0.9025; 0.955; 0.9175; 0.9175; … 6 ID003 Cici Palmprint_Cici (2).jpg 0.95; 0.9475; 0.9675;

1.0; 0.95; …

7 ID004 Irene Palmprint_Irene (1).jpg 0.9975; 0.9375; 0.985; 0.9γβ5; 0.96β5; … 8 ID004 Irene Palmprint_Irene (2).jpg 0.995; 0.99; 0.945;

0.9β75; 0.945; … 9 ID005 Irwan Palmprint_Irwan (1).jpg 0.9925; 0.9325; 0.9475;

1.0; 0.9β5; … 10 ID005 Irwan Palmprint_Irwan (2).jpg 0.975; 0.9475; 0.96;

0.9γ75; 0.94; … 11 ID006 Rian Palmprint_Rian (1).jpg 0.99; 0.925; 0.9625;

0.97; 0.975; … 12 ID006 Rian Palmprint_Rian (2).jpg 0.97; 0.95; 0.8725;

0.8675; 0.88β5; … 13 ID007 Vero Palmprint_Vero (1).jpg 0.9775; 0.9575; 0.9975;

0.965; 1.0; …

14 ID007 Vero Palmprint_Vero (2).jpg 0.9975; 0.965; 0.9825; 0.9725; 1.0; …

15 ID008 Yayuk Palmprint_Yayuk (1).jpg 0.9975; 1.0; 0.9625; 0.9γ; 0.9γ75; …

16 ID008 Yayuk Palmprint_Yayuk (2).jpg 0.9825; 0.9225; 0.9425; 0.955; 0.9075; …

Hasil keseluruhan pelatihan ekstraksi fitur dapat dilihat pada tabel telapak tangan di dalam database.


(51)

4.4. Hasil Pencocokan Citra Uji dengan Database

Pengujian citra uji yang dilakukan dengan menggunakan citra yang belum pernah dilatihkan sebelumnya. Pengujian citra uji dilakukan terhadap 10 buah citra uji dari masing-masing user sehingga total citra uji adalah 80 buah citra uji dari 8 orang responden. Hasil pencocokan citra uji dengan fitur yang telah dilatih dan tersimpan di dalam database dapat dilihat pada tabel 4.3.

Tabel 4.3 Hasil pencocokan citra uji dengan database

No Nama Citra Uji

Hasil Jarak Terkecil (bobot)

Hasil Pencocokan Target Dikenali (B/S) 1 A (1).jpg 1.0000013120955598 Palmprint_April (6).jpg B

2 A (2).jpg 1.000001143589037 Palmprint_April (7).jpg B

3 A (3).jpg 1.0000022039997303 Palmprint_April (20).jpg B 4 A (4).jpg 1.0000005960479428 Palmprint_April (15).jpg B

5 A (5).jpg 1.000000801617426 Palmprint_April (1).jpg B

6 A (6).jpg 1.0000024518528627 Palmprint_April (8).jpg B 7 B (1).jpg 1.0000009338917575 Palmprint_Bobby (7).jpg B 8 B (2).jpg 1.0000011083647455 Palmprint_Bobby (19).jpg B 9 B (3).jpg 1.0000005635338365 Palmprint_Bobby (14).jpg B 10 B (4).jpg 1.0000012037794954 Palmprint_Bobby (4).jpg B 11 B (5).jpg 1.0000002059583928 Palmprint_Bobby (10).jpg B 12 B (6).jpg 1.0000009966913614 Palmprint_Bobby (16).jpg B 13 C (1).jpg 1.000000595181359 Palmprint_Cici (15).jpg B 14 C (2).jpg 1.0000005945230586 Palmprint_Cici (3).jpg B

15 C (3).jpg 1.000001637509138 Palmprint_Cici (6).jpg B

16 C (4).jpg 1.0000010203203116 Palmprint_Cici (3).jpg B 17 C (5).jpg 1.0000008725465965 Palmprint_Cici (11).jpg B 18 C (6).jpg 1.0000002513075137 Palmprint_Cici (8).jpg B 19 I (1).jpg 1.0000023077792544 Palmprint_Irene (12).jpg B 20 I (2).jpg 1.0000007537368016 Palmprint_Irene (2).jpg B 21 I (3).jpg 1.000001269116649 Palmprint_Irene (14).jpg B 22 I (4).jpg 1.000000079154949 Palmprint_Irene (7).jpg B


(52)

Tabel 4.3 Hasil pencocokan citra uji dengan database (lanjutan) No Nama

Citra Uji

Hasil Jarak Terkecil (bobot)

Hasil Pencocokan Target Dikenali (B/S) 23 I (5).jpg 1.0000008061749792 Palmprint_Irene (4).jpg B 24 I (6).jpg 1.0000004512833331 Palmprint_Irene (1).jpg B 25 IW (1).jpg 1.000000786283063 Palmprint_Irwan (6).jpg B 26 IW (2).jpg 1.0000008317032605 Palmprint_Irwan (13).jpg B 27 IW (3).jpg 1.000000657342017 Palmprint_Irwan (8).jpg B 28 IW (4).jpg 1.0000011065094885 Palmprint_Irwan (16).jpg B 29 IW (5).jpg 1.0000010925165168 Palmprint_Irwan (13).jpg B

30 IW (6).jpg 1.0000020237819427 Palmprint_Irwan (13).jpg B

31 R (1).jpg 1.0000011328868041 Palmprint_Rian (10).jpg B

32 R (2).jpg 1.0000015969058105 Palmprint_Rian (9).jpg B

33 R (3).jpg 1.0000006914811643 Palmprint_Rian (13).jpg B

34 R (4).jpg 1.0000013158308785 Palmprint_Rian (14).jpg B

35 R (5).jpg 1.0000039125480018 Palmprint_Rian (17).jpg B

36 R (6).jpg 1.0000055441312756 Palmprint_Rian (5).jpg B

37 V (1).jpg 1.0000008368741662 Palmprint_Vero (15).jpg B

38 V (2).jpg 1.0000007032746179 Palmprint_Vero (10).jpg B

39 V (3).jpg 1.0000011019150747 Palmprint_Vero (9).jpg B

40 V (4).jpg 1.0000001944058408 Palmprint_Vero (7).jpg B

41 V (5).jpg 1.0000008839850743 Palmprint_Vero (1).jpg B

42 V (6).jpg 1.000000500899541 Palmprint_Vero (4).jpg B

43 Y (1).jpg 1.0000005609791895 Palmprint_Yayuk (20).jpg B

44 Y (2).jpg 1.0000006363008154 Palmprint_Yayuk (20).jpg B

45 Y (3).jpg 1.0000005128670546 Palmprint_Yayuk (18).jpg B

46 Y (4).jpg 1.0000007748066546 Palmprint_Vero (16).jpg S 47 Y (5).jpg 1.0000007145253784 Palmprint_Yayuk (1).jpg B 48 Y (6).jpg 1.0000010175108067 Palmprint_Yayuk (1).jpg B

49 A (7).jpg 1.0000011390323926 Palmprint_April (7).jpg B

50 A (8).jpg 1.000001850712863 Palmprint_April (7).jpg B


(53)

Tabel 4.3 Hasil pencocokan citra uji dengan database (lanjutan) No Nama Citra

Uji

Hasil Jarak Terkecil (bobot)

Hasil Pencocokan Target Dikenali (B/S) 53 B (7).jpg 1.0000006090476763 Palmprint_Bobby (14).jpg B

54 B (8).jpg 1.0000007430859585 Palmprint_Cici (20).jpg S

55 B (9).jpg 1.0000008574386718 Palmprint_Rian (11).jpg S

56 B (10).jpg 1.0000010606240428 Palmprint_Yayuk (6).jpg S

57 C (7).jpg 1.0000004683550663 Palmprint_Cici (4).jpg B

58 C (8).jpg 1.0000019888309322 Palmprint_Cici (6).jpg B

59 C (9).jpg 1.0000011079342512 Palmprint_Cici (19).jpg B

60 C (10).jpg 1.00000139875767 Palmprint_Cici (11).jpg B

61 I (7).jpg 1.0000025027157682 Palmprint_Irene (5).jpg B

62 I (8).jpg 1.0000012793488529 Palmprint_Irene (16).jpg B

63 I (9).jpg 1.0000003855496158 Palmprint_Irene (7).jpg B

64 I (10).jpg 1.000001147927635 Palmprint_Yayuk (2).jpg S

65 IW (7).jpg 1.0000004434791965 Palmprint_Irwan (1).jpg B

66 IW (8).jpg 1.0000007118329695 Palmprint_Cici (20).jpg S

67 IW (9).jpg 1.000000934905346 Palmprint_Cici (2).jpg S

68 IW (10).jpg 1.0000011176450876 Palmprint_Irwan (13).jpg B

69 R (7).jpg 1.0000023393124857 Palmprint_Rian (8).jpg B

70 R (8).jpg 1.0000016257026505 Palmprint_Yayuk (8).jpg S

71 R (9).jpg 1.0000013858208907 Palmprint_Rian (9).jpg B

72 R (10).jpg 1.000001481830005 Palmprint_Rian (14).jpg B

73 V (7).jpg 1.0000015357306646 Palmprint_Vero (2).jpg B

74 V (8).jpg 1.0000019126474844 Palmprint_Vero (12).jpg B

75 V (9).jpg 1.0000004883459583 Palmprint_Vero (4).jpg B

76 V (10).jpg 1.0000005148478228 Palmprint_Vero (9).jpg B

77 Y (7).jpg 1.0000004630919872 Palmprint_Yayuk (5).jpg B

78 Y (8).jpg 1.0000006910728263 Palmprint_Yayuk (7).jpg B

79 Y (9).jpg 1.0000008706422874 Palmprint_Yayuk (14).jpg B

80 Y (10).jpg 1.0000011143298357 Palmprint_Yayuk (1).jpg B

Tabel 4.3 menunjukkan dari semua data uji jika di cocokkan dengan data yang terdapat dalam database akan menghasilkan nilai jarak Euclidean terkecil sesuai hasil


(54)

pengukuran dengan rentang jarak bobot 0 sampai dengan 2. Hasil pengujian menghasilkan pengenalan dengan target benar dengan 71 buah citra uji, dan sembilan pengenalan dengan target salah pada tabel 4.3. Hasil akurasi pengujian terhadap 80 buah citra uji dapat dihitung dengan perhitungan dengan persamaan (4.1) sebagai berikut (Mughni, et al. 2011):

(4.1)

jadi hasil keseluruhan penelitian yang telah dilakukan memberikan hasil akurasi tingkat pengenalan sebesar 88,75% pencocokan yang benar terhadap citra uji. Kesalahan pencocokan dapat dihitung dengan persamaan berikut:

(4.2)

sedangkan kesalahan pencocokan seperti terlihat pada tabel 4.3 adalah sebesar 11,25%. Tabel 4.4 menunjukkan hasil tingkat pengenalan yang telah diujikan.

Tabel 4.4 Hasil keseluruhan pengujian tingkat pengenalan Ukuran blok Metode

ekstraksi

Metode pencocokan

Tingkat pencocokan (%)

Benar Salah

10 x 10 Operasi blok

non-overlapping

Jarak Euclidean

ternormalisasi

88,75 11,25

Berdasarkan tabel 4.3 nomor indeks 1 sampai dengan 48 merupakan citra uji yang tidak memiliki noise pada citra tersebut. Hasil pengujian terhadap 48 citra uji tanpa noise menghasilkan kesalahan pencocokan dapat dihitung dengan persamaan (4.2):

Nomor indeks citra uji yang memiliki noise dimulai dari nomor 49 sampai dengan nomor indeks 80. Hasil pengujian terhadap 32 citra uji dapat dilihat


(55)

berdasarkan tabel 4.3 menghasilkan 8 citra uji yang memiliki target salah. Hasil pengujian terhadap citra yang memiliki noise dapat dihitung dengan persamaan (4.2) sehingga menghasilkan kesalahan pencocokan sebagai berikut:

Hasil pengujian terhadap citra yang tidak memiliki noise dan memiliki noise dapat dilihat pada tabel 4.5.

Tabel 4.5 Hasil pengujian citra tanpa noise dan memiliki noise

Kondisi

noise

Metode ekstraksi

Pencocokan Total citra uji Akurasi tingkat pencocokan (%) benar salah Tanpa

noise

Operasi blok

non-overlapping

Jarak

Euclidean

ternormalisasi

48 97,92 2,08

Ada noise Operasi blok

non-overlapping

Jarak

Euclidean

ternormalisasi


(56)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil analisis dan pengujian yang dilakukan pada bab-bab sebelumnya, dapat disimpulkan bahwa penggunaan metode ekstraksi fitur operasi blok non-overlapping dan pencocokan dengan jarak Euclidean ternormalisasi dapat mengenali fitur garis utama telapak tangan. Ekstraksi fitur operasi blok non-overlapping

digunakan untuk mendapatkan nilai fitur dari sebuah citra dan jarak Euclidean

ternormalisasi digunakan untuk mendapatkan tingkat kesamaan antara dua vektor (vektor uji dan latih) berdasarkan hasil pengukuran nilai bobot antara dua vektor. Dari 80 citra uji, 48 citra tidak memiliki noise didapatkan hasil pengenalan yang benar sebesar 97,92% dan 32 citra uji lain memiliki noise dengan hasil pengenalan yang benar sebesar 75%. Sedangkan pengujian yang dilakukan secara keseluruhan didapatkan tingkat pencocokan menggunakan metode ini adalah 88,75% dengan diberikan informasi hasil jarak pencocokan tingkat kesamaan vektor uji dan latih serta menghasilkan identitas pemilik citra garis telapak tangan yang paling mendekati kemiripan dengan citra uji.

5.2. Saran

Penelitian ini melatih 160 buah citra dengan parameter yaitu rata-rata setiap blok sebagai fitur ciri garis telapak tangan. Hal ini menghasilkan hasil pengenalan citra yang belum optimal. Oleh karena itu perlu dilakukan penelitian selanjutnya untuk mencapai hasil pengenalan dan pengambilan fitur yang lebih baik.


(57)

DAFTAR PUSTAKA

Falasev, R.S., Hidayatno, A. & Isnanto, R.R. 2011. Pengenalan sidik jari manusia dengan matriks kookurensi aras keabuan (gray level co-ocurrence matrix).

(Online) http://eprints.undip.ac.id/25259/1/ML2F004504.pdf (12 Mei 2013).

Green, B. 2002. Canny edge detection tutorial. (Online)

http://dasl.mem.drexel.edu/alumni/bGreen/www.pages.drexel.edu/_weg22/can _tut.html (2 Desember 2013).

Hermawati, F.A. 2013. Pengolahan Citra Digital Konsep & Teori. Andi : Yogyakarta. Ikonen, L. 2003. Hand geometry – based biometric systems. Lappeenranta University of Technology. (Online) http://www2.it.lut.fi/kurssit/03-04/010970000/seminars/Ikonen.pdf (3 Mei 2013).

Jain, A. K. & Taxt, T. 1996. Feature extraction methods for character recognition -a survey. Journal ofPattern Recognition. 29(4) : 641-662.

Kadir, A. & Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. Andi : Yogyakarta.

Mughni, I., Somantri, M. & Isnanto, R. 2011. Sistem identifikasi berdasarkan ciri garis-garis utama telapak tangan menggunakan metode operasi blok

overlapping. Jurnal Teknik Elektro Universitas Diponegoro (Online)

http://www.elektro.undip.ac.id/el_kpta/wpcontent/uploads/2012/05/L2F60603 6_MTA.pdf (1 Mei 2013).

Ong, M.G.K., Connie, T., Teoh, Jin, A.T.B. & Ling, D.N.C. 2003. Single -sensor hand geometry and palmprint verification system. Proceedings of the 2003 ACM SIGMM workshop on Biometrics methods and applications (WBMA), pp. 100-106.

Pradeep, J., Srinivasan, E., dan Himavathi, S. 2011. Diagonal based feature extraction for handwritten alphabets recognition system using neural network.

International Journal of Computer Science & Information Technology (IJCSIT). 3(1): 27-38.

Purnomo, M. H. & Muntasa, A. 2010. Konsep Pengolahan Citra Digital dan Ekstraksi Fitur. Graha Ilmu : Surabaya.

Putra, I.K.G.D. 2007. Sistem verifikasi menggunakan garis-garis telapak tangan.

Jurnal Teknologi Elektro Universitas Udayana 6 (2) : 46-51. Putra, I.K.G.D. 2008. Sistem Biometrika. Andi : Yogyakarta.


(58)

Putra, I.K.G.D & Sentosa, M.A. 2012. Hand geometry verification based on chain code and dynamic time warping. International Journal of Computer Applications (0975-8887) 38 (12) : 17-22.

Putra, N., Suyanto & Sembiring, S. 2012. Peningkatan nilai fitur jaringan propagasi balik pada pengenalan angka tulisan tangan menggunakan metode zoning dan diagonal based feature extraction. Jurnal Dunia Teknologi Informasi 1(1):1-6. Ratha, N.K., Senior. A. & Bolle, R.M. 2003. Automated biometrics. (Online)

http://www.research.ibm.com/people/a/aws/documents/papers/icapr01.pdf (1 Mei 2013).

Ray, K.B. & Misra, R. 2011. Palmprint as a biometric identifier. Journal Orissa Engineering College India IJECT 2 (3) : 12-16.

Siddiqi, I. & Vincent, N. 2009. A set of chain code based features for writer recognition. Journal International Conference on Document Analysis and Recognition 10 : 982-985.

Sutarno, 2010. Identifikasi ekspresi wajah menggunakan alihragam gelombang singkat (wavelet) dan jaringan syaraf tiruan learning vector quantization (LVQ). Jurnal Seminar Nasional Informatika UPN Veteran Yogyakarta. D : 87-94.

Sutoyo, T., Mulyanto, E., Suhartono, V., Nurhayati, O.D. & Wijanarto. 2009. Teori Pengolahan Citra Digital. Andi : Yogyakarta.

Suyanto. 2011. Artificial Intelligence Searching, Reasoning, Planning, Learning (Edisi Revisi). Informatika : Bandung.


(1)

for (int x = initX; x < maxX; x++) {

for (int y = initY; y < maxY; y += width) {

int index = x + y;

float sumX = data[index] * kernel[0];

float sumY = sumX;

int xOffset = 1;

int yOffset = width;

for(; xOffset < kwidth ;) {

sumY += kernel[xOffset] * (data[index - yOffset] +

data[index + yOffset]);

sumX += kernel[xOffset] * (data[index - xOffset] +

data[index + xOffset]);

yOffset += width;

xOffset++;

}

yConv[index] = sumY;

xConv[index] = sumX;

}

}

for (int x = initX; x < maxX; x++) {

for (int y = initY; y < maxY; y += width) {

float sum = 0f;

int index = x + y;

for (int i = 1; i < kwidth; i++)

sum += diffKernel[i] * (yConv[index - i] - yConv[index + i]);

xGradient[index] = sum;

}

}

for (int x = kwidth; x < width - kwidth; x++) {

for (int y = initY; y < maxY; y += width) {

float sum = 0.0f;

int index = x + y;

int yOffset = width;

for (int i = 1; i < kwidth; i++) {

sum += diffKernel[i] * (xConv[index - yOffset] - xConv[index + yOffset]);

yOffset += width;


(2)

}

}

initX = kwidth;

maxX = width - kwidth;

initY = width * kwidth;

maxY = width * (height - kwidth);

/*perulangan untuk menghubungkan arah tepi (North, South, West, East, dst)*/

for (int x = initX; x < maxX; x++) {

for (int y = initY; y < maxY; y += width) {

int index = x + y;

int indexN = index - width;

int indexS = index + width;

int indexW = index - 1;

int indexE = index + 1;

int indexNW = indexN - 1;

int indexNE = indexN + 1;

int indexSW = indexS - 1;

int indexSE = indexS + 1;

float xGrad = xGradient[index];

float yGrad = yGradient[index];

float gradMag = hypot(xGrad, yGrad);

// non-maximal suppression : penelusuran tepi yang ada di dalam arah tepi

float nMag = hypot(xGradient[indexN], yGradient[indexN]);

float sMag = hypot(xGradient[indexS], yGradient[indexS]);

float wMag = hypot(xGradient[indexW], yGradient[indexW]);

float eMag = hypot(xGradient[indexE], yGradient[indexE]);

float neMag = hypot(xGradient[indexNE], yGradient[indexNE]);

float seMag = hypot(xGradient[indexSE], yGradient[indexSE]);

float swMag = hypot(xGradient[indexSW], yGradient[indexSW]);

float nwMag = hypot(xGradient[indexNW], yGradient[indexNW]);

float tmp;

if (xGrad * yGrad <= (float) 0 /*(1)*/

? Math.abs(xGrad) >= Math.abs(yGrad) /*(2)*/

? (tmp = Math.abs(xGrad * gradMag)) >= Math.abs(yGrad * neMag - (xGrad + yGrad) * eMag) /*(3)*/


(3)

: (tmp = Math.abs(yGrad * gradMag)) >= Math.abs(xGrad * neMag - (yGrad + xGrad) *

nMag) /*(3)*/

&& tmp > Math.abs(xGrad * swMag - (yGrad + xGrad) * sMag) /*(4)*/

: Math.abs(xGrad) >= Math.abs(yGrad) /*(2)*/

? (tmp = Math.abs(xGrad * gradMag)) >= Math.abs(yGrad * seMag + (xGrad - yGrad) *

eMag) /*(3)*/

&& tmp > Math.abs(yGrad * nwMag + (xGrad - yGrad) * wMag) /*(4)*/

: (tmp = Math.abs(yGrad * gradMag)) >= Math.abs(xGrad * seMag + (yGrad - xGrad) *

sMag) /*(3)*/

&& tmp > Math.abs(xGrad * nwMag + (yGrad - xGrad) * nMag) /*(4)*/

)

{

magnitude[index] = gradMag >= MAGNITUDE_LIMIT ? MAGNITUDE_MAX : (int)

(MAGNITUDE_SCALE * gradMag);

}

else

{

magnitude[index] = 0;

}

}

}

private float hypot(float x, float y) {

return (float) Math.hypot(x, y);

}

private float gaussian(float x, float sigma) { //rumus untuk filter Gaussian

return (float) Math.exp(-(x * x) / (2f * sigma * sigma));

}

/*proses hysteresis

private void performHysteresis(int low, int high) {

Arrays.fill(data, 0);

int offset = 0;

for (int y = 0; y < height; y++) {

for (int x = 0; x < width; x++) {


(4)

offset++;

}

}

}

private void follow(int x1, int y1, int i1, int threshold) {

int x0 = x1 == 0 ? x1 : x1 - 1;

int x2 = x1 == width - 1 ? x1 : x1 + 1;

int y0 = y1 == 0 ? y1 : y1 - 1;

int y2 = y1 == height -1 ? y1 : y1 + 1;

data[i1] = magnitude[i1];

for (int x = x0; x <= x2; x++) {

for (int y = y0; y <= y2; y++) {

int i2 = x + y * width;

if ((y != y1 || x != x1)

&& data[i2] == 0

&& magnitude[i2] >= threshold) {

follow(x, y, i2, threshold);

return;

}

}

}

}

//penentuan nilai threshold dalam menetapkan tepi atau tidak

private void thresholdEdges() {

for (int i = 0; i < picsize; i++) {

data[i] = data[i] > 0 ? -1 : 0xff000000;

}

}

//membuat edge /tepi citra

private void writeEdges(int pixels[]) {

if (edgesImage == null) {

edgesImage = new BufferedImage(width, height,

BufferedImage.TYPE_INT_ARGB);

}


(5)

3. Modul Pengujian

Modul untuk proses pengolahan citra sama dengan modul pelatihan hanya berbeda pada folder target

penyimpanan. Semua citra hasil pengujian akan disimpan di dalam folder hasil citra uji.

//method untuk mencari jarak Euclidean ternormalisasi

public void cariJarak(){

String nilaiUji = ambilFiturUji();

String[] potongUji = nilaiUji.split("; ");

Double[] u = new Double[potongUji.length];

Double uNorm = 0.0;

double min;

double d = 0.0;

/* array untuk menyimpan nilai jarak yang akan diuji*/

Double[] arrayD = new Double[160];

int h;

for( h=0; h < potongUji.length; h++) //perulangan saat pengambilan fitur citra uji {

u[h] = Double.parseDouble(potongUji[h]);

uNorm += (double) u[h] * u[h]; //sigma uh2 (hitung sigma uNorm)

}

uNorm = (double) Math.sqrt(uNorm); //(sigma (uh2))1/2

/* perulangan untuk mengambil fitur yang telah dilatih dalam database (sebanyak 160 fitur) */

for(int i=0; i < arrayD.length; i++) {

String nilaiLatih = ambilFiturLatih(i+1); //nilai fitur latih yang diambil

//mulai dari nomor indeks-1

String[] potongLatih = nilaiLatih.split("; ");

/*membuat array v dengan panjang sebesar fitur latih yaitu 100*/

Double[] v = new Double[potongLatih.length]; Double vNorm =

0.0;

for(int j=0; j < v.length; j++) //perulangan untuk menghitung sigma vNorm

{

v[j] = Double.parseDouble(potongLatih[j]);

vNorm += (double) v[j] * v[j]; // sigma vj2 (hitung sigma vNorm)


(6)

vNorm = (double) Math.sqrt(vNorm); //(sigma (vj 2

))1/2

/*perulangan menghitung nilai jarak Euclidean ternormalisasi*/

for(int j=0; j < u.length; j++)

{

//hitung jarak (d)

d += (double) (u[j]/uNorm-v[j]/vNorm)*(u[j]/uNorm-v[j]/vNorm);

d = (double) Math.sqrt(d);

}

arrayD[i] = (double) d; //menyimpan nilai setiap indeks arrayD dengan nilai

//hasil jarak (d)

System.out.println(arrayD[i]); //cetak nilai semua indeks dalam arrayD

}

/*kondisi pencarian nilai jarak (d) minimum*/

min = arrayD[0]; //inisialisasi nilai min = nilai indeks ke-0 arrayD

for (int k=1; k <arrayD.length; k++){ // pengecekan disetiap indeks arrayD

if(arrayD[k] < min){ //kondisi saat nilai arrayD lebih kecil dari nilai min

min = arrayD[k];

}

}


Dokumen yang terkait

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 9

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 2

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 1

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 1

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 1

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 1

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR GRAY LEVEL CO-OCCURENCE MATRIX (GLCM) DAN METODE K-NEAREST NEIGHBORS (K-NN) - UDiNus Repository

0 0 5

PENGENALAN CIRI GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR (GLCM) DAN METODE K-NN

0 0 10

BAB 2 LANDASAN TEORI 2.1. Garis Telapak Tangan - Pengenalan Garis Telapak Tangan Menggunakan Ekstraksi Fitur Operasi Blok Non-Overlapping Dan Pencocokan Jarak Euclidean Ternormalisasi

0 0 9

PENGENALAN GARIS TELAPAK TANGAN MENGGUNAKAN EKSTRAKSI FITUR OPERASI BLOK NON-OVERLAPPING DAN PENCOCOKAN JARAK EUCLIDEAN TERNORMALISASI SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi FUJI FRILLA KU

1 1 11