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
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.
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
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
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
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
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
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.
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.
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
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.
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
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
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
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
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.
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
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
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
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.
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 i≠ jdan 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
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 i≠ j , 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
] 1 2 ][ 1 2 [ 1 − − = = i j n i
ji U U
W (4)
jika i≠ j 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 j≠i 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
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 j≠i 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
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 = −
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
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:
< −
≥ =
θ θ
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
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
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
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.
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
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
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
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
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
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
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
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]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
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,4255 255
255
136,4255
136,4255
255
136,4 136,4 136,4255
136,4 136,4
255
136,4 136,4 136,4255
255
255
136,40
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 =
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
Gambar 3.6
Flowchart
Proses Segmentasi
(Segmentation)
Dalam hal ini terjadi tiga proses segmentasi, yaitu :<