PENGENALAN KATA MENGGUNAKAN SELF-ORGANIZING MAP SEBAGAI INPUT KAMUS BERBASIS ANDROID FAJAR MATIUS GINTING 101402055 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2015
PENGENALAN KATA MENGGUNAKAN SELF-ORGANIZING MAP SEBAGAI INPUT KAMUS BERBASIS ANDROID SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Teknologi Informasi FAJAR MATIUS GINTING 101402055 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA 2015
ii PERSETUJUAN Judul : PENGENALAN KATA MENGGUNAKAN SELF- ORGANIZING MAP SEBAGAI INPUT KAMUS BERBASIS ANDROID Kategori : SKRIPSI Nama : FAJAR MATIUS GINTING Nomor Induk Mahasiswa : 101402055 Program Studi : S1 TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dani Gunawan, ST.,MT Dedy Arisandi, S.T., M.Kom NIP. 19820915 201212 1 002 NIP 19790831 200912 1 002 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Muhammad Anggia Muchtar NIP 19800110 200801 1 010
iii PERNYATAAN PENGENALAN KATA MENGGUNAKAN SELF-ORGANIZING MAP SEBAGAI INPUT KAMUS BERBASIS ANDROID SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, 29 Agustus 2015 Fajar Matius Ginting 101402055
iv UCAPAN TERIMA KASIH Puji dan syukur penulis sampaikan kehadirat Tuhan Yang Maha Esa atas berkat dan rahmat yang telah diberikan sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi Universitas Sumatera Utara. Penulis mengucapkan banyak terima kasih kepada Bapak Bapak Dedy Arisandi, S.T., M.Kom selaku dosen pembimbing pertama dan Bapak Dani Gunawan, ST.,MT selaku dosen pembimbing kedua yang telah membimbing, memberi kritik dan saran kepada penulis selama proses penelitian serta penulisan skripsi. Tanpa inspirasi serta motivasi dari kedua dosen pembimbing, tentunya penulis tidak akan mampu menyelesaikan skripsi ini. Penulis juga mengucapkan terima kasih kepada Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku dosen pembanding pertama dan Bapak Romi Fadillah Rahmat, B.Comp.Sc., M.Sc sebagai dosen pembanding kedua yang telah membantu memberikan kritik dan saran yang membantu penulis dalam pengerjaan skripsi ini. Ucapan terima kasih juga penulis tujukan pada semua dosen, pegawai serta staff pada program studi S1 Teknologi Informasi yang telah membantu dan membimbing penulis selama proses perkuliahan. Penulis juga berterima kasih terutama kepada kedua orang tua penulis, Bapak Laurentius Ginting Manik serta Ibu Rasmita Milala yang telah membesarkan penulis dengan sabar dan penuh kasih sayang. Penulis juga berterima kasih kepada adik dan kakak penulis Terbit Kornelius Ginting dan Maria Mentari Ginting serta seluruh anggota keluarga penulis yang namanya tidak dapat disebutkan satu per satu. Terima kasih juga penulis ucapkan kepada senior-senior serta junior-junior Teknologi Informasi di. Secara khusus, penulis ingin mengucapkan terima kasih banyak kepada sahabat penulis, Handri Gunawan Lubis yang telah memberikan dukungan materil berupa Android yang digunakan dalam penelitian ini dan secara umum kepada seluruh teman-teman angkatan 2010 Teknologi Informasi yang telah bersama-sama dengan penulis melewati seluruh proses perkuliahan di ini.
v ABSTRAK Salah satu kesulitan yang dialami turis ketika berkunjung ke Rusia adalah masalah bahasa. Penggunaan aplikasi kamus Bahasa Rusia dapat digunakan untuk mengatasi masalah tersebut. Akan tetapi, muncul masalah jika turis tidak familiar terhadap huruf yang dipakai Bahasa Rusia. Bahasa Rusia menggunakan huruf Cyrillic yang penggunaannya terbatas pada Rusia dan beberapa negara tetangganya. Huruf Cyrillic bentuknya berbeda dengan huruf latin. Hal ini sangat menyulitkan turis ketika ingin melakukan penerjemahan dengan mengetikkan kata dari Bahasa Rusia ke aplikasi kamus. Oleh karena itu dibutuhkan sebuah cara untuk menginputkan kata dalam Bahasa Rusia yang menggunakan huruf Cyrillic tersebut. Salah satunya adalah dengan mengambil gambar dari kata yang ingin diterjemahkan, lalu dikenali polanya. Pengenalan pola akan menggunakan jaringan saraf tiruan Self-organizing Map. Pengolahan citra untuk mendapatkan nilai masukan untuk pengenalan polanya akan menggunakan binarisasi, penapisan derau, segmentasi, thinning, dan kemudian fitur akan diekstrak menggunakan pemetaan piksel. Citra kata akan di potong-potong menjadi citra karakter, kemudian setiap citra karakter akan di ekstrak fiturnya, dan dikirim ke server untuk dikenali polanya. Hasil dari server akan dikirim ke klien untuk ditampilkan. Hasil yang didapat adalah, sistem mampu mengenali karakter Cyrillic dengan akurasi dari pengenalan yang didapatkan adalah 91,92% terhadap data uji yang berupa huruf dan 83,79% untuk data uji yang berupa kata. Kata Kunci : self-organizing map, jaringan saraf tiruan, pengenalan karakter optik, Cyrillic, pengolahan citra.
vi ANDROID DICTIONARY APPLICATION WITH IMAGE RECOGNITION USING SELF ORGANIZING MAP ABSTRACT One of tourist problems when visiting Russia is language problem. The use of dictionary application for Russian language can overcome this language problem. But another problem arise when the tourist is not familiar with the alphabet used by Russian language. The Russian language using Cyrillic alphabet, which its use limited only to Russia and some of Russias neighboring states. The Cyrillic alphabet has different form than Latin alphabet. Because of this, tourist will encounter difficulties when trying to translate Russian word by typing it to the dictionary application. Therefore, other method of inputting is needed. One of them is by taking the picture of the word, and then recognize the pattern. Pattern recognizing will use one of neural network method, Self-organizing Map. Image processing will be used to get the input value for pattern recognition, such as binarisation, noise filtering, segmentation, thinning, and then the feature will be extracted using pixel mapping. The image containing the word is segmented into many image that containing one character each, and each of that isolated image will have its feature extracted, and then send to server for recognition. The recognition result will be send back to the android client, and shown to the user. The result is, system is able to recognize Cyrillic character pattern with accuracy of recognition is 91,92% for test data in the form of letters and 83,79% for test data in the form of words. Keywords : self-organizing map, optical character recognition, Cyrillic, image processing.
vii DAFTAR ISI Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abstract Daftar Isi Dafter Tabel Daftar Gambar ii iii iv v vi vii ix x BAB 1 PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 3 1.3 Tujuan Penelitian 3 1.4 Batasan Masalah 3 1.5 Manfaat Penelitian 4 1.6 Sistematika Penulisan 4 BAB 2 LANDASAN TEORI 5 2.1 Bahasa Rusia 5 2.2 Pengolahan Citra Digital 8 2.2.1 Pengertian Citra 8 2.2.2. Binerisasi 9 2.2.3 Penapisan Derau 11 2.2.4 Segmentasi 13 2.2.5 Thinning 14 2.3 Ekstraksi Fitur 16 2.4 Pengenalan Pola 17 2.5 Self-Organizing Map 18 2.6 Penelitian Terkait 20 BAB 3 ANALISIS DAN PERANCANGAN 23
viii 3.1 Basis data yang digunakan 23 3.2 Arsitektur umum 24 3.2.1 Input Citra 26 3.2.2 Prapengolahan Citra 26 3.2.3 Ekstraksi Fitur 38 3.2.4 Menerima Data pada server 38 3.2.5 Klasifikasi 39 3.2.6 Pelatihan 40 3.2.7 Menerima Data pada klien 41 3.2.8 Penerjemahan 42 3.2.9 Menampilkan Hasil 42 3.3 Use case dan User case spesification 44 3.3.1 Use case 44 3.3.2 Use case spesification 44 BAB 4 IMPLEMENTASI DAN PENGUJIAN 48 4.1 Pengujian Server 48 4.1.1 Proses Pelatihan 48 4.1.2 Proses Pengujian 48 4.2 Pengujian Klien 50 BAB 5 KESIMPULAN DAN SARAN 57 5.1 Kesimpulan 57 5.2 Saran 57 Daftar Pustaka 59 Lampiran A : Hasil Pengujian terhadap huruf 62 Lampiran B : Hasil Pengujian terhadap kata 67
ix DAFTAR TABEL Tabel 2.1 Tabel huruf Cyrillic 7 Tabel 2.2 Tabel Penelitian Terdahulu 21 Tabel 3.1 Contoh rekord dari database 23 Tabel 3.2 Penggunaan Font 40 Tabel 3.3 Hasil Pencocokan database dengan masukan вечный 42 Tabel 3.4 Use Case spesifikasi untuk user 45 Tabel 3.5 Use Case spesifikasi untuk pelatihan 45 Tabel 4.6 Use Case spesifikasi untuk pengujian 46 Tabel 4.1 Hasil pengujian data latih 49 Tabel 4.2 Hasil pengujian data uji 49 Tabel 4.3 Hasil dari pengenalan kata 55
x DAFTAR GAMBAR Gambar 2.1 Piksel pada citra 8 Gambar 2.2 Hasil binerisasi dengn algoritma Otsu 11 Gambar 2.3 Piksel dan tetangganya 12 Gambar 2.4 Citra dengan Median Filter 13 Gambar 2.5 Ilustrasi pemotongan karakter dari sebuah citra 14 Gambar 2.6 Proses Thinning 16 Gambar 2.7 Ilustrasi pemetaan piksel, dari citra menjadi untaian nilai 17 Gambar 2.8 Struktur Sistem Pengenalan Pola 17 Gambar 2.9 Contoh jaringan kohonen dengan ukuran node 4x4 dan 2 unit masukan 19 Gambar 3.1 Diagram blok sistem secara keseluruhan 24 Gambar 3.2 Diagram blok prapengolahan citra pada klien 25 Gambar 3.3 Diagram blok pelatihan pada server 26 Gambar 3.4 Diagram blok prapengolahan citra pada server 26 Gambar 3.5 Flowchart median filter 3x3 27 Gambar 3.6 Hasil penapisan derau 28 Gambar 3.7 Flowchart Grayscaling 29 Gambar 3.8 Flowchart penentuan ambang batas menggunakan metode Otsu 30 Gambar 3.9 Flowchart metode ambang batas 31 Gambar 3.10 Hasil Binerisasi 32 Gambar 3.11 Flowchart segmentasi kata menjadi kolom yang berisi satu huruf 34 Gambar 3.12 Hasil Segmentasi 35 Gambar 3.13 Flowchart proses penskalaan 35 Gambar 3.14 Hasil penskalaan dari sebuah karakter 36 Gambar 3.15 Flowchart proses thinning dengan metode Zhang-Suen 37 Gambar 3.16 Hasil proses thinning 38
xi Gambar 3.17 Diagram alir klasifikasi data hasil ekstraksi fitur 39 Gambar 3.18 Diagram alir proses pelatihan 41 Gambar 3.19 Rancangan tampilan hasil 43 Gambar 3.20 Use Case 44 Gambar 4.1 Iklan dari potongan sebuah majalah berbahasa Rusia 50 Gambar 4.2 Menentukan bagian yang mengandung kata yang ingin diterjemahkan 51 Gambar 4.3 Bagian yang dipilih oleh user 51 Gambar 4.4 Hasil penapisan derau 52 Gambar 4.5 Hasil binerisasi 52 Gambar 4.6 Hasil segmentasi 53 Gambar 4.7 Hasil penskalaan 53 Gambar 4.8 Hasil dari prapengolahan citra 53 Gambar 4.9 Hasil penerjemahan ditampilkan berserta bagian yang dijadikan Masukan oleh pengguna 54