• Tidak ada hasil yang ditemukan

KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN JARINGAN SYARAF TIRUAN HEBB. Oleh : I Gusti Agung Widagda, S.Si, M.Kom

N/A
N/A
Protected

Academic year: 2022

Membagikan "KARYA TULIS ILMIAH PENGENALAN SIDIK JARI DENGAN JARINGAN SYARAF TIRUAN HEBB. Oleh : I Gusti Agung Widagda, S.Si, M.Kom"

Copied!
35
0
0

Teks penuh

(1)

KARYA TULIS ILMIAH

PENGENALAN SIDIK JARI DENGAN JARINGAN SYARAF TIRUAN HEBB

Oleh :

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

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS UDAYANA

2019

(2)

iii

Pengenalan Pola Sidik Jari dengan Jaringan Syaraf Tiruan Hebb

I G.A. Widagda

RINGKASAN

Pengenalan pola merupakan salah satu bidang kajian dari kecerdasan buatan. Ada beberapa metode yang dipakai dalam pengenalan pola diantaranya: momen invarian dan Jaringan Syaraf Tiruan (JST). JST lebih unggul dibanding metode momen invarian dalam hal mengenali pola yang mengandung noise. Pengenalan pola dengan JST secara garis besar terdiri dari dua tahapan yaitu pelatihan dan pengujian. Tahap pelatihan bertujuan untuk menghitung bobot (weight) sedangkan tahap pengujian untuk mengenali pola berdasarkan bobot yang dihasilkan dari proses pelatihan. JST Hebb memiliki algoritma lebih singkat dibandingkan JST lainnya seperti: Perceptron dan Backpropagation. Oleh karena itu metode Hebb memerlukan waktu komputasi yang lebih singkat dibanding kedua jst tersebut. Hasil penelitian memperlihatkan JST Hebb mampu mengenali pola sidik jari yang mengandung noise. semua 20 pola sidik jari yang diujikan dapat dikenali dengan tepat oleh metode Hebb.

Kata kunci : jaringan syaraf tiruan, metode Hebb, sidik jari, kecedasan buatan

(3)

iv

Fingerprint Recognition by using Hebb Neural Network

I G.A. Widagda

SUMMARY

Pattern recognition is one of the fields of study in artificial intelligence. There are several methods used in pattern recognition including: moment invariant and Artificial Neural Network (ANN). ANN is superior to the moment invariant method in terms of recognizing patterns that contain noise. Pattern recognition with ANN generally consists of two stages, namely training and testing. The training step aims to calculate weight while the testing one is to recognize patterns based on the weights generated from the training process. Hebb ANN has the shortest algorithm compared to other one such as: Perceptron and Backpropagation. Therefore Hebb method requires shorter computation time than the two ANNs. The results showed that the Hebb method was able to recognize fingerprint patterns that contained noise. All 20 fingerprint patterns tested can be correctly recognized by the Hebb method.

Keywords : Artificial Neural Network, Hebb method, fingerprint, artificial intelligence

(4)

v KATA PENGANTAR

Kami menghaturkan puji syukur kehadapan Tuhan Yang Maha Esa, karena atas berkat rahmat-Nya maka kami dapat menyelesaikan karya tulis yang berjudul

”Pengenalan Sidik Jari dengan Jaringan Syaraf Tiruan Hebb”.

Kami juga menyampaikan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dalam penyelesaian karya tulis ini antara lain :

-Bapak Dekan FMIPA, UNUD

-Bapak Koordinator Program Studi Fisika, FMIPA, UNUD -Teman-teman dosen Prodi Fisika, FMIPA, UNUD

Kami menyadari bahwa karya tulis ini masih jauh dari kata sempurna sehingga kami sangat memerlukan kritik serta saran dari semua pihak demi kesempurnaan karya tulis ini.

Jimbaran, Juli 2019

Penyusun

(5)

v DAFTAR ISI

Halaman

HALAMAN JUDUL i

RINGKASAN ii

SUMMARY iii

KATA PENGANTAR iv

DAFTAR ISI v

DAFTAR TABEL vi

DAFTAR GAMBAR vii

I PENDAHULUAN 1

II TINJAUAN PUSTAKA 2

III TUJUAN DAN MANFAAT PENELITIAN 13

IV METODE PENELITIAN 14

V HASIL DAN PEMBAHASAN 24

VI KESIMPULAN DAN SARAN 27

VII DAFTAR PUSTAKA 28

(6)

vii DAFTAR TABEL

halaman

Tabel 4.1 Data Pelatihan JST Hebb 14

Tabel 4.2 Data Pengujian JST Hebb 15

Tabel 5.1 Hasil testing pola sidik jari ber-noise 25

(7)

viii DAFTAR GAMBAR

halaman

Gambar 2.1 Susunan sel syaraf 2

Gambar 2.2 Model JST 3

Gambar 2.3 Model JST satu lapis 3

Gambar 2.4 Model JST banyak lapis 4

Gambar 2.5 Fungsi threshold biner 5

Gambar 2.6 Fungsi threshold bipolar 5

Gambar 2.7 Fungsi Sigmoid biner 6

Gambar 2.8 Fungsi Sigmoid bipolar 6

Gambar 2.9 Arsitektur JST Hebb 7

Gambar 2.10 Arsitektur Hebb kasus logika OR 9

Gambar 4.1 Arsitektur JST Hebb 16

Gambar 4.2 Diagram Alir Pelatihan JST Hebb 17

Gambar 4.3 Diagram Alir Pengujian JST Hebb 17

Gambar 4.4 Rancangan GUI Aplikasi JST Hebb 18

Gambar 5.1 Tampilan Aplikasi JST Hebb 24

Gambar 5.2 Hasil pengujian dengan pola uji 2 24

Gambar 5.3 Hasil pengujian dengan pola uji 16 25

(8)

1 I. PENDAHULUAN

Kecerdasan buatan (artificial intelligence) dewasa ini menunjukkan perkembangan yang sangat signifikan. Beberapa metode yang sering dipakai dalam kecerdasan buatan yaitu : jaringan syaraf tiruan (Artificial Neural Network), logika samar (fuzzy logic), sistem pakar (expert system) dan lain-lain. Salah satu aplikasi dari kecerdasan buatan adalah identifikasi atau pengenalan objek (object recognition). Identifikasi sidik jari (finger print) merupakan salah satu bidang kajian dalam pengenalan objek. Proses pengenalan obyek dilakukan dengan mencocokkan ciri-ciri (features) citra uji dengan ciri citra yang tersimpan dalam database.

Manusia dapat melakukan proses pengenalan obyek dengan mudah dan cepat. Namun jika algoritma pengenalan obkyek tersebut diimplementasikan pada mesin (komputer) maka akan menjadi sangat komplek (Sinkar dan Deshpande, 2015). Metode yang sering dipakai dalam pengenalan objek yaitu momen invarian (invariant momen). Penelitian-penelitian yang memakai metode momen invarian diantaranya yaitu penelitian oleh: Zhihu dan Jinsong (2010) serta Abu-Mostafa dan Psaltis (1984). Kelemahan dari metode momen invarian adalah rentan atau peka terhadap cacat (noise). Tingkat kerentanan ini semakin besar pada momen invarian dengan orde yang lebih tinggi (Teh dan Chin, 1988). Metode lain yang juga sering dipakai dalam pengenalan pola adalah Jaringan Syaraf Tiruan (JST). Metode JST secara garis besar terdiri dari dua tahapan yaitu: pelatihan (trainning) dan pengujian (testing). Proses pelatihan akan menghasilkan ciri obyek yaitu bobot (weight). Nilai bobot ini disimpan dalam database, yang nantinya akan dipakai dalam tahap pengujian. Dalam tahap pengujian, JST akan diuji untuk mengenali citra uji. Beberapa penelitian yang memakai JST untuk pengenalan obyek yaitu penelitian oleh: Sinkar dan Deshpande (2015), Dileep dan Danti (2016), serta Verma dan Khunteta (2017). Hasil dari beberapa penelitian tersebut memperlihatkan bahwa JST masih bisa mengenali obyek yang tidak sempurna atau mengandung noise. Berdasarkan kelebihan atau keunggulan ini maka dalam penelitian ini dipakai metode JST. Metode JST yang dipakai adalah metode atau algoritma Hebb. Algoritma Hebb lebih singkat dibandingkan dengan algoritma JST lainnya seperti: Perceptron dan Backpropagation. Dengan demikian waktu komputasi yang diperlukan metode Hebb akan lebih efisien.

(9)

2 II. TINJAUAN PUSTAKA

2.1 Jaringan Syaraf Tiruan (Artificial Neural Network)

Jaringan syaraf tiruan (JST) merupakan salah satu metode yang sering dipergunakan dalam kecerdasan buatan (Artificial Intelligence). JST berusaha untuk meniru cara kerja otak dalam proses belajar. Manusia perlu belajar agar menjadi cerdas.

Semakin banyak belajar atau berlatih maka otak manusia akan semakin cerdas.

Demikian juga JST perlu dilatih atau diajari agar menjadi cerdas seperti manusia.

Sehingga ketika JST proses tersebut diuji untuk mengenali pola-pola tertentu seperti : sidik jari, wajah, kornea mata, suara, maka dia akan mampu mengenalinya dengan baik.

Otak manusia memiliki sekitar 1.109 sel syaraf (neuron) yang saling berhubungan. Pada Gambar 2.1 diperlihatkan 2 buah neuron yang saling berhubungan satu sama lain (Hagan et al, 2014). Sebuah neuron terdiri dari 3 unit yaitu : input, proses dan output.

Gambar 2.1 Susunan sel syaraf

Denrite merupakan unit input yang merupakan tempat masuknya sinyal. Cell body merupakan tempat pemrosesan sinyal menjadi informasi. Sedangkan axon merupakan unit output yang mengirimkan sinyal dari cell body menuju denrite neuron lainnya.

Gambar 2.1 memperlihatkan sinyal yang keluar dari axon neuron 1 akan dikirim ke denrite neuron 2. Hubungan antara axon neuron 1 dan denrite neuron 2 dihubungkan lewat synapse. Sinyal dari neuron 1 dapat terkirim ke neuron 2 jika sinyal tersebut memiliki nilai diatas nilai ambang tertentu (threshold). Jika 2 buah neuron saling

(10)

3 berhubungan maka neuron tersebut berada dalam keadaan teraktivasi. Proses hubungan antara 2 buah neuron berlangsung secara beradaptasi artinya hubungan tersebut terjadi secara dinamis. Selama proses belajar, otak mempunyai kemampuan untuk beradaptasi sehingga bisa menjadi lebih cerdas.

2.2 Model JST

Hubungan neuron-neuron dalam jaringan syaraf dapat dinyatakan dalam model JST seperti diperlihatkan pada Gambar 2.2.

Gambar 2.2 Model JST

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

Arsitektur JST secara garis besar terdiri dari dua model yaitu JST satu lapis (single- layer) dan JST banyak lapis (multi-layer). JST satu lapis diperlihatkan pada Gambar 2.3.

Gambar 2.3 Model JST satu lapis

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

(11)

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

y2 = f(x1w12+x2w22+…+xmwm2) yn = f(x1w1n+x2w2n+…+xmwmn)

JST banyak lapis merupakan gabungan dari JST satu lapis seperti diperlihatkan pada Gambar 2.4. 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.4 Model JST banyak lapis

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

y1 = f(q1u11+q2u21+…+qkui1) y2 = f(q1u12+q2u22+…+qkui2)

yn = f(q1u1k+q2u2k+…+qkuin) 2.3 Fungsi Aktivasi

Fungsi aktivasi yang sering dipergunakan dalam JST antara lain:

a) Fungsi threshold biner

(12)

5 Fungsi aktivasi threshold biner dapat dinyatakan dengan persamaan :

) 1 . 2 0 (

1

0 ) 0

( 

= 

= jika x

x x jika

f y

Bentuk fungsi aktivasi ini diperlihatkan pada Gambar 2.5.

Gambar 2.5 Fungsi threshold biner

b) Fungsi threshold bipolar

Fungsi aktivasi threshold bipolar dapat dinyatakan dengan persamaan:

) 2 . 2 0 (

1

0 ) 1

( 

 +

= −

= jika x

x x jika

f y

Bentuk fungsi aktivasi threshold bipolar diperlihatkan dalam Gambar 2.6.

Gambar 2.6 Fungsi threshold bipolar

c) Fungsi Sigmoid biner

Fungsi aktivasi Sigmoid biner dinyatakan dengan persamaan :

) 3 . 2 ( 1

) ( 1 0

) 1

(  

= +

= untuk f x

x e f

y x

Bentuk fungsi aktivasi Sigmoid biner ditunjukkan pada Gambar 2.7.

(13)

6

Gambar 2.7 Fungsi Sigmoid biner d) Fungsi Sigmoid bipolar

Fungsi aktivasi Sigmoid bipolar dinyatakan dengan persamaan :

( ) −1 ( )1 (2.4)

+

= −

= untuk f x

e e

e x e

f

y x x

x x

Bentuk fungsi aktivasi Sigmoid bipolar ditunjukkan pada Gambar 2.8.

Gambar 2.8 Fungsi Sigmoid bipolar 2.4 Metode Hebb

Metode atau algoritma Hebb adalah salah satu metode pelatihan JST. Proses pelatihan dalam metode Hebb dilakukan dengan memperbaiki bobot dari JST. Jika dua buah neuron saling berhubungan atau dalam kondisi aktif (on) pada waktu yang bersamaan maka nilai bobot yang menghubungkan kedua neuron tersebut akan dinaikkan. Jika dinyatakan dengan persamaan :

) 5 . 2 ( )

( )

( ij i j

ij baru w lama x y

w = +

dimana,

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

(14)

7 xi = input ke-i

yj = output ke-j a) Arsitektur JST Hebb

Arsitektur JST Hebb diperlihatkan pada Gambar 2.9.

Gambar 2.9 Arsitektur JST Hebb 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)

bj = bias output ke-j (j=1,2,...m) b) Algoritma Pelatihan JST Hebb

Algoritma pelatihan dalam JST Hebb terdiri dari beberapa langkah yaitu (Fausset, 1998) :

Langkah 0 : Bobot dan bias diberi nilai awal : wij = 0 dimana i = 1,2,…,n dan j = 1,2,...m

bj = 0

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

perbaiki nilai bias :

(15)

8 bj(baru) = bj(lama) + yj

c) Algoritma Pengujian JST Hebb

Dalam proses pelatihan kita akan mendapatkan nilai bobot wij dan bias bj. Setelah proses pelatihan maka akan dilanjutkan dengan proses testing dengan menggunakan nilai bobot dan bias yang dihasilkan dari proses pelatihan. Urutan langkah-langkah atau algoritma pengujian JST Hebb yaitu:

Langkah 0 : gunakan bobot (wij) dan bias (bj) dari proses pelatihan

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

Langkah 2 :

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

Langkah 3 :

hitung masukan jaringan ke unit output ynetj dengan persamaan :

=

+

= n

i ij i j

j b xw

ynet

1

hitung output yj dengan menggunakan fungsi aktivasi : yj = f(ynetj)

Fungsi aktivasi yang biasanya digunakan dalam metode Hebb adalah threshold biner dan bipolar

Contoh :

Misalkan kita ingin mengenali fungsi logika OR dengan JST Hebb, dengan 4 buah pola pelatihan yaitu:

input(s)

target(t)

s1 s2

-1 -1 -1

-1 1 1

1 -1 1

1 1 1

Dalam kasus seperti ini maka arsitektur Hebb akan memiliki bentuk seperti diperlihatkan pada Gambar 2.10 berikut ini:

(16)

9

Gambar 2.10 Arsitektur Hebb kasus logika OR

Tampak dari Gambar 2.10, JST Hebb ini memiliki dua input yaitu x1 dan x2, dua bobot yaitu w11 dan w21, satu output yaitu y1 serta satu bias yaitu b. Banyaknya pola pelatihan P yaitu 4. Penyelesaian kasus ini diawali dengan proses pelatihan dengan mempergunakan algoritma pelatihan seperti diuraikan berikut ini:

Langkah 0 : w11 = 0 w21 = 0 b1 = 0

Langkah 1 : untuk tiap pasangan pola pelatihan s : t Pola ke – 1 (P = 1):

Langkah 2 : x1 = s1 = -1 x2 = s2 = -1 Langkah 3 :

y1 = t1 = -1 Langkah 4 :

w11(baru) = w11(lama) +x1y1 = 0 + -1.-1 = 1 w21(baru) = w21(lama) +x2 y1 = 0 + -1 -1= 1 b1(baru) = b1(lama) + y1 = 0 + -1= -1 Pola ke – 2 (P = 2):

Langkah 2 : x1 = s1 = -1 x2 = s2 = 1 Langkah 3 :

y1 = t1 = 1

(17)

10 Langkah 4 :

w11(baru) = w11(lama) +x1 y1 = 1 + -1.1 = 0 w21(baru) = w21(lama) +x2 y1 = 1 + 1 . 1= 2 b1(baru) = b1(lama) + y1 = -1 + 1= 0 Pola ke – 3 (P = 3):

Langkah 2 : x1 = s1 = 1 x2 = s2 = -1 Langkah 3 :

y1 = t1 = 1 Langkah 4 :

w11(baru) = w11(lama) +x1 y1 = 0 + 1.1 = 1 w21(baru) = w21(lama) +x2 y1 = 2 + -1.1 = 1 b1(baru) = b1(lama) + y1 = 0 + 1= 1 Pola ke – 4 (P = 4):

Langkah 2 : x1 = s1 = 1 x2 = s2 = 1 Langkah 3 :

y1 = t1 = 1 Langkah 4 :

w11(baru) = w11(lama) +x1 y1 = 1 + 1.1 = 2 w21(baru) = w21(lama) +x2 y1 = 1 + 1.1 = 2 b1(baru) = b1(lama) + y1 = 1 + 1 = 2

Jadi dari proses pelatihan didapatkan hasil bobot dan bias yaitu : w11 = 2

w21 = 2 b1 = 2

Setelah proses pelatihan kemudian dilanjutkan dengan proses pengujian dengan

(18)

11 memakai algoritma yaitu :

Langkah 0 : gunakan bobot (wij) dan bias (bj) dari proses pelatihan w11 = 2

w21 = 2 b1 = 2

Langkah 1 : untuk tiap pasangan input dan target s : t ,lakukan langkah 2 sampai 3 : Pola ke-1 (P = 1):

Langkah 2 :

x1 = s1 = -1 x2 = s2 = -1 Langkah 3 :

hitung masukan jaringan ke unit output ynet1 dengan persamaan : 2

2 . 1 2 . 1

21 2

2 11 1 1

1=b +xw +x w = +− +− =−

ynet

hitung output y1 dengan menggunakan fungsi aktivasi threshold bipolar :

y1 = f(ynet1) = f(-2) = -1 Pola ke-2 (P = 2):

Langkah 2 :

x1 = s1 = -1 x2 = s2 = 1 Langkah 3 :

hitung masukan jaringan ke unit output ynet1 dengan persamaan : 2

2 . 1 2 . 1

21 2

2 11 1 1

1=b +xw +x w = +− + =

ynet

hitung output y1 dengan menggunakan fungsi aktivasi threshold bipolar :

y1 = f(ynet1) = f(2) = 1 Pola ke-3 (P = 3):

Langkah 2 :

(19)

12 x1 = s1 = 1

x2 = s2 = -1 Langkah 3 :

hitung masukan jaringan ke unit output ynet1 dengan persamaan : 2

2 . 1 2 . 1

21 2

2 11 1 1

1=b +xw +x w = + +− =

ynet

hitung output y1 dengan menggunakan fungsi aktivasi threshold bipolar :

y1 = f(ynet1) = f(2) = 1 Pola ke-4 (P = 4):

Langkah 2 :

x1 = s1 = 1 x2 = s2 = 1 Langkah 3 :

hitung masukan jaringan ke unit output ynet1 dengan persamaan : 6

2 . 1 2 . 1

21 2

2 11 1 1

1=b +xw +x w = + + =

ynet

hitung output y1 dengan menggunakan fungsi aktivasi threshold bipolar :

y1 = f(ynet1) = f(6) = 1

Hasil testing dari JST Hebb untuk mengenali fungsi logika OR yaitu :

input(s)

output (y1) target(t1)

s1 s2

-1 -1 -1 -1

-1 1 1 1

1 -1 1 1

1 1 1 1

Hasil pengujian memperlihatkan bahwa nilai output (y1) semuanya sesuai dengan target (t1). Ini menandakan bahwa JST yang dilatih dengan metode Hebb dapat mengenali semua pola pelatihan dalam fungsi logika OR.

(20)

13 III. TUJUAN DAN MANFAAT PENELITIAN

Tujuan dari penelitian adalah :

Untuk merancang program aplikasi komputer yang dapat mengenali pola sidik jari dengan JST Hebb

Manfaat hasil penelitian yaitu :

Program aplikasi komputer yang dihasilkan diharapkan dapat diterapkan untuk aplikasi berbasis sidik jari seperti : absensi sidik jari, identifikasi pelaku kriminal dan lain-lain.

(21)

14 IV. METODE PENELITIAN

1. Tempat Penelitian : Lab. Fisika Komputasi, Fisika, FMIPA, UNUD 2. Peralatan yang digunakan dalam penelitian ini adalah :

a. Perangkat keras :

-Komputer : processor intel core i3 2.30 GHz, 4 GB RAM b. Perangkat lunak :

- Matlab versi 2017

- Sistem operasi : Microsoft Windows 10 c. Data citra sidik jari berupa :

- file citra dengan format jpg - resolusi file citra 75 x 100 pixel

3. Pelaksanaan Penelitian

Secara umum pelaksanaan penelitian atau uji coba program aplikasi dibagi menjadi dua tahap yaitu : pelatihan (training) dan pengujian (testing). Data yang dipakai dalam penelitian ini terdiri dari 24 buah citra sidik jari, yang dibagi menjadi dua bagian yaitu : 4 buah citra pelatihan dan 20 citra pengujian

3.1 Data Sidik Jari

Data sidik jari yang dipakai dalam baik dalam proses pelatihan maupun pengujian memiliki resolusi 75 x 100 pixel. Tabel 4.1 memperlihatkan data yang dipakai dalam tahap pelatihan. Data ini dapat dinyatakan dalam bentuk matrik 100 baris dan 75 kolom atau dalam bentuk vektor yang terdiri dari 7500 elemen. Data pelatihan ini biasanya dinyatakan dalam bentuk vektor input atau sumber (source) s dengan elemen-elemen: s1, s2, ..., s7500. Jumlah data yang dipakai dalam pelatihan yaitu 4. Sedangkan Banyaknya target dari JST sebanyak 2 buah disimbolkan dengan: t1, t2, t3, t4.

Tabel 4.1 Data pelatihan JST Hebb

No. Pola input (s) (s1,s2,…s7500)

S s

Target (t) ( t1, t2, t3, t4)

(22)

15 Sementara itu data yang dipakai dalam proses pengujian ditampilkan pada Tabel 4.2

Tabel 4.2 Data Pengujian JST Hebb

3.2 Arsitektur JST

Rancangan arsitektur JST Hebb untuk pengenalan pola sidik jari diperlihatkan pada 1

1111

2

111 -1

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

(23)

16

Wij =0 , bj = 0, P = 1, Jml_pola

Gambar 4.1. Arsitektur JST menggambarkan jumlah data input, bobot (weight) dan output dari JST tersebut. Arsitektur ini berkaitan erat dengan data-data yang dipakai baik dalam tahap pelatihan maupun pengujian.

Gambar 4.1 Arsitektur JST Hebb

Gambar 4.1 memperlihatkan bahwa jumlah elemen vektor input x yaitu 7500 yang dinyatakan dengan : x1, x2, … x7500. Elemen vektor input x berkaitan dengan jumlah elemen vektor sumber s. Sedangkan jumlah vektor output berhubungan dengan jumlah elemen vektor target yaitu 4. Elemen vektor output y dinyatakan dengan: y1, y2, y3 dan y4. Jumlah elemen vektor bobot w yaitu 7500 x 4 = 30.000. Elemen-elemen dari vektor w dinyatakan dengan: w11, w12, ... w75004.

3.3 Rancangan Diagram Alir (Flow Chart)

Rancangan diagram alir untuk tahap pelatihan diperlihatkan pada Gambar 4.2, sedangkan untuk proses testing ditampilkan pada Gambar 4.3.

mulai

P<=jml_pola? ya

xi = si , yj = tj

wij( baru) = wij(lama)+ xiyj

bj = bj + yj

P = P +1

(24)

17

Wij , bj

P = 1, Jml_pola

Gambar 4.2 Diagram Alir Pelatihan JST Hebb

Gambar 4.3 Diagram Alir pengujian JST Hebb

3.4 Rancangan Graphical User Interface (GUI)

Rancangan GUI aplikasi pengenalan sidik jari dengan JST Hebb diperlihatkan pada Gambar 4.4:

selesai tidak

mulai

selesai

P<=jml_pola? ya

tidak xi = si

ynetj = bj + ∑xiwij

yj = f(ynetj) P = P +1

(25)

18

Gambar 4.4 Rancangan GUI Aplikasi JST Hebb

3.5 Implementasi kode program (source code)

Kode program Aplikasi pengenalan pola dua dimensi sederhana dengan JST Hebb adalah :

a) Kode program Pelatihan :

function start_training_pushbutton_Callback(hObject, eventdata, handles) s1=rgb2gray(handles.im_original1);

s2=rgb2gray(handles.im_original2);

s3=rgb2gray(handles.im_original3);

s4=rgb2gray(handles.im_original4);

%ubah data menjadi bipolar[1,-1]

jml_baris=size(s1,1);

jml_kolom=size(s1,2);

for i=1:1:jml_baris for j=1:1:jml_kolom if s1(i,j)>=200 %putih s1_temp(i,j)=-1;

else %hitam s1_temp(i,j)=1;

end end end

for i=1:1:jml_baris for j=1:1:jml_kolom if s2(i,j)>=200 %putih s2_temp(i,j)=-1;

else %hitam

(26)

19

s2_temp(i,j)=1;

end end end

for i=1:1:jml_baris for j=1:1:jml_kolom if s3(i,j)>=200 %putih s3_temp(i,j)=-1;

else %hitam s3_temp(i,j)=1;

end end end

for i=1:1:jml_baris for j=1:1:jml_kolom if s4(i,j)>=200 %putih s4_temp(i,j)=-1;

else %hitam s4_temp(i,j)=1;

end end end

%jml_pola= 4; % 4 citra k=0;

for i=1:1:jml_baris for j=1:1:jml_kolom k=k+1;

s(1,k)=s1_temp(i,j);

end end

t1=1; %target untuk citra 1 simpan sbg kolom %akhir dalam array s

t2=1;

s(1,k+1)=t1;

s(1,k+2)=t2;

k=0;

for i=1:1:jml_baris for j=1:1:jml_kolom k=k+1;

s(2,k)=s2_temp(i,j);

end end t1=1;

t2=-1; %target untuk citra 2

(27)

20

s(2,k+1) = t1;

s(2,k+2)= t2;

k=0;

for i=1:1:jml_baris for j=1:1:jml_kolom k=k+1;

s(3,k)=s3_temp(i,j);

end end

t1=-1; %target untuk citra 3 t2=1;

s(3,k+1) = t1;

s(3,k+2) = t2;

k=0;

for i=1:1:jml_baris for j=1:1:jml_kolom k=k+1;

s(4,k)=s4_temp(i,j);

end end

t1=-1; %target untuk citra 4 t2=-1;

s(4,k+1) = t1;

s(4,k+2) = t2;

%inisialisasi bobot (w) dan bias (b) jml_pola=size(s,1);

jml_input = size(s,2)-2;

jml_output=2;

%inisialisasi botot w dan bias b for i=1:1:jml_input

for j=1:1:jml_output w(i,j)=0;

end end

for j=1:1:jml_output b(j)=0;

end

for n=1:1:jml_pola for i=1:1:jml_input

x(i) = s(n,i); %%x(i) = s(i) end

for j=1:1:jml_output

t(n,j)=s(n,jml_input+j); %target t % t(n,2)=s(n,jml_input+2); %target t

(28)

21

y(n,j)=t(n,j); % y1 % y(n,2)=t(n,2); % y2 end

%perbaiki bobot dan bias for i=1:1:jml_input for j=1:1:jml_output

w(i,j) = w(i,j) + x(i)*y(n,j); % w_baru =w_lama+x(i)* y handles.w_final(i,j)=w(i,j);

end

b(j)=b(j)+y(n,j); %b_baru= b_lama + y handles.b_final(j)=b(j);

end end

%%tampilkan bobot dan bias hasil pelatihan di command window for i=1:1:jml_input

for j=1:1:jml_output

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

end end

for j=1:1:jml_output

disp(strcat('b',num2str(j),' = ',num2str(b(j))));

end

%Tampilkan bobot dalam list box n=1;

for i=1:1:jml_input %index dari array bobot w for j=1:1:jml_output

k(n)=str2num(strcat(num2str(i),num2str(j)));

w_vek(n)=w(i,j); %ubah w jadi vektor w_vek n=n+1;

end end

%tampilkan bobot bj, sbg elemen terakhir listbox

set(handles.show_listbox,'String',strcat('w',num2str(k'),' = ',num2str(w_vek')));

for j=1:1:jml_output

bobot=strcat('b',num2str(j),' = ',num2str(b(j)));

list_box_old=cellstr(get(handles.show_listbox,'String'));

list_box_new= [list_box_old;{bobot}];

set(handles.show_listbox,'String',list_box_new) ; end

guidata(hObject,handles);

b) Kode program Testing :

function start_testing_pushbutton_Callback(hObject, eventdata, handles) s=rgb2gray(handles.im_testing);

(29)

22

%ubah data menjadi bipolar[1,-1]

jml_baris=size(s,1);

jml_kolom=size(s,2);

for i=1:1:jml_baris for j=1:1:jml_kolom if s(i,j)>=200 %putih s_temp(i,j)=-1;

else %hitam s_temp(i,j)=1;

end end end

%ubah matrik citra 2 dimensi s_temp jadi vektor 1 dimensi s 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 =2;

net(1)=0;

net(2)=0;

for j=1:1:jml_output for i=1:1:jml_input x(i)=s_vektor(i);

net(j)=net(j)+x(i)*handles.w_final(i,j);

end

net(j)=net(j)+handles.b_final(j);

end

axes(handles.axes4);

if net(1)>=0 && net(2)>=0 %huruf='A'

imshow(handles.im_original1);

else

if net(1)>=0 && net(2)<0 %huruf='B'

imshow(handles.im_original2);

else

if net(1)<0 && net(2)>=0 %huruf='C'

(30)

23

imshow(handles.im_original3);

else

%huruf='D'

imshow(handles.im_original4);

end end end

(31)

24 V. HASIL DAN PEMBAHASAN

Tampilan program aplikasi pengenalan pola sidik jari dengan JST Hebb diperlihatkan pada Gambar 5.1. JST Hebb ini dilatih dengan 4 buah pola sidik jari yaitu : pola 1, pola 2 , pola 3, dan pola 4. Hasil pelatihan berupa bobot (w11,w12,... w75004) dan bias (b1 dan b2).

Gambar 5.1 Tampilan Aplikasi JST Hebb

Setelah proses pelatihan maka dilanjutkan dengan proses testing. Untuk proses testing maka JST akan diuji dengan citra atau pola sidik jari yang mengandung derau atau noise yang tidak dipakai selama proses pelatihan. Beberapa contoh hasil testing pada program aplikasi diperlihatkan dalam Gambar 5.2 dan Gambar 5.3.

Gambar 5.2 Hasil pengujian dengan pola uji 2

(32)

25

Gambar 5.3 Hasil pengujian dengan pola uji 16

Hasil testing selengkapnya dari seluruh pola testing sebanyak 24 buah pola sidik jari diperlihatkan dalam Tabel 5.1.

Tabel 5.1 Hasil testing pola sidik jari ber-noise No. Citra

testing

Citra hasil testing

Keterangan No. Citra testing

Citra hasil testing

Keterangan

1

cocok 6 cocok

2 cocok 7 cocok

3 cocok 8 cocok

4 cocok 9 cocok

5 cocok 10 cocok

(33)

26

11 cocok 16 cocok

12 cocok 17 cocok

13 cocok 18 cocok

14 cocok 19 cocok

15 cocok 20 cocok

Dari tabel 5.2 didapatkan bahwa dari 20 pola yang diuji maka JST Hebb dapat mengenali semua pola tersebut. Jadi tingkat keberhasilan JST untuk mengenali pola uji adalah 100 %.

Hal ini berarti bahwa jst Hebb memiliki kemampuan untuk mengenali pola-pola yang belum pernah dilatihkan kepadanya meskipun kondisinya cacat atau mengandung noise (generalization).

(34)

27 VI. KESIMPULAN DAN SARAN

1. Kesimpulan

Dari penelitian ini dapat disimpulkan yaitu :

a. Program aplikasi JST Hebb dapat dipakai untuk mengenali pola sidik jari

b. JST Hebb dapat mengenali pola sidik jari dengan baik terlihat dari 20 sampel uji semuanya dapat dikenali dengan sempurna.

2. Saran

a. Pengenalan pola dengan JST Hebb dapat dikembangkan penerapannya seperti : pengenalan kornea, tanda tangan, suara ,wajah, dan lain-lain.

b. Perlu dilakukan penelitian untuk mengenali pola sidik jari dengan metode JST selain Hebb seperti : Perceptron, Backpropagation, Convolutional Neural Network (CNN) dan lain.

(35)

28 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.

Hagan, M.T., Demuth, H.B, Beale, M.H., dan Jesús,O.D. 2014. Neural Network Design.

Oklahoma State University, Stillwater, Oklahoma.

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.

Gambar

Gambar  2.1  memperlihatkan  sinyal  yang  keluar  dari  axon  neuron  1  akan  dikirim  ke  denrite  neuron  2
Gambar  4.1  memperlihatkan  bahwa  jumlah  elemen  vektor  input  x  yaitu  7500  yang  dinyatakan  dengan  :  x 1 ,  x 2 ,  …  x 7500
Gambar 4.2 Diagram Alir Pelatihan JST Hebb

Referensi

Dokumen terkait

Perilaku kepariwisataan merupakan cara pandang dan pendekatan untuk memahami fenomena pariwisata yang dilihat dari aspek produk, perilaku wisatawan, kualitas Sumber

Tepung yang digunakan sebagai bahan dasar pembuatan cookies adalah terigu yang memiliki kandungan gluten yang rendah (Agustina &amp; Astuti, 2015) sehingga tepung

Namun, dari sekian banyak penelitian seputar cuci tangan masih jarang ditemukan penelitian yang berfokus atau melihat perilaku cuci tangan pada remaja khususnya di

Berdasarkan dari hasil wawancara kepada tiga orang karyawan, diketahui bahwa dua diantaranya merasa kurang puas dengan hasil yang diterimanya, menurutnya setiap

Berdasarkan struktur organisasi perusahaan diatas, maka dapat di tarik garis besarnya bahwa koalisi dominan dalam menyampaikan informasi terkait transformasi BPJS

Tujuan pendidikan yang secara umum ingin dicapai melalui aktivitas di luar ruang kelas atau di luar lingkungan sekolah adalah: 1) membuat setiap individu memiliki

dengan memindahkan barang berdasarkan warna dari barang itu dan meletakkannya pada tempat yang telah ditentukan. Untuk mewujudkan ide diatas, penulis membuat mesin

yang harus dilakukan penulis untuk melakukan tahap analisis sistem. sehingga penulis akan mengetahui permasalahan yang terjadi