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 Universitas Sumatera Utara 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 Universitas Sumatera Utara PERSETUJUAN Judul Kategori Nama Nomor Induk Mahasiswa Program Studi Departemen Fakultas : PENGENALAN CITRA HURUF DAN/ ATAU ANGKA MENGGUNAKAN SISTEM JARINGAN SARAF TIRUAN MODEL HOPFIELD : SKRIPSI : ANDI AURO HARIANJA : 081421007 : EKSTENSI SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 20 Desember 2010 Komisi Pembimbing : 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara, 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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. Universitas Sumatera Utara 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 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metode Penelitian 1.7 Sistematika Penulisan 1 1 2 2 3 3 4 5 Bab 2 Tinjauan Teoritis 2.1 Sistem Jaringan Saraf Tiruan 2.1.1 Fungsi Aktivasi 2.2 Jaringan Saraf Tiruan Model Hopfield 2.2.1 Penyusunan Vektor Ciri Karakter dalam Bentuk Bipolar 2.2.2 Algoritma Jaringan Hopfield 2.2.3 Kelemahan dan Keunggulan Jaringan Saraf Tiruan Hopfield 2.2.4 Pengukuran Tingkat Kesalahan Pembelajaran 2.3 Citra Bitmap 2.4 Transformasi 2.4.1 Penskalaan 2.4.2 Translasi 2.4.3 Rotasi 2.5 Citra Grayscale 2.6 Citra Biner 2.7 Huruf 2.8 Sistem Pengukuran 2.8.1 Point dan Pica 2.8.2 X-height 2.8.3 Em dan En 7 7 8 13 14 18 19 19 20 21 21 22 23 23 24 26 26 27 28 28 Bab 3 Analisis dan Perancangan Perancangan Sistem 3.1 Analisis Sistem 3.2 Perancangan Sistem 3.2.1 Perancangan Proses 3.2.2 Perancangan Data Flow Diagram 29 29 30 30 33 Universitas Sumatera Utara 3.2.2.1 DFD Level 1 Pengenalan Citra Huruf dan/ atau Angka 3.2.2.2 DFD Level 2 Mengenali Pilihan Menu/ Tool dan Praproses 3.2.2.3 DFD Level 2 Melakukan Pembelajaran 3.2.2.4 DFD Level 2 Mengenal Huruf dan/ atau Angka 3.2.2.5 DFD Level 2 Mengenal Kata 3.2.3 Algoritma Hopfield 3.2.3.1 Kondisi Konvergen 3.2.4 Perancangan Antarmuka 3.2.4.1 Perancangan Menu 3.2.4.2 Perancangan Form 3.2.4.3 Form Splash 3.2.4.4 Form Utama 3.2.4.5 Form Praposes 3.2.4.6 Form Pembelajaran 3.2.4.7 Form Pengenalan Huruf/ Angka 3.2.4.8 Form Pengenalan Kata 3.2.4.9 Kotak Dialog Open 3.2.4.10 Kotak Dialog Save 3.2.4.11 Kotak Dialog Pesan Kesalahan atau Konfirmasi Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi Sistem 4.1.1 Splash 4.1.2 Jendela Utama 4.1.3 Lembar Kerja 4.1.3.1 Lembar Kerja Praproses Citra Huruf/ Angka 4.1.3.2 Lembar Kerja Pembelajaran Jaringan Saraf Tiruan Hopfield 4.1.3.3 Lembar Kerja Pengenalan Citra Huruf/ Angka 4.1.3.4 Lembar Kerja Pengenalan Kata 4.1.4 Jendela Penulis 4.1.5 Jendela Tentang Program 4.1.6 Kotak Dialog Open 4.1.7 Kotak Dialog Save 4.1.8 Kotak Dialog Pesan Kesalahan/ Konfirmasi 4.2 Pengujian Sistem 4.2.1 Metode Black Box 4.2.2 Pengujian Ketika Membuka File Data Citra 4.2.3 Pengujian Aplikasi 4.2.4 Pengujian Fungsional Aplikasi 4.2.5 Pengujian Pengenalan Huruf/ Angka 4.2.6 Pengujian Pengenalan Kata 4.2.7 Citra Valid 4.2.8 Citra Invalid 34 37 38 40 40 40 46 46 49 50 50 52 53 54 55 56 57 57 58 59 59 59 60 64 64 65 67 68 69 69 70 71 72 73 73 73 74 80 83 91 95 96 Universitas Sumatera Utara Bab 5 Penutup 5.1 Kesimpulan 5.2 Saran Daftar Pustaka Lampiran 97 97 98 100 Universitas Sumatera Utara DAFTAR TABEL Halaman Tabel 3.1 Tabel 4.1 Tabel 4.2 Tabel 4.3 Tabel 4.4 Tabel 4.5 Tabel 4.6 Tabel 4.7 Tabel 4.8 Tabel 4.9 Tabel 4.10 Tabel 4.11 Tabel 4.12 Tabel 4.13 Tabel 4.14 Tabel 4.15 Tabel 4.16 Tabel 4.17 Submenu dari Menu Edit Hasil Pengenalan Huruf/ Angka Arial Hasil Pengenalan Huruf/ Angka Book Antiqua Hasil Pengenalan Huruf/ Angka Comis Sans MS Hasil Pengenalan Huruf/ Angka Courier New Hasil Pengenalan Huruf/ Angka Gill San MT Hasil Pengenalan Huruf/ Angka Ms Sans Serif Hasil Pengenalan Huruf/ Angka Times New Roman Hasil Pengenalan Huruf/ Angka Verdana Hasil Pengenalan Kata pada Jenis Huruf/ Angka Arial Hasil Pengenalan Kata pada Jenis Huruf/ Angka Book Antiqua Hasil Pengenalan Kata pada Jenis Huruf/ Angka Comis Sans MS Hasil Pengenalan Kata pada Jenis Huruf/ Angka Courier New Hasil Pengenalan Kata pada Jenis Huruf/ Angka Gill San MT Hasil Pengenalan Kata pada Jenis Huruf/ Angka Ms Sans Serif Hasil Pengenalan Kata pada Jenis Huruf/ Angka Times New Roman Hasil Pengenalan Kata pada Jenis Huruf/ Angka Verdana Kata yang Tidak Valid 49 83 84 85 86 87 88 89 90 92 92 92 93 93 94 94 95 95 Universitas Sumatera Utara DAFTAR GAMBAR Halaman Gambar 2.1 Gambar 2.2 Gambar 2.3 Gambar 2.4 Gambar 2.5 Gambar 2.6 Gambar 2.7 Gambar 2.8 Gambar 2.9 Gambar 2.10 Gambar 2.11 Gambar 2.12 Gambar 2.13 Gambar 2.14 Gambar 2.15 Gambar 2.16 Gambar 2.17 Gambar 2.18 Gambar 2.19 Gambar 2.20 Gambar 2.21 Gambar 2.22 Gambar 3.1 Gambar 3.2 Gambar 3.3 Gambar 3.4 Gambar 3.5 Gambar 3.6 Gambar 3.7 Gambar 3.8 Gambar 3.9 Gambar 3.10 Gambar 3.11 Gambar 3.12 Gambar 3.13 Gambar 3.14 Gambar 3.15 Gambar 3.16 Gambar 3.17 Gambar 4.1 Gambar 4.2 Model Pemrosesan Informasi pada Otak Manusia Fungsi Aktivasi Undak Biner Hard Limit Fungsi Aktivasi Undak Biner Threshold Fungsi Aktivasi Undak Bipolar Symetric Hard Limit Fungsi Aktivasi Undak Bipolar Threshold Fungsi Aktivasi Linear (Identitas) Fungsi Aktivasi Saturating Linear Fungsi Aktivasi Symetric Saturating Linear Fungsi Aktivasi Sigmoid Biner Fungsi Aktivasi Sigmoid Bipolar Jaringan Hopfield dengan 6 Buah Neuron Matriks Bobot Jaringan Hopfield dengan 6 Buah Neuron Citra Huruf C Matriks Citra Biner Huruf C Perhitungan Bobot Karakter Penskalaan Objek Translasi Objek Rotasi Objek Citra Huruf A Matriks Citra Biner Huruf A Diagram Metal Type Huruf A pada Jenis Huruf Arial Berukuran 10 Point Blok Diagram Proses Pembelajaran dan Pengenalan Citra Diagram Konteks DFD Level 1 Pengenalan Citra Karakter Huruf dan/ atau Angka DFD Level 2 Proses Mengenali Pilihan Menu/ Tool dan Praproses DFD Level 2 Proses Melakukan Pembelajaran DFD Level 2 Proses Mengenal Huruf dan/ atau Angka DFD Level 2 Proses Mengenal Kata Hirarki Menu Form Splash Rancangan Form Utama Rancangan Form Praproses Rancangan Form Pembelajaran Rancangan Form Pengenalan Huruf/ Angka Rancangan Form Pengenalan Kata Kotak Dialog Open Kotak Dialog Save Kotak Dialog Pesan Kesalahan atau Konfirmasi Tampilan Splash Tampilan Jendela Utama 7 8 9 9 10 10 11 11 12 13 14 14 15 15 17 21 21 22 23 24 27 28 30 33 34 37 39 40 41 48 51 51 54 55 56 56 57 58 58 60 61 Universitas Sumatera Utara Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Gambar 4.11 Gambar 4.12 Gambar 4.13 Gambar 4.14 Gambar 4.15 Gambar 4.16 Gambar 4.17 Gambar 4.18 Gambar 4.19 Gambar 4.20 Gambar 4.21 Gambar 4.22 Gambar 4.23 Gambar 4.24 Gambar 4.25 Gambar 4.26 Gambar 4.27 Gambar 4.28 Gambar 4.29 Gambar 4.30 Gambar 4.31 Gambar 4.32 ToolTipText Lembar Kerja Praposes Citra Huruf dan/ atau Angka Lembar Kerja Pembelajaran Lembar Kerja Pengenalan Huruf/ Angka Lembar Kerja Pengenalan Kata Jendela Penulis Jendela Tentang Program Kotak Dialog Open Kotak Dialog Save Pesan Kesalahan/ Konfirmasi Pesan Kesalahan Membuka File Citra Huruf A Pembelajaran Citra Huruf A Pengenalan Citra Huruf A Citra Huruf A yang Cacat Pengenalan Citra Huruf A yang Cacat Citra Huruf B Pembelajaran Citra Huruf B Pengenalan Citra Huruf B Pengenalan Kata SARAF Kotak Dialog Open Pesan Kesalahan Membuka File Penamaan Vektor Ciri pada Form Pembelajaran Pesan Kesalahan Penamaan Vektor Ciri Scan Vektor Ciri pada Form Pembelajaran Pesan Kesalahan Citra Belum Dimuat Citra Huruf/ Angka yang Valid pada Jenis Huruf Arial Citra Huruf/ Angka yang Valid pada Jenis Huruf Verdana Citra Huruf/ Angka yang Invalid pada Jenis Huruf Arial Citra Huruf/ Angka yang Invalid pada Jenis Huruf Arial dan Times New Roman 63 65 66 67 68 69 70 71 72 72 74 75 75 76 76 77 77 78 79 79 80 81 81 82 82 83 96 96 96 97 Universitas Sumatera Utara