Penerapan Algoritma Brute Force pada Perancangan Aplikasi Kamusta Bahasa Indonesia-Inggris Berbasis Android
PENERAPAN ALGORITMA BRUTE FORCE PADA PERANCANGAN APLIKASI KAMUSTA BAHASA INDONESIA – INGGRIS BERBASIS ANDROID SKRIPSI RISKA VINESIA BUTARBUTAR 091402080 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014 Universitas Sumatera Utara
PENERAPAN ALGORITMA BRUTE FORCE PADA PERANCANGAN APLIKASI KAMUSTA BAHASA INDONESIA – INGGRIS BERBASIS ANDROID
SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
RISKA VINESIA BUTARBUTAR
091402080 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2014
PERSETUJUAN
Judul : PENERAPAN ALGORITMA BRUTE FORCE PADA PERANCANGAN APLIKASI KAMUSTA BAHASA INDONESIA
- – INGGRIS BERBASIS ANDROID
Kategori : SKRIPSI Nama : RISKA VINESIA BUTARBUTAR Nomor Induk Mahasiswa : 091402080 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 29 Agustus 2014
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dr. Erna Budhiarti Nababan, M.IT M. Andri Budiman,ST.,M.Comp.Sc., M.E.M.
NIP - NIP 19751008 200801 1 011 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, M. Anggia Muchtar,S.T., MM.IT.
NIP 19800110 200801 1 010
PERNYATAAN
PENERAPAN ALGORITMA BRUTE FORCE PADA PERANCANGAN APLIKASI KAMUSTA BAHASA INDONESIA
- – INGGRIS BERBASIS ANDROID
SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 29 Agustus 2014 Riska Vinesia Butarbutar 091402080
UCAPAN TERIMA KASIH
Puji dan syukur penulis sampaikan kehadirat Tuhan Yang Maha Esa telah memberikan berkat dan rahmat-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh ijazah Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Untuk itu penulis mengucapkan terima kasih kepada:
1. Skripsi ini penulis persembahkan untuk kedua orang tua dan keluarga penulis yang telah memberikan dukungan dan motivasi, ayah penulis Ipda. Pol. P.
Butarbutar dan ibu penulis Bungur Marice Pangaribuan, S.Pd yang selalu sabar dalam membesarkan dan mendidik penulis. Kakak penulis Christina Natalia Butarbutar, S.Pd dan kedua adik penulis Hengki Partogi Butarbutar dan Sinthya Stevani Butarbutar yang selalu memberikan dorongan dan dukungan kepada penulis.
2. Bapak M. Andri Budiman, ST.,M.Comp.Sc., M.E.M. dan Ibu Dr. Erna Budhiarti Nababan, M.IT. selaku dosen pembimbing penulis yang telah meluangkan waktu, pikiran, saran, dan kritiknya untuk penulis dalam menyelesaikan skripsi ini.
3. Bapak M. Anggia Muchtar, S.T., MM.IT. dan Bapak Dedy Arisandi, S.T., M.Kom. yang telah bersedia menjadi dosen penguji dan memberikan saran dan kritik yang membangun dalam penyelesaian skripsi ini.
4. Ketua dan Sekretaris Program Studi S1 Teknologi Informasi, Bapak M.
Anggia Muchtar, S.T., MM.IT. dan Bapak Mohammad Fadly Syahputra, B.Sc., M.Sc.IT.
5. Seluruh dosen Departemen Teknologi Informasi dan Ilmu Komputer USU yang telah memberikan ilmu, dukungan, arahan dan bantuannya selama proses perkuliahan, serta Ibu Delima dan Bang Faisal, sebagai staf Tata Usaha Program Studi Teknologi Informasi Universitas Sumatera Utara.
6. Sahabat-sahabat yang selalu mendukung dan memberi semangat kepada penulis, Fida Elvi Anderia Sebayang, S.TI, Stella Maris Harefa, S.TI, Ade Chania Sion Sagala, S.TI, Cynthia Arrilla Sembiring, S.TI, Jihan Meutia Fauzen, S.TI, Annifa Iqramitha, S.TI, dan semua teman angkatan 2009.
7. Seluruh rekan kuliah sejawat yang tidak dapat disebutkan satu persatu. Penulis menyadari bahwa masih banyak kekurangan dalam skripsi ini, untuk itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua pihak demi kesempurnaan skripsi ini. Akhir kata penulis ucapkan terima kasih.
ABSTRAK
Kamusta ialah sebuah aplikasi kamus yang dirancang dengan mode offline dan online yang dapat menerjemahkan dari bahasa Indonesia ke bahasa Inggris dan sebaliknya dengan fitur tambahan seperti text to speech, online translator, speech recognition dan fitur Copy-paste. Penulis merancang aplikasi penerjemah Kamusta Bahasa Indonesia- Inggris dan Inggris-Indonesia dengan perangkat mobile. Platform Android merupakan salah satu generasi mobile phone yang sangat banyak digunakan di Indonesia dan menjadikan Android sebagai generasi baru platform mobile yang menarik untuk dikembangkan. Penerapan algoritma pencocokan string Brute Force dapat digunakan kedalam sebuah aplikasi untuk menerjemahkan bahasa. Algoritma Brute Force adalah algoritma luas yang bertujuan untuk mendapatkan solusi dari sebuah masalah secara sederhana, langsung, dan jelas. Perancangan aplikasi ini bertujuan untuk menghasilkan aplikasi translator Kamusta dengan fitur text to speech dan speech
recognition berbasis android yang dapat memudahkan user untuk menerjemahkan
bahasa Indonesia-Inggris dan sebaliknya sesuai keinginan user dengan menerapkan algoritma Brute Force. Hasil yang diperoleh dari aplikasi yang dibangun adalah bahwa implementasi algoritma Brute Force dapat membantu menyelesaikan aplikasi translator Kamusta dengan tepat dan benar.
Kata kunci : kamus indonesia-inggris, brute force, android
BRUTE FORCE ALGORITHM IMPLEMENTATION TO THE DESIGNING
APPLICATION KAMUSTA INDONESIAN- – ENGLISH
BASED ON ANDROID
ABSTRACT
Kamusta is a dictionary application that is designed with offline and online modes which can translate Indonesian to English and reverses with additional features such as text to speech, online translator, speech recognition and copy-paste. The author designed the application Kamusta translator Indonesian-English and English- Indonesian to be used with mobile device. The Android platform is one of the mobile phone generation which is used very widely in Indonesia and make it is a new generation of mobile platform which can be developed. Implementation of the Brute Force string matching algorithm can be used for a language translator. The Brute Force algorithm is a straightforward algorithm that aims to get the solution of that problem might be more simple, direct, and clear. The design of this application aims to produce Kamusta translator application with features text to speech and speech recognition based on Android which can allow the user to translate the language by applying brute force algorithm. The results to obtained that the implementation of the Brute Force algorithm is precise and correct.
Keywords : kamus indonesia-inggris, brute force, android
DAFTAR ISI
Halaman PERSETUJUAN ii
PERNYATAAN iii
UCAPAN TERIMA KASIH iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL x
DAFTAR GAMBAR xi
BAB 1 PENDAHULUAN
1
1.1. Latar Belakang
1
1.2. Rumusan Masalah
3
1.3. Batasan Masalah
3
1.4. Tujuan Penelitian
4
1.5. Manfaat Penelitian
4
1.6. Metodologi Penelitian
4
1.7. Sistematika Penulisan
5 BAB 2 LANDASAN TEORI
7
2.1. Kamus
8
2.2. Kamusta
8
2.3. Pencocokan String (String Matching)
8
2.4. Algoritma Brute Force
8
2.5. Android
9
2.6. Arsitektur android
10
2.7. Java
11
2.8. Eclipse
12
2.9. Database
12
2.10. UML (Unified Modelling Language)
13
2.10.1. Use Case Diagram
13
2.10.2. Activity Diagram
14
2.10.3. State Diagram
14
2.10.4. Class Diagram
15
2.11. Penelitian Terdahulu
15 BAB 3 ANALISIS DAN PERANCANGAN
17
3.1. Analisis Sistem
17
3.1.1. Analisis Aplikasi Kamusta
17
3.1.2. Analisis Algoritma String Matching
18 pada Aplikasi Kamusta
3.1.2.1.
20 Pencocokan karakter “r”
3.1.2.2. Pencocokan
21 karakter “u”
56
45
48
4.3.6. Tampilan Menu Navigasi Drawer
47
4.3.5. Tampilan Terjemahan Online
46
4.3.4. Tampilan Halaman Bahasa Inggris
46
4.3.3. Tampilan Halaman Bahasa Indonesia
4.3.2. Tampilan Halaman Menu
48
44
4.3.1. Tampilan Halaman Splash Screen
44
4.3. Tampilan Aplikasi
44
4.2. Algoritma Brute Force Dalam Aplikasi Kamusta
43
4.1.2. Spesifikasi Perangkat Keras
4.3.7. Tampilan Menu Spell Check
4.3.8. Tampilan Halaman About
4.1.1. Spesifikasi Perangkat Lunak
53 Bahasa Inggris
5.2. Saran
56
5.1. Kesimpulan
56
55 BAB 5 KESIMPULAN DAN SARAN
4.4.6 Proses pada Tampilan Keluar Aplikasi
54
4.4.5 Proses pada Halaman About
4.4.4. Proses pada Halaman Terjemahan
49
51 Bahasa Indonesia
4.4.3. Proses pada Halaman Terjemahan
50
4.4.2. Proses pada Halaman Splash Screen
49
4.4.1. Pengujian Integrasi Aplikasi
49
4.4. Pengujian
43
43
3.1.2.3. Pencocokan karakter “m”
29
33
3.4.1.3. Use Case Melihat Hasil Terjemahan
32
3.4.1.2. Use Case Masukkan Teks
31
3.4.1.1. Use Case Mulai Aplikasi
29
3.4.1. Identifikasi Use Case Diagram
3.4. Pemodelan Visual Menggunakan UML
34
25
3.3. Flowchart Sistem
25
3.2. Perancangan Aplikasi
23
22 3.1.2.5. Pencocokan karakter “h”
3.1.2.4. Pencocokan karakter “a”
22
3.4.1.4. Use Case Tentang
3.4.1.4. Use Case Keluar
4.1. Implementasi
c. Halaman Aplikasi English - Indonesia
43
42 BAB 4 IMPLEMENTASI DAN PENGUJIAN
3.6. Perancangan Database
41
e. Halaman About
41
d. Halaman Pilihan Bahasa
40
39
35
b. Halaman Aplikasi Indonesia - English
38
a. Halaman Menu Utama
38
3.5. Perancangan Antarmuka Pengguna
37
3.4.3. Penjelasan Kelas-kelas pada Class Diagram
36
3.4.2. Perancangan Class Diagram
- – Inggris
- – Bahasa Indonesia
- – Inggris
- – Indonesia
57 LAMPIRAN: Kode Program
59
55
34 Tabel 3.22. Dokumentasi Naratif Use Case Keluar
24 Tabel 3.17. Pencocokan posisi teks “RUMAH”
25
array P pada terjemahan array I
Tabel 3.18. Dokumentasi Naratif Use Case Mulai Aplikasi31 Tabel 3.19. Dokumentasi Naratif Use Case Masukkan Teks
32 Tabel 3.20. Dokumentasi Naratif Use Case Minta Bantuan
33 Tabel 3.21. Dokumentasi Naratif Use Case Tentang
35 Tabel 3.23. Penjelasan Kelas-Kelas Pada Class Diagram Aplikasi kamusta
24 Tabel 3.15. Pencocokan pattern A ke text H
37 Tabel 4.1. Hasil Proses Evaluasi Pada Tampilan Splashscreen
50 Tabel 4.2. Hasil Proses Evaluasi Pada Tampilan Menu Utama
50 Tabel 4.3. Hasil Proses Evaluasi Pada Tampilan
50 Bahasa Indonesia
Tabel 4.4. Hasil Proses Evaluasi Pada Tampilan53 Bahasa Inggris
Tabel 4.5. Hasil Proses Evaluasi Pada Tampilan About54 Tabel 4.6. Hasil Proses Evaluasi Keluar Dari Aplikasi
24 Tabel 3.16. Pencocokan pattern H ke text H
24 Tabel 3.14. Pencocokan pattern M ke text H
DAFTAR TABEL
21 Tabel 3.3. Pencocokan pattern R ke text U
Halaman
Tabel 2.1. Tabel simbol dalam use case diagram13 Tabel 2.2. Tabel simbol activity diagram
14 Tabel 2.3. Tabel simbol state diagram
15 Tabel 2.4. Tabel Penelitian Terdahulu
16 Tabel 3.1. Pencocokan pattern R ke text M
20 Tabel 3.2. Pencocokan pattern R ke text R
21 Tabel 3.4. Pencocokan pattern U ke text U
23 Tabel 3.13. Pencocokan pattern U ke text H
21 Tabel 3.5. Pencocokan pattern R ke text M
22 Tabel 3.6. Pencocokan pattern U ke text M
22 Tabel 3.7. Pencocokan pattern M ke text M
22 Tabel 3.8. Pencocokan pattern R ke text A
22 Tabel 3.9. Pencocokan pattern U ke text A
23 Tabel 3.10. Pencocokan pattern M ke text A
23 Tabel 3.11. Pencocokan pattern A ke text A
23 Tabel 3.12. Pencocokan pattern R ke text H
- – Inggris
- – Indonesia
- – Inggris
DAFTAR GAMBAR
38 Gambar 3.14. Rancangan Antarmuka Halaman Indonesia - English
48 Gambar 4.8. Tampilan Halaman About
48 Gambar 4.7. Tampilan Menu Spell Check
47 Gambar 4.7. Tampilan Menu Navigasi
47 Gambar 4.6. Tampilan Saat Teks Diterjemahkan Secara Online
46 Gambar 4.5. Tampilan Saat Terjemahan Tidak Ditemukan
46 Gambar 4.4. Tampilan Halaman Terjemahan
45 Gambar 4.3. Tampilan Halaman Terjemahan
45 Gambar 4.2. Halaman Menu
41 Gambar 4.1. Splash Screen
41 Gambar 3.17. Rancangan Antarmuka Halaman Tentang
40 Gambar 3.16. Rancangan Antarmuka Halaman Mode bahasa
39 Gambar 3.15. Rancangan Antarmuka Halaman English - Indonesia
37 Gambar 3.13. Rancangan Antarmuka Halaman Menu Utama
Halaman
36 Gambar 3.12. Class Diagram Aplikasi Kamusta
35 Gambar 3.11. Activity Diagram Keluar
34 Gambar 3.10. Activity Diagram Tentang
33 Gambar 3.9. Activity Diagram Melihat Hasil Terjemahan
32 Gambar 3.8. Activity Diagram Memasukan Teks
31 Gambar 3.7. Activity Diagram Mulai Aplikasi
29 Gambar 3.6. Use Case Diagram Aplikasi Kamusta
28 Gambar 3.5. Flowchart Algoritma Brute Force
27 Gambar 3.4. Flowchart Terjemahan bahasa Inggris - Indonesia
26 Gambar 3.3. Flowchart Terjemahan Bahasa Indonesia
18 Gambar 3.2. Flowchart sistem
10 Gambar 3.1. Aplikasi Kamusta
Gambar 2.1. Arsitektur Android49