Ulasan: Pengelola Rekening Bank
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 14 dari 87.
Tantangan
MudahMari buat sistem BankAccount lengkap yang menggabungkan semua hal yang telah kamu pelajari tentang enkapsulasi, modifier akses, getter, setter, dan kata kunci final.
Kamu akan membuat dua file untuk mengatur kodemu:
BankAccount.java: Rancang class rekening bank yang aman dan melindungi data keuangan yang sensitif:- Nomor rekening yang immutable dan tidak dapat berubah setelah rekening dibuat
- Saldo private yang dimulai dari 0.0 dan hanya dapat diubah melalui method yang terkontrol
- Nama pemilik yang private, yang dapat diambil tetapi tidak dapat diubah secara langsung
- Konstruktor yang menerima nomor rekening dan nama pemilik
- Getter untuk nomor rekening
- Getter untuk nama pemilik
- Getter untuk saldo
- Method
deposit(double amount)yang menambahkan saldo hanya jika jumlahnya positif, serta mengembalikantruejika berhasil ataufalsejika ditolak - Method
withdraw(double amount)yang mengurangi saldo hanya jika jumlahnya positif DAN dana yang tersedia mencukupi, serta mengembalikantruejika berhasil ataufalsejika ditolak - Method
getAccountSummary()yang mengembalikan:"Account [accountNumber] | Owner: [ownerName] | Balance: $[balance]"(saldo diformat dengan 2 angka desimal)
Main.java: Buat sebuah BankAccount dan lakukan serangkaian transaksi. Kamu akan menerima lima input: nomor rekening, nama pemilik, jumlah setoran, jumlah penarikan pertama, dan jumlah penarikan kedua. Cetak empat baris:- Hasil setoran:
Deposit: trueatauDeposit: false - Hasil penarikan pertama:
Withdraw 1: trueatauWithdraw 1: false - Hasil penarikan kedua:
Withdraw 2: trueatauWithdraw 2: false - Ringkasan rekening akhir
- Hasil setoran:
Kamu akan menerima lima input secara berurutan: accountNumber (String), ownerName (String), depositAmount (double), withdrawAmount1 (double), withdrawAmount2 (double).
Untuk memformat saldo dengan 2 angka desimal, kamu dapat menggunakan String.format("%.2f", balance).
Coba sendiri
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// Baca input
String accountNumber = scanner.nextLine();
String ownerName = scanner.nextLine();
double depositAmount = scanner.nextDouble();
double withdrawAmount1 = scanner.nextDouble();
double withdrawAmount2 = scanner.nextDouble();
// TODO: Buat object BankAccount dengan accountNumber dan ownerName
// TODO: Lakukan penyetoran dan cetak hasilnya sebagai "Deposit: true" atau "Deposit: false"
// TODO: Lakukan penarikan pertama dan cetak hasilnya sebagai "Withdraw 1: true" atau "Withdraw 1: false"
// TODO: Lakukan penarikan kedua dan cetak hasilnya sebagai "Withdraw 2: true" atau "Withdraw 2: false"
// TODO: Cetak ringkasan rekening
}
}
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 Tervalidasi2Modifier 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