• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2017

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

Copied!
78
0
0

Teks penuh

(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)

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

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

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

(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

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

(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

(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

(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

(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

(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

(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

(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

(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

(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

(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:

(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

(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

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

(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

(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

(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

(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

[image:36.612.96.537.118.596.2]

(

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

(37)
[image:37.612.149.508.63.470.2]

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:

[image:38.612.266.381.317.639.2]

(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)
[image:40.612.179.522.63.472.2]

(41)

Ilustrasi proses

grayscaling

dan

thresholding

:

Image Berwarna Grayscaling Image Hitam Putih

Image Berwarna

Red Green Blue

Image Grayscale

[image:41.612.108.520.78.680.2]

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 =

(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)
[image:43.612.105.518.62.485.2]

Gambar 3.6

Flowchart

Proses Segmentasi

(Segmentation)

Dalam hal ini terjadi tiga proses segmentasi, yaitu :<

Gambar

Gambar 2.1 Jaringan Syaraf Manusia
Gambar 2.2 Ilustrasi Neuron Tiruan
Gambar 2.3 Jaringan Syaraf Tiruan dengan Hidden Layer
Gambar 2.4 Jaringan Syaraf Tiruan Berulang dengan Layer Tersembunyi
+7

Referensi

Dokumen terkait

Dengan ini saya menyatakan bahwa tesis Jaringan Syaraf Tiruan untuk Pengenalan Jenis Kayu Berbasis Citra, adalah karya saya sendiri dan belum pernah diajukan dalam bentuk

Algoritma pengenalan citra sidik jari dimulai dengan mengekstrak citra menjadi ciri-ciri citra dengan cara memilih sejumlah kecil (m) koefisien hasil transformasi wavelet yang

Hasil dari penelitian ini yaitu banyaknya variasi citra data pelatihan mempengaruhi tingkat akurasi sistem pengenalan jenis golongan darah dan algoritma yang digunakan

Lalu untuk proses akhir yaitu pengenalan ekspresi wajah yaitu tahapan dimana citra akan dilatih dan uji untuk dapat diketahui hasil dari ekspresinya dan tahap

Algoritma pengenalan citra sidik jari dimulai dengan mengekstrak citra menjadi ciri-ciri citra dengan cara memilih sejumlah kecil (m) koefisien hasil transformasi wavelet yang

pola angka 0 sampai 9 menggunakan metode Jaringan Syaraf Tiruan dengan model Jaringan Kohonen..  Membuat sistem

Sistem pengenalan penyakit darah menggunakan teknik pengolahan citra dan metode JST, merupakan alternatif yang cukup baik karena mampu mengidentifikasi 3 jenis

Kesimpulan Berdasarkan hasil uji coba dan analisis hasil deteksi kematangan tomat menggunakan metode jaringan syaraf tiruan serta menggunakan teknik pengolahan citra digital yang