Menu
CoddyTech

Info Akun

Termasuk bagian Pemrograman Berorientasi Object dalam perjalanan Lua di Coddy. Pelajaran 23 dari 70.

challenge icon

Tantangan

Mudah

Digital Bank-mu semakin profesional! Sekarang, mari buat akunmu menampilkan dirinya dengan rapi saat dicetak. Dengan menambahkan metamethod __tostring, kamu bisa mengatur dengan tepat bagaimana sebuah akun ditampilkan: menampilkan ID akun dan saldo saat ini dalam format yang bersih dan mudah dibaca.

Kamu akan melanjutkan dengan mengembangkan file yang sudah ada:

  • Account.lua: Perluas class Account-mu dengan dua fitur baru:
    • Ubah constructor :new() agar menerima parameter id yang mengidentifikasi setiap akun
    • Tambahkan metamethod __tostring yang mengembalikan string berformat untuk menampilkan informasi akun
    Pertahankan semua fungsionalitas yang sudah ada (method deposit, withdraw, dan getBalance).
  • main.lua: Buat akun dengan ID dan tunjukkan cara akun tersebut ditampilkan saat dicetak.

Method __tostring harus mengembalikan string dengan format persis seperti ini:

Account [ID]: Balance = BALANCE

Di sini, ID adalah ID akun dan BALANCE adalah saldo saat ini.

Kamu akan menerima empat input:

  1. ID akun pertama
  2. Jumlah setoran akun pertama
  3. ID akun kedua
  4. Jumlah setoran akun kedua

Di file utama, buat dua akun dengan ID yang diberikan, setorkan jumlah yang sesuai ke masing-masing akun, lalu cetak setiap akun secara langsung menggunakan print(). Metamethod __tostring akan dipanggil secara otomatis saat kamu mencetak object akun.

Contohnya, jika inputnya adalah 1001, 500, 1002, dan 750, output-nya seharusnya:

Account [1001]: Balance = 500
Account [1002]: Balance = 750

Sekarang setiap akun memiliki identitas unik dan dapat menjelaskan dirinya dengan jelas: pengalaman perbankan yang jauh lebih profesional!

Coba sendiri

-- Muat module Account dengan require
local Account = require('Account')

-- Baca keempat input
local id1 = io.read()
local deposit1 = tonumber(io.read())
local id2 = io.read()
local deposit2 = tonumber(io.read())

-- Buat dua akun dengan ID
local account1 = Account:new(id1)
local account2 = Account:new(id2)

-- Setorkan jumlah masing-masing
account1:deposit(deposit1)
account2:deposit(deposit2)

-- Cetak setiap akun (menggunakan __tostring)
print(account1)
print(account2)

Semua pelajaran di Pemrograman Berorientasi Object

Latihan sendiri: Compiler Lua online