Apa itu OOP (Object Orientiated Programing)


OOP atau biasa di sebut Object Orientiated Programing merupakan terobosan baru dalam pemrograman setelah pemrograman prosedural, modular, dan abstraksi data.

Konsep OOP

  1. Abstraksi
  2. Enkapsulasi
  3. Inherentannce
  4. Polymorphism
Abstraksi
Merupakan sebuah perinsip penyederhanaan dari sesuatu yang komplexs dengan cara memodifikasi kelas sesuai dengan studi kasus atau masalah.

Enkapsulasi

Merupakan konsep penyembunyian informasi melalui privat dan protect. Pada dasarny kita tidak perlu mengetahui apa yang ada dalam objek itu(class), yang kita butuhkan adalah apa kegunaan serta bagaimana cara memakainya dan apa yang akan terjadi.

Inheritance (pewarisan)
digunakan untuk membatasu akses terhadap instance variable dan method yang ada pada sebuah class atau class - class turunannya.

Polymorphism
Digunakan untuk menyembunyikan data - data yang sifatnya tidak boleh diketahui oleh user pada sebuah objek

#Semua instruksi harus dilakukan melalui method yang sudah disediakan!!

Kelebihan OOP

  1. Jika line errornya di line 40 bisa saja kita harus mencek line 30 - 39, dengan OOP dimana operasi - operasi dibedakan berdasarkan class dan fungsi. kita hanya mencari fungsi - fungsi yang saling berkaintan dan tentunya hal ini akan jauh menghemat waktu.
  2. Jika kita menggunakan sistem pemrograman dengan menggunakan pewarisan, kita hanya perlu mengganti kelas index saja, contoh : class b,c,d semuanya merupakan kelas turunan dari class a, jika kita ingin mengupdate program , kita hanya perlu mengupdate class a saja, maka class b,c,d pasti akan langsung pengikuti perubahan tersebut.
Kekurangan OOP
  1. Tidak memperbolehkan implementasi yang kuat pada reuse.
  2. Properti sofware tidak terkait dalam suatu unit fungsional sehingga harus cross cut diantara komponennya.
  3. Crosscut tersebut mengakibatkan sulitnya pengembangan dan pemeliharaan.
Share on Google Plus

About Muhamad Reza Pahlepi

Howdy, I’m Reza. I’m a supervisor IT Infrastructure living in jakarta. I am a fan of entrepreneurship, technology, networking engineer and web development. I’m also interested in coffee and basketball. You can read my articles with a click on the button above.
    Blogger Comment