BAB 3 ANALISA DAN PERANCANGAN SISTEM. input yang digunakan merupakan sebuah pemindai sidik jari dengan kedalaman pixel

dokumen-dokumen yang mirip
UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Ganjil tahun 2007/2008

BAB 3 METODOLOGI. 3.1 Kerangka Pikir

BAB 3 METODOLOGI PENELITIAN

IDENTIFIKASI SIDIK JARI DENGAN DATA BERSKALA BESAR MENGGUNAKAN METODE HYBRID MINUTIAE DAN FILTER GABOR. Oleh : Siswo Santoso

BAB 2 TINJAUAN PUSTAKA. Sistem biometrik merupakan teknologi pengenalan diri yang menggunakan

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

IMPLEMENTASI DAN EVALUASI

Identifikasi Tanda Tangan Menggunakan Transformasi Gabor Wavelet dan Jarak Minskowski

BAB 4 HASIL DAN PEMBAHASAN

ENHANCEMENT CITRA SIDIK JARI KOTOR MENGGUNAKAN TEKNIK HYBRID MORPHOLOGY DAN GABOR FILTER

BAB 3 ANALISA DAN PERANCANGAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENGGUNAAN METODE POINCARE INDEX DALAM PENDETEKSIAN LETAK COREPOINT PADA SIDIK JARI

BAB 3 PERANCANGAN SISTEM

BAB 3 METODE PERANCANGAN

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

Jurnal Pendidikan Fisika Indonesia 7 (2011) RANCANG BANGUN SISTEM PENGENALAN POLA SIDIK JARI MENGGUNAKAN METODE MINUTIAE

Penerapan Graf Terhubung untuk Menentukan Klasifikasi Sidik Jari

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

BAB 3 ANALISIS DAN PERANCANGAN

BAB 3 PROSEDUR DAN METODOLOGI. menawarkan pencarian citra dengan menggunakan fitur low level yang terdapat

BAB 3 PEMBAHASAN. 3.1 Sistem Absensi Berbasis Webcam

IDENTIFIKASI SIDIK JARI DENGAN MENGGUNAKAN STRUKTUR MINUTIA

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB 3 PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 3 METODOLOGI PENELITIAN. a. Spesifikasi komputer yang digunakan dalam penelitian ini adalah

BAB I PENDAHULUAN I.1 Latar Belakang

BAB 2 LANDASAN TEORI

BAB III ANALISA DAN PERANCANGAN

BAB 3 PERANCANGAN SISTEM. mendapatkan input, melakukan proses, dan menghasilkan output yang diinginkan oleh

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI

APLIKASI DETEKSI MIKROKALSIFIKASI DAN KLASIFIKASI CITRA MAMMOGRAM BERBASIS TEKSTUR SEBAGAI PENDUKUNG DIAGNOSIS KANKER PAYUDARA

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2005/2006

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 4. Sistem Yang Diusulkan

BAB I PERSYARATAN PRODUK

Analisis dan Perancangan Transformasi Wavelet. Untuk Jaringan Syaraf Tiruan pada. Pengenalan Sidik Jari

BAB 2 LANDASAN TEORI

PENGENALAN POLA SIDIK JARI

BAB III METODE PENELITIAN

BAB 3 PENANGANAN JARINGAN KOMUNIKASI MULTIHOP TERKONFIGURASI SENDIRI UNTUK PAIRFORM-COMMUNICATION

BAB III METODE PENELITIAN. dan bahan, agar mendapatkan hasil yang baik dan terstruktur. Processor Intel Core i3-350m.

BAB III PERANCANGAN Sistem Kontrol Robot. Gambar 3.1. Blok Diagram Sistem

Pengembangan Aplikasi Presensi Sidik Jari dengan menggunakan Alihragam Wavelet dan Jarak Euclidean di Dinas Pendidikan Kabupaten Wonogiri

BAB III PERANCANGAN SISTEM

SISTEM PENGENALAN WAJAH MENGGUNAKAN WEBCAM UNTUK ABSENSI DENGAN METODE TEMPLATE MATCHING

PENCARIAN CITRA BERDASARKAN BENTUK DASAR TEPI OBJEK DAN KONTEN HISTOGRAM WARNA LOKAL

Pertemuan 2 Representasi Citra

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan pada

BAB II LANDASAN TEORI

Rekognisi karakter optik merupakan salah satu aplikasi pengenalan pola yang

BAB 3 METODOLOGI. melakukan pengamatan dan analisis dari gambar yang didapat. Untuk bisa mendapatkan

BAB III METODE PENELITIAN

IDENTIFIKASI TANDA TANGAN DENGAN DETEKSI TEPI DAN KOEFISIEN KORELASI

BAB III OUTPUT PRIMITIF

DETEKSI NOMINAL MATA UANG DENGAN JARAK EUCLIDEAN DAN KOEFISIEN KORELASI

BAB III ANALISIS KEBUTUHAN DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN. telinga, wajah, infrared, gaya berjalan, geometri tangan, telapak tangan, retina,

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB II DASAR TEORI. 2.1 Meter Air. Gambar 2.1 Meter Air. Meter air merupakan alat untuk mengukur banyaknya aliran air secara terus

PERANCANGAN DAN PEMBUATAN APLIKASI UNTUK MENDETEKSI UANG LOGAM DENGAN METODE EUCLIDEAN

BAB I PENDAHULUAN. 1.1 Latar Belakang


YOGI WARDANA NRP

BAB I PENDAHULUAN 1.1 Latar Belakang

PENGENALAN CITRA TULISAN TANGAN DOKTER DENGAN MENGGUNAKAN SVM DAN FILTER GABOR

ANALISIS DAN IMPLEMENTASI METODE MINUTIAE EXTRACTION DAN TEMPLATE MATCHING UNTUK KLASIFIKASI SIDIK JARI

BAB 2 LANDASAN TEORI. Teknologi pengenalan teks merupakan teknologi yang mampu mengenali teks

APLIKASI TRANSAKSI VOUCHER MENGGUNAKAN RFID DAN FINGERPRINT

Tidak ada tepat satu teori untuk menyelesaikan problem pengenalan pola Terdapat model standar yang dapat dijadikan teori acuan

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Pengembangan Sistem Identifikasi Telapak Tangan dengan Menggunakan Metode Filter Bank Gabor

ANALISA HASIL PERBANDINGAN IDENTIFIKASI CORE POINT PADA SIDIK JARI MENGGUNAKAN METODE DIRECTION OF CURVATURE DAN POINCARE INDEX

BAB III ANALISIS DAN PERANCANGAN

BAB III METODE PENELITIAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PEMANFAATAAN BIOMETRIKA WAJAH PADA SISTEM PRESENSI MENGGUNAKAN BACKPROPAGATION NEURAL NETWORK

BAB I PENDAHULUAN 1.1. Latar Belakang 1.2. Rumusan Masalah

BAB 2 LANDASAN TEORI

BAB III PENGOLAHAN DATA

PENGOLAHAN CITRA DIGITAL

BAB III ANALISA DAN DESAIN SISTEM

BAB III METODE PENELITIAN

BAB III PERANCANGAN Bahan dan Peralatan

Perancangan dan Realisasi Sistem Ekstraksi Ciri Sidik Jari Berbasis Algoritma Filterbank Gabor

BAB II LANDASAN TEORI

BAB 3 ANALISA DAN PERANCANGAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI. 4.1 Spesifikasi Perangkat Keras dan Pera ngkat Lunak. program aplikasi dengan baik adalah sebagai berikut:

PENGENALAN KEASLIAN DAN NILAI UANG KERTAS RUPIAH UNTUK TUNA NETRA MENGGUNAKAN METODE INTEGRAL PROYEKSI DAN CANNY

BAB 2 TINJAUAN PUSTAKA

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem dengan cara menguraikan sistem tersebut kedalam elemen yang

Transkripsi:

BAB 3 ANALISA DAN PERANCANGAN SISTEM 3.1 Perancangan Sistem Sidik Jari Dalam prosesnya, sistem pengenal sidik jari bekerja hanya dengan memanfaatkan satu input dari user yang bersangkutan, yaitu sidik jari si user sendiri. Karena itu rancangan sistem yang dibangun pada sisi klien hanya akan menunjukkan perangkat input dan output yang terbatas penggunaannya kepada user. Perangkat input yang digunakan merupakan sebuah pemindai sidik jari dengan kedalaman pixel sebesar 500 Dpi dan perangkat outputnya berupa layar monitor 15 inchi. Sedangkan mekanisme sistem yang digunakan untuk bagian server merupakan perangkat keras yang digunakan untuk menyimpan data penting, berupa data sidik jari serta biodata pegawai dari sidik jari yang bersangkutan. Karenanya bagian server harus diletakkan ditempat yang tidak akan bisa diakses ataupun disentuh langsung oleh user maupun orang lain, hal ini berguna untuk menjaga keamanan agar tidak ada yang bisa melakukan pengrusakan pada database dan akhirnya mengacaukan kinerja sistem. Dengan menggunakan layar monitor 15 inchi untuk hasil output, user dapat melihat input yang telah dimasukkan olehnya melalui pemindai sidik jari dan melihat proses pencarian yang terjadi di layar, serta mengetahui hasil output yang ditampilkan oleh sistem.

Gambar 3.1 Skema perangkat keras untuk klien dan server Dengan melakukan input melalui pemindai yang ada, maka sistem akan memproses data yang telah dimasukkan oleh user. Pemrosesan data pada sistem pengenal sidik jari ini terbagi menjadi dua skenario utama yang dapat dilakukan, dan masing-masing skenario itu dilakukan sesuai keadaan yang sudah ditentukan sebelumnya. Adapun skenario yang dapat terjadi pada sistem sidik jari ini ialah sebagai berikut:

Tabel 3.1 Tabel use-case Use-Case Deskripsi Aktor yang berperan Input data Proses ini menggambarkan - Karyawan Baru keadaan saat seorang karyawan yang belum terdaftar mendaftarkan sidik jarinya serta memasukkan data-data dirinya ke dalam database. Identifikasi Proses ini menggambarkan - Karyawan keadaan saat seorang karyawan memasukkan sidik jarinya untuk melakukan identifikasi. Skenario input data dilakukan jika seorang karyawan baru yang sidik jarinya tidak teridentifikasi saat dimasukkan, meminta agar sidik jarinya didaftarkan ke dalam sistem database. Permintaan ini akan membutuhkan pemindaian sidik jari karyawan yang meminta, di mana fitur-fitur yang ada pada sidik jarinya akan diekstraksi dan disimpan ke dalam database. Setelah fitur sidik jari didapatkan, maka untuk memberi nama pada sidik jari tersebut dibutuhkan input berupa kelengkapan informasi mengenai karyawan (seperti nama lengkap, nomor induk karyawan, posisi, dan hal-hal lainnya). Setelah profil karyawan yang bersangkutan telah dimasukkan berarti proses input data baru telah selesai dan data sidik jari karyawan tersebut sudah bisa diidentifikasi pada saat nanti ia melakukan pemindaian sidik jari.

Gambar 3.2 Diagram Input data Saat ada seorang user yang merupakan seorang karyawan tercatat dalam sistem database menginput sidik jarinya, skenario yang dijalankan adalah melakukan proses ekstraksi fitur dan melakukan pencocokan data fitur sidik jari karyawan tersebut dengan data yang ada pada database. Setelah pencarian dilakukan dan ditemukan data yang dianggap sama, maka hasil output di monitor akan menyatakan bahwa proses identifikasi berhasil sekaligus menyatakan bahwa skenario identifikasi telah selesai dijalankan.

Gambar 3.3 Diagram Identifikasi Dalam pengembangannya, sistem diharuskan untuk mengenali bermacam-macam sidik jari dari banyak orang yang masing-masing harus dikenali perbedaannya. Setiap data yang disimpan ke dalam data base terbagi menjadi beberapa bagian data, kemudian data yang ada dikumpulkan dan dibagi menjadi beberapa tabel. Tabel yang digunakan salah satunya adalah tabel minutiae, yang berisikan datadata tentang kode minutiae, arah, tipe, dan kode sidik jari. Kode minutiae merupakan primary key yang berisikan data berupa nomor dan huruf yang unik, yang berguna untuk menunjukkan arah dan tipe minutiae yang ditunjuk sesuai kode. Sedangkan arah menjelaskan tentang ke arah mana suatu titik minutiae menghadap, dapat

menghadap ke atas, ke bawah, ke kiri, ke kanan, ataupun secara diagonal bawah-kiri, bawah-kanan, atas-kiri, dan atas-kanan. Kemudian kolom tipe merupakan data yang berisikan tentang jenis titik minutiae yang didapat, baik itu jenis bercabang (bifurcation) ataupun ujung (ridge ending). Terakhir adalah kode sidik jari yang merupakan nomor kode yang membedakan identitas setiap sidik jari. Tabel 3.2 Tabel Minutiae Nama Field Type Key Keterangan kode_minutiae Varchar(255) Primary key Menyimpan data titiktitik minutiae arah Varchar(255) - Menyimpan arah titikttitik minutiae tipe Varchar(255) - Menyimpan jenis titiktitik minutiae kode_sidik_jari Big integer Foreign key Menyimpan nomor sidik jari kx Integer - Menyimpan koordinat x minutiae ky Integer - Menyimpan koordinat y minutiae Tabel lain yang digunakan adalah tabel data sidik jari, di mana di dalam tabel sidik jari tersebut berisikan data-data tentang kode sidik jari, jari, dan kode pegawai. Kode pegawai berguna untuk memberikan nomor kode bagi sidik jari yang akan

disimpan ke dalam data base yang berupa huruf dan angka unik, hal ini membantu dalam proses pencarian agar lebih mudah nantinya. Sedangkan untuk data jari, digunakan untuk membedakan jenis jari yang dipakai oleh pegawai untuk mengabsen pada mesin pemindai (misal: jari jempol kiri, jari telunjuk kiri, jari jempol kanan, jari telunjuk kanan, dll). Lalu kode sidik jari merupakan nomor kode yang membedakan identitas setiap sidik jari, sama dengan yang ada pada tabel minutiae tetapi berfungsi sebagai primary key pada tabel sidik jari. Tabel 3.3 Tabel sidik_jari Nama Field Type Key Keterangan kode_sidik_jari Big integer Primary key Menyimpan nomor sidik jari jari Varchar(255) - Menyimpan jari yang digunakan pegawai kode_pegawai Big integer Foreign key Menyimpan nomor induk pegawai tipe Varchar(255) - Menyimpan tipe sidik jari Tabel yang ke tiga adalah tabel pegawai, yang sesuai namanya berisikan informasi mengenai pegawai, yaitu; nama, alamat, dan kode pegawai. Kolom nama merupakan data yang berisi mengenai nama lengkap si pegawai. Sedangkan alamat merupakan informasi mengenai alamat pegawai yang bersangkutan, isinya dapat

berupa huruf dan juga angka. Kemudian kode pegawai merupakan data yang sama seperti ada di tabel sidik jari, tetapi pada tabel ini merupakan primary key. Tabel 3.4 Tabel pegawai Nama Field Type Key Keterangan kode_pegawai Big integer Primary key Menyimpan nomor induk pegawai nama Varchar(255) - Menyimpan nama pegawai alamat Varchar(255) - Menyimpan alamat pegawai Terakhir adalah tabel kehadiran yang mencatat data harian seperti jam masuk dan jam keluar, serta kode kehadiran dan kode pegawai. Yang bertindak sebagai primary key adalah kode kehadiran yang memiliki nilai auto increment dan diupdate otomatis secara berkala. Kode pegawai yang merupakan foreign key dari tabel pegawai, berguna untuk menentukan data siapa yang sedang dicatat dan disimpan ke dalam database. Jam masuk merupakan data berupa datetime yang menyimpan waktu kedatangan saat seseorang datang mendaftarkan sidik jarinya. Sebaliknya dengan jam masuk, jam keluar menyimpan waktu saat seseorang keluar dan memindai sidik jarinya lagi untuk kedua kali, maka akan tersimpan dalam bentuk datetime sebagai waktu pulangnya pegawai tersebut.

Tabel 3.5 Tabel Kehadiran Nama Field Type Key Keterangan kode_kehadiran Big integer Primary key Menyimpan nomor urut kode_pegawai Big integer Foreign key Menyimpan nomor induk pegawai jam_masuk Time - Menyimpan waktu masuk pegawai jam_keluar Time - Menyimpan waktu keluar pegawai Gambar 3.4 Relasi antar tabel 3.2 Identifikasi Sidik jari Secara umum, prosoes pengenalan sidik jari pada paper ini akan dibagi menjadi tiga tahapan utama: Pra-proses, yang merupakan tahap pengakuisisian data yang bersih dari noise dan dapat dilakukan dengan beberapa cara baik itu inked (menggunakan tinta) maupun inkless (tidak menggunakan tinta). Pengambilan data yang

menggunakan tinta bersifat offline karena citra sidik jari tidak bisa langsung diproses begitu saja oleh komputer, melainkan harus diubah menjadi citra dijital terlebih dahulu setelah sebelumnya merupakan citra analog dari jari yang diolesi tinta kemudian ditekankan pada permukaan kertas. Hasil pengambilan citra dengan metode ini biasanya tergantung jenis tinta yang dipakai. Sedangkan metode inkless merupakan pengakuisisian yang sifatnya online karena gambar sidik jari yang didapat langsung berupa citra dijital hasil dari mesin pemindai khusus sidik jari. Metode ini menghasilkan kualitas citra yang baik sesuai dengan kualitas mesin pemindai yang digunakan. Ekstraksi minutiae, citra yang telah didapat akan diproses untuk tahapan selanjutnya yaitu mengambil karakteristik yang terdapat pada sidik jari. Karakteristik yang akan diambil adalah karakterisasi tipe pada sidik jari dan ekstraksi titik-titik minutiae itu sendiri dengan menggunakan logika samar. Pasca-proses, merupakan tahapan akhir yang melibatkan proses matching antara data yang telah didapat dengan data yang ada pada data base. Data yang dibandingkan merupakan data-data karakteristik yang didapat pada proses pengekstraksian minutiae, bukan mencari persamaan ataupun perbedaan antara keduanya menggunakan citra itu sendiri. Setiap proses identifikasi secara global merupakan pengembangan dari tiga tahapan utama ini, di mana setiap prosesnya mempunyai modul tersendiri yang berguna dalam pengembangannya agar dapat dilakukan secara terpisah untuk setiap proses.

Gambar 3.5 Proses identifikasi sidik jari 3.2.1 Pra-proses Tahap pra-proses ini secara garis besar merupakan tahap pemrosesan citra yang dilakukan untuk menghilangkan noise-noise yang mungkin terjadi setelah pengambilan citra selesai dilakukan. Pertama-tama, dalam pengenalan sidik jari proses awal yang harus dilakukan adalah mendapatkan data sidik jari, yang

dalam hal ini dapat dilakukan dengan dua metode yaitu dengan menggunakan tinta atau dengan menggunakan scanner khusus sidik jari. Jika menggunakan tinta sebagai alat bantu untuk memperoleh sidik jari, setelah diberikan tinta maka jari harus ditekan kuat kepada secarik kertas, kemudian dilakukan digitalisasi dengan menggunakan scanner. Tetapi pemberian tinta benar-benar harus diperhatikan karena jika saat pengolesan tinta yang terlalu banyak dapat menyebabkan gangguan pada hasil citra, sehingga dapat menimbulkan kehilangan informasi. Sedangkan jika menggunakan scanner sidik jari maka tidak diperlukan proses digitalisasi karena hasil dari scanner tersebut adalah sebuah citra digital yang dapat langsung diproses untuk selanjutnya. Gambar 3.6 Perbedaan hasil citra dari dua cara yang berbeda

Proses perbaikan citra seharusnya merupakan proses yang panjang melalui beberapa filter seperti low-pass filter, high-pass filter, dan juga rankfilter. Di mana masing masing filter ini mempunyai kegunaan tersendiri, tetapi tetap pada satu tujuan yaitu mengurangi noise pada gambar. Jika low-pass menjaga detail gambar yang memiliki perubahan spasial yang rendah dan memfilter gambar yang perubahan spasialnya tinggi atau noise, maka high-pass akan melakukan sebaliknya dengan kata lain akan memfilter citra yang perubahan spasialnya rendah atau blur. Sedangkan rank filter merupakan filter yang bekerja secara non-linier dan bekerja untuk menghilangkan noise seperti low-pass tetapi lebih kepada noise yang bersifat impulse atau titik. Tetapi dengan menggunakan metode pengambilan citra sidik jari dengan menggunakan scanner khusus, penggunaan filter tidak terlalu dibutuhkan. Karena hasil citra yang didapat dari pemindai memiliki kualitas yang sudah cukup baik, walaupun agar memiliki kualitas citra yang lebih baik lagi tetap harus dilakukan filterisasi citra. Penggunaan filter yang dimaksud adalah filter Gabor, yang dapat meningkatkan ketajaman dan menghilangkan gangguan yang mungkin terjadi pada citra, misalnya tangan yang berkeringat. Citra digital yang telah didapat kemudian akan dikonversi menjadi citra biner agar lebih mudah dikenali oleh komputer. Tetapi sebelum dilakukan konversi menjadi citra biner, akan dilakukan peningkatan gambar dengan menggunakan teknik filter Gabor. Untuk melakukan proses perbaikan citra dengan tehnik Gabor Filter kita memerlukan local rigde orientation yang berguna untuk menentukan arah orientasi dari suatu blok pada citra yang juga berguna dalam menentukan titik pusat dari suatu sidik jari.

Pertama-tama dilakukan pembagian citra menjadi blok-blok berukuran w x w, kemudian hitung gradient dari masing-masing blok, setelah itu hitung local ridge orientation dengan persamaan berikut ini:...[3.1]...[3.2]...[3.3] Local ridge orientation field harus ditentukan pada citra yang sudah didapat. Untuk menghitung local ridge orientation field ini, pertama-tama citra harus dibagi menjadi beberapa blok yang tidak akan over-lap (ukuran 6 x 6 piksel dalam kasus ini). Lalu, local ridge orientation direpresentasikan dalam bentuk array yang setiap elemen-elemen didalamnya mewakili arah orientasi ridge dalam ukuran blok 6 x 6 dari citra asli. Field orientasi θ(i,j) dihitung dengan menggunakan rumus [3.2]. Vx(i,j) dan Vy(i,j) berguna untuk mendefinisikan lokasi vertikal dan horizontal pada field orientasi. V x(i,j) dan V y(i,j) mewakili nilai yang didapat setelah diperhalus oleh blok kernel 6 x 6 W(m,n). Gx(x,y) dan Gy(x,y) merupakan gradien horizontal dan vertical. Dan bisa dikalkulasikan menggunakan edge mask Sobel 3 x 3 atau cara lain yang cocok penggunaannya. Orientasi local

mempunyai ambiguitas tepat sebesar 180, tetapi hal ini tidaklah berpengaruh. Kita dapat selalu menganggapnya sebagai jarak antara positif 90 dan negative 90 lalu menyetelnya sesuai kebutuhan. Akhirnya, varians sample dari ridge orientation field diperhitungkan dengan: [3.4] Di mana n dan m adalah dimensi dari field orientasi. Blok-blok yang sama sekali tidak mempunyai ridge tidak dimasukkan ke dalam perhitungan varians. Karena blok seperti itu mudah dideteksi karena gradient horizontal dan vertical keduanya tak mempunyai nilai. Filter Gabor merupakan metode yang paling efektif untuk meningkatkan kualitas sebuah citra, karena Gabor filter memiliki fitur frequency-selective dan orientation-selective yang akan membuat hasil resolusi sebuah citra menjadi lebih optimal. Tujuan peningkatan citra dengan filter Gabor ini adalah untuk mendapatkan hasil citra yang lebih tajam dan menambah kualitas citra yang berarti mengurangi noise yang mengganggu proses pengenalan pola sidik jari. Rumus simetrik dua dimensi Gabor filter adalah seperti ini: G θ, f (x, y) = exp { -½ [ (x 2 /δ x 2 ) + (y 2 /δ y 2 ) ]} cos (2π f x ),...[3.5] x = x sin θ + y cos θ,...[3.6] y = x cos θ y sin θ...[3.7]

Untuk meningkatkan kualitas citra dengan Gabor filter ini, ke empat parameter (x, y; f, θ) harus ditentukan. Sigma (x) dan (y) merupakan titik orientasi koordinat sepanjang sumbu x dan sumbu y pada suatu citra. Sedangkan (f) merupakan tingkat frekuensi gelombang bidang sinusoid yang nilainya ditentukan berdasar local ridge frequency, di mana nilainya tergantung dari spasi atau jarak yang ada antar ridge pada citra sidik jari. Dari hasil pengukuran kembali, alat sensor sidik jari menghasilkan jarak ruang antar ridge rata-rata adalah sekitar 8 piksel, dengan begitu kita dapat menentukan nilai eksaknya adalah f = 1/8. Sudut (θ) merupakan nilai orientasi sudut terhadap sumbu x yang nilainya ditentukan oleh hasil local ridge orientation, di mana berkaitan dengan delapan arah orientasi dalam filter yaitu: 0º, 22,5 º, 45 º, 67,5 º, 90 º, 112,5 º, 135º, 157,5 º. Untuk menentukan nilai standar deviasi δ x dan δ y, pemilihan nilai yang besar lebih bertahan terhadap noise, tetapi tidak akan memberikan informasi ridge pada tingkatan yang lebih baik. Sebaliknya untuk nilai yang kecil akan rentan terhadap noise, tetapi dapat memberikan informasi ridge yang lebih baik. Berdasarkan data empiris yang ada, biasanya kedua nilai standar deviasi δ x dan δ y diset dengan nilai yang sama dengan 4. 3.2.2 Pencarian titik singular dan tipe sidik jari Titik singular merupakan sebuah titik yang dianggap sebagai titik tengah sebuah sidik jari, yang berguna untuk mempermudah dalam perhitungan

persamaan saat melakukan identifikasi. Selain itu titik singular biasanya merupakan tanda bahwa pola sidik jari dapat dicari di sekitar tempat titik singular berada. Logika samar berbasis aturan dapat diaplikasikan di sini, baik untuk mencari titik singular maupun tipe sidik jari. Basis aturan yang dipakai memiliki fungsi membership dasar seperti, mengenali garis horizontal, garis vertikal, garis diagonal kiri, dan garis diagonal kanan. Dengan menggunakan ke empat variabel seperti ini maka pencarian titik singular dapat dilakukan. Fungsi membershipnya adalah seperti ini Gambar 3.7 Fungsi membership berdasar sudut Sedangkan untuk mengaplikasikannya digunakan masking berbentuk kubus yang berukuran 3x3 piksel, yang setiap piksel akan diperiksa dengan cara

pemetaan pada setiap sudut dari ujung kiri atas menuju ujung kiri bawah. Bentuk kubusnya adalah seperti ini: Gambar 3.8 Kubus pencari titik singular Piksel satu, piksel tiga, piksel tujuh, dan piksel Sembilan akan digunakan sebagai acuan penggunaan aturan logika. Nilai nol (0) adalah saat dimana piksel tersebut tidak terdapat alur, sedangkan nilai satu (1) merupakan saat dimana piksel mendeteksi adanya alur sidik jari. Berdasarkan empat kombinasi letak alur berada dapat diketahui bentuk alurnya (misalnya garis horizontal, garis vertical, ataupun garis diagonal), contoh pendeteksian garisnya dapat dilihat pada gambar di bawah ini.

Gambar 3.9 Pendeteksian kubus mengenali tipe garis yang ada Titik singular titik singular merupakan titik yang ditandai pada saat terbacanya perubahan gradien yang terbesar. Dengan kata lain, titik singular merupakan titik tempat suatu alur membuat lengkungan sudut yang paling kecil. Dapat dipastikan bahwa jika garis diagonal kanan bertemu dengan garis diagonal kiri, maka terjadilah perubahan gradient terbesar yang menandakan disanalah tempat titik singular berada. Sedangkan untuk mendeteksi tipe sidik jari cukup dengan menambahkan basis aturan setelah titik singular telah ditemukan. Bentuk tipe yang dapat

dideteksi ada empat tipe yaitu, putaran kiri (left loop), putaran kanan (right loop), lengkungan (arch), dan lingkaran (whorl). Gambar 3.10 Pendeteksian kemungkinan tipe putaran kiri Gambar 3.11 Pendeteksian kemungkinan tipe putaran kanan

Gambar 3.12 Pendeteksian kemungkinan tipe lengkungan Gambar 3.13 Pendeteksian kemungkinan tipe lingkaran 3.2.3 Ekstraksi minutiae Setelah citra dengan kualitas gambar yang bersih telah didapat maka pengakuisisian data telah selesai. Lalu proses selanjutnya adalah mengekstraksi fitur yang ada pada sidik jari, yaitu titik minutiae. Beberapa fitur penting yang bisa diekstrak dan digunakan untuk melakukan pengenalan titik-titik minutiae adalah pengekstraksian titik-titik ujung (ridge ending) dan titik-titik cabang

(bifurcation) pada sidik jari dengan menggunakan cara masking atau pemetaan pada citra yang disertai dengan logika samar berbasis aturan. Logika samar yang akan diaplikasikan disini mampu mengenali dua tipe titik minutiae, titik ujung dan cabang. Kedua titik ini memiliki kriterianya masing-masing, sebagai contoh; titik ujung hanya melibatkan satu jalur pola yang terputus di ujungnya; titik cabang melibatkan tiga jalur pola yang bertemu menjadi satu di satu titik. Pembuatan logika samar terhadap dua titik minutiae ini lalu diorientasikan kepada delapan arah mata angin, hal ini membuat setiap kemungkinan arah minutiae dapat terdeteksi dengan baik. Dengan membuat aturan-aturan yang berguna untuk mengenali berbagai macam bentuk minutiae, logika samar akan diaplikasikan kepada sebuah masking window berbentuk kubus yang berukuran 6 x 6 piksel di mana masking ini berfungsi selayaknya pemetaan terhadap jalur-jalur yang terdapat pada jari. Gambar 3.14 Kubus pemetaan titik minutiae Kubus ini akan diberikan aturan agar dapat mengenali titik-titik minutiae yang ada pada sidik jari dan dapat mengenalinya dari berbagai arah. Sebagai

contoh (Gambar 3.15) kubus akan mengenali titik ujung yang berakhir di sebelah kanan alur, berakhir di sebelah kiri alur, ataupun titik ujung yang bergerak diagonal dan berakhir ke arah kanan atas, serta arah lainnya. Empat kubus yang berada pada inti akan digunakan untuk menunjukkan lokasi tepat koordinat titik minutiae pada alur yang bersangkutan.

Gambar 3.15 Contoh deteksi titik ujung Selain titik ujung, kubus ini juga akan dapat mengenali titik minutiae yang berupa bentuk cabang. Di mana bentuk cabang ini merupakan alur seperti

garis yang pada titik ujungnya terbagi menjadi dua alur. Pengenalan titik minutiae bentuk cabang ini juga ditranslasikan kepada delapan arah yang berbeda, untuk menanggung semua kemungkinan terjadinya arah percabangan alur yang ada. Gambar 3.16 Titik-titik minutiae Dengan melihat gambar 3.17 kita dapat melihat pemutusan titik minutiae dari alur yang bercabang, penyatuan dua alur dari arah kiri, penyatuan dua alur dari arah atas, penyatuan dua alur dari arah diagonal, dan berbagai kemungkinan lain terjadinya percabangan.

Gambar 3.17 Contoh deteksi titik cabang

Setiap bentuk yang dikenali merupakan bentuk unik yang membentuk suatu formasi, yang diterjemahkan ke dalam bentuk bahasa samar (fuzzy linguistic) sehingga dapat menghasilkan pengetahuan berbasis aturan bagi sistem logika samar yang dapat menyatakan bentuk-bentuk minutiae yang diekstraksi. Membership function yang digunakan yaitu: Membership function Dot Membership function Line Membership function Branch Bentuk membershipnya adalah seperti ini: Gambar 3.18 Membership function Sedikit dan Banyak Aturan-aturan logika yang dibuat sesuai dengan fitur yang ada pada kubus pencari, dimana kubus dibagi menjadi 9 node yang masing-masing

berukuran 2x2 piksel. Delapan node kubus berfungsi untuk mendeteksi alur disebut dengan node alur, satu node lagi berfungsi untuk menentukan titik minutiae yang disebut sebagai node utama. Gambar 3.19 Node penentu titik minutiae Dasar Aturan Titik Ujung: 1. IF node 1 is empty node 2 is empty

node 3 is empty node 4 is line node 5 is dot node 6 is empty node 7 is empty node 8 is empty node 9 is empty THEN titik ujung kanan detected 2. IF node 1 is empty node 2 is empty node 3 is empty node 4 is empty node 5 is dot node 6 is line node 7 is empty node 8 is empty node 9 is empty THEN titik ujung kiri detected 3. IF node 1 is empty node 2 is line node 3 is empty node 4 is empty

node 5 is dot node 6 is empty node 7 is empty node 8 is empty node 9 is empty THEN titik ujung bawah detected 4. IF node 1 is empty node 2 is empty node 3 is empty node 4 is empty node 5 is dot node 6 is empty node 7 is empty node 8 is line node 9 is empty THEN titik ujung atas detected 5. IF node 1 is empty node 2 is empty node 3 is empty node 4 is empty node 5 is dot node 6 is empty node 7 is line

node 8 is empty node 9 is empty THEN titik ujung kanan atas detected 6. IF node 1 is empty node 2 is empty node 3 is empty node 4 is empty node 5 is dot node 6 is empty node 7 is empty node 8 is empty node 9 is line THEN titik ujung kiri atas detected 7. IF node 1 is line node 2 is empty node 3 is empty node 4 is empty node 5 is dot node 6 is empty node 7 is empty node 8 is empty node 9 is empty

THEN titik ujung kanan bawah detected 8. IF node 1 is empty node 2 is empty node 3 is line node 4 is empty node 5 is dot node 6 is empty node 7 is empty node 8 is empty node 9 is empty THEN titik ujung kiri bawah detected Dasar Aturan Titik Cabang: 1. IF node 1 is dot node 2 is empty node 3 is line node 4 is dot node 5 is line node 6 is empty node 7 is empty node 8 is line node 9 is empty OR

IF node 1 is line node 2 is empty node 3 is dot node 4 is dot node 5 is line node 6 is empty node 7 is empty node 8 is line node 9 is empty THEN titik cabang atas detected 2. IF node 1 is empty node 2 is line node 3 is empty node 4 is dot node 5 is line node 6 is empty node 7 is dot node 8 is empty node 9 is line OR IF node 1 is empty node 2 is line node 3 is empty

node 4 is empty node 5 is line node 6 is dot node 7 is line node 8 is empty node 9 is dot THEN titik cabang bawah detected 3. IF node 1 is empty node 2 is dot node 3 is dot node 4 is line node 5 is line node 6 is empty node 7 is empty node 8 is empty node 9 is line OR IF node 1 is empty node 2 is empty node 3 is line node 4 is line node 5 is line node 6 is empty

node 7 is empty node 8 is dot node 9 is dot THEN titik cabang kanan detected 4. IF node 1 is line node 2 is empty node 3 is empty node 4 is empty node 5 is line node 6 is line node 7 is dot node 8 is dot node 9 is empty OR IF node 1 is dot node 2 is dot node 3 is empty node 4 is empty node 5 is line node 6 is line node 7 is line node 8 is empty node 9 is empty

THEN titik cabang kiri detected 5. IF node 1 is line node 2 is empty node 3 is empty node 4 is empty node 5 is branch node 6 is line node 7 is empty node 8 is line node 9 is empty THEN titik cabang kanan bawah detected 6. IF node 1 is empty node 2 is empty node 3 is line node 4 is line node 5 is branch node 6 is empty node 7 is empty node 8 is line node 9 is empty THEN titik cabang kiri bawah detected

7. IF node 1 is empty node 2 is line node 3 is empty node 4 is empty node 5 is branch node 6 is line node 7 is line node 8 is empty node 9 is empty THEN titik cabang kanan atas detected 8. IF node 1 is empty node 2 is line node 3 is empty node 4 is line node 5 is branch node 6 is empty node 7 is empty node 8 is empty node 9 is line THEN titik cabang kiri atas detected

Setelah titik-titik minutiae selesai diekstraksi, maka berbagai informasi yang didapat dari sidik jari akan disimpan ke dalam memori sementara untuk melakukan proses selanjutnya. 3.2.4 Pasca-proses Setelah data sidik jari didapatkan, maka proses selanjutnya adalah membandingkan data sementara dengan data yang ada pada database. Secara spesifik, konfigurasi global didefinisikan oleh struktur ridge yang digunakan untuk mengklasifikasikan suatu kelas dari sidik jari. Pada saat pendistribusian, titik-titik minutiae digunakan untuk membandingkan atau menyepadankan (match) jarak antara titik pusat sidik jari terhadap titik-titik minutiea dengan pola yang sejenis dan membentuk kesamaan ciri atau pola diantara dua sidik jari sampel. Sistem identifikasi otomatis untuk sidik jari, yang berfungsi membandingkan sidik jari sebagai input dengan sekumpulan data sidik jari dalam suatu database, menyandarkan pada pola-pola ridge didalam suatu citra query untuk membatasi atau menspesifikasi pencarian (searching) didalam suatu database yang merupakan fingerprint indexing dan pada titik-titik minutiae untuk memastikan perbandingan sidik jari yang relevan. Proses matching dilakukan setelah tahap feature extraction selesai. Pada tahap ini proses pengubahan koordinat relatif (0,0) dilakukan. Hal ini dikarenakan koordinat pada tahap ekstraksi Minutiae adalah koordinat Minutiae berdasarkan titik (0,0) yang berada pada ujung kiri atas. Koordinat (0,0) yang baru adalah koordinat yang didapat dari singular point citra sidik jari pada tahap

pendeteksian tipe sidik jari, dengan demikian posisi koordinat Minutiae tidak akan berubah walaupun terjadi translasi pada sidik jari. Adapun perubahan titik relatif dari Minutiae adalah sebagai berikut : Keterangan : Koordinat Minutiae adalah (Xm, Ym) Koordinat Singular Point adalah (Xs, Ys) Koordinat Minutiae yang baru adalah (Xms, Yms) : Xms = Xm Xs Yms = Ys Ym Setelah pengubahan titik relatif tersebut maka citra sidik jari akan diwakilkan dengan titik minutiae-nya yang berupa ridge ending dan bifurcation. Berdasarkan koordinat Minutiae yang baru tersebut maka proses matching bisa dilaksanakan dengan lebih mudah karena otomatis 2 set Minutiae dari sidik jari orang yang sama akan memiliki minutiae dengan jarak relatif ke titik pusat yang sama pula. Dengan memetakan koordinat minutiae terhadap titik pusat sidik jari, maka pergeseran penempatan sidik jari pada waktu scanning untuk orang yang sama pada waktu yang berbeda juga dapat diantisipasi karena citra sidik jari mengalami translasi, tetapi minutiae beserta titik pusatnya akan memiliki jarak relatif yang sama meskipun mengalami pergeseran. Pseudocode untuk proses matching adalah sebagai berikut: Keterangan : Count1 = jumlah Set Minutiae 1 dari sidik jari 1 M1(X1i, Y1j) = koordinat minutiae dari set minutiae1 Count2 = jumlah Set Minutiae 2 dari sidik jari 2

M2(X2i, Y2j) = koordinat minutiae dari set minutiae2 D Match = jarak Euler antara dua titik = jumlah minutiae dari set 1 yang sama dengan minutiae dari set 2 MT1(i,j) = Tipe minutiae dari set minutiae 1 MT2(i,j) = Tipe minutiae dari set minutiae 2 Pseudocodenya adalah sebagai berikut : for j = 0 to count1 for i = 0 to count2 if (MT1(i,j) = MT2(i,j) and (MT2(i,j) belum disamakan) THEN D = {(x1i x2i) 2 + (y1j y2j) 2 } If D < 25 pixel THEN match = match + 1 endif endif end Pada tahap matching tiap set minutiae1 akan dicocokkan dengan set minutiae2, dan pada tahap tersebut tiap minutiae hanya boleh disamakan satu kali. Pada akhirnya kita bisa menentukan apakah dua set minutiae yang berasal dari sidik jari tersebut merupakan sedik jari dari orang yang sama dengan melihat jumlah minutiae yang sama. Sedangkan D adalah jarak antara 2 titik minutiae yang ingin disamakan. Nilai D digunakan untuk mengantisipasi penempatan titik pusat yang tidak mungkin 100% akurat pada titik yang sama sehingga jika

diantara 2 minutiae yang ingin disamakan berada pada radius 25 pixel, maka 2 minutiae tersebut dianggap sama. Setelah semua minutiae pada citra sidik jari telah disamakan, maka akan didapatkan jumlah minutiae yang sama pada kedua citra sidik jari tersebut. Parameter yang digunakan untuk mengetahui apakah kedua citra sidik jari berasal dari orang yang sama adalah jumlah minutiae yang sama dan perbandingan jumlah minutiae yang sama terhadap total jumlah minutiae yang ingin disamakan. Contoh pseudocode-nya adalah sebagai berikut : if (match > T) or (match / count > Tp) THEN fingerprint matched else rejected endif Keterangan : Match T = jumlah minutiae yang sama = threshold jumlah minutiae Tp = threshold perbandingan jumlah minutiae (%) Count = jumlah minutiae pada sidik jari yang ingin disamakan Kedua parameter ini berguna untuk mengantisipasi jika minutiae pada sidik jari yang ingin disamakan memiliki jumlah minutiae yang lebih sedikit dari jumlah threshold minutiae dikarenakan luas area citra sidik jari yang tidak lengkap, namun jika dibandingkan dengan jumlah minutiae yang diekstraknya maka akan memiliki persentase yang besar yang menandakan bahwa sebagian

besar minutiae pada citra sidik jari tersebut memiliki kesamaan yang besar dengan citra sidik jari yang tersimpan pada database. Keseluruhan sistem verifikasi sidik jari terbagi dalam mode identifikasi dan autentifikasi, dimana mode autentifikasi berarti melakukan proses matching terhadap satu sidik jari apakah sidik jari tersebut sama dengan sidik jari yang disimpan pada mode enrollment. Sedangkan pada mode identifikasi, proses matching dilakukan pada semua sidik jari yang tersimpan pada database untuk melihat mana sidik jari yang memiliki kemiripan tertinggi proses identifikasi didasarkan atas proses autentifikasi, hanya saja prosesnya dilakukan pada banyak sidik jari. Karakteristik yang diekstrak pada citra sidik jari nantinya akan memiliki ukuran sebesar kurang lebih 300 bytes. Dengan demikian sidik jari yang tersimpan didatabase akan memiliki ukuran yang kecil jika dibandingkan dengan apabila yang disimpan adalah citra sidik jari itu sendiri. Selain itu proses matching dapat dilakukan dengan lebih cepat karena ekstraksi sidik jari hanya perlu dilakukan pada citra sidik jari yang ingin disamakan.

Gambar 3.20 Flowchart Authentifikasi Sidik jari

Proses identifikasi melibatkan proses pencarian (searching) dan pencocokkan (matching) dari satu data yang diambil dibandingkan dengan seluruh data yang ada pada database. Identifikasi merupakan pencarian 1:N karena itu harus dibuat system agar pencarian data tidak terjadi pada keseluruhan database yang bias mengakibatkan pencarian lebih lama. Database yang disimpan menyimpan data tentang tipe sidik jari, jadi daripada mencari diseluruh tempat system akan mengolah data agar yang dicari hanyalah database yang memiliki tipe sidik jari yang sama dengan yang sedang diidentifikasi. Misalnya ada data yang ingin diidentifikasi berupa sidik jari bertipe lingkaran sedangkan dalam database tersimpan 100 data sidik jari yang tipenya putaran kiri, lalu ada 150 data yang tipe sidik jarinya putaran kiri, tipe sidik jari yang tipenya lengkungan ada 55 data, dan tipe sidik jari yang bertipe lingkaran ada 95 data. Bayangkan bila system mencarinya secara sekuensial, yang akan terjadi adalah proses pencarian akan semakin memakan waktu. Karena itu pengklasifikasian tipe sidik jari ini harus dilakukan agar pencarian lebih cepat dan mengurangi rasio error yang mungkin terjadi. Setelah membagi pencarian menjadi lebih sedikit, hal yang selanjutnya dibandingkan adalah mencari jumlah titik minutiae dari sidik jari yang sama dengan data yang sedang diproses. Jumlah minutiae yang disamakan adalah jumlah titik ujung dan titik cabang, tetapi bila tidak ditemukan yang sama system akan memberi nilai toleransi kelebihan titik sampai 2 titik minutiae. Setelah mencari jumlah yang sama maka akan didapatkan data yang sesuai dengan klasifikasi. Penghitungan minutiae yang berbeda sampai lebih dari 2 akan menghasilkan output person not recognize, sedangkan untuk perbedaan

titik yang kurang dari dua akan dimasukkan sebagai bahan pertimbangan dan dimasukkan ke daftar sidik jari dengan kemungkinan sama. Bila terjadi ada dua atau lebih data yang memenuhi kualifikasi tersebut maka akan dilakukan kembali pengecekan secara lebih mendalam. Perhitungan yang dilakukan adalah menghitung jarak yang ada antara titik singular dengan titik minutiae yang masing-masing jarak dibandingkan oleh dasar besar kemiringan sudut yang tercipta antara kedua titik. Contohnya jika data yang ingin dibandingkan mempunyai titik minutiae A yang besar sudutnya terhadap titik singular adalah 45, maka system akan mencari dari database yang memiliki besar sudut yang sama baru kemudian membandingkan keduanya. Demikian seterusnya hingga didapatkan berapa besar presentase kemiripan antara data yang dicari dengan database, data yang memiliki presentase kesamaan yang lebih besar akan dikenali sebagai data sebenarnya dan ditampilkan kepada layar output. Dan jika tidak ada hasil yang memenuhi kriteria kemiripan lebih dari 70% maka data dianggap tidak tercatat dalam database.

Gambar 3.21 Bagan pencarian dan pencocokkan