IMPLEMENTASI ALGORITMA THRESHOLDING ADAPTIF DAN TESSERACT OCR UNTUK MENDETEKSI CITRA TEKS KEMASAN MAKANAN BERBASIS ANDROID SKRIPSI RIZKY RIVANNI 121401072 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
IMPLEMENTASI ALGORITMA THRESHOLDING ADAPTIF DAN TESSERACT OCR UNTUK MENDETEKSI CITRA TEKS KEMASAN MAKANAN BERBASIS ANDROID SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer RIZKY RIVANNI 121401072 PROGRAM STUDI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2017
ii PERSETUJUAN Judul : IMPLEMENTASI ALGORITMA THRESHOLDING ADAPTIF DAN TESSERACT OCR UNTUK MENDETEKSI CITRA TEKS KEMASAN MAKANAN BERBASIS ANDROID Kategori : SKRIPSI Nama : RIZKY RIVANNI Nomor Induk Mahasiswa : 121401072 Program Studi Fakultas : SARJANA (S1) ILMU KOMPUTER : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Diluluskan di Medan, Juli 2017 Pembimbing 2 Pembimbing 1 Sri Melvani Hardi, S.Kom., M.Kom Drs. Agus Salim Harahap, M.Si NIP. 198805012015042006 NIP. 195408281981031004 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M. Kom NIP. 196203171991031001
iii PERNYATAAN IMPLEMENTASI ALGORITMA THRESHOLDING ADAPTIF DAN TESSERACT OCR UNTUK MENDETEKSI CITRA TEKS KEMASAN MAKANAN 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, Juli 2017 Rizky Rivanni 121401072
iv UCAPAN TERIMA KASIH Alhamdulillahirabbil alamin. Puji dan syukur kehadirat Allah SWT yang telah memberikan limpahan rahmat dan hidayah-nya serta salam dan shalawat kepada Nabi Besar Muhammad SAW sehingga penulis akhirnya dapat menyelesaikan penyusunan skripsi ini dengan judul Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android sebagai syarat untuk memperoleh gelar Sarjana Komputer di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi. Pada skripsi ini, penulis menyadari bahwa banyak pihak yang turut membantu dan memberi dukungan positif, baik dari pihak keluarga, sahabat, dan teman-teman kerabat yang telah memberikan motivasi sampai dengan penyelesaian skripsi ini. Oleh karena itu, penulis ingin menyampaikan terima kasih kepada : 1. Bapak Prof. Dr. Runtung Sitepu, S.H, M.Hum selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi. 3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer. 4. Bapak Drs. Agus Salim Harahap, M.Si selaku Dosen Pembimbing I yang telah memberikan bimbingan dan dukungan kepada penulis. 5. Ibu Sri Melvani Hardi, S.Kom, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan serta arahan kepada penulis. 6. Bapak Dr. Syahril Efendi, S.Si, M.IT selaku Dosen Pembanding I yang telah memberikan kritik dan saran kepada penulis. 7. Bapak Handrizal, S.Si, M.Comp.Sc selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyelesaian skripsi ini. 8. Bapak/Ibu dosen, staff akademik dan pegawai Fakultas Ilmu Komputer dan Teknologi Informasi, khususnya di Program Studi S1 Ilmu Komputer. 9. Ayahanda M. Zulham, M.Si dan Ibunda Roosvieta yang sangat saya cintai dan hormati yang tak henti-hentinya memberikan dukungan, doa, nasehat dan
v motivasi kepada penulis, Adik tersayang Vionita yang terus memberikan dorongan bagi penulis sehingga skripsi ini dapat terselesaikan. 10. Teman-teman kuliah dan tim seperjuangan, khususnya Candra Hakiki, Vici Indah Yana, Rahmat Setyo Aji, Muhari Akbar, Indri Hidayati, Atikah Rahmah Zulni dan Novi Nuryanti Azharia yang telah memberikan semangat, tempat diskusi dan bantuan kepada penulis hingga saat ini. 11. Keluarga KOM B 2012 dan teman-teman seperjuangan stambuk 2012 yang telah memberikan semangat dan bantuannya baik dari segi moril dan materil. 12. Anggota Ikatan Mahasiswa S1 Ilmu Komputer (IMILKOM) khususnya Departemen Komunikasi dan Informasi Periode 2015-2016 yang telah memberikan dorongan dan semangat. 13. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu dalam penyelesaian skripsi ini. Penulis berharap semoga skripsi ini bermanfaat bagi pembaca meskipun masih banyak kekurangan yang harus diperbaiki. Oleh karena itu, penulis memohon maaf bila ada kesalahan dalam penulisan skripsi ini. Akhir kata, penulis mengucapkan terima kasih untuk semua pihak yang telah memberikan dukungan dan bimbingan kepada penulis, semoga Allah SWT memberikan kesehatan dan limpahan rezeki-nya. Medan, Juli 2017 Penulis
vi ABSTRAK Informasi yang ada pada sebuah kemasan produk makanan tidak dapat dicari secara instan. Hal ini menyulitkan konsumen yang hanya ingin mengetahui informasi yang ada pada kemasan makanan tersebut. Diperlukan suatu metode bagaimana mengambil citra teks kemasan makanan dan perangkat langsung mengenali teks yang ada pada produk tersebut. Optical Character Recognition merupakan cabang dari konsep artificial intelligence dari bidang pengolahan citra, dimana suatu citra yang berisikan teks dapat dikonversi menjadi editable text. Sebelum citra teks kemasan dapat dikenali menggunakan metode Tesseract OCR, perlu dilakukan tahap pre-processing yaitu implementasi algoritma Thresholding Adaptif yang bertujuan untuk memisahkan antara citra teks dengan citra background dalam bentuk citra biner. Kemudian Tesseract OCR mengenali setiap teks yang ada pada citra dengan tahapan metode yang dilalui yaitu feature extraction, segmentasi per kata, dan word recognition. Penelitian ini difokuskan untuk mengembangkan aplikasi pengenalan citra teks kemasan makanan berbasis Android. Citra teks yang dikenali terdiri dari 10 citra melalui kamera dan 20 citra lainnya melalui galeri unduhan dari internet dengan kategori font yaitu Serif dan Sans Serif. Dari pengujian yang telah dilakukan, diperoleh tingkat akurasi terbaik mencapai 100% pada citra uji melalui kamera dengan kategori font Serif dan 94.56% pada citra uji melalui galeri dengan kategori font Sans Serif. Kata Kunci : Kemasan Makanan, Optical Character Recognition, Thresholding Adaptif, Tesseract, Pre-processing.
vii IMPLEMENTATION OF ADAPTIVE THRESHOLDING ALGORITHM AND TESSERACT OCR FOR DETECTING FOOD PACKAGING TEXT-IMAGE BASED ON ANDROID ABSTRACT The information written on a food packaging cannot be searched instantly. It will be difficult for customers who just want to find out some information from the food packaging. A proposed method is required on how to capture the text-image of the food packaging and directly recognize the text contained on the product. Optical Character Recognition is a branch of artificial intelligence concepts from the field of image processing, where it converts text-image into an editable text. In order to identify the food packaging texts using Tesseract OCR, a pre-processing approach is needed to separate the text image from the background image in the form of a binary image using Adaptive Thresholding algorithm. Then Tesseract OCR will try to recognize every text contained in the image using several methods i.e. feature extraction, text segmentation, and word recognition. This research is focused on developing a food packaging text image recognition based on Android application. The images that must be identified will consist of 10 text images using the camera and 20 other text images using the gallery function downloaded from the internet. The font category are Serif and Sans Serif. The final result after the test has been conducted, it is found that text images taken from camera has the best accuracy of 100% with Serif font categories while the text images from the gallery has the accuracy of 94.56% with Sans Serif font categories. Keywords : Food Packaging, Optical Character Recognition, Thresholding Adaptif, Tesseract, Pre-processing.
viii DAFTAR ISI Persetujuan Pernyataan Ucapan Terima Kasih Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Daftar Lampiran Halaman ii iii iv vi vii viii x xi xii Bab 1 Bab 2 Bab 3 Pendahuluan 1.1. Latar Belakang 1.2. Rumusan Masalah 1.3. Batasan Penelitian 1.4. Tujuan Penelitian 1.5. Manfaat Penelitian 1.6. Metodologi Penelitian 1.7. Sistematika Penulisan Landasan Teori 2.1. Citra 2.1.1. Pengolahan Citra 2.1.2. Segmentasi Citra 2.1.3. Citra Biner 2.1.4. Pengenalan Pola Citra 2.2. Binerisasi Otomatis 2.2.1. Dasar-Dasar Thresholding Citra 2.2.2. Global Optimal Thresholding 2.2.3. Adaptive Local Thresholding 2.3. Optical Character Recognition (OCR) 2.3.1. Tahapan Proses OCR 2.3.2. Tesseract OCR 2.3.3. Cara Kerja Tesseract OCR 2.4. Penelitian yang Relevan Analisis dan Perancangan Sistem 3.1. Analisis Sistem 3.1.1. Analisis Masalah 3.1.2. Analisis Kebutuhan 3.1.2.1. Kebutuhan Fungsional 3.1.2.2. Kebutuhan Non-Fungsional 3.1.3. Analisis Proses 3.2. Perancangan Sistem 1 2 2 3 3 3 4 6 7 7 8 8 9 10 10 11 12 13 13 14 15 16 16 18 18 19 19 20
ix Bab 4 Bab 5 3.2.1. Use Case Diagram 3.2.2. Activity Diagram 3.2.3. Sequence Diagram 3.2.4. Flowchart 3.2.4.1. Flowchart Sistem 3.2.4.2. Flowchart Thresholding Adaptif 3.2.5. Perancangan Antarmuka 3.2.5.1. Antarmuka Splash Screen 3.2.5.2. Antarmuka Main Activity 3.2.5.3. Antarmuka Pengambilan Citra 3.2.5.4. Antarmuka Cropping Citra 3.2.5.5. Antarmuka Hasil Keluaran OCR Implementasi dan Pengujian 4.1. Implementasi 4.1.1. Halaman Splash Screen 4.1.2. Halaman Main Activity 4.1.3. Halaman Pengambilan Citra 4.1.4. Halaman Cropping Citra 4.1.5. Halaman Hasil Keluaran OCR 4.2. Pengujian 4.2.1. Pengujian Tahapan Algoritma Thresholding Adaptif 4.2.1.1. Perhitungan Luminosity Grayscale 4.2.1.2. Perhitungan Thresholding Adaptif 4.2.2. Pengujian Karakter Teks Kemasan Makanan Kesimpulan dan Saran 5.1. Kesimpulan 5.2. Saran 20 22 24 26 27 28 29 29 29 30 33 34 35 35 36 37 38 39 39 40 41 42 46 63 64 Daftar Pustaka 65
x DAFTAR TABEL Tabel 3.1 Tabel 3.2 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 Skenario Use Case Open Image Skenario Use Case Pengenalan Citra Teks Data Citra Digital Kemasan Makanan Nilai Piksel 3 x 3 Citra Uji Kemasan Hasil Nilai Piksel 3 x 3 Citra Grayscale Uji Kemasan Hasil Perhitungan Mean Subcitra Pertama Uji Kemasan Hasil Perhitungan Variance Subcitra Uji Kemasan Hasil Perhitungan Nilai Batas T Subcitra Uji Kemasan Hasil Nilai Biner Piksel 16 x 16 Uji Kemasan Hasil Pengujian Tesseract OCR Melalui Kamera Hasil Pengujian Tesseract OCR Melalui Galeri Kesimpulan Hasil Pengujian Tesseract OCR Halaman 21 22 40 41 42 43 44 44 45 46 51 61
xi DAFTAR GAMBAR 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 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 4.1 Gambar 4.2 Gambar 4.3 Gambar 4.4 Gambar 4.5 Gambar 4.6 Gambar 4.7 Gambar 4.8 Gambar 4.9 Gambar 4.10 Koordinat Bidang Citra Contoh Citra Teks Biner Ilustrasi Pengenalan Pola Citra Karakter S untuk Pengenalan Huruf Thresholding Citra Berdasarkan Histogram Perbedaan Global dengan Adaptif Thresholding Tahapan OCR Proses Utama Tesseract OCR Diagram Ishikawa Pengenalan Citra Kemasan Use Case Diagram Activity Diagram Cropping Citra Activity Diagram Pengenalan Citra Teks Sequence Diagram Cropping Citra Sequence Diagram Pengenalan Citra Teks Flowchart Sistem Umum Flowchart Algoritma Thresholding Adaptif Perancangan Antarmuka Splash Screen Perancangan Antarmuka Main Activity Perancangan Antarmuka Pengambilan Citra Perancangan Antarmuka Kamera Perancangan Antarmuka Galeri Perancangan Antarmuka Cropping Citra Perancangan Antarmuka Hasil Keluaran OCR Halaman Splash Screen Halaman Main Activity Halaman Pengambilan Citra Halaman Pengambilan Citra Melalui Kamera Halaman Pengambilan Citra Melalui Galeri Halaman Cropping Citra Halaman Hasil Keluaran OCR Hasil Program Uji Luminosity Grayscale Hasil Program Uji Thresholding Adaptif Grafik Hasil Pengujian Tesseract OCR Halaman 7 8 9 9 10 12 13 14 17 21 23 24 25 26 27 28 29 30 31 32 32 33 34 36 36 37 37 38 38 39 42 46 61
xii DAFTAR LAMPIRAN Halaman Lampiran 1 Listing Program 66 Lampiran 2 Daftar Riwayat Hidup (Curriculum Vitae) 74