Postingan

Final Project: Tetris

Gambar
 Pengembangan Permainan Tetris Menggunakan Pendekatan Object-Oriented Programming (OOP) Dosen Pengampu:  Fajar Baskoro, S.Kom., M.T. Mata Kuliah:  Pemrograman Berorientasi Objek Farrel Aqila Novianto (5025241015)  Jalu Cahyo Senodiputro (5025241155)  Aqil Syafiq Dzaki (5025241200)   INSTITUT TEKNOLOGI SEPULUH NOPEMBER  2025 Source Code Github - Final Project Demo Video 1. Deskripsi 1.1 Pengertian Tetris merupakan permainan puzzle yang pertama kali dikembangkan oleh Alexey Pajitnov pada tahun 1984. Permainan ini menempatkan pemain pada situasi di mana balok-balok geometris yang disebut tetromino jatuh dari bagian atas layar secara kontinu. Pemain harus mengatur posisi dan orientasi balok tersebut agar dapat membentuk baris horizontal penuh pada area permainan. Setiap baris yang berhasil terisi penuh akan dihapus (line clear), dan pemain memperoleh poin. Tetris termasuk dalam kategori game logika spasial karena menuntut ketepatan, kecepatan, serta kemamp...

Pertemuan 15: Aplikasi CRUD Java - Manajemen Buku Perpustakaan

Gambar
Tugas Pertemuan 15 Nama: Farrel Aqilla Novianto NRP: 5025241015 Kelas: Pemrograman Berorientasi Objek (A) Source Code Java CRUD Database Java CRUD database adalah proses pengelolaan data menggunakan bahasa pemrograman Java dengan memanfaatkan operasi dasar yaitu Create, Read, Update, dan Delete. Untuk melakukan CRUD, Java menggunakan JDBC (Java Database Connectivity) sebagai jembatan antara aplikasi dan database seperti MySQL. Prosesnya dimulai dengan membuat koneksi ke database menggunakan driver JDBC dan URL database. Operasi Create digunakan untuk menambah data baru ke tabel, Read untuk mengambil atau menampilkan data, Update untuk mengubah nilai data yang sudah ada, dan Delete untuk menghapus data dari tabel. Semua operasi ini dijalankan sebagai query SQL yang dieksekusi dari program Java, dan setiap eksekusi biasanya diakhiri dengan penanganan respon, error handling, serta penutupan koneksi agar penggunaan resource tetap aman dan efisien. Kode Renderer.java import java.io.Buffered...

Pertemuan 14: Implementasi Pong Game

Gambar
Tugas Pertemuan 14 Nama: Farrel Aqilla Novianto NRP: 5025241015 Kelas: Pemrograman Berorientasi Objek (A) Source Code Pong Game Dalam pembuatan Pong Game berbasis OOP, beberapa konsep utama akan diterapkan untuk membangun struktur game yang rapi. Setiap komponen seperti Ball dan Paddle dibuat sebagai class dengan atribut dan perilaku masing-masing, sehingga game mudah dimodelkan sebagai kumpulan objek. Konsep encapsulation digunakan untuk melindungi data internal seperti posisi dan kecepatan, sementara abstraction menyederhanakan logika kompleks seperti pergerakan dan pantulan ke dalam method yang jelas. Jika game dikembangkan lebih jauh, misalnya menambah AI, maka inheritance dan polymorphism dapat digunakan untuk membuat objek turunan dengan perilaku yang berbeda namun tetap mengikuti struktur dasar yang sama. Seluruh proses permainan diatur melalui game loop dalam class Game, termasuk update posisi dan deteksi tabrakan. Kode Ball.java /** * @author Farrel Aqilla Novianto */ import...

Pertemuan 13: Pemrograman GUI

Gambar
Tugas Pertemuan 13 Nama: Farrel Aqilla Novianto NRP: 5025241015 Kelas: Pemrograman Berorientasi Objek (A) Source Code Graphical User Interface (GUI) GUI merupakan desain aplikasi dengan tampilan visual sehingga pengguna dapat dengan mudah menggunakan aplikasi. The Java Foundation Class (JFC), merupakan bagian penting dari Java SDK, yang termasuk dalam koleksi dari API dimana dapat mempermudah pengembangan aplikasi JAVA GUI. JFC termasuk diantara 5 bagian utama dari API yaitu AWT dan Swing. Tiga bagian yang lainnya dari API adalah Java2D, Accessibility, dan Drag dan Drop. Semua itu membantu pengembang dalam mendesain dan mengimplementasikan aplikasi visual yang lebih baik. AWT dan Swing menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan applet. Anda akan mempelajari applet pada bab berikutnya. Tidak seperti beberapa komponen AWT yang menggunakan native code, keseluruhan Swing ditulis menggunakan bahasa pemrograman Java. Swing menyediakan implementasi platform-...

Pertemuan 12: Implementasi Abstract Class

Gambar
Tugas Pertemuan 12  Nama: Farrel Aqilla Novianto NRP: 5025241015 Kelas: Pemrograman Berorientasi Objek (A) Source Code Abstract Class Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan parameter inputan method. Ketika suatu abstract class diturunkan/diextends, maka subclass harus mengimplementasikan semua method abstract pada parent/base class. Jika tidak mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai abstract class. Interface Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang...

Pertemuan 11: Implementasi Inheritance - Sistem Rental Kendaraan

Gambar
Tugas Pertemuan 11  Nama: Farrel Aqilla Novianto NRP: 5025241015 Kelas: Pemrograman Berorientasi Objek (A) Source Code Inheritance Inheritance (pewarisan) adalah mekanisme dalam pemrograman berorientasi objek (OOP) yang memungkinkan sebuah kelas (child class) untuk mewarisi atribut dan metode dari kelas lain (parent class). Tujuannya adalah untuk meningkatkan struktur program, menghindari pengulangan kode, dan meningkatkan keterbacaan serta pemeliharaan kode. Manfaat Inheritance Inheritance memberikan berbagai manfaat struktural pada kode: Reusabilitas Kode: Memungkinkan reuse kode yang sudah ada pada parent class di child class. Konsistensi dan Keterbacaan: Dengan inheritance, struktur aplikasi dapat diatur secara hierarkis sehingga alur logika dan struktur program menjadi lebih jelas. Pemeliharaan Kode Lebih Mudah: Jika perubahan diperlukan pada fitur umum, kita hanya perlu mengubahnya di parent class, dan semua child class otomatis mewarisi perubahan tersebut. Latihan - Aplikasi...