hendroprwk08

Overriding

Dec 8th, 2025
294
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.88 KB | None | 0 0
  1. -----------------------
  2. Nama file: Buku.java
  3. -----------------------
  4.  
  5. public class Buku {
  6.     String judul;
  7.     String penulis;
  8.     int tahunTerbit;
  9.  
  10.     // Konstruktor
  11.     Buku(String judul, String penulis,
  12.     int tahunTerbit) {
  13.         this.judul = judul;
  14.         this.penulis = penulis;
  15.         this.tahunTerbit = tahunTerbit;
  16.     }
  17.  
  18.     // Metode untuk menampilkan informasi buku
  19.     void tampilInfo() {
  20.         System.out.println("Judul: " +
  21.         judul);
  22.         System.out.println("Penulis: " +
  23.         penulis);
  24.         System.out.println("Tahun Terbit: " +
  25.         tahunTerbit);
  26.     }
  27. }
  28.  
  29. -----------------------
  30. Nama file: BukuFiksi.java
  31. -----------------------
  32.  
  33. public class BukuFiksi extends Buku {
  34.     String genre;
  35.  
  36.     // Konstruktor
  37.     BukuFiksi(
  38.         String judul,
  39.         String penulis,
  40.         int tahunTerbit,
  41.         String genre
  42.         ) {
  43.         super(judul, penulis, tahunTerbit);
  44.         this.genre = genre;
  45.     }
  46.  
  47.     // Override metode tampilInfo untuk menampilkan genre tambahan
  48.     @Override
  49.     void tampilInfo() {
  50.         super.tampilInfo();
  51.         System.out.println("Genre: " +
  52.         genre);
  53.     }
  54. }
  55.  
  56. -----------------------
  57. Nama file: BukuNonFiksi.java
  58. -----------------------
  59.  
  60. public class BukuNonFiksi  extends Buku{
  61.     String topik;
  62.  
  63.     // Konstruktor
  64.     BukuNonFiksi(
  65.         String judul,
  66.         String penulis,
  67.         int tahunTerbit,
  68.         String topik) {
  69.         super(judul, penulis, tahunTerbit);
  70.         this.topik = topik;
  71.     }
  72.  
  73.     // Override metode tampilInfo untuk menampilkan topik tambahan
  74.     @Override
  75.     void tampilInfo() {
  76.         super.tampilInfo();
  77.         System.out.println("Topik: " + topik);
  78.     }
  79. }
  80.  
  81.  
  82. -----------------------
  83. Nama file: Perpustakaan.java
  84. -----------------------
  85.  
  86. import java.util.ArrayList;
  87. import java.util.List;
  88.  
  89. public class Perpustakaan {
  90. List<Buku> koleksiBuku = new ArrayList<>();
  91.  
  92.     // Metode untuk menambahkan buku (Create)
  93.     void tambahBuku(Buku buku) {
  94.         koleksiBuku.add(buku);
  95.     }
  96.  
  97.     // Metode untuk menampilkan semua buku (Read)
  98.     void tampilkanSemuaBuku() {
  99.         for (Buku buku : koleksiBuku) {
  100.             buku.tampilInfo();
  101.             System.out.println("--------------");
  102.         }
  103.     }
  104.  
  105.     // Metode untuk mencari buku berdasarkan judul (Read)
  106.     Buku cariBuku(String judul) {
  107.         for (Buku buku : koleksiBuku) {
  108.             if (buku.judul.equals(judul)) {
  109.                 return buku;
  110.             }
  111.         }
  112.         return null;
  113.     }
  114.  
  115.     // Metode untuk menghapus buku (Delete)
  116.     void hapusBuku(Buku buku) {
  117.         koleksiBuku.remove(buku);
  118.     }
  119. }
  120.  
  121. -----------------------
  122. Nama file: Main.java
  123. -----------------------
  124.  
  125. public class Main {
  126.     public static void main(String[] args){
  127.         Perpustakaan perpustakaan = new Perpustakaan();
  128.  
  129.         // Menambahkan buku
  130.         Buku buku1 = new BukuFiksi(
  131.             "Harry Potter",
  132.             "J.K. Rowling",
  133.             1997,
  134.             "Fantasi");
  135.         Buku buku2 = new BukuNonFiksi(
  136.             "Think and Grow Rich",
  137.             "Napoleon Hill",
  138.             1937,
  139.             "Motivasi");
  140.         perpustakaan.tambahBuku(buku1);
  141.         perpustakaan.tambahBuku(buku2);
  142.  
  143.         // Menampilkan semua buku
  144.         System.out.println("Semua Buku:");
  145.         perpustakaan.tampilkanSemuaBuku();
  146.  
  147.         // Mencari buku
  148.         Buku bukuDicari = perpustakaan.cariBuku(
  149.             "Think and Grow Rich");
  150.         if (bukuDicari != null) {
  151.             System.out.println("\nBuku ditemukan:");
  152.             bukuDicari.tampilInfo();
  153.         } else {
  154.             System.out.println("Buku tidak ditemukan.");
  155.         }
  156.  
  157.         // Menghapus buku
  158.         perpustakaan.hapusBuku(buku1);
  159.         System.out.println("\nSetelah menghapus buku:");
  160.         perpustakaan.tampilkanSemuaBuku();
  161.     }
  162. }
  163.  
Advertisement
Add Comment
Please, Sign In to add comment