"Karena buku dan kata-kata adalah jendela segala rasa"
“Hiduplah seolah engkau mati besok. Belajarlah seolah engkau hidup selamanya”
"Perjalanan sejauh 1000 mil dimulai dengan 1 langkah"
 

AKSES TERHADAP KELAS DAN UNSUR PEWARISAN

Sabtu, 16 November 2013


AKSES TERHADAP KELAS DAN UNSUR PEWARISAN


1.   Tujuan

·   Memahami visibility
·   Memahami Pewarisan (Inheritance) ·   Memahami Antarmuka (interface)

2.   Dasar Teori

·   Visibility adalah cara bagaimana suatu data/atribut serta fungsi/metoda
       
yang dimiliki suatu kelas/objek dapat diakses dari kelas-kelas/bjek-objek
        lain. Contoh : public, private, protected, default

3.   Tugas Pendahuluan
1.   Sebutkan perbedaan public, private, protected dan default
2.   Apa yang dimaksud dengan pewarisan (inheritance) ? Berikan contoh


4.   Praktikum
Percobaan 1a. package Big_Cat; class Big_Cat

package bigCat;
// Kelas abstrak
public abstract class Big_Cat {
protected static String name;
                protected abstract void eat();
 }

// Kelas turunan
class Lion extends Big_Cat {
// Kostruktor untuk kelas Lion
public Lion (String  nameLion) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                Lion.name = nameLion;
 
}
// Implementasi metoda yang diwarisi dari kelas abstrak public void eat() {
System.out.println("Lion can eat meat.");

}
}

//Kelas turunan
class Tiger extends Big_Cat {
// Kostruktor untuk kelas Lion
public Tiger (String  nameTiger) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                Tiger.name = nameTiger;
}
// Implementasi metoda yang diwarisi dari kelas abstrak public void eat() {
System.out.println("Tiger can eat meat and drink milk.");
}
}

//Kelas turunan
class Cat extends Big_Cat {
// Kostruktor untuk kelas Lion
public Cat (String  nameCat) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                Cat.name = nameCat;
}
// Implementasi metoda yang diwarisi dari kelas abstrak public void eat() {
System.out.println("Cat can eat meat, drink milk, and sometimes
rice.");
}
}

Percobaan 1b. package bigCat class TestBigCat package bigCat;
public class TestBigCat {
public static void main(String[] args) {
// Memanfaatkan kelas Lion
Lion myLion = new Lion("Simba");
System.out.println("My lion is " + Lion.name); myLion.eat();

// Memanfaatkan kelas Tiger
Tiger myTiger = new Tiger("Harimau");
System.out.println("My tiger is " + Tiger.name); myTiger.eat();
// Memanfaatkan kelas Cat
Cat myCat = new Cat("Kucingku manis"); System.out.println("My cat is " + Cat.name); myCat.eat();
}
}
Percobaan 2a. package bigCatNoOverload class BigCatNoOverload
package bigCatNoOverload;
public class Big_Cat_NoOverload {
                protected static String name;
                protected void eat() {
System.out.println("Semua kucing besar makan daging!");
}
}
//Kelas turunan
class WildLion extends Big_Cat_NoOverload {
                // Kostruktor untuk kelas Lion
public WildLion (String  nameLion) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                WildLion.name = nameLion;
}
}

//Kelas turunan
class WildTiger extends Big_Cat_NoOverload {
                // Kostruktor untuk kelas Lion
public WildTiger (String  nameTiger) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                WildTiger.name = nameTiger;
}
}

//Kelas turunan
class WildCat extends Big_Cat_NoOverload {
                // Kostruktor untuk kelas Lion
public WildCat (String  nameCat) {
// Mengisi peubah yang diwarisi dari kelas abstrak
                WildCat.name = nameCat;
}
}

Percobaan 2b. package bigCatNoOverload class TestNoOverload package bigCatNoOverload;

public class Test_NoOverload {
public static void main(String[] args) {
// Memanfaatkan kelas Lion
WildLion myLion = new WildLion("Simba");
System.out.println("My lion is " + WildLion.name); myLion.eat();

// Memanfaatkan kelas Tiger
WildTiger myTiger = new WildTiger("Harimau");
System.out.println("My tiger is " + WildTiger.name); myTiger.eat();
// Memanfaatkan kelas Cat
WildCat myCat = new WildCat("Kucingku manis"); System.out.println("My cat is " + WildCat.name); myCat.eat();
}
}

Percobaan 3a. package KucingGarong class Coba_Akses1
package KucingGarong;
class Coba_Akses1 {
public static void main (String[] args) {
Kucing kucingku = new Kucing();
// Mengisi peubah instan.
kucingku.Isi_Identitas("Pussy", "Belang", 10);

// Menampilkan nama kucing melalui metoda.
System.out.println("Nama : " + kucingku.ambilNama());
// Menampilkan nama kucing lewat peubah.
System.out.println("Nama : " + kucingku.Nama);
}
}

Percobaan 3b. package KucingGarong class Kucing


package KucingGarong;
class Kucing {
String Nama;
String Warna;
int Berat;
// Metoda
void Isi_Identitas
(String namaKucing, String warnaKucing, int beratKucing) {
                Nama = namaKucing;
Warna = warnaKucing;
Berat = beratKucing;
}

String ambilNama() {
                return Nama;
}
String ambilWarna() {
return Warna;
}
int ambilBerat() {
return Berat;
}
}
Percobaan 4a. package MySweetyCat class Coba_Akses2 package MySweetyCat;
class Coba_Akses2 {
public static void main (String[] args) {
Kucingku_Manis kucingku = new Kucingku_Manis();

// Mengisi peubah instan.
kucingku.Isi_Identitas("Pussy", "Belang", 10);
// Menampilkan nama kucing melalui metoda.
System.out.println("Nama : " + kucingku.ambilNama());

// Menampilkan nama kucing lewat peubah.
System.out.println("Nama : " + kucingku.Nama);
}
}

Percobaan 4b. Package MySweetyCat class Kucingku_Manis
package MySweetyCat;
class Kucingku_Manis {
                String Nama;
private String Warna;
private int Berat;
// Metoda
void Isi_Identitas
(String namaKucing, String warnaKucing, int beratKucing) {
                Nama = namaKucing;
Warna = warnaKucing;
Berat = beratKucing;
}
String ambilNama() {
                return Nama;
}

String ambilWarna() {
                return Warna;
}
int ambilBerat() {
return Berat;
}
}
Percobaan 5a. package OrangIndonesia class OrangIndonesia package OrangIndonesia;
public class OrangIndonesia {
                protected String Nama;
                protected String Alamat;
                protected String Pekerjaan;
                public OrangIndonesia
(String nama, String alamat, String pekerjaan) {
                super();
Nama = nama;
Alamat = alamat;
Pekerjaan = pekerjaan;
}
public String getNama() {
                return Nama;
}
public String getAlamat() {
                return Alamat;
}
public String getPekerjaan() {
                return Pekerjaan;
}
}

class OrangBatak extends OrangIndonesia {
                private double Gaji;
public OrangBatak
(String nama, String alamat, String pekerjaan) {
                super(nama, alamat, pekerjaan);
}
public double getGaji() {
                return Gaji;
}
public void setGaji(double gaji) {
                Gaji = gaji;
}
}
class OrangJawa extends OrangIndonesia {
                private double Gaji;
public OrangJawa
(String nama, String alamat, String pekerjaan) {
                super(nama, alamat, pekerjaan);
}
public double getGaji() {
                return Gaji;
}
public void setGaji(double gaji) {
                Gaji = gaji;
}
}

class OrangSumba extends OrangIndonesia {
                private double Gaji;
public OrangSumba
(String nama, String alamat, String pekerjaan) {
                super(nama, alamat, pekerjaan);
}

public double getGaji() {
                return Gaji;
}
public void setGaji(double gaji) {
                Gaji = gaji;
}

// Overloading Metoda
public String hitungTHR (double persen){
if (persen > 0.5)
return "THR terlalu besar!";
else return "THR tahun ini sebesar " + persen * Gaji;
}
public String hitungTHR (int persen){
if (persen > 50) return "THR terlalu besar!"; else return "THR tahun ini sebesar " +
(persen * Gaji / 100);
}
}
Percobaan 5b. package OrangIndonesia class TestOrang package OrangIndonesia;
public class TestOrang {
public static void main(String[] args) {
OrangIndonesia oi = new OrangIndonesia ("Adi", "Bandung", "Dosen");
System.out.println("Nama : " + oi.getNama());
System.out.println("Alamat : " + oi.getAlamat()); System.out.println
("Pekerjaan : " + oi.getPekerjaan() + "\n");

OrangJawa oj = new OrangJawa ("Monovan", "Jogja", "Dosen");
System.out.println("Nama : " + oj.getNama());
System.out.println("Alamat : " + oj.getAlamat()); System.out.println
("Pekerjaan : " + oj.getPekerjaan() + "\n");

OrangBatak ob = new OrangBatak ("Irwan", "Medan", "Dosen"); ob.setGaji(2000000);
System.out.println("Nama : " + ob.getNama());
System.out.println("Alamat : " + ob.getAlamat());
System.out.println("Pekerjaan : " + ob.getPekerjaan()); System.out.println("Gaji : Rp " + ob.getGaji() + "\n");
OrangSumba os = new OrangSumba ("Rocky", "Sumba", "Dosen");
os.setGaji(2000000);
System.out.println("Nama : " + os.getNama());
System.out.println("Alamat : " + os.getAlamat());
System.out.println("Pekerjaan : " + os.getPekerjaan()); System.out.println("Gaji : Rp " + os.getGaji());
System.out.println
("Keterangan : " + os.hitungTHR(30) + "\n");

OrangSumba osw = new OrangSumba ("Inneke", "Sumba", "Dosen");
osw.setGaji(2000000);
System.out.println("Nama : " + osw.getNama());
System.out.println("Alamat : " + osw.getAlamat());
System.out.println("Pekerjaan : " + osw.getPekerjaan()); System.out.println("Gaji : Rp " + osw.getGaji());
System.out.println
("Keterangan : " + osw.hitungTHR(0.75) + "\n");
}
}
Percobaan 6a. package rumahAna
package rumahAna;
public interface Alamat {
public abstract void aturNama();
                public abstract void aturJalan ();
                public abstract void aturKota ();
 }


package rumahAna;
import rumahAna.Alamat;


public class Apartemen implements Alamat{
                public void aturKota() {
System.out.println("Pekalongan.");
}
public void aturJalan() {
System.out.println("Jln. Hasanudin No. 8.");
}
public void aturNama() {
System.out.println("Namaku : Ana Mariana");
}
}


package rumahAna;
public class RumahAna {
public static void main(String[] args) {
Apartemen rmhAna = new Apartemen(); rmhAna.aturNama();
rmhAna.aturJalan();
rmhAna.aturKota();
}
}
5.   Tugas Praktikum
1.   Definisikan dengan bahasa Anda sendiri , istilah-istilah berikut ini :
               
·   Class
·   Object
·   Instantiate
·   Instance Variable
·   Instance Method
·   Class Variables atau static member variables ·   Constructor

0 komentar:

Posting Komentar

My Followers

Search