Senin, 14 Januari 2013

Konsep Utama Object Oriented Programming



Dalam pemograman OOP, ada empat hal yang harus diperhatikan karena hal tersebut merupakan konsep vital dari OOP tersebut. Berikut ini konsep 4 konsep utama tersebut:

1.     Encapsulation/pembungkusan, merupakan penyembunyian informasi melalui private dan protected.
Aspek ini berguna untuk menyembunyikan kelas dari luar sehingga pengaksesan data member (atribut dan method) suatu kelas tidak dapat diubah secara langsung oleh kelas lain. Enkapsulasi sangat berhungungan erat dengan modifier, yaitu :
o   Private
Akses modifier private memberikan spesifikasi bahwa nilai variabel dan method kelas hanya dapat diakses oleh method dalam kelas dimana didefinisikannya.
o   Protected
Akses modifier private memberikan spesifikasi bahwa nilai variabel dan method hanya dapat diakses oleh kelas dan sub-kelas (child) dari kelas tersebut
o   Public
Akses modifier private memberikan spesifikasi bahwa nilai variabel dan method dapat diakses dari dalam maupun luar kelas


2.    2.  Inheritance/pewarisan, adalah kemampuan untuk membuat class turunan yang mewarisi property dan method dari kelas induk. pewarisan (seperti namanya) merupakan pewarisan sifat kelas dari induk kelas ke anaknya. Di sini kita hanya mengembangkan kelas yang sudah ada untuk membuat kelas baru. Kita bisa memodifikasi sifat-sifat kelas induk, menambah, mengurangi, maupun memperbaiki untuk dijadikan sifat kelas anak (subkelas). Penurunan kelas ini dapat dilakukan secara bertingkat-tingkat sehingga semakin kebawah maka kelas itu menjadi semakin spesifik. Contohnya adalah kelas minuman. Dari kelas minuman kita dapat turunkan menjadi kelas jus. Kemudian dari kelas jus dapat diturunkan lagi menjadi kelas jus mangga, jus apel, jus alpukat, jus strowberry, jus sirsak, dll. Dari kelas-kelas tersebut juga dapat diturunkan lagi menjadi Jus mangga spesial susu. nah, itulah yang dimaksud pewarisan. Jadi sifat-sifat induknya dapat turun ke sifat-sifat anaknya.

3.      3. Abtraction/abtraksi, adalah sebuah konsep yang merupakan representasi abstrak dari konsep dalam pemograman, misalnya objek mobil merupakan representasi abstrak dari mobil dalam dunia nyata.Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data. Kelas dapat diilustrasikan sebagai suatu cetak biru (blueprint) atau prototipe yang digunakan untuk menciptakan objek. Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal. Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

4.     4.  Polymorphism/banyak bentuk, seorang programer bisa memakai method dengan nama yang sama pada class-class yang berbeda. Polimorfisme adalah kemampuan objek-objek yang berbeda kelas tapi terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama. Polimorfisme juga diartikan kemampuan suatu objek untuk memutuskan method mana yang akan diterapkannya terhadap suatu masalah

sebagai contoh coding nya adalah sebagai berikut
Contoh dibawah adalah contoh coding untuk program database dosen di STTI I-Tech


import java.io.*;

public class dosen extends karyawan
{
//atribute
protected String masa_kerja;
protected String jabatan;
protected String jurusan;


//method
public void setmasa_kerja(String masa_kerja)
{
this.masa_kerja = masa_kerja;
}
public void setjabatan(String jabatan)
{
this.jabatan = jabatan;
}
public void setjurusan(String jurusan) // parameter sesuai tipe data yang dimasukan
{
this.jurusan = jurusan;
}


public String getmasa_kerja()
{
return this.masa_kerja;
}
public String getjabatan()
{
return this.jabatan;
}
public String getjurusan()
{
return this.jurusan;
}


//main
public static void main(String[] args) throws IOException
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
DataInputStream input = new DataInputStream(new FileInputStream("binary.data"));

String masa_kerja, jabatan, jurusan;

dosen dos = new dosen();

System.out.print("Nip : ");
        dos.setnip (br.readLine());
System.out.print("Nama : ");
dos.setnama (br.readLine());
System.out.print("Jabatan di I-tech : ");
        dos.setjabatan (br.readLine());
System.out.print("Pengajar di Jurusan : ");
        dos.setjurusan (br.readLine());
System.out.print("Masa Kerja (Tahun) : ");
dos.setmasa_kerja (br.readLine());
System.out.print("Gaji Pokok : ");
        dos.setgajiPokok (input.readInt());


     
System.out.println("\n--------------------------------------------------------");
System.out.println("Berikut ini merupakan biodata pengajar STTI NIIT I-Tech : ");
System.out.println("Nip :"+ dos.getnip());
System.out.println("Nama :"+dos.getnama());
System.out.println("Jabatan :"+ dos.getjabatan());
System.out.println("Pengajar di Jurusan :"+ dos.getjurusan());
System.out.println("Masa Kerja :"+ dos.getmasa_kerja());
System.out.println("Gaji Pokok :"+ dos.getgajiPokok());

}
}

Tidak ada komentar:

Posting Komentar