• Tidak ada hasil yang ditemukan

ANALISIS DAN PERANCANGAN

3.3. Struktur Data

Aplikasi permainan Babylon Tower yang dibangun mampu merepresentasikan setiap elemen object yang terdapat dalam Babylon Tower disertai dengan fungsi-fungsi dasarnya. Selain itu, aplikasi yang dibangun juga mampu mendeteksi input berupa sentuhan pada layar smartphone dari user serta menentukan gerakan yang dihasilkan dari input tersebut.

Untuk merepresentasikan setiap object yang terdapat dalam permainan Babylon Tower secara jelas, maka perlu dibuat class untuk setiap jenis object yang ada. Secara umum, jenis object yang digunakan dapat dikelompokkan menjadi dua kelompok besar yaitu disc dan ball. Selain itu, perlu juga dibuat sebuah class untuk menampung informasi tentang posisi bola yang terdapat di dalam Babylon Tower, yaitu inner gap. Pada akhirnya, diperlukan sebuah class yang berfungsi untuk menampung sekaligus mengatur setiap object yang terdapat dalam sebuah Babylon Tower.

3.3.1. Ball

Ball merupakan elemen terkecil dalam sebuah Babylon Tower sekaligus elemen yang dapat menempati posisi yang sangat beragam. Pada class Ball, terdapat beberapa variabel yang dapat dilihat pada tabel 3.1.

Tabel 3.1. Daftar variabel pada classBall

Nama

variabel Tipe data Kegunaan

gameObject GameObject Menyimpan model 3D dan posisi bola

color int Menyimpan sebuah bilangan yang menyatakan warna bola

brightness int

Menyimpan sebuah bilangan yang menyatakan tingkat kecerahan dari

warna bola

Nilai brightness berkisar dari 0 sampai 5, dimana 0 menyatakan warna yang paling pucat dan 5 menyatakan warna yang paling cerah.

28

Selain itu, pada classBall juga terdapat sebuah variabel static dengan tipe data array dari string yang menyimpan nama-nama warna bola. Daftar index array beserta warna bolanya dapat dilihat pada tabel 3.2.

Tabel 3.2. Nama-nama warna bola dalam array

Index Color Name

0 Red 1 Brown 2 Black 3 Yellow 4 Blue 5 Green

Method-method yang terdapat dalam class Ball berfungsi untuk mengakses data yang tersimpan dalam setiap variabel yang terdapat dalam class Ball oleh class yang lain.

3.3.2. Disc

Disc menempati posisi baris yang tidak berubah dalam sebuah Babylon Tower, yang artinya setiap disc tidak dapat berpindah posisi dari baris atas ke baris bawah maupun sebaliknya. Setiap disc menyimpan daftar enam buah object ball yang sedang berada pada disc tersebut. Pada class Disc, terdapat beberapa variabel yang dapat dilihat pada tabel 3.3. Nilai disc berkisar dari 0 sampai 5, dimana 0 menyatakan disc berada pada posisi paling atas dan 5 menyatakan disc berada pada posisi paling bawah.

Posisi setiap ball dalam sebuah disc dapat berubah ketika disc tersebut diputar, sehingga perlu disediakan method dalam class Disc yang berfungsi untuk memindahkan posisi setiap ball yang terdapat dalam disc apabila disc tersebut diputar. Selain method tersebut, terdapat pula method-method yang berfungsi untuk mengakses data yang tersimpan dalam setiap variabel dalam class Disc oleh class yang lain.

Tabel 3.3. Daftar variabel pada class Disc

Nama

variabel Tipe data Kegunaan

gameObject GameObject Menyimpan model 3D dan posisi disc

balls Ball[] Menyimpan semua object ball yang terdapat pada disc

row int

Menyimpan sebuah bilangan yang menyatakan posisi baris yang ditempati

oleh disc. Baris terbawah diwakili dengan nilai 0 hingga baris teratas

diwakili dengan nilai 5

3.3.3. Inner Gap

Inner Gap berfungsi untuk menyimpan informasi tentang ball yang sedang berada di dalam Babylon Tower. Dalam classInner Gap, terdapat variabel yang berfungsi untuk menyimpan object ball yang sedang berada di dalam Babylon Tower. Selain itu, terdapat pula variabel yang berfungsi untuk menyimpan bilangan yang menyatakan posisi kolom dari bola yang berada di dalam Babylon Tower.

Pada class Inner Gap juga terdapat method yang berfungsi untuk memindahkan posisi bola ketika disc yang berada pada posisi paling bawah diputar. Selain itu, terdapat pula method-method yang berfungsi untuk mengakses serta menyalin data yang tersimpan dalam setiap variabel dalam class Inner Gap oleh class yang lain.

3.3.4. Babylon Tower

Babylon Tower berfungsi untuk menyimpan dan mengatur setiap elemen yang terdapat di dalam Babylon Tower tersebut. Oleh karena itu, pada class Babylon Tower diperlukan variabel yang berfungsi untuk menyimpan setiap disc yang terdapat dalam Babylon Tower serta variabel untuk menyimpan bola yang sedang berada di dalam Babylon Tower. Pada keadaan awal, variabel-variabel yang terdapat dalam class Babylon Tower dapat dilihat pada tabel 3.4.

30

Tabel 3.4. Daftar variabel pada class Babylon Tower

Nama variabel

Tipe data Kegunaan

discs Disc[] Menyimpan semua object disc yang terdapat pada Babylon Tower

innerGaps InnerGap[] Menyimpan semua object ball yang ditekan ke dalam Babylon Tower Pada class Babylon Tower terdapat method yang berfungsi untuk memutar disc, menekan masuk bola ke dalam disc yang berada pada posisi paling bawah, mengeluarkan kembali bola yang telah ditekan ke dalam Babylon Tower, menggeser bola-bola pada kolom yang sama, serta mengacak posisi bola ketika Babylon Tower pertama kali di-generate. Method-method yang terdapat dalam class Babylon Tower dapat dilihat pada tabel 3.5.

Tabel 3.5. Daftar method pada class Babylon Tower

Nama

method Kegunaan

Rotate Memutar salah satu disc yang dipilih serta setiap bola yang berada

di dalamnya

Push Menekan masuk bola yang dapat ditekan masuk ke dalam disc

Pop Mengeluarkan kembali bola yang telah ditekan masuk sebelumnya

Slide Menggeser posisi bola-bola pada kolom yang sama yang memiliki

celah untuk digeser

Randomize Mengacak posisi bola pada Babylon Tower

Selain method-method tersebut, pada class Babylon Tower juga terdapat method-method yang berfungsi untuk mengakses serta menyalin data yang tersimpan dalam setiap variabel dalam class Babylon Tower oleh class yang lain.

Dokumen terkait