Anda di halaman 1dari 6

LEMBAR KERJA MAHASISWA

Nama:
NIM:
KELAS:

Tujuan: Mahasiswa mampu memahami daan membuat program pewarisan dalam bahasa java
Materi:
1. Definisi Pewarisan
2. Cara mewariskan Kelas
3. Penentu akses protected
4. Memanggil Metode Superkelas
5. Memanggil Konstruktor Superkelas
6. Penentu Akses final
7. Objek dalam kelas
8. Penentu Abstract
9. Ikatan dinamis pada variabel bertipe Kelas
10. Argumen Baris Perintah
1. Definisi Pewarisam: Konsep dalam OOP yang membuat suatu kelas dengan didasarkan
pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya
Tulis dan Perhatikan program 1 dibawah ini
//Nama Berkas: Alpha.java
class Alpha {
private int a = 5;
public void info() {
System.out.println("a = " + a);
System.out.println("Dipanggil pada " +
this.getClass().getName());
}
}
Kelas Alpha memiliki sebuah vaiabel instan a dan sebuah metode yaitu:info()
Agar diperhatikan: this.getClass().getName() merupakan ekpresi untuk memperoleh nama
Kelas
Jawablah Pertanyaan 1 berikut:
a. Apa hasil dari program di atas?............................
b. Jika belum ada hasilnya jelaskan secara singkat kenapa program masih error?..
c. Jelaskan tujuan dari Public void info():.........................
d. Apa arti ekpresi: this.getClass().getName:...................................

Jawaban :
c. public static void main(String[] args) adalah

fungsi main dimana public pada bagian ini berarti


bahwa metode-metode dapat dipanggil didalam dan juga diluar kelas.
static sendiri berarti sama untuk seluruh instant dari kelas dan
void sendiri berarti bahwa metode tidak akan mengirim apapun setelah
selesainya.
Fungsi main ini berisi argument yang diambil dari ruang eksekusi.
d. this.getClass().getName() merupakan ekspresi untuk memperoleh nama kelas.
Berdasarkan kelas Alpha bias dibuat kelas baru, misalkan bernama Bravo. Kelas
turunan ini secara prinsip dapat dibuat dengan menggunakan bentuk :

Berdasarkan kelas Alpha, kita bisa membuat kelas baru, misal Bravo, kelas turunan ini secara
prinsib bisa ditulis:
Class KelasTurunan extents KelasDasar{
Tubuh Kelas
}
Pada bentuk diatas:
Kelas turunan menyatakan kelas turunan yang akan dibuat berdasarkan sebuah kelas
dasar
KelasDasar yang terletak sesuadah kata kunci extends menyatakan superkelas
Tulis program2 kelas bravo di bawah ini
// Berkas: Bravo.java
class Bravo extends Alpha {
private int b = 7;
public static void main(String[] args) {
Bravo obj = new Bravo();
obj.info();
}
}
Jawablah Pertanyaan 2 berikut:
a. Apa hasil dari program kelas bravo?...............
b. Jelaskan maksud ekpresi extends?..............
c. Jelaskan kasud Brovo obj=new Bravo?.......
d. Apa maksud ekpresi obj.info()?...........
Jawaban :
b. extends
Keyword yang digunakan bila terjadi pewarisan, kelas yang mewariskan method dan
attributenya disebut kelas super, sedangkan yang diwariskan disebut subkelas.

C & D. Kelas Bravo merupakan kelas turunan dari superkelas Alpha dan

memiliki variable instan tambahan berupa b. di dalam main() dideklarasikan


variable obj yang merujuk ke objek berkelas Bravo. Mengingat kelas Bravo juga
memiliki metode info().

2. Penentu Akses Protected


Untuk memahami Penentu akses proctected tulislah program di bawah ini:
// Berkas: Charlie.java
class Charlie {
private
int a = 5;
protected int b = 7;
public void info() {
System.out.println("Dipanggil pada " +
this.getClass().getName());
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
Pada program diatas, b dideklarasikan sebagai variabel yang bersifat procteted

Setelah membuat program kompilasikan, dan selanjutnya buatkan program ini selanjutnya
// Berkas: Delta.java
class Delta extends Charlie {
private int c = 9;
public void info() {
System.out.println("Dipanggil pada " +
this.getClass().getName());
System.out.println("b = " + b);
System.out.println("c = " + c);
}
}
Jawablah Pertanyaan 3:
a. Jika di kompilasi terdapat error, coba benahi errornya?
b. Jelaskan arti ekpresi private
int a = 5;?
c. Jelaskan arti ekpresi protected int b = 7;?
d. Jelaskan kesimpulan apa yang di dapat dari program Delta dan charlie?
Jawaban :
b. Private adalah kode yang sesuai dengan namanya, akses ini bersifat private.
dengan kata lain data maupun method hanya dapat diakses oleh kelas yang
dimilikinya saja.
c. Protected adalah kode akses yang membuat suatu data atau method yang
didefinisikan dengan tingkatan akses ini dapat diakses oleh kelas yang

memilikinya saja dan juga kelas-kelas yang memasih memiliki keturunan atau
Encapsulation data

Program penggunaan objek berkelas charlie dan Detlta untuk penentu protec
// Berkas: PenentuProtec.java
class PenentuProtec {
public static void main(String[] args) {
Charlie objX = new Charlie();
objX.info();
Delta objY = new Delta();
objY.info();
}
}
Jawablah Pertanyaan 4:
a. Apa hasil dari program penentuProtectec.java
b. Jelaskan dari ekresi berikut ini:
Charlie objX = new Charlie();
objX.info();
Delta objY = new Delta();
objY.info();

3. Memanggil Metode SuperKelas


Adakalanya memanggil metode superkelas dari subkelas
Java menyediakan kata kunci super yang berarti superkelas
Jalankan program dibawah:
// Berkas: Echo.java
class Echo extends Charlie {
private int c = 9;
public void info() {
super.info(); // Panggil metode kelas dasar
System.out.println("c = " + c);
}
}
Program dibawah yang dapat menggunakan kelas echo di atas:
// Berkas: Superkelas.java
class Superkelas {

public static void main(String[] args) {


Echo obj = new Echo();
obj.info();
}
}
Pada program superkelas tidak mengandung konstruktor
Bagaimana kalau superkelas memiliki konstruktor?
Bagaimaan caranya kalau subkelas hendak memanggil konstruktor?................
Masih bingung........????
Jawabanya menggunakan katakunci super
super(argumen1, argumen2,...);
wis ni contoh programnya.......
// Berkas: KonstruktorSuperkelas.java
class Orang {
private String nama;
private int usia;
// Konstruktor
public Orang(String nama, int usia) {
this.nama = nama;
this.usia = usia;
}
// Metode
public void info () {
System.out.println("Nama : " + this.nama);
System.out.println("Usia : " + this.usia);
}
} // Akhir kelas Orang
Selanjutnya tulis dan jalankan program di bawah ini:
class Pegawai extends Orang {
private String noPegawai;
// Konstruktor
public Pegawai(String noPegawai, String nama,
int usia) {
super(nama, usia);
this.noPegawai = noPegawai;
}
// Metode
public void info () {
System.out.println("No. Pegawai : " +
this.noPegawai);
super.info();
}
} // Akhir kelas Pegawai
public class KonstruktorSuperkelas {

public static void main(String[] args) {


Pegawai programmer1 = new Pegawai(
"123456", "Edi", 23);
programmer1.info();
}
}
Jawablah pertanyaan Berikut:
a. Apa hasil dari program di atas?
b. Jelaskan maksud superkelas?
c. Di ekpresi mana yang masuk dalam konstruktor?
b. Pengertian dari superclass adalah class yang mewariskan atribut dan
methodnya ke subclass

c. Pengertian Konstruktor
Konstruktor (construct) adalah sebuah method yang secara otomatis akan dijalankan
ketika object dibuat (instansiasi). yaitu pada saat perintah new dijalankan.
Biasanya konstruktor digunakan untuk memberikan nilai awal pada sebuah objek.
seperti pemberian nilai pada property atau pemanggilan method internal (method
dalam class yang sama).

Penggunaan Konstruktor
class NamaKelas {
NamaKelas() {
// Lakukan Sesuatu
}
}

membuat construct sama halnya dengan membuat method biasa akan tetapi nama method
harus sama dengan nama kelas.

(note: Jawaban ditulis tangan dan di kumpulkan sebelum UAS)

Anda mungkin juga menyukai