Class untuk Object Oriented Programming (OOP)


Pengertian OOP 

  Object  Oriented  Programming  atau  yang  lebih  dikenal  dengan  OOP  adalah
pemrograman  yang menitikberatkan kepada objek-objek untuk menyelesaikan tugas
atau  proses  dari  program  tersebut.  Sedangkan  penitikberatkan  ini  dimaksudkan
adanya  interaksi  pengiriman  nilai,  pesan  atau  pernyataan  antar  objek.  Kemudian
objek  yang  merespon  hasil  dari  interaksi  tersebut  akan  membentuk  suatu    tindakan
atau aksi (methode).

Class  

Class merupakan  gambaran atau  abstraksi karakter dan sifat dari suatu objek.  Class
juga dapat mendefinisikan ciri dan perilaku objek tersebut.

Object  

Object (objek) adalah suatu data atau entitas yang berwujud maupun tidak berwujud,
memiliki  sifat  (karakteristik)  tertentu  sesuai  dengan  kondisi  atau  status  dari
penggunaannya. Data atau entitas di dalam pemrograman dapat disebut dengan blok
fungsi.

Contoh  pensil  adalah  suatu  objek  yang  memiliki  attribute  (karakter)  jenis,  warna,
panjang dan lain-lain.

Methode  

Metoda  merupakan  tata  cara  objek  tersebut  diperlakukan,  atau  penggunaan  atau
manfaat dari objek tersebut. Pensil  juga  memiliki  methode  (perilaku)  seperti  diruncingkan,  digunakan  dan  lain-lain.


Keuntungan Penggunaan OOP

Adapun keuntungan atau manfaat dari penggunaan OOP adalah:

1.  Natural

OOP  dapat  melakukan  pendekatan  terhadap  objek  yang  menggambarkan  segala
sesuatu  yang  nyata,  seperti  sifat  suatu  benda  maupun  kegunaan  dari  benda
tersebut.

2.  Modular

Objek  yang  sudah  dibentuk  dapat  dikelompokkan  kembali  dengan  objek-objek
yang lain, seperti kelompok alat tulis yang dapat dikelompokkan kembali dengan
kelompok pensil, kelompok buku dan lain-lain.

3.  Mudah diperbaharui

Dikarenakan sifat jangkauan dari objek memiliki bagian private dan public, maka
jika  bagian  private  ingin  digunakan  pada  objek-objek  lain  dapat  diperbaharui
dengan menempatkan objek lain tersebut di bagian public.

4.  Dapat didaur ulang

Suatu  objek  yang  telah  didefinisikan  baik  jenis,  bentuk,  ciri  maupun  perilaku
dapat didefinisikan kembali dengan objek  yang lain. Misalkan objek rumah  yang
memiliki  ciri  umum  ada pintunya,  jendelanya,  atapnya,  temboknya  dan  lian-lain,
dapat didefinisikan kembali ciri-ciri tersebut dengan menyebutkan cirinya masing-masing  seperti  temboknya  yang  memiliki  ciri  jenisnya,  ketebalannya,  warna catnya dan lain-lain.

Tata  Cara  Penggunaan  Pemrograman  Berbasis
Obyek:

1.  Fungsi dan data menjadi satu kesatuan yang disebut obyek
2.  Obyek-obyek dalam OOP bersifat aktif
3.  Cara  pandang  :  program  bukan  urut-urutan  instruksi  tapi  diselesaikan  oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah.

Bentuk umum dari kelas:

class class_ name 

     private: 
         data element_class; 
         method; 

     public:c 
         data element_class; 
         method; 
         protype function; 
};   
Object Declaration; 

Pernyataan  diatas  digunakan  untuk  mendefinisikan  variabel  bernama  sport.
Pada  C++  variabel  seperti  sport  berkedudukan  sebagai  variabel  kelas  yang  biasa
disebut dengan objek.

Pada  sebuah  kelas,  item-item  di  dalamnya  bisa  bersifat  private  atau  public.  Secara
default, semua item di dalam kelas bersifat private. Jadi tanpa menuliskan kata kunci
private, semua item di dalam kelas sudah private.

A. Public pada kelas

Public (public) menyatakan bahwa deklarasi variabel atau item-item yang ada di
dalam kelas dapat diakses dari luar kelas.

B. Private pada Kelas

Private digunakan pada kelas untuk memproteksi anggota-anggota tertentunya agar
tidak dapat diakses dari luar kelas secara langsung.


Konstruktor 

Konstruktor (constructor) merupakan suatu  fungsi dari anggota suatu kelas yang memiliki nama yang sama dengan nama kelas fungsi itu berada.Konstruktor ini digunakan untuk mengalokasikan ruang untuk suatu objek dan untuk memberikan nilai awal.

Berikut contoh pendeklarasian suatu konstruktor di dalam sebuah kelas:
class hitung


       private: 
  int a; 
  int b; 
      public: 
  int inta( ); 
  int intb( ); 
hitung(int mudah); //deklarasi constructor 
};


Destruktor 

Destruktor  merupakan  suatu  fungsi  anggota  yang  dijalankan  secara  otomatis
manakala suatu objek akan terbebas dari memori karena lingkup keberadaannya telah
menyelesaikan tugasnya.

Destruktor  harus  mempunyai  nama  yang  sama  dengan  kelas  dan  diawali
karakter tilde(~) atau karakter tak terhingga.
Destruktor  digunakan  secara  khusus  manakala  suatu  objek  menggunakan
memori  dinamis  selama  keberadaannya  dan  kemudian  melepaskan  memori  itu

setelah tidak menggunakannya lagi.


Karakterisitk OOP 

           Di  dalam  penggunaan  konsep  pemrograman  yang  berbasis  objek  atau  yang disebut  Object  Oriented  Pemrograman  (OOP),  haruslah  memiliki  karakteirstik. Adapun  karakteristik  tersebut  adalah  memiliki  sifat  turunan  atau  pewarisan (Inheritance),  satu  nama  memiliki  banayak  sifat  atau  perilaku  (Polymorphism), pembungkusan  sifat  dari  objek  yang  berbeda  (Encapsulation).

Berikut  akan dijelaskan karakteristik OOP tersebut:

Inheritance 

            Inheritance  memungkinkan  programmer  untuk  "menurunkan"  sebuah  class
menjadi  class  lain  yang  lebih  spesifik  dan  memiliki  fungsi  yang  lebih  komplit.
Inheritance merepresentasikan hubungan "seperti" atau "sejenis" (a kind of). Sebagai
contoh, sebuah perahu motor adalah seperti perahu namun dengan kemampuan lebih,
yakni  memiliki  motor.  Contoh  lain  adalah  kendaraan  jenis  mobil  (sebagai  super
class) dan memiliki tipe sport (sebagai subclass), bila digabung menjadi mobil sport.
Ketika  kita  menurunkan  sebuah  class  dari  class  yang  lain,  class  yang  baru
akan  mewarisi  semua  attribute  dan  method  dari  class  yang  sudah  ada.  Class  yang
sudah  ada  disebut  dengan  base  class  atau  super  class  atau  parent  class  dan  class
yang  baru  disebut  dengan  derived  class  atau  subclass,  atau  child  class.  Dengan
inheritance,  kita  dapat  men  daur  ulang  program  kita  atau  bahkan  men  daur  ulang
program orang lain agar sesuai dengan kebutuhan kita.
Tanpa  inheritance,  kelas  merupakan  sebuah  unit  yang  berdiri  sendiri.
Inheritance  akan  membentuk  suatu  konsep  dimana  jika  konsep  yang  diatas  berubah
maka perubahan akan juga berlaku pada yang ada dibawahnya. Inherate sangat mirip
dengan  hubungan  orang  tua  dengan  anak.  Manakala  suatu  kelas  menerima  warisan,
semua  anggota  data  dan  fungsi  juga  akan  menerima  warisan,  walalupun  tidak
semuanya akan dapat di akses oleh anggota fungsi dari kelas.
Di dalam C++ penentuan akses pada inheritance ada tiga macam, yaitu :

1.  Public

Penentuan  akses  berbasis  public  menyebabkan  anggota  dari  public  dari  sebuah
kelas  utama  akan  menjadi  anggota  public  kelas  turunan  dan  menyebabkan  juga
anggota protect kelas utama menjadi anggota protect kelas turunan, namun untuk
anggota kelas private tetap pada private kelas utama.

2.  Private

Penentu  akses  berbasis  private  menyebabkan  anggota  dari  anggota  public  dari
kelas  utama  akan  menjadi  anggota  protect  kelas  turunan,  dan  menyebabkan
anggota  dari  kelas  utama  menjadi  anggota  protect  kelas  turunan,  namun  untuk
anggota kelas private tetap pada private kelas utama.

3.  Protected

Penentu  akses  berbasis  protect  menyebabkan  anggota  dari  anggota  protect  dan
public  dari  kelas  utama  akan  menjadi  anggota  private  dari  kelas  turunan.
Anggota private dari kelas utama selalu menjadi anggota private kelas utama.

Pada  waktu  mendeklarasikan  suatu  kelas,  anda  dapat  menandai  bahwa  suatu kelas  berasal  dari mana,  yaitu  dengan  tanda  titik  dua  (:)  setelah  nama  kelas,  tipe asalnya  bias  berupa  public atau  yang  lainnya  dan  dari  kelas  mana  berasal.


Polymorphism 

          Polymorphisms  adalah  kemampuan  2  buah  object  yang  berbeda  untuk merespon  pesan  permintaan  yang  sama  dalam  suatu  cara  yang  unik.  Contoh,  saya melatih  lumba-lumba  saya  dengan  perintah  untuk  meloncat  dan  juga  saya  melatih burung  untuk  merespon  perintah  saya  untuk  berkicau.  Saya  lakukan  latihan  untuk merespon  kepada  mereka  dengan  perintah  lisan.  Melalui  polymorphism  saya  tahu bahwa anjing dan burung akan merespon dengan gonggongan atau kicauan.
Dengan  cara  dan  kemampuan  seperti  ini,jenis  akses  tertentu  dapat diterapakan dengan berbagai cara oleh objek-objek yang memiliki tipe yang berbeda atau  memiliki  banyak  bentuk.  Fungsi
virtual  merupakan  dasar  dari  polymorphism yang  berkerja  hanya  dengan  pointer-pointer  dan referensi  dan  hanya mendeklarasikan method sebagai virtual.

Adapun aturan dari virtual function sebagai berikut:

1.  Virtual function harus anggota class.
2.  Anggota class bukan anggota yang bersifat statis.
3.  Anggota class dapat diakses dengan pointer objek.
4.  Virtual  function  tidak  dapat  memiliki  virtual  constructor,  akan  tetapi  dapat berupa virtual       destructor.


Encapsulation 

            Ciri  penting  lainnya  dari  OOP  adalah  encapsulation.  Encapsulation  adalah sebuah  proses dimana  tidak  ada  akses  langsung  ke  data  yang  diberikan,  bahkan hidden.  Jika  ingin  mendapat data,  maka  harus  berinteraksi  dengan  objek  yang bertanggung jawab atas dara tersebut. Berikut cirri dari encapsulation:

1.  Variabel dan method dalam suatu obyek dibungkus agar terlindungi
2.  Untuk  mengakses,  variabel  dan  method  yang  sudah  dibungkus  tadi  perlu interface
3.  Setelah variabel dan method dibungkus, hak akses terhadapnya dapat ditentukan.
4.  Konsep  pembungkusan  ini  pada  dasarnya  merupakan  perluasan  dari  tipe  data struktur

Dua hal dalam enkapsulasi :

1.  Information hiding
2.  Menyediakan perantara (method) untuk mengakses data

Pada  intinya,  encapsulation  adalah  pemisahan  antara  bagian  private  dan public pada sebuah objek. Atau, dapat dipandang sebagai pemisahan antara interface (bagian private) dan implementation (bagian public). Objek-objek  lain  yang  hendak  berinteraksi  dengan  objek  ini  akan  mengirimkan
sebuah  pesan  (message)  dan  objek  ini  akan  mengerjakan  sesuatu  dan  mengirimkan pesan balik sebagai jawaban jika diperlukan. Keuntungan  utama  dari  encapsulation  tentu  saja  adalah penyembunyian implementasi  (implementation  hiding).  Dengan  implementation  hiding,  kita dapat memperbaiki  bagaimana  objek  kita  bekerja  tanpa  harus  khawatir  bagaimana menginformasikan  perubahan  tersebut  ke  objek-objek  yang  lain.  Selama  kita  tidak merubah interface  dari  objek  kita,  objek-objek  yang  lain  akan  tetap  dapat menggunkan objek kita.

Share on Google Plus

oyasummmi

Terima Kasih telah mengunjungi Site kami silahkan berikan Komentarmu di bawah ini . . .
    Blogger Comment
    Facebook Comment

0 comments :

Posting Komentar

Diberdayakan oleh Blogger.