karya tulis ilmiah pengenalan sidik jari dengan …

37
KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN JARINGAN SYARAF TIRUAN HETEROASSOCIATIVE MEMORY Oleh : I Gusti Agung Widagda, S.Si, M.Kom FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA 2019

Upload: others

Post on 09-Dec-2021

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

KARYA TULIS ILMIAH

PENGENALAN SIDIK JARI DENGAN JARINGAN SYARAF TIRUAN

HETEROASSOCIATIVE MEMORY

Oleh :

I Gusti Agung Widagda, S.Si, M.Kom

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS UDAYANA

2019

Page 2: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

ii

Pengenalan Sidik Jari dengan Jaringan Syaraf Tiruan

Heteroassociative Memory

I G.A. Widagda

RINGKASAN

Jaringan syaraf tiruan (JST) merupakan salah metode yang dipakai dalam

kecerdasan buatan. Salah satu aplikasi dari kecerdasan buatan adalah pengenalan objek

(object recognition). Pengenalan sidik jari (finger print) adalah salah satu bidang kajian

dalam pengenalan objek. Tujuan dari pengenalan objek yaitu untuk mengidentifikasi

objek pada citra uji dengan jalan mengecek apakah citra tersebut cocok dengan salah

satu citra yang ada dalam database. Proses pengenalan dilakukan dengan mencocokkan

ciri (feature) citra uji dengan ciri citra yang tersimpan dalam database. Pengenalan

sidik jari dengan JST terdiri dari dua tahapan yaitu : pelatihan (training) dan pengujian

(testing). Tahap pelatihan bertujuan untuk menghitung bobot (weight) jaringan

sedangkan tahap pengujian untuk mengenali sidik jari berdasarkan hasil pencocokan

bobot yang dihasilkan dalam proses pelatihan. JST Heteroassociative Memory (HM)

merupakan JST yang lebih efisien dibanding JST lainnya seperti : Perceptron dan

Backpropagation. Algoritma dari JST HM lebih singkat sehingga waktu komputasi yang

diperlukan juga semakin cepat. Dalam penelitian ini dipergunakan 24 buah citra sidik

jari, 4 buah citra tanpa noise dan sisanya ber-noise. Dalam tahap pelatihan dipakai 4

citra tanpa noise sedangkan dalam tahap pengujian baik citra ber-noise maupun tanpa

noise akan diujikan. Hasil penelitian menunjukkan JST HM dapat mengenali semua 4

citra sidik jari tanpa noise dan 19 dari 20 citra sidik jari yang ber-noise.

Kata kunci : jaringan syaraf tiruan, Heteroassociative Memory , sidik jari, citra digital

Page 3: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

iii

Fingerprint Recognition by using Heteroassociative Memory Neural

Network

I G.A. Widagda

SUMMARY

Artificial neural network (ANN) is one of the methods used in artificial

intelligence. One application of artificial intelligence is object recognition. Fingerprint

recognition is one of the fields of study in object recognition. The aim of object

recognition is to identify objects in the test image by checking whether the image

matches one of the images in the database. The Training process is resolved by

matching the features of the test image with the features of ones stored in the database.

Fingerprint recognition with ANN contains of two stages, namely, both training and

testing. The training phase aims to calculate the weight of the network while the other

one is to recognize fingerprints based on the results of matching weights generated in

the training process. Heteroassociative Memory (HM) is a more efficient ANN than

other one such as: Perceptron and Backpropagation. The algorithm of HM is shorter

so that the computational time needed is also faster. In this study 24 fingerprint images

were used, 4 images without noise and the remaining with noise. In the training stage 4

images are used without noise while in the testing stage both noise and no noise images

will be tested. The results showed HM can recognize all 4 fingerprint images without

noise and 19 of 20 fingerprint images that are noise.

Keywords : Neural Network, Heteroassociative Memory , fingerprint, digital image

Page 4: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

iv

KATA PENGANTAR

Kami mengucapkan rasa syukur kepada Tuhan Yang Maha Esa, karena atas

rahmat-Nya maka tulisan ilmiah yang berjudul ”Pengenalan Sidik Jari dengan

Jaringan Syaraf Tiruan Heteroassociative Memory” dapat kami selesaikan.

Kami juga mengucapkan terima kasih yang sedalam-dalamnya kepada berbagai

pihak yang telah mendukung penyelesaian karya tulis ini diantaranya yaitu :

-Bapak Dekan FMIPA, Universitas Udayana

-Bapak Koordinator Program Studi Fisika, FMIPA, Universitas Udayana

-Rekan - rekan dosen Jurusan Fisika, FMIPA, Universitas Udayana

Kami meyakini bahwa karya tulis ini masih banyak kekurangannya. Oleh karena

itu kami sangat berharap adanya masukan, saran dan kritik dari berbagai pihak untuk

menyempurnakan karya ilmiah ini.

Jimbaran, Juli 2019

Penyusun

Page 5: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

v

DAFTAR ISI

Halaman

HALAMAN JUDUL i

RINGKASAN/SUMMARY ii

KATA PENGANTAR iv

DAFTAR ISI v

DAFTAR TABEL vi

DAFTAR GAMBAR vii

I PENDAHULUAN 1

II TINJAUAN PUSTAKA 3

III TUJUAN DAN MANFAAT PENELITIAN 13

IV METODE PENELITIAN 14

V HASIL DAN PEMBAHASAN 24

VI KESIMPULAN DAN SARAN 29

VII DAFTAR PUSTAKA 30

Page 6: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

vi

DAFTAR TABEL

halaman

Tabel 4.1 Data Pelatihan JST HM 14

Tabel 4.2 Data uji sidik jari bernoise 15

Tabel 5.1 Hasil testing citra sidik jari pelatihan (tanpa noise) 25

Tabel 5.1 Hasil testing citra sidik jari bernoise 27

Page 7: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

vii

DAFTAR GAMBAR

halaman

Gambar 2.1 Struktur neuron manusia 3

Gambar 2.2 Struktur neuron jaringan syaraf 4

Gambar 2.3 Model JST 5

Gambar 2.4 Model JST satu lapisan 5

Gambar 2.5 Model JST banyak lapisan 6

Gambar 2.6 Fungsi linear 7

Gambar 2.7 Fungsi threshold biner 7

Gambar 2.8 Fungsi threshold bipolar 7

Gambar 2.9 Fungsi linear piecewise 8

Gambar 2.10 Fungsi Sigmoid biner 8

Gambar 2.11 Fungsi Sigmoid bipolar 9

Gambar 2.12 Arsitektur JST Heteroassociative Memory

9

Gambar 4.1 Arsitektur JST HM untuk Pengenalan sidik Jari 16

Gambar 4.2 Diagram Alir Pelatihan JST HM

17

Gambar 4.3 Diagram Alir testing JST HM 17

Gambar 4.4 Rancangan GUI Aplikasi JST HM 18

Gambar 5.1 Tampilan Aplikasi untuk proses pelatihan JST HM 24

Gambar 5.2 Hasil testing dengan citra sidik jari no.1 25

Gambar 5.3 Hasil testing dengan citra sidik jari no.3 25

Gambar 5.4 Hasil testing dengan citra sidik jari bernoise no.1 26

Gambar 5.5 Hasil testing dengan citra sidik jari bernoise no.4

27

Page 8: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

1

I. PENDAHULUAN

Jaringan syaraf tiruan (Artificial Neural Network) merupakan salah metode yang dipakai

dalam kecerdasan buatan. Salah satu aplikasi dari kecerdasan buatan adalah pengenalan objek

(object recognition). Pengenalan sidik jari (finger print) adalah salah satu bidang kajian dalam

pengenalan objek. Tujuan dari pengenalan objek yaitu untuk mengidentifikasi objek pada

citra uji dengan jalan mengecek apakah citra tersebut cocok dengan salah satu citra yang ada

dalam database. Proses pengenalan dilakukan dengan mencocokkan ciri (feature) citra uji

dengan ciri citra yang tersimpan dalam database. Pengenalan objek tersebut merupakan proses

yang sangat komplek. Manusia dapat melakukan proses pengenalan objek dengan mudah dan

cepat. Sebaliknya jika algoritma pengenalan tersebut dikerjakan oleh mesin (komputer) maka

pengenalan objek akan menjadi sangat komplek (Sinkar dan Deshpande, 2015). Metode yang

banyak dipergunakan untuk pengenalan objek yaitu momen invarian (invariant momen).

Penelitian sebelumnya yang terkait dengan pengenalan objek yaitu : Zhihu dan Jinsong (2010)

serta Abu-Mostafa dan Psaltis (1984). Kekurangan dari metode momen invarian adalah peka

terhadap cacat (noise). Tingkat kerentanan ini akan semakin tinggi jika orde dari momen

invarian semakin tinggi (Teh dan Chin, 1988). Metode lain yang juga banyak diaplikasikan

dalam pengenalan objek yaitu metode Jaringan Syaraf Tiruan (JST). Metode ini pada

dasarnya terdiri dari dua proses yaitu: pelatihan (trainning) dan pengujian (testing). Hasil

proses pelatihan berupa nilai bobot (weight). Selanjutnya nilai bobot ini akan dipakai dalam

tahap pengujian. Dalam proses pengujian, JST akan diuji untuk mengenali citra uji. Beberapa

penelitian yang terkait dengan aplikasi JST untuk pengenalan obyek yaitu : penelitian yang

dilakukan oleh Sinkar dan Deshpande (2015), Dileep dan Danti (2016), serta Verma dan

Khunteta (2017). Dari beberapa penelitian ini didapatkan bahwa objek yang mengandung

noise masih bisa dikenali oleh metode JST. Oleh karena itu metode JST lebih unggul jika

dibandingkan dengan metode momen invarian dalam kaitannya dengan pengenalan objek

yang mengandung cacat atau noise. Atas dasar pertimbangan kelebihan atau keunggulan ini

maka dalam penelitian ini dipilih JST. Metode JST yang dipakai adalah Heteroassociative

Memory (HM). Algoritma HM lebih sederhana dan singkat jika dibandingkan dengan

Page 9: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

2

algoritma JST lainnya seperti : Perceptron dan Backpropagation. Sehingga waktu komputasi

yang diperlukan oleh metode HM lebih efisien.

Page 10: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

3

II. TINJAUAN PUSTAKA

2.1 Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (JST) merupakan sebuah metode untuk mengolah

informasi yang diilhami (insipired) oleh sistem kerja sistem syaraf biologis yaitu otak

mahluk hidup. JST meniru cara kerja otak manusia dalam proses belajar (learning).

Untuk meningkatkan kecerdasan maka manusia perlu belajar atau berlatih (training).

Sehingga JST perlu dilatih agar bisa menyerupai kepintaran manusia. Awalnya JST

dilatih untuk mengidentifikasi pola-pola misalnya : sidik jari, wajah, suara, kornea dan

lain-lain. Kemudian jika JST tersebut dites untuk mengenali pola-pola yang sudah

dilatihkan padanya maka dia akan mampu mengenalinya dengan baik.

Otak manusia mengandung sekitar 10 milyar sel syaraf (neuron) yang saling

terhubung. Gambar 2.1 menggambarkan 2 buah neuron yang terdapat dalam otak.

Neuron secara umum terbagi menjadi 3 bagian yaitu : input, proses, dan output.

Gambar 2.1 Struktur neuron manusia

Denrite merupakan unit input yang bertugas sebagai jalur masuknya sinyal, inti

(nucleus) bertugas sebagai pemroses (pengolah) sinyal menjadi informasi. Sedangkan

axon berfungsi untuk jalur output untuk mengirimkan sinyal (infomasi) dari inti menuju

denrite neuron lainnya. Gambar 2.1 memperlihatkan sinyal yang keluar dari axon

neuron 1 akan dikirim ke denrite neuron 2. Axon neuron 1 dan denrite neuron 2

terhubung lewat synapses. Sinyal dari neuron 1 dapat terkirim ke neuron 2 jik sinyal

tersebut harus memenuhi nilai ambang tertentu (threshold). Keadaan ketika 2 buah

Page 11: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

4

neuron saling berhubungan maka neuron tersebut dikatakan dalam keadaan teraktivasi.

Proses hubungan antara 2 buah neuron biasanya terjadi secara adaptif yang artinya

hubungan itu terjadi secara dinamis. Dalam proses belajar maka otak selalu memiliki

kemampuan untuk beradaptasi sehingga menjadi lebih cerdas.

2.2 Komponen penyusun JST

JST mengandung neuron-neuron yang saling berhubungan satu sama lain.

Hubungan antara neuron ini bertujuan untuk mengolah sinyal yang diterima lewat unit

input untuk dikirim ke unit keluaran dan menuju ke neuron yang lain. Hubungan antar

neuron ini dinyatakan dengan bobot (weight). Gambar 2.2 memperlihatkan struktur

neuron jaringan syaraf.

Input berupa sinyal akan dikirimkan neuron dengan nilai bobot kedatangan tertentu.

Informasi dari berbagai neuron ini akan dijumlahkan ( ∑ ). Hasil penjumlahan ini akan

dibandingkan dengan nilai ambang (threshold) tertentu dengan memakai fungsi aktivasi.

Fungsi aktivasi akan dibahas lebih lanjut di sub bab berikutnya. Jika hasil fungsi

aktivasi melewati nilai ambang tertentu maka neuron tersebut akan diaktifkan sedang

jika tidak maka neuron tersebut tidak akan diaktifkan. Neuron yang aktif akan

mengirimkan output melalui bobot ke neuron lainnya.

2.3 Model JST

Untuk menyatakan topologi dari hubungan neuron-neuron dalam jaringan syaraf

maka dibuat model JST seperti diperlihatkan dalam gambar 2.3.

Gambar 2.2 Struktur neuron jaringan syaraf

Page 12: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

5

Jika dinyatakan dalam notasi matematika maka :

y = f(x.w)=f(x1w1+x2w2+…+xmwm)

dimana

y = output

f = fungsi aktivasi

x1, x2,...xm = input

w1, w2,...wm = bobot

Secara garis besar ada 2 model atau arsitektur JST yaitu JST satu lapisan (single layer)

dan JST banyak lapisan (multi layer). JST satu lapisan ditunjukkan dalam Gambar 2.4.

Dalam JST satu lapisan ini terdiri dari m input (x1,x2,...xm) dan n output (y1,y2,...ym)

dimana :

y1 = f(x1w11+x2w21+…+xmwm1)

y2 = f(x1w12+x2w22+…+xmwm2)

ym = f(x1w1n+x2w2n+…+xmwmn)

JST banyak lapisan merupakan gabungan dari JST satu lapisan seperti diperlihatkan

pada Gambar 2.5. JST terdiri dari n lapisan dari lapisan ke-1 sampai lapisan ke-n.

Lapisan antara lapisan ke-1 dan lapisan ke-n disebut lapisan tersembunyi (hidden layer).

Gambar 2.3 Model JST

Gambar 2.4 Model JST satu lapisan

Page 13: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

6

Output dari suatu lapisan menjadi input bagi lapisan berikutnya seperti dinyatakan

dalam persamaan berikut ini. Untuk lapisan ke-1 outputnya yaitu : z1,z2,...zn

z1 = f(x1w11+x2w21+…+xmwm1)

z2 = f(x1w12+x2w22+…+xmwm2)

zm = f(x1w1n+x2w2n+…+xmwmn)

Untuk lapisan ke-2 outputnya yaitu : q1,q2,...qk

q1 = f(z1v11+z2v21+…+znvn1)

q2 = f(z1v12+z2v22+…+znvn2)

qk = f(z1v1k+z2v2k+…+znvnk)

Dan untuk lapisan terakhir, lapisan ke-n outputnya yaitu : y1,y2,...yn. Jika diandaikan

jaringan ini hanya 3 lapisan (n=3) maka :

y1 = f(q1u11+q2u21+…+qkui1)

y2 = f(q1u12+q2u22+…+qkui2)

yn = f(q1u1k+q2u2k+…+qkuin)

2.4 Fungsi Aktivasi

Fungsi aktivasi yang biasaya dipakai diantaranya yaitu:

a) Fungsi Linear

Fungsi aktivasi linear dinyatakan dengan persamaan :

)1.2()( xxfy ==

Dimana α adalah gradien atau kemiringan fungsi. Bentuk fungsi aktivasi linear

diperlihatkan pada Gambar (2.6).

Gambar 2.5 Model JST banyak lapisan

Page 14: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

7

b) Fungsi threshold biner

Fungsi aktivasi threshold biner dinyatakan dengan persamaan :

)2.2(01

00)(

==

xjika

xjikaxfy

Bentuk fungsi aktivasi threshold biner ditunjukkan pada Gambar (2.7).

c) Fungsi threshold bipolar

Fungsi aktivasi threshold bipolar dinyatakan dengan persamaan :

)3.2(01

01)(

+

−==

xjika

xjikaxfy

Bentuk fungsi aktivasi threshold bipolar ditunjukkan pada Gambar (2.8).

d) Fungsi linear piecewise

Gambar 2.6 Fungsi linear

Gambar 2.7 Fungsi threshold biner

Gambar 2.8 Fungsi threshold bipolar

Page 15: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

8

Fungsi aktivasi linear piecewise dinyatakan dengan persamaan :

)4.2(

11

11

11

)(

−−

==

xjika

xjikax

xjika

xfy

Bentuk fungsi aktivasi linear piecewise ditunjukkan pada Gambar (2.9).

e) Fungsi Sigmoid biner

Fungsi aktivasi Sigmoid biner dinyatakan dengan persamaan :

)5.2(1)(01

1)(

+==

−xfuntuk

exfy

x

Bentuk fungsi aktivasi Sigmoid biner ditunjukkan pada Gambar (2.10).

f) Fungsi Sigmoid bipolar

Fungsi aktivasi Sigmoid bipolar dinyatakan dengan persamaan :

)6.2(1)(1)( −+

−==

xfuntukee

eexfy

xx

xx

Bentuk fungsi aktivasi Sigmoid bipolar ditunjukkan pada Gambar (2.11).

Gambar 2.9 Fungsi linear piecewise

Gambar 2.10 Fungsi Sigmoid biner

Page 16: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

9

2.5 Metode Heteroassociative Memory

Metode Heteroassociative Memory (HM) merupakan salah satu metode dalam

pengenalan pola berbasis Jaringan Syaraf Tiruan. Pelatihan dalam metode HM dilakukan

dengan memperbaiki bobot (weight) dari JST. JST HM ini dapat menyimpan sekumpulan

pola (P). Tiap-tiap kumpulan pola adalah pasangan vektor input dan target (s(p), t(p)),

dimana p = 1,2,…,P. Tiap vektor input atau sumber s(p) terdiri dari n komponen, dan tiap

vector target atau output t(p) terdiri dari m komponen. Nilai bobot dpt dicari dg memakai

aturan Hebb (Hebb Rule) atau aturan Delta (Delta Rule). Jika dinyatakan dalam bentuk

persamaan :

)7.2()()( jiijij yxlamawbaruw +=

dimana,

wij = bobot dari input ke-i menuju output ke-j

xi = input atau sumber ke-i

yj = output atau target ke-j

a) Arsitektur JST Heteroassociative Memory

Arsitektur JST HM diperlihatkan pada Gambar (2.12) .

Gambar 2.11 Fungsi Sigmoid bipolar

Gambar 2.12 Arsitektur JST Heteroassociative Memory

Page 17: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

10

dimana

xi = input ke-i (i=1,2, ...n)

wij = bobot dari input ke-i ke output ke-j

yj = output ke-j (j = 1,2,...m)

b) Algoritma Pelatihan (training) JST HM

Algoritma pelatihan dalam JST HM terdiri dari beberapa langkah yaitu

(Fausset, 1998) :

Langkah 0 : Bobot diberi nilai awal :

wij = 0 dimana i = 1,2,…,n dan j = 1,2,...m

Langkah 1 : untuk tiap pasangan input dan target s : t, lakukan langkah 2 sampai 4 :

Langkah 2 : set aktivasi untuk unit input :

xi = si (i = 1,2,…,n)

Langkah 3 : set aktivasi untuk unit output :

yj = tj dimana j = 1, 2, ...,m

Langkah 4 : perbaiki nilai bobot :

wij(baru) = wij(lama) +xiyj

Algoritma pelatihan JST HM juga dapat dinyatakan dengan perkalian matrik (Outer

Product) antara vektor input s(p) dan target t(p) seperti berikut ini :

( ) ( )1 1,..., ,... dan t= ,..., ,...i n j ms s s s t t t=

Jika S = st dan T = t maka bobot w dapat ditentukan dari perkalian S.T yaitu :

( )

1 1 1 11

11

1

. .

w =ST

. .

j m

i i j i mi j m

n n j n mn

s t s t s ts

s t s t s ts t t t

s t s t s ts

= =

c) Algoritma Pengujian (testing) JST HM

Setelah proses pelatihan maka akan dilanjutkan dengan proses pengujian

dengan menggunakan nilai bobot yang dihasilkan dari proses pelatihan. Algoritma

testing JST HM terdiri dari beberapa langkah yaitu :

Page 18: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

11

Langkah 0 : gunakan bobot (wij) yang didapat dari proses pelatihan

Langkah 1 : untuk tiap pasangan input dan target s : t ,lakukan langkah 2 sampai 4 :

Langkah 2 :

xi = si (i = 1,2,…,n)

Langkah 3 : hitung masukan jaringan ke unit output y_inj dengan persamaan :

1

_n

j i ij

i

y in x w=

=

Langkah 4 : hitung output yj dengan menggunakan fungsi aktivasi. Untuk target

bipolar maka output yj ditentukan dengan fungsi aktivasi threshold

bipolar berikut ini :

1 _ 0

( _ ) 0 _ 0

1 _ 0

j

j j j

j

jika y in

y f y in jika y in

jika y in

= = =−

Sedangkan untuk target biner maka output yj ditentukan dengan

fungsi aktivasi threshold biner yaitu :

_ 01

( _ )_ 00

j

j j

j

jika y iny f y in

jika y in

= =

Sedangkan proses pengujian dari hasil pelatihan yang didapatkan lewat perkalian

matrik outer product yaitu :

Langkah 0 : gunakan matrik bobot w yang didapat dari proses pelatihan

Langkah 1 : untuk tiap pasangan input dan target s : t ,lakukan langkah 2 sampai 4 :

Langkah 2 : vektor input x sama dengan vektor sumber s

x = s

dimana ( ) ( )1 1,..., ,... dan s= ,..., ,...i n j mx x x x s s s=

Langkah 3 : hitung vektor input jaringan ke unit output y_in dengan persamaan :

_ .y in x w=

Dimana vektor ( )1_ _ ,..., _ ,... _j my in y in y in y in=

Langkah 4 : hitung output yj dengan menggunakan fungsi aktivasi. Untuk target

bipolar maka output yj ditentukan dengan fungsi aktivasi threshold

Page 19: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

12

bipolar berikut ini :

1 _ 0

( _ ) 0 _ 0

1 _ 0

j

j j j

j

jika y in

y f y in jika y in

jika y in

= = =−

Sedangkan untuk target biner maka output yj ditentukan dengan

fungsi aktivasi threshold biner yaitu :

_ 01

( _ )_ 00

j

j j

j

jika y iny f y in

jika y in

= =

dimana vektor yj :

( )1 1y = ,..., ,... ( ( _ ),...., ( _ ),..., ( _ ))j j m j my y y f y in f y in f y in=

Page 20: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

13

III. TUJUAN DAN MANFAAT PENELITIAN

Tujuan dari penelitian adalah :

Untuk merancang dan mengimplementasikan program aplikasi komputer pengenalan

sidik jari dengan JST Heteroassociative Memory

Hasil dari penelitian ini diharapkan dapat memberikan manfaat yaitu :

Program Aplikasi yang dihasilkan dapat diaplikasikan untuk mengenali pola sidik jari

Page 21: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

14

IV. METODE PENELITIAN

1. Tempat Penelitian : Lab. Fisika Komputasi, jurusan Fisika, FMIPA, UNUD

2. Peralatan yang digunakan dalam penelitian ini adalah :

a. Perangkat keras :

-Komputer : Notebook intel core i3 2.30 GHz, 4 GB RAM

b. Perangkat lunak :

- Matlab versi 2017a

- Sistem operasi : Microsoft Windows 10

c. Data citra berupa :

- file citra dengan format jpg

- ukuran file citra 75 x 100 pixel

3. Pelaksanaan Penelitian

3.1 Data Pelatihan JST

Data pelatihan dari JST HM berupa citra sidik jari dengan resolusi 75x100 pixel.

Data citra ini dapat dinyatakan dalam bentuk matrik dua dimensi dengan 75 kolom dan

100 baris. Sehingga jumlah input atau sumber (s) sebanyak 75x100 = 7500 elemen yaitu :

s1, s2, ..., s7500. Jumlah target (t) sebanyak 4 elemen yaitu : t1, t2, t3, t4. Jumlah citra sidik

jari yang dipakai dalam pelatihan ini yaitu 4 citra seperti diperlihatkan pada Tabel 4.1.

No. Pola input (s)

(s1,s2,…s7500)

S

s

Target (t)

( t1, t2, t3, t4)

1

1111

2

111 -1

Tabel 4.1 Data pelatihan JST HM

Page 22: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

15

3.2 Data Pengujian JST

Data citra sidik jari yang dipakai dalam proses pengujian adalah data citra yang tidak

bernoise dan bernoise. Data citra tidak bernoise adalah data citra yang dipakai dalam

proses pelatihan seperti tercantum dalam Tabel 4.1. Sedangkan data citra bernoise adalah

versi lain citra tanpa noise (Tabel 4.1) dengan penambahan beberapa noise atau cacat

seperti diperlihatkan pada Tabel 4.2 berikut ini. Jumlah citra uji yang dipakai dalam

penelitian ini yaitu sebanyak 20 citra. Ukuran atau resolusi citra uji sama dengan citra

pelatihan yaitu 75x100 pixel.

3

11-1 1

4

11-1 -1

No. Pola

input (s)

S

s

No. Pola

input (s)

S

s

No. Pola

input (s)

S

s

No. Pola

input (s)

S

s

1

6

11

16

2

7

12

17

3

8

13

18

4

9

14

19

5

10

15

20

Tabel 4.2 Data uji sidik jari bernoise

Page 23: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

16

Wij =0, P=1

Jml_pola

3.3 Arsitektur JST HM

Berdasarkan ukuran citra yang dipakai dalam pelatihan atau pengujian maka, secara

berurutan, jumlah input dan target yaitu 7500 dan 4, maka rancangan arsitektur JST HM

yang dipakai dalam penelitian seperti diperlihatkan pada Gambar 4.1.

Dari arsitektur JST HM dapat dilihat bahwa jumlah elemen vektor input x yaitu 7500.

Elemen dari vektor input x yaitu : x1, x2, …, x7500. Sedangkan jumlah output y adalah 4.

Elemen vektor output y yaitu : y1, y2, y3 dan y4. Jumlah elemen vektor bobot w yaitu

60000. Elemen dari vektor w yaitu : w11, w12,….w75004.

3.4 Perancangan Diagram Alir (Flow Chart)

Diagram alir proses pelatihan JST HM diperlihatkan pada Gambar 4.2

sedangkan proses testing diperlihatkan pada Gambar 4.3.

mulai

P<=jml_pola? ya

xi = si

wij( baru) = wij(lama) + xiyj

P = P +1

Gambar 4.1 Arsitektur JST HM untuk pengenalan sidik jari

Page 24: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

17

Wij , P= 1

Jml_pola

3.5 Perancangan Graphical User Interface (GUI)

Rancangan GUI aplikasi pengenalan sidik jari dengan JST HM dapat dilihat

pada Gambar 4.4 berikut ini :

selesai

Gambar 4.2 Diagram Alir Pelatihan JST HM

tidak

mulai

selesai

Gambar 4.3 Diagram Alir testing JST HM

P<=jml_pola? ya

tidak

xi = si

y_inj = ∑xiwij

yj = f(y_inj)

P = P +1

Page 25: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

18

3.6 Implementasi kode program (source code)

Kode program Aplikasi pengenalan karikatur wajah dengan JST HM adalah :

a) Kode program Pelatihan :

function start_training_pushbutton_Callback(hObject, eventdata, handles)

num_im=size(handles.im_original,2); %number of images

for i=1:1:num_im

s(i,:,:)=im2bw(handles.im_original(Kumar dan Rao));

% s(i,:,:)=rgb2gray(handles.im_original{i});

end

%s(1,:,:)

%size(s)

for i=1:1:num_im

s_target(i,:,:)=im2bw(handles.im_original_target{i});

%s_target(i,:,:)=rgb2gray(handles.im_original_target{i});

end

%s_target(1,:,:)

%size(s_target)

jml_citra=size(s,1);

Gambar 4.4 Rancangan GUI Aplikasi JST HM

Page 26: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

19

jml_baris=size(s,2);

jml_kolom=size(s,3);

%ubah citra asli bw menjadi bipolar[1,-1]

for k=1:1:jml_citra

for i=1:1:jml_baris

for j=1:1:jml_kolom

if s(k,i,j)>0 %putih

s_temp(k,i,j)=-1;

else %hitam

s_temp(k,i,j)=1;

end

end

end

end

%ubah citra "target" bw menjadi bipolar[1,-1]

handles.jml_citra_target=size(s_target,1);

handles.jml_baris_target=size(s_target,2);

handles.jml_kolom_target=size(s_target,3);

for k=1:1:handles.jml_citra_target

for i=1:1:handles.jml_baris_target

for j=1:1:handles.jml_kolom_target

if s_target(k,i,j)> 0 %putih

s_target_temp(k,i,j)=-1;

else %hitam

s_target_temp(k,i,j)=1;

end

handles.s_target_bipolar(k,i,j)=s_target_temp(k,i,j);

end

Page 27: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

20

end

end

%handles.s1_target_bipolar

%ubah citra 'source' format matrik baris kolom(i,j) jadi format baris

%citra 1

for m=1:1:jml_citra

k=0;

for i=1:1:jml_baris

for j=1:1:jml_kolom

k=k+1;

source(m,k)=s_temp(m,i,j);

end

end

end

%ubah citra 'target' format matrik baris kolom(i,j) jadi format baris

%citra target 1

for k=1:1:handles.jml_citra_target

m=0;

for i=1:1:handles.jml_baris_target

for j=1:1:handles.jml_kolom_target

m=m+1;

target(k,m)=s_target_temp(k,i,j);

end

end

end

%hitung bobot w dengan perkalian (inner product) matrik s dan t

jml_pola=size(source,1);

jml_input = size(source,2);

Page 28: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

21

jml_output=size(target,2); %handles.jml_baris_target*handles.jml_kolom_target;

handles.w=0;

for i=1:1:jml_pola

handles.w= handles.w+source(i,:)'*target(i,:);

end

%%tampilkan bobot dan bias hasil pelatihan dalam command window

%for j=1:1:jml_output

% for i=1:1:jml_input

% disp(strcat('w',num2str(i),num2str(j),' = ',num2str(handles.w(i,j))));

% end

%end

%Tampilkan bobot dalam list box

n=0;

for j=1:1:jml_output %index dari bobot w

for i=1:1:jml_input

n=n+1;

in(n)=i;

jn(n)=j;

wn(n)=handles.w(i,j);

end

end

set(handles.show_listbox,'String',strcat('w',num2str(in'),num2str(jn'),' = ',num2str(wn')));

guidata(hObject,handles);

b) Kode program Testing :

function start_testing_pushbutton_Callback(hObject, eventdata, handles)

s=im2bw(handles.im_testing);

%s=rgb2gray(handles.im_testing);

%ubah data menjadi bipolar[1,-1]

jml_baris=size(s,1);

jml_kolom=size(s,2);

Page 29: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

22

for i=1:1:jml_baris

for j=1:1:jml_kolom

if s(i,j)>0 %putih

s_temp(i,j)=-1;

else %hitam

s_temp(i,j)=1;

end

end

end

%s_temp

%ubah matrik citra baris-kolom s_temp jadi matrik baris

k=0;

for i=1:1:jml_baris

for j=1:1:jml_kolom

k=k+1;

s_vektor(k)=s_temp(i,j);

end

end

jml_input = k;

jml_output=handles.jml_baris_target*handles.jml_kolom_target;

y_temp=s_vektor*handles.w;

for j=1:1:jml_output

if y_temp(j)>0

y(j)=1;

else

if y_temp(j)<=0

y(j)=-1;

Page 30: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

23

else

if y_temp(j)==0

y(j)=0;

end

end

end

end

s_vektor

y

handles.s_target_bipolar(1,:)

handles.s_target_bipolar(2,:)

handles.s_target_bipolar(3,:)

handles.s_target_bipolar(4,:)

%bandingkan output dengan target

axes(handles.axes4);

for k=1:handles.jml_citra_target

if y==handles.s_target_bipolar(k,:);

imshow(handles.im_original{k});

break;

end

end

Page 31: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

24

V. HASIL DAN PEMBAHASAN

Hasil implementasi aplikasi pengenalan sidik jari dengan JST HM ditampilkan pada

Gambar 5.1. Tahap pertama merupakan proses pelatihan, dimana JST HM dilatih dengan 4

buah citra sidik jari seperti diperlihatkan pada Tabel 4.1. Hasil dari proses pelatihan yaitu

menentukan nilai bobot w (w11,w12,... w75004).

Gambar 5.1 Tampilan Aplikasi untuk Proses Pelatihan JST HM

Setelah proses pelatihan maka dilanjutkan dengan tahap pengujian (testing). Proses testing

bertujuan untuk menguji aplikasi dengan citra sidik jari baik yang dipakai dalam proses

pelatihan (Tabel 4.1) maupun citra sidik jari bernoise yang tidak dipakai selama pelatihan

(Tabel 4.2).

5.1 Hasil Pengujian dengan data citra sidik jari pelatihan

Hasil pengujian untuk citra sidik jari yang dipakai dalam proses pelatihan dapat

dilihat dalam Gambar 5.2 dan Gambar 5.3.

Page 32: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

25

Gambar 5.2 Hasil testing dengan citra sidik jari no. 1

Gambar 5.3 Hasil testing dengan citra sidik jari no. 4

Hasil testing dengan memakai citra sidik jari pelatihan selengkapnya diperlihatkan dalam

tabel 5.1.

Tabel 5.1 Hasil testing citra sidik jari pelatihan (tanpa noise)

No. Citra testing

(query)

Citra hasil

testing

keterangan

1

cocok

Page 33: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

26

2

cocok

3

cocok

4

cocok

Dari tabel 5.1 didapatkan bahwa jst HM dapat mengenali semua citra sidik jari pelatihan

dengan sempurna. Hal ini berarti bahwa jst HM memiliki kemampuan untuk mengingat

(memorization) pola – pola sidik jari pelatihan yang sudah dilatihkan kepada jst tersebut.

5.2 Hasil testing dengan citra sidik jari bernoise

Data-data citra sidik jari bernoise (Tabel 4.2) merupakan data citra sidik jari yang

tidak dipakai dalam proses pelatihan. Contoh hasil testing untuk citra bernoise ini

ditunjukkan dalam Gambar 5.4 dan Gambar 5.5

Gambar 5.4 Hasil testing citra sidik jari bernoise nomer 1

Page 34: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

27

Gambar 5.5 Hasil testing citra sidik jari bernoise nomer 4

Hasil testing untuk citra sidik jari bernoise selengkapnya pada 20 citra dirangkum

dalam tabel 5.2.

Tabel 5.2 Hasil testing citra sidik jari bernoise

No. Citra

testing

(query)

Citra

hasil

testing

keterangan No. Citra

testing

(query)

Citra

hasil

testing

keterangan

1

cocok 6

cocok

2

cocok 7

cocok

3

cocok 8

cocok

4

cocok 9

cocok

5

cocok 10

cocok

Page 35: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

28

11

cocok 16

cocok

12

cocok 17

cocok

13

tidak

cocok

18

cocok

14

cocok 19

cocok

15

cocok 20

cocok

Dari tabel 5.2 didapatkan bahwa jst HM dapat mengenali sebagian besar citra sidik jari

yang diujikan. Hasil pengujian menunjukkan JST HM dapat mengenali 19 citra dari 20

citra yang diujikan padanya. Jadi tingkat keberhasilan JST HM untuk mengenali pola

sidik jari bernoise yaitu sebesar 95 %. Hal ini menunjukkan bahwa jst HM memiliki

kemampuan generalisasi (generalization), yaitu mampu mengenali pola-pola yang

mengandung noise yang belum pernah dilatihkan padanya.

Page 36: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

29

VI. KESIMPULAN DAN SARAN

1. Kesimpulan

Dari penelitian ini dapat disimpulkan yaitu :

a. JST HM dapat diaplikasikan untuk mengenali citra sidik jari

b. JST HM bisa mengenali citra sidik jari yang dilatihkan kepadanya dengan sempurna.

Dari 4 citra yang dilatihkan, semuanya dapat dikenali dengan sempurna

c. JST HM dapat mengenali sebagian besar citra sidik jari ber-noise yang diujikan.

Dari 20 pola yang diuji 19 pola dapat dikenali dengan baik.

2. Saran

a. Pengenalan pola dengan JST HM dapat dikembangkan penerapannya seperti :

pengenalan suara, kornea, wajah dan lain-lain.

b. Perlu dilakukan penelitian untuk mengenali sidik jari dengan metode JST selain HM

seperti : Backpropagation, Convolution Neural Network dan lain-lain.

Page 37: KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN …

30

VII. DAFTAR PUSTAKA

Abu-Mostafa, Y.S., dan Psaltis, D. 1984. Recognitive Aspects of Moment Invariants. IEEE

Transactions on Pattern Analysis and Machine Intelligence PAMI-6(6): 698-706.

Dileep, M.R., dan Danti, A. 2016. Multiple hierarchical decision on neural network to predict

human age and gender. 2016 International Conference on Emerging Trends in

Engineering, Technology and Science (ICETETS), 24-26 Feb. 2016.

Fausset, L. 1998. Fundamentals of Neural Network Architectures, Algorithm, and

Applications. New York: Prentice Hall Inc.

Kumar, D.S.D., dan Rao, P.V. 2015. Analysis and Design of Principal Component Analysis

and Hidden Markov Model for Face Recognition. Procedia Materials Science 10: 616-

625.

Sinkar, S.V., dan Deshpande, A.M. 2015. Object recognition with plain background by using

ANN and SIFT based features. 2015 International Conference on Information

Processing (ICIP), 16-19 Dec. 2015.

Teh, C.H., dan Chin, R.T. 1988. On image analysis by the methods of moments. IEEE

Transactions on Pattern Analysis and Machine Intelligence 10(4): 496-513.

Verma, K., dan Khunteta, A. 2017. Facial expression recognition using Gabor filter and

multi-layer artificial neural network. 2017 International Conference on Information,

Communication, Instrumentation and Control (ICICIC), 17-19 Aug. 2017.

Zhihu, H., dan Jinsong, L. 2010. Analysis of Hu's moment invariants on image scaling and

rotation. 2010 2nd International Conference on Computer Engineering and Technology,

16-18 April 2010.