Skip to content

Instantly share code, notes, and snippets.

@andipyk
Last active December 13, 2019 22:23
Show Gist options
  • Save andipyk/14700c905e546adf29603bfb2f3ec4a2 to your computer and use it in GitHub Desktop.
Save andipyk/14700c905e546adf29603bfb2f3ec4a2 to your computer and use it in GitHub Desktop.

Aplikasi ATM ( Tugas 0 - OSG08 )

Aplikasi ATM sederhana yang dapat dijalankan melalui Terminal atau Command Prompt (CMD) menggunakan bahasa Dart.

Ketentuan:

  1. Minimal terdapat 2 akun atau lebih.
  2. Login menggunakan PIN.
  3. Jika PIN salah kembali ke login awal.
  4. Jika PIN benar masuk ke halaman utama.
  5. Di halaman utama terdapat minimal 3 menu (Tarik Tunai, Setor Tunai, Cek Saldo)
  6. Pastikan saldo berkurang ketika tarik tunai, dan bertambah ketika setor tunai.

Screenshot

ATM Apps ATM Apps ATM Apps

Built With

Created By


Online Study Group Eudeka!

Salah satu program dari Eudeka! untuk belajar secara full online via Whatsapp/Telegram dan Google Classroom, dengan para praktisi handal di bidangnya. Selain itu juga kamu dapat berkesempatan untuk memperluas koneksimu dengan peserta lain.

OSG08 - Flutter Basic

Dengan jangka waktu lebih kurang 2 bulan, peserta diharapkan dapat mengenal dan membuat aplikasi simple Flutter dengan menggunakan data dari internet (API).

Cara Mendaftar Online Study Group

Untuk pendaftaran kelas selanjutnya, silahkan kunjungi atau hubungi kami di dawah ini.

Info Lebih Lengkap

Website : www.eudeka.id
Twitter: @EudekaID
Telegram : @eudekainfo
Instagram : @eudeka.id
WhatsApp : 0895351577557
Email : info@eudeka.id


tags: Templates Eudeka Flutter Dart
import 'dart:io';
main() {
User user;
var x;
var menus = [
"1. Tarik Tunai",
"2. Setor Tunai",
"3. Cek Saldo",
"4. Ganti Akun",
"5. Keluar"
];
var users = [
{"id": 1, "nama": "Andi Syafrianda", "pin": "1234", "saldo": 3000.0},
{"id": 2, "nama": "Budi Anduk", "pin": "4321", "saldo": 500.0}
];
do {
stdout.write("Silahkan masukan PIN anda ... ");
String pinInput = stdin.readLineSync();
if (pinInput == "1234") {
user = User(users[0]['id'], users[0]['nama'], users[0]['saldo']);
} else if (pinInput == "4321") {
user = User(users[1]['id'], users[1]['nama'], users[1]['saldo']);
} else {
print("PIN yang anda masukan salah !");
}
if (user != null) {
print("\n\nSelamat datang ${user.getNama} di Bank Sumbar");
do {
menus.forEach((menu) => print("$menu"));
stdout.write("Silahkan masukan pilihan anda ... ");
x = int.parse(stdin.readLineSync());
print("\n\n");
switch (x) {
case 1:
{
stdout.write("Tarik Tunai\nNominal: ");
double jmlhTarikTunai = double.parse(stdin.readLineSync());
user.tarikTunai(jmlhTarikTunai);
}
break;
case 2:
{
stdout.write("Setor Tunai\nNominal: ");
double jmlhSetorTunai = double.parse(stdin.readLineSync());
user.setorTunai(jmlhSetorTunai);
}
break;
case 3:
{
user.infoSaldo;
}
break;
case 4:
{
x = 4;
}
break;
case 5:
{
x = 5;
}
break;
default:
}
} while (x > 0 && x < 4);
}
} while (x == null || x == 4);
}
class User {
int id;
double saldo;
String nama;
User(int id, String nama, double saldo) {
this.id = id;
this.saldo = saldo;
this.nama = nama;
}
tarikTunai(double jumlahTarik) {
if (this.saldo <= jumlahTarik || jumlahTarik <= 0) {
print("Maaf saldo anda tidak mencukupi");
} else {
this.saldo = this.saldo - jumlahTarik;
return this.saldo;
}
}
setorTunai(double jumlahSetor) {
if (jumlahSetor <= 0) {
print("Maaf setoran anda tidak valid");
} else {
this.saldo = this.saldo + jumlahSetor;
return this.saldo;
}
}
get infoSaldo {
print(saldo);
}
String get getNama {
return nama;
}
void set infoSaldo(double saldo) {
this.saldo = saldo;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment