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