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).
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 :
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
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.
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
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.
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.
Gambar 3.3 Activity diagram cropping citra
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
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
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
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
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 ×
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
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
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.
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.
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
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.
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
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.
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 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.
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.
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
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:
� , = . × � + . × � + . × �
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
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
[ ] =∑ = −− ̅
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.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.