pbo hasil 4_harry

26
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

Upload: kadek-yogi-basunanta

Post on 26-Jun-2015

268 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: PBO Hasil 4_Harry

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

Page 2: PBO Hasil 4_Harry

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

Page 3: PBO Hasil 4_Harry

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

}

Page 4: PBO Hasil 4_Harry

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

Page 5: PBO Hasil 4_Harry

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; }}

Page 6: PBO Hasil 4_Harry

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

}

Page 7: PBO Hasil 4_Harry

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

}

Page 8: PBO Hasil 4_Harry

}

(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)

Page 9: PBO Hasil 4_Harry

{

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 )

Page 10: PBO Hasil 4_Harry

{ 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)

Page 11: PBO Hasil 4_Harry

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(); }}

Page 12: PBO Hasil 4_Harry

(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)

Page 13: PBO Hasil 4_Harry

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; }}

Page 14: PBO Hasil 4_Harry

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"); }

Page 15: PBO Hasil 4_Harry

(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)

Page 16: PBO Hasil 4_Harry

Output program kedua :

Page 17: PBO Hasil 4_Harry

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

}

Page 18: PBO Hasil 4_Harry

BAB V

DAFTAR PUSTAKA

Modul Praktikum Pemrograman Berorientasi Obyek, Tim Penyusun (2010)

Universitas Palangka Raya.

- Gel

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

Page 19: PBO Hasil 4_Harry

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 + ",-");

Page 20: PBO Hasil 4_Harry

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);

Page 21: PBO Hasil 4_Harry

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 :

Page 22: PBO Hasil 4_Harry

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 :