UTS - Fadhlan Bariqi 2044190015 S1 INF - Pemrograman Berorientasi Objek (PBO) - Semester 3
UTS - Fadhlan Bariqi 2044190015 S1 INF - Pemrograman Berorientasi Objek (PBO) - Semester 3
UTS
SOAL UJIAN
class Bank
1 package thebank;
2
3 public class Bank {
4 protected String nmrRekening;
5 protected String nama;
6 private double saldo;
7
8 public Bank(String nmrRekening, String nama, double saldo) {
9 nmrRekening = nmrRekening;
10 nama = nama;
11 saldo = saldo;
12 }
14 public Bank(String nmrRekening, double saldo, String nama) {
15 nmrRekening = nmrRekening;
16 saldo = saldo;
17 nama =nama;
18 }
19 }
Class MyBank
Soal
1) [10%] Sebutkan apa yang kurang pada file MyBank.java tersebut agar baris ke-3 dari
class MyBank tidak ada pesan kesalahan?
Jawaban : kurang menambahkan parameter dan menambahkan kata kunci this. Jadi
terkena variable shadowing maka terjadi error pada baris ke 3 di class MyBank.
Setelah diperbaiki di class Bank dan class MyBank :
Class Bank :
Class MyBank :
2) [10%] Class mana sajakah yang dapat mengakses secara langsung field protected
String nmrRekening dan protected String nama pada class Bank tersebut?
Jawaban : yang dapat mengakses diturunan nya dan di package yang sama, yaitu
class Bank nya sendiri juga dapat mengakses
3) [40%] Untuk dapat mengubah dan memanggil field private double saldo pada class
Bank tersebut di atas, apa yang harus dilakukan? Tuliskan Kode nya!
Jawaban :
Class bank :
Class MyBank :
4) [10%] Pada baris ke-3 class MyBank terdapat instansiasi objek dengan memanggil
constructor pada class Bank. Pada baris berapa constructor tersebut berada?
Jawaban : setelah ditambah method/syntax mengubah field private saldo, maka
constructor pada class bank terdapat di baris 22 – 27
Class Bank :
5) [20%] Jelaskan apa yang terjadi pada baris ke-4 dan ke-5 pada class MyBank.
Bagaimana solusinya agar tetap dapat mendapatkan data nomor rekening dan
nama? Tuliskan kodenya!
Jawaban : harus menerapkan method overloading constructor
6) [10%] Periksalah constructor pada baris 8-12 dan baris 14-18 apakah terdapat
kesalahan atau tidak. Jika terjadi kesalahan maka tuliskan yang benar
Jawaban : sebelum diubah constructor pada baris 8-12 dan baris 14-18 terjadi
kesalahan yaitu variable shadowing karena parameter dan field dari kedua
constructor tersebut sama.
Maka untuk menghindari variable shadowing di antara constructor tersebut, harus
menambahkan kata kunci this. Seperti dibawah ini
CATATAN: Jawablah dengan singkat dan jelas. Segala bentuk plagiarisme akan
mendapatkan sanksi, baik berupa pengurangan nilai sampai dengan sanksi tidak
lulus. Kerjakan dengan teliti dan berusahalah untuk mengerjakan sendiri!