Arsitektur Umum Analisis ANALISIS DAN PERANCANGAN SISTEM

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Aplikasi game bekel merupakan adaptasi dari permainan tradisional bekel yang dirancang sesuai dengan aturan dasar permainannya dengan sedikit penyesuian agar dapat berjalan pada perangkat mobile. Pada bab ini penulis akan menjabarkan konsep permainan bekel yang akan dirancang dan penerapannya di Android sebagai persiapan awal sebelum implementasi system.

3.1. Arsitektur Umum

Perancangan aplikasi game bekel terdiri dari 4 variabel yang mendasari jalannya aplikasi. Ada pun fungsinya meliputi user interface sebagai antarmuka pada layar device, object data model sebagai pegeksekusi gerak bola dan pengacakan posisi biji yang ditampilkan pada halaman Arena Permainan pada user interface, game logic sebagai penentu arah permainan, dan database yang menyimpan data skor jika permainan berakhir. Ada pun arsitektur umum permainan dapat dilihat pada Gambar 3.1. Universitas Sumatera Utara Gambar 3.1. Arsitektur umum aplikasi game bekel

3.2. Analisis

Object Data Model Bola dan Biji Pada bab sebelumnya telah dijelaskan dasar gerak gerak jatuh bebas dan fungsi random dengan menggunaakan class java.util.Random. Gerak jatuh bebas akan diterapkan sebagai metode gerak pada objek bola. Awalnya bola akan diberi jarak tempuh hingga mencapai ketinggian tertentu. Ketika bola mencapai batas ketinggian yang telah ditentukan maka metode gerak jatuh bebas berperan dalam mengatur lintasan bola hingga mencapai posisi awal. Sedangkan fungsi random akan diterapkan sebagai pengacak posisi biji sehingga biji yang muncul dalam posisi acak pada setiap permainan. Posisi biji sengaja dibuat acak untuk menghidari pemain menghapal posisi biji yang tersebar dipapan permainan. 3.2.1. Deskripsi Logika Gerak Objek Bola Menggunakan Gerak Jatuh Bebas Penerapan logika gerak obejk bola menggunakan gerak jatuh bebas dalam permainan bekel adalah sebagai berikut : 1. Sebuah objek x dengan posisi awal y. 2. Jika x digerakkan, cek apakah x didrag atau ditouch. Universitas Sumatera Utara 3. Jika x didrag maka y diberi ketinggian h = n 1 . 4. Jika x ditouch maka y diberi ketinggian h = n 2 . 5. Jika x sudah mencapai ketinggian h = n maka x akan diberi percepatan gravitasi g. 6. x berhenti jika mencapai posisi awal y. x adalah objek bola, y adalah posisi awal bola yang menjadi posisi kembali bola setelah digerakkan, h adalah ketinggian yang diberikan pada bola dan g adalah percepatan gravitasi. Dalam aplikasi ini h memilki dua nilai yaitu n 1 dan n 2 . Pada perancangan aplikasi game ini, layar yang digunakan adalah orientasi landscape. Layar landscape umumnya memiliki titik awal koordinatx,y pada sudut kiri atas pada layar. Untuk lebih jelasnya dapat dilihat pada Gambar 3.2. Gambar 3.2. Titik awal koordinat pada layar landscape Hal ini tentu mempengaruhi implementasi system yang telah dirancang sebelumnya. Untuk menggerakkan objek bola, ketinggianh bernilai negative agar objek dapat bergerak ke atas. Sedangkan percepatan gravitasig bernilai positif agar objek dapat bergerak turun kembali ke posisi awaly. Dalam deskripsi logika gerak bola pada aplikasi game bekel, nilai h dibuat dengan 2 opsi. Pertama, jika bola digerakkan dengan cara didrag maka bola akan naik dengan ketinggianh = n 1 . Opsi dengan cara didrag memiliki nilai ketinggian maksimum atau lebih tinggi dari pada nilai ketinggian opsi kedua. Opsi ini dapat menjadi pilihan jika pemain membutuhkan waktu lebih lama ketika melakukan pengambilan biji. Kedua, jika bola digerakkan dengan cara ditouch maka bola akan naik dengan ketinggianh = n 2 . Opsi dengan cara ditouch memiliki nilai ketinggian Universitas Sumatera Utara minimum atau lebih rendah dari pada opsi pertama. Opsi ini dapat menjadi pilihan jika pemain merasa dapat megambil biji dengan cepat tanpa perlu menunggu lama untuk pengambilan biji selanjutnya. Tampilan gerak bola pada aplikasi dapat dilihat pada Gambar 3.3 sebagai berikut. a b Gambar 3.3. a Tampilan gerak jatuh bebas pada opsi satu; b Tampilan gerak jatuh bebas pada opsi satu; Dari hasil penjabaran metode diatas maka pseudocode baru yang didapat adalah : begin Set x sebagai objek. Deklarasi ballPos pada posisi-awal. Deklarasi hhighball sebagai ketinggian. Deklarasi ggravityBall sebagai gravitasi . ifx = clicked{ ifx = drag { ifballReturn == false { ifhighBall = 0 ballReturn = true; else { ballPos -= highBall; highBall--; } } else ifballReturn == true { ifballPos = 0 { ballReturn = false; ballClicked = false; ballPos = 0; highBall = 25; gravityBall = 1; Universitas Sumatera Utara } else { ballPos += gravityBall; gravityBall++; } } showBallg, world; } ifx = touch { ifballReturn == false { ifhighBall = 15 ballReturn = true; else { ballPos -= highBall; highBall--; } } else ifballReturn == true { ifballPos = 0 { ballReturn = false; ballClicked = false; ballPos = 0; highBall = 25; gravityBall = 1; } else { ballPos += gravityBall; gravityBall++; } } showBallg, world; } end 3.2.2. Deskripsi Fungsi Random Pada game bekel letak biji diacak sebagai variasi permainan. Pengacakan letak biji menggunakan fungsi random dengan tujuan setiap biji yang muncul tidak monoton dengan posisi yang sama pada tiap levelnya. Fungsi random yang digunakan juga dengan ketentuan biji yang diacak akan muncul dalam koordinat yang telah dibatasi panjang dan lebarnya. Hal ini mencegah agar biji yang diacak tidak muncul diluar resolusi papan permainan yang berukuran 450x350 pixel. Ada pun pseudocode dari fungsi random pada biji adalah sebagai berikut : begin Tentukan koordinat batas pengacakkan. Deklarasi batasX sebagai batas-koordinatX. Universitas Sumatera Utara Deklarasi batasY sebagai batas-koordinatY. whilebiji.israndom do batasX = biji_randommaxX-minX+ minX batasY = biji_randommaxY-minY+ minY end

3.3. Game Logic