Menu
CoddyTech

Ringkasan: Pengelola Rekening Bank

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C# di Coddy. Pelajaran 18 dari 70.

challenge icon

Tantangan

Mudah

Mari kita bangun sistem pengelolaan rekening bank lengkap yang menggabungkan semua yang telah kamu pelajari tentang arsitektur class. Kamu akan membuat class BankAccount yang membedakan dengan tepat antara data instance (unik untuk setiap rekening) dan data static (digunakan bersama oleh semua rekening), sambil menggunakan validasi agar rekening selalu berada dalam kondisi yang valid.

Kamu akan membuat dua file untuk mengatur kodemu:

  • BankAccount.cs: Definisikan class BankAccount di namespace Banking. Rekeningmu harus mencakup:
    • Field const MinimumBalance yang ditetapkan ke 100, saldo minimum yang harus dipertahankan semua rekening
    • Field static InterestRate (decimal) yang dimulai dari 0.03m, digunakan bersama oleh semua rekening
    • Field static TotalAccounts (int) yang melacak jumlah rekening yang ada
    • Field readonly AccountNumber (string), ditetapkan satu kali saat dibuat dan tidak pernah diubah
    • Field pendukung private _ownerName dengan property OwnerName yang menghapus spasi kosong di awal dan akhir saat menetapkan nilai
    • Field pendukung private _balance dengan property Balance yang mencegah saldo turun di bawah MinimumBalance (jika seseorang mencoba menetapkannya lebih rendah, pertahankan nilainya di MinimumBalance)
    • Constructor yang menerima nomor rekening, nama pemilik, dan saldo awal, lalu menambah nilai TotalAccounts
    • Method static SetInterestRate(decimal rate) untuk memperbarui suku bunga yang digunakan bersama
    • Method CalculateInterest() yang mengembalikan saldo dikalikan dengan suku bunga
  • Program.cs: Di file utama, buat dua rekening bank menggunakan nilai input, perbarui suku bunga, lalu tampilkan informasi rekening beserta data bank yang digunakan bersama.

Kamu akan menerima tujuh input:

  • Nomor rekening pertama
  • Nama pemilik pertama
  • Saldo awal pertama
  • Nomor rekening kedua
  • Nama pemilik kedua
  • Saldo awal kedua
  • Suku bunga baru (dalam bentuk desimal seperti 0.05)

Cetak output dengan format ini:

--- Bank Summary ---
Interest Rate: {InterestRate}
Minimum Balance: {MinimumBalance}
Total Accounts: {TotalAccounts}

Account: {AccountNumber}
Owner: {OwnerName}
Balance: {Balance}
Interest Earned: {interest}

Account: {AccountNumber}
Owner: {OwnerName}
Balance: {Balance}
Interest Earned: {interest}

Sebagai contoh, jika inputnya adalah ACC001, Alice Smith , 500, ACC002, Bob Jones, 50, dan 0.05, outputnya akan seperti ini:

--- Bank Summary ---
Interest Rate: 0.05
Minimum Balance: 100
Total Accounts: 2

Account: ACC001
Owner: Alice Smith
Balance: 500
Interest Earned: 25.0

Account: ACC002
Owner: Bob Jones
Balance: 100
Interest Earned: 5.0

Perhatikan bahwa spasi berlebih pada nama Alice dihapus, dan saldo Bob sebesar 50 dinaikkan ke nilai minimum 100. Bunga dihitung menggunakan suku bunga terbaru sebesar 0.05 yang ditetapkan setelah rekening dibuat.

Coba sendiri

using System;
using Banking;

class Program
{
    public static void Main(string[] args)
    {
        // Baca input untuk rekening pertama
        string accountNumber1 = Console.ReadLine();
        string ownerName1 = Console.ReadLine();
        decimal balance1 = Convert.ToDecimal(Console.ReadLine());
        
        // Baca input untuk rekening kedua
        string accountNumber2 = Console.ReadLine();
        string ownerName2 = Console.ReadLine();
        decimal balance2 = Convert.ToDecimal(Console.ReadLine());
        
        // Baca suku bunga baru
        decimal newRate = Convert.ToDecimal(Console.ReadLine());
        
        // TODO: Buat dua object BankAccount menggunakan nilai input
        
        // TODO: Perbarui suku bunga menggunakan method statis
        
        // TODO: Cetak ringkasan bank dalam format yang diminta
        // --- Bank Summary ---
        // Interest Rate: {InterestRate}
        // Minimum Balance: {MinimumBalance}
        // Total Accounts: {TotalAccounts}
        // (baris kosong)
        // Rekening: {AccountNumber}
        // Pemilik: {OwnerName}
        // Saldo: {Balance}
        // Interest Earned: {interest}
        // (baris kosong)
        // Rekening: {AccountNumber}
        // Pemilik: {OwnerName}
        // Saldo: {Balance}
        // Interest Earned: {interest}
    }
}

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C# online