Implementasi Jaringan Saraf Tiruan Untuk Pengenalan Tanda Tangan

(1)

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK

PENGENALAN TANDA TANGAN

SKRIPSI

SARI JULI ANITA SIHOTANG

041401042

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(2)

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK

PENGENALAN TANDA TANGAN

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

SARI JULI ANITA SIHOTANG

041401042

PROGRAM STUDI S-1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2010


(3)

PERSETUJUAN

Judul : IMPLEMENTASI JARINGAN SARAF TIRUAN

UNTUK PENGENALAN TANDA TANGAN

Kategori : SKRIPSI

Nama : SARI JULI ANITA SIHOTANG

Nomor Induk Mahasiswa : 041401042

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 18 Desember 2010

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Nasruddin MN, M.Eng.Sc Drs. Partano Siagian, M.Sc

NIP. 130 900 137 NIP. 130 877 994

Diketahui/Disetujui oleh Prog. Studi Ilmu Komputer S-1 Ketua,

Prof. Dr. Muhammad Zarlis NIP.195707011986011003


(4)

PERNYATAAN

IMPLEMENTASI JARINGAN SARAF TIRUAN UNTUK PENGENALAN TANDA TANGAN

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 18 Desember 2010

SARI JULI ANITA SIHOTANG 041401042


(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan karunia yang diberikan-Nya kepada penulis, sehingga penulis dapat menyelesaikan skripsi ini dalam waktu yang telah ditetapkan.

Ucapan terima kasih penulis sampaikan kepada Bapak Drs. Partano Siagian, M.Sc selaku Pembimbing I dan Bapak Dr. Nasruddin MN, M.Eng,Sc selaku Pembimbing II pada penyelesaian skripsi ini, yang telah memberikan panduan dan kepercayaan, serta kebaikannya untuk meluangkan waktu, tenaga, pikiran, dan bantuannya kepada penulis untuk menyelesaikan skripsi ini. Ucapan terima kasih juga

ditujuka n kepada Ketua dan Sekeretaris Departemen Ilmu Komputer

Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus, SSi, MIT, Dekan dan pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Departemen Ilmu Komputer FMIPA USU serta pegawai di FMIPA USU dan rekan-rekan kuliah.

Akhirnya tidak terlupakan kepada yang tersayang Ayahanda Drs. M. Sihotang dan Ibunda F. Sidabutar yang memberikan dukungan dan doa setiap hari kepada penulis, kepada abang ipar dan kakak, juga kepada kedua adikku yang selalu memberikan semangat untuk segera menyelesaikan skripsi ini, serta seluruh keluarga dan teman-teman satu kost maupun teman-teman lainnya dimanapun berada baik yang langsung memotivasi maupun yang terus mendukung dalam doa. Semoga Tuhan Yang Maha Esa akan membalasnya.


(6)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel ix

Daftar Gambar x

Bab 1 Pendahuluan 1

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 2

1.4Tujuan Penelitian 2

1.5Manfaat Penelitian 3

1.6Metodologi Penelitian 3

1.7Sistematika Penulisan 4

Bab 2 Landasan Teori 5

2.1 Pengolahan Citra 5

2.1.1 Citra 5

2.1.2 Digitalisasi Citra 5

2.1.3 Citra Grayscale 7

2.1.4 Citra Biner 7

2.1.5 Definisi Pengolahan Citra 7

2.1.6 Operasi Pengolahan Citra 8

2.1.7 Pengambangan 10

2.2 Pengenalan Pola 12

2.3 Verifikasi Tanda Tangan 13

2.4 Jaringan Saraf Tiruan 14

2.4.1 Pengertian Jaringan Saraf Tiruan 14

2.4.2 Algoritma Umum Jaringan Saraf Tiruan 16

2.4.3 Model Neuron 17

2.4.4 Arsitektur Jaringan Saraf Tiruan 18

2.4.5 Kelebihan Jaringan Saraf Tiruan 20

2.4.6 Aplikasi Jaringan Saraf Tiruan 21

2.4.7 Fungsi Aktivasi 21

2.4.8 Pelatihan Terawasi dan Tidak Terawasi 23

2.5 Propagasibalik (Backpropagation) 23


(7)

2.5.3 Parameter Pelatihan 31

2.5.4 Kelemahan Yang Sering Terjadi Pada Propasaibalik 33

Bab 3 Analisis dan Perancangan 35

3.1 Analisis Sistem 35

3.1.1 Akuisisi Data (Pengumpulan data) 36

3.1.2 Prapengolahan 36

3.1.3 Ekstraksi Ciri 37

3.1.4 Fase Pelatihan 38

3.1.5 Fase Pengujian 39

3.2 Pemodelan Sistem 40

3.2.1 Perancangan Arsitektur Jaringan 40

3.2.2 Data Flow Diagram (DFD) dan Spesifikasi Proses 41

3.2.3 Kamus Data 47

3.2.3.1 Kamus Data Proses Pelatihan 48

3.2.3.2 Kamus Data Proses Pengujian 49

3.2.4 Perancangan Antarmuka 49

3.2.5 Perancangan Prosedural 51

Bab 4 Implementasi dan Pengujian 54

4.1 Lingkungan Implementasi 54

4.2 Implementasi Perangkat Lunak 55

4.2.1 Pelatihan 56

4.2.2 Pengujian 58

4.2.3 Pengenalan 60

4.3 Pengujian Dan Hasil 63

Bab 5 Penutup 69

5.1 Kesimpulan 69

5.2 Saran 69

Daftar Pustaka 70

Lampiran A: Listing Program 71


(8)

DAFTAR TABEL

Halaman

Tabel 3.1 Spesifikasi Proses Diagram Konteks 42

Tabel 3.2 Spesifikasi Proses Diagram Level 1 44

Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses Pelatihan 45

Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian 46

Tabel 3.5 Kamus Data Proses Pelatihan 48

Tabel 3.6 Kamus Data Proses Pengujian 49

Tabel 4.1 Hasil Pengujian Data Yang Dilatihkan (Kemampuan Memorisasi) 63


(9)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Penentuan Nilai Ambang T 11

Gambar 2.2 Struktur Sistem Pengenalan Pola 13

Gambar 2.3 Struktur Unit Jaringan Saraf Tiruan 17

Gambar 2.4 Jaringan Lapis Tunggal 19

Gambar 2.5 Jaringan dengan Banyak Lapisan 20

Gambar 2.6 Jaringan dengan Lapisan Kompetitif 20

Gambar 2.7 Arsitektur Jaringan Saraf Tiruan Propagasi Balik 26

Gambar 2.8 Alur Kerja Jaringan Propagasi Balik 27

Gambar 3.1 Proses Prapengolahan 37

Gambar 3.2 Proses Ekstraksi Ciri 38

Gambar 3.3 Arsitektur Jaringan Saraf Tiruan untuk Pengenalan Tanda Tangan 41

Gambar 3.4 DFD Level 0 42

Gambar 3.5 DFD Level 1 43

Gambar 3.6 DFD Level 2 Proses Pelatihan 44

Gambar 3.7 DFD Level 2 Proses Pengujian 46

Gambar 3.8 Antarmuka Aplikasi Jaringan Saraf Tiruan 50

Gambar 3.9 Flowcart Pelatihan 52

Gambar 3.10 Flowcart Pengujian 53

Gambar 4.1 Tampilan Perangkat Lunak Pengenalan Tanda Tangan 55

Gambar 4.2 Tampilan Pelatihan 56

Gambar 4.3 Tampilan Grafik Pelatihan 57

Gambar 4.4 Tampilan Pengambilan Data Tanda Tangan 61


(10)

BAB I

PENDAHULUAN

1.1Latar Belakang

Dalam masyarakat modern sekarang ini, banyak sekali hal yang membutuhkan adanya identifikasi maupun pembuktian akan identitas seseorang, mulai dari pelayanan kesehatan, pengurusan rekening bank, pelayanan penerbangan, keimigrasian, dan banyak lainnya. Ada beberapa cara untuk membuktikan atau mengidentifikasi identitas seseorang. Salah satunya dengan menggunakan tanda tangan.

Saat ini, tanda tangan banyak digunakan sebagai sistem identifikasi untuk mengenali seseorang. Pada umumnya, untuk mengenali tanda tangan masih dilakukan secara manual yaitu dengan mencocokkan tanda tangan pada waktu transaksi dengan tanda tangan yang sah. Sistem manual memiliki kelemahan dimana si pemeriksa tanda tangan kurang teliti dalam melakukan pencocokan. Oleh karena itu, diperlukan sebuah sistem yang mampu menganalisis karakteristik tanda tangan sehingga mempermudah dalam mengenali tanda tangan seseorang.

Jaringan saraf tiruan dapat digunakan sebagai salah satu solusi untuk mengenali pola tanda tangan seseorang. Jaringan saraf tiruan merupakan sebuah sistem pemroses informasi yang memiliki performa karakteristik tertentu seperti jaringa n saraf biologi. Jaringan saraf tiruan memiliki beberapa metode seperti perceptron, hopfield diskrit, adaline, propagasibalik, dan kohonen.


(11)

Pada penelitian ini penulis menggunakan jaringan saraf tiruan dengan metode propagasibalik. Dengan menggunakan jaringan saraf tiruan metode propagasibalik (backpropagation) diharapkan dapat dibuat sebuah sistem komputer yang mampu menganalisis dan mengenali tanda tangan seseorang.

1.2Rumusan Masalah

Dari uraian latar belakang tersebut, yang menjadi rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan jaringan saraf tiruan untuk pengenalan tanda tangan dengan menggunakan metode propagasibalik.

1.3Batasan Masalah

Batasan masalah yang digunakan dalam penelitian ini adalah:

1. Arsitektur jaringan saraf tiruan menggunakan 1 lapisan tersembunyi.

2. Fungsi aktivasi yang dipakai adalah fungsi sigmoid biner.

3. Batas toleransi error adalah 0,05

4. Laju pembelajaran adalah 0,5

5. Maksimum iterasi (epoch) adalah 1000

6. Bahasa pemrograman yang digunakan adalah matlab.

1.4Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mengimplementasikan jaringan saraf tiruan model propagasibalik (backpropagation) untuk pengenalan tanda tangan seseorang dan pembuatan perangkat lunak (software).


(12)

1.5Manfaat Penelitian

Manfaat penelitian ini adalah terciptanya perangkat lunak pengenalan pola tanda tangan diharapkan dapat mengatasi kelemahan sistem manual dalam mengenali tanda tangan seseorang di berbagai bidang seperti perbankan, pertahanan, dan keimigrasian.

1.6Metodologi Penelitian

Penelitian ini akan dikerjakan dengan metodologi sebagai berikut:

1. Studi Literatur

Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui hasil penelitian lainnya yang relevan maupun artikel-artikel yang didapatkan melalui internet, serta mempelajari lebih dalam teori-teori tentang pengolahan citra, jaringan saraf tiruan, dan metode propagasibalik.

2. Analisis dan Perancangan

Tahap ini meliputi analisis kebutuhan untuk merancang sistem jaringan saraf tiruan dengan model propagasibalik. Desain perancangan akan dibentuk dalam DFD (Data Flow Diagram).

3. Implementasi

Tahap ini meliputi pembangunan perangkat lunak yang telah dirancang pada tahap sebelumnya.

4. Pengujian

Pada tahap ini akan dilakukan pengujian terhadap perangkat lunak yang telah dibangun dan sekaligus melakukan analisis terhadap hasil perangkat lunak.

5. Penulisan Laporan Skripsi


(13)

1.7Sistematika Penulisan

Sistematika penulisan skripsi ini adalah sebagaai berikut:

BAB 1 Pendahuluan

Pada bab ini dibahas tentang perumusan masalah, batasan masalah, tujuan dan manfaat penelitian, metodologi penelitian, tinjauan pustaka, dan sistematika penulisan.

BAB 2 Landasan Teori

Bab ini akan menjelaskan mengenai landasan-landasan teori mengenai pengolahan citra, jaringan saraf tiruan, metode propagasibalik dan lainnya yang berhubungan dengan masalah yang akan dibahas.

BAB 3 Analisis dan Perancangan

Pada bab ini diuraikan analisis kebutuhan untuk merancang sistem jaringan saraf tiruan metode propagasibalik untuk pengenalan tanda tangan. Desain perancangan akan dibentuk dalam DFD (Data Flow Diagram).

BAB 4 Implementasi dan Pengujian

Bab ini berisi teknik implementasi dari perancangan yang telah dibuat dan pengujian terhadap implementasi. Pengujian dilakukan untuk membuktikan perangkat lunak dapat berjalan sesuai dengan spesifikasi yang telah ditentukan di tahapan analisis.

BAB 5 Penutup


(14)

BAB II

LANDASAN TEORI

2.1Pengolahan Citra

2.1.1 Citra

“Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, dan pemindai (scanner), sehingga bayangan objek yang disebut citra tersebut terekam” (Munir; 2004:2).

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.

2.1.2 Digitalisasi Citra

Citra ada dua macam yaitu citra kontinu dan citra diskrit. Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog, misalnya mata manusia dan kamera analog. Citra diskrit dihasilkan melalui proses digitalisasi terhadap citra kontinu. Beberapa sistem optik dilengkapi dengan fungsi digitalisasi sehingga mampu menghasilkan citra diskrit, misalnya kamera digital dan scanner. Citra diskrit disebut juga citra digital.


(15)

Agar dapat diolah dengan komputer digital, maka suatu citra harus dipresentasikan secara numerik dengan nilai-nilai diskrit. Representasi citra dari fungsi kontinu menjadi nilai-nilai diskrit disebut digitalisasi. Citra yang dihasilkan inilah yang disebut citra digital (digital image). Pada umumnya citra digital berbentuk empat persegi panjang, dan dimensi ukurannya dinyatakan sebagai tinggi x lebar (atau lebar x tinggi).

Citra digital yang berukuran N X M lazim dinyatakan dengan matriks yang berukuran N baris dan M kolom sebagai berikut:

                − − − − ≈ ) 1 ( ), 1 ( ) 1 , 1 ( ) 0 , 1 ( ) , 1 ( ) 1 , 1 ( ) 0 , 1 ( ) , 0 ( ) 1 , 0 ( ) 0 , 0 ( ) , ( M N f N f N f M f f f M f f f y x f       

Indeks baris (i) dan indeks kolom (j) menyatakan suatu koordinat titik pada citra, sedangkan f(i,j) merupakan intensitas (derajat keabuan) pada titik (i,j). Masing-masing elemen pada citra digital (berarti elemen matriks) disebut image

element, picture element atau piksel atau pel. Jadi, citra yang berukuran N X M

mempunyai NM buah piksel. Sebagai contoh, misalkan sebuah citra berukuran 256 x 256 piksel dan direpresentasikan secara numerik dengan matriks yang terdiri dari 256 buah baris indeks dari 0 sampai 255) dan 256 buah kolom (di-indeks dari 0 sampai 255) seperti contoh berikut:

Piksel pertama pada koordinat (0,0) mempunyai nilai intensitas 0 yang berarti warna piksel tersebut hitam, piksel kedua pada koordinat (0,1) mempunyai intensitas 134 yang berarti warnanya antara hitam dan putih, dan seterusnya. (Munir, 2004)


(16)

2.1.3 Citra Grayscale

Untuk mendapatkan citra grayscale (keabuan) digunakan rumus:

I(x,y) = α.R + β.G + γ.B (2.1)

dengan I(x,y) adalah level keabuan pada suatu koordinat yang diperoleh dengan mengatur komposisi warna R (merah), G (hijau), B (biru) yang ditunjukkan oleh

nilai parameter α, β, dan γ. Secara umum nilai α, β, dan γ adalah 0.33. Nilai yang

lain juga dapat diberikan untuk ketiga parameter tersebut asalkan total keseluruhan nilainya adalah 1. (Putra, 2009)

2.1.4 Citra Biner

Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai derajat keabuan: hitam dan putih. Piksel-piksel objek bernilai 1 dan piksel-piksel latar

belakang bernilai 0. Pada waktu menampilkan gambar, 0 adalah putih dan 1 adalah hitam.

Meskipun saat ini citra berwarna lebih disukai karena memberi kesan yang lebih kaya daripada citra biner, namun tidak membuat citra biner mati. Pada beberapa aplikasi citra biner masih tetap dibutuhkan, misalnya citra logo instansi (yang hanya terdiri atas warna hitam dan putih), citra kode barang (bar code) yang tertera pada label barang, dan citra hasil pemindaian dokumen teks. (Munir, 2004)

2.1.5 Definisi Pengolahan Citra

Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Pengolahan citra bertujuan memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya adalah citra dan keluarannya juga citra,


(17)

namun citra keluaran mempunyai kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga adalah pemampatan citra (image

compression). Pengubahan kontras citra adalah contoh operasi pengolahan citra.

Contoh pengolahan citra lainnya adalah penghilangan derau (noise).

Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra bila:

1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan

kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang terkandung di dalam citra.

2. Elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur.

3. Sebagian citra perlu digabung dengan bagian citra yag lain. (Munir, 2004)

2.1.6 Operasi Pengolahan Citra

Operasi-operasi yang dilakukan pada pengolahan citra secara umum dapat dikelompokkan dalam beberapa jenis, yaitu:

1. Perbaikan kualitas citra (image enhancement)

Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang terdapat di dalam citra lebih ditonjolkan. Beberapa operasi perbaikan citra antara lain: perbaikan kontras gelap/terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna semu (pseudocoloring), penapisan derau (noise filtering).

2. Pemugaran citra (image restoration)

Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra. Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya, pada pemugaran citra penyebab degradasi gambar diketahui. Contoh-contoh operasi pemugaran citra, yaitu: penghilangan kesamaran (deblurring), dan penghilangan derau (noise).


(18)

3. Pemampatan citra (image compression)

Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting yang harus diperhatikan dalam pemampatan adalah citra yang telah dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan citra adalah metode JPEG.

4. Segmentasi citra (image segmentation)

Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan pengenalan pola.

5. Analisis citra (image analysis)

Jenis operasi ini bertujuan menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Teknik analisis citra mengekstraksi ciri-ciri tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala diperlukan untuk melokalisasi objek yang diinginkan dari sekalilingnya. Contoh-contoh operasi analisis citra, yaitu: pendeteksian tepi objek (edge detection), ekstraksi batas (boundary), dan representasi daerah (region).

6. Rekonstrusi citra (image reconstruction)

Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis. Misalnya beberapa foto rontgen dengan sinar-X digunakan untuk membentuk ulang gambar organ tubuh. (Munir, 2004)


(19)

1 if f(x,y) < T

2.1.7 Pengambangan

Proses pengambangan (thresholding) akan menghasilkan citra biner, yaitu citra yang memiliki dua nilai tingkat keabuan, yaitu hitam dan putih. Secara umum proses pengambangan citra grayscale untuk menghasilkan citra biner adalah sebagai berikut (Munir, 2004) (Putra, 2009):

g(x,y) = (2.2)

dengan g(x,y) citra biner dari citra grayscale f(x,y), dan T menyatakan nilai ambang. Nilai T memegang peran sangat penting dalam proses pengambangan. Kualitas hasil citra biner sangat bergantung pada nilai T yang digunakan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar belakang berwarna terang (0 atau putih).

Dua pendekatan yang digunakan dalam operasi pengambangan, yaitu:

1. Pengambangan global (global thresholding)

Pada pengambangan global, seluruh piksel pada citra dikonversi menjadi hitam atau putih dengan satu nilai ambang T. Cara yang umum menentukan nilai T adalah dengan membuat histogram citra. Jika citra mengandung satu buah objek dan latar belakang mempunyai nilai intensitas yang homogen, maka citra tersebut umumnya mempunyai histogram bimodal (mempunyai dua puncak atau dua buah maksimum lokal) seperti yang ditunjukkan pada Gambar 2.1. Nilai T dipilih pada nilai minimum lokal yang terdapat di antara dua puncak. Dengan cara seperti ini, kita tidak hanya mengkonversi citra grayscale ke citra biner, tetapi sekaligus melakukan segmentasi objek dari latar belakangnya.


(20)

Gambar 2.1 Penentuan Nilai Ambang T

Kemungkinan besar pada pengambangan global akan banyak informasi hilang karena hanya menggunakan satu nilai T untuk keseluruhan piksel. Untuk mengatasi masalah ini dapat digunakan pengambangan secara lokal adaptif.

2. Pengambangan lokal (locally adaptive thresholding)

Pada pengambangan lokal, suatu citra dibagi menjadi blok-blok kecil dan kemudian dilakukan pengambangan lokal atas setiap blok itu dengan nilai

T yang berbeda. Sebagai contoh, pengambangan dilakukan terhadap

daerah citra yang berukuran 3 x 3 atau 5 x 5 piksel. Nilai ambangnya ditentukan sebagai fungsi rata-rata derajat keabuan di dalam daerah citra tersebut. Intensitas piksel yang berbeda secara signifikan dari nilai rata-rata tersebut dianggap mengandung informasi kontras dan ini harus dipertahankan di dalam citra biner.

Dengan pengambangan secara lokal adaptif, secara subjektif citra biner yang dihasilkan terlihat lebih menyenangkan dan sedikit informasi yang hilang.

T

Kelas 0 P(r)


(21)

2.2Pengenalan Pola

Pola adalah entitas. Ciri-ciri tersebut digunakan untuk membedakan suatu pola dengan pola lainnya. Ciri yang bagus adalah ciri yang memiliki daya pembeda yang tinggi, sehingga pengelompokan pola berdasarkan ciri yang dimiliki dapat dilakukan dengan keakuratan yang tinggi.

Secara luas, ciri adalah semua hasil pengukuran yang bisa diperoleh. Ciri juga bisa menggambarkan karakteristik objek yang dipantau. Contoh dari ciri level rendah adalah intensitas sinyal. Ciri bisa berupa simbol, numerik, atau keduanya. Contoh dari ciri simbol adalah warna. Contoh dari ciri numerik adalah berat. Ciri bisa diperoleh dengan mengaplikasikan algoritma ekstraksi ciri pada data masukan. Ciri dapat dinyatakan dengan variabel kontinu, diskret, atau diskret-biner. Ciri biner dapat digunakan untuk menyatakan ada tidaknya suatu ciri tertentu.

Ciri yang baik memiliki syarat berikut: mudah dalam komputasi, memiliki

tingkat keberhasilan yang tinggi, dan besarnya data dapat diperkecil tanpa menghilangkan informasi penting.

Secara umum, pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif ciri atau sifat dari objek. Pola sendiri merupakan suatu entitas yang terdefinisi dan dapat diidentifikasi dan diberi nama. Sidik jari adalah suatu contoh pola. Pola bisa merupakan kumpulan hasil pengukuran atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks.

Struktur sistem pengenalan pola ditunjukkan oleh Gambar 2.2. Perhatikan bahwa sistem terdiri dari suatu sensor (misalnya kamera, dan scanner), teknik prapengolahan, suatu algoritma atau mekanisme ekstraksi ciri dan algoritma untuk klasifikasi atau pengenalan bergantung pada pendekatan yang dilakukan).


(22)

Sebagai tambahan, biasanya beberapa data yang sudah diklasifikasikan diasumsikan telah tersedia untuk melatih sistem.

Prapengolahan adalah transformasi masukan data mentah untuk memebantu kemampuan komputasional dan pencari ciri serta untuk mengurangi derau. Pada prapengolahan citra (sinyal) yang ditangkap oleh sensor akan dinormalisasi agar citra menjadi lebih siap untuk diolah pada tahap pemisahan ciri. Kualitas ciri yang dihasilkan pada proses pemisahan ciri sangat bergantung pada hasil prapengolahan.

Gambar 2.2 Struktur Sistem Pengenalan Pola

Klasifikasi merupakan tahap untuk mengelompokkan masukan data pada satu atau beberapa kelas berdasakan hasil pencarian beberapa ciri yang signifikan dan pemrosesan atau analisis terhadap ciri itu. Setiap kelas terdiri dari sekumpulan objek yang memiliki kedekatan (kemiripan) ciri. (Munir, 2004)(Putra, 2009)

2.3Verifikasi Tanda Tangan

Verifikasi tanda tangan terdiri dari dua jenis, yaitu:

1. Verifikasi tanda tangan dinamis

Metode verifikasi tanda tangan (signature) dengan akuisisi data secara dinamis disebut juga metode online. Dalam metode ini proses akusisi data dilakukan bersamaan dengan proses penulisan. Data yang diambil pada umumnya bermacam-macam, tidak hanya berupa koordinat posisi

titik-Prapengola han

Ekstraksi Ciri

Algoritma Kalsifikasi

Pengukuran mi

Pola data pi

Klasifikasi Sensor


(23)

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. Verifikasi tanda tangan statis

Metode verifikasi dengan akuisisi data secara statis disebut juga dengan metode offline. Berbalikan dengan metode dinamis, metode statis melakukan akuisisi data setelah proses penulisan 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. (Putra, 2009)

2.4Jaringan Saraf Tiruan

2.4.1 Pengertian Jaringan Saraf Tiruan

Jaringan saraf tiruan (artificial neural network), atau disingkat JST, adalah sistem komputasi dimana arsitektur dan operasi diilhami dari pengetahuan tentang sel saraf biologis di dalam otak, yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut.

Selain pengertian di atas, jaringan saraf tiruan dapat diartikan sebagai sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan saraf biologi. Jaringan saraf tiruan tercipta sebagai suatu generalisasi model matematis dari jaringan saraf biologi yang didasarkan atas asumsi sebagai berikut (Hermawan, 2006) (Puspitaningrum, 2006) (Siang, 2009):


(24)

1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron.

2. Sinyal dikirimkan diantara neuron-neuron melalui

penghubung-penghubung.

3. Penghubung antar neuron memiliki bobot yang akan memperkuat atau

memperlemah sinyal.

4. Untuk menentukan keluaran, setiap neuron menggunakan fungsi aktivasi

(biasanya bukan fungsi linier) yang dikenakan pada jumlahan masukan yang diterima. Besarnya keluaran ini selanjutnya dibandingkan dengan suatu batas ambang.

Karakteristik jaringan saraf tiruan ditentuka n oleh tiga hal:

1. Pola hubungan antar-neuron (disebut dengan arsitektur jaringan).

2. Metode penentuan bobot-bobot penghubung disebut metode

pelatihan/training/learning/proses belajar jaringan).

3. Fungsi aktivasi.

Adapun cara belajar jaringan saraf tiruan sebagai berikut (Puspitaningrum, 2006):

Ke dalam jaringan saraf tiruan dimasukankan informasi yang sebelumnya telah diketahui hasil keluarannya. Pemasukan informasi ini dilakukan lewat node-node atau unit-unit masukan. Bobot-bobot antarkoneksi dalam suatu arsitektur diberi nilai awal dan kemudian jaringan saraf tiruan dijalankan. Bobot-bobot ini bagi jaringan digunakan untuk belajar dan mengingat suatu informasi. Pengaturan bobot dilakukan secara terus-menerus dan dengan menggunakan kriteria tertentu sampai diperoleh yang diharapkan.

Hal yang ingin dicapai dengan melatih/mengajari jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud dengan kemampuan memorisasi adalah kemampuan jaringan saraf tiruan untuk memanggil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan jaringan saraf tiruan untuk menghasilkan respon yang bisa diterima terhadap pola-pola masukan yang


(25)

serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jaringan saraf tiruan itu dimasukankan informasi baru yang belum pernah dipelajari, maka jaringan saraf tiruan itu masih akan tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati.

2.4.2 Algoritma Umum Jaringan Saraf Tiruan

Algoritma pembelajaran/pelatihan jaringan saraf tiruan:

Dimasukkan n contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan: 1. Inisialisasi bobot-bobot jaringan. Set i=1.

2. Masukkan contoh ke-i (dari sekumpulan contoh pembelajaran yang

terdapat dalam set pelatihan) ke dalam jaringan pada lapisan masukan.

3. Cari tingkat aktivasi unit-unit output menggunakan algoritma aplikasi.

If kinerja jaringan memenuhi standar yang ditentukan sebelumnya

(memenuhi syarat berhenti)

Then exit.

4. Update bobot-bobot dengan menggunakan aturan pembelajaran jaringan.

5. If i=n, then reset i=1

Else i=i – 1 Ke langkah 2

Algoritma aplikasi/pengujian jaringan saraf tiruan:

Dimasukkan sebuah contoh pelatihan ke dalam jaringan saraf tiruan. Lakukan:

1. Masukkan kasus ke dalam jaringan pada lapisan masukan.

2. Hitung tingkat aktivasi node-node jaringan.

3. Untuk jaringan koneksi umpan maju, jika tingkat aktivasi dari semua unit

keluarannya telah dikalkulasi, maka exit. Untuk jaringan koneksi balik, jika tingkat aktivasi dari semua keluaran menjadi konstan atau mendekati konstan, maka exit. Jika tidak, kembali ke langkah 2. Jika jaringannya tidak stabil, maka exit dan fail.


(26)

2.4.3 Model Neuron

Neuron adalah unit pemroses informasi yang menjadi dasar dalam pengoperasian jaringan saraf tiruan. Neuron terdiri dari tiga elemen pembentuk:

1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur

tersebut memiliki bobot / kekuatan yang berbeda-beda. Bobot yang bernilai positip akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya. Jumlah, struktur dan pola hubungan antar unit-unit tersebut akan menentukan arsitektur jaringan (dan juga model jaringan yang terbentuk).

2. Suatu unit penjumlah yang akan menjumlahkan masukan-masukan sinyal

yang sudah dikalikan dengan bobotnya.

Misalkan x1, x2, … , xm, adalah unit-unit masukan dan wj1, wj2, … , wjm

adalah bobot penghubung dari unit-unit tersebut ke unit keluaran yj, maka

unit penjumlah akan memberikan keluaran sebesar uj = x1 wj1 + x2 wj2 +

… + xm wjm.

3. Fungsi aktivasi yang akan menentukan apakah sinyal dari masukan neuron

akan diteruskan ke neuron lain ataukah tidak.

Gambar 2.3 Struktur Unit Jaringan Saraf Tiruan

Unit pengolah j

∑ X1

Xj2

Xj1

Xjn

X2

Xn

Masukan Kekuatan Keluaran


(27)

Gambar 2.3 menunjukkan contoh suatu neuron atau struktur unit pengolah jaringan saraf tiruan. Pada sisi sebelah kiri terlihat beberapa masukan yang menuju ke unit pengolah yang masing-masing dating dari unit-unit yang berbeda x(n). Setiap sambungan mempunyai kekuatan hubungan terkait (bobot) yang disimbolkan dengan w(n). Unit pengolah akan membentuk penjumlahan berbobot dari tiap masukannya dan menggunakan fungsi ambang non-linier (fungsi aktivasi) untuk menghitung keluarannya. Hasil perhitungan akan dikirimkan melalui hubungan keluaran seperti tampak pada gambar sisi sebelah kanan. (Hermawan, 2006) (Siang, 2009)

2.4.4 Arsitektur Jaringan Saraf Tiruan

Pembagian arsitektur jaringan saraf tiruan dapat dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja jaringan saraf tiruan bisa dilihat dari jumlah lapisan (layer) dan jumlah unit sel pada setiap lapisan.

Lapisan-lapisan penyusun jaringan saraf tiruan dapat dibagi menjadi tiga, yaitu:

1. Lapisan masukan

unit sel di dalam lapisan masukan disebut unit-unit masukan. Unit-unit masukan menerima masukan dari dunia luar. Masukan yang dimasukkan merupakan penggambaran dari suatu masalah.

2. Lapisan tersembunyi

Unit-unit sel di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Keluaran dari lapisan ini tidak secara langsung dapat diamati.

3. Lapisan keluaran

Unit-unit sel pada lapisan keluaran disebut unit-unit keluaran. Keluaran dari lapisan ini merupakan keluaran jaringan saraf tiruan terhadap suatu permasalahan. (Puspitaningrum, 2006)

Jaringan saraf tiruan dirancang dengan menggunakan suatu aturan yang bersifat menyeluruh (general rule) dimana seluruh model jaringan memiliki


(28)

konsep dasar yang sama. Arsitektur sebuah jaringan akan menentukan keberhasilan target yang akan dicapai karena tidak semua permasalahan dapat diselesaikan dengan arsitektur yang sama.

Beberapa arsitektur jaringan yang sering dipakai dalam jaringan saraf tiruan antara lain (Hermawan, 2006) (Puspitaningrum, 2006) (Siang, 2009):

1. Jaringan dengan lapisan tunggal (single layer network)

Jaringan dengan lapisan tunggal hanya memiliki satu buah lapisan bobot koneksi. Jaringan ini hanya menerima masukan dan kemudian secara langsung akan mengolahnya menjadi keluaran tanpa harus melalui lapisan tersembunyi.

Gambar 2.4 Jaringan Lapis Tunggal

2. Jaringan dengan banyak lapisan (multilayer network)

Jaringan dengan banyak lapisan merupakan perluasan dari lapisan tunggal. Jaringan ini memiliki satu atau lebih lapisan yang terletak di antara lapisan masukan dan lapisan keluaran (sering disebut lapisan tersembunyi). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan tunggal, dengan pembelajaran yang lebih rumit.

Wnj

W1j Wi1

W11

Wn1

Y1

Yj

Ym

Wij

Wnm

Wim

W1m

X1

Xi


(29)

Gambar 2.5 Jaringan dengan Banyak Lapisan

3. Jaringan dengan lapisan kompetitif (competitive layer network)

Pada jaringan ini sekumpulan neuron bersaing untuk mendapatkan hak menjadi aktif.

Gambar 2.6 Jaringan dengan Lapisan Kompetitif

2.4.5 Kelebihan Jaringan Saraf Tiruan

Jaringan saraf tiruan memiliki sejumlah besar kelebihan dibandingkan dengan metode perhitungan lainnya, yaitu (Hermawan, 2006):

1. Kemampuan mengakuisisi pengetahuan walaupun dalam kondisi ada

gangguan dan ketidakpastian. Hal ini karena jaringan saraf tiruan mampu melakukan generalisasi, abstraksi, dan ekstraksi terhadap properti statistik dari data.

2. Kemampuan merepresentasikan pengetahuan secara fleksibel. Jaringan

saraf tiruan dapat menciptakan sendiri representasi melalui pengaturan diri sendiri atau kemampuan belajar (self organizing).

Vnj

V1j Vi1

V11 Vn1 Y1 Yj Ym Vij Vnp Vip V1p X1 Xi Xn Wpk

W1k Wj1

W11 Wp1 Y1 Yk Ym Wjk Wpm Wim W1m Z1 Zj Zp -є -є -є

-є -є -є 1 1 1 1 A1 Ai Am Aj


(30)

3. Kemampuan untuk memberikan toleransi atas suatu distorsi (error/fault), dimana gangguan kecil pada data dapat dianggap hanya sebagai noise (guncangan) belaka.

4. Kemampuan memproses pengetahuan secara efisien karena memakai

sistem paralel, sehingga waktu yang diperlukan untuk mengoperasikannya menjadi lebih singkat.

2.4.6 Aplikasi Jaringan Saraf Tiruan

Beberapa aplikasi jaringan saraf tiruan adalah sebagai berikut:

1. Pengenalan Pola (Pattern Recognation)

Jaringan saraf tiruan dapat dipakai untuk mengenali pola (misal huruf, angka, suara, atau tanda tangan) yang sudah sedikit berubah.

2. Signal Processing

Jaringan saraf tiruan (model ADALINE) dapat dipakai untuk menekan

noise dalam saluran telepon.

3. Peramalan

Jaringan saraf tiruan juga dapat dipakai untuk meramalkan apa yang akan terjadi di masa yang akan datang berdasarkan pola kejadian yang ada di masa yang akan datang berdasarkan pada kejadian yang ada di masa lampau. (Siang, 2009)

2.4.7 Fungsi Aktivasi

Dalam jaringan saraf tiruan, fungsi akivasi dipakai untuk menentukan keluaran suatu neuron. Argumen fungsi aktivasi adalah net masukan (kombinasi linier

masukan dan bobotnya). Jika net = ∑ x i wi, maka fungsi aktivasinya adalah


(31)

Beberapa fungsi aktivasi yang sering dipakai adalah sebagai berikut (Hermawan, 2006) (Siang, 2009):

1. Fungsi identitas

f(x) = x, untuk semua x (2.3)

Fungsi identitas sering dipakai apabila kita menginginkan keluaran jaringan berupa sembarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1].

2. Fungsi threshold (batas ambang)

f(x) = (2.4)

Untuk beberapa kasus, fungsi threshold yang dibuat tidak berharga 0 atau 1, tapi berharga -1 atau 1 (sering disebut threshold bipolar).

Jadi,

f(x) = (2.5)

3. Fungsi sigmoid biner

f(x) = (2.6)

Fungsi sigmoid sering dipakai karena nilai fungsinya yang terletak antara 0 dan 1 dan dapat diturunkan dengan mudah.

f’(x) = f(x) (1 – f(x)) (2.7)

4. Fungsi sigmoid bipolar

Bentuk fungsinya mirip dengan fungsi sigmoid biner, tapi dengan range (-1, 1).

1 jika x ≥ 0

1 jika x < 0

1 jika x ≥ 0

-1 jika x < 0

1 1 + e-x


(32)

f(x) = − 1 (2.8)

dengan turunan f’(x) = (2.9)

2.4.8 Pelatihan Terawasi dan Tidak Terawasi

Berdasarkan cara memodifikasi bobotnya, ada dua macam pelatihan yang dikenal yaitu pelatihan atau pembelajaran terawasi (supervised learning) dan pelatihan tidak terawasi (unsupervised learning).

Pada pelatihan terawasi, kumpulan masukan yang digunakan, keluaran-keluarannya telah diketahui. Perbedaan antara keluaran-keluaran aktual dengan keluaran-keluaran yang diinginkan digunakan untuk mengoreksi bobot jaringan saraf tiruan agar jaringan saraf tiruan dapat menghasilkan jawaban sedekat (semirip) mungkin dengan jawaban yang benar yang telah diketahui oleh jaringan saraf tiruan.

Pada pelatihan tidak terawasi, atau pelatihan tanpa guru, jaringan saraf tiruan mengorganisasi dirinya sendiri untuk membentuk vektor-vektor masukan yang serupa, tanpa menggunakan data atau contoh-contoh pelatihan. Struktur menggunakan dasar data atau korelasi antara pola-pola data yang dieksplorasi. Paradigma pelatihan ini mengorganisasi pola-pola ke dalam kategori-kategori berdasarkan korelasi yang ada. (Puspitaningrum, 2006)

2.5Propagasibalik (Backpropagation)

Kelemahan jaringan saraf tiruan terdiri dari layar tunggal membuat perkembangan jaringan saraf tiruan menjadi berhenti pada sekitar tahun 1970-an. Algoritma pelatihan backpropagation atau ada yang menterjemahkannya menjadi propagasibalik pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh

2 1 + e-x

(1 + f(x)) (1 – f(x)) 2


(33)

Rumelhart bersama McClelland untuk dipakai pada jaringan saraf tiruan. Algoritma ini termasuk metoda pelatihan terbimbing (supervised) dan didesain untuk operasi pada jaringan saraf tiruan feed forward lapis jamak (multi-layer).

Jaringan saraf tiruan dengan lapisan tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satu/beberapa lapisan tersembunyi diantara lapisan masukan dan keluaran. Meskipun penggunaan lebih dari satu lapisan tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, tapi pelatihannya memerlukan waktu yang lama. Maka umumnya orang mulai mencoba dengan sebuah lapisan tersembunyi terlebih dahulu.

Penemuan propagasibalik yang terdiri dari beberapa lapisan membuka kembali cakrawala. Terlebih setelah berhasil ditemukannya berbagai aplikasi yang dapat diselesaikan dengan propagasibalik, membuat jaringan saraf tiruan semakin diminati, diantaranya diterapkan di bidang finansial, pengenalan pola tulisan tangan, pengenalan pola suara, sistem kendali, pengolah citra medika dan masih banyak lagi keberhasilan propagasibalik sebagai salah satu metoda komputasi yang handal.

Seperti halnya model jaringan saraf tiruan yang lain, propagasibalik melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa (tapi tidak sama) dengan pola yang dipakai selama pelatihan. (Siang, 2009)

Istilah “propagasibalik” (atau “penyiaran kembali”) diambil dari cara kerja jaringan ini, yaitu bahwa gradient error unit-unit tersembunyi diturunkan dari penyiaran kembali error-error yang diasosiasikan dengan unit-unit keluaran. Hal ini karena nilai target untuk unit-unit tersembunyi tidak diberikan.


(34)

Metode ini menurunkan gradien untuk meminimkan penjumlahan error kuadrat keluaran jaringan. Nama lain dari propagasibalik adalah aturan delta yang digeneralisasi (generalized delta rule). (Puspitaningrum, 2006)

2.5.1 Arsitektur Propagasibalik

Di dalam jaringan propagasibalik, setiap unit yang berada di lapisan masukan terhubung dengan setiap unit yang ada di lapisan tersembunyi. Hal serupa berlaku pula pada lapisan tersembunyi. Setiap unit yang ada di lapisan tersembunyi terhubung dengan setiap unit yang ada di lapisan keluaran. (Puspitaningrum, 2006)

Jaringan saraf tiruan propagasibalik terdiri dari banyak lapisan (multilayer

neural network):

1. Lapisan masukan (1 buah). Lapisan masukan terdiri dari neuron-neuron

atau unit-unit masukan, mulai dari masukan 1 sampai unit masukan n.

2. Lapisan tersembunyi (minimal 1). Lapisan tersembunyi terdiri dari

unit-unit tersembunyi mulai dari unit-unit tersembunyi 1 sampai unit-unit tersembunyi p.

3. Lapisan keluaran (1 buah). Lapisan keluaran terdiri dari unit-unit keluaran

mulai dari unit keluaran 1 sampai unit keluaran m.

n,p,m masing-masing adalah bilangan integer sembarang menurut arsitektur jaringan saraf tiruan yang dirancang.


(35)

Gambar 2.7 Arsitektur Jaringan Saraf Tiruan Propagasibalik

Gambar 2.7 adalah arsitektur propagasibalik dengan n buah masukan (ditambah sebuah bias), sebuah lapisan tersembunyi yang terdiri dari p unit

(ditambah sebuah bias), serta m buah unit keluaran. Vij marupakan bobot garis

dari unit masukan xi ke unit lapisan tersembunyi zj (vj0 merupakan bobot garis

yang menghubungkan bias di unit masukan ke unit lapisan tersembunyi zj). wkj

merupakan bobot dari unit lapisan tersembunyi zj ke unit keluaran yj ke unit

keluaran yk (wk0 merupakan bobot dari bias di lapisan tersembunyi ke unit


(36)

2.5.2 Algoritma Propagasibalik

Seperti diperlihatkan pada Gambar 2.8, agar dapat digunakan untuk suatu aplikasi, jaringan saraf tiruan perlu ‘belajar’ terlebih dahulu. Caranya, pada jaringan dimasukkan sekumpulan contoh pelatihan yang disebut set pelatihan. Set pelatihan ini digambarkan dengan sebuah vektor feature yang disebut vektor masukan yang diasosiasikan dengan sebuah keluaran yang menjadi target pelatihannya. Pelatihan kemudian dilangsungkan dengan maksud membuat jaringan saraf tiruan beradaptasi terhadap karakterisik-karakteristik dari contoh-contoh pada set pelatihan dengan cara melakukan pengubahan peng-update-an bobot-bobot yang ada dalam jaringan.

Gambar 2.8 Alur Kerja Jaringan Propagasibalik

P E L A T I H A N J A R I N G A N

Tahap Pemropagasi-

Balikan error

Tahap umpan maju

Output Aktual

+

Output

Target

LAPISAN

OUTPUT

LAPISAN TERSEMBUNYI

LAPISAN

INPUT

Input


(37)

Cara kerja jaringan propagasibalik adalah sebagai berikut:

Mula-mula jaringan diinisialisasi dengan bobot yang diset dengan bilangan acak. Lalu contoh-contoh pelatihan dimasukkan ke dalam jaringan. Contoh pelatihan terdiri dari pasangan vektor masukan dan vektor keluaran target. Keluaran dari jaringan berupa sebuah vektor keluaran aktual. Selanjutnya vektor keluaran aktual jaringan dibandingkan dengan vektor keluaran target untuk mengetahui apakah keluaran jaringan sudah sesuai dengan harapan (keluaran aktual sudah sama dengan keluaran target). Error yang timbul akibat perbedaan antara keluaran aktual dengan keluaran target tersebut kemudian dihitung dan digunakan untuk meng-update bobot-bobot yang relevan dengan jalan mempropagasikan kembali

error. Setiap perubahan bobot yang terjadi diharapkan dapat mengurangi besar error. Epoch (siklus setiap pola pelatihan) seperti dilakukan pada semua set

pelatihan sampai unjuk kerja jaringan mencapai tingkat yang diinginkan atau sampai kondisi berhenti terpenuhi. Yang dimaksud kondisi berhenti di sini misalnya: pelatihan akan dihentikan setelah epoch mencapai 1000 kali, atau pelatihan akan dihentikan sampai sebuah nilai ambang yang ditetapkan terlampaui. Setelah proses pelatihan selesai, barulah diterapkan algoritma aplikasi. Biasanya sebelum digunakan untuk aplikasi yang sebenarnya, pengujian unjuk kerja jaringan dilakukan dengan cara memasukkan set pengujian (set tes) ke dalam jaringan. Karena bersifat untuk menguji, set pengujian hanya berupa masukan saja. Dari respon jaringan dapat dinilai kemampuan memorisasi dan generalisasi jaringan dalam menebak keluaran berdasarkan pada apa yang telah dipelajarinya selama ini.

Algoritma propagasibalik dapat dibagi ke dalam dua bagian:

1. Algoritma pelatihan

Algoritma pelatihan terdiri dari tiga tahap, yaitu: tahap propagasi maju, tahap propagasi mundur, dan tahap perubahan bobot.

2. Algoritma aplikasi

Algoritma aplikasi hanya menggunakan tahap umpan maju saja. (Puspitaningrum, 2006)


(38)

Algoritma pelatihan untuk jaringan dengan satu lapisan tersembunyi (dengan fungsi aktivasi sigmoid biner) adalah sebagai berikut:

Langkah 0: Inisialisasi semua bobot dengan bilangan acak kecil.

Langkah 1: Jika kondisi penghentian belum terpenuhi, lakukan langkah 2-9. Langkah 2: Untuk setiap pasangan data pelatihan, lakukan langkah 3-8.

Fase I: Propagasi maju

Langkah 3: Tiap unit masukan menerima sinyal dan meneruskannya ke unit

tersembunyi di atasnya.

Langkah 4: Hitung semua keluaran di unit tersembunyi zj (j=1,2,…,p).

= + = n i ji i j

j v xv

net z 1 0 _ (1) j net z j j e net z f z _ 1 1 ) _ ( + = = (2)

Langkah 5: Hitung semua keluaran jaringan di unit keluaran yk (k=1,2,…,m).

=

+

=

p j kj j k

k

v

z

w

net

y

1 0

_

(3) k net y k k e net y f y _ 1 1 ) _ ( + = = (4)

Fase II: Propagasi mundur

Langkah 6: Hitung faktor kesalahan δ unit keluaran berdasarkan kesalahan di setiap unit keluaran yk (k=1,2,…,m).

)

1

(

)

(

)

_

(

'

)

(

k k k k k k k

k

=

t

y

f

y

net

=

t

y

y

y

δ

(5)

δk merupakan unit kesalahan yang akan dipakai dalam perubahan

bobot lapisan di bawahnya (langkah7)

Hitung suku perubahan bobot wkj (yang akan dipakai nanti untuk

merubah bobot wkj) dengan laju percepatan α.

j k

kj

z

w

=

αδ

(k=1,2,…,m;j=0,1,…,p) (6)

Langkah 7: Hitung faktor kesalahan δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,…,p).


(39)

=

=

m

k

kj k

j

w

net

1

_

δ

δ

(7)

Faktor δ unit tersembunyi:

)

1

(

_

)

_

(

'

_

j j j j j

j

=

δ

net

f

z

net

=

δ

net

z

z

δ

(8)

Hitung suku perubahan bobot vij (yang akan dipakai nanti untuk

merubah bobot vij)

i j

ji

x

v

=

αδ

(j=1,2,…,p ; i=0,1,…,n) (9)

Fase III: Perubahan bobot

Langkah 8: Hitung semua perubahan bobot

Perubahan bobot garis yang menuju ke unit keluaran: kj

kj

kj

baru

w

lama

w

w

(

)

=

(

)

+

(k=1,2,…,m ; j=0,1,…,p) (10)

Perubahan bobot garis yang menuju ke unit tersembunyi: ji

ji

ji

baru

v

lama

v

v

(

)

=

(

)

+

(j=1,2,…,p ; i=0,1,…,n) (11)

Setelah pelatihan selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju (langkah 4 dan 5) saja yang dipakai untuk menentukan keluaran jaringan. Hasil pengaktif unit-unit pada lapisan keluaran merupakan keputusan dari jaringan saraf tiruan.

Biasanya pada perangkat lunak yang dibuat, hasil pengaktif unit sebagai keputusan jaringan saraf tiruan ditampilkan dalam skala kebenaran, dipilih nilai skala kebenaran terbesar sebagai keputusan akhir dari jaringan saraf tiruan.


(40)

2.5.3 Paramater Pelatihan

Parameter-parameter yang turut menentukan keberhasilan proses pelatihan pada algoritma propagasibalik:

1. Inisialisasi bobot

Bobot sebagai interkoneksi jaringan saraf tiruan yang akan dilatih biasanya diinisialisasi dengan nilai nyata kecil, bobot dapat diinisialisasi secara acak (random).

Banyak studi empiris membuktikan bahwa meneruskan pelatihan pada saat galat mencapai nilai yang kecil dan stabil atau datar akan menghasilkan nilai-nilai bobot yang tak diinginkan. Hal ini berpengaruh pada peningkatan galat dan kualitas mapping menurun.

Pada banyak penelitian menunjukkan bahwa konvergensi tidak akan dicapai bila bobot kurang bervariasi, juga jika acaknya terlalu kecil. Konvergensi hampir selalu tercapai untuk inisialisasi acak pada -0,5 sampai 0,5 atau -1 sampai 1.

2. Adaptasi bobot

Ada dua jenis adaptasi bobot pada pelatihan jaringan saraf tiruan, yaitu:

a. Adaptasi kumulatif (commulative weight adjustment)

Pada adaptasi kumulatif, bobot baru diadaptasi setelah semua bobot yang masuk dilatih.

b. Adaptasi biasa (incremental updating)

Pada adaptasi biasa, bobot diadaptasi pada setiap pola yang masuk.

3. Parameter laju pelatihan (η)

Parameter laju pelatihan (learning rate) sangat berpengaruh pada intensitas proses pelatihan, begitu pula terhadap efektivitas dan kecepatan mencapai konvergensi dari pelatihan.


(41)

Nilai optimum dari laju pelatihan tergantung masalah yang diselesaikan, prinsipnya dipilih sedemikian rupa sehingga tercapai konvergensi yang optimal dalam proses pelatihan.

Nilai laju pelatihan yang cukup kecil menjamin penurunan gradien terlaksana dengan baik, namun ini berakibat bertambahnya jumlah iterasi. Pada umumnya, besarnya nilai laju pelatihan tersebut dipilih mulai 0,001 sampai 1 selama proses pelatihan.

4. Momentum (α)

Disamping koefisien laju pelatihan, pada metoda ini ada koefisien lain yang tujuan penggunaannya untuk mempercepat konvergensi dari algoritma error backpropagation. Prinsip dari metoda ini adalah menambahkan sebagian dari perubahan bobot sebelumnya. Hal ini dapat dirumuskan dengan:

)

(

)

1

(

t

z

w

t

w

kj

+

=

k j

+

kj

αδ

µ

(2.10)

v

ji

(

t

+

1

)

=

αδ

j

x

i

+

µ

v

ji

(

t

)

(2.11)

dengan α adalah nilai konstanta momentum yang berupa bilangan positif

antara 0,5 sampai dengan 0,9. Penggunaan koefisien momentum ini disarankan apabila konvergensi berlangasung terlalu lama, dan juga untuk mencegah terjadinya optimum lokal (local optimum/minimum).

5. Jumlah lapisan tersembunyi yang digunakan

Satu buah lapisan tersembunyi dapat dikatakan cukup memadai untuk menyelesikan masalah sembarang fungsi pendekatan. Dengan menggunakan lebih dari satu buah lapisan tersembunyi, kadang-kadang suatu masalah lebih mudah untuk diselesaikan. Mengenai banyaknya jumlah lapisan tersembunyi yang dibutuhkan, tidak ada ketentuan khusus. Untuk itu, hanya dibutuhkan sedikit modifikasi terhadap algoritma propagasi. (Purnomo,2006) (Puspitaningrum, 2006)


(42)

2.5.4 Kelemahan Yang Sering Terjadi Pada PropagasiBalik

1. Pada Fase Pelatihan (Training)

Seringnya terjebak pada kondisi yang disebut sebagai kondisi optimum lokal (local minimal), sehingga sulit mencapi konvergen sesuai dengan galat yang diinginkan. Keadaan jaringan saraf tiruan tersebut sulit atau bahkan tidak dapat berkembang menjadi lebih “pintar” lagi, walaupun dilatih berulang-ulang. Hal ini biasanya diatasi dengan menggunakan koefisien momentum.

2. Pada Fase Pengujian (Testing)

Pada fase ini hal tak diinginkan yang sering terjadi adalah kondisi

overfitting/overtraining, yaitu suatu kondisi jaringan saraf tiruan

kehilangan sifat generalitasnya (lost of generalisation). Generalitas adalah kemampuan untuk memberikan jawaban yang benar, untuk suatu masukan yang berbeda namun sejenis dari data-data yang dilatihkan pada jaringan saraf tiruan tersebut. Ketidaksesuaian pada saat pengujian masukan terhadap keluaran yang diinginkan tersebut dapat terjadi karena kesalahan

sampling data atau adanya derau (noise) pada data pelatihan sehingga

target data pelatihan kurang handal.

Bila jaringan saraf tiruan kehilangan sifat tersebut, pada fase pengujian, salah satu ciri yang muncul adalah biasanya jaringan saraf tiruan hanya mengenali bagian akhir dari pasangan data yang dilatihkan pada fase pelatihan. Kondisi tersebut dapat diakibatkan oleh jumlah pelatihan yang berlebihan, sehingga dapat diatasi dengan memberhentikan pelatihan lebih dini. Penambahan bias pada lapisan keluaran ataupun pada masing-masing lapisan struktur jaringan saraf tiruan, juga merupakan salah satu cara untuk mengatasi hal tersebut. Keandalan untuk memperoleh struktur jaringan saraf tiruan sesuai dengan kapasitas yang diperlukan tersebut sangat erat sekali dengan jumlah unit sel pada lapisan tersembunyi, sekaligus jumlah bobotnya juga ikut menentukan. Sebaliknya


(43)

kondisi undertraining juga dapat terjadi, untuk hal ini biasanya terjadi oleh karena proses pelatihan belum sempurna.


(44)

BAB III

ANALISIS DAN PERANCANGAN

Bab ini menjelaskan proses sistem jaringan saraf tiruan metode propagasibalik untuk pengenalan tanda tangan dan analisis kebutuhan sistem yang akan dibangun serta perancangannya. Tindakan yang akan dilakukan pada tahap perancangan adalah mentransformasikan model analisis ke model perancangan.

3.1Analisis Sistem

Sistem yang dimaksud pada penelitian ini terbagi atas dua fase, yaitu fase pelatihan dan fase pengujian. Pada fase pelatihan dilakukan pelatihan jaringan saraf tiruan menggunakan data latihan. Jaringan saraf tiruan tidak dapat digunakan tanpa adanya fase pelatihan ini. Setelah fase pelatihan selesai, jaringan saraf tiruan akan siap untuk digunakan pada fase pengujian. Dalam sistem ini, jaringan saraf tiruan akan digunakan untuk melakukan pengenalan terhadap citra tanda tangan.

Suatu citra tanda tangan yang akan dikenali menggunakan jaringan saraf tiruan, haruslah melalui tahapan-tahapan tertentu terlebih dahulu sehingga dapat menjadi masukan yang baik bagi jaringan saraf tiruan. Masukan yang dapat diterima dengan baik oleh jaringan saraf tiruan adalah berupa kumpulan data numerik atau data biner. Dengan demikian, suatu citra tanda tangan perlu dikonversi menjadi kumpulan data numerik atau data biner.


(45)

3.1.1 Akuisisi Data (Pengumpulan Data)

Data atau sampel yang akan digunakan adalah tanda tangan yang dibubuhkan pada kertas putih menggunakan tinta warna hitam. Setelah dilakukan pengambilan data, kemudian dipindahkan dengan menggunakan sebuah scanner Canon dengan resolusi 300 dpi. Citra hasil scanning disimpan dengan format bitmap.

Jumlah data yang dikumpulkan adalah sebanyak 150 tanda tangan dari 10 orang, 15 tanda tangan dari tiap orang. Dari total data tersebut, dibagi penggunaannya untuk data pelatihan dan pengujian. Banyaknya data pelatihan adalah 100 tanda tangan, 10 tanda tangan dari tiap orang, sedangkan untuk pengujian digunakan data tanda tangan yang telah dilatih untuk menguji keakuratan kemampuan memorisasi sistem dan 50 tanda tangan lainnya, 5 tanda tangan dari tiap orang, yang bertujuan untuk menguji keakuratan kemampuan generalisasi sistem.

3.1.2 Prapengolahan

Sebelum memasuki proses jaringan saraf tiruan, citra hasil pemindaian harus diolah terlebih dahulu untuk dapat digunakan dalam fase pelatihan dan pengujian. Proses-proses pengolahan yang digunakan dimulai dengan pengubahan citra RGB menjadi citra grayscale, kemudian dilakukan thresolding untuk memisahkan objek tanda tangan dengan latar belakangnya. Citra yang sudah di-thresold akan diubah resolusi warnanya menjadi citra biner (binerisasi). Setelah itu, dilakukan pemotongan sesuai dengan posisi batas maksimum dan batas minimum objek tanda tangan, kemudian citra hasil pemotongan diubah ukurannya menjadi 200 x 300 piksel seperti pada Gambar 3.1.


(46)

Gambar 3.1 Proses Prapengolahan

3.1.3 Ekstraksi Ciri

Setiap data yang akan diamati dan dianalisa oleh jaringan saraf tiruan harus direpresentasikan secara baik ke dalam bentuk data numerik atau data biner. Untuk itu, diperlukan suatu cara yang dapat mengekstraksi ciri dari setiap data tadi secara konsisten. Data hasil ekstraksi haruslah benar-benar dapat mewakili karakteristik atau ciri-ciri dari data yang diamati, sehingga diharapkan dari sekumpulan data dengan target yang sama akan dihasilkan suatu generalisasi atau pencirian secara umum terhadap suatu target yang sejenis.

Pada tahap ini, citra dibagi-bagi menjadi 20 baris dan 30 kolom

(matriks 20 x 30). Setiap kotak dilakukan scanning piksel dan seluruh piksel dalam kotak dijumlahkan. Kotak yang jumlah pikselnya kurang dari nilai yang ditentukan diberi nilai 0, jika tidak diberi nilai 1, sehingga dihasilkan sejumlah 600 data biner yang diharapkan dapat mewakili ciri dari data yang diamati seperti pada Gambar 3.2. Data biner tersebut akan menjadi data masukan (input) pada jaringan saraf tiruan.

citra hasil scanning citra hasil grayscaling citra hasil thresolding

citra hasil binerisasi citra hasil pemotongan

citra hasil pembesaran menjadi 200x300 piksel


(47)

Gambar 3.2 Proses Ekstraksi Ciri

3.1.4 Fase Pelatihan

Pelatihan dilakukan secara terbimbing (supervised learning), artinya untuk melatih jaringan saraf tiruan digunakan pasangan data (masukan – target keluaran). Tujuan pelatihan jaringan ini adalah untuk mendapatkan keseimbangan antara kemampuan tanggapan yang benar terhadap masukan yang dipakai untuk pelatihan jaringan (memorisasi) dan kemampuan memberikan tanggapan yang benar untuk masukan yang sejenis namun tidak identik dengan yang dipakai pada pelatihan (generalisasi). 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 0 0

1 1 1 1 1 1 1 1 1

1 1 1 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1

1 1

1 0 0 0 0

1 1 0 0 0 0 0 0 0

1 1 1 1

0 0 0 0 1

0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1

1 1 1

1 1 1

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0

1 1 1

1 1 1 1 0 0 0 0

1 1 1 1

1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 1

1 1 1 1

1 1 1 1 1 0 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0

1 1 1 1 1 1 1 1

0 0 0 0 0

0 0

1 1 1

1 1 1 1 0 0 0 0 0 0 0 1

0 0 0 0 0

0 0 0 0 0 0

0 0 0 0 1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1

0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 0

1 1

1 1 1

0 0 0 0 0 1 0 0 0 0 0 0 0 0

1 1 1 1 1 1

0 0 0 0 1 1

1 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0

0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1

1

0 0 0 0 0 0 0

0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0

0 0

1 1

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0

1 1 1 1 1

0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0

0 0 1 1 1 1

1

1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1

1 1 0 0

0 1 0 0 0 0

0 0

0

1 1 1 1 1

1 1 1 1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0

1 1 1 1 0 1 1 1 1 1

0 0 0

0 1 0

1

1 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 0 1 0 0 0 0

0 0 0 1 0 1 1 1

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

B A R I S


(48)

Pada penelitian ini, pelatihan jaringan saraf tiruan menggunakan algoritma propagasibalik. Pelatihan jaringan propagasibalik melibatkan tiga fase. Fase pertama adalah fase umpan-maju yang dipakai untuk mencari nilai lapisan tersembunyi dan nilai lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Jika hasil keluaran (output jaringan) tidak sesuai dengan target, maka dilakukan propagasibalik untuk mencari nilai

error yang ada di lapisan keluaran dan lapisan tersembunyi. Fase ketiga adalah

memperbaharui nilai bobot yang ada di lapisan tersembunyi dan lapisan masukan untuk menurunkan error yang terjadi. Setelah itu dilakukan lagi umpan-maju dan propagasibalik jika nilai keluaran tidak sesuai dengan nilai target. Proses ini dilakukan secara berulang sampai nilai keluaran sesuai dengan nilai target atau sampai pada maksimum iterasi (epoch).

3.1.5 Fase Pengujian

Fase pengujian dilakukan melalui dua tahap, yaitu pengujian terhadap data yang dilatihkan dan pengujian terhadap data baru yang belum pernah dilatihkan. Ketika jaringan diuji dengan menggunakan data pelatihan, yang diuji adalah kemampuan memorisasi jaringan (ingatan jaringan), sebab kasus-kasus yang dimasukkan telah dipelajari sebelumnya. Sebaliknya, pada saat jaringan diuji dengan menggunakan data baru, yang diuji adalah kemampuan generalisasi jaringan. Dari pengalaman selama pelatihan diharapkan jaringan akan mampu menggeneralisasikan kasus yang dihadapi dan kemudian menarik kesimpulan yang cenderung terhadap keluaran tertentu. Fase pengujian hanya menggunakan tahap umpan maju yang dipakai untuk mencari nilai keluaran lapisan tersembunyi dan lapisan keluaran.

Hasil dari proses pengujian ini juga akan berbentuk matriks dengan ukuran yang sama dengan matriks target yang pernah dilatihkan. Pada sistem jaringan saraf tiruan ini, hasil pengujian telah dipolakan pada suatu kondisi tertentu. Jika hasil keluaran kurang dari 0,5 maka dianggap memiliki keluaran 0 dan jika hasil keluaran lebih besar atau sama dengan 0,5 dianggap memiliki output 1.


(49)

3.2Pemodelan Sistem

Perancangan memiliki tujuan untuk menentukan kondisi akhir yang diharapkan dari perangkat lunak yang akan dibangun dan merumuskan cara yang harus dilakukan untuk memperoleh hasil tersebut.

Pada perangkat lunak pengenalan tanda tangan dengan menggunakan jaringan saraf tiruan metode propagasibalik, tahap perancangan yang dilakukan mencakup perancangan arsitektur jaringan, perancangan data flow diagram, kamus data, perancangan antarmuka dan perancangan prosedural.

3.2.1 Perancangan Arsitektur Jaringan

Jaringan yang akan dirancang dalam penelitian ini adalah jaringan propagasibalik (backpropagation). Arsitektur jaringan yang akan dibangun memiliki 1 lapisan tersembunyi. Masukan terdiri dari 600 neuron sesuai dengan jumlah data biner (matriks 20 x 30) yang dihasilkan pada proses ekstraksi ciri tanda tangan, lapisan tersembunyi dengan 100 neuron, dan 4 neuron untuk keluaran sebagai target,

dimana: vektor keluaran target 1 adalah 0 0 0 1, vektor keluaran target 2 adalah 0 0 1 0, vektor keluaran target 3 adalah 0 0 1 1, vektor keluaran target 4 adalah 0 1 0 0, vektor keluaran target 5 adalah 0 1 0 1, vektor keluaran target 6 adalah 0 1 1 0, vektor keluaran target 7 adalah 0 1 1 1, vektor keluaran target 8 adalah 1 0 0 0, vektor keluaran target 9 adalah 1 0 0 1, vektor keluaran target 10 adalah 1 0 1 0.

Fungsi sigmoid biner digunakan sebagai fungsi aktivasi pada semua lapisan jaringan saraf tiruan.


(50)

Y1

Z1

1 . . . Zj

1 X1 . . . Xi . . . X600 Lapisan masukan

d 600 i l Lapisan tersembunyi dengan 100 unit sel

. . .

Lapisan keluaran d 4 i l

Z100

Y2 Y3 Y4

Arsitektur jaringan saraf tiruan yang digunakan pada penelitian ini dapat dilihat pada Gambar 3.3.

Gambar 3.3 Arsitektur Jaringan Saraf Tiruan untuk Pengenalan Tanda Tangan

3.2.2 Data Flow Diagram (DFD) dan Spesifikasi Proses

DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan darimana asal data dan kemana tujuan data yang keluar dari sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. DFD menunjukan hubungan antar data pada sistem dan proses pada sistem.

DFD rinci dari perancangan sistem jaringan saraf tiruan metode propagasibalik yang dirancang terdiri dari tiga level, yaitu level 0 yang dapat dilihat pada Gambar 3.4, level 1 yang dapat dilihat pada Gambar 3.5, level 2 yang dapat dilihat pada Gambar 3.6 dan Gambar 3.7.


(51)

Gambar 3.4 DFD Level 0

DFD level 0 di atas menggambarkan sistem secara garis besar yang memperlihatkan masukan, proses, dan keluaran dari sistem yang akan dirancang.

Proses yang terjadi pada diagram konteks atau DFD Level 0 di atas dapat dijelaskan dengan menggunakan spesifikasi proses pada Tabel 3.1 berikut:

Tabel 3.1 Spesifikasi Proses Diagram Konteks

Nama Input Keterangan Proses Output

Proses 0 data_lthn, laju_bljr,

bts_tlrns_error, epoch, bobot_awal, data_uji, target

Pengenalan pola tanda tangan dengan jaringan saraf tiruan

nilai_keluaran

data_lthn, laju_bljr, bts_tlrns_error, epoch, bobot_awal, data_uji, target,

order_perintah

nilai_keluaran

P.0 Sistem Jaringan Saraf

Tiruan Propagasibalik Pengguna


(52)

Pengembangan proses yang terjadi pada DFD level 0 di atas dapat dijabarkan pada DFD level 1 berikut:

Gambar 3.5 DFD Level 1

Pada gambar di atas dapat dilihat bahwa terdapat 2 pilihan proses yang dapat dilakukan pada sistem jaringan saraf tiruan ini yaitu:

1. Proses Pelatihan

Proses pelatihan merupakan proses yang dilakukan untuk melatih jaringan saraf tiruan, yaitu dengan cara melatih jaringan saraf tiruan dengan data pelatihan sampai jaringan saraf tiruan berhasil mengenali data pelatihan tersebut.

2. Proses Pengujian

Proses pengujian merupakan proses yang dilakukan untuk menguji kemampuan memorisasi dan generalisasi jaringan saraf tiruan dalam mengenali tanda tangan.

bobot_akhir

nilai_keluaran nilai_keluaran

data_uji

data_lthn, target, laju_bljr, bts_tlrns_error, epoch, bobot_awal

Pengguna

P.2 Proses Pengujian

P.1 Proses Pelatihan

bobot_akhir bobot_akhir


(53)

Pengujian dilakukan melalui dua tahap, yaitu pengujian terhadap data yang telah dilatihkan dan pengujian terhadap data baru yang belum pernah dilatihkan.

Spesifikasi proses dari DFD level 1 pada Gambar 3.3 dijelaskan pada tabel berikut:

Tabel 3.2 Spesifikasi Proses Diagram Level 1

No/ Nama Proses

Input Keterangan Proses Output

P.1/ Proses Pelatihan

data_lthn, target, laju_bljr,

bts_tlrns_error, epoch, bobot_awal

Proses pelatihan jaringan

nilai_keluaran, bobot_akhir

P.2/ Proses Pengujian

data_uji, bobot_akhir Proses pengujian jaringan

nilai_keluaran

Proses 1 pada Gambar 3.6 merupakan proses pelatihan jaringan saraf tiruan. Untuk lebih jelasnya, proses pelatihan jaringan saraf tiruan dapat dilihat pada gambar DFD level 2 proses pelatihan berikut ini:

Gambar 3.6 DFD Level 2 Proses Pelatihan

nilai_keluaran

bobot_akhir

citra_biner citra_rgb Pengguna

P.1.1

Browsing File

Citra Tanda

P.1.2 Prapengolahan

Citra P.1.3

Ekstraksi Ciri P.1.4

Pelatihan JST

data biner target, laju_bljr, bts_tlrns_error,

file_data


(54)

Spesifikasi DFD level 2 proses pelatihan ditunjukkan pada tabel berikut:

Tabel 3.3 Spesifikasi Proses DFD Level 2 Proses Pelatihan

No/ Nama Proses

Input Keterangan Proses Output

P.1.1/ Proses Browsing File Citra Tanda Tangan

file_data Melakukan browsing

file citra tanda tangan yang akan dilatih

citra_rgb

P.1.2/ Proses Prapengolahan Citra

citra_rgb Melakukan

pengolahan citra sehingga diperoleh citra biner

citra_biner

P.1.3/ Proses Ekstraksi Ciri

citra_biner Mengubah tanda

tangan yang terdapat dalam file gambar menjadi susunan kode angka

data_biner

P.1.4/ Proses Pelatihan JST

target, laju_bljr, bts_tlrns_error, epoch,

bobot_awal data_biner

Melatih jaringan saraf tiruan

nilai_keluaran, bobot akhir


(55)

Untuk menguji jaringan saraf tiruan, maka dilakukan proses pengujian. Proses pengujian dapat dilihat pada gambar DFD level 2 proses pengujian berikut:

Gambar 3.7 DFD Level 2 Proses Pengujian

Spesifikasi DFD level 2 proses pengujian ditujukkan pada tabel berikut:

Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian

No/ Nama Proses

Input Keterangan Proses Output

P.2.1/ Proses Browsing File Citra Tanda Tangan

file_data Melakukan browsing file

citra tanda tangan yang akan diuji

citra_rgb

P.2.2/ Proses Prapengolahan Citra

citra_rgb Melakukan pengolahan

citra sehingga diperoleh citra biner

citra_biner

citra_rgb Pengguna

P.2.1 Browsing File

Citra Tanda Tangan

file_data

P.2.2 Prapengolahan

citra data_biner

nilai_keluaran

citra_biner P.2.3

Ekstraksi Ciri P.2.4

Pengujian JST


(56)

Tabel 3.4 Spesifikasi Proses DFD Level 2 Proses Pengujian (lanjutan)

No/ Nama Proses

Input Keterangan Proses Output

P.2.3/ Proses Ekstraksi Ciri

citra_biner Mengubah tanda tangan

yang terdapat dalam file gambar menjadi susunan kode angka

data_biner

P.2.4/ Proses Pengujian JST

bobot_akhir, data_biner

Menguji jaringan saraf tiruan

nilai_keluaran

3.2.3 Kamus Data

Kamus data merupakan suatu data yang disusun untuk memudahkan selama proses analisis dan desain. Selain suatu dokumen, kamus data mengumpulkan dan mengkoordinasi istilah-istilah data yang terdapat pada diagram alir. Penganalisis sistem harus hati-hati dalam mengkatalogkan istilah-istilah yang berbeda-beda yang menunjuk pada item yang sama. Kehati-hatian ini membantu dalam menghindari duplikasi, memungkinkan adanya komunikasi yang baik antara bagian-bagian yang saling berbagi basis data, dan membuat upaya pemeliharaan lebih bermanfaat. Kamus data juga bertindak sebagai standar tetap untuk elemen-elemen data.

Masukan-masukan kamus data bisa dibuat setelah diagram aliran data dilengkapi atau bisa juga disusun saat diagram aliran data sedang dikembangkan. Penganalisis sistem bisa saja membuat suatu diagram aliran data level 0 dan sekaligus membuat masukan-masukan data awal. Selanjutnya, sewaktu penganalisis sistem mengembangkan diagram level data menjadi diagram anak, penganalisis juga bisa memodifikasi masukan-masukan kamus data yang baru sesuai dengan aliran data pada diagram alir anak.


(57)

Berikut ini merupakan kamus data yang berisikan data yang digunakan pada diagram alir data pada proses pelatihan dan pengujian:

3.2.3.1Kamus Data Proses Pelatihan

Kamus data untuk proses pelatihan adalah sebagai berikut:

Tabel 3.5 Kamus Data Proses Pelatihan

Nama Tipe Data Deskripsi

file_data integer File citra bitmap hasil scanning

yang tersimpan di komputer

citra_rgb integer File yang akan mengalami proses

pengolahan citra

target boolean Data yang menjadi target pelatihan

citra_biner boolean File yang akan diekstraksi cirinya

data_biner real Data masukan untuk proses

pelatihan

laju_lthn real Laju pelatihan yang akan digunakan

bts_tlrns_error real Batas toleransi error yang akan

digunakan

epoch real Maksimum iterasi yang akan

digunakan

bobot_awal real Bobot awal yang akan digunakan

bobot_akhir real Bobot akhir yang dihasilkan pada


(58)

3.2.3.2Kamus Data Proses Pengujian

Kamus data untuk proses pengujian adalah sebagai berikut:

Tabel 3.6 Kamus Data Proses Pengujian

Nama Tipe Data Deskripsi

file_data integer File citra bitmap hasil scanning yang tersimpan di

komputer

citra_rgb integer File yang akan mengalami proses pengolahan citra

citra_biner boolean File yang akan diekstraksi cirinya

data_biner boolean Data masukan untuk proses pengujian

nilai keluaran real Nilai akhir dari proses pengujian

3.2.4 Perancangan Antarmuka

Perancangan antarmuka menguraikan bagaimana komunikasi internal perangkat lunak, komunikasi terhadap sistem yang digunakan dan komunikasi terhadap pengguna. Tujuan utama dari perancangan antarmuka pengguna adalah untuk menciptakan suatu komunikasi yang efektif antara manusia dan komputer.

Form pelatihan dan pengenalan tanda tangan memuat 7 buah tombol, yaitu tombol pelatihan, tombol simpan bobot & bias, tombol uji memorisasi, tombol uji generalisasi, tombol buka data, tombol pengenalan, dan tombol keluar. Tombol pelatihan digunakan untuk pelatihan, tombol simpan bobot & bias digunakan untuk menyimapn bobot akhir hasil pelatihan, tombol uji memorisasi digunakan untuk menguji kemampuan memorisasi jaringan, tombol uji generalisasi digunakan untuk menguji kemampuan generalisasi jaringan, tombol buka data digunakan untuk mengambil data tanda tangan yang akan dikenali dari tempat penyimpanan, tombol pengenalan digunakan untuk proses pengenalan tanda tangan, dan tombol keluar digunakan untuk keluar dari aplikasi.


(59)

Gambar 3.8 Antarmuka Aplikasi Jaringan Saraf Tiruan

PROGRAM JARINGAN SARAF TIRUAN PROPAGASIBALIK UNTUK PENGENALAN TANDA TANGAN

PELATIHAN

Node Layar Tersembunyi Laju Pembelajaran Fungsi Aktivasi Batas Toleransi Error

Maksimum Iterasi PELATIHAN SIMPAN BOBOT & BIAS

Gambar:

Ukuran Gambar: x PENGENALAN

BUKA DATA

PENGENALAN

KELUAR PENGUJIAN

UJI MEMORISASI UJI GENERALISASI


(60)

3.2.5 Perancangan Prosedural

Tahapan selanjutnya dalam perancangan perangkat lunak adalah tahapan perancangan prosedural atau detail algoritma. Hal ini dilakukan untuk mempermudah dalam pengkodean yang akan dilakukan.

Algoritma dan Flowchart Proses Pelatihan

Berikut ini algoritma proses pelatihan, yaitu:

1. Mulai.

2. Inisialisasi bobot awal dengan bilangan acak kecil, bias,

dan parameter-parameter.

3. Tentukan target.

4. Masukkan data pelatihan.

5. Hitung semua keluaran di unit tersembunyi zj.

6. Hitung semua keluaran di unit keluaran yk.

7. Periksa apakah kuadrat error > 0,05, jika ya maka lakukan

langkah ke-8, jika tidak maka lakukan langkah ke-12.

8. Periksa apakah epoch > 1000, jika tidak maka lakukan

langkah ke-9, jika ya maka lakukan langkah ke-13.

9. Hitung faktor δ unit keluaran dan suku perubahan bobot wkj

10. Hitung faktor δ unit tersembunyi dan suku perubahan bobot vji

11. Update bobot.

12. Simpan bobot akhir.

13. Selesai.

Gambaran aliran proses kerja dari algoritma pelatihan di atas dapat ditunjukkan oleh Gambar 3.9 pada flowchart berikut:


(61)

Gambar 3.9 Flowchart Pelatihan

Ya Mulai

Inisialisasi

bobot (secara random), bias, dan parameter-parameter

Tidak Error > 0,05

Tidak

Ya

Hitung semua keluaran di unit tersembunyi zj

Epoch > 1000

Simpan bobot akhir (Basisdata)

Selesai Update

bobot

Hitung semua keluaran di unit keluaran yk

Hitung faktor δ unit keluaran

dan suku perubahan bobot wkj

Hitung faktor δ unit

tersembunyi dan suku perubahan bobot vji

Data Pelatihan Tentukan target


(62)

Algoritma dan Flowchart Proses Pengujian

Berikut ini algoritma proses pengujian, yaitu:

1. Mulai.

2. Gunakan bobot akhir pelatihan.

3. Masukkan data pengujian.

4. Hitung semua keluaran di unit tersembunyi zj.

5. Hitung semua keluaran di unit keluaran yk.

6. Menentukan keputusan, benar sesuai target atau tidak.

7. Selesai.

Gambaran aliran proses kerja dari algoritma pengujian di atas dapat ditunjukkan oleh Gambar 3.10 pada flowchart berikut:

Gambar 3.10 Flowchart Pengujian

Selesai

Gunakan bobot akhir (Hasil pelatihan)

Mulai

Data Uji

Hitung semua keluaran di unit tersembunyi zj

Hitung semua keluaran di unit keluaran yk

Keputusan benar sesuai target atau tidak


(63)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Pada bab ini akan dilakukan implementasi dan pengujian perangkat lunak. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Matlab 7.0 yang telah menyediakan fungsi-fungsi di dalamnya (toolbox Neural Network). Pengujian perangkat lunak untuk memrepresentasikan review akhir dari analisis, perancangan dan implementasi.

4.1Lingkungan Implementasi

Lingkungan implementasi merupakan lingkungan perangkat keras dan perangkat lunak yang digunakan untuk membangun dan mengoperasikan perangkat lunak.

Spesifikasi perangkat keras yang digunakan:

1. CPU Intel Core 2 Duo T5600 1,83 Ghz

2. RAM 1 Gb

3. Harddisk 120 Gb

4. Kartu VGA Intel Graphics Media Accelerator (GMA) 950, up to 224 Mb

5. Monitor 14.1’’

Spesifikasi perangkat lunak yang digunakan adalah:

1. Windows XP Professional Service pack 2

2. Software Matlab 7.0


(1)

disp(['Persentase Kebenaran Generalisasi =>' num2str(persen) '%']);

% FUNGSI PRAPENGOLAHAN

function img_ekstraksi = img_preprocess(S) Igray = rgb2gray(S);

Ibw = im2bw(Igray,graythresh(Igray)); bw2 = edu_imgcrop(Ibw);

img_ekstraksi = img_ekstrak(bw2);

% FUNGSI MEMOTONG CITRA

function bw2 = edu_imgcrop(Ibw) [y2temp x2temp] = size(Ibw); x1=1;

y1=1; x2=x2temp; y2=y2temp;

% Menentukan batas kiri cntB=1;

while (sum(Ibw(:,cntB))==y2temp) x1=x1+1;

cntB=cntB+1; end

% Menentukan batas kanan cntB=1;

while (sum(Ibw(cntB,:))==x2temp) y1=y1+1;

cntB=cntB+1; end

% Menentukan batas atas cntB=x2temp;

while (sum(Ibw(:,cntB))==y2temp) x2=x2-1;

cntB=cntB-1; end

% Menentukan batas bawah cntB=y2temp;

while (sum(Ibw(cntB,:))==x2temp) y2=y2-1;

cntB=cntB-1; end

% Memotong citra sesuai batas


(2)

% FUNGSI MENGUBAH UKURAN CITRA BINER MENJADI 200X300 DAN % MENGUBAHNYA MENJADI MATRIKS 20X30 (EKSTRAKSI CIRI) function lett = img_ekstrak(bw2)

img_resize=imresize(bw2,[200,300]); for cnt=1:20

for cnt2=1:30

Atemp=sum(img_resize((cnt*10-9:cnt*10),(cnt2*10-9:cnt2*10)));

if Atemp < 10 Atemp = 1; else

Atemp = 0; end

lett((cnt-1)*30+cnt2)=sum(Atemp); end


(3)

LAMPIRAN B: HASIL SCANNING TANDA TANGAN

1.

Tanda Tangan yang Dilatih

NAMA

TANDA TANGAN

S

A

R

I

1

2

3

4

5

6

7

8

9

10

S

E

L

L

I

1

2

3

4

5

6

7

8

9

10

U

T

R

I

1

2

3

4

5

6

7

8

9

10

E

W

I

D

1

2

3

4

5


(4)

NAMA

TANDA TANGAN

B

E

N

N

I

1

2

3

4

5

6

7

8

9

10

D

E

S

I

1

2

3

4

5

6

7

8

9

10

A

N

D

R

I

A

N

Y

1

2

3

4

5

6

7

8

9

10

A

R

N

E

N

1

2

3

4

5

6

7

8

9

10

D

E

D

I

1

2

3

4

5


(5)

NAMA

TANDA TANGAN

E

L

L

E

N

1

2

3

4

5

6

7

8

9

10

2.

Tanda Tangan yang Diuji

NAMA

TANDA TANGAN

SARI

1

2

3

4

5

SELLI

1

2

3

4

5

UTRI

1

2

3

4

5

EWID

1

2

3

4

5

BENNI


(6)

NAMA

TANDA TANGAN

DESI

1

2

3

4

5

ANDRIANY

1

2

3

4

5

ARNEN

1

2

3

4

5

DEDI

1

2

3

4

5

ELLEN