Posts

Showing posts from November, 2024

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.

Tugas 7 - Revisi Implementasi Tech Support

Image
 Nama: Dewa Putu Ananda Taurean Mahesa NRP: 5025231158 Kelas: PBO A Kode Github Pada tugas sebelumnya program tech support hanya bisa memberikan 2 respon. Pada tugas kali ini, saya menambahkan variasi pesan yang bisa diberikan oleh program dengan menggunakan hashmap. Dengan menggunakan hashmap, key dari hashmap dapat menjadi kata kunci dari masalah yang dihadapi user, sehingga saat menginput, program dapat melihat kata kunci yang diketik user dan memberi respon (value) yang sesuai. Berikut modifikasi pada class Responder: Dapat dilihat pasangan key value untuk responder. Method generateResponse akan melakukan loop pada map untuk mencari kata kunci yang ada dan memberi respon yang sesuai. Jika kata kunci tidak ditemukan, maka program hanya akan mengoutput pesan "Hmm, that sounds interesting...". Demo program: