Sekilas
tentang OOP & Contoh Sederhana Studi Kasus-nya
OOP
(Object Oriented Programming) merupakan salah satu bentuk pemprograman yang
keseluruhan paradigma-paradigmanya berdasarkan pada obyek. Compiler-compiler
yang digunakan dalam OOP seperti C++, Java, Ruby, Python, Delphi dan masih
banyak yang lainnya. Pada Object Oriented juga mengenal beberapa istilah yaitu
:
a. Object
( Obyek )
Obyek merupakan segala sesuatu yang ada dalam dunia
nyata, yang punya identitas atau informasi mengenai diri mereka sendiri. Di
dalam obyek juga terdapat dua karakteristik. Karakteristik yang pertama setiap
obyek yang telah memiliki masing-masing yang atribut sebagai sebuah status,
akan nantinya akan dikenal dengan istilah state. Kedua, setiap obyek yang telah
didefinisikan yang mempunyai tingkah laku disebut dengan behavior. Misalnya
manusia sebagai obyek. Manusia mempunyai atribut misalnya nama, jenis kelamin,
pigmen warna kulit, bentuk tangan dll, sedangkan tingkah lakunya
(behavior-nya), manusia dapat berjalan, menyapu, mencuci dll.
b. Class
( Kelas )
Merupakan kumpulan dari variable-variabel beserta
method-method yang berkonfigurasi membentuk suatu fungsi tertentu.
c. Hak
Akses atau akses modifier
Hak akses adalah hak akses yang akan ditempatkan atau
“dilekatkan” pada variable-variabel, fungsi-fungsi atau bahkan kelas. Nah
macam-macam variasi dari hal akses yaitu :
1.
Public
: merupakan suatu hak akses yang mengizinkan semua class untuk mengakses semua variable
maupun fungsi yang mempunyai hak akses ini.
2.
Private
: merupakan hak akses yang hanya bisa digunakan dalam satu class saja.
3.
Protected
: merupakan hak akses yang hanya mengizinkan subclass (kelas turunan) untuk
mengakses variable serta fungsi yang punya hak akses ini.
Selain
itu terdapat juga istilah Static. Static adalah sebuah variable/fungsi yang
memiliki nilai kembalian (return) yang nilainya tetap selama tidak ada
perubahan dalam variable dan fungsi tersebut. Contoh dalam bahasa
pemprograman java :
public class Perabot{
protected
String namaPrabot;
protected String
kualitas;
String
namaPrabot(String nmPrabot){
namaPrabot = nmPrabot;
return
namaPrabot;
}
String
kualitas(String kwlts){
kualitas
= kwlts;
return
kualitas;
}
}
Contoh
sederhana Studi Kasus :
Membuat
daftar laporan berupa nama peminjam, no id, jenis id yang digunakan untuk
meminjam, jumlah buku, total harga serta list buku (jumlah buku, kode dan nama
buku) yang dipinjam. Ketentuan-ketentuan sebagai berikut : tiap peminjam harus
menyebutkan nama, No ID, jenis ID. Peminjam berhak meminjam buku maksimal lima
buah. Tiap buku yang akan dipinjam dikenakan biaya Rp100,00.
public class Peminjam
{
private String nama, noId;
private String jenisId;
private int total;
private int jumlah;
private ListBuku [] lb = new ListBuku [5];
public Peminjam (){
this.nama = "";
this.noId = "";
}
public Peminjam(String nama, String noId){
this.nama = nama;
this.noId = noId;
}
public Peminjam(String nama, String noId,
String jenisId, int jumlah, int total){
this.nama = nama;
this.noId = noId;
this.jenisId = jenisId;
this.total = total;
this.jumlah = jumlah;
}
public void setNama(String nama)
{
this.nama = nama;
}
public void setNoId(String noId)
{
this.noId = noId;
}
public String getJenisId()
{
return jenisId;
}
public String getNama (){
return " ";
}
public void inputListBuku(int idx, ListBuku
lb){
this.lb[idx] = lb;
}
public void printDaftar(){
System.out.println("***************************************");
System.out.println("NO ID : "+noId+"");
System.out.println("Jenis ID : "+getJenisId());
System.out.println("Nama
Peminjam : "+nama+"");
System.out.println("Jumlah : "+jumlah);
total = jumlah * 100;
System.out.println("Total : "+total);
System.out.println("++++++++
Daftar List Buku ++++++++++++++");
for(int i = 0; i < 5; i++){
System.out.println((i+1)+".
"+lb[i].Laporan());
}
System.out.println("++++++++++++++++++++++++++++++++++");
}
}
public class ListBuku
{
private String kodeBuku;
private String namaBuku;
public ListBuku(String kode, String nama){
this.kodeBuku = kode;
this.namaBuku = nama;
}
public String getKode(){
return this.kodeBuku;
}
public String getNama(){
return this.namaBuku;
}
public String Laporan(){
return ("Buku dengan kode
"+getKode()+" judulnya "+getNama()+"");
}
}