Menu
CoddyTech

Ulasan: Pengelola Rekening Bank

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Java di Coddy. Pelajaran 14 dari 87.

challenge icon

Tantangan

Mudah

Mari 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 mengembalikan true jika berhasil atau false jika ditolak
    • Method withdraw(double amount) yang mengurangi saldo hanya jika jumlahnya positif DAN dana yang tersedia mencukupi, serta mengembalikan true jika berhasil atau false jika 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: true atau Deposit: false
    • Hasil penarikan pertama: Withdraw 1: true atau Withdraw 1: false
    • Hasil penarikan kedua: Withdraw 2: true atau Withdraw 2: false
    • Ringkasan rekening akhir

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

Latihan sendiri: Compiler Java online