Gambaran Umum Proyek dan Desain UML
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 77 dari 87.
Tantangan
MudahMari mulai proyek Library Management System dengan membangun fondasinya: class entitas inti yang akan menjadi dasar semua bagian lainnya. Tantangan pertama ini berfokus pada pembuatan class Book dan User yang terstruktur dengan baik untuk memodelkan entitas inti sistem.
Kamu akan mengatur kodemu dalam tiga file:
Book.java: Buat classBookyang merepresentasikan buku perpustakaan. Setiap buku harus memiliki field private untukisbn(String),title(String),author(String), danisAvailable(boolean, nilai default-nyatrue). Sertakan constructor yang menerima isbn, title, dan author. Sediakan method getter yang sesuai untuk semua field, serta setter untukisAvailable. Tambahkan methodgetDetails()yang mengembalikan string berformat:[isbn] title by author.User.java: Buat classUseryang merepresentasikan anggota perpustakaan. Setiap pengguna harus memiliki field private untukid(String) danname(String). Sertakan constructor yang menerima kedua nilai tersebut, dan sediakan method getter untuk setiap field. Tambahkan methodtoString()yang mengembalikan:User[id]: name.Main.java: Gabungkan class-mu untuk menunjukkan bahwa semuanya berfungsi dengan benar. Kamu akan menerima empat input: ISBN, judul, dan penulis buku, lalu ID dan nama pengguna.Buat
Bookdengan tiga input pertama danUserdengan dua input terakhir. Cetak detail buku menggunakangetDetails(), lalu cetak apakah buku tersedia dengan formatAvailable: trueatauAvailable: false. Terakhir, cetak pengguna menggunakan methodtoString().
Kamu akan menerima lima input secara berurutan: ISBN (String), judul (String), penulis (String), ID pengguna (String), dan nama pengguna (String).
Misalnya, dengan input 978-0-13-468599-1, Effective Java, Joshua Bloch, U001, dan Alice Smith, output-mu akan berupa:
[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice SmithClass fondasi ini akan menjadi dasar bagi seluruh Library Management System. Dalam pelajaran mendatang, kamu akan mengembangkannya dengan fitur peminjaman, kemampuan pencarian, dan lainnya!
Coba sendiri
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Baca informasi buku
String isbn = scanner.nextLine();
String title = scanner.nextLine();
String author = scanner.nextLine();
// Baca informasi pengguna
String userId = scanner.nextLine();
String userName = scanner.nextLine();
// TODO: Buat object Book dengan isbn, title, dan author
// TODO: Buat object User dengan userId dan userName
// TODO: Cetak detail buku menggunakan getDetails()
// TODO: Cetak apakah buku tersedia (format: "Available: true" atau "Available: false")
// TODO: Cetak informasi pengguna menggunakan toString()
}
}
Semua pelajaran di Pemrograman Berorientasi Objek
1Dasar-Dasar OOP
File EksternalPengantar OOPClass dan ObjectKata Kunci thisMethodField (Atribut)Method KonstruktorOverloading KonstruktorRangkuman: Kalkulator Sederhana4Pewarisan
Pewarisan Dasar (extends)Kata Kunci superMethod Overriding (@Override)Rantai KonstruktorKelas ObjectPewarisan Tunggal dan BertingkatMengapa Tidak Ada Pewarisan Multi-KelasRangkuman: Hierarki Karyawan7method Khusus & class Object
method toString()equals() dan hashCode()method clone()compareTo() dan ComparableAntarmuka ComparatorUlasan: Pengurutan Kustom10Penanganan Exception dalam OOP
Hierarki class ExceptionException KustomError Checked vs UncheckedPola Try-with-ResourcesRekap: Pengguna Tervalidasi13Proyek: Manajemen Perpustakaan
Gambaran Umum Proyek dan Desain UMLclass Buku dan PenggunaSistem PeminjamanFitur PencarianAntarmuka AdminIntegrasi Penanganan PengecualianPengujian dan Integrasi2Modifier Akses & Enkapsulasi
Ikhtisar Tingkat AksesMethod Getter dan SetterPenyembunyian InformasiKata Kunci finalUlasan: Pengelola Rekening Bank5Polimorfisme
Dasar method overloadingMethod overriding (Saat program berjalan)Upcasting dan downcastingOperator instanceofclass dan method abstrakUlasan: Kalkulator Bentuk8Konsep OOP Lanjutan
Komposisi vs PewarisanAgregasi vs Komposisiinner, nested, dan anonymous classEnum dan method Enumrecord (Java 16+)sealed class (Java 17+)11Pola Desain Bagian 1
Pengantar Pola DesainPola SingletonPola FactoryPola BuilderPola ObserverPola Strategy3property class dan Anggota Statis
Variabel Instance vs Statismethod StatisBlok StatisKonstanta (static final)Rangkuman: Penghitung dan Utilitas6Antarmuka & Kelas Abstrak
Pengantar AntarmukaMengimplementasikan AntarmukaImplementasi Beberapa AntarmukaDefault & Static pada AntarmukaKelas Abstrak vs AntarmukaAntarmuka FungsionalRekap: Sistem PembayaranLatihan sendiri: Compiler Java online