• Tidak ada hasil yang ditemukan

ANALISA DAN PERANCANGAN SISTEM

3.1 Analisa system

Sebelum melakukan pembangkitan jawaban pada papan teka-teki silang, ada tahap persiapan yang harus dilalui, yaitu mengubah struktur data yang diterima dari designer ke dalam sebuah array dan member nomor pada papan teka-teki silang. Aplikasi menerima informasi warna kotak-kotak kecil pada papan teka-teki silang dari designer. Informasi ini berupa variabel bernama grid_x_y di mana x merupakan nomor baris posisi kotak kecil pada papan dan y merupakan nomor kolom posisi kotak kecil pada papan. Agar lebih mudah dalam pembacaan oleh aplikasi, data papan teka-teki silang yang diterima dan diubah terlebih dulu ke dalam array.

Array ini memiliki dua dimensi untuk menyesuaikan dengan bentuk papan teka-teki silang. Semua variabel grid_x_y dibaca satu per satu dan dimasukkan ke dalam variabel grid[x][y] sesuai dengan nomor baris dan nomor kolomnya. Setelah array grid terbentuk, proses selanjutnya adalah melakukan penomoran pada papan teka-teki silang. Algoritma paling mudah untuk melakukannya adalah dengan memindai semua kotak baris per baris apakah termasuk kotak yang harus diberi nomor atau tidak. Kotak yang harus diberi nomor adalah kotak putih pertama yang membentuk sebuah garis kotak putih secara mendatar atau menurun. Untuk garis mendatar, kotak-kotak yang memenuhi aturan tersebut adalah kotak putih. Begitu juga sebaliknya.

Dengan melakukan penomoran ini, aplikasi sekaligus mendapatkan daftar slot untuk jawaban teka-teki silang. Variabel yang menyimpan informasi tersebut adalah variabel array_jawaban, yang merupakan sebuah array yang elemennya menyimpan informasi nomor kotak, baris dan kolom kotak, arah penulisan jawaban (mendatar atau menurun), kata/jawaban, petunjuk/pertanyaan, dan kata/jawaban yang telah dicoba selama pencarian solusi.

Dalam proses penomoran informasi yang diisi hanya nomor kotak, baris dan kolom kotak, dan arah penulisan jawaban; sedangkan yang lainnya dibiarkan kosong dulu. Setelah proses penomoran selesai dan daftar kotak yang harus diisi jawaban telah terbuat, proses pembangkitan sudah bisa dilakukan. Pembangkitan ini dilakukan dengan mencoba untuk melengkapi semua elemen dalam daftar jawaban, yakni variabel array_jawaban.

Setiap pengambilan kata harus memperhatikan panjang kata dan ketetanggaannya dengan kata yang lain dalam papan. Setiap kata yang dicoba pada satu slot jawaban harus diingat agar kata yang sama tidak diambil dua kali. Selain itu, kata yang diambil juga tidak boleh sudah ada dalam daftar jawaban.

Permainan teka-teki silang merupakan permainan yang berfungsi untuk mengasah otak. Permainan ini mempunyai beberapa pertanyaan yang harus dijawab. Uniknya permainan ini adalah bentuk jawaban harus diisi dalam ruang kosong berupa kotak yang tersusun sedemikan rupa sehingga membentuk suatu kata. Permainan teka-teki silang ini dapat dimainkan oleh anak-anak sampai dengan orang dewasa.

Permainan ini memiliki sejumlah database pertanyaan berserta jawabannya. Permainan ini dimulai dengan me-random 10 pertanyaan yang tersedia dalam database. Untuk mengetahui bagaimana cara bermain permainan teka-teki silang ini pemain dapat menekan tombol how to play yang didalamnya berisi tentang cara bermain dan aturan dalam permainan teka-teki silang ini. Dengan menekan tombol play akan menandakan bahwa permainan telah dimulai. Pemain dapat menjawab pertanyaan dengan mengklik kotak yang tersedia maupun list pertanyaan dan menginputkan jawaban dengan huruf. Jawaban yang diinputkan akan secara otomatis mengisi kotak yang tersedia berdasarkan nomor urut pertanyaan. Jika jumlah karakter jawaban yang diinputkan tidak sesuai dengan jumlah karakter jawaban yang ada pada database maka system akan secara otomatis menginformasikan jumlah karakter yang harus diisi dan jawaban tidak akan dimasukkan kedalam kotak jawaban sehingga pemain dapat memasukkan

kembali jawaban yang sesuai dengan jumlah karakter yang terdapat pada database. Terdapat perbedaan warna antara kotak yang sudah terisi dengan kotak yang belum terisi. Kotak yang belum terisi akan berwarna putih sedangkan kotak yang sudah terisi akan berwarna hijau. Setelah seluruh pertanyaan terjawab pemain akan mempunyai pilihan untuk mengklik tombol cek. Fungsi tombol cek ini adalah untuk melakukan pengecekan apakah semua jawaban yang terisi pada kotak sudah benar atau salah. Apabila ada jawaban yang salah, kotak isian akan berubah warna menjadi merah. Selain tombol cek terdapat juga penghitung waktu yang befungsi sebagai indikasi petunjuk lamanya permainan tersebut berjalan. pemain mempunyai pilihan untuk menyerah jika telah melakukan 3x tombol cek tetapi masih ada jawaban yang salah dan dapat mencoba kembali dengan mengklik tombol try again. Untuk pemain yang terdaftar sebagai member dapat menyimpan top record untuk di publikasikan dan dimainkan kembali oleh member yang lain. Sedangkan bagi pemain yang belum terdaftar sebagai member tidak dapat menyimpan top record sebelum melakukan registrasi.

Para member dalam permainan teka-teki silang online ini dapat menginputkan pertanyaan dan jawaban kedalam database. Member juga dapat memainkan teka-teki silang dengan pertanyaan yang diinputkan oleh member yang lain. Member hanya dapat menyimpan satu top record saja. Apabila member ingin menyimpan top record yang lain maka member akan mendapatkan konfirmasi untuk menyetujui perubahan top record dan top record yang lama akan dihapus secara otomatis. Dalam permainan teka-teki silang ini tedapat sebuah halaman yang berisikan daftar dari top record dari member. Dari daftar tersebut

dapat terlihat member mana yang memiliki waktu yang paling cepat dalam menyelesaikan game tersebut.

a . Ketentuan dan Aturan Main Game

1. Pemain harus memahami prosedur permainan

2. Pemain harus menyelesaikan misi sesuai dengan yang telah ditentukan oleh skenario game

3. Pemain akan dinyatakan gagal dalam menyelesaikan permainan teka- teki silang apabila menyerah.

4. Member tidak diizinkan untuk menginputkan kata-kata yang tidak sopan dalan daftar pertanyaan maupun jawaban.

b. Target Hasil dan Tujuan Game

1. Pemain berhasil menyelesaikan seluruh daftar pertanyaan dalam satu session permainan.

2. Member berhasil memainkan top record member lain dengan waktu yang lebih cepat.

Dokumen terkait