Pengenalan Huruf dan Angka pada Citra Digital Menggunakan Jaringan Syaraf Tiruan dengan Algoritma Hopfiled sebagai Metode Pembelajaran

(1)

PENGENALAN HURUF DAN ANGKA PADA CITRA

DIGITAL MENGGUNAKAN JARINGAN SYARAF

TIRUAN DENGAN ALGORITMA HOPFIELD SEBAGAI

METODE PEMBELAJARAN

TUGAS AKHIR

Disusun untuk memenuhi syarat kelulusan

Pada Program Studi Sistem Komputer di Jurusan Teknik Komputer

Disusun Oleh :

Andriansyah Zakaria

10203071

Pembimbing : Wendi Zarman, M.Si. Asep Solih Awalluddin, M.Si.

JURUSAN TEKNIK KOMPUTER

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA


(2)

KATA PENGANTAR

Assalammu’alaikum Wr. Wb

Puji Syukur penulis panjatkan ke hadirat Allah SWT yang telah melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan tugas akhir yang berjudul : “PENGENALAN HURUF DAN ANGKA PADA CITRA DIGITAL MENGGUNAKAN JARINGAN SYARAF TIRUAN DENGAN ALGORITMA HOPFIELD SEBAGAI METODE PEMBELAJARAN”. Tugas akhir ini disusun untuk memenuhi salah satu syarat kelulusan dalam menempuh pendidikan program Strata Satu (S1) pada Jurusan Teknik Komputer program studi Ilmu Komputer Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Penulis menyadari bahwa tugas akhir ini masih jauh dari kesempurnaan, mengingat keterbatasan pengetahuan, keilmuan, pengalaman serta referensi yang penulis miliki. Oleh karena itu, penulis mengharapkan kritik dan saran yang sifatnya membangun sehingga dapat menyempurnakan tugas akhir ini dimasa-masa yang akan datang.

Dalam penulisan tugas akhir ini tidak lepas dari bantuan berbagai pihak, sehingga pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih kepada :

1. Kedua orang tua, ibu dan ayah tercinta yang telah banyak berkorban dalam membesarkan penulis, dan tak henti-hentinya memberikan perhatian, nasehat, serta motivasi selama studi. Semoga Allah SWT memberikan kemuliaan kepada keduanya baik di dunia maupun di akhirat kelak, amin.

2. Bapak Wendi Zarman, M.Si., selaku Ketua Jurusan Teknik Komputer, Universitas Komputer Indonesia, Bandung; sekaligus Dosen Pembimbing I dan juga Dosen Wali atas bimbingan, waktu, kesabaran, motivasi dan arahan selama menempuh tugas akhir ini.

3. Bapak Asep Solih Awalludin, M.Si., selaku Dosen Pembimbing II atas bimbingan, waktu, kesabaran, motivasi dan arahan selama menempuh tugas akhir ini.


(3)

4. Seluruh dosen Jurusan Teknik Komputer Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia yang telah mendedikasikan diriya bagi almamater, mengajarkan ilmu. Semoga Allah SWT membalasnya dengan pahala yang berlipat ganda.

5. Sekretariat jurusan Teknik Komputer, atas kelancaran administrasi dan keramahtamahan yang diberikan khususnya kepada penulis.

6. Seluruh civitas akademik Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

7. Seluruh karyawan dan karyawati di lingkungan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

8. Saudara dan keluarga tercinta yang senantiasa membantu baik secara moril maupun materil sehingga penulis berhasil penyelesaikan tugas akhir.

9. Teman-teman angkatan 2003 dari kelas 03 TK 1, 03 TK 2, dan 03 TK 3.

10.Semua pihak yang telah banyak membantu dan tidak dapat penulis sebutkan satu persatu, terima kasih banyak atas bantuannya.

Akhir kata, semoga semua kebaikan yang telah diberikan oleh semua pihak kepada penulis, mendapatkan balasan yang setimpal dari Allah SWT, dan berharap semoga tugas akhir ini dapat bermanfaat, amin.

Wassalamu’alaikum Wr.Wb

Bandung, Agustus 2009


(4)

DAFTAR ISI

LEMBAR PENGESAHAN

KATA PENGANTAR... i

ABSTRAK... iii

ABSTRACT... iv

DAFTAR ISI... v

DAFTAR GAMBAR... viii

DAFTAR TABEL... x

DAFTAR LAMPIRAN... xi

BAB I PENDAHULUAN... 1

1.1Latar Belakang Masalah ... 1

1.2Maksud Dan Tujuan ... 2

1.3Batasan Masalah ... 2

1.4Metodologi Penelitian ... 3

1.5Sistematik Penulisan ... 3

BAB II LANDASAN TEORI... 4

2.1 Jaringan Saraf Biologis Manusia ... 4

2.2 Paradigma Jaringan Saraf Tiruan ... 5

2.3 Komponen Jaringan Saraf Tiruan ... 6

2.4 Arsitektur Jaringan Saraf Tiruan... 7

2.4.1Jaringan Saraf Tiruan Feedforward Single Layer... 7

2.4.2Jaringan Saraf Tiruan Feedforward Multilayer... 8

2.4.3Jaringan Saraf Tiruan Berulang... 8

2.5 Pembelajaran Jaringan Saraf Tiruan ... 9

2.5.1Pembelajaran Terawasi (Supervised Learning)... 10

2.5.1.1Hebb Rule... 10


(5)

2.5.2Pembelajaran Tak Terawasi (Unsupervised Learning)... 12

2.5.2.1Metoda Hopfield... 12

2.5.2.1.1Algoritma Pembelajaran JST Hopfield... 13

2.5.2.1.2Fungsi Energi Hopfield... 15

2.6 Fungsi Aktivasi ... 17

2.6.1Fungsi Undak Biner (Hard Limit)... 17

2.6.2Fungsi Bipolar (Threshold Function)... 18

2.7 Pengenalan Pola ... 19

2.8 Citra Digital ... 20

2.9 Pemrosesan Citra (Image Processing) ... 21

2.9.1Representasi Citra Digital ... 22

2.9.2Representasi Warna (Color Representation) ... 23

2.9.2.1Representasi Warna RGB ... 23

2.9.2.2Representasi Grayscale... 23

2.9.3Thresholding... 23

2.9.4Segmentasi Citra... 24

BAB III PERANCANGAN SISTEM... 26

3.1 Alur Proses Sistem ... 26

3.2 Proses Pengambilan Gambar ... 28

3.3 Modul Image Preprocessing... 29

3.3.1Proses Grayscaling dan Thresholding... 30

3.3.2Proses Segmentasi (Segmentation)... 33

3.3.3Normalisasi Karakter ... 36

3.3.4Ekstraksi Ciri / Encode Input... 37

3.4 Modul Pelatihan (Training Process)... 38

3.5 Modul Pengenalan (Recognition Process)... 41

3.6 Desain Neural Network... 43


(6)

BAB IV PENGUJIAN DAN ANALISIS SISTEM... 48

4.1 Implementasi... 48

4.1.1Modul Menu... 48

4.1.2Modul Pelatihan (Training)... 49

4.1.3Modul Pengenalan (Recognition)... 50

4.1.4Modul Parameter Untuk Proses Pelatihan (Training)... 50

4.1.5Modul Parameter Untuk Proses Pengenalan ... 50

4.1.6Spesifikasi Perangkat Lunak Pada Tahap Implementasi... 51

4.2 Kriteria Pengujian Dan Analisis Pengujian ... 51

4.3 Pengujian Dan Analisis Proses ... 52

4.3.1Pengujian Dan Analisis Proses Pelatihan (Training)... 52

4.3.2Pengujian Dan Analisis Sistem Character Recognition... 54

BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan ... 68

5.2 Saran ... 68

DAFTAR PUSTAKA... 69


(7)

HALAMAN PENGESAHAN

PENGENALAN HURUF DAN ANGKA PADA CITRA DIGITAL

MENGGUNAKAN JARINGAN SYARAF TIRUAN DENGAN

ALGORITMA HOPFIELD SEBAGAI METODE PEMBELAJARAN

Disusun untuk memenuhi syarat kelulusan

Pada Program Studi Sistem Komputer Strata Satu di Jurusan Teknik Komputer

Disusun Oleh : Andriansyah Zakaria

10203071

Bandung, Agustus 2009

Menyetujui,

Pembimbing I Pembimbing II

Wendi Zarman, M.Si. Asep Solih Awalludin, M.Si. NIP.4127.70.05.010 NIP.4127.70.05.006

Mengetahui,

Ketua Jurusan Teknik Komputer

Wendi Zarman, M.Si. NIP.4127.70.05.010


(8)

ABSTRAK

Perkembangan keanekaragaman sumberdaya informasi berbasis elektronik saat ini

penting dalam pemenuhan kebutuhan masyarakat akan informasi. Berbagai sumber

informasi seperti buku belum semuanya tersedia dalam edisi elektronik, maka diperlukan

proses

entry

data dari

hardcopy

ke dalam

softcopy

jika kita ingin melakukan pengolahan

data lebih lanjut dengan komputer. Untuk itu akan dikembangkan suatu sistem

pengenalan karakter dari suatu kata dalam paragraf secara otomatis yang dilakukan pada

citra digital berupa

image

dari hasil

print screen

dokumen.

Tujuan dari penelitian ini adalah membuat perangkat lunak yang dapat melakukan

pengenalan karakter dari suatu kata dalam paragraf pada citra dokumen dengan

menggunakan metode jaringan syaraf tiruan. Arsitektur jaringan syaraf tiruan yang

digunakan adalah

single layer neural network,

dengan algoritma pembelajaran

Hopfield.

Untuk membantu pengenalan karakter, dilakukan proses segmentasi gambar metode

pemetaan.

Hasil pengujian menunjukan bahwa untuk pengenalan tiap karakter yang sejenis dengan

yang dilatihkan akurasinya sebesar 96,77%, dan untuk pengenalan tiap karakter yang

berbeda dengan yang dilatihkan akurasinya sebesar 89,52%. Pengenalan karakter dari

suatu kata dalam paragraf didapat akurasi sebesar 99,19% untuk karakter yang sejenis

dengan yang dilatihkan, dan 89,49% untuk karakter yang berbeda dengan yang

dilatihkan. Akurasi untuk pengenalan karakter berwarna sangat bergantung pada

perubahan parameter

threshold.

Kata kunci

: Jaringan Syaraf Tiruan,

Hopfield,

Citra Digital, Pengenalan Huruf Cetak,

Segmentasi Karakter.


(9)

ABSTRACT

The development of diversity based electronic information at this time important in the

fulfillment of community needs of information. Various sources of information like book

not all available in electronic edition, required data entry process from hardcopy to

softcopy if we want to do further data processing with computers. For that will be

developed a system character recognition of a words in a paragraph automatically of

digital image in the form of result print screen document.

The objective of this research is to create software that can recognize character of a

words in a paragaph from document image using artificial neural network methods. The

architecture used is single layer neural network using hopfield learning algorithm. To

help the character recognition, the image is segmentated by mapping method.

The result of testing shows that the recognition for each similar character with a training

pattern is 96.77% of accuracy, and for recognition of each different character with a

training pattern the accuracy of 89.52%. Recognition to the character of a word in a

paragraph acquired 99.19% of accuray for character with a similar of training pattern,

and 89.49% for different character with the training pattern. Accuracy for recognition on

the color character depends on the change threshold parameters.

Keywords:

Artificial Neural Network, Hopfield, Digital Images, Printed Characters

Recognition, Characters Segmentation.


(10)

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Kemajuan teknologi informasi yang pesat serta potensi pemanfaatannya secara luas, membuka peluang bagi pengaksesan, pengelolaan, dan pendayagunaan informasi dalam volume yang besar secara tepat dan akurat. Berbagai informasi paper-based, baik itu buku sebagai salah satu media sumber informasi selama ini banyak yang tersedia dalam edisi elektronik. Perkembangan sumberdaya informasi baru ini, tidak terlepas dari daya dukung aplikasi IT, yang menjadikan akses database elektronik sebagai salah satu alternatif yang semakin penting dalam pemenuhan kebutuhan masyarakat akan informasi.

Namun saat ini berbagai sumber informasi seperti buku atau dokumen belum semuanya tersedia dalam edisi elektronik. Hal ini menjadi kendala dalam pengaksesan, pengelolaan dan pendayagunaan data tersebut. Agar dapat dilakukan tindakan tersebut pada data maka diperlukan adanya proses entry data dari hardcopy ke dalam softcopy pada komputer. Mengingat pentingnya sebuah informasi dalam edisi elektronik dan proses entry manual yang memerlukan waktu yang tidak sedikit, untuk itu akan dikembangkan suatu sistem pengenalan karakter cetak secara otomatis yang dilakukan pada citra digital berupa image dari hasil scan.

Pada penelitian ini akan dikembangkan penerapan konsep untuk ekstraksi rangkaian karakter pada suatu kata dalam paragraf. Sedangkan proses klasifikasi digunakan salah satu metode komputasi yang berusaha meniru cara kerja sistem syaraf otak manusia yaitu jaringan syaraf tiruan Hopfield. Keunggulan metode JST ini ialah memiliki kemampuan untuk belajar dan memecahkan hubungan yang rumit, yang sulit untuk dideskripsikan antara data masukan dan data keluaran, hal tersebut di mungkinkan karena jaringan syaraf tiruan mampu dilatih berdasarkan informasi yang diterimanya. Selain itu JST Hopfield mempunyai sifat associative memory ini berarti JST Hopfield berperilaku seperti memori yang mampu menyimpan informasi yang pernah diberikan dan menampilkan kembali informasi tersebut apabila diminta. JST Hopfield juga bersifat High-fault tolerance yaitu kemampuan untuk memilih salah satu


(11)

pola yang paling mirip dalam memorinya apabila pola yang diberikan tidak sama seperti salah satu pola dalam pembelajaran. Keunggulan lain dari sistem yang akan dibuat dari sistem pengenalan yang sudah ada adalah kemampuan untuk mendeteksi serangkaian karakter dari suatu kata dalam paragraf pada citra digital.

1.2 Maksud dan Tujuan

Tujuan dari tugas akhir ini adalah membangun suatu aplikasi jaringan saraf tiruan dengan menggunakan algoritma Hopfield untuk mengenali karakter dari suatu kata dalam paragraf pada citra digital. Adapun maksud yang ingin dicapai dari pembuatan aplikasi ini adalah untuk memudahkan user atau pengguna aplikasi ini dalam mengubah huruf dan angka baik dalam bentuk rangkaian kata pada suatu paragraf dari citra digital dalam bentuk file image (*.bmp, *.jpg), menjadi serangkaian huruf dan angka dalam bentuk file teks dengan menggunakan algoritma Hopfield sehingga nantinya data teks tersebut bisa diolah kembali.

1.3 Batasan Masalah

Batasan masalah dalam pembuatan perangkat lunak ini adalah sebagai berikut : 1. Pembuatan aplikasi jaringan syaraf tiruan menggunakan algoritma Hopfield. 2. Data masukan (input) berupa file image (*.bmp, *.jpg) hasil print screen bisa

berupa image per-karakter ataupun image yang berisi rangkaian kata.

3. Karakter yang dilatihkan berupa huruf ( A sampai Z , a sampai z ) dan angka numerik (0-9).

4. Posisi pengambilan gambar adalah tegak lurus.

5. Data keluaran (output) berupa hasil pengenalan dalam bentuk file teks (*.txt). 6. Analisa penelitian difokuskan untuk pengenalan karakter cetak berjenis Arial

normal dengan ukuran font 14pt, 16pt dan 18pt.

7. Warna teks bisa bermacam-macam kecuali warna putih.

8. Untuk pengenalan karakter yang berbeda jenis, maka karakter jenis tersebut harus dilatihkan terlebih dahulu.

9. Asumsi citra input bebas noise. 10.Background dari teks berwarna putih.


(12)

1.4 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut :

1. Tinjauan pustaka

Mempelajari buku, artikel, dan situs yang terkait dengan materi dari sistem yang akan dibuat seperti, image processing, JST Hopfield dan bahasa pemrograman Delphi 7.

2. Eksperimen Program

Mengaplikasikannya ke dalam program kemudian menguji parameter-parameter yang digunakan serta keberhasilan program.

1.5 Sistematika Penulisan BAB I. PENDAHULUAN

Berisi pendahuluan yang menjelaskan tentang gambaran umum tugas akhir ini. Dalam Bab I dibahas tentang latar belakang, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika pembahasan

BAB II LANDASAN TEORI

Bab ini menjelaskan tentang teori-teori yang berhubungan dengan pemecahan masalah seperti: citra, pengolahan citra,pengenalan pola serta Jaringan Saraf Tiruan (JST) dengan menggunakan algoritma algoritma Hopfield.

BAB III PERANCANGAN SISTEM

Berisi tentang perancangan keseluruhan sistem pengenalan huruf dan angka dengan menggunakan JST algoritma Hopfield dan berbagai perangkat lunak yang diperlukan.

BAB IV PENGUJIAN DAN ANALISIS SISTEM

Bab ini membahas implementasi dari perancangan program, menguji keberhasilan program dalam mencari solusi pada masalah pengenalan pola dan analisis terhadap parameter-parameter yang berperan penting dalam pengenalan pola dengan JST algoritma Hopfield.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan analisis masalah serta saran guna meningkatkan dan mengembangkan metode pengenalan yang lebih optimal untuk mencari solusi pada persoalan pengenalan pola.


(13)

BAB II

LANDASAN TEORI

2.1 Jaringan Syaraf Biologis Manusia

Jaringan syaraf tiruan (Artificial Neural Network) atau ANN merupakan model yang meniru cara kerja jaringan biologis. Otak manusia terdiri atas sel-sel syaraf yang disebut neuron, yang berjumlah sekitar 9

10 neuron. Neuron – neuron ini terbagi atas

group – group yang disebut jaringan, yang dibedakan atas fungsinya dan setiap group

mengandung ribuan neuron yang saling berhubungan. Kecepatan proses tiap jaringan ini sebenarnya jauh lebih kecil dibandingkan dengan kecepatan proses komputer yang ada pada saat ini, namun karena otak terdiri atas jutaan jaringan yang bekerja secara paralel, maka otak dapat mengerjakan pekerjaan yang jauh lebih kompleks dibandingkan dengan apa yang dapat dikerjakan oleh komputer yang hanya mengandalkan kecepatan.

Gambar 2.1 Jaringan Syaraf Manusia

Jaringan syaraf manusia tersusun atas sel – sel syaraf atau neuron. Tiap neuron

terdiri atas badan sel syaraf, cabang dendrit dan cabang akson, cabang – cabang inilah yang menghubungkan tiap – tiap sel syaraf sehingga membentuk jaringan syaraf.

Terdapat 3 macam sel syaraf :

1. Sel Syaraf Sensorik

Berfungsi menghantarkan rangsangan dari penerima ransangan (reseptor) ke sumsum tulang belakang


(14)

2. Sel Syaraf Motorik

Berfungsi menghantarkan impuls motorik dari susunan syaraf pusat ke efektor. 3. Sel Syaraf Penghubung

Merupakan penghubung sel syaraf yang satu dengan sel syaraf yang lain.

2.2 Paradigma Jaringan Syaraf Tiruan

Paradigma jaringan syaraf tiruan dapat digunakan untuk melakukan komputasi pengenalan suatu objek yang memiliki kemampuan memorisasi dan sekaligus melakukan generalisasi. Memorisasi di sini adalah kemampuan JST untuk memanggil kembali secara sempurna pola yang telah dipelajari. Generalisasi di sini terlihat pada kemampuan sebuah sistem jaringan syaraf tiruan yang telah terlatih untuk menghasilkan

output yang dapat diterima ketika ia menemukan sebuah input yang tidak pernah ia dapatkan selama proses pembelajaran (learning process) [1]. Jaringan ini biasanya diimplementasikan dalam bentuk komponen – komponen elektronik atau tersimulasi secara software dalam sebuah komputer. Dan untuk memperoleh hasil yang baik, sistem jaringan syaraf tiruan memerlukan sebuah inter-koneksi yang besar dari sel – sel komputasi sederhana yang biasa disebut dengan “neurons” atau “unit – unit proses”

Di sinilah dapat diketahui bahwa paradigma jaringan syaraf tiruan dapat menyerupai dua fungsi otak manusia yaitu :

1. Pengetahuan jaringan syaraf tiruan diperoleh melalui sebuah proses pembelajaran yang kontinu.

2. Koneksi – koneksi antar unit – unit proses memiliki bobot atau nilai informasi yang digunakan untuk menyimpan hasil pembelajaran yang telah dilakukan oleh jaringan syaraf tiruan tersebut.

Jaringan syaraf tiruan terdiri atas sejumlah pemroses yang sangat sederhana yang disebut dengan node atau simpul. Simpul ini dianalogikan seperti neuron yang ada di otak manusia. Kumpulan simpul – simpul yang membentuk suatu konfigurasi tertentu dikenal sebagai jaringan syaraf tiruan. Jaringan syaraf tiruan terdiri atas lapisan masukan dan keluaran. Tetapi ada juga yang mempunyai lapisan tersembunyi di antara lapisan masukan dan keluaran. Simpul yang ada pada lapisan masukan disebut unit masukan. Pada unit masukan tidak memproses suatu informasi tetapi hanya menyebarkan atau menyalurkan ke unit lain. Sedangkan simpul yang ada pada lapisan


(15)

tersembunyi dan lapisan keluaran menghasilkan keluaran yang berupa suatu bentuk non linear.

Secara prinsip jaringan dibangkitkan serangkaian masukan (input) yang dikalikan dengan suatu faktor penimbang tertentu yang analog dengan tegangan sinapsis. Dan kemudian dijumlahkan semua masukan tersebut untuk menentukan tingkat aktivasi neuron. Pada gambar 2.2 diperlihatkan kontruksi dasar sebuah neuron

tiruan.

Gambar 2.2 Ilustrasi Neuron Tiruan

Misalnya, sebuah neuron Y (Gambar 2.2) menerima input dari neuron X1,X2dan X3.

Bobot nilai yang menghubungkan neuron X1,X2dan X3 ke neuron Y adalah

2 1,W

W dan W3. Maka input jaringan Yin pada neuron Y adalah jumlah dari sinyal bobot dari masing – masing neuron X1,X2dan X3 di mana Yin = W1X1+W2X2 +W3X3

2.3 Komponen Jaringan Syaraf Tiruan

Dengan mengambil ide dari jaringan syaraf manusia, komponen-komponen pada JST adalah :

1. Neuron Tiruan (Artificial Neuron)

JST disusun oleh unit dasar yang disebut neuron tiruan yang merupakan elemen pemrosesan dalam jaringan, di mana semua proses perhitungan dilakukan disini. 2. Lapisan (layer)

JST disusun oleh kumpulan neuron yang berhubungan dan dikelompokkan pada lapisan-lapisan (layer). Terdapat tiga lapisan, yaitu : lapisan input (input layer), lapisan tersembunyi (hidden layer), dan lapisan output (output layer).

3. Masukan (Input)

JST hanya dapat memroses data masukan berupa data numerik. Sehingga apabila masalah melibatkan data kualitatif seperti grafik, image, sinyal atau


(16)

suara, data harus ditransformasikan dulu ke dalam data numeric yang equivalen

sebelum dapat diproses oleh jaringan syaraf tiruan. 4. Keluaran (Output)

Keluaran dari JST adalah pemecahan terhadap masalah. Data keluaran merupakan data numerik.

5. Bobot (Weight)

Bobot pada JST menyatakan tingkat kepintaran sistem. Walaupun sebenarnya bobot tersebut hanya sebuah deretan angka-angka saja. Bobot sangat penting untuk jaringan syaraf tiruan, di mana bobot yang optimal akan memungkinkan sistem menerjemahkan data masukan secara benar dan menghasilkan keluaran yang diinginkan.

2.4 Arsitektur Jaringan Syaraf Tiruan

Aturan yang menata neuron – neuron yang tergabung dalam sebuah jaringan syaraf tiruan terintegrasi dengan algoritma – algoritma pembelajarn yang digunakan untuk melatih jaringan syaraf tiruan tersebut. Dengan kata lain, macam – macam algoritma dan aturan – aturan (rules) yang digunakan dalam desain jaringan syaraf tiruan dapat digolongkan sebagai struktur arsitektur dari jaringan syaraf tiruan tersebut. Secara umum, jaringan syaraf tiruan dapat dikelompokan menjadi tiga kelas fundamental yang berbeda menurut arsitekturnya.

2.4.1 Jaringan Syaraf Tiruan Feedforward Single Layer

Dalam jaringan syaraf tiruan yang memiliki layer, neuron – neuron yang ada terorganisir mengikuti bentuk dari pada layer – layer yang ada. Dalam sebuah bentuk jaringan sederhana yang memiliki layer, bisa ditemukan layer input yang terproyeksikan pada layer output, namun tidak sebaliknya. Dengan kata lain, jaringan ini benar – benar tertutup untuk bergerak maju (Feedforward) atau biasa disebut tipe

acyclic karena perpindahan informasi hanya terjadi satu arah saja.

Pada jaringan ini baik layer input maupun layer output sama – sama memiliki

node yang sama . Jaringan ini disebut jaringan single – layer karena mengacu pada node

komputasi pada layer output (neurons). Tidak terjadi perhitungan pada apa yang ada pada input layer karena tidak ada komputasi yang terjadi di sana.


(17)

2.4.2 Jaringan Syaraf Tiruan Feedforward Multilayer

Yang membedakan jaringan syaraf tiruan tipe feedforward multilayer ini dengan jaringan syaraf tiruan tipe feedforward single-layer adalah keberadaan satu atau lebih layer tersembunyi atau yang biasa disebut hidden layer . Fungsi dari neuron – neuron

yang tersembunyi ini adalah sebagai jembatan antara input eksternal dan input dari jaringan demi tujuan tertentu.

Dengan menambahkan satu atau lebih layer tersembunyi, jaringan akan mampu melakukan ekstrasi statistik yang lebih baik. Peningkatan kinerja jaringan ini disebabkan oleh tambahan kumpulan sel koneksi sinaptik dan juga oleh tambahan jangkauan dimensi yang diperoleh dari interaksi antar neuron.

Titik – titik pada layer masukan menjadi masukan pada masing – masing elemen dari setiap vektor input, di mana sinyal –sinyal ini akan dipakai lebih lanjut pada titik – titik komputasi pada layer tersembunyi pertama. Sinyal – sinyal output dari layer ini akan menjadi sumber input pada layer berikutnya dan seterusnya dalam jaringan tersebut. Pada umumnya, setiap neuron pada setiap layer pada jaringan mendapatkan

input mereka dari hasil output dari layer sebelumnya.

Kumpulan sinyal – sinyal output dari setiap neuron pada layer output mewakili respon jaringan syaraf tiruan tersebut secara keseluruhan terhadap pola aktivasi yang diberikan oleh titik – titik input. Jaringan syaraf tiruan pada gambar 2.3 dapat dikatakan jaringan yang terkoneksi secara keseluruhan karena setiap titik pada setiap layer yang ada terhubung dengan setiap titik yang ada pada layer berikutnya. Tetapi apabila ada koneksi sinaptikal yang hilang maka, jaringan syaraf tiruan tersebut dikatakan terhubung sebagian.

Gambar 2.3 Jaringan Syaraf Tiruan dengan Hidden Layer

2.4.3 Jaringan Syaraf Tiruan Berulang

Perbedaan antara sebuah jaringan syaraf tiruan yang berulang dengan sebuah jaringan syaraf tiruan tipe feedforward adalah pada jaringan syaraf tiruan berulang (recurrent network), terdapat setidaknya satu buah feedback – loop atau perulangan


(18)

umpan balik. Sebagai contoh, sebuah jaringan Syaraf tiruan berulang dapat hanya memiliki satu buah layer saja. Namun ini bukan berarti jaringan syaraf tipe ini tidak dapat memiliki layer tersembunyi. Pada gambar 2.4 dapat dilihat bahwa sumber input -an sebuah neuron dapat diperoleh dari output neuron – neuron lainnya dan juga dari

neuron – neuron yang terdapat pada layer tersembunyi

Gambar 2.4 Jaringan Syaraf Tiruan Berulang dengan Layer Tersembunyi

2.5 Pembelajaran Jaringan Syaraf Tiruan

Pada otak manusia, informasi yang dilewatkan dari dari neuron ke neuron yang lainnya berbentuk rangsangan listrik melalui dendrit. Jika rangsangan tersebut diterima oleh suatu neuron, maka neuron tersebut akan membangkitkan output ke semua neuron

yang berhubungan dengannya sampai informasi tersebut sampai ke tujuannya yaitu sampai terjadinya suatu reaksi [3]. Jika rangsangan diterima terlalu halus, maka output

yang dibangkitkan oleh neuron tersebut tidak akan direspon. Tentu saja sangatlah sulit untuk memahami bagaimana otak manusia bisa belajar. Selama proses pembelajaran, terjadi perubahan yang cukup berarti pada bobot – bobot yang menghubungkan antar

neuron. Apabila ada rangsangan yang sama dengan rangsangan yang telah diterima oleh

neuron, maka neuron akan memberikan reaksi dengan cepat. Namun apabila kelak ada rangsangan yang berbeda dengan apa yang telah diterima oleh neuron, maka neuron

akan segera beradaptasi untuk memberikan reaksi yang sesuai.

Jaringan syaraf akan mencoba untuk mensimulasikan kemampuan otak manusia untuk belajar. Jaringan syaraf tiruan juga tersusun atas neuron – neuron dan dendrit. Tidak seperti model biologis, jaringan syaraf memiliki struktur yang tidak dapat diubah, dibangun oleh sejumlah neuron, dan memiliki nilai tertentu yang menunjukan seberapa besar koneksi antar neuron (yang dikenal dengan nama bobot). Perubahan yang terjadi selama proses pembelajaran adalah perubahan nilai bobot. Nilai bobot akan bertambah, jika informasi yang diberikan oleh neuron yang bersangkutan tersampaikan, sebaliknya jika informasi tidak disampaikan oleh suatu neuron ke neuron yang lainnya, maka nilai bobot yang menghubungkan keduanya akan dikurangi. Pada saat pembelajaran


(19)

dilakukan pada input yang berbeda, maka nilai bobot akan diubah secara dinamis hingga mencapai suatu nilai yang seimbang. Apabila nilai ini telah tercapai mengindikasikan bahwa tiap – tiap input telah berhubungan dengan output yang diharapkan.

2.5.1 Pembelajaran Terawasi (Supervised Learning)

Pada metoda Supervised Learning, setiap pengetahuan yang diberikan nilai acuan untuk pemetaan suatu input, akan menjadi suatu keluaran yang dikehendaki [3]. Proses pembelajaran akan dilakukan terus menerus selama kondisi error yang dikehendaki belum terjadi. Untuk setiap nilai error yang diperoleh di setiap tahap pembelajaran akan di kalkulasikan hingga data atau nilai target yang dikehendaki tercapai.

Contoh : andaikan kita memiliki jaringan syaraf yang akan digunakan untuk mengenali pasangan pola, misalkan pada operasi AND :

Input Target

0 0 0

0 1 0

1 0 0

1 1 1

Gambar 2.5 Jaringan Syaraf Tiruan Untuk Penyelesaian Operasi AND

Pada proses pembelajaran, satu pola akan diberikan ke neuron pada lapisan input. Pola ini akan dirambatkan disepanjang jaringan syaraf hingga sampai ke neuron pada lapisan

output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokan dengan pola output targetnya. Apabila terjadi perbedaan antara pola output

hasil pembelajaran dengan pola target, maka di sini akan muncul error, mengindikasikan bahwa masih perlu dilakukan lebih banyak pembelajaran lagi.

2.5.1.1Hebb Rule

Hebb rule adalah metode pembelajaran yang paling sederhana. Pada metode ini pembelajaran dilakukan dengan cara memperbaiki nilai bobot sedemikian rupa sehingga jika ada dua neuron yang terhubung, dan keduannya dalam kondisi “on” pada saat yang


(20)

sama, maka bobot antara keduanya dinaikan [3]. Apabila data direpresentasikan secara

bipolar, maka perbaikan bobotnya adalah :

=

n i

j i ji uu

W (1)

) ( ) ( ) ( ) ( baru i baru j lama ji baru

ji W U U

W = + + (2)

Dengan :

ji

W : matrik bobot koneksi dari unit j ke unit i

j

U : elemen j dari vektor U i

U : elemen i dari vektor U n : jumlah pola yang dilatihkan

2.5.1.2Backpropagation

Algoritma pelatihan backpropagation atau ada yang menterjemahkannya menjadi propagasi balik, pertama kali dirumuskan oleh Werbos dan dipopulerkan oleh Rumelhart dan McClelland untuk dipakai pada JST, dan selanjutnya algoritma ini biasa disingkat dengan BP. Algoritma ini termasuk metoda pelatihan supervised dan didesain untuk operasi pada jaringan feed forward multi lapis.

Algoritma ini juga banyak dipakai pada beberapa aplikasi pengaturan karena proses pelatihannya didasarkan pada hubungan yang sederhana, yaitu: jika keluaran memberikan hasil yang salah, maka bobot (weight) dikoreksi supaya nilainya dapat diperkecil dan respon jaringan selanjutnya diharapkan akan lebih mendekati keadaan dengan harga yang benar. Backpropagation juga berkemampuan untuk memperbaiki bobot – bobot pada lapisan tersembunyinya.

Secara garis besar algoritma ini disebut sebagai propagasi balik dikarenakan ketika jaringan diberikan pola masukan sebagai pola pelatihan maka pola tersebut menuju ke unit – unit pada lapisan tersembunyi (hidden layer) untuk diteruskan ke unit – unit lapisan keluaran [3]. Kemudian unit – unit lapisan keluaran memberikan tanggapan yang disebut dengan keluaran jaringan. Saat keluaran jaringan tidak sama dengan keluaran yang diharapkan maka keluaran akan menyebar mundur (backward)

pada lapisan tersembunyi diteruskan ke unit pada lapisan masukan. Oleh karenanya maka mekanisme pelatihan tersebut dinamakan backpropagation atau propagasi balik.


(21)

2.5.2 Pembelajaran Tak Terawasi (Unsupervised Learning)

Pada metoda ini tidak menggunakan target pada keluarannya, karena sistem pada metoda ini bergantung sepenuhnya pada hasil komputasi di setiap tahapan pemrosesan untuk mendapatkan nilai target yang dikehendaki. Setiap proses pada metoda ini akan mengkalkulasikan setiap langkah pada nilai bobot yang dikehendaki. Selama proses pembelajaran, nilai bobot disusun dalam suati range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran ini adalah mengelompokan unit – unit yang hampir sama dalam suatu area tertentu.

2.5.2.1Motode Hopfield

Metoda ini dikembangkan oleh John Hopfield pada tahun 1980. John Hopfield menggambarkan suatu associative memory yang dapat diterapkan dan kemudian mendemonstrasikan masalah optimasi dan klasifikasi yang dapat diselesaikan oleh jaringannya [2]. Jaringan Hopfield biner mempunyai suatu lapisan pengolah. Setiap unit pengolah mempunyai sebuah nilai aktifitas atau kondisi (state) yang bersifat biner [2]. Jaringan Hopfield bisa bekerja dengan kondisi 0 dan 1. Jaringan juga dapat bekerja jika digunakan nilai +1 dan -1, hanya saja diperlukan sedikit perubahan dalam persamaannya.

Unit-unit pengolah dalam jaringan Hopfield adalah terhubung penuh (fully connected) yaitu setiap unit terhubung ke tiap-tiap unit yang lain [1]. Hubungan-hubungan tersebut adalah Hubungan-hubungan langsung dan setiap pasang unit pengolah mempunyai hubungan dalam dua arah. Topologi hubungan ini mempunyai jaringan bersifat recursive karena keluaran dari setiap unit memberi masukan ke unit yang lain. Jaringan ini memiliki bobot-bobot yang simetris. Pada jaringan Hopfield setiap unit tidak memiliki hubungan dengan dirinya sendiri, secara matematik hal ini memenuhi

ji ij W

W = ( di mana i = baris dan j = kolom) untuk ijdan Wij= 0 untuk i= j[1].

= 0 0 0 0 0 0 65 64 63 62 61 55 54 53 52 51 45 44 43 42 41 36 35 34 32 31 26 25 24 23 21 116 15 14 13 12 w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w Wji


(22)

Perhatikan bahwa bobot –bobot yang terletak pada diagonal utamanya adalah nol (0) yang menunjukan bahwa neuron-neuron pada jaringan Hopfield tidak memiliki hubungan dengan dirinya sendiri (Wij = 0; i=j). Sementara itu kesimetrisan vektor bobot berarti berlakunya Wij =Wji di mana ij , sehingga w12 =w21, w13 =w31,

, 32 23 w

w = ..., dan seterusnya.

Gambar 2.7 Arsitektur Jaringan Hopfield

Dari gambar 2.7 di atas, dapat dijelaskan bahwa output setiap simpul diumpan balikan ke input dari simpul – simpul lainnya melalui bobot koneksi Wij yang tetap. Nilai Wij mula – mula diinisialisasi menggunakan algoritma Hopfield untuk sebuah pola yang masuk. Pola yang tidak dikenal dimasukan ke dalam jaringan pada waktu kondisi nol. Kemudian jaringan akan beriterasi sampai output yang dihasilkan konvergen.

Konvergen adalah pola output yang tidak berubah sampai iterasi selesai. Pola yang dinyatakan oleh simpul – simpul output setelah jaringan konvergen adalah output

jaringan syaraf tiruan.

2.5.2.1.1 Algoritma Pembelajaran JST Hopfield

Ada beberapa versi dari algoritma Hopfield . Untuk deskripsi dan algoritma

Hopfield menggunakan input vektor yang berupa angkatan biner. Untuk menyimpan sekumpulan pola biner digunakan notasi :

i

U ,i=(1,2,3,...,n) (3)

Keterangan :

n : jumlah pola yang dilatihkan

i

U : elemen i dari vektor U


(23)

] 1 2 ][ 1 2 [ 1 − − = = i j n i

ji U U

W (4)

jika ij dan Wji = 0 jika i=j

Dengan :

ji

W : matrik bobot koneksi dari unit j ke unit i

n : jumlah pola yang dilatihkan

i

U : elemen i dari vektor U yang hanya memiliki nilai 0 dan 1

Sedangkan versi dari deskripsi algoritma Hopfield lainnya menggunakan input vektor

yang berupa angka bipolar. Untuk menyimpan sekumpulan angka bipolar digunakan notasi :

i

U ,i=(1,2,3,...,n) (5)

Keterangan :

n : jumlah pola yang dilatihkan

i

U : elemen i dari vektor U

Sedangkan untuk menyimpan bobot matriks W = {Wji}, dengan notasi :

= = n s i s j s ji U U W

1

(6)

jika ji dan Wij = 0 jika j = i

Keterangan :

ji

W : matrik bobot koneksi dari unit j ke unit i

n : jumlah pola yang dilatihkan

i s

U : elemen i dari vektor U yang memiliki nilai +1 dan -1

Usj : elemen j dari vektor U yang memiliki nilai +1 dan -1

Adapun algoritma pembelajaran Hopfield [1] dari kedua penjelasan di atas dan apabila diterapkan pada pola angka yang berjumlah sepuluh buah yang berupa angka nol (0) sampai sembilan (9) adalah sebagai berikut :

1. Menciptakan pola vektor U, yang merupakan himpunan n simpul untuk pola yang ke – i


(24)

2. Menciptakan matriks bobot koneksi sebagai tempat pola contoh yaitu angka 0 sampai pola angka 9 yang disimpan dalam suatu konstanta.

Siapkan Ui untuk i = 1..10

Inisialisasi matriks W (orde n x n) untuk menyimpan pola. = = n s i s j s ji U U W

1

(8)

jika ji dan Wij = 0 jika j = i

Keterangan :

ji

W : matrik bobot koneksi dari unit j ke unit i

n : jumlah pola yang dilatihkan

i s

U : elemen ke i dari vektor U yang memiliki nilai +1 dan -1

Usj : elemen ke j dari vektor U yang memiliki nilai +1 dan -1

3. Mengerjakan langkah 4-6 selama pola belum konvergen input output

4. Untuk tiap vektor Ui ,i=(1,2,3,...,n), hitung nilai y_ini dengan

persamaan = = n i i ji i w U in

y

1

_ (9)

Keterangan :

y_ini : sinyal output untuk aktivasi

5. Hitung Outvec1 = f(y_ini) di mana f adalah fungsi ambang (threshold function)

< − ≥ = θ θ in jikay in y jika t f _ , 1 _ , 1 )

( (10)

Di mana threshold θ biasanya sama dengan 0.

6. Update neuron input jaringan dengan komponen Outveci 7. Test konvergensi.

2.5.2.1.2 Fungsi Energi Hopfield

Tiap kondisi dari jaringan Hopfield mempunyai sekumpulan energi [2]. Nilai ini didefinisikan dengan i j j i i ji j u u W E ≠ − = 2 1 (11)


(25)

Keterangan :

ji

W : matrik bobot koneksi dari unit j ke unit i

n : jumlah pola yang dilatihkan

i

U : elemen ke i dari vektor U yang memiliki nilai +1 dan -1

Uj : elemen ke j dari vektor U yang memiliki nilai +1 dan -1

Persamaan ini dihubungkan dengan “energi”, meskipun ini tidak menggambarkan energi yang nyata seperti pada sistem fisika. Fungsi energi pada persamaan diatas adalah sebuah fungsi objektif yang diminimalkan oleh jaringan [3]. Pembaharuan dari jaringan Hopfield merupakan prosedur konvergen di mana energi dari keseluruhan jaringan akan menjadi semakin kecil, pada akhirnya jaringan akan berada pada kondisi stabil di mana pada kondisi ini energi berada pada nilai minimum. Nilai minimum ini mungkin lokal ataupun global [3].

Pada tiap saat unit pengolah diperbaharui, energi dari jaringan akan berkurang atau tetap. Sebagai hasilnya, prosedur pembaharuan ini akan selalu membuat energi dari jaringan untuk konvergen pada nilai minimum. Berikut uraian bahwa prosedur pembaharuan akan mengurangi energi atau tetap sama. Misalkan unit j adalah pengolah berikutnya yang akan diperbaharui. Bagian energi yang dipengaruhi oleh unit pengolah j

adalah : i j j i i ji

j W u u

E ≠ − = 2 1 (12)

di mana dapat ditata menjadi :

i j i i ji j

j u W u

E ≠ − = 2 1 (13)

ketika unit j diperbaharui :

− ∆ = ∆ ≠ i j i i ji j

j u W u

E 2 1 (14) dengan : lama j baru j j E E

E = −

∆ (15)

(

lama

)

j baru j j u u

u = −


(26)

di mana jika unit j tidak terdapat perubahan kondisi pada saat pembaharuan maka 0

=

uj berdasarkan persamaan maka ∆Ej =0. Jika unit ujberubah dari 1 ke -1, maka :

0 2 1 ) 1 ( 1 1 < − = − − = ∆ − = = j baru j lama j u u u

pada saat perubahan kondisi unit ujdari 1 ke -1 Wjiui <0, sehingga nilai energi :∆Ej <0. Jika unit ujberubah dari -1 ke 1, maka :

0 2 ) 1 ( 1 1 1 > = − − = ∆ = − = j baru j lama j u u u

pada saat perubahan kondisi unit ujdari -1 ke 1 Wjiui ≥0, sehingga nilai energi :∆Ej ≤0.

Karena ∆Ejadalah hasil dari perkalian tiga bilangan negatif. Jadi, perubahan energi E selalu negatif atau nol, tidak peduli bagaimana kondisi pada unit j. Jaringan dijamnin konvergen di mana nilai E akan menjadi lebih rendah sampai jaringan mencapai kondisi yang tetap.

2.6 Fungsi Aktivasi

Fungsi aktivasi merupakan bagian terpenting dalam tahapan perhitungan keluaran dari suatu algoritma jaringan syaraf tiruan. Fungsi aktivasi dapat diibaratkan sebagai pendefinisian penguatan non linier dalam sisem analag (continue). Penguatan (gain) ini dihitung dengan mencari rasio perubahan pada fungsi output neuron pada lapisan keluaran. Fungsi aktivasi tidak hanya digunakan pada saat perhitungan nilai keluaran neuron saja, tetapi turunan pertamanya juga bisa untuk menghitung perubahan bobot dan bias pada proses belajar. Dalam penulisan ini digunakan fungsi aktivasi bipolar threshold. Beberapa fungsi aktivasi yang digunakan dalam jaringan syaraf tiruan adalah :


(27)

2.6.1 Fungsi Undak Biner (Hard Limit)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step function) untuk mengkonversikan input dari suatu variable yang bernilai kontinu ke suatu output biner (0 atau 1).

Fungsi undak biner (hard limit) dirumuskan sebagai berikut :

> ≤ = 0 , 1 0 , 0 x jika x jika

y (17)

Gambar 2.8 Fungsi Aktivasi: Undak Biner (Hard Limit)

2.6.2 Fungsi Bipolar (Symetric Hard Limit)

Fungsi Bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0 atau -1. Fungsi Symetric Hard Limit

dirumuskan sebagai :

< − = > = 0 , 1 0 , 0 0 , 1 x jika x jika x jika

y (18)

Gambar 2.9 Fungsi Aktivasi: Bipolar (Symmetric Hard Limit)

2.6.3 Fungsi Bipolar (Threshold Functio )

Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan

threshold, hanya saja output yang dihasilkan berupa 1, atau -1. Fungsi bipolar (dengan nilai ambang θ) dirumuskan sebagai:

y 0 1 x y x 0 1 -1


(28)

< −

≥ =

θ θ

x jika

x jika y

, 1

, 1

(19)

Gambar 2.10 Fungsi Aktivasi: Bipolar (Threshold Function)

2.7 Pengenalan Pola

Pengenalan pola mengelompokan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek lainnya. Kamampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan di identifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra.

Citra deskripsi objek

Gambar 2.11 Proses Pengenalan Pola

Contoh pengenalan pola misalnya citra pada gambar 2.12 adalah tulisan tangan yang digunakan sebagai data masukan untuk mengenali karakter ‘A’. dengan menggunakan suatu algoritma pengenalan pola, diharapkan komputer dapat menenali bahwa karakter tersebut adalah ‘A’.

Gambar 2.12 Citra Karakter ‘A’ Yang Digunakan Sebagai Masukan Untuk Pengenalan Huruf.

Pengenalan Pola

y

x 0

1

- 1


(29)

Salah satu contoh aplikasi pengenalan pola yang cukup kompleks adalah pengenalan karakter alfanumerik ( [‘A’…’Z’] dan [‘0’…’9] ). Diasumsikan ingin dibuat sebuah desain program komputer yang bertugas mengenali karakter alfanumerik dengan jalan menerjemahkan sebuah matriks yang berisikan bilangan-bilangan biner yang menggambarkan citra pixel (picture element) dari sebuah pemetaan-bit (bit-mappet pixel image) dari dari sebuah karakter alfanumerik ke dalam bentuk kode ASCII 8 bit.

=001000101001010111111000110001100012

=114AFC63116

=6510ASCII

Gambar 2.13 Setiap Citra Karakter Dipetakan Ke Dalam Kode ASCII Yang Ditunjuknya

2.8 Citra Digital

Citra adalah gambar pada bidang dwimatra (dua dimensi). Citra merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pemantulan cahaya ini ditangkap oleh alat-alat optik, misalnya pada mata manusia, kamera, pemindai (scanner), dan lain sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam.

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

2. Analog berupa sinyal video seperti gambar pada monitor televisi, 3. Digital yang dapat langsung disimpan pada suatu pita magnetik.

Citra digital dapat didefinisikan sebagai fungsi dua variabel, f(x,y), di mana x

dan y adalah koordinat spasial dan nilai f(x,y)adalah intensitas cahaya citra pada koordinat tersebut. Teknologi dasar untuk menciptakan dan menampilkan warna merupakan kombinasi dari tiga warna dasar yaitu merah, hijau dan biru (Red, Green,


(30)

Blue – RGB). Karena intensitas yang dimaksud berasal dari sumber cahaya dan cahaya adalah suatu bentuk energi, maka berlakulah keadaan di mana fungsi intensitas terletak di antara:

∞ <

< ( , )

0 f x y (20)

Keterangan :

f(x,y) merupakan intensitas cahaya pada titik (x,y).

Pada hakekatnya gambar yang dilihat oleh mata kita terdiri atas berkas-berkas cahaya yang dipantulkan oleh benda-benda sekitar kita. Sehingga bentuk dasar dari f(x,y) dapat dipandang sebagai karakterisasi dari dua komponen. Komponen pertama ialah pencahayaan (illumination) yaitu menyatakan jumlah sumber cahaya yang datang pada bidang yang diamati, dinotasikan dengan i(x,y), sedangkan komponen lainnya dipantulkan oleh objek pada bidang tersebut, dinotasikan dengan r(x,y). Kombinasi dari perkalian fungsi i(x,y) dan r(x,y) membentuk f(x,y).

f(x,y) = i(x,y) * r(x,y) (21)

dengan :

i(x,y) : illumination / pencahayaan

r(x,y) : reflactane component / komponen pemantulan di mana :

0<i(x,y)<∞

0<r(x,y)<1 (22)

Persamaan-persamaan di atas menyatakan bahwa reflektansi dibatasi oleh nol (0) yang berarti terjadi penyerapan total oleh obyek tersebut dan satu (1) berarti cahaya yang dipantulkan total oleh obyek tersebut.

2.9 Pemrosesan Citra (Image Processing)

Secara umum dan sederhana, citra dapat didefinisikan sebagai representasi visual dari suatu objek. Lebih jauh citra dapat juga diartikan sebagai gambaran yang representatif mengenai suatu objek sedemikian sehingga citra tersebut dapat memberikan kesan yang mendalam mengenai objek yang dimaksud. Jika ingin mendefinisikannya lebih bebas lagi, citra dapat didefinisikan sebagai bentuk visual yang dapat diterima secara baik oleh indera penglihatan, apapun bentuknya. Komputer memiliki cara pandang tersendiri terhadap suatu citra. Berbeda dengan citra konvensional yang misalnya melalui proses fotografis seperti pada foto dapat dihasilkan


(31)

suatu citra nyata yang langsung dapat dinikmati oleh indera penglihatan, citra pada computer harus melalui beberapa tahapan yang cukup rumit. Tahapan tersebut dapat digambarkan sebagai suatu rangkaian proses dari proses akuisi data, manipulasi data, visualisasi data, serta proses penyimpanan data.

Seringkali dokumen hasil scan memiliki banyak noise. Hal ini disebabkan oleh beberapa hal, antara lain : dokumen yang akan di scan memiliki kualitas yang jelek, kaca kotor atau dokumen yang akan di scan berada dalam posisi miring, noise pada dokumen scan akan mengurangi keakuratan sistem dalam melakukan pengenalan karakter, oleh karena itu diperlukan suatu proses untuk menghilangkan noise yang ada. Kinerja proses image processing ini akan mempengaruhi keakuratan keseluruhan sistem pengenalan karakter.

2.9.1 Representasi Citra Digital

Cita digital adalah sebuah citra f(x,y) yang telah di-diskretasi ke dalam koordinat spasial dan tingkat keabuan. Cita digital dinyatakan sebagai sebuah matrik n x n yang terdiri atas baris dan kolom untuk menyatakan sebuah titik pada citra dan elemen nilai matrik yang berupa nilai diskrit menyatakan tingkat keabuan pada titik tersebut. Citra digital tiap elemen dikenal sebagai elemen gambar (picture element) atau pixel.

Gambar 2.14 Representasi Citra Digital Dalam Bentuk Matrik

Untuk mendapatkan suatu citra digital diperlukan suatu konversi sehingga dapat diproses oleh komputer. Proses konversi tersebut dengan membuat kisi-kisi arah

horizontal dan vertical sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut disebut digitasi atau sampling.

Semakin tinggi resolusi berarti semakin kecil ukuran pixel-nya, berarti semakin halus gambar yang diperoleh karena informasi yang hilang akibat pengelompokan tingkat keabuan pada proses pembuatan kisi-kisi semakin kecil, tetapi membutuhkan penyimpanan bit yang makin besar pula.

) 1 , 1 ( . ) 1 , 1 ( ) 0 , 1 ( . . . . . . . . ) 1 , 1 ( ... ) 1 , 1 ( ) 0 , 1 ( ) 1 , 0 ( ... ) 1 , 0 ( ) 0 , 0 ( ) , ( − − − − − − = N N f N f N f N f f f N f f f y x f


(32)

2.9.2 Representasi Warna (Color Representation)

Karena persepsi manusia akan warna berdasarkan respon dari tiga cones yang berada pada bola mata manusia, maka representasi warna pun didasarkan pada hal tersebut, yang biasa disebut sebagai tristimulus value. Salah satu model representasi warna berdasarkan tristimulus value adalah representasi warna RGB yang nantinya dapat dijadikan representasi grayscale untuk memudahkan pemrosesan citra.

2.9.2.1Representasi Warna RGB

Representasi warna ini terdiri dari tiga unsur utama yaitu merah (red), hijau (green), dan biru (blue). Gabungan tiga warna ini membentuk warna – warna lainnya berdasarkan intensitas dari masing – masing warna tersebut.dengan intesitas maksimal, dan warna hitam merupakan gabungan dari ketiga warna tersebut dengan intensitas minimal.

2.9.2.2Representasi Grayscale

Dengan menggunakan representasi warna RGB gambar yang berwarna dapat diubah menjadi gambar yang terdiri dari warna putih dan gradiasi warna hitam yang biasa disebut gambar grayscale. Setiap pixel dari gambar 24-bit mempunyai 8-bit Red, 8-bit Green dan 8-bit Blue. Suatu gambar warna dapat dikonversi ke grayscale dengan menghitung nilai “Y” untuk tiap warna pixel [8].

Y = 0,299R + 0,587G + 0,114B (23)

Nilai “Y” merupakan komponen grayscale dalam sistem YIQ yang digunakan dalam sistem televisi NTSC. Koefisiennya menyatakan sensifitas terang-gelapnya (brightness)

mata manusia terhadap warna utama. Metode lainnya dengan menghitung nilai rata-rata dari RGB itu sendri.

Y = (R + G + B) / 3 (24)

2.9.3 Thresholding

Thresholding adalah proses untuk memisahkan foreground dengan background

dari suatu image. Proses Thresholding dilakukan dengan cara melihat perbedaan intensitas warna dari suatu image. Input untuk proses thresholding adalah grayscale image dan colour image. Output dari proses ini adalah binary image di mana pixel


(33)

hitam mewakili foreground dan pixel putih mewakili background, atau sebaliknya.

Binary Image adalah suatu image yang mana pixelnya hanya memiliki dua nilai intensitas. Nilai intensitas yang sering digunakan yaitu 0 untuk pixel hitam, 1 atau 255 untuk pixel putih ataupun sebaliknya.

Proses thresholding menggunakan sebuah parameter yang disebut dengan

intensity threshold. Setiap pixel dari image akan dibandingkan dengan intensity threshold. Apabila intensitas pixel lebih tinggi dari intensity threshold maka pixel diset warna putih, sebaliknya apabila intensitas pixel lebih rendah maka pixel diset warna hitam, bisa juga sebaliknya.

2.9.4 Segmentasi Citra

Segmentasi citra merupakan suatu proses pengelompokkan citra menjadi beberapa region berdasarkan kriteria tertentu, dengan kata lain, merupakan suatu proses pembagian citra ke dalam wilayah (region) yang mempunyai kesamaan fitur antara lain tingkat keabuan (grayscale), teksture (texture), warna (color), gerakan (motion).

Berdasarkan pengertiannya, segmentasi memiliki tujuan menemukan karakteristik khusus yang dimiliki suatu citra. Oleh karena itulah, segmentasi sangat diperlukan pada proses pengenalan pola. Semakin baik kualitas segmentasi maka semakin baik pula kualitas pengenalan polanya.

Secara umum ada beberapa pendekatan yang banyak digunakan dalam proses segmentasi antara lain :

1. Teknik threshold, yaitu pengelompokan citra sesuai dengan distribusi properti

pixel penyusun citra.

2. Teknik region-based, yaitu pengelompokkan citra ke dalam region-region

tertentu secara langsung berdasar persamaan karakteristik suatu area citranya. 3. Edge-based methods, yaitu pengelompokkan citra ke dalam wilayah berbeda

yang terpisahkan karena adanya perbedaan perubahan warna tepi dan warna dasar citra yang mendadak.

Pendekatan pertama dan kedua merupakan contoh kategori pemisahan image

berdasarkan kemiripan area citra, sedangkan pendekatan ketiga merupakan salah satu contoh pemisahan daerah berdasarkan perubahan intensitas yang cepat terhadap suatu daerah. Performansi citra segmentasi dapat dilakukan secara kuantitatif dan kualitatif.


(34)

Penilaian secara kuantitatif dilihat dari segi performansi yang dihasilkan melalui perhitungan yang dilakukan dengan menghitung nilai koefisien variansi dari hasil segmentasi. Sedangkan, untuk pernilaian kualitatif ditinjau dari segi pengamatan mata manusia (Mean Opinion Score/MOS).


(35)

BAB III

PERANCANGAN SISTEM

Dalam pengerjaan perancangan dan pembuatan aplikasi pengenalan karakter

alfanumerik JST algoritma

Hopfield

ini menggunakan software Borland Delphi 7.0.

3.1

Alur Proses Sistem

Rangkaian proses yang akan dilakukan oleh software ini adalah baca gambar,

grayscaling, thresholding,

segmentasi karakter, normalisasi hasil segmentasi, ekstrasi ciri

(encode input)

dan

neural network.

Proses

neural network

sendiri membutuhkan proses

pelatihan

(training)

agar

output

yang dihasilkan benar dan akurat.

Jadi secara garis besar dapat dikatakan bahwa alur aplikasi ini dimulai dari

diinputkannya sebuah gambar dari sebuah gambar teks

.

Di mana gambar tersebut akan

melalui serangkaian manipulasi citra dalam proses

image preprocessing

diantaranya proses

grayscaling, thresholding,

segmentasi karakter, normalisasi dan ekstrasi ciri yang akan

mengubah gambar tersebut menjadi serangkaian nilai-nilai yang berguna untuk proses

utama berikutnya yaitu : proses pelatihan

(training process)

ataupun proses pengenalan

(recognition process).

Output

dari proses pelatihan

adalah sekumpulan nilai bobot jaringan dan vektor pola

stabil yang disimpan ke dalam sebuah file pelatihan, file pelatihan tersebut dapat dibuka

kembali bila akan di

update

ataupun digunakan dalam proses pengenalan. Sedangkan

output

dari proses pengenalan

adalah konversi dari citra yang berisi angka-angka

bipolar

menjadi

huruf-huruf atau angka yang dapat disimpan ke dalam

file

teks.

Dalam hal ini perlu diperhatikan bahwa sebelum melakukan proses pengenalan

,

terlebih dahulu dilakukan pengecekan apakah sudah ada data pelatihan (

training)

yang

dapat dijadikan acuan dalam melakukan pengenalan. Bila tidak, maka proses pengenalan

tidak bisa dilakukan. Jadi dapat dilihat akan ada tiga modul utama dalam pembuatan

aplikasi ini, yaitu: modul

image preprocessing,

modul pelatihan (

training),

dan modul

pengenalan (

recognition)

. Modul pelatihan

dan modul pengenalan

sangat bergantung pada


(36)

preprocessing

juga bergantung pada kinerja modul pelatihan

.

Sehingga dapat dilihat bahwa

urutan pengerjaan yang seharusnya dilakukan dalam pembuatan aplikasi ini secara

berturut-turut membuat modul :

image preprocessing,

pelatihan

(training),

dan pengenalan

(

recognition).

Gambar 3.1 Ilustrasi Proses Pengenalan

Hopfield

BOOK

Preprocessing

Binerisasi

Image *.bmp, *.jpeg

Citra berupa Matrik Biner

Character Segmentation

Line

Segmen-tation

Word

Segmen-tation

Normalisasi Karakter

Normal Karakter (Strecth/ Shrink)

Neural Network Hopfield

( JST ) 8 x 8

Character

Segmen-tation

Encode Input

Get Fixed Character

Fixed Character

Input Print screen


(37)

Gambar 3.2

Flowchart

Rencana Aplikasi

3.2

Proses Pengambilan Gambar

Proses pengambilan gambar yang digunakan sebagai

input

pada sistem yang dibangun

adalah rangkaian-rangkaian kata yang berasal dari

file

Microsoft Word yang mewakili

huruf dan angka yang sudah dilatihkan kepada sistem, kemudian dilakukan proses

print

screen

dan diolah dengan menggunakan aplikasi

paint

sehingga didapat

file *.bmp

atau

*.jpg.

Start

Input print screen

documen (.bmp)

Image Preprocessing

Akan melakukan pelatihan Proses Pelatihan ya

Simpan hasil pelatihan

Data pelatihan tersedia

tidak

Proses Pengenalan ya

End


(38)

3.3

Modul

Image Preprocessing

Modul ini merupakan proses yang pertama kali dijalankan bila user hendak

melakukan proses pelatihan

maupun proses pengenalan. Pertama-tama, gambar yang

dibuka akan dibaca dan kemudian setiap huruf dan angka tersebut akan dicari posisi dan

ukurannya (segmentasi). Sebelum gambar tersebut disegmentasi terdapat proses

grayscaling, thresholding

hingga menjadi gambar hitam-putih untuk memudahkan dalam

pengolahan data selanjutnya.

Proses selanjutnya adalah mencari baris demi baris yang ada pada gambar dan

mensegmentasikan tiap kata dan tiap karakter yang ada pada gambar

input

. Proses

pengambilan tiap-tiap karakter yang ada pada gambar ini sangatlah penting karena tanpa

akurasi

input

yang baik, maka proses pengenalan (

recognition)

tidak akan berfungsi dengan

baik. Proses ini ditunjukan oleh

flowchart

pada gambar 3.3:


(39)

3.3.1

Proses

Grayscaling

dan

Thresholding

Pada proses

grayscaling

ini gambar

input

yang berwarna dapat diubah menjadi

gambar yang tediri dari warna putih dan gradiasi warna hitam dengan menggunakan

representasi warna

RGB.

Pengubahan gambar ke dalam bentuk

grayscale

ini dilakukan

dengan mengambil nilai

pixel

dari suatu gambar

input

yang kemudian dihitung dengan

persamaan yang ada yaitu :

Grayscale =

0,299

R + 0,587G + 0,114B

Persamaan di atas dipilih dari persamaan yang lain dikarenankan persamaan tersebut

menghasilkan

output

yang lebih baik dari sistem yang dibuat berdasarkan

trial

dan

error

dalam beberapa percobaan. Proses

thresholding

dilakukan dengan cara memeriksa apakah

nilai intensitas dari sebuah

pixel

berada di bawah atau di atas sebuah nilai

intensity

threshold

yang telah ditentukan. Apabila nilai

pixel

tersebut berada di atas batas nilai yang

telah ditentukan, maka pixel tersebut akan diubah menjadi putih yang berarti bahwa

pixel

tersebut merupakan

background

, dan sebaliknya bila

pixel

tersebut berada di bawah batas

nilai yang ditentukan maka

pixel

tersebut akan diubah menjadi berwarna hitam yang berarti


(40)


(41)

Ilustrasi proses

grayscaling

dan

thresholding

:

Image Berwarna Grayscaling Image Hitam Putih

Image Berwarna

Red Green Blue

Image Grayscale

Matrik Biner

Gambar 3.5 Ilustrasi Proses

Grayscaling dan Thresholding

255 255 230 255 255

255 230 255 230 255

255 230 230 230 255

230 230 255 230 230

230 255 255 255 230

255 255

90

255 255

255

90

255

90

255

255

90 90 90

255

90 90

255

90 90

90

255 255 255

90

255 255

130

255 255

255

130

255

130

255

255

130 130 130

255

130 130

255

130 130

130

255 255 255

130

1 2

3 4 5

2

3

4

5

1

Putih

To Grayscale =

(0,299

R + 0,587G + 0,114B)

255 255

136,4

255 255

255

136,4

255

136,4

255

255

136,4 136,4 136,4

255

136,4 136,4

255

136,4 136,4 136,4

255

255

255

136,4

0

0

1

0

0

0

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

0

0

0

1

Thresholding =

if P[x,y]>=

θ

then P[x,y]:=0 else P[x,y]:=1


(42)

Gambar

input

yang berformat

bitmap

akan diubah ke dalam sebuah matrik yang

berukuran sesuai dengan ukuran

pixel

dari

input

image tersebut. Selanjutnya akan

dilakukan perubahan ke dalam vektor matrik biner yang hanya bernilai 0 atau 1 pada setiap

pixel-

nya. Setelah didapatkan nilai

grayscale

kemudian nilai pada setiap pixel hasil

grayscale

akan dilakukan proses

thresholding

yang akan menyebabkan setiap

pixel

hanya

bernilai 0 atau 1.

Setelah proses

grayscale

dan

thresholding

selesai, proses selanjutnya adalah

melakukan proses segmentasi (

Segmentation).

.

3.3.2

Proses Segmentasi (

Segmentation)

Pada proses segmentasi dilakukan dengan memetakan jumlah titik hitam setiap

baris pada gambar ke sumbu

y

(

Y-Mapping)

dan setiap baris karakter hasil pemetaan

tersebut dipetakan lagi ke sumbu

x

(

X-Mapping).

Setiap koordinat karakter hasil segmentasi


(43)

Gambar 3.6

Flowchart

Proses Segmentasi

(Segmentation)

Dalam hal ini terjadi tiga proses segmentasi, yaitu :

1.

Segmentasi Baris (

Line Segmentation)

Segmentasi baris merupakan proses awal dari modul proses segmentasi karakter.

Proses yang dilakukan pada tahap segmentasi baris ini adalah dengan

memetakan keseluruhan gambar yang berisi rangkaian karakter pada sumbu-

y

untuk mendapatkan posisi dan tinggi dari tiap-tiap baris (gambar tersebut

diasumsikan gambar yang hanya berisi rangkaian karakter).

Hal ini dilakukan dengan menghitung jumlah

pixel

yang bernilai 1 (

pixel hitam

)


(44)

tersebut akan diperoleh posisi baris (posisi awal dan posisi akhirnya) dan tinggi

setiap baris rangkaian karakter yang ditentukan berdasarkan jumlah

pixel

yang

muncul pada setiap baris

pixel

nya.

Contoh:

Baris pixel ke :

Jum pixel

i=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 i=2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=6 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 = 13 i=7 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 13 i=8 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 = 11 i=9 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 7 i=10 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 7 i=11 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 9 i=12 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 = 18 i=13 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=14 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 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=15 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 = 3 i=16 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 i=17 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 i=18 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 i=19 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 i=20 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 0 0 0 0 0 0 0 0 0 = 1 i=21 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 0 0 0 0 0 0 0 0 0 0 = 1 i=22 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 0 0 0 0 0 0 0 0 0 = 1 i=23 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 0 0 0 0 0 0 0 0 0 = 1 i=24 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 = 15 i=25 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 = 12 i=26 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 = 10 i=27 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 = 8 i=28 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 = 9 i=29 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 8 i=30 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 = 20 i=31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 = 2 i=32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 = 2 i=33 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 0 0 0 0 0 0 0 0 0 0 0 0 0 = 5 i=34 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 i=35 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 i=36 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 i=37 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 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

Gambar 3.7 Ilustrasi Proses Segmentasi

Misal : (Berdasarkan gambar rangkaian karakter di atas)

Jumlah baris = 2

Baris ke – 1

Posisi awal : i = 2

Posisi akhir : i = 15


(45)

Baris ke – 2

Posisi awal : i = 20

Posisi akhir : i = 33

Tinggi karakter = (Posisi akhir – Posisi awal +1)

2.

Segmentasi Kata (

Words Segmentation)

Setiap baris hasil dari tahap segmentasi baris sebelumnya dipetakan pada

sumbu-

x

lalu dihitung jumlah

pixel

bernilai satu (1) (

pixel

hitam). Seperti pada

tahap segmentasi baris, hasil pemetaan pada sumbu-

x

ini akan mendapatkan

jumlah kata per-baris, posisi awal dan posisi akhir setiap kata terhadap sumbu-

x

.

Pada sistem yang akan dibangun ini menggunakan acuan minimal spasi 5.

Besarnya spasi antar kata sangat dipengaruhi oleh ukuran

font

yang digunakan

serta kombinasi antara karakter akhir dari kata pertama dan karakter awal dari

kata kedua. Dari proses ini maka akan didapatkan :

Jumlah kata setiap baris

Posisi awal setiap kata terhadap sumbu

x

Posisi akhir setiap kata terhadap sumbu

x

3.

Segmentasi Karakter (

Character Segmentation)

Segmentasi karakter penelusurannya hampir sama dengan segmentasi kata,

hanya saja pemisahan antar karakter dibatasi minimal 1

pixel

saja.

Hasil dari proses segmentasi ini adalah posisi, lebar dan tinggi untuk masing-masing

karakter.

3.3.3

Normalisasi Karakter

Karena data yang dihasilkan dari proses segmentasi dapat berbeda-beda dimensinya.

Oleh karena itu untuk mendapatkan data yang seragam, akurat dan konsisten dari setiap

sampel, data gambar hasil segmentasi tersebut akan dinormalisasikan (

stretch/shrink)


(1)

Gambar 4.16 Pegujian Hasil Pengenalan Rankaian Kata Berwarna Terhadap Pengaruh Perubahan BW Threshold Arial 14pt


(2)

Gambar 4.18 Pegujian Hasil Pengenalan Rankaian Kata Berwarna Terhadap Pengaruh Perubahan BW Threshold Arial 18pt

Tabel 4.9 Pengaruh Perubahan BW Threshold Terhadap Output Pengenalan Rangkaian Kata Berwarna

CITRA UJI JST CITRA - 1 CITRA - 1 CITRA - 2 CITRA - 2 CITRA - 3 CITRA - 3

Ukuran Font 14pt 14pt 16pt 16pt 18pt 18pt

BW Threshold 196 235 196 235 196 235

Nama File warna_14pt warna_14pt warna_16pt warna_16pt warna_18pt warna_18pt Ukuran File 563 x 257 563 x 257 605 x 257 605 x 257 676 x 267 676 x 267

Jumlah Kata 21 21 21 21 21 21

Jumlah Baris 5 5 5 5 5 5

Jumlah Karakter

(Tanpa Spasi) 132 132 132 132 132 132

Jumlah Pengenalan

Karakter Valid 116 127 123 130 86 99

Jumlah Karakter

yang Tidak Dikenali 16 5 9 2 46 33

Error Rate (%) 12.12 3.79 6.82 1.52 34.85 23.48 Akurasi (%) 87.88 96.21 93.18 98.48 65.15 76.52


(3)

Grafik Perbandingan Akurasi dan Error Rate Berdasarkan Perubahan Threshold Pada Rangkaian Kata Berwarna

10.00 20.00 30.00 40.00 50.00 60.00 70.00 80.00 90.00 100.00 110.00

Ukuran Font dan Threshold

P e rs e n ta s e

Error Rate 12.12 3.79 6.82 1.52 34.85 23.48 Akurasi 87.88 96.21 93.18 98.48 65.15 76.52

14pt ( =196) 14pt ( =235) 16pt ( =196) 16pt ( =235) 18pt ( =196) 18pt ( =235)

Gambar 4.14 Grafik Perbandingan Akurasi dan Error Rate Pengenalan Karakter Berwarna Bedasarkan Perubahan BW Threshold

Pada pengujian ketiga sistem dicoba untuk mengenali masukan citra karakter berwarna. Dalam pengujian ini merubah-rubah parameter BW Threshold sangat diperlukan, BW Threshold default untuk sistem ini adalah 196. Seperti yang sudah dijelaskan sebelumnya pengaruh BW Threshold itu sendiri dikarenakan nilai ini dipakai sebagai batas ambang untuk memisahkan antara karakter dengan

background berdasarkan intensitas tiap-tiap pixel karakter pada citra. Dari tabel diatas terlihat bahwa pada posisi BW Threshold default sistem hanya mampu mengenali input yang diberikan sebesar 87.88% untuk 14pt , 93.18% untuk 16pt dan 65.15% untuk 18pt, ketika parameter BW Threshold dirubah 235 terjadi kenaikan yang cukup signifikan terhadap hasil pengenalan yaitu 96.21% untuk 14pt , 98.48% untuk 16pt dan 76.52% untuk 18pt. Dari hasil pengujian untuk

BW Threshold 196 terlihat sistem tidak bisa mengenali dengan baik dari input


(4)

mendekati nilai pixel warna putih. Telihat perubahan ketika nilai dari BW Threshold dirubah menjadi 235 sistem bisa dikatakan mengenali rangkaian karakter yang diinput-kan kepadanya walaupun masih terdapat beberapa kesalahan pengenalan, tetapi inilah output maksimal yang bisa dihasilkan. Pemilihan nilai BW Threshold ini didasarkan pada perspektif penglihatan mata manusia dengan membandingkan antara input dengan output pengenalan untuk mendapatkan output pengenalan yang paling maksimal.


(5)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan pengujian pengenalan karakter dari suatu kata dalam paragraf menggunakan JST Hopfield baik secara ujicoba maupun berdasarkan teori, serta menganalisa hasil pengujian, maka dapat diambil kesimpulan-kesimpulan sebagai berikut:

1. Persentase akurasi hasil pengenalan tiap karakter untuk ukuran yang sama dengan yang dilatihkan sampai 96,77% dan rata-rata akurasi hasil pengenalan untuk dua ukuran karakter yang berbeda dengan yang dilatihkan adalah 89,52%.

2. Persentase rata-rata akurasi pengenalan image paragraf dengan pemilihan kata secara random untuk ukuran yang sama dengan yang dilatihkan sampai 99,19%, sedangkan untuk ukuran karakter yang berbeda sampai 89,49%

3. Pada pengujian pengenalan image paragraf berwarna berdasarkan pengaruh parameter BW Threshold. Pada BW Threshold default (196) didapat akurasi sampai 93,18% untuk karakter yang sama dengan pelatihan dan rata-rata akurasi untuk dua ukuran yang berbeda dengan pelatihan sampai 76,51%.

Pada BW Threshold (235) didapat akurasi sampai 98,18% untuk karakter yang sama dengan pelatihan dan rata-rata akurasi untuk dua ukuran yang berbeda dengan pelatihan sampai 86,36%.

4. Rata-rata hasil pengenalan untuk setiap jenis ukuran karakter yang tidak dilatihkan bergantung pada ukuran karakter yang telah dilatihkan, apabila jenis karakter tersebut mirip dengan salah satu model karakter yang dilatihkan maka rata-rata hasil pengenalan akan tinggi.

5.2 Saran

1. Proses segmentasi karakter dapat disempurnakan dengan menggunakan beberapa metode pemrosesan citra yang lain.


(6)

DAFTAR PUSTAKA

[1] Diyah Puspitaningrum. 2006. Pengantar Jaringan Syaraf Tiruan.

Yogyakarta : Andi.

[2] Arief Hermawan. 2006. Jaringan Syaraf Tiruan Teori dan Aplikasi.

Yogyakarta : Andi.

[3] Sri Kusumadewi. 2003. Artificial Intelligence (Teknik & Aplikasinya).

Yogyakarta: Graha Ilmu.

[4] Fausett, L (1994), “Fundamental of Neural Network: Architectures, Algorithm,

and Applications”. Prentice Hall, Englewood Cliffs, N.J.

[5] Heaton, Jeff. 2008. Introduction to Neural Networks With Java 2nd Edition.

Heaton Research.

[6] Jure Zupan, Johann Gasteiger. 1999. Neural Networks in Chemistry and Drug

Design 2nd Edition.

[7] P. Coughlin, Robert H. Baran. 1995. Neural Computation in Hopfield Networks

and Boltzmann Machiness.

[8] Jonas Gomes, Luiz Velho. 2005. Image Processing For Computer Graphics.

Springer.

[9] http://en.wikipedia.org/wiki/Hopfield_net

[10] http://www.learnartificialneuralnetworks.com/hopfield.html

[11] http://en.wikipedia.org/wiki/Matrix_multiplication

[12] http://www.bobpowell.net/grayscale.htm