KEMASAN MAKANAN BERBASIS ANDROID
SKRIPSI
RIZKY RIVANNI 121401072
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
RIZKY RIVANNI 121401072
PROGRAM STUDI S1 ILMU KOMPUTER
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 : SARJANA (S1) ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, Juli 2017
Komisi Pembimbing :
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,
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
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 Universitas Sumatera Utara.
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 Universitas Sumatera Utara.
3. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
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.
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
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.
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.
DAFTAR ISI
Halaman Persetujuan
Pernyataan
Ucapan Terima Kasih Abstrak
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
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
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 ܶ 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
DAFTAR GAMBAR
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
DAFTAR LAMPIRAN
Halaman
Lampiran 1 Listing Program 66