1. class Induk Nasabah
import java.util.Random;
import javax.swing.JOptionPane;
public class IndukNasabah {
private String nama, alamat, jk, noRek,jenistab;
private final Random random = new Random();
public String setNorek(int length) {
String code = "";
for (int i = 0; i < length; i++) {
code += (char) (random.nextInt(10) + '0');
}
return code;
}
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String getJk(){
return jk;
}
public String getNorek(){
return noRek;
}
public void indftNasabah(){
JOptionPane.showMessageDialog(null, "PENDATAAN NASABAH BARU","PENDATAAN",
JOptionPane.INFORMATION_MESSAGE);
this.nama=JOptionPane.showInputDialog("Masukkan Nama : ");
this.alamat=JOptionPane.showInputDialog("Masukkan Alamat : ");
this.jk=JOptionPane.showInputDialog("Masukkan Jenis Kelamin : ");
this.noRek=setNorek(8);
JOptionPane.showMessageDialog(null, "Data baru sudah di input");
}
public void inputJenis(){
}
public void cetak_nasabah(){
}
public void cetak_saldo(){
}
public void penyetoran(){
}
public void penarikan(){
}
public void cetak_penarikan(){
}
public String getJenistab(){
return jenistab;
}
}
2. Class Deposit
package TA_UAS;
import javax.swing.JOptionPane;
public class Deposit extends IndukNasabah {
private String jenisdep, jenistab;
private double bunga,S_awal,S_akhir,setor,tarik,ambil,ambils;
@Override
public String getJenistab(){
switch (jenisdep) {
case "1":
jenistab="Deposito";
break;
}
return jenistab;
}
public double getSaldo(){
return S_akhir;
}
public double setBunga(){
return bunga;
}
public double setTarik(){
return tarik;
}
@Override
public void penyetoran(){
if(getNama()==null){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
String setor_string=JOptionPane.showInputDialog("masukkan jumlah deposito");
setor=Integer.parseInt(setor_string);
S_awal=S_awal+setor;
switch (jenisdep) {
case "1":
bunga=0.01*S_awal;
break;
case "2":
bunga=0.02*S_awal;
break;
}
this.S_akhir=S_awal+bunga;
}
}
@Override
public void inputJenis(){
this.jenistab=JOptionPane.showInputDialog("Pilih Jenis Tabungan\n"
+ "1. Deposito");
this.jenisdep=JOptionPane.showInputDialog("Pilih Jenis Deposito\n"
+ "1. 6 bulan\n2. 12 bulan");
}
@Override
public void cetak_nasabah(){
if (getNama()!=null || getNorek()!=null){
System.out.println("Nomor Rekening "+getNorek());
System.out.println("Nama "+getNama());
System.out.println("Jenis Tabungan "+getJenistab());
}else{
JOptionPane.showMessageDialog(null, "belum ada data");
}
}
@Override
public void cetak_saldo(){
if(getSaldo()==0){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
System.out.println("Deposito "+S_akhir);
System.out.println("Bunga "+setBunga());
System.out.println("Saldo Akhir "+getSaldo());
if("1".equals(jenisdep)){
System.out.println("Deposito 6 Bulan");
}
if("2".equals(jenisdep)){
System.out.println("Deposito 12 Bulan");
}
}
}
@Override
public void penarikan(){
if(getSaldo()==0){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
System.out.println("PENARIKAN DEPOSITO");
cetak_nasabah();cetak_saldo();
ambils=S_akhir-S_awal;
JOptionPane.showMessageDialog(null, "Jumlah Dana yang bisa diambil adalah Rp. "+ambils);
String a=JOptionPane.showInputDialog("Masukkan jumlah penarikan");
this.tarik=Double.parseDouble(a);
if(tarik>ambils){
JOptionPane.showMessageDialog(null, "Dana tidak cukup");
}else{
this.ambils=ambils-tarik;
S_akhir=S_akhir-tarik;
}
}
}
@Override
public void cetak_penarikan(){
System.out.println("DATA PENARIKAN DEPOSITO");
JOptionPane.showMessageDialog(null, "Penarikan "+setTarik()+"\n"
+ getSaldo()+"\n");
}
}
import java.util.Random;
import javax.swing.JOptionPane;
public class IndukNasabah {
private String nama, alamat, jk, noRek,jenistab;
private final Random random = new Random();
public String setNorek(int length) {
String code = "";
for (int i = 0; i < length; i++) {
code += (char) (random.nextInt(10) + '0');
}
return code;
}
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String getJk(){
return jk;
}
public String getNorek(){
return noRek;
}
public void indftNasabah(){
JOptionPane.showMessageDialog(null, "PENDATAAN NASABAH BARU","PENDATAAN",
JOptionPane.INFORMATION_MESSAGE);
this.nama=JOptionPane.showInputDialog("Masukkan Nama : ");
this.alamat=JOptionPane.showInputDialog("Masukkan Alamat : ");
this.jk=JOptionPane.showInputDialog("Masukkan Jenis Kelamin : ");
this.noRek=setNorek(8);
JOptionPane.showMessageDialog(null, "Data baru sudah di input");
}
public void inputJenis(){
}
public void cetak_nasabah(){
}
public void cetak_saldo(){
}
public void penyetoran(){
}
public void penarikan(){
}
public void cetak_penarikan(){
}
public String getJenistab(){
return jenistab;
}
}
package TA_UAS;
import javax.swing.JOptionPane;
public class Deposit extends IndukNasabah {
private String jenisdep, jenistab;
private double bunga,S_awal,S_akhir,setor,tarik,ambil,ambils;
@Override
public String getJenistab(){
switch (jenisdep) {
case "1":
jenistab="Deposito";
break;
}
return jenistab;
}
public double getSaldo(){
return S_akhir;
}
public double setBunga(){
return bunga;
}
public double setTarik(){
return tarik;
}
@Override
public void penyetoran(){
if(getNama()==null){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
String setor_string=JOptionPane.showInputDialog("masukkan jumlah deposito");
setor=Integer.parseInt(setor_string);
S_awal=S_awal+setor;
switch (jenisdep) {
case "1":
bunga=0.01*S_awal;
break;
case "2":
bunga=0.02*S_awal;
break;
}
this.S_akhir=S_awal+bunga;
}
}
@Override
public void inputJenis(){
this.jenistab=JOptionPane.showInputDialog("Pilih Jenis Tabungan\n"
+ "1. Deposito");
this.jenisdep=JOptionPane.showInputDialog("Pilih Jenis Deposito\n"
+ "1. 6 bulan\n2. 12 bulan");
}
@Override
public void cetak_nasabah(){
if (getNama()!=null || getNorek()!=null){
System.out.println("Nomor Rekening "+getNorek());
System.out.println("Nama "+getNama());
System.out.println("Jenis Tabungan "+getJenistab());
}else{
JOptionPane.showMessageDialog(null, "belum ada data");
}
}
@Override
public void cetak_saldo(){
if(getSaldo()==0){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
System.out.println("Deposito "+S_akhir);
System.out.println("Bunga "+setBunga());
System.out.println("Saldo Akhir "+getSaldo());
if("1".equals(jenisdep)){
System.out.println("Deposito 6 Bulan");
}
if("2".equals(jenisdep)){
System.out.println("Deposito 12 Bulan");
}
}
}
@Override
public void penarikan(){
if(getSaldo()==0){
JOptionPane.showMessageDialog(null, "belum ada data");
}else{
System.out.println("PENARIKAN DEPOSITO");
cetak_nasabah();cetak_saldo();
ambils=S_akhir-S_awal;
JOptionPane.showMessageDialog(null, "Jumlah Dana yang bisa diambil adalah Rp. "+ambils);
String a=JOptionPane.showInputDialog("Masukkan jumlah penarikan");
this.tarik=Double.parseDouble(a);
if(tarik>ambils){
JOptionPane.showMessageDialog(null, "Dana tidak cukup");
}else{
this.ambils=ambils-tarik;
S_akhir=S_akhir-tarik;
}
}
}
@Override
public void cetak_penarikan(){
System.out.println("DATA PENARIKAN DEPOSITO");
JOptionPane.showMessageDialog(null, "Penarikan "+setTarik()+"\n"
+ getSaldo()+"\n");
}
}
3. Class Tabungan
package TA_UAS;
import javax.swing.JOptionPane;
public class Tabungan extends IndukNasabah{
private double s_awal,s_akhir,setor, tarik;
private String jenistab,jentab;
public double getSaldoAwal(){
return s_awal;
}
public double getSaldo(){
s_akhir=getSaldoAwal()+setor;
return s_akhir;
}
public double getSetor(){
return setor;
}
@Override
public String getJenistab(){
switch (jentab) {
case "1":
jenistab="SIMPEDES";
break;
case "2":
jenistab="SIMPEDA";
break;
}
return jenistab;
}
@Override
public void inputJenis(){
this.jentab=JOptionPane.showInputDialog("Pilih Jenis Tabungan\n"
+ "1. Simpedes\n2. Simpeda");
}
@Override
public void penyetoran(){
String setor_string=JOptionPane.showInputDialog("masukkan jumlah setoran");
this.setor=Integer.parseInt(setor_string);
this.s_awal=s_awal+setor;
}
@Override
public void cetak_nasabah(){
System.out.println("DATA NASABAH TABUNGAN "+getJenistab());
System.out.println("NAMA NASABAH : "+getNama());
System.out.println("ALAMAT : "+getAlamat());
System.out.println("JENIS KELAMIN : "+getJk());
System.out.println("NOMOR REKENING : "+getNorek());
}
public void cetak_saldo(){
System.out.println("NOMOR REKENING : "+getNorek());
System.out.println("NAMA NASABAH : "+getNama());
System.out.println("Saldo "+getSaldo());
}
}
4. Class Menu Utama
package TA_UAS;
import javax.swing.JOptionPane;
public class MenuUtama{
public static void main (String [] args){
String isi,pil_string,ulang_string;
int pil,ulang;
IndukNasabah xx;
do { //perulangan
isi="1. PENDATAAN DEPOSIT\n"+"2. PENDATAAN TABUNGAN REGULER\n"+"3. KELUAR";
pil_string=JOptionPane.showInputDialog(null,isi, "BANK ISTAKPRIND",JOptionPane.QUESTION_MESSAGE);
pil=Integer.parseInt(pil_string);
switch(pil) { //perkondisian
case 1:{
int pil2;
Deposit satu=new Deposit();
xx = satu;
do { //perulangan
isi="1. Pendaftaran Data Deposit Baru\n"+"2. Cetak Data Nasabah\n"+"3. Tambah Saldo\n"
+ "4. Cetak Saldo\n"+ "5. Penarikan\n"+"6. Keluar\n"+"Masukkan pilihan anda :";
pil_string=JOptionPane.showInputDialog(null,isi, "BANK ISTAKPRIND", JOptionPane.QUESTION_MESSAGE);
pil2=Integer.parseInt(pil_string);
switch(pil2) { //perkondisian
case 1:{
xx.indftNasabah();
xx.inputJenis();
JOptionPane.showMessageDialog(null, "Input Selesai, klik OK untuk melanjutkan","INPUT SELESAI",JOptionPane.INFORMATION_MESSAGE);
break;}
case 2:{xx.cetak_nasabah();
break;}
case 3: {xx.penyetoran();
break;}
case 4:{xx.cetak_saldo();
break;}
case 5:{xx.penarikan();xx.cetak_penarikan();
break;}
case 6:JOptionPane.showMessageDialog(null,"Klik OK untuk melanjutkan");
break;
}
ulang_string=JOptionPane.showInputDialog("Mau transaksi lagi?\nJika YA input 1\n" +
"MENUJU MENU UTAMA input 0\n"+"masukkan pilihan :");
ulang=Integer.parseInt(ulang_string);
}while(ulang==1);
}
case 2:{
int pil2;
Tabungan tab1=new Tabungan();
xx = tab1;
do { //perulangan
isi="1. Pendaftaran Data Tabungan Baru\n"+"2. Cetak Data Nasabah\n"+"3. Tambah Saldo\n"
+ "4. Cetak Saldo\n"+"5. Keluar\n"+"Masukkan pilihan anda :";
pil_string=JOptionPane.showInputDialog(null,isi, "BANK ISTAKPRIND", JOptionPane.QUESTION_MESSAGE);
pil2=Integer.parseInt(pil_string);
switch(pil2) { //perkondisian
case 1:{
xx.indftNasabah();
xx.inputJenis();
JOptionPane.showMessageDialog(null, "Input Selesai, klik OK untuk melanjutkan","INPUT SELESAI",JOptionPane.INFORMATION_MESSAGE);
break;}
case 2:{xx.cetak_nasabah();
break;}
case 3: {xx.penyetoran();
break;}
case 4:{xx.cetak_saldo();
break;}
case 5:JOptionPane.showMessageDialog(null,"Klik OK untuk melanjutkan");
break;
}
ulang_string=JOptionPane.showInputDialog("Mau transaksi lagi?\nJika YA input 1\n" +
"MENUJU MENU UTAMA input 0\n"+"masukkan pilihan :");
ulang=Integer.parseInt(ulang_string);
}while(ulang==1);
}
case 3:JOptionPane.showMessageDialog(null,"Klik OK untuk melanjutkan");
break;
}
ulang_string=JOptionPane.showInputDialog("Mau transaksi lagi?\nMENU UTAMA input 1\n" +
"KELUAR input 0\n"+"masukkan pilihan :");
ulang=Integer.parseInt(ulang_string);
}
while(ulang==1);
}
}
5. Menu Utama
package TA_UAS;
import javax.swing.JOptionPane;
public class Utama{
public static void main (String [] args){
String isi,pil_string,ulang_string;
int pil,ulang;
IndukNasabah xx;
Deposit satu=new Deposit();
xx = satu;
do { //perulangan
isi="1. Pendaftaran Nasabah Deposit\n"+"2. Cetak Data\n"+"3. Tambah Saldo\n"
+ "4. Cetak Saldo\n"+"5. Daftar Tabungan :\n"+
"6. Cetak Saldo\n"+"7. Keluar\n"+"Masukkan pilihan anda :";
pil_string=JOptionPane.showInputDialog(null,isi, "BANK ISTAKPRIND",
JOptionPane.QUESTION_MESSAGE);
pil=Integer.parseInt(pil_string);
switch(pil) { //perkondisian
case 1:{
xx.indftNasabah();
xx.inputJenis();
JOptionPane.showMessageDialog(null, "Input Selesai, klik OK untuk melanjutkan","INPUT SELESAI",JOptionPane.INFORMATION_MESSAGE);
break;}
case 2:{xx.cetak_nasabah();
break;}
case 3: {xx.penyetoran();
break;}
case 4:{xx.cetak_saldo();
break;}
case 5: {
Tabungan tab1=new Tabungan();
xx = tab1;
xx.indftNasabah();xx.inputJenis();xx.cetak_nasabah();
break;}
case 6:{
break;}
case 7:JOptionPane.showMessageDialog(null,"Klik OK untuk keluar");
break;
}
ulang_string=JOptionPane.showInputDialog("Mau transaksi lagi?\nJika YA input 1\n" +
"jika TIDAK input 0\n"+"masukkan pilihan :");
ulang=Integer.parseInt(ulang_string);
}
while(ulang==1);
}
}