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 PewarisanPewarisan 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.javaPublic 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","Mobil 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.javaPublic 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","Mobil 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 :