Evaluasi Akhir Semester Pemrograman Berbasis Objek (PBO) A 2024

Nama : Amadeo Yesa

NRP : 5025231160

Kelas : A

Tahun : 2024


1. Package Library pada Java merupakan sekumpulan tools atau perangkat yang berupa kelas-kelas (classes) ataupun sub-package yang dikelompokkan bersama dalam satu paket (package). Package ini dapat berisi fungsionalitas-fungsionalitas tambahan yang dapat diimpor dalam proyek yang sedang dikembangkan. Setelah melakukan impor Package Library, seluruh fungsionalitas tambahan Package dapat digunakan dalam proyek. Adapun contoh dari Package Library yang umum digunakan adalah java.util yang berisi ArrayList, HashMap, dan lainnya. Contoh penggunaan:

javax.swing

// Class
import javax.swing.*;

public class Game2Panel extends JPanel implements ActionListener, KeyListener {
	public static void main(String[] args) {
        JFrame frame = new JFrame("Bricks Breaker");
        Game2Panel game = new Game2Panel();
        frame.setBounds(10, 10, 700, 600);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.add(game);
        frame.setVisible(true);
    }
}
Penjelasan:
Penggalan kode di atas merupakan contoh penggunaan Package Library, dalam kasus ini Package Library javax.swing. Package ini merupakan bagian dari Java Standard Library dan menyediakan fungsionalitas untuk membangun graphical user interface (GUIs) di Java. Beberapa komponen yang ada dalam package javax.swing, yaitu: JFrame, JButton, JLabel, JTextField, JTextArea, JPanel, dst. Dalam kode di atas, Game2Panel merupakan perluasan dari JPanel yang digunakan sebagai container untuk dapat menambahkan elemen-elemen visual lainnya. Selain itu, JFrame digunakan untuk membentuk window utama GUI untuk game "Bricks Breaker".


2. Dalam Final Project ini, saya dan kelompok saya membangun suatu aplikasi bernama "ClassicPlatformer", yaitu aplikasi platform game yang berisikan game-game klasik berupa snake, bricks breaker, dan pong. Game-game ini kami kelompokkan dalam satu platform sehingga memberikan pilihan bagi pengguna untuk memilih game yang ingin dimainkan. Tujuan utama aplikasi ini sebagai media hiburan dan juga nostalgia terhadap game-game ikonik tersebut.

Class Diagram





3. Kegunaan dan ruang lingkup aplikasi:

Aplikasi ini memiliki kegunaan sebagai platform untuk menampung beberapa game-game klasik, seperti Snake, Bricks Breaker, dan Pong. Aplikasi ini mengumpulkan game-game klasik yang kini mungkin sudah mulai pudar di antara game-game modern. Dengan menggunakan satu platform untuk menampung game-game klasik, aplikasi ini menawarkan pengalaman untuk memilih dan kembali memainkan game-game klasik tersebut. Adapun kegunaan-kegunaan tambahan dari aplikasi ini sebagai berikut:
  • Media Hiburan: Aplikasi "ClassicPlatformer" merupakan aplikasi platform yang berisikan game-game yang dirancan untuk memberikan hiburan yang mudah diakses bagi para penggunanya.
  • Melatih Fokus dan Koordinasi: Melalui game-game yang ditawarkan oleh aplikasi ini, seperti Bricks Breaker dan Snake, aplikasi ini dapat membantu melatih fokus dan koordinasi dengan menyenangkan.
  • Pengalaman Nostalgia: Melalui game seperti Pong, salah satu game pada awal era digital, memberikan penegalaman nostalgia bagi para penggunanya.
Ruang lingkup aplikasi:
  • Window utama: Sebagai platfotm, aplikasi ini memiliki window utama yang menampung game-game yang ada. Window ini diimplementasikan melalui class GameWindow yang didalamnya berisikan game-game dan menyediakan fitur untuk menambahkan game dan juga keluar dari aplikasi.
  • Panel Game: Untuk game-game yang telah dimasukkan, masing-masing memliki Panel Game sendiri yang diimplementasikan melalui class-class GamePanel. Adapun game-game yang tersedia dalam aplikasi ini: Pong (Game1Panel), Bricks Breaker (Game2Panel), dan Snake (Game3Panel).
  • Input: Untuk menerima input dari user saat memainkan game, adapun input listener yang digunakan adalah listener untuk mouse dan keyboard yang diimplementasikan melalui MouseInputs dan KeyboardInputs.

4. Implementasi Aplikasi

Source Code:

Hasil


5. PPT Presentasi
6. Dokumentasi Video




Comments

Popular posts from this blog

Evaluasi Tengah Semester Pemrograman Berbasis Objek (PBO) A 2024

Tugas Pertemuan 7 Pemrograman Berbasis Objek (PBO) A 2024