Anda di halaman 1dari 3

TUGAS 4 Persiapan ETS

Pemrograman Berorientasi Objek


SIFAT TUGAS : MANDIRI
BATAS PENGUMPULAN : 18 Nopember 2020
CARA Pengumpulan : Di upload di MyITS Classroom
File dalam format pdf dengan aturan penamaan : Tugas 4 PBO XXX <xxx tiga digit terakhir nrp>

Catatan : Nomor 1 s.d 3 dikerjakan secara tertulis, sedangkan nomor 4 s.d 5 dikerjakan dengan
bantuan NetBeans

1. Jawablah pertanyaan-pertanyaan berikut secara jelas!


a. Jelaskan konsep encapsulation pada pemrograman berorientasi objek?
b. Apa perbedaan antara kosntruktor dan method?
c. Bagaimana subclass memanggil konstruktor dari superclass?
d. Jelaskan perbedaan antara method overloading and method overriding?

2. Perhatikan listing program berikut. Terangkan langkah demi langkah sehingga


menghasilkan keluaran yang benar
package uts_2017; class E1 {
public class UTS_2017 { protected int a;
public static void main(String[] args) { public E1(int x) { a = x; }
// TODO code application logic here public int getA() { return a; }
E2 obj = new E2(12); public int f(int x) { return x+a; } }
System.out.println(obj.getA() + ", " + obj.f(34));
} } class E2 extends E1 {
protected int a;
public E2(int y) { super(y+100); }
public int getA() { return a; } }

3. Perhatikan listing program berikut. Terangkan langkah demi langkah sehingga


menghasilkan keluaran yang benar.

1
Wednesday, October 18, 2017
package soal2;
public class SOAL2 {
public static void main(String[] args) {
Hewan hewan1 = new kucing();
System.out.println("Nilai x = " + hewan1.x);
hewan1.suara();
anjing dog = new anjing();
System.out.println("Nilai x = " + dog.x);
dog.suara(dog);
Hewan hewan2 = new anjing();
System.out.println("Nilai x = " + hewan2.x);
hewan2.suara();
} }
class Hewan{
int x = 0;
public void suara() { System.out.println("DIAAM"); } }

class kucing extends Hewan {


int x = 10;
public void info() { System.out.println( "Meoow...."); } }

class anjing extends Hewan {


int x = 7;
public void suara() { System.out.println( "Woof......"); }
public void suara(anjing dog) {System.out.println( "Woof woof......"); }
}

4. Lengkapi listing program berikut:

public class UTS_No4 {


public static void main(String[] args) {
...................................... // menciptakan objek Rasional bernama K tanpa argumen
Rasional K1 = new Rasional(2.0,4.0);
Rasional K2 = new Rasional(7.0,3.0);
K1.info();
.................................... // objek K1 menjalankan method kali, argumen K2
} }

class Rasional {
private int pembilang;
private int penyebut;
public Rasional (){ System.out.println("Konstruktor default"); }
public Rasional (int p,int q) { pembilang=p; penyebut=q; }

............................... //Method getPemb untuk mengambil data pembilang


.............................. //Method getPeny untuk mengambil data penyebut
.............................. //Method bernama Info untuk mencetak nilai pembilang dan penyebut

public void Kali (Rasional Bil) {


…........................................ // menghitung hasil perkalian antara objek yang //
//memanggil dengan objek Bil
................................................ //cetak hasil perkaliannya
} }

2
Wednesday, October 18, 2017
5. Perhatikan diagram UML berikut ni :

Titik2D
-x:int = 0
-y:int = 0
+Titik2D() Titik3D
+Titik2D(x:int, y:int) -z:int = 0
getX(): int +Titik3D()
setX(x:int): void +Titik3D(x:int, y:int,z:int)
getY(): int getZ(): int
setY(yint): void setZ(x:int): void
info():void info():void

a. Sesuai UML Diagram di atas, buatlah class Titik2D dan Titik3D


b. Gunakan class Titik2D dan Titik3D dengan potongan program berikut ini , dan tulislah hasil
eksekusi programnya.
public class UTSNo2 {
public static void main(String[] args) {
Titik2D p2a = new Titik2D();
p2a.setX(3); p2a.setY(4);
p2a.info;
Titik2D p2b = new Titik2D(1, 2);
p2b.info;

Titikt3D p3b = new Titik3D(11, 12, 13);


p3b.info;
} }

3
Wednesday, October 18, 2017

Anda mungkin juga menyukai