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

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RIYAN HIDAYAT

10110769

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


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

Bandung : s.n. .


(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

2010-2014 : Universitas Komputer Indonesia, Fakultas Teknik dan Ilmu Komputer, Jurusan S1 Teknik Informatika


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

Bandung, Agustus 2014 Riyan Hidayat


(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 menerjemahkan kalimat. Selain itu mengetik di layar sentuh tidak senyaman mengetik di papan ketik fisik, oleh karena itu sering terjadi kesalahan penulisan[3].


(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 menerjemahkan teks bahasa Jerman pada citra berbasis android?


(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

Penelitian ini menggunakan metodologi penelitian Research and Development, yaitu metode penelitian yang digunakan untuk menghasilkan produk tertentu dan menguji keefektifan produk tersebut[5].


(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

user interface yang akan digunakan pada perangkat lunak yang akan dibangun.


(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, fase ini juga digunakan untuk menyempurnakan desain dari aplikasi. Jika


(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

Bab ini berisi kesimpulan yang telah didapatkan dari pengerjaan, pengujian sistem dan analisisnya mengenai keterkaitan dengan tujuan pembangunan sistem, dan selanjutnya akan dikemukakan saran-saran mengenai sistem serta bahan masukan


(16)

bagi rencana pengembangan agar aplikasi yang dibangun menjadi lebih baik untuk masa yang akan datang.


(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

frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada dasarnya terdiri atas ratusan sampai ribuan frame[7].


(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 kombinasi dari tiga warna dasar, yaitu merah, hijau, dan biru. Format citra ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai


(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

Metode luminosity adalah metode yang lebih canggih dari metode average. Metode ini tidak hanya menghitung nilai rata-rata (average), tetapi membentuk rata-rata tertimbang sesuai dengan persepsi mata manusia. Mata manusia lebih sensitif terhadap warna hijau dibandingkan dengan warna lain, karena itu warna


(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 kompleksitasnya (ukuran, format teks, warna, latar belakang).


(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. Mesin OCR dikirim ke UNLV untuk melakukan tes akurasi pada tahun 1995, di mana mesin tersebut membuktikan bahwa kualitas Tesseract lebih baik dibandingkan mesin OCR komersial. Pada akhir tahun 2005, HP merilis open source Tesseract[12].


(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

Proses ini digunakan untuk proses pengenalan tahap awal, yaitu membandingkan karakter yang didapat dari citra dengan data yang sudah ada.


(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 suatu Framework yang menyediakan dan mengatur alur proses aplikasi.


(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 manajemen memori dan proses. Oleh karenanya pada android hanya terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori, manajemen proses, jaringan dan driver. Kernel linux menyediakan driver layar, kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess Communication) untuk mengatur aplikasi dan lubang keamanan.


(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 mesin virtual yang membuat aplikasi android menjadi lebih tangguh dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian utama, diantaranya:


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

2. Content Providers, berfungsi untuk merangkum data yang memungkinkan digunakan oleh aplikasi lainnya, seperti daftar nama.


(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 dan mendokumentasikan sistem perangkat lunak. Dengan menggunakan UML kita dapat membangun model untuk segala bentuk dan jenis aplikasi perangkat


(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]:

1. Use-case Diagram 2. Class Diagram 3. Sequence diagram 4. Collaboration Diagram 5. Activity Diagram 6. Component Diagram 7. Deployment Diagram


(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

Sebuah collaboration diagram menunjukkan kolaborasi yang dinamis yang mirip dengan sequence diagram. Collaboration diagram digambarkan sebagai sebuah obiject diagram dimana sejumlah obyek ditunjukkan disekitarnya dengan hubungan-hubungannya.


(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

software pada suatu sistem yang dirancang. Deployment diagram juga dapat menunjukkan perngkat-perangkat dan nodes diantara hubungan yang dimilikinya antar komponen.


(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

Berikut adalah tahapan-tahapan beserta metode yang digunakan dalam aplikasi yang akan dibangun, mulai dari masukan hingga keluaran.


(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

Tesseract. Proses pengenalan karakter pada citra dengan Tesseract terdapat beberapa langkah 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

Langkah pertama adalah mengurutkan nilai derajat keabuan dari yang terkecil hingga yang terbesar, berdasarkan perhitungan pada pembahasa sebelumnya maka nilai derajat keabuan yang didapat


(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

= (54 * 1) + (72 * 1) / 2 = 63

Vb = ((derajat keabuan n – Mb)^2 * jumlah piksel derajat keabuan n) / jumlah piksel background

= ((54 – 63)^2 * 1) + ((72 – 63)^2 * 1) / 2 = 81

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

Mf = (derajat keabuan n * jumlah piksel derajat keabuan n) / total piksel foreground 0 0.2 0.4 0.6 0.8 1 1.2

54 72 184 238


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

Connected component analysis bekerja dengan cara memeriksa intensitas pixel di sekitar pixel yang sedang dianalisis. Berikut adalah ilustrasi dari 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

Selanjutnya Microsoft Translator akan mengembalikan output file berupa teks yang sudah diterjemahkan.


(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

4. Mengembalikan ke menu utama

aplikasi

System

User

Take Picture

Cropping

Output <<include>>


(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

Berikut adalah proses pengambilan gambar yang digambarkan dengan diagram aktivitas.


(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

Mengklik tombol crop

Lanjutkan proses?

Melakukan proses cropping Ya

Menyimpan gambar Menu utama Tidak


(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 mencapai use case tertentu.

MainActivity +imageFilePath (String) -rootPath (String) +tv: (TextView) +translatedText: (String) +captureImage() +openCamera() +cropImage() +getExternalStorageDirectory() +croppedDir() +greyDir() +myAsyncTask() +updateResult() Preprocessing -alpha: (int) -R: (float) -G: (float) -B: (float) +greyscale() +greyImage() TessBaseAPI +getInitLanguageAsString() +setPageSegMode() +setImage() +setRectangle() +getText() +getRegion() +getTextLine() +getWord() +setOCRText() 1 1 1 1


(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

1. Klik Take Picture untuk membuka halaman F2

F1

Take Picture

OCR Text Translate Text


(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

Selesai Gambar


(59)

2. Cropping

Mulai

Menentukan area yang akan dipotong

Lanjutkan Proses?

Menyimpan Gambar

Selesai Memotong gambar Tidak

Ya

Gambar 3.22 Proses Pemotongan Gambar Cropped image


(60)

3. Grayscaling

Gambar 3.23 Flowchart Grayscaling Mulai

Selesai Grayscaling

Citra grayscale Cropped Image


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

1. Android 4.0.3 (Ice Cream Sandwich) 2. Aplikasi kamera default


(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 berbeda-beda karena user bisa memilih aplikasi kamera mana yang akan


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

A. Jika pengguna

mengklik tombol retake

B. Jika pengguna

mengklik tombol cancel A. Mengulangi proses pengambilan gambar B. Sistem mengembalikan ke menu utama aplikasi

A. Mengulangi proses pengambilan gambar B. Sistem

Mengembalikan ke menu utama aplikasi

[√ ] Diterima


(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 pengambilan gambar

Sistem memotong gambar sesuai dengan area yang ditentukan pengguna

Output berupa gambar yang sesuai dengan area yang dipotong

[√ ] Diterima

[ ] Ditolak

Kasus dan Hasil Uji (Data kosong) Jika pengguna

mengklik tombol cancel

Sistem

mengembalikan ke menu utama aplikasi

Sistem mengembalikan ke menu utama aplikasi

[√ ] Diterima

[ ] Ditolak

3. Pengujian Mengecek Hasil Pengenalan Karakter

Dari hasil uji mengecek hasil pengenalan karakter yang kemudian diamati dan menghasilkan kesimpulan dari pengujian tersebut dapat dilihat pada tabel 4.5


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

pengenalan dan mengeluarkan output berupa teks yang akurat

Teks output 100% akurat

[√ ] Diterima

[ ] Ditolak

Data Masukan: Citra dengan teks berukuran 36

Yang diharapkan Pengamatan Kesimpulan

Melakukan proses

pengenalan dan mengeluarkan output berupa teks yang akurat

Teks output 100% akurat

[√ ] Diterima

[ ] Ditolak

Data Masukan: Citra dengan 3 baris teks

Yang diharapkan Pengamatan Kesimpulan

Melakukan proses

pengenalan dan mengeluarkan output berupa teks yang akurat

Teks output 100% akurat

[√ ] Diterima

[ ] Ditolak

Data Masukan: Citra berwarna Yang diharapkan Pengamatan Kesimpulan

Melakukan proses

pengenalan dan mengeluarkan output berupa teks yang akurat

Teks output 100% akurat

[√ ] Diterima


(68)

Data Masukan: Citra dengan teks tulisan tangan

Yang diharapkan Pengamatan Kesimpulan

Melakukan proses

pengenalan dan mengeluarkan output berupa teks yang akurat

Teks output tidak akurat

Output: W126

[ ] Diterima [√ ] Ditolak

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

pengenalan

Melakukan proses penerjemahan dan mengeluarkan output berupa teks dalam bahasa Indonesia

Melakukan proses penerjemahan dan mengeluarkan output berupa teks dalam bahasa Indonesia

[√ ] Diterima

[ ] Ditolak

Kasus dan Hasil Uji (Data Kosong)

Data Masukan Yang diharapkan Pengamatan Kesimpulan

Jika tidak ada koneksi internet

Mengeluarkan pesan error tidak ada koneksi internet

Mengeluarkan pesan 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?

3. Apakah aplikasi berbasis mobile lebih praktis? 4. Apakah tampilan dari aplikasi menarik? 5. Apakah aplikasi mudah untuk digunakan?


(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 Smartphone Android

Sangat Setuju 5 14 70

Setuju 4 16 64

Ragu-Ragu 3 0 0

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

Jumlah 134

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya 134, dengan skala kategori jawaban diantara Setuju dan Sangat Setuju, maka 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.

3. Menggunakan metode lain yang lebih handal dalam proses grayscalling citra, sehingga proses grayscalling tidak lagi bergantung pada perbedaan intensitas warna.


(79)

(80)

(1)

67

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


(2)

68

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


(3)

69

Pertanyaan 5: Apakah aplikasi mudah untuk digunakan?

Tabel 4.12 Hasil Pengujian Kuesioner Pertanyaan 5

Level Responden Skala Skor Jumlah Responden Jumlah Skor

Pengguna Smartphone Android

Sangat Setuju 5 14 70

Setuju 4 16 64

Ragu-Ragu 3 0 0

Tidak Setuju 2 0 0

Sangat Tidak Setuju 1 0 0

Jumlah 134

Berdasarkan perhitungan di atas, jumlah skor yang dapat adalah sebanya

134, dengan skala kategori jawaban diantara Setuju dan Sangat Setuju, maka

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


(4)

70 BAB 5

KESIMPULAN DAN SARAN

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.

3. Menggunakan metode lain yang lebih handal dalam proses grayscalling citra,

sehingga proses grayscalling tidak lagi bergantung pada perbedaan intensitas


(5)

(6)