Anda di halaman 1dari 10

LAPORAN PRAKTIKUM KE - 10

OOP DASAR

Disusun Oleh :

Nama : ANISSA KARUNIA

NIM : M3111014

Kelas : TI A

DIPLOMA III TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SEBELAS MARET

2012
DASAR TEORI

Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas
ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak
dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa
mengandung method kongkrit dan/atau method abstract. Abstract method meruapakan
suatu method yang tidak mempunyai badan method. Hanya berupa nama method dan
parameter inputan method. Ketika suatu abstract class diturunkan/ di-extends, maka
subclass harus mengimplementasikan semua method abstract pada parent/ base class.
Jika tidak mengimplementasikan semua method abstract maka subclass harus
dideklarasikan sebagai abstract class.

Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method,
tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang
mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin
mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses
inheritance. Tipe data yang boleh pada interface hanya tipe data konstan. Setelah
mengetahui apa itu interface. Timbul pertanyaan Mengapa membutuhkan interface?

 Memecahkan bagian yang rumit dan spesifik. Dengan menggunakan class atau
interface oleh vendor maka dalam pembuatan perangkat lunak menjadi lebih
cepat.
 Keterbatasan inheritance pada Java. Interface menjawab kebutuhan untuk
melakukan multiple inheritance

Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface
tipe datanya hanya berupa konstanta

Method pada abstract class dapat berupa method kongkrit dan method abstract.
Sedangkan pada interface semua method harus berupa method abstract.

Karena abstract class adalah class yg udah hampir jadi(50%), maka bisa dilihat
perbedaannya dengan interface yg bukan sama sekali class(0%)..
1. Abstract class boleh punya attribut, sedangkan interface tidak boleh punya attribut
(hanya boleh punya konstanta).

2. Abstract class boleh punya methode yg sudah diimplementasikan, sedangkan


interface tidak boleh punya methode yg sudah diimplementasikan

3. Abstract class punya constructor, sedangkan interface tidak

4.Sebuah class hanya boleh mengextend dari satu abstract class tapi boleh
mengimplementasikan banyak interface.

Polymorphism
Poliymorphism adalah kemampuan dar i object untuk memiliki banyak bentuk.
Umumnya
penggunaan polymorphism dalam OOP muncul ketika referensi class parent
digunakan untuk
acuan object class child . Contoh implementasi dari polimorphism dalam java:
1. Overloading adalah kemampuan untuk menggunakan nama yang sama dengan
isi
parameter yang ber beda.
2. Overriding adalah kemampuan untuk menulis kembali method class parent dengan
nama
dan par ameter yang sama tetapi definisi method yang berbeda.

Keuntungan Pemograman dengan menggunakan Polymorphism adalah :

 Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan
membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang
lebih khusus dari behaviour umum yang dimiliki superkelas.
 kita dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak
memberikan implementasidari metode-metode yang ada.Hal ini berguna jika kita
ingin membuat semacam template kelas,kelas semacam ini disebut kelas abstrak
karena behaviournya masih abstrak dan belum diimplementasikan.subkelas-
subkelas dari kelas semacam ini yang disebut kelas konkret,mengimplementasikan
behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.
 Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang
sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya,
namun tetap bisa menambahkan attribute dan atau method unik dari class itu
sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam
istilah satu interface banyak aksi.
 Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa
(override), suatu method, yang berasal dari parent class (super class) dimana object
tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

LANGKAH PRAKTIKUM

1. Membuka NetBean IDE 7.1.2 New Project Java menuliskan nama pr oject
Finish
2. Pada nama project klik kanan New java Packages menuliskan nama
packages
strukturJava
3. Pada project New java class menuliskan nama class
4. Menuliskan pada kelas CDPolymorphism :
public class CDPolymorphism {
String ID;
String nameTittle;
int jmlh;
int date;
int umur;
String jenis;
int harga;
public CDPolymorphism() {
}
public CDPolymorphism(String ID,String nameTittle, int jmlh, int date, int umur,
String jenis, int harga){
this.ID=ID;
this.nameTittle= nameTittle;
this.jmlh = jmlh;
this.date = date;
this.umur = umur;
this.jenis = jenis;
this.harga = harga;
}
public CDPolymorphism(String ID,String nameTittle, int jmlh){
this.ID=ID;
this.nameTittle= nameTittle;
this.jmlh = jmlh;
}
public CDPolymorphism(String ID,String nameTittle, int jmlh, int harga){
this.ID=ID;
this.nameTittle= nameTittle;
this.jmlh = jmlh;
this.harga = harga;
}
public void setId(String ID) {
this.I D = ID;
}
public void setTittle(String nameTittle) {
this.nameTittle = nameTittle;
}
public void setJml(int jml) {
this.jmlh = jml;
}
public void setDate(int date) {
this.date = date;
}
public void setKalanganUmur(int umur) {
this.umur = umur;
}
public void setJenisCD(String jenis) {
this.jenis = jenis;
}
public void setHarga(int harga) {
this.harga = harga;
}
public String getID() {
return this.ID;
}
public String getTittle() {
return this.nameTittle;
}
public int getJml() {
return this.jmlh;
}
public int getDate() {
return this.date;
}
public int getKalanganUmur() {
return this.umur;
}
public String getJenisCD() {
return this.jenis;
}
public int getHarga() {
return this.harga;
}
}
5. Menuliskan pada kelas MainCD :
public class MainCD {
public static void main(String arg[]){
CDPolymorphism cd1;
CDPolymorphism cd2;
CDPolymorphism cd3;

cd1 = new CDPolymorphism();


cd2 = new CDPolymorphism("D10","The Mask",3);
cd3 = new CDPolymorphism("D11","One little of tears",3,1500);

//menampilkan data cd
System.out.println("Data CD 1");
System.out.println("id = "+cd1.getID());
System.out.println("judul = "+cd1.getTittle());
System.out.println("jumlah = "+cd1.getJml());
System.out.println("harga"+cd1.getHarga());

System.out.println("Data CD 2");
System.out.println("id = "+cd2.getID());
System.out.println("judul = "+cd2.getTittle());
System.out.println("jumlah = "+cd2.getJml());
System.out.println("harga"+cd2.getHarga()) ;

System.out.println("Data CD 3");
System.out.println("id = "+cd3.getID());
System.out.println("judul = "+cd3.getTittle());
System.out.println("jumlah = "+cd3.getJml());
System.out.println("harga"+cd3.getHarga());
}
}
6. Mengubah date pada kelas CDFilm :
import java.util.Date;
public class CDFilm extends NewCD{
int datePinjam;
int tanggalKembali;
//@Override
void transaksi(int datePinjam) {
this.datePinjam = datePinjam;
this.tanggalKembali= this.tanggalKembali+(7*(60*60*24*1000));
}
//polymorphisme overiding
@Override
public int getDate(){
Date date1 = new Date();
super.date = (int) date1.getTime();
return super.date;
}
}
7. Menambahkan pada kelas MainCD :
public class MainCD {
public static void main(String arg[]){
CDPolymorphism cd1;
CDPolymorphism cd2;
CDPolymorphism cd3;
CDFilm cd4;

cd1 = new CDPolymorphism();


cd1.setId("D10");
cd1.setTittle("Kungfu Panda");
cd1.setJml(10);
cd1.setHarga(1000);

cd2 = new CDPolymorphism("D10","The Mask",3);


cd2.setHarga(2000);
cd3 = new CDPolymorphism("D11","One little of tears",3,1500);

cd4 = new CDFilm();


cd1.setId("D12");
cd1.setTittle("Lord of The Rings");
cd1.setJml(10);
cd1.setHarga(1000);

//menampilkan data cd
System.out.println("Data CD 1");
System.out.println("id = "+cd1.getID());
System.out.println("judul = "+cd1.getTittle());
System.out.println("jumlah = "+cd1.getJml());
System.out.println("harga = "+cd1.getHarga() );

System.out.println("Data CD 2");
System.out.println("id = "+cd2.getID());
System.out.println("judul = "+cd2.getTittle());
System.out.println("jumlah = "+cd2.getJml());
System.out.println("harga = "+cd2.getHarga() );

System.out.println("Data CD 3");
System.out.println("id = "+cd3.getID());
System.out.println("judul = "+cd3.getTittle());
System.out.println("jumlah = "+cd3.getJml());
System.out.println("harga = "+cd3.getHarga() );

System.out.println("Data CD 4");
System.out.println("id = "+cd4.getID());
System.out.println("judul = "+cd4.getTittle());
System.out.println("jumlah = "+cd4.getJml());
System.out.println("harga = "+cd4.getHarga());
System.out.println("tanggal = "+cd4.getDate() );
}
}

PEMBAHASAN
Sifat dari interface itu sendiri adalah berisi method-method tetapi kosong / tidak
diimplementasikan
Isinya.

Pada class interface terdapat method-method mutator dan accessor kosong yang
nantinya
interface tersebut dapat diimplementasikan di class lain.
abstract. Boleh dipakai langsung atau diwariskan ke class lain karena di dalam abstract
class sudah terdapat implementasi dari setiap methodnya. Berbeda dengan interface
yang di dalamnya hanya terdapat method-method kosong. Override dihilangkan dan di
paling bawah ditambahi dengan code: abstract void transaksi(int datePinjam).

NewCD diubah menjadi abstract class. Abstract class bisa dibilang suatu class yang
setengah jadi. Boleh dipakai langsung atau diwariskan ke class lain karena di dalam
abstract class sudah terdapat implementasi dari setiap methodnya. Berbeda dengan
interface yang di dalamnya hanya terdapat method-method kosong.

Pada class CDSoftware kita meng-exstend dari class newCD, kemudian kita
menambahkan method untuk transaksi.

Pada class main merupakan class utama, dimana class tersebut berfungsi untuk
menjalankan semua program yang ada pada setiap class. Dalam class ini kita memangil
beberapa class lain, kemudian dari program-program tersebut akan

KESIMPULAN

Poliymorphism adalah kemampuan dari object untuk memiliki banyak bentuk.


Umumnya
penggunaan polymorphism dalam OOP muncul ketika referensi class parent
digunakan untuk
acuan object class child . Contoh implementasi dari polimorphism dalam java:
1. Overloading adalah kemampuan untuk menggunakan nama yang sama dengan
isi
parameter yang ber beda.
2. Overriding adalah kemampuan untuk menulis kembali method class parent dengan
nama
dan par ameter yang sama tetapi definisi method yang berbeda.

Keuntungan Pemograman dengan menggunakan Polymorphism adalah :

 Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan
membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang
lebih khusus dari behaviour umum yang dimiliki superkelas.
 kita dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak
memberikan implementasidari metode-metode yang ada.Hal ini berguna jika kita
ingin membuat semacam template kelas,kelas semacam ini disebut kelas abstrak
karena behaviournya masih abstrak dan belum diimplementasikan.subkelas-
subkelas dari kelas semacam ini yang disebut kelas konkret,mengimplementasikan
behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.
 Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang
sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya,
namun tetap bisa menambahkan attribute dan atau method unik dari class itu
sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam
istilah satu interface banyak aksi.
 Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa
(override), suatu method, yang berasal dari parent class (super class) dimana object
tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.

DAFTAR PUSTAKA
http://yosepgustri.blogspot.com/2011/03/beda-interface-dan-abstract-class.html
http://catatan.desdrianton.net/scjp/content/INTERFACE.htm

http://matabathin-dery.blogspot.com/2012/06/tata-cara-membuat-film-pendek.html

Anda mungkin juga menyukai