APLIKASI PERMAINAN WORD SCRAMBLE MENGGUNAKAN
METODE STRING MATCHING PADA
PLATFORM ANDROID
SKRIPSI
ADINAS PUTRA
081402003
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
APLIKASI PERMAINAN
WORD SCRAMBLE
MENGGUNAKAN
METODE
STRING MATCHING
PADA PLATFORM
ANDROID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Teknologi Informasi
ADINAS PUTRA
081402003
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : APLIKASI PERMAINAN WORD SCRAMBLE MENGGUNAKAN METODE STRING MATCHING PADA PLATFOM ANDROID
Kategori : SKRIPSI
Nama : ADINAS PUTRA
Nomor Induk Mahasiswa : 081402003
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Sajadin Sembiring, S.Si, M.Comp.,Sc M. Fadly Syahputra, B.Sc, M.Sc NIP NIP 198603032010121004
Diketahui/Disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
PERNYATAAN
APLIKASI PERMAINAN WORD SCRAMBLE MENGGUNAKAN METODE STRING MATCHING PADA PLATFORM ANDROID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Februari 2015
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan atas kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat utama memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Ucapan Terima kasih penulis sampaikan kepada:
1. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer Dan Teknologi Informasi Universitas Sumatera Utara.
2. Ucapan Terima kasih kepada ketua dan sekretaris Program Studi Teknologi Informasi, Muhammad Anggia Muchtar, ST,MM.IT dan M.Fadly Syahputra, B.SC, M.Sc.
3. Ucapan terima kasih kepada pembimbing satu bapak M.Fadly Syahputra, B.SC, M.Sc dan kepada bapak Sajadin Sembiring, S.Si, M.Comp.,Sc selaku pembimbing dua yang telah meluangkan waktu serta pikirannya untuk memotivasi dan memberikan kritik dan saran membangun kepada penulis.
4. Ucapan terima kasih kepada bapak Dr.Syahril Efendi, M.IT selaku dosen pembanding satu dan bapak M.Andri Budiman, ST.,B.Comp.Sc.,M.E.M selaku dosen pembanding dua yang telah bersedia sebagai dosen pembanding, semua dosen Teknologi Informasi, Serta seluruh pegawai di Program Studi Teknologi Informasi.
5. Ucapan terima kasih kepada kedua orang tua tua penulis dan seluruh keluarga penulis yang telah memberikan motivasi baik spiritual maupun materil, papa H.Nasrimuddin Angkat dan mama Hj.Adelina Banurea,S.Pd yang selalu sabar dan tabah membesarkan penulis. Serta ucapan terimakasih kepada kakak penulis Ira Hariati, S.Pd selalu memberikan dorongan kepada penulis.
6. Ucapan terima kasih kepada Faisal Hamid yang telah sabar memberikan masukan dan saran dalam penyusunan berkas serta ucapan terima kasih kepada Dina fadillah yang selalu memotivasi penulis.
ABSTRAK
Permainan Word Scramble merupakan pengembangan dari permainan Scrabble yang sangat inspiratif.Dimana solusi untuk petunjuk adalah huruf yang teracak. Aplikasi permainan ini dimainkan oleh satu pemain dengan cara menyusun huruf-huruf yang diacak oleh sistem pada grid N x N sesuai pada kata kunci yang diberikan. Permainan dapat diselesaikan apabila pemain berhasil menyusun seluruh huruf yang tersembunyi pada grid dengan tepat sesuai pattern yang ada. Pencarian solusi pada aplikasi permainan Word Scramble diimplementasikan dengan menggunakan Metode String
matching. Pengembangan aplikasi menggunakan metode perencanaan UML dan
dibangun pada platform Android.
Kata Kunci : Word Scramble,Scrabble, Metode String Matching, Pattern,
WORD SCRAMBLE GAME APPLICATION USING THE STRING
MATCHING METHOD ON ANDROID PLATFORM
ABSTRACT
Word Scramble game is the inspiring development of the game Scrabble. Where is the solution to the instructions scrambled letters. Application of this game is played by one player by arranging letters scrambled by the system on the grid of N x N corresponding to the given keyword. The game can be competed if the player manages to arrange all the letters hidden in the grid to exactly fit the existing pattern. Search solution on word scramble game application implemented using a String matching method. Application development using UML design and is built on the Android
Keyword : Word Scramble, Scrabble, String matching Method, Pattern,
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 2
1.3. Batasan Masalah 3
1.4. Tujuan dan Objektivitas 3
1.5. Manfaat Penelitian 4
1.6. Metodologi Penelitian 4
1.7. Sistematika Penulisan 5
BAB 2 LANDASAN TEORI 6
2.1. Scrabble 6
2.2. Scramble 8
2.3. Kecerdasan Buatan (Artificial Intelligence) 9
2.4. String Matching 11
2.4.1. Defenisi String Matching 11 2.4.2. Kerangka kerja String Matching 11 2.4.3. Kerangka pikir String Matching 11
2.5.2. Arsitektur android 14
BAB 3 ANALISIS DAN PERANCANGAN 18
3.1. Analisis Permainan Word Scramble 19
3.1.1. Gambaran umum 19
3.1.2. Persiapan sistem 19
3.1.3. Persiapan perancangan 20
3.1.4. Alur dasar permainan 20
3.2. Analisis Metode String Matching 22 3.2.1. Pencocokan pattern 25
3.3. Pemodelan Analisis 27
3.3.1 Identifikasi Use case diagram 27 a. Use case membuka aplikasi permainan 29
b. Use case start game 30
c. Use case memilih mode permainan 32 d. Use case menyusun huruf pada board 33 e. Use case selesaikan permainan dengan string matching 35 f. Use case menyimpan nama untuk highscore 36 g. Use case melihat highscore 38 h. Use case melihat tutorial 39 i. Use case melihat about 40 j. Use case keluar aplikasi 42 3.3.2 Perancangan class diagram 43
3.4. Transisi Layar dan Antarmuka 46
3.4.1 Transisi layar 46
3.4.2 Antarmuka 47
BAB 4 IMPLEMENTASI DAN PENGUJIAN 53
4.1. Implementasi 53
4.1.1. Konfigurasi perangkat keras 53 4.1.2. Konfigurasi perangkat lunak 54
4.2. Pengujian Aplikasi 54
4.2.2. Hasil pengujian 58
BAB 5 KESIMPULAN DAN SARAN 61
5.1. Kesimpulan 61
5.2. Saran 62
DAFTAR TABEL
DAFTAR GAMBAR
Gambar 2.1 Jumlah angka dalam huruf scrabble 6 Gambar 2.2 Kondisi awal permainan scrabble 7 Gambar 2.3 Kondisi akhir permainan scrabble 7 Gambar 2.4 Kondisi awal permainan word scramble 8 Gambar 2.5 Kondisi akhir permainan word scramble 9 Gambar 2.6 Arsitektur platform android 14 Gambar 3.1 Papan permainan (a) sisi kiri dan (b) sisi kanan 20 Gambar 3.2 Flowchart Permainan word scramble 22 Gambar 3.3 Flowchart penyelesaian permainan word scramble 23 Gambar 3.4 Papan permainan pada word scramble 25 Gambar 3.5 Pencarian kata yang sesuai dengan kata kunci 27 Gambar 3.6 Use case diagram word scramble 29 Gambar 3.7 Activity diagram membuka aplikasi permainan 30 Gambar 3.8 Activity diagram start game 31 Gambar 3.9 Activity diagram memilih mode permainan 33 Gambar 3.10 Activity diagram menyusun huruf acak pada board 34 Gambar 3.11 Activity diagram selesaikan permainan dengan string matching 36 Gambar 3.12 Activity diagram menyimpan nama untuk highscore 37 Gambar 3.13 Activity diagram melihat highscore 39 Gambar 3.14 Activity diagram melihat tutorial 40 Gambar 3.15 Activity diagram melihat about 41 Gambar 3.16 Activity diagram keluar aplikasi 42 Gambar 3.17 Class diagram word scramble 44 Gambar 3.18 Transisi layar permainan word scramble 47 Gambar 3.19 Rancangan layar main menu 48
Gambar 3.20 Rancang layar highscore 49
Gambar 3.21 Rancang layar preference 49
Gambar 3.24 Rancang layar input type 51
Gambar 3.25 Rancang layar theme 51
Gambar 3.27 Rancangan layar tutorial 52
Gambar 4.1 Screenshot main menu word scramble 55 Gambar 4.2 Screenshot dari tampilan menu new 56
Gambar 4.3 Screenshot dialog highscore 56 Gambar 4.4 Screenshot tampilan menu prefernces 57
ABSTRAK
Permainan Word Scramble merupakan pengembangan dari permainan Scrabble yang sangat inspiratif.Dimana solusi untuk petunjuk adalah huruf yang teracak. Aplikasi permainan ini dimainkan oleh satu pemain dengan cara menyusun huruf-huruf yang diacak oleh sistem pada grid N x N sesuai pada kata kunci yang diberikan. Permainan dapat diselesaikan apabila pemain berhasil menyusun seluruh huruf yang tersembunyi pada grid dengan tepat sesuai pattern yang ada. Pencarian solusi pada aplikasi permainan Word Scramble diimplementasikan dengan menggunakan Metode String
matching. Pengembangan aplikasi menggunakan metode perencanaan UML dan
dibangun pada platform Android.
Kata Kunci : Word Scramble,Scrabble, Metode String Matching, Pattern,
WORD SCRAMBLE GAME APPLICATION USING THE STRING
MATCHING METHOD ON ANDROID PLATFORM
ABSTRACT
Word Scramble game is the inspiring development of the game Scrabble. Where is the solution to the instructions scrambled letters. Application of this game is played by one player by arranging letters scrambled by the system on the grid of N x N corresponding to the given keyword. The game can be competed if the player manages to arrange all the letters hidden in the grid to exactly fit the existing pattern. Search solution on word scramble game application implemented using a String matching method. Application development using UML design and is built on the Android
Keyword : Word Scramble, Scrabble, String matching Method, Pattern,
BAB 1
PENDAHULUAN
1.1. Latar Belakang
Aplikasi permainan (game) sekarang ini sudah semakin berkembang. Hal ini dibuktikan melalui media yang dipakai untuk game yang semakin beragam. Sekarang ini game tidak hanya dapat dimainkan melalui komputer ataupun console saja, tetapi sudah banyak yang menggunakan gadget sebagai media untuk memainkan game
Word game scramble merupakan pengembangan dari permainan scrabble yang sangat inspiratif. permaianan ini dimulai dengan mengacak huruf alphabet dengan aturan yang ada sehingga huruf yang diacak memiliki kata yang tersembunyi sesuai dengan kata kunci yang ada. Permainan ini terdiri dari dua layout sisi, yaitu sisi kiri dan sisi kanan. sisi kiri berupa kata kunci sedangkan sisi kanan berupa kata yang teracak. Permainan ini mencari kosakata sebanyak mungkin yang terdapat dalam grid. Dalam sistem yang dibangun, kata kata yang tersembunyi dalam board dapat ditemukan dengan kemungkinan dari beberapa jalur, yaitu Horizontal ke kanan, Horizontal ke kiri, Vertikal ke atas,Vertikal ke bawah, Diagonal ke kanan-atas, Diagonal ke kanan-bawah, Diagonal ke kiri-atas, Diagonal ke kiri-bawah.
Seiring berkembangnya pengetahuan dan teknologi, aplikasi scramble dapat diselesaikan oleh komputer dengan mengimplementasikan sebuah metode. Metode
String Matching merupakan jenis metode pencarian sebuah pattern pada sebuah teks. Metode ini ditujukan untuk melakukan pencocokan string yang sama dengan cara membandingkan karakter pada window dengan karakter dari pattern. Setelah pencocokan (baik hasilnya cocok atau tidak cocok), dilakukan perpindahan tempat kekanan pada window. Prosedur ini dilakukan berulang-ulang sampai window berakhir pada akhir teks sampai kata yang dicari ditemukan.
Penelitian sebelumnya yang pernah dilakukan mengenai permainan Word game diantaranya adalah Pencarian kata dalam word search puzzle dengan algoritma backtracking(mumtaz, 2008), animasi interaktif word game menggunakan algoritma A star(ilham, 2010), implementasi algoritma Linear Search pada permainan word game scramble(Ratih, 2012), Perancangan dan pembuatan aplikasi word game scramble pada board dua dimensi(Noswa, 2012).
Platform Android merupakan pemain baru yang sangat menarik di pasar perangkat mobile saat ini. Selain memiliki rating yang tinggi dalam jumlah fitur yang bagus pada perangkatnya, Smartphone berbasis Android memiliki presentase tertinggi untuk tingkat pertumbuhan penjualan industri mobile (Jordan, 2011).
Berdasarkan hal-hal diatas, maka penulis berkeinginan merancang penyelesaian permaianan Word Scramble dengan menggunakan metode String Matching. Aplikasi yang akan dibangun berbasis mobile-game Android dengan menggunakan bahasa pemrograman Java.
1.2. Rumusan Masalah
1.3. Batasan Masalah
Batasan masalah pada skripsi ini adalah sebagai berikut :
1. Aplikasi permainan ini dibangun berbasis mobile-game Android dengan menggunakan bahasa pemrograman Java.
2. Aplikasi permainan ini hanya dapat berjalan pada perangkat android dengan sistem operasi minimal Android 4.0 (Ice Cream Sandwich).
3. Aplikasi permainan hanya ditargetkan berjalan dengan baik pada perangkat dengan ukuran layar 7 inch, dengan resolusi 600 x 1024 pixel.
4. Kosa kata yang dicari berdasarkan kata yang ditampilkan pada board serta tidak boleh mengulang kosa kata yang sudah ditemukan walaupun dengan tempat yang berbeda.
5. Papan permainan berukuran 7x7, 8x8, 9x9, 10x10, dan 11x11. 6. Permainan ini bersifat single palyer.
7. Dalam sistem yang dibangun, kata kata yang tersembunyi dalam board dapat ditemukan dengan kemungkinan dari beberapa jalur, yaitu :
Horizontal ke kanan
Horizontal ke kiri
Vertikal ke atas
Vertikal ke bawah
Diagonal ke kanan-atas
Diagonal ke kanan-bawah
Diagonal ke kiri-atas
Diagonal ke kiri-bawah
1.4. Tujuan dan Objektivitas
Adapun tujuan dan objektifitas dari penulisan tugas akhir ini adalah sebagai berikut : 1. Membangun suatu sistem yang dapat menemukan solusi permainan word
2. Membangun sistem yang dapat membantu kita mengenal berbagai macam kosa kata bahasa inggris.
1.5. Manfaat Penelitian
Adapun manfaat yang diharapkan pada skripsi ini adalah sebagai berikut:
1. Penulis dapat menerapkan ilmu pengetahuan yang didapat selama di masa kuliah. 2. Sebagai pembelajaran mengenai bagaimana mencari solusi dari permainan Word
Scramble dengan menggunakan metode String Matching.
3. Penulis dapat lebih mengerti mengenai perancangan aplikasi permainan pada lingkungan android.
4. Sebagai penambah permainan baru mengenai pengenalan kosa kata.
1.6. Metodologi Penelitian
Metode penelitian yang akan digunakan adalah: 1. Studi Literatur
Pada tahap ini akan dilakukan dengan membaca dan mempelajari sumber-sumber baik berupa buku, jurnal, maupun internet yang berkaitan dengan skripsi ini. 2. Analisis dan Perancangan Desain Sistem
Pada tahap ini akan dilakukan analisis mengenai perancangan permainan word scramble. Perancangan desain sistem yang akan dibangun juga akan dibuat pada tahap ini.
3. Implementasi Sistem
Pada tahap ini akan dilakukan pengkodean untuk membangun aplikasi permainan
word scramble.
4. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian terhadap aplikasi yang telah dibuat. 5. Dokumentasi Sistem
1.7. Sistematika Penulisan
Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama yaitu sebagai berikut:
BAB 1 PENDAHULUAN
Bab ini akan menjelaskan tentang latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian, dan sistematika penulisan.
BAB 2 LANDASAN TEORI
Bab ini membahas mengenai teori-teori yang mendukung pembahasan bab selanjutnya.
BAB 3 ANALISIS DAN PERANCANGAN
Bab ini berisikan langkah-langkah penelitian yang dilakukan, serta analisis terhadap permasalahan penelitian.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab ini berisi pembahasan tentang implementasi berdasarkan perancangan yang disusun pada Bab 3 dan pengujian terhadap sistem yang dibangun.
BAB 5 KESIMPULAN DAN SARAN
Bab 2
LANDASAN TEORI
2.1. Scrabble
Scrabble adalah permainan papan dan permainan menyusun kata yang dimainkan 2 atau 4 orang yang mengumpulkan poin berdasarkan nilai kata-kata yang dibentuk dari keping huruf diatas papan permainan berkotak-kotak (15 kolom dan 15 baris)
Biji permainan berupa keping berbentuk bujur sangkar yang bertuliskan huruf pada salah satu sisi. Pemain mengambil hingga sebanyak tujuh buah keeping huruf dari kantong, dan berusaha menyusun kata secara mendatar atau menurun seperti teka teki silang. Kata-kata yang dibuat harus merupakan kata yang diizinkan untuk dimainkan berdasarkan kamus standar sesuai dengan bahasa yang dimainkan. Pemain yang mengumpulkan poin tertinggi dinyatakan sebagai pemenang. Adapun jumlah nilai angka yang ada pada tiap huruf dilihat pada gambar 2.1
Gambar 2.2 Kondisi awal permainan Scrabble
2.2. Scramble
Scramble merupakan pengembangan atau modifikasi dari permainan Scrabble. Scramble merupakan permainan susun kata yang inspiratif demi menambah pembendaharaan kata. Permainan ini didasarkan pada pencarian kata yang telah tersedia disebelah kiri board. Board sendiri berisi huruf-huruf yang diacak. Aturan permainan nya yaitu pemain diharuskan mencari kata yang sesuai pada board yang diacak agar membentuk huruf yang sesuai dengan kalimat disebelah kiri board.
Gambar 2.5 Kondisi akhir permainan word scramble
2.3. Kecerdasan Buatan (Artificial Intelligence)
Kecerdasan buatan (Artificial Intelligence) merupakan proses dimana peralatan mekanik dapat melaksanakan kejadian-kejadian dengan menggunakan pemikiran atau kecerdasan seperti manusia (Siswanto, 2010, hal:1)
Sistem yang berpikir seperti manusia
Sistem yang berpikir secara rasional
“Upaya baru yang menarik untuk membuat komputer berpikir … mesin dengan pikiran, dalam arti penuh dan literal” (Haugland, 1985)
“[Otomatisasi dari] kegiatan yang kita kaitkan dengan pemikiran manusia, kegiatan seperti pembuatan keputusan, pemecahan masalah, belajar …” (Bellman, 1978).
“Studi tentang kemampuan mental melalui penggunaan model komputasi.” (Charniak dan McDermott, 1985).
“Studi tentang perhitungan yang memungkinkan untuk melihat, berfikir, dan bertindak.” (Winston, 1992).
“Seni menciptakan mesin yang melakukan pekerjaan yang membutuhkan kecerdasan ketika dilakukan oleh manusia.” (Kurzweil, 1990).
“Studi tentang bagaimana membuat komputer melakukan sesuatu dimana, pada saat ini manusia lebih baik.” (Rich dan Knight, 1991).
“Computational Intelligence adalah studi mengenai disain dari agen cerdas (Intelligent Agents).” (Poole et al., 1998) .
“AI … berhubungan dengan
Intelligent behaviour in artifact.”
(Nilssin, 1998 ).
Tabel 2.1 Definisi Artificial Intelligence (Russel et al, 2003)
Menurut Kusumadewi (2003, hal: 7) pada dasarnya kecerdasan buatan memiliki beberapa ruang lingkup. Ruang lingkup tersebut diantaranya adalah :
1. Sistem Pakar (Expert System)
Pada sistem pakar ini, komputer digunakan sebagai sarana untuk menyimpan pengetahuan para pakar. Dengan demikian komputer akan memiliki keahlian untuk menyelesaikan permasalahan dengan meniru keahlian yang dimiliki oleh pakar.
2. Pengolahan Bahasa Alami ( Natural Language Processing ).
Pengolahan bahasa alami diharapkan bisa membuat user dapat berkomunikasi dengan komputer dengan menggunakan bahasa sehari-hari
3. Pengenalan Ucapan ( Speech Recognition )
Melalui pengenalan ucapan diharapkan manusaia dapat berkomunikasi dengan komputer dengan menggunakan suara.
4. Robotika dan Sistem Sensor ( Robotics and Sensory system ) 5. Computer Vision
Computer vision mencoba untuk menginterpretasikan gambar atau obyek tampak melalui komputer.
6. Intelligent Computer-aided Instruction
2.4. String Matching
2.4.1. Defenisi String Matching
String adalah susunan dari karakter-karakter (angka, alphabet, atau karakter yang lain) dan biasanya direpresentasikan sebagai struktur data array. String dapat berupa kata, frase, atau kalimat. Sedangkan String matching diartikan sebuah permasalahan untuk menemukan pola susunan karakter string dalam string lain atau bagian dari isi teks.
Pencarian string yang biasa disebut pencocokan string(String Matching) merupakan metode untuk melakukan pencarian semua kemunculan string pendek pattern [0…n-1] yang disebut pattern di string yang lebih panjang teks [0…m-1] yang disebut teks(Charras, 1997:11).
2.4.2 .Ker a ng ka Ker ja Str ing Ma tching
Persoalan pencarian string dirumuskan sebagai berikut (Munir, 2004 :1) Diberikan :
1. Sebuah teks(text), yaitu sebuah string yang panjangnya n karakter.
2. Pattern, yaitu sebuah string dengan panjang m.
Dengan sebuah nilai karakter (m<n) yang akan di cari dalam teks. Dalam metode pencocokan string, teks diasumsikan berada dalam memori, sehingga bila kita mencari string didalam sebuah arsip, maka semua isi arsip perlu dibaca terlebih dahulu kemudian disimpan didalam memori. Jika pattern muncul lebih dari sekali didalam teks, maka pencarian hanya akan memberikan keluaran berupa lokasi pattern ditemukan pertama kali.
2.4.3 .Ker a ng ka P ikir Str ing Ma tchin g
1. From left to right
Dari arah yang paling alami, dari kiri kekanan, yang merupakan arah untuk membaca.
2. From right to left
Dari arah kanan kekiri, arah yang biasanya menghasilkan hasil terbaik secara partikal
3. In a specific order
Dari arah yang ditentukan secara spesifik oleh algoritma tersebut, arah ini menghasilkan hasil terbaik secara teoritis.
Beberapa konsep string matching antara lain:
1. Approximate string matching, yaitu sebuah pencarian terhadap pola-pola string(mengandung beberapa proses yaitu menghitung jumlah karakter yang berbeda, penyisipan dan penghapusan karakter) sehingga mendekati pola atau pattern dari string yang dicari.
2. Algoritma pencarian string adalah sebuah proses pencarian tempat dari suatu atau beberapa string yang ditemukan dalam sebuah kumpulan string atau teks. Jalan paling sederhana adalah dengan cara membaca karakter satu persatu dan melakukan perhitungan kesalahan posisi yang ada dari string yang dicari.
2.5. Sistem Operasi Android
Android diperkenalkan pertama kali yaitu pada tahun 2005 ketika Google mengakuisisi perusahaan kecil yang bernama Android,Inc. Pada tahun 2008, Android versi 1.0 resmi dirilis dan menghadirkan spekulasi bahwa Android akan menjadi penantang baru di dunia operating sistem mobile. Android bertarung melawan platform yang sudah mapan seperi iOS (iPhone OS) dan Blackberry. (Zechner, 2011)
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan
Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru yang membuat piranti lunak untuk ponsel / smartphone. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi termasuk Google, Intel, HTC, Motorola, Qualcomm, T-Mobile, dan Nvidia (Safaat, 2010).
Hingga saat ini Android telah merilis sejumlah versi diantaranya yaitu:
1. Android versi 1.0, dirilis pada tanggal 23 September 2008 2. Android versi 1.1, dirilis pada tanggal 9 Maret 2009
3. Android versi 1.5 (Cupcake), dirilis pada tanggal 30 April 2009 4. Android versi 1.6 (Donut), dirilis pada tanggal 15 September 2009 5. Android versi 2.0/2.1 (Eclair), dirilis pada tanggal 26 Oktober 2009 6. Android versi 2.2(Frozen Yoghurt), dirilis pada tanggal 20 Mei 2010 7. Android versi 2.3 (Gingerbread), dirilis pada tanggal 6 Desember 2010 8. Android versi 3.0 (Honeycomb), dirilis pada tanggal 22 Feburari 2011
9. Android versi 4.0 (Ice Cream Sandwich), dirilis pada tanggal 19 Oktober 2011 10.Android versi 4.1 (Jelly Bean), dirilis pada tanggal 9 Juli 2012
11. Android versi 4.2 (Jelly Bean), dirilis pada tanggal 13 November 2012 12. Android versi 4.3 (Jelly Bean), dirilis pada tanggal 24 Juli 2013 13. Android versi 4.4 (Kitkat), dirilis pada tanggal 31 Oktober 2013
2.5.1. Fitur android
Android bukan hanya sekadar distribusi lain dari Linux untuk perangkat mobile. Ketika membangun aplikasi android, kita sama sekali tidak seperti sedang berhadapan dengan kernelLinux. Developer menghadapi platform berdasarkan kernel Linux
dengan bahasa pemrograman Java (Zechner, 2011). Menurut Safaat (2010, hal: 5)
android memiliki beberapa fitur , diantanya yaitu :
4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D dan 3D
berdasarkan spesisfikasi OpenGL ES 1.0 (Opsional akselerasi hardware). 5. SQLite untuk menyimpan data.
6. Media support yang mendukung audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware).
7. Bluetooth, EDGE, 3G, dan WiFi (tergantung hardware).
8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware).
9. Lingkungan Development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
2.5.2. Arsitektur android
Android terdiri dari beberapa stack software yang terdiri dari : Applications and Widgets, Application Framework, Libraries, Android Runtime dan Kernel Linux. Arsitektur platform ini dapat dilihat pada gambar 2.6.
Gambar 2.6 Arsitektur platform Android(Safaat, 2010)
Aplications and Widgets ini adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya 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 apliksi ditulis menggunakan pemrograman Java.
b. Applications F rameworks
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
servicebackground, 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 dimana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada providers yang berupa SMS
dan panggilan telepon.
Komponen-komponen yang termasuk di dalam Aplications Frameworks adalah sebagai berikut :
a. Views
b. Content Providers
c. Resource Manager
c. Libraries
Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, layer ini meliputi berbagai library C/C+ + inti seperti Libc dan SSL, serta :
a. libraries media untuk pemutaran media audio dan video
b. libraries untuk manajemen tampilan
c. libraries Graphic mencakup SGL dan OpenGL untuk grafis 2D dan 3D
d. libraries SQLite untuk dukungan database
e. libraries SSL dan WebKit terintegrasi dengan web browser dan security
f. libraries LiveWebcore mencakup modern web browser dengan engine embeded web view
g. libraries 3D yang mencakup implementasi OpenGL ES 1.0 API’s
d. Android Run Time
Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan Implementasi Linux. Dalvik Vitual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian yaitu :
a. 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.
merupakan pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah.
e. Linux Kernel
Linuxkenel adalah layer dimana inti dari operating system dari Android itu berada. Berisi file-file system yang mengatur system processing, memory,
Bab 3
ANALISIS DAN PERANCANGAN
Permainan scramble merupakan suatu permainan susun kata yang inspiratif. Permainan diawali dengan mengacak kata demi kata pada board yang tersedia. Kata-kata yang akan dicari juga disediakan untuk mempermudah pemain mencari Kata-kata yang tersembunyi pada board. Banyak inovasi permainan ini yang telah dibuat, salah satunya yang dibuat oleh penulisan dengan tujuan memperbanyak pustaka dari permainan scramble ini. Selain itu penulis juga akan mencoba membuat solver untuk permainan ini dengan menggunakan metode string matching.
Pembangunan aplikasi permainan ini, analisis perlu dilakukan sebelum tahap perancangan dilakukan. Perancang aplikasi harus menganalisis kebutuhan apa saja yang diperlukan untuk membangun suatu perangkat lunak.
Aplikasi pemainan ini memerlukan beberapa aspek awal dalam pembuatannya, antara lain:
1. Aplikasi yang akan dibuat adalah sebuah permainan (game), yaitu permainan penyusunan huruf atau angka yang acak pada pada board yang tersedia dan membuat solver dengan menggunakan metode String Match.
2. Aplikasi permainan ini dapat dimainkan oleh semua usia, yang dapat digunakan oleh anak- anak dan orang dewasa.
3.1. Analisis Permainan Word Scramble
Word Scramble adalah Permainan berupa susun kata yang merupakan pengembangan dari permainan Scrabble yang inspiratif. Permainan ini pada mulanya mengacak huruf yang ada pada board sesuai dengan aturan yang ada, lalu hasil acakan itu disusun sesuai dengan kata kunci yang ada untuk diisi pada board N x N yang tersedia. Permainan ini mencari kosa kata sebanyak mungkin sesuai dengan kata kunci huruf yang telah disediakan.dengan cara mengklik atau drag huruf yang ada pada board sampai huruf-huruf ditemukan keseluruhan. Disini penulis akan merancang, menjabarkan gambaran umum permainan dan penerapannya yang akan dijalankan pada perangkat Android.
3.1.1 Gambaran umum
Dalam bab ini penulis menjabarkan gambaran umum jenis permainan yang akan dirancang dan penerapannya di android sebagai persiapan awal sebelum implementasi.
3.1.2 Persiapan sistem
Adapun persiapan permainan yang dikategorikan kedalam permainan scramble, yaitu sebagai berikut :
1. Aplikasi yang dibangun hanya dijalankan pada perangkat android dengan system operasi minimal Android 4.0 dengan kode nama Ice Cream Sandwich.
2. Aplikasi permainan ini ditargetkan berjalan pada perangkat dengan resolusi 600 x 1024 piksel, dengan bentang layar 7 inci.
3. Orientasi layar aplikasi permainan yang dibangun yaitu landscape dan fullscreen.
3.1.3 Persiapan perancangan
Aplikasi permainan ini memiliki dua sisi, yaitu sisi kanan dan sisi kiri. Sisi kanan yaitu board yang berisi huruf-huruf teracak yang akan disusun sesuai dengan kata kunci huruf pada sisi kiri. Kata kunci tersebut bias dipilih sesuai dengan kategori yang diinginkan, sedangkan untuk boardnya penulis menggunakan varian dengan board berukuran 7x7, 8x8, 9x9, 10x10, dan 11x11.
Adapun bentuk dari aplikasi permainan ini dapat dilihat pada gambar 3.1
(a)
SARDINE
LLAMA
PUPPY
WORM
ANGORA
PIKE
TOAD
M
A
P
D
Y
S
E
T
R
R
K
L
M
K
E
O
O
O
K
O
I
Y
Y
A
W
G
E
P
S
A
R
D
I
N
E
A
A
M
A
L
L
A
I
Y
P
P
U
P
Y
[image:35.595.125.554.278.544.2](b)
Gambar 3.1 Papan Permainan (a) sisi kiri dan (b) sisi kanan
3.1.4 Alur dasar permainan
Dalam perancangannya, aplikasi permainan ini memiliki alur dalam memainkannya. Pertama sekali pemain membuka aplikasi yang akan menampilkan langsung board beserta kata kunci acak. Didalam tampilan permaianan ini terdapat lima menu, antara lain menu New game, High Scores, Preferences, tutorial dan Solve. Berikut flowchart
Start Tampilkan halaman utama
Pilih Menu
New Tidak Highscore Ya Tampilkan Halaman Highscore
Tampilkan kata kunci dan board game baru Ya
Main? Diselesaikan oleh Pemain Ya Permainan berakhir Ya Main lagi Ya Selesai Close Preference Tidak
Pilih Menu Preference
[image:36.595.53.553.119.588.2]Ya Tutorial Tidak Tampilkan Halaman Tutorial Ya Solve Tidak Tidak Sistem menampilkan Solve perkunci Tidak
3.2. Analisis Metode String Matching
Dalam melakukan pencarian solusi pada aplikasi permainan Word Scramble, aplikasi ini menggunakan metode String Matching. Dalam menentukan pattern yang akan dikembangkan, metode ini akan mencocokkan kata pada board dengn kata kunci untuk mencapai solusi yang diinginkan (goal). Secara umum langkah-langkah pencarian pada metode String matching adalah sebagai berikut :
a. Mulai mencocokkan pattern pada awal teks
b. Dimulai dari kiri kekanan, kanan kekiri, atas kebawah, bawah keatas, diagonal kanan kebawah, diagonal kiri keatas, diagonal kanan keatas, dan diagonal kiri kebawah. metode ini akan mencocokkan karakter perkarakter pattern dengan karakter di teks yang bersesuaian, sampai salah satu kondisi berikut terpenuhi :
1. Karakter di pattern dan di teks yang dibandingkan tidak cocok (mismatch).
2. Semua karakter di pattern cocok. Kemudian metode ini akan memberitahukan penemuan posisi ini.
c. Metode kemudian menggeser pattern berdasarkan table next, lalu mengulangi langkah 2 sampai pattern berada diujung teks.
Yes START Load Kamus Load pattern Check Pattern h.f Check Pattern h.b No Check Pattern v.d No Check Pattern V.u No Check Pattern d.r.d No Check Pattern d.l.u No Check Pattern d.r.u Check Pattern d.l.d No No Simpan Koordinat Node Yes Yes Yes Yes Yes Yes End
Adapun penjelasan langkah-langkah pencarian solusi dengan metode String Matching pada permainan Word Scramble adalah sebagai berikut :
1. Load kamus (database) sebagai pengambilan data kata yang akan dicari pada board
2. Load pattern sebagai acuan pada aturan pencarian pada acakan kata
3. Memeriksa pattern dari horizontal forward, kata akan dicek apakah ada kata yang sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya
4. Memeriksa pattern dari horizontal backward, kata akan dicek apakah ada kata yang sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya 5. Memeriksa pattern dari vertical down, kata akan dicek apakah ada kata yang
sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya
6. Memeriksa pattern dari vertical up, kata akan dicek apakah ada kata yang sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya.
7. Memeriksa pattern dari diagonal right down, kata akan dicek apakah ada kata yang sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya 8. Memeriksa pattern dari diagonal left up, kata akan dicek apakah ada kata yang
sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya
9. Memeriksa pattern dari diagonal right up, kata akan dicek apakah ada kata yang sesuai pada bagian ini apabila ada maka koordinat dari node ini akan disimpan dan apabila tidak ada maka akan diproses ke pengecekan berikutnya
3.2.1. Pencocokan Pattern
Pada metode String Matching, kita membutuhkan pencocokan string sesuai dengan pattern yang ada. Pattern berguna sebagai aturan prioritas node mana yang akan lebih dahulu dievaluasi atau diexpand. String awal yang digunakan penulis pada aplikasi ini yaitu, dengan menghitung ada berapa banyak kemungkinan huruf yang bisa terjadi sesuai pada kata kunci yang ada pada grid.
Sebagai contoh kita ingin mencari kata dari kata kunci LASAGNE sama seperti yang terlihat pada gambar berikut.
LASAGNE
Q
S
E
B
L
B
A
E
E
T
I
A
T
P
H
C
L
S
S
E
R
C
I
E
C
A
B
I
I
U
P
U
G
R
C
U
J
S
I
N
O
O
[image:40.595.108.505.310.494.2]Q
O
Q
T
E
S
T
Gambar 3.4 Papan Permainan pada word Scramble
Kita akan mencari kata LASAGNE pada board yang teracak. Kata LASAGNE terdiri dari 7 huruf.
Untuk pengecekan pertama dilakukan dengan aturan pengecekan horizontal ke kanan. Kata kunci : L – A – S – A – G – N –E ……….. (1)
L – B –A ……… (2)
sesuai dengan kata kunci yaitu A. sehingga sistempun beralih ke pencarian posisi berikut nya.
Untuk pengecekan kedua dilakukan dengan aturan pengecekan horizontal ke kiri. Kata kunci : L – A – S – A – G – N –E ……….. (1)
L – B – E – S - Q ………(3)
Huruf awal yang muncul adalah L, kata L pada pengecekan Horizontal kekiri sesuai dengan kata kunci. Maka pencarian dilanjutkan. Huruf kedua adalah B dan tidak sesuai dengan kata kunci yaitu A. sehingga sistempun beralih ke pencarian posisi berikut nya.
Untuk pengecekan ketiga dilakukan dengan aturan pengecekan vertical keatas. Kata kunci : L – A – S – A – G – N –E ……….. (1)
L ………(4)
Huruf awal yang muncul adalah L, kata L pada pengecekan Horizontal keatas sesuai dengan kata kunci. Maka pencarian dilanjutkan. Huruf kedua tidak ditemukan dikarenan board yang digunakan terbentur dengan posisi kata yang dicari. sehingga sistempun beralih ke pencarian posisi berikut nya.
Untuk pengecekan ketiga dilakukan dengan aturan pengecekan vertical kebawah. Kata kunci : L – A – S – A – G – N –E ……….. (1)
L – A – S – A – G – N –E.………(5)
Huruf awal yang muncul adalah L, kata L pada pengecekan Vertikal kebawah sesuai dengan kata kunci. Maka pencarian dilanjutkan. Huruf kedua adalah A dan sesuai dengan kata kunci yaitu A. huruf bergeser ke S dan sesuai dengan kata kunci. huruf bergeser ke A dan sesuai dengan kata kunci. huruf bergeser ke G dan sesuai dengan kata kunci. huruf bergeser ke N dan sesuai dengan kata kunci. huruf bergeser ke E dan sesuai dengan kata kunci. Kata yang dicari sesuai dengan kata kunci sehingga
LASAGNE
Q
S
E
B
L
B
A
E
E
T
I
A
T
P
H
C
L
S
S
E
R
C
I
E
C
A
B
I
I
U
P
U
G
R
C
U
J
S
I
N
O
O
[image:42.595.102.509.103.290.2]Q
O
Q
T
E
S
T
Gambar 3.5 Pencarian kata yang sesuai dengan kata kunci
3.3. Pemodelan Analisis
Pada penelitian ini digunakan UML sebagai bahasa pemodelan untuk mendesain dan merancang aplikasi permainan. Model UML yang digunakan adalah use case diagram, activity diagram, dan class diagram.
3.3.1. Identifikasi use case diagram
Untuk mengetahui actor dan use case yang akan digunakan, maka dilakukan identifikasi actor dan identifikasi use case. Setelah mendapatkan actor dan use case
maka use case diagram dapat digambarkan.
Jawaban : Pemain
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban : Pemain
3. Bagaimana pengguna menggunakan sistem?
Jawaban : Pemain menekan tombol permainan dan langsung bisa memainkan permainan yang telah disediakan dengan kata kunci berdasarkan kategori yang acak serta menyusun seluruh hurf pada board N x N. pemain juga dapat menggunakan menu yang ada pada halaman utama permainan.
Dengan demikian actor yang diperoleh adalah pemain. Untuk mendapatkan
use case dari pemain, maka harus ditentukan hal-hal apa saja yang dapat dilakukan pemain terhadap sistem. Berikut adalah hal-hal yang dapat dilakukan oleh pemain sebagai actor dalam sistem :
1. Membuka Aplikasi Permainan 2. Start Game
3. Memilih mode permainan
4. Menyusun huruf yang diacak pada board 5. Selesaikan permainan dengan String Matching
6. Menyimpan nama untuk highscore 7. Melihat highscore
8. Mengubah mode permainan pada preference 9. Keluar aplikasi
Membuka Aplikasi Permainan Membuka Aplikasi Permainan Star Game Star Game
Memilih Mode Permainan
Memilih Mode Permainan
Memainkan Game
Memainkan Game
Selesaikan Permainan dengan String Matching
Selesaikan Permainan dengan String Matching
Menyimpan nama untuk Highscore
Menyimpan nama untuk Highscore <<extends>> <<extends>> <<extends>> <<extends>> SISTEM Pemain
Gambar 3.6 Use Case diagram word scramble
a. Use case membuka aplikasi permainan
[image:44.595.174.546.82.320.2]Berikut ini tabel dokumentasi naratif dari use case membuka Aplikasi Permainan.
Tabel 3.1Dokumentasi naratif use case memulai game
Nama use case membuka Aplikasi Permainan
Aktor Pemain
Deskripsi Use case ini berfungsi untuk membuka aplikasi permainan word scramble
Normal flow Kegiatan aktor Respon sistem
Pemain membuka aplikasi yang telah diinstal sebelumnya.
Sistem menampilkan tampilan menu utama
Alternative flow Kegiatan aktor Respon sistem
-
-Post condition Sistem menampilkan permainan dan menu utama yang terdiri dari
lima pilihan, yaitu new, highscore, preference, tutorial, solve.
Activity diagram untuk use case Memulai game dapat dilihat pada gambar 3.7.
Buka Aplikasi Word Scramble
Menampilkan Menu utama SISTEM
[image:45.595.144.560.83.284.2]PEMAIN
Gambar 3.7 Activity diagram membuka Aplikasi Permainan
b. Use case start game
Tabel 3.2Dokumentasi naratif use case start game
Nama use case Start Game
Aktor Pemain
Deskripsi Use case ini berfungsi untuk memulai permain word scramble.
Pre condition Menu utama sudah ditampilkan
Normal flow Kegiatan aktor Respon sistem
Pemain memilih menu start pada menu utama.
Sistem menampilkan pilihan mode permainan.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back”
Sistem menampilkan dialog, yang menanyakan apakah pemain benar -benar ingin keluar atau tidak.
Post condition Sistem menampilkan dialog pilihan mode permainan
Activity diagram untuk use case start game dapat dilihat pada gambar 3.8.
Sistem Pemain
tap Start pada menu Utama
Menampilkan Menu Utama
Menampilkan Dialog Pilih Mode Permainan
c. Use case memilih mode permainan
[image:47.595.124.533.221.639.2]Berikut ini tabel dokumentasi naratif dari use case memilih mode permainan.
Tabel 3.3Dokumentasi naratif use case memilih mode permainan Nama use case Memilih mode permainan.
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menentukan mode permainan mana yang akan dimainkan.
Pre condition Pemain telah memilih start pada menu utama.
Normal flow Kegiatan aktor Respon sistem
Pemain milih salah satu mode permainan.
Sistem menampilkan papan permainan sesuai dengan mode yang telah dipilih oleh pemain.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain dialog.
Sistem kembali menampilkan menu utama.
Post condition Pemain dapat mulai memainkan permainan dengan tap and
Activity diagram untuk use case memilih mode permainan dapat dilihat pada gambar 3.9.
Sistem Pemain
Memilih salah satu mode permainan
Menampilkan Dialog Pilihan Mode Permainan
Menampilkan papan permainan
Gambar 3.9 Activity diagram Memilih mode Permainan
d. Use case menyusun huruf pada board
Berikut ini tabel dokumentasi naratif dari use case menyusun huruf pada
board.
Tabel 3.4 Dokumentasi naratif use case menyusun huruf pada board Nama use case Menyusun huruf pada board.
Aktor Pemain
Deskripsi Use case ini berfungsi agar pemain dapat menyelesaikan permainan.
Pre condition Pemain telah memilih mode permainan, dan papan
permainan telah ditampilkan.
Normal flow Kegiatan aktor Respon sistem
huruf pada board.
sesuai dengan instruksi pemain
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back”
Sistem menampilkan dialog konfirmasi apakah ingin keluar dari permainan atau tidak.
Pemain menekan tombol “menu”
Sistem menampilkan menu untuk “menyelesaikan permainan dengan String Matching”.
Post condition Apabila pemain menyelesaikan permainan dan
mendapatkan highscore, akan keluar dialog dan pemain bisa memasukkan namanya.
Activity diagram untuk use case menyusun huruf acak pada board permainan dapat dilihat pada gambar 3.10.
Menampilkan Board permainan
Menyusun huruf yang diinstruksikan oleh pemain
SISTEM PEMAIN
Melakukan tap atau drag huruf yang acak pada board
[image:49.595.146.544.489.714.2]e. Use case selesaikan permainan dengan String Matching
Berikut ini tabel dokumentasi naratif dari use case Selesaikan Permainan dengan String Matching.
Tabel 3.5 Dokumentasi naratif use case Selesaikan Permainan dengan String Matching
Nama use case Selesaikan Permainan dengan String Matching
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menyelesaikan game dengan bantuan dari sistem
Pre condition Papan permainan telah ditampilkan.
Normal flow Kegiatan aktor Respon sistem
Pemain menekan tombol “menu” dan memilih
“menyelesaikan permainan dengan String Matching”
Sistem menampilkan permainan yang sudah di selesaikan
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain menu.
Sistem akan kembali menampilkan papan permainan dan menghilangkan dialog menu yang sebelumnya tampil.
Post condition Sistem menampilkan permainan yang telah selesai dan
Activity diagram untuk use case Selesaikan Permainan dengan String Matching dapat dilihat pada gambar 3.11.
Menampilkan Board permainan
Me a pilka dialog selesaika de ga “tri g Mat hi g
SISTEM PEMAIN
Menekan Menu
Tap selesaika de ga “tri g Mat hi g
Menampilkan permainan yang sudah diselesaikan
Gambar 3.11 Activity diagram Selesaikan Permainan dengan String Matching
f. Use case menyimpan nama untuk highscore
[image:51.595.145.543.136.409.2]Berikut ini tabel dokumentasi naratif dari use case Menyimpan nama untuk highscore
Tabel 3.6 Dokumentasi naratif use case menyimpan nama untuk highscore
Nama use case Menyimpan Nama untuk highscore
Aktor Pemain
Pre condition Permainan telah berhasil diselesaikan sendiri oleh pemain (bukan dengan bantuan sistem) dan skornya termasuk lima skor tertinggi.
Normal flow Kegiatan aktor Respon sistem
Pemain mengetik namanya pada text field yang ada pada alert dialog.
Sistem menyimpan nama dan skor pemain.
Alternative flow Kegiatan aktor Respon sistem
Pemain menekan tombol “back” atau menekan layar selain menu.
Sistem tidak menutup alert dialog sebelum pemain menekan tombol “OK”
Post condition Sistem menampilkan papan permainan yang baru sesuai
mode permainan yang sebelumnya telah dimainkan.
Activity diagram untuk use case menyimpan nama untuk highscore dapat dilihat pada gambar 3.12.
Sistem Pemain
Pemain menyelesaikan permainan
Menampilkan alert dialog dan text field
[image:52.595.120.512.508.727.2]g. Use case melihat highscore
[image:53.595.120.515.221.554.2]Berikut ini tabel dokumentasi naratif dari use casemelihat highscore. Tabel 3.7 Dokumentasi naratif use casemelihat highscore
Nama use case Melihat highscore
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat skor tertinggi permainan
Pre condition Pemain memilih highscore pada menu utama
Normal flow Kegiatan aktor Respon sistem
tap setiap tab. Menampilkan nilai tertinggi.
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “back”
Kembali ke menu utama
Post condition -
Menampilkan highscore SISTEM PEMAIN
Tap highscore
Gambar 3.13 Activity diagram melihat highscore
h. Use case melihat tutorial
[image:54.595.145.544.84.302.2]Berikut ini tabel dokumentasi naratif dari use case melihat tutorial. Tabel 3.8 Dokumentasi naratif use case melihat tutorial
Nama use case Melihat tutorial
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat aturan aplikasi permainan
Pre condition Pemain memilih tutorial pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Menampilkan informasi mengenai
[image:54.595.122.511.507.763.2]Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “back”
Kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat tutorial dapat dilihat pada gambar 3.14.
PEMAIN SISTEM
Ta Tutorial
Menampilkan cara bermain game
Gambar 3.14 Activity diagram melihat tutorial
i. Use case melihat about
[image:55.595.143.523.280.506.2]Nama use case Melihat about
Aktor Pemain
Deskripsi Use case ini berfungsi untuk melihat informasi aplikasi permainan
Pre condition Pemain memilih about pada menu utama
Normal flow Kegiatan aktor Respon sistem
- Menampilkan informasi mengenai
permainan word scramble.
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “back”
Kembali ke menu utama
Post condition -
Activity diagram untuk use case melihat about dapat dilihat pada gambar 3.15.
Sistem Pemain
tap "about"
menampilkan informasi permainan
[image:56.595.145.485.508.718.2]j. Use Case keluar aplikasi
[image:57.595.113.521.189.523.2]Berikut ini tabel dokumentasi naratif dari use casekeluar aplikasi. Tabel 3.10 Dokumentasi naratif use case keluar aplikasi Nama use case Keluar aplikasi
Aktor Pemain
Deskripsi Use case ini berfungsi untuk menutup aplikasi
Pre condition Pemain menekan tombol “back” di menu utama
Normal flow Kegiatan aktor Respon sistem
Menekan tombol “yes” ketika ada alert dialog yang muncul
Menutup aplikasi
Alternative flow Kegiatan aktor Respon sistem
Menekan tombol “no” Kembali ke menu utama
Post condition -
Sistem Pemain
Menu Utama
tap tombol back
Menampilkan alert dialog konfirmasi tutup aplikasi
Tap tombol yes
Menutup Aplikasi
Gambar 3.16 Activity diagram keluar aplikasi
3.3.2. Perancangan class diagram
Class diagram dirancang untuk menentukan objek-objek yang dibutuhkan untuk perancangan sistem. Setiap kelas memiliki attributes dan methods masing-masing sesuai dengan kebutuhan kelas tersebut.
[image:58.595.173.458.84.342.2]DictionaryCustomProvider() - getNextWord() - Idictionary() DictionaryFactory() - isCustomDictionary() - getDictionary() DictionaryFlat() - getNextWord() DictionaryLetter() - getNextWord() DictionaryNumber () - getNextWord() DictionaryStringArray() - getNextWord() TextViewGridController() - getGridView() - getSelectionWord() - onKey() - onTouch() - reset() - selectionAdd() - selectionEnd() - selectionStart() - selectionStartEnd() WordBoxController() - resetWord() - setLetter() - wordFound() - onClick() WordBoxControllerLand() - setWord() - setLetter() - wordFound() - resetWord() - getItemId() - getView() WordSearchActivityController() - getGridView() - getSelectionWord() - onKey() - onTouch() - reset() - selectionAdd() - selectionEnd() - selectionStart() - selectionStartEnd() WordDictionaryProvider() - DatabaseHelper() - query() - getType() - insert() - delete() - validateWord() - update() WordSearchActivity() - trackGame() - trackReplay() - onCreateOptionsMenu() - onCreateDialog() - getControl() WordSearchPreference() - updateCategorySummary() - updateSizeSummary() - updateTouchmodeSummary() - updateThemeSummary() MainActivity() - NewGame() - Preference() - Tutorial() - HighScore() - Solve() + Word() + Theme() + Grid() + dictionary
Gambar 3.17 Class Diagram Word Scramble
[image:59.595.108.553.88.420.2]Tabel 3.11 Penjelasan kelas-kelas pada class diagram word scramble
Kelas Kegunaan
MainActivity Merupakan kelas utama menampilkan menu utama
DictionaryStringArray Merupakan kelas untuk menambah kata
DictionaryNumber Merupakan kelas untuk menambah angka
DictionaryLatter Merupakan kelas untuk menambah kalimat
DictionaryFlat Merupakan kelas untuk menambah kata
DictionaryFactory Merupakan kelas untuk menambah kata diluar database dan mengambil kamus kata/angka yang telah dibuat
DictionaryCustomProvider Kelas utama dari dictionary sebagai pengambil kata dan pengkategorian kata yang telah dibuat dibawahnya.
WordSearchActivityController Merupakan kelas control seperti add, end, star, menyeleksi kata
WordBoxControllerLand Merupakan kelas control untuk menetukan kata, huruf , kata yang ditemukan, mereset kata.
WordBoxController Merupakan kelas control untuk menetukan kata, mereset kata, jenis klik yang digunakan
penghimpun katadari kelas dibawah nya
WordSearchPreference Merupakan kelas untuk merubah thema, kategori kata, ukuran grid dan mode touch
WordSearchActivity Merupakan kelas untuk menu option dan control dialog
WordDictionaryProvider Merupakan kelas utama untuk menampilkan atau pun mengubah dan menambah kalimat yang akan dicari pada board
3.4. Transisi Layar dan Antarmuka
Pada bagian ini akan dibahas mengenai Transisi layar dan antarmuka, yaitu mengenai bagaimana tampilan layar dari aplikasi permainan word scramble ini.
3.4.1. Transisi layar
Transisi layar merupakan proses pergantian layar dari satu layar ke layar lain. Pergantian layar dapat terjadi akibat berbagai pemicu yang dapat berupa tombol, waktu, keadaan aplikasi, dan lain-lain.
Penulis membuat skema transisi layar agar dapat mengetahui berapa banyak layar yang harus dibuat dalam permainan ini. Secara umum transisi layar permainan
Game Board Main Menu
New
Highscore
Preference
Tutorial
[image:62.595.153.471.84.363.2]Solve
Gambar 3.18 Transisi Layar Permainan word scramble
3.4.2. Antarmuka
Berdasarkan transisi layar pada gambar 3.17,ada sembilan antarmuka yang harus dirancang. Berikut adalah rencana antarmuka yang akan dibuat yang dibuat dalam bentuk low fidelity interface.
1. Main menu
New Highscore Preference Tutorial Solve
Board
[image:63.595.144.473.83.388.2]Kata yang
dicari
Gambar 3.19 Rancangan layar main menu
2. Highscore
Layar ini adalah layar yang menampilkan nama pemain yang mendapat nilai tertinggi pada permainan word scramble. Adapun rancangan layar highscore
High score
User 1 = 00:00:00
User 2 = 00:00:00
User 3 = 00:00:00
User 4 = 00:00:00
User 5 = 00:00:00
User 1 = 00:00:00
User 2 = 00:00:00
User 3 = 00:00:00
User 4 = 00:00:00
User 5 = 00:00:00
Gambar 3.20 Rancangan layar highscore
3. Preference
Layar ini adalah layar yang menampilkan informasi mengenai mode permainan yang ada pada permainan word scramble. Adapun rancangan layar preferencedapat dilihat pada gambar 3.22.
Preference
Grid Size
Word Bank
Input Type
Theme
Gambar 3.21 Rancangan layar preference
4. Grid Size
Gride size
[image:65.595.176.491.86.310.2]7x7
8x8
9x9
10x10
11x11
Gambar 3.22 Rancangan layar grid size
5. Word Bank
Layar ini adalah layar yang menampilkan informasi mengenai pilihan kata kunci kategori kalimat yang akan dicari pada grid word scramble. Adapun rancangan layar word bank dapat dilihat pada gambar 3.23.
Word Bank
Foods
Chritmas
Animal
People
Seasonal
[image:65.595.157.460.474.699.2]6. Input Type
Layar ini adalah layar yang menampilkan informasi mengenai pilihan mode drag atau tap dalam menyusun kata yang diacak pada grid word scramble.
Adapun rancangan layar input type dapat dilihat pada gambar 3.23.
Input Type
Drag
[image:66.595.169.456.192.298.2]Tap
Gambar 3.24 Rancangan layar input type
7. Theme
[image:66.595.191.458.432.627.2]Layar ini adalah layar yang menampilkan informasi mengenai pilihan thema pada game word scramble. Adapun rancangan layar theme dapat dilihat pada gambar 3.25.
Theme
Original
Night Sky
Sky
Pink
Sea Green
8. Tutorial
Layar ini adalah layar yang menampilkan informasi mengenai Deskripsi tutorial game word scramble. Adapun rancangan layar tutorial dapat dilihat pada gambar 3.27.
Tutorial
[image:67.595.190.466.192.388.2]Tutorial
Description
Bab 4
IMPLEMENTASI DAN PENGUJIAN
Setelah melakukan analisis dan perancangan pada bab sebelumnya, kita sekarang sudah dapat memulai untuk melakukan implementasi dan pengujian. Penjelasan tentang implementasi sistem dilakukan untuk mengetahui hasil rancangan aplikasi, dan pengujian dilakukan untuk membuktikan jika aplikasi dapat berjalan dengan baik pada perangkat Android.
4.1. Implementasi
Implementasi aplikasi permainan word scramble dibuat menggunakan bahasa pemrograman Java berbasis Android dengan menggunakan Integrated Development Environment (IDE) Eclipse Juno. Penulis memilih IDE Eclipse karena IDE ini gratis dan terdapat banyak dukungan di forum-forum online. Selain itu Eclipse adalah IDE resmi yang disarankan dalam pengembangan aplikasi Android.
4.1.1. Konfigurasi perangkat keras
Dalam pengembangan aplikasi Android, kebutuhan terbesar perangkat keras adalah saat melakukan ujicoba ke emulator. Ujicoba ke emulator adalah tahap awal sebelum aplikasi dipasangkan ke perangkat Android. Adapun komputer yang penulis gunakan adalah komputer dengan spesifikasi perangkat keras sebagai berikut :
1. Processor Intel Core i3 2. Memory RAM2 GB 3. Harddisk 500 GB
Sedangkan perangkat Android yang akan di-install aplikasi permainan menggunakan Lenovo Idea Tab A3000-H.
4.1.2.Konfigurasi Perangkat Lunak
Pada pengimplementasian aplikasi word scramble di komputer penulis menggunakan sistem operasi Windows 7 32 bit. Perangkat lunak yang digunakan adalah :
1. Java Standart Edition Development Kit 6 2. Android SDK 4.0 (API 14)
3. Eclipse Juno
Pada perangkat Android sistem operasi yang digunakan adalah Stock ROM Android 4.0.4.
4.2 Pengujian Aplikasi
Pengujian yang dilakukan untuk adalah pengujian validasi (validation testing) dengan menggunakan metode black-box. Metode black-box merupakan metode pengujian perangkat lunak tanpa memperhatikan perincian detail dari perangkat lunak tersebut. Pengujian validasi berfokus pada tindakan pengguna yang terlihat dan pengguna dapat mengenali output dari sistem. Pengujian ini menjalankan sistem pada lingkungan yang aktif dengan menggunakan data yang benar. (Whitten, 2004).
4.2.1 Eksekusi Aplikasi
Gambar 4.1 Screenshot Main menu Word scramble
Setelah kita mengklik permainan word scramble, maka akan muncul tampilan main menu seperti gambar 4.1. Tampilan main menu ini terdiri dari lima menu, yaitu new, high scores, preferences, tutorial dan solve. Pada tampilan main menu, user juga sudah bisa memainkan permainan word scramble dengan tampilan ada dua sisi kiri dan kanan. Tampilan kiri merupakan kata kunci yang akan dicari sedangkan tampilan yang dikanan merupakan kata yang diacak dengan grid N x N.
Gambar 4.2 Screenshot dari tampilan menu new
Apabila kita memilih menu high Scores pada main menu, maka system akan menampilkan daftar nama, waktu penyelesaian beserta nilai dari orang yang menyelesaikan permainan ini. Berikut screenshot dari tampilan apabila kita memilih menu high scores.
[image:71.595.159.475.485.661.2]Menu Preferences berguna sebagai mode permainan, pada mode ini kita dapat memilih ukuran board seperti gride size 7x7 hingga grid 11x11, kita juga bisa memilih kategori dari kata kunci yang akan kita cari pada board yang teracak, memilih type input dan thema dari board itu sendiri. Berikut screenshot dari tampilan apabila kita memilih menu preferences.
Gambar 4.4 Screenshot tampilan menu preferences
Menu solve berfungsi sebagai bantuan permainan dari system yang memakai metode string matching sebagai method nya. Apabila kita mengklik tombol solve, maka system hanya menampilkan satu kata yang diselesaikan berdasarkan kata kunci yang dicari. Berikut screenshot dari tampilan apabila kita memilih menu solve.
Gambar 4.6 Screenshot tampilan apabila menekan menu solve
4.2.2 Hasil pengujian
Berikut adalah table hasil pengujian yang ada pada aplikasi permainan word scramble.
Tabel 4.1 Tabel Hasil Pengujian Black Box Pada aplikasi permainan word scramble
No. Sasaran Pengujian Hasil yang diharapkan Hasil Uji 1. Tampilan ketika aplikasi di
eksekusi
Aplikasi menampilkan main menu
Sesuai
2. Pemilihan menu new Aplikasi menampilkan permainan baru
Sesuai
3. Pemilihan menu highscore Aplikasi menampilkan skor tertinggi permainan
4. Pemilihan menu preferences
Aplikasi menampilkan mode permainan
Sesuai
5. Pemilihan menu tutorial Aplikasi menampilkan activity tutorial
Sesuai
6. Pemilihan menu solve Aplikasi menampilkan bantuan penyelesaian permainan per kata
Sesuai
7. Menyusun huruf acak Aplikasi menyusun huruf acak yang berada pada grid sesuai instruksi pemain
Sesuai
8. Kata kunci terpilih Aplikasi secara otomatis menempatkan kata kunci yang dicari berada pada susunan paling bawah pada daftar pencarian dan diberi efek garis
Sesuai
9. Huruf pada grid Aplikasi mengacak huruf pada board sesuai pencarian
berdasarkan aturan, kata yang tersembunyi dapat ditemukan dengan kemungkinan beberapa jalur yaitu Horizontal kekanan, horizontal kekiri, vertical ke atas, vertical ke bawah, diagonal ke kanan-atas, diagonal ke kanan-bawah, diagonal ke kiri-atas, diagonal ke kiri-bawah .
Sesuai
10. Seleksi huruf yang tersembunyi
Aplikasi menampilkan setiap warna huruf yang telah
diselesaikan berbeda agar tidak ada kesamaan.
Sesuai
11. Penilaian penyelesaian permainan
Aplikasi memberikan nilai berdasarkan lamanya waktu yang diperlukan dengan format
12. Pemain menyelesaikan permainan
- Aplikasi menampilkan alert dialog untuk memasukkan nama sebagai highscore dari pemain
- Aplikasi akan menampilkan papan permainan yang baru setelah pemain memilih tombol “sumbit dan save” pada alert dialog
Bab 5
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Berdasarkan evaluasi yang telah dilakukan pada bab-bab sebelumnya, maka dapat diambil kesimpulan sebagai berikut :
1. Aplikasi permainan word scramble sudah berhasil dibangun.
2. Metode string matching dapat diterapkan di dalam aplikasi permainan word scramble untuk mencari solusi permainan. Proses pencarian pada metode ini dapat mempersempit ruang pencarian.
3. Aplikasi ditargetkan untuk perangkat android dengan layar 7 inch, dengan resolusi 600 x 1024 pixel. Aplikasi tetap dapat berjalan pada layar dan resolusi yang lain, namun tampilan tidak akan maksimal.
5.2. Saran
Beberapa saran yang dapat dilakukan sebagai pengembangkan atau penyempurnaan diantaranya yaitu :
1.
Membuat antarmuka yang lebi