Visitor

Sunday, December 15, 2013

Contoh Program JAVA dengan Inheritance dan Outputnya

# DOWNLOAD versi Lengkap DOC --> [DOWNLOAD] via 4shared.com 

A.    LATIHAN

Latihan 1
            Tuliskan ketiga class berikut dalam 3 file berbeda, jalankan!
class Pertama
{
private int a = 10;
protected void terprotek()
{
System.out.println("Method ini hanya untuk anaknya");
}

public void info()
{
System.out.println("a= "+a);
System.out.println("Dipanggil pada = "+this.getClass().getName());
}
}


class Kedua extends Pertama
{
private int b = 8;
protected void BacaSuper()
{
System.out.println("Nilai b = "+b);
terprotek();
info();
}
}


class TestPertamaKedua
{
public static void main (String[]args)
{
Kedua D2 = new Kedua();
D2. BacaSuper();
D2. info();

Pertama S1 = new Pertama();
S1. terprotek();
S1. info();
}
}

LATIHAN 2

Pada latihan 2 ini kita akan menggunakan keyword super untuk memanggil konstruktor dari kelas induk. Tuliskan ketiga class berikut dalam 3 file berbeda dan jelankan!
class Person
{
protected String name;
protected int age;

public Person(String name, int age)
{
this.name = name;
this.age  = age;
}

//metode
public void info()
{
System.out.println("Nama : "+this.name);
System.out.println("Age  : "+this.age);
}
//akhir kelas program
}

class Employ extends Person
{
private String noKaryawan;
//konstruktor
public Employ (String noKaryawan, String name, int age)
{
super (name, age);
this.noKaryawan = noKaryawan;
}

//metode
public void info()
{
System.out.println("No. Karyawan : "+this.noKaryawan);
super.info();
}
}


public class KonstruktorSuperKelas
{
public static void main (String[]args)
{
Employ programer1 = new Employ ("12345678", "Yanto", 32);
programer1.info();
}
}
Output :

LATIHAN 3
Tuliskan program berikut dan jalankan!
public class Hewan
{
public static void testClassMethod()
{
System.out.println("The Class Method in Hewan...");
}

public void testInstanceMethod()
{
System.out.println("The Intance Method in Hewan...");
}
}

//mengoverwrite method pada class hewan
public class Gajah extends Hewan
{
public static void testClassMethod()
        {
        System.out.println("The class method in Hewan...");
        }
//mengoverride method pada kelas Hewan
public void testInstancemethod()
        {
        System.out.println("The Instance method in Gajah...");
        }
       
public static void main (String[]args)
{
        Gajah myGajah=new Gajah();
        Hewan myHewan=myGajah;
        Hewan.testClassMethod();
        myHewan.testInstanceMethod();
}
}
Output :


LATIHAN 4
Tulis dan simpan code program berikut (perhatikan keyword super pada program)
class A
{
private int a;
public void setA(int nilai)
{
a = nilai;
}

public int getA()
{
return a;
}

public void tampilkanNilai()
{
System.out.println("Nilai a : "+getA());
}
}


class B extends A
{
private int b;
public void setB(int nilai)
{
b = nilai;
}

public int getB()
{
return b;
}

//melakukan override terhadap method tampilkanNilai()
//yang terdapat pada kelas A

public void tampilkanNilai()
{
super.tampilkanNilai(); //memanggil method dalam kelas A
System.out.println ("Nilai b : "+getB());
}
}


class DemoOverride2
{
public static void main (String[]args)
{
B obj = new B();
obj.setA(50);
obj.setB(150);
//akan memanggil method yang terdapat pada kelas B
obj.tampilkanNilai();
}
}

Output :



LATIHAN 5
Tulis dan simpan code program berikut, jalankan!

class Truck{
        //the truck class has three fields
        public int cadence;
        public int gear;
        public int speed;
       
        public void Truck(int startCadence, int startSpeed, int startGear){
            gear = startGear;
            cadence = startCadence;
            speed = startSpeed;
        }
       
        //the truck class has four methods
        public void setCadence(int newValue){
            cadence = newValue; }
       
        public void setGear(int newValue) {
            gear = newValue; }
           
        public void applyBrake(int decrement) {
            speed -= decrement; }
       
        public void speedUp(int increment) {
            speed += increment; }
}




public class MountainTruck extends Truck{
//the MountainTruck subclass adds one field
public int seatHeight;
       
//the MountainTruck subclass has one constructor
public void MountainTruck(int startHeight, int startCadence, int startSpeed, int startGear){
super.Truck(startHeight,startCadence,startGear);
seatHeight=startHeight;
}

//the MountainTruck subclass add one method
public void setHeight(int newValue) {
seatHeight = newValue;
}
       
public static void main(String[]abc){
System.out.println("Mulai Berjalan");
MountainTruck MB = new MountainTruck();
MB.MountainTruck(0,0,0,0);
System.out.println("gear = "+MB.gear);
System.out.println("speed = "+MB.speed);
MB.setGear(2);
MB.speedUp(2);
System.out.println("gear = "+MB.gear);
System.out.println("speed = "+MB.speed);
MB.speedUp(2);
System.out.println("gear = "+MB.gear);
System.out.println("speed = "+MB.speed);
}
}
Output :

Modifikasi class MountainTruck sedemikian sehingga mensimulasikan proses perjalanan sepeda dari possisi diam sampai berjalan normal, kemuadian diikuti dengan berjalan di tanjakan jalan, dilanjutkan lagi menuruni tanjakan dan diakhiri dengan berhenti. Code yang dihasilkan :

Source Code
public class MountainBike extends Truck {
      //the mountainBike subclass adds one field
      public int seatHeight;
      //the MountainBike subclass has one constructor
      public void MountainBike(int startHeight, int startCadence, int startSpeed, int startGear) {
            super.Truck(startHeight, startCadence, startGear);
            seatHeight = startHeight;
      }    
      //the MountainBike subclass adds one method
      public void setHeight(int newValue) {
            seatHeight = newValue;
      }
      public static void main(String[] abc) {
            System.out.println("Mulai Berjalan");
            MountainBike MB = new MountainBike();
            MB.MountainBike(0,0,0,0);
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
            MB.setGear(2);
            MB.speedUp(2);
            System.out.println("Berjalan normal");
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
            MB.speedUp(2);
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
            MB.setGear(1);
            MB.applyBrake(1);
            System.out.println("Berjalan di Tanjakan");
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
            MB.setGear(2);
            MB.speedUp(3);
            System.out.println("Berjalan Turun Tanjakan");
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
            MB.setGear(0);
            MB.applyBrake(6);
            System.out.println("Berhenti");
            System.out.println("gear = "+MB.gear);
            System.out.println("speed = "+MB.speed);
      }
}







B.     TUGAS PRAKTIKUM
program dengan membuat satu method pada kelas turunan yang meng-override method pada kelas induk menguji ciba fungsionalitas kedua method tersebut dengan class uji.
Syntac:
class Induk{
//mendefinisikan method test() tanpa parameter
public void test(){
System.out.println("Method di dalam kelas induk");}
}
_____________________________________________________________
 class Turunan extends Induk{
//melakukan overload terhadap method test(), bukan override
public void test(String s){
System.out.println("Method di dalam kelas turunan");
System.out.println("s :\"" + s + "\"");
}
}
_____________________________________________________________
class uji{
public static void main(String[]args){

Turunan uji = new Turunan();
uji.test();
uji.test("Mohammad Rizky Kurniawan");
}
}
Output :

C.     TUGAS RUMAH

1.        Buatlah sebuah program dengan menerapkan “inheritance” dalam kehidupan perkualiahan!
Contoh :
-          Induk : Fakultas
-          Anak  : Jurusan

Syntak:
Keterangan : Class Jurusan mempunyai dua methode yaitu cetakJurusan yang berfungsi untuk mencetak nama Jurusan yang dikirimkan lewat tesMain dan cetakKajur yang berfungsi untuk mencetak nama kajur.
class Fakultas
{
String nmFakultas="";
String nmKajur="";
void cetakFakultas(String namaFakultas)
{
nmFakultas=namaFakultas;
System.out.println("Nama Fakultas :" + nmFakultas);
}
void cetakKajur(String namaKajur)
{
nmKajur=namaKajur;
System.out.println("Nama Rektor :" + nmKajur);
}
}

Keterangan : Class Jurusan mempunyai dua methode yaitu cetakJurusan yang berfungsi untuk mencetak jumlah jurusan yang dikirimkan lewat tesMain dan cetakDosen yang berfungsi untuk mencetak jumlah dosen. Class Jurusan menuruni sifat yang dimiliki class induk Fakultas, yang statemennya ditunjukkan dengan class Jurusan extends Fakultas
class Jurusan extends Fakultas
{
int jurusan = 0;
int dosen = 0;

void cetakJurusan (int jmlJurusan)
{
jurusan = jmlJurusan;
System.out.println("Jumlah Jurusan:" + jurusan);
}

void cetakDosen(int jmlDosen)
{
dosen = jmlDosen;
System.out.println("JUmlah Dosen :" + dosen);
}
}

Keterangan :
Pada class tes
Main dilakukan instansiasi terhadap class jurusan yang ditunjukkan dengan statament Jurusan myjurusan = new jurusan();.

class TesMain
{
public static void main(String[] args)
{
Jurusan myjurusan = new Jurusan();
System.out.println("---------------------------") ;
myjurusan.cetakFakultas("Fakultas Teknik Universitas Malang");
myjurusan.cetakKajur("Bapak Slamet");
myjurusan.cetakJurusan(3);
myjurusan.cetakDosen(200);
System.out.println("---------------------------") ;
}
}
Output :


0 komentar

Post a Comment