Anda di halaman 1dari 9

PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL

Nama Mahasiswa NRP Jurusan Dosen Pembimbing : : : : Achmad Fauzi Arief 1203 109 007 Matematika FMIPA-ITS Drs. Nurul Hidayat, M.Kom

Abstrak Teks digital adalah data yang terdiri dari karakter-karakter yang menyatakan kata-kata untuk berkomunikasi oleh manusia dalam bentuk tulisan di dalam sistem komputer. Di dalam sistem komputer terdapat data-data yang berupa teks, dokumen dan citra. Data-data tersebut dapat diolah dalam berbagai macam perangkat lunak untuk kebutuhan kantor, bisnis dan lain sebagainya. Apabila data yang dibutuhkan dalam kebutuhan kantor, bisnis dan lainnya adalah data teks tulisan tangan berupa citra maka dibuat suatu perangkat lunak yang dapat mengolah data citra tersebut menjadi data teks tulisan berbentuk teks digital. Pada tugas akhir ini akan dibuat suatu perangkat lunak yang dapat mengolah teks tulisan tangan menjadi teks digital. Dalam proses pembuatan perangkat lunak ini menggunakan teks tulisan tangan sebagai citra masukan. Data tersebut diproses dan diwujudkan dalam pengolahan citra dengan proses segmentasi menggunakan thresholding, kemudian hasil dari pengolahan citra dimasukan sebagai input unit pada jaringan syaraf tiruan standart backpropagation yang berfungsi sebagai pengambil keputusan dengan tujuan mengenali teks tulisan tangan tersebut dan selanjutnya diwujudkan dalam bentuk teks digital dalam sistem komputer berkode ASCII. Dari hasil uji coba yang telah dilakukan menunjukkan selama pengambilan data karakter didapat 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. Dan hasil uji coba pada pengenalan setiap karakter teks menunjukkan prosentasi rata-rata keberhasilan 66,58% dan pengkonversian teks sebesar 50,00%. Kata kunci : Teks Tulisan Tangan, Teks Digital, Pengolahan Citra Digital, Jaringan Syaraf Tiruan Backpropagation

1.

PENDAHULUAN Perkembangan dunia teknologi sangat berpengaruh dalam banyak segi kehidupan manusia apalagi di zaman yang serba modern ini kecanggihan teknologi dapat dimanfaatkan untuk membantu tugas manusia, salah satu aplikasi dari kecanggihan teknologi tersebut adalah komputer. Komputer dengan segala perangkat pendukungnya tersebut (baik hardware maupun software) adalah suatu alat yang dapat melakukan proses-proses tertentu antara lain menghitung, menyimpan data dan lain sebagainya. Apalagi saat ini didukung dengan software-software yang beraneka ragam dan dapat diperoleh dengan mudah. Salah satu pengguna komputer yang cukup diuntungkan adalah kantor-kantor dengan segala kegiatannya antara lain kegiatan kantor, bisnis 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. 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 masukan dari jaringan syaraf tiruan standart backpropagation dengan fungsi sebagai pengambil keputusan. Sehingga di perlukan suatu perangkat lunak yang dapat dijalankan di komputer dan agar dapat dipakai oleh beberapa user (pengguna) di berbagai tempat maka tugas akhir ini dibuat. Berdasarkan latar belakang diatas maka ada beberapa permasalahan yang dibahas yaitu:

bagaimana mendeteksi huruf dalam bentuk teks tulisan tangan yang merupakan objek tersebut, bagaimana membuat perangkat lunak teks tulisan tangan dikonversikan menjadi teks digital dan bagaimana menganalisis hasil yang diperoleh dari pembuatan perangkat lunak teks tulisan tangan menjadi teks digital. Tujuan dari permasalahan ini adalah membuat perangkat lunak untuk mengkonversi teks tulisan tangan dari citra menjadi teks digital. Sedangkan 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 perangkat lunak bila hasil tidak memuaskan. Dalam permasalahan pembuatan perangkat lunak ini dibatasi oleh hal-hal sebagai berikut: 1. Citra yang digunakan adalah citra hitam-putih (grayscale) berbentuk tulisan dengan latar belakang berwarna terang dan berekstensi bitmap (*.bmp). 2. Huruf tipe tulisan 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. 3. Alat yang digunakan untuk menulis sebuah teks tulisan tangan adalah sebuah mouse pada komputer. 4. Ketebalan pensil untuk tulisan tangan pada sistem berukuran 5 piksel. 5. Metode yang digunakan untuk pengkonversian teks adalah metode jaringan syaraf tiruan Standart Backpropagation. 6. Implementasi yang digunakan untuk membuat pengkonversian teks tulisan tangan menjadi teks digital adalah Borland Delphi 6 Enterprise. 2. 2.1. DASAR TEORI Definisi Perangkat Lunak Perangkat lunak atau piranti lunak adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras, melakukan proses perhitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti sistem operasi, dan bahasa pemrograman) dan lain-lain.

2.2.

Definisi Teks Teks adalah data yang terdiri dari karakter-karakter 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 karakter-karakter yang menyatakan kata-kata untuk berkomunikasi dalam bentuk tulisan tangan manusia. 2. Teks digital, merupakan data yang terdiri dari karakter-karakter yang menyatakan kata-kata untuk berkomunikasi dalam bentuk tulisan di dalam sistem komputer. Dengan arti lainnya, teks digital adalah suatu jenis penggambaran dari rangkaian karakter pada sistem komputer. Pengolahan Citra Definisi Citra Secara harafiah, 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 (x,y). Pada umumnya citra berbentuk empat persegi panjang dan dimensi ukurannya dinyatakan sebagai (tinggi x lebar). Citra dengan tinggi N piksel, lebarnya M piksel, dan memiliki intensitas f dapat dipresentasikan sebagai suatu matriks yang berukuran N baris dan M kolom sebagai berikut [2]:
f ( 0, 0 ) f (1, 0 ) f = f ( x, y ) = ... f ( N 1, 0 ) f ( 0,1) f (1,1) ... ... ... ... f ( N 1,1) ... f ( 0, M 1) f (1, M 1) .........( 2.1) ... f ( N 1, M 1)

2.3. 2.3.1.

Indeks baris (x) dan indeks kolom (y) menyatakan suatu koordinat titik pada citra. Masing-masing titik (x,y) di citra disebut picture element atau piksel, sedangkan f(x,y) merupakan intensitas (derajat keabuan) pada titik (x,y) [2]. Citra hitam-putih mempunyai nilai kuantisasi derajat keabuan sampai tingkatan ke256 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 = 28) [2] 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 gambar, nol (0) adalah putih dan satu (1) adalah hitam. Jadi pada citra biner, latar belakang berwarna putih sedangkan objek berwarna hitam [2].

2.3.2.

Koordinat Citra Digital Secara umum, metode yang digunakan untuk menyatakan lokasi dari sebuah citra digital adalah menggunakan koordinat piksel. Representasi bentuk koordinat dalam citra digital sedikit berbeda dengan representasi dalam grafik matematika pada umumnya. Koordinat pusat dalam citra digital berada di sudut kiri atas, seperti yang ditunjukkan pada Gambar 2.1. berikut ini.

(threshould) yang dispesifikasikan. Dengan operasi pengambangan tersebut, objek dibuat berwarna gelap (1 atau hitam) sedangkan latar belakang terang (0 atau putih). 2.3.6. Segmentasi Citra Segmentasi citra merupakan suatu proses yang membagi citra ke dalam beberapa bagian yaitu bagian yang diperlukan dan bagian yang tidak diperlukan oleh sistem. Segmentasi bertujuan mengelompokkan piksel-piksel objek menjadi wilayah (region) yang mempresentasikan objek. Dalam sistem ini, penulis menggunakan segmentasi ke bentuk-bentuk dasar dengan menjadikan huruf ke garis-garis vertikal dan horizontal. Cropping Cropping pada pengolahan citra berarti memotong satu bagian dari citra sehingga diperoleh citra yang diharapkan. Ukuran pemotongan citra tersebut berubah sesuai dengan ukuran citra yang diambil. Cropping dilakukan pada koordinat (x,y) sampai pada koordinat (m,n). Oleh karena itu, pertama kali yang harus dilakukan adalah menentukan koordinat-koordinat tersebut. Penulis menyebutnya koordinat XL, YT, XR dan YB dimana x memiliki koordinat XL sampai XR (XL < x < XR) dengan selang [XL, XR] dan y memiliki koordinat YT sampai YB (YT < y < YB) dengan selang [YT, YB] didapat (XL, YT) adalah koordinat titik sudut kiri atas dan (XR, YB) adalah koordinat titik sudut kanan bawah maka ukuran pemotongan citra dapat dirumuskan sebagai berikut:
..........................w ' = ( X R X L ) + 1.......................(2.6) .............................h ' = (YB YT ) + 1........................(2.7)

Gambar 2.1. Koordinat citra digital.

2.3.3.

................ f B ( x, y ) = Otitik { f A ( x, y )}...........(2.2)


yang dalam hal ini fA dan fB masing-masing adalah citra masukan dan citra keluaran, Otitik dapat berupa operasi linear atau nonlinear. 2.3.4. Grayscaling Dengan menggunakan mengubah representasi nilai-nilai intensitas komponen RGB (Red, Green, Blue) pada koordinat piksel sebuah citra dapat diubah menjadi citra yang terdiri dari putih dan hitam yang biasanya disebut citra greyscale, dirumuskan sebagai berikut [10]:
......Grayscale = 0, 299 R + 0, 587G + 0,114 B......(2.3)

Aras Titik Operasi pada aras titik hanya dilakukan pada piksel tunggal di dalam citra. Operasi ini terdiri dari pengaksesan piksel pada lokasi yang diberikan, memodifikasinya dengan operasioperasi linear atau nonlinear dan menempatkan nilai piksel baru pada lokasi yang bersesuaian di dalam citra yang baru. Operasi ini diulangi untuk keseluruhan piksel di dalam citra. Secara matematis, operasi pada aras titik dinyatakan sebagai:

2.3.7.

2.3.8.

atau
........................Grayscale =

R+G + B .........................(2.4) 3

2.3.5.

Threshoding Konversi dari citra hitam-putih menjadi citra biner dilakukan dengan operasi pengambangan (thresholding). Operasi pengambangan mengelompokkan nilai derajat keabuan setiap piksel ke dalam dua kelas, hitam dan putih. Dengan setiap piksel di dalam citra dipetakan dengan dua nilai, satu (1) atau nol (0) dengan fungsi pengambangan [2]:
1,........ f g (i, j )T ....................... f B ( i, j ) = ....................(2.5) 0,.......lainnya.....

Normalisasi Normalisasi pada pengolahan citra berarti mentransformasikan citra ke bentuk citra normal yang sesuai dengan kebutuhan. Besar dan kecil ukuran pada citra normalisasi tidak sesuai ukuran yang diambil dari citra semula. Dalam sistem ini, penulis menggunakan penskalaan dari citra semula ke bentuk citra normalisasi. Penskalaan ini tergantung besar dan kecil ukuran pada citra semula artinya tidak berarti apakah citra membesar atau mengecil tergantung ukuran citra semula. Penskalaan citra dirumuskan sebagai berikut [2]:

..............................x ' = S x .x......................( 2.8)

.............................. y ' = S y . y......................(2.9)

dalam hal ini, fg(i,j) adalah citra hitam-putih, fB(i,j) adalah citra biner dan T adalah nilai ambang

2.3.9.

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. Dalam sistem ini, penulis mengambil 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. Ekstraksi ciri ini di-fungsi-kan sebagai berikut:
....................... f ( i, j ) = = ................ { 1,........ff ((ii,, jj))....0lainnya..... ......(2.10) 1,.......

pembuatan perangkat lunak ini menggunakan fungsi aktivasi sigmoid bipolar, yang mempunyai interval [-1,1] dan didefenisikan sebagai berikut [1]:
............................. f 2 ( x ) = 2 1............................(2.11) 1 + exp ( x )

dengan
.................... f 2 ' ( x ) = 1 [1 + f 2 ( x)] 1 f 2 ( x ) ...................(2.12) 2

2.4.3.

2.4.

Jaringan Syaraf Tiruan Dalam tugas akhir ini, menggunakan metode standart backpropagation atau generalized delta rule. Metode ini dikemukakan dan dikembangkan oleh Rumelhart pada tahun 1980-an. Metode ini adalah metode gradient descent, merupakan metode untuk meminimalkan total squared error dari output yang dihitung oleh jaringan. Backpropagation merupakan salah satu jaringan yang menggunakan supervised training dengan permasalahan yang menyangkup set input yang diberikan ke set target output yang ditentukan. Arsitektur Jaringan syaraf tiruan multi-layer dengan satu layer pada unit hidden (unit Z) ditunjukkan pada Gambar 2.1. Output unit (unit Y) dan hidden unit juga memiliki bias. Bias pada output unit Yk dilambangkan dengan w0k, bias pada hidden unit Zj dilambangkan dengan v0j. Pada fase feedforward hanya satu arah informasi yang mengalir dari operasi. Selama fase backpropagation pada proses learning, sinyal dikirimkan pada arah sebaliknya[1]. 2.4.1.

Algoritma Training Fungsi aktivasi yang telah dijelaskan sebelumnya dapat digunakan pada algoritma backpropagation yang akan diberikan. Bentuk data (terutama nilai target) adalah faktor penting dalam pemilihan fungsi yang tepat [1]. Berikut ini adalah algoritma training backpropagation [1]: Step 0. Inisialisasi nilai bobot dengan nilai acak yang kecil. Step 1. Selama kondisi berhenti belum terpenuhi, lakukan step 2 - 9. Step 2. Setiap pasang training, lakukan step 3 - 8. Feedforward: Step 3. Input unit (Xi) menerima sinyal input (xi) dan menyebarkan sinyal itu ke hidden layer. Step 4. Setiap hidden unit (Zj) menjumlahkan hidden input dengan nilai bobot,
z _ in j = v0 j + xi vij
i =1 n

Terapkan fungsi aktivasi,


z j = f ( z _ in j )

Dan hasilnya dikirim ke output unit. Step 5. Setiap output unit (Yk,) menjumlahkan output input dengan nilai bobot,
y _ ink = w0 k + z j w jk
j =1 p

Gambar 2.1. Jaringan syaraf tiruan backpropagation dengan satu hidden layer.

2.4.2.

Fungsi Aktivasi Fungsi aktivasi untuk backpropagation memiliki beberapa karakteristik yang penting. Fungsi aktivasi tersebut kontinu, dapat diturunkan dan tidak turun secara monoton. Dalam

Terapkan fungsi aktivasi, yk = f ( y _ ink ) Backpropagation of error: Step 6. Setiap output unit (Yk) menerima target pattern yang bersesuaian dengan input pattern, kemudian hitung error, k = (tk yk ) f '( y _ ink ) Hitung nilai perbaikan bobot, (wjk),

w jk = k z j

Hitung nilai perbaikan bias (w0k),


w0k = k

Epoch. Merupakan salah satu siklus perputaran melalui setiap set vektor training [1]. Hamming Distance. Merupakan jumlah bit yang berbeda dalam dua vektor x1 dan x2 pada biner atau bipolar. Penggunaannya untuk setiap pola output unit berkompitisi atau bersaing dalam memberikan nilai yang tepat dalam mengeluarkan hasil output signal yang tepat [1]. Nilai rata-rata adalah 1 H [ x1 , x2 ]..........................................(2.15) n 3. ANALISIS SISTEM Tahapan perancangan sistem yang dibangun pada sistem pengkonversi teks tulisan tangan menjadi teks digital pada tugas akhir ini dapat dilihat pada Gambar 3.1 berikut:

Dan kemudian nilai k dikirim ke unit pada layer sebelumnya. Step 7. Setiap hidden unit (Zj) jumlahkan delta input,
_ in j = k w jk
k =1 m

Kalikan dengan nilai fungsi turunan aktivasi untuk menghitung error, j = _ in j f '( z _ in j ) Hitung nilai perbaikan bobot, (vij), vij = j xi Hitung nilai perbaikan bias, (v0j), v0 j = j Update bobot dan bias: Step 8. Setiap output unit (Yk) memperbaharui bobot dan biasnya:
w jk (baru ) = w jk (lama ) + w jk

Setiap hidden unit (Zj) memperbaharui bobot dan biasnya:


vij (baru ) = vij (lama ) + vij

Step 9. Test Kondisi berhenti. Catatan algoritma training backpropagation: Gradient Descent. Bahwa untuk meningkatkan kecepatan training backpropagation adalah dengan merubah learning rate () selama training. Pada dasar Matematika untuk algoritma backpropagation adalah teknik optimasi yang dikenal sebagai gradient descent. Fungsi dari gradient descent adalah untuk mengurangi nilai target atau untuk meminimalkan error berikutnya. Meminimalkan error target fungsi bobot dirumuskan sebagai berikut [1]:
.......................................E = 1 n [tk yk ]2 .............................(2.13) 2 k =1

Gambar 3.1. Diagram alur proses pengkonversian teks.

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) [1]. Nilai inisialisasi bobot acak pada sistem ini dirumuskan sebagai berikut: .....vij ..dan..w jk = [ Random 0, 5][ Input.c ]..(2.14)

Analisis Pengelompokan Data Data Masukan Data masukkan dibedakan menjadi dua yaitu data citra referensi untuk sampel huruf dan data citra teks uji untuk pengkonversian teks. Di dalam tulisan tangan manusia, setiap manusia memiliki ciri dan bentuk tersendiri dalam melakukan tulisan maka pembuatan data citra referensi untuk sampel huruf yang digunakan dalam tugas akhir ini adalah data ditulis secara real time atau memilih bentuk tipe tulisan (typewritten) huruf pada sistem komputer. Real time ini diperoleh dengan menulis langsung sebuah huruf dengan menggunakan perangkat keras berupa mouse pada citra tulis berukuran 100 x 100 piksel dengan pensil tulis berwarna hitam dan latar belakang berwarna putih yang menghasilkan citra hitam-putih (Gambar 3.2) atau memilih bentuk tipe tulisan huruf diperoleh dari

3.1. 3.1.1.

sistem komputer yang tersedia dengan ukuran 10 sampai 50.

3.2.2.

Gambar 3.2 Tulisan tangan manusia di komputer

Sama halnya dengan pembuatan data citra referensi untuk sampel huruf, data citra teks uji ini diperoleh dengan menulis langsung sebuah teks dengan menggunakan perangkat keras berupa mouse (real time) pada citra tulis berukuran 768 x 257 piksel dengan pensil tulis berwana hitam dan latar belakang berwarna putih dan data teks juga bisa diperoleh dari data file eksternal perangkat lunak ini dengan citra hitam-putih berekstensi bitmap (*.bmp), karena menggunakan citra berekstensi bitmap diharapkan citra memiliki kualitas sebenarnya seperti citra asli. Data Keluaran Data keluaran yang digunakan dalam tugas akhir ini dibedakan menjadi dua yaitu data hasil citra referensi untuk sampel huruf dan data hasil citra teks uji yang merupakan hasil akhir dari keseluruhan proses berupa teks digital. Data hasil citra referensi berupa nilai bobot dari keseluruhan titik piksel pada setiap pola huruf dari proses training yang akan diujikan pada proses testing menggunakan nilai rata-rata hamming distance pada setiap pola dengan membentuk susunan perbandingan prosentasi ketepatan dalam pengambil keputusan. Data hasil akhir dari keseluruhan proses berupa teks digital. Teks digital dibentuk dari data-data citra referensi yang sudah di-training pada jaringan syaraf tiruan. Data dari proses training akan dicari untuk pengenalan setiap huruf dengan perbandingan prosentasi ketepatan menggunakan nilai rata-rata hamming distance dan akan menghasilkan teks digital dalam sistem komputer berkode ASCII. 3.2. 3.2.1. Analisis Pengolahan Citra Proses Thresholding Pada proses ini bertujuan untuk mencari nilai bit biner pada koordinat titik setiap piksel yang akan digunakan pada proses segmentasi citra. Pada proses ini hanya dilakukan pada saat proses pengkonversian teks saja. Pada proses ini menggunakan nilai greyscale pada nilai-nilai intensitas komponen RGB dengan operasi thresholding pada persamaan (2.5) maka didapat nilai-nilai bit pada koordinat citra biner sudah diketahui, maka proses selanjutnya adalah proses segmentasi citra setiap huruf. 3.1.2.

Proses Segmentasi Citra Setiap Huruf Pada proses ini bertujuan untuk mengeliminasi area-area yang dapat dipastikan bukan merupakan sebuah tulisan. Pada proses ini menggunakan aras titik untuk mendapatkan setiap titik koordinat piksel pada bagian objek dengan mencari titik sudut yang terdiri dari sudut atas, bawah, kiri dan kanan pada tulisan. Dalam melakukan proses segmentasi citra, setiap huruf akan dikenali jika pendeteksian titik sudut menampilkan titik koordinat piksel untuk setiap sudut-sudut huruf. Proses segmentasi citra setiap huruf pada tugas akhir ini ada tiga kriteria tahap untuk pendeteksian titik koordinat piksel dalam pembacaan pada sistem. Proses pendeteksian titik koordinat piksel pada tugas akhir ini ada tiga kriteria tahap untuk mengenali huruf dalam pembacaan pada sistem, antara lain: 1. Deteksi segmentasi baris, merupakan pendeteksian titik-titik koordinat piksel untuk sudut atas sampai sudut bawah dalam memisahkan semua semua tulisan dengan latar belakang. Seperti yang diilustrasikan pada Gambar 3.3. (b). 2. Deteksi segmentasi kata, merupakan pendeteksian titik-titik koordinat piksel untuk sudut kiri sampai sudut kanan dengan nilai parameter lebar spasi dalam memisahkan satu per satu kata. Seperti yang diilustrasikan pada Gambar 3.3. (c). 3. Deteksi segmentasi huruf, merupakan pendeteksian titik-titik koordinat sudut kiri, atas, kanan dan bawah dari bagian kata yang sudah dipisahkan dan akan dilakukan pemisahan huruf dari kata. Seperti yang diilustrasikan pada Gambar 3.3. (d).

(a)

(b)

(c) (d) Gambar 3.3. Pendeteksian titik koordinat piksel. a) Citra hitam-putih, b) Deteksi baris, c) Deteksi kata, d) Deteksi huruf.

3.2.3.

Proses Crooping Dan Normalisasi Proses ini merupakan proses memotong satu bagian objek dari citra sehingga diperoleh citra yang berukuran lebih kecil. Pada kasus ini bagian yang akan dipotong adalah bagian objek. Pertama dilakukan pada proses ini adalah dengan mencari koordinat piksel warna putih yang paling

dekat dengan koordinat (0,0) dan koordinat (x,y). Dalam tugas akhir ini disebutkan bahwa koordinat (kiri, atas) untuk yang paling mendekati koordinat (0,0) dan koordinat (kanan, bawah) untuk yang paling mendekati koordinat (x,y). Setelah dilakukan proses cropping maka selanjutnya akan dilakukan proses transformasi ke bentuk citra yang normal dibandingkan dengan citra semula. Proses ini disebut dengan proses normalisasi. 3.2.4. Proses Ekstraksi Ciri Pada proses ini bertujuan untuk mengubah nilai-nilai intensitas koordinat piksel pada citra huruf tersebut menjadi susunan kodekode nilai pada setiap piksel. Dengan menggunakan persamaan (2.10), setiap titik-titik koordinat piksel diberi kode satu (1) untuk warna hitam dan kode minus satu (-1) untuk warna putih sesuai dengan fungsi aktivasi pada jaringan syaraf tiruan. Dibawah ini ilustrasi data matriks proses ekstraksi ciri dengan citra beresolusi 10 x 10 piksel, seperti yang ditunjukkan pada Gambar 3.4. berikut ini.

Gambar 3.4. Data matrik ekstraksi ciri.

3.3. 3.3.1.

Analisis Jaringan Syaraf Tiruan Proses Training Proses training ini bertujuan untuk mencari bobot pada setiap pasang. Proses training ini mengambil kode nilai intensitas piksel masingmasing komponen dari proses ekstraksi ciri pada citra untuk perhitungan layer unit dengan fungsi aktivasi tertentu dengan mencari dan memperbaiki bobot pada saat sistem sudah mempunyai kesalahan rata-rata (error) dengan memperoleh total nilai minimal squared error pada output dengan gradient descent yang dihitung oleh setiap pasang data training. 3.3.2. Proses Testing Setelah dilakukan proses training, maka proses selanjutnya adalah proses testing. Proses ini dilakukan pada saat proses training berakhir dan data dari proses training akan diuji dan diterapkan. Menerapkannya dilakukan hanya menggunakan fase feedforward dengan bobot yang dihasilkan dari algoritma training.

UJI COBA PERANGKAT LUNAK Uji coba dilakukan menggunakan berbagai data huruf dan citra teks tulisan yang berbeda dengan maksud untuk mengetahui kemampuan dan kelemahan dari perangkat lunak yang telah dibuat. Uji coba pada tugas akhir ini menggunakan inisialisasi masukan dalam pembuatan data huruf dan pengkonversian teks, antara lain: 1. Inisialisai pengkonversian teks. B&W Threshold; sebagai nilai ambang warna hitam-putih; dengan 196. Noise Threshold; sebagai nilai ambang derau (noise); dengan 10. Space Width; sebagai lebar spasi pada batas huruf; dengan 22. 2. Inisialisasi parameter set training. Learning Rate; sebagai nilai percepatan error training; dengan 0,001. Weights Initialization Factor; sebagai inisialisasi bobot awal; dengan 0,5. Error Threshold; sebagai nilai ambang batas untuk menghitung neuron error training dan untuk menghitung hamming distance pada testing; dengan 1. Target Classification Error; sebagai nilai batas neuron error; dengan -1. Target Squared Error; sebagai nilai batas squared error; dengan 0,01. Maximum Epochs; sebagai nilai batas maksimum perputaran training; dengan 100. 3. Inisialisasi arsitektur jaringan. Input Pattern; sebagai pola masukan pada saat mencari sinyal input layer; dengan tinggi dan lebar citra 20 x 20. Target Pattern; sebagai pola target pada saat mencari sinyal output layer; dengan tinggi dan lebar citra 20 x 20. Number of Input Neuron; sebagai nilai batas input neuron; dengan 400. Number of Hidden Neuron; sebagai nilai batas hidden neuron; dengan 50. Number of Output Neuron; sebagai nilai batas output neuron; dengan 400. 4.1. Pengambilan Data Uji coba yang dilakukan pada pengambilan data huruf adalah mempersiapkan data huruf yang akan digunakan sebagai proses training, yaitu dengan mempersiapkan citra berotasi dan membuat citra berbentuk pola lainnya secara real time pada setiap huruf /simbol. Rotasi data huruf memiliki beragam arah putaran yang telah dipersiapkan dengan 3 putaran arah, yaitu: 00, 50 dan 3550. Dari pengambilan data huruf dengan data citra yang telah dipersiapkan dan

4.

dibuat maka 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 Pada uji coba pengenalan huruf, jumlah citra masukan yang akan diuji coba sebanyak 1640 citra huruf dari pola huruf tulisan tangan secara real time mulai dari huruf A sampai Z, angka 0 sampai 9 dan tanda baca seru, tanya, titik, koma yang akan digunakan sebagai proses testing dengan hamming distance. Dari hasil pengenalan huruf maka dapat dilihat bahwa prosentasi ratarata pengenalan huruf adalah sebesar 66,58%. Pengkonversian Teks Uji coba pengkonverian teks ini bertujuan untuk mengenali setiap huruf/simbol pada sistem. Uji coba ini menggunakan citra hitam putih dengan menulis teks secara real time dari perangkat keras berupa mouse atau mengambil citra teks hitam-putih dari file eksternal berekstensi bitmap (*.bmp). Seperti ditampilkan Gambar berikut ini adalah contoh dari pengkonversian teks. 4.3. 4.2.

Dari tabel diatas maka dapat dilihat bahwa prosentasi pengkonversian teks tulisan tangan Achmad Fauzi Arief,!?. adalah sebesar 50,00%. Dalam penulisan teks tersebut ada yang dikenali oleh sistem, maka penulis akan mencoba menganalisis pada salah satu huruf/simbol yang tidak dikenali oleh sistem. Huruf itu adalah huruf h kecil dikenali sistem huruf i kecil pada teks Achmad Fauzi Arief,!?.. Seperti ditunjukkan pada Gambar 4.2. berikut ini.

(a) (b) Gambar 4.2. Vektor-vektor h kecil dan i kecil. a) Data uji h kecil, b) Data referensi i kecil.

Dilihat Gambar 4.2. diatas vektor-vektor pada citra uji jelas berbeda dengan citra pada citra referensi, tapi dalam perhitungan backpropagation nilai vektor-vektor huruf h kecil mendapatkan nilai rata-rata hamming distance 27 sebesar 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 KESIMPULAN DAN SARAN Kesimpulan Dari implementasi dan uji coba perangkat lunak dapat diperoleh kesimpulan sebagai berikut: 1. 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%. 2. 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%. 3. 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. 4. Besarnya ukuran penulisan huruf mempengaruhi hasil pengkonversian teks dikarenakan pengecilan citra normalisasi dalam mengambil nilai kode satu pada 5. 5.1.

(a)

(b) Gambar 4.1. Citra teks Achmad Fauzi Arief,!?.. a) Teks tulisan tangan, b) Teks digital.

Dari Gambar 4.1. diatas user menulis teks tulisan tangan Achmad Fauzi Arief,!?. dengan menggerakkan mouse. Citra teks tulisan tangan tersebut dibandingkan dengan vektor-vektor pada setiap pola huruf data citra referensi yang sudah dibuat dan membutuhkan 20 citra huruf. Hasil uji coba pengkonversian teks Achmad Fauzi Arief,.!?. dapat dilihat pada Tabel berikut ini.
Tabel 4.1. Hasil uji coba citra pengkonversian teks Achmad Fauzi Arief,!?..

masukan ke input pattern pada saat proses testing. 5. Pembacaan teks pada program ini sebaris, yaitu tulisan sederet dengan barisan huruf yang lain agar tidak bertabrakan dengan barisan huruf lainnya. 6. Pembacaan teks pada program ini satu huruf, yaitu tulisan huruf tidak boleh gandeng karena sistem akan membaca dengan satu huruf. 7. Pengaturan input dan target pattern pada pengkonversian teks disesuaikan dengan input dan target pattern pada pengambilan data huruf. 5.2. Saran Berdasarkan uji coba, ada beberapa saran yang perlu dipertimbangkan dalam pengembangan tugas akhir ini yaitu: 1. Untuk mendapatkan data training yang banyak dan cepat pada saat proses training backpropagation diharapkan menggunakan implementasi yang baik. 2. Untuk mendapatkan hasil yang baik diharapkan pada inisialisasi parameter dan arsitektur jaringan backpropagation saat proses training diatur dengan baik dan memperbanyak data referensi yang akan digunakan. 3. 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. DAFTAR PUSTAKA [1] Fausett, L. (1994). Fundamentals of Neural Network. Prentice-Hall International, Inc., Florida Institut of Technology. Munir, Rinaldi. (2004). Pengolahan Citra Digital dengan Pendekatan Algoritmik. Informatika, Bandung. Pranata, A. (2003). Pemrograman Borland Delphi. Andi Yogyakarta, Jogyakarta. Kristianto, Yusuf. (1999). Pembuatan Perangkat Lunak untuk Pengenalan Huruf dengan Jaringan Saraf Tiruan. Tugas Akhir, Jurusan Matematika, ITS, Surabaya. 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. Susilo, Yosef Herry. (1998). Pengenalan Huruf dengan Pengolahan Citra melalui

Kamera. Tugas Akhir, Jurusan Teknik Elektro, PENS-ITS, Surabaya. [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.id/ user_files/02-030/TE-12.DOC>.

[2]

[3] [4]

[5]

[6]

Anda mungkin juga menyukai