• Tidak ada hasil yang ditemukan

APLIKASI PENERJEMAH DENGAN MEDIA TEXT RECOGNIZER TUGAS AKHIR SARI MAWAR

N/A
N/A
Protected

Academic year: 2022

Membagikan "APLIKASI PENERJEMAH DENGAN MEDIA TEXT RECOGNIZER TUGAS AKHIR SARI MAWAR"

Copied!
95
0
0

Teks penuh

(1)

APLIKASI PENERJEMAH

DENGAN MEDIA TEXT RECOGNIZER

TUGAS AKHIR

SARI MAWAR 152406109

PROGRAM STUDI D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGEAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(2)

APLIKASI PENERJEMAH

DENGAN MEDIA TEXT RECOGNIZER

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya

SARI MAWAR 152406109

PROGRAM STUDI D3 TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2018

(3)
(4)
(5)

APLIKASI PENERJEMAH

DENGAN MEDIA TEXT RECOGNIZER

ABSTRAK

Pada zaman sekarang, perkembangan ilmu pengetahuan dibidang teknik komputer sangat pesat terutama pada perkembangan teknologi mobile, yang salah satunya merupakan kemajuan teknologi ponsel. Di saat ini teknologi mobile banyak digunakan oleh masyarakat. Maka dari itu penulis membuat sebuah aplikasi mobile yang bisa digunakan dengan mudah untuk menerjemahkan kalimat kedalam bahasa asing . Karena bahasa merupakan sarana untuk berkomunikasi. Pengetahuan tentang bahasa sangatlah penting karena dalam sebuah percakapan atau pembicaraan memerlukan sebuah bahasa. Di dunia ini banyak sekali bahasa, antara lain bahasa Indonesia, Inggris, Jepang, Korea, Jerman dan masih banyak lagi. Sarana untuk mempelajari bahasa asing yaitu biasanya dengan menggunakan kamus. Namun karena menggunakan kamus akan memakan banyak waktu dan kurang praktis sehingga dengan penulis membuat aplikassi translator ini, penulis berharap agar masyarakat dapat lebih mudah belajar dan dapat dengan mudah menerrjemahkan suatu kalimat kedalam bahasa asing. Selain itu aplikasi ini translator yang penulis buat sangan praktis dan mudah digunakan.

Kata kunci : Android, Tugas Akhir, Aplikasi Penerjemah, Mobile.

(6)

TRANSLATION APPLICATION WITH TEXT RECOGNIZER MEDIA

ABSTRACT

Today, the development of science in the field of computer engineering is very rapid, especially in the development of mobile technology, one of which is the advancement of mobile technology. At present mobile technology is widely used by the public. Therefore the author makes a mobile application that can be used easily to translate sentences into foreign languages. Because language is a means to communicate. Knowledge of language is very important because in a conversation or conversation requires a language. In this world there are many languages, including Indonesian, English, Japanese, Korean, German and many more. Means for learning foreign languages are usually by using a dictionary. But because using a dictionary will take a lot of time and is less practical so that with the author making this translator application, the authors hope that the community can learn more easily and can easily translate a sentence into a foreign language. In addition, this application is a translator that the author makes it practical and easy to use.

Keywords: Android, Final Project, Translator Application, Mobile

(7)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Allah SWT. Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpahan karunia-Nya Penulis dapat menyelesaikan penyusunan Tugas Akhir ini dengan judul Alikasi Penerjemah Dengan Media Text Recognizer.

Terimakasih penulis sampaikan kepada Bapak Dr. Poltak Sihombing,M.KOM selaku pembimbing yang telah meluangkan waktunya selama penyusunan tugas akhir ini. Terimakasih kepada Ibu Drs. Normalina Napitupulu, M.Sc selaku Ketua Program Studi D3 Teknik Informatika FMIPA USU,Terimakasih Kepada Bapak Drs.

Sawaluddin, M.IT selaku pembimbing akademik, seluruh Staff dan Dosen Program Studi D3 Teknik Informatika FMIPA USU, pegawai FMIPA USU dan rekan-rekan kuliah. Akhirnya tidak terlupakan terimakasih kepada Ayah saya Sutrisno, Ibu saya Enny br. Simbolon, keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan, Kepada Teman seperjuangan D3 Teknik Informatika Kom D 2015 Semoga Tuhan Yang Maha Esa akan membalasnya.

Medan, 22 Oktober 2018

Sari Mawar

(8)

DAFTAR ISI

Halaman

PENGESAHAN LAPORAN TUGAS AKHIR i

ABSTRAK ii

ABSTRACT iii

PENGHARGAAN iv

DAFTAR ISI v

DAFTAR TABEL vii

DAFTAR GAMBAR viii

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 2

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 3

BAB 2 TINJAUAN PUSTAKA 5

2.1 Sistem Operasi Android 5

2.2 Perkembangan Android 6

2.3 Arsitektur Android 10

2.4 Bahasa Pemograman Java 12

2.5 Flowchart 13

BAB 3 PERANCANGAN SISTEM 16

3.1 Perancangan Sistem 16

3.2 Pemodelan Sistem 17

3.3 Flowchart Aplikasi 18

3.4 Perancangan Antarmuka 19

BAB 4 IMPLEMENTASI SISTEM 22

4.1 Pengertian Implementasi Sistem 22 4.2 Tujuan Implementasi Sistem 22 4.3 Tampilan Aplikasi Sistem 23 4.3.1 Tampilan Spalsh Screen 23 4.3.2 Tampilan Menu Home 24 4.3.3 Tampilan Menu Terjemahan 25

(9)

4.3.4 Tampilan Menu About 26

BAB 5 PENUTUP 27

5.1 Kesimpulan 27

5.2 Saran 27

DAFTAR PUSTAKA 28

LAMPIRAN 29

(10)

DAFTAR TABEL

Nomor Judul Halaman

Tabel

2.1 Tabel Simbol Flowchart 13

(11)

DAFTAR GAMBAR

Nomor Judul Halaman

2.1 Komponen Utama Sistem Operasi Android 12 3.1 Diagram Aplikasi Penerjemah Dengan Media Text Recognizer 17 3.2 Flowchart Aplikasi Penerjemah Dengan Media Text Recognize 18

3.3 Antar Muka Menu Home 19

3.4 Antar Muka Menu Terjemahan 20

3.5 Antar Muka Menu Edit Text 20

3.6 Antar Muka Menu About 21

4.1 Splash Screen dari Aplikasi 23

4.2 Tampilan Menu Home 24

4.3 Langkah-langkah Cara Menggunakan Aplikasi Terjemahan 25

4.4 Hasil Dari Terjemahan 26

4.5 Tampilan Menu About 26

(12)

BAB 1 PENDHULUAN

1.1 Latar Belakang

Era Globalisasi sekarang ini kemajuan teknologi sangat berkembang dengan begitu pesat. Salah satu kemajuan teknologi tersebut ialah teknologi informasi (TI) yang telah merambah keberbagai bidang kehidupan manusia. Dengan perkembangan teknologi yang kian maju, manusia dapat membuat berbagai macam peralatan sebagai alat bantu dalam menjalankan berbagai aktivitas untuk mendukung produktifitas. Seiring dengan tingkat mobilitas yang tinggi, beberapa tahun terakhir tengah marak perangkat bergerak atau mobile device.

Salah satu perangkat mobile yang paling pesat adalah Handphone dimana hampir setiap orang memilikinya. Handphone yang sedianya sebagai alat komunikasi, saat ini sudah lebih dari fungsi dasarnya. Berbagai macam fitur telah ditanamkan, seperti pengolah gambar dan video, pengolah dokumen dan lain sebagainya. Hal ini tak lepas dari penggunaan Sistem Operasi pada Handphone.

Layaknya pada komputer, handphone pun dapat di-install berbagai macam aplikasi yang diinginkan.

Android sebagai Sistem Operasi berbasis linux yang dapat digunakan di berbagai perangkat mobile. Android memiliki tujuan utama untuk memajukan inovasi piranti telepon bergerak agar pengguna mampu mengeksplorasi kemampuan dan menambah pengalaman lebih dibandingkan dengan platform mobile lainnya.

Hingga saat ini Android terus berkembang, baik secara sistem maupun aplikasinya.

Dengan kemajuan teknologi yang sekarang ini semua aplikasi bisa dibuat melalui android. Oleh karena itu, akan dibuat sebuah aplikasi mobile sebagai penerjemah.

Aplikasi ini dibuat untuk membantu mempermudah pengguna Android jika ingin menerjemahkan suatu kata-kata. Karena jika harus mencari dengan translator yang ada di Google sedikit lebih memakan waktu, karena dijaman sekarang semua orang ingin lebih cepat melakukan semua hal agar tak membuang waktu.

(13)

1.2 Rumusan Masalah

Berdasarkan uraian yang terdapat dalam latar belakang, maka yang menjadi pokok permasalahan dalam penelitian ini adalah sebagai berikut :

1. Bagaimana membuat rancangan aplikasi penerjemah semenarik mungkin agar menarik minat masyarakat untuk menggunakan aplikasi ini dalam mobile phone android

2. Bagaimana membuat rancangan aplikasi penerjemah yang mudah digunakan dan mudah dipahami dengan demikian diharapkan para orang awam dapat dengan mudah menerjemahkan suatu kalimat.

1.3 Batasan Masalah

Adapun Batasan Masalah dalam pembuatan aplikasi ini yaitu:

1. Fitur Aplikasi ini hanya dapat menerjemahkan objek tulisan yang baik dan jelas.

2. Aplikasi ini tidak dapat menerjemahkan kalimat dalam bentuk audio.

1.4 Tujuan Penelitian

Tujuan Perancangan Aplikasi Penerjemah Dengan Media Text Recognizer ini adalah:

1. Menciptakan aplikasi translator dengan tampilan desain yang sederhana sehingga memudahkan masyarakat untuk menggunakannya.

2. Membuat aplikasi yang praktis dan mudah digunakan oleh semua kalangan.

3. Memaksimalkan penggunaan smartphone android agar lebih bermanfaat lagi dalam kehidupan sehari-hari.

1.5 Manfaat Penelitian

Manfaat dari penulisan ini adalah sebagai berikut:

1. Membantu pengguna smartphone Android untuk dapat menerjemahkan kata atau kalimat kedalam bahasa yang diinginkan.

2. Meminimalisir waktu yang terpakai untuk menerjemahkan kalimat tanpa harus mengetik kata-katanya terlebih dahulu.

(14)

1.6 Metodologi Penulisaan

Metode adalah suatu cara atau teknik yang sistematik untuk mengerjakan atau menyelesaikan sesuatu. Berikut ini metodologi penelitian yang gunakan dalam membangun aplikasi ini, yaitu :

1. Pembelajaran Literatur

Metode ini dilaksanakan dengan melakukan studi kepustakaan melalui membaca buku-buku maupum artikel-artikel yang dapat mendukung penulisan tugas akhir.

2. Analisis Sistem

Dilakukan untuk memperoleh informasi tentang sistem, menganalisis data–data yang ada dalam sistem dan juga menganalisis poin – poin masalah pada sistem terutama mengenai kelebihan dan kekurangan sistem.

3. Perancangan (Desain)

Membangun / mengembangkan sistem yang diusulkan berupa perancangan sistem data flow diagram (DFD), dimana tahapan ini dapat dibangun dengan memperoleh informasi diantaranya memastikan informasi yang didapat akurat, memberikan ulasan-ulasan yang terperinci.

3. Penulisan Program (Coding), mebuat program didalam aplikasi yang dibuat agar dapat berjalan sesuai dengan yang difungsikan.

5. Uji Program.

Pengujian akan dilaksanakan jika program telah selesai dikerjakan. Bila saat pengujian terdapat kesalahan maka perlu adanya perbaikan terhadap program agar menghasilkan hasil yang maksimal.

1.7 Sistematika Penulisan

Agar dapat memberikan gambaran yang jelas pada penulisan Tugas Akhir ini, maka penulis membaginya dalam beberapa bab sebagai berikut.

BAB 1 : PENDAHULUAN

Bab ini menguraikan tentang latar belakang pembangunan aplikasi, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penulisan, hingga sistematika penulisan Tugas Akhir ini.

(15)

BAB 2 : LANDASAN TEORI

Bab ini menguraikan tentang teori-teori dasar dalam pembangunan aplikasi andoid. Mulai dari pengertian apa itu android hingga apa apa saja yang dibutuhkan untuk memulai pemrograman andoid.

BAB 3 : PERANCANGAN SISTEM

Bab ini menguraikan mengenai perancangan sistem mulai dari perancangan layout, diagram konsepsi sistem, hingga flowchart sistem.

BAB 4 : IMPLEMENTASI SISTEM

Bab ini menguraikan tentang bagaimana proses lanjutan dari perancangan sistem, menguraikan secara detail bagian implementasi sistem dan menyorot apakah implementasi sesuai dengan perancangan sistem.

BAB 5 : KESIMPULAN DAN SARAN

Bab ini menguraikan tentang kesimpulan dan saran yang dikutip oleh penulis dalam proses pembangunan aplikasi.

(16)

BAB 2

TINJAUAN PUSTAKA

2.1 Sistem Operasi Android

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti 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.

Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).

Pada Juli 2005, Google bekerjasama dengan Android Inc., perusahaan yang berada di Palo Alto, California Amerika Serikat. Para pendiri Android Inc. bekerja pada Google, di antaranya Andy Rubin, Rich Miner, Nick Sears, dan Chris White.

Saat itu banyak yang menganggap fungsi Android Inc. hanyalah sebagai perangkat lunak pada telepon seluler. Sejak saat itu muncul rumor bahwa Google hendak memasuki pasar telepon seluler. Di perusahaan Google, tim yang dipimpin Rubin bertugas mengembangkan program perangkat seluler yang didukung oleh kernel Linux. Hal ini menunjukkan indikasi bahwa Google sedang bersiap menghadapi persaingan dalam pasar telepon seluler.

Sekitar September 2007 sebuah studi melaporkan bahwa Google mengajukan hak paten aplikasi telepon seluler (akhirnya Google mengenalkan Nexus One, salah

(17)

satu jenis telepon pintar GSM yang menggunakan Android pada sistem operasinya.

Telepon seluler ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 Januari 2010).

Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vodafone Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan produk perdana mereka, Android, perangkat bergerak (mobile) yang merupakan modifikasi kernel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa perbaikan bug dan penambahan fitur baru. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung tahun 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan Android.

2.2 Perkembangan Android

Perkembangan versi-versi android menurut artikel yang dikutip dari tekno.kompas.com ialah sebagai berikut:

1. Android 1.0

Sistem operasi ini bisa dibilang sebagai android yang masih sangat sederhana.

Pengguna diajak beradaptasi dengan peradaban baru menjelajah sebuah perangkat telekomunikasi mobile. Pada versi inilah Google untuk pertama kalinya memperkenalkan mekanisme pengecekkan notifikasi yang kerap diistilahkan pull-down notification. Selain notifikasi, dua komponen pada Android 1.0 yang masih digunakan hingga kini adalah widget aplikasi, serta toko aplikasi Google Play Store yang kala itu masih bernama "Market". Sistem operasi ini juga menyatukan layanan Gmail. Dua aplikasi tersebut, Gmail dan Market, menjadi layanan bawaan paling purba yang dipatrikan Google pada Android 1.0.

2. Android 1.5 Cupcake

Ini adalah debut versi Android yang menggunakan nama kudapan manis. Tradisi tersebut dipertahankan hingga sekarang. Pada Cupcake, Google juga memperkenalkan SDK widget untuk developer pihak ketiga. Gunanya agar

(18)

aplikasi pihak ketiga bisa memiliki widget sendiri layaknya aplikasi bawaan Google. Dua pembaruan signifikan pada Cupcake juga meliputi kemampuan perekaman video dengan kamera ponsel, serta kemampuan keyboard layar sentuh.

3. Android 1.6 Donut

Masih di tahun yang sama, Google tak sabar menghadirkan Android baru bertajuk "Donut". Pada versi ini, Google mengumumkan bahwa Android bisa digunakan untuk perangkat mobile dengan ukuran layar berapa saja.Android Donut juga memunculkan kolom pencarian pada antarmuka ponsel. Pengguna bisa mencari informasi di internet, file lokal, kontak, dan apa saja secara lebih cepat dengan kolom tersebut.

4. Android 2.0 Eclair

2009 memang merupakan tahun produktif bagi Google dalam menelurkan sistem operasi. Eclair menjadi Android pertama yang menghadirkan layanan navigasi Google Maps. Sistem tersebut menjadi awal mula era GPS yang sekarang bukan cuma ada di ponsel, tapi juga di mobil-mobil modern. Eclair juga menjadi Android pertama yang mendukung HTML5 pada peramban sehingga bisa memutar video. Kemampuan membuka layar alias unlock-screen dengan mekanisme menyapu atau swipe juga diperkenalkan pada Eclair.

5. Android 2.2 Froyo

Tahun 2010, selain meluncurkan Android Froyo, Google juga menghadirkan ponsel Nexus pertama yang dinamai "Nexus One". Ada beberapa pembaruan pada Froyo dibandingkan pendahulunya. Tentu saja pengguna Nexus One menjadi yang pertama mendapat update Android tersebut. Dari segi tampilan, Android Froyo memungkinkan lima panel layar depan alias home screen.

Sebelumnya, batas panel cuma sampai tiga saja. Froyo juga menambah pilihan keamanan penguncian bagi pengguna. Dari yang sebelumnya cuma penguncian pola (pattern lock), belakangan dilengkapi dengan opsi penguncian PIN atau PIN lock.

6. Android Gingerbread

Menyadari kebutuhan user akan selfie, Google pun membangun versi Gingerbread dengan kemampuan kamera depan untuk membidik foto mandiri.

(19)

Pada versi ini, pengguna juga bisa melihat desain ulang antarmuka yang cukup signifikan. Selain itu, dari segi fungsi, Gingerbread memungkinkan pengguna memencet keyboard virtual secara berbarengan alias multitouch. Kemampuan ini dipertahankan hingga sekarang dengan berbagai peningkatan kinerja.

7. Android Honeycomb

Sistem operasi ini mendukung kemampuan tombol virtual untuk home, back, dan menu, untuk pertama kalinya. Sasarannya pun lebih ke perangkat tablet ketimbang smartphone.

8. Android Ice Cream Sandwich

Versi ini memboyong kemampuan pada Honeycomb tapi lebih menyasar smartphone. Contohnya saja kemampuan tombol virtual yang hingga sekarang banyak diimplementasikan para vendor. Beberapa pembaruan fitur lainnya mencakup kemampuan membuka layar menggunakan wajah (face unlock), analisa penggunaan data internet, serta paket aplikasi bawaan dari vendor yang mencakup kalendar, mail, kalkulator, dan lainnya.

9. Android Jelly Bean

Nah, ini dia versi Android yang membawa pembaruan cukup signifikan setelah beberapa kali update yang dilakukan Google hanya membawa perbedaan minor.

Salah satunya, Jelly Bean memungkinkan pengguna menggulir (scroll) cepat home screen ke bawah untuk melihat kumpulan informasi penting, seperti agenda, email, dan laporan cuaca. Sebelumnya, pengguliran ke bawah cuma memperlihatkan notifikasi aplikasi. Selain itu, Jelly Bean merupakan upaya pertama Google untuk menghadirkan asisten digital yang dinamai Google Now.

Mulai dari versi ini, Google semakin berhasrat untuk membuat asisten digital yang lebih hidup, manusiawi, dan relevan bagi pengguna.

10. Android 4.4 KitKat

Butuh setahun bagi Google untuk menghadirkan KitKat. Versi Android ini memberikan suasana yang segar dengan pembaruan antarmuka beraksen putih dan biru muda. Pada KitKat, Google menghadirkan perintah pencarian menggunakan suara atau disebut "Ok, Google". Fitur ini dirundung pujipujian dari para pakar teknologi. Di saat bersamaan, Google juga meluncurkan aplikasi pesan singkat Hangouts untuk pertama kalinya. Sayangnya, belakangan

(20)

Hangouts dilabeli sebagai layanan Google yang gagal karena tak menuai penetrasi yang memuaskan.

11. Android 5.0 Lollipop

Pembaruan yang mencolok pada Lollipop tampak dari sisi desainnya yang diperhalus dan disesuaikan dengan zaman. Selain itu, fitur-fitur yang sudah hadir pada Android sebelumnya ditingkatkan. Inovasi kurang terasa pada versi ini.

Satu-satunya yang lumayan baru adalah dukungan untuk gambar berformat RAW. Format itu memungkinkan para ilustrator,fotografer,atau graphic designer menyimpan file dengan ukuran besar agar bisa diedit tanpa mengurangi kualitas.

12. Android 6.0 Marshmalow

Menu aplikasi pada Android Marshmallow benar-benar dibuat baru. Desainnya membuat pengguna merasa naik kelas dari versi sebelumnya karena lebih dinamis. Selain itu, ada juga fitur memory manager yang memungkinkan pengguna mengecek penggunaan memori pada tiap aplikasi. Rentan waktu pengecekannya bisa disetel dari tiga jam yang lalu hingga 24 jam sebelumnya.

Keamanan juga mendapat peningkatan pada versi ini. Google memungkinkan vendor menyematkan sensor pemindai sidik jari karena sudah didukung Marshmallow.

13. Android 7.0 Nougat

Nougat adalah versi Android termutakhir yang baru diperkenalkan pada ajang kumpul developer Google I/O, pertengahan 2016 ini. Beberapa lama setelahnya, Google menghadirkan Nougat secara resmi untuk publik. Pembaruan paling mendasar pada versi Nougat adalah kehadiran Google Assistant yang menggantikan Google Now. Asisten digital tersebut lebih bisa diandalkan untuk menjalankan pelbagai fungsi. Fitur-fitur baru lainnya mencakup layar split- screen saat dipakai multitasking, serta fitur Doze yang telah dikenalkan di versi Android Marshmallow namun telah ditingkatkan. Android Nougat juga memiliki dukungan terhadap platform virtual reality terbaru Google.

(21)

2.3 Arsitektur Android

Arsitektur android Sistem operasi Android memiliki 4 lapisan (layer) yang merupakan komponen sistem Android. Secara garis besar arsitektur Android dapat dijelaskan sebagai berikut :

1. Applications dan Widgets

Applications dan Widgets ini adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasana kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di Layer terdapat aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis menggunakan bahasa pemrograman Java.

2. Applications Frameworks

Android adalah "Open Development Platform" yaitu Android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi resources, menjalankan service background, mengatur alarm, dan menambahkan status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi yang kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse).

Sehingga bisa kita simpulkan Applications Framework ini adalah layer di mana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content-providers yang berupa sms dan panggilan telepon.Komponen-komponen yang termasuk di dalam Applications Frameworks adalah sebagai berikut :

a) Views

b) Content Providers c) Resource Manager d) Notification Manager e) Activity Manager

(22)

3. Libraries

Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses Libraries untuk menjalankan aplikasi. Berjalan di atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta:

- Libraries media untuk pemutaran media audio dan video - Libraries untuk manajemen tampilan

- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D - Libraries SWLite untuk dukungan database

- Libraries SSL dan WebKit terintegrasi dengan web browser dan security - Libraries liveWebcore mencakup modern web browser dengan engine Embeded web view

- Librares 3D yang mencakup implementasi OpenGL S 1.0 API's 4. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu :

- Core Libraries : Aplikasi Android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah Libraries yang berfungsi untuk menterjemahkan bahasa java/C yang ditangani oleh Core Libraries

- Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah.

5. Linux Kernel

Linux Kernel adalah layer di mana inti dari operating sistem dari Android itu berada. Berisi file-file system yang mengatur sistem processing, memory, resource, driver, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel relase 2.6.

(23)

Gambar 2.1 Komponen Utama Sistem Operasi Android

2.4 Bahasa Pemograman Java

Java adalah bahasa pemrograman tingkat tinggi yang berorientasi objek dan program java tersusun dari bagian yang disebut kelas. Kelas terdiri atas metode- metode yang melakukan pekerjaan dan mengembalikan informasi setelah melakukan tugasnya. Para pemrogram Java banyak mengambil keuntungan dari kumpulan kelas di pustaka kelas Java,yang disebut dengan Java Application Programming Interface (API).

Kelas-kelas ini diorganisasikan menjadi sekelompok yang disebut paket (package). Java API telah menyediakan fungsionalitas yang memadai untuk menciptakan applet dan aplikasi canggih. Jadi ada dua hal yang harus dipelajari dalam Java, yaitu mempelajari bahasa Java dan bagaimana mempergunakan kelas pada Java API. Kelas merupakan satu-satunya cara menyatakan bagian eksekusi 30 Universitas Sumatera Utara program, tidak ada cara lain. Pada Java program javac untuk mengkompilasi file kode sumber Java menjadi kelas-kelas bytecode. File kode sumber mempunyai ekstensi *.java. Kompilator javac menghasilkan file bytecode kelas dengan ekstensi *.class. Interpreter merupakan modul utama sistem Java yang digunakan aplikasi Java dan menjalankan program bytecode Java.

(24)

Beberapa keunggulan java yaitu java merupakan bahasa yang sederhana. Java dirancang agar mudah dipelajari dan digunakan secara efektif. Java tidak menyediakan fitur-fitur rumit bahasa pemrograman tingkat tinggi, serta banyak pekerjaan pemrograman yang mulanya harus dilakukan manual, sekarang digantikan dikerjakan Java secara otomatis seperti dealokasi memori. Bagi pemrogram yang sudah mengenal bahasa C++ akan cepat belajar susunan bahasa Java namun harus waspada karena mungkin Java mengambil arah (semantiks) yang berbeda dibanding C++.

2.5 Flowchart

Flowchart adalah sebuah diagram umum yang mempresentasikan sebuah algoritma atau proses menggunakan beberapa bangun geometri untuk memperlihatkan langkahlangkah yang dilakukan oleh program dalam menyelesaikan masalah. Secara umum, flowchart juga digunakan di berbagai bidang untuk menganalisis, mendesain, mendokumentasikan, atau mengelola suatu proses atau program.

Flowchart merupakan langkah awal pembuatan program. Setelah flowchart selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam bentuk program menggunakan bahasa pemrograman. Berikut ini adalah simbolsimbol standar pada sebuah flowchart beserta fungsinya:

Tabel 2.1 Simbol Flowchart

No Nama Simbol Fungsi

1 Terminator Digunakan untuk mewakili simbol start dan end

2 Arrow

Menunjukkan alur proses

3 Rectangle Menunjukkan langkah proses

(25)

4 Trapezium Simbol untuk input output

5 Document Digunakan untuk mewakili

output

6 Decisions Simbol yang berfungsi untuk menyatakan keputusan 7 Preparations Simbol yang berfungsi untuk

proses inisialisasi atau pemberian harga awal

8 Connector Simbol untuk keluar masuk

atau penyambungan proses pada halaman yang berbeda 9 Manual Input Simbol untuk memasukkan data secara manual melalui

keyboard

10 Manual operation Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer 11 Predefine Process Simbol untuk pelaksanaan

suatu bagian ( sub-prosedur )

12 Display Simbol yang menyatakan

peralatan output yang digunakan seperti layar,

printer, plotter

13 Magnetic Disk Simbol yang digunakan untuk penyimpanan data ke database

(26)

14 Storage Data Simbol yang menyatakan input yang berasal dari disk atau

disimpan ke disk

(27)

BAB 3

PERANCANGAN SISTEM

3.1 Perancangan Sistem

Pada saat hendak membuat sebuah sistem yang akan digunakan pada suatu perusahaan, setiap pengembang aplikasi diharuskan membuat sebuah rancangan dari sistem yang ingin dibuat. Rancangan ini bertujuan untuk memberi gambaran umum dari sistem yang akan berjalan nantinya kepada setiap stakeholder. Berikut ini terdapat pula beberapa teori mengenai pengertian perancangan sistem. Menurut Satzinger, Jackson, dan Burd (2012:5), perancangan sistem adalah sekumpulan aktivitas yang menggambarkan secara rinci bagaimana sistem akan berjalan. Hal itu bertujuan untuk menghasilkan produk perangkat lunak yang sesuai dengan kebutuhan user.

Kenneth dan Jane (2006:G12) menjelaskan bahwa perancangan sistem adalah kegiatan merancang detil dan rincian dari sistem yang akan dibuat sehingga sistem tersebut sesuai dengan requirement yang sudah ditetapkan dalam tahap analisa sistem. Lebih lanjut O’Brien dan Marakas (2009:639) menjelaskan bahwa perancangan sistem adalah sebuah kegiatan merancang dan menentukan cara mengolah sistem informasi dari hasil analisa sistem sehingga dapat memenuhi kebutuhan dari pengguna termasuk diantaranya perancangan user interface, data dan aktivitas proses.

Menurut Bentley dan Whitten (2009:160) melalui buku yang berjudul

“system analysis and design for the global enterprise” juga menjelaskan bahwa perancangan sistem adalah teknik pemecahan masalah dengan melengkapi komponen-komponen kecil menjadi kesatuan komponen sistem kembali ke sistem yang lengkap. Teknik ini diharapkan dapat menghasilkan sistem yang lebih baik.

Menurut Jogiyanto H. M (1991) dalam bukunya “Analisis dan Desain Sistem”, perancangan sistem dapat diartikan seperti berikut :

1. Tahap setelah analisis dari siklus pengembangan sistem.

2. Pendefinisian dari kebutuhan-kebutuhan fungsional.

(28)

3. Persiapan untuk rancang bangun implementasi.

4. Menggambarkan bagaimana suatu sistem dibentuk.

5 Yang dapat berupa pengambaran perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi.

6. Termasuk menyangkut mengkonfigurasi dari komponen perangkat keras dari suatu sistem.

3.2 Pemodelan Sistem

Pemodelan sistem digambarkan agar memudahkan kebutuhan pemakai, dalam melihat bentuk aplikasi yang sesungguhnya dan dilanjutkan dengan flowchart sehingga sistem semakin terihat jelas dan dapat dipergunakan secara maksimal.

Adapun diagram flowchart pada aplikasi Sistem Informasi Kesehatan Gigi dapat dilihat pada gambar 3.1.

Gambar 3.1 Data Diagram Aplikasi Penerjemah Dengan Media Text Recognizer Aplikasi Penerjemah Dengan

Media Text Recognizer

Splash Screen

Tampilan Utama Tampilan Proses Terjemahan

Tampilan About

(29)

3.3 Flowchart Aplikasi

Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program.

Tujuan utama dari penggunaan flowchar tadalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhana, terurai rapi dan jelas dengan menggunakan simbol-simbol yang standar. Adapun flowchart rancangan aplikasi penerjemah dengan metode text recognizer untuk mempermudah user untuk menerjemahkan suatu kalimat adalah sebagai berikut :

Mulai

Splash

Home

Menu About

Scan Teks

Konten About

Menu Scan Dialog

Terjemaahan

Pilih Terjemahan

Edit

Terjemahan T

Y

Y

Y

Y

Menerjemahkan

Hasil Terjemahan

Selesai Y

Edit Teks Simpan Teks T

T

Tutup Dialog

Y T

T

Gambar 3.2 Flowchart Aplikasi Penerjemah Dengan Media Text Recognizer

(30)

3.4 Perancangan Antar Muka

Perancangan Antar Muka merupakan bagian paling penting dari merancang sistem. Dalam proses pengembangan Antarmuka, kita bisa atau mungkin tidak bisa memisahkannya dari seluruh proses pengembangan sebuah produk, walaupun begitu fokus dari dua proses tersebut sangatlah berbeda. Dalam proses pengembangan Antarmuka, Fokus haruslah terletak pada elemen-elemen antarmuka dan objek-objek yang pengguna lihat dan gunakan dibandingkan dengan kemampuan sebuah program. Di bawah merupakan gambar dari rancangan antar muka aplikasi yang penulis buat :

1. Perancangan Antar Muka Menu Home

Gambar 3.3 Antar Muka Menu Home

Logo Dan Nama Aplikasi Menu About

Penanda Layar Scan

(31)

2. Perancangan Antar Muka Menu Terjemahan

Gambar 3.4 Antar Muka Menu Terjemahan

3. Perancangan Antar Muka Menu Edit Text

Gambar 3.5 Antar Muka Menu Edit Text Translate to : Pilihan Bahasa Kembali

Tempat Teks yang telah di scan

Menu Edit Button Terjemahan

Tempat Teks yang telah di terjemahkan

Translate to : Pilihan Bahasa Kembali

Tempat Teks yang akan di Edit

Button Simpan

Tempat Teks yang telah di terjemahkan setelah di Edit

(32)

4. Perancangan Antar Muka Menu About

Gambar 3.6 Antar Muka Menu About About

Kembali

Berisi Logo Aplikasi, versi Aplikasi dan Data Dari Penulis

(33)

BAB 4

IMPLEMENTASI SISTEM

4.1 Pengertian Implementasi Sistem

Implementasi sistem adalah prosedur yang dilakukan untuk menyelesaikan desain yang ada dalam dokumen desain sistem yang disetujui dan menguji, menginstal, memulai, serta menggunakan sistem yang baru atau sistem yang diperbaiki. Implementasi sistem juga merupakan tahap penerapan sistem yang akan dilakukan jika sistem disetujui termasuk program yang telah dibuat pada tahap perancangan sistem agar siap untuk dioperasikan. Penggunaan suatu komputer untuk pemecahan masalah membutuhkan suatu sistem yang baik, sehingga memungkinkan berhasilnya komputer dalam melaksanakan tugasnya, yaitu mengolah data menjadi informasi.

4.2 Tujuan Implementasi Sistem

Sistem setelah dianalisa dan dirancang, maka sistem tersebut siap diterapkan atau diimplementasikan. Tahap implementasi adalah tahap dimana sistem informasi telah digunakan oleh pengguna. Sebelum benar-benar bisa digunakan dengan baik oleh pengguna, sistem harus melalui tahap pengujian terlebih dahulu untuk menjamin tidak ada kendala fatal yang muncul pada saat pengguna memanfaatkan sistemnya. Jika sistem perangkat lunak telah selesai melewati tahap pengujian sistem maka sistem perangkat lunak tersebut telah siap untuk digunakan. Penggunaan sistem perangkat lunak yang baru pada suatu organisasi atau perusahaan kadangkadang merupakan proses yang tidak mudah sehingga diperlukan latihan bagi pengguna sebelum digunakan. Adapun beberapa tujuan dari implementasi sistem adalah sebagai berikut:

1. Membuat desain sistem selama melakukan penelitian dan analisa.

2. Memastikan bahwa pemakai user dapat mengoperasikan sistem.

3. Menguji dan mendokumentasikan prosedur dan program yang diperlukan.

4. Menyelesaikan desain sistem yang telah disetujui.

(34)

4.3 Tampilan Aplikasi Penerjemah Dengan Metode Text Recognizer

Berikut ini adalah penjelasan tentang rancangan tampilan program Aplikasi Penerjemah Dengan Metode Text Recognizer :

4.3.1 Tampilan Splash Screen

Pada saat pertama aplikasi dibuka akan memunculkan tampilan spalsh screen yang berupa logo dari aplikasi ini selama 2 detik. Gambar splash screen yang muncul seperti gambar dibawah ini.

Gambar 4.1 Splash Screen dari Aplikasi

(35)

4.3.2 Tampilan Menu Home

Berikut adalah tampilan menu home dari Aplikasi Penerjemah Dengan Metode Text Recognizer. Di menu home pengguna langsung dapat menggunakannya untuk menscan gambar berisikan text untuk diterjemahkan. Gambar dari tampilan menu home seperti dibawah ini.

Gambar 4.2 Tampilan Menu Home

(36)

4.3.3 Tampilan Menu Terjemahan

Berikut merupakan tampilan menu terjemahan, setelah gambar yang ada kita scan makan akan muncul menu terjemahan seperti di bawah ini. Dan pada tampilan menu inilah kita dapat menerjemahkan gambar text yang sebelumnya sudah di scan kebahasa yang kita inginkan. Seperti gambar dibawah setelah text di scan muncul menu terjemahan lalu kita pilih bahasa terjemahan yang diinginkan, lalu tap button translate maka text yang telah diterjemahkan akan otomatis muncul.

Gambar 4.3 Langkah-langkah Cara Menggunakan Aplikasi Terjemahan

(37)

Gambar 4.4 Hasil Dari Terjemahan

4.3.4 Tampilan Menu About

Dalam tampilan menu About berisikan logo dan nama dari Aplikasi juga data diri Penulis.

Gambar 4.5 Tampilan Menu About

(38)

BAB 5 PENUTUP

5.1. Kesimpulan

Berdasarkan pembahasan pada bab sebelumnya, dapat ditarik kesimpulan dari pembangunan aplikasi translator dengan text recognizer adalah sebagai berikut : 1. Penulis dapat menerapkan dan mengintegrasikan fungsi-fungsi dari berbagai

library java yang dibutuhkan dalam pengembangan aplikasi mobile translator.

2. Aplikasi yang telah dikembangkan cukup berkemampuan sebagai translator terutama dalam penerjemahan perkata.

3. Keakuratan pembacaan karakter pada aplikasi ini bergantun pada kualitas input yang dipengaruhi beberapa variabel seperti resolusi gambar, resolusi kamera, pencahayaan, kejelasan tulisan, kemiringan bidang tulisan, jenis font, ukuran huruf, tanda baca, warna tulisan, warna latar belakang, dan lainlain.

5.2 Saran

Meskipun penulis menginginkan kesempurnaan dalam penyusunan tugas akhir ini tetapi kenyataannya masih banyak kekurangan yang perlu penulis perbaiki.

Hal ini dikarenakan masih minimnya pengetahuan yang penulis miliki. Oleh karena itu kritik dan saran yang membangun dari para pembaca sangat penulis harapkan untuk perbaikan ke depannya.

(39)

DAFTAR PUSTAKA

Huda, Arif Akbarul. 2013. 9 Aplikasi Android Buatan Sendiri. Yogyakarta: Andi.

Juhara, Zamrony P. 2016. Panduan Lengkap Pemograman Android. Yogyakarta:

Penerbit Andi.

Safaat, Nazaruddin. 2011. Android Pemograman Aplikasi Mobile Smartphone dan Tablet PC, Bandung: Informatika.

Sofyana, Iwan. 2006. Mudah Menguasai Jbuilder Enterprise. Bandung: Informatika.

Widiarta, Wisnu. 2007. Dari Paskal ke Java. Bandung: Informatika.

Hariyanto, Bambang, Ir, Mt (2004), Rekayasa Sistem Berorientasi Obyek, Informatika Bandung, Bandung.

Rickyanto, Isak (2003), Dasar Pemrograman Berorientasi Objek dengan Java 2:

JDK 1.4, Andi Offset, Yogyakarta.

(40)

LAMPIRAN PROGRAM

splash_layout.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

"

xmlns:app="http://schemas.android.com/apk/res-auto"

android:layout_width="match_parent"

android:layout_height="match_parent">

<ImageView

android:id="@+id/imageView"

android:layout_width="wrap_content"

android:layout_height="36dp"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/logo_color" />

</android.support.constraint.ConstraintLayout>

ocr_capture.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.ConstraintLayout

xmlns:android="http://schemas.android.com/apk/res/android

"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/topLayout"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:keepScreenOn="true">

<com.ocrtranslator.libs.ui.camera.CameraSourcePreview android:id="@+id/preview"

android:layout_width="match_parent"

android:layout_height="match_parent">

(41)

<com.ocrtranslator.libs.ui.camera.GraphicOverlay android:id="@+id/graphicOverlay"

android:layout_width="match_parent"

android:layout_height="match_parent" />

</com.ocrtranslator.libs.ui.camera.CameraSourcePreview>

<android.support.v7.widget.Toolbar android:id="@+id/toolbar2"

android:layout_width="match_parent"

android:layout_height="56dp"

android:layout_margin="0dp"

android:background="@color/darkBackground"

android:minHeight="?attr/actionBarSize"

android:theme="?attr/actionBarTheme"

app:contentInsetEnd="0dp"

app:contentInsetEndWithActions="0dp"

app:contentInsetLeft="0dp"

app:contentInsetRight="0dp"

app:contentInsetStart="0dp"

app:contentInsetStartWithNavigation="0dp">

<android.support.constraint.ConstraintLayout android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_margin="0dp">

<ImageView

android:id="@+id/imageView4"

android:layout_width="wrap_content"

android:layout_height="30dp"

android:layout_marginStart="8dp"

android:layout_marginTop="8dp"

android:layout_marginEnd="8dp"

android:layout_marginBottom="8dp"

android:adjustViewBounds="true"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.496"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/logo" />

<ImageView

android:id="@+id/btAbout"

android:layout_width="42dp"

(42)

android:layout_height="0dp"

android:layout_marginEnd="16dp"

android:scaleType="center"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/ic_about" />

</android.support.constraint.ConstraintLayout>

</android.support.v7.widget.Toolbar>

<ImageView

android:id="@+id/imageView2"

android:layout_width="200dp"

android:layout_height="200dp"

android:tint="@color/colorPrimaryDark"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintHorizontal_bias="0.497"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/ic_scan" />

<TextView

android:id="@+id/textView11"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:background="@color/darkBackground"

android:gravity="center"

android:paddingTop="8dp"

android:paddingBottom="8dp"

android:text="Scan text here"

android:textColor="@color/custom1"

android:textSize="16sp"

android:textStyle="italic"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent" />

</android.support.constraint.ConstraintLayout>

translate_layout.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android

"

(43)

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical">

<android.support.constraint.ConstraintLayout android:layout_width="match_parent"

android:layout_height="64dp"

android:background="@color/colorPrimary"

android:paddingStart="24dp"

android:paddingEnd="24dp">

<TextView

android:id="@+id/textView"

style="@style/titleDialog"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="24dp"

android:layout_marginTop="8dp"

android:layout_marginBottom="8dp"

android:text="Translate to:"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintStart_toEndOf="@+id/btBack"

app:layout_constraintTop_toTopOf="parent" />

<ImageView

android:id="@+id/btBack"

android:layout_width="29dp"

android:layout_height="0dp"

android:scaleType="center"

android:tint="@color/cardview_dark_background"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/ic_arrow" />

<Spinner

android:id="@+id/spinner"

style="@android:style/Widget.Holo.Light.Spinner"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="24dp"

android:layout_marginEnd="24dp"

(44)

android:backgroundTint="@color/cardview_dark_background"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toEndOf="@+id/textView"

app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

<ScrollView

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="16dp">

<LinearLayout

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginStart="24dp"

android:layout_marginEnd="24dp"

android:orientation="vertical">

<TextView

android:id="@+id/textView2"

style="@style/subTitleDialog"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Source Text" />

<EditText

android:id="@+id/etSource"

style="@style/editTextDialog"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:ems="10"

android:inputType="textMultiLine" />

<LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="horizontal">

<Button

android:id="@+id/btSave"

style="@style/buttontDialogOther"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="SAVE" />

(45)

<Button

android:id="@+id/btEdit"

style="@style/buttontDialogLeft"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="EDIT" />

<Button

android:id="@+id/btTranslate"

style="@style/buttontDialogRight"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="TRANSLATE" />

</LinearLayout>

<TextView

android:id="@+id/textView3"

style="@style/subTitleDialog"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="Translated Text" />

<EditText

android:id="@+id/etResult"

style="@style/editTextDialog"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:ems="10"

android:inputType="textMultiLine" />

</LinearLayout>

</ScrollView>

</LinearLayout>

spinner_item.xml

<?xml version="1.0" encoding="utf-8"?>

<TextView

xmlns:android="http://schemas.android.com/apk/res/android

"

android:layout_width="match_parent"

android:layout_height="wrap_content"

style="@style/titleDialog"

(46)

android:gravity="start"

android:padding="5dp"

/>

about_layout.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android

"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="vertical"

android:paddingBottom="36dp">

<android.support.constraint.ConstraintLayout android:layout_width="match_parent"

android:layout_height="64dp"

android:background="@color/colorPrimary"

android:paddingStart="24dp"

android:paddingEnd="24dp">

<TextView

android:id="@+id/textView"

style="@style/titleDialog"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginStart="8dp"

android:layout_marginEnd="8dp"

android:text="About"

app:layout_constraintBottom_toBottomOf="parent"

app:layout_constraintEnd_toEndOf="parent"

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent" />

<ImageView

android:id="@+id/btBackAbout"

android:layout_width="29dp"

android:layout_height="0dp"

android:scaleType="center"

android:tint="@color/cardview_dark_background"

app:layout_constraintBottom_toBottomOf="parent"

(47)

app:layout_constraintStart_toStartOf="parent"

app:layout_constraintTop_toTopOf="parent"

app:srcCompat="@drawable/ic_arrow" />

</android.support.constraint.ConstraintLayout>

<ImageView

android:id="@+id/imageView3"

android:layout_width="wrap_content"

android:layout_height="48dp"

android:layout_gravity="center"

android:layout_marginTop="36dp"

android:layout_marginBottom="10dp"

android:adjustViewBounds="true"

app:srcCompat="@drawable/logo_color" />

<TextView

android:id="@+id/textView4"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:gravity="center"

android:text="Version 1.0 - October 2018" />

<TextView

android:id="@+id/textView5"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:layout_marginTop="24dp"

android:layout_marginBottom="8dp"

android:gravity="center"

android:text="SARI MAWAR"

android:textSize="18sp"

android:textStyle="bold" />

<TextView

android:id="@+id/textView7"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:layout_marginBottom="24dp"

android:gravity="center"

android:text="152406109" />

<TextView

android:id="@+id/textView9"

android:layout_width="match_parent"

android:layout_height="wrap_content"

(48)

android:layout_gravity="center"

android:layout_marginBottom="8dp"

android:gravity="center"

android:text="Universitas Sumatera Utara"

android:textStyle="bold" />

<TextView

android:id="@+id/textView6"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:gravity="center"

android:text="[email protected]" />

<TextView

android:id="@+id/textView8"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:gravity="center"

android:text="081343200695" />

</LinearLayout>

SplashActivity.java

package com.ocrtranslator.libs.ui;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.AsyncTask;

import android.os.Handler;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.Window;

import android.view.WindowManager;

import android.widget.ImageView;

import com.ocrtranslator.OcrCaptureActivity;

import com.ocrtranslator.R;

import java.io.InputStream;

import java.util.Timer;

import java.util.TimerTask;

public class SplashActivity extends AppCompatActivity {

(49)

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.splash_layout);

new Handler().postDelayed(new Runnable() { @Override

public void run() { Intent intent = new

Intent(SplashActivity.this, OcrCaptureActivity.class);

startActivity(intent);

finish();

} }, 3000);

}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

ImageView imageView;

public DownloadImageTask(ImageView imageView) { this.imageView = imageView;

}

protected Bitmap doInBackground(String... urls) { String urldisplay = urls[0];

Bitmap img = null;

try {

InputStream in = new java.net.URL(urldisplay).openStream();

img = BitmapFactory.decodeStream(in);

} catch (Exception e) { e.printStackTrace();

}

return img;

}

protected void onPostExecute(Bitmap result) { imageView.getLayoutParams().height = 450;

imageView.requestLayout();

imageView.setImageBitmap(result);

} } }

OcrCaptureActivity.java

(50)

package com.ocrtranslator;

android.hardware.Camera.Parameters.FLASH_MODE_TORCH;

import static

android.hardware.Camera.Parameters.FOCUS_MODE_CONTINUOUS_

VIDEO;

public final class OcrCaptureActivity extends AppCompatActivity {

private static final String TAG =

"OcrCaptureActivity";

private static final int RC_HANDLE_GMS = 9001;

private static final int RC_HANDLE_CAMERA_PERM = 2;

public static final String AutoFocus = "AutoFocus";

public static final String UseFlash = "UseFlash";

public static final String TextBlockObject =

"String";

private CameraSource cameraSource;

private CameraSourcePreview preview;

private GraphicOverlay<OcrGraphic> graphicOverlay;

private ScaleGestureDetector scaleGestureDetector;

private GestureDetector gestureDetector;

@Override

public void onCreate(Bundle bundle) { super.onCreate(bundle);

setContentView(R.layout.ocr_capture);

preview = findViewById(R.id.preview);

graphicOverlay =

findViewById(R.id.graphicOverlay);

boolean autoFocus = true;

boolean useFlash = false;

int rc = ActivityCompat.checkSelfPermission(this, Manifest.permission.CAMERA);

if (rc == PackageManager.PERMISSION_GRANTED) { createCameraSource(autoFocus, useFlash);

} else {

requestCameraPermission();

}

gestureDetector = new GestureDetector(this, new CaptureGestureListener());

(51)

scaleGestureDetector = new

ScaleGestureDetector(this, new ScaleListener());

ImageView btAbout = findViewById(R.id.btAbout);

btAbout.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) { aboutDialog();

} });

}

private void aboutDialog() {

final Dialog about = new Dialog(this);

about.setCancelable(false);

about.setContentView(R.layout.about_layout);

about.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_

PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);

about.setCancelable(false);

about.show();

ImageView btBackAbout =

about.findViewById(R.id.btBackAbout);

btBackAbout.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) { about.dismiss();

} });

}

private void requestCameraPermission() {

Log.w(TAG, "Camera permission is not granted.

Requesting permission");

final String[] permissions = new String[]{Manifest.permission.CAMERA};

if

(!ActivityCompat.shouldShowRequestPermissionRationale(thi s,

Manifest.permission.CAMERA)) {

ActivityCompat.requestPermissions(this, permissions, RC_HANDLE_CAMERA_PERM);

return;

(52)

} }

@Override

public boolean onTouchEvent(MotionEvent e) {

boolean b = scaleGestureDetector.onTouchEvent(e);

boolean c = gestureDetector.onTouchEvent(e);

return b || c || super.onTouchEvent(e);

}

@SuppressLint("InlinedApi")

private void createCameraSource(boolean autoFocus, boolean useFlash) {

Context context = getApplicationContext();

TODO: Create the TextRecognizer TextRecognizer textRecognizer = new TextRecognizer.Builder(context).build();

TODO: Set the TextRecognizer's Processor.

textRecognizer.setProcessor(new OcrDetectorProcessor(graphicOverlay));

TODO: Check if the TextRecognizer is operational.

if (!textRecognizer.isOperational()) {

Log.w(TAG, "Detector dependencies are not yet available.");

IntentFilter lowstorageFilter = new IntentFilter(Intent.ACTION_DEVICE_STORAGE_LOW);

boolean hasLowStorage =

registerReceiver(null, lowstorageFilter) != null;

if (hasLowStorage) { Toast.makeText(this,

R.string.low_storage_error, Toast.LENGTH_LONG).show();

Log.w(TAG,

getString(R.string.low_storage_error));

} }

TODO: Create the cameraSource using the TextRecognizer.

cameraSource = new

CameraSource.Builder(getApplicationContext(), textRecognizer)

(53)

.setFacing(CameraSource.CAMERA_FACING_BACK)

.setRequestedPreviewSize(1280, 1024)

.setRequestedFps(15.0f) .setFlashMode(useFlash ? FLASH_MODE_TORCH : null)

.setFocusMode(autoFocus ? FOCUS_MODE_CONTINUOUS_VIDEO : null)

.build();

}

@Override

protected void onResume() { super.onResume();

startCameraSource();

}

@Override

protected void onPause() { super.onPause();

if (preview != null) { preview.stop();

} }

@Override

protected void onDestroy() { super.onDestroy();

if (preview != null) { preview.release();

} }

@Override

public void onRequestPermissionsResult(int requestCode,

@NonNull String[] permissions,

@NonNull int[]

grantResults) {

if (requestCode != RC_HANDLE_CAMERA_PERM) {

Log.d(TAG, "Got unexpected permission result:

" + requestCode);

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

return;

}

(54)

if (grantResults.length != 0 && grantResults[0]

== PackageManager.PERMISSION_GRANTED) {

Log.d(TAG, "Camera permission granted - initialize the camera source");

// We have permission, so create the camerasource

boolean autoFocus =

getIntent().getBooleanExtra(AutoFocus,false);

boolean useFlash =

getIntent().getBooleanExtra(UseFlash, false);

createCameraSource(autoFocus, useFlash);

return;

}

Log.e(TAG, "Permission not granted: results len =

" + grantResults.length +

" Result code = " + (grantResults.length

> 0 ? grantResults[0] : "(empty)"));

DialogInterface.OnClickListener listener = new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int id) {

finish();

} };

AlertDialog.Builder builder = new AlertDialog.Builder(this);

builder.setTitle("Multitracker sample")

.setMessage(R.string.no_camera_permission)

.setPositiveButton(R.string.ok, listener) .show();

}

private void startCameraSource() throws SecurityException {

// check that the device has play services available.

int code =

GoogleApiAvailability.getInstance().isGooglePlayServicesA vailable(

getApplicationContext());

if (code != ConnectionResult.SUCCESS) { Dialog dlg =

GoogleApiAvailability.getInstance().getErrorDialog(this, code, RC_HANDLE_GMS);

Gambar

Tabel 2.1 Simbol Flowchart
Gambar 3.1 Data Diagram Aplikasi Penerjemah Dengan Media Text Recognizer Aplikasi Penerjemah Dengan
Gambar 3.2  Flowchart Aplikasi Penerjemah Dengan Media Text Recognizer
Gambar 3.5  Antar Muka Menu Edit Text Translate to :  Pilihan Bahasa Kembali
+6

Referensi

Garis besar

Dokumen terkait

Penelitian yang dilakukan oleh Riska (2013) berjudul “Pengaruh Rasio Keuangan Dalam Memprediksi Pertumbuhan Laba (Studi Kasus Pada Perusahaan Otomotif Yang Terdaftar Di Bei)”

Aset tetap adalah Aset berwujud yang mempunyai manfaat lebih dari 12 (dua belas) bulan untuk digunakan dalam kegiatan pemerintah atau dimanfaatkan oleh

dipelihara dengan padat tebar sebanyak 10 ekor.L -1 selama 30 hari hanya mampu menghasilkan kelangsungan hidup tertinggi sebesar 55,8% yaitu perlakuan yang

(1995) dalam Djarwanto dan Abdurrahim (2000), paling tidak ada empat faktor yang sangat berpengaruh terhadap sifat mudah tidaknya kayu diawetkan atau lebih dikenal dengan

Dalam iklan wardah – ―Halal dari Awal (Purity)‖, Dewi Sandra digambarkan sebagai seorang yang senang memotret alam dengan kamera yang tersampir di lehernya.

Hasil proses perancangan mesin uji tribologi pin-on-disc adalah dalam bentuk konsep gambar perakitan dan gambar kerja lengkap yang menjadi panduan pembuatan alat tersebut. Dari

Ada lima tahap dalam proses keputusan pembelian menurut kotler dan amstrong (2008:179), yaitu : a.) Pengenalan kebutuhan/masalah (Problem Recognition) proses membeli

Untuk mengembangkan kapasitas produksi, dibutuhkan investasi yang tidak sedikit, sehingga dibutuhkan suatu analisis kelayakan usaha pengolahan susu sapi murni yang berkaitan