[201410370311127]_[mod5]_[pboc]

8
Dokumen Laboratorium Teknik Informatika UMM 2015 Laporan Praktikum Pemrograman Berorientasi Objek By Akhmad Zulfikar Al Ghivani LAPORAN PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK KOSNSTRUKTOR, OVERLOADING DAN OVERIDING DOSEN PEMBIMBING : GALIH W. WICAKSONO S,Kom. NAMA : AKHMAD ZULFIKAR AL GHIVANI 201410370311127 KELAS 2 C LABORATORIUM TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2015

Upload: akhmad-zulfikar

Post on 07-Nov-2015

215 views

Category:

Documents


2 download

DESCRIPTION

Laporan Java Modul 5

TRANSCRIPT

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    LAPORAN PRAKTIKUM

    PEMROGRAMAN BERORIENTASI OBJEK

    KOSNSTRUKTOR, OVERLOADING DAN OVERIDING

    DOSEN PEMBIMBING :

    GALIH W. WICAKSONO S,Kom.

    NAMA :

    AKHMAD ZULFIKAR AL GHIVANI

    201410370311127

    KELAS 2 C

    LABORATORIUM TEKNIK INFORMATIKA

    FAKULTAS TEKNIK

    UNIVERSITAS MUHAMMADIYAH MALANG

    2015

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    I. TUJUAN

    Memahami konsep dari konstruktor, overloading dan overriding

    Memahami kapan menggunakan kosntruktor , ,overloading dan

    overriding

    Mampu menggunakan konsep konstruktor, ,overloading dan overriding

    II. ALAT YANG DIPERGUNAKAN

    Netbeans IDE 8.0.2

    III. DASAR TEORI

    Konstruktor

    Merupakan method yang namanya sama dengan nama class dimana method

    itu berada. Construktor digunakan untuk menginisialisasi nilai awal

    (memberikan nilai default) pada atribut-atribut yang dimiliki oleh suatu object

    saat object pertama kali dibuat.

    Overloading

    Adalah suatu kemampuan dalam bahasa berorientasi object untuk

    menggunakan suatu nama method untuk beberapa method yang memiliki

    parameter masukkan yang berbeda (tipe maupun jumlah parameter).

    Overloading memodifikasi secara horizontal method maupun konstruktor

    miliki super kelas, maupun kelas yang sama.

    Overriding

    Adalah kemampuan dalam bahasa berorienasi objek untuk mengubah

    implementasi (menimpa) suatu method yang dimiliki super class ketika super

    class tersebut diturunkan. Overide memodifikasi secara vertical method milik

    super kelas. Salah satu ciri dari override adalah dengan adanya sytax

    @override. Jika dlakukan override maka isi method yang diturunkan akan

    diganti. Maksud dari Super adalah memanggil method asli yang diturunkan

    sesuai dengan method apa yang dipanggil. Ada 2 alasan mengapa perlu

    melakukan overriding :

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    1. Mendefiniskan kembali method kelas induk secara total

    2. Menambahkan behaviour tertentu pada method kelas induk

    IV. TUGAS PRAKTIKUM

    1. Buatlah aplikasi penghitung tabung. Dimana class tabung meng-extend

    class bangun ruang.

    2. Carilah sebuah permasalah dan carilah pula solusinya dengan

    menggunakan pemrograman java!

    3. Jika anda sudah mengerjakan nomor 1 dan 2, sekarang jelaskan apa

    manfaat dari ke 3 konsep yang sudah anda pelajari pada modul ini !

    V. HASIL PRAKTIKUM

    1. Source Code Program Penghitung Tabung

    Source Code kelas Intefase.java

    /*

    * To change this license header, choose License Headers in

    Project Properties.

    * To change this template file, choose Tools | Templates

    * and open the template in the editor.

    */

    package mod5;

    /*

    * To change this license header, choose License Headers

    in Project Properties.

    * To change this template file, choose Tools |

    Templates

    * and open the template in the editor.

    */

    package mod5;

    import java.util.Scanner;

    /**

    *

    * @author OWNER

    */

    public interface Interfase {

    public double hitungVolume(double jari, double

    tinggi);

    }

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    /**

    *

    * @author OWNER

    */

    public abstract class Bangun implements Interfase {

    private double jari;

    double tinggi;

    public double getJari() {

    return jari;

    }

    public void setJari(double jari) {

    this.jari = jari;

    }

    public double getTinggi() {

    return tinggi;

    }

    public void setTinggi(double tinggi) {

    this.tinggi = tinggi;

    }

    }

    Source Code kelas Bangun.java

    /*

    * To change this license header, choose License

    Headers in Project Properties.

    * To change this template file, choose Tools |

    Templates

    * and open the template in the editor.

    */

    package mod5;

    import java.util.Scanner;

    /**

    *

    * @author OWNER

    */

    public abstract class Tabung extends Bangun {

    public double Batasjari = 0;

    public double phi = 3.14;

    public boolean Besar(double jari) {

    if (jari > Batasjari) {

    return true;

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    } else {

    return false;

    }

    }

    @Override

    public double hitungVolume(double jari, double

    tinggi) {

    if (Besar(jari) == true){

    return phi*jari*jari*tinggi;

    } else{

    return 0;

    }

    }

    public static void main(String[] args) {

    // TODO code application logic here

    Scanner scanner = new Scanner(System.in);

    Tabung test = new Tabung() {};

    //ini masukkan

    System.out.println("Masukkan jari-jari tabung

    : ");

    double jari = scanner.nextDouble();

    test.setJari(jari);

    System.out.println("Masukkan tinggi tabung :

    ");

    double tinggi = scanner.nextDouble();

    test.setTinggi(tinggi);

    //ini keluaran

    System.out.println('\n');

    System.out.println("Volume = " +

    test.hitungVolume(jari,tinggi));

    }

    }

    Source Code kelas Tabung.java

    2. Permasalahan yang melibatkan Construktor, overloading atau override

    /*

    * To change this license header, choose License Headers

    in Project Properties.

    * To change this template file, choose Tools | Templates

    * and open the template in the editor.

    */

    package Masalah_Constructor_Overload;

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    /**

    *

    * @author OWNER

    */

    class Kotak {

    double panjang;

    double lebar;

    double tinggi;

    // Mendefinisikan constructor tanpa parameter

    Kotak() {

    panjang = 0;

    lebar = 0;

    tinggi = 0;

    }

    // Mendefinisikan constructor dengan satu parameter

    Kotak(double sisi) {

    panjang = lebar = tinggi = sisi;

    }

    // Mendefinisikan constructor dengan tiga parameter

    Kotak(double p, double l, double t) {

    panjang = p;

    lebar = l;

    tinggi = t;

    }

    double hitungVolume() {

    return (panjang * lebar * tinggi);

    }

    }

    Source Kelas Kotak.java

    /*

    * To change this license header, choose License Headers in

    Project Properties.

    * To change this template file, choose Tools | Templates

    * and open the template in the editor.

    */

    package Masalah_Constructor_Overload;

    /**

    *

    * @author OWNER

    */

    public class OverloadKonstruktor {

    public static void main(String[] args) {

    Kotak k1, k2, k3;

    k1 = new Kotak();

    k2 = new Kotak(10);

    k3 = new Kotak(4, 3, 2);

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    //Menampilkan volume dari masing-masing objek Kotak

    System.out.println("Volume k1 = " + k1.hitungVolume());

    System.out.println("Volume k2 = " + k2.hitungVolume());

    System.out.println("Volume k3 = " + k3.hitungVolume());

    }

    }

    Source Kelas OverloadKonstruktor.java

    3. Overload pada Constructor

    Selain pada method normal pada umumnya, proses overload juga dapat

    diaplikasikan ke dalam konstruktor suatu kelas. Hal ini disebabkan karena

    sebenarnya konstruktor juga adaah sebuah method yang mengembalikan

    tipe kelas (dirinya sendiri).

    Override pada Constructor

    Pada saat mendifinisikan suatu method di dalam kelas turunan yang nama

    dan daftar parameternya sama persis seperti yang terdapat pada kelas induk,

    maka bisa dikatakan user telah melakukan override (mengesampingkan)

    method yang tersimpan dalam kelas induk. Apabila si user melakukan

    pemanggilan method yang telah di override melalui objek dari kelas

    turunan, maka yang akan dieksekusi adalah method yang terdapat pada

    kelas turunan, bukan yang terdapat pada kelas induk. Dengan kata lain,

    apabila si user melakukan override terhadap method pada kelas induk,

    maka di dalam kelas turunan, method tersebut akan disembunyikan

    keberadaannya.

  • Dokumen Laboratorium Teknik Informatika UMM 2015

    Laporan Praktikum Pemrograman Berorientasi Objek

    By Akhmad Zulfikar Al Ghivani

    VI. APA YANG DI DAPAT PERTEMUAN LALU?

    Pada saat mendefiniskan suatu method dalam kelas turunan yang memiliki

    nama dan daftar parameter sama persis dengan yang terdapat dalam kelas

    induk, maka prosesnya disebut override. Tapi, kita mungkin juga ingin

    mendefinisikan sebuah method di dalam kelas turunan yang namanya sama

    dengan mthod yang terdapat pada kelas induknya, tapi daftar parameternya

    berbeda. Pada saat seperti itu, maka akan diperlukan proses overload.