A. DEFINISI MASALAH
1. Buatlah implementasi sebuah mesin ATM. Dalam mesin ATM, password dapat
dimasukkan oleh user. Selain itu, system memiliki pilihan menu melihat saldo,
menarik uang dan menstransfer ke rekening lain!
B. SOURCE CODE
1. Class Program implementasi meisn ATM.
1 package Praktikum2;
2
3 public class Atm {
4
5 String nama, pin, norek;
6 int saldo, uang;
7
8 public Atm(String nama, String pin, String norek, int
9 saldo) {
10 this.nama = nama;
11 this.pin = pin;
12 this.norek = norek;
13 this.saldo = saldo;
14 uang = 0;
15 }
16
17 public void saldo() {
18 System.out.println("Saldo di Rekening anda : " +
19 saldo);
20
21 }
22
23 public void uang(int uang) {
24 this.uang = uang;
25 if (saldo > uang) {
26 saldo = saldo - uang;
27 System.out.println("===========================");
28 System.out.println("Penarikan Sebesar Rp." + uang);
29 System.out.println("Sisa Saldo anda saat ini Rp." +
30 saldo);
31 } else {
32 System.out.println("Saldo anda Tidak Cukup");
33 }
34 }
35
36 public void infoTransfer() {
37 System.out.println("Nomer Rekening Atas nama " + nama);
38 }
39
40 public void setTransfer(int uang) {
41 this.uang = uang;
42 if (saldo > uang) {
43 saldo = saldo - uang;
44 System.out.println("Dengan Nomer Rekening: " +
45 norek);
46 System.out.println("Transfer Sebesar : " + uang);
47 System.out.println("Saldo Anda saat ini : " +
48 saldo);
49 } else {
50 System.out.println("Saldo anda Tidak Cukup");
51 }
52 }
53
54 public void Transfer(Atm a) {
55 a.saldo = a.saldo + uang;
56 }
57
58 }
1 package Praktikum2;
2
3 //NAMA : Arif Ramadhan
4 //NIM : 155150401111139
5 //Kelas : SI-H
6
7
8 import java.util.Scanner;
9
10 class AtmPanggil {
11
12 public static void main(String[] args) {
13 Scanner in = new Scanner(System.in);
14 String tanya, norek;
15 Atm atm = new Atm("Arif Ramadhan", "240198",
16 "12345678", 10000000);
17 Atm atm1 = new Atm("Kamu iya kamu", "980124",
18 "87654321", 10000000);
19
20 do {
21 System.out.print("Masukan PIN anda : ");
22 String pin = in.next();
23 if (pin.equals(atm.pin) || pin.equals(atm1.pin)) {
24 System.out.println("=========== BANK MAHASISWA
25 BRAWIJAYA ==============");
26 System.out.println("1. Tarik Tunai ");
27 System.out.println("2. Informasi Saldo ");
28 System.out.println("3. Transfer ");
29 System.out.println("4. Keluar");
30 System.out.print("Pilihan Anda: ");
31 int pilihan = in.nextInt();
32 switch (pilihan) {
33 case 1:
34 System.out.println("===Tarik
35 Tunai===");
36 System.out.print("Masukkan Nominal
37 Tarik Tunai : ");
38 if (pin.equals(atm.pin)) {
39 atm.uang(in.nextInt());
40 } else {
41 atm1.uang(in.nextInt());
42 }
43 break;
44 case 2:
45 System.out.println("===Informasi
46 Saldo===");
47 if (pin.equals(atm.pin)) {
48 atm.saldo();
49 } else {
50 atm1.saldo();
51 }
52 break;
53 case 3:
54
55 System.out.println("=====Transfer=====");
56
57 if (pin.equals(atm.pin)) {
58 System.out.print("Masukkan No.Rek
59 Tujuan : ");
60 norek = in.next();
61 if (norek.equals(atm1.norek)) {
62 atm1.infoTransfer();
63 System.out.print("Masukkan
64 Nominal Transfer : ");
65 atm.setTransfer(in.nextInt());
66 atm.Transfer(atm1);
67 } else {
68 System.out.println("Data yang
69 anda input salah");
70 }
71 } else {
72 System.out.print("Masukkan No.Rek
73 Tujuan : ");
74 norek = in.next();
75 if (norek.equals(atm.norek)) {
76 atm.infoTransfer();
77 System.out.print("Masukkan
78 Nominal Transfer: Rp. ");
79 atm1.setTransfer(in.nextInt());
80 atm1.Transfer(atm);
81 } else {
82 System.out.println("Data yang
83 anda input salah");
84 }
85 }
86 break;
87 case 4:
88 System.out.println("Terimakasih");
89 break;
90 default:
91 System.out.println("Menu tidak
92 terdaftar");
93 }
94 } else {
95 System.out.println("Pin anda salah ");
96 }
97
98 System.out.print("Melanjutkan Transaksi Lain?
99 (Yes/No) ");
100 tanya = in.next();
101 } while (tanya.equalsIgnoreCase("Yes"));
102 }
103 }
C. PEMBAHASAN
1. Class Program implementasi meisn ATM.
D. SCREENSHOT PROGRAM
1. Program implementasi meisn ATM.
E. PRAKTIKUM
Data dan Analisis hasil percobaan
A. Constructor
1. Lakukan percobaan constructor diatas dan benahi jika menemukan kesalahan!
- //class
public Student(int math, int english, int science) {
mathGrade = math;
englishGrade = english;
scienceGrade = science;
}
//main class
Student anna = new Student(100,89,80);
3. Tambahkan method dengan nilai balikan berupa boolean pada class student
bernama statusAkhir untuk menentukan apakah siswa tersebut remidi atau tidak.
Ketentuannya adalah jika nilai lebih dari atau sama dengan 61 adalah lolos
sedangkan nilai kurang dari atau sama dengan 60 adakah remidi. Nilai yang di cari
adalah nilai rata rata untuk semua mapel. Kemudian nilai pada method statusAkhir
tampilkan pada method displayMessage!
4. Bagaimana cara memasukkan jumlah siswa sesuai dengan keinginan user? Tuliskan
kodenya dengan inputan user yang interaktif! (key : menggunakan array)
- //class
public void setData() {
nama = new String[n];
asal = new String[n];
umur = new int [n];
nilai = new int [n];
}
//main class
System.out.print("input banyak mahasiswa : ");
data.n = in.nextInt();
data.setData();
5. Bagaimana cara menghitung banyaknya objek yang kita buat dari sebuah
menginstance objek dari main class? Tuliskan kodenya kemudian tampilkan
informasinya dengan memanggil method jumlahObjek() bertipe void!
- Caranya dengan membuat attribute jumlah , dan pada konstruktor jumlah
diinsialisasikan nilainya ditambah satu, agar jika objek bertambah nilai jumlahnya
juga bertambah, lalu nilai dari variabel jumlah tersebut ditampilkan, dan kita dapat
mengetahui jumlah objeknya .
//attribute
public static int jumlah;
//konstruktor
public Student(String n, String a, int ag) {
jumlah++;
name = n;
address = a;
age = ag;
}
//method di class
public void displayMessage() {
System.out.println("Jumlah Objek : "+jumlah);
}
//mainclass
anna.displayMessage();
chris.displayMessage();
B. Instance Method
Pertanyaan
1. Lakukan percobaan Instance Method diatas dan benahi jika menemukan kesalahan!
- //class
public void operasiPengurangan() {
int pengurangan;;
pengurangan = pembilang - penyebut;
System.out.println(pengurangan);
}
F. KESIMPULAN
1. Konstruktor adalah method dimana seluruh inisialisasi object ditempatkan. Saat
kita menginstan sebuah object pada main class atau class lain, kita sebenarnya
telah memanggil sebuah konstruktor pada sebuah class yang kita instan objeknya.
Berikut ini adalah property dari konstrukstor :
1. Konstruktor memiliki nama yang sama dengan class
2. Konstruktor tidak memilki return value, meskipun void
3. Konstruktor tidak dapat dipanggil secara langsung, namun harus dipanggil
dengan menggunakan operator new pada saat menginstan objek dari class.
3. - //class
public Rasional(int pbl, int pyb) {
pembilang = pbl;
penyebut = pyb;
}
//main class
Rasional R1 = new Rasional(1, 2);
4. Instance method sama halnya dengan instance objek yang telah kita ketahui yakni
jika dipanggil, dia akan memanggil/mengakses data yang terdapat pada instan
yang dikaitkannya. Dengan kata lain instance method adalah method yang hanya
mengubah object itu sendiri.