OPTIMASI JARINGAN SARAF TIRUAN PADA OPTICAL CHARACTER RECOGNITION DENGAN MENGGUNAKAN IMAGE PREPROCESSING DAN ALGORITMA GENETIK
LAPORAN TUGAS AKHIR
Disusun sebagai syarat kelulusan tingkat sarjana
Oleh: Steve Yulizar / 13502043
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2009
Lembar Pengesahan Program Studi Teknik Informatika
OPTIMASI JARINGAN SARAF TIRUAN PADA OPTICAL CHARACTER RECOGNITION DENGAN MENGGUNAKAN IMAGE PREPROCESSING DAN ALGORITMA GENETIK
Tugas Akhir Program Studi Teknik Informatika ITB
Oleh: Steve Yulizar / 13502043
Telah disetujui dan disahkan sebagai laporan tugas akhir di Bandung, pada tanggal 8 Januari 2009
Pembimbing
Dr. Ir. Rila Mandala, M.Eng. NIP. 132045672
i
RINGKASAN
Pada tugas akhir ini dibangun aplikasi Optical Character Recognition. OCR merupakan sebuah aplikasi yang akan mentranslasi data gambar digital ke dalam format teks. Keuntungan dari penggunaan OCR yaitu teks hasil dapat dengan mudah diubah, dapat dilakukan pencariaan, dan biaya penyimpanan data yang rendah. OCR yang akan dilakukan adalah handwriting digit recognition, yaitu tulisan tangan yang berupa angka. Penbangunan aplikasi ini akan dilakukan dengan menggunakan image preprocessing, algoritma genetik, dan jaringan saraf tiruan. Image preprocessing adalah sebuah proses awal terhadap gambar digital dalam rangka mempersiapkan gambar sebelum memasuki proses selanjutnya. Pada image preprocessing OCR ini digunakan binerisasi dan penipisan. Binerisasi tersebut dengan menggunakan nilai batas yang disebut dengan nilai threshold. Sedangkan untuk penipisan akan digunakan algoritma paralel Zhang-Suen yang populer karena kecepatan dan kualitasnya. Algoritma genetik adalah sebuah algoritma pencarian berbasiskan prinsip evolusi. Dalam GA terdapat seleksi, evaluasi, mutasi, dan persilangan. Teknik mutasi yang digunakan adalah onepoint mutation, sedangnan teknik persilangan yang digunakan adalah single-point crossover. Untuk seleksi digunakan roulette wheel selection dengan ukuran populasi tetap. Beberapa terminologi lainnya dalam GA adalah kromosom dan fitness fuction. Jaringan saraf tiruan adalah sebuah algoritma pembelajaran yang menyerupai jaringan syaraf untuk pemecahan masalah. JST merupakan salah satu algoritma yang banyak digunakan dalam OCR. JST yang dibangun adalah multilayer feed forward neural network dengan menggunakan backpropagation. Oleh karena JST mempunyai keterbatasan dalam hal local minima maka diharapkan GA dapat mengoptimasi bobot awal dari JST tersebut untuk menghasilkan tingkat akurasi yang lebih baik. Dalam membangun aplikasi tersebut, terlebih dahulu dilakukan analisis terhadap domain masalah terkait OCR. Selanjutnya dilakukan analisis, perancangan, implementasi, dan pengujian aplikasi. Dalam perancangan aplikasi digunakan Unified Modelling Language. Aplikasi OCR ini diimplementasikan dengan menggunakan Visual Basic .Net 2005. Berdasarkan hasil pengujian, aplikasi telah memenuhi spesifikasi kesesuaian dengan rancangan dan dapat berjalan sesuai skenario yang direncanakan. Hasil pengujian menunjukkan tingakat akurasi testing yang cukup tinggi, tetapi image preprocessing dan GA gagal dalam meningkatkan performansi dari JST tersebut. Kata Kunci: Optical Character Recognition, image preprocessing, algoritma genetik, jaringan saraf tiruan, Visual Basic .Net 2005.
ii
KATA PENGANTAR Puji syukur Penulis panjatkan ke hadirat Tuhan Yang Maha Esa sehingga berkat rahmat-Nya, Penulis dapat melaksanakan tugas akhir serta dapat menyelesaikan laporan tugas akhir sesuai waktu yang telah ditentukan. Laporan ini disusun sebagai syarat kelulusan tingkat sarjana.
Pada kesempatan ini, Penulis juga ingin mengucapkan terima kasih kepada pihak-pihak yang telah memberikan bantuan dan bimbingan selama pelaksanaan tugas akhir dan penyusunan laporan tugas akhir. Ucapan terima kasih disampaikan kepada: 1. Bapak Dr. Ing. H. M. Sukrisno Mardiyanto selaku Ketua Program Studi Teknik Informatika ITB. 2. Bapak Dr. Ir. Rila Mandala, M.Eng. selaku dosen pembimbing dan dosen wali. 3. Ibu Dra. Harlili, M.Sc selaku dosen penguji pada proposal, seminar, pra sidang, dan sidang tugas akhir. 4. Ir. Rinaldi Munir, M.T. selaku dosen penguji pada sidang tugas akhir. 5. Seluruh staf pengajar Prodi Teknik Informatika yang telah memberikan begitu banyak ilmu kepada penulis. 6. Bapak Ade, Ibu Nurhayati, dan Bapak Rasidi serta pegawai tata usaha Program Studi Teknik Informatika ITB. 7. Papi, mami, dan adik saya yang telah banyak memberikan dukungan moral dan doa. 8. Felix Gunawan yang telah banyak memberikan bantuan dalam pengerjaan tugas akhir ini. 9. Sahabat-sahabat angkatan 2002 yang telah memberikan dorongan dan tidak bisa saya sebutkan satu per satu. 10. Semua pihak yang telah membantu Penulis yang tidak dapat disebutkan satu per satu.
Demikian peran serta orang-orang yang telah memberikan inspirasi baik secara langsung maupun tidak langsung, mohon maaf bila ada yang tidak tertulis di sini.
Bandung, 22 Desember 2008
Steve Yulizar
iii
DAFTAR ISI Lembar Pengesahan .......................................................................................................................... i RINGKASAN ................................................................................................................................. ii KATA PENGANTAR .................................................................................................................... iii DAFTAR ISI .................................................................................................................................. iv DAFTAR GAMBAR .................................................................................................................... vii DAFTAR TABEL ........................................................................................................................ viii BAB I
PENDAHULUAN ....................................................................................................... I-1
1.1
Pendahuluan ..................................................................................................................... I-1
1.2
Rumusan Masalah ............................................................................................................ I-2
1.3
Tujuan............................................................................................................................... I-3
1.4
Batasan Masalah ............................................................................................................... I-3
1.5
Metodologi ....................................................................................................................... I-3
1.6
Sistematika Pembahasan .................................................................................................. I-4
BAB II 2.1
DASAR TEORI ......................................................................................................... II-1 Optical Character Recognition (OCR) .......................................................................... II-1
2.1.1
Handwriting Recognition....................................................................................... II-2
2.1.2
Digit Recognition ................................................................................................... II-2
2.2
Image Preprocessing and Enhancement ......................................................................... II-2
2.2.1
Binerisasi ............................................................................................................... II-3
2.2.2
Penipisan ................................................................................................................ II-3
2.3
Pattern Recognition ........................................................................................................ II-5
2.4
Jaringan Saraf Tiruan (JST) ........................................................................................... II-5
2.4.1
Jaringan Syaraf Biologis ........................................................................................ II-5
2.4.2
Jaringan Saraf Tiruan............................................................................................. II-6
2.4.3
Dasar-dasar Komputasi Neural.............................................................................. II-8
2.4.4
Arsitektur Jaringan Saraf Tiruan ..........................................................................II-11
2.4.5
Paradigma Belajar .................................................................................................II-12
2.4.6
Perbedaan Kemampuan Jaringan Syaraf ..............................................................II-14
2.4.7
Backpropagation ..................................................................................................II-15
2.5
Algoritma Genetik .........................................................................................................II-16
2.5.1
Proses-proses dalam Algoritma Genetik...............................................................II-17 iv
2.5.2
Komponen dan Operator-operator Algoritma Genetik .........................................II-18
2.6
Database MNIST ...........................................................................................................II-23
2.7
Normalisasi Data ...........................................................................................................II-25
2.8
Root Mean Square Error (RMSE) ................................................................................II-26
BAB III
ANALISIS DAN PERANCANGAN ........................................................................ III-1
3.1
Metodologi Pembangunan Perangkat Lunak................................................................. III-1
3.2
Analisis .......................................................................................................................... III-1
3.2.1
Deskripsi Global Sistem dalam Model Fungsional .............................................. III-2
3.2.2
Analisis Kebutuhan Data ...................................................................................... III-3
3.2.3
Analisis Kebutuhan Antarmuka Pangguna ........................................................... III-4
3.3
Perancangan .................................................................................................................. III-4
3.3.1
Perancangan Antar Muka ..................................................................................... III-5
3.3.2
Perancangan Use Case .......................................................................................... III-6
3.3.3
Perancangan Kelas ................................................................................................ III-6
3.3.4
Realisasi Use Case ................................................................................................ III-8
BAB IV 4.1
IMPLEMENTASI DAN PENGUJIAN .................................................................... IV-1
Implementasi ................................................................................................................. IV-1
4.1.1
Lingkungan Implementasi .................................................................................... IV-1
4.1.2
Perangkat Keras .................................................................................................... IV-1
4.1.3
Implementasi Antarmuka...................................................................................... IV-2
4.1.4
Kendala Implementasi .......................................................................................... IV-3
4.1.5
Batasan Implementasi ........................................................................................... IV-4
4.1.6
Tahapan Implementasi .......................................................................................... IV-4
4.1.7
Hasil Implementasi Kelas ..................................................................................... IV-5
4.2
Pengujian ....................................................................................................................... IV-5
4.2.1
Tujuan Pengujian .................................................................................................. IV-5
4.2.2
Lingkungan Pengujian .......................................................................................... IV-6
4.2.3
Rancangan Pengujian............................................................................................ IV-6
4.2.4
Hasil Pengujian ..................................................................................................... IV-7
BAB V
KESIMPULAN DAN SARAN .................................................................................. V-1
5.1
Kesimpulan ..................................................................................................................... V-1
5.2
Saran ............................................................................................................................... V-2
DAFTAR REFERENSI.................................................................................................................. ix LAMPIRAN A DIAGRAM FLOWCHART .............................................................................. A-1
v
LAMPIRAN B DIAGRAM KELAS USE CASE ....................................................................... B-1 LAMPIRAN C SKENARIO ....................................................................................................... C-1 LAMPIRAN D HASIL PENGUJIAN......................................................................................... D-1 LAMPIRAN E KINERJA ALGORITMA PEMBANDING ........................................................ E-1
vi
DAFTAR GAMBAR Gambar II.1 Penipisan ................................................................................................................ II-3 Gambar II.2 Matriks penipisan Zhang-Suen .............................................................................. II-4 Gambar II.3 Biological Neuron Networks ................................................................................. II-6 Gambar II.4 Typical Set Up Jaringan Saraf Tiruan ..................................................................... II-8 Gambar II.5 Fungsi Aktivasi ......................................................................................................II-11 Gambar II.6 Single-point Crossover...........................................................................................II-21 Gambar II.7 One point mutation ................................................................................................II-22 Gambar II.8 Label ......................................................................................................................II-24 Gambar II.9 Label ......................................................................................................................II-24 Gambar II.10 Image ...................................................................................................................II-25 Gambar III.1 Diagram Konteks .................................................................................................. III-2 Gambar III.2 Rancangan Antar Muka ........................................................................................ III-5 Gambar III.3 Diagram Kelas ...................................................................................................... III-7 Gambar IV.1 Tampilan Training ................................................................................................ IV-2 Gambar IV.2 Tampilan Testing .................................................................................................. IV-3
vii
DAFTAR TABEL Tabel II.1 Biological Neural Network vs Jaringan Saraf Tiruan................................................ II-7 Tabel II.2 Kemampuan Jaringan Syaraf .....................................................................................II-14 Tabel III.1 Use Case ................................................................................................................... III-6 Tabel IV.1 Implementasi Kelas .................................................................................................. IV-5 Tabel IV.2 Perangkat Lunak yang Digunakan dalam Pengujian................................................ IV-6 Tabel IV.3 Ringkasan Hasil Pengujian ...................................................................................... IV-8
viii