SKRIPSI
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana
Komputer
Diluluskan di
Medan, 24 Mei 2012
Komisi Pembimbing :
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
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.
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.
Penulis
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. Word Scramble 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.
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.
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
Daftar Pustaka 49
Halaman
Halaman
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. Word Scramble 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.
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.
PENDAHULUAN
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.
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.
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 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.
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.
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
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.
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"]
C A V R
D E G A
E E N A
Untuk menghitung penilaian kualitas dari aplikasi ini dapat dihitung dengan
menggunakan rumus (2.1) dan rumus (2.2):
Dimana:
Pk = persentase untuk k kondisi dalam hal tidak baik, kurang baik, baik,
dan sangat baik
f = total respon dalam k kondisi
N = jumlah responden
I kb = interpretasi k kondisi terbesar (dalam hal ini tidak baik 25%, kurang
baik 50%, baik 75%, dan sangat baik 100%)
P total = persentase untuk jumlah keseluruhan persentase pertanyaan
n = banyak pertanyaan
Pada analisis sistem ini akan dilakukan analisis terhadap permainan Word Scramble
dan algoritma pencarian Linear Search.
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:
2. Nilai
Nilai (kata) yang akan ditelusuri yaitu jawaban pemain. Jika kata yang
menjadi jawaban pemain terdapat dalam kamus maka jawaban
dianggap benar.
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]
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"]
frek ← random()*99
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
b.enabled ← false
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
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.
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.
FACE
M F R V Tambah
C A V R
Hapus
D E G A
E E N A
W O R D
S C R A M B L E
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.
C A V R Hapus
D E G A Daftar Kata :
E E N A FACE
W O R D
S C R A M B L E
waktu_sisa = 120
HurufAcak ()
HurufTerpilih ()
TambahKata ()
waktu_sisa Tidak
=0?
Ya
“Waktu habis !”
End
Keterangan:
waktu_sisa : jumlah waktu yang diberikan untuk menebak
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().
Ya Tidak Ya
alfabet[1] frek = 8-9 ? frek = 0-7 ? alfabet[0]
Tidak
Ya Tidak Ya
alfabet[2] frek = 10-14 ? frek = 15-17 ? alfabet[3]
A Tidak A
Ya Tidak Ya
alfabet[5] frek = 29-30 ? frek = 18-28 ? alfabet[4]
Tidak
Ya Tidak Ya
alfabet[6] frek = 31-32 ? frek = 33-35 ? alfabet[7]
A Tidak A
Ya Tidak Ya
alfabet[9] frek = 43 ? frek = 36-42 ? alfabet[8]
Tidak
Ya Tidak Ya
alfabet[10] frek = 44 ? frek = 45-49 ? alfabet[11]
Tidak
Ya Tidak Ya
alfabet[13] frek = 53-59 ? frek = 50-52 ? alfabet[12]
Tidak
Ya Tidak Ya
alfabet[14] frek = 60-66 ? frek = 67-69 ? alfabet[15]
A Tidak A
Ya Tidak Ya
alfabet[17] frek = 71-77 ? frek = 70 ? alfabet[16]
Tidak
Ya Tidak Ya
alfabet[18] frek = 78-83 ? frek = 84-90 ? alfabet[19]
A Tidak A
Ya Tidak Ya
alfabet[21] frek = 94 ? frek = 91-93 ? alfabet[20]
Tidak
Ya Tidak Ya
alfabet[22] frek = 95 ? frek = 96 ? alfabet[23]
Tidak
Tidak Ya
A End alfabet[25] frek = 97-98 ? alfabet[24]
Start
b, tombol_terakhir,
Ketetanggaan,
kata_tebakan, huruf
tombol_terakhir Ya
KataBaru()
= null ?
Tidak
tombol_terakhir = b
End
Start
Ketetanggaan, baris_sebelum,
baris_sesudah, kolom_sebelum,
kolom sesudah
kolom_sebelum – Ya
baris_sebelum – Ya
kolom_sesudah <= 1
baris_sesudah <= 1 ?
?
Tidak
Tidak
Ketetanggaan = false
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
kolom_sesudah : indeks huruf yang terakhir dipilih berdasarkan kolom
Start
i, tombol[],
kata_tebakan, huruf
i=0
tombol[i] = enabled
i=
Tidak
tombol.length i=i+1
?
Ya
kata_tebakan = huruf
End
Keterangan:
i : jumlah variabel tombol huruf
tombol [] : array berisi tombol-tombol huruf
Flowchart ini menggambarkan bagaimana kata yang telah dirangkai oleh Pemain
dijadikan kata tebakan. Gambar 3.7 merupakan flowchart PeriksaKata().
kata_tebakan, panjang_kata,
SudahKetemu, indeks_kata,
CariKata, kata_ketemu
kata_tebakan.length < Ya
KataBaru = “ “
panjang_kata ?
“ Minimal 3 huruf !”
Tidak
SudahKetemu Ya
KataBaru = “ “
(kata_tebakan) = true ?
“ Kata sudah
Tidak
dimasukkan”
indeks_kata =
CariKata(kata_tebakan)
Ya Tidak
kata_ketemu = push(kata_tebakan) indeks_kata > -1 ? KataBaru = “ “
Nilai ()
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 i=i+1
Tidak
a= i=
Tidak
kata_ketemu[i] kata_ketemu.length
? ?
Ya Ya
End
Keterangan:
i : jumlah variabel pada kata_ketemu
a : kata yang sedang diperiksa apakah telah ditemukan sebelumnya
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
kata, huruf, i,
Kata, CariKata
i=0
i=i+1
Kata = kata[i]
Tidak
huruf = Tidak
i = kata.length ?
kata[i] ?
Ya Ya
CariKata = i CariKata = -1
End
Keterangan:
kata : kata dalam kamus
i : jumlah kata dalam kamus
Kata : variabel dari kata
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
nilai_total = 0
i=0
i=i+1
Kata = kata_ketemu[i]
Tidak
i=
daftar_kata = daftar_kata + Kata
kata_ketemu.length ?
Ya
Keterangan:
i : jumlah kata yang berhasil ditebak Pemain
nilai : nilai berdasarkan banyak huruf tiap kata
nilai_total : Total nilai yang diperoleh Pemain
daftar_kata : Daftar kata yang berhasil ditebak oleh Pemain
Perancangan sistem yang akan dibahas meliputi perancangan aplikasi permainan dan
perancangan antarmuka.
Tampilkan
Frame Menu
Tampilkan
Ya Pilih tombol
Frame Arena Pilih tombol Kembali
Mulai ?
Permainan
Tidak
Bermain Word Scramble
Tampilkan
Pilih tombol Ya Frame Aturan
Aturan ?
Permainan
Permainan berakhir
Tidak
Tidak
Pilih tombol
Keluar
End
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.
1
W O R D
S C R A M B L E
5 3 4
Keterangan :
1. Word Scramble merupakan judul aplikasi yang dirancang dengan
menggunakan komponen Graphic.
7
2 3
6
4
1 W O R D
S C R A M B L E
1
W O R D
3
S C R A M B L E
1
W O R D
3
S C R A M B L E
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.
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.
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.
Berikut ini akan diperlihatkan tampilan antarmuka dari aplikasi permainan Word
Scramble.
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.
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.
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.
Pada tampilan ini, akan ditampilkan informasi mengenai penulis. Berikut ini adalah
Tampilan Permainan yang dapat dilihat pada Gambar 4.6.
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. Teknik yang digunakan dalam
pengujian Black Box antara lain:
1. Menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang.
Berikut adalah hasil evaluasi proses pada Tampilan Utama pada platform Windows
yang dapat dilihat pada Tabel 4.1.
Berikut adalah hasil evaluasi proses pada tampilan Arena Permainan pada platform
Windows yang dapat dilihat pada Tabel 4.2.
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 Tampilan Aturan Permainan Baik
Permainan menampilkan informasi
mengenai peraturan permainan,
cara bermain dan tombol Kembali
2. Uji pemilihan tombol Tampilan Utama ditampilkan Baik
Kembali
Berikut adalah hasil evaluasi proses pada tampilan Tentang permainan pada platform
Windows yang dapat dilihat pada Tabel 4.4.
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.
Hasil Penilaian
No. Sasaran Pertanyaan Sangat Kurang Tidak
Baik
Baik Baik Baik
1. Ketepatan warna background 4 16 0 0
Ketepatan warna, posisi dan ukuran
2. 3 17 0 0
tulisan
Ketepatan warna, posisi dan ukuran
3. 7 13 0 0
tombol
4. Efek suara 7 9 4 0
Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk
aspek antarmuka sebagai berikut:
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.
Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk
aspek
pengguna sebagai berikut:
Dengan menggunakan rumus (2.1) dan (2.2) dapat dihitung persentase untuk
aspek pengguna sebagai berikut:
5. Total Keseluruhan
P total = (90% + 82,5% + 82,5% + 85%) / 4 = 85%
5.1 Kesimpulan
[2] Levitin, Anany. 2007. Introduction to The Design And Analysis of Algorithms
Second Edition. Villanova University : Pearson Addison Wesley.
[3] Lewand, Robert E. 2000. Cryptological Mathematics. USA: The Mathematical
Association of America.
[6] Sabdifha, Noswa. 2010. Perancangan Dan Pembuatan Aplikasi Word Game
Scramble Pada Board Dua Dimensi. Skripsi. Surabaya: Institut Teknologi
Sepuluh Nopember.
[8] Zarlis, Muhammad dan Handrizal. 2007. Algoritma dan Pemrograman: Teori
dan Praktik Dalam Pascal. Medan: USU Press.
1. WordScramble.as
package {
import flash.display.MovieClip;
import flash.media.Sound;
import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.text.TextFormat;
import flash.utils.Timer;
import flash.events.*;
import fl.controls.TextArea;
import fl.controls.TextInput;
import fl.controls.Button;
import fl.controls.Label;
import fl.events.ComponentEvent;
import flash.system.fscommand;
kata = isi_kamus.split(String.fromCharCode(13,10));
trace("Kamus" + kamus.length);
Tampilan();
Papan(30,50,huruf_mendatar,huruf_menurun,uk_tombol);
MulaiWaktu(waktu);
}
tambah_tombol.addEventListener(MouseEvent.CLICK,TambahKata);
addChild(tambah_tombol);
hapus_tombol.addEventListener(MouseEvent.CLICK,HapusKata);
addChild(hapus_tombol);
private function
Papan(startX:Number,startY:Number,total_baris:Number,total_kolom:Numb
er,uk_tombol:Number):void {
var kata:Object = new TextFormat();
kata.font = "Cooper Black";
kata.size = 18;
kata.color = 0xFFFF00;
tombol = new Array();
var kolom:uint;
var baris:uint;
for(baris = 0; baris < total_baris; baris++) {
"N","O","P","QU","R","S","T","U","V","W","X","Y","Z"];
var frek:int =(Math.random()*99);
if(!tombol_terakhir) {
KataBaru(b.label);
}
else if(Ketetanggaan(b,tombol_terakhir)) {
TambahTebakan(b.label);
}
else {
KataBaru(b.label);
}
tombol_terakhir = b;
b.enabled = false;
}
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));
t.addEventListener(TimerEvent.TIMER_COMPLETE,waktu_habis);
t.start();
}
tombol_kembali.addEventListener(MouseEvent.CLICK,Kembali);
addChild(tombol_kembali);
status_kata.text = "";
}
Keterangan :
A = Sangat Baik
B = Baik
C = Kurang Baik
D = Tidak Baik
Keterangan :
A = Sangat Baik
B = Baik
C = Kurang Baik
D = Tidak Baik
Penilaian
No. Kriteria
SB B KB TB
Keterangan:
SB : Sangat Baik
B : Baik
KB : Kurang Baik
TB : Tidak Baik