Aplikasi pengenalan pola citra tanda tangan dengan metode Speeded-Up Robust Features (SURF) pada single board computer beaglebone black: studi kasus Pusat Penelitian Fisika (P2F) Lipi, Serpong

(1)

0 APLIKASI PENGENALAN POLA CITRA TANDA TANGAN DENGAN METODE SPEEDED-UP ROBUST FEATURES (SURF) PADA SINGLE

BOARD COMPUTER BEAGLEBONE BLACK

(STUDI KASUS : PUSAT PENELITIAN FISIKA (P2F) LIPI, SERPONG)

Oleh : HADI KUSUMO

1110091000034

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(2)

i APLIKASI PENGENALAN POLA CITRA TANDA TANGAN DENGAN METODE SPEEDED-UP ROBUST FEATURES (SURF) PADA SINGLE

BOARD COMPUTER BEAGLEBONE BLACK

(STUDI KASUS : PUSAT PENELITIAN FISIKA (P2F) LIPI, SERPONG) Skripsi

Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer (S.Kom)

Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh : HADI KUSUMO

1110091000034

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA


(3)

(4)

(5)

iv

HALAMAN PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SAYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAUPUN LEMBAGA MANAPUN.

Jakarta, Januari 2015

Hadi Kusumo 1110091000034


(6)

v

ABSTRAK

Hadi Kusumo – 1110091000034, “Aplikasi Pengenalan Pola Citra Tanda Tangan dengan Metode Speeded-Up Robust Features (SURF) pada Single

Board Computer Beaglebone Black”, di bawah bimbingan Nenny Anggraini, MT

dan Victor Amrizal M.Kom.

Tanda tangan (signature) merupakan sistem biometric yang masuk ke dalam kategori behaviometric karena dalam pembuatannya sangat berpengaruh dengan kebiasaan dalam menggoreskan pena. Tanda tangan menjadi salah satu bagian yang mengonfirmasi keaslian dari pembuat tanda tangan (authentication). Reformasi birokrasi yang dilakukan di lingkungan LIPI sejak tahun 2013 membuat peran tanda tangan sebagai fungsi otentifikasi semakin dibutuhkan. Tanda tangan tersebut digunakan sebagai tanda kehadiran, pelimpahan wewenang, pengajuan anggaran, perizinan dan hampir seluruh kegiatan kesekretariatan lainnya. Untuk membedakan tanda tangan yang asli dengan yang palsu secara komputerisasi dibutuhkan metode yang tepat. Metode Speeded-Up Robust Feature (SURF) mampu dan cocok untuk mendeteksi tanda tangan yang bersifat inkonsisten dengan cepat, dan memiliki ketahanan (invariant) terhadap penskalaan, transisi, sudut pandang, dan rotasi. Penggunaan Single Board Computer (SBC) Beaglebone Black dimaksudkan untuk pemprosesan citra digital yang hemat daya dan memiliki tingkat mobilitas yang tinggi sehingga sangat kemungkinan untuk diciptakannya aplikasi pengenal pola tanda tangan berbasis embedded system. Hasil pengujian keakuratan mengungkapkan bahwa aplikasi ini memiliki False Acceptance Rate (FAR) sebesar 21% dan False Rejection Rate (FRR) sebesar 34%.

Kata Kunci : Pengenalan Pola, Tanda tangan, SURF, Beaglebone Black.

Jumlah Halaman : 121 Halaman (85 halaman isi + xxxvi halaman tambahan)


(7)

vi

KATA PENGANTAR

Syukur tiada henti penulis panjatkan kepada Allah SWT yang telah memberikan nikmat, rahmat dan hidayah-Nya kepada penulis sehingga penulis

dapat menyelesaikan penulisan skripsi dengan judul “Aplikasi Pengenal Pola Citra

Tanda Tangan pada Single Board Computer Beaglebone Black, Studi Kasus : Pusat

Penelitian Fisika (P2F) LIPI, Serpong”. Skripsi ini penulis ajukan sebagai syarat

kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Penulis menyadari, penelitian dan penulisan skripsi ini tidak akan berjalan dengan baik dan lancar tanpa bantuan dari segenap pihak, baik secara langsung maupun tidak langsung. Oleh karena itu, penulis ucapkan terima kasih kepada :

1) Prof. DR. Dede Rosyada, MA selaku Rektor UIN Syarif Hidayatullah Jakarta. 2) Dr. Agus Salim, M.Si selaku Dekan Fakultas Sains dan Teknologi UIN Syarif

Hidayatullah Jakarta.

3) Nurhayati, P.hD, selaku Ketua Prodi Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

4) Hendra Bayu Suseno, M.Kom selaku Sekretaris Prodi Teknik Informatika, Fakultas Sains dan Teknologi UIN Syarif Hidayatullah Jakarta.

5) Nenny Anggraini, MT, selaku pembimbing I penulisan skripsi. 6) Victor Amrizal, M.Kom, selaku pembimbing II penulisan skripsi.


(8)

vii 7) Prabowo Puranto M.Si, selaku Kasubbag Kerjasama dan Inseminasi P2F LIPI dan pembimbing lapangan selama penelitian di Pusat Penelitian Fisika LIPI, Serpong.

8) Seluruh Civitas Academica Pusat Penelitian Fisika, Teman-teman selama penelitian di Pusat Penelitian Fisika Serpong.

9) Keluarga Terkasih, Bapak, Ibu, dan 2 orang kakak yang senantiasa memberikan doa, inspirasi dan semangat.

10)Seluruh teman-teman Teknik Informatika angkatan 2010 yang membuat sebuah episode tak terlupakan selama bangku perkuliahan.

11)Keluarga Besar PS. Langlang Buana Jaya 12)Sahabat Mentoring Tarbiyyah Hijrah.

13)Seluruh pihak yang membantu penulis baik secara nyata ataupun doa, yang tak bisa penulis tuliskan satu persatu dalam lembar ini.

Penulis menyadari bahwa penelitian dalam skripsi ini masih jauh dari sempurna, oleh karena itu penulis sangat mengharapkan saran dan kritik yang yang bersifat membangun demi kesempurnaan skripsi ini. Akhir kata, penulis berharap skripsi ini dapat berguna dan bermanfaat bagi semua pihak yang terkait.

Jakarta, Januari 2015

Hadi Kusumo 1110091000034


(9)

viii

DAFTAR ISI

PENGESAHAN UJIAN ... iii

HALAMAN PERNYATAAN ... iv

ABSTRAK ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... viii

DAFTAR LAMPIRAN ... xiii

DAFTAR GAMBAR ... xiv

DAFTAR BAGAN ... xvi

DAFTAR TABEL ... xvii

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 4

1.3. Batasan Masalah ... 5

1.4. Tujuan dan Manfaat ... 5

1.4.1. Tujuan Penelitian ... 5

1.4.2. Manfaat Penelitian ... 6

1.5. Metodologi Penelitian ... 7


(10)

ix

BAB II LANDASAN TEORI ... 10

2.1. Aplikasi ... 10

2.2. Tanda Tangan ... 10

2.3. Citra Digital ... 12

2.3.1. Elemen Citra Digital ... 14

2.3.2. Jenis Citra Digital ... 17

2.3.3. Pengolahan Citra Digital ... 18

2.4. Pengenalan Pola ... 20

2.4.1. Struktur dari Sistem Pengenal Pola ... 21

2.4.2. Fitur, Vektor Fitur, Ruang Fitur, Pola dan Pemilah ... 22

2.4.3. Jarak (Distance)... 23

2.5. Ekstraksi Fitur ... 24

2.6. Speeded-Up Robust Features (SURF) ... 25

2.6.1. Ruang Skala (Scale Space) ... 26

2.6.2. Penempatan Lokasi Keypoint ... 27

2.6.3. Deskripsi Fitur (Feature Description) ... 28

2.7. Fast Library for Approximate Nearest Neighbors (FLANN) ... 31

2.8. Single Board Computer ... 32

2.8.1. Beaglebone Black ... 33


(11)

x

2.10. OpenCV ... 36

2.11. Pengujian Sistem Biometrik ... 37

BAB III METODOLOGI PENELITIAN ... 39

3.1. Pengumpulan Data ... 39

3.1.1. Studi Pustaka ... 39

3.1.2. Studi Literatur ... 39

3.1.3. Wawancara ... 41

3.1.4. Observasi ... 42

3.2. Rancang Bangun Aplikasi ... 42

3.2.1. Requirement Planning Phase ... 43

3.2.2. User Design Phase ... 43

3.2.3. Construction Phase ... 43

3.2.4. Cutover Phase ... 44

3.3. Dasar Penggunaan RAD ... 45

3.4. Alat Penelitian ... 45

3.4.1. Kebutuhan Perangkat Lunak ... 45

3.4.2. Kebutuhan Perangkat Keras ... 46

3.5. Kerangka Penelitian ... 47

BAB IV PEMBAHASAN DAN IMPLEMENTASI ... 48


(12)

xi

4.2. Fase Analisis Kebutuhan ... 49

4.2.1. Proses Akuisisi Data ... 49

4.2.2. Dasar Penggunaan Speeded Up Robust Fatures (SURF)... 50

4.2.3. Dasar Penggunaan Fast Library for Approximate Nearest Neighbors (FLANN) ... 51

4.3. Fase Desain Aplikasi ... 51

4.3.1. Desain Pengembangan ... 51

4.3.2. Desain Antarmuka Aplikasi ... 55

4.4. Fase Konstruksi (Coding) ... 57

4.4.1. Persiapan Alat ... 57

4.4.2. Proses Akuisisi Data ... 63

4.4.3. Proses Ekstraksi Fitur (Feature Detection) ... 63

4.4.4. Proses Pencocokan Fitur (Feature Matching) ... 69

4.5. Hasil Rancang Bangun Aplikasi ... 71

4.6. Fase Pengujian Aplikasi ... 73

4.7. Pengujian Keakuratan Aplikasi ... 74

4.8. Analisa Hasil ... 78

BAB V KESIMPULAN DAN SARAN ... 80

5.1. Kesimpulan ... 80


(13)

xii DAFTAR PUSTAKA ... 82 LAMPIRAN ... xviii


(14)

xiii

DAFTAR LAMPIRAN

LAMPIRAN 1 - HASIL PENGUJIAN XIX

LAMPIRAN 2 - SURAT PERMOHONAN PENGAMBILAN SAMPLE TANDA TANGAN XX

LAMPIRAN 3 - DATA TANDA TANGAN A XXII

LAMPIRAN 4 - DATA TANDA TANGAN B XXIII

LAMPIRAN 5 - DATA TANDA TANGAN C XXIV

LAMPIRAN 6 - DATA TANDA TANGAN D XXV

LAMPIRAN 7 - DATA TANDA TANGAN E XXVI

LAMPIRAN 8 - DATA TANDA TANGAN F XXVII

LAMPIRAN 9 - DATA TANDA TANGAN G XXVIII

LAMPIRAN 10 - DATA TANDA TANGAN H XXIX

LAMPIRAN 11 - DATA TANDA TANGAN I XXX

LAMPIRAN 12 - DATA TANDA TANGAN J XXXI

LAMPIRAN 13 - HASIL WAWANCARA XXXII

LAMPIRAN 14 - SURAT BIMBINGAN SKRIPSI XXXIV

LAMPIRAN 15 - SURAT PERMOHONAN PENELITIAN XXXV


(15)

xiv

DAFTAR GAMBAR

GAMBAR 2.3.1 - CITRA DIGITAL TERSUSUN DARI MATRIKS BERISI NILAI WARNA 13

GAMBAR 2.3.2 –

(A) GAMBAR NORMAL

(B) GAMBAR DENGAN BRIGHTNESS TINGGI

(C) GAMBAR DENGAN CONTRAST TINGGI 14

GAMBAR 2.3.3 – HUBUNGAN KETETANGGAAN ANTAR PIXEL (A) 4-NEIGHTBORS

(B) 8-NEIGHBORS 16

GAMBAR 2.3.4 – DESKRIPSI MATRIKS PADA CITRA BINER 17

GAMBAR 2.6.1 - SCALE SPACE REPRESENTATION 26

GAMBAR 2.6.2 - NON-MAXIMA SUPPRESSION 27

GAMBAR 2.6.3 - PERGESERAN ORIENTASI 30

GAMBAR 2.6.4 – PERHITUNGAN DESKRIPTOR 31

GAMBAR 2.8.1- BEAGLEBONE BLACK 33

GAMBAR 2.9.1 – LOGO QT FRAMEWORK 35

GAMBAR 2.10.1 – LOGO OPENCV DAN FACE DETECTION MENGGUNAKAN OPENCV 36 GAMBAR 4.3.1 - MOCKUP HALAMANA UJI TANDA TANGAN 55

GAMBAR 4.3.2 - MOCKUP HALAMAN INPUT TANDA TANGAN 56

GAMBAR 4.3.3 - MOCKUP HALAMAN LIHAT TANDA TANGAN 56

GAMBAR 4.4.1 - PENERAPAN SCALE SPACE PADA CITRA TANDA TANGAN 66

GAMBAR 4.4.2 - KEYPOINT PADA CITRA TANDA TANGAN 67

GAMBAR 4.4.3 - HASIL PENCOCOKAN FITUR 70

GAMBAR 4.5.1 - TAMPILAN APLIKASI : MENU ANALISA TANDA TANGAN 71

GAMBAR 4.5.2 - TAMPILAN APLIKASI : MENU INPUT TANDA TANGAN 72


(16)

xv

GAMBAR 4.7.1- GRAFIK TINGKAT ERROR APLIKASI 76


(17)

xvi

DAFTAR BAGAN

BAGAN 2.4-1 - BAGAN DARI SISTEM PENGENALAN POLA 21

BAGAN 3.5-1 - KERANGKA PENELITIAN 47

BAGAN 4.3-1 - USECASE DIAGRAM 52

BAGAN 4.3-2 - DIAGRAM ALIR PROSES INPUT TANDA TANGAN 53

BAGAN 4.3-3 - DIAGRAM ALIR PROSES ANALISA TANDA TANGAN 54

BAGAN 4.4-1 - BAGAN PROCES SCALE SPACE 65

BAGAN 4.4-2 - DIAGRAM ALIR PENCARIAN KEYPOINT 68


(18)

xvii

DAFTAR TABEL

TABEL 1.1.1 - KARAKTERISKTI BIOMETRIK, SIGNATURE MEMILIKI EASY OF USE DAN ACCEPTANCE

YANG TINGGI ... 1

TABEL 1.1.2 - KARAKTERISKTI BIOMETRIK, SIGNATURE MEMILIKI EASY OF USE DAN ACCEPTANCE YANG TINGGI ... 1

TABEL 3.1.1 - TABEL REFERENSI ... 40

TABEL 3.2.1 - TABEL PARAMETER PENGUJIAN FUNGSIONAL APLIKASI... 44

TABEL 4.1.1 - PERBANDINGAN SISTEM BIOMETRIK ... 49

TABEL 4.2.1 - TABEL SAMPLE CITRA TANDA TANGAN ... 50

TABEL 4.3.1 - TABEL DESKRIPSI AKTOR ... 52

TABEL 4.3.2 - TABEL DESKRIPSI USECASE ... 52

TABEL 4.6.1 - TABEL PENGUJIAN BLACKBOX ... 73

TABEL 4.7.1 - TABEL SAMPEL CITRA TANDA TANGAN ... 74

TABEL 4.7.2 - TABEL HASIL PENGUJIAN ... 75

TABEL 4.7.3 - TANDA TANGAN ASLI TERTOLAK ... 76


(19)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Tanda tangan (signature) merupakan sistem biometric yang masuk ke dalam kategori behaviometric karena dalam pembuatannya sangat berpengaruh dengan kebiasaan dalam menggoreskan pena. Tanda tangan menjadi salah satu bagian yang mengonfirmasi keaslian dari pembuat tanda tangan (authentication). Bhavana dan Kalyan (2013) dalam jurnalnya menyatakan tanda tangan sangat berperan penting dalam autentikasi dalam proses finansial, komersial dan transaksi resmi. (Bhavana & J.L. Kalyan, 2013)

Membedakan tanda tangan yang asli dan yang palsu bukan hal yang mudah. Saat ini, validasi terhadap tanda tangan masih menggunakan teknik konvensional yaitu dengan mengamati secara kasat mata dengan probabilitas kebenaran yang kecil. Teknologi pemprosesan citra digital saat ini dapat mengambil alih tugas

Tabel 1.1.1 - Karakteriskti biometrik, Signature memiliki easy of use dan acceptance yang tinggi


(20)

2 tersebut. Dengan pemprosesan citra digital, citra tanda tangan dapat diekstraksikan menjadi numerik dan dapat di analisa keabsahan dari tanda tangan tersebut. Dari penelitian yang sudah dilakukan pihak lain, probabilitas kebenaran dari pemprosesan citra digital tanda tangan pun saat ini hampir mendekati sembilan puluh sembilan persen. (Fathoni & Kustiyo, 2010)

Reformasi birokrasi sudah diterapkan pada lingkungan Pusat Penelitian Fisika (P2F) LIPI sejak tahun 2013. Reformasi birokrasi dimaksudkan sebagai upaya penyempurnaan dan perubahan tata kelola, organisasi, tata laksana dan manajemen sumber daya yang bersifat berkelanjutan (sustainable). Reformasi birokrasi menuntut seluruh lingkungan LIPI memberikan layanan dengan cepat, tepat dan transparan. Untuk mendukung hal tersebut upaya yang dilakukan oleh P2F LIPI adalah upaya digitalisasi kegiatan. Digitalisasi yang dimaksudkan adalah membuat seluruh kegiatan kesekretariatan dalam P2F LIPI dilakukan dengan memanfaatkan sistem informasi.

Di Pusat Penelitian Fisika (P2F) LIPI, Serpong, fungsi tanda tangan sebagai otentikasi masih belum tergantikan. Tanda tangan tersebut digunakan sebagai tanda kehadiran, pelimpahan wewenang, pengajuan anggaran, perizinan dan hampir seluruh kegiatan kesekretariatan lainnya. Hal tersebut membuat tanda tangan menjadi satu-satunya sistem keamanan yang menjamin keaslian dan kebenaran dari informasi yang disampaikan. Kehadiran aplikasi yang dapat mengenali tanda tangan untuk menjamin keamanan informasi tersebut dirasa sangat dibutuhkan.


(21)

3 Dalam melakukan analisa pada citra digital diperlukan metode ekstraksi untuk mendapatkan fitur/ciri yang diharapkan. Saat ini banyak metode untuk mendapatkan fitur/ciri tersebut diantarannya SIFT, SURF, ORB, BRISK, dan banyak lainnya. Penelitian ini menggunakan metode SURF sebagai metode ekstasi karena menurut jurnal dari Herbet Bay dan kawan-kawan yang berjudul Speeded-Up Robust Features (SURF), SURF memiliki kelebihan kecepatan dalam hal pencarian fitur, tahan terhadap penskalaan, transisi, dan rotasi, serta tahan terhadap noise dalam ukuran tertentu. (Bay, Ess, Tuytelaars, & Gool, 2008)

Perkembangan teknologi pemprosesan citra digital kini mulai berkolaborasi dengan teknologi Single Board Computer (SBC). SBC memiliki kemampuan proses data seperti komputer stand-alone pada umumnya. SBC juga memiliki bentuk yang kecil dan ringan sehingga tingkat mobilitasnya sangat tinggi. Kolaborasi antara pemprosesan citra digital dengan SBC memungkinkan pemprosesan citra digital yang hemat daya dan memiliki tingkat mobilitas yang tinggi sehingga sangat kemungkinan untuk diciptakannya aplikasi pengenal pola tanda tangan berbasis

embedded system. Aplikasi ini nantinya diharapkan mampu menjawab kebutuhan dari P2F LIPI mengenai sistem keamanan dalam kesekretariatan.

Oleh karena itu, penulis tertarik untuk melakukan penelitian yang melakukan kolaborasi antara teknologi pemprosesan citra digital tanda tangan dengan menggunakan SBC yang selanjutnya diberi judul : “Aplikasi Pengenalan Pola Citra Tanda Tangan dengan Metode Speeded-up Robust Features (SURF) pada Single Board Computer Beaglebone Black, Studi Kasus Pusat Penelitian Fisika (P2F) LIPI, Serpong


(22)

4 Penelitian ini dimaksudkan untuk menambah sisi keamanan dari tanda tangan sehingga pengguna dapat membedakan tanda tangan asli dan palsu. Jangka panjang penelitian ini dapat dikembangkan menjadi produk lain seperti mesin absensi berdasarkan tanda tangan, tanda tangan jarak jauh, aplikasi keamanan dengan menggunakan tanda tangan dan banyak hal lainnya. Hal tersebut diharapkan agar tanda tangan sebagai salah satu bagian dari sistem biometrik yang mudah gunakan terus terjaga eksistensinya.

Penelitian ini juga diharapkan menjadi inspirasi pemanfaatan SBC sebagai

device multifungsi yang dapat terus di kembangkan. Pengolahan citra digital dengan menggunakan SBC memungkinkan lahirnya teknologi computer vision

yang lebih fungsional seperti pengenalan wajah, pengenalan jenis buah, pengenalan kendaraan, dan banyak hal lainnya.

1.2. Rumusan Masalah

Berdasarkan latar belakang tersebut, maka perumusan masalah dalam penelitian ini adalah :

 Bagaimana membedakan tanda tangan asli dengan yang palsu dengan membangun aplikasi pengenalan pola tanda tangan pada SBC Beaglebone Black?

 Bagaimana akurasi dari aplikasi pengenalan pola tanda tangan pada SBC Beaglebone Black?


(23)

5  Apakah SBC Beaglebone Black mampu dan dapat menjalankan aplikasi pengolahan citra digital seperti aplikasi pengenalan pola tanda tangan ini dengan baik?

1.3. Batasan Masalah

Berikut adalah batasan masalah dari penelitian ini :

 Penelitian ini masih terbatas pada proses validasi tanda tangan secara statis (offline signature validation) dengan input berupa hasil scan

dari citra tanda tangan dengan format jpg/jpeg.

 Penelitian ini mengesampingkan nilai-nilai eror yang disebabkan oleh pembuat tanda tangan (human error) seperti tambahan coretan di luar tanda tangan dan faktor konsistensi dalam membuat tanda tangan.  Percobaan pemalsuan tanda tangan dilakukan dengan menirukan

tanda tangan secara langsung (direct method), tidak berupa hasil manipulasi citra digital (hasil scan dan manipulasi dengan olah perangkat lunak).

1.4. Tujuan dan Manfaat

1.4.1. Tujuan Penelitian

Berdasarkan permasalahan yang dijelaskan pada latar belakang, maka tujuan penelitian ini adalah :

 Menghasilkan aplikasi pengenalan pola tanda tangan pada SBC Beaglebone Black.


(24)

6  Memahami proses ekstraksi fitur tanda tangan dengan metode

Speeded-Up Robust Features dan proses pencocokan fitur dengan metode Fast Library for Approximate Nearest Neighbors.

 Mengetahui seberapa besar akurasi pengenalan pola tanda tangan yang telah dibangun di SBC Beaglebone Black.

 Mengetahui kemampuan SBC Beaglebone untuk menjalankan aplikasi berbasis pengolahan citra digital.

1.4.2. Manfaat Penelitian

1.4.2.1. Manfaat Penelitian Bagi Penulis

 Menambah pengetahuan dan wawasan tentang proses penelitian ilmiah, pembangunan perangkat lunak, pengolahan citra digital dan sistem tertanam.

 Menerapkan ilmu yang telah didapatkan selama perkuliahan. 1.4.2.2. Manfaat Penelitian Bagi Universitas

 Mengetahui kemampuan mahasiswa dalam menguasai ilmu yang telah didapatkan selama perkuliahan.

 Sebagai bahan evaluasi dalam kegiatan perkuliahan.  Sebagai referensi untuk penelitian lebih lanjut.


(25)

7 1.5. Metodologi Penelitian

Dalam penelitian ini metodologi penelitian yang digunakan adalah sebagai berikut :

1. Metodologi Pengumpulan Data a. Studi Pustaka

Pengumpulan data dengan melakukan pencarian, pembelajaran dan analisa data dari berbagai sumber pustaka.

b. Studi Literatur

Pengumpulan data dengan pencarian, pembelajaran dan analisa pada hasil penelitian yang berhubungan dengan topik penelitian.

c. Wawancara

Pengumpulan data dengan melakukan wawancara kepada narasumber yang berhubungan dengan topik penelitian.

d. Observasi

Pengumpulan data dengan melakukan pengamatan dan analisa pada sistem yang berhubungan dengan validasi tanda tangan yang sudah dimanfaatkan masyarakat.

2. Metodologi Pengembangan Aplikasi

Untuk pengembangan aplikasi dalam penelitian ini menggunakan metode


(26)

8 oleh James Martin pada tahun 1980 yang fokus pada efisiensi pembangunan agar lebih singkat tetapi tidak mengesampingkan nilai kualitas perangkat lunak yang dihasilkan.

Metode RAD terbagi menjadi 4 (empat) pemodelan fase pengembangan, yaitu :  Requirement Planning Phase

User Design Phase

Construction Phase

Cutover Phase

1.6. Sistematika Penulisan

Adapun sistematika penulisan penelitian ini adalah sebagai berikut:

BAB I PENDAHULUAN

Dalam bab ini dijelaskan mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian, dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas teori-teori yang menjadi landasan dalam proses penelitian ini, yaitu mengenai tanda tangan, pengolahan citra digital, dan single board computer. BAB III METODOLOGI PENELITIAN

Bab ini menjelaskan metodologi yang digunakan dalam melakukan penelitian.


(27)

9 Bab ini menjelaskan tentang aplikasi yang dibuat, serta implementasi dari teori-teori yang digunakan dalam pembangunan aplikasi.

BAB V PENUTUP

Bab ini berisi kesimpulan dari hasil penelitian yang telah dilaksanakan serta saran-saran terkait aplikasi yang telah dibuat untuk dikembangkan menjadi sistem yang lebih baik.


(28)

10

BAB II

LANDASAN TEORI

2.1. Aplikasi

Aplikasi dalam ranah komputerisasi adalah program atau sekumpulan program berisi instruksi atau perintah agar komputer melakukan sesuatu (webopedia, 2014). Menurut Menurut Binanto, program adalah mendeskripsikan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh pengembang aplikasi.

Dari pengertian tersebut, aplikasi merupakan kode yang ditransformasikan menjadi program komputer yang berisikan perintah- perintah yang berfungsi untuk melakukan berbagai bentuk pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan penambahan data.

2.2. Tanda Tangan

E. Sibarani dalam bukunya “Sistematika Dalam Pemeriksaan TandaTangan”

menjelaskan awal mula tanda tangan sebagai berikut,

“Pada permulaannya tanda tangan itu adalah dalam bentuk tulisan nama

biasa, sehingga terang dapat dibaca, tanpa penjelasan nama terang di bawahnya, juga sekarang masih banyak orang-orang yang menandatangani seperti itu. Lama kelamaan tanda tangan itu mendapat bentuk sendiri, yang seluruhnya diciptakan secara bebas oleh si penulis sendiri. Datanglah bentuk dekorasi, bentuk-bentuk keindahan,


(29)

11 kesingkatan dan tarikan-tarikan tambahan lainnya, sesuai dengan

keinginan dan rasa keindahan seseorang” (Sibarani, 2006)

Secara definitif, tanda tangan merupakan hasil proses menulis seseorang yang bersifat khusus sebagai substansi simbolik. Tanda tangan merupakan bentuk yang paling banyak digunakan untuk identifikasi seseorang. (Djunaidi, Soelaiman, & Rusdianah, 2000)

Tanda tangan merupakan sistem biometrik yang berasal dari kebiasaan prilaku (behaviometric traits). Tanda tangan merupakan sistem autentikasi yang paling banyak di terima oleh masyarakat. (Qiao, Jianzhuang, & Tang)

Schneier dalam bukunya yang berjudul Applied Cryptography mengatakan bahwa tanda tangan dapat menjamin otoritas karena tanda tangan bersifat : (Schneier, 1996)

1. Autentik,

2. Tidak dilupakan,

3. Tidak dapat dipindahkan untuk digunakan ulang,

4. Dokumen yang telah ditandatangani adalah valid dan tidak dapat diubah, 5. Tanda tangan tidak dapat disangkal (repudiation)

Berdasarkan cara verifikasinya, tanda tangan dibagi menjadi dua kategori yaitu :

1. Verifikasi tanda tangan statis

Metode verifikasi dengan akuisisi data secara statis disebut juga dengan metode offline. Metode statis melakukan akuisisi data setelah proses penulisan


(30)

12 selesai dilakukan atau bahkan kemungkinan lama setelah proses penulisan dilakukan. Seseorang menuliskan tanda tangannya pada kertas, yang kemudian diubah menjadi citra digital dengan menggunakan scanner. Dari citra inilah selanjutnya diproses untuk menentukan otentik atau tidaknya tanda tangan tersebut.

2. Verifikasi tanda tangan dinamis

Metode verifikasi tanda tangan (signature) dengan akuisisi data secara dinamis disebut juga metode online. Dalam metode ini proses akuisisi data dilakukan bersamaan dengan proses penulisan. Data yang diambil pada umumnya bermacam-macam, tidak hanya berupa koordinat posisi titik titik penulisan, tetapi juga informasi dinamis lain seperti tekanan, kecepatan, gaya penekanan tangan pada pena dan lain sebagainya. Jenis data yang dapat diambil sangat bergantung pada kemampuan peralatan masukan yang digunakan. Peralatan masukan yang sering digunakan untuk mengakuisisi data secara dinamis ini disebut digitizer. 2.3. Citra Digital

Citra digital merupakan representasi dari citra yang diambil oleh mesin dalam bentuk pendekatan berdasarkan sampling dan kuantisasi. Sampling menyatakan besarnya kotak-kotak yang disusun dalam baris dan kolom (pixel) dan kuantisasi menyatakan besar kecilnya tingkat kecerahan (grayscale) sesuai dengan jumlah bit biner mesin yang digunakan untuk mendapatkan citra tersebut. (Basuki, Palandi, & Fatchurrohman, 2005)


(31)

13 Citra digital dua dimensi secara matematika dapat dirumuskan menjadi fungsi , . Pada fungsi tersebut x dan y adalah koordinat spasial, dan fungsi menyatakan intensitas atau derajat keabuan pada koordinat spasial itu. (Gonzales & Woods, 2002)

Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 1. Optik berupa foto.

2. Analog berupa sinyal video seperti gambar pada monitor televisi. 3. Digital yang dapat langsung disimpan pada suatu pita magnetik Citra dibagi menjadi dua jenis yaitu :

1. Citra diam (still images), citra tunggal yang tidak bergerak.

2. Citra bergerak (moving images), merupakan rangkaian citra diam yang ditampilkan secara beruntun (sequential) sehingga memberi kesan pada mata sebagai gambar yang bergerak. Contohnya adalah gambar-gambar yang terlihat pada televisi atau layar lebar.

(Munir, Pengolahan Citra Digital dengan Pendekatan Algoritmik, 2004)


(32)

14 2.3.1. Elemen Citra Digital

2.3.1.1. Cahaya (Light), Luminance, Brightness. Contrast

Cahaya merupakan radiasi elektromagnetik yang menstimulasi sistem penglihatan manusia. Karena cahaya yang dipantulkan dari benda, mata kita dapat melihat. Pada retina terdapat sel rod dan cone yang berfungsi untuk menerima cahaya. Rod bertugas untuk menangkap cahaya keabuan dan cone bertugas untuk menangkap cahaya dengan iluminasi tinggi.

Luminance adalah banyaknya cahaya yang dipantulkan oleh permukaan obyek. Sedangkan brightness atau kecerahan merupakan atribut dari persepsi visual yang menandakan jumlah cahaya. Dengan kata lain, brightness adalah persepsi yang ditangkap dari sebuah objek yang memantulkan cahaya. Semakin tinggi nilai

brightness semakin banyak cahaya yang dipantulkannya (semakin pucat warna yang terlihat). Contrast atau kontras adalah hubungan antara cahaya yang dikeluarkan oleh suatu obyek dan cahaya dari latar belakang obyek tersebut. (Putra, 2010)

Gambar 2.3.2 – (a) Gambar normal (b) Gambar dengan brightness tinggi (c) Gambar


(33)

15 2.3.1.2. Pixel

Pixel mewakili tidak hanya satu titik dalam sebuah citra melainkan sebuah bagian berupa kotak yang merupakan bagian terkecil. Nilai dari sebuah pixel haruslah dapat menunjukkan nilai rata-rata yang sama untuk seluruh bagian dari sel tersebut.

Dalam citra 3D posisi pixel digantikan dengan voxel, yaitu

volume element. Voxel tersusun dari tiga variabel yaitu depth, baris dan kolom. (Putra, 2010)

2.3.1.3. Relasi Ketetanggaan

Suatu pixel dengan koordinat � , memiliki empat pixel tetangga (dua pada arah horizontal dan dua arah pada vertikal) dengan koordinat sepeti berikut :

+ , , − , , , + , , −

Keempat pixel tersebut sering disebut dengan 4-neighbors dan dinyatakan dengan N4(p).

Selain dalam arah horizontal dan vertikal, pixel tetangga dari � , juga memiliki dari arah diagonal dengan koordinat :

+ , + , − , − , − , + , − , − Dan dinyatakan dengan ND(p).


(34)

16 N4(p) dan ND(p) bersama sama membentuk 8-neighbors yang dinyatakan dengan N8(p). (Putra, 2010)

2.3.1.4. Resolusi Citra

Resolusi citra merupakan tingkat detail suatu citra. Semakin tinggi resolusi citra makan akan semakin tinggi pula tingkat detail dari suatu citra. Satuan pengukuran suatu citra dapat berupa ukuran fisik (jumlah garis per mm/jumlah garis per inch) ataupun dapat berupa ukuran citra menyeluruh (jumlah garis per tinggi citra). Resolusi sebuah citra dapat diukur dengan berbagai cara seperti berikut : (Putra, 2010)

Resolusi Pixel, perhitungan berdasarkan jumlah pixel dalam sebuah citra digital. Sebuah citra dengan panjang M dan lebar N memiliki ukuran resolusi pixel sebesar M x N pixel.  Resolusi Spasial, perhitungan berdasarkan jumlah pixel per

satuan panjang dengan satuan pixel per inch (ppi).

Resolusi Spektrum, perhitungan berdasarkan panjang gelombang yang digunakan untuk menampilkan warna.

Gambar 2.3.3 – Hubungan ketetanggaan antar pixel (a)


(35)

17  Resolusi Temporal, berdasarkan dengan jumlah frame (citra

yang ditampilkan secara berurutan) dengan satuan waktu.  Resolusi Radiometrik, Resolusi ini menggambarkan tingkat

kehalusan citra yang dapat ditampilkan, biasanya dalam satuan bit.

2.3.2. Jenis Citra Digital

Berikut jenis-jenis citra berdasarkan nilai pixelnya.: 2.3.2.1. Citra Biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan, hitam dan putih. Pixel objek bernilai 1 dan pixel latar belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam. (Munir, Analisa Citra, 2014)

2.3.2.2. Citra Grayscale

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal setiap pixelnya, dengan kata lain RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat


(36)

18 intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Citra grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan). (Putra, 2010)

2.3.2.3. Citra Warna

Citra warna berarti citra digital yang setiap pixelnya mengandung informasi informasi warna. Informasi warna ini dibentuk paling sedikit terbentuk dari 3 saluran warna yaitu Red, Green, Blue

(RGB). Dalam konteks lain terdapat pula yang terbentuk dari 4 saluran warna yaitu Cyan, Magenta, Yellow, Black (CMYK).

Citra warna terbagi menjadi :

Citra warna 8 bit, hanya di wakili oleh 8bit warna dengan maksimum warna yang dapat digunakan adalah 256 warna.  Citra warna 16 bit, biasa disebut cita highcolor, dengan setiap

pixel mewakili 2 byte memory (16 bit). Citra warna 16 bit mengandung 65.536 warna.

Citra warna 24 bit, setiap pixel pada citra ini mewakili 24 bit yang berarti mengandung total 16.777.216 warna.

2.3.3. Pengolahan Citra Digital

Pengolahan citra digital (digital image processing) merupakan suatu sistem di mana proses dilakukan dengan masukkan berupa citra dan hasilnya juga berupa citra. Pada awalnya pengolahan citra ini dilakukan untuk


(37)

19 memperbaiki kualitas citra, namun dengan berkembangnya dunia komputasi yang ditandai dengan semakin meningkatnya kapasitas dan kecepatan proses komputer, serta muncul ilmu-ilmu komputasi yang memungkinkan manusia dapat mengambil informasi dari suatu citra, maka pengolahan citra tidak dapat dilepaskan dengan bidang computer vision. (Basuki, Palandi, & Fatchurrohman, 2005)

Secara umum pengolahan citra dibagi menjadi 3 tingkat pengolahan, yaitu (Gonzales & Woods, 2002):

1. Low-Level Processing, yaitu pengolahan operasional-operasional dasar dalam pengolahan citra, seperti pengurangan noise (noise reduction), perbaikan citra (image enhancement), dan restorasi citra (image restoration).

2. Mid-Level Processing, meliputi segmentasi pada citra, deskripsi objek, dan klasifikasi objek secara terpisah.

3. High-Level Processing, yaitu pengolahan citra tingkat tinggi seperti analisa citra, mengambil informasi (making sense) dalam objek yang dikenali, membuat kecerdasan seperti penglihatan manusia.

Sesuai dengan perkembangan, pengolahan citra mempunyai dua tujuan utama, yakni sebagai berikut :

1. Memperbaiki kualitas citra, di mana citra yang dihasilkan dapat menampilkan informasi secara jelas atau dengan kata lain manusia dapat melihat informasi yang diharapkan dengan menginterpretasikan


(38)

20 citra yang ada. Dalam hal ini interpretasi terhadap informasi yang ada tetap dilakukan oleh manusia (human perception).

2. Mengekstraksi informasi ciri yang menonjol pada suatu citra, di mana hasilnya adalah informasi citra di mana manusia mendapatkan informasi ciri dari citra secara numerik atau dengan kata lain komputer (mesin) melakukan interpretasi terhadap informasi yang ada pada citra melalui besaran- besaran data yang dapat dibedakan secara jelas (besaran-besaran ini berupa besaran numerik).

2.4. Pengenalan Pola

Pola adalah entitas yang didefinisikan melalui ciri (feature). Ciri tersebut digunakan untuk membedakan suatu pola dengan pola yang lain. Ciri yang baik adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi.

Ciri pada suatu pola diperoleh dari hasil pengukuran pada titik objek uji. Khusus pada pola yang terdapat dalam citra, ciri yang dapat diperoleh berasal dari informasi :

1. Spasial, seperti intensitas pixel dan histogram 2. Tepi, seperti arah dan kekuatan

3. Kontur, seperti garis, elips, dan lingkaran

4. Wilayah/bentuk, seperti keliling luas dan pusat masa 5. Hasil transformasi fourier, seperti frekuensi


(39)

21 Pengenalan pola menentukan kelompok atau kategori pola berdasarkan ciri yang dimiliki oleh pola tersebut. Dengan kata lain, pengenalan pola membedakan suatu objek dengan objek yang lain. (Sitorus, 2013)

2.4.1. Struktur dari Sistem Pengenal Pola

Struktur dari pengenalan pola ditunjukkan oleh gambar dibawah ini :

Bagan 2.4-1 - Bagan dari sistem pengenalan pola

Sistem terdiri dari sensor, pra-pengolahan citra, algoritma atau mekanisme pencarian fitur, dan algoritma untuk klasifikasi atau pengenalan.

Sensor, berfungsi untuk menangkap objek dari dunia nyata dan selanjutnya diubah menjadi sinyal digital.

Pra-pengolahan, berfungsi untuk mempersiapkan citra agar dapat menghasilkan ciri yang baik untuk tahap berikutnya. Pada tahap ini sinyal informasi di tonjolkan dan sinyal pengganggu (derau / noisy) diminimalkan.

Pencari dan seleksi fitur, berfungsi menemukan karakteristik pembeda yang mewakili sifat utama sinyal dan sekaligus mengurangi


(40)

22 dimensi sinyal menjadi sekumpulan bilangan yang lebih sedikit tetapi representatif.

Algoritma klasifikasi, berfungsi untuk mengelompokkan fitur ke dalam kelas yang sesuai.

Algoritma deskripsi, berfungsi untuk mendeskripsikan pada sinyal.

2.4.2. Fitur, Vektor Fitur, Ruang Fitur, Pola dan Pemilah

Fitur (features) atau disebut juga atribut adalah semua hasil pengukuran yang bisa diperoleh dan merupakan karakteristik pembeda dari objek fitur dapat berupa simbol seperti warna, numerik, seperti berat, atau gabungan keduanya. Fitur dapat dinyatakan dengan variabel kontinu, diskrit atau diskret-biner. Fitur biner dapat digunakan untuk menyatakan ada atau tidaknya suatu fitur tertentu.

Fitur yang baik memiliki syarat berikut, mudah dalam komputasi, mampu sebagai pembeda dan memberikan keberhasilan tinggi dalam pengenalan, serta besarnya data dapat diperkecil tanpa menghilangkan informasi penting.

Vektor fitur (features vector) adalah gabungan atau kombinasi dari beberapa fitur dan dinyatakan sebagai vektor kolom. Banyaknya fitur pembentuk vektor fitur disebut dengan dimensi dari vektor fitur.


(41)

23 Ruang fitur (features space) adalah ruang yang dibentuk oleh vektor fitur dan merupakan cara untuk menggambarkan distribusi vektor fitur. Pada ruang fitur , objek (vektor fitur) dinyatakan sebagai suatu titik.

Scatter plot adalah pemetaan dari beberapa vektor fitur ke dalam ruang ciri. Scatter plot merupakan alat visualisasi yang sempurna untuk menentukan distribusi dari distribusi vektor bila dimensi vektor fitur .

Pola dapat dikatakan sama dengan fitur atau vektor fitur yang merupakan sifat utama dari suatu objek. Namun dalam pengenalan (klasifikasi), pola merupakan sepasang variabel (x,w) dengan x menyatakan sekumpulan pemantauan (pengamatan) atau fitur atau vektor fitur , sedangkan w merupakan konsep dibalik pengamatan.

Pemilah (classifier) merupakan teknik atau metode untuk memilah (mengelompokkan) vektor fitur ke dalam kelas-kelas tertentu. Vektor fitur untuk pelatihan (training feature vectors) merupakan vektor fitur yang telah diketahui kelasnya dan digunakan untuk merancang pemilah (classifier) 2.4.3. Jarak (Distance)

Jarak digunakan untuk menentukan tingkat kesamaan (similarity degree) atau ketidaksamaan (disimlarity degree) dua vektor fitur. Tingkat kesamaan berupa sebuah nilai (score) dan berdasarkan nilai tersebut dua vektor fitur akan dikatakan mirip atau tidak. Contoh metode pengukuran jarak adalah dengan euclidean distance, normalized euclidean distance, city block distance, chebyshev distance, minkowski distance dan lain sebagainya.


(42)

24 2.5. Ekstraksi Fitur

Ekstraksi fitur (feature extraction) merupakan bagian fundamental dari analisis citra. Fitur adalah karakteristik unik dari suatu objek. Karakteristik fitur yang baik sebaiknya mengandung informasi berikut :

1. Dapat membedakan suatu objek dengan yang lainnya (discrimination). 2. Memperhatikan kompleksitas komputasi dalam memperoleh fitur.

Kompleksitas komputasi yang tinggi tentu akan menjadi beban tersendiri dalam menemukan sebuah fitur.

3. Tidak terikat (independence) dalam arti bersifat invariant terhadap transformasi (rotasi, penskalaan, pergeseran, dan lain sebagainya).

4. Jumlahnya sedikit, karena fitur yang jumlahnya sedikit akan dapat menghemat waktu komputasi dan ruang penyimpanan untuk proses selanjutnya.

Banyak metode yang digunakan untuk mengekstraksi fitur dari citra digital. Metode itu diantaranya :

1. Amplitudo, ciri yang paling sederhana dan mungkin paling berguna pada suatu objek. Ciri amplitudo berhubungan dengan properti fisik suatu objek seperti luminance, nilai tristimulus, atau nilai spektral.

2. Histogram, ciri berdasarkan histogram dari suatu citra. Penggunaan ciri histogram dapat dimanfaatkan untuk mendapatkan momen, entropi, mean, dan ciri histogram juga sangat berguna dalam analisis bentuk.


(43)

25 3. Matrics Co-ocurrent, Matrik yang dibangun menggunakan histogram tingkat kedua, Matrik co-ocurent merupakan matriks berbentuk L x L (dengan L adalah banyaknya tingkat keabuan) dengan elemen-elemen yang merupakan distribusi probabilitas bersama dari pasangan pixel. Matrik co-occurent

digunakan untuk menghitung autokolrelasi, co-variance.

4. Gradient, dengan menghitung gradien dalam citra bisa didapatkan nilai dari

GrMean, GrVariance, GrSkewnes, GrKurtosis.

5. Deteksi Tepi, banyaknya tepi pada pixel tetangga dapat diukur dengan suatu fitur tekstur, untuk mengukur tekstur suatu citra harus mengalami proses deteksi tepi.

6. Spektrum Fourier, dengan spektrum Courier fitur yang dapat diperoleh adalah celah horizontal, celah vertikal, cincin dan vektor.

7. Wavelet, wavelet merupakan perbaikan dari fourier. Wavelet tidak hanya dapat menentukan frekuensi tetapi dapat juga memberikan informasi tentang skala dan waktu.

8. Dan masih banyak cara pencarian fitur lainnya seperti berdasarkan warna, tapis gabor, fraktal, overlapping dan lain sebagainya.

2.6. Speeded-Up Robust Features (SURF)

Metoda Speed-Up Robust Features (SURF) merupakan sebuah metode deteksi fitur yang menggunakan keypoint dari sebuah citra/gambar. Keypoint itu sendiri adalah bagian-bagian dari sebuah citra/gambar yang nilainya kuat/tetap ketika mengalami perubahan skala, rotasi, blurring, transformasi 3 dimensi, pencahayaan dan juga perubahan bentuk. Perubahan bentuk itu bisa terjadi karena


(44)

26 bentuk citra data awal yang tidak utuh atau tidak sempurna gambar yang ada di dalam citra sampel tersebut. Citra uji yang tidak utuh mungkin karena ada objek lain yang menutupi, atau pengambilan gambar yang tidak sempurna, atau keadaan objek itu sendiri yang telah mengalami perubahan.

Metode SURF merupakan pengembangan dari metode SIFT. Kedua metode tersebut mempunyai tujuan yang sama yaitu mendeteksi fitur lokal dengan menggunakan scale space representation (Brown & Lowe, 2002). Metode SIFT diperkenalkan oleh D G Lowe pada tahun 2004 dengan jurnalnya yang berjudul

Distinctive Image Features from Scale-Invariant Keypoints”. Meskipun dianggap metode yang handal dalam mendeteksi fitur lokal, Metode SIFT memiliki kelemahan dalam hal kecepatan dalam menemukan fitur lokal tersebut. Dan kelemahan itulah yang dilengkapi pada Metode SURF. Metode SURF menggabungkan algoritma citra integral (integral image) dan blob detection

berdasarkan determinan dari matriks Hessian. (Bay, Ess, Tuytelaars, & Gool, 2008) 2.6.1. Ruang Skala (Scale Space)

Dengan ukuran citra yang berbeda-beda, akan sangat sulit bagi kita untuk membandingkan fitur-fitur yang terdapat pada citra tersebut. Oleh sebab itu, diperlukan suatu proses yang menangani perbedaan ukuran dengan


(45)

27 menggunakan metode perbandingan skala. Dalam metode ini, kita menggunakan scale space di mana citra diimplementasikan dalam bentuk sebuah image pyramid (Lowe, 2004).Citra secara berulang akan diperhalus (smoothing) dengan fungsi Gaussian dan secara beruntun dengan cara sub-sampling untuk mencapai tingkat tertinggi pada piramida. Dengan menggunakan integral image, perhitungan ini tidak perlu dilakukan secara iteratif dengan menggunakan filter yang sama, tetapi dapat filter dengan ukuran sembarang ke dalam beberapa skala citra yang berbeda.

2.6.2. Penempatan Lokasi Keypoint

Untuk mencari lokasi keypoint yang invariant terhadap rotasi maka dilakukan proses yang terdiri dari tiga langkah, yaitu :

1. Menentukan nilai ambang penentuan lokasi. Ketika nilai ambang dinaikkan, jumlah keypoint yang terdeteksi lebih kecil dan sebaliknya. Oleh karena itu, nilai ambang bisa disesuaikan untuk setiap aplikasi. 2. Proses non-maxima suppression yaitu proses yang bertujuan untuk

mencari sekumpulan calon keypoint. Proses ini dilakukan dengan membandingkan setiap pixel citra pada scale space dengan


(46)

28

Neighbors, yang terdiri atas 8 titik di scale asli dan 9 di setiap scale atas dan bawahnya (total keseluruhan 9+8+9=26-Neighbors). Hasil dari non-maxima suppression adalah keypoint yang dihasilkan citra.

3. Proses pencarian keypoint dengan menggunakan interpolasi dengan data yang dekat dengan keypoint. Ini dilakukan dengan mencocokan quadratic 3 dimensi (Brown & Lowe, 2002).

Determinan Hessian yang dinyatakan dengan , , � didefinisikan sebagai persamaan (1) berikut:

= + ����� + � � ... (1) Lokasi ekstrim yang diinterpolasi, didapatkan dengan mencari turunan dari fungsi ̂ = , , � dan diberi nilai nol, dijelaskan dengan persamaan (2) berikut :

̂ = � � − �� ... (2) Jika ̂ lebih besar dari 0.5 pada x, y atau arah �, lokasi perlu disesuaikan lagi dengan melakukan interpolasi kembali. Prosedur ini diulang sampai nilai ̂ kurang dari 0.5. Bila interpolasi telah dilakukan beberapa kali tetapi hasilnya tidak memenuhi nilai dibawah 0.5, maka keypoint tersebur dihapus. Keypoint yang tersisa adalah yang stabil.

2.6.3. Deskripsi Fitur (Feature Description)

Deskriptor ditentukan berdasarkan daerah pixel sekitar keypoint. Deskriptor ini menggambarkan distribusi intensitas pixel tetangga disekitar keypoint, sama halnya dengan informasi gradien yang di ekstrak


(47)

29 oleh SIFT (Lowe, 2004). Pada SURF dihitung distribusi respon waveletHaar

order pertama dalam arah x dan arah y dan tidak menggunakan gradien seperti yang dilakukan SIFT. Selain itu, SURF menggunakan integral gambar untuk meningkatkan kecepatan proses. Hal tersebut bertujuan untuk mengurangi waktu komputasi pada ekstraksi fitur dan pada proses matching fitur, yang juga telah terbukti meningkatkan robust (Bay, Ess, Tuytelaars, & Gool, 2008).

Proses awal yang dilakukan adalah mencocokkan orientasi yang dihasilkan berdasarkan informasi dari daerah yang berbentuk lingkaran disekitar piksel yang menjadi keypoint. Kemudian membuat daerah berbentuk kotak pada orientasi yang terpilih dan mengekstrak deskriptor SURF dari daerah tersebut. Pada proses selanjutnya, proses matching fitur antara dua gambar dilakukan. Berikut ini dua langkah perhitungan deskriptor keypoint

yang akan dijelaskan lebih detail (Tania & Aniarti, 2010). 2.6.3.1. Pembuatan Orientasi

Untuk membuat keypoint yang invariant terhadap rotasi gambar perlu dilakukan identifikasi orientasi yang dihasilkan disekitar keypoint. Untuk tujuan tersebut langkah yang dilakukan adalah (Tania & Aniarti, 2010):

1. Menghitung respons Haar Wavelet dalam arah x dan arah y pada daerah pixel yang berbentuk lingkaran dengan jarak 6s, dimana


(48)

30 dihasilkan direpresentasikan sebagai titik dalam ruang dengan respons horizontal sepanjang sumbu abis dan respons vertikal sebagai sumbu koordinat.

2. Membuat orientasi dominan dengan menghitung jumlah seluruh respons dalam pergeseran orientasi dengan ukuran window �/3,

di mana respons horizontal dan vertikal tersebut dijumlahkan. Dari kedua respon yang dijumlahkan akan menghasilkan sebuah vektor orientasi lokal. Vektor terpanjang mendefinisikan orientasi keypoint.

2.6.3.2. Deskriptor Berdasarkan Jumlah Respon Haar Wavelet

Untuk proses ekstraksi deskriptor, langkah pertama yang dilakukan adalah membuat daerah kotak di sekitar keypoint, di mana

keypoint sebagai pusat dari daerah kotak tersebut, dan orientasinya di sekitar orientasi yang ditentukan.


(49)

31 Selanjutnya, respon wavelet dx dan dy dijumlahkan untuk masing-masing sub-region. Selain memberikan informasi tentang

polar dari perubahan intesitas, juga akan dihasilkan jumlah nilai absolut dari respon |dx| dan |dy|. Masing-masing sub-region mempunyai 4 dimensi deskriptor vektor v, yaitu dx, dy, |dx| dan |dy|.

Untuk 4 x 4 sub-region, maka panjang vektor deskriptor-nya adalah 64 (Bay, Ess, Tuytelaars, & Gool, 2008). Vektor v dapat dilihat pada persamaan (3).

� = ∑ , ∑ , ∑ | | , ∑ | | ... (3) Respon wavelet juga invarian terhadap pencahayaan, sedangkan sifat invarian terhadap kontras dicapai melalui pembentukan deskriptor ke dalam satuan vektor.

2.7. Fast Library for Approximate Nearest Neighbors (FLANN)

Metode Fast Library for Approximate Nearest Neighbors (FLANN) adalah sebuah library untuk melakukan pencarian cepat, perkiraan tetangga, yang terdapat


(50)

32 pada space dimensi yang tinggi. Library ini merupakan kumpulan algoritma yang bekerja dengan baik untuk menemukan nilai tetangga terdekat, sementara untuk hasil parameter yang optimal, tergantung pada data yang digunakan.

2.8. Single Board Computer

Single Board Computer (SBC) adalah komputer papan tunggal yang mempunyai sistem operasi sangat menyerupai environment desktop pada umumnya. (Ramrajkar, Shah, & Parekh, 2012)

WinSystem melalui wakil presidennya mengutarakan SBC adalah komputer yang dibangun dari papan sirkuit tunggal dengan mikroprosesor, memori, input/output (I/O) dan fitur lain yang dibenamkan menyerupai komputer pada umumnya. (A. Burckle, 2014)

SBC sengaja dibentuk dengan bentuk yang ringkas dan minimalis untuk mendukung pemanfaatannya dalam bidang teknologi embedded system. Dikarenakan bentuknya yang ringkas, pemanfaatan SBC yang paling umum adalah sebagai komputer demonstrasi atau pengembangan sistem terintegrasi, untuk sistem pendidikan, atau untuk digunakan sebagai pengendali komputer embedded.

Di pasaran saat ini, SBC memiliki berbagai varian bentuk dan fungsi. Berbagai macam industri embedded mulai mengembangkan SBC versi mereka sendiri, seperti raspberry pi, cubieboard, beagleboard, radxa, dan lain lain.


(51)

33 2.8.1. Beaglebone Black

Beaglebone adalah Single Board Computer (SBC) yang dikembangkan oleh Texas Instrument dengan dukungan processor Sitara AM335x ARM Cortex A8. (McBride, 2014) Sebelum mengembangkan beaglebone Black, texas instrument sudah terlebih dahulu mengembangkan beagleboard dan beaglebone. Perbedaan mendasar dari beaglebone black dengan beagleboard dan beaglebone terletak pada ukuran dan performa hardware yang digunakan.

Spesifikasi SBC BeagleBone Black adalah sebagai berikut : (Beagleboard.org, 2014)

 Processor AM335x 1Ghz ARM-Cortex-A8  512MB DDR3 RAM

 4GB 8-bit eMMC on-board flash storage  3D graphics accelerator

 NEON floating-point accelerator


(52)

34  2x PRU 32-bit microcontrollers

 Connectivity :

o USB client for power & communications o USB host

o Ethernet

o HDMI

o 2x 46 pin header

 Software Compatibility

o Debian o Android o Ubuntu

o Cloud9 IDE on Node.js w/ BoneScript library

Sedikitnya terdapat delapan kelebihan menggunakan Beaglebone dibanding menggunakan menggunakan microcontroller board, yaitu (Richardson, 2013):

1. Built-in Network 2. Remote Access 3. Timekeeping 4. Filesystem

5. Use many different programming language 6. Multitasking

7. Linux Software

8.

Linux Support


(53)

35 2.9. QT Framework

QT merupakan framework yang dapat memudahkan pengembang aplikasi untuk membangun aplikasi berbasis C++. QT adalah cross-platform aplication

(dapat membuat program dengan multi platfom) dan UI Framework untuk developer yang menggunakan bahasa C++ atau QML. QML itu adalah bahasa C++ dari QT yang mirip seperti css dan javascript. (Qt Digia, 2014)

Dalam QT framework ini disediakan pula tools dan add-ons lainnya untuk lebih memudahkan pengembang aplikasi mengembangkan aplikasinya seperti :

 Qt Creator, adalah Integrated Development Environment (IDE) untuk membuat aplikasi menggunakan Qt Framework.

 Qt Visual Studio Add in, tools untuk membangun aplikasi menggunakan Qt Framework pada Visual Studio

 Qmake, Sistem untuk “build” kode pemprograman untuk menghasilkan makefiles.

 Git with Qt Creator, tools untuk memanajemen proyek Qt dengan repository Git.


(54)

36 2.10. OpenCV

OpenCV (Open Source Computer Vision) adalah sebuah API (Application Programming Interface) Library yang sudah sangat familiar pada Pengolahan Citra Computer Vision. Computer Vision itu sendiri adalah salah satu cabang dari Bidang Ilmu Pengolahan Citra (Image Processing) yang memungkinkan komputer dapat melihat seperti manusia. Dengan vision tersebut komputer dapat mengambil keputusan, melakukan aksi, dan mengenali terhadap suatu objek. Beberapa pengimplementasian dari Computer Vision adalah Face Recognition, Face Detection, Face/Object Tracking, Road Tracking, dll. OpenCV adalah library Open Source untuk Computer Vision untuk C/C++, OpenCV didesain untuk aplikasi real-time, memiliki fungsi-fungsi akuisisi yang baik untuk gambar/video.

OpenCV bersifat open source BSD-licenced library yang berarti memberikan kebebasan penuh kepada pemakai untuk dimanfaatkan secara komersial tanpa perlu mengungkap kode sumbernya. OpenCV juga mendukung bahasa pemprograman C++, C, Python, dan Java pada sistem operasi Windows, Linux, Mac OS, iOS, dan Android.


(55)

37 OpenCV mempunyai struktur yang modular, yang berarti setiap paket OpenCV termasuk beberapa shared dan static library. Berikut merupakan komponen dalam OpenCV : (OpenCV Dev Team, 2014)

 Core, modul yang berisi struktur data dasar yang fungsi yang dipakai pada modul lain.

 Imgproc, modul pemprosesan citra, termasuk linier dan non linier image filtering, geometrical image transformations, konversi ruang warna, histogram dan lain sebagainya.

 Video, modul untuk analisa video termasuk motion estimation, background subtraction, dan algoritma object tracking.

 Calib3d, berisi dasar algoritma geometri untuk mengkalibrasi kamera, algoritma stereo correspondence dan elemen dari 3D reconstruction.  Features2d, modul untuk mendeteksi fitur, deskripsi fitur dan lain

sebagainya.

 Objdetect, modul deteksi objek dan untuk mendefinisikan objek.  Highgui, modul untuk membangun interface dari video dan image.  Gpu, berisi algoritma untuk akselerasi GPU.

2.11. Pengujian Sistem Biometrik

Tanda tangan merupakan salah satu bagian dari sistem biometrik, oleh sebab itu pengujian yang dilakukan menggunakan pengujian dengan standar biometrik untuk dapat dibandingkan keakuratannya dengan sistem biometrik lainnya. Dalam sistem biometrik dikenal dengan istilah False Acceptance Rate (FAR) dan False


(56)

38

Rejection Rate (FRR). False Acceptance Rate (FAR) adalah persentase dari kesalahan sistem dalam menerima (accept) akses suatu input yang tidak sah/tidak valid, sedangkan False Rejection Rate (FRR) adalah persentase dari kesalahan sistem dalam menolak (reject) akses dari suatu input yang sah/valid. Perhitungan nilai FAR dan FRR dijelaskan dalam rumus sebagai berikut (Bayometric, 2014) :

�� = � ℎ � ℎ � � × % ... (1)


(57)

39

BAB III

METODOLOGI PENELITIAN

3.1. Pengumpulan Data

Pengumpulan data dimaksudkan untuk mencari dan mengumpulkan data yang terkait dengan penelitian seperti dasar teori, metodologi penulisan, metodologi proses, dan acuan penelitian sejenis. Dalam penelitian ini, metode pengumpulan data yang dilakukan adalah studi pustaka, studi literatur, wawancara, dan observasi.

3.1.1. Studi Pustaka

Pada tahap pengumpulan data dengan cara studi pustaka bermaksud untuk mengumpulkan data dan informasi yang relevan dengan objek penelitian. Pencarian data dengan buku maupun mencari artikel yang berkaitan dengan objek penelitian melalui internet. Data-data tersebut dijadikan sebagai landasan teori skripsi.

Hasil yang penulis dapatkan dari pengumpulan data dengan metode studi pustaka :

 Mendapatkan pemahaman mengenai definisi dari objek penelitian.  Mendapatkan pemahaman tentang konsep pengolahan citra dan

implementasinya ke dalam aplikasi.

 Mendapatkan pemahaman dalam menggunakan bahasa pemprograman yang digunakan.


(58)

40 Selain studi pustaka, dalam penelitian ini menggunakan referensi lain berupa bahan tulisan dari skripsi, jurnal atau penelitian yang memiliki keterkaitan dengan topik yang dibahas dalam penelitian ini.

Berikut beberapa literatur sejenis yang menjadi referensi pada penelitian ini :

No Nama Judul Tahun Hasil Penelitian Saran

Ainun Jariah

Pasca Sarjana Matematika ITS

Mohammad Isa Irawan Matematika, FMIPA ITS Imam Mukhlash Matematika, FMIPA ITS

Roni Salambue Implemetasi dari metode moment invarian secara manual Mengimplementasikan dalam bentuk aplikasi komputer

Metode moment invarian tidak berpengaruh terhadap rotasi, translasi dan skala citra

Semua citra uji dapat dikenali

Javier Ruiz-del-Solar

Pengenalan citra berdasarkan pendekatan ciri lokal SIFT

Departement of Electrical Engineering, Unversidad de Chile

False Rejection Rate (FRR) sebesar 16,4%

Christ Devia

False Acceptance Rate (FAR) sebesar 14.2% Departement of Electrical

Engineering, Unversidad de Chile

Patricio Loncomilla Departement of Electrical Engineering, Unversidad de Chile

Felipe Concha

Departement of Electrical Engineering, Unversidad de Chile

2008 Offline Signature

Verification Using Local Interest Points and Descriptor

3 Membedakan

percobaan pemalsuan dengan pemalsuan secara acak (Random) dan pemalsuan oleh orang yang memiliki kemampuan (Skilled)

Menggunakan pendekatan yang lebih cepat dalam mengekstraksi fitur

2 2013

Manajemen Informatika, FMIPA Univ.Riau

Pengenalan Pola Tanda Tangan dengna Menggunakan Metode Moment Invarian dan Jaringan Saraf Radial Basis Function

2011

1 Error disebabkan oleh

faktor konsistensi citra tanda tangan terhadap ukuran dan posisi goresan.

Akurasi pengenalan citra tanda tangan sebesar 80%.

Penggunaan metode yang ekstraksi fitur citra dan metode pencocokan fitur yang lebih baik dalam hal pengenalan pola tanda tangan.

Melakukan pengujian dengan jumlah citra tanda tangan yang lebih banyak

Pengenalan Pola Tanda Tangan dengan Menggunakan Metode Moment Invarian dan Euclidean Distance


(59)

41 Pada penelitian ini penulis tertarik mengembangkan aplikasi pengenalan pola tanda tangan dengan metode SURF karena menurut jurnal dari Herbet Bay dan kawan-kawan yang berjudul Speeded-Up Robust Features (SURF), SURF memiliki kelebihan berikut (Bay, Ess, Tuytelaars, & Gool, 2008) :

1. Dapat mendeteksi fitur lebih cepat (diklaim lebih cepat dari SIFT). 2. Dapat mendeskripsikan fitur-fitur yang terdeteksi secara unik

(distinctive).

3. Memiliki ketahanan (invariant) terhadap transformasi citra seperti rotasi, penskalaan, pencahayaan, dan perubahan sudut pandang yang kecil. 4. Tahan terhadap gangguan (noise) dengan intensitas tertentu.

3.1.3. Wawancara

Wawancara merupakan teknik pengumpulan data yang dilakukan melalui tatap muka dan tanya jawab langsung antara pengumpul data maupun peneliti terhadap narasumber atau sumber data. Terdapat dua jenis wawancara yaitu wawancara terstruktur dan wawancara tidak terstruktur.

Wawancara terstruktur artinya peneliti telah mengetahui dengan pasti apa informasi yang ingin digali dari responden sehingga daftar pertanyaannya sudah dibuat secara sistematis. Peneliti juga dapat menggunakan alat bantu perekam suara, kamera foto, dan material lain yang dapat membantu kelancaran wawancara. Sedangkan wawancara tidak terstruktur adalah wawancara bebas, yaitu peneliti tidak menggunakan


(60)

42 pedoman wawancara yang berisi pertanyaan yang akan diajukan secara spesifik, dan hanya memuat poin-poin penting masalah yang ingin digali dari responden. (Sekaran, 2006)

Wawancara dilakukan dengan Bapak Prabowo Puranto, M. Si selaku Kepala Bidang Kerja Sama Pusat Penelitian Fisika (P2F) merangkap sebagai pembimbing lapangan pada penelitian ini. Wawancara pada 24 November 2014 di Pusat Penelitian Fisika (P2F) LIPI, Serpong, Tangerang-Selatan. 3.1.4. Observasi

Observasi dimaksudkan untuk mengetahui lebih mendalam mengenai sistem autentikasi tanda tangan atau hal yang berkaitan dengan objek penelitian. Observasi dilakukan dengan kunjungan langsung ke lapangan seperti bank umum dan swasta, perkantoran atau tempat lain yang memungkinkan penggunaan tanda tangan sebagai proses autentikasi.

3.2. Rancang Bangun Aplikasi

Metode pembangunan aplikasi yang digunakan adalah metode Rapid application development (RAD). RAD atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental

(bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. (CASEMaker, 2000)

James Martin dalam bukunya “Rapid Application Development” membagi


(61)

43 3.2.1. Requirement Planning Phase

Pada tahap ini, peneliti mengumpulkan dan menganalisa semua hal yang menjadi wilayah batasan (scope) pengembangan aplikasi. Peneliti melakukan pengumpulan data dengan observasi dan kajian literatur untuk mengetahui cara kerja, pengembangan, serta kelebihan dan kekurangan

system as is pada validasi tanda tangan yang digunakan. Tahapan ini menghasilkan dokumentasi mengenai kebutuhan aplikasi untuk mencapai fungsionalitasnya.

3.2.2. User Design Phase

Perencanaan kebutuhan yang telah didokumentasikan pada tahap sebelumnya presentasikan dalam bentuk pemodelan visual. Fase ini dilakukan sebagai acuan pada fase selanjutnya. Pemodelan visual yang dimaksud dalam tahap ini adalah diagram yang menjelaskan alur data dan logika serta bagaimana antarmuka pada aplikasi yang akan dibangun.

Dalam menjelaskan alur data dan logika dalam aplikasi, penelitian ini menggunakan diagram usecase untuk mendeskripsikan kebutuhan user dalam aplikasi dan diagram alir untuk menjelaskan kejadian yang terjadi pada aplikasi.

3.2.3. Construction Phase

Pada tahap ini dilakukan pengkodean (coding), yaitu menerjemahkan pemodelan diagram dan desain menjadi perintah dapat dilakukan oleh komputer. Penelitian ini menggunakan bahasa pemprograman C++ dengan


(62)

44 QT Creator sebagai Integrated Development Environtment (IDE) dilengkapi dengan opencv sebagai library pemprosesan citra digital.

3.2.4. Cutover Phase

Seperti pada Software Development Life Cycle (SDLC) pada umumnya, tahapan ini berisikan evaluasi atau pengujian sistem. Pengujian sistem dengan memastikan seluruh fungsionalitas sudah sesuai dengan kebutuhan pengguna.

Dilakukan dua pengujian pada aplikasi ini, pengujian fungsional dan pengujian keakuratan. Pengujian fungsional aplikasi dimaksudkan untuk memastikan seluruh fungsional yang bangun dapat berjalan dengan baik. Yang menjadi parameter dalam pengujian fungsional sebagai berikut :

No Rancangan Proses Fungsi

1 Halaman Analisa Tanda tangan

Load tanda tanda dalam database Mencari file citra tanda tangan Menampilkan citra tanda tangan Proses analisa

Menampilkan citra berdasarkan kemiripan tanda tangan

Menampilkan hasil analisa ke dalam kolom hasil Menampilkan persentase kemiripan citra tanda tangan

dan kesimpulan analisa

2 Halaman Input Tanda tangan

Mencari file citra tanda tangan Menampilkan citra tanda tangan Proses ekstrasi

Menampilkan citra berdasarkan kemiripan tanda tangan

Menampilkan hasil input ke dalam kolom hasil Rekursif input citra tanda tangan

Menyimpan hasil analisa ke database Membersihkan kolom tanda tangan


(63)

45 Pengujian keakuratan dilakukan untuk mendapatkan nilai False Rejection Rate (FRR) dan False Acceptance Rate (FAR). False Rejection Rate (FRR) dimaksudkan untuk mengetahui ingat kegagalan aplikasi dalam mengenali citra tanda tangan asli, sedangkan False Acceptance Rate (FAR)

untuk mengetahui tingkat kegagalan aplikasi dalam menolak tanda tangan palsu.

3.3. Dasar Penggunaan RAD

Penelitian ini menggunakan RAD dengan dasar sebagai berikut :

1. Kebutuhan dan lingkungan pengembangan aplikasi jelas dan sudah dipahami dengan baik.

2. Dengan metode RAD fungsional sistem akan tercapai dengan baik dan utuh dalam periode waktu yang pendek.

3. RAD sangat cocok untuk pengembangan aplikasi yang tidak memiliki kompleksitas komputasi yang tinggi.

3.4. Alat Penelitian

3.4.1. Kebutuhan Perangkat Lunak

Perangkat lunak yang digunakan dalam penelitian ini adalah :

3 Halaman Lihat Tanda tangan

Load tanda tangan dari database Menampilkan citra tanda tangan

Menampilkan citra tanda tangan beserta keypoint yang terdeteksi


(64)

46 1. Windows 7 Home Premium

2. Ubuntu 14.04 LTS Trusty Tahr 32bit

3. Ubuntu 14.04 LTS Trusty Tahr for ARM Cortex A8

4. Qt Creator 3.1.2

5. Qt SDK 5.2.1

6. Opencv 2.4.9

7. VNC Viewer

3.4.2. Kebutuhan Perangkat Keras

Perangkat keras yang digunakan dalam penelitian ini adalah : 1. Acer TravelMate 8172, Intel i3 1.33 Ghz, 4Gb DDR3

2. Beaglebone Black Rev A5C, Sitara AM338BZCZ100 1Ghz, 512Mb DDR3


(65)

47 3.5. Kerangka Penelitian

TOPIK DAN JUDUL PENELITIAN INPUT ANALYSIS ___________________ STUDI PUSTAKA STUDI LITERATUR OBSERVASI WAWANCARA OUTPUT ANALYSIS ______________________________________________________________________

KESIMPULAN DAN SARAN

OUTCAME ANALYSIS ______________________________

REKOMENDASI

______________________________

Disusun berdasarkan kesimpulan dan saran untuk disampaikan kepada pihak yang

berkepentingan PRA PENELITIAN RUMUSAN MASALAH LATAR BELAKANG MASALAH PROCESS ANALYSIS ______________________________________________________________________ RAPID APLICATION DEVELOPMENT

---Plan

Req uirement Cut over design

mo del

prototyp e build

PENGAMBILAN SAMPLE UJI

________________ Pengambilan sample

untuk menguji keakuratan aplikasi

ANALISIS KEAKURATAN APLIKASI


(66)

48

BAB IV

PEMBAHASAN DAN IMPLEMENTASI

4.1. Analisis Masalah

Permasalahan utama dalam penelitian ini yaitu bagaimana membedakan tanda tangan asli dan tanda tangan palsu dengan membangun aplikasi pengenalan pola tanda tangan yang diterapkan pada SBC Beaglebone Black. Aplikasi yang akan dibangun merupakan aplikasi yang dapat menerjemahkan citra digital tanda tangan menjadi data. Data tersebut lalu disimpulkan menjadi ciri dari tanda tangan. Menurut jurnal tentang perbandingan sistem biometrik, tanda tangan merupakan jenis biometrik yang cukup sulit untuk dikenali. Hal itu karena sifat tanda tangan yang terkait banyak hal seperti pena yang digunakan, posisi menggoreskan, waktu dan keadaan melakukan dan hal konsistensi tanda tangan (Ms. C.B. Tatepamulwar, 2014). Terkadang tanda tangan seseorang dalam menandatangani surat resmi berbeda dengan menandatangani lembar absensi, berbeda juga menandatangani ketika kondisi tenang dengan kondisi terburu-buru, tanda tangan sangat terkait dengan waktu dan kondisi penanda tangan. Oleh sebab itu diperlukan banyak tanda tangan sebagai citra latih untuk menarik kesimpulan tentang ciri sebuah tanda tangan.


(67)

49 Setelah mendapatkan kesimpulan tentang ciri suatu tanda tangan, permasalahan selanjutnya adalah bagaimana membedakan tanda tangan asli dengan tanda tangan yang palsu. Sama halnya seperti citra tanda tangan asli, tanda tangan palsu perlu untuk di dapatkan ciri tanda tangannya yang selanjutnya akan dibandingkan dengan ciri tanda tangan asli. Hasil pembandingan ciri kedua tangan tangan akan menghasilkan nilai yang mengartikan seberapa mirip tanda tangan palsu dengan tanda tangan yang asli.

4.2. Fase Analisis Kebutuhan

Dari analisa masalah di atas, dalam penelitian ini peneliti membutuhkan pengetahuan teori dan teknis tentang bagaimana melakukan akuisisi data, ekstraksi fitur (ciri) citra tanda tangan, dan pencocokan fitur (fitur) tanda tangan.

4.2.1. Proses Akuisisi Data

Proses akuisisi data yaitu proses pengambilan data citra tanda tangan yang dibutuhkan dalam penelitian ini. Penelitian ini menggunakan citra digital tanda tangan sebanyak 200 citra tanda tangan yang secara detail dijelaskan dalam tabel berikut :


(68)

50

Tabel 4.2.1 - Tabel sample citra tanda tangan

Citra digital tanda tangan Training Set Test Set Total

Citra Tanda Tangan Asli (Original Signature)

5 x 10 5 x 10 100

Citra Tanda Tangan Pemalsuan (Forgeries Signature)

- 10 x 10 100

TOTAL 200

4.2.2. Dasar Penggunaan Speeded Up Robust Fatures (SURF)

Berdasarkan analisis masalah pada bab sebelumnya, tanda tangan memiliki karakteristik yang konsistensi yang lemah. Tanda tangan cenderung berubah terkait dengan banyak hal. Oleh karena itu diperlukan metode ekstraksi citra digital yang baik dan cepat. Penggunaan SURF dalam penelitian ini dikarenakan hal berikut (Bay, Ess, Tuytelaars, & Gool, 2008) :

1. Dapat mendeteksi fitur lebih cepat (diklaim lebih cepat dari SIFT). 2. Dapat mendeskripsikan fitur-fitur yang terdeteksi secara unik

(distinctive).

3. Memiliki ketahanan (invariant) terhadap transformasi citra seperti rotasi, penskalaan, pencahayaan, dan perubahan sudut pandang yang kecil. 4. Tahan terhadap gangguan (noise) dengan intensitas tertentu.


(69)

51 4.2.3. Dasar Penggunaan Fast Library for Approximate Nearest

Neighbors (FLANN)

Fast Library for Approximate Nearest Neighbors (FLANN) merupakan metode matching features yang disarankan penggunaannya untuk metode SURF. Hal itu dikarenakan FLANN bersifat open source dan memiliki performa terbaik karena memiliki kecepatan dalam hal mengelompokan dataset (keypoint) yang terdeteksi dan kecepatan dalam melakukan kalkulasi. (Marius Muja, 2012)

4.3. Fase Desain Aplikasi

Pada fase ini dilakukan proses mendeskripsikan dari kebutuhan aplikasi yang sudah dikumpulkan dari proses sebelumnya menjadi informasi yang berupa diagram yang menjelaskan tentang aplikasi yang akan dibuat.

4.3.1. Desain Pengembangan

Desain pengembangan aplikasi ini menggunakan 2 jenis diagram, yaitu diagram usecase dan diagram alir (flowchart). Diagram usecase dimaksudkan untuk mendeskripsikan kebutuhan user dalam aplikasi dan diagram alir untuk menjelaskan kejadian yang terjadi pada aplikasi.


(70)

52 4.3.1.1. Usecase Diagram

Deskripsi

Aktor Deskripsi

User Orang yang menggunakan aplikasi.

Dapat mengakses keseluruhan fungsi aplikasi.

Usecase Deskripsi

Analisa tanda tangan User dapat membandingkan tanda tangan yang asli

(sudah terinput ke dalam database aplikasi) dengan

tanda tangan yang yang dianalisa keasliannya.

Input tanda tangan User menginput tanda tangan yang sebelumnya akan

di lakukan proses training oleh aplikasi. Selanjutnya

data tanda tangan akan di simpan dalam database.

Lihat data tanda tangan User dapat melihat data tanda tangan yang sudah

terinput dalam database aplikasi.

Bagan 4.3-1 - Usecase Diagram

User

analisa tanda tangan

input tanda tangan

lihat data tanda tangan

ekstraksi image comparing image

<<include>>

<<include>> ekstraksi image

Tabel 4.3.1 - tabel deskripsi aktor


(71)

53 4.3.1.2. Diagram Alir Aplikasi (Flowchart)

Dalam mendesain aplikasi ini terdapat 2 komponen proses utama yaitu proses input tanda tangan dan proses analisa tanda tangan. Secara detail proses tersebut tergambarkan dalam diagram alir berikut.

Bagan 4.3-2 - Diagram Alir Proses Input Tanda Tangan start

Input citra tanda tangan

Proses ekstraksi dan matching

Input citra tanda tangan latih

Input citra lagi? Database latih citra ya Write data finish tidak Proses penarikan kesimpulan Keypoint, best keypoin matching, min distance, max

distance

Data kesimpulan latih tanda tangan (min distance, max


(72)

54

start

Data kesimpulan latih tanda tangan Proses ekstraksi citra

Input citra tanda tangan uji

Data keypoint

Database latih citra

Read data Pilih tanda tangan

write data

Proses matching

Data hasil matching

finish

Bagan 4.3-3 - Diagram Alir Proses Analisa Tanda Tangan

Secara detail tentang proses ekstraksi citra dan proses


(73)

55 4.3.2. Desain Antarmuka Aplikasi

Aplikasi pengenalan pola tanda tangan ini dibangun pada SBC Beaglebone Black dengan rencana menggunkan display berukuran 720 x 480 pixel. Ukuran display tersebut diambil dengan alasan karena hardware yang tersedia di pasaran untuk SBC Beaglebone Black tersedia dalam ukuran tersebut. Selain itu, Aplikasi ini dalam jangka panjang diharapkan dapat dikembangkan menjadi aplikasi mobile untuk verifikasi tanda tangan.

Dalam aplikasi ini terdapat tiga menu utama yaitu menu uji tanda tangan, input tanda tangan dan lihat data tangan tangan.

4.3.2.1. Mockup Aplikasi

Aplikasi tersusun dari 3 halaman, yaitu halaman uji tanda tangan, halaman input tanda tangan dan halaman lihat tanda tangan. Berikut adalah mockup dari user interface yang akan dugunakan untuk aplikasi pengenalan pola tanda tangan ini.

1. Halaman Uji Tanda Tangan


(74)

56 2. Halaman Input Tanda Tangan

3. Halaman Lihat Tanda Tangan

Gambar 4.3.2 - mockup halaman input tanda tangan


(75)

57 4.4. Fase Konstruksi (Coding)

4.4.1. Persiapan Alat

4.4.1.1. Instalasi OS untuk Beaglebone Black

Beaglebone Black di dukung oleh banyak sistem operasi dari varian linux. Beagleboard.org di bawah naungan Texas Instrument dalam website resminya menuliskan setidaknya terdapat 4 dukungan sistem operasi untuk beaglebone black yaitu angstrom, ubuntu, debian, dan android.

Pada penelitian ini, peneliti menggunakan Ubuntu 14.04 sebagai sistem operasi. Penggunaan Ubuntu 14.04 dikarenakan dukungan kompatibilitas perangkat lunak pendukung dan performa yang stabil.

Terdapat 2 cara nstalasi sistem operasi beaglebone yaitu dengan flashing sistem operasi ke eMMC atau flashing sistem operasi ke mikrosd.

Berikut penulis paparkan cara instalasi OS Beaglebone : Basic Operation

 Siapkan file sistem operasi yang akan diinstal ke dalam beaglebone. File sistem operasi berekstensi image (*.img).


(76)

58  Siapkan mikrosd, write file sistem operasi ke dalam mikrosd dengan menggunakan software image writer. (gunakan Win32 Disk Imager untuk windows)

1. Flashing eMMC

Tahapan ini mengasumsikan bahwa mikrosd sudah terisikan oleh file image sistem operasi yang akan di instal.

 Masukan mikrosd ke dalam mikrosd pada beaglebone black dengan kondisi mati.

 Hidupkan beaglebone black dengan menghubungkan ke sumber listrik, bersamaan dengan menekan tombol

“boot” sampai semua USER LEDs hidup beberapa detik.  Biarkan selama proses instalasi sistem operasi sedang

berlangsung.

 Selesainya proses instalasi ditandai dengan hidupnya seluruh USER LEDs pada beaglebone black.

 Lepas sumber listrik dari beaglebone black dan keluarkan mikrosd. Kemudian hidupkan kembali beaglebone black.

 Beaglebone black sudah terinstal sistem operasi. 2. Flashing mikrosd

Tahapan ini mengasumsikan bahwa mikrosd sudah terisikan oleh file image sistem operasi yang akan di instal.


(77)

59 Flashing sistem operasi ke mikrosd berarti beaglebone black akan melakukan booting dari mikrosd setiap saat dihidupkan.

 Masukan mikrosd ke dalam mikrosd pada beaglebone black dengan kondisi mati.

 Hidupkan beaglebone black dengan menghubungkan ke sumber listrik, bersamaan dengan menekan tombol

“boot” sampai semua USER LEDs hidup beberapa detik.

 Beaglebone black sudah menjalankan sistem operasi dari mikrosd.

4.4.1.2. Instalasi Qt

Framework Qt yang digunakan dalam pembangunan aplikasi ini adalah Qt versi 5.2.1. Berikut cara instalasi Qt SDK dan Qt Creator.

Instalasi Qt SDK

 Instal semua dependensi untuk menginstal Qt SDK

# sudo apt-get install libx11-dev libxau-dev libxaw7-dev libxcb1-dev libxcomposite-libxcb1-dev libxcursor-libxcb1-dev libxdamage-libxcb1-dev libxdmcp-dev libxext-libxdmcp-dev libxfixes-libxdmcp-dev libxfont-libxdmcp-dev libxft-libxdmcp-dev libxi-libxdmcp-dev libxinerama-dev libxkbfile-dev libxmu-dev libxmuu-dev libxpm-dev libxrandr-libxpm-dev libxrender-libxpm-dev libxres-libxpm-dev libxss-libxpm-dev libxt-libxpm-dev libxtst-dev libxv-dev libxvmc-dev


(78)

60

# sudo apt-get install libglib2.0-dev libssl-dev libgtk2.0-dev

libcups2-dev libgl1-mesa-dev libglu1-mesa-dev

libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev

 Download SDK Qt yang akan di instal

# wget http://download.qt-project.org/official_releases/qt/

 Ekstrak paket yang di sudah download.

# tar -xzf qt-everywhere-opensource-src-5.2.1.tar.gz

 Masuk ke direktori Qt SDK, dan run file configure untuk mengkonfigurasi Qt yang akan di instal. Proses ini memakan waktu yang cukup lama.

# cd qt-everywhere-opensource-src-5.2.1.tar.gz

# ../configure -prefix /opt/qt-5.2.1/ -confirm-license -opensource release systemsqlite pluginsqlsqlite pluginsqlpsql -plugin-sql-mysql -nomake demos -nomake examples -nomake tools -nomake docs -nomake translations -optimized-qmake

 Lakukan proses compile dengan perintah : # make

 Lakukan proses instalasi dengan perintah : # make instal

 Tambah direktori Qt yang sudah terinstal ke dalam PATH linux # export QT_PLUGIN_PATH=$QT_PLUGIN_PATH:/opt/qt-5.2.1/plugins/


(79)

61 Installasi Qt Creator

 Download dan ekstrak Qt Creator.

 Seting mode agar user dapat melukan instalasi.

# chmod +x <nama_file.run>

 Jalankan dengan perintah :

# ./nama_file.run

4.4.1.3. Instalasi Opencv

Pustaka (Library) pengolahan citra digital yang digunakan adalah opencv versi 2.4.9. Berikut tahapan instalasinya :

 Instal semua dependensi untuk menginstal opencv.

# sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff4-dev libjasper-dev libopenexr-dev cmake python-dev python-numpy python-tk libtbb-dev libeigen3-dev yasm libfaac-dev libopencore-amrnb-libfaac-dev libopencore-amrwb-libfaac-dev libtheora-dev libvorbis-libtheora-dev libxvidcore-libtheora-dev libx264-libtheora-dev libtheora-dev libqt4-opengl-dev sphinx-common texlive-latex-extra libv4l-dev libdc1394-22-dev libavcodec-dev libavformat-dev libswscale-dev default-jdk ant libvtk5-qt4-de

 Download kode sumber opencv, lakukan ekstraksi dan buka direktori.


(80)

62

# wget http://sourceforge.net/projects/opencvlibrary/files/ opencv -unix/ 2.4.9/opencv-2.4.9.zip

# unzip opencv-2.4.9.zip # cd opencv-2.4.9

 Buat direktori untuk proses build opencv dengan perintah :

# mkdir build # cd build

 Lakukan proses compile dan instal opencv

# cmake -D WITH_TBB = ON -D BUILD_NEW_ PYTHON_

SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_

EXAMPLES=ON D INSTALL_PYTHON_EXAMPLES = ON -D BUIL-D_EXAMPLES = ON --D WITH_QT = ON ..

# make # make instal

 Lakukan konfigurasi pada opencv, buat file opencv.conf dengan cara :

# sudo gedit /etc/ld.so.conf.d/opencv.conf

 Isi file opencv.conf dengan /usr/local/jib

 Jalankan ldconfig untuk mengkonfigurasi library yang ada.

# sudo ldconfig

 Tambahkan direktori oepncv yang sudah terinstal ke dalam PATH linux.


(81)

63  Tambahkan kode berikut dalam file bash.bashrc

# PKG_CONFIG_PATH = $PKG_CONFIG_PATH:/usr/local/lib/ pkgconfig

# export PKG_CONFIG_PATH

 Opencv sudah terinstal. 4.4.2. Proses Akuisisi Data

Sebanyak 200 citra tanda tangan yang dikumpulkan dilakukan proses

scanning untuk mendapatkan citra digital. Scanning dilakukan dengan scanner canon tipe lide 25 dengan resolusi sebesar 300 dpi. Selanjutkan citra digital dilakukan penyamaan ukuran sebesar 250 x 150 pixel.

Dilakukan juga pra-processing pada citra tanda tangan berupa penghilangan warna latar belakang. Proses tersebut dilakukan agar proses pencarian fitur di proses selanjutnya menghasilkan fitur yang detail.

4.4.3. Proses Ekstraksi Fitur (Feature Detection)

4.4.3.1. Ruang Skala (Scale Space)

Salah satu yang menjadi kekurangan pada tanda tangan adalah dalam hal uniqless, karena terkadang tanda anggan seseorang berbeda ukuran (skala). Pembuatan ruang skala dimaksudkan agar citra tanda tangan invariant terhadap penskalaan.

Pembuatan ruang skala pada citra tanda tangan dimulai dengan melakukan perbandingan terhadap skala citra tanda tangan. Proses


(82)

64 ini dinamakan image piramid. Citra tanda tangan diperhalus (smoothing) dengan fungsi gaussian dan secara beruntun dengan cara sub-sampling untuk mencapai puncak tertinggi piramida.

Ruang skala dibagi ke dalam beberapa level, satu level mempresentasikan respons filter yang melakukan konvolusi citra masukan dengan filter yang ukurannya bertambah tinggi. Secara matematika ruang skala (1) didefinisikan sebagai fungsi � , , � yang dihasilkan dari konvolusi antaran variabel-scale Gaussian (2),

, , � dengan gambar input , .

� , , � = , , � ∗ , ... (1)


(83)

65


(1)

xxxi


(2)

xxxii


(3)

(4)

xxxiv


(5)

xxxv


(6)

xxxvi