• Tidak ada hasil yang ditemukan

PENERAPAN OPTICAL CHARACTER RECOGNITION (OCR) UNTUK RANCANG BANGUN APLIKASI TRANSLATOR PADA PLATFORM ANDROID

N/A
N/A
Protected

Academic year: 2017

Membagikan "PENERAPAN OPTICAL CHARACTER RECOGNITION (OCR) UNTUK RANCANG BANGUN APLIKASI TRANSLATOR PADA PLATFORM ANDROID"

Copied!
50
0
0

Teks penuh

(1)

IMPLEMENTATION OF OPTICAL CHARACTER RECOGNITION (OCR) FOR DEVELOPING TRANSLATOR APLICATION

FOR ANDROID PLATFORM

BY

NOVITA RELLYANI

Mobile technology issue is mobile with android operating system. Android is an open source operating system, that makes application developers develop new applications.

Optical Character Recognition (OCR) application that is used for converting image to become text as library named tess two. This application development using waterfall method. Besides developing OCR, translator application will also be developed that uses image as input using OCR technology and database processing to process translation and voice as output. The results of the application either to recognize the letters with a minimum size 20 and bold, italic are less able to recognize the text nor the text with a patterned background

(2)

PENERAPAN OPTICAL CHARACTER RECOGNITION (OCR) UNTUK RANCANG BANGUN APLIKASI TRANSLATOR

PADA PLATFORM ANDROID

Oleh

NOVITA RELLYANI

Teknologi mobile yang saat ini sedang trend adalah mobile dengan sistem operasi android. Android bersifat open source, maka mempermudahkan pengembang untuk mengembangkan atau membuat aplikasi yang baru.

Optical Character Recognition (OCR) merupakan teknologi untuk mengkonversi image menjadi sebuah teks, dengan menggunakan library tess two. Pengembangan aplikasi ini menggunakan metode waterfall Selain aplikasi OCR, akan dikembangkan juga aplikasi translator dengan memanfaatkan image sebagai input dengan menggunakan teknologi OCR serta database processing untuk proses penerjemahan dan output yang berupa suara. Hasil dari aplikasi baik untuk mengenali huruf dengan dengan size minimal 20 dan bold, kurang dapat mengenali text italic serta tidak dapat mengenali teks dengan background bermotif.

(3)
(4)

BAB I PENDAHULUAN

1.1.Latar Belakang

Kemajuan ilmu pengetahuan dan teknologi menjadi suatu kebutuhan yang pokok dalam era globalisasi ini. Ilmu pengetahuan dan teknologi dibutuhkan untuk berbagai kepentingan antara lain sebagai kepentingan bisnis, pengetahuan umun terhadap perkembangan teknologi sebagai pendukung proses belajar mengajar serta untuk mencari hiburan. Selain itu perkembangan Teknologi Informasi juga membuat seseorang dapat mengakses informasi secara cepat.

Perkembangan ilmu pengetahuan dan teknologi juga menghasilkan berbagai aplikasi yang dibutuhkan untuk mempermudah menyelesaikan suatu hal. Sebagai contoh yaitu aplikasi translator (penerjemah). Fungsi translator adalah untuk membantu dalam penerjemahan suatu bahasa menjadi bahasa lain yang diinginkan. Adanya translator akan mempermudah dalam penerjemahan karena tidak perlu membuka kamus untuk mencari kata yang dimaksudkan. Dengan adanya translator, maka kata yang akan diterjemahkan perlu diketikkan sebagai masukkan, kemudian akan di proses penerjemahan kata dan akan dihasilkan arti kata tersebut.

(5)

dan mengefisienkan dalam penerjemahan. Terlebih lagi jika seseorang bepergian ke luar negeri, bila bahasa yang digunakan berbeda dan belum dikuasai, maka seringkali akan mendapat kesulitan dalam membaca petunjuk atau keterangan yang ada. Selain itu jika user yang menggunakan tidak dapat melihat petunjuk tersebut (orang buta), maka akan menjadi masalah tersendiri Dengan menggunakan aplikasi translator, maka pengguna dapat menerjemahkan petunjuk-petunjuk yang dimaksud serta dapat mendengar arti dari keterangan yang ada.

Namun penggunaan translator tersebut tidak cukup efisien dan cepat karena pengguna harus mengetikkan kata yang akan diterjemahkan, dan proses penerjemahan tersebut berlangsung jika kata yang diketikkan benar. Jika tidak pengguna harus mengetikkan kembali kata yang dimaksud. Selain itu tidak efektif jika kata yang akan diterjemahkan berbentuk kalimat yang panjang.

Maka dari itu, diperlukan sebuah aplikasi penerjemah yang efisien dan cepat serta realtime. Dengan menggunakan teknologi OCR (Optical Charakter Recognition) dan AR (Augmented Reality) untuk membuat sebuah translator yang realtime. Translator realtime yang berarti user mengambil gambar objek yang akan diterjemahkan, maka terjemahan dari kata tersebut akan dibacakan oleh program (disuarakan).

(6)

bersifat realtime Dengan adanya aplikasi ini maka pengguna dapat dengan mudah menerjemahkan kata atau kalimat dengan mudah dan cepat.

Untuk menerapkan aplikasi tersebut, dibutuhkan suatu teknologi yang ditentukan.

Terknologi tersebut yaitu handphone berbasis sistem operasi Android.

1.2.Rumusan Masalah

Adapun rumusan masalah yang akan dikaji dalam penelitian ini adalah bagaimana OCR (Optical Character Recognition) digunakan sebagai konversi image menjadi text untuk aplikasi mobile translator berbasis Android?

1.3.Batasan Masalah

Berikut ini adalah batasan masalah dalam proposal penelitian ini:

1. Aplikasi penerjemah bergerak hanya digunakan pada operating system (OS) Android

2. Aplikasi ini menerjemahkan dari bahasa Inggris ke bahasa Indonesia, begitu pula sebaliknya

(7)

1.4.Tujuan

Tujuan dilaksanakan penelitian ini adalah membuat suatu aplikasi translator yang memanfaatkan image sebagai input dengan menggunakan teknologi OCR (Optical Character Recognition), sehingga tidak memerlukan pengetikan kata yang akan diterjemahkan.

1.5.Manfaat

Adapun manfaat penelitian adalah:

1. Membuat aplikasi translator yang mudah dan efisien karena tidak memerlukan pengetikan kata dalam proses input.

2. Tampilan yang menarik, karena hasil ouput berupa suara dari kata yang diterjemahkan.

1.6.Sistematika Penulisan I. Pendahuluan

(8)

2. Tinjauan Pustaka

Dalam bab ini menjelaskan pengertian, teori-teori dasar yang berhubungan dengan kajian yang dibahas dari berbagai literatur. Teori-teori yang perlukan untuk mendukung penelitian adalah tentang Optical Character Recognition (OCR), Android, serta citra digital.

3. Metodologi Penelitian

Dalam bab ini membahas kegiatan penelitian yang meliputi tempat dan waktu penelitian dilaksanakan, bahan dan alat yang digunakan untuk mendukung penelitian dan tahapan penelitian yang berisi langkah-langkah penelitian yang dilakukan secara sistematis.

4. Rancang Bangun dan Implementasi Sistem

Dalam bab ini membahas tentang desain dan perancangan sistem yang mendukung kerja sistem secara keseluruhan dan membahas tentang penerapan optical character recognition.

5. Kesimpulan dan Saran

(9)

BAB II

TINJAUAN PUSTAKA

2.1. Optical Character Recognition 2.1.1. Pengertian

Menurut Priyatma, dkk (2004) pengenalan karakter dengan menggunakan alat optik (optical character recognition) adalah sebuah sistem komputer yang dapat membaca karakter termasuk (huruf), baik yang berasal dari sebuah alat pencetak (printer atau mesin ketik) maupun yang berasal dari tulisan tangan. Adanya sistem pengenal huruf ini akan meningkatkan fleksibilitas ataupun kemampuan dan kecerdasan sistem komputer.

(10)

data karena user tidak harus memakai papan ketik tetapi bisa menggunakan pena elektronik untuk menulis sebagaimana user menulis di kertas. (Priyatma dkk, 2004)

Dalam pengenal pola otomatis, sistem pengenal pola mencoba mengenali apakah citra masukan yang diterima cocok dengan salah satu citra yang telah ditentukan. Sistem ini misalnya dipakai untuk mendeteksi sidik jari, tanda tangan, bahkan wajah seseorang. Menurut Sukmawan (2008) OCR dapat dipandang sebagai bagian dari pengenal otomatis yang lebih luas yakni pengenal pola otomatis (automatic pattern recognition). Ada banyak pendekatan yang dapat dipakai untuk mengembangkan pembuatan pengenal pola otomatis antara lain memakai pendekatan numerik, statistik, sintaktik, neural dan, aturan produksi (rule-based). Secara umum metode-metode tersebut dapat digolongkan menjadi dua kelompok metode yakni metode berbasis statistik dan metode berbasis struktur.

(11)

yang sudah disimpan memakai aturan tertentu misalnya memakai pendekatan teori bahasa formal dan automata. (Sukmawan, 2008)

2.1.2 Cara Kerja

1. Mengambil objek berupa teks menggunakan kamera sehingga didapat sebuah file citra.

(12)

3. Keluaran dari perangkat lunak aplikasi pengenalan teks ini berupa file teks yang berisi karakter-karakter yang telah dikenali dan siap untuk diolah lebih lanjut.

Tingkat keberhasilan dari perangkat lunak pada aplikasi pengenalan teks ini sangat bergantung dari sejumlah faktor berikut:

1. Kualitas gambar teks yang ada pada dokumen yang dibaca serta tingkat kompleksitasnya (ukuran, format, teks, warna, latar belakang).

2. Kualitas perangkat lunak aplikasi pengenalan teks itu sendiri.

3. Kualitas alat optik yang dipakai (kamera).

(Manik, 2010)

Proses yang dilakukan oleh OCR secara berurutan adalah data capture, prepocessing, segmentation normalization, feature

ekstraction, recognition dan postprocessing.

1. Sistem Preprocessing

Perancangan sistem preprocessing menjelaskan alur kerja dalam OCR dalam meyiapkan image sebagai sebagai input gambar yang siap diolah lebih lanjut oleh sistem.

(13)

Grey Scalling/Thesholding

Proses grey scaling mengubah citra berwarna menjadi hitam putih dengan mengubah warna setiap komponen RGB gambar menjadi bernilai sama. Proses threshold digunakan untuk mengekstrak foreground (tinta) dari background (kertas) dan mengubah menjadi citra biner. Proses Thresholding mengubah warna gambar menjadi citra biner (binary image) dimana ditentukan sebuah nilai level threshold kemudian piksel yang memiliki nilai di bawah level threshold diset menjadi warna putih (0 pada nilai biner) dan nilai di atas nilai threshold diset menjadi warna hitam (1 pada nilai biner).

Smoothing

(14)

Scaling

Menskala citra karakter tulisan tangan menjadi lebih kecil agar proses lainnya lebih cepat dan tidak terpengaruh besar citra karakter (pada bagian inti karakter)

Stroke Thinning

Proses ini menggunkan metode hybrid di mana menggunakan campuran tiga buah metode yang saling mendukung untuk proses thinning yaitu algoritma thinning Zhang-Suen yang mengecek ketetenggaan dan konektivitas 8-arah pikase, Stentiford Acute Angel Emphasis untuk menandai piksel pada bagian luar yang tidak boleh dihapus, dan algoritma Holt untuk menghapus hasil thinning yang tidak diperlukan (percabangan yang tidak perlu).

2. Sistem Segmentation

Tujuan dari proses segmentasi adalah untuk mempermudah atau menyederhanakan representasi dari citra menjadi sesuatu yang lebih berarti dan mudah dianalisa. (Sukamto: 2010).

3. Normalization

(15)

4. Feature Extarction

Menurut Sukamto (2010) Feature Extraction adalah proses transformasi data masukan menjadi kumpulan fitur untuk mengambil representasi minimal dari data masukan. Fitur citra menyediakan cara untuk mendeskripsikan property citra. Fitur geometris merupakan kunci untuk mendeskripsikan struktur citra.

Ascenders dan Descenders

Merupakan pambagian tulisan menjadi tiga buah area yaitu bagian atas (ascenders), bagian tengah (main body), bagian bawah (descenders). Kemudian setiap area diambil fiturnya dengan menggunakan histogram untuk membedakan karakter yang akan dikenali.

 Ukuran rata-rata tinggi dan lebar karakter

Ukuran diambil dari perata-rataan setiap karakter yang dimasukan sebagai pembelajaran.

 Permodelan stroke menggunakan rangkaian stroke (garis

tulisan) untuk mengenali karakter. Rangkaian stroke merupakan kumpulan titik-titik yang diberi label angka berdasarkan arah titik tetangga berikutnya yang disimpan di dalam list yang kemudian di periksa polanya. Label yang diberikan adalah sebagai berikut:

 Angka 1 untuk arah ke atas atau ke bawah (garis

(16)

 Angka 2 untuk arah ke samping (garis horizontal)  Angka 3 untuk arah ke kanan atas atau bawah (garis

miring hadap kanan)

 Angka 4 untuk arah ke kiri bawah atau atas (garis

miring hadap kiri)

Rangkaian label dapat lebih dari satu untuk menggambarkan fitur geometrinya.

5. Sistem Recognition

Recognition merupakan proses untuk mengenali karakter yang diamati dengan cara membandingkan ciri-ciri karakter yang diperoleh dengan ciri-ciri karakter yang ada pada database.

(Sukamto: 2008)

6. Postprocessing

Pada umumnya proses yang dilakukan pada tahap ini adalah proses koreksi ejaan sesuai dengan bahasa yang digunakan

(Sukamto, 2008)

2.2. Android

2.2.1. Pengertian

(17)

aplikasi pada platform Android menggunakan bahasa pemrograman Java. (Developer.android.com.2012.)

2.2.2. Arsitektur Android

Gambar 2.2 menunjukkan komponen utama dari sistem operasi Android.

Gambar 2.2 Arsitektur Android

(http://developer.android.com/guide/basics/what-is-android.html)

2.2.2.1.Application

(18)

2.2.2.2. Libraries

Android menggunakan beberapa paket library yang terdapat pada C/C++ dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya yang tertanam pada kernel Linux. Beberapa library yang tertanam pada kernel Linux adalah:

Media Library untuk memutar dan merekam berbagai macam

SSl dan WebKit untuk browser dan keamanan internet.

(Developer.android.com: 2012)

2.2.2.3. Android Runtime

Android merangkum seperangkat library inti yang menyediakan sebagian besar fungsi yang tersedia di library inti dari bahasa pemrograman java. (Developer.android.com: 2012)

(19)

yang dioptimalkan untuk jejak memori minimal. VM adalah register-based dan menjalankan kelas dikompilasi oleh compiler bahasa Java yang telah ditransformasikan ke dalam format .dex dengan menggunakan dex tools. (Developer.android.com: 2012)

VM Dalvik bergantung pada kernel Linux untuk fungsi dasar seperti manajemen memori threading dan tingkat rendah.

(Developer.android.com: 2012)

2.2.2.4. Application Framework

Dengan menyediakan platform pengembangan aplikasi yang open source, Android menawarkan kepada pengembang untuk membangun aplikasi yang sangat kaya dan inovatif. Pengembang memiliki akses penuh ke API yang sama pada framework digunakan oleh aplikasi inti.

Bagian terpenting dalam kerangka aplikasi Android adalah sebagai berikut:

1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan menjaga keadaan ”Backstack“ untuk navigasi

penggunaan.

(20)

3. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (seperti Kontak), atau berbagi data mereka sendiri

4. Resuource Manager menyediakan akses sumber daya diluar kode program, seperti karakter, grafik, dan file layout.

5. Notification Manager, mencakup berbagai macam peringatan seperti, pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status bar.

(Developer.android.com: 2012)

2.2.2.5. Liux Kernel

Android bergantung pada Linux versi 2,6 untuk layanan sistem inti seperti keamanan, manajemen memori, manajemen proses, stack jaringan, dan driver model. Kernel juga bertindak sebagai lapisan abstraksi antara perangkat keras dan seluruh software stack. (Developer.android.com: 2012)

2.3 Image atau Citra 2.3.1 Pengertian

(21)

dari seribu kata” maksudnya sebuah gambar akan memberikan informasi

lebih banyak daripada informasi yang disajikan dalam bentuk kata-kata.

Ditinjau dari sudut pandang matematis, citra merupakan fungsi continue dari intensitas cahaya pada bidang dwitarma. Sumber cahaya, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pemantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata manusia, kamera, pemindai (scanner), dsb, sehingga bayangan objek citra tersebut terekam. Definisi citra menurut kamus Webster adalah suatu representasi, kemiripan, atau imitasi dari suatu benda, secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). (Jain, dkk: 1995)

Ada dua bagian pada proses pembentukan gambar, yaitu:

1. Geometri pembentukan citra yang menentukan proyeksi titik koordinat akan ditempatkan pada bidang gambar.

2. Cahaya fisik yang menentukan kecerahan titik pada bidang gambar sebagai fungsi dari iluminasi atau pencahayaan

(22)

2.3.2 Elemen-elemen citra

A. Kecerahan dan Kontras 1. Kecerahan

Yang dimaksud kecerahan (brightness) adalah intensitas yang terjadi pada satu titik citra. Umumnya pada sebuah citra kecerahan ini merupakan kecerahan rata-rata dari suatu daerah lokal. (Suprianto, Agung: 2009).

2. Kontras

Untuk menentukan kepekaan kontras (contras sensitivity) pada mata manusia. (Suprianto, Agung: 2009).

B. Acuity

Yang dimaksud acuity adalah kemampuan mata manusia untuk merinci secara detail bagian-bagian pada suatu citra (pada sumbu visual). (Suprianto, Agung: 2009).

C. Kontur

(23)

D. Warna

Adalah reaksi yang dirasakan oleh sistem visual mata manusia terhadap perubahan panjang gelombang cahaya. Setiap warna mempunyai panjang gelombang yang berbeda-beda. Warna merah memiliki panjang gelombang paling tinggi, sedangkan warna violet mempunyai panjang gelombang paling rendah. (Suprianto, Agung: 2009).

E. bentuk

Pada umumnya citra yang dibentuk oleh mata merupakan citra 2 dimensi, sedangkan objek yang diamati adalah 3 dimensi. (Suprianto, Agung: 2009).

F. Tekstur

Pada hakikatnya sistem visual manusia tidak menerima informasi citra secara terpisah pada setiap titik, tetapi suatu citra dianggap sebagai satu kesatuan. Dua buah citra tidak dapat disamakan hanya degan satu parameter saja. Hal ini tampak nyata dalam bentuk tektur (texture). Pada daerah yang berdekatan tekstur dua buah citra mudah dibedakan, namun bila letaknya berjauhan tekstur kedua citra tersebut sukar dibedakan. (Suprianto, Agung: 2009).

(24)

Respon suatu visual tidak hanya berlaku pada faktor ruang, tetapi juga faktor waktu. Sebagai contoh, bila citra-citra diam ditampilkan secara cepat, akan berkesan melihat citra bergerak. (Suprianto, Agung: 2009).

H. Deteksi dan Pengenalan

Dalam pendeteksian dan megenali suatu citra ternyata tidak hanya sistem visual manusia saja yang bekerja, tetapi juga ikut melibatkan ingatan dan daya pikir manusia. (Suprianto, Agung: 2009)

2.3.3 Pengolahan Citra

Menurut (Prima, RS: 2010) pengolahan citra digital adalah pemrosesan citra menjadi citra yang lain dengan kualitas yang lebih baik, yaitu pemrosesan pada usaha untuk memanipulasi. Citra yang telah menjadi gambar lain menggunakan algoritma atau teknik tertentu. Pengolahan citra mempunyai tujuan yaitu:

1. Proses memperbaiki kualitas citra agar mudah diinterpretasikan oleh manusia atau komputer.

2. Teknik pengolahan citra dengan mentrasformasikan citra menjadi citra lain.

(25)

sampling dan kuantitasi, histogram, proses filtering, perbaikan citra sampai pada pengolahan citra digital yang lebih lanjut seperti segmentasi, image clustering dan ekstrasi ciri. (Prima, RS: 2010).

Proses pengolahan citra secara diagram yaitu proses dimulai dari pengambilan citra, perbaikan citra sampai dengan pernyataan representatif citra digambarkan dengan gambar 2.2: (Prima, RS: 2010)

Gambar 2.3 proses pengolahan citra

Menurut (Prima, RS: 2010) secara umum teknik pengolahan citra digital dibagi menjadi 3 tingkat pengolahan, yakni:

1. Tahap 1 yang dinamakan dengan Low-Level Processing (pengolahan tingkat rendah). Pengolahan ini operasional-operasional dasar dalam pengolahan citra, seperti pengurangan noise (noise redution), perbaikan citra (image enhancement) dan restorasi citra (image restoration).

(26)

3. Tahap 3 yang dinamakan dengan High-Level Processing (pengolahan tingkat tinggi), yang meliputi analisis citra

2.3.4 Jenis-Jenis Gambar 2.3.4.1 Gambar Biner

Gambar biner (binery image) adalah gambar dimana piksel-pikselnya hanya memiliki dua buah nilai intensitas, biasanya 0 dan 1 dimana 0 menyatakan warna latar belakang (background) dan 1 meyatakan warna tinta/objek (foreground) atau dalam bentuk angka 0 untuk wara hitam dan angka 255 untuk warna putih. Background merupakan kumpulan komponen yag terkoneksi yang bernilai 0 pada gambar biner sedangkan foreground merupakan kumpulan komponen terkoneksi atau tidak dan bernilai 1 pada gambar biner. (Sukamto, AR: 2008)

2.3.4.2 Piksel

(27)

terkoneksi dengan piksel Pn pada koordinat in,jn jika dan hanya jika ada jalur antara P0 dan Pn yang merupakan urutan titik, seperti pada gambar 2.3: (Sukamto, AR: 2008)

Gambar 2.4

piksel terkoneksi (connected pixels)

Menurut Sukamto, AR (2008) ada beberapa jenis piksel ketetanggaan, antara lain 4-ketetanggaan, 6-ketetanggaan, dan 8-6-ketetanggaan, namun yang banyak digunakan adalah 4-ketetanggaan dan 8-ketetanggaan. Kumpulan piksel yang dikatakan sebagai 8-ketetanggaan (8-connected) adalah ketika sebuah piksel pada koordinat I,j memiliki piksel tetengga yaitu sebagai berikut:

Gambar 2.5

piksel 8-ketetanggaan

Gambar 2.6

(28)

Relasi ketetanggaan dari sebuah piksel yang telah didefinisikan dapat dijadikan represetasi geometri secara diskrit.

2.4 Java

2.4.1 Pengertian Java

Java adalah sebuah bahasa pemrograman yang diciptakan oleh James Gosling, seorang developer dari Sun Microsystem pada tahun 1991. Selanjutnya Java dikembangkan Sun Microsystem dan banyak digunakan untuk menciptakan Executable Content yang dapat didistribusikan melalui network. (Nyura, Yusni: 2010)

Java dapat melakukan banyak hal dalam melakukan pemrograman, seperti membuat animasi halaman web, pemrograman Java untuk Ponsel dan aplikasi interaktif. Java adalah bahasa pemrograman Object-Oriented dengan unsur-unsur seperti bahasa C++ dan bahasa-bahasa lainnya yang memiliki libraries yang cocok untuk lingkungan internet. Java juga dapat digunakan untuk handphone, internet dan lain-lain. (Nyura, Yusni: 2010)

2.4.2 Karakteristik Java a. Sederhana

(29)

inheritance. Java juga menggunakan automatic memory allocation dan garbage collection. (Nyura, Yusni: 2010)

b. Berorientasi Objek

Java merupakan bahasa pemrograman berorientasi objek yang memungkinkan program untuk dibuat secara modular dan digunakan kembali. (Nyura, Yusni: 2010)

c. Terdistribusi

Java dibuat untuk memudahkan distribusi aplikasi dengan adanya networking libraries yang terintegrasi dalam Java. (Nyura, Yusni: 2010)

d. Interpreted

Program Java dijalankan menggunakan program Interpreter, yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi bytecodes dapat dijalankan pada berbagai platform. (Nyura, Yusni: 2010)

e. Robust

(30)

Runtime Exception Handling untuk membantu mengatasi error pada pemrograman. (Nyura, Yusni: 2010).

f. Secure

Sebagai bahasa pemrograman aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga agar aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. (Nyura, Yusni: 2010).

2.4.3 Cara Kerja

Lingkungan pemrograman Java menggunakan kompiler sekaligus interpreter agar dapat berjalan pada platform yang berbeda. Kompiler Java akan mentransformasikan kode-kode dalam bahasa Java ke dalam suatu bytecode. Bytecode adalah sekumpulan perintah hasil kompilasi yang kemudian dapat dieksekusi melalui sebuah mesin komputer abstrak yang disebut dengan JVM. JVM juga sering dinamakan sebagai interpreter, karena sifatnya yang selalu menerjemahkan kode-kode yang tersimpan dalam bytecode dengan cara baris demi baris. (Nyura, Yusni: 2010)

2.5. Library OCR 2.5.1. Pengertian

(31)

kembangkan oleh Hawlet-Packard antara tahun 1985 dan 1995. Tesseract tidak pernah dikomersialkan. Keakuratannya diuji di The Fourt Annual Test of OCR Accurasi yang diselenggarakan pada tahun 1995 di Universitas Nevada Las Vegas’ Information Science Research Institute. Namun pada saat itu pengembangan tesseract telah berhenti. (Saltcymru.org: 2012)

2.5.2. Cara Kerja

Gambaran mengenai cara kerja Tesseract secara singkat adalah: 1. Garis-garis dianalisis dan disimpan

2. Garis-garis berkumpul bersama sebagai himpunan 3. Himpunan tersebut akan disusun dalam baris teks 4. Baris teks akan dipecah menjadi kata-kata

5. Langkah pertama proses pengenalan mencoba untuk mengenali tiap kata pada urutannya

6. Kata yang tepat harus melewati proses penyesuaian oleh adaptive trainer

7. Pembelajaran oleh adaptive trainer berlangsung pada tahap kedua yang mencoba mengenali kata-kata yang tidak dikenali secara tepat pada tahap pertama

8. proses fuzzy diselesaikan dan teks diperiksa small caps 9. Teks digital dikeluarkan

(32)

Menurut (Saltcymru.org: 2012), selama proses tersebut berlangsung, tesseract menggunakan:

- Algoritma untuk mendeteksi skewed pages.

- Algoritma untuk mendeteksi kata-kata proporsional dan non proporsional (proporsional merupakan sebuah kata di mana semua huruf yang lebar yang sama).

- Algoritma untuk mencacah karakter bergabung dan untuk menghubungkan karakter yang rusak.

- Linguistik analisis untuk mengidentifikasi kata yang paling mungkin dibentuk oleh sekelompok karakter.

- Dua karakter pengklasifikasi: classifier statis, dan sebuah classifier yang adaptif menggunakan data pelatihan, dan yang lebih baik dalam membedakan antara atas dan huruf kecil.

Tesseract memiliki akurasi yang tinggi jika teks yang diterjemahkan berasal dari bahasa yang support.

Untuk bahasa Inggris, 8 komponen yang digunakan:

1. General Words Wordlist (tessdata/eng.word-dawg).

2. Frequent Word Wordlist (tessdata/eng.freq-dawg).

3. User Wordlist (tessdata/eng.user-words).

4. Index for Character Set (tessdata/eng.inttemp). 5. Box file for use in locating characters in the training file

(tessdata/eng.normproto).

(33)

(tessdata/eng.pffmtable).

7. Language’s Character Set (tessdata/eng.unicharset). 8. Character Cluster Disambiguator for ‘m’ and ‘rn’, for instance.

(tessdata/eng.DangAmbigs)

(Saltcymru.org: 2012)

2.6. Metode Waterfall

Menurut Samantha, DP (2011) Waterfall model merupakan salah satu model proses perangkat lunak yang mengambil kegiatan proses dasar seperti spesifikasi, pengembangan, validasi, dan evolusi, dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti analisis dan definisi persyaratan, perancangan perangkat lunak, implementasi, pengujian unit, integrasi sistem , pengujian sistem, operasi dan pemeliharaan.

(34)

Metode waterfall

1. Analisa Kebutuhan yaitu Proses mengumpulkan informasi kebutuhan sistem/perangkat lunak melalui konsultasi dengan user system. Proses ini

mendefinisikan secara rinci mengenai fungsi-fungsi, batasan dan tujuan dari

perangkat lunak sebagai spesifikasi sistem yang akan dibuat. (Samantha,DP :

2011).

2. Design Sistem merupakan proses yang difokuskan pada empat atribut, yaitu struktur data, arsitektur perangkat lunak, representasi antarmuka, dan detail (algoritma) prosedural. Yang dimaksud struktur data adalah representasi dari hubungan logis antara elemen-elemen data individual.

(Samantha,DP : 2011)

3. Penulisan Kode program merupakan tahap dimana perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. Kemudian pengujian unit melibatkan verifikasi bahwa setiap unit program telah memenuhi spesifikasinya. (Samantha,DP : 2011).

(35)
(36)

BAB III

METODOLOGI PENELITIAN

3.1. Tempat dan Waktu Penelitian

Penelitian ini dilakukan diJurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Lampung.

Waktu penelitian dilakukan pada tahun ajaran 2011-2012.

3.2. Alat dan Bahan

Bahan-bahan yang digunakan dalam penelitian ini antara lain teori-teori pendukung yang didapat dari internet maupun buku mengenai OCR (Optica Character Recognition), maupun OS (Operating System) Android.

Kegiatan-kegiatan ini menggunakan perangkat keras (hardware) dan perangkat lunak (software) sebagai berikut:

a. Perangkat keras (hardware) dengan spesifikasi: Laptop dengan spesifikasi sebagai berikut:

 MSI EX460 series

 Processor Intel ® Core ™ 2 Duo

 RAM DDR2 2GB

(37)

b. Perangkat lunak (software) yaitu:

Perangkat lunak yang digunakan dalam penelitian ini adalah:  Sistem Operasi Windows 7 ultimate 64 bit

 Eclipse Helios SR 1 for Java Developers  Android SDK Tools Revision 10

 SDK Platform Android 2.2 Froyo

 Android Development Tools ( ADT) plugin 9.0.0 for Eclipse

3.3. Tahapan Aplikasi

Dalam pelaksanaan penelitian ini yaitu Penerapan OCR untuk Rancang Bangun Aplikasi Mobile Translator pada Platform Android. Berikut adalah proses kerja dari aplikasi translator.

(38)

3.3.1 Objek

Dalam hal ini objek yang dimaksud adalah teks yang akan diambil sebagai proses input dalam aplikasi translator.

3.3.2. Capture Image

Capture image merupakan tahap dimana objek yang berupa teks ditangkap oleh kamera. Teks yang ditangkap kamera akan disimpan sebagai image.

3.3.3. Pemrosesan Image

Pemrosesan image merupakan tahap dimana image yang telah ditangkap dengan menggunakan kamera akan diubah menjadi teks berbentuk string. Dalam pemrosesan ini dibutuhkan library untuk mengenali karakter yang bernama tes two yang di dalamnya terdapat leptonika, tesseract dan libjpeg. Pengenalan karakter pada library terdiri dari Preprocessing, Segmentation, Normalization, Feature Ekstraction, Recognition dan Postprocessing.

3.3.4. Penerjemahan Teks

(39)

yang telah di dapatkan akan dicari dalam database SQlite dan akan dimunculkan terjemahannya.

3.3.5. Pemrosesan Suara

(40)

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil pengujian dan analisis pada aplikasi OCR (Opical Character Recognition) maka didapat kesimpulan sebagai berikut:

1. Pengenalan huruf menggunkan OCR terpengaruh dengan banyaknya cahaya dan jarak fokus kamera yang digunakan dan teks yang akan diambil

2. Huruf yang dapat dikenali dengan baik oleh OCR adalah huruf yang tegak dan tebal dengan size huruf minimal 20

3. Penggunaan OCR dalam translator mempermudah dalam proses input

4. Penggunaan AR (Augmented Reality) pada translator yaitu sebagai output hasil penterjemahan, dan berjalan dengan baik jika searching yang dilakukan adalah dari bahasa Indonesia ke bahasa Inggris.

5.2. Saran

Berdasarkan penelitian yang dilakukan terdapat beberapa saran: 1. Diharapkan dapat mengenali tulisan dengan font apa saja

(41)

Oleh Novita Rellyani

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas Matematika dan Ilmu Pengetahuan Alam

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

(42)

PENERAPAN OPTICAL CHARACTER RECOGNITION (OCR) UNTUK RANCANG BANGUN APLIKASI TRANSLATOR PADA

PLATFORM ANDROID

( Skripsi )

Oleh

NOVITA RELLYANI 0717032063

PROGRAM STUDI S1 ILMU KOMPUTER JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG

(43)

MENGESAHKAN

1. Tim Penguji

Ketua : Ossy Dwi Endah W.,M.T ……….

Sekretaris : Didik Kurniawan, S.Si., M.T ………

Penguji

Bukan Pembimbing : Dwi Sakethi, S.Si., M.Kom ……….

2. Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam

Prof. Suharso, Ph.D.

NIP. 19690530 199512 1 001

(44)

PLATFORM ANDROID

Nama Mahasiswa : NOVITA RELLYANI

Nomor Pokok Mahasiswa : 0717032063 Program Studi : Ilmu Komputer

Jurusan : Ilmu Komputer

Fakultas : Matematika dan Ilmu Pengetahuan Alam

MENYETUJUI 1.Komisi Pembimbing

Ossy Dwi Endah W., M.T Didik Kurniawan, S.Si., M.T NIP. 19740713 200312 2 002 NIP. 19800419 200501 1 004

2.Mengetahui

Ketua Jurusan Ilmu Komputer

(45)

MOTO

Kamu adalah seperti fikiranmu, jika kamu berfikir lemah maka kamu

akan lemah, jika kamu berfikir kuat maka kamu akan kuat.

Jika kita berbuat baik pada seseorang, lakukanlah dengan ikhlas. Jangan

berharap orang tersebut akan memperlakukan kita dengan baik juga,

(46)

PERNYATAAN

Saya yang bertanda tangan di bawah ini, menyatakan bahwa skripsi saya yang berjudul “Penerapan Optical Character Recognition (OCR) Untuk Rancang Bangun Aplikasi Translator Pada Platform Android ini merupakan hasil karya saya sendiri dan bukan hasil karya orang lain. Semua hasil tulisan yang tertuang dalam skripsi ini telah mengikuti kaidah penulisan karya ilmiah Universitas Lampung. Apabila di kemudian hari terbukti bahwa skripsi ini merupakan hasil salinan atau dibuat oleh orang lain, maka saya bersedia menerima sanksi berupa pencabutan gelar akademik yang telah saya terima.

Bandar Lampung, 07 Mei 2012

(47)

Kupersembahkan karyaku ini kepada:

Kedua Orangtuaku tercinta, yang telah mendidik dan membesarkanku serta

mencurahkan segala kasih dan sayangnya

(48)

RIWAYAT HIDUP

Penulis dilahirkan di Way Jepara, pada tanggal 4 November 1989. Penulis merupakan anak

pertama dari 3 bersaudara dari pasangan Bapak Ahmadi dan Ibu Sugiarti.

Pendidikan Penulis dimulai dari TK Al Muslimun Way Jepara Lampung Timur, Sekolah

Dasar Negeri 1 Labuhan Ratu Dua Way Jepara Lampung Timur dan tamat belajar tahun

2001. Sekolah Tingkat Pertama di SLTP Negeri 1 Way Jepara Lampung Timur dan tamat

tahun 2004. Sekolah Menengah Atas di SMA Negeri 1 Way Jepara Lampung Timur dan

tamat tahun 2007.

(49)

SANWACANA

Puji syukur penulis panjatkan kehadirat Alloh SWT. atas segala rahmat, nikmat dan karunia-Nyalah penulis dapat menyelesaikan skripsi dengan judul “Penerapan Optical Character Recognition (OCR) Untuk Rancang Bangun Aplikasi Translator

Pada Platform Android” sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer di Universitas Lampung.

Dalam kesempatan ini penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada:

1. Bapak Dr. Warsito, DEA selaku Dekan FMIPA Universitas Lampung.

2. Bapak Bapak Machudor Yusman, Ir., M.Kom selaku Ketua Jurusan Ilmu Komputer Universitas Lampung.

3. Ibu Ossy Dwi Endah W., M.T, selaku pembimbing satu. Terima kasih atas segala bimbingan selama ini dalam proses penyelesaian skripsi.

(50)

di Universitas Lampung.

6. Bapak dan Ibu Dosen Program Studi Ilmu Komputer.

7. Ibu dan bapak tercinta yang senantiasa berjuang tanpa kenal lelah dan senantiasa mendoakan yang terbaik untuk anaknya.

8. Sahabat seperjuanganku Sapta Antoni dan Friska Felicia yang sama-sama berjuang dari awal hingga selesainya skripsi ini

9. Sahabat-sahabat di ilmu komputer: sri, wika, nurhayati, fitriawan, anggi, tiara, hendro, gozali, vendo, wiwin, gilang serta rekan-rekan ilmu komputer semuanya yang tidak bisa disebut satu per satu, terima kasih atas kebersamaan dan kenangan indah selama penulis menempuh pendidikan di Unversitas Lampung.

Penulis menyadari bahwa skripsi ini masih jauh dari kesempurnaan, akan tetapi sedikit harapan semoga skripsi ini bermanfaat bagi perkembangan ilmu pengetahuan terutama bagi rekan-rekan Ilmu Komputer. Amin.

Bandar Lampung,16 Mei 2011 Penulis,

Gambar

Gambar 2.1  Ilustrasi Proses OCR
Gambar 2.2 menunjukkan komponen utama dari sistem operasi
Gambar) Citra
Gambar 2.4
+3

Referensi

Dokumen terkait

Saya yang bertanda tangan di bawah ini, menyatakan bahwa skripsi saya yang berjudul “ Android Database Processing Menggunakan SQlite Untuk Racang Bangun Aplikasi

Dengan aplikasi ini dapat membantu mengarsipkan surat dalam bentuk digital (image file) dengan cara memilih surat digital yang diinginkan, lalu aplikasi akan

Berdasarkan permasalahan di atas maka rumusan masalah yang akan diselesaikan pada penelitian ini adalah bagaimana merancang dan membuat suatu aplikasi

Tujuan dari penelitian ini yaitu antara lain: mengimplementasikan tesseract pada aplikasi pengenalan citra nomor sertifikat halal, mengetahui presentase tingkat keakuratan

Berdasarkan permasalahan di atas maka rumusan masalah yang akan diselesaikan pada penelitian ini adalah bagaimana merancang dan membuat suatu aplikasi

Untuk teknologi yang digunakan untuk OCR adalah google vision yang nantinya akan diimplementasikan pada flask api pada server agar fungsinya dapat dipanggil oleh

Melihat permasalahan tersebut, penelitian ini membuat aplikasi Ambulance Online berbasis Android yang dilengkapi dengan layanan informasi geografis dengan

Yaitu dengan membuat aplikasi untuk menjadikan smartphone menjadi server yang memanfaatkan teknologi TCP/IP melalui jaringan Wi-Fi, kemudian perangkat lain di dalam jaringan yang