• Tidak ada hasil yang ditemukan

PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL"

Copied!
30
0
0

Teks penuh

(1)

PERANGKAT LUNAK PENGKONVERSI TEKS

TULISAN TANGAN MENJADI TEKS DIGITAL

Oleh :

ACHMAD FAUZI ARIEF 1203 109 007 Dosen Pembimbing : Drs. Nurul Hidayat, M.Kom

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT TEKNOLOGI SEPULUH NOPEMBER

SURABAYA 2009

(2)

LATAR BELAKANG (1)

Pengguna komputer yang cukup diuntungkan adalah kantor-kantor dengan segala kegiatannya antara lain kegiatan

administrasi, marketing, publikasi dan lain sebagainya. Dari ilustrasi tersebut menggambarkan bagaimana mudahnya

pekejaan manusia dengan segala fasilitas. Namun kadang pula muncul kesulitan terutama dalam menghadapi data-data yang menumpuk dan tidak dapat mengolahnya dikarenakan suatu hal antara lain data tersebut berupa file gambar (misal

berekstensi bitmap) dan secara terpaksa harus diolah dengan mode gambar pula.

(3)

LATAR BELAKANG (2)

Dari situlah dicoba untuk membuat perangkat lunak

yang dapat mengolah huruf dalam bentuk tulisan

tangan yang berasal dari file gambar menjadi tulisan

yang berupa teks digital. Dalam pengkonversian suatu

tulisan tangan dalam file gambar menjadi suatu

tulisan dalam file teks digital maka pembuatan

perangkat lunak ini menggunakan pengolahan citra

untuk mengolah tulisan dalam bentuk file gambar

tersebut dan hasilnya digunakan sebagai input dari

jaringan syaraf tiruan back propagation dengan fungsi

sebagai pengambil keputusan. Perangkat lunak ini

diletakkan pada sisi server sebuah jaringan komputer

yang akan bisa digunakan oleh seluruh client dari

jaringan tersebut. Sehingga di perlukan desain web

dalam aplikasi tersebut. Agar dapat dipakai oleh

(4)

RUMUSAN MASALAH

†

Bagaimana mendeteksi citra pengenalan

huruf dalam bentuk tulisan tangan yang

merupakan objek dari citra tersebut.

†

Bagaimana membuat implementasi yang

inputnya merupakan citra dikonversikan

menjadi teks digital.

†

Bagaimana menganalisis hasil yang

diperoleh dari implementasi pengenalan

tulisan.

(5)

BATASAN MASALAH

† Citra yang digunakan adalah citra hitam-putih (grayscale) berbentuk

tulisan dengan latar belakang berwarna terang dan berekstensi bitmap (*.bmp).

† Huruf tipe tulisan (font) berukuran 10 sampai 50 dan kanvas tulis berukuran 100 x 100 piksel dengan huruf alpabet (A sampai Z latin kecil dan kapital), angka numerik (0 sampai 9) dan tanda baca tanya, seru, koma, titik pada sistem.

† Alat yang digunakan untuk menulis sebuah teks tulisan tangan adalah

sebuah mouse pada komputer.

† Ketebalan pensil untuk tulisan tangan pada sistem berukuran 5 piksel.

† Metode yang digunakan untuk pengkonversian teks adalah metode

jaringan syaraf tiruan Standart Backpropagation.

† Implementasi yang digunakan untuk membuat pengkonversian teks tulisan tangan menjadi teks digital adalah Borland Delphi 6

(6)

TUJUAN DAN MANFAAT

†

Tujuan dari tugas akhir ini adalah membuat

perangkat lunak untuk mengkonversi teks

tulisan tangan dari citra menjadi teks digital.

†

Manfaat yang diperoleh dari tugas akhir ini

adalah agar dapat digunakan oleh beberapa

user (pengguna) untuk mengolah tulisan

tangan dalam bentuk file citra menjadi teks

digital dalam kode ASCII, sebagai acuan

untuk penelitian lain dengan metode yang

berbeda dan sebagai pengembangan

(7)

DASAR TEORI (1)

† Definisi Perangkat Lunak

Perangkat lunak atau piranti lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras.

† Definisi Teks

Teks adalah data yang terdiri dari huruf-huruf yang menyatakan kata-kata atau lambang-lambang untuk

berkomunikasi oleh manusia dalam bentuk tulisan. Dalam penulisan tugas akhir ini ada dua teks, antara lain:

1. Teks tulisan tangan, merupakan data yang terdiri dari huruf-huruf yang menyatakan kata-kata untuk berkomunikasi dalam bentuk tulisan tangan manusia.

2. Teks digital, merupakan data yang terdiri dari huruf-huruf yang menyatakan kata-kata untuk berkomunikasi dalam bentuk

tulisan di dalam sistem komputer. Dengan arti lainnya, teks digital adalah suatu jenis penggambaran dari rangkaian huruf pada sistem komputer.

(8)

DASAR TEORI (2)

† Pengolahan Citra Definisi Citra

Citra adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra adalah sebuah fungsi intensitas cahaya dua dimensi f(x,y) dimana x adalah posisi baris dan y adalah posisi kolom sedangkan f adalah fungsi intensitas atau kecerahan dari citra pada koordinat.

Representasi Citra Digital

Suatu citra agar dapat direpresentasikan secara numerik, maka citra harus didigitalisasi. Citra yang dihasilkan inilah yang disebut citra digital.

Indeks baris (x) dan indeks kolom (y) menyatakan suatu koordinat titik pada citra. Sedangkan f(x,y) merupakan intensitas (derajat keabuan) pada titik (x,y). Masing-masing titik (x,y) di citra disebut piksel. Jadi citra yang berukuran N x M mempunyai NM buah piksel.

( ) [ ] ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )⎥⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − = = 1 , 1 ... 1 , 1 0 , 1 ... ... ... ... 1 , 1 ... 1 , 1 0 , 1 1 , 0 ... 1 , 0 0 , 0 , M N f N f N f M f f f M f f f y x f f

(9)

DASAR TEORI (3)

Koordinat Citra Digital

† Koordinat pusat dalam citra digital berada di sudut kiri atas.

Citra Hitam-Putih

† Citra hitam-putih mempunyai nilai kuantisasi derajat keabuan

sampai tingkatan ke-256 artinya mempunyai skala abu dari 0 sampai 255 atau selang [0, 255] dan citra ini membutuhkan 1

byte (8 bit) untuk representasi setiap pikselnya (256 = ).8

(10)

DASAR TEORI (4)

Citra Biner

† Citra biner adalah citra yang hanya mempunyai dua nilai derajat

keabuan: hitam dan putih. Piksel-piksel objek bernilai satu (1) dan piksel-piksel latar belakang bernilai nol (0).

† Pada waktu menampilkan representasi biner pada citra, nilai nol (0)

adalah putih dan nilai satu (1) adalah hitam.

Aras Titik

† Operasi pada aras titik hanya dilakukan pada piksel tunggal di dalam citra.

† Operasi pada aras titik dinyatakan sebagai:

yang dalam hal ini fA dan fB masing-masing adalah citra masukan dan

citra keluaran, Otitik dapat berupa operasi linear atau nonlinear

.

( )

,

{

( )

,

}

B titik A

(11)

DASAR TEORI (5)

Grayscaling

†

Dengan menggunakan mengubah representasi nilai-nilai

intensitas komponen RGB pada koordinat piksel sebuah

citra dapat diubah menjadi citra yang terdiri dari putih

dan hitam yang biasanya disebut citra grayscale.

†

dirumuskan sebagai berikut:

atau

0, 299

0, 587

0,114

Grayscale

=

R

+

G

+

B

3

R

G

B

Grayscale

=

+ +

(12)

DASAR TEORI (6)

Thresholding

† Konversi dari citra hitam-putih menjadi citra biner dilakukan dengan operasi pengambangan (thresholding).

† Fungsi Thresholding:

dalam hal ini, fg(i,j) adalah citra hitam-putih, fB(i,j) adalah citra

biner dan T adalah nilai ambang yang dispesifikasikan. Objek dibuat berwarna gelap (1 atau hitam) sedangkan latar

belakang terang (0 atau putih).

Segmentasi Citra

† Segmentasi citra merupakan suatu proses yang membagi citra

ke dalam beberapa bagian yaitu bagian yang diperlukan dan bagian yang tidak diperlukan.

( )

{

... ... . 1, ( , ) , 0, ... g B f i j T f i j lainnya ≤ =

(13)

DASAR TEORI (7)

Cropping

†

Cropping pada pengolahan citra berarti memotong satu

bagian dari citra sehingga diperoleh citra yang

diharapkan. Ukuran Cropping citra dapat dirumuskan

sebagai berikut:

Normalisasi

†

Normalisasi pada pengolahan citra berarti

mentransformasikan citra ke bentuk citra normal yang

sesuai dengan kebutuhan. Sistem ini menggunakan

penskalaan dari citra semula ke bentuk citra normalisasi.

'

(

R L

) 1

w

=

X

X

+

h

'

=

(

Y

B

Y

T

) 1

+

'

.

x

x

=

S x

y

'

=

S y

y

.

(14)

DASAR TEORI (8)

Ekstraksi Ciri

†

Ekstraksi ciri pada pengolahan citra berarti

mengubah nilai-nilai intensitas koordinat piksel

yang terdapat dalam citra menjadi susunan

kode-kode nilai pada setiap piksel.

†

Nilai setiap titik koordinat piksel huruf diberi

kode satu (1) untuk warna hitam dan kode

minus satu (-1) untuk warna putih sesuai

dengan fungsi aktivasi pada jaringan syaraf

tiruan.

†

Di-fungsi-kan sebagai berikut:

( )

{

.... ... .. 1, ( , ) 0 , 1, .. ( , ).. f i j f i j f i j lainnya = = −

(15)

DASAR TEORI (9)

† Jaringan Syaraf Tiruan

Arsitektur

Jaringan syaraf tiruan menggunakan tipe multi-layer yaitu menggunakan layer-layer antara lain: input layer-layer (Xi), hidden layer (Zj) dan output layer (Yk), bias

(16)

DASAR TEORI (10)

Fungsi Aktivasi

Fungsi aktivasi untuk jaringan backpropagation memiliki

beberapa karakteristik yang penting. Salah satu tipe

fungsi aktivasi yang paling banyak digunakan adalah

fungsi sigmoid biner, yang mempunyai interval (-1,1)

dan didefinisikan sebagai berikut:

dan dengan

( )

( )

1 exp 1 2 2 = + x x f

( )

x

[

f x

]

[

f

( )

x

]

f2 1 2( ) 1 2 2 1 ' = + −

(17)

DASAR TEORI (11)

Algoritma Training

Step 0. Inisialisasi nilai bobot dengan nilai acak yang kecil.

Step 1. Selama kondisi berhenti belum terpenuhi, lakukan step 2-9. Step 2. Untuk setiap pasangan training, lakukan step 3-8.

Feedforward (umpan maju):

Step 3. Untuk setiap unit input (Xi, i = 1,…,n) menerima sinyal input xi dan menyebarkan

sinyal itu keseluruh unit pada layer atasnya (hidden layer).

Step 4. Untuk setiap unit hidden (Zj, j = 1,…,p) jumlahkan nilai input dengan menggunakan

nilai bobotnya,

Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi,

Dan hasil fungsi tersebut dikirim ke semua unit pada layer di atasnya (unit output).

0 1 _ n j j i ij i z in v x v = = +

( _

)

j j

z

=

f z in

(18)

DASAR TEORI (12)

Step 5. Untuk Setiap unit output (Yk, k = 1,...,m) jumlahkan nilai input dengan menggunakan

nilai bobot-nya.

Kemudian dihitung nilai output dengan menggunakan fungsi aktivasi,

Kesalahan backpropagation (error):

Step 6. Untuk setiap unit output (Yk, k = 1,...,m) menerima pola target yang bersesuain

dengan pola input dan kemudian dihitung informasi kesalahan,

Hitung koreksi nilai bobot yang kemudian akan digunakan untuk memperbaharui nilai bobot wjk,

Hitung koreksi nilai bias yang kemudian akan digunakan untuk memperbaharui nilai w0k,

Dan kemudian nilai dikirim ke unit pada layer sebelumnya.

0 1 _ p k k j jk j y in w z w = = +

( _ ) k k y = f y in ( ) '( _ ) k tk yk f y ink δ = − jk k j w αδ z ∆ = 0k k w αδ ∆ = k δ

(19)

DASAR TEORI (13)

Step 7. Untuk setiap unit hidden (Zj, j = 1,…,p) jumlahkan delta input yang berasal dari unit

pada layer di atasnya,

Kalikan dengan nilai turunan dari fungsi aktivasi untuk menghitung informasi kesalahan,

Hitung koreksi nilai bobot, kemudian akan digunakan untuk memperbaharui nilai bobot vij,

Hitung koreksi nilai bias, kemudian akan digunakan untuk memperbaharui nilai v0j,

Memperbaharui bobot dan bias (Update):

Step 8. Setiap unit output (Yk, k = 1,...,m) membaharui bobot dan biasnya (j = 0,...,p):

Setiap unit hidden (Zj, j = 1,…,p) membaharui bobot dan biasnya (i = 0,...,n):

Step 9. Kondisi pengujian berhenti.

1 _ m j k jk k in w δ δ = =

_ '( _ ) j in fj z inj δ =δ ij j i v αδ x ∆ = 0 j j v αδ ∆ = ( ) ( ) jk jk jk w baru = w lama + ∆w ( ) ( ) ij ij ij v baru = v lama + ∆v

(20)

DASAR TEORI (14)

Catatan dalam algoritma training standart backpropagation:

Gradient Descent. Fungsi gradient descent adalah untuk mengurangi

atau meminimalkan nilai error target berikutnya. Error target dirumuskan sebagai berikut:

Random Initialization. Dan untuk menentukan inisialisasi bobot,

bobot awal dicari secara acak (random initialization) dengan nilai

antara -0.5 untuk negatif dan 0.5 untuk positif (atau antara -1 dan 1 atau nilai lainnya sesuai dengan interval).

Epoch. Merupakan salah satu siklus perputaran melalui setiap set

vektor training.

Hamming Distance. Perbedaan jumlah bit dalam dua vektor biner

atau bipolar. Nilai rata-rata vektor hamming distance adalah:

2 1

1

(

)

2

n k k k

E

t

y

=

=

1 2 1 [ , ] H x x n

(21)
(22)
(23)

UJI COBA PERANGKAT LUNAK (1)

Inisialisasi masukan, antara lain:

† Inisialisai pengkonversian teks.

1. B&W Threshold dengan 196.

2. Noise Threshold dengan 10.

3. Space Width dengan 22.

† Inisialisasi parameter set training.

1. Learning Rate dengan 0,001.

2. Weights Initialization Factor dengan 0,5.

3. Error Threshold dengan 1.

4. Target Classification Error dengan -1.

5. Target Squared Error dengan 0,01.

6. Maximum Epochs dengan 100.

† Inisialisasi arsitektur jaringan.

1. Input Pattern dengan tinggi dan lebar citra 20 x 20.

2. Target Pattern dengan tinggi dan lebar citra 20 x 20.

3. Number of Input Neuron dengan 400.

4. Number of Hidden Neuron dengan 50.

(24)

UJI COBA PERANGKAT LUNAK (2)

†

Pengambilan Data

Mempersiapkan citra berotasi dengan 3 putaran arah, yaitu: 0, 5 dan 355.

Membuat citra berbentuk pola lainnya secara real time pada setiap huruf/simbol.

Menghasilkan jumlah keseluruhan epoch 164000, jumlah

keseluruhan squared error 0,1031610851753050 dan jumlah keseluruhan klasifikasi piksel error 5,4930% dengan neuron

error 36032 dan jumlah output neuron 656000.

†

Pengenalan Huruf

Citra uji sebanyak 3280 citra huruf dengan 1640 citra dari data referensi dan 1640 citra dari pola huruf tulisan tangan secara

real time.

Hasil uji coba pengenalan huruf menggunakan proses testing mendapatkan prosentasi rata-rata sebesar 66,58%.

(25)

UJI COBA PERANGKAT LUNAK (3)

† Pengkonversian Teks

Hasil uji coba pengkonversian teks mendapatkan prosentasi sebesar 50,00%.

Analisis huruf yang tidak dikenali oleh sistem.

Dalam perhitungan backpropagation nilai vektor-vektor huruf h kecil mendapatkan nilai rata-rata hamming distance sebesar 27 / 400, nilai dari huruf h kecil tersebut adalah nilai paling kecil dibanding nilai-nilai huruf/simbol lainnya dan dikenali dengan nilai vektor-vektor huruf i kecil.

(26)

KESIMPULAN

† Penggunaan proses training untuk mengambil data referensi bersifat real

time dan non real time menghasilkan jumlah keseluruhan epoch 164000,

jumlah keseluruhan squared error 0,1031610851753050 dan jumlah keseluruhan klasifikasi piksel error 5,4930%.

† Penggunaan proses testing menggunakan hamming distance ini dapat dinyatakan cukup baik, hal ini dibuktikan pada total prosentasi rata-rata pengenalan huruf sebesar 66,58% dan pengkonversian teks sebesar 50,00%.

† Pada saat proses training perputaran epoch akan berhenti sendiri bila

bobot tersebut memiliki bobot yang baik dan bila bobot tersebut belum memiliki bobot yang baik, proses training akan berhenti sendiri dengan batas maksimum epoch yang telah diatur.

† Besarnya ukuran penulisan huruf mempengaruhi hasil pengkonversian teks dikarenakan pengecilan nilai kode-kode bit ke input pattern pada proses

testing.

† Pembacaan teks pada program ini sebaris, yaitu tulisan sederet dengan barisan huruf yang lain agar tidak bertabrakan dengan barisan huruf lainnya.

† Pembacaan teks pada program ini satu huruf, yaitu tulisan huruf tidak

boleh gandeng karena sistem akan membaca dengan satu huruf.

† Pengaturan input dan target pattern pada pengkonversian teks disesuaikan dengan input dan target pattern pada pengambilan data huruf.

(27)

SARAN

†

Untuk mendapatkan data training yang banyak dan

cepat pada saat proses training backpropagation

diharapkan menggunakan implementasi yang baik.

†

Untuk mendapatkan hasil yang memuaskan diharapkan

pada inisialisasi parameter dan arsitektur jaringan

backpropagation saat proses training diatur dengan baik

dan memperbanyak data referensi yang akan

digunakan.

†

Ada baiknya melakukan pengembangan perangkat

lunak yang terdapat fasilitas tulisan berwarna dan

merotasi huruf, sehingga citra dapat masuk ke

perangkat lunak ini tanpa harus menggunakan aplikasi

lain.

(28)

DAFTAR PUSTAKA (1)

[1] Fausett, L. (1994). Fundamentals of Neural Network.

Prentice-Hall International, Inc., Florida Institut of Technology. [2] Munir, Rinaldi. (2004). Pengolahan Citra Digital dengan

Pendekatan Algoritmik. Informatika, Bandung.

[3] Pranata, A. (2003). Pemrograman Borland Delphi. Andi Yogyakarta, Jogyakarta.

[4] Kristianto, Yusuf. (1999). Pembuatan Perangkat Lunak

untuk Pengenalan Huruf dengan Jaringan Saraf Tiruan.

Tugas Akhir, Jurusan Matematika, ITS, Surabaya.

[5] Wardhana, Adhitya Aris. (2004). Jaringan Syaraf Tiruan

untuk Pengenalan Pola Tulisan Tangan menggunakan Metode Backpropagation dengan Fungsi Aktifasi

Sigmoid. Tugas Akhir, Jurusan Fisika, ITS, Surabaya.

[6]

Susilo, Yosef Herry. (1998). Pengenalan Huruf dengan

Pengolahan Citra melalui Kamera. Tugas Akhir, Jurusan

(29)

DAFTAR PUSTAKA (2)

[7] Oktavia, N.Y, Zakky, A, Sigit, R, Huda, M. (2002). Aplikasi

Jaringan Syaraf Tiruan untuk Pengenalan Huruf pada Pengolahan Citra Digital Berbasis Web. Makalah Tugas

Pendahuluan Proyek Akhir, Jurusan Telekomunikasi, PENS-ITS, Surabaya.

[8] Ni, Dong Xiao. (2007). Application of Neural Networks to

Character Recognition. Seidenberg School of CSIS, Pace

University, White Plains, New York.

[9] Mamedov, F, Abu Hasna, J. F. Character Recognition Using

Neural Networks. Near East University, North Cyprus,

Turkey.

[10] Budhi, G.S, Gunawan, I, Jaowry S,. Metode Jaringan Saraf

Tiruan Backpropagation untuk Pengenalan Huruf Cetak pada Citra Digital, <URL:http://fportfolio.petra.ac.

(30)

Gambar

Gambar 1. Salah-satu contoh pengenalan tulisan berupa angka

Referensi

Dokumen terkait

Berdasarkan harga wajar saham PT.BAT Indonesia,Tbk maka dapat disimpulkan bahwa nilai pasar untuk saham BAT Indonesia selama bulan Januari hingga April 2000 lebih tinggi (

Partisipasi masyarakat di Desa Bejijong Kecamatan Trowulan Kabupaten Mojokerto mengarah bagaimana masyarakat dapat mengolah serta memanfaatkan potensi sejarah yang ada karena

Citra keinginan ini adalah seperti apa yang ingin dan dicapai oleh pihak internal terhadap perusahaan atau produk yang ditampilkan tersebut lebih dikenal (good

Sebagaimana diketahui dari pemaparan sebelumnya bahwa banyak kegiatan eksplorasi yang dapat dilakukan dalam kegiatan pembelajaran pada anak usia dini. Begitupula halnya

Prinsip pembuatan vegetable leather sama dengan fruit leather yang membedakan, yaitu bahan baku yang digunakan. Vegetable leather menggunakan.. sayuran sebagai bahan

Interaksi antara perbandingan sari bunga telang dengan sari lemon (A) dan konsentrasi sukrosa (B) berpengaruh terhadap kadar pH, dan parameter organoleptik

Kegiatan belajar mengajar pada Madrasah Tsanawiyah (MTs) Swasta di Kabupaten Sumedang merupakan kegiatan pembelajaran yang utama guna mengantarkan siswa maupun

Pelatihan adalah suatu proses yang sistematis dari berlatih atau bekerja yang dilakukan secara berulang-ulang dengan kian hari meningkatkan jumlah beban latihan atau