Uploaded by User11526

M3 Forum 3.3

advertisement
1. Perhatikan Materi pdf M3 KB3 Pemrograman Berorientasi Objek, pada halaman 6 hasileksekusi
koding program, jumlah = 59. Kenapa hasilnya adalah 59, padahal dalam superclass x=10, y=20 dan
dalam subclass x=5, dan y=4?
class A {
int x;
int y;
void TampilkanNilaixy() {
System.out.println(“nilai x: “ + x + “, y : “ + y);
}
}
class B extend A {
int z;
void TampilkanJumlah() {
//subclass dapat mengakses member dari superclass
System.out.println(“Jumlah : “ + (x+y+z);
}
}
class DemoInheritance {
public static void main(String[] args) {
A superOb = new A();
B subOb = new B();
System.out.println(“SuperClass”);
//member superclass dapat diakses dari subclassnya
subOb.x = 5;
subOb.y = 4;
subOb.TampilkanNilaixy();
//member tambahan yang hanya ada pada subclass
subOb.z = 5;
subOb.TampilkanJumlah();
}
}
SuperClass
Nilai x : 10, y : 20
Sub Class x : 5, y : 4
Jumlah : 59
Dari potongan kode program tersebut, jika ditelaah
superclass
x (10), y (20).
Subclass
z=20, maka masuk dalam rumus (10+20+20). kemudian pada class DemoInheritance memanggil
superclass Tampilkan Jumlah (x+y), (4+5). kemudian outputnya adalah subOb.TampilkanJumlah()
(4+5+50)= 59
2. Apabila objek yang diberikan adalah rumah, maka bagaimana cara menjelaskan atribut dan
method dari objek rumah tersebut? Bagaimana cara menganalogikan inheritance dan encasulaption
yang terjadi pada objek rumah tersebut?
Rumah
Atribut nya berupa : dinding bangunan sudah permanen, lantai sudah keramik, dan beratapkan
genting
Method nya bisa berupa : tempat berlindung dan beristirahan, tempat untuk kembali setelah
beraktivitas
Objek
Encapsulation
Inheritance
Rumah Johan
Kamar Mandi
Kamar Tidur
Bak mandi
Kasur
Gayung
Bantal
Sabun
Ruang Tamu
Meja
Kursi
Dapur
Kompor gas
Tabung gas
Panci
Sikat
Inheritance atau yang biasa disebut pewarisan adalah konsep pemrograman dimana sebuah class
dapat mempunyai class turunan. Sedangkan Encapsulation adalah pembungkus, encapsulation pada
object oriented maksudnya adalah membungkus class dan menjaga apa apa saja yang ada didalam
class tersebut, baik method ataupun atribut, agar tidak dapat di akses oleh class lainnya.
Objek rumah dimana pembungkus class nya ada pada bagian kamar mandi, kamar tidur, ruang tamu,
dan dapur. Tiap bagian dapat memiliki turunanya sesuai dengan pembungkus classnya, misalnya
dikamar tidur ada kasur dan bantal
3. Perhatikan kode program berikut:
public class Scope {
public static void main(String[] args) {
int x = 10; int a = 4;
System.out.println("Variabel a = " + a);
{
int y = 5;
System.out.println("Nilai x = " + x);
System.out.println("Nilai a = " + a);
{
int z = 20;
System.out.println("Nilai x+y+z+a = " + (x + y + z + a));
}
z = 11;
System.out.println("Nilai y = " + y);
}
y = 12;
System.out.println("Nilai x = " + x);
}
}
Kode program di atas apabila dijalankan akan terjadi error pada bagian z = 11 dan/atau y = 12
(perhatikan yang berwarna merah). Namun ketika kedua bagian tersebut tidak diaktifkan (diberi
komentar atau //), kode program tersebut dapat dieksekusi dan tidak terdapat error. Berikan
pendapat Bapak/Ibu, kenapa hal tersebut dapat terjadi?
Variable z = 11 dan y = 12 tidak deskripsikan tipe datanya sehingga mengganggu jalannya program.
Download