Anda di halaman 1dari 38

LAPORAN AKHIR PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK

NAMA : PUTRO SUCIANTO


NIM : DBC 116 047
KELAS : F
MODUL : II ( Pewarisan, Polymorfisme dan Interface )

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2017
BAB I
TUJUAN DAN LANDASAN TEORI

1.1 TUJUAN
1. Mahasiswa dapat menggunakan teknik pewarisan dan polymorfisme.
2. Mahasiswa dapat membuat interface.

1.2 LANDASAN TEORI


1.2.1 Pewarisan
Class dapat didefinisikan dengan referensi pada class yang lain
yang telah terdefinisi. Inheritance (Pewarisan) merupakan pewarisan
attribute dan method pada sebuah class yang diperoleh dari class
yang telah terdefinisikan tersebut. Class yang diwarisi class yang
lain di sebut dengan subclass, sedangkan class mewarisi disebut
dengan superclass.
Salah satu keuntungan dari Inheritance (Pewarisan) adalah Subclass
dari merubah atau memodifikasi apa yang telah diwariskan oleh
Superclass.
Untuk membuat class yang dapat mewarisi sebuah class yang
lain, hal yang diperlukan adalah mendeklarasikan class tersebut
dengan menggunakan extends, perhatikan struktur program berikut
ini:

class <nama-class> extends <nama-


superclass>{ //isi program
}

Untuk lebih jelasnya perhatikan program berikut ini:


Program dengan nama file Bapak.java

public class Bapak {


int tangan;
int kaki;
public Bapak(){
this.tangan=2;
this.kaki=2;
}
public void berdiri(){
System.out.println("Berdiri");
}
public void berjalan(){
System.out.println("Berjalan");
}
}

Program dengan nama file Anak.java

public class Anak extends Bapak {


public void bernyanyi(){
System.out.println("lalaa..alaa...");
}
}

Program dengan nama file BapakAnak.java

public class BapakAnak {


public static void main(String[] args) {
Bapak bapak1 = new Bapak();
Anak anak1 = new Anak();

System.out.println("Jumlah Tangan = " +bapak1.tangan);


bapak1.berjalan();;

System.out.println("Jumlah kaki = " + anak1.kaki);


anak1.berdiri();
}
}

Program di atas menunjukkan adanya class Anak sebagai


subclass atau turunan dari class Bapak, sehingga class Bapak
merupakan superclass dari class Anak. Pada saat dilakukan
penurunan semua anggota dari class A akan diturunkan ke class B.
Demikianlah penjelasan mengenai inheritance.

1.2.2 Polymorfisme
Polimorfisme adalah kemampuan suatu objek untuk
mengungkapkan banyak hal melalui satu cara yang sama.
Polimorfisme mengizinkan kelas induk untuk mendefinisikan sebuah
method general (bersifat umum) untuk semua kelas turunanya, dan
selanjutnya kelas-kelas turunan dapat memperbaharui implementasi
dari method tersebut secara lebih spesifik sesuai dengan
karakteristiknya masing-masing.
Misalkan dalam class Buah yang juga bertindak sebagai kelas
induk/superclass dan kelas induk ini mempunyai method general
yang berisi rasa dari buah,dan kemudian kelas turunannya akan
memperbaharui dengan mengisi rasa dari buah ini manis kalau
diumpamakan kelas turunannya adalah kelas buah Apel, dan juga
bisa berisi rasa dari buah ini asam kalau kelas turunannya kelas
Mangga.
A. Overloading
Overloading adalah suatu keadaan dimana beberapa method
memiliki nama yang sama tetapi fungsionalitasnya berbeda.
Overloading juga masuk untuk mendukung konsep polimorfisme.
Kalau diumpamakan seperti contoh diatas, maka overloading ini
adalah method Rasa Buah yang dimiliki oleh kelas Buah,Apel,dan
Mangga karena memiliki nama yang sama tapi memiliki isi yang
berbeda.

B. Overriding
Overriding adalah menulis kembali method yang sama mulai
dari nama method dan isinya dan mengimplementasi kembali di
sub classnya.
Overriding konsepnya hampir sama dengan Overloading, tapi
Overriding harus menulis lagi methodnya yang dari kelas
induknya.

Berikut contoh program tentang Polimorpishme, Overloading,


Overriding :

public class Penyanyi {

public void bernyanyi(){

System.out.println( Karekteristik nadanya +


Belum didefinisikan );

}
}

public class PenyanyiPop extends Penyanyi{

@Override

public void bernyanyi(){


System.out.println(Bernyanyi dengan irama Pop);
}
}
public class PenyanyiDangdut extends Penyanyi{
@Override

public void bernyanyi(){


System.out.println(Bernyanyi dengan irama
Dangdut);
}
}
public static void main(String[] args) {

Penyanyi p;

PenyanyiPop afgan = new PenyanyiPop();

PenyanyiDangdut rhoma = new PenyanyiDangdut();

p = afgan;

p.bernyanyi();

p = rhoma;

p.bernyanyi();

1.2.3 Interface
Interface adalah sebuah tipe referensi pada Java. Interface
secara struktur serupa dengan class. Isi dari interface adalah method
abstract, artinya method hanya dideklarasikan tidak ditulis secara
utuh. Deklarasi method pada interface serupa dengan method pada
class abstract.
Variable pada interface akan memiliki aturan static dan final
sedangkan method akan memiliki aturan public dan abstract. Hal ini
terjadi setelah proses kompilasi seperti yang terlihat pada gambar.

Gambar 1.1 Perubahan aturan setelah kompilasi pada interface


A. Hubungan Antara Class dan Interface
Seperti yang terlihat pada gambar dibawah ini, sebuah class
melakukan extends terhadap class lain, sebuah interface
melakukan extends terhadap interface lain, namun sebuah class
melakukan implements pada interface.

Gambar 1.2 Hubungan interface dan class

Perhatikan kode interface CetakLaporan:

public interface CetakLaporan


{
public void cetakA4();
public void cetakA3();
}

Interface CetakLaporan diimplementasikan pada class


LaporanTahunan :

public class LaporanTahunan implements CetakLaporan{


public void cetakA4(){
System.out.println("Cetak Laporan di A4");
}
public void cetakA3(){
System.out.println("Cetak Laporan di A3");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
LaporanTahunan lt = new LaporanTahunan();
lt.cetakA3();
lt.cetakA4();
}
}

B. Pewarisan Pada Interface


Jika sebuah class tidak diperkenankan melakukan pewarisan
(extends) lebih dari 1 class, maka interface diperbolehkan
melakukan hal tersebut. Namun sebuah class diperbolehkan
melakukan implementasi terhadap lebih dari 1 interface.

Gambar 1.3 Pewarisan banyak pada java

Perhatikan kode program berikut ini.

public interface TampilLaporan {


public void tampilWeb();
public void tampilMobile();
}

public class LaporanTahunan implements CetakLaporan,


TampilLaporan{
public void cetakA4(){
System.out.println("Cetak Laporan di A4");
}
public void cetakA3(){
System.out.println("Cetak Laporan di A3");
}
public void tampilWeb(){
System.out.println("Tampil di Monitor");
}
public void tampilMobile(){
System.out.println("Tampil di Handphone");
}
public static void main(String[] args) {
// TODO Auto-generated method stud
LaporanTahunan lt = new LaporanTahunan();
lt.cetakA3();
lt.cetakA4();
lt.tampilMobile();
lt.tampilWeb();
}
}

Contoh kode program interface melakukan multiple pewarisan.

public interface Laporan extends CetakLaporan,


TampilLaporan{
public void exportExcel()
}
BAB II
PEMBAHASAN

1. Program pertama, membuat program dengan teknik pewarisan atau


polymorfisme 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 : -

Membut program dengan teknik pewarisan atau polymorfisme, untuk


menampilkan output seperti di atas.

Pertama-tama pilih New ProjectNextberi nama Project


PegawaiFinish. Di Project Pegawai terdapat java package dengan
nama pegawai dan java class dengan nama Pegawai.java. Dan
selanjutnya menuliskan koding pada java class Pegawai, berikut
kodingnya.

Gambar 2.1 Koding pada java class Pegawai

Keterangan :
Pada pertama terdapat package pegawai, yang artinya java class
Pegawai merupakan bagian dari package pegawai.
Pada baris ketiga merupakan sebuah class dengan nama Pegawai
dengan modifier public yang artinya sebuah class, variable, method dan
constructor yang dideklarasikan public dapat di akses dari class manapun.
Walaupun demikian, sebuah class yang dideklarasikan public namun berbeda
package, maka class public tersebut harus di import terlebih dahulu. Tanda
kurung kurawal buka {, digunakan untuk mengawali blok program dari
class Pegawai.
Pada baris keempat sampai baris kesembilan terdapat attribute dari class
Pegawai dengan modifer public dengan nama nama, bagian, fasilitas, gaji,
tunjangan yang bertipe data String, sedangkan attribute dengan nama usia
bertipe data integer.
Pada baris kesebelas terdapat method dengan nama cetakPegawai
dengan modifer public yang berasal dari class Pegawai. Tanda kurung
kurawal buka {, digunakan untuk mengawali blok program method
cetakPegawai.
Pada baris kedua belas sampai tujuh belas terdapat System.out.print();
yang artinya adalah :
1. System.out, adalah stream yang digunakan untuk menangani keluaran
standar java.
2. Print(), merupakan metode yang digunakan untuk menampilkan teks di
layar tanpa garis baru, yang di sini menampilkan string yaitu :
Pada baris kedua belas, Nama : dan nilai yang terdapat pada variabel
nama.
Baris ketiga belas, Usia : dan nilai yang terdapat pada variabel usia.
Baris keempat belas, Bagian : dan nilai yang terdapat pada variabel
bagian.
Baris kelima belas , Gaji Pokok : Rp. dan nilai yang terdapat pada
variabel gaji dan ,00.
Baris keenam belas, Tunjangan Jabatan : Rp. dan nilai yang terdapat
pada variabel tunjangan dan ,-.
Baris ketujuh belas, Fasilitas : dan nilai yang terdapat pada variabel
fasilitas.
3. Tanda titik koma (;), digunakan untuk mengakhiri pernyataan.
Pada baris kedelapan belas terdapat System.out.println() yang
berfungsi untuk membuat garis baru.
Pada baris kesembilan belas Tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program method cetakPegawai.

Selanjutnya membuat java class dengn nama Direktur dengan pilih


Packages pegawaiKlik KananNewJava Classberi nama
DirekturFinish. Berikut kodingnya.
Gambar 2.2 Koding pada java class Direktur

Keterangan :
Pada baris pertama terdapat package pegawai, yang artinya java class
Direktur merupakan bagian dari package pegawai.
Pada baris ketiga merupakan sebuah class dengan nama Direktur
dengan modifier public yang artinya Sebuah class, variable, method dan
constructor yang dideklarasikan public dapat di akses dari class manapun.
Walaupun demikian, sebuah class yang dideklarasikan public namun berbeda
package, maka class public tersebut harus di import terlebih dahulu. Dan
terdapat keyword extends, keyword extends adalah keyword yang
digunakan oleh subclass ketika melakukan pewarisan terhadap superclass,
yang disini class Direktur merupakan subsclass dari class Pegawai, class
Direktur adalah turunan dari Class Pegawai, jadi semua Attribute dan
Method pada class Pegawai ada pada class Direktur.
Pada baris keempat terdapat konstruktor dengan nama Direktur,
Konstruktor biasanya digunakan untuk menginisialisasi atau memberikan
nilai (melalui parameter) kepada sebuah objek pada saat objek pertama kali
diciptakan. Pada konstruktor Direktur mempunyai parameter String nma,
int us, String bgn, String gj, String tn, String fs. Tanda kurung kurawal buka
{, digunakan untuk mengawali blok program dari konstruktor Direktur.
Pada baris kelima sampai sepuluh terdapat attribute yang berasal dari
superclass atau dari class induk Pegawai yang di masing-masing
variabelnya diinisialiasi oleh parameter dari konstruktor Direktur. Yang
inisialisasinya sebagai berikut :
nama = nma;
usia = us;
bagian = bgn;
gaji = gj;
tunjangan = tn;
fasilitas = fs;
Pada baris kesebelas terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari konstruktor Direktur.
Pada baris ketiga belas terdapat annotasi Override.
Pada baris keempat belas sampai kedua puluh terdapat sebuah method
cetakPegawai yang akan mengoverride instance method milik
superclassnya, yang disini superclassnya adalah class Pegawai. Pada baris
ini merupakan polymorfisme override, yang merupakan turunan dari method
cetakPegawai dari class induk Pegawai. Dimana harus menulis lagi nama
methodnya. Dan terdapat tanda tanda kurung kurawal buka {, digunakan
untuk mengawali blok program method cetakPegawai.
Pada baris kedua puluh satu terdapat System.out.println() yang
berfungsi untuk membuat garis baru.
Pada baris kedua puluh dua terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari method cetakPegawai.
Pada baris kedua puluh tiga terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari class Direktur.

Selanjutnya membuat java class dengn nama WakilDirektur dengan


pilih Packages pegawaiKlik KananNewJava Classberi nama
WakilDirekturFinish. Berikut kodingnya.
Gambar 2.3 Koding pada java class WakilDirektur

Keterangan :
Pada baris pertama terdapat package pegawai, yang artinya java class
WakilDirektur merupakan bagian dari package pegawai.
Pada baris ketiga merupakan sebuah class dengan nama WakilDirektur
dengan modifier public yang artinya sebuah class, variabale, method dan
constructor yang dideklarasikan public dapat di akses dari class manapun.
Walaupun demikian, sebuah class yang dideklarasikan public namun berbeda
package, maka class public tersebut harus di import terlebih dahulu. Dan
terdapat keyword extends, keyword extends adalah keyword yang
digunakan oleh subclass ketika melakukan pewarisan terhadap superclass,
yang disini class WakilDirektur merupakan subsclass dari class Pegawai,
class WakilDirektur adalah turunan dari Class Pegawai, jadi semua
Attribute dan Method pada class Pegawai ada pada class WakilDirektur.
Pada baris keempat terdapat konstruktor dengan nama WakilDirektur,
Konstruktor biasanya digunakan untuk menginisialisasi atau memberikan
nilai (melalui parameter) kepada sebuah objek pada saat objek pertama kali
diciptakan. Pada konstruktor WakilDirektur mempunyai parameter String
nma, int us, String bgn, String gj, String tn, String fs. Tanda kurung kurawal
buka {, digunakan untuk mengawali blok program dari konstruktor
WakilDirektur.
Pada baris kelima sampai sepuluh terdapat attribute yang berasal dari
superclass atau dari class induk Pegawai yang di masing-masing
variabelnya diinisialiasi oleh parameter dari konstruktor WakilDirektur.
Yang inisialisasinya sebagai berikut :
nama = nma;
usia = us;
bagian = bgn;
gaji = gj;
tunjangan = tn;
fasilitas = fs;
Pada baris kesebelas terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari konstruktor WakilDirektur.
Pada baris ketiga belas terdapat annotasi Override.
Pada baris keempat belas sampai dua puluh terdapat sebuah method
cetakPegawai yang akan mengoverride instance method milik
superclassnya, yang disini superclassnya adalah class Pegawai. Pada baris
ini merupakan polymorfisme override, yang merupakan turunan dari method
cetakPegawai dari class induk Pegawai. Dimana harus menulis lagi nama
methodnya. Dan terdapat tanda tanda kurung kurawal buka {, digunakan
untuk mengawali blok program method cetakPegawai.
Pada baris kedua puluh satu terdapat System.out.println() yang
berfungsi untuk membuat garis baru.
Pada baris kedua puluh dua terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari method cetakPegawai.
Pada baris kedua puluh tiga terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari class WakilDirektur.
Gambar 2.4 Koding pada java class Staf

Pada baris pertama terdapat package pegawai, yang artinya java class
Staf merupakan bagian dari package pegawai.
Pada baris ketiga merupakan sebuah class dengan nama Staf dengan
modifier public yang artinya sebuah class, variable, method dan constructor
yang dideklarasikan public dapat di akses dari class manapun. Walaupun
demikian, sebuah class yang dideklarasikan public namun berbeda package,
maka class public tersebut harus di import terlebih dahulu. Dan terdapat
keyword extends, keyword extends adalah keyword yang digunakan oleh
subclass ketika melakukan pewarisan terhadap superclass, yang disini class
Staf merupakan subsclass dari class Pegawai, class Staf adalah turunan
dari Class Pegawai, jadi semua Attribute dan Method pada class Pegawai
ada pada class Staf.
Pada baris keempat terdapat konstruktor dengan nama Staf,
Konstruktor biasanya digunakan untuk menginisialisasi atau memberikan
nilai (melalui parameter) kepada sebuah objek pada saat objek pertama kali
diciptakan. Pada konstruktor Staf mempunyai parameter String nma, int
us, String bgn, String gj, String tn, String fs. Tanda kurung kurawal buka
{, digunakan untuk mengawali blok program dari konstruktor Staf.
Pada baris kelima sampai sepuluh terdapat attribute yang berasal dari
superclass atau dari class induk Pegawai yang di masing-masing
variabelnya diinisialiasi oleh parameter dari konstruktor Staf. Yang
inisialisasinya sebagai berikut :
nama = nma;
usia = us;
bagian = bgn;
gaji = gj;
tunjangan = tn;
fasilitas = fs;
Pada baris kesebelas terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari konstruktor Staf.
Pada baris ketiga belas terdapat annotasi Override.
Pada baris keempat belas sampai dua puluh terdapat sebuah method
cetakPegawai yang akan mengoverride instance method milik
superclassnya, yang disini superclassnya adalah class Pegawai. Pada baris
ini merupakan polymorfisme override, yang merupakan turunan dari method
cetakPegawai dari class induk Pegawai. Dimana harus menulis lagi nama
methodnya. Dan terdapat tanda tanda kurung kurawal buka {, digunakan
untuk mengawali blok program method cetakPegawai.
Pada baris kedua puluh satu terdapat System.out.println() yang
berfungsi untuk membuat garis baru.
Pada baris kedua puluh dua terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari method cetakPegawai.
Pada baris kedua puluh tiga terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari class Staf.
Gambar 2.5 Koding main program dari java class Pegawai

Pada baris kedua puluh satu terdapat Pada baris ketujuh terdapat public
static void main(String[] args){ yang artinya adalah :
1. public, yang berarti metode ini bisa dipanggil dan digunakan didalam
Class atau diluar Class.
2. static, yang berarti memiliki sifat yang sama disemua instant Class.
3. void, yang berarti bahwa metode ini tidak mengirimkan nilai balik.
4. main adalah metode yang digunakan untuk mengawali segala bentuk
eksekusi pada program.
Di dalam metode main, terdapat String[] args, yang memiliki pengertian:
1. String[], adalah tipe data objek yang menangani serangkaian karakter-
karakter yang berjenis array.
2. args, adalah variabel objek.
Pada baris ini juga terdapat tanda kurung buka {digunakan untuk
mengawali blok program dari method static main.
Pada baris kedua puluh dua terdapat keyword new yang berfungsi untuk
membuat object baru dengan nama dir yang berfungsi untuk membuat
object dari class Direktur. Dan pada class Direktur ini terdapat parameter
yang isi parameternya nanti mengisi nilai dari class Direktur yang sudah
dibuat object barunya, nilainya nanti akan di masukan ke dalam method
cetakPegawai. Method cetakPegawai merupakan method dari class
Direktur.
Pada baris kedua puluh tiga terdapat keyword new yang berfungsi untuk
membuat object baru dengan nama wkdir yang berfungsi untuk membuat
object dari class WakilDirektur. Dan pada class WakilDirektur ini
terdapat parameter yang isi parameternya nanti mengisi nilai dari class
Direktur yang sudah dibuat object barunya, nilainya nanti akan di masukan
ke dalam method cetakPegawai. Method cetakPegawai merupakan
method dari class WakilDirektur.
Pada baris kedua puluh empat terdapat keyword new yang berfungsi
untuk membuat object baru dengan nama staf yang berfungsi untuk
membuat object dari class Staf. Dan pada class Staf ini terdapat
parameter yang isi parameternya nanti mengisi nilai dari class Staf yang
sudah dibuat object barunya. nilainya nanti akan di masukan ke dalam method
cetakPegawai. Method cetakPegawai merupakan method dari class
Direktur.
Pada baris kedua puluh enam terdapat dir.cetakPegawai()digunakan
untuk memanggil method cetakPegawai pada class Direktur yaitu untuk
menampilkan hasil dari operasi method cetakPegawai.
Pada baris kedua puluh tujuah terdapat wkdir.cetakPegawai()
digunakan untuk memanggil method cetakPegawai pada class
WakilDirektur yaitu untuk menampilkan hasil dari operasi method
cetakPegawai.
Pada baris kedua puluh delapan terdapat staf.cetakPegawai()
digunakan untuk memanggil method cetakPegawai pada class Staf yaitu
untuk menampilkan hasil dari operasi method cetakPegawai.
Pada baris kedua puluh sembilan terdapat tanda kurung kurawal tutup
}, digunakan untuk mengakhiri blok program dari method static main.
Pada baris ketiga puluh terdapat tanda kurung kurawal tutup },
digunakan untuk mengakhiri blok program dari class Pegawai.

Berikut output programnya :

Gambar 2.6 Output program dari project Pegawai

2. Menganalisa dan memperbaiki 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.gukguk);
}
Public void tidur()
System.out.Println(zzz..zzz....zzz);
}
}
public class TesSuara
{
Public static main(String args)
Anjing AirBuds = new Anjing(Coklat,20.4f)
AirBuds.berbicara;
AirBuds.tidur;
}
}

Program kedua, menganalisa dan memperbaiki kesalahan pada program-


program di atas.

Sebelum :
File: Suara.java
public interface Suara
{
Public voic berbicara();
Public void tidur();
}

Sesudah :
File: Suara.java
public interface Suara
{
public voic berbicara();
public void tidur();
}

Keterangan :
Pada baris pertama merupakan java interface dengan nama Suara dari
package anjing, yang memiliki modifier public. Interface itu sendiri adalah
kumpulan method secara struktur di bahasa pemrograman Java , yang
berfungsi untuk tempat menyimpan method kosong dan atribut yang bersifat
constant atau final , serta tidak mempunyai Implementasi. Kita hanya dapat
menggunakan atau mengimplementasikan (keyword : implements) interface
dengan class lain ,serta dapat mewariskan (keyword : extends ) dengan
interface yang lain.
Pada baris kedua terdapat tanda kurung kurawal buka {, digunakan
untuk mengawali blok program dari java interface Suara.
Pada baris ketiga merupakan sebuah method kosong dengan nama
berbicara yang mempunyai modifier public. Di sini modifier public semua
menggunakan huruf kecil.
Pada baris keempat merupakan sebuah method kosong dengan nama
tidur yang mempunayai modifier public. Di sini modifier public semua
menggunakan huruf kecil.
Pada baris kelima terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari java interface Suara.

Sebelum :
File: Anjing.java
Public class Anjing implements Suara
{
//informasi data anjing
String warna;
float berat;

Sesudah :
public class Anjing implements Suara
{
//informasi data anjing
String warna;
float berat;

Keterangan :
Pada baris pertama terdapat class dengan nama Anjing dengan
modifier public, yang semua hurufnya harus huruf kecil semua, dan terdapat
keyword implements Suara. Disini artinya bahwa Class Anjing dapat
mengimplementasi method yang telah di deklarasikan di interface Suara
Pada baris kedua terdapat tanda kurung kurawal buka {, digunakan
untuk mengawali blok program dari class Anjing.
Pada baris ketiga merupakan sebuah komentar.
Pada baris keempat merupakan sebuah variabel dengan nama warna
yang bertipe data String, yang merupakan attribute dari class Anjing.
Pada baris kelima merupakan sebuah variabel dengan nama berat yang
bertipe data float, yang merupakan attribute dari class Anjing.

Sebelum :
public Anjing(String w, float b);
{
Warna = w;
berat = b;
}
Sesudah :
public Anjing(String w, float b);
{
warna = w;
berat = b;
}

Keterangan :
Pada baris pertama merupakan sebuah konstruktor dengan nama
Anjing yang mempunyai parameter variabel dengan namaw yang bertipe
data String, dan variabel dengan nama b yang bertipe data float.
Pada baris kedua terdapat tanda kurung kurawal buka {, digunakan
untuk mengawali blok program dari konstruktorAnjing.
Pada baris ketiga terdapat variabel warna yang berasal dari class
Anjing, nama variabel warna di sini semua menggunakan huruf kecil
karena merujuk pada variabel warna dari class Anjing. Di sini variabel
warna di beri nilai variabel w yang merupakan sebuah variabel dari
parameter konstruktor Anjing.
Pada baris keempat terdapat variabel berat yang berasal dari class
Anjing. Di sini variabel berat di beri nilai variabel b yang merupakan
sebuah variabel dari parameter konstruktor Anjing.
Pada baris kelima terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari konstruktor Anjing.

Di sini menambahkan sebuah fungsi dengan nama tampilwarnaBerat


dengan modifier public, sebagai berikut.

public void tampilwarnaBerat(){


System.out.println("Warna : "+warna);
System.out.println("Berat : "+berat);
}
Keterangan :
Pada baris pertama terdapat method dengan nama tampilwarnaBerat
dengan modifier public, dan terdapat tanda kurung kurawal buka {
digunakan untuk mengawali blok program dari method tampilwarnaBerat
Pada baris kedua terdapat System.out.print("Warna : "+warna); yang
artinya adalah :
1. System.out, adalah stream yang digunakan untuk menangani keluaran
standar java.
2. Print(), merupakan metode yang digunakan untuk menampilkan teks di
layar tanpa garis baru, yang di sini menampilkan string Warna : yang
disini nantinya diisi dengan nilai dari variabel warna.
3. Tanda titik koma (;), digunakan untuk mengakhiri pernyataan.
Pada baris ketiga terdapat System.out.print("Berat : "+berat); yang
artinya adalah :
1. System.out, adalah stream yang digunakan untuk menangani keluaran
standar java.
2. Print(), merupakan metode yang digunakan untuk menampilkan teks di
layar tanpa garis baru, yang di sini menampilkan string Berat : yang
disini nantinya diisi dengan nilai dari variabel berat.
3. Tanda titik koma (;), digunakan untuk mengakhiri pernyataan.
Pada baris keempat terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari method tampilwarnaBerat.

Sebelum :
Public void berbicara()
{
System.out.println(Guk.gukguk);
}

Sesudah :
@Override
public void berbicara()
{
System.out.println(Guk.gukguk);
}

Keterangan :
Pada baris pertama terdapat annotasi Override, annotasi Override
melambangkan polymorfisme, yang merupakan implementasi dari java
interface Suara.
Pada baris kedua terdapat method dengan nama berbicara dengan
modifier public. Di sini tulisan modifier public semua harus huruf kecil.
Pada baris ketiga terdapat tanda kurung kurawal buka {, digunakan
untuk mengawali blok program dari method berbicara.
Pada baris keempat terdapat System.out.print("Guk.gukguk");
yang artinya adalah :
1. System.out, adalah stream yang digunakan untuk menangani keluaran
standar java.
2. Print(), merupakan metode yang digunakan untuk menampilkan teks di
layar tanpa garis baru, yang di sini menampilkan string
Guk.gukguk
3. Tanda titik koma (;), digunakan untuk mengakhiri pernyataan.
Pada baris kelima terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari method berbicara.

Sebelum :
Public void tidur()
System.out.Println(zzz..zzz....zzz);
}
}

Sesudah :
@Override
public void tidur(){
System.out.Println(zzz..zzz....zzz);
}

Keterangan :
Pada baris pertama terdapat annotasi Override, annotasi Override
melambangkan polymorfisme, yang merupakan implementasi dari java
interface Suara.
Pada baris kedua terdapat method dengan nama tidur dengan modifier
public. Di sini tulisan modifier public semua harus huruf kecil. Dan di sini
ada kesalahan, tidak terdapatnya tanda kurung kurawal buka {, seharusnya
menyertakan tanda kurung kurawal buka { pada baris pertama ini, untuk
mengwali blok program dari method tidur.
Pada baris ketiga terdapat System.out.print("Guk.gukguk");
yang artinya adalah :
1. System.out, adalah stream yang digunakan untuk menangani keluaran
standar java.
2. Print(), merupakan metode yang digunakan untuk menampilkan teks di
layar tanpa garis baru, yang di sini menampilkan string zzz..zzz....zzz
3. Tanda titik koma (;), digunakan untuk mengakhiri pernyataan.
Pada baris keempat terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari method tidur.
Pada baris kelima seharusnya tidak dimasukan tanda kurung kurawal
tutup } karena akan mengakhiri blog programnya, sedangkan programnya
belum selesai.

Sebelum :
public class TesSuara
{
Public static main(String args)
Anjing AirBuds = new Anjing(Coklat,20.4f)
AirBuds.berbicara;
AirBuds.tidur;
}
}

Sesudah :
public static void main (String[] args)
{
Public static main(String args)
Anjing AirBuds = new Anjing(Coklat,20.4f)
AirBuds.berbicara();
AirBuds.tidur();
}
}

Keterangan :
Pada baris pertama di sini diganti dengan method main public static void
main (String[] args) karena baris programnya masih terdapat pada java class
Anjing dan dilihat dari baris programnya untuk membuat object baru, dan
di sini membuat object baru harus di lakukan di method main yaitu public
static void main (String[] args). Seharusnya tidak membuat class baru lagi
TesSuara. Dan tulisan modifier public harus kecil semua.
Pada baris kedua terdapat tanda kurung kurawal buka {, digunakan
untuk mengawali blok program dari method main.
Pada baris ketiga terdapat keyword new yang berfungsi untuk membuat
object baru dengan nama AirBuds yang berfungsi untuk membuat object
dari class Anjing, yang mempunyai parameter dengan nilai
(Coklat,20.4f) yang nantinya nilai tersebut akan mengisi nilai dari class
Anjing yang di class Anjing terdapat konstrukor Anjing yang
mempunyai parameter, dan di parameter dari konstruktor Anjing itulah
yang akan terisi nilainya.
Pada baris keempat terdapat AirBuds.berbicara digunakan untuk
memanggil method berbicara pada class Anjing yaitu untuk
menampilkan hasil dari operasi method berbicara. Di sini ada kesalahan
yang terdapat pada AirBuds.berbicara, seharusnya menambahkan tanda
kurung buka dan tutup () karena itu melambangkan sebuah method.
Pada baris kelima terdapat AirBuds.tidur digunakan untuk memanggil
method tidur pada class Anjing yaitu untuk menampilkan hasil dari
operasi method tidur. Di sini ada kesalahan yang terdapat pada
AirBuds.tidur, seharusnya menambahkan tanda kurung buka dan tutup ()
karena itu melambangkan sebuah method.
Pada baris keenam terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari method main.
Pada baris ketujuh terdapat tanda kurung kurawal tutup }, digunakan
untuk mengakhiri blok program dari class Anjing.

Berikut output programnya :

Gambar 2.7 Output program dari project Anjing


BAB III
KESIMPULAN

Dari pembahasan tersebut dapat disimpulkan bahwa pewarisan, dapat


menciptakan objek baru yang diturunkan dari objek lain. Objek baru ini sering
disebut dengan objek turunan (subsclass) sedangkan objek induknya sering
disebut dengan (superclass). 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).
Poyimorfisme adalah proses kebanyakrupaan, artinya kita dapat
mengimplementasikan sesuatu hal yang berbeda melalui satu cara yang sama. Di
polymorfisme terdapat 2 metode yaitu overloading dan overriding.
Interface mendefinisikan sebuah cara standar dan umum dalam menetapkan
sifat-sifat dari class-class. Interface menyediakan class-class, tanpa
memperhatikan lokasinya dalam hirarki class. Untuk mengimplementasikan sifat-
sifat yang umum. Dengan catatan bahwa interface-interface juga menunjukan
polymorfisme, 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 IV
DAFTAR PUSTAKA

Idriez Gienanjair.2014.Pewarisan di Java.


http://bahasa-pemrograman-java.blogspot.co.id/2014/03/pewarisan-di-
java.html.Diakses pada tanggal 21 Oktober 2017.

Madi Andi.2015.Overriding Methods di Java.


https://bmadi.wordpress.com/2015/04/08/overriding-methods-di-
java/.Diakses pada tanggal 21 Oktober 2017.

Mas Fathur.2016.Tutorial Belajar Bahasa Pemrograman Java Indonesia.


http://www.okedroid.com/p/belajar-java.html.Diakses pada tanggal 21
Oktober 2017.

Nugroho Bagus Wibowo.2015.Pengertian Polymorphism pada konsep Java


(PBO).
http://nbw96.blogspot.co.id/2015/01/pengertian-polymorphism-pada-
konsep.html.Diakses pada tanggal 2017.

Onestring Lab.2016.Penjelasan Interface Pada Java.


http://onestringlab.com/penjelasan-class-interface-pada-java/.Diakses pada
tanggal 21 Oktober 2017.

Ulya Nafiah.2015.Definisi dan Fungsi dari masing-masing keywords pada Java.


http://5302414079ulya.blogspot.co.id/2015/10/definisi-fungsi-dari-masing-
masing.html.Diakses pada tanggal 21 Oktober 2017.

Yulrio Brianorman.2015.Pewarisan (Inheritance) pada Java.


http://onestringlab.com/pewarisan-inheritance-pada-java/.Diakses pada
tanggal 21 Oktober 2017.
Viktor Handrianus Pranatawijaya dan Sherly Chirstina.2017.Modul Pemrograman
Berorientasi Objek.
BAB V
LAMPIRAN

Gambar 5.1 Perubahan aturan setelah kompilasi pada interface

Gambar 5.2 Hubungan interface dan class

Gambar 5.3 Pewarisan banyak pada java


Gambar 5.4 Koding pada java class Pegawai

Gambar 5.5 Koding pada java class Direktur


Gambar 5.6 Koding pada java class WakilDirektur

Gambar 5.7 Koding pada java class Staf


Gambar 5.8 Koding main program dari java class Pegawai

Gambar 5.9 Output program dari project Pegawai


Gambar 5.10 Output program dari project Anjing

Anda mungkin juga menyukai