BAB III PERANCANGAN SISTEM

dokumen-dokumen yang mirip
BAB 3 METODOLOGI PENELITIAN. a. Spesifikasi komputer yang digunakan dalam penelitian ini adalah

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK

BAB 1 PENDAHULUAN. memindahkan data secara manual ke dalam komputer untuk dapat diolah lebih

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI

BAB III METODE PENELITIAN

BAB III ANALISIS DAN PERANCANGAN

SISTEM PENGENALAN KARAKTER DENGAN JARINGAN SYARAF TIRUAN ALGORITMA PERCEPTRON

PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI

SISTEM REKOGNISI KARAKTER NUMERIK MENGGUNAKAN ALGORITMA PERCEPTRON

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

BAB 3 ANALISA DAN PERANCANGAN SISTEM

BAB 2 KONSEP DASAR PENGENAL OBJEK

BAB 3 PERANCANGAN SISTEM

BAB III METODE PENELITIAN. Tujuan tugas akhir ini akan membangun suatu model sistem yang

Architecture Net, Simple Neural Net

METODE JARINGAN SARAF TIRUAN PENJEJAKAN BALIK UNTUK PENGENALAN HURUF CETAK PADA CITRA DIGITAL

PEMANFAATAAN BIOMETRIKA WAJAH PADA SISTEM PRESENSI MENGGUNAKAN BACKPROPAGATION NEURAL NETWORK

BAB III METODE PENELITIAN. menjawab segala permasalahan yang ada dalam penelitian ini.

BAB IV HASIL DAN PEMBAHASAN. Implementasi antar muka dalam tugas akhir ini terdiri dari form halaman

BAB 2 LANDASAN TEORI

Penggunaan Jaringan Syaraf Tiruanuntuk Membaca Karakter pada Formulir Nilai Mata Kuliah

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB II DASAR TEORI. 2.1 Meter Air. Gambar 2.1 Meter Air. Meter air merupakan alat untuk mengukur banyaknya aliran air secara terus

BAB III METODE PENELITIAN. dan bahan, agar mendapatkan hasil yang baik dan terstruktur. Processor Intel Core i3-350m.

PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL

IMPLEMENTASI ALGORITMA PERCEPTRON UNTUK PENGENALAN POLA MASUKAN BINER MAUPUN BIPOLAR MENGGUNAKAN BORLAND DELPHI

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM

Algoritma Kohonen dalam Mengubah Citra Graylevel Menjadi Citra Biner

KOMPRESI CITRA DIGITAL DENGAN MENGGUNAKAN HEBBIAN BASED PRINCIPAL COMPONENT ANALYSIS

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

BAB I PENDAHULUAN. mengenali dan membedakan ciri khas yang dimiliki suatu objek (Hidayatno,

PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) IMPLEMENTASI JARINGAN SYARAF TIRUAN BACKPROPAGATION UNTUK MENGENALI MOTIF BATIK

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB 2 LANDASAN TEORI. memungkinkan sistem komputer membaca secara otomatis nomor kendaraan dari gambar digital

BAB II LANDASAN TEORI

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

PERBANDINGAN ANTARA METODE KOHONEN NEURAL NETWORK DAN LEARNING VECTOR QUANTIZATION PADA SISTEM PENGENALAN TULISAN TANGAN SECARA REAL TIME

BAB III METODOLOGI PENELITIAN

Tujuan Penelitian Tujuan penelitian ini adalah untuk melakukan deteksi penyakit pada daun rose dengan menggunakan metode ANN.

BAB III METODE PENELITIAN

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

IV. RANCANG BANGUN SISTEM. Perangkat lunak bantu yang dibuat adalah perangkat lunak yang digunakan untuk

BAB 2 LANDASAN TEORI

BAB 3 PENGENALAN KARAKTER DENGAN GABUNGAN METODE STATISTIK DAN FCM

ANALISIS DAN PERANCANGAN SISTEM

BAB I PENDAHULUAN 1.2. Latar Belakang Permasalahan

Jaringan Syaraf Tiruan

BAB III PERANCANGAN SISTEM

PENGENALAN KARAKTER DENGAN MENGGUNAKAN HAMMING NETWORK

BAB 1 PENDAHULUAN. dengan proses pengolahan citra digital (digital image processing), dimana data berupa

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 3 PERANCANGAN SISTEM. mendapatkan input, melakukan proses, dan menghasilkan output yang diinginkan oleh

JARINGAN SARAF TIRUAN (ARTIFICIAL NEURAL NETWORK) ERWIEN TJIPTA WIJAYA, ST, M.KOM

BAB 3 METODOLOGI PENELITIAN

IV. HASIL DAN PEMBAHASAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

Jaringan Syaraf Tiruan Bidirectional Associative Memory (BAM) Sebagai Identifikasi Pola Sidik jari Manusia

BAB III METODE PENELITIAN. Pemotong an Suara. Convert. .mp3 to.wav Audacity. Audacity. Gambar 3.1 Blok Diagram Penelitian

BAB III METODE PENELITIAN

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu

ARTIFICIAL NEURAL NETWORK TEKNIK PERAMALAN - A

Klasifikasi Pola Huruf Vokal dengan Menggunakan Jaringan Saraf Tiruan

PENGKONVERSIAN IMAGE MENJADI TEKS UNTUK IDENTIFIKASI PLAT NOMOR KENDARAAN. Sudimanto

BAB III PERANCANGAN SISTEM. Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut

MILIK UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Permasalahan

PENGGUNAAN MATLAB DALAM PENYELESAIAN SISTEM PERSAMAAN LINEAR MENGGUNAKAN JARINGAN HOPFIELD LINEAR ABSTRAK

1.2 Rumusan Masalah Berdasarkan latar belakang yang telah dibuat diatas, rumusan masalah yang dapat diambil adalah :

ADLN - PERPUSTAKAAN UNIVERSITAS AIRLANGGA BAB III METODE PENELITIAN. Penelitian ini dilakukan dalam kurung waktu setahun.

PEMANFAATAN NEURAL NETWORK PERCEPTRON PADA PENGENALAN POLA KARAKTER

IMPLEMENTASI PENGOLAHAN CITRA DAN ALGORITMA LVQ UNTUK PENGENALAN POLA BUKU

Perbandingan Antara Metode Kohonen Neural Network dengan Metode Learning Vector Quantization Pada Pengenalan Pola Tandatangan

Aplikasi yang dibuat adalah aplikasi untuk menghitung. prediksi jumlah dalam hal ini diambil studi kasus data balita

BAB I PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Jaringan syaraf dengan lapisan tunggal

Analisis Jaringan Saraf Tiruan Model Perceptron Pada Pengenalan Pola Pulau di Indonesia

BAB III ANALISIS DAN PERANCANGAN

BAB III METODELOGI PENELITIAN. Alat yang digunakan dalam penelitian ini adalah: a. Prosesor : Intel Core i5-6198du (4 CPUs), ~2.

BAB VI HASIL DAN PEMBAHASAN

PENGENALAN PLAT NOMOR KENDARAAN DALAM SEBUAH CITRA MENGUNAKAN JARINGAN SARAF TIRUAN ABSTRAK

PERANGKAT LUNAK PERBAIKAN KUALITAS CITRA DIGITAL MODEL RGB DAN IHS DENGAN OPERASI PENINGKATAN KONTRAS

BAB 4 IMPLEMENTASI DAN EVALUASI

BAB III METODOLOGI PENELITIAN

Pengenalan Plat Nomor Berdasarkan Klasikasi K-Nearest Neighbor (KNN)

APLIKASI JARINGAN SYARAF TIRUAN UNTUK MEMPREDIKSI VOLUME PEMAKAIAN AIR BERSIH DI KOTA PONTIANAK

KOMPRESI CITRA BERWARNA DENGAN ALGORITMA ENHANCED SELF ORGANIZING MAP (ENHANCED SOM)

IDENTIFIKASI NOMOR POLISI KENDARAAN BERMOTOR MENGGUNAKAN JARINGAN SYARAF TIRUAN SELF ORGANIZING MAPS (SOMS)

BAB 2 LANDASAN TEORI. Teknologi pengenalan teks merupakan teknologi yang mampu mengenali teks

PENGENALAN HURUF TULISAN TANGAN BERBASIS CIRI SKELETON DAN STATISTIK MENGGUNAKAN JARINGAN SARAF TIRUAN. Disusun oleh : Mario Herryn Tambunan ( )

DAFTAR ISI. DAFTAR ISI... vii. DAFTAR GAMBAR... x. DAFTAR TABEL... xii I. PENDAHULUAN Latar Belakang Rumusan Masalah...

BAB 3 METODE PERANCANGAN

BAB IV HASIL PENELITIAN DAN PEMBAHASAN. Rancangan antarmuka (interface) program terdiri dari form cover, form

BAB II LANDASAN TEORI

Transkripsi:

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 diupdate 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 modul image preprocessing, dan modul pengenalan selain bergantung pada modul image 26

preprocessing juga bergantung pada kinerja modul pelatihan. Sehingga dapat dilihat bahwa urutan pengerjaan yang seharusnya dilakukan dalam pembuatan aplikasi ini secara berturutturut membuat modul : image preprocessing, pelatihan (training), dan pengenalan (recognition). BOOK Input Print screen Preprocessing Image *.bmp, *.jpeg Binerisasi Citra berupa Matrik Biner Character Segmentation Line Segmentation Word Segmentation Character Segmentation Get Fixed Character Normalisasi Karakter Fixed Character Normal Karakter (Strecth/ Shrink) 8 x 8 Encode Input Neural Network Hopfield ( JST ) Gambar 3.1 Ilustrasi Proses Pengenalan Hopfield 27

Start Input print screen documen (.bmp) Image Preprocessing Proses Pelatihan ya Akan melakukan pelatihan tidak Simpan hasil pelatihan Data pelatihan tersedia ya Proses Pengenalan tidak Simpan hasil pengenalan (*.txt) End 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. 28

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: Gambar 3.3 Flowchart Modul Image Preprocessing 29

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,299R + 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 dianggap sebuah karakter. 30

Gambar 3.4 Flowchart Proses Grayscaling dan Thresholding 31

Ilustrasi proses grayscaling dan thresholding : 1 2 3 4 5 1 Putih 2 3 4 5 Image Berwarna Grayscaling Image Hitam Putih Image Berwarna Red Green Blue 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 To Grayscale = (0,299R + 0,587G + 0,114B) Image Grayscale Matrik Biner 255 255 136,4 255 255 255 136,4 255 136,4 255 255 136,4 136,4 136,4 255 136,4 136,4 255 136,4 136,4 136,4 255 255 255 136,4 0 0 1 0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 1 1 1 0 0 0 1 Thresholding = if P[x,y]>=θ then P[x,y]:=0 else P[x,y]:=1 Gambar 3.5 Ilustrasi Proses Grayscaling dan Thresholding 32

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 disimpan dalam variabel array yang sudah disiapkan. 33

Gambar 3.6 Flowchart Proses Segmentasi (Segmentation) Dalam hal ini terjadi tiga proses segmentasi, yaitu : 1. Segmentasi Baris ( Line Segmentation) Segmentasi baris merupakan proses awal dari modul proses segmentasi karakter. Proses yang dilakukan pada tahap segmentasi baris ini adalah dengan memetakan keseluruhan gambar yang berisi rangkaian karakter pada sumbu-y untuk mendapatkan posisi dan tinggi dari tiap-tiap baris (gambar tersebut diasumsikan gambar yang hanya berisi rangkaian karakter). Hal ini dilakukan dengan menghitung jumlah pixel yang bernilai 1 (pixel hitam) pada sumbu-y. Selanjutnya dari hasil perhitungan pixel terhadap sumbu-y 34

Contoh: tersebut akan diperoleh posisi baris (posisi awal dan posisi akhirnya) dan tinggi setiap baris rangkaian karakter yang ditentukan berdasarkan jumlah pixel yang muncul pada setiap baris pixelnya. Baris pixel ke : Jum pixel i=1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=6 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 0 0 0 = 13 i=7 0 0 1 1 1 0 0 1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 13 i=8 0 0 0 1 0 0 0 0 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 = 11 i=9 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 7 i=10 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 7 i=11 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 9 i=12 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1 0 0 0 0 0 0 = 18 i=13 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=14 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 1 i=15 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 3 i=16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 1 i=21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 = 1 i=22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 1 i=23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 = 1 i=24 0 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 0 0 0 0 0 0 = 15 i=25 0 0 1 1 1 0 0 1 1 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 = 12 i=26 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 = 10 i=27 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 = 8 i=28 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 = 9 i=29 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 = 8 i=30 0 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 = 20 i=31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 = 2 i=32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 = 2 i=33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 = 5 i=34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 i=37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Gambar 3.7 Ilustrasi Proses Segmentasi Misal : (Berdasarkan gambar rangkaian karakter di atas) Jumlah baris = 2 Baris ke 1 Posisi awal : i = 2 Posisi akhir : i = 15 Tinggi karakter = (Posisi akhir Posisi awal +1) 35

Baris ke 2 Posisi awal : i = 20 Posisi akhir : i = 33 Tinggi karakter = (Posisi akhir Posisi awal +1) 2. Segmentasi Kata (Words Segmentation) Setiap baris hasil dari tahap segmentasi baris sebelumnya dipetakan pada sumbu- x lalu dihitung jumlah pixel bernilai satu (1) (pixel hitam). Seperti pada tahap segmentasi baris, hasil pemetaan pada sumbu-x ini akan mendapatkan jumlah kata per-baris, posisi awal dan posisi akhir setiap kata terhadap sumbu-x. Pada sistem yang akan dibangun ini menggunakan acuan minimal spasi 5. Spasi = Jika ditemukan sederetan pixel putih acuan di atas Besarnya spasi antar kata sangat dipengaruhi oleh ukuran font yang digunakan serta kombinasi antara karakter akhir dari kata pertama dan karakter awal dari kata kedua. Dari proses ini maka akan didapatkan : Jumlah kata setiap baris Posisi awal setiap kata terhadap sumbu x Posisi akhir setiap kata terhadap sumbu x 3. Segmentasi Karakter (Character Segmentation) Segmentasi karakter penelusurannya hampir sama dengan segmentasi kata, hanya saja pemisahan antar karakter dibatasi minimal 1 pixel saja. Hasil dari proses segmentasi ini adalah posisi, lebar dan tinggi untuk masing-masing karakter. 3.3.3 Normalisasi Karakter Karena data yang dihasilkan dari proses segmentasi dapat berbeda-beda dimensinya. Oleh karena itu untuk mendapatkan data yang seragam, akurat dan konsisten dari setiap sampel, data gambar hasil segmentasi tersebut akan dinormalisasikan (stretch/shrink) 36

menjadi gambar dengan ukuran 8 x 8 pixel. Dengan demikian jumlah area yang ada pada setiap sampel akan bersesuaian dengan jumlah neuron input jaringan syaraf tiruan yang akan digunakan. 3.3.4 Ekstraksi Ciri / Encode Input Setelah didapatkan informasi matrik hasil proses normalisasi setiap karakter dalam dimensi matrik 8 x 8, selanjutnya adalah mengektraksi setiap pixel dari citra ke dalam sebuah vektor hal ini dilakukan agar dapat dihasilkan kumpulan data yang seragam pada setiap sampel yang akan diamati. Vektor yang terbentuk bernilai 1 dan -1. Ciri-ciri citra adalah pixel-pixel yang memiliki nilai 1 dan 0. Pixel bernilai 1 adalah pixel berwarna hitam atau objek, sebaliknya pixel bernilai 0 adalah pixel berwarna putih atau background. Pada proses ini pixel-pixel yang yang bernilai 1 dan 0 dicek kembali, apabila pixel tersebut berwarna hitam (1) maka diset tetap dengan nilai 1, sebaliknya ka pixel berwarna putih (0) akan diset dengan nilai -1. Alasannya karena JST Hopfield berkerja dengan nilai 1 atau -1 sehingga fungsi aktifasi yang digunakan adalah bipolar threshold (threshold function) yang mempunyai range -1 sampai 1. Nilai matrik dari hasil proses ini selanjutnya akan diubah menjadi matrik (1 x 64) yang nantinya akan digunakan sebagai masukan JST. Proses perubahann pola vektor biner (1 dan 0) ke vektor bipolar bisa juga menggunakan persamaan : y 2u 1,2u 1,...,2u 1) (21) = ( 1 2 n Keterangan : y : output berupa nilai bipolar 1 atau -1 u n : elemen ke n dari vektor U, di mana U adalah vektor pola biner 1 atau 0 Contoh : Misal untuk pola A mempunyai vektor biner 10011, maka vektor bipolar untuk pola A adalah : y = (2.1-1, 2.0-1, 2.0-1, 2.1-1, 2.1-1) = 1-1 -1 1 1 bipolar 37

3.4 Modul Pelatihan (Training Process) Pada proses pelatihan ini, jaringan akan dilatih berdasarkan vektor input gambar huruf dan angka yang sudah disiapkan sebelumya untuk proses pelatihan. Di mana gambar input pelatihan sudah mengalami proses dari image preprocessing hingga encode input seperti yang sudah dijelaskan sebelumnya kecuali proses segmentasi. Dalam proses ini huruf dan angka dilatihkan satu per satu sesuai dengan input vektornya. Adapun output dari modul ini adalah file data informasi jaringan saraf tiruan yang berisi bobot koneksi antar neuron dari semua pola vektor yang terbentuk dan vektor pola yang dipanggil secara stabil (konvergen). 38

W = 0 W W = = 0 n s= 1 U sj U si j i j = i Invec Outvec Nilai i = n i= 1 w U i θ = 0 f ( Nilaii ) = θ < θ Gambar 3.8 Flowchart Proses Neural Network Pada Modul Pelatihan 39

Pertama vektor pola biner dinormalisasi dengan ukuran 8x8, kemudian vektor biner pola dirubah ke dalam bentuk bipolar yang mempunyai nilai 1 atau -1 kemudian dilakukan proses encode input yang menghasilkan matrik vektor 1x64, vektor inilah yang digunakan sebagai input pelatihan maupun input pengenalan. Sebelum proses pelatihan berjalan hal pertama yang perlu dilakukan adalah membuat sebuah matrik vektor bobot koneksi untuk menyimpan pola dengan kondisi awal W = 0. Setelah itu tiap pola input vektor yang ada dihitung dengan persamaan W = n s= 1 U s j U s i ka j i dan W ij = 0 ka j = i, untuk mendapatkan matrik bobotnya, persamaan tersebut menunjukan bahwa bobot bobot pada matrik vektor W yang terletak pada diagonal utamanya adalah nol (0) yang menunjukan bahwa neuron-neuron pada jaringan Hopfield tidak memiliki hubungan dengan dirinya sendiri ( W = 0; i=j). Sementara itu kesimetrisan vektor bobot berarti berlakunya W ij = W di mana i j, sehingga w 12 = w21, w 13 = w31, w 23 = w 32,..., dan seterusnya. Untuk pola baru yang akan dilatihkan langkahnya sama yaitu membuat matrik bobot koneksi W kemudian matrik bobot yang lama dijumlahkan dengan matrik bobot yang baru untuk mendapatkan bobot matrik koneksi yang bisa merepresentasikan tiap pola ( baru) ( lama) ( baru) ( baru) W U j U i W = +. Setelah didapatkan matrik bobot koneksi langkah selanjutnya adalah menghitung nilai aktivasi tiap pola dengan persamaan n Nilai = U i i= 1 i w untuk mendapatkan sinyal keluaran di mana ketika diaktivasi dengan fungsi threshold akan menghasilkan pola yang dimaksud. Proses ini akan dilakukan berulang-ulang sampai batas iterasi sambil terus memperbarui node-nya dengan menggunakan komponen Outvec i pada neural network yang digunakan sampai jaringan kovergen, konvergen disini dalam arti vektor pola tersebut dipanggil secara stabil. Pembaharuan nilai ini akan terus disimpan dan menjadi patokan untuk iterasi berikutnya sehingga menyebabkan jaringan syaraf tiruan yang ada akan menjadi makin akurat dari waktu ke waktu. Pembaharuan dalam JST Hopfield dilakukan secara asinkron (asynchronous update), artinya pembaharuan tidak dilakukan secara bersamaan kesemua output yang diumpankan kembali sebagai input, melainkan hanya dilakukan pada satu 40

komponen vektor pada satu waktu yang kemudian diumpankan kembali sebagai input jaringan untuk iterasi selanjutnya. Yang harus diajarkan secara manual kepada sistem Hopfield neural network ini adalah pemberian informasi terhadap setiap kelompok output yang terjadi. Karena bagaimanapun juga peran manusia sebagai pihak yang lebih dulu mengetahui informasi mengenai huruf cetak mutlak diperlukan. 3.5 Modul Pengenalan (Recognition Process) Input dari modul pengenalan ini sebenarnya sama dengan input dari modul pelatihan yaitu berupa file gambar dokumen, hanya saja gambar input dalam proses pengenalan ini berupa gambar yang tersusun dari rangkaian kata dan tentunya proses segmentasi perlu dilakukan. Input vektor untuk proses pengenalan ini berupa matrik vektor pola 1x64. Selain input berupa vektor pola gambar, modul ini juga memerlukan data tambahan yaitu berupa nilai-nilai bobot koneksi jaringan dan vektor pola konvergen dari tiap karakter yang telah dilatihkan sebelumnya melalui modul pelatihan. Pada dasarnya pada modul pengenalan ini hanya membandingkan dan memanggil output suatu pola yang sudah dilatihkan sebelumnya. 41

W Invec Outvec Nilai i = n i= 1 w U i θ = 0 f ( Nilaii ) = θ < θ Gambar 3.9 Flowchart Proses Neural Network Pada Modul Pengenalan 42

Sesuai dengan sifat JST Hopfield yaitu auto-associative ini berarti JST Hopfield bisa berperilaku seperti memori yaitu bisa menyimpan informasi yang pernah diberikan dan menampilkan kembali informasi tersebut apabila diminta. Dikarenakan pada proses karakter ini sangat tergantung pada proses segmentasi yang baik, apabila terdapat proses segmentasi yang tidak valid sehingga pola yang diberikan tidak persis seperti salah satu pola dalam pembelajaran maka JST Hopfield mampu memilih salah satu pola dalam memorinya yang paling mirip ini dikarenakan JST Hopfield juga besifat high-fault tolerance dengan asumsi pemilihan output pengenalan ini adalah output yang sesuai dengan kedekatan vektor pola input terhadap pola target. Proses segmentasi yang kurang baik juga bisa menyebabkan JST memanggil pola palsu (spurious stable state) di mana jaringan berkonvergensi terhadap pola lain. 3.6 Desain Neural Network Jaringan Hopfield merupakan jaringan associative memory di mana jaringan tersebut bisa mengingat pola yang telah tersimpan. Topologi jaringan Hopfield merupakan jaringan di mana setiap node saling terhubungan penuh. JST ini terdiri atas satu lapis (layer) dan terdiri dari beberapa neuron. Lebih lanjut, masing-masing neuron terhubung satu sama lain. Artinya, seluruh neuron itu berfungsi sebagai masukan (input), tetapi sekaligus sebagai keluaran (output).setiap node dalam JST Hopfield memiliki bobot koneksi yang simetris, akan tetapi pada JST Hopfield setiap nodenya tidak memiliki hubungan dengan dirinya sendiri, hal ini memenuhi W ij = 0 untuk i = j. W = W ( di mana i = baris dan j = kolom) untuk i j dan ij Secara umum, nilai keluaran JST ditentukan oleh nilai masukan, bobot koneksi (weight), dan fungsi aktivasi. Bentuk fungsi aktivasi dipilih berdasarkan masalah yang akan diselesaikan. Dalam program ini fungsi aktivasi yang digunakan yaitu fungsi bipolar dengan threshold (threshold function) yang mempunyai range -1 atau 1. 43

Gambar 3.10 Topologi Jaringan Hopfield Jumlah neuron dalam sistem JST adalah nx kali ny pixel. Dengan melihat gambar dari topologi jaringan Hopfield maka jumlah neuron input dan neuron output akan sama, pada program ini memakai 64 buah neuron hal ini dilihat dari jumlah karakter yang akan dikenali oleh program ini yaitu sebanyak 62 karakter. Pemilihan jumlah neuron yang dipakai yaitu 64 buah, dikarenakan matriks vektor untuk setiap pola haruslah sama baris dan kolomnya (symetric). Dengan melihat jumlah variasi ouput yang akan dikenali yaitu sebanyak 62 objek maka digunakan sebuah array dua dimensi 8 x 8 dengan anggapan ukuran tersebutlah yang paling mendekati. Dikarenakan pada JST Hopfield tiap node-nya mempunyai bobot koneksi (tidak dengan dirinya sendiri) sehingga jumlah bobot koneksi yang terbentuk adalah 64x64 = 4096 bobot, matrik bobot koneksi yang terbentuk juga simetris antara baris dan kolomnya. Adapun kumpulan node output dari jaringan saraf tiruan yang ada dapat digambarkan sebagai berikut : a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 0 Gambar 3.11 Karakter-Karakter Arial Yang Menjadi Input dan Output Dalam JST 44

Setiap sampel yang diamati dibagi ke dalam sebuah array dua dimensi 8 x 8 untuk mewakili karakter-karakter yang akan dikenali kemudian di-encode sehingga menghasilkan vektor input 1x64 yang digunakan sebagai masukan baik proses pelatihan maupun pengenalan. Fungsi aktivasi yang digunakan dalam jaringan ini adalah fungsi aktivasi bipolar dengan threshold Input pola yang disimpan oleh jaringan adalah dimensi vektor n, di mana n adalah jumlah neuron dalam jaringan. Setelah inisialisasi aktivasi ditentukan pada neuron, jaringan akan mulai menghitung pada setiap iterasi sampai kondisi stabil tercapai yang artinya jaringan dianggap bisa mengenali dan mengingat pola yang dilatihkan. Output dari jaringan adalah vektor dari nilai aktivasi neuron pada kondisi stabil. Jadi ketika jaringan yang sudah dilatih diberikan input karakter, JST Hopfield akan secara otomatis melakukan pengelompokan (clustering) sehingga nilai-nilai input yang serupa akan mengelompok pada node output yang berdekatan atau sama. Sebagai ilustrasi, JST dengan struktur empat neuron diberikan pembelajaran untuk mengingat pola biner 1 0 1 0 dan 0 1 0 1. Dari pola masukan ini bisa dibentuk nilai-nilai bobot yang akan memberikan keluaran yang dikehendaki. Penentuan nilai-nilai bobot ini merupakan bagian dari proses pembelajaran JST. Pada saat pengetesan, bila JST itu diberi masukan pola 1 0 1 0, akan dikeluarkan jawaban pola 1 0 1 0. Jika pola masukan adalah 0 1 0 1, maka dikeluarkan pola yang sama, yaitu 0 1 0 1. Ini mencerminkan sifat auto-associative. Apabila pola yang diberikan tidak persis seperti salah satu pola dalam pembelajaran maka JST Hopfield mampu memilih salah satu pola dalam memorinya yang paling mirip. Misalnya, diberikan masukan pola 0 1 0 0, maka keluarannya adalah 0 1 0 1, yaitu salah satu pola yang pernah dilatihkan. Sifat seperti ini disebut sebagai high-fault tolerance berdasarkan kedekatan antara vektor pola input dengan vektor pola target. 3.7 Desain Menu Sudah dijelaskan sebelumnya, secara umum alur proses keseluruhan sistem dibagi menjadi tiga yaitu : modul image preprocessing, modul pelatihan dan modul pengenalan. Tetapi dalam desain menu program yang dibuat hanya terdapat menu untuk modul pelatihan (training), modul pelatihan (recognition) dan menu option untuk mengubah-ubah 45

parameter dalam jaringan. Dalam perancangan ini proses pada modul image preprocessing tidak dihilangkan, melainkan digabung dengan modul pelatihan dan pengenalan. Tahapan perancangan dalam pembuatan suatu program merupakan tahapan yang sangat penting karena tahapan ini akan menentukan apakah suatu program akan memiliki kontruksi yang baik. Desain program yang dibuat harus mudah untuk digunakan, dapat dipahami dan dimengerti oleh pemakai ataupun orang lain, serta informasi yang dihasilkan dari program tersebut dapat dimengerti. Menu pada perangkat lunak digunakan untuk mempersingkat suatu perintah yang terdapat dalam bahasa pemrograman. Dengan adanya menu maka akan memudahkan dalam menampilkan suatu jendela (windows) pada perangkat lunak. Adapun struktur menu untuk perangkat lunak terlihat pada diagram berikut: Gambar 3.12 Perancangan Menu Utama Program 46

Menu yang dirancang pada perangkat lunak ini terdiri dari 3 menu utama, yaitu : 1. Fungsi, terdiri dari submenu ambil gambar teks, simpan teks hasil pengenalan, ambil hasil pelatihan, simpan hasil pelatihan dan keluar. 2. Proses, terdiri dari submenu parameter pengenalan, pengenalan Hopfield, pelatihan, bersihkan. 3. Informasi merupakan keterangan singkat aplikasi serta identitas dari pembuat program. 47