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 :


    

Jumat, 27 Maret 2015

LAPORAN PRAKTIKUM PBO


MODUL 3





Jatmiko Aji Nugroho
L200130002

Program Studi Informatika
Fakultas Komunikasi dan Informatika
Universitas Muhammadiyah Surakarta
2015

A.   TUJUAN
1.      Mahasiswa mampu memberikan nilai awal saat objek diciptakan.
2.      Mahasiswa mampu membuat konstruktor yang memiliki bentuk lebih dari satu.
B.     LANDASAN TEORI

1.      Konstruktor
Konstruktor adalah metode yang dapat digunakan untuk memberikan nilai awal saat objek diciptakan. Metode inin akan dipanggil secara otomatis oleh java ketika new dipakai untuk menciptakan objek dari suatu kelas.
Sifat – sifat konstruktor :
·         Namanya sama dengan kelas
·         Tidak memiliki nilai balik (termasuk tidak boleh ada kata kunci void)
2.      Overloading Konstruktor
Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini pembda antara satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.
3.      Overloading Method
Overloading biasanya dipakai pada konstruktor, akan tetapi overloading juga dapat dikenakan pada metode non-konstruktor

C.    ALAT DAN BAHAN

·         Komputer
·         Netbeans
·         Modul praktikum Pemrograman Berorientasi Objek 


D.    PERCOBAAN PERTAMA

1.      Membuat kelas java dengan nama “Buku.java”
/**
 *
 * @author jatmiko
 */
public class Buku {
    String pengarang;
    String judul;
    int tahunTerbit;
   
    //membuat konstruktor
    public Buku(String pengarang, String judul){
        this.judul = judul;
        this.pengarang = pengarang;
    }//akhir konstruktor

    //membuat method
    public void infoBuku(){
        System.out.println("Judul Buku "+judul);
        System.out.println("pengarang "+pengarang);
        System.out.println("tahun terbit "+tahunTerbit);
        }
}
2.      Membuat kelas baru dengan nama “OverloadingKonstruktor.java”
/**
 *
 * @author jatmiko
 */
public class OverloadingKonstruktor {
    public static void main (String []args){
        Buku bukuku = new Buku("Jatmiko Aji Nugroho","Panduan Pintar Komputer");
        bukuku.infoBuku();
3.      Mengcompile progam diatas dan menjelaskan hasil dari progam tersebut

Analisa :
      Progam diatas menampilkan output judul buku, pengarang, dan tahun terbit dari kelas “OverLoadingKonstruktor.java”. Karena pada konstruktor awal tidak terdapat parameter untuk memasukkan tahun terbit maka output pada tahun terbit berisi 0.



        E. PERCOBAAN KEDUA
1.      Mengedit file “Buku.java” dengan menambahkan kode konstruktor overloading
/**
 *
 * @author jatmiko
 */
public class Buku {
    String pengarang;
    String judul;
    int tahunTerbit;
   
    //membuat konstruktor
    public Buku(String pengarang, String judul){
        this.judul = judul;
        this.pengarang = pengarang;
    }//akhir konstruktor

    //membuat overloading konstruktor
    public Buku (String pengarang, String judul, int tahunTerbit){
        this.pengarang = pengarang;
        this.judul = judul;
        this.tahunTerbit = tahunTerbit;
       }
   
    //membuat method
    public void infoBuku(){
        System.out.println("Judul Buku "+judul);
        System.out.println("pengarang "+pengarang);
        System.out.println("tahun terbit "+tahunTerbit);
        }
}
2.      Mengedit kelas “OverloadingKonstruktor.java” dan menambahkan kode berikut
                  /**
 *
 * @author jatmiko
 */
public class OverloadingKonstruktor {
    public static void main (String []args){
        Buku bukuku = new Buku("Jatmiko Aji Nugroho","Panduan Pintar Komputer");
        Buku bukumu = new Buku("Jatmiko Aji Nugroho","Panduan Pintar Komputer",2009);
        bukuku.infoBuku();
        bukumu.infoBuku();
                     }
          }
3.      Mengcompile progam diatas dan menjelaskan hasil progam tersebut

Analisa :
      Progam diatas menampilkan 2 output. Output pertama tidak terdapat tahun terbit. Output kedua terdapat tahun terbit karena pada file “Buku.java” telah diisikan overloading untuk parameter tahun terbit dan pada kelas “OverloadingKonstruktor.java” pada tahun terbit diinputkan 2009.


         F.   PERCOBAAN KETIGA
1.      Membuat kelas baru dengan nama “Matematika.java”
                  /**
 *
 * @author jatmiko
 */
public class Matematika {
    static public double kuadrat (double nilai){
        return nilai*nilai;
    }
    static public int kuadrat (int nilai){
        return nilai*nilai;
    }
    static public double kuadrat (String nilai){
        double bilangan;
        bilangan = Double.valueOf(nilai).doubleValue();
        return bilangan*bilangan;
       
    }
}
2.      Membuat kelas baru dengan nama “OverLoadingMethod.java”
                  /**
 *
 * @author jatmiko
 */
public class OverloadingMethod {
    public static void main (String[]args){
        System.out.println("Nilai Kuadrat dari tipe data double "
                                        +Matematika.kuadrat(20));
        System.out.println("Nilai Kuadrat dari tipe data interger "
                                        +Matematika.kuadrat(20));
        System.out.println("Nilai Kuadrat dari tipe data String "
                                        +Matematika.kuadrat(20));
    }
}
3.      Mengcompile progam diatas dan menjelaskan hasilnya

Analisa :
      Progam diatas menampilkan output hasil kuadrat dari nilai yang di inputkan pada kelas “OverloadingMethod.java”.


      TUGAS

1.      Mengedit kelas “Buku.java” dan kelas “OverloadingKonstruktor.java”


            Kelas Buku.java
            /**
 *
 * @author jatmiko
 */
public class Buku {
    String pengarang;
    String judul;
    int tahunTerbit;
   
    //membuat konstruktor
    public Buku(String pengarang, String judul){
        this.judul = judul;
        this.pengarang = pengarang;
    }
    public Buku(String pengarang){
        this.pengarang = pengarang;
    }
    public Buku(String judul,int tahunTerbit){
        this.judul = judul;
        this.tahunTerbit = tahunTerbit;
    }//akhir konstruktor
    //membuat overloading konstruktor
    public Buku (String pengarang, String judul, int tahunTerbit){
        this.pengarang = pengarang;
        this.judul = judul;
        this.tahunTerbit = tahunTerbit;
       }
   
    //membuat method
    public void infoBuku(){
        System.out.println("Judul Buku "+judul);
        System.out.println("pengarang "+pengarang);
        System.out.println("tahun terbit "+tahunTerbit);
        }
}


Kelas OverloadingKonstruktor.java
/**
 *
 * @author jatmiko
 */
public class OverloadingKonstruktor {
    public static void main (String []args){
        Buku bukuku = new Buku("Jatmiko Aji Nugroho","Panduan Pintar Komputer");
        Buku bukumu = new Buku("Jatmiko Aji Nugroho","Panduan Pintar                                                                                                        Komputer",2009);
        Buku bukuki = new Buku("Panduan Pintar Komputer");
        Buku bukumi = new Buku ("Panduan Pintar Komputer",2009);
        System.out.println("Buku Ku");
        bukuku.infoBuku();
        System.out.println();
        System.out.println("Buku Mu");
        bukumu.infoBuku();
        System.out.println();
        System.out.println("Buku Kita");
        bukuki.infoBuku();
        System.out.println();
        System.out.println("Buku Kami");
        bukumi.infoBuku();
       }
}

Output




             Analisa :
Progam diatas menampilkan 4 output yang berbeda-beda. Apabila ada salah satu data yang tidak diisi contohnya judul buku dan pengarang maka outputnya berupa null. Apabila tahun terbitnya tidak diisi maka outputnya berupa angka 0.