Multiple Choice and True / False

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

Nama : Alda Agustina Sari

NIM : 20050974055
Kelas : PTI 2020 A
Mata Kuliah : Pemrograman Berbasis Obyek

Multiple Choice and True / False


1. When this acces specifier is applied to a class member, the member cannot be accessed
by code outside the class. What is this access specifier?
Answer : b. private
2. A class is analogous to a
Answer : b. House
3. An object is a(n)
Answer : d. Instance
4. This is a member of a class that holds data
Answer : c. Field
5. UML stands for
Answer : c. Unified Modeling Language
6. This key word causes a value to be sent back from a method to the statement that called
it.
Answer : c. Value
7. This is a method that gets a value from a class’s field, but does not change it.
Answer : a. Accesor
8. This is a method that stores a value in a field or in some other way changes the value of a
field.
Answer : d. Mutator
9. When the value of an item is dependent on other data, and that item is not updated when
the other data is changed, what has the value become?
Answer : Stale
10. This method of a class does not have any return type—not even void.
Answer : d. Constructor
11. When a local variable has the same name as a field, the local variable’s name does this to
the field’s name.
Answer : a. Shadows
12. If you do not write a constructor for a class, this is automatically provided for the
class.
Answer : c. Default Constructor
13. String and System classes are part of this package.
Answer : c. Java.lang
14. True or False: The occurrence of a string literal in a Java program causes a String
object to be created in memory, initialized with the string literal.
Answer : True
15. True or False: When passing an argument to a method, the argument’s data type must
be compatible with the parameter variable’s data type.
Answer : True
16. True or False: When passing multiple arguments to a method, the order in which the
arguments are passed is not important.
Answer : False
17. True or False: Each instance of a class has its own set of instance fields.
Answer : True
18. True or False: When you write a constructor for a class, it still has the default con-
structor that Java automatically provides.
Answer : False
19. True or False: To find the classes needed for an object-oriented application, you iden-
tify all of the verbs in a description of the problem domain.
Answer : False

Find the error

1. Find the error in the following class.


public class MyClass {

private int x;

private double y;

public void MyClass(int a, double b) {

x = a;

y = b;

Jawab : contruktor tidak dapat memiliki type pengembalian , bahkan tidak


pengembaliam void.
2. Assume that the following method is a member of a class. Find the error.
public void total(int value1, value2, value3) {
return value1 + value2 + value3;
}
Jawab : Program tersebut eror karena variable value2 dan value3 tidak disertakan tipe
datanya, seharusnya setiap menambahkan variable harus disertakan dengan tipe datasnya
misalnya int, double, float.

3. The following statement attempts to create a Rectangle object. Find


the error. Rectangle box = new Rectangle;
Jawab : Yang membuat error pada pernyataan tersebut yaitu seharusnya
setelah pernyataan Rectangle box = new Rectangle(); disertai dengan ()
tapi pernyataan diatas tidak menyertakan tanda ().

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 ()

Bird Cat Dog

#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()));
}
}

public class Pet {


// Initialisations
String name;
String type;
int age;
// Constructor
Pet (String name, String type, int age) {
this.name = name;
this.type = type;
this.age = age;
}
// Accessors & Mutators
public String getName () {
return name;
}
public void setName (String name){
this.name = name;
}
public String getType () {
return type;
}
public void setType (String type){
this.type = type;
}
public int getAge () {
return age;
}

public void setAge (int age){


this.age = age;
}
}

2. Look at the following partial class definition, and then respond to the questions that
follow it.
public class Book {

private String title;

private String author;

private String publisher;

private int copiesSold;

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.

a. Identify the potential classes in this problem domain.


b. Refine the list to include only the necessary class or classes for this
problem.
c. Identify the responsibilities of the class or classes.
Jawab :
A). Untuk menjawab bagian a, kita harus menemukan semua kata benda yang
mungkin mewakili kelas, memproduksi,
{Bank, rekening, pelanggan, rekening tabungan, rekening giro, rekening pasar
uang, uang, saldo, bunga, suku bunga}

Sekarang kami melakukan perbaikan dasar dengan menghilangkan nama yang


mewakili entitas yang sama, seperti,
{rekening tabungan, rekening giro, rekening pasar uang} semuanya merupakan
Rekening sehingga dihilangkan dan hanya tersisa satu yaitu Rekening,
Juga baik {bunga, suku bunga} mewakili hal yang sama jadi kami menyimpan
satu yang merupakan tingkat bunga.
Meninggalkan kami dengan daftar berikut,
{bank, rekening, pelanggan, uang, saldo, suku bunga}

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}

C)-Kelas akun harus mengetahui saldo dan tingkat bunganya.


-Kelas Akun harus mampu menangani penyetoran dan penarikan dan
menghitung bunga yang diperoleh. Kemampuan terakhir inilah, menghitung
bunga yang diperoleh, yang akan digunakan aplikasi ini.
- Akun: menyimpan informasi tentang akun, dan juga menghubungkan operasi
pada data ini, seperti penarikan, penyetoran, penyetel, pengambil, ... dll.
- Pelanggan: menyimpan informasi tentang pelanggan itu sendiri, misalnya,
nama, alamat, usia, ... dll. Dan juga menyediakan penyetel, pengambil, dan
operasi lainnya.

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

You might also like