[201410370311127]_[mod5]_[pboc]
DESCRIPTION
Laporan Java Modul 5TRANSCRIPT
-
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.