Multiple Choice and True / False
Multiple Choice and True / False
Multiple Choice and True / False
NIM : 20050974055
Kelas : PTI 2020 A
Mata Kuliah : Pemrograman Berbasis Obyek
private int x;
private double y;
x = a;
y = b;
Algorithm Workbench
1. Design a class named Pet, which should have the following attributes:
name. The name attribute holds the name of a pet.
animal. The animal attribute holds the type of animal that a pet is. Example
values are “Dog”, “Cat”, and “Bird”.
age. The age attribute holds the pet’s age.
The Pet class should also have the following methods:
setName. The setName method stores a value in the name attribute.
setAnimal. The setAnimal method stores a value in the animal attribute.
setAge. The setAge method stores a value in the age attribute.
getName. The getName method returns the value of the name attribute.
getAnimal. The getAnimal method returns the value of the animal attribute.
getAge. The getAge method returns the value of the age attribute.
a. Draw a UML diagram of the class. Be sure to include notation showing
each attribute’s and method’s access specification and data type. Also
include nota tion showing any method parameters and their data types.
b. Write the Java code for the Pet class.
Jawab :
Pet
#name: string
#age: double
A. UML
+Pet ()
+Pet
(name:string,age:double)
+setName(string : name) :
void
+setAge (age : double ) :
void
+getName () : string
+getAge () : double
+print (out : ostream
&=cout) : void
+read (fin:ifstream&) :
void
+~ Pet ()
#lives : int
+Cat () + Dog ()
+ Bird ()
+Cat (name : string, + Dog ( name : string,
+ Bird ( name : string,
age : double, age : double)
age : double)
lives;int=9) +getDogYears () :
+getBirdYears () :
+setLives() : int double
double +getLives () : int + print (out:ostream
+ print (out:ostream +print (out:ostream &=cout) : void
&=cout) : void &=cout) : void + read
+ read +read (fin:ifstream &) :
(fin:ifstream&) : void
(fin:ifstream&) : void void
B. Program
import java.util.Scanner;
public class PetMaker {
public static void main(String[] args) {
// Make a pet object
Pet myPet = new Pet ("Fido", "Dog", 23);
// Output the pet details
System.out.println(myPet.getName() + " " + myPet.getType() + " " +
Integer.toString(myPet.getAge()));
// Get user input and change the pet details to this
Scanner myScanner = new Scanner(System.in);
System.out.println("Pet name:");
myPet.setName(myScanner.next());
System.out.println("Pet type:");
myPet.setType(myScanner.next());
System.out.println("Pet age:");
myPet.setAge(myScanner.nextInt());
// Output the pet details
System.out.println(myPet.getName() + " " + myPet.getType() + " " +
Integer.toString(myPet.getAge()));
}
}
2. Look at the following partial class definition, and then respond to the questions that
follow it.
public class Book {
a. Write a constructor for this class. The constructor should accept an argument
for each of the fields.
b. Write accessor and mutator methods for each field.
c. Draw a UML diagram for the class, including the methods you have written.
Jawaban :
A) Constructor
public Book(String t, String ath , String pub, int copies)
{
title=t;
author=ath;
publisher=pub;
copiesSold=copies;
}
B) Accessor
public void setTitle(String t)
{
title = t;
}
public void setAuthor(String a)
{
author = a;
}
public void setPublisher(String p)
{
publisher = p;
}
public void setCopiesSold(int c)
{
copiesSold = c;
}
public String getTitle()
{
return title;
}
public String getAuthor()
{
retrun author;
}
public String getPubhliser()
{
return publisher;
}
public int getCopiesSold()
{
return copiesSold;
}
C) UML
Book
#title : string
#copySold : int
+Book ()
+ Book ( title : string, copySold :
int )
+setTitle ( title : string): void
+setCopySold (copySold : int) :
void
+getTitle () : string
+getCopySold () : int
+print (out : ostream &=cout) :
void
+read (fin:ifstream&) : void
+~ Book
novel komik
#author #author
#publisher #publisher
+ Novel () + Komik ()
+ Novel ( title : string, + Komik ( title : string,
copySold : int) copySold : int)
+getAuthor () : string +getAuthor () : string
+getPublisher () : string +getPublisher () : string
+ print (out:ostream &=cout) : void + print (out:ostream &=cout) : void
+ read (fin:ifstream&) : void + read (fin:ifstream&) : void
3. Look at the following description of a problem domain:
The bank offers the following types of accounts to its customers: savings accounts,
checking accounts, and money market accounts. Customers are allowed to deposit
money into an account (thereby increasing its balance), withdraw money from an
account (thereby decreasing its balance), and earn interest on the account. Each
account has an interest rate. Assume that you are writing an application that will
calculate the amount of interest earned for a bank account.
B). Satu-satunya kelas yang diperlukan untuk masalah khusus ini adalah Akun.
Pada tahap ini kami melakukan penyempurnaan lebih lanjut, jadi kami
eliminasi bank, karena kami tidak diserahkan oleh bank itu sendiri untuk
menyelesaikan masalah yang disediakan. Uang, karena kami tidak akan
memproses informasi apa pun yang terkait dengan uang itu sendiri.
Balance, mewakili atribut akun dan bukan kelas dengan sendirinya dan s
bhama untuk tingkat bunga.
Meninggalkan kami dengan, {Account, Customer}
Short Answer
1. What are rules that must be followed when using a constructor?
Answer :
• Konstruktor tidak memiliki tipe return.
• Nama konstruktorsama dengan nama kelas.
• Konstruktor tidak boleh abstrak, final, statis, dan sinkron.
• Anda dapat menggunakan penentu akses public, protected & private dengan
konstruktor.
2. A contractor uses a blueprint to build a set of identical houses. Are classes analogous to
the blueprint or the houses?
Answer : The blueprint/cetak biru
3. What is an uninitialized reference variable?
Answer : Di Java, variabel yang tidak diinisialisasi tidak dapat direferensikan. Ini
diberlakukan oleh compiler dan verifier bytecode.
4. Is it a good idea to make fields private? Why or why not?
Answer : Why not. Karena ketika bidang objek disembunyikan dari kode luar,
bidang/field dilindungi dari kerusakan yang tidak disengaja. Sebaiknya jadikan semua
class’s fields menjadi private dan berikan akses ke bidang tersebut melalui methods.
5. If a class has a private field, what has access to the field?
Answer : Methods yang menjadi anggota kelas yang sama dapat mengakses private fields
kelas.
6. What is the purpose of the new key word?
Answer : Keyword baru di Java digunakan untuk membuat instance kelas. Dengan kata
lain, ini membuat instance kelas dengan mengalokasikan memori untuk objek baru dan
mengembalikan referensi ke memori tersebut. Kita juga bisa menggunakan keyword baru
untuk membuat objek array.
7. Assume a program named MailList.java is stored in the DataBase folder on your hard
drive. The program creates objects of the Customer and Account classes. Describe the
steps that the compiler goes through in locating and compiling the Customer and
Account classes.
Answer : MailList.java disimpan di folder Data Base di hard drive kemudian compiler
dengan melakukan fungsi
8. Differentiate between an accessor and a mutator method!
Answer : Accessor adalah getter (pengambil), metode kelas yang digunakan untuk
membaca anggota data, sedangkan mutator adalah setter (pengatur), metode kelas yang
digunakan untuk mengubah anggota data serta mempunyai value return/nilai balik.
Accessor method istilahnya yaah dia berarti method yang berfungsi
mengambil/memanggil data. Mutator method istilahnya, berarti dia method yang
berfungsi memodifikasi/set data serta tidak menghasilkan return value.
9. Why are constructors useful for performing “start-up” operations?
Answer : Karena konstruktor mengeksekusi saat sebuah objek dibuat.
10. Why are primitive data types called primitive?
Answer : Dalam ilmu komputer, primitif adalah tipe data fundamental yang tidak dapat
dipecah menjadi tipe data yang lebih sederhana. Misalnya, integer adalah tipe data
primitif, sedangkan array, yang bisa menyimpan banyak tipe data, tidak.
11. How will changes made to a parameter variable affect an argument?
Answer : Ketika kita tidak secara eksplisit mendefinisikan konstruktor untuk kelas, maka
java membuat konstruktor default untuk kelas tersebut.
12. Under what circumstances does Java automatically provide a default constructor for a
class?
Answer : Saat kita tidak secara eksplisit mendefinisikan konstruktor untuk kelas maka,
java membuat konstruktor default untuk kelas tersebut
13. Define the scope for local variables, fields and parameter variables.
Answer : Cakupan dari variabel lokal dimulai dari posisi variabel tersebut dideklarasikan
sampai dengan akhir dari blok method yang ditandai dengan closing brace. Cakupan dari
parameter variabel mencakup keseluruhan method