Anda di halaman 1dari 24

LAPORAN HASIL PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK

Nama : Harry Saputra Harton


NIM : DBC 109 033
Kelompok : PBO-1
Modul : IV (Pewarisan, Polymorfisme dan
Interface)

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKA


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

I.TUJUAN
• Mahasiswa dapat menggunakan teknik Pewarisan dan Polimorfisme.
• Mahasiswa dapat menggunakan interface.

II.LANDASAN TEORI
1. Teknik Pewarisan
Pewarisan dilakukan untuk membuat class baru (class
turunan/subclass) yang masih memiliki sifat atau sfesifikasi dari class
dimana ia diturunkan (Superclass). Untuk melakukan ini, Java
menyediakan keyword extends yang dapat dipakai pada 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 member dari superclass
System.out.println(“Jumlah : “+(x+y+z));
}
}

2. Teknik Polymorfisme
Teknik polymorfisme digunakan untuk menyatakan satu nama yang
merujuk (reperence) ke beberapa fungsi yang berbeda. Java
mengimplementasikan 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();
}
}
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 namaMethod1(parameter1);

}
Penggunaan interface
Access-spesifier class NamaClass implements
NamaInterface,…,NamaInterfaceN
{
//class implementation
}
BAB II
LANGKAH KERJA

 Melaksanakan Pre-Test.
 Membuka Aplikasi Java/Gel.
 Mengikuti Langkah-Langkah kerja yang ada pada modul praktikum PBO.
 Mengetik Listing program di Aplikasi Java/Gel.
 Membuat Tugas praktikum yang ada pada modul praktikum.
Pada modul praktikum yang keempat ini kita diminta Mengerjakan 2 buah
program, yaitu :

a. 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 :-

b. 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 pembahasan modul praktikum yang keempat ini kita membahas
tentang Pewarisan,Polymorfisme dan Interface. Pewarisan dilakukan untuk
membuat class baru (class turunan/subclass) yang masih memiliki sifat atau
sfesifikasi dari class dimana ia diturunkan (Superclass). Untuk melakukan ini,
Java menyediakan keyword extends yang dapat dipakai pada waktu kita
mendeklarasikan class. Teknik polymorfisme digunakan untuk menyatakan satu
nama yang merujuk (reperence) ke beberapa fungsi yang berbeda. Java
mengimplementasikan polymorfisme dengan 3 cara yaitu :
• Method overloading
• Method dengan pewarisan
• Method overriding dengan interface java

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 namaMethod1(parameter1);

}

Penggunaan interface
Access-spesifier class NamaClass implements
NamaInterface,…,NamaInterfaceN
{
//class implementation
}

Pada modul praktikum yang keempat ini Terdapat 2 buah program yang akan
kita bahas. Dibawah ini Pembahasan dari masing-masing Programnya :
1. Pada program yang pertama menggunakan teknik Pewarisan atau
Polymorfisme.
2. Sedangkan pada program yang kedua kita hanya memperbaiki Coding
Programnya saja.

1. Program Pertama :

class Pegawai {
String nama, bag, fasilitas, gaji, tunj;
int usia;

(Pada potongan coding diatas ini merupakan class


dari pegawai. Pada bagian ini terdapat 6 buah
variabel yaitu nama, bag, fasilitas, gaji, tunj
yang mempunyai tipe data string serta variabel usia
yang
Bertipe data integer)

public void cetakPegawai()

(potongan Coding diatas ini merupakan pembuka


sebuah metode)

{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}
(potongan Coding diatas ini adalah perintah untuk
mencetak output pada program ini dengan menggunakan
perintah atau metode println dari objek out dan
class System, String yang berguna untuk mencetak
kalimat)

class Direktur extends Pegawai {

(potongan Coding diatas ini merupakan kelas dari


Direktur dan extend merupakan pendeklarasian dari
class pegawai pada class Direktur)

public Direktur(String nma, int u, String b, String g,


String t, String f)

(potongan Coding diatas ini merupakan tipe akses


public pada class staf yang memiliki Tipe data
string dimana tipe data string ini memiliki nilai
nma, int u, string b, string g, string t, string f )

{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}
(potongan Coding diatas ini untuk mendeklarasian
parameter yang telah dimasukkan pada variabel
sehingga variabel-variabel tersebut akan bernilai
sama dengan parameter inputan variable)

{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}

(potongan Coding diatas ini merupakan perintah


untuk mencetak output pada program ini dengan
menggunakan perintah atau metode println dari objek
out dan class System, String yang berguna untuk
mencetak kalimat)

class WakilDirektur extends Pegawai {

{potongan Coding diatas ini merupakan kelas dari


WakilDirektur dan extend merupakan pendeklarasian
dari class pegawai pada class WakilDirektur}

public WakilDirektur(String nma, int u, String b, String


g, String t, String f)

(potongan Coding diatas ini merupakan tipe akses


public pada class staf yang memiliki parameter
string dimana parameter string ini memiliki nilai
dari nma, int u, string b, string g, string t,
string f )

{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}

(potongan coding diatas ini untuk mendeklarasian


parameter yang telah dimasukkan pada variabel
sehingga variabel-variabel tersebut akan bernilai
sama dengan parameter inputan variabel)

public void cetakPegawai()

(potongan coding diatas ini merupakan pembuka


sebuah metode)

{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}
(potongan coding diatas ini merupakan perintah
untuk mencetak output pada program ini dengan
menggunakan perintah atau metode println dari objek
out dan class System, String yang berguna untuk
mencetak kalimat)

class Staf extends Pegawai {


(potongan coding diatas ini merupakan kelas dari
Staf dan extends merupakan pendeklarasian dari
class pegawai pada class Staf)

public Staf (String nma, int u, String b, String g, String


t, String f)

(potongan coding diatas ini merupakan tipe akses


public pada kelas Staf yang memiliki parameter
string yang dimana parameter string ini memiliki
nilai dari nma, int u, string b, string g, string
t, string f)
{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}
(potongan coding diatas ini untuk mendeklarasian
parameter yang telah dimasukkan pada variabel
sehingga variabel-variabel tersebut akan bernilai
sama dengan parameter inputan variable)
{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}

(potongan coding diatas ini merupakan perintah


untuk mencetak output pada program ini dengan
menggunakan perintah atau metode println dari objek
out dan kelas System, String yang berguna untuk
mencetak kalimat)

class Main
{
public static void main(String[] args) {

(potongan coding di atas ini merupakan method pada


program ini Method ini menggunakan pernyataan
public static void)

main(String[] args.
(potongan Coding diatas ini merupakan pernyataan
pembuka sebuah metode)

Direktur dir = new


Direktur("Antonio",28,"Direktur","10.000.000","5.000.000","Mob
il Dinas, Rumah Dinas");
WakilDirektur wkdir = new
WakilDirektur("Jimmy",25,"Wakil
Direktur","7.000.000","2.000.000","Mobil Dinas");
Staf staf = new Staf("Boy", 25, "Staf",
"1.500.000","-","-");

(Pada potongan coding diatas ini akan terjadi


pembuatan instance atau objek dari class Direktur,
WakilDirektur dan Staf)

dir.cetakPegawai();
wkdir.cetakPegawai();
staf.cetakPegawai();
}
}
(potongan Coding diatas ini merupakan inti/akhir dari
program ini dimana akan dilakukan pemanggilan
masing-masing deklarasi class untuk mencetak nilai)

Output program pertama :


2. Program Kedua :
Dibawah ini adalah coding program yang Salah :
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;

Dibawah ini coding program yang benar :


File : Suara.java
(Suara.java Pada program diatas ini merupakan nama
dari kelompok beberapa class pada java)
public interface Suara {
public void berbicara();
public void tidur();
}

(potongan coding ini merupakan pembuka sebuah


metode)

File : Anjing.java

(Anjing.java Pada program diatas ini merupakan nama


dari kelompok beberapa class pada java)

public class Anjing implements Suara


(potongan coding ini merupakan implementasi suara
pada class anjing)
{
String warna;
float berat;

public Anjing(String w, float b)


{
warna = w;
berat = b;
}

public void berbicara()


(potongan coding ini merupakan pembuka sebuah
metode)

{
System.out.println("Guk…Guk…guk");
}

(potongan coding ini berguna untuk mencetak kalimat


“Guk…Guk…guk”)

public void tidur()

(potongan coding ini merupakan pembuka sebuah


metode)

{
System.out.println("zzzz….zzzz…zzzz");

}
(potongan coding ini akan mencetak kalimat “zzzz…
zzzz….zzzz” dengan menggunakan perintah atau metode
println dari objek out dan class System)

public static void main(String[] args)

(potongan coding ini merupakan method pada program


ini. Method ini menggunakan pernyataan public
static void main(String[] args. Maksudnya adalah
pernyataan pembuka sebuah metode)

{
Anjing AirBuds = new Anjing("Coklat",20.4f);
(Potongan coding ini akan terjadi pembuatan
instance atau objek dari Anjing AirBuds dengan
menggunakan konstruktor yang ada)

AirBuds.berbicara();
AirBuds.tidur();

}
}

(potongan coding ini merupakan inti atau akhir


dari program ini dimana akan dilakukan pemanggilan
masing-masing deklarasi kelas untuk mencetak nilai)

Output program kedua :


BAB IV
KESIMPULAN

Berdasarkan Pembahasan diatas saya dapat mengambil kesimpulan bahwa,


Dalam Pewarisan, Polymorfisme dan interface, Kita diharapkan dapat
menggunakan Teknik Pewarisan dan Polymorfisme serta dapat membuat
interface. Dan didalam penulisan coding program pada java kita harus
memperhatikan penulisan nama class, jika nama classnya tidak sesuai maka hasil
tampilan Output programnya akan Error.
Teknik polymorfisme digunakan untuk menyatakan satu nama yang
merujuk (reperence) ke beberapa fungsi yang berbeda
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 namaMethod1(parameter1);

}

Penggunaan interface
Access-spesifier class NamaClass implements
NamaInterface,…,NamaInterfaceN
{
//class implementation
}

BAB V
DAFTAR PUSTAKA

Modul Praktikum Pemrograman Berorientasi Obyek, Tim Penyusun (2010)


Universitas Palangka Raya.

- Gel

-Modul praktikum IV (Pewarisan,Polymorfisme da Interface).


BAB VI
LAMPIRAN

1.Coding Program pertama :

package modul4tugas1;

class Pegawai {
String nama, bag, fasilitas, gaji, tunj;
int usia;

public void cetakPegawai()


{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}
class Direktur extends Pegawai {
public Direktur(String nma, int u, String b, String g,
String t, String f)
{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}

public void cetakPegawai()


{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}

class WakilDirektur extends Pegawai {


public WakilDirektur(String nma, int u, String b, String
g, String t, String f)
{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}

public void cetakPegawai()


{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}

class Staf extends Pegawai {


public Staf (String nma, int u, String b, String g, String
t, String f)
{
nama = nma;
usia = u;
bag = b;
gaji = g;
tunj = t;
fasilitas = f;
}

public void cetakPegawai()


{
System.out.println("Nama : " + nama);
System.out.println("Usia : " + usia);
System.out.println("Bagian : " + bag);
System.out.println("Gaji Pokok : Rp. " + gaji
+ ",00");
System.out.println("Tunjangan Jabatan : Rp. " + tunj
+ ",-");
System.out.println("Fasilitas : " +
fasilitas);
System.out.println();
}
}

class Main
{
public static void main(String[] args) {
Direktur dir = new
Direktur("Antonio",28,"Direktur","10.000.000","5.000.000","Mob
il Dinas, Rumah Dinas");
WakilDirektur wkdir = new
WakilDirektur("Jimmy",25,"Wakil
Direktur","7.000.000","2.000.000","Mobil Dinas");
Staf staf = new Staf("Boy", 25, "Staf",
"1.500.000","-","-");

dir.cetakPegawai();
wkdir.cetakPegawai();
staf.cetakPegawai();
}
}

Output program pertama :


2.Coding Program kedua :

package modul4tugas2;

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("zzzz….zzzz…zzzz");
}

public static void main(String[] args)


{
Anjing AirBuds = new Anjing("Coklat",20.4f);
AirBuds.berbicara();
AirBuds.tidur();
}
}

Output program kedua :