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.