Jumat, 05 Oktober 2012

KONSEP OBJECT ORIENTED PROGRAMMING (OOP)

1. Pengertian Object Oriented Programming (OOP)

Object Oriented Programming (OOP) adalah suatu metode pemrograman yang berbasiskan pada objek, secara singkat pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling memberikan informasi satu dengan yang lainnya.
Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
• Variabel dan method dalam suatu obyek dibungkus agar terlindungi
• Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
• Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
• Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
– Inheritance (pewarisan)
• Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
• Class yang mewarisi disebut superclass
• Class yang diberi warisan disebut subclass
• Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance.
Keuntungan Penggunaan Pewarisan
• Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method).
• Dengan demikian pada pembuatan subclass, programmer bisa menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse.
• Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class.
– Polymorphism (polimorfisme – perbedaan bentuk)
Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk.

2. Pengertian class dalam OOP

Class adalah suatu frame yang merupakan definisi yang memuat data dan metod pengolah data. Class juga dapat diartikan sebagai tempat untuk membuat obyek. Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek. Proses pembuatan obyek dari sebuah class disebut dengan instantiation. Jadi obyek merupakan hasil instansiasi dari class. Obyek disebut juga dengan instance.
Class memiliki anggota yang disebut Anggota Class (class member).
Anggota Class terdiri dari :
1. atribut
2. method.
Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh pembuatan class:
class BilanganRasional
{
public :
void assign (int,int);
void cetak();
private :
int pembilang, penyebut;
};
Perhatikan contoh di atas. Untuk mendefinisikan sebuah kelas, dipakai kata kunci class, diikuti dengan pendeklarasian nama kelas tersebut. Fungsi assign() dan cetak() disebut member function (member fungsi). Sedangkan variabel pembilang dan penyebut disebut member data (member data atau member variabel). Disebut member karena kesemuanya merupakan anggota dari kelas BilanganRasional.
Perhatikan kata kunci Public dan Private. Member functions pada contoh di atas dideklarasikan sebagai fungsi global, sedangkan member data dideklarasikan sebagai lokal. Perbedaannya, member global dapat diakses dari luar kelas, sedangkan member lokal hanya dapat diakses dari kelas itu sendiri.

3. Apa itu object

Objek adalah sesuatu yang memiliki identitas (informasi tentang dirinya) dan tingkah laku (apa yang dapat dilakukan) contoh objek dalam dunia nyata adalah rumah, sepeda, motor, manusia, hewan dll. Identitas dari suatu objek adalah informasi tentang dirinnya sebagai contoh adalah objek Hewan memiliki indentas berupa nama, jenis, tangan, kaki, mata dll, tingkah laku dari objek hewan adalah berjalan, berlari, tidur dll.Dalam pemrograman identitas dapat dikatakan sebagai properties, sebagai contoh membuat program multimedia berupa share video, objeknya berupa video yang mempunyai identitas berupa nama video, size video, format file dan jenis video. Untuk tingkah laku disebut sebagai methode.
• Obyek diciptakan dengan perintah new.
• Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku
• Maka perintah penciptaan obyek mobilku dari class Mobil :
Mobil mobilku = new Mobil();

4. Ciri-ciri object !

• Obyek memiliki status (state) dan tingkah laku (behavior).
• Status (state) disebut juga dengan atribut.
• Contoh obyek : obyek mobil
– Atribut : merek, warna, bahan bakar.
– Method : pindah persnelling, kecepatan bertambah, dll.
• Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method.
Contoh pemrograman OOP :
package penyewa_buku;

/**
*
* @author dewisevthiany
*/
class mahasiswa {
private int npm;
private String nama;
private buku bukunya[];
private int jumlah;
public penyewa(int n, String m){
npm = n;
nama = m;
jumlah = 0;
bukunya = new buku [3];
System.out.println("Constructor penyewa "+nama);
} public void pinjam_buku(buku b){
if (jumlah < 3){
bukunya[jumlah] = b;
jumlah++;
System.out.println(nama+" pinjam buku "+b.get_judul()+" karangan "+b.get_pengarang());
}
else
System.out.println("Sudah Penuh!");
}
public void daftar_buku(){
System.out.println("Daftar Bukunya "+nama+":");
for(int i=0; i System.out.println(i+1+". "+bukunya[i].get_judul());
}
}
}
class buku {
public String judul;
public String pengarang;
public String penerbit;
public buku(){};
public buku(String j, String p){
judul = j;
pengarang = p;
System.out.println("Constructor buku "+judul);
}
public void milik_buku(){
System.out.println("Method ini milik class induk");
}
public String get_judul(){
return judul;
}
public String get_pengarang(){
return pengarang;
}
}
class buku_sejarah extends buku {
public void view_buku_sejarah(){
milik_buku(); //method milik induknya
}
public void set_buku(String j, String p){
judul = j;
pengarang = p;
System.out.println(judul+" "+pengarang);
}
}
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
penyewa si = new penyewa(123,"Lita");
buku bp = new buku("Java","Tita");
si.pinjam_buku(bp);
buku pti = new buku("Pengantar IT","Jogiyanto");
si.pinjam_buku(pti);
buku logika = new buku("Logika","Joko");
si.pinjam_buku(logika);
buku komik = new buku("Doraemon","Akimoto");
si.pinjam_buku(komik);
si.daftar_buku();
buku_sejarah bukuku = new buku_sejarah();
bukuku.view_buku_sejarah();
bukuku.set_buku("Sejarah Jawa","Raden Adi");
}

}

Tidak ada komentar:

Posting Komentar