Apa itu OOP (OBJECT ORIENTER PROGRAMMING) ?

loading...

Apa itu OOP (OBJECT ORIENTER PROGRAMMING) ?

Oyasuminasai Mina-san ! Jika kalian sudah terbiasa dengan pemrograman prosedural dan juga banyak program yang ada didalam blog ini menggunakan OOP,apa itu OOP ?
OOP ( Object Oriented Programming ) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan mengikuti model yang telah ada di kehidupan sehari-hari. Jadi, setiap bagian dari suatu permasalahan adalah objek. Objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.  

Konsep OOP (Object Oriented Programming) 

1. Kelas Abstrak (Class Abstraksi)
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).

2. Enkapsulasi (encapsulation)
Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
Contoh: kelas mobil menyediakan antarmuka fungsi untuk menjalankan mobil tersebut, tanpa kita perlu tahu komposisi bahan bakar, udara dan kalor yang diperlukan untuk proses tersebut.

3. Pewarisan (Inheritance)
Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
Dengan konsep pewarisan, seorang programmer dapat menggunakan kode yang telah ditulisnya pada kelas super berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang semua kodekode itu.

4. Polimorfisme (polymorphism)
Polimorfisme merupakan kemampuan objekobjek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama.
Polimorfisme juga dapat dikatakan kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.
Method overriding.
Method name overloading.

PROPERTIES DAN EVENT PADA KONSEP OOP

      1.Properties
Properties adalah atribbut-atribut yang melekat pada sebuah objek yang biasanya merupakan karakteristik penampilannya seperti warna, jenis huruf, ukuran dan sebagainya. Properti sebuah objek dapat diubah saat memprogram atau pada saat program dijalankan.
      2.Event
Event adalah kejadian atau segala sesuatu yang dapat dialami oleh sebuah objek. Suatu objek dapat memiliki banyak event.

CONTOH ILUSTRASI PEMBUATAN OBJECT  DALAM OOP

Class   : Mobil
Object : Mobilku

Attribute :
Warna kuning pisang
Merek Lamborghini
Kemudi
Transmisi
Tombol StartEngine on/off

Method :
Menghidupkan mesin
Mematikan mesin
Maju
Mundur
Belok
Berhenti


Dari contoh diatas, terdapat satu buah class Mobil dengan object Mobilku . Object dalam class Mobil bisa dibuat lebih dari satu. Kita bisa membuat object lainnya Mobilku, Mobilmu, Mobilnya Fadhil. Banyak object yang dapat diciptakan dari satu kelas yang sama seperti halnya banyak mobil yang dapat dibuat dari satu gambar rancangan yang sama.

CONTOH PROGRAM DALAM OOP

class Kendaraan{

int posisi1;
int kecepatan;
int posisi2;
int pergerakan;

int getPosisi1(){
return posisi1;
}

void setPosisi1(int theposisi1){
posisi1 = theposisi1;
}

int getKecepatan(){
return kecepatan;
}

void setKecepatan(int thekecepatan){
kecepatan = thekecepatan;
}

posisi2 bergerak(){

int jarak;
int waktu;

posisi2 = getKecepatan * waktu;
}
}

class Mobil extends Kendaraan{
}

class KendaraanTestDrive{
Mobil avanza = new Mobil;
avanza.setPosisi1(30);
avanza.setKecepatan(45);
avanza.bergerak();
}

Kelebihan OOP ( Object Oriented Programming )

  1. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sanat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detail implementasinya tersembunyi.
  2. OOP mempermudah dalam maintenance, memodifikasi bahkan membuat sebuah objek yang baru tanpa mengubah kode yang sudah ada. 
  3. OOP menyediakan framework untuk library code dimana komponen softwareyang tersedia dapat dengan mudah di adaptasi dan di modifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI ( Graphical User Interface ) dan UX ( User Xperience ).
  4. Multiplatform . OOP dapat dijalankan di berbagai sistem operasi sekaligus. Dengan menggunakan prinsip “Tulis sekali, jalankan dimana saja”.

Kekurangan OOP ( Object Oriented Programming )

  1. Mudah didekomplikasi. Artinya mudah dilakukan pembalikan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
  2. Meskipun bersifat Multiplatform , namun masih ada beberapa hal yang tidak kompatible antara platform satu dengan platform lain


KARAKTERISTIK OBJECT ORIENTED PROGRAMMING

  • Semua adalah objek.
  • Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
  • Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
  • Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
  • Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
  • Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
  • Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
  • Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
  • Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek.
  • Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
  • Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.


Sumber Referensi :

Jeni-dasarpemrogramanjava.pdf
Codenhead-javabasic.pdf
Previous
Next Post »
Thanks for your comment