Posts

EAS PBO G

Image
Nama: Valensio Arvin Putra Setiawan NRP: 5025231273 Kelas: PBO G Apa yang dimaksud dengan Inheritance dalam Java. Bagaimana implementasi inheritance dalam Final Project yang sedang dikerjakan. Jelaskan fitur Aplikasi yang ada dalam Final Project Buatlah desain Diagram Kelas dari aplikasi Final Project Implementasikan Aplikasi yang telah didesain dengan menggunakan Pemrograman Berbasis Obyek Java Buat PPT presentasi yang menunjang Demo Aplikasi Demokan aplikasi dengan membuat video dan diupload di Youtube. Jawab: Nomor 1: Inheritance (pewarisan) adalah salah satu fitur utama dalam paradigma Object-Oriented Programming (OOP). Dengan inheritance, sebuah kelas dapat mewarisi atribut dan metode dari kelas lain.  Contoh Implementasi: // Superclass public class Pegawai {     protected String idPegawai ;     protected String nama ;     public Pegawai ( String idPegawai , String nama ) {         this . idPegawai = idPegawai; ...

Pemrograman GUI

Image
Nama: Valensio Arvin Putra Setiawan Kelas: PBO G NRP: 5025231273 Link Github:  https://github.com/killervaps/pbo-pemrogramanGUI Program LoginFrame Cara Kerja Detail Deklarasi Variabel dan Kelas : Variabel username dan password disimpan di dalam kelas untuk memverifikasi input dari pengguna. Kelas utama LoginFrame berisi seluruh logika program. Membuat GUI : Menggunakan Java Swing : JFrame : Membuat jendela utama aplikasi. JPanel : Panel untuk menampung komponen seperti teks dan tombol. JLabel : Label untuk memberikan petunjuk kepada pengguna (Username dan Password). JTextField dan JPasswordField : Komponen untuk menerima input username dan password. JButton : Tombol untuk login atau menghapus input. Komponen ditata menggunakan GridLayout untuk menyusun label dan input secara rapi. Login Logic : Ketika tombol Login diklik: Program membaca teks dari txtUsername dan txtPassword . Program memeriksa apakah input sesuai dengan username ( james3302 ) dan password ( pass ). Jika coc...

Abstract Class

Image
Nama: Valensio Arvin Putra Setiawan Kelas: PBO G NRP: 5025231273 Link Github:  https://github.com/killervaps/pbo-abstract-class 1. Abstract Class: MakhlukHidup Cara Kerja: Konsep Abstract Class : MakhlukHidup adalah kelas abstrak , sehingga tidak dapat diinstansiasi langsung. Digunakan sebagai dasar untuk mendefinisikan atribut dan metode umum untuk Manusia , Hewan , dan Tumbuhan . Atribut : nama : Digunakan untuk menyimpan nama dari makhluk hidup. Metode Abstrak : bernafas() dan berkembangBiak() : Tidak memiliki implementasi di kelas ini. Setiap subclass wajib memberikan implementasi spesifik untuk metode ini. Metode Umum : getNama() : Mengembalikan nama makhluk hidup. 2. Subclass: Manusia Cara Kerja: Inisialisasi : Ketika objek Manusia dibuat, konstruktor Manusia dipanggil. Konstruktor ini menggunakan super untuk memanggil konstruktor dari kelas MakhlukHidup untuk mengisi atribut nama . Override Metode : bernafas() : Mengimplementasikan logika bahwa manusia bernafas menggun...

Latihan Polimorphism

Image
Nama: Valensio Arvin Putra Setiawan Kelas: PBO G NRP: 5025231273 Link Github:  https://github.com/killervaps/pbo-polimorphism 1. Ticket.java Cara Kerja : Superclass : Kelas dasar yang mendefinisikan struktur dan metode umum untuk semua jenis tiket. Atribut : passengerName : Nama penumpang. flightNumber : Nomor penerbangan. baseFare : Tarif dasar tiket. Konstruktor : Menginisialisasi atribut umum ( passengerName , flightNumber , baseFare ) saat objek dari subclass dibuat. Metode calculateFare() : Bersifat abstrak, sehingga setiap subclass wajib mengoverride metode ini sesuai dengan kebijakan tarif masing-masing kelas. Metode getTicketDetails() : Menggabungkan informasi penumpang, nomor penerbangan, dan tarif tiket (dihitung dengan calculateFare() ), lalu mengembalikan detail tiket sebagai string. 2. EconomyTicket.java Cara Kerja : Subclass : Mewakili tiket kelas ekonomi, yang menerapkan kebijakan tarif dengan diskon 10% . Konstruktor : Memanggil konstruktor superclass ( Ticket ) men...

Implementasi Rental Kendaraan

Nama: Valensio Arvin Putra Setiawan Kelas: PBO G NRP: 5025231273 Link Github:  https://github.com/killervaps/pbo-rentalkendaraan 1. Kendaraan.java Cara Kerja : Kendaraan adalah kelas abstrak yang menyediakan struktur dasar untuk semua jenis kendaraan. Berisi atribut umum ( merk , model , tahunProduksi ) dan metode abstrak getInfo() yang harus diimplementasikan oleh kelas turunannya. Konstruktor menerima parameter untuk menginisialisasi atribut kendaraan. 2. Mobil.java Cara Kerja : Mobil adalah turunan dari kelas Kendaraan . Menambahkan atribut khusus jumlahRoda untuk menyimpan jumlah roda mobil. Konstruktor memanggil konstruktor Kendaraan dengan super untuk mengisi atribut umum, lalu menginisialisasi jumlahRoda . Metode getInfo() mengembalikan informasi lengkap tentang mobil. 3. Motor.java Cara Kerja : Motor mirip dengan Mobil , tetapi digunakan untuk kendaraan jenis motor. Menambahkan atribut jumlahRoda yang relevan dengan motor. Mengimplementasikan getInfo() untuk menam...

World of Zuul

 Nama: Valensio Arvin Putra Setiawan Kelas: PBO G Nrp: 5025231273 Link Github:  https://github.com/killervaps/pbo-worldofzuul 1. Room.java Fungsi Utama : Mewakili ruangan dalam permainan. Menyimpan informasi seperti deskripsi ruangan, pintu keluar, dan item yang ada di dalamnya. Penjelasan Kode Atribut : description : Deskripsi ruangan. northExit , southExit , eastExit , westExit : Menyimpan referensi ke ruangan lain di setiap arah. items : Daftar item yang ada di ruangan. Metode Penting : setExits(Room north, Room east, Room south, Room west) : Menentukan ruangan mana yang terhubung ke ruangan saat ini di setiap arah. addItem(String item) : Menambahkan item ke ruangan. takeItem(String item) : Menghapus item dari ruangan dan mengembalikannya ke pemain jika ada. getItems() : Mengembalikan daftar item di ruangan. getDescription() : Mengembalikan deskripsi ruangan beserta daftar item. getExit(String direction) : Mengembalikan referensi ke ruangan yang ada di arah tertentu. Cara K...

Tech Support System

Image
Nama: Valensio Arvin Putra Setiawan Kelas: PBO G NRP: 5025231273 Link Github:  https://github.com/killervaps/pbo-techsupport-system 1. Kelas SupportSystem Fungsi Utama: Mengatur alur utama program. Konstruktor ( SupportSystem ) : Membuat objek InputReader untuk membaca input pengguna. Membuat objek Responder untuk menghasilkan respons. Metode start() : Tujuan : Memulai sistem dan mengelola interaksi hingga pengguna keluar. Algoritma : Cetak pesan selamat datang dengan printWelcomeMessage() . Masuk ke loop utama: Baca input pengguna menggunakan InputReader.getInput() . Validasi input : Jika input adalah "exit", keluar dari loop. Jika input kosong, beri pesan peringatan dan minta input ulang. Jika input valid, panggil Responder.generateResponse() untuk menghasilkan respons. Tampilkan respons kepada pengguna. Setelah loop selesai, cetak pesan selamat tinggal dengan printGoodbyeMessage() . Penting : Logika kontrol memastikan pengguna bisa berinteraksi secara berulang sampai ...