Menu
CoddyTech

Rangkuman: Pengelola Rekening Bank

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Dart di Coddy. Pelajaran 22 dari 110.

challenge icon

Tantangan

Mudah

Mari buat sistem pengelolaan rekening bank yang menggabungkan semua konsep property class yang telah kamu pelajari di bab ini. Kamu akan membuat sistem yang melacak data setiap rekening sekaligus mempertahankan statistik bank secara keseluruhan.

Kamu akan mengatur kodemu ke dalam dua file:

  • bank_account.dart: Definisikan class BankAccount yang mengelola rekening masing-masing dan melacak statistik bank secara keseluruhan. Class-mu harus mencakup:
    • final String accountNumber yang tidak dapat berubah setelah dibuat
    • String holderName untuk nama pemilik rekening
    • Field double _balance privat yang dimulai dari 0.0
    • static int totalAccounts yang dimulai dari 0 untuk melacak jumlah rekening yang ada
    • static double totalDeposits yang dimulai dari 0.0 untuk melacak semua setoran yang dilakukan di bank
    • Constructor yang menerima accountNumber dan holderName, lalu menambah nilai totalAccounts
    • Getter balance yang mengembalikan saldo saat ini
    • Method deposit(double amount) yang menambahkan saldo hanya jika jumlahnya positif, dan juga menambahkan nilai totalDeposits jika berhasil
    • Method withdraw(double amount) yang mengurangi saldo hanya jika jumlahnya positif dan tidak melebihi saldo saat ini
    • Method displayInfo() yang mencetak detail rekening
    • Method statis getBankStats() yang mengembalikan string berisi statistik bank secara keseluruhan
  • main.dart: Impor class rekening bank-mu dan tunjukkan cara kerja sistem:
    • Buat rekening dengan nomor 'ACC001' untuk 'Alice'
    • Buat rekening dengan nomor 'ACC002' untuk 'Bob'
    • Setorkan 500.0 ke rekening Alice
    • Setorkan 300.0 ke rekening Bob
    • Tarik 150.0 dari rekening Alice
    • Coba tarik 1000.0 dari rekening Bob (seharusnya diabaikan, dana tidak cukup)
    • Coba setorkan -50.0 ke rekening Alice (seharusnya diabaikan, jumlahnya negatif)
    • Panggil displayInfo() pada rekening Alice, lalu rekening Bob
    • Cetak statistik bank menggunakan BankAccount.getBankStats()

Method displayInfo() harus mencetak dalam format ini:

Account [accountNumber] | Holder: [holderName] | Balance: $[balance]

Method getBankStats() harus mengembalikan:

Bank Stats - Total Accounts: [totalAccounts] | Total Deposits: $[totalDeposits]

Output yang diharapkan:

Account ACC001 | Holder: Alice | Balance: $350.0
Account ACC002 | Holder: Bob | Balance: $300.0
Bank Stats - Total Accounts: 2 | Total Deposits: $800.0

Coba sendiri

import 'bank_account.dart';

void main() {
  // TODO: Buat rekening bernomor 'ACC001' untuk 'Alice'
  
  // TODO: Buat rekening bernomor 'ACC002' untuk 'Bob'
  
  // TODO: Setorkan 500.0 ke rekening Alice
  
  // TODO: Setorkan 300.0 ke rekening Bob
  
  // TODO: Tarik 150.0 dari rekening Alice
  
  // TODO: Coba tarik 1000.0 dari rekening Bob (harus diabaikan)
  
  // TODO: Coba setorkan -50.0 ke rekening Alice (harus diabaikan)
  
  // TODO: Panggil displayInfo() pada rekening Alice
  
  // TODO: Panggil displayInfo() pada rekening Bob
  
  // TODO: Tampilkan statistik bank menggunakan BankAccount.getBankStats()
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler Dart online