BAB 3 METODOLOGI PENELITIAN
3.1. Penentuan Masalah Penelitian Masalah – masalah yang dihadapi oleh penggunaan identifikasi sidik jari berbasis komputer, yaitu sebagai berikut : 1. Salah satu masalah dalam hal identifikasi sidik jari adalah kualitas dari citra sidik jari yang kurang baik (Zorita, Garcia, Aguilar, Rodriguez, 2003). Kinerja dari suatu sistem pengenalan sidik jari dipengaruhi oleh kualitas citra sidik jari. Beberapa faktor yang menentukan kualitas citra sidik jari : kondisi kulit (misalnya kekeringan, basah, kotor, memar, luka, dll), kondisi sensor atau scanner (misalnya kotoran, noise, ukuran). Oleh karena itu, sangat penting untuk sistem pengenalan sidik jari menyesuaikan beberapa langkah dari sistem pengenalan sidik jari berdasarkan pada kualitas citra sidik jari. Sistem pengenalan sidik jari terkadang masih melakukan kesalahan yang mungkin dikarenakan oleh citra sidik jari ataupun dari metode yang digunakan. Tingkat keakuratan identifikasi sidik jari akan berbeda satu dengan yang lainnya dikarenakan perbedaan metode menurut forensic medecine. 2. Waktu proses dalam identifikasi sidik jari berbasis komputer cukup lama. Contohnya pada database FBI yang berisi sekitar 70 juta sidik jari, waktu proses dan pencarian dibutuhkan waktu sangat lama, sehingga dibutuhkan metode yang memakan waktu proses sedikit (Prabahkar, Jain, 2003)
dan mengurangi kompleksitas komputasi
37
Sekarang ini banyak yang menggunakan identifikasi sidik jari, contohnya untuk absensi, pendataan di kepolisian, dan data penduduk, dll. Kepolisian bertugas untuk melakukan identifikasi sidik jari yang menempel pada benda di suatu kejadian, guna mengetahui identitas pemiliknya atau tersangka. Dalam proses identifikasi ini, petugas harus melakukan perbandingan citra sidik jari secara manual, dengan basis data citra sidik jari yang dimilikinya. Proses perbandingan sidik jari secara manual ini akan membutuhkan waktu yang relatif lama dibandingkan dengan mesin identifikasi yang lebih efisien dan efektif menurut Global info. Hal tersebut hanya baru pada kepolisian dalam proses identifikasi, data kependudukan yang jumlah penduduk yang sangat banyak seperti Indonesia. Identifikasi identitas seseorang yang jumlahnya sangat banyak sekali sangat tidak efisien dan memakan proses waktu yang lama.
38
3.2.
Alur Penelitian Penulis menggunakan alur penelitian untuk mengatasi masalah – masalah diatas
yang digambarkan pada flowchart berikut :
Gambar 3.1 Flowchart Penelitian
Pada gambar flowchart dapat dilihat, penelitian dimulai dengan pengembangan perangkat lunak metode wavelet dan backpropagation. Dalam perangkat lunak ini digunakan bahasa pemrograman C# dan menggunakan library AForge.NET. Pengembangan perangkat lunak ini berdasarkan referensi “Perancangan Program
39
Aplikasi Deteksi Iris Mata Dengan Transformasi Wavelet dan Backpropagation Untuk Keamanan Data Pribadi ” (Yanuar, 2010). Tahap selanjutnya adalah pengumpulan data penelitian. Data citra sidik jari merupakan populasi yang akan diuji. Citra sidik jari akan di training atau enroll pada perangkat lunak yang dikembangkan dan perangkat lunak verifinger, untuk analisis performance dan waktu proses kedua perangkat lunak tersebut. Data citra sidik jari yang akan digunakan didapatkan dari Biometric Ideal Test. Setelah perangkat lunak dengan metode wavelet dan backpropagation dikembangkan dan data telah dikumpulkan, maka tahap selanjutnya adalah training atau enroll dan identifikasi kedua perangkat lunak. Pada tahap training atau enroll, citra sidik jari dipelajari oleh kedua perangkat lunak. Pada tahap identifikasi, citra sidik jari dipilih dan diidentifikasi dengan citra yang sebelumnya dipelajari oleh kedua perangkat lunak pada tahap training atau enroll. Tahap selanjutnya adalah analisis hasil identifikasi kedua perangkat lunak dengan menggunakan False Match Rate (FMR) dan False Non Match Rate (FNMR) serta menghitung waktu proses. Pada perangkat metode wavelet dan backpropagation akan dilakukan penghitungan FMR dan FNMR serta waktu proses secara otomatisasi, sedangkan pada perangkat lunak verifinger akan dilakukan secara manual.
40
3.3. Pengumpulan Data Pada tahap ini, akan dikumpulkan sejumlah gambar sidik jari. Gambar sidik jari diambil dari Biometric Ideal Test. Terdapat 20,000 gambar sidik jari manusia dari 500 subyek yang telah diambil dengan menggunakan alat U Are U 4000 fingerprint sensor, tapi yang akan digunakan hanya 750 gambar sidik jari dikarenakan oleh keterbatasan pada proses training yang membutuhkan waktu yang lama jika data terlalu banyak dan keterbatasan pada komputer yang ada. Sidik jari diambil dari para relawan termasuk mahasiswa, pekerja, pelayan, dll. Setiap relawan diambil 40 sidik jari dari 8 jari (kiri dan kanan) yaitu jari jempol, jari telunjuk, jari tengah, dan jari manis. Setiap relawan diminta untuk merotasi jari mereka dengan berbagai tekanan untuk menghasilkan berbagai kelas image yang akan digunakan pada pendeteksian sidik jari. Dalam skripsi ini, akan diambil gambar sidik jari, di mana setiap orang diambil lima kali gambar sidik jarinya. Citra berukuran 328 x 356 dan merupakan file citra bertipe *.bmp. Contoh citra sidik jari dari Biometric Ideal Test dapat dilihat pada gambar 3.2.
Gambar 3.2. Contoh sidik jari yang diambil dari Biometric Ideal Test
41
Setiap dari gambar sidik jari akan dipasangkan dengan data diri, sehingga pada nantinya akan terdapat 150 data diri orang. Data diri akan dibuat palsu (fake) untuk mencocokkan citra sidik jari dengan database. Data palsu mencakup nomor identitas, nama, umur, agama, tanggal lahir dan jenis kelamin. Data yang akan diisi hanya beberapa 50 data.
Citra sidik jari
yang akan digunakan sebagai input untuk
perbandingan identifikasi perangkat lunak dengan menggunakan metode wavelet dengan verifinger sebanyak 750 citra sidik jari.
3.4. Perangkat Lunak Metode Wavelet dan Backpropagation Proses identifikasi sidik jari perangkat lunak dengan metode wavelet dan backpropagation, menggunakan transformasi wavelet untuk melakukan ekstraksi ciri dari citra sidik jari dan jaringan syaraf tiruan jenis backpropagation untuk melakukan identifikasi sidik jari. Pada subbab berikut proses – proses pada perangkat lunak ini (untuk lebih jelasnya, source code dapat dilihat pada lampiran).
3.4.1. Pemrosesan Citra Setelah sebuah citra digital sidik jari diperoleh, maka citra tersebut siap untuk digunakan pada tahap selanjutnya, yaitu pemrosesan citra. Tahap ini adalah tahap untuk memperbaiki mutu/kualitas dari suatu citra digital. Untuk memperbaiki mutu dari suatu citra, kita harus menghilangkan noise yang terdapat pada citra digital sidik jari. Proses
42
perbaikan kualitas citra yang dilakukan pada penelitian ini terbagi menjadi dua tahap yaitu: a. Thresholding Proses thresholding adalah proses untuk merubah citra grayscale/keabuan menjadi citra dengan dua warna yaitu hitam dan putih (biner). Setiap piksel pada citra akan diambil derajat keabuannya. Derajat keabuan dari sebuah citra dapat diperoleh dengan persamaan berikut:
3 S adalah nilai dari derajat keabuan sebuah piksel, sementara R, G, dan B secara berurutan adalah nilai dari warna merah, hijau dan biru. Pada citra keabuan, nilai dari layer R,G, dan B haruslah sama. Jika semuanya bernilai 0, maka warna yang dihasilkan adalah warna hitam, sementara jika semuanya bernilai 255, maka warna yang dihasilkan adalah warna putih, selain itu jika nilainya berada diantara 0 hingga 255 maka akan menghasilkan warna abu-abu sesuai dengan tingkat gradasinya.
43
Pseudocode untuk proses thresholding secara keseluruhan adalah sebagai berikut: Awal modul dari nilai y yang ke-0 hingga (lebar_gambar)-1 mulai dari nilai x yang ke-0 hingga (panjang_gambar)-1 mulai jika nilai piksel citra(x,y) lebih kecil dari nilai_ambang maka ubah nilai piksel citra(x,y) menjadi 0 selain itu ubah nilai piksel citra(x,y) menjadi 255 selesai selesai Akhir modul Proses thresholding ini akan membantu untuk mereduksi noise yang dimiliki oleh suatu citra. Nilai piksel yang lebih tinggi dari nilai ambang, akan secara otomatis diputihkan, sehingga sebagian noise akan terhapus. b. Penapisan/Filtering Penapisan atau filtering adalah sebuah proses untuk menentukan nilai dari suatu piksel dengan cara melakukan perhitungan dari nilai intensitas piksel-piksel disekeliling piksel tersebut. Pada penelitian ini, digunakan dua jenis penapisan yaitu: •
Tapis lolos rendah (Low pass Filter). Filter ini mempunyai tujuan untuk mempertegas bagian dengan frekuensi rendah pada suatu citra. Ia akan
44
melakukan pemerataan tingkat keabuan, sehingga membuat citra terlihat agar kabur kontrasnya. Namun demikian tapis
lolos rendah dapat
mengurangi sebagian efek noise yang ada pada sebuah citra. Ia akan mengurangi berbagai gangguan yang berbentuk garis tajam. Filter ini umumnya berbentuk matriks mask n x n, di mana n umumnya bernilai tiga atau lima. P adalah piksel pada citra yang akan di-filter, sementara C adalah titik tengah dari mask, yang akan diganti nilainya dan K adalah konstanta. Nilai dari konstanta adalah
, jadi untuk mask ukuran 3x3, nilai konstantanya
adalah 1/9. Adapun pseudocode dari mask 3x3 adalah: Awal modul luas = panjang_gambar*lebar_gambar; dari nilai y yang ke-0 hingga (lebar_gambar)-1 mulai dari nilai x yang ke-0 hingga (panjang_gambar)-1 mulai nilai_piksel(x,y) = nilai_piksel(x-1,y-1)*1/9 nilai_piksel(x,y-1)*1/9+nilai_piksel(x+1,y-1)*1/9 nilai_piksel(x-1,y)*1/9 + nilai_piksel(x,y)*1/9 nilai_piksel(x+1,y)*1/9 + nilai_piksel(x-1,y+1)*1/9 nilai_piksel(x,y+1)*1/9 + nilai_piksel(x+1,y+1)*1/9 selesai selesai Akhir modul
+ + + +
45
•
Tapis lolos tinggi (High pass Filter). Filter ini mempunyai karakter yang berlawanan dengan Low pass Filter. Ia bersifat memperkuat piksel-piksel dengan frekuensi yang tinggi. Penggunaan filter ini akan membuat garis batas antar obyek menjadi lebih tajam. Untuk menerapkan filter ini pada suatu citra, kita membutuhkan sebuah mask yang sama seperti pada bagian tapis lolos rendah, yaitu matriks mask 3x3. Perbedaannya hanya terletak pada nilai koefisiennya, yaitu K=-1/4. Pseudocode dari high pass filter adalah sebagai berikut: Awal modul luas = panjang_gambar*lebar_gambar; dari nilai y yang ke-0 hingga (lebar_gambar)-1 mulai dari nilai x yang ke-0 hingga (panjang_gambar)-1 mulai nilai_piksel(x,y)
=
nilai_piksel(x-1,y-1)*(-1/4)
+
nilai_piksel(x,y-1)*(-1/4) + nilai_piksel(x+1,y-1)*(-1/4) + nilai_piksel(x-1,y)*(-1/4)
+
nilai_piksel(x,y)*(-1/4)
+
nilai_piksel(x+1,y)*(-1/4) + nilai_piksel(x-1,y+1)*(-1/4) + nilai_piksel(x,y+1)*(-1/4) + nilai_piksel(x+1,y+1)*(-1/4) selesai selesai Akhir modul
46
3.4.2. Ekstraksi ciri Tahap ini bertujuan untuk melakukan ekstraksi ciri dengan metode dekomposisi Wavelet Haar. Setelah suatu citra melewati tahap pengolahan citra, maka citra tersebut siap untuk diekstrak cirinya. Pada penelitian ini, input pertama pada tahap ekstraksi ciri berukuran 128 x 128 piksel. Kita perlu menghitung level maksimum dari dekomposisi Wavelet yang mungkin dilakukan, dengan menggunakan rumusan yang telah diuraikan pada bagian sebelumnya. Pada penelitian ini, panjang datanya adalah 128, panjang filternya adalah dua, sehingga level maksimum dari dekomposisi Wavelet setelah dihitung dengan menggunakan rumusan adalah tujuh. Penelitian ini menggunakan level dekomposisi lima. Pada dekomposisi level pertama, citra dengan ukuran 128 x 128 piksel, akan menjadi citra dengan empat sub bidang pada ukuran yang lebih rendah yaitu 64 x 64 piksel. Keempat sub bidang ini akan membawa informasi yang berbeda, yaitu informasi aproksimasi, vertikal, horizontal, dan diagonal. Dekomposisi level kedua akan menghasilkan citra dengan ukuran 32 x 32 piksel, dekomposisi level ketiga akan menghasilkan citra dengan ukuran 16 x 16 piksel, dekomposisi level keempat menghasilkan citra dengan ukuran 8 x 8 piksel, dan dekomposisi level kelima menghasilkan citra dengan ukuran 4 x 4. Pada tahap selanjutnya. Adapun algoritma dari dekomposisi Wavelet ini adalah sebgai berikut: a.
Tahap 1 : Input citra diubah menjadi empat bagian citra baru dengan ukuran
2
2
.
47 b.
Tahap 2 : Tes kondisi berhenti, jika ukuran dari citra aproksimasi adalah 1 x 1 piksel atau telah mencapai level dekomposisi yang diinginkan, maka proses berhenti, jika tidak, ulangi tahap pertama dengan menggunakan citra aproksimasi sebagai input citra. Pada penelitian ini, hasil dari proses ekstraksi ciri pada citra berukuran 128 x
128 piksel ini adalah citra aproksimasi dengan ukuran 4 x 4 piksel. Kemudian setiap piksel ini akan diambil nilainya, dan dijadikan input layer dari jaringan syaraf tiruan. Total input yang dihasilkan adalah 16 sel.
3.4.3. Proses training dan testing Setelah semua data hasil dari ekstraksi citra didapat. Maka semua nilai akan dilatih dengan menggunakan jaringan syaraf tiruan backpropagation. Akan berlangsung dua langkah dalam backpropagation yaitu feedforward dan backward. Feedforward akan melakukan perhitungan dari matriks input dan matriks bobot, sedangkan backward akan memperbaiki matriks bobot. Jaringan syaraf tiruan ini dibangun dengan input sebanyak 16 buah, dan output sebanyak 8 buah. Selain itu, jaringan syaraf tiruan ini juga menggunakan satu lapisan tersembunyi dan jumlahnya adalah 10 buah. Jaringan syaraf tiruan akan menggunakan hidden layer dengan rumusan: Hidden Layer = (2/3 * Input Layer) + Output Layer
48
Fungsi aktivasi yang digunakan pada program ini adalah fungsi sigmoid. Pada proses training ini, jumlah epoch atau perulangan maksimum ditentukan sebanyak 10000 kali. Identifikasi akan melakukan proses testing dengan mencocokkan input gambar dengan hasil training. Dari input yang dimasukkan, akan diperoleh nilai output yang akan dicocokkan dengan basis data sidik jari. Setelah itu, input tersebut akan dikalikan dengan matriks bobot yang telah ditentukan pada tahap training. Perkalian antara matriks input dan matriks bobot, akan menghasilkan nilai output yang telah ditentukan pada tahap training. Output yang diperoleh ini akan menjadi primary key pada basis data, sehingga setiap output akan menunjuk satu identitas, yaitu pemilik dari sidik jari tersebut. Pada perangkat lunak ini akan ditambahkan juga penghitungan error rate. Error Rate akan menampilkan False Non-Match Rate dan False Match Rate dari kumpulan data yang ada, prosesnya adalah dari data yang ada 5 citra sidik jari perorang akan diambil 3 data citra untuk di training, data training tersebut akan di matching dengan seluruh data yang ada. Jika terjadi penerimaan identifikasi yang salah maka akan tertulis False Match dan jika suatu citra tidak dapat teridentifikasi maka terjadi False Non Match. Data False Match dan False Non Match akan dimasukkan ke dalam file bertipe .*csv, yang dapat dibuka pada Microsoft Excel ataupun notepad. Dari data Error Rate diketahui jumlah error yang terjadi pada pendeteksian sidik jari.
Pada gambar 3.3 menjelaskan flowchart dari proses perangkat lunak pendeteksian sidik jari dengan metode wavelet dan backpropagation.
49
Gambar 3.3. Flowchart Perangkat Lunak Metode Wavelet dan Backpropagation
50
3.5. Perangkat Lunak Verifinger Perangkat
lunak
verifinger
yang
akan
digunakan
untuk
perbandingan
menggunakan bahasa C#, perangkat lunak verifinger ini diberikan source code untuk pengembangan lebih lanjut, tetapi hanya komputer yang diberikan license dari verifinger yang dapat menjalankan program tersebut. Perangkat lunak ini menggunakan framework dari neurotec. Algoritma verifinger mengikuti skema identifikasi sidik jari yang diterima secara umum, yaitu dengan pendekatan minutiae dan juga dengan algoritma lain untuk meningkatkan kinerja dan keandalan sistem. Berikut beberapa penjelasan dari perangkat lunak verifinger : 1. Keandalan yang tinggi untuk deformasi sidik jari. 2. Toleransi terhadap sidik jari, rotasi, dan deformasi 3. Identifikasi yang cepat dengan menggunakan pre-sorted database entries 4. Kemampuan identifikasi (verification or identification) 5. Penentuan kualitas gambar (hanya kualitas terbaik yang disimpan ke dalam database). 6. Adaptive image filtration (menghilangkan noises, ridge yang rusak untuk ekstraksi minutiae yang baik) 7. Fitur mode generalisasi (mode pendaftaran sidik jari dari satu set sidik jari yang sama).
51
3.6. Proses Perbandingan Performance dan Waktu Proses Perbandingan perangkat lunak metode wavelet dan perangkat lunak verifinger akan menggunakan performance measure dan penghitungan time process. Dengan menggunakan komputer yang sama, kedua perangkat lunak akan dilakukan proses identifikasi sebanyak 750 citra sidik jari dari 450 citra sidik jari yang di training atau enroll, semua citra sidik jari diambil dari biometric ideal test seperti telah dijelaskan sebelumnya pada bagian pengumpulan data. Performance measure dilakukan dengan cara identifikasi seluruh citra yang dimasukkan dibandingkan dengan data training perangkat lunak metode wavelet ataupun hasil dari enrollment perangkat lunak verifinger. Citra data yang di training ataupun di enroll berjumlah 450 data. Hasil dari identifikasi kedua akan menghasilkan false match dan false non match. Dari hasil tersebut akan didapatkan tingkat keakuratan dari hasil identifikasi sidik jari kedua perangkat lunak. Selain data false match dan false non match tersebut didapatkan juga waktu proses dari identifikasi citra sidik jari kedua perangkat lunak. Perbandingan perangkat lunak berasal dari hasil tingkat keakuratan dan waktu proses identifikasi citra sidik jari tersebut.