PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI ROBET ARIS DWI PUTRA 091402109 PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi informasi PROGRAM STUDI TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2014
ii PERSETUJUAN Judul : PERANCANGAN APLIKASI PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE Kategori : SKRIPSI Nama : ROBET ARIS DWI PUTRA Nomor Induk Mahasiswa : 091402109 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen Fakultas : TEKNOLOGI INFORMASI : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Januari 2014 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Romi Fadillah Rahmat, B.Comp.Sc.M.Sc Dr. Erna Budhiarti Nababan, M.IT. NIP 19860303 201012 1 004 NIP Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Prof. Dr. Opim Salim Sitompul, M.Sc. NIP 19610817 198701 1 001
iii PERNYATAAN PERANCANGAN PERMAINAN MENCARI KATA BERBASIS ANDROID MENGGUNAKAN ALGORITMA BRUTE FORCE SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Januari 2014 ROBET ARIS DWI PUTRA 091402109
iv UCAPAN TERIMA KASIH Segala puji dan syukur penulis panjatkan hanya bagimu Tuhan Yesus Kristus atas segala berkat dan pengasihanmu yang sungguh berlimpah, sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi Program Studi S1 Teknologi Informasi. Penyelesaian skripsi ini tidak terlepas dari bantuan dari berbagai pihak, untuk itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada: 1. Bapak Ketua dan Sekretaris Program Studi Teknologi Informasi, Prof. Dr. Opim Salim Sitompul, M.Sc. dan Drs. Sawaluddin, M.IT. 2. Ibu Dr. Erna Budhiarti Nababan, M.IT selaku pembimbing satu dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.M.Sc selaku pembimbing dua yang telah banyak meluangkan waktu dan pemikirannya, motivasi, kritik dan saran kepada penulis. 3. Ucapan terima kasih juga ditujukan kepada Bapak M. Fadly Syahputra, B.Sc,M.Sc.IT dan Sarah Purnamawati, ST,M.Sc yang telah bersedia menjadi dosen pembanding, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi. 4. Ucapan terimakasih yang sangat besar penulis ucapkan kepada kedua orangtua penulis. P.Simanjuntak dan R.br Gultom yang telah memberi dukungan baik secara spiritual dan materi serta abang dan adek penulis yang selalu memberikan semangat. 5. Ucapan terima kasih yang sangat besar penulis ucapkan kepada Naomi chrisentya hutabarat atas semangat dan motivasi yang diberikan kepada penulis. 6. Terima kasih juga penulis ucapkan kepada teman-teman, Johanes, Arif, Toni, Boho, Leo, Boho, Ganesa, Anggreni, Wildan, Satrya, Sion, Stela, Suando, dan seluruh teman-teman seperjuangan yang tidak dapat disebutkan. Akhir kata, penulis ucapkan terimakasih kepada semua pihak yang telah membantu menyelesaian skripsi ini yang tidak bisa penulis sebutkan satu persatu. Semoga Tuhan Yesus Kristus membalas kebaikan kalian semua, dan semoga skripsi yang penulis buat dapat bermanfaat lebih banyak daripada biaya dan usaha yang penulis keluarkan di dalam pembuatan skripsi ini.
v ABSTRAK Permainan mencari kata adalah permainan pencarian kata dalam kumpulan huruf pada sebuah grid yang berbentuk persegi. Algoritma pencocokan string brute force dapat diterapkan kedalam sebuah aplikasi untuk dapat melakukan pencarian kata. Algoritma brute force adalah algoritma lempang yang bertujuan untuk mendapatkan solusi dari sebuah masalah secara sederhana, langsung, dan jelas. Semua kemungkinan solusi akan dicoba dan divalidasi oleh algoritma brute force hingga mendapatkan solusi yang benar-benar sesuai dengan aturan permasalahan. Aplikasi yang dibangun bertujuan untuk memudahkan pemain dalam mencari kata dalam permainan mencari kata, sehingga pemain dapat segera mengetahui letak kata-kata yang tersembunyi di papan permainan. Hasil yang diperoleh dari aplikasi yang dibangun adalah bahwa implementasi algoritma brute force dapat menyelesaikan penyelesaian permainan mencari kata secara tepat dan benar. Kata kunci : Permainan mencari kata, Brute Force, Android
vi THE DESIGNING OF PERMAINAN MENCARI KATA ON ANDROID USING BRUTE FORCE ALGORITHM ABSTRACT Permainan Mencari Kata is a searching for words game in the collection of letters on a square grid. The Brute Force String Matching Algorithm can be applied in an application for searching words. Brute Force Algorithm is a Straightforward Algorithm which aimed for getting the solution of the problem simply, to the point and clearly. All the solution possibilities wil be tried and validated by the Brute Force Algorithm until it gets the real solution which is suitable with the rules. This application is established to simplify player in searching words in Permainan Mencari Kata, then the player can be soon knowing the location of hidden words in the game board. The obtained result of this established application is that the Brute Force Algorithm implementation can complete the settlement of Permainan Mencari Kata appropriately and correctly. Keyword: Permainan Mencari Kata, Brute Force, Android
vii DAFTAR ISI PERSETUJUAN PERNYATAAN UCAPAN TERIMA KASIH ABSTRAK ABSTRACT DAFTAR ISI DAFTAR TABEL DAFTAR GAMBAR Hal ii iii iv v vi vii x xii BAB I PENDAHULUAN 1 1.1 Latar Belakang 1 1.2 Rumusan Masalah 2 1.3 Batasan Masalah 3 1.4 Tujuan Penelitian 3 1.5 Manfaat Penelitian 3 1.6 Metodologi Penelitian 4 1.7 Sistematika Penulisan 4 BAB II LANDASAN TEORI 6 2.1 Game (Permainan) 6 2.2 Permainan Mencari Kata 8 2.3 Pencocokan String (String Matching) 8 2.4 Algoritma Brute Force 9 2.5 Android 9 2.6 Database 12 2.7 UML (Unified Modeling Language) 13 2.8 Penelitian Terdahulu 14
viii BAB III ANALISIS DAN PERANCANGAN 15 3.1 Analisis Sistem 15 3.1.1 Analisis Permainan 15 3.1.2 Analisis Algoritma Brute force pada permainan 16 mencari kata 3.1.2.1 Pencocokan Karakter K 18 3.1.2.2 Pencocokan Karakter A 20 3.1.2.3 Pencocokan Karakter M 20 3.1.2.4 Pencocokan Karakter U 21 3.2 Perancangan Aplikasi 22 3.3 Flowchart Sistem 23 3.4 Perancangan Visual Menggunakan UML 24 3.4.1 Identifikasi Use Case Diagram 24 3.4.1.1 Use Case Mulai Permainan 26 3.4.1.2 Use Case Mencari Kata 27 3.4.1.3 Use Case Minta Bantuan 28 3.4.1.4 Use Case Pengaturan Suara 29 3.4.1.5 Use Case Kembali Ke Menu Utama 30 3.4.1.6 Use Case Input Nama 31 3.4.1.7 Use Case Pause Permainan 32 3.4.1.8 Use Case Resume Permainan 33 3.4.1.9 Use Case Panduan 34 3.4.1.10 Use Case Tentang 35 3.4.1.11 Use Case Melihat Skor 36 3.4.1.12 Use Case Keluar 37 3.4.2 Perancangan Class Diagram 38 3.5 Perancangan Antarmuka Pemain 39
ix BAB IV IMPLEMENTASI DAN PENGUJIAN APLIKASI 44 4.1 Implementasi 44 4.1.1 Spesifikasi Perangkat Lunak 44 4.1.2 Spesifikasi Perangkat Keras 45 4.2 Algoritma Brute Force Dalam Aplikasi Permainan Mencari 45 Kata 4.3 Tampilan Aplikasi 46 4.3.1 Tampilan Halaman Menu Utama 46 4.3.2 Tampilan Halaman Permainan 46 4.3.3 Tampilan Halaman Nilai Tertinggi 51 4.3.4 Tampilan Halaman Panduan 51 4.3.5 Tampilan Halaman Tentang 52 4.4 Pengujian 52 4.4.1 Pengujian Integrasi Aplikasi 52 4.4.1.1 Proses Pada Tampilan Menu Utama 53 4.4.1.2 Proses Pada Tampilan Halaman Permainan 54 4.4.1.3Proses Pada Tampilan Nilai Tertinggi Permainan 60 4.4.1.4 Proses Pada Tampilan Panduan Permainan 60 4.4.1.5 Proses Pada Tampilan Tentang Permainan 61 4.4.1.6 Proses Pada Tampilan Keluar Permainan 61 4.4.2 Pengujian Pada Aspek Antarmuka Aplikasi 61 4.4.3 Pengujian Pada Aspek Penggunaan Aplikasi 64 BAB 5 KESIMPULAN DAN SARAN 67 5.1 Kesimpulan 67 5.2 Saran 67 DAFTAR PUSTAKA 68 Lampiran A 69 Lampiran B 73
x DAFTAR TABEL Hal Tabel 2.1 Tabel Penelitian Terdahulu 14 Tabel 3.1 Pencocokan Pattern K ke Text A 18 Tabel 3.1.1 Pencocokan Pattern K ke Text D 19 Tabel 3.1.2 Pencocokan Pattern K ke Text M 19 Tabel 3.1.3 Pencocokan Pattern K ke Text K 19 Tabel 3.1.4 Pencocokan Pattern A ke Text A 20 Tabel 3.1.5 Pencocokan Pattern M ke Text D 20 Tabel 3.1.6 Pencocokan Pattern M ke Text M 20 Tabel 3.1.7 Pencocokan Pattern U ke Text D 21 Tabel 3.1.8 Pencocokan Pattern U ke Text K 21 Tabel 3.1.9 Pencocokan Pattern U ke Text U 21 Tabel 3.2 Dokumentasi Naratif Use Case Mulai Permainan 26 Tabel 3.3 Dokumentasi Naratif Use Case Mencari Kata 27 Tabel 3.4 Dokumentasi Naratif Use Case Minta Bantuan 28 Tabel 3.5 Dokumentasi Naratif Use Case Pengaturan Suara 29 Tabel 3.6 Dokumentasi Naratif Use Case Kembali ke Menu Utama 30 Tabel 3.7 Dokumentasi Naratif Use Case Input Nama 31 Tabel 3.8 Dokumentasi Naratif Use Case Pause Permainan 32 Tabel 3.9 Dokumentasi Naratif Use Case Resume Permainan 33 Tabel 3.10 Dokumentasi Naratif Use Case Panduan 34 Tabel 3.11 Dokumentasi Naratif Use Case Tentang 35 Tabel 3.12 Dokumentasi Naratif Use Case Melihat Skor 36 Tabel 3.13 Dokumentasi Naratif Use Case Keluar 37 Tabel 3.14 Penjelasan Kelas Kelas Pada Class Diagram Permainan 39 Mencari Kata Tabel 3.15 Tabel Skor 42
xi Tabel 3.16 Tabel Kata Dasar 43 Tabel 4.1 Hasil Proses Evaluasi Pada Tampilan Menu Utama 53 Tabel 4.1 Hasil Proses Evaluasi Pada Tampilan Menu Utama 54 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 54 Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 55 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 56 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 57 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 58 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 59 (Lanjutan) Tabel 4.2 Hasil Proses Evaluasi Pada Tampilan Papan Permainan 60 (Lanjutan) Tabel 4.3 Hasil Proses Evaluasi Pada Tampilan Nilai Tertinggi 60 Tabel 4.4 Hasil Proses Evaluasi Pada Tampilan Panduan 60 Tabel 4.5 Hasil Proses Evaluasi Pada Tampilan Tentang 61 Tabel 4.6 Hasil Proses Evaluasi Keluar dari Aplikasi 62 Tabel 4.7 Hasil Evaluasi Antarmuka Aplikasi 63 Tabel 4.8 Hasil Pengujian Kuesioner Terhadap Pengguna Aplikasi 65
xii DAFTAR GAMBAR Hal Gambar 2.1 Arsitektur Android 11 Gambar 3.1 Flowchart Algoritma Brute Force 17 Gambar 3.2 Permainan Mencari Kata 3 x 3 18 Gambar 3.3 Permainan Mencari Kata Dengan Solusi Menggunakan 22 Algoritma Brute Force Gambar 3.4 Flowchart sistem 23 Gambar 3.5 Flowchart menu bantu 24 Gambar 3.6 Use Case Diagram Permainan Mencari Kata 26 Gambar 3.7 Activity Diagram Mulai Permainan 27 Gambar 3.8 Activity Diagram Mencari Kata 28 Gambar 3.9 Activity Diagram Minta Bantuan 29 Gambar 3.10 Activity Diagram Pengaturan Suara 30 Gambar 3.11 Activity Diagram Kembali ke Menu Utama 31 Gambar 3.12 Activity Diagram Input Nama 32 Gambar 3.13 Activity Diagram Pause Permainan 33 Gambar 3.14 Activity Diagram Resume Permainan 34 Gambar 3.15 Activity Diagram Panduan 35 Gambar 3.16 Activity Diagram Tentang 36 Gambar 3.17 Activity Diagram Melihat Skor 37 Gambar 3.18 Activity Diagram Keluar 38 Gambar 3.19 Class Diagram Permainan Mencari Kata 38 Gambar 3.20 Rancangan Antarmuka Halaman Menu Utama 39 Gambar 3.21 Rancangan Antarmuka Halaman Permainan 40 Gambar 3.22 Rancangan Antarmuka Halaman Nilai Tertinggi 41 Gambar 3.23 Rancangan Antarmuka Halaman Panduan 41 Gambar 3.24 Rancangan Antarmuka Halaman Tentang 42 Gambar 4.1 Tampilan Menu Utama 46
xiii Gambar 4.2 Tampilan Halaman Permainan 47 Gambar 4.3 Tampilan Permainan dalam Keadaan Pause 47 Gambar 4.4 Tampilan Kondisi Saat Permainan Sedang Berlangsung 48 Gambar 4.5 Tampilan Kondisi Permainan dalam Keadaan Tidak 48 Bersuara Gambar 4.6 Tampilan Permainan dalam Keadaan Pemainan Menekan 49 Tombol Bantu Gambar 4.7 Tampilan Permainan Saat Pemain Menekan Tombol 49 Home Gambar 4.8 Tampilan Permainan Ketika Berhasil Menyelesaikan Level 1 50 Gambar 4.9 Tampilan Permainan Ketika Pemain Berhasil 50 Menyelesaikan Semua Level Gambar 4.10 Tampilan Permainan Ketika Tidak Berhasil 51 Menyelesaikan Permainan Gambar 4.11 Tampilan Halaman Nilai Tertinggi 52 Gambar 4.12 Tampilan Panduan 51 Gambar 4.13 Tampilan Halaman Tentang 52