PENGENALAN CITRA HURUF DAN/ ATAU ANGKA MENGGUNAKAN SISTEM JARINGAN SARAF TIRUAN MODEL HOPFIELD SKRIPSI ANDI AURO HARIANJA 081421007 PROGRAM EKSTENSI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010
PENGENALAN CITRA HURUF DAN / ATAU ANGKA MENGGUNAKAN SISTEM JARINGAN SARAF TIRUAN MODEL HOPFIELD SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer ANDI AURO HARIANJA 081421007 PROGRAM EKSTENSI STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010
PERSETUJUAN Judul : PENGENALAN CITRA HURUF DAN/ ATAU ANGKA MENGGUNAKAN SISTEM JARINGAN SARAF TIRUAN MODEL HOPFIELD Kategori : SKRIPSI Nama : ANDI AURO HARIANJA Nomor Induk Mahasiswa : 081421007 Program Studi : EKSTENSI SARJANA (S1) ILMU KOMPUTER Departemen Fakultas : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, 20 Desember 2010 Pembimbing 2 Pembimbing 1 Syahriol Sitorus S.Si., M.I.T NIP. 1971031019970031004 Prof. Dr. Muhammad Zarlis NIP. 195707011986011003 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
PERNYATAAN PENGENALAN CITRA HURUF DAN/ ATAU ANGKA MENGGUNAKAN SISTEM JARINGAN SARAF TIRUAN MODEL HOPFIELD SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, 20 Desember 2010 ANDI AURO HARIANJA 081421007
PENGHARGAAN Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, yang telah melimpahkan karunia-nya sehingga kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan. Ucapan terima kasih saya sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis sebagai Dosen Pembimbing I dan Bapak Syahriol Sitorus S.Si., M.I.T sebagai Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada saya untuk menyempurnakan kajian ini. Panduan ringkas dan padat serta profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan tugas ini. Selanjutnya kepada para Dosen Penguji Ibu Maya Silvi Lydia, B.Sc, M.Sc dan Bapak Syahril Efendi, S.Si, M.I.T atas saran dan kritikan yang sangat berguna bagi saya. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syahriol Sitorus S.Si., M.I.T, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, semua dosen Program Studi S1 Ilmu Komputer FMIPA USU, dan pegawai di FMIPA USU. Untuk kedua orangtua dan keluarga saya yang telah memberi dukungan, doa dan motivasi. Skripsi ini terutama saya persembahkan untuk Bapak M. Harianja dan Ibu N. Nababan tercinta yang membimbing saya sampai saat ini. Dan untuk temanteman satu angkatan, serta pihak-pihak yang tidak dapat saya sebutkan satu persatu, saya ucapkan terima kasih atas ide, saran, bantuan dan kerja sama yang telah diberikan. Semoga Tuhan Yang Maha Esa akan membalasnya. Saya menyadari bahwa skripsi ini masih jauh dari kesempurnaan, oleh karena itu saya mengharapkan saran dan kritik yang bersifat membangun demi kesempurnaan skripsi ini. Semoga skripsi ini dapat bermanfaat bagi kita semuanya. Akhir kata Penulis Ucapkan Terima Kasih.
ABSTRAK Pengenalan huruf dan/ atau angka merupakan salah satu bidang dalam ilmu komputer yang dapat membantu proses pengolahan data. Salah satu teknik pengenalan karakter (huruf dan/ atau angka) adalah metode jaringan saraf tiruan. Metode ini menggunakan prinsip kerja otak manusia yang terdiri dari neuron sebagai pemrosesan input untuk menghasilkan output berdasarkan bobot yang ada. Penelitian ini mengimplementasikan kinerja sistem jaringan saraf tiruan model Hopfield dalam pengenalan citra huruf dan/ atau angka. Citra huruf dan/ atau angka dinormalisasi ke ukuran tertentu kemudian di vektorisasi. Agar aplikasi dapat mengenali citra huruf dan/ atau angka maka sebelumnya aplikasi harus melalui proses pembelajaran untuk mengenali semua huruf dan/ atau angka dengan jenis font tertentu. Setelah pembelajaran, aplikasi juga membuat sebuah file untuk menyimpan matriks bobot Hopfield. Matrik bobot Hopfield diperoleh dengan menghitung matriks bobot jaringan saraf tiruan dari huruf/ angka dengan cara mengalikan matriks transpose dari vektor bipolar dengan matriks vektor bipolar itu sendiri. Hasilnya diperoleh sebuah matriks bujursangkar, yang disebut dengan matriks bobot jaringan saraf tiruan huruf/ angka. Kemudian tentukan bobot jaringan saraf tiruan Hopfield dengan cara menjumlahkan (akumulasi) seluruh matriks bobot jaringan saraf tiruan huruf/ angka. Hasil penjumlahan matriks ini akan diperoleh sebuah matriks pengingat (memories). Matriks bobot inilah yang digunakan untuk mengenali kembali citra huruf dan/ atau angka.
ALPHABETIC AND/ OR NUMERIC IMAGE RECOGNITION USING ARTIFICIAL NEURAL NETWORK HOFIELD S MODEL ABSTRACT Alphabetic and/ or numeric recognition is a major in computer science that can help data processing. One of technique recognition of characters (letters and/ or numbers) is an artificial neural network method. This method uses the principle that the human brain consists of neurons as the processing of input to produce output based on the existing weights. This research implements an artificial neural network system performance of the Hopfield model in image recognition of letters and/ or numbers. The image of letters and/ or numbers are normalized to a certain size and then in vectorization. So that applications can recognize the image of letters and/ or numbers then before the application must go through the process of learning to recognize all the letters and/ or numbers with a particular font type. After learning, the application also creates a file to store the Hopfield weight matrix. Weighting matrix is obtained by calculating the Hopfield neural network weight matrix of letters/ numbers by multiplying the matrix transpose of the vector bipolar with bipolar matrix vector itself. The results obtained by a square matrix, called an artificial neural network weight matrix letters/ numbers. Then specify the Hopfield neural network weights by summing the (accumulated) the entire neural network weight matrix letters/ numbers. The sum of this matrix will be obtained by a matrix reminder (memories). This matrix is used to recognize letters and/ or numbers.
DAFTAR ISI Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Halaman iii iv v vi vii viii xi xii Bab 1 Pendahuluan 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 2 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metode Penelitian 4 1.7 Sistematika Penulisan 5 Bab 2 Tinjauan Teoritis 7 2.1 Sistem Jaringan Saraf Tiruan 7 2.1.1 Fungsi Aktivasi 8 2.2 Jaringan Saraf Tiruan Model Hopfield 13 2.2.1 Penyusunan Vektor Ciri Karakter dalam Bentuk Bipolar 14 2.2.2 Algoritma Jaringan Hopfield 18 2.2.3 Kelemahan dan Keunggulan Jaringan Saraf Tiruan Hopfield 19 2.2.4 Pengukuran Tingkat Kesalahan Pembelajaran 19 2.3 Citra Bitmap 20 2.4 Transformasi 21 2.4.1 Penskalaan 21 2.4.2 Translasi 22 2.4.3 Rotasi 23 2.5 Citra Grayscale 23 2.6 Citra Biner 24 2.7 Huruf 26 2.8 Sistem Pengukuran 26 2.8.1 Point dan Pica 27 2.8.2 X-height 28 2.8.3 Em dan En 28 Bab 3 Analisis dan Perancangan Perancangan Sistem 29 3.1 Analisis Sistem 29 3.2 Perancangan Sistem 30 3.2.1 Perancangan Proses 30 3.2.2 Perancangan Data Flow Diagram 33
3.2.2.1 DFD Level 1 Pengenalan Citra Huruf dan/ atau Angka 34 3.2.2.2 DFD Level 2 Mengenali Pilihan Menu/ Tool dan Praproses 37 3.2.2.3 DFD Level 2 Melakukan Pembelajaran 38 3.2.2.4 DFD Level 2 Mengenal Huruf dan/ atau Angka 40 3.2.2.5 DFD Level 2 Mengenal Kata 40 3.2.3 Algoritma Hopfield 40 3.2.3.1 Kondisi Konvergen 46 3.2.4 Perancangan Antarmuka 46 3.2.4.1 Perancangan Menu 49 3.2.4.2 Perancangan Form 50 3.2.4.3 Form Splash 50 3.2.4.4 Form Utama 52 3.2.4.5 Form Praposes 53 3.2.4.6 Form Pembelajaran 54 3.2.4.7 Form Pengenalan Huruf/ Angka 55 3.2.4.8 Form Pengenalan Kata 56 3.2.4.9 Kotak Dialog Open 57 3.2.4.10 Kotak Dialog Save 57 3.2.4.11 Kotak Dialog Pesan Kesalahan atau Konfirmasi 58 Bab 4 Implementasi dan Pengujian Sistem 59 4.1 Implementasi Sistem 59 4.1.1 Splash 59 4.1.2 Jendela Utama 60 4.1.3 Lembar Kerja 64 4.1.3.1 Lembar Kerja Praproses Citra Huruf/ Angka 64 4.1.3.2 Lembar Kerja Pembelajaran Jaringan Saraf Tiruan Hopfield 65 4.1.3.3 Lembar Kerja Pengenalan Citra Huruf/ Angka 67 4.1.3.4 Lembar Kerja Pengenalan Kata 68 4.1.4 Jendela Penulis 69 4.1.5 Jendela Tentang Program 69 4.1.6 Kotak Dialog Open 70 4.1.7 Kotak Dialog Save 71 4.1.8 Kotak Dialog Pesan Kesalahan/ Konfirmasi 72 4.2 Pengujian Sistem 73 4.2.1 Metode Black Box 73 4.2.2 Pengujian Ketika Membuka File Data Citra 73 4.2.3 Pengujian Aplikasi 74 4.2.4 Pengujian Fungsional Aplikasi 80 4.2.5 Pengujian Pengenalan Huruf/ Angka 83 4.2.6 Pengujian Pengenalan Kata 91 4.2.7 Citra Valid 95 4.2.8 Citra Invalid 96
Bab 5 Penutup 97 5.1 Kesimpulan 97 5.2 Saran 98 Daftar Pustaka 100 Lampiran
DAFTAR TABEL Halaman Tabel 3.1 Submenu dari Menu Edit 49 Tabel 4.1 Hasil Pengenalan Huruf/ Angka Arial 83 Tabel 4.2 Hasil Pengenalan Huruf/ Angka Book Antiqua 84 Tabel 4.3 Hasil Pengenalan Huruf/ Angka Comis Sans MS 85 Tabel 4.4 Hasil Pengenalan Huruf/ Angka Courier New 86 Tabel 4.5 Hasil Pengenalan Huruf/ Angka Gill San MT 87 Tabel 4.6 Hasil Pengenalan Huruf/ Angka Ms Sans Serif 88 Tabel 4.7 Hasil Pengenalan Huruf/ Angka Times New Roman 89 Tabel 4.8 Hasil Pengenalan Huruf/ Angka Verdana 90 Tabel 4.9 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Arial 92 Tabel 4.10 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Book Antiqua 92 Tabel 4.11 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Comis Sans MS 92 Tabel 4.12 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Courier New 93 Tabel 4.13 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Gill San MT 93 Tabel 4.14 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Ms Sans Serif 94 Tabel 4.15 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Times New Roman 94 Tabel 4.16 Hasil Pengenalan Kata pada Jenis Huruf/ Angka Verdana 95 Tabel 4.17 Kata yang Tidak Valid 95
DAFTAR GAMBAR Halaman Gambar 2.1 Model Pemrosesan Informasi pada Otak Manusia 7 Gambar 2.2 Fungsi Aktivasi Undak Biner Hard Limit 8 Gambar 2.3 Fungsi Aktivasi Undak Biner Threshold 9 Gambar 2.4 Fungsi Aktivasi Undak Bipolar Symetric Hard Limit 9 Gambar 2.5 Fungsi Aktivasi Undak Bipolar Threshold 10 Gambar 2.6 Fungsi Aktivasi Linear (Identitas) 10 Gambar 2.7 Fungsi Aktivasi Saturating Linear 11 Gambar 2.8 Fungsi Aktivasi Symetric Saturating Linear 11 Gambar 2.9 Fungsi Aktivasi Sigmoid Biner 12 Gambar 2.10 Fungsi Aktivasi Sigmoid Bipolar 13 Gambar 2.11 Jaringan Hopfield dengan 6 Buah Neuron 14 Gambar 2.12 Matriks Bobot Jaringan Hopfield dengan 6 Buah Neuron 14 Gambar 2.13 Citra Huruf C 15 Gambar 2.14 Matriks Citra Biner Huruf C 15 Gambar 2.15 Perhitungan Bobot Karakter 17 Gambar 2.16 Penskalaan Objek 21 Gambar 2.17 Translasi Objek 21 Gambar 2.18 Rotasi Objek 22 Gambar 2.19 Citra Huruf A 23 Gambar 2.20 Matriks Citra Biner Huruf A 24 Gambar 2.21 Diagram Metal Type 27 Gambar 2.22 Huruf A pada Jenis Huruf Arial Berukuran 10 Point 28 Gambar 3.1 Blok Diagram Proses Pembelajaran dan Pengenalan Citra 30 Gambar 3.2 Diagram Konteks 33 Gambar 3.3 DFD Level 1 Pengenalan Citra Karakter Huruf dan/ atau Angka 34 Gambar 3.4 DFD Level 2 Proses Mengenali Pilihan Menu/ Tool dan Praproses 37 Gambar 3.5 DFD Level 2 Proses Melakukan Pembelajaran 39 Gambar 3.6 DFD Level 2 Proses Mengenal Huruf dan/ atau Angka 40 Gambar 3.7 DFD Level 2 Proses Mengenal Kata 41 Gambar 3.8 Hirarki Menu 48 Gambar 3.9 Form Splash 51 Gambar 3.10 Rancangan Form Utama 51 Gambar 3.11 Rancangan Form Praproses 54 Gambar 3.12 Rancangan Form Pembelajaran 55 Gambar 3.13 Rancangan Form Pengenalan Huruf/ Angka 56 Gambar 3.14 Rancangan Form Pengenalan Kata 56 Gambar 3.15 Kotak Dialog Open 57 Gambar 3.16 Kotak Dialog Save 58 Gambar 3.17 Kotak Dialog Pesan Kesalahan atau Konfirmasi 58 Gambar 4.1 Tampilan Splash 60 Gambar 4.2 Tampilan Jendela Utama 61
Gambar 4.3 ToolTipText 63 Gambar 4.4 Lembar Kerja Praposes Citra Huruf dan/ atau Angka 65 Gambar 4.5 Lembar Kerja Pembelajaran 66 Gambar 4.6 Lembar Kerja Pengenalan Huruf/ Angka 67 Gambar 4.7 Lembar Kerja Pengenalan Kata 68 Gambar 4.8 Jendela Penulis 69 Gambar 4.9 Jendela Tentang Program 70 Gambar 4.10 Kotak Dialog Open 71 Gambar 4.11 Kotak Dialog Save 72 Gambar 4.12 Pesan Kesalahan/ Konfirmasi 72 Gambar 4.13 Pesan Kesalahan Membuka File 74 Gambar 4.14 Citra Huruf A 75 Gambar 4.15 Pembelajaran Citra Huruf A 75 Gambar 4.16 Pengenalan Citra Huruf A 76 Gambar 4.17 Citra Huruf A yang Cacat 76 Gambar 4.18 Pengenalan Citra Huruf A yang Cacat 77 Gambar 4.19 Citra Huruf B 77 Gambar 4.20 Pembelajaran Citra Huruf B 78 Gambar 4.21 Pengenalan Citra Huruf B 79 Gambar 4.22 Pengenalan Kata SARAF 79 Gambar 4.23 Kotak Dialog Open 80 Gambar 4.24 Pesan Kesalahan Membuka File 81 Gambar 4.25 Penamaan Vektor Ciri pada Form Pembelajaran 81 Gambar 4.26 Pesan Kesalahan Penamaan Vektor Ciri 82 Gambar 4.27 Scan Vektor Ciri pada Form Pembelajaran 82 Gambar 4.28 Pesan Kesalahan Citra Belum Dimuat 83 Gambar 4.29 Citra Huruf/ Angka yang Valid pada Jenis Huruf Arial 96 Gambar 4.30 Citra Huruf/ Angka yang Valid pada Jenis Huruf Verdana 96 Gambar 4.31 Citra Huruf/ Angka yang Invalid pada Jenis Huruf Arial 96 Gambar 4.32 Citra Huruf/ Angka yang Invalid pada Jenis Huruf Arial dan Times New Roman 97