Anda di halaman 1dari 17

LAPORAN HASIL PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK

NAMA : KRISTINA LORENZA


NIM : DBC 118 090
KELAS :A
MODUL : II ( PEWARISAN, POLYMORFISME,
DAN INTERFACE )

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA
2019

1
BAB I
TUJUAN DAN LANDASAN TEORI

1.1. TUJUAN
1.1.1. Mahasiswa dapat menggunakan teknik pewarisan dan polymorfisme.
1.1.2. Mahasiswa dapat membuat interface.

1.2. LANDASAN TEORI


1.2.1. Pewarisan
Pewarisan dilakukan untuk membuat class baru (class
turunan/subclass) yang masih memiliki sifat atau spesifikasi dari
classdimana ia diturunkan (Superclass). Untuk melakukan ini,
Javamenyediakan keyword extends yang dapat dipakai pada waktu
kitamendeklarasikan class.
Constructor adalah method yang secara otomatis
dipanggil/dijalankan pada saat sebuah class diinstansiasi. Jika
dalamsebuah class tidak terdapat constructor maka secara otomatis
Java akanmembuatkan sebuah default constructor. Nama constructor
harus samadengan nama class dan tidak boleh memiliki tipe return
value.
Keyword “super” digunakan oleh subclass untuk
memanggilconstructor, atribut dan method yang ada pada superclass-
nya.

1.2.2. Polymorfisme
Polimorfisme mempunyai makna sesuatu yang memiliki
banyak bentuk, yaitu memiliki nama sama, tetapi memiliki kelakuan
(behaviour) yang berbeda. Teknik polimorfisme digunakan untuk
menyatakan satu nama yang merujuk (reference) ke beberapa fungsi
yang berbeda.
Contoh : Setiap Binatang dapat bersuara. Namun, kita baru
mengetahui Binatang tersebut adalah seekor ayam setelah iya

2
3

berkokok, demikian pula dengan seekor kucing ataupun


nyamuk. Suara Binatang tersebut berbeda-beda, sehingga kita dapat
mengenalinya, namun demikian kesemuanya memiliki aktivitas yang
sama, yaitu bersuara. Java menginterprestasikan polimorfisme
dengan 3 cara yaitu method overloading, pewarisan, method
overriding dengan interface java.

1.2.3. Interface
Secara sederhana, Object Interface adalah sebuah ‘kontrak’ atau
perjanjian implementasi method. Bagi class yang menggunakan
objectinterface, class tersebut harus mengimplementasikan ulang
seluruhmethod yang ada di dalam interface. Dalam pemrograman
objek,penyebutan object interface sering disingkat dengan ‘Interface’
saja.
Contoh : Jika terdapat class komputer, interface bisa
dicontohkan dengan ‘mouse’. Di dalam interface mouse, kita bisa
membuat methodseperti klik_kiri(), klik_kanan(), dan double_klik().
Jika class laptop‘menggunakan’ interface mouse, maka class tersebut
harus membuatulang method klik_kiri(), klik_kanan(), dan
double_klik().
BAB II
PEMBAHASAN

2.1. Program Polymorfisme Kendaraan


Untuk pembahasan bagian ini, akan dijelaskan mengenai coding program
polymorfisme kendaraan yang mengunakan pewarisan. Adapun input coding
seperti berikut:
package polimorfisme;
public class kendaraan {
String nama,jenis,roda;
public kendaraan (String nm,String jn,String rd)
{
nama=nm;
jenis=jn;
roda=rd;
}
public void info ()
{
System.out.println("~~~");
System.out.println("Nama : "+nama);
System.out.println("Jenis: "+jenis);
System.out.println("Roda : "+roda);
}
}
Tabel 2.1 kelas kendaraan

Pada bagian ini terdapat sebuah kelas yang bernama kendaraan yang
merupakan kelas induk atau superclass.

4
5

package polimorfisme;
public class motor extends kendaraan {
public motor (String nm,String jn,String rd)
{
super (nm,jn,rd);
}
public void info ()
{
System.out.println("~~~");
System.out.println("Nama : "+nama);
System.out.println("Jenis: "+jenis);
System.out.println("Roda : "+roda);
}
}
Tabel 2.2 Deklarasi kelas motor

Pada bagian ini terdapat sebuah kelas yang bernama motor yang
merupakan kelas turunan dari kelas kendaraan.

package polimorfisme;
public class tank extends kendaraan {
String keterangan;
public tank (String nm,String jn,String rd,String kt)
{
super (nm,jn,rd);
keterangan=kt;
}
public void info ()
{
System.out.println("~~~");
System.out.println("Nama : "+nama);
System.out.println("Jenis: "+jenis);
System.out.println("Roda : "+roda);
6

System.out.println("Keterangan : "+keterangan);
}
}
Tabel 2.3 Deklarasi kelas tank

Pada bagian ini terdapat sebuah kelas tank yang merupakan kelas turunan
dari kelas kendaraan.

package polimorfisme;
public class pesawat extends kendaraan {
public pesawat (String nm,String jn,String rd)
{
super (nm,jn,rd);
}
public void info ()
{
System.out.println("~~~");
System.out.println("Nama : "+nama);
System.out.println("Jenis: "+jenis);
System.out.println("Roda : "+roda);
}
}
Tabel 2.4 Deklarasi kelas pesawat

Pada bagian ini terdapat sebuah kelas pesawat yang merupakan kelas
turunan dari kelas kendaraan.

package polimorfisme;
public class Utama {
public static void main(String[] args) {
kendaraan mobil = new kendaraan("Ford","Mobil","4");
motor ninja = new motor("Ninja","Motor","2");
tank leopard =new tank("Leopard 2A7","Tank","0”
7

,"Menggunakan Rantai");
pesawat garuda = new pesawat("Garuda","Pesawat","10");
mobil.info();
mobil = ninja;
ninja.info();
mobil = leopard;
leopard.info();
mobil = garuda;
garuda.info();
}
}
Tabel 2.5 Deklarasi kelas Utama

Pada bagian ini terdapat sebuah kelas utama yang berfungsi sebagai
eksekusi awal program. Untuk jalan programnya pertama-tama program akan
mencari main classnya yaitu kelas Utama selanjutnya program akan membuat
objek dari kelas kendaraan yang nama objeknya adalah “mobil” lalu isi
parameter dari objek kendaraan ini diisikan dengan "Ford","Mobil", dan "4".
Selanjutnya program akan membuat objek dari kelas motor yang nama
objeknya adalah ”ninja” lalu parameter dari objek motor ini diisikan dengan
"Ninja","Motor", dan "2". Selanjutnya program akan membuat objek dari
kelas tank yang nama objeknya adalah “leopard” lalu isi parameternya dari
objek tank ini diisikan dengan "Leopard 2A7","Tank","0", dan
"Menggunakan Rantai". Selanjuntya program akan membuat objek dari kelas
pesawat yang nama objeknya adalah “garuda” lalu parameter dari objek
pesawat ini diisikan dengan "Garuda","Pesawat", dan "10". Selanjutnya objek
“mobil” akan memanggil fungsi dari kelas kendaraan yaitu fungsi info()lalu
isi dari parameter objek “mobil” dimasukkan kedalam setiap variabel yang
telah diinisialisai oleh kontruktor dari kelas kendaraan setelah itu ditampilkan
dilayar. Selanjutnya program akan meng-override objek dari kelas kendaraan
ke objek kelas motor dengan perintah mobil = ninja;. Selanjunya objek
“ninja” akan memanggil fungsi dari kelas motor yaitu fungsi info()lalu isi dari
parameter objek “ninja” dimasukkan kedalam setiap variabel yang telah
8

diinisialisai oleh kontruktor dari kelas motor setelah itu ditampilkan dilayar.
Selanjunya program akan men-override objek dari kelas kendaraan ke objek
kelas tank dengan perintah mobil=leopard;. Selanjutnya objek “leopard”
akan memanggil fungsi dari kelas tank yaitu fungsi info()lalu isi dari
parameter objek “leopard” dimasukkan kedalam setiap varibel yang telah
diinisialisai oleh kontruktor dari kelas tank setelah itu ditampilkan dilayar.
Selanjunya program akan men-override objek dari kelas kendaraan ke objek
kelas pesawat dengan perintah mobil=garuda;. Terakhir objek “garuda” akan
memanggil fungsi dari kelas pesawat yaitu fungsi info() lalu isi dari parameter
objek “garuda” dimasukkan kedalam setiap varibel yang telah diinisialisai
oleh kontruktor dari kelas pesawat setelah itu ditampilkan dilayar.

Gambar 2.1 Output program polymorfisme kendaraan

2.2. Program Keyboard


Untuk pembahasan bagian ini, akan dijelaskan mengenai coding program
keyboard yang mengunakan interface. Adapun input coding seperti berikut:

public interface Keyboard {


protected void tekan_enter();
protected void tekan_delete();{
9

System.out.println(“Tombol delete ditekan.”);


TombolDelete=true;
}

Tabel 2.7 Deklarasi interface keyboard sesudah diperbaiki


package keyboard;
public interface Keyboard {
public void tekan_enter();
public void tekan_delete();
}

a bagian ini terdapat sebuah interface, yang mana akan dijelaskan


kesalahan-kesalahan pada interface ini. Adapun kesalahan-kesalahannya
sebagai berikut, kesalahan pada tabel 2.6 adalah karena enkapsulasinya
methodnya protected yang seharusnya enkapsulasinya interface harus public
seperti tabel 2.7. kesalahan pada tabel 2.6 selanjutnya adalah seharusnya
method void tekan_delete() diperbaiaki seperti tabel 2.7 karena interface tidak
boleh ada method yang terdapat isinya.

public class Laptop extends Keyboard{


String merk, jenis;
protected myLaptop(String merk, String jenis){
merk=merk;
jenis=jenis;
}
public void tekan_enter(){
10

System.out.println(“Tombol enter ditekan.”);


tombolEnter=true;
}
}
public class Utama(){
public static void main(String[] args) {
System.out.println("Laptop :");
Laptop acer=new Laptop();
}
}
Tabel 2.8 Deklarasi kelas utama sebelum diperbaiki

package keyboard;
class Laptop implements Keyboard{
String merk,jenis;
public Laptop(String merk,String jenis){
this.merk = merk;
this.jenis=jenis;
}
public void tekan_delete(){
System.out.println("Tombol delete pada laptop "+merk+jenis+"
ditekan.");
}
public void tekan_enter(){
System.out.println("Tombol enter pada laptop "+merk+jenis+"
ditekan.");
}
}

public class utama{


public static void main(String[] args) {
System.out.println("Laptop :");
Laptop acer = new Laptop("Acer"," V5");
11

acer.tekan_delete();
acer.tekan_enter();
}
}
Tabel 2.9 Deklarasi kelas utama sesudah diperbaiki
Pada bagian ini terdapat sebuah kelas utama yang menimplementasikan
interface, disini akan dijelaskan kesalahan-kesalahan program adapun
kesalahanya sebagai berikut, kesalahan pada tabel 2.8 pada perintah public
class Laptop extends Keyboard seharusnya diperbaiki seperti tabel 2.9 yaitu
class Laptop implements Keyboardkarena interface harus menggunakan
perintah implements untuk mengimplementasikan interface. Kesalahan pada
tabel 2.8 pada perintah protected myLaptopseharunya diperbaiki seperti tabel
2.9 yaitu public Laptopkarena enkapsulasinya harus diganti menjadi public
dan juga nama konstruktor harus sama dengan nama kelasnya. Kesalahan
pada tabel 2.8 pada method public void tekan_enter()seharusnya isi
methodnya diganti seperti method public void tekan_enter()pada tabe 2 .9.
kesalahan pada tabel 2.8 selanjutnyaadalah kurang method public void
tekan_delete()seharusnya seperti tabel 2.9. kesalahan pada tabel 2.8
selanjutnya adalah tidak ada objek dari “acer” yang memanggil method
seharusnya objek “acer” memanggil method void tekan_delete()dan void
tekan_enter()seperti tabel 2.9.
Untuk jalan program pertama-tama program akan mencari main classnya
setelah ditemukan main class nya yaitu kelas utama, selanjutnya program
akan membuat objek dari kelas Laptop yang nama objeknya adalah “acer”
lalu parameter objek Laptop diisikan dengan “Acer” dan “V5” selanjutnya
objek “acer” akan memanggil method dari kelas Laptop yaitu void
tekan_delete()dan void tekan_enter()yang merupakan implementasi dari
interface keyboard lalu isi dari parameter objek “acer” dimasukkan kedalam
setiap variabel yang telah diinisialisai oleh kontruktor dari kelas Laptop
setelah itu ditampilkan dilayar.
12

Gambar 2.2 Output program keyboard


BAB III
KESIMPULAN

Kesimpulan yang dapat diambil dari praktikum ini adalah sebagai berikut
Pewarisan merupakan sifat dalam bahasa berorientasi objek yang memungkinkan
sifat-sifat dari suatu kelas diturunkan ke kelas lain.Java tidak mengijinkan
pewarisan jamak akan tetapi menyelesaikan kebutuhan pewarisan jamak dengan
fasilitas antarmuka yang lebih elegan. Polimorfisme berarti banyak
bentuk. Polimorfisme sering dikaitkan dengan penggunaan lebih dari satu metode
dengan nama sama.

16
DAFTAR PUSTAKA

Dosen Teknik Informatika.2019.Pemrograman Berorientasi Objek. Modul


Praktikum Pemrograman Berorientasi Objek. Universitas Palangka Raya.
Fakultas Teknik. Jurusan Teknik Informatika.

Tanpa Nama. 2017.Memahami Konsep Polimorfisme (Polymorphism) Di


Java.https://www.termasmedia.com/pemrograman/java/250-memahami-
konsep-polimorfisme-polymorphism-di-java.html (Diakses pada Jumat 04
Oktober 2019)

Wijaya,Doni. 2012.JAVA: Pewarisan (Inheritance) pada java & contoh


program Inheritance
https://doniavira.wordpress.com/2012/04/19/pewarisan
-inheritance/(Diakses pada Jumat 04 Oktober 2019)

17
LAMPIRAN

Gambar 1. Deklarasi kelas induk

Gambar 2. Deklarasi kelas motor

Gambar 3. Deklarasi kelas tank

18
16

Gambar 4. Deklarasi kelas pesawat

Gambar 5 Output program polymorfisme kendaraan

Gambar 6. Deklarasi interface keyboard


17

Gambar 7. Deklarasi kelas utama

Gambar 8. Output program keyboard

Anda mungkin juga menyukai