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
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
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,
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
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
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
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.
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.
DAFTAR ISI
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
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
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
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
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.
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.
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
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
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
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
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
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
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
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
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
Tabel 2.1 Daftar Nilai Frekuensi Huruf yang Akan Diacak
No. Huruf Frekuensi Inisialisasi
1 E 12.702% 12
(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",
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.
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
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
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
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()
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"]
if 0<= frek and frek <=7 then
if not tombol_terakhir then begin
KataBaru(b.label) end
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("")
end
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
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
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
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
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
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
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
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
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
Start (kata_tebakan) = true ?
indeks_kata =
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
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
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
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
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
Frame Tentang Permainan Pilih tombol Kembali
Bermain Word Scramble
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
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
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
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
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.
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.
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
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.
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:
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
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
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
Tabel 4.5 Hasil Kuisioner Aspek Antarmuka Aplikasi
No. Sasaran Pertanyaan
Hasil Penilaian
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
5. Total Keseluruhan
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
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% +
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
4. Aturan dan cara bermain yang
telah ditentukan 8 9 3 0
Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk
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
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