Perancangan Alur Aplikasi Perancangan Aplikasi

33 Gambar 3.8 merupakan flowchart permainan level 2. Jika permainan pada level 2 telah selesai maka aplikasi akan menghitung nilai yang berhasil diperoleh pemain di level 2 kemudian akan menjalankan permainan level 3. Gambar 3.8 Flowchart permainan level 2 34 Gambar 3.9 merupakan flowchart permainan level 3. Jika permainan pada level 3 telah selesai maka aplikasi akan menhitung nilai dan memeriksa apakah permainan telah selesai dengan nilai tertinggi yang termasuk kedalam 15 besar nilai tertinggi. Jika benar maka pengguna melakukan input nilai tertinggi. Gambar 3.9 Flowchart permainan level 3 Perhitungan nilai pada permainan dilakukan dengan menghitung sisa waktu pemain saat menyelesaikan permainan. Sisa waktu dihitung dengan rumus : nilai = menit 60 + detik 5 poin 35 Nilai pada setiap level akan diakumulasikan sehingga di akhir permainan akan diperoleh total nilai yang diperoleh pemain.

3.2.2 Perancangan Alur Permainan

Pada tahap perancangan alur permainan, penulis akan menggambarkan bagaimana jalannya fungsi-fungsi utama yang dijalankan dalam program selama permainan berlangsung. Fungsi-fungsi tersebut antara lain fungsi Mulai Baru, fungsi Bantuan dan fungsi Selesaikan.

3.2.2.1 Mulai Baru

Gambar 3.10 adalah flowchart Mulai Baru. Alur dimulai dengan memeriksa apakah permainan dalam keadaan paused atau apakah waktu permainan telah habis. Jika benar maka proses akan berakhir, jika tidak maka program akan melakukan. Setelah itu program melakukan pengacakan huruf untuk ditampilkan pada setiap posisi huruf acak pada grid. Kemudian program akan mengacak soal dan menentukan posisi masing-masing soal pada grid. 36 Gambar 3.10 Flowchart Mulai Baru Adapun langkah-langkah dalam melakukan generate soal dalam fungsi Mulai Baru adalah sebagai berikut : 1. Lakukan random urutan soal agar untuk setiap permainan terdapat soal-soal yang berbeda. 2. Untuk setiap soal lakukan pengacakan posisi soal dengan cara random 8 arah yang memungkinkan. 3. Untuk setiap arah yang terpilih pilih salah satu index posisi huruf lalu periksa apakah jumlah posisi yang terbentuk memungkinkan untuk dipakai sebagai posisi soal. Jika ya, maka cetak soal pada posisi tersebut. Jika tidak lakukan dengan arah lain yang memungkinkan. 37 4. Lakukan pengacakan huruf untuk mengisi sisa posisi yang tidak dipakai untuk meletakkan rangkaian huruf soal. Untuk lebih jelasnya langkah-langkah generate soal dalam fungsi Mulai Baru dapat dilihat pada pseudocode berikut : int idx ← Random100 if word[idx]==”” forint i=0; imaxsoal; i++ int acak ← Random8 switchacak case0 : if jumlah_kosong = jumlah_huruf cetak ke arah atas break case1 : if jumlah_kosong = jumlah_huruf cetak ke arah bawah break case2 : if jumlah_kosong = jumlah_huruf cetak ke arah kanan break case3 : if jumlah_kosong = jumlah_huruf cetak ke arah kiri break case4 : if jumlah_kosong = jumlah_huruf cetak ke arah kanan atas break case5 : if jumlah_kosong = jumlah_huruf cetak ke arah kiri atas break case6 : if jumlah_kosong = jumlah_huruf cetak ke arah kanan bawah break case7 : if jumlah_kosong = jumlah_huruf cetak ke arah kiri bawah break endswitch endfor endif foridx=0; i100; i++ if idx[word]==”” string char = “ABCDEFGHIJKLMNOPQRSTUVWXYZ” idx[word] = char.sustrrndchar,1 endif endfor 38

3.2.2.2 Bantuan

Gambar 3.11 adalah flowchart Bantuan. Alur dimulai dengan memeriksa apakah permainan dalam keadaan paused atau apakah waktu permainan telah habis. Jika benar maka proses akan berakhir, jika tidak maka program akan melakukan disable tombol bantuan dan cnt_enable di-set 0. Tombol bantuan akan aktif enable jika cnt_enable=15. Artinya tombol akan aktif setelah 15 detik. Setelah itu program akan memeriksa apakah jumlah jawaban yang terjawab lebih sedikit dari pada jumlah soal. Jika benar, program akan memeriksa soal-soal yang belum terjawab kemudian mengacak soal-soal tersebut, jika tidak maka proses akan berakhir. Setelah salah satu soal terpilih. Kemudian program akan memeriksa setiap index huruf pada grid mulai dari index ke-0 sampai index ke-99. Huruf pada index yang terpilih kemudian dicocokkan dengan huruf pertama pada soal yang dicari. Jika huruf telah cocok kemudian akan diperiksa huruf seterusnya sesuai arah pencarian yang telah ditentukan. Jika hasil pemeriksaan sama dengan soal maka soal telah ditemukan dan jumlah jawaban akan bertambah.