Object Oriented Programming (OOP)
22.15 | Author: Sueb Zains

OOP
“OBJECT ORIENTED PROGGRAMMING”


·         Pengertian
OOP (Object Oriented Programming) adalah Pemrograman berorientasi objek. Pemrograman ini mempertinggi kualitas dan produktifitas pengembangan software. 

·         Keuntungan
Konsep orientasi objek mendukung pewarisan, selain itu konsep OOP berkemampuan untuk menggunakan nama variabel yang sama secara berulang-ulang. Itu sebabnya konsep OOP sangat bagus digunakan untuk proyek pembangunan web yang besar.
Dalam pemograman berorientasi Objek dikenal Ada beberapa pengertian dasar yang harus kita ketahui yaitu: 

·         Class, dimana class adalah merupakan penggambaran dari sebuah objec atau benda,sifat objek, dan juga apa yang bisa dilakukan oleh objek tersebut.
Sebagai contoh adalah pengambaran yang real dalam kehidupan kita adalah tentang dunia transportasi. Tentunya kita semua  mengetahui bahwa sangatlah banyak jenis alat transportasi yang ada seperti motor, mobil,pesawat terbang,kapal laut, dan lain sebagainya.Kemudian marilah kita anggap berbagai alat transportasi tersebut sebagai  suatu class. Maka motor tentunya mempunyai no polisi,tahun pembuatan,merk dll demikian juga dengan alat transportasi yang lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan yang mana kegiatan ini disebut method.
Contoh :
public class ApaMotormu
{
public static void main(String[] args)
{
            Motor punyaku=new Motor();
            punyaku.motorku();
}
}

  • Object, adalah merupakan suatu bentuk dari class.
Kalau kita mengikuti analogi di atas, maka object dari class HEWAN adalah Burung, KAMBING, AYAM, KUDA. Mereka adalah CONTOH dari class HEWAN. Semua dari mereka adalah HEWAN yang mempunyai nama, kaki, Jenis makanan dst. Dan bisa berlari, bersuara, berkembang biak dll.
Contoh :
public class Peliharaanmu
{
public static void main(String[] args)
{
            Hewan punyaku=new Hewan();
            punyaku.hewanku();
}
}

  • Inheritance, yaitu salah satu bentuk teknis untuk membuat sebuah class lebih spesifik lagi.
Sebagai contoh dari kasus ini menurut analogi di atas. Misalkan kita akan membuat class yang lebih spesifik dari ORANG yaitu siswa/student. Maka class ini mempunyai properti tambahan sekolah tempat dia belajar. Akan tetapi, semua properti sebagai orang ada juga pada class siswa ini.

Contoh:
Public Class ORANG_TUA
 
 'variabel untuk menampung nama bapak
    Private XBapak As String  
 
 'variabel untuk menampung nama ibu
    Private XIbu As String
 
 'property (atribut/informasi) class
    Public Property Nama_Bapak() As String
  'Get : hanya ijinkan akses data
        Get
            Return XBapak
        End Get
  'Set : mengijinkan ubah data
        Set(ByVal value As String)
            XBapak = value
        End Set
    End Property
 
 'property (atribut/informasi) class
    Public Property Nama_Ibu() As String
        Get
            Return XIbu
        End Get
        Set(ByVal value As String)
            XIbu = value
        End Set
    End Property
 
End Class
 
Turunkan dengan inheritance :
Public Class ANAK_WANITA
 
    'membuat turunan dari base class
    Inherits ORANG_TUA
    Private XWanita As String
    Private XUsia_W As String
    Public Property Nama_Wanita() As String
        Get
            Return XWanita
        End Get
        Set(ByVal value As String)
            XWanita = value
        End Set
    End Property
    Public Property Usia_Wanita() As Byte
        Get
            Return XUsia_W
        End Get
        Set(ByVal value As Byte)
            XUsia_W = value
        End Set
    End Property
End Class 

  • Encapsulation, yaitu mengemas suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak perlu lagi tahu tentang detail bagaimana suatu action itu terjadi.
Contoh dalam hal ini, misal siswa (suatu object) sedang menulis (method). Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan itu  bekerja untuk menulis, bagaimana sistem saraf pusat  memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si siswa sedang menulis.
Contoh :
class Siswa
{
String nama;
String nim;
void isiData ( String namaku,String nimku )
{
nama = namaku;
nim = nimku;
}
String ambilNama()
{
return nama;
}
String ambilNim()
{
return nim;
}
}
public class Mahasiswa
{
public static void main ( String [] args)
{
Siswa mahasiswa_itn = new Siswa(); //membuat variable instant
mahasiswa_itn.isiData(“Dina Damayanti”,”0412585″);
System.out.println( “Nama : ” + mahasiswa_itn.ambilNama());
System.out.println( “Nim : ” + mahasiswa_itn.ambilNim());
}
}
  • Polymorphism, yaitu suatu object bisa bertindak lain terhadap message/method yang sama.
Misalkan kita punya satu class hewan dan diturunkan menjadi dua class hewan berkaki dua dan hewan berkaki empat. Ketika hewan berkaki dua melakukan method makan maka yang dilakukan adalah makan dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia akan menggunakan mulutnya. Keduanya melakukan aksi yang sama yaitu makan  akan tetapi perlakuannya lain..

Contoh :
class Binatang
{
public void info()
{
System.out.println(” Info tentang Hewan : “);
}
}
class Herbivora extends Binatang
{
public void info()
{
System.out.println (“Info pada herbivora: Memakan makanan berupa tumbuh – tumbuhan”);
}
}
class Kelinci extends Herbivora
{
public void info()
{
System.out.println(“Info pada Kelinci: Memakan makanan berupa wortel”);
}
}
public class Polimorfisme
{
public static void main(String[] args)
{
Herbivora herbivora;
Kelinci kelinciku;
Binatang hewan;
herbivora=new Herbivora();
kelinciku=new Kelinci();
hewan=herbivora;
hewan.info();
hewan=kelinciku;
hewan.info();
}
}


Contoh dalam bahasa C++
#include
#include
#include
class titik{
private :
int x,y;
public:
titik(int=0,int=0);
void setX(int);
void setY(int);
int getX();
int getY();
};
titik::titik(int x,int y){
this->x=x;
this->y=y;
}
void titik::setX(int n){
this->x=n;
}
void titik::setY(int n){
this->y=n;
}
int titik::getX(){
return x;
}
int titik::getY(){
return y;
}
class lingkaran: public titik{
private :
double radius;
public :
lingkaran(int=0,int=0,double=0.0);
void setradius(double);
double getradius();
double getluas();
double getkeliling();
};
lingkaran::lingkaran(int x, int y, double radius) : titik(x,y){
this->radius=radius;
}
void lingkaran::setradius(double n){
this->radius=n;
}
double lingkaran::getradius(){return radius;}
double lingkaran::getluas(){
return 22.0/7 * radius * radius;
}
double lingkaran::getkeliling(){
return 22.0/7*radius*2;
}
class tabung :public lingkaran{
private:
double tinggi;
public:
tabung(int=0,int=0,double=0.0,double=0.0);
void settinggi(double);
double gettinggi();
double getluas();
double getvolume();
};
tabung::tabung(int x,int y, double radius, double tinggi):lingkaran(x,y,radius){
this->tinggi=tinggi;
}
void tabung::settinggi(double tinggi){
this->tinggi=tinggi;
}
double tabung::gettinggi(){
return tinggi;
}
double tabung::getluas(){
return 2*lingkaran::getluas() + lingkaran::getkeliling()*tinggi;
}
double tabung::getvolume(){
return lingkaran::getluas() * tinggi;
}
void main(){
titik tik(2,4);
lingkaran ling(2,3,6);
tabung tab(2,5,6,4);
getch();
}
This entry was posted on 22.15 and is filed under . You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

0 komentar: