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

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

Aplikasi translator selain digunakan di PC, kini mulai banyak diterapkan sebagai aplikasi di seluler. Adanya aplikasi ini diharap akan mempermudah


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

OCR dalam hal ini digunakan untuk mengkonversi citra menjadi sebuah teks yang akan diterjemahkan, sedangkan AR digunakan untuk membuat suara pada kata yang telah diterjemahkan. Sehingga dengan adanya AR, translator


(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

3. Penerapan OCR (Optical Character Rrecognition) dalam aplikasi ini hanya untuk mengkonversi citra menjadi tulisan yang akan digunakan untuk proses penerjemahan.


(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

Dalam bab ini meliputi bahasan tentang Latar Belakang, Rumusan Masalah, Batasan Masalah, Tujuan, Manfaat dan Sistematika Penulisan. Latar belakang berisialasan yang mendasari pembuatan aplikasi. Rumusan masalah membahas permasalahan yang dikaji dalam penelitian. Batasan masalah merupakan ruang lingkup yang membatasi permasalahan yang dibahas dalam penelitian. Tujuan dan manfaat penelitian berisi tentang tujuan dan manfaat yang hendak dicapai dari penelitian. Sedangkan Sistematika penulisan berisi tentang garis besar atau kerangka penulisan tugas akhir.


(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

Dalam bab ini berisi kesimpulan hasil penelitian berdasarkan masalah yang dibahas dan saran bagi pembaca atau penelitian berikutnya.


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

Adanya sistem pengenal huruf yang cerdas akan sangat membantu usaha besar-besaran yang saat ini dilakukan banyak pihak yakni usaha digitalisasi informasi dan pengetahuan, misalnya dalam pembuatan koleksi pustaka digital, koleksi sastra kuno digital, dll. Dengan adanya pengenal huruf juga akan memudahkan penanganan pekerjaan yang memakai input tulisan seperti penyortiran surat di kantor pos, pemasukan data buku di perpustakaan, dll. Selain itu adanya sistem pengenal huruf otomatis maka user dapat lebih leluasa memasukkan


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

Dalam metode yang berbasis statistik, setiap pola ditransformasi ke dalam vektor yang memakai ukuran dan karakteristik tertentu. Karakteristik ini seringkali lebih bersifat statistik misalnya distribusi pixel ataupun jarak piksel. Sedang dalam metode yang berbasis struktur, setiap pola yang diproses dinyatakan sebagai gabungan beberapa struktur elementer. Pengenalan selanjutnya dilakukan dengan mencocokkan komposisi struktur elementer dengan struktur


(11)

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

2.1.2 Cara Kerja

Ilustrasi dari proses OCR

Gambar 2.1 Ilustrasi Proses OCR

Prinsip kerja dari aplikasi OCR menurut Manik (2010) adalah sebagai berikut:

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

2. File citra tersebut diproses menggunakan perangkat lunak aplikasi pengenalan teks, di mana perangkat ini melakukan proses pengenalan terhadap karakter-karakter yang ada pada file citra tersebut.

Data Capture

Prepocessing

Segmentation

Normalization

Feature Ekstraction

Recognition

Postprocessing


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

Menurut Sukamto (2010) proses preprocessing meliputi proses-proses berikut:


(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

Proses smoothing menggunakan metode Stentiford Boundary untuk menghilangkan detail dan noise dengan memeriksa keterikatan dengan piksel bernilai 0 dengan piksel yang bernilai 1 dan menghitung tetangga piksel yang bernilai 0. Jika piksel yang sedang dicek memenuhi syarat tidak boleh dihapus, maka piksel ditandai sebagai piksel yang tidak boleh dihapus. Smoothing digunakan untuk meminimalisir derau (noise).


(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

Normalization adalah proses merubah dimensi region tiap karakter dan ketebalan karakter. Dalam OCR, algoritma yang digunakan pada proses ini adalah algoritma Scaling dan Thinning. (Sukamto: 2010).


(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 vertikal)


(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

Android adalah software untuk perangkat mobile yang mencakup sistem operasi, middleware dan key application. SDK Android menyediakan tools dan API diperlukan untuk mengembangkan


(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

Android merupakan suatu set aplikasi inti termasuk email client, program SMS, kalender, peta, browser, kontak, dan lainnya. Semua aplikasi dibuat menggunakan bahasa pemrograman Java. (Developer.android.com: 2012)


(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 format Audio dan video.

Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

Graphic Library termasuk didalamnya SGL dan OpenGL, untuk Tampilan 2D dan 3D.

SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

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)

Setiap aplikasi android berjalan dalam prosesnya sendiri dengan contoh dari mesin virtual Dalvik. Dalvik telah ditulis agar perangkat dapat menjalankan multiple VMs secara efisien. VM Dalvik megeksekusi file dalam Dalvik excutable (.Dex) format


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

2. A rich dan extensible dari Views yang dapat digunakan untuk membangun aplikasi, termasuk list, grids, text boxes, botton, dan sebuah browser web embeddable


(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

Citra atau gambar pada dua dimensi dengan bentuk segi empat berformat horizontal dan vertical yang memiliki warna dan representasi digital. Citra sebagai fungsi menerus dari intensitas cahaya pada bidang dwimatra. Menurut Jain, dkk (1995) Image atau citra merupakan istilah lain dari gambar yang merupakan informasi berbentuk visual.“A picture is more than a thousand words”artinya “sebuah gambar bermakna lebih


(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

Adalah keadaan pada citra dimana terjadi perubahan intensitas dari satu titik ke titik tetangganya. Dengan perubahan intensitas inilah mata seorang sanggup mendeteksi pinggiran atau kontur suatu benda. (Suprianto, Agung: 2009).


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

3. Pengolahan citra merupakan proses awal dari komputer visi. Ada beberapa hal yang penting di dalam pengolahan citra digital, antara lain teknik-teknik pengambilan citra, model citra digital,


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

2. Tahap 2 yang dinamakan dengan Mid-Level Processing (pengolahan tingkat menengah). Pengolahan ini meliputi segmentasi pada citra, deskripsi objek dan klasifikasi objek secara terpisah. Capture (Pengambilan Gambar) Perbaikan Kualitas Citra Proses Representasi Citra


(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

Piksel biasanya direpresentasikan dengan titik-titik yang membentuk sebuah citra. Pada citra digital sebuah piksel adalah bagian terkecil informasi dari sebuah citra. Piksel-piksel yang terhubung (connected pixels) atau piksel-piksel ketetanggaan dapat diilustrasikan sebagai berikut, sebuah pixel P0 pada koordinat i0,j0 dikatakan


(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

Bahasa pemrograman Java menggunakan sintaks yang mirip dengan bahasa C++ namun sintaks pada Java telah banyak diperbaiki, terutama dengan menghilangkan pointer yang rumit dan multiple


(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

Java mempunyai reliabilitas yang tinggi. Kompiler pada Java mempunyai kemampuan mendeteksi error yang lebih baik dibandingkan bahasa pemrograman yang lain. Java mempunyai


(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

Tesseract merupakan sebuah library open source untuk mengenali karakter OCR (Optical Character recognition) yang pada awalnya di


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

4. Pengujian Program yaitu unit program/program individual diintegrasikan menjadi sebuah kesatuan sistem dan kemudian dilakukan pengujian. Dengan kata lain, pengujian ini ditujukan untuk menguji keterhubungan dari tiap-tiap fungsi perangkat lunak untuk menjamin bahwa persyaratan sistem telah terpenuhi. Setelah pengujian sistem selesai dilakukan, perangkat lunak dikirim ke pelanggan/user. (Samantha,DP : 2011).


(35)

5. Operasi dan Pemeliharaan yaitu tahap ini biasanya memerlukan waktu yang paling lama. Sistem diterapkan (di-install) dan dipakai. Pemeliharaan mencakup koreksi dari beberapa kesalahan yang tidak diketemukan pada tahapan sebelumnya, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan. (Samantha,DP : 2011).


(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  HDD 320 GB


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

Gambar 3.1

Proses Kerja Aplikasi Translator

Capture (Pengambilan Gambar)

Objek berupa teks

Pemrosesan Menjadi Sebuah Teks

Proses penerjemahan teks

Proses menerjemahkan teks menjadi Suara


(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

Tahap selanjutnya adalah penerjemahan teks yang dalam aplikasi ini terdapat 2 pilihan menu yaitu bahasa Inggris ke dalam bahasa Indonesia begitu pula sebaliknya. Dalam proses penterjemahan ini dibutuhkan library SQlite yaitu database yang ada diandroid. teks


(39)

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

3.3.5. Pemrosesan Suara

Setelah teks didapat terjemahannya maka tahap selanjutnya adalah pemrosesan output berupa suara. Dalam hal ini dibutuhkan library suara untuk android, pada aplikasi ini menggunakan SpeechSyntetis Data Instaler. Kata yang telah didapat akan dikeluarkan sebagai 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

BANDAR LAMPUNG 2012


(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

Machudor Yusman, Ir., M.Kom NIP. 19570330 198603 1 003


(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

Novita Rellyani 0717032063


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

Penulis diterima di Universitas Lampung pada tahun 2007 sebagai mahasiswa jurusan Matematika Program Studi Ilmu Komputer melalui jalur SPMB. Pada tahun 2010, penulis melakukan Kerja Praktek di PT. CV. Omah IT Yogyakarta.


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

4. Bapak Didik Kurniawan, S.Si, M.T., selaku pembimbing kedua. Terima kasih atas saran, motivasi, bimbingan dan kesabarannya dalam proses penyelesaian skripsi ini.


(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,


(1)

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,


(2)

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

Novita Rellyani 0717032063


(3)

PERSEMBAHAN

Kupersembahkan karyaku ini kepada:

Kedua Orangtuaku tercinta, yang telah mendidik dan membesarkanku serta

mencurahkan segala kasih dan sayangnya


(4)

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.

Penulis diterima di Universitas Lampung pada tahun 2007 sebagai mahasiswa jurusan Matematika Program Studi Ilmu Komputer melalui jalur SPMB. Pada tahun 2010, penulis melakukan Kerja Praktek di PT. CV. Omah IT Yogyakarta.


(5)

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.

4. Bapak Didik Kurniawan, S.Si, M.T., selaku pembimbing kedua. Terima kasih atas saran, motivasi, bimbingan dan kesabarannya dalam proses penyelesaian skripsi ini.


(6)

5. Bapak Dwi Sakethi, S.Si, M.Kom, selaku dosen pembahas. Terima kasih atas segala bimbingan, motivasi dan arahan selama penulis menempuh pendidikan 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,