Apa sih OOP (Object Oriented Programming) itu?

Informatika, Pemrograman

Gambaran Umum

Object Oriented Programming (Pemrograman Berorientasi Obyek) merupakan teknik membuat suatu program dengan menerjemahkan masalah ke dalam bentuk obyek.

Ide dasar OOP adalah mengombinasikan data dan fungsi-untuk-mengakses-data menjadi sebuah kesatuan unit. Unit ini dikenal dengan nama obyek (object).

Sebuah obyek sebenarnya mencerminkan pola kinerja manusia dalam kehidupan sehari-hari. Kita ambil contoh dari pembagian departemen pada sebuah perusahaan. Untuk memudahkan pengoperasian, perusahaan membagi komponen internalnya menjadi departemen-departemen yang berfokus untuk menyelesaikan masalah khusus seperti Departemen Penjualan, Departemen Keuangan, dan Departemen Personalia.

Suatu misal anda adalah seorang manajer penjualan di kantor pusat, lalu anda ingin mengetahui data personalia di kantor cabang, kira-kira apa yang akan anda lakukan?

Tentunya akan sangat merepotkan kalau anda harus secara langsung pergi ke ruangan personalia dan mencari data pada berkas-berkas yang ada. Barangkali anda malah akan mengobrak-abrik berkas-berkas yang sudah tersusun rapi.

Salah satu cara yang bisa anda lakukan adalah mengutus sekretaris anda meminta informasi dari Departemen Personalia sesuai dengan yang anda butuhkan. Masalah bagaimana dan siapa yang mencarikan laporan yang diperlukan bukanlah menjadi urusan anda.

Menggunakan analogi kasus diatas, jika seseorang bermaksud menggunakan obyek, ia cukup mengirim suatu pesan ke obyek tersebut. Kemudian obyek itu sendiri yang akan menyelesaikan permasalahannya dan memberikan balasan pesan. Bisa kita bayangkan, betapa repotnya kalau kita sebagai manajer penjualan harus mencari sendiri berkas-berkas yang ada pada Departemen Personalia. Kejadian semacam ini dapat terhindar dengan mengaplikasikan konsep OOP.

OOP menekankan konsep berikut:

Obyek

Obyek memiliki pengertian yaitu membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer.

Kelas

Definisi Kelas yaitu kumpulan dari beberapa objek yang sama.

Konsep Obyek dan Kelas lebih jelasnya tergambar dari ilustrasi berikut:

CPT-OOP-objects_and_classes.svg.png

Kelas bisa kita andaikan sebagai sebuah cetakan / cetak-biru (blueprint). Sedangkan, Obyek adalah hasil cetakan dari Kelas.

Abstraksi

Abstraksi adalah suatu cara melihat suatu obyek dalam bentuk yang sederhana. Saat kita membuat suatu Kelas, sebenarnya kita membuat bentuk abstrak dari Obyek tertentu.

Contoh konsep Abstraksi di dunia nyata :

Abstraksi Mobil: apapun pabrik pembuatnya, sebuah kendaraan bisa kita kategorikan sebagai mobil jika kendaraan tersebut memiliki atribut berupa sebuah mesin, 4 buah roda, 4 buah tempat duduk, seperangkat pedal pengemudi, dan komponen lainnya.

Enkapsulasi

Enkapsulasi atau Pembungkusan bertujuan untuk melindungi atribut dan metode-metode yang ada didalam kelas agar tidak sembarangan diakses oleh kelas lain.

Contoh konsep Enkapsulasi di dunia nyata :

Ibu rumah tangga yang memakai rice cooker. Ibu ini dapat menanak nasi hanya dengan menekan sebuah tombol tanpa harus tahu bagaimana sebenarnya proses rice cooker memasak terjadi.

Pada contoh ini, tombol rice cooker membungkus proses menanak nasi sehingga pengguna hanya akan mengetahui hasil akhir dari proses.

Polimorfisme

Polimorfisme (berbagai bentuk) adalah konsep yang menyatakan sesuatu yang sama dapat memiliki berbagai bentuk dan perilaku yang berbeda.

Contoh konsep Polimorfisme di dunia nyata :

Seorang ibu memberikan pesan yang sama kepada anak-anaknya, “Sekarang waktunya makan!”.

Pesan yang berupa perintah tersebut bisa saja memberi makna yang berbeda pada setiap anak-anaknya. Juga, setiap anak bisa saja memberikan tanggapan yang berbeda-beda.

Seorang anak yang berumur 1 tahun akan duduk diam menunggu ibunya menyiapkan makanan dan menyuapkan makanan tersebut ke dalam mulutnya.

Sedangkan, untuk anak yang berumur 16 tahun akan langsung duduk di meja makan langsung mengambil makanannya sendiri. Kemudian memakannya tanpa harus menunggu dan berharap ibunya menyuapkan makanan ke dalam mulutnya.

Inheritas

Inheritas (Pewarisan) adalah bentuk spesialisasi atau generalisasi suatu obyek. Pewarisan mengijinkan sebuah kelas untuk memiliki atau mendapatkan beberapa karakteristik dari kelas induknya (parent class). Namun kelas tersebut juga dapat menambahkan fitur atau kegunaan khusus pada dirinya sendiri.

Contoh konsep Inheritas di dunia nyata : Mobil

Atribut obyek Mobil yaitu memiliki sebuah mesin, 4 buah roda, tempat duduk pengemudi, seperangkat pedal pengemudi, dan komponen lainnya.

Selain memiliki atribut, obyek Mobil juga bisa kita kategorikan berdasarkan fitur. Pertama adalah obyek Mobil dengan fitur bak terbuka seperti Truk. Kedua adalah obyek Mobil dengan fitur bak tertutup seperti Sedan dan Minibus.

Obyek Mobil ini dapat kita katakan sebagai obyek induk (parent). Sedangkan untuk Minibus dapat kita katakan sebagai obyek anak (child).

Hal ini berarti, sebuah Minibus memiliki semua atribut yang berlaku pada obyek Mobil antara lain memiliki sebuah mesin, 4 buah roda, tempat duduk pengemudi, dan komponen lainnya.

Namun, Minibus juga memiliki atribut tersendiri seperti memiliki 5 tempat duduk dan fitur tersendiri yaitu bak terbuka sehingga membedakan antara Minibus dengan obyek Mobil lainnya.

Bahasa pemrograman yang mendukung OOP antara lain:

  1. Java
  2. C++
  3. Visual Basic.NET
  4. Python
  5. PHP
  6. C#
  7. Delph

Referensi :

Bacaan Tambahan:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *