• Tidak ada hasil yang ditemukan

Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android Chapter III V

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Thresholding Adaptif dan Tesseract OCR untuk Mendeteksi Citra Teks Kemasan Makanan Berbasis Android Chapter III V"

Copied!
49
0
0

Teks penuh

(1)

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).

(2)

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 :

(3)

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 non-fungsional. 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

(4)

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.

(5)

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 pre-processing 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

(6)

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 Open Image

Aktor User

Deskripsi Membuka/memilih citra teks kemasan makanan yang akan dideteksi untuk ditampilkan di sistem.

Pra Kondisi Membuka tampilan awal sistem OCR.

Normal Course 1. Usermenekan 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.

Alternate Course 5a. User menekan tombol back pada saat pengambilan citra.

(7)

Tabel 3.2 Skenario use case pengenalan citra teks Nama Use Case Pengenalan Citra Teks

Aktor User

Deskripsi Melakukan proses pendeteksian karakter teks kemasan makanan dengan terlebih dahulu melalui tahapan pre-processing.

Pra Kondisi Membuka citra teks kemasan makanan.

Normal Course 1. Usermenekan tombol “Grayscale” di bawah button “Open Image”.

2. Sistem melakukan proses grayscaling dan

menampilkan citra hasil grayscale pada picture box. 3. Usermenekan 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.

Alternate Course 5a. Usermenekan 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.

(8)

Gambar 3.3 Activity diagram cropping citra

(9)

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

(10)

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 diagramcropping 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

(11)

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

(12)

3.2.4.1. Flowchart sistem

Adapun flowchart sistem secara keseluruhan dapat dilihat pada Gambar 3.7.

Gambar 3.7 Flowchart sistem umum 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

(13)

3.2.4.2. Flowchart thresholding adaptif

Berikut adalah flowchart algoritma Thresholding Adaptif untuk pengubahan citra biner yang dapat dilihat pada Gambar 3.8.

Gambar 3.8 Flowchart algoritma Thresholding Adaptif Mulai

Tampil citra

grayscale

Citra grayscale dipecah menjadi subcitra ukuran ×

(14)

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

(15)

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

(16)

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.

(17)

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.

(18)

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

(19)

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.

(20)

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

(21)

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 ButtonOpen 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.

(22)

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

(23)

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.

(24)

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.

(25)

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 Gambar Ukuran (pixel)

Citra Uji

(26)

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 ujikemasan

x\y 0 1 2

Luminosity grayscale dihitung dengan menggunakan persamaan sebagai berikut:

� , = . × � + . × � + . × �

(27)

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 ujikemasan

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

(28)

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 ujikemasan

Subcitra ke-� �̅

Rentang

Koordinat Piksel Perhitungan Mean

Hasil Nilai

Mean

̅ (0, 0) – (51, 51) ̅ = + + + + + + +⋯+ + 141.1765

(29)

[ ] =∑ = − ̅

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 ujikemasan

Subcitra ke-[ ]

Rentang Koordinat

Piksel Perhitungan Variance

Hasil Nilai

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 ujikemasan

Subcitra ke-� � maxsub minsub

210 2 104

210 2 104

216 1 107.5

(30)

216 0 108

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 ujikemasan

x/y 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

(31)

Gambar 4.9 Hasil program uji Thresholding Adaptif

Pada perhitungan sebelumnya, hasil nilai biner piksel 16 x 16 menunjukkan segmentasi yang tepat antara backgrounddengan 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. Keterangan Hasil

1. Citra Kemasan

1280 x 463

(32)

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 (%) 100

2. 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 (%) 100

3. Citra Kemasan

1280 x 511

(33)

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 (%) 100

4. Citra Kemasan

960 x 429

Jenis Font Serif

Citra Hasil Biner

960 x 429

Hasil Keluaran Teks FOXS

Hasil Akurasi ( / ) 4/4

Persentase Akurasi (%) 100

5. Citra Kemasan

1280 x 462

(34)

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 (%) 100

6. 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 (%) 83.33

7. Citra Kemasan

1280 x 344

Jenis Font Sans Serif

Citra Hasil Biner

(35)

Tabel 4.8 Hasil pengujian Tesseract OCR melalui kamera (lanjutan)

Hasil Akurasi ( / ) 7/7

Persentase Akurasi (%) 100

8. 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 (%) 100

9. Citra Kemasan

1280 x 424

Jenis Font Sans Serif

Citra Hasil Biner

1280 x 424

Hasil Keluaran Teks ASTQR

Hasil Akurasi ( / ) 4/5

(36)

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. Keterangan Hasil

1. Citra Kemasan

(37)

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 (%) 100

2. Citra Kemasan

594 x 180

Jenis Font Serif

Citra Hasil Biner

594 x 180

Hasil Keluaran Teks BOYARDEE

Hasil Akurasi ( / ) 8/8

Persentase Akurasi (%) 100

3. Citra Kemasan

210 x 59

Jenis Font Serif

Citra Hasil Biner

(38)

Tabel 4.9 Hasil pengujian Tesseract OCR melalui galeri (lanjutan)

Hasil Keluaran Teks RUTOS

Hasil Akurasi ( / ) 5/5

Persentase Akurasi (%) 100

4. Citra Kemasan

139 x 54

Jenis Font Serif

Citra Hasil Biner

139 x 54

Hasil Keluaran Teks Montes

Hasil Akurasi ( / ) 6/6

Persentase Akurasi (%) 100

5. Citra Kemasan

130 x 47

Jenis Font Serif

Citra Hasil Biner

130 x 47

Hasil Keluaran Teks lCrepes

Hasil Akurasi ( / ) 6/7

(39)

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 (%) 80

7. 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 (%) 75

8. Citra Kemasan

150 x 62

(40)

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 (%) 80

9. 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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

Tabel 4.10 Kesimpulan hasil pengujian Tesseract OCR

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

(47)

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

(48)

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.

(49)

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.

Referensi

Dokumen terkait

Ali Subada pada tahun 2018 dapat diperoleh bahwa dari hasil pengujian pada aplikasi kompresi file teks dengan karakter yang sama (homogen) berdasarkan Bitrate, Compression Ratio

Penelitian ini akan menggunakan file berupa teks dan citra yang akan disandikan dengan menggunakan salah satu algoritma dari kriptografi yakni algoritma hill