ETS

Nama : Alma Khusnia
NRP : 5025231063
Kelas : PBO (G)


Sorce code : github

1. Apa yang dimaksud dengan inheritance/pewarisan dalam OOP? Berikan contoh penerapan pewarisan dengan menunjukkan hubungan antara kelas induk dan kelas turunan.

Inheritance atau pewarisan dalam OOP adalah mekanisme di mana satu kelas dapat mengambil sifat (atribut) dan perilaku (method) dari kelas lain. Kelas yang mewarisi ini disebut kelas turunan atau subclass, sementara kelas yang diwarisi dikenal sebagai kelas induk atau superclass. Melalui inheritance, kita bisa menggunakan kembali kode dari kelas induk tanpa harus menulis ulang, yang membuat pengembangan lebih efisien dan terstruktur. 

Contoh





2. Apakah fungsi konstraktor dalam sebuah kelas atau obyek? Buatlah kelas Book yang memiliki dua atribut, yaitu judul, penulis, tahun terbit, nama penerbit, kategori buku. Tambahkan konstruktor untuk menginisialisasi atribut tersebut dan tambahkan metode printDetails() untuk mencetak detail buku.

Iya, karena konstruktor menginisialisasi atribut-atribut dari sebuah objek ketika objek tersebut dibuat. 

Book.java

Hasil

    


3. Buatlah kelas bernama Parking Ticket Machine yang mensimulasikan mesin tiket parkir dengan fitur berikut 

Atribut:
  • balance (jumlah nominal uang yang dimasukkan/ditap oleh pengguna) 
  • ticketPrice (harga tiket parkir per jam, misalnya Rp5.000)
  • ticketTime (jumlah waktu parkir yang dibeli dalam jam)
Metode: 
  • insertMoney(int amount): Menambahkan uang yang dimasukkan 
  • issueTicket(): Mengeluarkan tiket berdasarkan uang yang dimasukkan (jika saldo cukup) dan mengatur waktu parkir sesuai dengan saldo 
  • getTimePurchased(): Mengembalikan jumlah jam parkir yang telah dibeli

Terdapat implementasi simulasi mesin tiket parkir yang memiliki atribut balance untuk menyimpan jumlah uang yang dimasukkan pengguna, ticketPrice untuk menentukan harga tiket per jam, dan ticketTime yang mencatat jumlah waktu parkir yang dibeli. Mesin ini memiliki beberapa method, yaitu insertMoney() untuk menambah saldo, issueTicket() untuk mengeluarkan tiket jika saldo mencukupi dan menghitung berapa lama waktu parkir yang dibeli, serta getTimePurchased() untuk mengembalikan informasi mengenai jumlah waktu parkir yang telah dibeli. 

Cara kerjanya, pengguna memasukkan uang melalui metode insertMoney(), dan jika saldo cukup, mesin akan mengeluarkan tiket dengan menggunakan issueTicket(), di mana jumlah jam parkir yang bisa dibeli dihitung berdasarkan jumlah uang yang dimasukkan, dan sisa saldo yang tidak terpakai akan disimpan. Hasilnya, pengguna dapat memeriksa berapa lama waktu parkir yang telah dibeli melalui metode getTimePurchased().

ParkingTicketMachine.java


Result



4. Buatlah Desain kelas untuk aplikasi FoodOrder yang menyimpan data pemesanan makanan di sebuah restoran. Setiap pesanan memiliki atribut menuItems (daftar menu), totalPrice, dan isPaid. Implementasikan perilaku berikut: (Gunakan library java util, arraylist) 
 a. Gambarkan Class Diagramnya 
 b. Implementasikan kodenya


a. Class Diagram

b. Implementasi kode
MenuItem.java

FoodOrder.java




Main.java

Result



Komentar

Postingan populer dari blog ini

Tugas 8 - Rental Kendaraan

Tugas 1 - Data Personal

EAS