Laporan Akhir Pemrograman Berorientasi Objek Lengkap
LAPORAN AKHIR PRAKTIKUM
PEMROGRAMAN BERORIENTASI OBJEK
NAMA :
NIM : DBC 114 043
KELAS : F
MODUL : II ( Pewarisan, Polymorfisme Dan Interface )
JURUSAN / PROGRAM STUDI TEKNIK
INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2015
BAB I
TUJUAN DAN LANDASAN TEORI
I.1. Tujuan
1. Mahasiswa
dapat menggunakan teknik Pewarisan dan Polymorfisme.
2. Mahasiswa
dapat menggunakan interface.
I.2. Landasan
Teori
2.1. Teknik Pewarisan
Pewarisan
dilakukan untuk membuat class baru (class turunan/subclass) yang masih memiliki
sifat atau spesifikasi dari class dimana ia diturunkan (superclass). Untuk
melakukan ini, Java menyediakan keyword extendsyang dapat dipakai waktu kita
mendeklarasikan class. Berikut adalah
contoh implementasi pewarisan :
Class
A
Int x;
Int y;
Void
tampilkanNilaixy()
{
System.out.println(“Nilai x: “ + x + “,y: “ +
y);
}
}
Class
B extends A {
Int z;
Void tampilkanJumlah() {
//subclass dapat mengakses sumber dari
superclass
System.out.println(“Jumlah:”+(x+y+z));
}
}
2.2. Teknik
Polymorfisme
Teknik
polymorfisme digunakan untuk menyatakan satu nama yang merujuk (reference) ke
beberapa fungsi yang berbeda. Java menginterprestasikan polymorfisme dengan 3
cara yaitu:
• Method Overloading
• Method dengan pewarisan
• Method overriding dengan interface java
Berikut
adalah contoh implementasi polymorfisme :
Class A {
Public void cetakKeLayar ( )
{
System.out.println(“Method dari
class A dipanggil”);
}
}
Class B extends A {
Public
void cetakKeLayar ( )
{
System.out.println(“Method
dari class B dipanggil”);
}
}
Class C extends A {
Public
void cetakKeLayar ( )
{
System.out.println(“Method
dari class C dipanggil”);
}
}
class Demo ( ) {
Public
static void main (String[] args)
{
A
obA;
B
obB = new B ( );
C
obC = new C ( );
obA
= obB;
obA.cetakKeLayar
( );
obA
= obC;
obA.cetakKeLayar
( );
}
}
2.3. Interface
Pendeklarasian
interface secara umum adalah sebagai berikut :
Access-specifier interface
NamaInterface {
Access-specifier
tipe-data namaVariabel1 = value1;
…
Access-specifier
tipe-data namaVariabelN = valueN;
…
Access-specifier
tipe-data namaMethod1 = (parameter1);
…
Access-specifier
tipe-data namaMethodN = (parameterN);
}
Penggunaan interface
Access-specifier class
NamaClass implements
NamaInterface, … , NamaInterfaceN
{
//class implementation {
Pewarisan
Dalam OOP, kita dapat menciptakan
objek baru yang diturunkan dari objek lain. Objek baru ini sering disebut
dengan objek turunan (derived class) sedang objek induknya sering disebut
dengan ancestor(base class). Sifat yang terkandung pada objek turunan adalah
sifat hasil pewarisan dari sifat-sifat yang terdapat pada objek induk. Maka
dari itu proses seperti ini sering dikenal dengan istilah pewarisan (Inheritance).
Polimorfisme
Polimorfisme adalah proses
kebanyakrupaan, artinya kita dapat mengimplementasikan sesuatu hal yang berbeda
melalui satu cara yang sama. untuk mengerti hal ini saya akan berikan ilustrasi
nya : misalnya terdapat 5 orang penyanyi(didalam program dianggap sebagai 5
buah objek), kemudian kelimanya kita perintahkan untuk bernyanyi, maka hasil
atau implementasinya tentu akan berbeda sesuai dengan karakteristik suara dari
masing-masing penyanyi tersebut.
Interface
Interface adalah jenis khusus dari
blok yang hanya berisi method signature (atau constant). Interface mendefinisikan sebuah
(signature) dari sebuah kumpulan method tanpa tubuh.
Interface mendefinisikan sebuah cara standar dan
umum dalam menetapkan sifat-sifat dari class-class. Mereka menyediakan
class-class, tanpa memperhatikan lokasinya dalam hirarki class. Untuk
mengimplementasikan sifat-sifat yang umum. Dengan catatan bahwa
interface-interface juga menunjukan polimorfisme, dikarenakan program dapat
memanggil method interface dan versi yang tepat dari method yang akan
dieksekusi tergantung dari tipe object yang melewati pemanggil method interface.
BAB II
LANGKAH KERJA
1.
Buat program dengan teknik
pewarisan atau polimorfisme untuk menyelesaikan output berikut :
Nama : Antonio
Usia : 28
Bagian : Direktur
Gaji Pokok : Rp. 10.000.000,00
Tunjangan Jabatan : Rp. 5.000.000,-
Fasilitas : Mobil Dinas, Rumah
Dinas
Nama : Jimmy
Usia : 25
Bagian : Wakil Direktur
Gaji Pokok : Rp. 7.000.000,00
Tunjangan Jabatan : Rp. 2.000.000,-
Fasilitas : Mobil Dinas
Nama : Boy
Usia : 25
Bagian : Staf
Gaji Pokok : Rp. 1.500.000,00
Tunjangan Jabatan : -
Fasilitas : -
2.
Analisa dan perbaiki
kesalahan pada program-program berikut :
File : Suara.java
public interface Suara {
Public voic
berbicara();
Public void tidur();
}
File : Anjing.java
Public class Anjing implements Suara
{
//Informasi data
anjing
String warna;
float berat;
public Anjing(String
w, float b);
{
Warna = w;
berat = b;
}
Public void
berbicara()
{
System.out.println(“Guk…Guk…guk”);
}
Public void tidur()
System.out.Println(“zzzz….zzzz…zzzz”);
}
public class TesSuara
{
Public static
main(String args)
Anjing AirBuds =
new Anjing(“Coklat”,20.4f)
AirBuds.berbicara;
AirBuds.tidur;
}
}
BAB III
PEMBAHASAN
Pada
praktikum kedua Pemrograman Berorientasi Objek yaitu Modul II ( Pewarisan,
Polymorfisme dan Interface ). Disini akan saya bahas tentang Tugas Pertama dan Tugas Kedua.
1. Program tugas pertama
a. Code program pertama
Buat Package Pegawai dan buat kelas dari
Package Pegawai adalah Pegawai.Java
Buatlah package pegawai seperti code
dibawah ini.
b.
Penjelasan code program pertama
package Pegawai;
public class Pegawai {
public void nama( ) {
System.out.print("Nama
: "); }
public void Usia( ) {
System.out.print("Usia
: "); }
public void Bagian( ) {
System.out.print("Bagian
: "); }
public void GajiPokok( ) {
System.out.print("Gaji Pokok
: "); }
public void TunjanganJabatan( ) {
System.out.print("Tunjangan Jabatan : ");
}
public void Fasilitas( ) {
System.out.print("Fasilitas
: "); }
}
Pada
bagian ini terdapat modifier yaitu
public. Public berarti bahwapengaksesan suatu variable instant atau metode
dapat dilakukan dari luar kelas.Disini dideklarasikan kelas induk dari program
yaitu kelas Pegawai. Ada enam method dengan tipe data yang sama yaitu nama, Usia, Bagian, GajiPokok,
TunjanganJabatan dan Fasilitas dengan tipe data yaitu void.
Didalam
setiap method terdapat komponen keluaran yaitu System.out.print. Jadi, setiap
masing-masing method dipanggil maka akan masing-masing dari atribut akan
menampilkan teks.
class Direktur extends
Pegawai {
public void nama( ) {
System.out.println(“Gianto”); }
public void Usia()
{
System.out.println(“20”);
}
public void Bagian( ) {
System.out.println(“Direktur Utama”); }
public void GajiPokok( ) {
System.out.println(“Rp 20.000.000,00”); }
public void TunjanganJabatan( ) { System.out.println(“Rp
10.000.000,00”); }
public void Fasilitas( ) {
System.out.println(“Rumah Dan Mobil Dinas ”); }
}
Pada
bagian ini terdapat kelas Direktur yang merupakan kelas turunan dari kelas
induk yaitu kelas Pegawai. Method yang terdapat di kelas ini merupakan
method overriding dari method di kelas induk Pegawai. Ada enam method
overriding dengan tipe data yang sama yaitu nama, Usia, Bagian, GajiPokok, TunjanganJabatan dan Fasilitas dengan tipe
data void.
Kemudian
terdapat juga komponen keluaran yaitu System.out.println
pada setiap method. Method nama akan
menampilkan teks yaitu Gianto. Method
usia akan menampilkan teks yaitu 20. Method Bagian akan menampilkan teks
yaitu Direktur Utama. Method GajiPokok akan mempilkan teks yaitu Rp 20.000.000,00. Method TunjanganJabatan akan menampilkan teks
yaitu Rp 10.000.000,00. Method Fasilitas akan menampilkan teks yaitu Rumah Dan Mobil Dinas.
class
WakilDirektur extends Pegawai {
public void
nama( ) {
System.out.println("Ibrahim"); }
public void
Usia( ) {
System.out.println("30"); }
public void
Bagian( ){
System.out.println("Wakil
Direktur"); }
public void
GajiPokok( ) {
System.out.println("Rp 15.000.000,00"); }
public void TunjanganJabatan( ) {
System.out.println("Rp 5.000.000,00"); }
public void Fasilitas( ) {
System.out.println("Rumah Dinas"); }
}
Pada
bagian ini terdapat kelas WakilDirektur yang
merupakan kelas turunan dari kelas induk yaitu kelas Pegawai. Method yang
terdapat di kelas ini merupakan method overriding dari method di kelas induk
Pegawai. Ada enam method overriding
dengan tipe data yang sama yaitu nama,
Usia, Bagian, GajiPokok, TunjanganJabatan dan Fasilitas dengan tipe data void. Terdapat juga komponen keluaran
yaitu System.out.println pada setiap
method.
class Staff extends
Pegawai {
public void nama( ) {
System.out.println("Iput");
}
public void Usia( ) {
System.out.println("25");}
public void Bagian( ) {
System.out.println("Staff Kantor"); }
public void GajiPokok( ) {
System.out.println("Rp 10.000.000,00");
}
public void
TunjanganJabatan( ) {
System.out.println("Rp 3.000.000,00"); }
public void Fasilitas( ) {
System.out.println("Mobil Dinas"); }
}
Pada
bagian ini terdapat kelas Staff yang
merupakan kelas turunan dari kelas induk yaitu kelas Pegawai. Method yang
terdapat di kelas ini merupakan method overriding dari method di kelas induk Pegawai.
Ada enam method overriding dengan tipe data yang sama yaitu nama, Usia, Bagian, GajiPokok,
TunjanganJabatan dan Fasilitas dengan tipe data void. Terdapat juga
komponen keluaran yaitu System.out.println
pada setiap method.
package Pegawai;
public class PNS {
public static void main (String []args){
Pegawai pegawai;
Pegawai pegawai = new Pegawai();
Direktur D = new Direktur();
WakilDirektur WD = new WakilDirektur();
Staff S = new Staff();
pegawai.nama();D.nama();
pegawai.Usia();D.Usia();
pegawai.Bagian();D.Bagian();
pegawai.GajiPokok();D.GajiPokok();
pegawai.TunjanganJabatan();
D.TunjanganJabatan();
pegawai.Fasilitas();D.Fasilitas();
System.out.println();
pegawai.nama();WD.nama();
pegawai.Usia();WD.Usia();
pegawai.Bagian();WD.Bagian();
pegawai.GajiPokok();WD.GajiPokok(); pegawai.TunjanganJabatan();
WD.TunjanganJabatan();
pegawai.Fasilitas();WD.Fasilitas();
System.out.println();
pegawai.nama();S.nama();
pegawai.Usia();S.Usia();
pegawai.Bagian();S.Bagian();
pegawai.GajiPokok();S.GajiPokok();
pegawai.TunjanganJabatan();
S.TunjanganJabatan();
pegawai.Fasilitas();S.Fasilitas();
}
}
Kemudian
pada bagian program ini terdapat modifier yaitu public. Public berarti bahwa pengaksesan suatu variable instant
atau metode dapat dilakukan dari luar kelas. Disini dibuat kelas baru dari package Pegawai yaitu kelas PNS. Pada kelas PNS ini terdapat main
program. Selanjutnya, dibuat variabel konstruktor dari kelas Pegawai yaitu pegawai, variabel konstruktor dari kelas
Direktur yaitu D, konstruktor dari kelas WakilDirektur yaitu WD, konstruktor
dari kelas Staff yaitu S.
c. Output program pertama
2.
Program kedua
a. Code program
Code program Suara.java
Code program Anjing.java
b. Penjelasan code program kedua
package Suara;
public interface
Suara
{
public void berbicara( );
public void tidur( );
}
Pada
program ini merupakan interface Suara dengan modifier public. Pada badan program terdapat method berbicara dengan modifier public dan tipe datanya yaitu void.
Method tidur dengan modifier public dan tipe datanya yaitu void.
package Anjing;
import Suara.Suara;
public class Anjing
implements Suara
{
String warna;
float berat;
public Anjing (String
w, float b)
{
warna = w;
berat = b;
}
Public void
berbicara( )
{
System.out.println(“Guk…guk…guk…”);
}
public void tidur()
{
System.out.println("zzz...zzz...zzz"); }
public static void
main( String args [] )
{
Anjing AirBuds = new Anjing
("coklat",20.4f);
AirBuds.berbicara( );
AirBuds.tidur( );
}
}
Pada
program ini merupakan interface Suara dengan modifier public. Pada badan
program terdapat method berbicara dengan modifier public dan tipe datanya yaitu
void. Method tidur dengan modifier
public dan tipe datanya yaitu tidur. Kemudian interface suara ini di masukan ke
package Anjing. Selanjutnya dibuat
kelas Anjing dengan modifier public dan implementasi dari interface suara. Pada
program ini merupakan konstruktor dari kelas Anjing yaitu Anjing. Pada badan
programnya, diisikan nilai dari variabel w
ke atribut warna dan variabel b ke
atribut berat.
Selanjutnya,
dilakukan pengisian dari method berbicara dengan komponen keluaran yaitu Guk…guk…guk… Pada program ini, dilakukan
pengisian dari method tidur dengan komponen keluaran yaitu zzz...zzz...zzz.
Kemudian, pada main program dibuat variabel konstruktor kelas anjing yaitu AirBuds. Lalu, dengan variabel AirBuds dipanggillah method berbicara dan method
tidur.
c. Output program kedua
BAB
IV
KESIMPULAN
Pada
praktikum kedua Pemrograman Berorientasi Objek yaitu Modul II ( Pewarisan,
Polymorfisme dan Interface ). Disini saya akan menarik kesimpulan tentang tugas-tugas
praktikum. Berikut adalah kesimpulannya :
·
Pada kode program pertama digunakan
teknik polimorfisme. Pada kelas induk dari program yaitu kelas Pegawai. Method yang digunakan adalah nama,
Usia, Bagian, GajiPokok, TunjanganJabatan dan Fasilitas dengan tipe data void.
·
Kemudian didalam setiap method terdapat
komponen keluaran yaitu System.out.println.
Jadi, setiap masing-masing method dipanggil maka akan masing-masing dari
atribut akan menampilkan teks.
·
Pada kode program kedua dibuat dua
package. Pada package pertama yaitu Suara dengan interface Suara modifier
public. Pada badan program terdapat method berbicara dengan modifier public dan
tipe datanya yaitu void. Method tidur
dengan modifier public dan tipe datanya yaitu void.
BAB V
DAFTAR PUSTAKA
Dosen Pemrograman Berorientasi Objek. 2014. MODUL II PRAKTIKUM PEMROGRAMAN BERORIENTASI
OBJEK. PALANGKARAYA: JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS
PALANGKARA.
_____.2012. “PRAKTIKUMMODULII–PEMROGRAMANDENGANJAVA”.(Online).http://www.academia.edu/6724368/PRAKTIKUM_MODUL_II_-_PEMROGRAMAN_DENGAN_JAVA
( Diakses Pada Senin, 09 November 2015. Jam 22.32 WIB)
http://agungimam.blogspot.co.id/2013/04/membuat-pewrisan-pada-java.html
(
Diakses pada Senin, 09 November 2015. Pukul 21:03 WIB )
https://yaniarprayogo.wordpress.com/2010/07/30/contoh-abstract-class-di-java/
(
Diakses pada Senin, 09 November 2015. Pukul 22:10 WIB )
BAB VI
LAMPIRAN
Code
program pertama
Output
program pertama
Code
program kedua
Output
program kedua
Komentar
Posting Komentar