-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_encapsulation.cpp
More file actions
66 lines (56 loc) · 1.72 KB
/
data_encapsulation.cpp
File metadata and controls
66 lines (56 loc) · 1.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// pengendalian akses
// keterbacaan
// fleksibilitas
//
// 1. private: data anggta
// 2. protected: data anggota dapat diakses dari kelas turunan
// 3. public: data anggota dapat diakses dimanapun
#include <iostream>
#include <string>
class AkunBank {
private:
std::string nama_pemilik_akun;
double saldo;
public:
AkunBank(std::string nama, double nilai_saldo) {
nama_pemilik_akun = nama;
saldo = nilai_saldo;
}
std::string ambilNamaPemilikAkun() const { return nama_pemilik_akun; }
void settingNamaPemilikAkun(std::string nama) {
if (!nama.empty()) {
nama_pemilik_akun = nama;
} else {
std::cout << "kamu memasukkan field salah" << std::endl;
}
}
double ambilSaldo() const { return saldo; }
void deposit(double jumlah) {
if (jumlah > 0) {
saldo += jumlah;
std::cout << "di depositkan sejumlah: " << jumlah << std::endl;
std::cout << "jumlah uang sekarang adalah: Rp." << saldo << std::endl;
} else {
std::cout << "invalid nilainya" << std::endl;
}
}
void tarikUang(double jumlah) {
if (jumlah > 0 && jumlah <= saldo) {
saldo -= jumlah;
std::cout << "menarik uang sebanyak " << jumlah << std::endl;
std::cout << "sisa uang sekarang adalah: Rp." << saldo << std::endl;
} else {
std::cout << "kamu memasukkan nilai yang salah!" << std::endl;
}
}
};
int main() {
AkunBank akunSaya("arfy", 400000.00);
std::cout << "nama pemilik akun: " << akunSaya.ambilNamaPemilikAkun()
<< std::endl;
std::cout << "saldo dari pemilik akun " << akunSaya.ambilNamaPemilikAkun()
<< " adalah: Rp." << akunSaya.ambilSaldo() << std::endl;
akunSaya.deposit(200000.00);
akunSaya.tarikUang(400000.00);
return 0;
}