Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android Chapter III V
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah suatu proses untuk mendeskripsikan fase awal pengembangan
sistem. Melalui metode analisis tertentu, sistem akan dibagi menjadi komponen
subsistem yang lebih kecil untuk mengetahui bagaimana hubungan setiap komponen
dapat bekerja dan saling berinteraksi untuk mencapai tujuan (Whitten & Bentley, 2007).
Analisis sistem ini meliputi tiga fase yaitu analisis masalah, analisis kebutuhan dan
analisis proses.
3.1.1. Analisis masalah
Analisis masalah merupakan langkah-langkah bagaimana menjabarkan permasalahan
dari setiap bagian untuk diidentifikasi lebih lanjut. Sesuai dengan penelitian ini, maka
permasalahan yang akan dibahas adalah mengenai pendeteksian tulisan nama kemasan
secara otomatis pada kemasan makanan yang berupa citra digital agar pengambilan
informasi menjadi lebih mudah dan efisien.
Salah satu metode diagram yang efektif untuk mengidentifikasi masalah adalah
diagram Ishikawa (fishbone/cause and effect diagram). Diagram Ishikawa digunakan
untuk mengidentifikasi berbagai kemungkinan penyebab yang berhubungan dengan
suatu permasalahan serta dapat merangkum poin-poin tertentu secara visual (Bilsel &
Lin, 2012).
Gambaran masalah dari penelitian ini dapat dilihat dalam bentuk diagram
Ishikawa pada Gambar 3.1.
Universitas Sumatera Utara
17
Gambar 3.1 Diagram Ishikawa pengenalan citra kemasan
Melalui Gambar 3.1 dapat diketahui masalah serta penyebabnya yang ditinjau dari 4
kategori yang akan dijabarkan sebagai berikut:
1. Kategori Sistem
Cause :
Perangkat Android belum dapat mendeteksi citra teks secara sistemik.
2. Kategori Metode
Cause :
Tesseract OCR belum dapat mengenali citra teks secara maksimal.
Reason : Perlunya dilakukan tahap pre-processing untuk meningkatkan
akurasi.
Pemisahan teks dengan background harus dilakukan secara adaptif.
3. Kategori Material
Cause :
Teks kemasan terlalu rumit untuk dideteksi.
Kualitas gambar tidak baik.
Universitas Sumatera Utara
18
4. Kategori User
Cause :
Pihak penerima informasi
Reason : Hasil keluaran teks dapat dilihat dan diproses lebih lanjut.
3.1.2. Analisis kebutuhan
Analisis kebutuhan bertujuan untuk mengidentifikasi dan mengevaluasi data dan proses
yang dibutuhkan oleh sistem. Untuk mempermudah menganalisis sebuah sistem
dibutuhkan dua jenis analisis kebutuhan yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan kemampuan dan layanan dari
sebuah sistem. Kebutuhan non-fungsional mendeskripsikan tingkatan dari kualitas,
misalnya seberapa aman, dapat digunakan atau tidak, dsb (Danto, et al. 2011).
3.1.2.1. Kebutuhan fungsional
1. Fungsi Open Image
Sistem dapat menginput citra digital yang berisi teks kemasan makanan
berekstensi *.jpg melalui kamera ataupun galeri.
2. Fungsi Cropping
User dapat melakukan cropping terhadap citra yang telah diambil melalui
kamera ataupun galeri dan mengambil bagian teks yang ingin dideteksi.
3. Fungsi Grayscale
Sistem akan melalui metode luminosity grayscale terhadap citra digital yang
telah di-crop.
4. Fungsi Thresholding
Sistem dapat melakukan tahap pre-processing yaitu memisahkan antara teks
dengan background citra secara adaptif sebelum melalui proses pengenalan
karakter.
5. Fungsi OCR
Sistem akan mengenali citra teks secara bertahap dan mengeluarkan output
berupa teks.
Universitas Sumatera Utara
19
3.1.2.2. Kebutuhan non-fungsional
1. Performa
Sistem yang dibangun harus dapat menampilkan setiap perubahan tahapan citra
yang telah diproses dan dapat mengenali citra teks kemasan makanan.
2. Tampilan
Sistem yang dibangun harus memiliki tampilan yang rapi, tata letak yang
rasional dan pewarnaan yang jelas, serta bersifat user friendly.
3. Hemat Biaya
Sistem yang dibangun disesuaikan dengan teknologi mobile saat ini sehingga
penggunaannya menjadi lebih luas dan tidak memerlukan perangkat tambahan.
4. Manajemen Kualitas
Sistem yang dibangun akan memiliki kualitas yang baik dalam proses
pengolahan citra, segmentasi maupun pengenalan karakter teks.
5. Kontrol
Sistem yang dibangun harus dapat mengatasi setiap kesalahan input yang terjadi
ataupun kegagalan dari sistem dengan menampilkan pesan error.
6. Dokumentasi
Setiap tahapan pre-processing citra yang dilalui, hasil perubahan citra harus
dapat disimpan sebagai bentuk dokumentasi.
3.1.3. Analisis proses
Sistem yang dibangun menggunakan perancangan perangkat lunak Android Studio
dengan basis bahasa pemrograman Java. Tahapan pada sistem yang akan diproses
adalah tahap pre-processing citra dan tahap pengenalan citra teks kemasan makanan
disertai dengan pengujian beberapa sampel citra dengan nilai yang berbeda.
Citra yang akan diambil melalui kamera sebanyak 10 citra uji dengan intensitas
cahaya yang berbeda, sedangkan citra melalui galeri yang diunduh dari internet
sebanyak 20 citra uji dengan resolusi piksel yang bervariasi. Data citra memiliki jenis
font Serif dan Sans Serif yang berbeda-beda tergantung dari kerapatan antar-font dan
kerumitan elemen disekeliling teks citra tersebut.
Algoritma Thresholding Adaptif diproses pada tahap pre-processing citra
setelah melalui cropping dan grayscaling. Algoritma ini akan bekerja secara adaptif
Universitas Sumatera Utara
20
dengan membagi citra menjadi beberapa bidang berukuran
×
kemudian diproses
per subcitra sehingga hasil citra biner yang didapat lebih akurat.
Tesseract OCR diimplementasikan oleh sistem setelah melalui tahap preprocessing citra. Sistem akan mengenali citra teks kemasan makanan menggunakan
library Tesseract untuk platform Android dengan beberapa tahapan proses yang terdiri
dari feature extraction, segmentation dan word recognition.
3.2. Perancangan Sistem
Perancangan sistem dilakukan untuk menunjukkan dan mendeskripsikan gambaran dari
sistem yang akan dibangun sehingga dapat memudahkan dalam proses coding.
Rancangan model pada penelitian ini menggunakan UML. Unified Modeling Language
(UML) adalah bahasa pemodelan umum yang digunakan untuk menentukan,
memvisualisasikan, membangun dan mendokumentasikan komponen-komponen dari
sistem perangkat lunak (Rumbaugh, et al. 2005). Model UML yang digunakan pada
penelitian ini adalah use case diagram, activity diagram dan sequence diagram.
3.2.1. Use case diagram
Menurut Rumbaugh, et al. (2005), use case menggambarkan fungsionalitas dari suatu
subjek (sistem) dimana terdapat sebuah aktor yang berinteraksi dengan sistem dari sudut
pandang tertentu. Hubungan antara aktor dengan fungsi yang ada pada sistem
dihubungkan oleh garis lurus yang menunjukkan bahwa aktor tersebut dapat
mengeksekusi perintah terhadap use case yang dituju. Adapun use case dari sistem yang
akan dibangun pada penelitian ini dapat dilihat pada Gambar 3.2.
Universitas Sumatera Utara
21
Gambar 3.2 Use case diagram
Untuk lebih jelasnya, setiap use case akan dijabarkan ke dalam bentuk skenario
use case yang dapat dilihat pada Tabel 3.1 dan Tabel 3.2.
Tabel 3.1 Skenario use case open image
Nama Use Case
Aktor
Deskripsi
Pra Kondisi
Normal Course
Alternate Course
Open Image
User
Membuka/memilih citra teks kemasan makanan yang
akan dideteksi untuk ditampilkan di sistem.
Membuka tampilan awal sistem OCR.
1. User menekan tombol “Open Image” di bawah
picture box citra.
2. User memilih ingin mengambil citra melalui
kamera atau gallery.
3. User mengambil citra kemasan makanan.
4. User melakukan cropping dan mengambil citra
yang berisikan teks saja.
5. Sistem menampilkan citra teks kemasan makanan
pada picture box.
5a. User menekan tombol back pada saat
pengambilan citra.
5a1. Sistem akan kembali ke menu tampilan
awal.
Universitas Sumatera Utara
22
Tabel 3.2 Skenario use case pengenalan citra teks
Nama Use Case
Aktor
Deskripsi
Pra Kondisi
Normal Course
Alternate Course
Pengenalan Citra Teks
User
Melakukan proses pendeteksian karakter teks kemasan
makanan dengan terlebih dahulu melalui tahapan preprocessing.
Membuka citra teks kemasan makanan.
1. User menekan tombol “Grayscale” di bawah button
“Open Image”.
2. Sistem melakukan proses grayscaling dan
menampilkan citra hasil grayscale pada picture box.
3. User menekan tombol “Thresholding Adaptif” di
bawah button “Open Image”.
4. Sistem melakukan proses thresholding dan
menampilkan citra hasil threshold pada picture box.
5. User menekan tombol “Tesseract OCR” di bawah
button “Open Image”.
6. Sistem mendeteksi karakter teks yang muncul pada
citra dan menampilkan hasil teks pada message box.
5a. User menekan tombol “Open Image”.
5a1. Sistem akan mereset picture box.
5b1. User memilih ingin mengambil citra melalui
kamera atau gallery.
3.2.2. Activity diagram
Dalam Unified Modeling Language (UML), Activity diagram menggambarkan
workflow (aliran aktivitas) dari sebuah sistem secara spesifik. Activity diagram juga
dapat digunakan untuk menunjukkan aliran pesan dari satu aktivitas ke aktivitas lainnya
secara paralel ataupun kondisional.
Adapun activity diagram dari sistem yang akan dirancang dapat dilihat pada
Gambar 3.3 dan Gambar 3.4.
Universitas Sumatera Utara
23
Gambar 3.3 Activity diagram cropping citra
Pada Gambar 3.3, activity diagram menggambarkan proses cropping citra
dimana user dapat memotong bagian citra teks didalamnya. Ada dua pilihan dalam
pengambilan citra untuk proses pengujian yaitu melalui kamera dan citra yang terdapat
pada galeri smartphone. Citra teks kemasan yang ditangkap oleh kamera maupun dari
galeri akan di-crop oleh user dan hanya mengambil bagian citra teks yang akan
dideteksi oleh Tesseract OCR.
Universitas Sumatera Utara
24
Gambar 3.4 Activity diagram pengenalan citra teks
Gambar 3.4 menggambarkan aktivitas sistem pada saat melakukan proses
pengenalan citra teks kemasan dengan Tesseract OCR. User akan melakukan tiga
tahapan aktivitas secara berurutan yaitu grayscale citra dengan menggunakan
luminosity grayscale, Thresholding Adaptif citra untuk menentukan output biner citra
dan pengenalan citra teks menggunakan Tesseract OCR. Sistem akan membaca citra
dan memproses setiap perhitungan serta menampilkan hasil tahapan citra dan keluaran
teks kemasan di perangkat Android.
3.2.3. Sequence diagram
Diagram sekuensial menggambarkan bagaimana objek saling berinteraksi satu sama
lain melalui aliran pesan dalam satu jenis use case. Diagram ini mengilustrasikan
Universitas Sumatera Utara
25
bagaimana pesan dikirim dan diterima antara objek dalam urutan waktu tertentu
(Whitten & Bentley, 2007).
Adapun sequence diagram dari sistem yang akan dirancang dapat dilihat pada
Gambar 3.5 dan Gambar 3.6.
Gambar 3.5 Sequence diagram cropping citra
Pada Gambar 3.5, sequence diagram menggambarkan interaksi cropping citra
antara user, interface aplikasi dan proses cropping. Pada tahap cropping citra, user
dapat melakukan cropping terhadap teks kemasan yang akan diuji dengan nama fungsi
doCrop dan kemudian sistem akan membaca batas-batas pemotongan citra terhadap
grafik dan . Selanjutnya, sistem akan membalikkan nilai crop citra dan menampilkan
hasilnya pada picture box.
Universitas Sumatera Utara
26
Gambar 3.6 Sequence diagram pengenalan citra teks
Pada Gambar 3.6, sequence diagram mengilustrasikan interaksi pengenalan
citra teks antara user, interface aplikasi, proses adaptive thresholding dan proses
recognized text. Pada tahap grayscale citra, sistem akan membaca fungsi
getGrayscaleIMG dan mengambil nilai bitmap *.jpg dari citra yang telah melalui proses
cropping untuk dikonversikan ke nilai abu-abu dengan metode luminosity grayscale.
Setelah itu, citra hasil grayscale akan dibaca kembali dan dilanjutkan ke fungsi
getThresholdIMG dengan perhitungan algoritma Thresholding Adaptif untuk
dikonversikan ke citra biner. Selanjutnya, sistem akan membaca nilai threshold citra
dan dideteksi teksnya menggunakan Tesseract OCR dengan membaca fungsi
getUTF8Text dan menampilkan hasil teks yang didapat ke dalam message box.
3.2.4. Flowchart
Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis
yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah
secara berurutan. Pada penelitian ini, terdapat dua flowchart yaitu flowchart sistem
secara umum dan flowchart algoritma Thresholding Adaptif.
Universitas Sumatera Utara
27
3.2.4.1. Flowchart sistem
Adapun flowchart sistem secara keseluruhan dapat dilihat pada Gambar 3.7.
Mulai
Input citra
RGB
Cropping citra
Merubah citra
RGB menjadi
citra grayscale
Lakukan
Thresholding
Adaptif Citra
Pengenalan
Karakter dengan
Tesseract OCR
Tampil hasil
deteksi teks
Selesai
Gambar 3.7 Flowchart sistem umum
Universitas Sumatera Utara
28
3.2.4.2. Flowchart thresholding adaptif
Berikut adalah flowchart algoritma Thresholding Adaptif untuk pengubahan citra biner
yang dapat dilihat pada Gambar 3.8.
Mulai
Tampil citra
grayscale
Citra grayscale dipecah
menjadi subcitra ukuran ×
Hitung mean
subcitra ke-
Hitung variance
subcitra ke-
= +
Ya
>
Hitung threshold
max
− min
Tidak
Hitung threshold
max
− min
Lakukan Global
Thresholding
terhadap nilai
Binerisasi subcitra
dengan nilai
Tidak
>
Ya
Selesai
Gambar 3.8 Flowchart algoritma Thresholding Adaptif
Universitas Sumatera Utara
29
3.2.5. Perancangan antarmuka
Pada tahap ini akan dilakukan perancangan antarmuka (interface) yang efektif dan
minimalis sesuai dengan kebutuhan sistem yang telah dijelaskan sebelumnya.
Tujuannya adalah untuk membuat interaksi antara interface dan pengguna sesederhana
dan seefisien mungkin, dalam hal mencapai tujuan pengguna.
3.2.5.1. Antarmuka splash screen
Splash screen merupakan tampilan loading aplikasi pertama kali ketika sistem akan
dijalankan. Tampilan antarmuka splash screen untuk sistem yang akan dibangun dapat
dilihat pada Gambar 3.9.
Gambar 3.9 Perancangan antarmuka splash screen
Keterangan :
1. ImageView digunakan untuk menampilkan logo aplikasi pendeteksian citra teks
beserta gambar background sebagai latar belakang splash screen.
3.2.5.2. Antarmuka main activity
Main activity merupakan tampilan sistem utama yang muncul setelah splash screen
dijalankan. Pada main activity terdapat button open image, button proses dan image
Universitas Sumatera Utara
30
view. Tampilan dirancang dengan minimalis agar user mudah dalam mengoperasikan
aplikasi OCR. Rancangan antarmuka main activity dapat dilihat pada Gambar 3.10.
Gambar 3.10 Perancangan antarmuka main activity
Keterangan :
1. ImageView digunakan untuk menampilkan citra yang telah dipilih melalui
kamera maupun galeri serta setiap tahapan proses yang terjadi pada citra
tersebut.
2. Button Open Image digunakan sebagai tombol untuk membuka file image *.jpg.
3. Button Tahapan Proses digunakan sebagai tombol untuk melakukan proses
grayscale, algoritma Thresholding Adaptif dan Tesseract OCR.
3.2.5.3. Antarmuka pengambilan citra
Rancangan dalam pengambilan citra terdiri dari dua pilihan yaitu pengambilan citra
melalui kamera dan pengambilan file citra di galeri. Antarmuka pengambilan citra akan
tampil setelah button Open Image dipilih. Berikut rancangan antarmuka pengambilan
citra pada Gambar 3.11.
Universitas Sumatera Utara
31
Gambar 3.11 Perancangan antarmuka pengambilan citra
Keterangan :
1. AlertDialog digunakan untuk menampilkan window baru yang berisi dua pilihan
pengambilan citra.
2. DialogItem digunakan untuk pemilihan pengambilan citra menggunakan
kamera. Rancangan tampilan kamera dapat dilihat pada Gambar 3.12.
3. DialogItem digunakan untuk pemilihan pengambilan file citra dari galeri.
Rancangan tampilan galeri dapat dilihat pada Gambar 3.13.
Universitas Sumatera Utara
32
Gambar 3.12 Perancangan antarmuka kamera
Keterangan :
1. Image Real View akan ditampilkan dengan layar penuh.
2. Camera Button digunakan untuk mengambil foto secara langsung.
Gambar 3.13 Perancangan antarmuka galeri
Universitas Sumatera Utara
33
Pada Gambar 3.13, jika user memilih pengambilan citra melalui galeri, maka
pengguna akan langsung dihubungkan dengan file citra yang tersedia di galeri
smartphone. User dapat melakukan scrolling pada citra yang akan dicari maupun
memilih folder yang tersedia di smartphone masing-masing.
3.2.5.4. Antarmuka cropping citra
Antarmuka cropping citra akan muncul setelah user mengambil foto melalui kamera
atau galeri. Rancangan cropping bertujuan agar hanya area teks merek kemasan
makanan saja yang dijadikan sebagai citra masukan. Berikut rancangan antarmuka
cropping citra pada Gambar 3.14.
Gambar 3.14 Perancangan antarmuka cropping citra
Keterangan :
1. Save Button digunakan untuk menyimpan hasil cropping citra yang baru.
2. Titik mulai CropIntent dibuat di tengah kanvas cropping agar citra dapat di-crop
dengan ukuran yang bervariasi mengikuti gambar dari teks makanan.
3. Image yang akan di-crop ditampilkan dengan layar penuh.
Universitas Sumatera Utara
34
3.2.5.5. Antarmuka hasil keluaran OCR
Setelah file citra masuk pada tahap pengenalan karakter teks, hasil keluaran teks akan
muncul pada window baru yang dirancang seperti pada Gambar 3.15.
Gambar 3.15 Perancangan antarmuka hasil keluaran OCR
Keterangan :
1. AlertDialog digunakan untuk menampilkan window baru dimana hasil keluaran
teks merek kemasan makanan akan muncul pada halaman ini.
2. DialogItem ini adalah tempat untuk menampung string teks kemasan makanan
yang telah dideteksi.
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Tahap implementasi sistem merupakan penerapan langkah lanjutan dari proses analisis
dan perancangan sistem. Rancangan keseluruhan sistem yang telah dibahas sebelumnya
akan diimplementasikan ke dalam bahasa pemrograman Java. Adapun perangkat lunak
yang digunakan untuk mengimplementasikan bahasa Java serta hasil rancangan desain
antarmuka pada penelitian ini yaitu Android Studio 1.4. Tipe perangkat smartphone
yang akan digunakan untuk hasil pengujian program adalah Lenovo A6000+ versi
Android 5.0.2. Sistem ini terdiri dari 5 (lima) tampilan halaman, yaitu halaman splash
screen, halaman main activity (aktivitas utama), halaman pengambilan citra, halaman
cropping citra, dan halaman hasil keluaran OCR.
4.1.1. Halaman splash screen
Halaman splash screen akan menampilkan beberapa objek, yaitu logo, background, dan
identitas diri. Halaman ini bertujuan untuk memberikan pengenalan singkat kepada
pengguna terhadap sistem. Pada implementasinya, splash screen di-set muncul dalam
waktu 5 (lima) detik, baru kemudian sistem akan masuk ke halaman aktivitas utama.
Tampilan halaman splash screen dapat dilihat pada Gambar 4.1.
Universitas Sumatera Utara
36
Gambar 4.1 Halaman splash screen
4.1.2. Halaman main activity
Tampilan halaman main activity diimplementasikan untuk keseluruhan proses
pengolahan citra dan pendeteksian karakter teks. Pada halaman ini, terdapat 4 (empat)
input masukan yaitu Button Open Image untuk mengambil file citra, Button Grayscale
untuk mengkonversi citra menjadi keabuan, Button Adaptive Thresholding untuk
mengkonversi citra keabuan menjadi citra biner, dan Tesseract OCR untuk melakukan
proses pendeteksian karakter teks kemasan. Tampilan awal halaman aktivitas utama
dapat dilihat pada Gambar 4.2.
Gambar 4.2 Halaman main activity
Universitas Sumatera Utara
37
4.1.3. Halaman pengambilan citra
Halaman pengambilan citra akan tampil setelah user menekan button Open Image.
Adapun tampilan dari halaman pengambilan citra dapat dilihat pada Gambar 4.3.
Gambar 4.3 Halaman pengambilan citra
Pada Gambar 4.3, user dapat memilih dua metode pengambilan citra. Apabila
pengguna memilih tombol Take from Camera maka pengguna akan langsung
dihubungkan dengan kamera dan siap untuk mengambil citra teks kemasan makanan
seperti pada Gambar 4.4. Namun apabila pengguna memilih Select from Gallery,
pengguna akan dihubungkan dengan file citra yang tersedia di galeri smartphone
(Gambar 4.5).
Gambar 4.4 Halaman pengambilan citra melalui kamera
Universitas Sumatera Utara
38
Gambar 4.5 Halaman pengambilan citra melalui galeri
4.1.4. Halaman cropping citra
Halaman cropping citra diimplementasikan untuk memaksimalkan citra teks yang akan
diproses dan dideteksi dengan melakukan seleksi pada area teks merek kemasan
makanan saja. Penyeleksian area citra dilakukan sesuai dengan panjang dan lebar teks
merek kemasan makanan. Halaman cropping dapat dilihat pada Gambar 4.6.
Gambar 4.6 Halaman cropping citra
Universitas Sumatera Utara
39
4.1.5. Halaman hasil keluaran OCR
Tahap akhir dari penelitian ini adalah pengenalan karakter teks kemasan makanan
dengan metode Tesseract OCR dimana hasil keluaran teks akan muncul pada window
baru yang berupa AlertDialog. Perancangan halaman hasil keluaran OCR setelah
diimplementasikan dengan perangkat lunak Android Studio 1.4 dapat dilihat pada
Gambar 4.7.
Gambar 4.7 Halaman hasil keluaran OCR
4.2. Pengujian
Tahap pengujian dilakukan setelah sistem melewati tahapan implementasi sesuai
dengan prosedur yang telah diuraikan sebelumnya. Pengujian ini bertujuan untuk
membuktikan bahwa setiap komponen sistem yang telah dirancang berjalan dengan
baik serta sesuai dengan analisis dan perancangan sistem. Pada tahap ini, sistem akan
diuji bagaimana algoritma Thresholding Adaptif dapat melakukan pemisahan secara
cermat antara teks kemasan dengan background citra yang kemudian teks tersebut dapat
dikenali dengan Tesseract OCR.
Untuk mengetahui bahwa proses pemisahan citra yang terjadi pada sistem
menampilkan hasil yang benar dan sesuai dengan teori, maka akan dilakukan
perhitungan secara manual pada algoritma Thresholding Adaptif. Kemudian pengujian
berikutnya akan dilakukan terhadap 30 citra sampel kemasan makanan yang berbeda.
Universitas Sumatera Utara
40
Adapun spesifikasi smartphone Android yang digunakan untuk melakukan
pengujian sistem adalah sebagai berikut:
1. Lenovo A6000 Plus Android version 5.0.2 (Lollipop).
2. Memori (RAM) 2.00 GB.
3. Resolusi Layar 720 x 1280 pixels (293 dpi).
4.2.1. Pengujian tahapan algoritma thresholding adaptif
Pada pengujian tahapan pemisahan citra teks menggunakan algoritma Thresholding
Adaptif, akan dijelaskan alur proses dari awal sampai akhir sehingga menghasilkan citra
teks biner dari satu jenis kemasan makanan. Pada tahap awal, penulis akan melakukan
perhitungan secara manual untuk mengkonversi citra kemasan RGB menjadi keabuan
menggunakan metode luminosity grayscale. Kemudian tahap kedua akan dilakukan
perhitungan lagi untuk mengkonversi citra grayscale menjadi citra biner dengan
algoritma Thresholding Adaptif. Setelah perhitungan secara manual selesai, maka hasil
yang diperoleh akan dibandingkan dengan hasil yang ada pada sistem. Adapun data
citra digital kemasan makanan yang akan diuji dalam kasus ini dapat dilihat pada Tabel
4.1.
Tabel 4.1 Data citra digital kemasan makanan
Nama Citra
Citra Uji
Kemasan
Gambar
Ukuran (pixel)
256 x 256
Universitas Sumatera Utara
41
4.2.1.1. Perhitungan luminosity grayscale
Perhitungan konversi citra RGB menjadi grayscale secara manual hanya dilakukan
untuk ukuran matriks 3 x 3 pada piksel yang dapat dilihat di Tabel 4.2.
Tabel 4.2 Nilai piksel 3 x 3 citra uji kemasan
x\y
0
1
2
0
182
158
96
179
155
93
181
159
102
1
193
169
107
190
166
104
185
163
106
2
190
172
98
179
161
87
175
154
99
Luminosity grayscale dihitung dengan menggunakan persamaan sebagai berikut:
�
,
= .
�+ .
�+ .
�
Dari persamaan diatas, maka perhitungan untuk matriks (0,0) sampai dengan matriks
(2,2) adalah:
�
,
= .
×
+ .
×
+ .
×
=
.
�
,
= .
×
+ .
×
+ .
×
=
.
�
,
= .
+ .
×
+ .
×
�
�
�
�
�
�
,
,
,
,
,
,
= .
= .
= .
= .
= .
= .
×
×
×
×
×
×
×
+ .
+ .
+ .
+ .
+ .
+ .
×
×
×
×
×
×
+ .
+ .
+ .
+ .
+ .
+ .
×
×
×
×
×
×
=
=
=
=
=
=
=
.
.
.
.
.
.
.
Universitas Sumatera Utara
42
Dari perhitungan sebelumnya maka didapat hasil nilai piksel 3 x 3 tipe grayscale yang
telah dibulatkan seperti pada Tabel 4.3.
Tabel 4.3 Hasil nilai piksel 3 x 3 citra grayscale uji kemasan
x\y
0
1
2
0
158
155
159
1
169
166
163
2
170
159
154
Adapun hasil uji metode luminosity grayscale pada sistem yang telah berjalan di
perangkat Android dapat dilihat pada Gambar 4.7.
Gambar 4.8 Hasil program uji luminosity grayscale
Berdasarkan percobaan yang telah dilakukan, dapat dibandingkan bahwa hasil
pada sistem untuk metode luminosity grayscale pada piksel (0,0) sampai (2,2) dengan
hasil perhitungan secara manual adalah sama. Hal ini membuktikan bahwa sistem
berjalan dengan baik.
4.2.1.2. Perhitungan thresholding adaptif
Citra kemasan yang telah melalui proses grayscale selanjutnya akan dihitung dengan
menggunakan algoritma Thresholding Adaptif. Citra kemasan akan dibagi menjadi
beberapa blok kemudian dihitung secara adaptif dari blok pertama sampai blok terakhir
sesuai dengan nilai threshold masing-masing.
Universitas Sumatera Utara
43
Pembagian blok subcitra akan dibagi sesuai dengan ukuran panjang dan lebar
resolusi citra. Nilai pembagian blok untuk semua citra kemasan yang akan diuji adalah
5 (lima). Perhitungan secara manual akan dilakukan untuk data citra digital kemasan
makanan (Tabel 4.1) yang telah diubah menjadi grayscale. Adapun rumus pembagian
blok citra adalah sebagai berikut:
� .�
=
ℎ
=
� .ℎ �ℎ
Maka, perhitungan pembagian blok secara manual adalah:
=[
]×[
=
×
]
Sehingga ukuran blok subcitra kemasan adalah 51 x 51 sebanyak 25 subcitra. Kemudian
selanjutnya sistem akan menghitung mean (rata-rata) intensitas dari setiap subcitra
dengan persamaan sebagai berikut:
[]
= ̅ =
∑
=
Pada rumus diatas, ̅ menyatakan mean untuk subcitra ke- yang menunjukkan
bahwa perhitungan mean subcitra akan diproses sampai dengan subcitra ke-25.
Penjumlahan akan dilakukan dari piksel pertama ( = ) sampai ke 51 x 51 ( ) yang
kemudian dibagi dengan . Berikut tabel perhitungan secara manual untuk kelanjutan
kasus uji citra kemasan pada subcitra pertama.
Tabel 4.4 Hasil perhitungan mean subcitra pertama uji kemasan
Subcitra
̅�
ke-� �
̅
Rentang
Koordinat Piksel
(0, 0) – (51, 51)
Hasil Nilai
Mean
Perhitungan Mean
̅ =
+
+
+
+
+
+
+⋯+
+
141.1765
Hasil nilai mean yang diperoleh pada subcitra pertama adalah 141. Langkah selanjutnya
yaitu menghitung variance dari subcitra tersebut. Variance digunakan sebagai nilai
batas intensitas piksel untuk menentukan output citra biner. Adapun persamaan untuk
menghitung variance adalah:
Universitas Sumatera Utara
44
[]
=
∑
=
−
− ̅
Rumus di atas menyatakan penjumlahan untuk setiap piksel pada subcitra ke-
yang dikurangi dengan hasil nilai mean, kemudian hasil penjumlahan dibagi dengan
total blok piksel subcitra dikurang 1. Nilai varian yang didapat akan masuk ke statement
kondisi dengan persamaan:
[]
>
[]
Perhitungan secara manual akan dilakukan untuk dua nilai varian. Adapun tabel
perhitungan untuk kasus uji citra kemasan adalah:
Tabel 4.5 Hasil perhitungan variance subcitra uji kemasan
Subcitra
ke-�
[]
Rentang Koordinat
Piksel
(0, 0) – (51, 51)
[ ]
[
=
(52, 205) – (103, 255)
]
Hasil Nilai
Variance
Perhitungan Variance
−
=
+
−
−
+
+⋯+
−
−
+⋯+
−
−
−
+
+
−
16075.42
−
8671.962
Berdasarkan hasil perhitungan manual yang telah dilakukan, nilai variance
menunjukkan lebih besar dari 100. Pada citra uji kemasan ini, tidak adanya ditemukan
nilai variance di bawah angka 100. Dapat diambil kesimpulan bahwa pengubahan citra
biner lebih efektif dilakukan dengan intensitas nilai yang ada pada tiap-tiap subcitra.
(
[]
>
)→
=
xsu [�] − i su [�]
Jika nilai variance lebih besar dari 100, maka lakukan perhitungan nilai batas
(threshold) untuk tiap subcitra ke- dengan mencari nilai intensitas piksel maksimum
(maxsub) dan minimum (minsub) terlebih dahulu. Adapun nilai
untuk subcitra ke-
adalah sebagai berikut:
Tabel 4.6 Hasil perhitungan nilai batas � subcitra uji kemasan
Subcitra ke-� ��
maxsub
minsub
210
210
216
216
2
2
1
1
�
104
104
107.5
107.5
Universitas Sumatera Utara
45
216
216
216
232
.
.
.
236
236
236
.
.
.
0
0
0
0
.
.
.
0
0
0
108
108
108
116
.
.
.
118
118
118
Setelah nilai batas threshold ( ) diketahui, selanjutnya adalah menentukan
output piksel citra biner (0 atau 1) dengan membandingkan nilai intensitas piksel dan
nilai batas . Jika nilai batas threshold lebih besar daripada nilai piksel tersebut, maka
piksel citra akan dikonversi menjadi 0 (hitam). Sebaliknya, jika nilai batas threshold
lebih kecil daripada nilai piksel, maka piksel citra akan diubah menjadi 1 (putih).
Berikut hasil piksel citra yang diuji pada matriks 16 x 16 subcitra pertama:
Tabel 4.7 Hasil nilai biner piksel 16 x 16 uji kemasan
x/y
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
6
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
7
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
8
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
9
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
10
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
11
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
12
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
13
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
14
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
15
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
16
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
Dari tabel diatas, terlihat jelas pemisahan yang terjadi antara background dengan teks
citra kemasan. Adapun hasil dari program yang telah dieksekusi secara keseluruhan
dapat dilihat pada Gambar 4.8.
Universitas Sumatera Utara
46
Gambar 4.9 Hasil program uji Thresholding Adaptif
Pada perhitungan sebelumnya, hasil nilai biner piksel 16 x 16 menunjukkan segmentasi
yang tepat antara background dengan huruf “S” pada “SNYDER’S”. Setelah diuji pada
program, tulisan yang tampak terlihat jelas adalah “SNYDER’S OF HANOVER”. Hal
ini menunjukkan bahwa sistem telah berjalan dengan baik.
4.2.2. Pengujian karakter teks kemasan makanan
Pada pengujian ini, akan dilakukan pengenalan setiap karakter teks kemasan makanan
dengan Tesseract OCR. Pengujian terhadap karakter teks kemasan makanan terdiri dari
dua jenis font, yaitu font Serif dan Sans Serif. Pengujian dilakukan dengan mengambil
citra menggunakan kamera secara langsung maupun melalui file galeri unduhan dari
internet. Adapun hasil pengujian pengenalan karakter teks kemasan makanan melalui
kamera dapat dilihat pada Tabel 4.8.
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera
No.
1.
Keterangan
Hasil
Citra Kemasan
1280 x 463
Jenis Font
Serif
Universitas Sumatera Utara
47
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 463
Hasil Keluaran Teks
Cream Crackers
Hasil Akurasi ( / )
13/13
Persentase Akurasi (%)
2.
100
Citra Kemasan
1280 x 460
Jenis Font
Serif
Citra Hasil Biner
1280 x 460
Hasil Keluaran Teks
KHONG GUAN
Hasil Akurasi ( / )
9/9
Persentase Akurasi (%)
3.
100
Citra Kemasan
1280 x 511
Jenis Font
Serif
Universitas Sumatera Utara
48
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 511
Hasil Keluaran Teks
Roma
Hasil Akurasi ( / )
4/4
Persentase Akurasi (%)
4.
100
Citra Kemasan
960 x 429
Jenis Font
Serif
Citra Hasil Biner
960 x 429
Hasil Keluaran Teks
FOXS
Hasil Akurasi ( / )
4/4
Persentase Akurasi (%)
5.
100
Citra Kemasan
1280 x 462
Jenis Font
Serif
Universitas Sumatera Utara
49
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 462
Hasil Keluaran Teks
Lexus
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
6.
100
Citra Kemasan
1280 x 368
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 368
Hasil Keluaran Teks
NeXTGR
Hasil Akurasi ( / )
5/6
Persentase Akurasi (%)
7.
83.33
Citra Kemasan
1280 x 344
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 344
Hasil Keluaran Teks
ENERGEN
Universitas Sumatera Utara
50
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Hasil Akurasi ( / )
Persentase Akurasi (%)
8.
7/7
100
Citra Kemasan
1068 x 415
Jenis Font
Sans Serif
Citra Hasil Biner
1068 x 415
Hasil Keluaran Teks
UNIBIS Since 1972
Hasil Akurasi ( / )
15/15
Persentase Akurasi (%)
9.
100
Citra Kemasan
1280 x 424
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 424
Hasil Keluaran Teks
ASTQR
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
80
Universitas Sumatera Utara
51
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
10.
Citra Kemasan
1280 x 641
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 641
Hasil Keluaran Teks
KEGANG mane RASA MADU
Hasil Akurasi ( / )
14/18
Persentase Akurasi (%)
77.78
Dapat disimpulkan bahwa pengenalan karakter teks kemasan makanan dengan
Tesseract OCR melalui kamera dari 10 sampel citra digital masih dapat dikenal dengan
baik. Namun, akurasi menurun ketika ada gangguan cahaya yang dipantulkan ke teks
kemasan. Hal ini terjadi akibat permukaan kemasan makanan yang tidak rata.
Pengujian berikutnya akan dilakukan untuk 20 sampel citra kemasan makanan
melalui file galeri unduhan dari internet. Adapun hasil pengujian pengenalan karakter
teks kemasan makanan melalui galeri dapat dilihat pada Tabel 4.9.
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri
No.
1.
Keterangan
Hasil
Citra Kemasan
170 x 80
Universitas Sumatera Utara
52
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Jenis Font
Serif
Citra Hasil Biner
170 x 80
Hasil Keluaran Teks
Milna
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
2.
100
Citra Kemasan
594 x 180
Jenis Font
Serif
Citra Hasil Biner
594 x 180
Hasil Keluaran Teks
BOYARDEE
Hasil Akurasi ( / )
8/8
Persentase Akurasi (%)
3.
100
Citra Kemasan
210 x 59
Jenis Font
Serif
Citra Hasil Biner
210 x 59
Universitas Sumatera Utara
53
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
RUTOS
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
4.
100
Citra Kemasan
139 x 54
Jenis Font
Serif
Citra Hasil Biner
139 x 54
Hasil Keluaran Teks
Montes
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
5.
100
Citra Kemasan
130 x 47
Jenis Font
Serif
Citra Hasil Biner
130 x 47
Hasil Keluaran Teks
lCrepes
Hasil Akurasi ( / )
6/7
Persentase Akurasi (%)
85.71
Universitas Sumatera Utara
54
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
6.
Citra Kemasan
240 x 55
Jenis Font
Serif
Citra Hasil Biner
240 x 55
Hasil Keluaran Teks
JUDEG
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
7.
80
Citra Kemasan
237 x 98
Jenis Font
Serif
Citra Hasil Biner
237 x 98
Hasil Keluaran Teks
lg OH SNAP
Hasil Akurasi ( / )
6/8
Persentase Akurasi (%)
8.
75
Citra Kemasan
150 x 62
Jenis Font
Serif
Universitas Sumatera Utara
55
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Citra Hasil Biner
150 x 62
Hasil Keluaran Teks
HERRE
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
9.
80
Citra Kemasan
303 x 139
Jenis Font
Serif
Citra Hasil Biner
303 x 139
Hasil Keluaran Teks
garimi
Hasil Akurasi ( / )
5/6
Persentase Akurasi (%)
83.33
10. Citra Kemasan
256 x 84
Jenis Font
Serif
Citra Hasil Biner
256 x 84
Universitas Sumatera Utara
56
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
SNYIDER S OF HANOVER
Hasil Akurasi ( / )
16/17
Persentase Akurasi (%)
94.11
11. Citra Kemasan
182 x 90
Jenis Font
Sans Serif
Citra Hasil Biner
182 x 90
Hasil Keluaran Teks
nabati
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
100
12. Citra Kemasan
142 x 76
Jenis Font
Sans Serif
Citra Hasil Biner
142 x 76
Universitas Sumatera Utara
57
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
Biskuit xKelapa
Hasil Akurasi ( / )
13/14
Persentase Akurasi (%)
92.85
13. Citra Kemasan
278 x 109
Jenis Font
Sans Serif
Citra Hasil Biner
278 x 109
Hasil Keluaran Teks
Peano
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
100
14. Citra Kemasan
342 x 146
Jenis Font
Sans Serif
Citra Hasil Biner
342 x 146
Hasil Keluaran Teks
Abon Sapi
Hasil Akurasi ( / )
8/8
Universitas Sumatera Utara
58
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Persentase Akurasi (%)
100
15. Citra Kemasan
156 x 59
Jenis Font
Sans Serif
Citra Hasil Biner
156 x 59
Hasil Keluaran Teks
KRAFT
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
100
16. Citra Kemasan
452 x 161
Jenis Font
Sans Serif
Citra Hasil Biner
452 x 161
Hasil Keluaran Teks
Nestle Dancow
Hasil Akurasi ( / )
12/12
Persentase Akurasi (%)
100
Universitas Sumatera Utara
59
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
17. Citra Kemasan
270 x 92
Jenis Font
Sans Serif
Citra Hasil Biner
270 x 92
Hasil Keluaran Teks
Red Potatoes
Hasil Akurasi ( / )
11/11
Persentase Akurasi (%)
100
18. Citra Kemasan
208 x 56
Jenis Font
Sans Serif
Citra Hasil Biner
208 x 56
Hasil Keluaran Teks
mamade
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
100
19. Citra Kemasan
241 x 69
Jenis Font
Sans Serif
Universitas Sumatera Utara
60
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Citra Hasil Biner
241 x 69
Hasil Keluaran Teks
nutellq
Hasil Akurasi ( / )
6/7
Persentase Akurasi (%)
85.71
20. Citra Kemasan
210 x 90
Jenis Font
Sans Serif
Citra Hasil Biner
210 x 90
Hasil Keluaran Teks
THE i PRIMAL OKITCNEN
Hasil Akurasi ( / )
15/18
Persentase Akurasi (%)
83.33
Berdasarkan pada hasil pengujian Tabel 4.9, dapat disimpulkan bahwa
persentase akurasi terbaik terhadap ragam citra kemasan makanan melalui file galeri
adalah 100% pada kondisi citra teks yang bersih (tidak ada gangguan piksel diantara
kemasan teks). Akurasi ini sedikit menurun dalam range 75% - 95% ketika adanya
piksel lain yang menganggu citra teks kemasan sehingga mengakibatkan munculnya
teks lain. Tingkat akurasi untuk metode Tesseract OCR pada sistem ini dapat diterapkan
untuk resolusi piksel citra yang bervariasi. Adapun hasil akurasi pendeteksian teks
kemasan secara keseluruhan dari setiap kategori pengujian dapat dilihat pada Tabel
4.10.
Universitas Sumatera Utara
61
Tabel 4.10 Kesimpulan hasil pengujian Tesseract OCR
Karakter yang diujikan
Kategori
Pengujian
Galeri
Akurasi (%)
Kamera
Akurasi (%)
1.
Serif
65/72
90.27
35/35
100
2.
Sans Serif
87/92
94.56
45/51
88.23
No.
PERSENTASE
Galeri
Kamera
100,00%
98,00%
96,00%
94,00%
92,00%
90,00%
88,00%
86,00%
84,00%
82,00%
Serif
Sans Serif
Gambar 4.10 Grafik hasil pengujian Tesseract OCR
Dari keseluruhan pengujian yang telah dilakukan terhadap karakter teks
kemasan makanan, baik dengan menggunakan kamera maupun dari file galeri dapat
diambil kesimpulan bahwa persentase tingkat akurasi dari masing-masing kategori
adalah sebagai berikut:
1. Akurasi terbaik terhadap pengenalan karakter teks pada citra kemasan makanan
mencapai 100% pada citra yang diambil menggunakan kamera dengan kategori
font Serif dan 94.56% pada citra yang diambil melalui file galeri dengan kategori
font Sans Serif.
2. Kegagalan pengenalan karakter teks kemasan makanan disebabkan oleh:
a. Adanya gangguan cahaya yang dipantulkan ke permukaan teks kemasan
sehingga pada saat proses pre-processing muncul piksel citra yang tidak
diinginkan.
Universitas Sumatera Utara
62
b. Citra teks kemasan makanan yang dideteksi memiliki bentuk melingkar,
miring atau diagonal.
c. Adanya gangguan piksel yang mengganggu citra teks kemasan sehingga
muncul keluaran teks yang tidak diinginkan.
d. Intensitas cahaya yang terlalu redup atau gelap, dan terlalu terang.
e. Warna antara background dan teks kemasan yang memiliki intensitas
serupa berpengaruh pada jenis tulisan font yang tipis.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan hasil studi literatur, analisis perancangan, dan pengujian dari penelitian
yang telah dilakukan, dapat disimpulkan bahwa penelitian ini dapat menghasilkan
perangkat lunak yang memiliki kemampuan mendeteksi karakter teks kemasan
makanan pada perangkat Android menggunakan algoritma Thresholding Adaptif dan
Tesseract OCR. Perangkat mengenali setiap karakter teks citra dengan beberapa
tahapan metode OCR yang dilalui yaitu feature extraction, segmentasi teks, dan word
recognition. Dari total pengujian terhadap 30 citra teks kemasan makanan, sistem
mampu mengenali citra teks kemasan dengan tingkat akurasi terbaik mencapai 100%
pada citra uji melalui kamera dengan kategori font Serif dan 94.56% pada citra uji
melalui galeri unduhan internet dengan kategori font Sans Serif. Akurasi ini didapatkan
dalam kondisi dengan intensitas cahaya yang normal dan citra teks kemasan yang
bersih. Akurasi akan menurun ketika pada saat pengkonversian citra biner
menghasilkan hasil piksel teks yang mengganggu teks kemasan itu sendiri. Kegagalan
pengenalan karakter teks kemasan makanan disebabkan oleh hal-hal sebagai berikut:
1. Adanya gangguan cahaya yang dipantulkan ke permukaan teks kemasan pada
saat pengambilan citra melalui kamera.
2. Adanya gangguan piksel yang mengganggu citra teks kemasan.
3. Citra teks kemasan yang dideteksi memiliki bentuk melingkar atau diagonal.
4. Intensitas cahaya yang redup, gelap ataupun terlalu terang.
5. Background dengan teks kemasan memiliki intensitas warna yang hampir sama.
Universitas Sumatera Utara
64
5.2. Saran
Sistem yang dibangun masih memiliki beberapa kekurangan sehingga diperlukan
beberapa pengembangan agar sistem menjadi lebih baik dalam hal pendeteksian
karakter teks. Adapun saran-saran yang dapat diberikan penulis untuk pengembangan
dan perbaikan sistem ini selanjutnya adalah sebagai berikut:
1. Perlu dikembangkan metode atau algoritma lain untuk menyempurnakan hasil
ekstrak citra biner yang dikhususkan hanya pada karakter teks yang ingin
dideteksi.
2. Untuk proses pengujian, hendaknya menggunakan citra kemasan makanan yang
sama namun dengan variasi piksel dan intensitas cahaya yang berbeda.
3. Sistem ini dapat dikembangkan dengan menambah fitur pencarian informasi
(searching) pada kemasan makanan yang telah dideteksi teksnya sehingga dapat
membantu masyarakat dalam menemukan informasi pada kemasan tersebut.
Universitas Sumatera Utara
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah suatu proses untuk mendeskripsikan fase awal pengembangan
sistem. Melalui metode analisis tertentu, sistem akan dibagi menjadi komponen
subsistem yang lebih kecil untuk mengetahui bagaimana hubungan setiap komponen
dapat bekerja dan saling berinteraksi untuk mencapai tujuan (Whitten & Bentley, 2007).
Analisis sistem ini meliputi tiga fase yaitu analisis masalah, analisis kebutuhan dan
analisis proses.
3.1.1. Analisis masalah
Analisis masalah merupakan langkah-langkah bagaimana menjabarkan permasalahan
dari setiap bagian untuk diidentifikasi lebih lanjut. Sesuai dengan penelitian ini, maka
permasalahan yang akan dibahas adalah mengenai pendeteksian tulisan nama kemasan
secara otomatis pada kemasan makanan yang berupa citra digital agar pengambilan
informasi menjadi lebih mudah dan efisien.
Salah satu metode diagram yang efektif untuk mengidentifikasi masalah adalah
diagram Ishikawa (fishbone/cause and effect diagram). Diagram Ishikawa digunakan
untuk mengidentifikasi berbagai kemungkinan penyebab yang berhubungan dengan
suatu permasalahan serta dapat merangkum poin-poin tertentu secara visual (Bilsel &
Lin, 2012).
Gambaran masalah dari penelitian ini dapat dilihat dalam bentuk diagram
Ishikawa pada Gambar 3.1.
Universitas Sumatera Utara
17
Gambar 3.1 Diagram Ishikawa pengenalan citra kemasan
Melalui Gambar 3.1 dapat diketahui masalah serta penyebabnya yang ditinjau dari 4
kategori yang akan dijabarkan sebagai berikut:
1. Kategori Sistem
Cause :
Perangkat Android belum dapat mendeteksi citra teks secara sistemik.
2. Kategori Metode
Cause :
Tesseract OCR belum dapat mengenali citra teks secara maksimal.
Reason : Perlunya dilakukan tahap pre-processing untuk meningkatkan
akurasi.
Pemisahan teks dengan background harus dilakukan secara adaptif.
3. Kategori Material
Cause :
Teks kemasan terlalu rumit untuk dideteksi.
Kualitas gambar tidak baik.
Universitas Sumatera Utara
18
4. Kategori User
Cause :
Pihak penerima informasi
Reason : Hasil keluaran teks dapat dilihat dan diproses lebih lanjut.
3.1.2. Analisis kebutuhan
Analisis kebutuhan bertujuan untuk mengidentifikasi dan mengevaluasi data dan proses
yang dibutuhkan oleh sistem. Untuk mempermudah menganalisis sebuah sistem
dibutuhkan dua jenis analisis kebutuhan yaitu kebutuhan fungsional dan kebutuhan nonfungsional. Kebutuhan fungsional mendeskripsikan kemampuan dan layanan dari
sebuah sistem. Kebutuhan non-fungsional mendeskripsikan tingkatan dari kualitas,
misalnya seberapa aman, dapat digunakan atau tidak, dsb (Danto, et al. 2011).
3.1.2.1. Kebutuhan fungsional
1. Fungsi Open Image
Sistem dapat menginput citra digital yang berisi teks kemasan makanan
berekstensi *.jpg melalui kamera ataupun galeri.
2. Fungsi Cropping
User dapat melakukan cropping terhadap citra yang telah diambil melalui
kamera ataupun galeri dan mengambil bagian teks yang ingin dideteksi.
3. Fungsi Grayscale
Sistem akan melalui metode luminosity grayscale terhadap citra digital yang
telah di-crop.
4. Fungsi Thresholding
Sistem dapat melakukan tahap pre-processing yaitu memisahkan antara teks
dengan background citra secara adaptif sebelum melalui proses pengenalan
karakter.
5. Fungsi OCR
Sistem akan mengenali citra teks secara bertahap dan mengeluarkan output
berupa teks.
Universitas Sumatera Utara
19
3.1.2.2. Kebutuhan non-fungsional
1. Performa
Sistem yang dibangun harus dapat menampilkan setiap perubahan tahapan citra
yang telah diproses dan dapat mengenali citra teks kemasan makanan.
2. Tampilan
Sistem yang dibangun harus memiliki tampilan yang rapi, tata letak yang
rasional dan pewarnaan yang jelas, serta bersifat user friendly.
3. Hemat Biaya
Sistem yang dibangun disesuaikan dengan teknologi mobile saat ini sehingga
penggunaannya menjadi lebih luas dan tidak memerlukan perangkat tambahan.
4. Manajemen Kualitas
Sistem yang dibangun akan memiliki kualitas yang baik dalam proses
pengolahan citra, segmentasi maupun pengenalan karakter teks.
5. Kontrol
Sistem yang dibangun harus dapat mengatasi setiap kesalahan input yang terjadi
ataupun kegagalan dari sistem dengan menampilkan pesan error.
6. Dokumentasi
Setiap tahapan pre-processing citra yang dilalui, hasil perubahan citra harus
dapat disimpan sebagai bentuk dokumentasi.
3.1.3. Analisis proses
Sistem yang dibangun menggunakan perancangan perangkat lunak Android Studio
dengan basis bahasa pemrograman Java. Tahapan pada sistem yang akan diproses
adalah tahap pre-processing citra dan tahap pengenalan citra teks kemasan makanan
disertai dengan pengujian beberapa sampel citra dengan nilai yang berbeda.
Citra yang akan diambil melalui kamera sebanyak 10 citra uji dengan intensitas
cahaya yang berbeda, sedangkan citra melalui galeri yang diunduh dari internet
sebanyak 20 citra uji dengan resolusi piksel yang bervariasi. Data citra memiliki jenis
font Serif dan Sans Serif yang berbeda-beda tergantung dari kerapatan antar-font dan
kerumitan elemen disekeliling teks citra tersebut.
Algoritma Thresholding Adaptif diproses pada tahap pre-processing citra
setelah melalui cropping dan grayscaling. Algoritma ini akan bekerja secara adaptif
Universitas Sumatera Utara
20
dengan membagi citra menjadi beberapa bidang berukuran
×
kemudian diproses
per subcitra sehingga hasil citra biner yang didapat lebih akurat.
Tesseract OCR diimplementasikan oleh sistem setelah melalui tahap preprocessing citra. Sistem akan mengenali citra teks kemasan makanan menggunakan
library Tesseract untuk platform Android dengan beberapa tahapan proses yang terdiri
dari feature extraction, segmentation dan word recognition.
3.2. Perancangan Sistem
Perancangan sistem dilakukan untuk menunjukkan dan mendeskripsikan gambaran dari
sistem yang akan dibangun sehingga dapat memudahkan dalam proses coding.
Rancangan model pada penelitian ini menggunakan UML. Unified Modeling Language
(UML) adalah bahasa pemodelan umum yang digunakan untuk menentukan,
memvisualisasikan, membangun dan mendokumentasikan komponen-komponen dari
sistem perangkat lunak (Rumbaugh, et al. 2005). Model UML yang digunakan pada
penelitian ini adalah use case diagram, activity diagram dan sequence diagram.
3.2.1. Use case diagram
Menurut Rumbaugh, et al. (2005), use case menggambarkan fungsionalitas dari suatu
subjek (sistem) dimana terdapat sebuah aktor yang berinteraksi dengan sistem dari sudut
pandang tertentu. Hubungan antara aktor dengan fungsi yang ada pada sistem
dihubungkan oleh garis lurus yang menunjukkan bahwa aktor tersebut dapat
mengeksekusi perintah terhadap use case yang dituju. Adapun use case dari sistem yang
akan dibangun pada penelitian ini dapat dilihat pada Gambar 3.2.
Universitas Sumatera Utara
21
Gambar 3.2 Use case diagram
Untuk lebih jelasnya, setiap use case akan dijabarkan ke dalam bentuk skenario
use case yang dapat dilihat pada Tabel 3.1 dan Tabel 3.2.
Tabel 3.1 Skenario use case open image
Nama Use Case
Aktor
Deskripsi
Pra Kondisi
Normal Course
Alternate Course
Open Image
User
Membuka/memilih citra teks kemasan makanan yang
akan dideteksi untuk ditampilkan di sistem.
Membuka tampilan awal sistem OCR.
1. User menekan tombol “Open Image” di bawah
picture box citra.
2. User memilih ingin mengambil citra melalui
kamera atau gallery.
3. User mengambil citra kemasan makanan.
4. User melakukan cropping dan mengambil citra
yang berisikan teks saja.
5. Sistem menampilkan citra teks kemasan makanan
pada picture box.
5a. User menekan tombol back pada saat
pengambilan citra.
5a1. Sistem akan kembali ke menu tampilan
awal.
Universitas Sumatera Utara
22
Tabel 3.2 Skenario use case pengenalan citra teks
Nama Use Case
Aktor
Deskripsi
Pra Kondisi
Normal Course
Alternate Course
Pengenalan Citra Teks
User
Melakukan proses pendeteksian karakter teks kemasan
makanan dengan terlebih dahulu melalui tahapan preprocessing.
Membuka citra teks kemasan makanan.
1. User menekan tombol “Grayscale” di bawah button
“Open Image”.
2. Sistem melakukan proses grayscaling dan
menampilkan citra hasil grayscale pada picture box.
3. User menekan tombol “Thresholding Adaptif” di
bawah button “Open Image”.
4. Sistem melakukan proses thresholding dan
menampilkan citra hasil threshold pada picture box.
5. User menekan tombol “Tesseract OCR” di bawah
button “Open Image”.
6. Sistem mendeteksi karakter teks yang muncul pada
citra dan menampilkan hasil teks pada message box.
5a. User menekan tombol “Open Image”.
5a1. Sistem akan mereset picture box.
5b1. User memilih ingin mengambil citra melalui
kamera atau gallery.
3.2.2. Activity diagram
Dalam Unified Modeling Language (UML), Activity diagram menggambarkan
workflow (aliran aktivitas) dari sebuah sistem secara spesifik. Activity diagram juga
dapat digunakan untuk menunjukkan aliran pesan dari satu aktivitas ke aktivitas lainnya
secara paralel ataupun kondisional.
Adapun activity diagram dari sistem yang akan dirancang dapat dilihat pada
Gambar 3.3 dan Gambar 3.4.
Universitas Sumatera Utara
23
Gambar 3.3 Activity diagram cropping citra
Pada Gambar 3.3, activity diagram menggambarkan proses cropping citra
dimana user dapat memotong bagian citra teks didalamnya. Ada dua pilihan dalam
pengambilan citra untuk proses pengujian yaitu melalui kamera dan citra yang terdapat
pada galeri smartphone. Citra teks kemasan yang ditangkap oleh kamera maupun dari
galeri akan di-crop oleh user dan hanya mengambil bagian citra teks yang akan
dideteksi oleh Tesseract OCR.
Universitas Sumatera Utara
24
Gambar 3.4 Activity diagram pengenalan citra teks
Gambar 3.4 menggambarkan aktivitas sistem pada saat melakukan proses
pengenalan citra teks kemasan dengan Tesseract OCR. User akan melakukan tiga
tahapan aktivitas secara berurutan yaitu grayscale citra dengan menggunakan
luminosity grayscale, Thresholding Adaptif citra untuk menentukan output biner citra
dan pengenalan citra teks menggunakan Tesseract OCR. Sistem akan membaca citra
dan memproses setiap perhitungan serta menampilkan hasil tahapan citra dan keluaran
teks kemasan di perangkat Android.
3.2.3. Sequence diagram
Diagram sekuensial menggambarkan bagaimana objek saling berinteraksi satu sama
lain melalui aliran pesan dalam satu jenis use case. Diagram ini mengilustrasikan
Universitas Sumatera Utara
25
bagaimana pesan dikirim dan diterima antara objek dalam urutan waktu tertentu
(Whitten & Bentley, 2007).
Adapun sequence diagram dari sistem yang akan dirancang dapat dilihat pada
Gambar 3.5 dan Gambar 3.6.
Gambar 3.5 Sequence diagram cropping citra
Pada Gambar 3.5, sequence diagram menggambarkan interaksi cropping citra
antara user, interface aplikasi dan proses cropping. Pada tahap cropping citra, user
dapat melakukan cropping terhadap teks kemasan yang akan diuji dengan nama fungsi
doCrop dan kemudian sistem akan membaca batas-batas pemotongan citra terhadap
grafik dan . Selanjutnya, sistem akan membalikkan nilai crop citra dan menampilkan
hasilnya pada picture box.
Universitas Sumatera Utara
26
Gambar 3.6 Sequence diagram pengenalan citra teks
Pada Gambar 3.6, sequence diagram mengilustrasikan interaksi pengenalan
citra teks antara user, interface aplikasi, proses adaptive thresholding dan proses
recognized text. Pada tahap grayscale citra, sistem akan membaca fungsi
getGrayscaleIMG dan mengambil nilai bitmap *.jpg dari citra yang telah melalui proses
cropping untuk dikonversikan ke nilai abu-abu dengan metode luminosity grayscale.
Setelah itu, citra hasil grayscale akan dibaca kembali dan dilanjutkan ke fungsi
getThresholdIMG dengan perhitungan algoritma Thresholding Adaptif untuk
dikonversikan ke citra biner. Selanjutnya, sistem akan membaca nilai threshold citra
dan dideteksi teksnya menggunakan Tesseract OCR dengan membaca fungsi
getUTF8Text dan menampilkan hasil teks yang didapat ke dalam message box.
3.2.4. Flowchart
Flowchart atau diagram alir merupakan sebuah diagram dengan simbol-simbol grafis
yang menyatakan aliran algoritma atau proses yang menampilkan langkah-langkah
secara berurutan. Pada penelitian ini, terdapat dua flowchart yaitu flowchart sistem
secara umum dan flowchart algoritma Thresholding Adaptif.
Universitas Sumatera Utara
27
3.2.4.1. Flowchart sistem
Adapun flowchart sistem secara keseluruhan dapat dilihat pada Gambar 3.7.
Mulai
Input citra
RGB
Cropping citra
Merubah citra
RGB menjadi
citra grayscale
Lakukan
Thresholding
Adaptif Citra
Pengenalan
Karakter dengan
Tesseract OCR
Tampil hasil
deteksi teks
Selesai
Gambar 3.7 Flowchart sistem umum
Universitas Sumatera Utara
28
3.2.4.2. Flowchart thresholding adaptif
Berikut adalah flowchart algoritma Thresholding Adaptif untuk pengubahan citra biner
yang dapat dilihat pada Gambar 3.8.
Mulai
Tampil citra
grayscale
Citra grayscale dipecah
menjadi subcitra ukuran ×
Hitung mean
subcitra ke-
Hitung variance
subcitra ke-
= +
Ya
>
Hitung threshold
max
− min
Tidak
Hitung threshold
max
− min
Lakukan Global
Thresholding
terhadap nilai
Binerisasi subcitra
dengan nilai
Tidak
>
Ya
Selesai
Gambar 3.8 Flowchart algoritma Thresholding Adaptif
Universitas Sumatera Utara
29
3.2.5. Perancangan antarmuka
Pada tahap ini akan dilakukan perancangan antarmuka (interface) yang efektif dan
minimalis sesuai dengan kebutuhan sistem yang telah dijelaskan sebelumnya.
Tujuannya adalah untuk membuat interaksi antara interface dan pengguna sesederhana
dan seefisien mungkin, dalam hal mencapai tujuan pengguna.
3.2.5.1. Antarmuka splash screen
Splash screen merupakan tampilan loading aplikasi pertama kali ketika sistem akan
dijalankan. Tampilan antarmuka splash screen untuk sistem yang akan dibangun dapat
dilihat pada Gambar 3.9.
Gambar 3.9 Perancangan antarmuka splash screen
Keterangan :
1. ImageView digunakan untuk menampilkan logo aplikasi pendeteksian citra teks
beserta gambar background sebagai latar belakang splash screen.
3.2.5.2. Antarmuka main activity
Main activity merupakan tampilan sistem utama yang muncul setelah splash screen
dijalankan. Pada main activity terdapat button open image, button proses dan image
Universitas Sumatera Utara
30
view. Tampilan dirancang dengan minimalis agar user mudah dalam mengoperasikan
aplikasi OCR. Rancangan antarmuka main activity dapat dilihat pada Gambar 3.10.
Gambar 3.10 Perancangan antarmuka main activity
Keterangan :
1. ImageView digunakan untuk menampilkan citra yang telah dipilih melalui
kamera maupun galeri serta setiap tahapan proses yang terjadi pada citra
tersebut.
2. Button Open Image digunakan sebagai tombol untuk membuka file image *.jpg.
3. Button Tahapan Proses digunakan sebagai tombol untuk melakukan proses
grayscale, algoritma Thresholding Adaptif dan Tesseract OCR.
3.2.5.3. Antarmuka pengambilan citra
Rancangan dalam pengambilan citra terdiri dari dua pilihan yaitu pengambilan citra
melalui kamera dan pengambilan file citra di galeri. Antarmuka pengambilan citra akan
tampil setelah button Open Image dipilih. Berikut rancangan antarmuka pengambilan
citra pada Gambar 3.11.
Universitas Sumatera Utara
31
Gambar 3.11 Perancangan antarmuka pengambilan citra
Keterangan :
1. AlertDialog digunakan untuk menampilkan window baru yang berisi dua pilihan
pengambilan citra.
2. DialogItem digunakan untuk pemilihan pengambilan citra menggunakan
kamera. Rancangan tampilan kamera dapat dilihat pada Gambar 3.12.
3. DialogItem digunakan untuk pemilihan pengambilan file citra dari galeri.
Rancangan tampilan galeri dapat dilihat pada Gambar 3.13.
Universitas Sumatera Utara
32
Gambar 3.12 Perancangan antarmuka kamera
Keterangan :
1. Image Real View akan ditampilkan dengan layar penuh.
2. Camera Button digunakan untuk mengambil foto secara langsung.
Gambar 3.13 Perancangan antarmuka galeri
Universitas Sumatera Utara
33
Pada Gambar 3.13, jika user memilih pengambilan citra melalui galeri, maka
pengguna akan langsung dihubungkan dengan file citra yang tersedia di galeri
smartphone. User dapat melakukan scrolling pada citra yang akan dicari maupun
memilih folder yang tersedia di smartphone masing-masing.
3.2.5.4. Antarmuka cropping citra
Antarmuka cropping citra akan muncul setelah user mengambil foto melalui kamera
atau galeri. Rancangan cropping bertujuan agar hanya area teks merek kemasan
makanan saja yang dijadikan sebagai citra masukan. Berikut rancangan antarmuka
cropping citra pada Gambar 3.14.
Gambar 3.14 Perancangan antarmuka cropping citra
Keterangan :
1. Save Button digunakan untuk menyimpan hasil cropping citra yang baru.
2. Titik mulai CropIntent dibuat di tengah kanvas cropping agar citra dapat di-crop
dengan ukuran yang bervariasi mengikuti gambar dari teks makanan.
3. Image yang akan di-crop ditampilkan dengan layar penuh.
Universitas Sumatera Utara
34
3.2.5.5. Antarmuka hasil keluaran OCR
Setelah file citra masuk pada tahap pengenalan karakter teks, hasil keluaran teks akan
muncul pada window baru yang dirancang seperti pada Gambar 3.15.
Gambar 3.15 Perancangan antarmuka hasil keluaran OCR
Keterangan :
1. AlertDialog digunakan untuk menampilkan window baru dimana hasil keluaran
teks merek kemasan makanan akan muncul pada halaman ini.
2. DialogItem ini adalah tempat untuk menampung string teks kemasan makanan
yang telah dideteksi.
Universitas Sumatera Utara
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1. Implementasi
Tahap implementasi sistem merupakan penerapan langkah lanjutan dari proses analisis
dan perancangan sistem. Rancangan keseluruhan sistem yang telah dibahas sebelumnya
akan diimplementasikan ke dalam bahasa pemrograman Java. Adapun perangkat lunak
yang digunakan untuk mengimplementasikan bahasa Java serta hasil rancangan desain
antarmuka pada penelitian ini yaitu Android Studio 1.4. Tipe perangkat smartphone
yang akan digunakan untuk hasil pengujian program adalah Lenovo A6000+ versi
Android 5.0.2. Sistem ini terdiri dari 5 (lima) tampilan halaman, yaitu halaman splash
screen, halaman main activity (aktivitas utama), halaman pengambilan citra, halaman
cropping citra, dan halaman hasil keluaran OCR.
4.1.1. Halaman splash screen
Halaman splash screen akan menampilkan beberapa objek, yaitu logo, background, dan
identitas diri. Halaman ini bertujuan untuk memberikan pengenalan singkat kepada
pengguna terhadap sistem. Pada implementasinya, splash screen di-set muncul dalam
waktu 5 (lima) detik, baru kemudian sistem akan masuk ke halaman aktivitas utama.
Tampilan halaman splash screen dapat dilihat pada Gambar 4.1.
Universitas Sumatera Utara
36
Gambar 4.1 Halaman splash screen
4.1.2. Halaman main activity
Tampilan halaman main activity diimplementasikan untuk keseluruhan proses
pengolahan citra dan pendeteksian karakter teks. Pada halaman ini, terdapat 4 (empat)
input masukan yaitu Button Open Image untuk mengambil file citra, Button Grayscale
untuk mengkonversi citra menjadi keabuan, Button Adaptive Thresholding untuk
mengkonversi citra keabuan menjadi citra biner, dan Tesseract OCR untuk melakukan
proses pendeteksian karakter teks kemasan. Tampilan awal halaman aktivitas utama
dapat dilihat pada Gambar 4.2.
Gambar 4.2 Halaman main activity
Universitas Sumatera Utara
37
4.1.3. Halaman pengambilan citra
Halaman pengambilan citra akan tampil setelah user menekan button Open Image.
Adapun tampilan dari halaman pengambilan citra dapat dilihat pada Gambar 4.3.
Gambar 4.3 Halaman pengambilan citra
Pada Gambar 4.3, user dapat memilih dua metode pengambilan citra. Apabila
pengguna memilih tombol Take from Camera maka pengguna akan langsung
dihubungkan dengan kamera dan siap untuk mengambil citra teks kemasan makanan
seperti pada Gambar 4.4. Namun apabila pengguna memilih Select from Gallery,
pengguna akan dihubungkan dengan file citra yang tersedia di galeri smartphone
(Gambar 4.5).
Gambar 4.4 Halaman pengambilan citra melalui kamera
Universitas Sumatera Utara
38
Gambar 4.5 Halaman pengambilan citra melalui galeri
4.1.4. Halaman cropping citra
Halaman cropping citra diimplementasikan untuk memaksimalkan citra teks yang akan
diproses dan dideteksi dengan melakukan seleksi pada area teks merek kemasan
makanan saja. Penyeleksian area citra dilakukan sesuai dengan panjang dan lebar teks
merek kemasan makanan. Halaman cropping dapat dilihat pada Gambar 4.6.
Gambar 4.6 Halaman cropping citra
Universitas Sumatera Utara
39
4.1.5. Halaman hasil keluaran OCR
Tahap akhir dari penelitian ini adalah pengenalan karakter teks kemasan makanan
dengan metode Tesseract OCR dimana hasil keluaran teks akan muncul pada window
baru yang berupa AlertDialog. Perancangan halaman hasil keluaran OCR setelah
diimplementasikan dengan perangkat lunak Android Studio 1.4 dapat dilihat pada
Gambar 4.7.
Gambar 4.7 Halaman hasil keluaran OCR
4.2. Pengujian
Tahap pengujian dilakukan setelah sistem melewati tahapan implementasi sesuai
dengan prosedur yang telah diuraikan sebelumnya. Pengujian ini bertujuan untuk
membuktikan bahwa setiap komponen sistem yang telah dirancang berjalan dengan
baik serta sesuai dengan analisis dan perancangan sistem. Pada tahap ini, sistem akan
diuji bagaimana algoritma Thresholding Adaptif dapat melakukan pemisahan secara
cermat antara teks kemasan dengan background citra yang kemudian teks tersebut dapat
dikenali dengan Tesseract OCR.
Untuk mengetahui bahwa proses pemisahan citra yang terjadi pada sistem
menampilkan hasil yang benar dan sesuai dengan teori, maka akan dilakukan
perhitungan secara manual pada algoritma Thresholding Adaptif. Kemudian pengujian
berikutnya akan dilakukan terhadap 30 citra sampel kemasan makanan yang berbeda.
Universitas Sumatera Utara
40
Adapun spesifikasi smartphone Android yang digunakan untuk melakukan
pengujian sistem adalah sebagai berikut:
1. Lenovo A6000 Plus Android version 5.0.2 (Lollipop).
2. Memori (RAM) 2.00 GB.
3. Resolusi Layar 720 x 1280 pixels (293 dpi).
4.2.1. Pengujian tahapan algoritma thresholding adaptif
Pada pengujian tahapan pemisahan citra teks menggunakan algoritma Thresholding
Adaptif, akan dijelaskan alur proses dari awal sampai akhir sehingga menghasilkan citra
teks biner dari satu jenis kemasan makanan. Pada tahap awal, penulis akan melakukan
perhitungan secara manual untuk mengkonversi citra kemasan RGB menjadi keabuan
menggunakan metode luminosity grayscale. Kemudian tahap kedua akan dilakukan
perhitungan lagi untuk mengkonversi citra grayscale menjadi citra biner dengan
algoritma Thresholding Adaptif. Setelah perhitungan secara manual selesai, maka hasil
yang diperoleh akan dibandingkan dengan hasil yang ada pada sistem. Adapun data
citra digital kemasan makanan yang akan diuji dalam kasus ini dapat dilihat pada Tabel
4.1.
Tabel 4.1 Data citra digital kemasan makanan
Nama Citra
Citra Uji
Kemasan
Gambar
Ukuran (pixel)
256 x 256
Universitas Sumatera Utara
41
4.2.1.1. Perhitungan luminosity grayscale
Perhitungan konversi citra RGB menjadi grayscale secara manual hanya dilakukan
untuk ukuran matriks 3 x 3 pada piksel yang dapat dilihat di Tabel 4.2.
Tabel 4.2 Nilai piksel 3 x 3 citra uji kemasan
x\y
0
1
2
0
182
158
96
179
155
93
181
159
102
1
193
169
107
190
166
104
185
163
106
2
190
172
98
179
161
87
175
154
99
Luminosity grayscale dihitung dengan menggunakan persamaan sebagai berikut:
�
,
= .
�+ .
�+ .
�
Dari persamaan diatas, maka perhitungan untuk matriks (0,0) sampai dengan matriks
(2,2) adalah:
�
,
= .
×
+ .
×
+ .
×
=
.
�
,
= .
×
+ .
×
+ .
×
=
.
�
,
= .
+ .
×
+ .
×
�
�
�
�
�
�
,
,
,
,
,
,
= .
= .
= .
= .
= .
= .
×
×
×
×
×
×
×
+ .
+ .
+ .
+ .
+ .
+ .
×
×
×
×
×
×
+ .
+ .
+ .
+ .
+ .
+ .
×
×
×
×
×
×
=
=
=
=
=
=
=
.
.
.
.
.
.
.
Universitas Sumatera Utara
42
Dari perhitungan sebelumnya maka didapat hasil nilai piksel 3 x 3 tipe grayscale yang
telah dibulatkan seperti pada Tabel 4.3.
Tabel 4.3 Hasil nilai piksel 3 x 3 citra grayscale uji kemasan
x\y
0
1
2
0
158
155
159
1
169
166
163
2
170
159
154
Adapun hasil uji metode luminosity grayscale pada sistem yang telah berjalan di
perangkat Android dapat dilihat pada Gambar 4.7.
Gambar 4.8 Hasil program uji luminosity grayscale
Berdasarkan percobaan yang telah dilakukan, dapat dibandingkan bahwa hasil
pada sistem untuk metode luminosity grayscale pada piksel (0,0) sampai (2,2) dengan
hasil perhitungan secara manual adalah sama. Hal ini membuktikan bahwa sistem
berjalan dengan baik.
4.2.1.2. Perhitungan thresholding adaptif
Citra kemasan yang telah melalui proses grayscale selanjutnya akan dihitung dengan
menggunakan algoritma Thresholding Adaptif. Citra kemasan akan dibagi menjadi
beberapa blok kemudian dihitung secara adaptif dari blok pertama sampai blok terakhir
sesuai dengan nilai threshold masing-masing.
Universitas Sumatera Utara
43
Pembagian blok subcitra akan dibagi sesuai dengan ukuran panjang dan lebar
resolusi citra. Nilai pembagian blok untuk semua citra kemasan yang akan diuji adalah
5 (lima). Perhitungan secara manual akan dilakukan untuk data citra digital kemasan
makanan (Tabel 4.1) yang telah diubah menjadi grayscale. Adapun rumus pembagian
blok citra adalah sebagai berikut:
� .�
=
ℎ
=
� .ℎ �ℎ
Maka, perhitungan pembagian blok secara manual adalah:
=[
]×[
=
×
]
Sehingga ukuran blok subcitra kemasan adalah 51 x 51 sebanyak 25 subcitra. Kemudian
selanjutnya sistem akan menghitung mean (rata-rata) intensitas dari setiap subcitra
dengan persamaan sebagai berikut:
[]
= ̅ =
∑
=
Pada rumus diatas, ̅ menyatakan mean untuk subcitra ke- yang menunjukkan
bahwa perhitungan mean subcitra akan diproses sampai dengan subcitra ke-25.
Penjumlahan akan dilakukan dari piksel pertama ( = ) sampai ke 51 x 51 ( ) yang
kemudian dibagi dengan . Berikut tabel perhitungan secara manual untuk kelanjutan
kasus uji citra kemasan pada subcitra pertama.
Tabel 4.4 Hasil perhitungan mean subcitra pertama uji kemasan
Subcitra
̅�
ke-� �
̅
Rentang
Koordinat Piksel
(0, 0) – (51, 51)
Hasil Nilai
Mean
Perhitungan Mean
̅ =
+
+
+
+
+
+
+⋯+
+
141.1765
Hasil nilai mean yang diperoleh pada subcitra pertama adalah 141. Langkah selanjutnya
yaitu menghitung variance dari subcitra tersebut. Variance digunakan sebagai nilai
batas intensitas piksel untuk menentukan output citra biner. Adapun persamaan untuk
menghitung variance adalah:
Universitas Sumatera Utara
44
[]
=
∑
=
−
− ̅
Rumus di atas menyatakan penjumlahan untuk setiap piksel pada subcitra ke-
yang dikurangi dengan hasil nilai mean, kemudian hasil penjumlahan dibagi dengan
total blok piksel subcitra dikurang 1. Nilai varian yang didapat akan masuk ke statement
kondisi dengan persamaan:
[]
>
[]
Perhitungan secara manual akan dilakukan untuk dua nilai varian. Adapun tabel
perhitungan untuk kasus uji citra kemasan adalah:
Tabel 4.5 Hasil perhitungan variance subcitra uji kemasan
Subcitra
ke-�
[]
Rentang Koordinat
Piksel
(0, 0) – (51, 51)
[ ]
[
=
(52, 205) – (103, 255)
]
Hasil Nilai
Variance
Perhitungan Variance
−
=
+
−
−
+
+⋯+
−
−
+⋯+
−
−
−
+
+
−
16075.42
−
8671.962
Berdasarkan hasil perhitungan manual yang telah dilakukan, nilai variance
menunjukkan lebih besar dari 100. Pada citra uji kemasan ini, tidak adanya ditemukan
nilai variance di bawah angka 100. Dapat diambil kesimpulan bahwa pengubahan citra
biner lebih efektif dilakukan dengan intensitas nilai yang ada pada tiap-tiap subcitra.
(
[]
>
)→
=
xsu [�] − i su [�]
Jika nilai variance lebih besar dari 100, maka lakukan perhitungan nilai batas
(threshold) untuk tiap subcitra ke- dengan mencari nilai intensitas piksel maksimum
(maxsub) dan minimum (minsub) terlebih dahulu. Adapun nilai
untuk subcitra ke-
adalah sebagai berikut:
Tabel 4.6 Hasil perhitungan nilai batas � subcitra uji kemasan
Subcitra ke-� ��
maxsub
minsub
210
210
216
216
2
2
1
1
�
104
104
107.5
107.5
Universitas Sumatera Utara
45
216
216
216
232
.
.
.
236
236
236
.
.
.
0
0
0
0
.
.
.
0
0
0
108
108
108
116
.
.
.
118
118
118
Setelah nilai batas threshold ( ) diketahui, selanjutnya adalah menentukan
output piksel citra biner (0 atau 1) dengan membandingkan nilai intensitas piksel dan
nilai batas . Jika nilai batas threshold lebih besar daripada nilai piksel tersebut, maka
piksel citra akan dikonversi menjadi 0 (hitam). Sebaliknya, jika nilai batas threshold
lebih kecil daripada nilai piksel, maka piksel citra akan diubah menjadi 1 (putih).
Berikut hasil piksel citra yang diuji pada matriks 16 x 16 subcitra pertama:
Tabel 4.7 Hasil nilai biner piksel 16 x 16 uji kemasan
x/y
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
5
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
6
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
7
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
8
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
9
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
10
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
11
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
12
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
13
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
14
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
15
1
1
1
1
1
0
0
0
0
0
0
0
0
1
0
1
1
16
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
1
Dari tabel diatas, terlihat jelas pemisahan yang terjadi antara background dengan teks
citra kemasan. Adapun hasil dari program yang telah dieksekusi secara keseluruhan
dapat dilihat pada Gambar 4.8.
Universitas Sumatera Utara
46
Gambar 4.9 Hasil program uji Thresholding Adaptif
Pada perhitungan sebelumnya, hasil nilai biner piksel 16 x 16 menunjukkan segmentasi
yang tepat antara background dengan huruf “S” pada “SNYDER’S”. Setelah diuji pada
program, tulisan yang tampak terlihat jelas adalah “SNYDER’S OF HANOVER”. Hal
ini menunjukkan bahwa sistem telah berjalan dengan baik.
4.2.2. Pengujian karakter teks kemasan makanan
Pada pengujian ini, akan dilakukan pengenalan setiap karakter teks kemasan makanan
dengan Tesseract OCR. Pengujian terhadap karakter teks kemasan makanan terdiri dari
dua jenis font, yaitu font Serif dan Sans Serif. Pengujian dilakukan dengan mengambil
citra menggunakan kamera secara langsung maupun melalui file galeri unduhan dari
internet. Adapun hasil pengujian pengenalan karakter teks kemasan makanan melalui
kamera dapat dilihat pada Tabel 4.8.
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera
No.
1.
Keterangan
Hasil
Citra Kemasan
1280 x 463
Jenis Font
Serif
Universitas Sumatera Utara
47
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 463
Hasil Keluaran Teks
Cream Crackers
Hasil Akurasi ( / )
13/13
Persentase Akurasi (%)
2.
100
Citra Kemasan
1280 x 460
Jenis Font
Serif
Citra Hasil Biner
1280 x 460
Hasil Keluaran Teks
KHONG GUAN
Hasil Akurasi ( / )
9/9
Persentase Akurasi (%)
3.
100
Citra Kemasan
1280 x 511
Jenis Font
Serif
Universitas Sumatera Utara
48
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 511
Hasil Keluaran Teks
Roma
Hasil Akurasi ( / )
4/4
Persentase Akurasi (%)
4.
100
Citra Kemasan
960 x 429
Jenis Font
Serif
Citra Hasil Biner
960 x 429
Hasil Keluaran Teks
FOXS
Hasil Akurasi ( / )
4/4
Persentase Akurasi (%)
5.
100
Citra Kemasan
1280 x 462
Jenis Font
Serif
Universitas Sumatera Utara
49
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Citra Hasil Biner
1280 x 462
Hasil Keluaran Teks
Lexus
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
6.
100
Citra Kemasan
1280 x 368
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 368
Hasil Keluaran Teks
NeXTGR
Hasil Akurasi ( / )
5/6
Persentase Akurasi (%)
7.
83.33
Citra Kemasan
1280 x 344
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 344
Hasil Keluaran Teks
ENERGEN
Universitas Sumatera Utara
50
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
Hasil Akurasi ( / )
Persentase Akurasi (%)
8.
7/7
100
Citra Kemasan
1068 x 415
Jenis Font
Sans Serif
Citra Hasil Biner
1068 x 415
Hasil Keluaran Teks
UNIBIS Since 1972
Hasil Akurasi ( / )
15/15
Persentase Akurasi (%)
9.
100
Citra Kemasan
1280 x 424
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 424
Hasil Keluaran Teks
ASTQR
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
80
Universitas Sumatera Utara
51
Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)
10.
Citra Kemasan
1280 x 641
Jenis Font
Sans Serif
Citra Hasil Biner
1280 x 641
Hasil Keluaran Teks
KEGANG mane RASA MADU
Hasil Akurasi ( / )
14/18
Persentase Akurasi (%)
77.78
Dapat disimpulkan bahwa pengenalan karakter teks kemasan makanan dengan
Tesseract OCR melalui kamera dari 10 sampel citra digital masih dapat dikenal dengan
baik. Namun, akurasi menurun ketika ada gangguan cahaya yang dipantulkan ke teks
kemasan. Hal ini terjadi akibat permukaan kemasan makanan yang tidak rata.
Pengujian berikutnya akan dilakukan untuk 20 sampel citra kemasan makanan
melalui file galeri unduhan dari internet. Adapun hasil pengujian pengenalan karakter
teks kemasan makanan melalui galeri dapat dilihat pada Tabel 4.9.
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri
No.
1.
Keterangan
Hasil
Citra Kemasan
170 x 80
Universitas Sumatera Utara
52
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Jenis Font
Serif
Citra Hasil Biner
170 x 80
Hasil Keluaran Teks
Milna
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
2.
100
Citra Kemasan
594 x 180
Jenis Font
Serif
Citra Hasil Biner
594 x 180
Hasil Keluaran Teks
BOYARDEE
Hasil Akurasi ( / )
8/8
Persentase Akurasi (%)
3.
100
Citra Kemasan
210 x 59
Jenis Font
Serif
Citra Hasil Biner
210 x 59
Universitas Sumatera Utara
53
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
RUTOS
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
4.
100
Citra Kemasan
139 x 54
Jenis Font
Serif
Citra Hasil Biner
139 x 54
Hasil Keluaran Teks
Montes
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
5.
100
Citra Kemasan
130 x 47
Jenis Font
Serif
Citra Hasil Biner
130 x 47
Hasil Keluaran Teks
lCrepes
Hasil Akurasi ( / )
6/7
Persentase Akurasi (%)
85.71
Universitas Sumatera Utara
54
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
6.
Citra Kemasan
240 x 55
Jenis Font
Serif
Citra Hasil Biner
240 x 55
Hasil Keluaran Teks
JUDEG
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
7.
80
Citra Kemasan
237 x 98
Jenis Font
Serif
Citra Hasil Biner
237 x 98
Hasil Keluaran Teks
lg OH SNAP
Hasil Akurasi ( / )
6/8
Persentase Akurasi (%)
8.
75
Citra Kemasan
150 x 62
Jenis Font
Serif
Universitas Sumatera Utara
55
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Citra Hasil Biner
150 x 62
Hasil Keluaran Teks
HERRE
Hasil Akurasi ( / )
4/5
Persentase Akurasi (%)
9.
80
Citra Kemasan
303 x 139
Jenis Font
Serif
Citra Hasil Biner
303 x 139
Hasil Keluaran Teks
garimi
Hasil Akurasi ( / )
5/6
Persentase Akurasi (%)
83.33
10. Citra Kemasan
256 x 84
Jenis Font
Serif
Citra Hasil Biner
256 x 84
Universitas Sumatera Utara
56
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
SNYIDER S OF HANOVER
Hasil Akurasi ( / )
16/17
Persentase Akurasi (%)
94.11
11. Citra Kemasan
182 x 90
Jenis Font
Sans Serif
Citra Hasil Biner
182 x 90
Hasil Keluaran Teks
nabati
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
100
12. Citra Kemasan
142 x 76
Jenis Font
Sans Serif
Citra Hasil Biner
142 x 76
Universitas Sumatera Utara
57
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Hasil Keluaran Teks
Biskuit xKelapa
Hasil Akurasi ( / )
13/14
Persentase Akurasi (%)
92.85
13. Citra Kemasan
278 x 109
Jenis Font
Sans Serif
Citra Hasil Biner
278 x 109
Hasil Keluaran Teks
Peano
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
100
14. Citra Kemasan
342 x 146
Jenis Font
Sans Serif
Citra Hasil Biner
342 x 146
Hasil Keluaran Teks
Abon Sapi
Hasil Akurasi ( / )
8/8
Universitas Sumatera Utara
58
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Persentase Akurasi (%)
100
15. Citra Kemasan
156 x 59
Jenis Font
Sans Serif
Citra Hasil Biner
156 x 59
Hasil Keluaran Teks
KRAFT
Hasil Akurasi ( / )
5/5
Persentase Akurasi (%)
100
16. Citra Kemasan
452 x 161
Jenis Font
Sans Serif
Citra Hasil Biner
452 x 161
Hasil Keluaran Teks
Nestle Dancow
Hasil Akurasi ( / )
12/12
Persentase Akurasi (%)
100
Universitas Sumatera Utara
59
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
17. Citra Kemasan
270 x 92
Jenis Font
Sans Serif
Citra Hasil Biner
270 x 92
Hasil Keluaran Teks
Red Potatoes
Hasil Akurasi ( / )
11/11
Persentase Akurasi (%)
100
18. Citra Kemasan
208 x 56
Jenis Font
Sans Serif
Citra Hasil Biner
208 x 56
Hasil Keluaran Teks
mamade
Hasil Akurasi ( / )
6/6
Persentase Akurasi (%)
100
19. Citra Kemasan
241 x 69
Jenis Font
Sans Serif
Universitas Sumatera Utara
60
Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)
Citra Hasil Biner
241 x 69
Hasil Keluaran Teks
nutellq
Hasil Akurasi ( / )
6/7
Persentase Akurasi (%)
85.71
20. Citra Kemasan
210 x 90
Jenis Font
Sans Serif
Citra Hasil Biner
210 x 90
Hasil Keluaran Teks
THE i PRIMAL OKITCNEN
Hasil Akurasi ( / )
15/18
Persentase Akurasi (%)
83.33
Berdasarkan pada hasil pengujian Tabel 4.9, dapat disimpulkan bahwa
persentase akurasi terbaik terhadap ragam citra kemasan makanan melalui file galeri
adalah 100% pada kondisi citra teks yang bersih (tidak ada gangguan piksel diantara
kemasan teks). Akurasi ini sedikit menurun dalam range 75% - 95% ketika adanya
piksel lain yang menganggu citra teks kemasan sehingga mengakibatkan munculnya
teks lain. Tingkat akurasi untuk metode Tesseract OCR pada sistem ini dapat diterapkan
untuk resolusi piksel citra yang bervariasi. Adapun hasil akurasi pendeteksian teks
kemasan secara keseluruhan dari setiap kategori pengujian dapat dilihat pada Tabel
4.10.
Universitas Sumatera Utara
61
Tabel 4.10 Kesimpulan hasil pengujian Tesseract OCR
Karakter yang diujikan
Kategori
Pengujian
Galeri
Akurasi (%)
Kamera
Akurasi (%)
1.
Serif
65/72
90.27
35/35
100
2.
Sans Serif
87/92
94.56
45/51
88.23
No.
PERSENTASE
Galeri
Kamera
100,00%
98,00%
96,00%
94,00%
92,00%
90,00%
88,00%
86,00%
84,00%
82,00%
Serif
Sans Serif
Gambar 4.10 Grafik hasil pengujian Tesseract OCR
Dari keseluruhan pengujian yang telah dilakukan terhadap karakter teks
kemasan makanan, baik dengan menggunakan kamera maupun dari file galeri dapat
diambil kesimpulan bahwa persentase tingkat akurasi dari masing-masing kategori
adalah sebagai berikut:
1. Akurasi terbaik terhadap pengenalan karakter teks pada citra kemasan makanan
mencapai 100% pada citra yang diambil menggunakan kamera dengan kategori
font Serif dan 94.56% pada citra yang diambil melalui file galeri dengan kategori
font Sans Serif.
2. Kegagalan pengenalan karakter teks kemasan makanan disebabkan oleh:
a. Adanya gangguan cahaya yang dipantulkan ke permukaan teks kemasan
sehingga pada saat proses pre-processing muncul piksel citra yang tidak
diinginkan.
Universitas Sumatera Utara
62
b. Citra teks kemasan makanan yang dideteksi memiliki bentuk melingkar,
miring atau diagonal.
c. Adanya gangguan piksel yang mengganggu citra teks kemasan sehingga
muncul keluaran teks yang tidak diinginkan.
d. Intensitas cahaya yang terlalu redup atau gelap, dan terlalu terang.
e. Warna antara background dan teks kemasan yang memiliki intensitas
serupa berpengaruh pada jenis tulisan font yang tipis.
Universitas Sumatera Utara
BAB 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan hasil studi literatur, analisis perancangan, dan pengujian dari penelitian
yang telah dilakukan, dapat disimpulkan bahwa penelitian ini dapat menghasilkan
perangkat lunak yang memiliki kemampuan mendeteksi karakter teks kemasan
makanan pada perangkat Android menggunakan algoritma Thresholding Adaptif dan
Tesseract OCR. Perangkat mengenali setiap karakter teks citra dengan beberapa
tahapan metode OCR yang dilalui yaitu feature extraction, segmentasi teks, dan word
recognition. Dari total pengujian terhadap 30 citra teks kemasan makanan, sistem
mampu mengenali citra teks kemasan dengan tingkat akurasi terbaik mencapai 100%
pada citra uji melalui kamera dengan kategori font Serif dan 94.56% pada citra uji
melalui galeri unduhan internet dengan kategori font Sans Serif. Akurasi ini didapatkan
dalam kondisi dengan intensitas cahaya yang normal dan citra teks kemasan yang
bersih. Akurasi akan menurun ketika pada saat pengkonversian citra biner
menghasilkan hasil piksel teks yang mengganggu teks kemasan itu sendiri. Kegagalan
pengenalan karakter teks kemasan makanan disebabkan oleh hal-hal sebagai berikut:
1. Adanya gangguan cahaya yang dipantulkan ke permukaan teks kemasan pada
saat pengambilan citra melalui kamera.
2. Adanya gangguan piksel yang mengganggu citra teks kemasan.
3. Citra teks kemasan yang dideteksi memiliki bentuk melingkar atau diagonal.
4. Intensitas cahaya yang redup, gelap ataupun terlalu terang.
5. Background dengan teks kemasan memiliki intensitas warna yang hampir sama.
Universitas Sumatera Utara
64
5.2. Saran
Sistem yang dibangun masih memiliki beberapa kekurangan sehingga diperlukan
beberapa pengembangan agar sistem menjadi lebih baik dalam hal pendeteksian
karakter teks. Adapun saran-saran yang dapat diberikan penulis untuk pengembangan
dan perbaikan sistem ini selanjutnya adalah sebagai berikut:
1. Perlu dikembangkan metode atau algoritma lain untuk menyempurnakan hasil
ekstrak citra biner yang dikhususkan hanya pada karakter teks yang ingin
dideteksi.
2. Untuk proses pengujian, hendaknya menggunakan citra kemasan makanan yang
sama namun dengan variasi piksel dan intensitas cahaya yang berbeda.
3. Sistem ini dapat dikembangkan dengan menambah fitur pencarian informasi
(searching) pada kemasan makanan yang telah dideteksi teksnya sehingga dapat
membantu masyarakat dalam menemukan informasi pada kemasan tersebut.
Universitas Sumatera Utara