Sabtu, 04 April 2015

LAPORAN PRAKTIKUM PBO


MODUL 4







Jatmiko Aji Nugroho
L200130002

Program Studi Informatika
Fakultas Komunikasi dan Informatika
Universitas Muhammadiyah Surakarta
2015

  A.   TUJUAN
        1.      Mahasiswa mampu  mebuat penurunan sifat suatu class.

  B.     LANDASAN TEORI
   Inheritance (pewarisan) adalah salah satu ciri utama dari PBO dan merupakan sifat yang sangat memudahkan bagi programmer untuk membuat dan mengatur program. Sepertihalnya dalam kehidupan riil, sifat anak pasti sangatlah mirip dengan sifat orang tuanya. Demikian juga pada kasus pemrograman. Suatu class yang diturunkan (inherited from) dari induknya (parent class) akan mewarisi semua sifat (variable dan fungsi) dari class induknya. Dengan inheritance anda tidak perlu membuat (mengimplementasikan) ulang suatu Class jika kita sudah memiliki Class lain yang serupa.

       C.    ALAT DAN BAHAN
              ·           Komputer
              ·         Netbeans
              ·         Modul praktikum Pemrograman Berorientasi Objek
       D.    PERCOBAAN PERTAMA
1.      Mengubah Method Aksesor pada kelas “Sepeda.java” menjadi protected
Cth :  protected void speedUp ( ) {
                }
 /**
 *
 * @author jatmiko
 */
public class sepeda {
    int cadance;
    int speed;
    int gear;
    
    void changeCadance (int newValue){
        cadance = newValue;
    }
    
    void changeGear (int newValue){
        gear = newValue;
    }
    
    protected void speedUp (int increment){
        speed = speed + increment;
    }
    
    void applyBreak (int decrement){
        speed = speed - decrement;
    }
    
    void printStates(){
        System.out.println("Speed = "+speed+", "+
        "Gear = "+gear+", "+"Cadance ="+cadance);
    }
}

2.      Menulis kode program seperti gambar dibawah ini

/**
 *
 * @author jatmiko
 */
public class MountainBike extends sepeda {
    static boolean compas = true;
    
    public static void main (String []args){
        MountainBike mountBike = new MountainBike();
        mountBike.speedUp(100);
        mountBike.changeGear(6);
        mountBike.changeCadance(9);
        mountBike.printStates();
        mountBike.lookCompas();
    }
    void lookCompas (){
        System.out.println("ada kompasnya ????" +compas);
    }
}

3.       Menyimpan dan menjalankanya


LATIHAN 
a.       Membuat kelas RoadBicycle.java yang mempunyai variable khusus yaitu diskBreak.
Static int diskBreak = 2;

/**
 *
 * @author jatmiko
 */
public class RoadBicycle extends sepeda {
    static int diskBrake = 2;
    
    public static void main (String []args){
        RoadBicycle roadBike = new RoadBicycle();
        roadBike.speedUp(200);
        roadBike.changeGear(6);
        roadBike.changeCadance(9);
        roadBike.printStates();
        roadBike.Rem();
    }
    void Rem (){
        System.out.println("Ada Disk Brakenya = "+diskBrake);
    }
}

b.      Menyimpan dan menjalankan dan amati hasilnya




c.       Membuat kelas TandemBike.java yang mempunyai variable khusus yaitu sadel.
  
  /**
 *
 * @author jatmiko
 */
public class TandemBike extends sepeda {
    static int sadel = 2;
    
    public static void main (String []args){
        TandemBike tanBike = new TandemBike();
        tanBike.speedUp(300);
        tanBike.changeGear(6);
        tanBike.changeCadance(9);
        tanBike.printStates();
        tanBike.sadel();
    }
    void sadel (){
        System.out.println("Ada Sadelnya = "+sadel);
    }
}

d.    Menyimpan dan menjalankan dan amati hasilnya


        E.    PERCOBAAN KEDUA
1.      Membuat class Orang.java  menuliskan kode program seperti dibawah ini
/**
 *
 * @author jatmiko
 */
public class Orang {
    private String nama;
    private int usia;
    
    public Orang(String nama, int usia){
        this.nama = nama;
        this.usia = usia;
    }
    //Method
    public void info (){
        System.out.println ("Nama : " +nama);
        System.out.println("Usia : " +usia);
    }
}

2.     Membuat kelas baru dengan nama Pegawai.java yang merupakan subclass dari Orang.java. menuliskan kode program seperti berikut ini
/**
 *
 * @author jatmiko
 */
public class Pegawai extends Orang {
    protected String noPegawai;
    
    public Pegawai (String noPegawai, String nama, int usia){
        super (nama, usia);
        this.noPegawai = noPegawai;
    }
    //Method
    public void info(){
         System.out.println("No.Pegawai : "+noPegawai);
         super.info();
    }
}   

3.    Membuat kelas baru AksesKonsSuperClass dengan fungsi main ( ), seperti gambar di bawah ini 
/**
 *
 * @author jatmiko
 */
public class AksesKonstSuperClass {
    public static void main (String []args){
        Pegawai karyawan = new Pegawai ("12345", "Mr Jatmiko", 21);
        karyawan.info();
    }
}

4.      Menyimpan file sesuai dengan nama kelas  menjalankanya


LATIHAN
a.  Membuat class “mahasiswaTi.java” yang merupakan turunan dari kelas orang dengan menampilkan nama, nim, usia dan konsentrasi jurusan
/**
 *
 * @author jatmiko
 */
public class mahasiswaTi extends Orang {
    protected String nim , jurusan;
    //protected String jurusan;
    
    public mahasiswaTi(String nim, String jurusan, String nama, int usia){
        super(nama, usia);
        this.jurusan = jurusan;
        this.nim = nim;
    }

   //Methods
    public void info(){
        System.out.println("Konsentrasi Jurusan : "+jurusan);
        System.out.println("NIM Mahasiswa : "+nim);
        super.info();
    }
}

b.  Kemudian membuat kelas AksesMahasiswaTi.java yang mempunyai fungsi main ( ), sebagai implementai dari kelas MahasiswaTi.java
/**
 *
 * @author jatmiko
 */
public class AksesMahasiswaTi {
    public static void main (String []args){
        mahasiswaTi mhs = new mahasiswaTi ("L200130002", "Rekayasa Perangkat Lunak","Jatmiko", 21 );
        mhs.info();
    }
}
c.       Menyimpan file sesuai dengan nama kelas dan menjalankannya

.
ANALISA : 
     Dari class mahasiswaTi.java merupakan turunan dari kelas orang.java. Kemudian mebuat kelas baru AksesMahasiswaTi.java untuk memanggil class mahasiswaTi,java


TUGAS 
1. Apakah setiap class yang dibuat dalam java wajib memiliki minimal satu buah konstruktor ?

    Setiap kelas harus memiliki setiap kostruktor  untuk mendeklarasikan sebuah objek
    
    Contoh :
    /**
 *
 * @author jatmiko
 */
public class Buku {
    String pengarang;
    String judul;
    int tahunTerbit;
   
     //membuat method
    public void infoBuku(){
        System.out.println("Judul Buku "+judul);
        System.out.println("pengarang "+pengarang);
        System.out.println("tahun terbit "+tahunTerbit);
        }
}

Hasilnya:




    2. Membuat class kucing2.java
        
 **
 *
 * @author jatmiko
 */
public class kucing2 {
    int kumis;
   
    public kucing2(int kumis){
        this.kumis = kumis;
    }

Hasil Edit class kucingRumahan.java

/**
 *
 * @author jatmiko
 */
public class kucingRumahan {
    protected int kumis;
   
    public kucingRumahan(int kumis){
        this.kumis= kumis;
    }
    void rawatKumis(){
        kumis--;
    }
    public void info(){
         System.out.println(+kumis);
    }
}

Membuat class aksesKumis.java untuk memangil class kucingRumahan.java

/**
 *
 * @author jatmiko
 */
public class aksesKumis {
    public static void main (String []args){
        kucingRumahan cek = new kucingRumahan (3);
        cek.rawatKumis();
            cek.info();
    }
}

Hasilnya :