Anda di halaman 1dari 6

UJIAN TENGAH SEMESTER (UTS)

Nama : M Rosyid Ardiansyah


NIM : 221501018
Kelas : SI3A
Mata kuliah : Pemrograman Berorientasi Objek
Prodi : Teknik Informatika
Pengampu : Afta Ramadhan Zayn, M.Kom.

JAWABAN TUGAS !

1. Salinan Kode,

package perbankan;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @author asusrosyid
*/
class Nasabah {
String nama;
String alamat;
int jumlahRekening;
ArrayList<Rekening> rekening;

public Nasabah(String nama, String alamat)


{
this.nama = nama;
this.alamat = alamat;
this.jumlahRekening = 0;
this.rekening = new ArrayList<>();
}

public void bukaRekening() {


if (jumlahRekening < 2) {
Scanner scanner = new
Scanner(System.in);
System.out.print("Masukkan nomor
rekening baru: ");
String noRekening =
scanner.nextLine();
System.out.print("Masukkan saldo
awal: ");
double saldoAwal =
scanner.nextDouble();

Rekening newRekening = new


Rekening(noRekening, saldoAwal);
rekening.add(newRekening);
jumlahRekening++;
System.out.println("Rekening berhasil
dibuka untuk nasabah " + nama);
} else {
System.out.println("Nasabah " + nama
+ " sudah memiliki 2 rekening. Tidak dapat
membuka lebih banyak.");
}
}
}

class Rekening {
String noRekening;
double saldo;

public Rekening(String noRekening, double


saldo) {
this.noRekening = noRekening;
this.saldo = saldo;
}

public void simpanUang(double jumlah) {


saldo += jumlah;
System.out.println("Saldo rekening " +
noRekening + " ditambahkan sebesar " +
jumlah + ". Saldo sekarang: " + saldo);
}

public void ambilUang(double jumlah) {


if (jumlah <= saldo) {
saldo -= jumlah;
System.out.println("Penarikan uang
sebesar " + jumlah + " dari rekening " +
noRekening +
" berhasil. Saldo sekarang: " +
saldo);
} else {
System.out.println("Penarikan uang
sebesar " + jumlah + " dari rekening " +
noRekening +
" gagal. Saldo tidak mencukupi.");
}
}
}
public class Perbankan {

/**
* @param args the command line
arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner scanner = new
Scanner(System.in);

System.out.print("Masukkan nama
nasabah: ");
String namaNasabah =
scanner.nextLine();
System.out.print("Masukkan alamat
nasabah: ");
String alamatNasabah =
scanner.nextLine();

Nasabah nasabah = new


Nasabah(namaNasabah, alamatNasabah);

while (true) {
System.out.println("\nMenu:");
System.out.println("1. Buka
Rekening");
System.out.println("2. Simpan Uang");
System.out.println("3. Ambil Uang");
System.out.println("4. Keluar");

System.out.print("Masukkan pilihan
(1-4): ");
int pilihan = scanner.nextInt();

switch (pilihan) {
case 1:
nasabah.bukaRekening();
break;
case 2:
if (nasabah.jumlahRekening > 0) {
System.out.print("Masukkan
nomor rekening: ");
String noRekening =
scanner.next();
Rekening rekening = null;

for (Rekening r :
nasabah.rekening) {
if
(r.noRekening.equals(noRekening)) {
rekening = r;
break;
}
}

if (rekening != null) {
System.out.print("Masukkan
jumlah yang ingin disimpan: ");
double jumlahSimpan =
scanner.nextDouble();

rekening.simpanUang(jumlahSimpan);
} else {
System.out.println("Nomor
rekening tidak ditemukan.");
}
} else {
System.out.println("Nasabah
belum memiliki rekening.");
}
break;
case 3:
if (nasabah.jumlahRekening > 0) {
System.out.print("Masukkan
nomor rekening: ");
String noRekening =
scanner.next();
Rekening rekening = null;

for (Rekening r :
nasabah.rekening) {
if
(r.noRekening.equals(noRekening)) {
rekening = r;
break;
}
}

if (rekening != null) {
System.out.print("Masukkan
jumlah yang ingin diambil: ");
double jumlahAmbil =
scanner.nextDouble();

rekening.ambilUang(jumlahAmbil);
} else {
System.out.println("Nomor
rekening tidak ditemukan.");
}
} else {
System.out.println("Nasabah
belum memiliki rekening.");
}
break;
case 4:
System.out.println("Program
selesai.");
System.exit(0);
break;
default:
System.out.println("Pilihan tidak
valid. Silakan pilih kembali.");
break;
}
}
}

2. Tangkapan Layar output,


3. File Kode,

Perbankan.java

Anda mungkin juga menyukai