Analisis Dan Implementasi Algoritma Linear Search Pada Permainan Word Scramble

(1)

ANALISIS DAN IMPLEMENTASI ALGORITMA

LINEAR SEARCH

PADA PERMAINAN

WORD SCRAMBLE

SKRIPSI

AMMAHLI FAKAR TARIGAN

071401071

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

2012


(2)

ANALISIS DAN IMPLEMENTASI ALGORITMA LINEAR SEARCH

PADA PERMAINAN WORD SCRAMBLE

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

AMMAHLI FAKAR TARIGAN 071401071

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

MEDAN 2012


(3)

PERSETUJUAN

Judul : ANALISIS DAN IMPLEMENTASI ALGORITMA

LINEAR SEARCH PADA PERMAINAN WORD

SCRAMBLE

Kategori : SKRIPSI

Nama : AMMAHLI FAKAR TARIGAN

Nomor Induk Mahasiswa : 071401071

Program Studi : SARJANA (S1) ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 24 Mei 2012

Komisi Pembimbing :

Pembimbing II, Pembimbing I,

M. Andri Budiman, ST, MCompSc, MEM Dr. Poltak Sihombing, M.Kom

NIP. 197510082008011001 NIP. 196203171991031001

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom NIP. 196203171991031001


(4)

PERNYATAAN

ANALISIS DAN IMPLEMENTASI ALGORITMA LINEAR SEARCH

PADA PERMAINAN WORD SCRAMBLE

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 13 April 2012

Ammahli Fakar Tarigan 071401071


(5)

PENGHARGAAN

Alhamdulillahirabbil’alamin penulis ucapkan kepada Allah SWT yang telah melimpahkan rahmat dan karunia-Nya sehingga skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Skripsi ini merupakan salah satu syarat yang wajib diselesaikan guna meraih gelar Sarjana Komputer pada jurusan S1 Ilmu Komputer Universitas Sumatera Utara. Adapun judul yang diangkat penulis dalam skripsi ini adalah Analisis dan Implementasi Algoritma Linear Search pada Permainan Word Scramble. Tidak dapat dipungkiri bahwa dalam penyelesaian skripsi ini tidak luput dari campur tangan banyak pihak yang telah memberikan bantuan dan motivasi bagi penulis. Maka, dalam kesempatan ini, penulis mengucapkan terima kasih kepada:

1. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Jurusan S1 Ilmu Komputer

serta pembimbing I dan Bapak M. Andri Budiman, S.T., M.Comp.Sc., M.E.M selaku pembimbing II yang telah memberikan panduan dan penuh kepercayaan kepada penulis untuk menyelesaikan skripsi ini.

2. Ibu Dian Rachmawati, S.Si, M.Kom dan Bapak Dahlan Sitompul M.Eng selaku

dosen penguji yang telah memberikan panduan ringkas, padat dan profesional kepada penulis guna menyempurnakan skripsi ini.

3. Sekretaris Jurusan S1 Ilmu Komputer Ibu Maya Silvi Lydia, B.Sc., M.Sc., Dekan

dan Pembantu Dekan Fakultas MIPA beserta para pegawai/staf S1 Ilmu Komputer.

4. Keluarga tercinta, Ayahanda Drs. H. Enda Tarigan dan Ibunda Dra. Hj. Nilva

Yenisda, Ammamiarihta, Ammazizzaky Tarigan, dan Ammanawwara yang selalu memberikan doa, dukungan, perhatian, kasih sayang yang tulus, pengorbanan yang tidak ternilai harganya serta dukungan moril maupun materiil selama kehidupan penulis.

5. Dely Utari, S.Kom yang selalu memberikan doa, perhatian, kasih sayang, motivasi dan semangat yang luar biasa bagi penulis.

6. Teman-teman setim Istiqlal FC khususnya Fatih, Wahyu, Safri, Hanafi, Febrian

dan Faisal, yang selama ini telah berbagi semangat dan canda tawa dengan penulis, serta sahabat-sahabat lain yang pernah mengisi perjalanan hidup penulis yang tidak dapat disebutkan satu per satu.

7. Teman-teman seperjuangan, mahasiswa S1 Ilmu Komputer stambuk 2007

khususnya Jenita Heptani, Fitri Rahayu, dan Yoga Nugraha yang telah banyak berbagi ilmu, memberikan bantuan, saran, kritikan, semangat, inspirasi, dukungan serta mewarnai kenangan selama masa kuliah yang tak akan terlupakan bagi penulis.


(6)

8. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian serta kerja samanya kepada penulis dalam menyelesaikan tugas akhir ini.

Penulis menyadari bahwa dalam penyelesaian skripsi ini masih jauh dari sempurna. Untuk itu penulis sangat mengharapkan kritik dan saran yang membangun guna penyempurnaan di masa mendatang.

Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi pribadi penulis, keluarga, masyarakat, organisasi dan negara.

Medan, 13 April 2012


(7)

ABSTRAK

Permainan adalah salah satu solusi alternatif untuk pembelajaran murid. Tidak sedikit murid yang merasa bosan ketika belajar sehingga dapat menghambat proses belajar mengajar. Permainan dapat membantu dan menyemangati banyak murid untuk dapat terus menjaga ketertarikan mereka untuk belajar. WordScramble termasuk salah satu jenis permainan kata yang dapat menambah wawasan kosakata Bahasa Inggris. Permainan ini menuntut kemampuan berpikir pemain untuk mencari kosakata yang bisa disusun dari huruf acak di papan permainan. Huruf-huruf yang diperoleh harus terhubung langsung secara horizontal, vertikal, atau diagonal. Kata tebakan pemain diperiksa oleh komputer apakah kata tersebut terdapat di dalam kamus yang sudah

ditentukan dengan menggunakan algoritma pencarian Linear Search. Penelusuran

dimulai dengan membandingkan kata tebakan dengan kata pada indeks pertama di

dalam kamus yang berbentuk array. Apabila kedua kata tersebut sama, maka data

telah ditemukan dan jawaban pemain benar. Jika tidak, penelusuran dilakukan pada kata pada indeks selanjutnya hingga ditemukan jawaban yang benar. Algoritma Linear Search dapat diimplementasikan pada permainan ini untuk mencocokkan jawaban dan tidak perlu dilakukan pengurutan data sehingga penelusuran dapat langsung dilakukan.


(8)

ANALYSIS AND IMPLEMENTATION OF BRUTE FORCE ALGORITHM ON WORD SCRAMBLE GAME

ABSTRACT

Game is one of the alternative solutions for student learning. Not a few students feel bored when learning that can hinder the learning process. Games can help and encourage more students to be able to maintain their interest in learning. Word Scramble is one kind of word game that can add insight into the English vocabulary. This game requires player’s thinking ability to find the word that can be composed from the letters results of randomization on the game’s board. The letters must be directly connected horizontally, vertically, or diagonally. Player’s guess word is checked by the computer whether the word is found in the dictionary that has been determined by using Linear Search Algorithm. Search begins by comparing the guess word with the first word at the first index in the dictionary. If those two words are equals, the data have been found and the player answers correctly. If not, search performed on the next word at the next index until the correct answer is found. Linear Search algorithm can be implemented in this game to match the answers and doesn’t need to sort the data so the searches can be performed directly.


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

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 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Landasan Teori 5

2.1 Algoritma 5

2.2 Algoritma Pencarian

2.3 Algoritma Pencarian Linear 7

6

2.3.1

2.3.2 Cara Kerja Algoritma Pencarian Linear 8

Karakteristik Algoritma Pencarian Linear 7

2.3.3 Pseudocode Algoritma Pencarian Linear 8

2.3.4 Kompleksitas Algoritma Pencarian Linear 8

2.4 Pengacakan Huruf 9

2.5 Word Scramble 11

2.5.1 Aturan Permainan Word Scramble 11

2.6 Penilaian Kualitas Aplikasi 12

Bab 3 Analisis dan Perancangan 13

3.1 Analisis Sistem 13

3.1.1 Analisis Permainan 13

3.1.2 Analisis Algoritma 14

3.1.2.1 Flowchart Alur Permainan 21

3.1.2.2 Flowchart HurufAcak() 21

3.1.2.3 Flowchart HurufTerpilih() 23

3.1.2.4 Flowchart Ketetanggaan() 24

3.1.2.5 Flowchart KataBaru() 25

3.1.2.6 Flowchart PeriksaKata() 25


(10)

3.1.2.8 Flowchart CariKata() 28

3.1.2.9 Flowchart Nilai() 29

3.2 Perancangan Sistem 30

3.2.1 Perancangan Aplikasi Permainan 30

3.2.2 Perancangan Antarmuka 31

Bab 4 Implementasi dan Pengujian 35

4.1 Implementasi Sistem 35

4.1.1 Spesifikasi Perangkat Lunak 35

4.1.2 Spesifikasi Perangkat Keras 35

4.1.3 Implementasi Rancangan Fungsi 36

4.1.4 Implementasi Rancangan Antarmuka 36

4.1.4.1 Tampilan Utama 36

4.1.4.2 Tampilan Arena Permainan 37

4.1.4.3 Tampilan Aturan Permainan 38

4.1.4.4 Tampilan Tentang Permainan 39

4.2 Pengujian Aplikasi 39

4.2.1 Pengujian Integrasi Aplikasi 40

4.2.1.1 Proses pada Tampilan Utama 40

4.2.1.2 Proses pada Tampilan Arena Permainan 41

4.2.1.3 Proses pada Tampilan Aturan Permainan 41

4.2.1.4 Proses pada Tampilan Tentang Permainan 42

4.2.2 Pengujian Responden 42

4.2.2.1 Aspek Antarmuka Aplikasi 42

4.2.2.2 Aspek Penggunaan Aplikasi 44

4.2.2.3 Aspek Penilaian Aplikasi 45

Bab 5 Kesimpulan dan Saran 47

5.1 Kesimpulan 47

5.2 Saran 48

Daftar Pustaka 49

LAMPIRAN A: LISTING PROGRAM


(11)

DAFTAR TABEL

Halaman

2.1 Daftar Nilai Frekuensi Huruf yang Akan Diacak 10

3.1 Hasil Daftar Nilai 14

4.1 Hasil Evaluasi Proses pada Tampilan Utama 40

4.2 Hasil Evaluasi Proses pada Tampilan Arena Permainan 41

4.3 Hasil Evaluasi Proses pada Tampilan Aturan Permainan 41

4.4 Hasil Evaluasi Proses pada Tampilan Tentang Permainan 42

4.5 Hasil Kuisioner Aspek Antarmuka Aplikasi 43

4.6 Hasil Kuisioner Aspek Penggunaan Aplikasi 44


(12)

DAFTAR GAMBAR

Halaman

2.1 Papan Permainan Word Scramble 12

3.1 Langkah 1 19

3.2 Langkah 3 20

3.3 Flowchart Alur Permainan 21

3.4 Flowchart HurufAcak() 22

3.5 Flowchart HurufTerpilih() 23

3.6 Flowchart Ketetanggaan 24

3.7 Flowchart KataBaru() 25

3.8 Flowchart PeriksaKata() 26

3.9 FlowchartFlowchart SudahKetemu() 27

3.10 Flowchart CariKata() 28

3.11 Flowchart Nilai() 29

3.12 Flowchart Aplikasi 30

3.13 Frame Menu 31

3.14 Frame Arena Permainan 32

3.15 Frame Aturan Permainan 33

3.16 Frame Tentang Permainan 34

4.1 Tampilan Utama 36

4.2 Tampilan Arena Permainan 37

4.3 Tampilan Arena Permainan Ketika Permainan Sedang Berlangsung 37

4.4 Tampilan Arena Permainan Ketika Permainan Selesai 38

4.5 Tampilan Aturan Permainan 38


(13)

ABSTRAK

Permainan adalah salah satu solusi alternatif untuk pembelajaran murid. Tidak sedikit murid yang merasa bosan ketika belajar sehingga dapat menghambat proses belajar mengajar. Permainan dapat membantu dan menyemangati banyak murid untuk dapat terus menjaga ketertarikan mereka untuk belajar. WordScramble termasuk salah satu jenis permainan kata yang dapat menambah wawasan kosakata Bahasa Inggris. Permainan ini menuntut kemampuan berpikir pemain untuk mencari kosakata yang bisa disusun dari huruf acak di papan permainan. Huruf-huruf yang diperoleh harus terhubung langsung secara horizontal, vertikal, atau diagonal. Kata tebakan pemain diperiksa oleh komputer apakah kata tersebut terdapat di dalam kamus yang sudah

ditentukan dengan menggunakan algoritma pencarian Linear Search. Penelusuran

dimulai dengan membandingkan kata tebakan dengan kata pada indeks pertama di

dalam kamus yang berbentuk array. Apabila kedua kata tersebut sama, maka data

telah ditemukan dan jawaban pemain benar. Jika tidak, penelusuran dilakukan pada kata pada indeks selanjutnya hingga ditemukan jawaban yang benar. Algoritma Linear Search dapat diimplementasikan pada permainan ini untuk mencocokkan jawaban dan tidak perlu dilakukan pengurutan data sehingga penelusuran dapat langsung dilakukan.


(14)

ANALYSIS AND IMPLEMENTATION OF BRUTE FORCE ALGORITHM ON WORD SCRAMBLE GAME

ABSTRACT

Game is one of the alternative solutions for student learning. Not a few students feel bored when learning that can hinder the learning process. Games can help and encourage more students to be able to maintain their interest in learning. Word Scramble is one kind of word game that can add insight into the English vocabulary. This game requires player’s thinking ability to find the word that can be composed from the letters results of randomization on the game’s board. The letters must be directly connected horizontally, vertically, or diagonally. Player’s guess word is checked by the computer whether the word is found in the dictionary that has been determined by using Linear Search Algorithm. Search begins by comparing the guess word with the first word at the first index in the dictionary. If those two words are equals, the data have been found and the player answers correctly. If not, search performed on the next word at the next index until the correct answer is found. Linear Search algorithm can be implemented in this game to match the answers and doesn’t need to sort the data so the searches can be performed directly.


(15)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Permainan atau sering disebut dengan game merupakan suatu sarana hiburan yang

diminati dan dimainkan oleh banyak orang baik dari kalangan anak-anak, remaja maupun orang dewasa. Permainan juga dapat berguna untuk melatih dan mengasah kemampuan berpikir seseorang.

Permainan adalah salah satu solusi alternatif untuk pembelajaran murid. Tidak sedikit murid yang merasa bosan ketika belajar sehingga dapat menghambat proses belajar mengajar. Faktanya permainan dapat membantu dan menyemangati banyak murid untuk dapat terus menjaga ketertarikan mereka untuk belajar. Saat ini, terdapat berbagai macam permainan yang bertujuan untuk menambah wawasan kosakata Bahasa Inggris, salah satunya adalah word game (permainan kata).

Dari sekian banyak macam jenis permainan kata yang ada, Word Scramble

termasuk salah satu jenis permainan kata yang populer. Permainan Word Scramble diawali dengan pengacakan huruf oleh komputer, kemudian pemain mencari kosakata yang bisa disusun dari huruf acak tersebut. Huruf-huruf tersebut harus terhubung secara vertikal, horizontal atau diagonal pada papan permainan.

Pada permainan ini terdapat beberapa permasalahan seperti pengacakan huruf pada papan permainan agar pola pengacakannya dapat mempermudah pemain untuk menemukan lebih banyak kata, pencocokan jawaban pemain oleh komputer dengan kata pada kamus, tampilan antarmuka aplikasi permainan, dan sistem penilaian untuk setiap kata yang ditemukan oleh pemain berdasarkan jumlah huruf pada kata tersebut.


(16)

Oleh karena itu, penulis mengangkat judul “Analisis dan Implementasi Algoritma

Linear Search pada Permainan WordScramble” untuk mencari tahu apakah algoritma

Linear Search dapat diimplementasikan pada permainan Word Scramble.

1.2Rumusan Masalah

Permasalahan yang akan diteliti dan diuraikan disini adalah:

1. Bagaimana mengimplementasikan algoritma Linear Search pada permainan

Word Scramble.

2. Bagaimana komputer dapat melakukan pencarian kata pada kamus yang sesuai

dengan jawaban pemain dengan menggu nakan algoritma Linear Search.

1.3 Batasan Masalah

Batasan masalah pada tugas akhir ini adalah:

1. Papan permainan berukuran 4x4.

2. Huruf diacak berdasarkan frekuensi huruf yang paling sering muncul dalam

Bahasa Inggris.

3. Pencarian jawaban yang valid menggunakan algoritma Linear Search. 4. Kata-kata yang akan ditebak disimpan dalam kamus dengan format .txt. 5. Kata-kata dalam kamus tidak dapat dimodifikasi.

6. Permainan ini bersifat single player.

7. Pembangunan permainan ini menggunakan aplikasi Adobe Flash CS5 dan

ActionScript 3.

1.4Tujuan Penelitian

Tujuan penelitian ini adalah sebagai berikut:

1. Menerapkan algoritma Linear Search pada proses pencarian kata yang

diperoleh pemain dengan kata dalam kamus.

2. Membuat sebuah permainan komputer dimana pemain ditugaskan untuk

mencari kosakata Bahasa Inggris pada papan permainan yang berisi huruf-huruf yang tersusun secara acak.


(17)

1.5 Manfaat Penelitian

Manfaat dari tugas akhir ini adalah sebagai berikut:

1. Mengimplementasikan algoritma Linear Search dalam permainan Word

Scramble.

2. Mengasah kemampuan pemain dalam intuisi bermain, khususnya pada

permainan kata.

1.6Metodologi Penelitian

Metodologi penelitian yang akan digunakan adalah: 1. Studi Pustaka

Pada tahap ini dilakukan studi pustaka yaitu mengumpulkan bahan referensi dari buku, artikel, jurnal, makalah, maupun internet mengenai penerapan algoritma

Linear Search pada permainan Word Scramble.

2. Pengumpulan Data

Pada tahap ini dilakukan pengumpulkan data yang berupa kosakata Bahasa Inggris yang akan disimpan dalam basis data.

3. Analisis Masalah

Pada tahap ini akan dilakukan analisis terhadap cara bermain Word Scramble dan

bagaimana solusi penyelesaiannya dengan menerapkan algoritma Linear Search

dalam bentuk flowchart.

4. Implementasi Sistem

Pada tahap ini hasil analisis dari solusi penyelesaian pada permainan Word

Scramble diterapkan dalam source code dan perancangan aplikasinya sehingga

menghasilkan bentuk antarmuka yang mudah digunakan oleh pemain.

5. Pengujian Sistem

Pada tahap ini aplikasi permainan Word Scramble akan diuji untuk memastikan semuanya telah bekerja sesuai dengan tujuan yang diinginkan.

6. Penulisan Skripsi

Pada tahap ini seluruh kegiatan dari awal hingga akhir penelitian akan dituliskan ke dalam format penulisan tugas akhir dengan disertai kesimpulan akhir.


(18)

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari beberapa bagian utama sebagai berikut:

BAB 1: PENDAHULUAN

Bab ini akan menjelaskan mengenai latar belakang pemilihan judul skripsi ”Analisis dan Implementasi Algoritma Linear Search pada Permainan Word

Scramble”, rumusan masalah, batasan masalah, tujuan penelitian, manfaat

penelitian, metode penelitian, dan sistematika penulisan.

BAB 2: LANDASAN TEORI

Bab ini akan membahas teori-teori yang berkaitan dengan algoritma pencarian, algoritma Linear Search, pengacakan huruf, dan permainan Word Scramble.

BAB 3: ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Bab ini akan membahas mengenai analisis kebutuhan sistem yang meliputi analisis permainan, analisis algoritma, dan perancangan sistem.

BAB 4: IMPLEMENTASI DAN PENGUJIAN

Bab ini menjelaskan prasyarat dan syarat yang harus dipenuhi agar perangkat lunak yang dikembangkan dapat dijalankan secara baik serta pengujian terhadap perangkat lunak tersebut.

BAB 5: KESIMPULAN DAN SARAN

Bab ini memuat kesimpulan dari uraian bab-bab sebelumnya dan hasil penelitian yang diperoleh. Bab ini juga memuat saran yang diharapkan dapat bermanfaat untuk pengembangan selanjutnya.


(19)

BAB 2

LANDASAN TEORI

2.1 Algoritma

Algoritma berasal dari nama ilmuwan muslim dari Uzbekistan, Abu Ja’far Muhammad bin Musa Al-Khuwarizmi (780-846M). Pada awalnya kata algoritma adalah istilah yang merujuk kepada aturan-aturan aritmetika untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab. Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan. Pemecahan sebuah masalah pada hakikatnya adalah menemukan langkah-langkah tertentu yang jika dijalankan efeknya akan memecahkan masalah tersebut [7].

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar [8].

Ada beberapa tipe masalah algoritma, antara lain [2]:

1. Pengurutan

Masalah pengurutan berhubungan dengan bagaimana mengurutkan kembali unsur-unsur dari suatu daftar yang diberikan.

2. Pencarian

Masalah pencarian berhubungan dengan bagaimana menemukan suatu nilai yang disebut kunci pencarian (search key) dalam suatu himpunan (set).


(20)

3. Pemrosesan String

Salah satu masalahnya yaitu mencari kata tertentu dalam teks yang disebut pencocokan

4. Masalah Grafik

string.

Dalam algoritma, masalah grafik mencakup graph traversal algorithms dan shortest-path algorithms.

5. Masalah Kombinatoris

Prespektik abstrak, masalah traveling salesman, dan masalah pewarnaan grafik merupakan contoh dari masalah kombinatorik.

6. Masalah Geometris

Masalah ini berhubungan dengan objek geometris, seperti titik, garis, dan poligon.

7. Masalah Numerik

Algoritma ini banyak dikembangkan pada masalah yang mencakup objek matematis yang bersifat menyelesaikan persamaan dan sistem persamaan, menghitung integral tertentu, dan mengevaluasi sebuah fungsi.

2.2 Algoritma Pencarian

Pengertian string menurut Dictionary of Algorithms and Data Structures, National

Institute of Standards and Technology (NIST) adalah susunan dari karakter-karakter

(angka, alfabet atau karakter yang lain) dan biasanya direpresentasikan sebagai struktur data array. String dapat berupa kata, frase, atau kalimat [9].

Algoritma pencarian adalah algoritma untuk mencari nilai dalam struktur data [9]. Pencocokan string merupakan bagian penting dari sebuah proses pencarian string

(string searching) dalam sebuah dokumen. Hasil dari pencarian sebuah string dalam

dokumen tergantung dari teknik atau cara pencocokan string yang digunakan.

Untuk mengukur performansi metode pencarian, terdapat empat kriteria yang dapat digunakan [1] :

1. Completeness : apakah metode tersebut menjamin penemuan solusi jika


(21)

2. Time complexity : berapa lama waktu yang diperlukan,

3. Space complexity : berapa banyak memori yang diperlukan,

4. Optimality : apakah metode tersebut menjamin menemukan solusi yang terbaik

jika terdapat beberapa solusi berbeda.

2.3 Algoritma Pencarian Linear

Algoritma Pencarian Linear (Linear Search) adalah algoritma yang digunakan untuk mencari nilai pada sebuah array atau daftar nilai dengan cara memeriksa satu per satu [9]. Linear Search atau yang juga dikenal sebagai Sequential Search (Pencarian Beruntun) bekerja dengan memeriksa setiap elemen dari sebuah list sampai sebuah kecocokan ditemukan. Pencarian Linear tidak membutuhkan pengurutan data terlebih dahulu.

Kelebihan dari algoritma Linear Search antara lain: 1.

2.

Algoritma pencarian sekuensial ini cocok untuk pencarian nilai tertentu pada sekumpulan data terurut maupun tidak.

3.

Keunggulan algoritma ini adalah dalam mencari sebuah nilai dari sekumpulan kecil data.

Termasuk algoritma yang sederhana dan cepat karena tidak memerlukan proses persiapan data (misalnya: pengurutan).

Sedangkan kelemahan algoritma Linear Search adalah bahwa dalam kasus

terburuk (nilai tidak ditemukan), pembandingan nilai dilakukan sebanyak jumlah data dalam kumpulan nilai. Dengan demikian, proses pencarian akan bertambah lambat secara linear dengan bertambahnya banyaknya jumlah data.

2.3.1 Karakteristik Algoritma Pencarian Linear

Karakteristik algoritma Pencarian Linear

1. Pencarian dapat dilakukan di struktur data apapun yang dapat diakses secara sekuensial (misalnya array, linked list), sementara sebagian algoritma lain


(22)

kadang hanya bisa digunakan pada struktur data yang bisa diakses secara random (misalnya binary search)

2. Data tidak harus terurut

3. Worst case dan expected cost untuk pencarian linear adalah O(n)

2.3.2 Cara Kerja Algoritma Pencarian Linear

Algoritma pencarian linear dapat dituliskan sebagai berikut : 1. i⇽ 0

2. Ketemu ⇽ false

3. Selama (tidak ketemu) dan (i<=N) kerjakan baris 4

4. Jika (data[i] = x) maka ketemu ⇽ true, jikan tidak i ⇽ i + 1

5. Jika (ketemu) maka i adalah indeks dari data yang dicari, jika tidak data tidak ditemuka n.

2.3.3 Pseudocode Algoritma Pencarian Linear

Pseudocode algoritma Pencarian Linear adalah:

ketemu  false {belum ketemu }

n  1 { mulai dari elemen pertama }

while ((n < ukuran) and (not ketemu)) do

if (array[n] = kunci) then { dibandingkan }

ketemu  true { data ketemu }

i  n { pada posisi ke-i, posisi disimpan }

endif

else n  n+1 { cek data berikutnya }

endwhile

if ketemu then pencarianLinier  I { data ketemu pada posisi ke-i }

else pencarianLinier  -1 { data tidak ketemu }

endif end

2.3.4 Kompleksitas Algoritma Pencarian Linear

Jika linear search dimulai dari kiri, maka posisi berawal dari elemen ke-1 dan membandingkannya sampai ketemu. Kemungkinan terbaik (best case) dari algoritma ini adalah jika data yang dicari terletak di indeks array terdepan (elemen array


(23)

pertama) sehingga waktu yang dibutuhkan untuk pencarian data sangat sebentar (minimal). Kemungkinan terburuk (worst case) adalah jika data yang dicari terletak di indeks array terakhir (elemen array terakhir) sehingga waktu yang dibutuhkan untuk pencarian data sangat lama (maksimal). Kompleksitas dari algoritma ini sebanyak n pebandingan untuk kasus terburuk (data tidak ditemukan atau berada di posisi terakhir). Bila rata-rata posisi data ada ditengah, maka kompleksitas menjadi 1/2 n.

Penelitian yang dilakukan Sabdifha, 2010 menggunakan algoritma Depth-First

Search pada permainan Word Scramble. Kotak-kotak pada papan permainan

direpresentasikan sebagai simpul sehingga setiap kotak akan memiliki indeks.

Program akan mengacak huruf dengan menggunakan frekuensi dari Hidden Markov

Models (HMM) untuk selanjutnya kotak tersebut akan diisi dengan huruf acak.

Selanjutnya komputer akan mencari kata yang dapat dibentuk dari huruf-huruf tersebut sebagai jawaban yang valid dengan menggunakan algoritma DFS. Kemudian permainan oleh user (pemain). Pemain diberi waktu untuk menebak kata yang dapat dibentuk dari huruf-huruf yang ada pada papan permainan sebanyak mungkin. Jawaban pemain akan dicocokkan dengan jawaban valid dari komputer. Jika jawaban pemain benar maka pemain akan memperoleh nilai berdasarkan jumlah huruf dari kata-kata yang diperolehnya. Permainan akan berakhir ketika waktu habis.

2.4 Pengacakan Huruf

Proses ini berfungsi sebagai pengacak huruf yang akan keluar di setiap kotak pada papan permainan. Huruf-huruf pada setiap kotak diacak sedemikian rupa agar huruf acak yang diperoleh adalah huruf-huruf yang memiliki frekuensi kemunculan yang tinggi, sehingga lebih mudah untuk mendapatkan campuran yang baik antara vokal dan konsonan. Oleh karena itu, dibutuhkan suatu daftar frekuensi huruf yang paling sering muncul dalam bahasa Inggris.

Frase mnemonik “ETAOIN SHRDLU” sering digunakan untuk mengingat 12 buah huruf yang paling sering muncul di dalam teks Bahasa Inggris [4].


(24)

Tabel 2.1 Daftar Nilai Frekuensi Huruf yang Akan Diacak No. Huruf Frekuensi Inisialisasi

1 E 12.702% 12

2 T 9.056% 9

3 A 8.167% 8

4 O 7.507% 7

5 I 6.966% 7

6 N 6.749% 6

7 S 6.327% 6

8 H 6.094% 6

9 R 5.987% 6

10 D 4.253% 4

11 L 4.025% 4

12 C 2.782% 3

13 U 2.758% 3

14 M 2.406% 2

15 W 2.360% 2

16 F 2.228% 2

17 G 2.015% 2

18 Y 1.974% 2

19 P 1.929% 2

20 B 1.492% 1

21 V 0.978% 1

22 K 0.772% 1

23 J 0.153% 1

24 X 0.150% 1

25 Q 0.0`5% 1

26 Z 0.074% 1

(Robert Lewand, 2000)

Menurut table di atas, jumlah seluruh inisialisasinya adalah 100, maka dapat didefinisikan sebuah array dengan interval 0 sampai 99 seperti ini:

alfabet[0] = [0-7] (Huruf A memiliki nilai frekuensi 0 sampai 7)

alfabet[1] = [8] (Huruf B memiliki nilai frekuensi 8)

...

alfabet[24] = [97-98] (Huruf Y memiliki nilai frekuensi 97 sampai 98)

alfabet[25] = [99] (Huruf Z memiliki nilai frekuensi 99)

Kemudian saat proses generalisasi angka acak frekuensi pada interval 0 hingga

99, program hanya mencari dalam interval array dan mendapatkan huruf yang

terdapat pada interval tersebut.

alfabet = "A","B","C","D","E","F","G","H","I","J","K","L","M","N", "O","P","Qu","R","S","T","U","V","W","X","Y","Z"]


(25)

frek ← random()*99

if 0<= frek and frek <=7 then begin

alfabet[0] end

2.5 Word Scramble

Scramble merupakan pengembangan dari permainan scrabble yang sangat inspiratif.

Pola permainannya yang menjadi inspirasi dalam mengerjakan tugas akhir ini. Permainan ini dimulai dengan mengacak huruf dengan tingkat frekuensi yang berbeda-beda untuk diisi pada papan berukuran 4x4 kotak, masing-masing kotak diisi dengan huruf berbeda atau sama tergantung nilai acak yang diperoleh. Selanjutnya pemain harus mencari kata yang bisa dibentuk dari huruf yang sudah terisi pada papan. Pemain akan diberikan waktu untuk menebak dan harus mencari kata sebanyak mungkin. Pemain akan mendapatkan nilai sesuai dengan jumlah huruf pada setiap kata valid yang berhasil ditebak.

2.5.1 Aturan Permainan Word Scramble

Aturan permainan Word Scramble secara umum adalah sebagai berikut:

1. Pemain mencari kata sebanyak-banyaknya dari huruf acak yang terdapat pada

papan permainan. Huruf-huruf tersebut harus terhubung secara vertikal, horizontal atau diagonal.

2. Setiap kotak hanya bisa digunakan satu kali dalam satu kata. 3. Jawaban minimal terdiri dari tiga huruf.

4. Permainan berakhir ketika waktu habis.


(26)

Gambar 2.1 Papan Permainan Word Scramble

2.6 Penilaian Kualitas Aplikasi

Untuk menghitung penilaian kualitas dari aplikasi ini dapat dihitung dengan menggunakan rumus (2.1) dan rumus (2.2):

Pk = (f/N) * Ikb

P

... ... (2.1)

total = ∑ Pk

/ n ... ... (2.2)

Dimana: Pk

dan sangat baik

= persentase untuk k kondisi dalam hal tidak baik, kurang baik, baik,

f = total respon dalam k kondisi

N = jumlah responden

Ikb

baik 50%, baik 75%, dan sangat baik 100%)

= interpretasi k kondisi terbesar (dalam hal ini tidak baik 25%, kurang

Ptotal

n = banyak pertanyaan

= persentase untuk jumlah keseluruhan persentase pertanyaan

M

F

R

V

C

A

V

R

E

D

G

A


(27)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis Sistem

Pada analisis sistem ini akan dilakukan analisis terhadap permainan Word Scramble dan algoritma pencarian Linear Search.

3.1.1 Analisis Permainan

Berikut ini aturan permainan yang telah ditetapkan penulis untuk aplikasi permainan

Word Scramble:

6. Pemain mencari kata sebanyak-banyaknya dari huruf acak yang terdapat pada

papan permainan. Huruf-huruf tersebut harus terhubung secara vertikal, horizontal atau diagonal.

7. Setiap kotak hanya bisa digunakan satu kali dalam satu kata. 8. Huruf Q selalu berpasangan dengan huruf U (Qu).

9. Apabila tebakan pemain benar maka akan mendapatkan nilai dan jika salah

tidak akan mendapatkan nilai.

10.Jawaban minimal terdiri dari tiga huruf dan maksimal delapan huruf. 11.Kata yang sudah ditemukan tidak dapat diulangi.

12.Pemain diberikan waktu selama 120 detik untuk menemukan jawaban.

13.Permainan berakhir ketika waktu habis.

Kata yang ditemukan oleh pemain mempunyai nilai yang berbeda sesuai dengan jumlah huruf pada setiap kata yang sudah masuk dalam daftar kata yang ditemukan pemain. Daftar nilainya sebagai berikut:


(28)

Tabel 3.1 Daftar Nilai Jumlah Huruf Nilai

3 2

4 3

5 5

6 6

7 8

8 9

3.1.2 Analisis Algoritma

Algoritma yang digunakan untuk membangun permainan Word Scramble ini adalah algoritma pencarian. Algoritma ini akan digunakan oleh Komputer untuk mencocokkan antara jawaban pemain dengan kata di dalam kamus. Pada algoritma Linear Search, ada beberapa properti yang perlu dipertimbangkan yaitu data dan nilai. Berikut ini adalah penjabaran properti-properti tersebut:

1. Data

Data di dalam permainan Word Scramble ini berbentuk array yang disebut kamus. Array ini berisi kosakata-kosakata bahasa Inggris. Kata-kata tersebut merupakan simpul-simpul solusi dalam proses penelusuran ini. Penelusuran dimulai dari kata pertama (indeks 0) sampai kata terakhir (indeks n).

2. Nilai

Nilai (kata) yang akan ditelusuri yaitu jawaban pemain. Jika kata yang menjadi jawaban pemain terdapat dalam kamus maka jawaban dianggap benar.

Jika menggunakan Linear Search pada proses penelusuran, maka

semua simpul akan dibangkitkan tanpa melihat apakah simpul mendekati solusi yang diinginkan atau tidak. Penelusuran nilai (kata) yang dicari dimulai pada indeks 0. Apabila kata pada indeks tersebut sama dengan kata yang dicari, maka nilai telah ketemu dan jawaban pemain benar. Apabila nilai yang dicari belum ketemu, penelusuran dilanjutkan pada indeks berikutnya. Apabila sampai akhir pemeriksaan tidak ada data yang sama, berarti nilai yang dicari tidak ada dan jawaban pemain salah.


(29)

Algoritma Linear Search memeriksa semua posisi dalam array secara berurutan dari indeks 0 sampai n apakah nilai(kata) yang dicari ada di dalam kamus. Perbandingan karakter yang terjadi diharapkan n, dengan n adalah jumlah kata pada kamus. Kamus pada permainan ini berisikan 80325 kata. Pada kasus yang paling buruk, untuk n elemen data harus dilakukan pencarian sebanyak n kali pula. Maka untuk kasus terburuk, kompleksitas algoritma

Linear Search pada permainan ini adalah O(80325).

Berikut ini adalah pseudocode dari beberapa prosedur dalam permainan Word Scramble.

const kamus : kamus.txt panjang_kata : 3 huruf_menurun : 4 huruf_mendatar : 4 uk_tombol : 50 waktu : 121

nilai : Array = [null,0,0,2,3,5,6,8,9] var loader : URLLoader

alfabet, kata, kata_ketemu, tombol : Array[] masukan : TextInput

kata_tebakan : String

status_kata,status_waktu : Label

tombol_terakhir,tombol_tambah,tombol_hapus, tombol_kembali : Button

hasil_nilai : TextArea t : Timer

i : int

procedure WordScramble() procedure Kamus()

procedure LoadKamus() procedure LoadKamus2() begin

isi_kamus : String(kamus)

kata ← isi_kamus.split()

Tampilan()

Papan(30,50,huruf_mendatar,huruf_menurun,uk_tombol) MulaiWaktu(waktu)

end

procedure Tampilan() procedure Papan() procedure HurufAcak() begin

alfabet = "A","B","C","D","E","F","G","H","I","J","K", "L","M","N","O","P","QU","R","S","T","U","V", "W","X","Y","Z"]


(30)

if 0<= frek and frek <=7 then begin

alfabet[0] end

else if frek =8 then begin

alfabet[1] end

else if frek >= 9 and frek <=11 then begin

alfabet[2] end

else if frek >= 12 and frek <=15 then begin

alfabet[3] end

else if frek >= 16 and frek <=27 then begin

alfabet[4] end

else if frek >= 28 and frek <=29 then begin

alfabet[5] end

else if frek >= 30 and frek <=31 then begin

alfabet[6] end

else if frek >= 32 and frek <=37 then begin

alfabet[7] end

else if frek >= 38 and frek <=44 then begin

alfabet[8] end

...

else if frek = 99 then begin alfabet[25] end end procedure HurufTerpilih() begin

b ← Button(e.target)

if not tombol_terakhir then begin

KataBaru(b.label) end

else if Ketetanggaan (b,tombol_terakhir)) then begin TambahTebakan(b.label) end else begin KataBaru(b.label) end

tombol_terakhir ← b


(31)

end

procedure TambahTebakan () begin

kata_tebakan ← kata_tebakan + huruf

end

procedure KataBaru () begin

for i ← 0 to tombol.length do

begin

tombol[i].enabled ← true

end

kata_tebakan ← huruf

end

procedure Ketetanggaan ()

var baris_sesudah ← (tombol_sesudah(tombol_sesudah + 3))

var kolom_sesudah ← (tombol_sesudah(tombol_sesudah + 3))

var baris_sebelum ← (tombol_sebelum(tombol_sebelum + 3))

var kolom_sebelum ← (tombol_sebelum(tombol_sebelum + 3))

begin

return baris_sebelum - baris_sesudah <= 1 and kolom_sebelum - kolom_sesudah <= 1 end

procedure TambahKata() begin

if kata_tebakan.length < panjang_kata then begin

KataBaru("") end

else if not SudahKetemu(kata_tebakan) then begin

var indeks_kata:Number ← CariKata(kata_tebakan)

if indeks_kata > -1 then begin

kata_tebakan ← kata_ketemu

KataBaru("") Nilai() end else begin KataBaru("") end end else begin KataBaru("") end end procedure HapusKata() procedure SudahKetemu() begin

for i ← 0 to kata_ketemu.length do

begin

if a = kata_ketemu[i] then return true


(32)

end

return false end

procedure CariKata() begin

for i ← 0 to kata.length do

begin

var Kata:String

Kata ← kata[i]

if huruf = kata[i] then begin

return i end

end

return -1 end

procedure Nilai() begin

var daftar_kata:String nilai_total:Number

for i ← 0 to kata_ketemu.length do

begin

var Kata:String

Kata ← kata_ketemu[i]

nilai_total ← nilai_total + nilai[Kata.length]

daftar_kata ← daftar_kata + Kata + "\n"

end end

procedure MulaiWaktu() procedure hitung_waktu() procedure waktu_habis() procedure Kembali() end.

Berdasarkan pseudocode di atas, pada procedure HurufTerpilih() dapat dilihat bahwa huruf-huruf yang dipilih pemain untuk membentuk sebuah kata harus bertetangga secara vertikal, horizontal, atau diagonal. Apabila nilai ketetanggaannya benar maka huruf-huruf tersebut dapat diajukan sebagai jawaban oleh pemain. Panjang kata yang dibentuk pemain juga tidak boleh kurang dari tiga huruf dan tidak melebihi delapan huruf. Selanjutnya kata tersebut akan dicari di dalam kamus. Penelusuran dimulai dari kata awal hingga kata terakhir dalam kamus sampai ditemukan kata yang sesuai. Apabila kata yang dicari telah ditemukan dalam kamus, maka kata tersebut ditambahkan ke dalam daftar kata yang berhasil ditemukan pemain. Pemain memperoleh nilai total dari hasil penjumlahan nilai masing-masing kata yang berhasil diperoleh sesuai dengan jumlah huruf dari setiap kata tersebut.


(33)

Penerapan algoritma Linear Search pada permainan Word Scramble dijelaskan dalam beberapa langkah berikut.

1. Langkah 1

Langkah 1 dimulai dengan melihat apakah huruf-huruf yang dipilih pemain memiliki nilai ketetanggaan yang benar. Nilai ketetanggan tersebut bernilai benar apabila huruf-huruf yang dipilih saling terhubung secara vertikal, horizontal, atau diagonal baik ke arah kiri maupun kanan. Jika huruf yang dipilih saling bertetangga, maka pemain dapat mengajukan jawabannya untuk dijadikan sebagai nilai yang akan dicari di dalam kamus. Seperti yang dapat dilihat pada Gambar , huruf F, A, C, dan E saling berhubungan secara secara vertikal, horizontal, dan diagonal sehingga didapat kata FACE sebagai nilai yang akan dicari keberadaannya di dalam kamus.

Gambar 3.1 Langkah 1

FACE

M F R V

C A V R

E

D G A

E E N A

W O

S C R A M B L E R D

Tambah


(34)

2. Langkah 2

Setelah pemain memasukkan kata tebakannya untuk dicari di dalam kamus, selanjutnya akan diperiksa terlebih dahulu apakah kata tebakannya kurang dari tiga huruf atau lebih dari delapan huruf sebelum dilakukan penelusuran lebih lanjut. Jika kurang dari tiga huruf atau lebih dari delapan huruf, maka kata tersebut tidak dapat dijadikan tebakan dan pemain harus mencari kata lain. Misalkan kata yang dipilih adalah FACE. Kata tersebut terdiri dari empat huruf maka kata tersebut dapat dilanjutkan penelusurannya di dalam kamus.

3. Langkah 3

Selanjutnya, penelusuran kata yang akan dicari di dalam kamus. Penelusuran dimulai dari kata pertama sampai kata terakhir di dalam kamus. Apabila kata atau pola yang dicari ditemukan maka pemain akan mendapatkan nilai yang sesuai dengan jumlah huruf dari kata tebakannya tersebut. Jika kata yang dicari tidak ditemukan, maka pemain harus mencari kata baru yang lain sebagai tebakannya. Berdasarkan Tabel Daftar Nilai, untuk kata FACE yang terdiri dari empat huruf maka pemain mendapatkan nilai 3 (tiga). Kata tersebut dimasukkan ke dalam daftar kata yang berhasil ditebak oleh pemain. Pemain dapat melanjutkan permainan sampai waktu yang telah ditentukan habis.

Gambar 3.2 Langkah 3

Kata Baru Ditemukan!

M F R V

C A V R

E

D G A

E E N A

Tambah

Hapus

Total nilai : 3

Daftar Kata : FACE

W O

S C R A M B L E R D


(35)

3.1.2.1 Flowchart Alur Permainan

Langkah-langkah bermain pada permainan Hangman akan digambarkan dengan

flowchart berdasarkan peraturan permainan yang telah ditentukan. Gambar 3.3 berikut

ini akan menjelaskan mengenai alur permainan Hangman. Start

HurufAcak () waktu_sisa = 120

HurufTerpilih ()

TambahKata ()

waktu_sisa = 0 ?

End

Ya

Tidak

“Waktu habis !”

Gambar 3.3 Flowchart Alur Permainan

Keterangan:

waktu_sisa : jumlah waktu yang diberikan untuk menebak

3.1.2.2 Flowchart HurufAcak()

Flowchart ini menggambarkan bagaimana huruf acak yang akan dimasukkan pada

papan permainan diperoleh. Penentuan huruf acak didasarkan pada frekuensi huruf acak pada Tabel 2.1 dengan jumlah seluruh frekuensi adalah 100. Gambar 3.4 merupakan flowchart HurufAcak().


(36)

Start alfabet[], frek frek = random(99)

frek = 0-7 ? alfabet[0]

frek = 8-9 ?

alfabet[1] Ya Tidak Ya

alfabet[3] frek = 10-14 ?

alfabet[2] Ya Tidak Ya

Tidak

frek = 15-17 ?

alfabet[4] frek = 29-30 ?

alfabet[5] Ya Tidak Ya

Tidak

frek = 18-28 ?

alfabet[7] frek = 31-32 ?

alfabet[6] Ya Tidak Ya

Tidak

frek = 33-35 ?

alfabet[8] frek = 43 ?

alfabet[9] Ya Tidak Ya

Tidak

frek = 36-42 ?

alfabet[11] frek = 44 ?

alfabet[10] Ya Tidak Ya

Tidak

frek = 45-49 ?

alfabet[12] frek = 53-59 ?

alfabet[13] Ya Tidak Ya

Tidak

frek = 50-52 ?

alfabet[15] frek = 60-66 ?

alfabet[14] Ya Tidak Ya

Tidak

frek = 67-69 ?

alfabet[16] frek = 71-77 ?

alfabet[17] Ya Tidak Ya

Tidak

frek = 70 ?

alfabet[19] frek = 78-83 ?

alfabet[18] Ya Tidak Ya

Tidak

frek = 84-90 ?

alfabet[20] frek = 94 ?

alfabet[21] Ya Tidak Ya

Tidak

frek = 91-93 ?

alfabet[23] frek = 95 ?

alfabet[22] Ya Tidak Ya

Tidak

frek = 96 ?

alfabet[25]

Tidak

End alfabet[24]

Ya Tidak

frek = 97-98 ?

A A A A A A A A A


(37)

Keterangan:

frek : nilai acak untuk alfabet

alfabet[] : array berisi huruf mulai dari A sampai Z

3.1.2.3 Flowchart HurufTerpilih()

HurufTerpilih() merupakan fungsi yang berguna untuk memeriksa apakah huruf-huruf yang dipilih Pemain saling bertetangga atau tidak. Apabila nilai ketetanggaan antara huruf yang terakhir dipilih dengan huruf yang sebelumnya telah dipilih adalah benar, maka Pemain dapat melanjutkan tebakannya. Jika nilai ketetanggaannya salah, maka Pemain harus memilih huruf lain yang bertetangga. Gambar 3.6 merupakan flowchart HurufTerpilih().

Start

b, tombol_terakhir, Ketetanggaan, kata_tebakan, huruf

tombol_terakhir = null ?

Ketetanggaan (b, tombol_terakhir) =

true ?

KataBaru() Ya

Tidak

Tidak kata_tebakan = kata_tebakan + huruf Ya

tombol_terakhir = b

End


(38)

Keterangan:

b : tombol huruf yang dipilih Pemain sesudah tombol_terakhir

tombol_terakhir : tombol huruf terakhir yang dipilih Pemain

Ketetanggaan : tipe boolean untuk menyatakan ketetanggan antara b dan

tombol_terakhir

kata_tebakan : kata tebakan Pemain

huruf : huruf-huruf yang dipilih Pemain

3.1.2.4 Flowchart Ketetanggaan()

Flowchart ini menggambarkan bagaimana menentukan huruf-huruf yang dipilih

Pemain saling bertetangga atau tidak. Gambar 3.7 merupakan flowchart

Ketetanggaan().

Start

Ketetanggaan, baris_sebelum, baris_sesudah, kolom_sebelum,

kolom sesudah

baris_sebelum – baris_sesudah <= 1 ?

Ya

Tidak Tidak

Ya

End Ketetanggaan = true

kolom_sebelum – kolom_sesudah <= 1

?

Ketetanggaan = false

Gambar 3.6 Flowchart Ketetanggaan

Keterangan:

baris_sebelum : indeks huruf yang sebelumnya dipilih berdasarkan baris

baris_sesudah : indeks huruf yang terakhir dipilih berdasarkan baris

kolom_sebelum : indeks huruf yang sebelumnya dipilih berdasarkan kolom


(39)

3.1.2.5 Flowchart KataBaru()

Flowchart ini menggambarkan bagaimana huruf-huruf yang dipilih Pemain dirangkai

menjadi sebuah kata. Gambar 3.6 merupakan flowchart KataBaru().

Start

i, tombol[], kata_tebakan, huruf

i = 0

tombol[i] = enabled

i = tombol.length

?

kata_tebakan = huruf

End

i = i + 1

Ya

Tidak

Gambar 3.7 Flowchart KataBaru()

Keterangan:

i : jumlah variabel tombol huruf

tombol [] : array berisi tombol-tombol huruf

3.1.2.6 Flowchart PeriksaKata()

Flowchart ini menggambarkan bagaimana kata yang telah dirangkai oleh Pemain


(40)

Start

kata_tebakan.length < panjang_kata ?

Nilai ()

KataBaru = “ “

SudahKetemu (kata_tebakan) = true ?

indeks_kata = CariKata(kata_tebakan)

indeks_kata > -1 ? KataBaru = “ “ kata_ketemu = push(kata_tebakan)

KataBaru = “ “

KataBaru = “ “ kata_tebakan, panjang_kata,

SudahKetemu, indeks_kata, CariKata, kata_ketemu

“ Minimal 3 huruf !”

“ Kata baru telah ditemukan !”

“ Kata tidak ada dalam kamus !”

Ya Tidak

Tidak

Tidak

Ya Ya

“ Kata sudah dimasukkan”

End

Gambar 3.8 Flowchart PeriksaKata()

Keterangan:

panjang_kata : jumlah huruf minimal yang dapat dirangkai menjadi sebuah kata SudahKetemu : tipe boolean untuk menyatakan apakah kata tebakan sudah ditemukan

sebelumnya atau belum


(41)

CariKata : nilai yang menyatakan apakah kata tebakan terdapat dalam kamus kata_ketemu : array yang berisi kata tebakan yang benar

3.1.2.7 Flowchart SudahKetemu()

SudahKetemu() merupakan fungsi yang berguna untuk memeriksa apakah kata yang

dijadikan tebakan telah ditemukan sebelumnya. Gambar 3.8 merupakan flowchart

SudahKetemu().

Start

i, a, kata_ketemu, SudahKetemu

i = 0

a = kata_ketemu[i]

?

SudahKetemu = true

i =

kata_ketemu.length ?

SudahKetemu = false i = i + 1

End Ya

Tidak

Ya Tidak

Gambar 3.9 Flowchart SudahKetemu()

Keterangan:

i : jumlah variabel pada kata_ketemu


(42)

3.1.2.8 Flowchart CariKata()

CariKata() merupakan fungsi yang berguna untuk memeriksa apakah kata tebakan Pemain terdapat di dalam kamus. Fungsi inilah yang menggunakan algoritma

pencarian untuk menemukan kata di dalam kamus. Gambar 3.9 merupakan flowchart

CariKata().

Start

i = 0

Kata = kata[i]

huruf = kata[i] ?

CariKata = i

i = kata.length ?

CariKata = -1 i = i + 1

End kata, huruf, i,

Kata, CariKata

Ya Ya

Tidak

Tidak

Gambar 3.10 Flowchart CariKata()

Keterangan:

kata : kata dalam kamus

i : jumlah kata dalam kamus


(43)

3.1.2.9 Flowchart Nilai()

Nilai() merupakan fungsi yang berguna untuk menghitung jumlah nilai yang diperoleh dari tiap kata yang berhasil ditebak oleh Pemain. Penentuan nilai dari tiap kata ditentukan dari banyaknya huruf yang membentuknya. Gambar 3.10 merupakan flowchart Nilai().

Start

i, Kata, kata_ketemu, nilai_total, nilai,

daftar_kata

i = 0

Kata = kata_ketemu[i]

nilai_total = nilai_total + nilai[Kata.length]

daftar_kata = daftar_kata + Kata i =

kata_ketemu.length ? i = i + 1

“Total Nilai : nilai_total” “Daftar Kata : daftar_kata” End

Ya Tidak nilai_total = 0

Gambar 3.11 Flowchart Nilai()

Keterangan:

i : jumlah kata yang berhasil ditebak Pemain

nilai : nilai berdasarkan banyak huruf tiap kata

nilai_total : Total nilai yang diperoleh Pemain


(44)

3.2 Perancangan Sistem

Perancangan sistem yang akan dibahas meliputi perancangan aplikasi permainan dan perancangan antarmuka.

3.2.1 Perancangan Aplikasi Permainan

Perancangan aplikasi permainan merupakan perancangan interaksi yang dapat dilakukan pemain terhadap aplikasi permainan yang dibangun. Aplikasi akan dimulai

dengan menampilkan frame Menu yang tersedia tombol pilihan Mulai, Aturan,

Tentang dan Keluar. Setiap tombol akan memberikan tampilan pada frame-frame

berikutnya. Aplikasi akan berhenti jika pengguna memilih tombol Keluar. Berikut ini adalah proses yang terjadi pada aplikasi permainan Word Scramble yang dapat dilihat pada Gambar 3.11.

Start

Tampilkan

Frame Menu

Pilih tombol Mulai ? Tampilkan

Frame Arena Permainan

Pilih tombol Aturan ?

Pilih tombol Tentang ?

Pilih tombol Keluar

Tampilkan

Frame Aturan Permainan

Tampilkan

Frame Tentang Permainan Pilih tombol Kembali

Bermain Word Scramble

Permainan berakhir

Pilih tombol Kembali

End

Ya Ya

Ya Tidak

Tidak


(45)

Gambar 3.12 Flowchart Aplikasi

3.2.2 Perancangan Antarmuka

Perancangan antarmuka aplikasi permainan Word Scramble ini terdiri dari beberapa

frame, yaitu frame Menu, frame Arena Permainan, frame Aturan Permainan, dan

frame Tentang Permainan. Berikut ini adalah rancangan antarmuka frame- frame

tersebut.

1. Frame Menu

Frame Menu merupakan frame yang pertama kali ditampilkan pada saat

aplikasi dijalankan. Frame ini berisikan menu yang dapat dipilih oleh

pengguna yaitu Mulai, Aturan, Tentang dan Keluar. Rancangan antarmuka frame ini dapat dilihat pada Gambar 3.12.

Gambar 3.13 Frame Menu

Keterangan :

1. Word Scramble merupakan judul aplikasi yang dirancang dengan

menggunakan komponen Graphic.

W O

S C R A M B L E

R D

1

4 3

5


(46)

2. Mulai merupakan tombol yang berfungsi untuk menampilkan frame Arena Permainan yang dirancang dengan menggunakan komponen Button.

3. Aturan merupakan tombol yang berfungsi untuk menampilkan frame

Aturan Permainan yang dirancang dengan menggunakan komponen Button.

4. Tentang merupakan tombol yang berfungsi untuk menampilkan frame

Tentang Permainan yang dirancang dengan menggunakan komponen Button.

5. Keluar merupakan tombol yang berfungsi untuk keluar dari aplikasi yang dirancang dengan menggunakan komponen Button.

2. Frame Arena Permainan

Frame arena permainan merupakan frame yang digunakan untuk bermain

Word Scramble. Rancangan antarmuka frame ini dapat dilihat pada Gambar

3.13.

Gambar 3.14 Frame Arena Permainan

Keterangan :

1. Word Scramble merupakan judul aplikasi yang dirancang dengan

menggunakan komponen Graphic. 3

6

W O

S C R A M B L E R D

2

1

4 5

8


(47)

2. Papan merupakan komponen Button yang berfungsi untuk menampilkan huruf acak yang akan ditebak.

3. Tambah merupakan komponen Button yang berfungsi untuk memeriksa

jawaban pemain apakah benar atau tidak.

4. Hapus merupakan komponen Button yang berfungsi untuk menghapus

jawaban sebelum diperiksa.

5. Kembali merupakan komponen Button yang berfungsi untuk kembali ke

frame Menu jika waktu sudah habis.

6. Hasil Nilai merupakan komponen Text Area yang berfungsi menampilkan

nilai dan semua jawaban benar yang diperoleh pemain.

7. Status Kata merupakan komponen Movie Clip yang berfungsi

menampilkan huruf yang dipilih.

8. Status Waktu merupakan komponen Movie Clip yang berfungsi

menampilkan jumlah waktu yang tersisa untuk menebak jawaban.

3. Frame Aturan Permainan

Frame aturan permainan merupakan frame yang berisikan peraturan sekaligus

cara bermain sehingga dapat memberikan informasi kepada pengguna tentang permainan Word Scramble. Rancangan antarmuka frame ini dapat dilihat pada Gambar 3.14.

Gambar 3.15 Frame Aturan Permainan

2

W O

S C R A M B L E R D

1


(48)

Keterangan :

1. Word Scramble merupakan judul aplikasi yang dirancang dengan

menggunakan komponen Graphic.

2. Komponen Static Text yang berfungsi untuk menampilkan aturan dan cara

bermain Word Scramble.

3. Kembali merupakan komponen Button yang berfungsi untuk kembali ke

frame awal.

4. Frame Tentang Permainan

Frame tentang permainan merupakan frame yang berisikan informasi

mengenai profil penulis. Rancangan antarmuka frame ini dapat dilihat pada Gambar 3.15.

Gambar 3.16 Frame Tentang Permainan

Keterangan :

1. Word Scramble merupakan judul aplikasi yang dirancang dengan

menggunakan komponen Graphic.

2. Komponen Static Text yang berfungsi untuk menampilkan informasi

mengenai profil penulis.

3. Kembali merupakan komponen Button yang berfungsi untuk kembali ke

frame awal. 2

W O

S C R A M B L E R D

1


(49)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

4.1 Implementasi Sistem

Tahap implementasi dilakukan sesuai dengan analisis dan perancangan sistem pada

bab sebelumnya. Implementasi aplikasi permainan Word Scramble meliputi

kebutuhan perangkat lunak dan perangkat keras untuk dapat membangun permainan dengan optimal. Pada tahap ini seluruh spesifikasi dari aplikasi yang dirancang akan

diterjemahkan ke dalam source code dan rancangan antarmuka sehingga

menghasilkan sebuah aplikasi.

4.1.1 Spesifikasi Perangkat Lunak

Perangkat lunak yang digunakan dalam pembuatan permainan Word Scramble ini

adalah Adobe Flash CS5 dengan menggunakan ActionScript 3.0. Penggunaan ActionScript 3.0 sebagai external class bertujuan agar pemrograman menjadi lebih teroraganisir karena source code dan animasi tidak berada dalam satu timeline. Aplikasi ini dibangun pada sistem operasi Windows 7 Home Premium.

4.1.2 Spesifikasi Perangkat Keras

Pada pengimplementasian aplikasi permainan Word Scramble, penulis menggunakan

sebuah laptop yang mempunyai spesifikasi perangkat keras sebagai berikut: 1. Prosesor Intel Core i3

2. Memory RAM 4 GB.

3. Hard Disk 320 GB.


(50)

4.1.3 Implementasi Rancangan Fungsi

Implementasi rancangan fungsi merupakan hasil transformasi dari proses perancangan fungsi algoritma yang telah dijelaskan pada flowchart di bab sebelumnya menjadi source code dalam aplikasi. Hasil list program dapat dilihat pada lampiran A.

4.1.4 Implementasi Rancangan Antarmuka

Berikut ini akan diperlihatkan tampilan antarmuka dari aplikasi permainan Word

Scramble.

4.1.4.1 Tampilan Utama

Tampilan utama dari aplikasi permainan Word Scramble ini dapat dilihat pada

Gambar 4.1. Gambar tersebut memperlihatkan tampilan daftar menu yang dapat dipilih oleh pemain. Pada tampilan ini, pemain dapat memilih tombol Mulai yang menampilkan Arena Permainan. Jika pemain memilih tombol Aturan, maka akan ditampilkan Tampilan Aturan Permainan yang berisi peraturan dan cara bermain

permainan Word Scramble. Jika pemain memilih Tentang Permainan, maka akan

ditampilkan mengenai penulis. Jika pemain memilih Keluar, maka pemain akan keluar dari aplikasi permainan ini. Tampilan Utama dapat dilihat pada Gambar 4.1 berikut.


(51)

4.1.4.2 Tampilan Arena Permainan

Tampilan arena permainan Word Scramble pada Gambar 4.2 memperlihatkan arena

permainan ketika permainan baru dimulai. Gambar 4.3 memperlihatkan arena permainan ketika permainan sedang berlangsung.

Gambar 4.2 Tampilan Arena Permainan


(52)

Gambar 4.4 menampilkan arena permainan ketika permainan berakhir yaitu dengan menunjukkan pesan bahwa waktu telah habis, tombol Kembali, Total Nilai dan Daftar Kata yang diperoleh Pemain.

Gambar 4.4 Tampilan Arena Permainan Ketika Permainan Selesai

4.1.4.3 Tampilan Aturan Permainan

Pada tampilan ini, akan ditampilkan peraturan permainan Word Scramble yang

ditetapkan pada aplikasi sekaligus cara bermainnya dan tombol Kembali. Berikut ini adalah Tampilan Aturan Permainan yang dapat dilihat pada Gambar 4.5.


(53)

4.1.4.4 Tampilan Tentang Permainan

Pada tampilan ini, akan ditampilkan informasi mengenai penulis. Berikut ini adalah Tampilan Permainan yang dapat dilihat pada Gambar 4.6.

Gambar 4.6 Tampilan Tentang Permainan

4.2 Pengujian Aplikasi

Pada tahap pengujian ini akan dievaluasi apakah aplikasi yang dibangun sesuai dengan tujuan yang diharapkan atau tidak. Pengujian ini dilakukan untuk menemukan kelemahan yang ada pada aplikasi dan mendemonstrasikan fungsi-fungsinya apakah telah bekerja sesuai dengan spesifikasi, kebutuhan serta kinerjanya. Pengujian yang akan dilakukan pada aplikasi ini adalah pengujian integrasi aplikasi dan pengujian responden.

Metode yang digunakan pada pengujian ini adalah Black Box. Dengan Black Box, pengujian hanya dilakukan pada representasi sistem yang terlihat tanpa perlu mengetahui bagaimana cara kerja sistem tersebut.

1.

Teknik yang digunakan dalam pengujian Black Box antara lain:


(54)

2.

3.

Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi kebutuhan pemakai dapat diukur dan dapat diketahui kesalahan-kesalahannya.

4.2.1 Pengujian Integrasi Aplikasi

Pengujian integrasi dilakukan terhadap sistem dan subsistem lengkap beserta komponen-komponen penyusunnya yang terintegrasi. Pengujian integrasi ini akan dilakukan pada satu platform yaitu Windows untuk memastikan keadaan aplikasi pada sistem operasi itu dapat bekerja dengan baik. Berikut ini adalah pengujian integrasi aplikasi pada tiap proses pada platform Windows.

4.2.1.1 Proses pada Tampilan Utama

Berikut adalah hasil evaluasi proses pada Tampilan Utama pada platform Windows yang dapat dilihat pada Tabel 4.1.

Tabel 4.1 Hasil Evaluasi Proses pada Tampilan Utama

No. Sasaran Pengujian Output Status

1. Uji tampilan aplikasi ketika dieksekusi

Tampilan Utama menampilkan tombol Mulai, tombol Aturan, tombol Tentang dan tombol Keluar

Baik

2. Uji pemilihan tombol Mulai

Tampilan Arena Permainan ditampilkan

Baik

3. Uji pemilihan tombol

Aturan

Tampilan Aturan Permainan ditampilkan

Baik 4. Uji pemilihan tombol

Tentang

Tampilan Tentang pembuat aplikasi permainan ditampilkan

Baik

5. Uji pemilihan tombol

Keluar

Aplikasi berhenti dan pemain keluar dari aplikasi


(55)

4.2.1.2 Proses pada Tampilan Arena Permainan

Berikut adalah hasil evaluasi proses pada tampilan Arena Permainan pada platform Windows yang dapat dilihat pada Tabel 4.2.

Tabel 4.2 Hasil Evaluasi Proses pada Tampilan Arena Permainan

No. Sasaran Pengujian Output Status

1. Uji tampilan Arena

Permainan

Arena Permainan menampilkan Papan Word Scramble, Status Kata, Status Waktu, Hasil Nilai, tombol Tambah, tombol Hapus, dan tombol Kembali.

Baik

2. Uji tampilan Papan

Word Scramble

Papan Word Scramble

menampilkan huruf acak

berdasarkan nilai frekuensi yang terpilih

Baik

3. Uji tampilan Status Kata

Huruf yang telah dipilih ditampilkan

Baik 4. Uji tampilan Status

Waktu

Sisa waktu ditampilkan Baik

5. Uji tampilan Nilai Nilai yang diperoleh sesuai dengan

kata yang ditemukan

Baik

6. Uji pemilihan tombol

Tambah

Jawaban diperiksa apakah terdapat dalam kamus atau tidak

Baik

7. Uji pemilihan tombol

Hapus

Pemain membatalkan jawabannya untuk memulai jawaban yang baru

Baik

8. Uji pemilihan tombol

Kembali

Tampilan Utama ditampilkan Baik

4.2.1.3 Proses pada Tampilan Aturan Permainan

Berikut adalah hasil evaluasi proses pada tampilan Aturan Permainan pada platform Windows yang dapat dilihat pada Tabel 4.3.

Tabel 4.3 Hasil Evaluasi Proses pada Tampilan Aturan Permainan

No. Sasaran Pengujian Output Status

1. Uji tampilan Aturan

Permainan

Tampilan Aturan Permainan menampilkan informasi

mengenai peraturan permainan, cara bermain dan tombol Kembali

Baik

2. Uji pemilihan tombol Kembali


(56)

4.2.1.4 Proses pada Tampilan Tentang Permainan

Berikut adalah hasil evaluasi proses pada tampilan Tentang permainan pada platform Windows yang dapat dilihat pada Tabel 4.4.

Tabel 4.4 Hasil Evaluasi Proses pada Tampilan Tentang Permainan

No. Sasaran Pengujian Output Status

1. Uji tampilan Tentang

Permainan

Tampilan Tentang Permainan menampilkan informasi

mengenai pembuat aplikasi dan tombol Kembali

Baik

2. Uji pemilihan tombol Kembali

Tampilan Utama ditampilkan Baik

4.2.2 Pengujian Responden

Untuk mengevaluasi aspek antarmuka, penggunaan, dan penilaian, penulis melakukan pengujian kepada pengguna dengan metode kuisioner. Pengguna (responden) berjumlah 20 orang. Pada kuisoner ini terdapat penilaian untuk setiap pertanyaan yang terbagi menjadi empat golongan, yaitu Tidak Baik (TB), Kurang Baik (KB), Baik (B), dan Sangat Baik (SB). Jika digolongkan dalam bentuk persentase, maka 0-25% diinterpretasikan dalam kategori Tidak Baik, 26-50% diinterpretasikan dalam kategori Kurang Baik, 51-75% diinterpretasikan dalam kategori Baik, dan 76-100% diinterpretasikan dalam kategori Sangat Baik. Hasil kuisioner dapat dilihat pada lampiran B.

4.2.2.1 Aspek Antarmuka Aplikasi

Pengujian pada antarmuka aplikasi bertujuan untuk mencari tahu seberapa baik rancangan antarmuka aplikasi bagi pengguna. Hasil evaluasi aspek antarmuka yang diperoleh dapat dilihat pada Tabel 4.5.


(57)

Tabel 4.5 Hasil Kuisioner Aspek Antarmuka Aplikasi

No. Sasaran Pertanyaan

Hasil Penilaian

Sangat

Baik Baik

Kurang Baik

Tidak Baik

1. Ketepatan warna background 4 16 0 0

2. Ketepatan warna, posisi dan ukuran

tulisan 3 17 0 0

3. Ketepatan warna, posisi dan ukuran

tombol 7 13 0 0

4. Efek suara 7 9 4 0

Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk aspek antarmuka sebagai berikut:

1. Ketepatan warna background

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(0/20)*50% + (0/20)*25% = (4/20)*100% + (16/20)*75% +

= 80 % 2. Ketepatan warna, posisi, dan ukuran tulisan

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(0/20)*50% + (0/20)*25% = (3/20)*100% + (17/20)*75% +

= 78,75% 3. Ketepatan warna, posisi dan ukuran tombol

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(0/20)*50% + (0/20)*25% = (7/20)*100% + (13/20)*75% +

= 83,75%

4. Efek Suara

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(4/20)*50% + (0/20)*25% = (7/20)*100% + (9/20)*75% +

= 78,75% 5. Total Keseluruhan


(58)

Dari perhitungan tersebut dapat diperoleh, persentase untuk aspek antarmuka sebesar 80.31% atau diinterpresentasikan sangat baik.

4.2.2.2 Aspek Penggunaan Aplikasi

Pengujian pada aspek ini bertujuan untuk mengevaluasi tingkat kesulitan pengguna dalam menjalankan aplikasi. Dari pengujian ini akan didapati apakah pengguna memahami aturan permainan dan fungsi-fungsi dari menu yang ada. Hasil pengujian

dari kuisioner terhadap penggunaan aplikasi permainan Word Scramble ini dapat

dilihat pada Tabel 4.6.

Tabel 4.6 Hasil Kuisioner Aspek Penggunaan Aplikasi

No. Sasaran Pertanyaan

Hasil Penilaian Sangat

Baik Baik

Kurang Baik

Tidak Baik

1. Pemahaman fungsi tiap tombol 6 13 1 0

2. Pemahaman aturan dan cara

bermain 3 13 4 0

3. Kemudahan menjalankan aplikasi 9 10 1 0

4. Kemudahan penggunaan mouse 11 9 0 0

Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk aspek

pengguna sebagai berikut:

1. Pemahaman fungsi tiap tombol Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(1/20)*50% + (0/20)*25% = (6/20)*100% + (13/20)*75% +

= 81,25%

2. Pemahaman aturan dan cara bermain

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(4/20)*50% + (0/20)*25% = (6/20)*100% + (13/20)*75% +


(59)

3. Kemudahan menjalankan aplikasi Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(1/20)*50% + (0/20)*25% = (9/20)*100% + (10/20)*75% +

= 85%

4. Kemudahan penggunaan mouse

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(0/20)*50% + (0/20)*25% = (11/20)*100% + (9/20)*75% +

= 88,75% 5. Total Keseluruhan

Ptotal = (81,25% + 88,75% + 85% + 88,75%) / 4 = 85,94%

Dari perhitungan tersebut dapat diperoleh, persentase untuk aspek penggunaan aplikasi sebesar 85,94% atau diinterpresentasikan sangat baik.

4.2.2.3 Aspek Penilaian Aplikasi

Penilaian terhadap aspek penilaian secara keseluruhan bertujuan untuk mengetahui seberapa jauh rasa kepuasan pengguna sehingga dapat diketahui apakah aplikasi ini sudah mencapai tujuan yang diharapkan atau tidak. Hasil kuisioner yang diperoleh untuk pengujian terhadap aspek permainan dapat dilihat pada Tabel 4.7.

Tabel 4.7 Hasil Kuisioner Aspek Penilaian Aplikasi

No. Sasaran Pertanyaan

Hasil Penilaian Sangat

Baik Baik

Kurang Baik

Tidak Baik

1. Nilai edukasi dari aplikasi 15 4 1 0

2. Tingkat kesulitan soal 7 12 1 0

3. Ketertarikan terhadap permainan 7 12 1 0

4. Aturan dan cara bermain yang

telah ditentukan 8 9 3 0

Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk aspek pengguna sebagai berikut:


(60)

1. Nilai edukasi dari aplikasi

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(1/20)*50% + (0/20)*25% = (15/20)*100% + (4/20)*75% +

= 90% 2. Tingkat kesulitan soal

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(1/20)*50% + (0/20)*25% = (7/20)*100% + (12/20)*75% +

= 82,5% 3. Ketertarikan terhadap permainan

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(1/20)*50% + (0/20)*25% = (7/20)*100% + (12/20)*75% +

= 82,5% 4. Aturan dan cara bermain yang telah ditentukan

Psangat baik + Pbaik + Pkurang baik + Ptidak baik

(3/20)*50% + (0/20)*25% = (8/20)*100% + (9/20)*75% +

= 85%

5. Total Keseluruhan

Ptotal = (90% + 82,5% + 82,5% + 85%) / 4 = 85%

Dari perhitungan tersebut dapat diperoleh, persentase untuk aspek penilaian aplikasi sebesar 85% atau diinterpresentasikan sangat baik.


(61)

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan pembahasan dan evaluasi dari bab-bab terdahulu, maka diperoleh kesimpulan sebagai berikut:

1. Algoritma Linear Search dapat diimplementasikan sebagai algoritma

pencarian untuk mencocokkan jawaban pemain dengan kata-kata yang ada

pada kamus pada permainan Word Scramble dengan melakukan penelusuran

dari kata pertama hingga kata terakhir pada kamus sampai ditemukan kata yang sesuai.

2. Pengacakan huruf pada papan permainan dilakukan berdasarkan daftar

frekuensi huruf yang paling sering muncul dalam Bahasa Inggris untuk mendapatkan kombinasi huruf konsonan dan vokal yang baik sehingga dapat dirangkai menjadi sebuah kata.

3. Aplikasi permainan Word Scramble yang dibangun mendapatkan penilaian

yang cukup memuaskan dari pengguna dengan penilaian terhadap aspek antarmuka aplikasi 80,31%, aspek penggunaan aplikasi 85,94%, dan aspek penilaian aplikasi 85%.


(62)

5.2 Saran

Berikut ini adalah saran-saran yang dapat dipertimbangkan dalam pengembangan penelitian ini:

1. Menambahkan kecerdasan buatan dalam permainan Word Scramble.

2. Mengimplementasikan permainan Word Scramble dengan menggunakan

bahasa pemrograman lain seperti PHP, J2ME, atau Java sehingga dapat menghasilkan aplikasi permainan handphone atau web-based.

3. Aplikasi permainan Word Scramble ini memiliki kekurangan pada kriteria efek suara yang mendapatkan persentase 78,75%. Untuk itu, aplikasi ini perlu dikembangkan dengan menambahkan efek suara yang lain selama permainan berlangsung dan saat pesan pemenang ditampilkan.


(1)

var i:uint;

for(i = 0; i<tombol.length; i++) { tombol[i].enabled = true; }

kata_tebakan = huruf; status_kata.text = huruf; }

private function

Ketetanggaan(tombol_sebelum:Button,tombol_sesudah:Button):Boolean { var baris_sesudah:Number =

Number(tombol_sesudah.name.charAt(tombol_sesudah.name.indexOf("Row") + 3));

var kolom_sesudah:Number =

Number(tombol_sesudah.name.charAt(tombol_sesudah.name.indexOf("Col") + 3));

var baris_sebelum:Number =

Number(tombol_sebelum.name.charAt(tombol_sebelum.name.indexOf("Row") + 3));

var kolom_sebelum:Number =

Number(tombol_sebelum.name.charAt(tombol_sebelum.name.indexOf("Col") + 3));

return ((Math.abs(baris_sebelum - baris_sesudah) <= 1) &&

(Math.abs(kolom_sebelum - kolom_sesudah) <= 1));

}

private function TambahKata(e:MouseEvent):void { if(kata_tebakan.length < panjang_kata) {

KataBaru("");

status_kata.text = "Minimal " + panjang_kata + " huruf!";

}

else if(!SudahKetemu(kata_tebakan)) { var indeks_kata:Number =

CariKata(kata_tebakan.toLowerCase());

if(indeks_kata > -1) {

kata_ketemu.push(kata_tebakan); KataBaru("");

Nilai();

status_kata.text = "Kata baru ditemukan!"

} else {

KataBaru("");

status_kata.text = "Kata tidak ada dalam kamus!"

} }

else {

KataBaru("");

status_kata.text = "Kata sudah dimasukkan." }

}

private function HapusKata(e:MouseEvent):void { KataBaru("");


(2)

}

private function SudahKetemu(a:String):Boolean { var i:uint;

for(i = 0; i<kata_ketemu.length; i++) { if(a == kata_ketemu[i]) return true; }

return false; }

private function CariKata(huruf:String):Number { var i:uint = 0

for(i=0; i<kata.length; i++) { var Kata:String = kata[i]; if(huruf == kata[i]) {

return i; }

}

return -1; }

private function Nilai():void { var daftar_kata = new Array(); var nilai_total:Number = 0; var i:uint;

for(i=0; i<kata_ketemu.length; i++) { var Kata:String = kata_ketemu[i]; nilai_total += nilai[Kata.length]; daftar_kata += Kata + "\n";

}

hasil_nilai.text = "Total Nilai: " + nilai_total + "\n" + "\n" + "Daftar Kata: " + "\n" + daftar_kata;

}

private function MulaiWaktu(total_waktu:Number):void { t = new Timer(1000, total_waktu);

t.addEventListener(TimerEvent.TIMER,hitung_waktu); t.addEventListener(TimerEvent.TIMER_COMPLETE,waktu_habis);

t.start(); }

private function hitung_waktu(e:TimerEvent):void { var waktu_sisa:Number = waktu -

e.target.currentCount;

status_waktu.text = "Sisa waktu: " + String(waktu_sisa);

}

private function waktu_habis(e:TimerEvent):void { status_waktu.text = "Waktu habis!";

var i:uint;

for(i=0; i<tombol.length; i++) { tombol[i].enabled = false; }

tambah_tombol.enabled = false; hapus_tombol.enabled = false;

var kata:Object = new TextFormat(); kata.font = "Georgia";

kata.size = 16;

kata.color = 0xFFFF00;


(3)

tombol_kembali = new Button(); tombol_kembali.move(290,150);

tombol_kembali.setSize(175 / 2, 30);

tombol_kembali.setStyle("textFormat",kata); tombol_kembali.label = "Kembali";

tombol_kembali.addEventListener(MouseEvent.CLICK,Kembali); addChild(tombol_kembali);

status_kata.text = ""; }

private function Kembali(e:MouseEvent):void { var i:uint;

for(i=0; i<tombol.length; i++) { tombol[i].enabled = false; removeChild(tombol[i]); tombol[i]=null;

}

removeChild(status_kata); removeChild(tambah_tombol); removeChild(hapus_tombol); removeChild(hasil_nilai); removeChild(status_waktu); removeChild(tombol_kembali); kata_ketemu=[];

gotoAndStop(5); }

} }


(4)

LAMPIRAN B : HASIL KUISIONER

Tabel Hasil Kuisioner Untuk Aspek Antarmuka dan Penggunaan Aplikasi

No

Nama

TTD

Antarmuka

Penggunaan

1

2

3

4

5

1

2

3

4

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

Keterangan :

A = Sangat Baik

B = Baik

C = Kurang Baik

D = Tidak Baik


(5)

Tabel Hasil Kuisioner untuk Aspek Penilaian Aplikasi

No

Nama

TTD

Penilaian

1

2

3

4

5

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

Keterangan :

A = Sangat Baik

B = Baik

C = Kurang Baik

D = Tidak Baik


(6)

I.

Kriteria Aplikasi

No.

Kriteria

Penilaian

SB

B

KB TB

1.

Ketepatan warna

background

4

16

0

0

2.

Ketepatan warna, posisi dan ukuran tulisan

3

17

0

0

3.

Ketepatan warna, posisi dan ukuran tombol

7

13

0

0

4.

Efek suara

7

9

4

0

1.

Pemahaman fungsi tiap tombol

6

13

1

0

2.

Pemahaman aturan dan cara bermain

3

13

4

0

3.

Kemudahan menjalankan aplikasi

9

10

1

0

4.

Kemudahan penggunaan mouse

11

9

0

0

1.

Nilai edukasi dari aplikasi

15

4

1

0

2.

Tingkat kesulitan soal

7

12

1

0

3.

Ketertarikan terhadap permainan

7

12

1

0

4.

Aturan dan cara bermain yang telah ditentukan

8

9

3

0

Keterangan:

SB

: Sangat Baik

B

: Baik

KB

: Kurang Baik

TB

: Tidak Baik