Posts

EAS PBO - Game Minefield

Image
Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A EAS PBO 1. Apa yang dimaksud dengan Package Library dalam Java. Jelaskan kegunaan dan contoh penggunaannya dalam pemrograman. - Package Library adalah package manager yang mengurus package dependency pada project. Kegunaannya adalah agar package yang digunakan pada projek bisa diurus dengan mudah dan cepat (tidak didownload secara manual). Pada project kelompok saya, digunakan package Gradle, dibantu dengan GDX Liftoff, dan IntelliJ untuk membantu projek game yang bernama Minefield. 2. Buatlah rancangan aplikasi yang diambil dalam final project. 3. Deskripsikan kegunaan dan ruang lingkup aplikasi. - Aplikasi yang dibuat adalah game Minefield (seperti Minesweeper) di mana pada game diberikan sebuah field kotak-kotak yang terdapat beberapa bom/mine yang tersembunyi. Pemain harus meng-clear semua kotak-kotak pada field tanpa menyentuh bom/mine dalam batas waktu tertentu untuk menang. Saat meng-clear suatu kotak, bila terda...

Tugas 14 - Implementasi GUI

Image
Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A Implementasi GUI 1. Login Panel Kode Github import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Login{ String Username = "james3302"; String Password = "pass"; String msg = " "; JTextField txtUsername = new JTextField(20); JTextField txtPassword = new JTextField(20); public static void main(String[] args){ Login gui = new Login(); gui.go(); } public void go(){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JPanel panel = new JPanel(); JLabel lblUsername = new JLabel("Username:"); JLabel lblPassword = new JLabel("Password:"); JButton btnLogin = new JButton("Login"); btnLogin.addActionListener(new LoginListener()); JButton btnCancel = new JButton("Cancel"); btnCancel...

Tugas 13 - Abstraksi Kelas

Image
Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A 1. Implementasi Abstract Class MakhlukHidup Kode Github - Kelas MakhlukHidup Kelas MakhlukHidup adalah kelas abstrak yang akan digunakan, dengan method breathe dan grow yang implementasi detailnya akan didefinisikan di tiap sub kelasnya. Terdapat atribut name juga. - Kelas Manusia Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override. - Kelas Hewan Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override. - Kelas Tumbuhan Keyword extends menunjukkan bahwa kelas ini sub kelas dari kelas MakhlukHidup. Terdapat implementasi penuh dari method breathe dan grow dengan cara Override. - Kelas Main Dengan kelas Main sederhana di atas untuk membuat objek tiap kelas, didapatkan hasil berikut: 2. Abstraksi implementasi Foxes and Ra...

Tugas 12 - Sistem Tiket Pesawat

Image
Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A Sistem Tiket Pesawat Implementasi sistem tiket pesawat ini menggunakan konsep inheritance dengan kelas Ticket yang mewarisi atribut dan methodnya kepada kelas EconomyTicket, BusinessTicket, dan FirstClassTicket, serta polymorphism dengan sub kelas dari ticket meng-override method abstract pada kelas Ticket. Kode Github 1. Ticket Kelas Ticket memiliki atribut passenger, destination, price, serta list facilities yang dimiliki. Terdapat abstract method calculateFare (menghitung biaya tiket) dan getTicketClass (mendapat kelas tiket) yang akan di-override oleh sub class. Method displayDetail digunakan untuk menampilkan info detail dari ticket. 2. EconomyTicket Kelas EconomyTicket merupakan sub class dari Ticket. Pada constructor EconomyTicket, ditambahkan list facilities yang dimiliki. Dilakukan override method calculateFare dan getTicketClass. 3. BusinessTicket Kelas BusinessTicket merupakan sub class dari Ticket. Pada cons...

Tugas 11 - The Network Project

Image
Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A The Network Project Kode Github 1. Class Post Kelas ini akan menyimpan postingan dari user. Kelas ini yang akan di-extend menjadi kelas MessagePost dan PhotoPost. Pada kelas ini terdapat atribut author (user yang melakukan post) dan list user yang menyukai postingan. Terdapat method addLike untuk menambah like postingan, getLikeCount untuk mendapat jumlah like postingan, serta showPost yang detailnya akan ditambah pada kelas MessagePosts dan PhotoPost. 2. Kelas MessagePost Kelas ini menyimpan postingan user berupa pesan biasa. Terdapat atribut tambahan yaitu message. Terdapat method showPost untuk menampilkan pesan postingan dan jumlah like. 3. Kelas PhotoPost Kelas ini menyimpan postingan user berupa gambar dengan caption. Terdapat atribut tambahan yaitu filename dan caption. Method showPost akan menampilkan postingan gambar beserta caption dan jumlah likenya. 4. Kelas User Kelas ini untuk menyimpan user. Terdapat atri...

Tugas 10 - Unit Testing

Image
 Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A Unit Testing Kode Github 1. Class SalesItem Class ini menyimpan data item yang dijual serta komentar terhadap item tersebut. Penjelasan dari beberapa method yang ada: getNumberOfComments: mendapat banyak komentar yang ada pada item. addComment: menambah comment pada item. removeComment: menghapus comment pada item. updvoteComment: memberi upvote pada suatu comment. downvoteComment: memberi downvote pada suatu comment. showInfo: menampilkan data item. findMostHelpfulComment: mencari comment dengan upvote terbanyak. ratingInvalid: mengecek apakah rating yang diberikan sesuai batasan. findCommentByAuthor: mencari comment berdasarkan penulisnya. priceString: mengubah harga item menjadi bentuk string. 2. Class Comment Class ini menyimpan comment user terhadap suatu item dan informasi lainnya seperti penulis comment, rating yang diberikan, serta votes yang didapat comment. Penjelasan dari beberapa method: upvote: jumlah ...

Tugas 8 - World of Zuul

Image
 Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A Implementasi World of Zuul Kode Github 1, Class Room Class ini digunakan untuk membuat room yang ada. Setiap room akan memiliki deskripsi, serta room yang bersebelahan dengan room tersebut. 2. Class Command Class ini digunakan untuk menyimpan perintah yang dimasukkan user. 3. Class CommandWords Class ini digunakan untuk mengecek apakah command yang dimasukkan user valid atau tidak. Untuk command yang valid terdapat go, quit, help, dan look. 4. Class Parser Class ini akan mengambil input dari user lalu membaginya menjadi token, mengecek apakah command valid atau tidak, dan mereturn dalam bentuk Command object. 5. Class Game Fungsi dari class ini adalah membuat object class yang sebelumnya seperti ruangan, serta mengatur jalannya permainan, seperti memberi output yang sesuai ruangan saat ini atau saat user berpindah ruangan.