• Tidak ada hasil yang ditemukan

Pemanfaatan Kamera Pada Ponsel Android Untuk Menerjemahkan Teks Bahasa Jerman ke Dalam Bahasa Indonesia

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pemanfaatan Kamera Pada Ponsel Android Untuk Menerjemahkan Teks Bahasa Jerman ke Dalam Bahasa Indonesia"

Copied!
80
0
0

Teks penuh

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RIYAN HIDAYAT

10110769

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

(2)

DAFTAR ISI

ABSTRAK ... i

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... vii

DAFTAR TABEL ... ix

DAFTAR SIMBOL ... x

DAFTAR LAMPIRAN ... xi

BAB 1 PENDAHULUAN ... 1

1.1LatarBelakangMasalah ... 1

1.2RumusanMasalah ... 2

1.3Maksud dan Tujuan ... 2

1.4Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data ... 3

1.5.2 Metode Pembangunan Perangkat Lunak ... 4

1.5.3 Sistematika Penulisan ... 6

BAB 2 LANDASAN TEORI ... 9

2.1 DefinisiCitra ... 9

2.2 JenisCitra ... 10

2.2.1 Citra Biner ... 10

2.2.2 Citra Greyscale ... 11

(3)

2.3 Pre-Processing ... 12

2.3.1 Metode Luminosity ... 12

2.4 OCR(OpticalCharacterRecognition) ... 13

2.5 MicrosoftTranslator ... 17

2.6 Android ... 18

2.6.1 Arsitektur Android ... 18

2.7 UML ... 22

2.7.1 Use-Case Diagram ... 24

2.7.2 Class Diagram ... 25

2.7.3 Sequance Diagram ... 26

2.7.4 Collaboration Diagram ... 26

2.7.5 Activity Diagram ... 27

2.7.6 Component Diagram ... 28

2.7.7 Deployment Diagram ... 28

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 31

3.1 Analisis ... 31

3.2 Analisis Masalah ... 31

3.3 Analisis Metode ... 31

3.4 Analisis Kebutuhan Non-Fungsional ... 40

3.4.1 Analisis Kebutuhan Perangkat Keras ... 40

3.4.2 Analisis Kebutuhan Perangkat Lunak ... 40

3.4.3 Analisis Pengguna ... 41

3.5 Analisis Kebutuhan Fungsional ... 41

3.5.1 Diagram Use case ... 41

(4)

3.5.4 Diagram Class ... 45

3.5.5 Diagram Sequence ... 46

3.6 Perancangan Sistem ... 48

3.6.1 Rancangan Antarmuka ... 48

3.6.2 Perancangan Jaringan Semantik ... 50

3.6.3 Perancangan Prosedural ... 50

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 53

4.1 Implementasi sistem ... 53

4.1.1 Implementasi Perangkat Keras ... 53

4.1.2 Implementasi Perangkat Lunak ... 53

4.1.3 Implementasi Antarmuka ... 54

4.2 Pengujian Perangkat Lunak ... 56

4.2.1 Rencana Pengujian Black Box ... 56

4.2.2 Kasus Dan Hasil Pengujian Black box ... 57

4.2.3 Kesimpulan Hasil Pengujian Alpha ... 61

4.2.4 Kasus dan Hasil Pengujian Beta ... 61

4.2.6 Hasil Wawancara ... 62

4.2.7 Kuesioner ... 64

4.2.8 Kesimpulan Hasil Pengujian Beta ... 69

BAB 5 KESIMPULAN DAN SARAN ... 70

5.1 Kesimpulan ... 70

5.2 Saran ... 70

(5)

71

hasiswa.Indonesia. [Cited: March 3, 2014.]

[2] Denny. Mahardi., Pengguna Mobile Internet di Indonesia Terus Tumbuh. http://tekno.liputan6.com/read/505926/pengguna-mobile-internet-di-indonesia-terus-tumbuh. [Cited: July 10, 2014.]

[3] Wicaksono. Surya., 7 Hal yang Tak Dimiliki iPhone 5. http://tekno.kompas.com/read/2013/06/10/16555254/7.hal.yang.tak.dimiliki.iphon e.5. [Cited: July 10, 2014.]

[4] Fingas. Jon, Android tops 81 percent of smartphone market share in Q3. http://www.engadget.com/2013/10/31/strategy-analytics-q3-2013-phone-share/. [Cited: March 3, 2014.]

[5] Haryati. Sri, "Research And Development (R&D) Sebagai Salah Satu Model Penelitian Dalam Bidang Pendidikan," Vol. 37, 2012.

[6] Firdaus. Sidik, "Pembangunan Website Di Yayasan Slb-Bc Nike Ardilla,"

Bandung : s.n., 2013.

[7] Lestari. Dewi, "Analisis Dan Implementasi Penghalusan Citra (Image Smoothing) Pada Citra Digital Menggunakan Metode Uniform Smoothing, Gaussian Smoothing, Dan Threshold Smoothing," Bandung : s.n., 2006.

[8] Cook. John, Three algorithms for converting color to grayscale. http://www.johndcook.com/blog/2009/08/24/algorithms-convert-color-grayscale/ [Cited: June 17, 2014.]

[9] B. R. Sofian, "Perbandingan Algoritma Template Matching Dan Feature Extraction Pada Optical Character Recognition," Bandung : s.n., Vol. I, 2012. [10] Faisal, "Perancangan Program Pengenalan Teks Dengan Fuzzy Logic",

Jakarta : s.n., 2009.

[11] Prasetya. Riza, "Pengenalan Plat Nomor Kendaraan Secara Otomatis Untuk Pelanggaran Lalu Lintas," Surabaya

(6)

[13] http://www.microsoft.com/en-us/translator/developers.aspx. [Cited: June 30, 2014.]

[14] Kurniawan. Angga, "Perancangan Aplikasi Rumus-Rumus Fisika Sekolah Menengah Atas Berbasis Mobile Android," Bandung : s.n., 2013.

[15] Prayitno. Wendhie, "Desain Model Sistem Perangkat Lunak Dengan Uml,"

(7)

Status : Belum Kawin

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Kp. Tengah RT/RW 01/03

Kecamatan Cileungsi Kabupaten Bogor

Handphone : 085695096989

E-mail : centuriyan666@gmail.com

RIWAYAT PENDIDIKAN

Formal

1998-2004 : SDN Cileungsi 02

2004-2007 : SMP PGRI Surya Kencana 2007-2010 : SMA Bina Pendidikan 02

(8)

iii

Kamera Pada Ponsel Android Untuk Menerjemahkan Teks Bahasa Jerman Ke Dalam Bahasa Indonesia.

Penyusunan skripsi ini tidak akan terwujud tanpa mendapat dukungan, dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan terimakasih yang sebesar-besarnya kepada :

1. Kedua orang tua dan keluarga besar penulis yang sudah memberikan do’a, dukungan, kasih sayang dan motivasi, sehingga penulis dapat menyelesaikan tugas akhir ini.

2. Bapak Eko Budi Setiawan, S.Kom. M.T. selaku dosen pembimbing, yang telah banyak memberikan arahan, saran dan bimbingan kepada penulis.

3. Bapak dan Ibu dosen Program Studi Teknik Informatika yang telah memberikan ilmu, motivasi dan bantuan kepada penulis.

4. Ibu Kania, M.Si. selaku dosen wali penulis yang telah memberikan banyak bimbingan selama penulis menuntut ilmu.

5. Heriyanto yang telah banyak membantu penulis dalam menyelesaikan tugas akhir ini.

6. Putri Pertiwi Maharani yang telah memberikan semangat selama penulisan tugas akhir.

7. Rizki Abadi, Rendi Ramdhan, Fahmi Reza, Sidik Firdaus, Ahmad Hamdi, Ikhsan Kamil, Gilang Ramdhan dan teman-teman seperjuangan penulis di Jurusan Teknik Informatika yang telah banyak memberikan dukungan selama proses pengerjaan laporan Tugas Akhir ini.

(9)

1

1.1 Latar Belakang Masalah

Jerman merupakan tujuan favorit pelajar dan mahasiswa Indonesia yang berminat belajar ke luar negeri dibandingkan dengan negara-negara lain di Eropa. Program pendidikan yang banyak dipilih adalah kedokteran dan teknik

(engineering), dan berdasarkan data pendidikan global UNESCO 2011, jumlah pelajar Indonesia di Jerman mencapai 1546. Jumlah tersebut menjadikan Jerman

negara yang memiliki pelajar dan mahasiswa Indonesia terbanyak di Eropa[1]. Untuk melanjutkan pendidikan di Negara Jerman, maka para pelajar harus mempelajari bahasa Jerman terlebih dahulu.

Penggunaan kamus bahasa Jerman untuk membantu mempelajari bahasa Jerman tidak efisien, karena harus mencari kata per kata pada kalimat yang

ditemukan di halaman yang berbeda-beda, sehingga membutuhkan waktu lebih untuk menerjemahkan teks yang ditemukan. Perangkat mobile dinilai lebih sederhana dan mudah dibawa, hal tersebut membuat kebanyakan orang Indonesia

memilih mobile untuk kepentingan sehari-hari[2]. Penggunaan aplikasi berbasis

mobile dinilai lebih praktis untuk membantu menerjemahkan teks bahasa Jerman, namun aplikasi kamus bahasa Jerman pada smartphone android, aplikasi tersebut hanya bisa menerjemahkan satu kata saja, sehingga kurang efisien untuk

(10)

Smartphone android semakin menguasai pasar smartphone pada kuartal ke tiga tahun 2013 dengan presentase pengguna mencapai 81,3%. Lalu diikuti oleh

Apple dengan presentase 13,4%, lalu Microsoft dengan 4.1% dan BlackBerry 1.0%[4].

Perangkat lunak OCR (Optical Character Recognition) merupakan perangkat lunak yang dapat mengekstaksi teks pada citra dengan melakukan pemindaian. Untuk menghasilkan teks output yang lebih baik, maka diperlukan proses

grayscaling citra. Grayscaling citra dilakukan menggunakan metode luminosity,

luminosity menghasilkan citra grayscale yang baik. Sehingga hasil dari pengenalan teks menjadi lebih baik.

Berdasarkan permasalahan yang telah dipaparkan, maka solusi yang dapat digunakan untuk membantu para pelajar Indonesia untuk membantu mempelajari

bahasa Jerman adalah dengan membangun suatu aplikasi untuk menerjemahkan teks bahasa Jerman ke dalam bahasa Indonesia menggunakan perangkat lunak

OCR berbasis android.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah disebutkan, maka yang menjadi inti masalah dalam penelitian ini adalah, bagaimana membangun aplikasi yang dapat

(11)

1.3 Maksud dan Tujuan

Berdasarkan permasalahan yang diteliti, maka maksud dari pembuatan penelitian ini adalah untuk membangun suatu aplikasi kamera untuk

menerjemahkan teks bahasa Jerman ke dalam bahasa Indonesia berbasis android.

Sedangkan tujuan yang akan dicapai dalam penelitian ini adalah:

1. Membantu untuk mempelajari bahasa Jerman.

2. Membuat suatu alat bantu untuk menerjemahkan bahasa Jerman ke dalam bahasa Indonesia.

1.4 Batasan Masalah

Batasan-batasan pada ruang lingkup permasalahan dalam pembangunan permainan ini adalah:

1. Aplikasi ini berbasis mobile android.

2. Proses pengenalan teks menggunakan Tesseract.

3. Proses penerjemahan bahasa menggunakan layanan dari Microsoft Translator.

4. Teks yang dapat dikenali hanya terdiri dari satu baris dan berupa teks cetak.

5. Metode yang digunakan untuk proses greyscaling adalah luminosity. 6. Aplikasi ini membutuhkan koneksi internet untuk proses penerjemahan. 7. Aplikasi ini membutuhkan fitur kamera.

1.5 Metodologi Penelitian

(12)

1.5.1 Metode Pengumpulan Data

Pengumpulan data dengan cara studi literatur, yaitu dengan cara mengumpulkan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

1.5.2 Metode Pembangunan Perangkat Lunak

Metode yang digunakan dalam pembuatan aplikasi ini adalah metode

pemodelan perangkat lunak secara waterfall, yang meliputi beberapa proses diantaranya:

1. System Engineering

Fase ini digunakan untuk mencari informasi dari pelajar yang sedang mengikuti kursus bahasa Jerman, lalu merumuskan kebutuhan-kebutuhan dari

pelajar ke dalam sistem yang akan dibuat. Selanjutnya mengkaji tentang cara kerja dan penerapan metode yang digunakan pada sistem dan menentukan kebutuhan minimum yang harus dipenuhi untuk menjalankan aplikasi yang

akan dibuat. Kemudian mempelajari tentang penggunaan tesseract OCR.

2. Analysis

Fase ini diintensifkan dan difokuskan pada analisis perangkat lunak, menentukan kebutuhan fungsional dan non-fungsional yang diperlukan pada perangkat lunak, lalu memutuskan kebutuhan-kebutuhan yang dibutuhkan

untuk membangun perangkat lunak. Kemudian melakukan analisis terhadap

(13)

3. Design

Setelah fase analisis, dilanjutkan dengan fase desain yang digunakan

untuk mengubah kebutuhan-kebutuhan dari hasil analisis menjadi representasi ke dalam bentuk blueprint perangkat lunak seperti membuat rancangan user interface dan layout dari perangkat lunak yang akan dibangun sebelum coding (Implementasi) dimulai.

4. Coding

Fase ini merupakan implementasi dari fase design, langkah awal yang akan dilakukan adalah membuat kode program untuk membuat tampilan awal

perangkat lunak, lalu membuat fungsi untuk melakukan panggilan pada aplikasi kamera, kemudian menerapkan metode luminosity ke dalam kode program, dan menerapkan Tesseractengine ke dalam sistem.

5. Testing

Setelah fase coding dilakukan, maka akan dilakukan pengujian terhadap aplikasi yang sudah dibangun, agar aplikasi bebas dari error dan mendapatkan hasil yang sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Pengujian dilakukan dengan cara memasang aplikasi pada

ponsel android lalu mencoba fungsi-fungsi utama pada aplikasi tersebut seperti mengambil gambar menggunakan kamera.

6. Maintenance

Fase ini digunakan untuk menangani kesalahan yang ditemukan pada aplikasi yang sudah diuji. Selain digunakan untuk memperbaiki kesalahan,

(14)

tidak ditemukan kesalahan pada aplikasi yang diuji maka fase ini dilakukan untuk menambahkan fitur-fitur dan menyempurnakan aplikasi yang sudah

dibuat.

Gambar 1.1 Pemodelan Waterfall[6]

1.5.3 Sistematika Penulisan

Sistematika penulisan disusun untuk memberikan gambaran umum dari

penelitian yang sedang berjalan. Adapun sistematika penulisan ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini menjelaskan tentang latar belakang masalah, rumusan masalah yang mengacu pada inti permasalahan pada latar belakang, maksud dan tujuan yang

mengacu pada rumusan masalah, batasan masalah yang membatasi dalam pembangunan aplikasi, metodologi penelitian yang digunakan selama membangun

aplikasi dan sistematika penulisan.

Sistem Enggineerin

Analysis

Design

Coding

Testing

(15)

BAB II LANDASAN TEORI

Bab ini membahas mengenai landasan teori yang digunakan dalam membangun

aplikasi berbasis mobile, teori-teori umum yang berkaitan dengan sistem operasi android, bahasa pemograman yang digunakan, tools dan perangkat lunak yang digunakan, serta pembahasan mengenai pengertian umum metode yang digunakan dalam pembangunan aplikasi.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Bab ini membahas tentang perancangan umum maupun uraian lebih lanjut mengenai perancangan sistem dalam pembangunan perangkat lunak. Uraian

perancangan sistem ini meliputi perancangan data input dan output sistem, perancangan proses mengenai bagaimana sistem bekerja dengan proses-proses tertentu, maupun perancangan user interface.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini berisi tahap implementasi dari perancangan sebelumnya dan kemudian

melakukan pengujian terhadap aplikasi yang telah dibangun. Pengujian sistem ini akan membahas mengenai hasil dari pengenalan karakter yang dilakukan sistem dan hasil greyscaling menggunakan metode luminosity, lalu membahas tentang cara kerja dan penggunaan aplikasi.

BAB V KESIMPULAN DAN SARAN

(16)
(17)

9 2.1 Definisi Citra

Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus

(continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, dan objek memantulkan kembali sebagian dari berkas cahaya

tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata pada manusia, kamera, pemindai (scanner), sehingga bayangan objek yang disebut citra tersebut terekam.

Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat:

1. Optik berupa foto,

2. Analog berupa sinyal video seperti gambar pada montor televisi, 3. Digital yang dapat langsung disimpan pada pita magnetik.

Citra yang dimaksud disini adalah “citra diam” (still image). Citra diam adalah citra tunggal yang tidak bergerak. Untuk selanjutnya, citra diam disebut

citra saja. Sedangkan “citra bergerak” (moving image) adalah rangkaian citra diam yang ditampilkan secara beruntun (sequential) sehingga memberi kesan pada mata kita sebagai gambar yang bergerak. Setiap citra didalam rangkaian itu disebut

(18)

2.2 Jenis Citra

Nilai suatu pixel memiliki nilai dalam rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari

jenis warnanya. Namun secara umum jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer. Berikut adalah jenis-jenis citra berdasarkan nilai pixelnya.

2.2.1 Citra Biner

Pada citra biner, setiap titik bernilai 0 atau 1, masing-masing merepresentasikan warna tertentu. Warna hitam bernilai 0 dan warna putih bernilai 1. Pada standar citra untuk ditampilkan di layar komputer, nilai biner ini

berhubungan dengan ada tidaknya cahaya yang ditembakkan oleh electron gun

yang terdapat di dalam monitor komputer. Angka 0 menyatakan tidak ada cahaya,

dengan demikian warna yang direpresentasikan adalah hitam. Untuk angka 1 terdapat cahaya, sehingga warna yang direpresentasikan adalah putih. Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik[7].

(19)

2.2.2 Citra Greyscale

Citra skala keabuan memberi kemungkinan warna yang lebih banyak daripada citra biner, karena ada nilai-nilai lain diantara nilai minimum (biasanya

0) dan nilai maksimumnya. Banyaknya kemungkinan nilai minimum dan nilai maksimumnya bergantung pada jumlah bit yang digunakan. Contohnya untuk skala keabuan 4 bit, maka jumlah kemungkinan nilainya adalah 24 = 16, dan nilai

maksimumnya adalah 24 – 1 = 15. Sedangkan untuk skala keabuan 8 bit, maka jumlah kemungkinan nilainya adalah 28 = 256, dan nilai maksimumnya adalah 28

– 1 = 255.

Format citra ini disebut skala keabuan karena pada umumnya warna yang dipakai adalah antara hitam sebagai warna minimal dan warna putih sebagai

warna maksimalnya. Namun pada prakteknya, warna yang dipakai tidak terbatas pada warna abu-abu. Sebagai contoh, jika warna minimalnya adalah putih dan

warna maksimalnya adalah merah, maka semakin besar nilainya, semakin besar pula intensitas warna merahnya[7].

Gambar 2.2 Citra grayscale 4-bit dan representasinya dalam data digital

2.2.3 Citra Warna

Pada citra warna, setiap titik mempunyai warna spesifik yang merupakan

(20)

intensitas sendiri dengan nilai maksimum 255 (8 bit). Misalnya warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB-nya adalah 255

255 0, sedangkan warna ungu muda nilai RBG-nya adalah 150 0 150. Dengan demikian, setiap titik pada citra warna membutuhkan data 3 byte atau 24 bit.

Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada. Inilah sebabnya format ini dinamakan true color[7].

Gambar 2.3 Citra warna dan representasinya dalam data digital

2.3 Pre-Processing

Pre-processing perlu dilakukan untuk menyesuaikan apa yang dibutuhkan untuk proses selanjutnya. Yang pertama sistem akan merubah citra berwarna

menjadi citra greyscale dengan metode luminosity.

2.3.1 Metode Luminosity

(21)

hijau diberikan nilai tertimbang paling banyak. Rumus untuk luminosity adalah 0,21 R + 0,72 G + 0,07 B[8].

Proses tersebut dilakukan pada setiap piksel pada citra, dengan cara ini maka setiap piksel memiliki satu jenis warna dengan intensitas yang berbeda-beda.

2.4 OCR (Optical Character Recognition)

Optical character recognition (OCR) merupakan aplikasi dari teknologi pengenalan teks, yaitu suatu teknologi yang mampu mengenali teks pada citra digital dan mengalihkannya pada dokumen digital. Dalam perkembangannya, aplikasi OCR sering kali digunakan pada berbagai jenis dokumen, dimana

beberapa dokumen memiliki ukuran font yang berbeda satu sama lain. Hal ini menyebabkan aplikasi OCR yang ada menjadi kurang maksimal dalam mengenli

teks.

OCR adalah proses yang menerjemahkan gambar karakter (image character) menjadi bentuk teks dengan cara mencocokkan pola karakter per-baris dengan pola yang telah tersimpan dalam database aplikasi. Hasil dari proses OCR adalah berupa teks sesuai yang tampak pada gambar output scanner dimana tingkat keakuratan penerjemahan karakter tergantung dari tingkat kejelasan gambar[9].

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

1. Kualitas gambar teks yang ada pada dokumen yang dibaca serta tingkat

(22)

3. Kualitas perangkat lunak aplikasi pengenalan teks itu sendiri[10].

Pada proses pengolahan gambar dengan OCR terdapat beberapa langkah

yaitu, segmentation, normalization, feature extraction, recognition, dan hasil. Langkah segmentation bertujuan untuk memisahkan objek pada gambar dengan latar belakang agar mudah untuk dianalisis. Langkah normalization bertujuan untuk mengubah ukuran gambar dan melakukan proses morfologi untuk menghapus piksel forground yang terpilih dari gambar biner. Langkah feature extraction berfungsi sebagai image analysist untuk mengidentifikasi sifat yang melekat pada tiap karakter. Hasil dari langkah feature extraction akan digunakan dalam langkah rocognition sehingga menghasilkan output[11].

Gambar 2.4 Proses Pengenalan Karakter Segmentation

Normalization

Feature Extraction

Recognition

(23)

Tesseract adalah mesin OCR open-source yang dikembangkan oleh HP pada tahun 1984 – 1994. Pada saat ini, untuk pertama kalinya, detail arsitektur dan

algoritma dipublikasikan. Tesseract dimulai sebagai sebuah proyek penelitian seorang PhD di HP Labs, Bristol, dan mendapatkan momentum sebagai perangkat

lunak dan add-on perangkat keras untuk lini HP scanner flatbed. Proyek ini termotivasi oleh fakta bahwa mesin OCR komersial pada saat itu berada di tahap awal, gagal total dan hanya mementingkan kualitas cetak terbaik.

Setelah proyek bersama antara HP Labs Bristol, dan Divisi scanner HP di Colorado, Tesseract memimpin secara signifikan dalam akurasi yang lebih baik

dibandingkan dengan mesin OCR komersial, tetapi Tesseract tetap tidak menjadi suatu produk. Tahap selanjutnya dari perkembangannya adalah kembali ke HP Labs Bristol untuk investigasi OCR sebagai alat kompresi. Pengembangan lebih

berkonsentrasi pada peningkatan rejection efficiency dari pada tingkat akurasi. Pada akhir proyek ini, pada akhir tahun 1994, pembangunan berhenti sepenuhnya.

(24)

Gambar 2.5 Arsitektur Tesseract 1. Adaptive Thresholding

Proses ini digunakan untuk merubah citra warna atau greyscale yang menjadi

citra masukan menjadi citra biner. Tujuannya adalah untuk memisahkan

background dan foreground.

2. Connected Component Analysis

Proses ini digunakan untuk melakukan proses segmentasi teks yang ada pada citra menjadi karakter yang nantinya akan dikenali.

3. Find Lines and Words

Proses ini digunakan untuk mencari baris teks pada suatu citra.

4. Recognize Word Pass 1

(25)

5. Recognize Word Pass 2

Proses terakhir adalah proses pengenalan kembali dari keseluruhan halaman

pada citra untuk memperbaiki hasil pengenalan tahap pertama.

2.5 Microsoft Translator

Microsoft Translator adalah layanan web yang berfungsi untuk

menerjemahkan teks dari bahasa satu ke bahasa lain. Microsoft Translator menyediakan API yang dapat digunakan oleh para develover untuk mengambil keuntungan dari teknologi mesin penerjemahan ini dalam aplikasi yang dibuat

sendiri, layanan API ini dapat dipanggil menggunakan banyak cara, termasuk HTTP SISA Service, layanan AJAX-callable dan Layanan SOAP Web.

Microsoft Translator API tersedia di Windows Azure Marketplace. Untuk menggunakan Microsoft Translator API para developer harus berlangganan terlebih dahulu ke Windows Azure Marketplace dan membayar layanan tersebut berdasarkan jumlah karakter teks yang dikirimkan ke API setiap bulannya[13].

Contoh dari metode yang disediakan oleh API untuk para developer adalah sebagai berikut:

1. Translate: Teks diterjemahkan dari satu bahasa ke bahasa lain

2. TranslateArray: Menerjemahkan berbagai teks dari satu bahasa ke bahasa lain 3. Detect: Mendeteksi bahasa pada string

4. Detect Array: Mendeteksi bahasa pada string array

5. GetTranslations: Mengembalikan sebuah array terjemahan alternatif untuk teks 6. GetTranslationsArray: Mengembalikan sebuah array terjemahan alternatif

(26)

2.6 Android

Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan

aplikasi mereka sendiri untuk digunakan oleh bermacam piranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,

dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,

Qualcomm, T-Mobile, dan Nvidia.

2.6.1 Arsitektur Android

Google menggambarkan Android seperti sebuah tumpukan software. Setiap lapisan dari tumpukan ini terdiri dari beberapa program yang mendukung

fungsi-fungsi spesifik dari sistem operasi. Dalam paket sistem operasi android tediri dari beberapa unsur seperti tampak pada gambar 2.6. Secara sederhana arsitektur android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam

(27)

Gambar 2.6 Arsitektur android[14]

Berikut adalah penjelasan mengenai masing-masing lapisan pada arsitektur

android:

1. Linux Kernel

Android dibangun di atas kernel Linux. Namun secara keseluruhan android

bukanlah linux, karena dalam android tidak terdapat paket standar yang dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal dalam

(28)

2. Libraries

Android menggunakan beberapa paket pustaka yang terdapat pada C/C++

dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

1. Media Library untuk memutar dan merekam berbagai macam format audio dan video.

2. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

3. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan 2D dan 3D.

4. SQLite untuk mengatur relasi database yang digunakan pada aplikasi. 5. SSl dan WebKit untuk browser dan keamanan internet.

Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun

hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi Android 1.5, pengembang dapat membuat dan menggunakan pustaka sendiri

menggunakan Native Development Toolkit (NDK). 3. Android Runtime

Pada android tertanam paket pustaka inti yang menyediakan sebagian besar

fungsi android. Inilah yang membedakan Android dibandingkan dengan sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime merupakan

(29)

1. Pustaka Inti, android dikembangkan melalui bahasa pemrograman Java, tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti android

menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta beberapa pustaka khusus android.

2. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin

virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex). Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan

dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan manajemen memori yang terbatas.

4. Aplication Framework

Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi android. Selain itu, juga menyediakan abstraksi untuk mengakses perangkat, serta mengatur tampilan User Interface dan sumber daya aplikasi. 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.

(30)

3. Resource Manager berfungsi untuk mengatur sumber daya yang ada dalam program. Seperti karakter, grafik dan file layout.

4. Location Manager, berfungsi untuk memberikan informasi detail mengenail lokasi perangkat android berada.

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

5. Aplication Layer

Puncak dari diagram arsitektur android adalah lapisan aplikasi dan widget.

Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna ketika menjalankan program. Pengguna hanya akan melihat program ketika digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan ini berjalan

dalam Android runtime dengan menggunakan kelas dan service yang tersedia pada Framework aplikasi. Lapisan aplikasi android sangat berbeda dibandingkan

dengan sistem operasi lainnya. Pada android semua aplikasi, baik aplikasi inti (native) maupun aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka API (Application Programming Interface) yang sama.

2.7 UML

UML adalah kependekan dari Unified Modeling Language yang merupakan suatu cara untuk menyelesaikan suatu masalah dengan mendeskripsikannya yang telah menjadi standar dalam dunia industri untuk memvisualisasikan, merancang

(31)

lunak, yang mana aplikasi yang dibangun dapat berjalan pada perangkat lunak dengan sistem operasi dan jaringan apapun. Selain itu, dengan menggunakan

UML, programmer dapat mengerti, memahami dengan jelas maksud, tujuan dan arah rancangan sistem, sehingga sistem perngakat lunak yang dirancang dapat

dibangun dengan bahasa program apapun. Namun karena UML merupakan suatu model pengembangan sistem perangkat lunak yang berbasis object oriented sehingga menggnuakan bentuk class dan operation dalam konsep dasarnya, maka

lebih cocok dalam pemrogramannya dengan menggunakan bahasa-bahasa pemrograman yang berbasis OOP (Object Oriented Programming) seperti C, C++, Java, VB dan lain sebagainya.

Secara lebih mendalam, UML lebih dari sekedar sebuah standard dan penemuan dari suatu notasi-notasi yang disatukan, tetapi juga berisi

konsep-konsep baru yang menarik yang tidak ditemukan secara umum dalam komunitas object oriented. Dalam membangun suatu model perangkat lunak dengan UML,

digunakan bentuk-bentuk diagram atau symbol untuk merepresentasikan elemen-elemen dalam sistem. Bentuk diagram yang digunakan untuk merepresentasikannya adalah sebagai berikut[8]:

(32)

2.7.1 Use-Case Diagram

Use-case diagram merupakan suatu bentuk diagram yang menggambarkan fungsi-fungsi yang diharapkan dari sebuah sistem yang dirancang. Dalam Use-case diagram penekanannya adalah “apa” yang diperbuat oleh sistem, dan bukan

bagaimana”. Sebuah use-case akan merepresentasikan sebuah interaksi antara pelaku atau actor dengan sistem.

Use-case diagram yang digunakan dalam mercancang suatu sistem dapat sangat membantu pada saat menyusun requirement sebuah sistem, mengomunikasikannya dengan klien, dan merancang pengujian untuk semua fitur yang terdapat dalam sistem. Dalam suatu sistem aplikasi database, use-case diagram sangat membantu requierement apa saja yang diperlukan.

(33)

2.7.2 Class Diagram

Sebuah ClassDiagram menunjukkan struktur yang statis dari beberapa class dalam suatu sistem. Class-class merepresentasikan suatu keadaan (atribut/properti) dan yang akan dikerjakan oleh sistem (metoda/fungsi). Class memiliki tiga area pokok:

1. Nama (dan stereotype) 2. Atribut

3. Metoda

Atribut dan metoda dalam class diagram dapat memiliki salah satu sifat seperti berikut di bawah ini:

1. Private, hanya dapat diakses oleh class itu sendiri.

2. Protected, hanya dapat diakses oleh class itu sendiri dan turunan dari class tersebut.

3. Public, dapat diakses oleh class selain dari class yang bersangkutan.

Class dapat direpresentasikan dalam sebuah interface atau sebaliknya merupakan implementasi dari sebuah interface yang berupa class abstrak yang hanya tidak memiliki attribute dan hanya memiliki metoda. Berikut merupakan bentuk class diagram secara umum:

(34)

2.7.3 Sequance Diagram

Sequence Diagram merupakan diagram yang mengambarkan kolaborasi yang dinamis antara obyek satu dengan yang lain. Kolaborasi ini ditunjukkan

dengan adanya interaksi antar obyek di dalam dan di sekitar sistem yang berupa pesan atau instruksi yang berurutan.

Sequence diagram umumnya digunakan untuk menggambarkan suatu skenario atau urutan langkah-langkah yang dilakukan baik oleh actor maupun sistem yang merupakan respon dari sebuah kejadian untuk mendapatkan hasil atau

output.

Gambar 2.9 Contoh Sequance Diagram[15]

2.7.4 Collaboration Diagram

(35)

Gambar 2.10 Contoh Collaboration Diagram[15]

2.7.5 Activity Diagram

Sebuah Activity Diagram menunjukkan suatu alur kegiatan secara berurutan.

Activity Diagram digunakan untuk mendiskripsikan kegiatan-kegiatan dalam sebuah operasi meskipun juga dapat digunakan untuk mendeskripsikan alur kegiatan yang lainnya seperti use case atau suatu interaksi.

(36)

2.7.6 Component Diagram

Component Diagram menunjukkan struktur dan hubungan antar komponen

software termasuk ketergantungan (dependency) diantara komponen-komponen tersebut. Komponen pada piranti lunak adalah berupa modul-modul yang berisikan code, baik library maupun executable. Umumnya komponen yang terbentuk dari beberapa class dan/atau package, atau juga dapat dari komponen-komponen yang lebih kecil.

Gambar 2.12 Component Diagram[15]

2.7.7 Deployment Diagram

Deployment Diagram menunjukkan arsitektur fisik pada hardware dan

(37)
(38)

31 3.1 Analisis

Analisis bertujuan untuk mengidentifikasi permasalahan-permasalahan yang terdapat pada sistem serta menentukan kebutuhan-kebutuhan dari sistem yang dibangun. Analisis tersebut meliputi analisis masalah, analisis kebutuhan

non-fungsional, dan analisis kebutuhan fungsional.

3.2 Analisis Masalah

Berdasarkan penelitian yang dilakukan, permasalahan yang terjadi dapat

dirumuskan sebagai berikut:

1. Keyboard standar yang tersedia pada ponsel android tidak menyediakan huruf Jerman. Sehingga pengguna tidak bisa menginputkan teks

non-digital dengan bahasa Jerman.

2. Penggunaan kamus tidak efisien jika menterjemahkan satu baris kalimat.

3.3 Analisis Metode

(39)

1. Take Picture

Tahap ini merupakan tahap awal yang digunakan untuk mengambil gambar

melalui kamera yang terpasang pada perangkat android, sebagai inputan yang akan diproses oleh tahap berikutnya.

2. Cropping

Tahap ini berfungsi untuk memotong gambar yang telah diambil oleh

pengguna. Tahap cropping perlu dilakukan untuk memfokuskan gambar pada area teks saja agar tidak ada objek selain teks yang akan dikenali oleh

Take Picture

Cropping

Grayscaling

Character Recognition

Translating Text Output

Text Output

End

(40)

OCR. Pengguna menentukan sendiri area teks pada gambar untuk dipotong, agar ukuran gambar lebih kecil sehingga mempercepat proses penengenalan

karakter. Proses pemotongan gambar menggunakan fungsi yang sudah ada pada perangkat android. Berikut adalah kode untuk memanggil fungsi crop.

3. Grayscaling

Citra berwarna yang sudah terpotong, selanjutnya akan dibuat menjadi citra

grayscale. Metode yang digunakan untuk proses grayscaling adalah

luminosity. Formula untuk metode luminosity adalah 0.21 R + 0.72 G + 0.07 B. Berikut adalah langkah-langkah pada metode luminosity.

Metode luminosity melakukan perulangan pada setiap piksel untuk mencari nilai piksel tersebut. Warna pada setiap piksel akan direpresetasikan ke

dalam bentuk desimal yaitu 0-255. Berikut adalah contoh citra berwarna.

Metode luminosity melakukan perulangan pada setiap piksel untuk mencari nilai piksel tersebut. Warna merah murni (pure red) pada gambar di atas memiliki nilai R=255, G=0, B=0, warna hijau murni (pure green) memiliki nilai R=0, G=255, B=0, sedangkan warna ungu memiliki nilai R=255, B=255, G=0, dan piksel terakhir berwarna kuning, memiliki nilai R=255,

(41)

B=0, G=255, maka nilai-nilai tersebut akan dikalikan dengan formula yang

sudah ditentukan sebagai berikut:

1. Merah = 0.21*255 + 0.72*0 + 0.07*0 = 54 + 0 + 0 = 54 2. Hijau = 0.21*0 + 0.72*255 + 0.07*0 = 0 + 184 + 0 = 184 3. Ungu = 0.21*255 + 0.72*0 + 0.07*255 = 54 + 0 + 18 = 72

4. Kuning = 0.21*255 + 0.72*255 + 0.07*0 = 54 + 184 + 0 = 238

Citra yang berwarna akan digantikan dengan citra grayscale sesuai dengan nilai yang sudah didapatkan melalui perhitungan di atas. Berikut adalah citra

grayscale yang dihasilkan.

Gambar 3.3 Citra Hasil Grayscaling Berikut adalah contoh citra grayscale

Gambar 3.4 Contoh Citra Grayscale 4. Character Recognition

Proses pengenalan karakter menggunakan layanan yang sudah ada, yaitu

(42)

Gambar 3.5 Proses Pengenalan Karakter A.Preprocessing

Berikut adalah beberapa proses yang terdapat pada tahap preprocessing:

1. Segmentasi Citra

Segmentasi citra dilakukan utnuk memisahkan background dengan

foreground dengan merubah citra grayscale menjadi citra biner menggunakan metode otsu. Berikut adalah penjelasan mengenai metode otsu

Contoh citra masukan adalah citra grayscale dengan matriks 2x2.

Gambar 3.6 Citra Masukan

(43)

adalah 54, 72, 184, 238. Di bawah ini merupakan histogram dari citra

masukan.

Gambar 3.7 Histogram Citra Masukan

Selanjutnya mencari nilai weight, mean dan variance background dengan rumus sebagai berikut:

Wb = Jumlah piksel background / total piksel pada citra = (1+1) / 4 = 0.5

Mb = (derajat keabuan n * jumlah piksel derajat keabuan n) / total piksel background

Selanjutnya mencari nilai weight, mean dan variance foreground dengan rumus sebagai berikut:

Wf = Jumlah piksel foreground / total piksel pada citra = (1+1) / 4 = 0.5

(44)

= (184 * 1) + (238 * 1) / 2 = 211

Vf = ((derajat keabuan n – Mf)^2 * jumlah piksel derajat keabuan n) / jumlah piksel foreground

= ((184 – 211)^2 * 1) + ((238 – 211)^2 * 1) / 2 = 729

Langkah terakhir adalah mencari nilai Within Class Variance dengan rumus sebagai berikut:

Wb*Vb + Wf*Vf = 0.5*81 + 0.5*729 = 405 Berikut adalah contoh dari citra biner

Gambar 3.8 Contoh Citra Biner

2. Segmentasi Karakter

Segmentasi karakter dilakukan untuk menemukan teks pada gambar

dan memotongnya menjandi karakter. Segmentasi karakter dilakukan dengan menggunakan metode Connected component analysis.

(45)

Gambar 3.9 Connected Compenent Analysis B. Proses Pengenalan

Hasil dari segmentasi karakter akan diproses untuk dicocokan dengan data yang sudah ada pada database tesseract. Algoritma fuzzy menilai tingkat kebenaran dari setiap karakter. Berikut adalah ilustrasi dari algoritma fuzzy logic.

(46)

Fuzzification: mengubah masukan-masukan yang nilai kebenarannya

bersifat pasti (crisp input) ke dalam bentuk fuzzy input.

Inference: melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output. Secara sintaks, suatu fuzzy rule (aturan fuzzy) dituliskan sebagai

IF antecendent THEN consequent

Defuzzification: mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.

5. Text Output

Hasil pengenalan karakter oleh OCR akan dikirim kembali ke aplikasi berupa file teks dengan bahasa Jerman yang selanjutnya akan diterjemahkan ke dalam bahasa Indonesia.

6. Translating

Proses penterjemahan teks menggunakan layanan dari Microsoft Translator.

Microsoft Translator secara otomatis menterjemahkan hasil pengenalan karakter tanpa menunggu perintah dari pengguna.

7. Text Output

(47)

3.4 Analisis Kebutuhan Non-Fungsional

Analisis kebutuhan non-fungsional terdiri dari analisis perangkat keras, perangkat lunak dan pengguna yang menggunakan aplikasi yang akan dibangun.

3.4.1 Analisis Kebutuhan Perangkat Keras

Kebutuhan perangkat keras untuk menjalankan aplikasi ini adalah

smartphone Android yang memiliki beberapa spesifikasi utama sebagai berikut: 1. Sistem operasi Android v4.0 (Ice Cream Sandwich).

2. Kamera 3 MP, untuk keperluan pengambilan gambar yang dilakukan secara langsung.

3. Tampilan layar sentuh, untuk keperluan pemotongan gambar yang dilakukan secara manual.

4. Media penyimpanan eksternal, untuk keperluan menyimpan gambar yang dihasilkan oleh program aplikasi.

5. Koneksi internet.

3.4.2 Analisis Kebutuhan Perangkat Lunak

Perangkat lunak yang dipakai dalam pengembangan aplikasi, diantaranya

adalah sebagai berikut:

1. Sistem Operasi Windows 7 Home Edition.

2. Java Development Kit versi 1.8.0, untuk keperluan kompilasi kode-kode program.

3. Eclipse IDE 3.7, digunakan sebagai perangkat lunak untuk membangun aplikasi android.

(48)

5. Android Development Tool, sebagai plugin untuk mengintegrasikan Android SDK pada eclipse.

6. Tesseract digunakan untuk pengenalan teks pada citra dan proses ekstraksi teks.

7. Microsoft translator java API, digunakan untuk mengintegrasikan aplikasi dengan layanan Microsoft Translator, sehingga aplikasi dapat menerjemahkan teks dengan bahasa Jerman ke bahasa Indonesia.

3.4.3 Analisis Pengguna

Aplikasi yang akan dibangun diperuntukan bagi pengguna smartphone

Android di Indonesia, khususnya bagi pelajar Indonesia yang sedang melanjutkan pendidikan di negara Jerman dan kurang begitu memahami bahasa Jerman. Aplikasi ini juga dapat difungsikan sebagai kamus untuk mengenal berbagai

macam kata yang ditulis menggunakan bahasa Jerman, sehingga tidak menutup kemungkinan dapat dipakai oleh berbagai kalangan.

3.5 Analisis Kebutuhan Fungsional

Kebutuhan fungsional meliputi beberapa diagram UML, diantaranya: diagram use case, diagram activity, diagram class dan diagram sequence. Diagram tersebut dipergunakan sebagai desain rancangan untuk mempermudah proses

pengembangan aplikasi khususnya untuk aplikasi yang dikembangkan menggunakan pemrograman berorientasi objek.

3.5.1 Diagram Use case Diagram Use case

Pada sistem aplikasi yang dirancang terdapat tiga buah use case dan satu

(49)

Gambar 3.11 Diagram Use case

Deskripsi Use case

Tabel 3.1 Use case Take Picture

Reaksi Aktor Reaksi Sistem

Skenario Normal

1. Mengklik button Take Picture

2. Menampilkan aplikasi kamera yang

terpasang di perangkat

3. Memilih aplikasi kamera

4. Menjalankan aplikasi kamera yang

dipilih

5. Mengambil gambar

6. Menampilkan gambar yang diambil

7. Mengklik tombol yes/ok

8. Menyimpan gambar yang diambil

Skenario Alternatif

1. Mengklik tombol retake

2. Mengulangi pengambilan gambar

3. Mengklik tombol cancel

(50)

Tabel 3.2 Use case Cropping

Reaksi Aktor Reaksi Sistem

Skenario Normal

1. Menampilkan hasil gambar yang

diambil

2. Menentukan area yang akan dipotong

3. Mengklik tombol crop

4. Melakukan proses cropping

5. Menyimpan gambar

Skenario Alternatif

1. Mengklik tombol cancel

2. Mengembalikan ke menu utama

aplikasi

Tabel 3.3 Use case Output

Reaksi Aktor Reaksi Sistem

1. Menampilkan hasil pengenalan teks

2. Mengirimkan hasil pengenalan ke

layanan Microsoft Translator

3. Menampilkan teks hasil penerjemahan

3.5.3 Activity Diagram

Activity diagram digunakan untuk menggambarkan alur rangkaian proses yang terjadi di dalam sistem aplikasi serta menjelaskan bagaimana sebuah use case terjadi atau dipicu dari use case yang lain

1. Activity Diagram Take Picture

(51)

Gambar 3.12 Activity Diagram Take Picture 2. Activity Diagram Cropping

Berikut adalah proses pemotongan gambar yang digambarkan dengan

diagram aktivitas.

Gambar 3.13 Activity Diagram Cropping

User Sistem

Menampilkan menu utama Mengklik button Take Picture

Menjalankan aplikasi kamera yang dipilih Mengambil gambar

Lanjutkan proses? Tidak

Menyimpan Gambar Ya

Menampilkan aplikasi kamera yang terpasang di perngkat android Memilih aplikasi kamera

Menampilkan gambar yang diambil Retake

User Sistem

Menampilkan hasil gambar yang diambil Menentukan area yang akan dipotong

(52)

3. Activity Diagram Output

Berikut adalah aktifitas dari hasil pengenalan teks menggunakan OCR yang kemudian hasil pengenalan tersebut dikirimkan kelayanan Microsoft Translator untuk diterjemahkan.

Gambar 3.14 Activity Diagram Output

3.5.4 Diagram Class

Diagram Class digunakan untuk menggambarkan secara abstrak struktur dari aplikasi yang akan dibangun, class-class yang terlibat, serta hubungan antar

class untuk saling berkomunikasi satu sama lain.

Sistem

Menamplkan teks hasil pengenalan

Mengirimkan teks ke layanan Microsoft Translator

(53)

Gambar 3.15 Diagram Class

3.5.5 Diagram Sequence

Diagram sequence menggambarkan urutan aktifitas yang terjadi di dalam sistem. Diagram ini menunjukkan pengiriman pesan-pesan yang melewati objek yang terlibat di dalam sistem serta tahapan langkah yang harus dilalui untuk

(54)

Gambar 3.16 Diagram Sequance

User MainActivity Preprocessing TessBaseAPI

1 : Mengklik Take Picture()

2 : CaptureImage()

3 : Memilih aplikasi kamera()

4 : openCamera()

5 : Mengambil gambar()

6 : cropImage()

7 : croppedDir()

8 : greyscale()

9 : greyImage()

10 : greyDir()

11 : setImage()

12 : setPageSegMode()

13 : setRectangle()

14 : getRegion()

15 : getText()

16 : getTextLine()

17 : getWord()

18 : getInitLanguageAsString()

19 : setOCRText() 20 : myAsyncTask()

(55)

3.6 Perancangan Sistem

Sistem yang akan dibangun dari aplikasi berbasis mobile android ini memiliki fungsi utama untuk melakukan proses pengolahan citra. Sedangkan untuk proses pengenalan teks dan penerjemahan akan memanfaatkan dua layanan

yang sudah ada, yaitu Tesseract dan Microsoft Translator. Citra yang dapat dikenali oleh layanan Tesseract berupa citra yang berwarna hitam dengan latar

belakang berwarna putih. Oleh karena itu, tujuan dari pengolahan citra yang dikerjakan oleh program aplikasi ialah untuk menghasilkan citra yang bisa dikenali oleh layanan OCR tersebut.

3.6.1 Rancangan Antarmuka

Sistem dari aplikasi yang akan dibangun memiliki satu buah tampilan utama, yaitu tampilan Menu Utama. Tampilan Menu Utama digunakan untuk mengambil sumber foto yang ingin diolah, hasil pengenalan karakter dan hasil

terjemahan teks.

1. Tampilan Utama Aplikasi

Gambar 3.17 Tampilan Utama Aplikasi Navigator

(56)

2. Tampilan Antarmuka Pengambilan Gambar

Gambar 3.18 Tampilan Antarmuka Pengambilan Gambar

3. Tampilan Antarmuka Pemotongan Gambar

Gambar 3.19 Tampilan Antarmuka Pemotongan Gambar

F2 Navigator

1. Klik tombol kamera untuk menuju F3

2. Klik tombol back pada ponsel android untuk kembali ke F1

F3

Gambar

Crop

Cancel Navigator

1. Klik tombol crop untuk menuju F1 dengan hasil pengenalan karakter 2. Klik tombol cancel untuk

(57)

3.6.2 Perancangan Jaringan Semantik

Jaringan semantik menggambarkan hubungan navigasi menu dari satu halaman ke halaman lainnya (dari form satu ke form lainnya). Berikut adalah

gambaran jaringan semantik yang ada pada aplikasi yang akan dibangun.

Gambar 3.20 Jaringan Semantik

3.6.3 Perancangan Prosedural

Perancangan prosedural digunakan untuk menggambarkan langkah-langkah atau alur dari setiap proses yang ada pada sistem. Berikut adalah rancangan

prosedural dari aplikasi yang akan dibangun.

F1 F2

(58)

1. Proses Pengambilan Gambar

Gambar 3.21 Flowchart Proses Pengambilan Gambar Ya

Tidak

Mulai

Mengambil Gambar

Lanjutkan Proses?

Menyimpan Gambar

(59)

2. Cropping

Mulai

Menentukan area yang akan dipotong

Lanjutkan Proses?

Menyimpan Gambar

Selesai Memotong gambar Tidak

Ya

(60)

3. Grayscaling

Gambar 3.23 Flowchart Grayscaling Mulai

Selesai Grayscaling

(61)

53 4.1 Implementasi sistem

Dalam bab ini akan dilakukan implementasi dan pengujian terhadap sistem yang telah dibangun. Tahapan ini dilakukan setelah analisis dan perancangan selesai dilakukan, kemudian diimplementasikan pada bahasa pemrograman yang

digunakan. Setelah implementasi, dilakukan pengujian sistem dimana akan dilihat kekurangan pada sistem yang telah dibangun, untuk dilakukan perbaikan maupun

pengembangan terhadap sistem tersebut.

4.1.1 Implementasi Perangkat Keras

Perangkat keras yang digunakan untuk mengimplementasikan program ini

adalah smartphone android dengan spesifikasi sebagai berikut: 1. Processor : 1 GHz

2. RAM : 512 MB

3. GPU : PowerVR

4. Penyimpanan : 2 GB

5. Kamera : 5 Mp

4.1.2 Implementasi Perangkat Lunak

Perangkat lunak yang digunakan untuk mengimplementasikan program ini adalah sebagai berikut:

(62)

4.1.3 Implementasi Antarmuka

Pada bagian implementasi antarmuka ini akan diimplementasikan

antarmuka dari aplikasi yang telah dibangun. Aplikasi yang dibangun hanya memiliki 3 tampilan, yaitu menu utama, form kamera dan form cropping.

4.1.3.1 Implementasi Antarmuka Menu Utama

Menu utama pada aplikasi yang dibangun hanya memiliki 1 tombol, yaitu tombol untuk membuka aplikasi kamera yang terpasang pada perangkat android

dan terdapat 2 textview yang berfungsi untuk menampilkan teks hasil pengenalan dan teks hasil penerjemahan. Berikut adalah tampilan antarmuka menu utama

pada aplikasi ini.

Gambar 4.1 Antarmuka Menu Utama

4.1.3.2 Implementasi Antarmuka Form Kamera

Tampilan selanjutnya adalah antarmuka kamera. Antarmuka kamera bisa

(63)

digunakan untuk mengambil gambar. Berikut adalah tampilan antarmuka aplikasi kamera default.

Gambar 4.2 Antarmuka Form Kamera

4.1.3.3 Implementasi Antarmuka Form Cropping

Form cropping pada aplikasi ini muncul secara otomatis setelah user

melakukan proses pengambilan gambar. Berikut adalah tampilan antarmuka pada saat proses cropping.

(64)

Tabel 4.1 Implementasi Antarmuka

No Menu Deskripsi

1. Form Menu Utama Digunakan untuk masuk ke form

kamera.

2 Form Kamera Digunakan untuk mengambil gambar.

3 Form Cropping Digunakan untuk menentukan area

dari gambar yang sudah diambil untuk

dipotong (crop)

4.2 Pengujian Perangkat Lunak

Pengujian yang digunakan untuk menguji aplikasi ini dilakukan dengan

cara alpha menggunakan metode pengujian secara black box dan pengujian beta dengan cara sistem diuji langsung oleh pengguna dengan cara melakukan

wawancara dan memberikan keusioner.

4.2.1 Rencana Pengujian Black Box

Rencana pengujian yang akan dilakukan dengan menggunakan black box dapat diliat pada tabel 4.2.

Tabel 4.2 Rencana Pengujian

Kelas Uji Butir Uji Jenis Pengujian

Menguji proses pengambilan

gambar

Menguji proses pengambilan

gambar

Black box

Menguji proses cropping Menguji proses cropping Black box

Mengecek hasil pengenalan

karakter

Mengecek hasil pengenalan karakter Black box

(65)

4.2.2 Kasus Dan Hasil Pengujian Black box

Berdasarkan rencana pengujian, maka dapat dilakukan pengujian Black box pada aplikasi ini adalah sebagai berikut:

1. Pengujian Proses Pengambilan Gambar

Mengecek penggunaan kamera pada perangkat android untuk mengambil gambar sebagai inputan awal. Dari hasil uji proses pengambilan gambar yang kemudian diamati dan menghasilkan kesimpulan dari pengujian tersebut dapat dilihat pada

tabel 4.3

Tabel 4.3 Pengujian Proses Pengambilan Gambar Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Citra aktual yang

akan diambil

Sistem melakukan

proses pengambilan

gambar

Output sesuai dengan

gambar aktual

[√ ] Diterima

[ ] Ditolak

Kasus dan Hasil Uji (Data kosong)

(66)

2. Pengujian Proses Cropping

Proses cropping digunakan untuk memfokuskan bagian gambar mana yang akan diproses. Dari hasil uji proses cropping yang kemudian diamati dan menghasilkan kesimpulan dari pengujian tersebut dapat dilihat pada tabel 4.4

Tabel 4.4 Pengujian Proses Cropping Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Citra hasil proses

Output berupa gambar

yang sesuai dengan

area yang dipotong

[√ ] Diterima

[ ] Ditolak

Kasus dan Hasil Uji (Data kosong)

Jika pengguna

ke menu utama aplikasi

[√ ] Diterima

[ ] Ditolak

3. Pengujian Mengecek Hasil Pengenalan Karakter

Dari hasil uji mengecek hasil pengenalan karakter yang kemudian diamati dan

(67)

Tabel 4.5 Hasil Pengenalan Karakter Kasus dan Hasil Uji (Data Benar)

Data Masukan: Citra dengan teks

berukuran 9

Yang diharapkan Pengamatan Kesimpulan

Melakukan

Yang diharapkan Pengamatan Kesimpulan

Melakukan

Data Masukan: Citra dengan 3 baris

teks

Yang diharapkan Pengamatan Kesimpulan

Melakukan

Data Masukan: Citra berwarna Yang diharapkan Pengamatan Kesimpulan

(68)

Data Masukan: Citra dengan teks

tulisan tangan

Yang diharapkan Pengamatan Kesimpulan

Melakukan

4. Pengujian Proses Penerjemahan

Dari hasil uji mengecek hasil penerjemahan teks yang kemudian diamati dan

menghasilkan kesimpulan dari pengujian tersebut dapat dilihat pada tabel 4.6 Tabel 4.6 Pengujian Proses Penerjemahan

Kasus dan Hasil Uji (Data Benar)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Teks hasil

Kasus dan Hasil Uji (Data Kosong)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Jika tidak ada

error tidak ada koneksi

internet

[√ ] Diterima

(69)

4.2.3 Kesimpulan Hasil Pengujian Alpha

Berdasarkan hasil pengujian dengan kasus uji sample di atas dapat ditarik

kesimpulan bahwa perangkat lunak telah bebas dari kesalahan sintaks dan secara fungsional menghasilkan hasil yang sesuai dengan yang diharapkan.

4.2.4 Kasus dan Hasil Pengujian Beta

Pengujian beta dilakukan secara objektif, dimana diuji secara langsung oleh pengguna. Penilaian sistem diperoleh dengan cara kuesioner dan

mewawancarai pengguna, lalu dari hasil pengujian tersebut, dapat ditarik kesimpulan apakah aplikasi yang dibangun telah sesuai dengan tujuan atau tidak.

4.2.5 Wawancara Pengguna

Wawancara dilakukan dengan lima pelajar yang sedang mengikuti kursus bahasa Jerman. Berikut adalah daftar pertanyaan yang diajukan ke pada pengguna

dari aplikasi yang dibangun:

1. Apakah aplikasi membantu untuk mempelajari bahasa Jerman?

2. Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

(70)

4.2.6 Hasil Wawancara

Narasumber 1

1. Pertanyaan : Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Jawaban : Ya, aplikasi ini cukup membantu.

2. Pertanyaan : Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

Jawaban : Ya, aplikasi ini mampu menerjemahkan teks dalam bentuk kalimat

3. Pertanyaan : Apakah aplikasi berbasis mobile lebih praktis? Jawaban : Ya, karena perangkat mobile mudah untuk dibawa.

4. Pertanyaan : Apakah tampilan dari aplikasi menarik? Jawaban : Tampilan dari aplikasi ini biasa saja.

5. Pertanyaan : Apakah aplikasi mudah untuk digunakan?

Jawaban : Aplikasi ini sederhana sehingga mudah untuk digunakan

Narasumber 2

1. Pertanyaan : Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Jawaban : Aplikasi ini membantu untuk mempelajari bahasa Jerman.

2. Pertanyaan : Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

Jawaban : Lebih efisien karena tidak perlu mengetikan kata per kata 3. Pertanyaan : Apakah aplikasi berbasis mobile lebih praktis?

Jawaban : Ya, perangkat mobile mudah untuk dibawa.

4. Pertanyaan : Apakah tampilan dari aplikasi menarik? Jawaban : Tampilan dari aplikasi ini biasa saja.

5. Pertanyaan : Apakah aplikasi mudah untuk digunakan?

(71)

Narasumber 3

1. Pertanyaan : Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Jawaban : Ya, aplikasi ini membantu untuk mempelajari bahasa Jerman. 2. Pertanyaan : Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris

kalimat?

Jawaban : Aplikasi ini efisien untuk satu baris teks dalam bentuk kalimat 3. Pertanyaan : Apakah aplikasi berbasis mobile lebih praktis?

Jawaban : Ya, perangkat mobile lebih praktis.

4. Pertanyaan : Apakah tampilan dari aplikasi menarik? Jawaban : Tampilan dari aplikasi ini sudah cukup baik.

5. Pertanyaan : Apakah aplikasi mudah untuk digunakan?

Jawaban : Ya, karena sudah terbiasa menggunakan aplikasi mobile

Narasumber 4

1. Pertanyaan : Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Jawaban : Aplikasi ini cukup membantu.

2. Pertanyaan : Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

Jawaban : Cukup efisien dan lebih mudah

3. Pertanyaan : Apakah aplikasi berbasis mobile lebih praktis? Jawaban : Ya, lebih praktis dibanding perangkat lain.

4. Pertanyaan : Apakah tampilan dari aplikasi menarik?

Jawaban : Tampilan dari aplikasi ini sederhana dan lumayan bagus.

5. Pertanyaan : Apakah aplikasi mudah untuk digunakan?

(72)

Narasumber 5

1. Pertanyaan : Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Jawaban : Aplikasi ini dapat digunakan untuk mempelajari bahasa Jerman. 2. Pertanyaan : Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris

kalimat?

Jawaban : Ya, karena tidak perlu mengetikan kalimat tersebut. 3. Pertanyaan : Apakah aplikasi berbasis mobile lebih praktis?

Jawaban : Ya, perangkat mobile lebih praktis dibanding perangkat lain.

4. Pertanyaan : Apakah tampilan dari aplikasi menarik? Jawaban : Tampilan dari aplikasi ini cukup baik.

5. Pertanyaan : Apakah aplikasi mudah untuk digunakan? Jawaban : Mudah, aplikasi ini tidak kompleks.

4.2.7 Kuesioner

Kuesioner diberikan kepada 30 pengguna smartphone android yang akan menggunakan aplikasi ini. Adapun pertanyan-pertanyaan yang diajukan kepada

pengguna untuk menjadi bahan penelitian adalah sebagai berikut: Tabel 4.7 Kuesioner

No Pertanyaan STS TS RG ST SS

1 Apakah aplikasi membantu untuk mempelajari

bahasa Jerman?

2 Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

3 Apakah aplikasi berbasis mobile lebih praktis?

4 Apakah tampilan dari aplikasi menarik?

(73)

4.2.7.1Hasil Kuesioner

Pertanyaan 1: Apakah aplikasi membantu untuk mempelajari bahasa Jerman? Tabel 4.8 Hasil Pengujian Kuesioner Pertanyaan 1

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna

Smartphone Android

Sangat Setuju 5 10 50

Setuju 4 15 60

Ragu-Ragu 3 3 9

Tidak Setuju 2 2 4

Sangat Tidak Setuju 1 0 0

Jumlah 123

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya

123, dengan skala kategori jawaban diantara Setuju dan Sangat Setuju, maka dapat disimpulkan bahwa aplikasi ini membantu untuk mempelajari bahasa

Jerman. Secara kontinum dapat digambarkan seperti di bawah.

RG

TS SS

STS ST

30 60 90 120 123 150

(74)

Pertanyaan 2: Apakah aplikasi ini lebih efisien untuk menerjemahkan satu baris kalimat?

Tabel 4.9 Hasil Pengujian Kuesioner Pertanyaan 2

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna

Smartphone Android

Sangat Setuju 5 13 65

Setuju 4 12 48

Ragu-Ragu 3 4 12

Tidak Setuju 2 1 2

Sangat Tidak Setuju 1 0 0

Jumlah 125

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya 125, dengan skala kategori jawaban diantara Setuju dan Sangat Setuju, maka dapat disimpulkan bahwa aplikasi ini lebih efisien untuk menerjemahkan stau

baris kalimat Jerman. Secara kontinum dapat digambarkan seperti di bawah.

RG

TS SS

STS ST

30 60 90 120 125 150

(75)

Pertanyaan 3: Apakah aplikasi berbasis mobile lebih praktis?

Tabel 4.10 Hasil Pengujian Kuesioner Pertanyaan 3

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna

Smartphone Android

Sangat Setuju 5 17 85

Setuju 4 13 52

Ragu-Ragu 3 0 0

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

Jumlah 137

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya

137, dengan skala kategori jawaban diantara Setuju dan Sangat Setuju, maka dapat disimpulkan bahwa aplikasi berbasis mobile lebih praktis. Secara kontinum dapat digambarkan seperti di bawah.

RG

TS SS

STS ST

30 60 90 120 137 150

(76)

Pertanyaan 4: Apakah tampilan dari aplikasi menarik?

Tabel 4.11 HAsil Pengujian Kuesioner Pertanyaan 4

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna

Smartphone Android

Sangat Setuju 5 7 35

Setuju 4 15 60

Ragu-Ragu 3 4 12

Tidak Setuju 2 4 8

Sangat Tidak Setuju 1 0 0

Jumlah 115

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya

115, dengan skala kategori jawaban diantara Ragu-Ragu dan Setuju, maka dapat disimpulkan bahwa tampilan dari aplikasi ini belum memuaskan pengguna. Secara kontinum dapat digambarkan seperti di bawah.

RG

TS SS

STS ST

30 60 90 115 120 150

(77)

Pertanyaan 5: Apakah aplikasi mudah untuk digunakan?

Tabel 4.12 Hasil Pengujian Kuesioner Pertanyaan 5

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna dapat disimpulkan bahwa aplikasi ini mudah untuk digunakan. Secara kontinum

dapat digambarkan seperti di bawah.

4.2.8 Kesimpulan Hasil Pengujian Beta

Berdasarkan wawancara dan kuesioner yang telah dilakukan maka kesimpulan yang didapat adalah aplikasi berbabasis mobile lebih mudah dan praktis untuk digunakan, dan aplikasi yang dibangun membantu dalam

mempelajari dan menerjemahkan satu baris kalimat bahasa Jerman. Adapun masukan dari para penguji sistem adalah membuat sistem penerjemahan sendiri

sehingga tidak membutuhkan koneksi internet untuk menggunakannya dan tampilan dari aplikasi dibuat agar lebih menarik lagi.

RG

TS SS

STS ST

30 60 90 120 134 150

(78)

70

5.1 Kesimpulan

Dari hasil pengujian dan wawancara yang telah dilakukan dengan lima pelajar yang sedang mengikuti kursus bahasa Jerman, dan kuesioner yang diberikan kepada 30 pengguna, diperoleh kesimpulan bahwa aplikasi yang

dibangun dapat digunakan sebagai alat bantu untuk menerjemahkan teks bahasa Jerman

5.2 Saran

Beberapa saran untuk pengembangan selanjutnya, diantaranya:

1. Penggunaan perangkat lunak OCR yang dapat mengenali teks tulisan tangan.

2. Membuat sistem penerjemahan teks sendiri yang sudah terintegrasi dengan

program aplikasi.

(79)

Gambar

Gambar 2.7 Contoh Use-case Diagram[15]
Gambar 2.9 Contoh Sequance Diagram[15]
Gambar 2.11 Contoh Activity Diagram[15]
Gambar 2.13 Contoh Deployment Diagram[15]
+7

Referensi

Dokumen terkait

Strategi pembangunan daerah Propinsi Jawa Timur 2009- 2014 yang bertumpu pada pemberdayaan rakyat ini dijalankan melalui model dual track strategy, di mana di

Dengan kata lain, yang dimaksud dengan Standar Kompetensi adalah perumusan tentang kemampuan yang harus dimiliki seseorang untuk melakukan suatu tugas atau

Latar belakang: Obstructive sleep apnea (OSA) adalah suatu penyakit yang ditandai dengan peristiwa kolapsnya saluran napas bagian atas secara periodik pada saat tidur yang

Mulizar ( Perencanaan Koordinasi Simpang Bersinyal. Studi Kasus : Jalan Merdeka Kota Lhokseumawe ) Universitas Syah Kuala. Meiman Zega Analisa Koordinasi Sinyal Antar Simpang

Faktor lain yang turut mempengaruhi motivasi belajar siswa adalah.

adalah pada siswa, sebab dengan adanya aktivitas siswa dalam proses pembelajaran terciptalah situasi belajar aktif, seperti yang dikemukakan oleh Rochman Natawijaya

Adapun rekomendasi dari penelitian ini adalah keluarga perlu diberikan informasi yang lengkap tentang TB paru terutama pengobatan dan perawatan termasuk pemberian

Dari kelima variabel bebas (jumlah benih, jumlah pakan, luas lahan, obat-obatan dan tenaga kerja) hanya dua variabel jumlah benih dan pakan yang berpengaruh terhadap