Senin, 11 Januari 2021

Final Project Pemrograman Berbasis Objek

         Pada postingan kali ini akan membahas terkait final project PBO yaitu membuat suatu aplikasi yang dapat didownload / dijalankan oleh orang lain. Aplikasi yang kami buat berupa game, dengan nama "Banana Shooter". Tampilannya gamenya dapat dilihat pada gambar berikut:

        Untuk membuat game tersebut kami menggunakan 7 class ditambah dengan folder img yang berisikan gambar seperti gambar pesawat, pisang, dan peluru serta juga terdapat folder sound agar pada gamenya terdapat soundtrack saat dimainkan. Untuk video demo/penjelasannya dapat dilihat pada video berikut: 



Adapun source code dan penjelasan dari masing-masing classnya adalah sebagai berikut:

1. Class Controller


Class ini akan menjadi super class dari class pesawat, pisang, dan peluru. Method yang ada pada class ini adalah:

a. Constructor Controller, digunakan untuk menginisialisasi posisi dari pesawat, pisang, dan peluru.

b. getImageDimension, digunakan untuk mengatur ukuran gambar pesawat, peluru, dan pisang.

c. loadImage, berfungsi untuk menampilkan atau memasukkan gambar.

d. getImage, untuk mengembalikan nilai berupa gambar.

e. getX dan getY, untuk mendapatkan titik awal posisi gambar.

f. setVisible, untuk mengatur gambar apakah akan ditampilkan dilayar atau tidak.

g. isVisible, untuk mengetahui apakah gamabr tersebut dalam mode visible atau tidak.

h. getBound

2. Class Pesawat (Extends Controller)


Class ini digunakan untuk membuat dan mengatur objek pesawat yang akan kita kendalikan. Objek dalam class ini adalah peluru, yang nantinya akan ditembakkan ke arah pisang. Adapun methodnya adalah sebagai berikut:

a. Constructor Pesawat, untuk menginisialisasi titik awal dari pesawat.

b. membuat daftar peluru yang akan ditembakkan dalam bentuk array dan menampilkan gambar pesawat.

c. getPelurus

d. keyPressed, untuk mengatur gerakan dan aksi setelah user memberi perintah.

e. Fire, digunakan untuk menambahkan satu peluru ketika user memberikan perintah untuk menembak.

f. keyReleased, untuk mengatur pesawat agar diam saat tidak ada perintah dari user.

3. Class Pisang (Extends Cntroller)


Class ini digunakan untuk membuat dan mengatur pergerakan objek pisang. Methodnya terdiri dari:

a. Contructor Pisang, untuk menginisialisasi titik awal pisang.

b. initPisang, untuk menampilkan gambar Pisang.

c. move, untuk mengatur gerakan setiap pisang dan membuat pisang kembali ke sisi kanan layar saat mencapai sisi kiri layar.

4. Class Peluru (extends Controller)


Class ini digunakan untuk membuat dan mengatur pergerakan objek peluru. Methodnya adalah:

a. Contructor peluru, untuk menginisialisasi letak awal peluru.

b. initPeluru, untuk menampilkan gambar peluru.

c. move, untuk menggerakan peluru sesuai dengan kecepatan yang telah ditentukan.

5. Class Display


Class ini berfungsi untuk mengatur dan menginisialisasi hal-hal yang berhubungan dengan tampilan permainan. Adapun methodnya adalah sebagai berikut:

a. Pos, untuk mengatur posisi awal pisang-pisang.

b. Display dan initDisplay, untuk menampilkan tampilan awal permainan seperti letak pesawat dan sisa pisang yang harus ditembakkan.

c. initPisang, untuk membuat objek pisang dalam bentuk array.

d. paintComponen, untuk menampilkan permainan atau pesan "game over".

e. drawObject, untuk menampilkan gambar awal permainan seperti pesawatnya.

f. drawGameOver, untuk menampilkan pesan "Game Over".

g. actionPerformed, memperbarui letak dan tampilan setiap objek setelah adanya aksi.

h. inGame

i. updatePesawat, memperbarui letak peswat setiap adanya aksi.

j. updatePeluru, memperbarui letak peluru setiap adanya aksi.

k. updatePisang, untuk mengecek apakah terdapat pisang yang tersisa, jika iya maka perbarui, jika tidak maka keluarkan pesan "Game Over".

l. checkCollisions, untuk mengecek apakah terdapat tabrakan atau tidak.

6. Class BananaShoot


Main class ini digunakan untuk mengeksekusi jalannya program. Method:

a. Constructor BananaShoot dan initUI, untuk membuat frame permainan, judul, dan operasi pada frame.

b. main (), untuk mengeksekusi jalannya permainan.

7. Class Sound


Class ini digunakan untuk mengatur efek suara saat permainan dimainkan.

Untuk gamenya dapat didownload pada link dibawah ini:

https://drive.google.com/file/d/1O3413ixwGkIyaaFRYeBqtsOUVtasQ_9m/view?usp=sharing

Nama - NRP : 1. Tsania Az-Zahra - 05111940000032

                        2. Fika Nur Aini - 05111940000067

Kelas : PBO A

EAS RK A

 1. Deskripsi kebutuhan Fungsional dan Non Fungsional aplikasi pemesanan gedung acara Kebutuhan Fungsional ...