Aspek-Aspek Utama dalam Object

Hasil gambar untuk materi oop

Pengertian OOP

OOP (Object Oriented Programming) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang lain.

 

  • Abstrak Class
    1. Kelas merupakan deskripsi abstrak informasi dan tingkah laku dari sekumpulan data.
    2. Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.
    3. Kelas merupakan tipe data bagi objek yang mengenkapsulasi data dan operasi pada data dalam suatu unit tunggal.
    4. Kelas mendefinisikan suatu struktur yang terdiri atas data kelas (data field), prosedur atau fungsi (method), dan sifat kelas (property).

 

  • Inheritance
    1. Kita dapat mendefinisikan suatu kelas baru dengan mewarisi sifat dari kelas lain yang sudah ada.
    2. Penurunan sifat ini bisa dilakukan secara bertingkattingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik.
    3. Sub kelas memungkinkan kita untuk melakukan spesifikasi detail dan perilaku khusus dari kelas supernya.
    4. 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.

 

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

 

  • Encapsulation
    1. Istilah enkapsulasi sebenarnya adalah kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk untuk menyembunyikan detail informasi.
    2. Proses enkapsulasi memudahkan kita untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.
    3. Enkapsulasi menekankan pada antarmuka suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu.
    4. 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.

 

  • Assosiation (Assosiasi)

Assosiasi adalah hubungan antara object. Relasi assosiasi biasa disebut is “a” relationship. Assosiasi berarti bahwa sebuah object “menggunakan” object yang lain. Assosiasi adalah sebuah relasi dimana semua object memiliki lifecycle nya sendiri dan tidak ada yang bertindak sebagai owner.

Contoh Teacher dan Student. Banyak Student dapat berasosiasi dengan satu Teacher dan satu Student   dapat berasosiasi dengan banyak Teacher. Object keduanya bisa dibuat dan dihancurkan secara mandiri tanpa berpengaruh pada eksistensi object lain.

  • Aggregation (Agregasi)

Agregasi adalah bentuk hubungan yang lebih khusus dari Assosiasi dimana sebuah object memiliki lifecycle nya sendiri tapi dengan kepemilikan dan class child tidak dapat memiliki class parentnya. Relasinya biasa di sebut relasi “has-a”.

Sebagai contoh, Department dan Teacher. Satu Teacher tidak dapat memiliki banyak Department, tapi jika kita menghapus object Department, object Teacher tidak akan ikut terhapus.

============================================================================

Contoh Kasus

kalian bisa bayangkan kasus seorang yang sedang dalam perjalanan dengan mobil. Dari pernyataan itu, di dalam pikiran kita sekelebat akan melihat 2 object yang saling berelasi, yaitu mobil dan seorang manusia.

Mobil dan manusia dalam pernyataan tersebut masing-masing pasti memiliki sifat(karakteristik) dan fungsinya. Mobil yang berwarna, jenis mobil, bentuk mobil dan lain-lain, dan juga memiliki fungsi, seperti maju, mundur dan berbelok.

Begitu pula dengan manusia, manusia pasti memiliki identitas dan tugasnya, seperti “andi yang mengemudikan mobil dari puwokerto ke medan”.

Dasar Pola Pikir OOP (Object Oriented Programming)

Dasar Pola Pikir OOP (Object Oriented Programming)

Dan kita juga tau bahwa mobil tidak berdiri sendiri, mobil merupakan kesatuan object-object multi fungsi yang bersatu untuk membuat satu object mobil, seperti object roda, kaca, gas dan lain-lain. Begitu pula dengan manusia yang terdiri dari object kepala, badan, kaki dan tangan.

Jika kita membedah mereka dan memisahkan object-object tersebut, kita juga kemungkinan akan menemukan object-object kecil yang membentuk object tersebut (contoh, roda jika dibedah lagi, kita akan mendapatkan pentil, ban dalam, ban luar dan lain-lain).

Jenis-Jenis OOP pada Bahasa Pemrograman

Karena kemudahan yang diberikan oleh konsep OOP, banyak Bahasa yang membawa dukungan fitur OOP, karena hal itu OOP menjadi memiliki dan dibagi menjadi 3 jenis, yaitu :

  • Bahasa OOP Murni adalah sebuah bahasa yang mengharuskan program ditulis hanya berupa object saja. Contoh – Eifel, Smaltalk, Ruby, Jade dan lain-lain.
  • Bahasa OOP Hybrid adalah bahasa yang dirancang untuk pemrograman object dengan beberapa elemen procedural.
  • Bahasa OOP Hybrid dalam Web sama seperti Bahasa OOP Hybrid, yang berbeda hanyalah, konsep ini sering digunakan dalam pemrograman Web.

Referensi :

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google

You are commenting using your Google account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s