Templat tugas akhir S1

advertisement
APLIKASI PENCARI INFO OBAT DENGAN MASUKAN
CITRA TEKS KEMASAN OBAT BERBASIS ANDROID
MENGGUNAKAN TESSERACT OCR ENGINE
NUGROHO MEGANOFA
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2015
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Aplikasi Pencari Info
Obat dengan Masukan Citra Teks Kemasan Obat Berbasis Android Menggunakan
Tesseract OCR Engine adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi
mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan
maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan
dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut
Pertanian Bogor.
Bogor, Januari 2015
Nugroho Meganofa
NIM G64124044
ABSTRAK
NUGROHO MEGANOFA. Aplikasi Pencari Info Obat dengan Masukan Citra
Teks Kemasan Obat Berbasis Android Menggunakan Tesseract OCR Engine.
Dibimbing oleh KARLINA KHIYARIN NISA.
Informasi yang detail pada obat biasanya tertulis pada leaflet yang hanya
bisa dibaca ketika kemasan sudah dibuka. Hal tersebut menyulitkan konsumen
yang hanya ingin mengetahui informasi obat untuk memutuskan apakah obat
tersebut jadi dibeli atau tidak. Diperlukan suatu cara untuk mendapatkan versi teks
dari citra merek kemasan obat dan untuk menjadi kata kunci pencarian pada situs
pelayanan informasi obat. Optical Character Recognition (OCR) merupakan
suatu proses mengkonversi image ke suatu editable text. Tesseract melakukan
beberapa tahapan sebelum citra karakter teks dapat dikenali, di antaranya image
preprocessing, feature extraction, segmentation, dan word recognition. Penelitian
ini dilakukan untuk mengembangkan suatu aplikasi pengenalan citra karakter
yang difokuskan pada pengenalan karakter teks kemasan obat berbasis Android.
Tesseract digunakan karena memiliki tingkat akurasi yang baik pada pengenalan
suatu karakter teks terhadap kemasan obat dengan jenis font serif dan sans serif
yang memiliki kerapatan antar-font yang jauh. Masukan aplikasi berupa citra
kemasan obat yang dapat diambil melalui kamera atau fail citra yang sudah
tersimpan di galeri. Akurasi terbaik aplikasi info obat dalam pengenalan citra
karakter dengan 70 data uji berupa kemasan obat mencapai 96.80%.
Kata kunci: Android, obat, optical character recognition, Tesseract
ABSTRACT
NUGROHO MEGANOFA. Android Application to Search Drug Information
with Drug Packaging Image as Input using Tesseract OCR Engine. Supervised by
KARLINA KHIYARIN NISA.
Detailed information on drug is usually written on a leaflet that can only be
read when the package has been opened. It is difficult for consumers who just
want to know the detailed information of certain drug to decide whether the drug
will be bought or not. A solution is needed to convert drug brand text image into
editable text, so that it can be used as a keyword query for drug info searching on
the internet. Optical Character Recognition (OCR) is a process to convert image
into editable text. Tesseract performs several processes to identify drug brand text
image. The processes are image preprocessing, feature extraction, segmentation,
and word recognition. This research developed an Android application to
recognize drug brand text image. Tesseract is used because it has good accuracy
in recognizing text with serif and sans serif font which have far density between
characters. Drug packaging input image of the application can be taken from a
camera or gallery. The best accuracy of this application in recognizing characters
with 70 drug packaging images reached 96.80%.
Keywords: Android, drug, optical character recognition, Tesseract
APLIKASI PENCARI INFO OBAT DENGAN MASUKAN
CITRA TEKS KEMASAN OBAT BERBASIS ANDROID
MENGGUNAKAN TESSERACT OCR ENGINE
NUGROHO MEGANOFA
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer
pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2015
Penguji: 1 Dr Yeni Herdiyeni, SSi MKom
2 Rina Trisminingsih, SKom MT
Judul Skripsi : Aplikasi Pencari Info Obat dengan Masukan Citra Teks Kemasan
Obat Berbasis Android Menggunakan Tesseract OCR Engine
Nama
: Nugroho Meganofa
NIM
: G64124044
Disetujui oleh
Karlina Khiyarin Nisa, SKom MT
Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom
Ketua Departemen
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah Subhanahu wa Ta'ala atas
rahmat dan segala karunia-Nya sehingga skripsi ini berhasil diselesaikan. Tema
yang dipilih dalam penelitian yang dilaksanakan sejak bulan Juli 2014 ini adalah
pengolahan citra digital, dengan judul Aplikasi Pencari Info Obat dengan
Masukan Citra Teks Kemasan Obat Berbasis Android Menggunakan Tesseract
OCR Engine.
Terima kasih penulis ucapkan kepada kedua orang tua, kakak, dan segenap
keluarga besar penulis atas do’a serta dukungan yang diberikan. Kepada Ibu
Karlina Khiyarin Nisa, SKom MT selaku pembimbing, Ibu Dr Yeni Herdiyeni,
SSi MKom dan Ibu Rina Trisminingsih, SKom MT selaku penguji. Ungkapan
terima kasih juga disampaikan kepada seluruh teman-teman penulis di Program
S1 Ilmu Komputer Alih Jenis.
Semoga karya ilmiah ini bermanfaat.
Bogor, Januari 2015
Nugroho Meganofa
DAFTAR ISI
DAFTAR TABEL
DAFTAR GAMBAR
DAFTAR LAMPIRAN
PENDAHULUAN
Latar Belakang
Perumusan Masalah
Tujuan Penelitian
Manfaat Penelitian
Ruang Lingkup Penelitian
METODE
Pengumpulan Data
Image Preprocessing
Pengenalan Karakter Tesseract OCR
Pemilihan Situs Layanan Penyedia Obat
Perancangan Aplikasi
Use Case Diagram
Activity Diagram
Perancangan Antarmuka
Implementasi
Pengujian
Evaluasi
HASIL DAN PEMBAHASAN
Pengumpulan Data
Image Preprocessing
Grayscaling
Removing Noise
Thresholding
Pengenalan Karakter Tesseract OCR
Feature Extraction
Segmentation
Line Finding
Baseline Fitting
Word Recognition
Pemilihan Situs Layanan Penyedia Obat
Perancangan Aplikasi
Use Case Diagram
Activity Diagram
Perancangan Antarmuka
Implementasi
Pengujian
Pengujian Pengambilan Citra Kemasan Obat
Pengujian Karakter Teks Kemasan Obat
Kesimpulan Hasil Pengujian
Evaluasi
Bobot Nilai Pengujian Kuesioner
vii
vii
vii
1
1
2
2
2
2
3
4
4
4
4
4
5
5
5
5
5
6
6
6
6
6
8
8
8
9
10
10
11
12
13
14
14
14
16
18
19
19
21
22
23
24
Pengujian Usability dengan Kuesioner
Pengukuran Usability dengan Kuesioner
SIMPULAN DAN SARAN
Simpulan
Saran
DAFTAR PUSTAKA
LAMPIRAN
RIWAYAT HIDUP
24
25
26
26
26
27
29
45
DAFTAR TABEL
1
2
3
4
5
6
7
8
9
Beberapa situs penyedia layanan informasi obat
Skenario pengujian pengambilan citra kemasan obat
Contoh pengujian pengambilan citra kemasan obat
Skenario pengujian karakter teks kemasan obat
Contoh pengujian karakter teks kemasan obat
Kesimpulan hasil pengujian pengambilan citra kemasan obat
Kesimpulan hasil pengujian karakter teks kemasan obat
Nilai kuesioner
Persentase total hasil kuesioner
13
20
20
21
21
22
23
24
24
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
11
Tahapan proses penelitian
Flowchart pengkonversian citra RGB menjadi gambar grayscale
Ilustrasi proses connected component labelling
Ilustrasi proses line finding
Ilustrasi proses baseline fitting
Use case diagram aplikasi
Activity diagram konversi citra ke teks
Activity diagram kueri info obat
Perancangan antarmuka sistem
Hasil implementasi aplikasi
Skala kontinu untuk 5 responden
3
7
9
10
11
14
15
16
17
19
24
DAFTAR LAMPIRAN
1
2
3
4
Akurasi pengenalan karakter teks kemasan obat di galeri
Akurasi pengenalan karakter teks kemasan obat menggunakan kamera
Template lembar kuesioner
Hasil kuesioner
29
39
41
43
PENDAHULUAN
Latar Belakang
Informasi teks merupakan salah satu komponen penting dalam
berkomunikasi yang diperoleh dalam bentuk teks digital yang dapat dikenali oleh
komputer maupun teks nondigital seperti teks pada koran, majalah, dan buku.
Teks digital dapat dengan mudah diolah komputer karena sudah dalam format
yang dikenali oleh komputer, sedangkan teks nondigital harus dimasukkan
terlebih dahulu ke dalam komputer dengan menggunakan alat pemindai (scanner).
Namun, teks nondigital yang telah dimasukkan ke dalam komputer ini tidak
langsung dikenali sebagai teks tetapi dikenali sebagai gambar. Oleh sebab itu,
perlu proses lebih lanjut untuk mengubah teks nondigital menjadi teks digital.
Salah satu teknik untuk mengubah teks nondigital menjadi teks digital disebut
sebagai Optical Character Recognition (OCR).
Untuk penelitian mengenai OCR ini, proses pengenalan karakter
menggunakan suatu library OCR open source, yaitu Tesseract. Mesin OCR yang
berbasis bahasa pemrograman C/C++ ini diterapkan pada platform Android
dengan menggunakan bahasa pemograman Java. Tesseract OCR engine
memberikan hasil yang baik untuk tiap karakter dengan rata-rata tingkat kesalahan
hanya mencapai 3.77% (Smith 2007). Berdasarkan keberhasilan yang telah diuji
tersebut, penelitian ini menggunakan library Tesseract open source engine untuk
pengenalan suatu karakter yang akan mengubah teks nondigital berupa citra
menjadi teks digital. Pengenalan karakter difokuskan terhadap teks kemasan obat
dengan karakter Latin. Teks kemasan obat yang memiliki keberagaman dalam
jenis font dan kerapatan antar-font pada setiap teks membuat akurasi dalam
pengenalan karakter menjadi tidak konsisten
Hasil penelitian ini akan membantu konsumen melakukan pencarian
informasi tentang kemasan obat dengan hanya mengambil citra pada tulisan
merek kemasan obat pada produk obat tersebut dan menyambungkannya ke situssitus layanan penyedia informasi obat. Penelitian ini dilakukan untuk
mengembangkan suatu aplikasi pengenalan citra karakter yang difokuskan pada
pengenalan karakter teks kemasan obat. Teks obat tersebut diambil citranya dan
dilakukan suatu proses pengenalan karakter, selanjutnya teks obat akan menjadi
keyword pencarian dan tersambung pada suatu halaman situs layanan penyedia
informasi obat-obatan. Aplikasi ini dapat memudahkan para konsumen untuk
dapat mengetahui fungsi, indikasi, efek samping, dan aturan pakai dari obat
sebelum konsumen membuka kemasan obat tersebut.
Mengingat teknologi yang sedang berkembang adalah teknologi mobile,
aplikasi ini dikembangkan pada perangkat mobile berbasis Android. Di Indonesia
pengguna device yang mengusung sistem operasi Android mengalami
pertumbuhan signifikan. Perangkat Android masih menduduki peringkat teratas
pasar dunia dengan persentase sebesar 59.5% diikuti oleh Apple 19.3% dan
Microsoft 18.1% (TP 2013). Android memiliki berbagai keunggulan sebagai
software yang memakai kode komputer yang bisa didistribusikan secara terbuka
(open source). Dibangunnya aplikasi ini dimaksudkan agar masyarakat dapat
2
mengetahui informasi obat yang akan dikonsumsinya saat menggunakan
perangkat mobile.
Perumusan Masalah
Perumusan masalah pada penelitian ini adalah:
1
2
3
Tahapan apa saja yang dilakukan oleh Tesseract OCR engine dalam
pengenalan suatu karakter teks?
Seberapa besar akurasi aplikasi dalam mengenali citra karakter teks
kemasan obat pada platform Android?
Seberapa besar tingkat kegunaan aplikasi terhadap pengguna?
Tujuan Penelitian
Tujuan dari penelitian ini adalah:
1
2
3
Mengetahui tahapan pada Tesseract OCR engine sehingga dapat mengenali
suatu karakter teks.
Mengetahui seberapa besar akurasi aplikasi dalam mengenali citra karakter
teks kemasan obat pada platform Android.
Mengevaluasi kegunaan aplikasi melalui kuesioner kepada pengguna.
Manfaat Penelitian
Manfaat yang dapat diperoleh dari hasil penelitian ini adalah dapat membantu
konsumen untuk mengetahui informasi obat dengan hanya melakukan
pengambilan citra pada teks kemasan obat dalam suatu aplikasi yang mudah dibawa
kemanapun.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini adalah:
1
2
3
4
5
Pengenalan karakter teks pada kemasan obat dilakukan pada citra yang
diambil menggunakan kamera dan fail citra yang tersimpan.
Input harus berupa citra yang didukung oleh Android dan Tesseract OCR
engine yaitu format JPEG dan PNG.
Karakter huruf yang diteliti adalah karakter Latin.
Pengujian dilakukan pada 70 kemasan obat.
Aspek pengujian aplikasi terhadap pengambilan citra terdiri atas kategori
jenis font, kerapatan antar-font, intensitas pencahayaan, fokus pengambilan
citra, dan sudut kemiringan pada teks kemasan obat.
3
METODE
Metode penelitian yang digunakan dalam penelitian terdiri dari beberapa
tahapan yang dapat dilihat pada Gambar 1.
Pengumpulan data teks kemasan
obat berupa citra yang akan diuji
(data uji)
Image Preprocessing:
- Grayscaling
- Removing noise
- Thresholding
Pengenalan karakter Tesseract OCR:
- Feature Extraction
- Segmentation
- Word Recognition
Teks
Pemilihan situs penyedia
layanan informasi obat
Perancangan aplikasi:
- Use Case Diagram
- Activity Diagram
- Perancangan Antarmuka
Implementasi
Pengujian
Evaluasi
Gambar 1 Tahapan proses penelitian
4
Pengumpulan Data
Pada tahap awal dilakukan analisis terhadap kemasan obat yang akan diteliti,
kemudian kemasan obat tersebut nantinya akan menjadi masukan terhadap
kebutuhan aplikasi. Data yang menjadi masukan adalah 70 citra kemasan obat
dengan format JPEG.
Data yang berupa citra kemasan obat akan menjadi data uji yang diujikan
terhadap aplikasi. Citra kemasan obat yang menjadi data uji tersebut dapat diambil
dengan cara menggunakan kamera maupun diambil dari fail galeri.
Image Preprocessing
Pada bagian image preprocessing citra kemasan obat akan diubah menjadi
citra biner. Proses image preprocessing terdiri dari grayscaling, removing noise,
dan thresholding. Bagian ini menghasilkan citra biner yang menjadi masukan
pada tahap pengenalan karakter.
Pengenalan Karakter Tesseract OCR
Proses pengenalan karakter menggunakan data latih berupa kamus data
karakter yang tersedia pada Tesseract. Penelitian ini menggunakan Tesseract yang
merupakan suatu library open source yang dapat diunduh dari Google Code
secara gratis. Setelah proses image preprocessing, tahap selanjutnya akan
dilakukan tahapan pengenalan karakter yang terdiri dari proses feature extraction,
segmentation, dan word recognition. Proses feature extraction dilakukan untuk
mendapatkan outline karakter, sedangkan proses segmentation melakukan
pemotongan karakter pada teks. Pada proses word recognition, hasil segmentation
akan dicocokkan dengan data latih berdasarkan bahasa yang sesuai. Library
Tesseract akan ditanamkan pada sistem aplikasi berbasis Android sehingga citra
yang menjadi masukan akan diproses oleh library tersebut.
Citra teks kemasan obat yang awalnya berupa teks nondigital setelah
melalui proses konversi menggunakan Tesseract akan menjadi suatu teks digital
yang dapat diubah maupun dimanipulasi sesuai dengan kebutuhan pada aplikasi.
Pemilihan Situs Layanan Penyedia Obat
Teks digital yang sebelumnya mengalami proses OCR akan menjadi
masukan pencarian terhadap kueri pada situs layanan penyedia obat untuk
mengetahui informasi obat yang terkadung pada kemasan obat yang telah diambil
citranya seperti indikasi, efek samping, aturan pakai, dan lain sebagainya.
Perancangan Aplikasi
Pada tahap perancangan aplikasi terdiri dari beberapa proses yaitu use case
diagram, activity diagram, dan perancangan antarmuka.
5
Use Case Diagram
Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan
perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case
dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang
yang berinteraksi dengan sistem aplikasi (Satzinger et al. 2010).
Activity Diagram
Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir (Satzinger et al. 2010).
Perancangan Antarmuka
Interface atau antarmuka merupakan tampilan dari suatu program aplikasi
yang berperan sebagai media komunikasi yang digunakan sebagai sarana
berdialog antara program dengan pengguna (Satzinger et al. 2010).
Implementasi
Tahap implementasi merupakan tahapan pengembangan aplikasi
menggunakan perangkat keras dan perangkat lunak. Perangkat keras yang
digunakan adalah ASUS Zenfone 4 A400CG dengan spesifikasi sebagai berikut:
1
2
3
4
5
Sistem Operasi Android Jelly Bean 4.3 dengan versi kernel 3.4.43-00002.
Kamera 5.0 MP, 2592 x 1944 piksel.
Ruang penyimpanan memori internal 4 GB dan SD card 2 GB.
Ukuran layar 400 x 800 piksel 4 inci.
CPU Dual-core 1.2 GHz.
Perangkat lunak yang digunakan dalam pengembangan sistem adalah:
1
2
3
4
Eclipse Kepler sebagai lingkungan pengembangan aplikasi.
Android SDK versi 19 untuk library Android.
Draw.io untuk perancangan aplikasi.
Tesseract OCR sebagai library untuk mengenali citra karakter menjadi
sebuah teks. Tesseract juga menyediakan data latih yang dipakai dalam
sistem.
Pengujian
Tahap pengujian dilakukan dengan cara melakukan pengujian fungsi-fungsi
utama pada sistem dan menguji coba aplikasi pada perangkat smartphone.
Pengujian Tesseract OCR engine yang telah tertanam pada aplikasi menggunakan
beberapa sampel merek teks kemasan obat yang berbeda-beda dengan melakukan
skenario pengujian seperti intensitas cahaya, fokus pengambilan citra, sudut
kemiringan saat pengambilan citra, jenis font pada teks kemasan obat, dan
kerapatan antar-font pada teks kemasan obat sehingga dapat diketahui akurasi
terhadap karakter teks kemasan obat.
6
Evaluasi
Proses evaluasi dilakukan dengan cara memberikan kuesioner terhadap
pengguna aplikasi dengan smartphone Android menggunakan lima aspek usability
yang terdiri dari learnability, efficiency, memorability, errors, dan satisfaction
(Nielsen 2012).
HASIL DAN PEMBAHASAN
Pengumpulan Data
Pengumpulan data dilakukan dengan memilih kemasan obat yang akan diuji
coba. Pengujian aplikasi dilakukan pada citra uji yang diambil melalui kamera
maupun galeri. Pengumpulan data citra dari kamera dilakukan sebanyak 10 citra
uji, sedangkan citra uji untuk disimpan di galeri diunduh melalui internet
sebanyak 60 citra uji dengan resolusi piksel yang bervariasi. Data citra tersebut
memiliki jenis font dan kerapatan antar-font pada setiap teks kemasan obat yang
berbeda. Citra kemasan obat yang akan diuji sesuai dengan skenario pengujian
dapat dilihat pada Lampiran 1 dan Lampiran 2
Image Preprocessing
Pada bagian image preprocessing dilakukan proses grayscaling, removing
noise, dan thresholding.
Grayscaling
Pengkonversian citra berwarna menjadi grayscale merupakan tahapan awal
dalam image preprocessing. Output dalam tahapan ini merupakan citra yang
hanya memiliki derajat keabu-abuan pada setiap pikselnya. Format warna gray ini
digunakan untuk mengetahui tingkat intensitas, sehingga warna yang dimiliki
pada jenis citra ini adalah hitam, abu-abu, dan putih. Proses pengkonversian dapat
dilihat pada flowchart berikut.
7
Start
Loading
Image
h = image.getHeight()
w = image.getWeight()
x=0
y=0
No
x<w
Yes
y<h
No
x=x+1
Yes
R= Color.red(x,y)
G= Color.green(x,y)
B= Color.blue(x,y)
set pixel (x,y) with
(R + G + B) / 3
y=y+1
Grayscaled
image
Finish
Gambar 2 Flowchart pengkonversian citra RGB menjadi gambar grayscale
Flowchart di atas mengaplikasikan persamaan rumus untuk mendapatkan
nilai gray. Proses pengkonversian sistem akan melakukan pengulangan untuk
scan citra per piksel pada koordinat (x,y) sebesar ukuran panjang dan lebar citra.
Setiap piksel pada koordinat (x,y) akan diubah menjadi warna abu-abu dengan
nilai gs. Hasil dari pengkonversian ini adalah suatu citra yang hanya memiliki
derajat keabu-abuan dengan R=G=B. Derajat keabu-abuan pada masing-masing
piksel akan tergantung nilai RGB pada piksel tersebut.
8
Removing Noise
Proses removing noise menggunakan unsharp mask yang merupakan hasil
pengurangan citra asli dengan citra yang telah melalui proses smoothing. Proses
smoothing menggunakan gaussian smoothing dengan konvolusi matriks 3x3.
Smoothing bertujuan untuk menghaluskan citra dan mengurangi noise pada citra
(Fisher et al. 2003). Gaussian smoothing juga dapat digunakan untuk
mendekatkan simbol yang berbentuk karakter yang memiliki ruang menjadi lebih
mudah dikenali oleh program aplikasi sebagai suatu karakter yang utuh dan bukan
simbol-simbol yang terpisah.
Thresholding
Pada proses thresholding citra akan berubah menjadi citra yang hanya
mempunyai dua kemungkinan nilai yaitu 0 untuk hitam dan 255 untuk putih.
Thresholding atau binerisasi citra merupakan bagian terpenting dalam pengenalan
karakter karena keberhasilan binerisasi citra sangat menentukan akurasi dan
tingkat keberhasilan dalam mengenali suatu karakter. Binerisasi citra
menggunakan global thresholding metode Otsu dengan tujuan untuk membagi
histogram citra gray ke dalam dua daerah yang berbeda secara otomatis tanpa
membutuhkan masukan nilai ambang (Putra 2010).
Berikut algoritme untuk binerisasi citra menggunakan metode Otsu.
tMean = 0; variance = maxVariance = 0;
firstCM = zerothCM = 0
for (i=0,i<h;i++){
for (j=0;j<w;j++){
n = Image[j][i];
histogram[n]++;}}
for (k=0;k<level;k++){
tMean +=k*histogram[k]/(w*h);
for (k=0;k<level;k++){
zerothCM += histogram[k] / (w*h);
firstCM +=k* histogram[k] / (w*h);
variance = (tMean * zerothCM - firstCM);
variance *= variance;
variance /= zerothCM * (1 - zerothCM);
if (maxVariance < variance){
maxVariance = variance;
T = k;}} }
Pengenalan Karakter Tesseract OCR
Tahapan pengenalan karakter menggunakan library Tesseract untuk
platform Android yang diberi nama Tesstwo. Proses pengenalan karakter terdiri
dari feature extraction, segmentation, dan word reconigtion.
9
Feature Extraction
Feature extraction berfungsi untuk mendapatkan fitur dari citra teks berupa
outline karakter. Proses pencarian outline menggunakan connected component
labelling. Ilustrasi pengidentifikasian outline pada proses connected component
labelling ditunjukkan pada Gambar 3.
(a)
(h)
(b)
(g)
(c)
(f)
(d)
(e)
Gambar 3 Ilustrasi proses connected component labelling
Berikut penjelasan tahapan proses connected component labelling:
(a)
(b)
(c)
(d)
(e)
(f)
(g)
Citra asli dengan matriks piksel (4,8) yang merupakan citra biner hasil dari
tahapan image preprocessing. Angka 0 menjadi piksel background dan
angka 1 menjadi piksel foreground.
Scan terhadap citra dimulai dari titik piksel pojok kiri atas. Piksel (1,1)
diberi warna kuning untuk label 1.
Piksel (1,2) juga diberi label 1 karena bertetangga dengan piksel
sebelumnya. Piksel (1,3) tidak mengalami proses scan karena telah
terdeteksi sebagai background, selanjutnya piksel (1,4) diberi label 2 yang
diberi warna kuning gelap karena piksel sebelumnya yang terdeteksi adalah
background.
Piksel (1,5) dan (1,6) diberi label 2 karena bertetangga dengan piksel
sebelumnya. Piksel (1,7) diabaikan karena merupakan piksel background.
Piksel (1,8) diberi label baru yakni label 3 karena piksel sebelumnya adalah
piksel background.
Setelah proses scan pada baris pertama selesai, selanjutnya proses scan
dilakukan terhadap kolom kedua. Piksel (2,1) diberi label 1 karena masih
bertetangga dengan piksel (1,2) begitu pula terhadap piksel (2,2). Piksel
(2,3), (2,5), dan (2,7) dibiarkan karena background. Piksel (2,4) dan (2.6)
diberi label 2 karena bertetangga dengan piksel diatasnya yaitu piksel (1,4)
dan (2,6). Piksel (2,8) diberi label 3 karena bertetangga dengan piksel (1,8).
Piksel (3,1), (3,2), dan (3,3) diberi label 1. Piksel (3,4) diberi label 1 karena
label yang dipilih adalah label yang terkecil. Label dengan nilai terkecil
akan menjadi root atau akar, sedangkan label dengan nilai besar akan
menjadi leaf atau daun. Piksel (3,5), (3,6), dan (3,7) diabaikan.
Piksel (3,8) diberi label 3 karena bertetangga dengan piksel (2,8). Piksel
(4,1), (4,2), (4,3), (4,4), (4,5), (4,6), dan (4,7) diabaikan karena piksel
10
(h)
background. Piksel (4,8) diberi label 3 karena bertetangga dengan piksel
(3,8).
Melakukan proses scan ulang. Label 2 yang terdiri dari piksel (1,4), (1,5),
(1,6), (2,4), dan (2,6) telah terdeteksi sebagai leaf atau daun, sedangkan
label 1 terdeteksi sebagai root atau akar. Jadi label 2 akan berubah menjadi
label 1, sehingga label 1 dan 3 akan terdeteksi sebagai outline yang akan
diproses pada tahap selanjutnya.
Segmentation
Ada beberapa tahap dalam segmentation agar karakter pada citra berhasil
dikenali, antara lain line finding dan baseline fitting.
Line Finding
Proses line finding bertujuan mencari baris pada teks dengan menentukan
tinggi dan rendah dari baris teks tersebut. Line finding juga dapat mengenali baris
pada teks yang miring atau italic tanpa melalui proses penegakan suatu baris teks
yang miring. Ilustrasi proses line finding ditunjukkan pada Gambar 4.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Gambar 4 Ilustrasi proses line finding
Berikut penjelasan tahapan proses line finding:
(a)
Diketahui karakter C dan L dengan halaman yang miring.
11
(b)
(c)
(d)
(e)
(f)
Garis berwarna biru yang membentuk kotak menunjukkan ruang tiap
karakter C dan L yang akan diproses.
Titik berwarna merah yaitu centroid dari ruang tiap karakter C dan L.
Garis vertikal dan horizontal yang berwarna hijau merupakan garis bantu
yang akan menentukan jarak antar-centroid pada karakter C dan L.
Garis berwarna kuning adalah jarak antar-centroid pada karakter C dan L.
Garis berwarna ungu menunjukkan sudut kemiringan antar-centroid pada
karakter C dan L.
Proses line finding akan menentukan jarak antar tiap karakter C dan L
berdasarkan garis bantu vertikal yang berwarna hijau dan jarak antarcentroid pada karakter dengan menggunakan rumus.
sinӨ = garis bantu vertikal / jarak antar-centroid
Misal:
- Sudut kemiringan antara garis bantu horizontal dan jarak antar-centroid
pada karakter C dan L sebesar 300 .
- Jarak antar-centroid pada karakter C dan L sebesar 20.
- Maka panjang garis bantu vertikal pada karakter C dan L sebesar 10.
(g)
(h)
Proses selanjutnya karakter C dan L tersebut akan ditranslasi sebesar 10 dan
dirotasi sebanyak 300.
Hasil karakter C dan L yang diproses akan terdeteksi sebagai karakter yang
tidak miring atau sejajar.
Baseline Fitting
Setelah baris teks ditemukan, baseline dicocokkan dengan lebih tepat
menggunakan quadratic spline. Fungsi ini digunakan untuk mengatasi citra
karakter dengan baseline yang miring atau berbentuk kurva. Baseline dicocokan
dengan partisi blob ke dalam kelompok-kelompok. Pada baseline fitting terdapat 3
pengelompokkan garis, yaitu garis tengah (meanline), garis menaik (ascender),
dan garis menurun (descender). Ilustrasi proses baseline fitting akan ditunjukkan
pada Gambar 5.
(a)
(b)
Gambar 5 Ilustrasi baseline fitting (Gracia et al. 2013)
Berikut penjelasan tahapan proses baseline fitting:
12
(a)
(b)
Terdapat karakter “Agua” dengan representasi karakter dari suatu kalimat,
kemudian akan ditentukan baris teks dan garis pangkal pada karakter
tersebut. Garis berwarna hijau adalah mean line, garis berwarna kuning
adalah mid line, garis berwarna merah adalah bottom line, garis berwarna
biru adalah left line atau batas luar sebelah kiri dari karakter, dan garis
berwarna merah muda adalah right line atau batas luar sebelah kanan dari
karakter. Titik A yaitu titik pertemuan yang terbentuk dari bantuan top line
dan left line, titik B yaitu titik pertemuan yang terbentuk dari bantuan top
line dan right line, titik C yaitu titik pertemuan yang terbentuk dari bantuan
bottom line dan right line, dan titik D yaitu titik pertemuan yang terbentuk
dari bottom line dan left line.
Quadratic spline bertujuan membentuk estimasi kemiringan sudut-sudut
baru yang terbentuk dari komponen garis rentang yang telah diketahui
sebelumnya diantaranya A’, B’, C’, dan D’. δ2 adalah nilai displacement
jarak antar-centroid dari tiap karakter dengan bantuan mid line, dan h adalah
nilai kritis dari ketinggian tiap karakter. Kemudian top line dan mid line
akan mengalami perpindahan secara konstan.
Word Recognition
Sebelum tahap pengenalan karakter dilakukan, selanjutnya adalah
memotong tiap karakter yang terdapat pada baris teks agar proses pengenalan
karakter menjadi lebih akurat. Terkadang dalam proses pemotongan karakter
menjadi tidak akurat karena terdapat suatu karakter yang jarak spasinya tidak
konsisten antara karakter yang satu dan yang lainnya.
Outline karakter yang telah tersusun menjadi teks akan tersimpan pada blob,
selanjutnya blob tersebut akan menjadi fitur untuk dilakukan proses word
recognition dengan menggunakan klasifikasi adaptif. Proses klasifikasi dilakukan
dengan mencocokkan kamus karakter-karakter yang tersedia pada Tesseract.
Proses klasifikasi adaptif dilakukan dengan mengukur jarak terdekat antara
karakter yang akan diuji terhadap karakter-karakter yang telah tersedia pada
Tesseract. Apabila terjadi pengenalan yang kurang baik, akan dilakukan metode
pengukuran jarak dengan cara pencarian jarak terdekat dengan best first search
menggunakan rumus jarak Euclidean.
dx,y= √(x1 - y1)2 + (x2 - y2)2
Hasil dari jarak terdekat tersebut nantinya akan dikembalikan kepada kamus
Tesseract. Hasil keluaran pengenalan citra berupa sebuah string karakter (UTF-8)
yang didapatkan dengan mengakses fungsi getUTF8 pada class TessBaseApi.
Dalam program ini karakter yang dikeluarkan adalah karakter Latin yang akan
menjadi masukan untuk kueri pencarian pada situs layanan penyedia informasi
obat.
13
Pemilihan Situs Layanan Penyedia Obat
Teks hasil pengenalan citra pada kemasan obat selanjutnya akan dijadikan
kata kunci untuk pencarian informasi obat pada suatu situs penyedia layanan
informasi obat. Sebelumnya perlu dipilih situs mana yang cocok untuk dijadikan
referensi informasi obat pada aplikasi ini. Berikut contoh situs penyedia layanan
informasi obat yang ditunjukkan pada Tabel 1.
Tabel 1 Beberapa situs penyedia layanan informasi obat
No
1
2
Situs penyedia
layanan
informasi obat
URL
dechacare.com
http://www.dechacare.com
/cari/?q=&info=obat&btn
DC=Cari+di+DechaCare.
com
http://medicastore.com/i
ndex.php?mod=obat_sea
medicastore.com rch_list&inpNamaObat
=&inpIndikasi=&go=+
go+
3
obatinfo.com
http://www.obatinfo.com
/search?q=
4
pom.go.id
http://www.pom.go.id/ne
w/index.php/browse/cari
mims.com
http://www.mims.com/In
donesia/SsoMembership/
LogOn?ReturnUrl=http:
//www.mims.com/drug/se
arch/?q=
5
Keterangan
- Kueri pencarian mudah
untuk dimanipulasi
- Database informasi
obat cukup lengkap
- Tidak harus login
- Kueri pencarian sulit
untuk dimanipulasi
- Database informasi
obat cukup lengkap
- Lebih ditekankan pada
penjualan obat
- Tidak harus login
- Kueri pencarian mudah
untuk dimanipulasi
- Database informasi
obat kurang lengkap
- Tidak harus login
- Kueri pencarian mudah
untuk dimanipulasi
- Database informasi
obat kurang lengkap
- Tidak harus login
- Kueri pencarian mudah
untuk dimanipulasi
- Database informasi
obat lengkap
- Harus login
Situs layanan penyedia informasi obat yang digunakan adalah
dechacare.com karena situs layanan tersebut memiliki informasi obat yang cukup
lengkap dibanding situs layanan penyedia informasi obat yang lain.
Dechacare.com memiliki kueri URL yang mudah dimanipulasi pada aplikasi.
Keluaran karakter teks kemasan obat yang menjadi kata kunci kueri akan
dikombinasikan dengan kueri URL dari dechacare.com dan keluarannya akan
langsung tertuju pada halaman informasi obat yang dimaksud.
14
Perancangan Aplikasi
Use Case Diagram
Pada tahap ini dilakukan analisis terhadap kebutuhan pengguna dan
dianalisa. Use case diagram aplikasi digunakan untuk mengetahui interaksi apa
saja yang dilakukan oleh pengguna terhadap sistem. Use case diagram aplikasi
dapat dilihat pada Gambar 6.
Gambar 6 Use case diagram aplikasi
Activity Diagram
Activity diagram menggambarkan alur aktivitas di dalam sebuah proses
(use case) dan menggambarkan proses-proses serta jalur-jalur aktivitas dari
setiap tingkatan. Activity diagram dibagi ke dalam dua bagian, yaitu activity
diagram konversi citra ke teks dan activity diagram kueri info obat. Activity
diagram konversi citra ke teks dapat dilihat pada Gambar 7.
15
Gambar 7 Activity diagram konversi citra ke teks
Ketika pengguna masuk ke dalam menu aplikasi, pengguna diberikan pada
dua pilihan untuk pengambilan citra kemasan obat melalui kamera dan citra
kemasan obat yang terdapat pada galeri. Saat pengguna memilih untuk mengambil
citra kemasan obat dengan kamera maka pengguna akan langsung terhubung
dengan kamera untuk mengambil citra teks kemasan obat. Citra yang ditangkap
oleh kamera menjadi masukan dari Tesseract OCR engine yang sebelumnya telah
tertanam pada aplikasi. Apabila pengguna telah selesai mengambil citra melalui
kamera maka pengguna akan diberikan antarmuka untuk cropping citra agar
hanya area teks merk kemasan obat saja yang dijadikan sebagai citra masukan.
Apabila pengguna memilih untuk mengambil citra kemasan obat dari fail galeri,
maka pengguna akan langsung memilih citra teks kemasan obat yang tersedia
pada fail galeri yang sebelumnya sudah disimpan terlebih dahulu dan sudah
melalui proses cropping di luar sistem. Activity diagram kueri info obat dapat
dilihat pada Gambar 8.
16
Gambar 8 Activity diagram kueri info obat
Setelah pengguna menentukan citra teks merek kemasan obat, selanjutnya
adalah menampilkan teks merek kemasan obat. Pengguna dapat mengubah teks
merek kemasan obat jika terjadi ketidaksesuaian terhadap teks merek kemasan
obat yang diambil baik melalui kamera maupun fail galeri. Apabila teks merek
kemasan obat tersebut sudah benar, selanjutnya aplikasi menampilkan informasi
obat sesuai dengan masukan teks merek kemasan obat yang terhubung langsung
pada situs layanan penyedia informasi obat. Proses reset juga disediakan ketika
pengguna menyadari bahwa keluaran hasil teks merek kemasan obat tidak sesuai
dengan citra teks merek kemasan obat tersebut dan untuk mengulangi proses dari
awal tanpa harus keluar dari menu aplikasi.
Perancangan Antarmuka
Interface atau antarmuka merupakan tampilan dari suatu program aplikasi
yang berperan sebagai media komunikasi yang digunakan sebagai sarana
berdialog antara program dengan pengguna. Sistem yang akan dibangun
diharapkan menyediakan antarmuka yang mudah dipahami dan digunakan oleh
pengguna. Gambaran umum dari perancangan antarmuka sistem dapat dilihat
pada Gambar 9.
17
Logo
Take Picture
Choose Picture
OCR Text obat will appear here
Image
Camera
Reset
Info
Gambar 9.1 Halaman
utama
Gallery
In
In
fo
fo
Gambar 9.2 Pengambilan Gambar 9.3 Pengambilan
citra
citra menggunakan
kamera
Done
Cancel
Image
Logo
Image
Take Picture
OCR Text
Image
Image
Image
Image
Image
In
Reset
Info
fo
Gambar 9.4 Cropping
image
Output Image
Gambar 9.5 Pengambilan Gambar 9.6 Hasil OCR
fail citra di galeri
___________
Image
________________
________________
________________
________________
________________
________________
________________
________________
________________
________________
_________
Gambar 9.7 Situs
penyedia layanan obat
Gambar 9 Perancangan antarmuka sistem
18
Implementasi
Halaman utama aplikasi info obat terdiri dari tiga fitur tombol, yaitu take
picture, reset, dan info. Tombol info tidak dapat digunakan sebelum pengguna
mengambil atau memilih citra teks merek kemasan obat terlebih dahulu. Saat
pengguna memilih tombol take picture, pengguna akan diberikan pilihan untuk
pengambilan citra dengan kamera atau memilih citra yang telah tersimpan di fail
galeri. Apabila pengguna memilih tombol camera maka pengguna akan langsung
dihubungkan dengan kamera dan siap untuk mengambil citra kemasan obat.
Setelah pengguna melakukan pengambilan citra kemasan obat, maka hasil dari
pengambilan citra tersebut dapat terlihat pada layar lalu diberikan pilihan cancel
dan save. Apabila pengguna memilih tombol save, selanjutnya pengguna akan
melakukan cropping pada citra kemasan obat yang ditunjukkan agar citra
masukan hanya berupa area teks merek kemasan obat saja.
Proses cropping dilakukan sesuai dengan lebar dan panjang teks merek
kemasan obat. Setelah pengguna melakukan proses cropping pada citra teks
kemasan obat, citra masukan akan terkonversi menjadi teks keluaran yang
ditampilkan pada textfield halaman utama. Hasil keluaran teks juga dapat diubah
jika terjadi ketidaksesuaian. Teks yang terdapat pada textfield tersebut akan
menjadi kata kunci pencarian pada situs penyedia layanan informasi obat dengan
cara menekan tombol info yang akan langsung menghubungkan pengguna pada
situs penyedia informasi layanan obat www.dechacare.com.
Apabila pengguna memilih tombol gallery pada saat proses pemilihan citra,
maka pengguna akan langsung dihubungkan dengan fail citra yang tersedia di
galeri smartphone. Fitur ini digunakan jika resolusi kamera pada smartphone
rendah. Setelah pengguna memilih fail citra kemasan obat di galeri, selanjutnya
teks merek citra kemasan obat tersebut akan muncul pada textfield halaman utama.
Hasil implementasi aplikasi dapat dilihat pada Gambar 10.
Gambar 10.1 Halaman
utama
Gambar 10.2
Pengambilan citra
Gambar 10.3 Pengambilan
citra menggunakan
kamera
19
Gambar 10.4 Cropping
image
Gambar 10.5
Pengambilan fail citra di
galeri
Gambar 10.6 Hasil OCR
Gambar 10.7 Situs
penyedia layanan obat
Gambar 10 Hasil implementasi aplikasi
Pengujian
Pengujian terhadap aplikasi info obat dilakukan terhadap 70 citra sampel
kemasan obat yang berbeda. Proses pengujian dilakukan secara dua tahap, yaitu
tahap pengujian pengambilan citra kemasan obat dan pengujian karakter teks
kemasan obat.
Pengujian Pengambilan Citra Kemasan Obat
Pengujian pengambilan citra kemasan obat dilakukan untuk mengetahui
persentase akurasi tiap karakter teks pada pengambilan citra kemasan obat yang
dilakukan dengan memperhatikan beberapa kategori yaitu intensitas cahaya, fokus
pengambilan citra, dan kemiringan dari citra kemasan obat. Skenario pengujian
tiap kategori dapat dilihat pada Tabel 2.
20
Tabel 2 Skenario pengujian pengambilan citra kemasan obat
No
1
2
Pengujian
Kategori
Intensitas
cahaya
Galeri
Brightness = 0
(microsoft office
picture manager)
Brightness = 30
(microsoft office
picture manager)
Brightness = -50
(microsoft office
picture manager)
Normal
Lampu neon putih
10W
Sangat
terang
Lampu neon putih
25W
Redup
Lampu bohlam
kuning 5W
Fokus
Menunggu fokus
Fokus
Blur
Langsung tanpa
menunggu fokus
Blur
Fokus
0°
3
Kamera
Kemiringan
30°
60°
Posisi kamera
sejajar dengan
karakter pada citra
Posisi kamera
miring 30° dengan
karakter pada citra
Posisi kamera
miring 60° dengan
karakter pada citra
Rotate 0°
Rotate 30°
Rotate 60°
Contoh pengujian pengambilan citra pada kemasan obat akan ditampilkan
pada Tabel 3, sedangkan pengujian terhadap semua citra kemasan obat terdapat
pada Lampiran 1 dan Lampiran 2.
Tabel 3 Contoh pengujian pengambilan citra kemasan obat
Kategori
No
Pengujian
Intensitas
cahaya
1
Normal
2
Intensitas
cahaya
3
Citra
Hasil akurasi
Kamera Galeri
(a/b)
(a/b)
Fokus
Sudut
miring
Normal
Sangat
terang
Redup
Fokus
0°
6/6
6/6
Fokus
0°
6/6
6/6
Fokus
0°
5/6
4/6
4
Fokus
Normal
Blur
0°
0/6
4/6
5
6
Sudut
miring
Normal
Normal
Fokus
Fokus
30°
60°
0/6
0/6
4/6
0/6
21
Keterangan:
a = Karakter yang dikenali dengan benar
b = Semua karakter (6 karakter pada kata SANMOL)
Dari Tabel 3 diketahui bahwa persentase akurasi terbaik terhadap citra
kemasan obat Sanmol dengan pengambilan citra menggunakan kamera maupun
melalui fail galeri adalah 100% pada kondisi intensitas cahaya yang normal
maupun sangat terang. Akurasi ini sedikit menurun ketika intensitas cahaya dibuat
redup. Fokus kamera dan sudut kemiringan posisi citra juga membuat akurasi
menurun, terutama pada citra yang diambil melalui kamera.
Pengujian Karakter Teks Kemasan Obat
Pengujian terhadap karakter teks kemasan obat terdiri dari dua kategori,
yaitu jenis font dan kerapatan antar-font pada teks kemasan obat. Pengujian
dilakukan melalui pengambilan citra dengan menggunakan kamera secara
langsung maupun melalui fail galeri dengan kategori intensitas cahaya yang
normal, fokus normal, dan sudut kemiringan 0º atau tegak baik horizontal maupun
vertikal sesuai dengan teks kemasan obat. Berikut penjelasan dari tiap kategori
akan ditampilkan pada Tabel 4.
Tabel 4 Skenario pengujian karakter teks kemasan obat
No
Pengujian
Kategori
Serif
1
Jenis font
Sans serif
Variasi
2
Kerapatan
antar-font
Dekat
Jauh
Keterangan
Jenis font serif yang normal,
bold, dan italic.
Jenis font serif yang normal,
bold, dan italic.
Font yang bervariasi dalam satu
teks.
Jarak antar-font pada teks
kurang dari 1 cm.
Jarak antar-font pada teks lebih
dari 1 cm.
Contoh pengujian terhadap karakter teks kemasan obat akan ditampilkan
pada Tabel 5, sedangkan pengujian terhadap semua citra kemasan obat dapat
dilihat pada Lampiran 1 dan Lampiran 2.
Tabel 5 Contoh pengujian karakter teks kemasan obat
No
Citra
Kategori
Kerapatan
Jenis font
antar-font
Hasil akurasi
(a/b)
Persentase
akurasi (%)
1
Sans serif
Jauh
7/7
100
2
Serif
Dekat
7/7
100
22
No
Kategori
Kerapatan
Jenis font
antar-font
Citra
3
Variasi
Keterangan:
Dekat
Hasil akurasi
(a/b)
Persentase
akurasi (%)
0/0
0
a = Karakter yang dikenali dengan benar
b = Semua karakter
Kesimpulan Hasil Pengujian
Akurasi terbaik aplikasi info obat pada pengujian terhadap 10 citra kemasan
obat yang diambil melalui kamera dengan intensitas cahaya yang normal maupun
sangat terang diperoleh 96.80%, sedangkan akurasi terbaik aplikasi info obat
terhadap 60 citra kemasan obat dari fail galeri adalah sebesar 87.03% pada kondisi
intensitas cahaya yang normal. Ketika intensitas cahaya dibuat redup, akurasi
menurun menjadi 75.53% untuk pengambilan citra menggunakan kamera dan
74.48% untuk pengambilan citra dari fail galeri. Akurasi menurun ketika citra
dibuat kabur maupun dimiringkan posisinya. Berikut perhitungan hasil akurasi
dari setiap kategori pengujian yang ditunjukkan pada Tabel 6.
Tabel 6 Kesimpulan hasil pengujian pengambilan citra kemasan obat
Karakter yang diujikan
Akurasi (%)
Kamera
No
Kategori
pengujian
Galeri
1
Normal
423/486
87.03
91/94
96.80
2
Cahaya terang
413/486
84.97
91/94
96.80
3
Cahaya redup
362/486
74.48
71/94
75.53
4
Blur
51/486
10.49
33/94
35.10
5
Kemiringan 30°
25/486
5.14
2/94
2.12
6
Kemirngan 60°
0/484
0
0/93
0
Akurasi(%)
Kesimpulan dari pengujian terhadap pengambilan citra yang telah dilakukan:
1
2
Akurasi terbaik aplikasi info obat terhadap pengenalan karakter teks pada
citra kemasan obat mencapai 96.80% yang didapatkan dari pengujian pada
citra yang diambil menggunakan kamera dengan kondisi intensitas cahaya
yang normal.
Kegagalan pengenalan karakter teks pada aplikasi info obat disebabkan
oleh:
a.
Intensitas cahaya yang redup atau minim.
b.
Fokus saat pengambilan citra yang didapatkan terjadi blur atau kabur.
c.
Sudut saat pengambilan citra yang didapatkan miring atau diagonal.
23
Hasil akurasi dari pengujian terhadap karakter teks kemasan obat dapat
dilihat pada Tabel 7.
Tabel 7 Kesimpulan hasil pengujian karakter teks kemasan obat
Jenis font
(a/b)
Keterangan:
Kerapatan antar-font (a/b)
Dekat
Jauh
Serif
110/111
75/75
Sans serif
Variasi
187/188
25/79
103/103
16/24
a = Karakter yang dikenali dengan benar
b = Seluruh karakter yang diujikan
Dari pengujian yang dilakukan terhadap karakter teks kemasan obat yang
pengambilan citranya dilakukan secara normal, baik dengan menggunakan kamera
maupun dari fail galeri diketahui bahwa persentase tingkat akurasi dari masingmasing kategori sebagai berikut:
1
2
3
4
5
6
Untuk karakter teks kemasan obat dengan jenis font serif dan kerapatan
antar-font dekat, tingkat akurasi keberhasilan mencapai 99.09%.
Untuk karakter teks kemasan obat dengan jenis font serif dan kerapatan
antar-font jauh, tingkat akurasi keberhasilan mencapai 100%.
Untuk karakter teks kemasan obat dengan jenis font sans serif dan kerapatan
antar-font dekat, tingkat akurasi keberhasilan mencapai 99.48%.
Untuk karakter teks kemasan obat dengan jenis font sans serif dan kerapatan
antar-font jauh, tingkat akurasi keberhasilan mencapai 100%.
Untuk karakter teks kemasan obat dengan jenis font variasi dan kerapatan
antar-font dekat, tingkat akurasi keberhasilan mencapai 31.64%.
Untuk karakter teks kemasan obat dengan jenis font variasi dan kerapatan
antar-font jauh, tingkat akurasi keberhasilan mencapai 66.67%.
Oleh sebab itu, dapat diambil kesimpulan bahwa pengenalan karakter teks
kemasan obat dengan menggunakan Tesseract OCR engine tingkat akurasi terbaik
terdapat pada karakter teks kemasan obat yang memiliki kerapatan antar-font yang
jauh baik untuk jenis font serif, sans serif maupun karakter yang divariasikan.
Evaluasi
Proses evaluasi dilakukan dengan cara penyebaran kuesioner melalui media
survei untuk mendapatkan data. Skala Likert digunakan untuk mengukur sikap,
pendapat, dan persepsi seseorang atau kelompok orang tentang fenomena sosial.
Skala Likert dirancang untuk meyakinkan responden menjawab dalam berbagai
tingkatan pada setiap butir pertanyaan atau pernyataan yang terdapat dalam
kuesioner (Rubin dan Chisnell 2008).
24
Tabel 8 Nilai kuesioner
PK
Nilai
STS
1
Keterangan:
SS = Sangat Setuju
S = Setuju
TS
2
RR
3
RR = Ragu-ragu
TS = Tidak Setuju
S
4
SS
5
STS = Sangat Tidak Setuju
Bobot Nilai Pengujian Kuesioner
Untuk keperluan analisis kuantitatif, skala Likert memberikan nilai untuk
jawaban yang disediakan dengan bobot nilai yang diberikan. Pada kuesioner
terhadap pengguna, terdapat 5 responden dengan data hasil kuesioner yang dicari
terhadap persentase masing-masing jawaban dengan menggunakan rumus.
Y = P/Q * 100%
Keterangan:
P = Banyaknya jawaban responden tiap soal
Q = Jumlah responden
Y = Nilai persentase
STS
TS
RR
S
SS
5
10
15
20
25
Gambar 11 Skala kontinu untuk 5 responden
Pengujian Usability dengan Kuesioner
Kuesioner yang dibuat masing-masing terdiri dari 15 buah pertanyaan.
Berikut ini adalah hasil persentase masing-masing jawaban yang sudah dihitung
nilainya dengan menggunakan rumus di atas yang akan ditunjukkan pada Tabel 9.
Tabel 9 Persentase total hasil kuesioner
No
Pertanyaan
Aspek Learnability
1 Apakah
anda
menemukan aplikasi
untuk informasi obat?
2 Apakah
anda
membuka aplikasi
untuk informasi obat?
Aspek Efficiency
3 Apakah
menurut
tampilan
aplikasi
SS S RR TS STS
Persentase(%)
berhasil
Android
4
1
96
berhasil
Android
4
1
96
1
4
84
anda
mudah
25
No
Pertanyaan
SS S RR TS STS
Persentase(%)
dikenali?
4
Apakah menurut anda aplikasi
mudah untuk dioperasikan?
5 Apakah
menurut
anda
komposisi warna tampilan
pada aplikasi sudah sesuai dan
enak dilihat?
Aspek Memorability
6 Apakah tombol-tombol pada
aplikasi mudah dimengerti dan
digunakan?
7 Apakah
bahasa
yang
digunakan mudah dimengerti?
Aspek Errors
8 Apakah
aplikasi
dapat
mengenali
karakter
teks
kemasan obat dengan baik?
9 Apakah
anda
berhasil
menggunakan tombol Take
Picture?
10 Apakah
anda
berhasil
menggunakan tombol Info
Obat?
11 Apakah
anda
berhasil
menggunakan tombol Reset?
12 Apakah
aplikasi
berhasil
mengambil
gambar
dari
kamera dan galeri?
Aspek Satisfaction
13 Apakah anda setuju aplikasi
dapat
membantu
dalam
pencarian informasi obat?
14 Apakah menurut anda aplikasi
bisa memberikan informasi
obat bagi setiap konsumen
yang ingin membeli obat
sebelum kemasannya dibuka?
15 Apakah
anda
ingin
menggunakan aplikasi ini di
handphone sendiri?
2
3
88
5
80
2
3
88
2
3
88
1
3
1
80
5
100
5
100
4
1
96
4
1
96
1
2
2
76
4
1
76
1
3
1
60
Pengukuran Usability dengan Kuesioner
Hasil rekap nilai usability berdasarkan 5 responden menunjukkan nilai ratarata mencapai 86.93%. Nilai tersebut diperoleh dengan menjumlahkan total
persentase setiap pertanyaan dan dibagi dengan total pertanyaan yang diberikan,
26
sehingga dapat dikatakan bahwa aplikasi Android yang telah dibuat memiliki nilai
aspek usability yang dapat dioperasikan dengan mudah oleh para pengguna untuk
mengetahui informasi obat bagi setiap konsumen yang ingin membeli obat
sebelum kemasannya dibuka.
SIMPULAN DAN SARAN
Simpulan
Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan bahwa
penelitian ini menghasilkan aplikasi info obat dengan menggunakan Tesseract
OCR engine untuk pengenalan karakter teks pada kemasan obat. Dari total
pengujian terhadap 70 citra teks kemasan obat, aplikasi info obat mampu
mengenali citra teks kemasan obat dengan tingkat akurasi terbaik mencapai
96.80%. Akurasi ini didapatkan dalam kondisi dengan intensitas cahaya yang
normal. Akurasi akan menurun ketika intensitas cahaya, fokus, dan kemiringan
pada saat pengambilan citra divariasikan.
Kegagalan pengenalan karakter teks pada aplikasi info obat disebabkan
karena:
1
2
3
Intensitas cahaya yang redup atau minim.
Fokus saat pengambilan citra yang didapatkan terjadi blur atau kabur.
Sudut saat pengambilan citra yang didapatkan miring atau diagonal.
Untuk pengenalan karakter teks kemasan obat dengan menggunakan
Tesseract OCR engine tingkat akurasi terbaik terdapat pada karakter teks kemasan
obat dengan kerapatan antar-font yang jauh baik untuk jenis font serif, sans serif
maupun karakter yang divariasikan.
Nilai usability aplikasi terhadap responden mendapatkan hasil sebesar
86.93%, hal ini menunjukkan bahwa aplikasi Android yang telah dibuat sangat
mudah dioperasikan oleh pengguna.
Saran
Sistem aplikasi yang dibangun masih memiliki beberapa kekurangan, oleh
karena itu perlu adanya pengembangan agar sistem menjadi lebih baik dengan
ditambahkan fitur autofocus dan zoom.
Pada saat pengambilan citra teks kemasan obat perlu diperhatikan beberapa
hal, yaitu:
1
2
3
Lingkungan sekitar pengambilan citra memiliki intensitas cahaya yang baik.
Fokus pada pengambilan citra tidak terjadi blur atau kabur.
Sudut kemiringan pada saat pengambilan citra tegak dengan teks kemasan
obat, baik secara vertikal atau horizontal.
27
DAFTAR PUSTAKA
Gracia CM, Mirmehdi M, Sigut J, Mora JL. 2013. Fast perspective recovery of
text in natural scenes. Image and Vision Computing. 31:714-724 [Internet].
doi: 10.1016/j.imavis.2013.07.002. [diunduh 2014 Desember 19] Tersedia
pada: http://www.cs.bris.ac.uk/publications/papers/2001679.
Fisher R, Perkins S, Walker A, Wolfart E. 2003. Gaussian smoothing [Internet].
[diacu
2015
Februari
11].
Tersedia
pada:
http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm.
Nielsen J. 2012. Usability 101: Introduction to usability [Internet]. [diacu 2014
Desember 11]. Tersedia pada: http://www.nngroup.com/articles/usability101-introduction-to-usability/.
Pulsa T. 2013. Persentase pasar dan pengguna android [Internet]. [diacu 2014
Nopember 23]. Tersedia pada: http://www.tabloidpulsa.co.id/news/7943android-kuasai-lebih-dari-50-pangsa-pasar-dunia.
Putra D. 2010. Pengolahan Citra Digital. Yogyakarta (ID): CV Andi Offset.
Rubin J, Chisnell D. 2008. Handbook of Usability Testing: How to Plan, Design
and Conduct Effective Tests. Ed ke-2. Indiana (US): Wiley Publishing.
Satzinger JW, Jackson RB, Burd SD. 2010. System Analysis and Design a
Changing World. Ed ke-6. Boston (US): Course Technology.
Smith R. 2007. An overview of the tesseract ocr engine. Di dalam: ICDAR ’07
Proceedings The Ninth International Conference on Document Analysis and
Recognition II [Internet]; 2007 Sept 23-26; Curitiba, Parana, Brazil;
Washington (US): IEEE Computer Society. hlm 629-633; [diunduh 2014
Mei 5]. Tersedia pada: http://research.google.com/pubs/archive/33418.pdf.
28
29
LAMPIRAN
Lampiran 1 Akurasi pengenalan karakter teks kemasan obat
30
Lampiran 1 Lanjutan
31
Lampiran 1 Lanjutan
32
Lampiran 1 Lanjutan
33
Lampiran 1 Lanjutan
34
Lampiran 1 Lanjutan
35
Lampiran 1 Lanjutan
36
Lampiran 1 Lanjutan
37
Lampiran 1 Lanjutan
38
Lampiran 1 Lanjutan
39
Lampiran 2 Akurasi pengenalan karakter teks kemasan obat menggunakan kamera
40
Lampiran 2 Lanjutan
41
Lampiran 3 Template lembar kuesioner
PENGUJIAN USABILITYAPLIKASI ANDROID UNTUK
PENGENALAN CITRAKARAKTER TEKS PADA KEMASAN
OBAT DENGAN TESSERACT OCR ENGINE
Kuesioner Penelitian
Petunjuk pengisian kuesioner :
1.
2.
3.
Bacalah pertanyaan dengan teliti.
Jawablah pertanyaan dengan jujur.
Berikan tanda centang (√) pada jawaban yang anda anggap sesuai di
kotak yang telah disediakan.
Nama
Umur
Jenis Kelamin
: __________________________________
: ______ tahun
: Laki-laki / Perempuan * (coret salah satu)
KETERANGAN:
SS = Sangat Setuju
S = Setuju
RR = Ragu-ragu
TS = Tidak Setuju
No
Pertanyaan
STS = Sangat Tidak Setuju
Aspek Learnability
Apakah anda berhasil menemukan aplikasi
Android untuk informasi obat?
Apakah anda berhasil membuka aplikasi
2.
Android untuk informasi obat?
Aspek Efficiency
Apakah menurut anda tampilan aplikasi
3.
mudah dikenali?
Apakah menurut anda aplikasi mudah untuk
4.
dioperasikan?
Apakah menurut anda komposisi warna
5.
tampilan pada aplikasi sudah sesuai dan enak
dilihat?
Aspek Memorability
Apakah tombol-tombol pada aplikasi mudah
6.
dimengerti dan digunakan?
Apakah bahasa yang digunakan mudah
7.
dimengerti?
Aspek Errors
Apakah aplikasi dapat mengenali karakter
8.
teks kemasan obat dengan baik?
1.
SS
S
RR TS STS
42
Apakah anda berhasil menggunakan tombol
Take Picture?
Apakah anda berhasil menggunakan tombol
10.
Info Obat?
Apakah anda berhasil menggunakan tombol
11.
Reset?
Apakah aplikasi berhasil mengambil gambar
12.
dari kamera dan galeri?
Aspek Satisfaction
Apakah anda setuju aplikasi dapat membantu
13.
dalam pencarian informasi obat?
Apakah menurut anda aplikasi bisa
memberikan informasi obat bagi setiap
14.
konsumen yang ingin membeli obat sebelum
kemasannya dibuka?
Apakah anda ingin menggunakan aplikasi ini
15.
di handphone sendiri?
9.
Terima kasih telah meluangkan waktu anda untuk mengisi kuisioner ini☺
43
Lampiran 4 Hasil kuesioner
PENGUJIAN USABILITYAPLIKASI ANDROID UNTUK
PENGENALAN CITRAKARAKTER TEKS PADAKEMASAN
OBAT DENGAN TESSERACT OCR ENGINE
KETERANGAN:
SS = Sangat Setuju
S = Setuju
RR = Ragu-ragu
TS = Tidak Setuju
No
Pertanyaan
STS = Sangat Tidak Setuju
SS
S
4
1
4
1
1
4
2
3
RR TS STS
Aspek Learnability
1.
2.
Apakah anda berhasil menemukan aplikasi
Android untuk informasi obat?
Apakah anda berhasil membuka aplikasi
Android untuk informasi obat?
Aspek Efficiency
Apakah menurut anda tampilan aplikasi
3.
mudah dikenali?
Apakah menurut anda aplikasi mudah untuk
4.
dioperasikan?
Apakah menurut anda komposisi warna
5.
tampilan pada aplikasi sudah sesuai dan enak
dilihat?
Aspek Memorability
Apakah tombol-tombol pada aplikasi mudah
6.
dimengerti dan digunakan?
Apakah bahasa yang digunakan mudah
7.
dimengerti?
Aspek Errors
Apakah aplikasi dapat mengenali karakter
8.
teks kemasan obat dengan baik?
Apakah anda berhasil menggunakan tombol
9.
Take Picture?
Apakah anda berhasil menggunakan tombol
10.
Info Obat?
Apakah anda berhasil menggunakan tombol
11.
Reset?
Apakah aplikasi berhasil mengambil gambar
12.
dari kamera dan galeri?
5
2
3
2
3
1
3
5
5
4
1
4
1
1
44
Aspek Satisfaction
Apakah anda setuju aplikasi dapat membantu
13.
dalam pencarian informasi obat?
Apakah menurut anda aplikasi bisa
memberikan informasi obat bagi setiap
14.
konsumen yang ingin membeli obat sebelum
kemasannya dibuka?
Apakah anda ingin menggunakan aplikasi ini
15.
di handphone sendiri?
1
2
2
4
1
1
3
1
45
RIWAYAT HIDUP
Penulis dilahirkan di Bogor pada tanggal 8 Oktober 1989 dari ayah Suharno
dan ibu Sriyati. Penulis adalah putra ketiga dari tiga bersaudara. Tahun 2008
penulis lulus dari SMA Negeri 8 Bogor dan pada tahun yang sama penulis lulus
seleksi masuk Institut Pertanian Bogor (IPB) Program Diploma 3 Teknik
Komputer melalui Seleksi Masuk IPB jalur reguler. Penulis menyelesaikan
pendidikan Program Diploma 3 selama tiga tahun dan lulus pada tahun 2011.
Kemudian pada tahun 2012 penulis melanjutkan pendidikan Program Sarjana
Ilmu Komputer Alih Jenis Departemen Ilmu Komputer FMIPA IPB.
Download