ETS - 3 Pemrograman Berbasis Obyek
ETS - 3 Pemrograman Berbasis Obyek
Nama : Andymas Narendra Bagaskara
Kelas : PBO-C
NRP : 05111940000192
1. Soal pertama yaitu tuliskan skenario fungsionalitas aplikasi pada mesin ATM yang berdasarkan pada Video ini
Jawab : Skenario fungsionalitas aplikasinya :
a. Yang pertama yaitu kita memasukan kartu ATM kita lalu akan memunculkan program
b. Lalu pada menu InputPin kemudian kita masukan PIN kita
c. Setelah itu pilih menu lain lalu kita pilih metode transfer
d. Menampilkan beberapa pilihan fungsi menu setelah kita pilih metode transfer yaitu :
i. Rekening Giro
ii. Rekening Tabungan
e. Lalu kita klik pada pilihan menu Rekening Tabungan lalu pilih rekening BNI
f. Setelah itu masukan nomor rekening tujuan dan jumlah uang sesuai tagihan pembayaran
g. Akan muncul konfirmasi pembayarannya, jika benar tekan iya
h. Setelah itu akan keluar cek dari pembayaran tersebut.
2. Definisikan Class dan gambarkan Diagram Class untuk membangun aplikasi tersebut
b. Class Akun : Sebagai data-data akun dari pengguna
3.Implementasikan rancangan Class dengan menggunakan bahasa pemrograman Java.
/**
* Nama : Andymas Narendra Bagaskara
* NRP : 05111940000192
*
*/
import java.util.Scanner;
public class Main
{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
int idAkun,pinAkun;
int menu,x;
boolean loop=true;
System.out.println("Selamat Datang di ATM Link");
System.out.println("Masukkan Kartu ATM anda :");
idAkun = scan.nextInt();
System.out.println("Masukkan PIN ATM anda :");
pinAkun= scan.nextInt();
Akun recentAkun = new Akun(idAkun,pinAkun,"",0);
recentAkun.peopleAkun(idAkun,pinAkun);
while(loop){
System.out.println("Silahkan pilih transaksi yang anda inginkan");
System.out.println("1. 250.000");
System.out.println("2. 500.000");
System.out.println("3. 1.000.000");
System.out.println("4. 1.250.000");
System.out.println("5. Registrasi E-Channel");
System.out.println("6. Penarikan Jumlah Lain");
System.out.println("7. Informasi dan Mutasi");
System.out.println("8. Menu Lain");
menu = scan.nextInt();
switch(menu){
case 1:
System.out.println("Layanan Tidak Tersedia");
break;
case 2:
System.out.println("Layanan Tidak Tersedia");
break;
case 3:
System.out.println("Layanan Tidak Tersedia");
break;
case 4:
System.out.println("Layanan Tidak Tersedia");
break;
case 5:
System.out.println("Layanan Tidak Tersedia");
break;
case 6:
System.out.println("Layanan Tidak Tersedia");
break;
case 7:
System.out.println("Layanan Tidak Tersedia");
break;
case 8:
int menu2;
System.out.println("Silahkan pilih transaksi yang anda inginkan");
System.out.println("1. Ganti Pin");
System.out.println("2. Penarikan Tunai");
System.out.println("3. Transfer");
System.out.println("4. Informasi Saldo");
System.out.println("5. Pembayaran");
System.out.println("6. Uang Elektronik");
System.out.println("7. Menu Sebelumnya");
System.out.println("8. BNI Simponi / DPLK");
menu2 = scan.nextInt();
switch(menu2){
case 1:
System.out.println("Layanan Tidak Tersedia");
break;
case 2:
System.out.println("Layanan Tidak Tersedia");
break;
case 3:
int menu3;
System.out.println("Pilih Pemindahbukuan Yang Anda Inginkan\n");
System.out.println("1. Dari Rekening Giro");
System.out.println("2. Dari Rekening Tabungan");
System.out.println("3. Cancel");
menu3 = scan.nextInt();
switch(menu3){
case 1:
System.out.println("Layanan Tidak Tersedia!!");
continue;
case 2:
int menu4;
System.out.println("Pilih Tujuan Transfer Yang Anda Inginkan");
System.out.println("1. Ke Rekening BNI");
System.out.println("2. Ke Rekening Lain");
menu4 = scan.nextInt();
switch(menu4){
case 1:
int menu5;
System.out.println("Silahkan Masukkan Nomor Rekening Tujuan");
int a = scan.nextInt();
Akun TargetAkun = new Akun(a,0,"Tokopedia",0);
System.out.println("1. Jika Benar");
System.out.println("2. Jika Salah");
menu5 = scan.nextInt();
switch(menu5){
case 1:
System.out.println("Masukkan Jumlah Uang :");
double money = scan.nextDouble();
System.out.println("1. Jika Benar");
System.out.println("2. Jika Salah");
int menu6;
menu6 = scan.nextInt();
if(recentAkun.getsaldo()<money){
System.out.println("Uang Anda Tidak Cukup Transaksi dibatalkan");
loop=false;
break;
}
else{
switch(menu6){
case 1:
System.out.println("Masukkan Berita Yang Diinginkan :");
double berita = scan.nextDouble();
System.out.println("Dari :"+recentAkun.getakunID());
System.out.println("ke :"+a);
System.out.println("Penerima :"+TargetAkun.getNama());
System.out.println("Jumlah :"+money);
System.out.println("Berita :"+berita);
System.out.println("1. Jika Benar");
System.out.println("2. Jika Salah");
int menu7;
menu7 = scan.nextInt();
switch(menu7){
case 1:
System.out.println("Transaksi selesai. Perlu transaksi yang lain?");
System.out.println("1. Ya");
System.out.println("2. Tidak");
int menu8;
menu8 = scan.nextInt();
if(menu8==1){
continue;
}
else{
System.out.println("Terima Kasih Telah Menggunakan ATM Link. Jangan lupa mencabut kartu.");
loop=false;
}
break;
case 2:
System.out.println("Layanan Belum Tersedia!!");
break;
}
break;
case 2:
System.out.println("Layanan Belum Tersedia");
break;
}
}
break;
case 2:
System.out.println("Layanan Belum Tersedia");
break;
}
break;
case 2:
System.out.println("Layanan Belum Tersedia");
break;
}
}
break;
case 4:
System.out.println("Layanan Tidak Tersedia");
break;
case 5:
System.out.println("Layanan Tidak Tersedia");
break;
case 6:
System.out.println("Layanan Tidak Tersedia");
break;
case 7:
System.out.println("Layanan Tidak Tersedia");
break;
case 8:
System.out.println("Layanan Tidak Tersedia");
break;
}
}
}
}
}
/**
*
* Nama: Andymas Narendra Bagaskara
* NRP : 05111940000192
*/
public class Akun
{
private String Nama;
private int akunID;
private int PIN;
public double saldo;
public Akun(int AkunID, int PIN, String Nama, double saldo){
this.akunID = AkunID;
this.PIN = PIN;
this.saldo = saldo;
this.Nama = Nama;
}
public void peopleAkun(int accountID, int PIN){
if((akunID == 1)&&(PIN == 111111)){
setNama("Pate Benson");
this.saldo = 20000000;
}
else if((akunID==2)&&(PIN==222222)){
setNama("Maradona Diego");
saldo = 50000000;
}
}
public int getakunID(){
return akunID;
}
public int getPIN(){
return PIN;
}
public void setNama(String Nama){
this.Nama = Nama;
}
public String getNama(){
return Nama;
}
public void setsaldo (double saldoBaru){
this.saldo =saldoBaru;
}
public double getsaldo (){
return saldo ;
}
}
4. Video demo
Komentar
Posting Komentar