Apa itu Pemrograman Berorientasi Objek ?

 

Apa Itu Pemograman Berorientasi Objek (Object Oriented Programming)?




Pemograman Berorientasi Object atau dalam bahasa inggris lebih dikenal dengan Object Oriented Programming (OOP) adalah sebuah paradigma dalam pemograman yang menyelesaikan masalah program dengan menyediakan objek-objek(terdiri dari beberapa attribute dan method) yang saling berkaitan dan disusun kedalam satu kelompok atau yang disebut dengan class. Nantinya objek-objek tersebut akan saling berinteraksi untuk menyelasaikan masalah program yang rumit.

Apa itu objek?

dan

Apa itu class?

Konsep diatas mungkin akan lebih mudah dipahami apabila kita melihat contoh nyata dalam kehidupan. Misalkan saat anda duduk dibangku sekolah, anda pasti ditempatkan dalam satu kelas yang berisikan siswa lainnya yang sama dengan anda. Kita dapat menyimpulkan bahwa kelas itu sama dengan class yang kita gunakan dalam OOP dan siswa-siswi yang berada dalam kelas tersebut sama dengan objek-objek yang ada didalam class itu juga.

Untuk memahami topik ini dengan sedikit lebih baik, terdapat beberapa istilah ataupun konsep dasar yang dapat dipahami dengan sedikit penjelasan dan contohnya. Konsep-konsep tersebut adalah :

Encapsulation

Encapsulation adalah proses dalam menciptakan sebuah objek dimana terdapat beberapa bagian atau attribute yang terbagi berdasarkan sifat yakni public(umum) dan private (khusus). Sebagaimana yang kita ketahui dalam definisi OOP, objek akan selalu berinteraksi dengan objek lain untuk menyelesaikan masalah dengan mengakses proses dari objek tersebut. Untuk menghindari redundansi atau ketidakakuratan program, maka diberikan batasan akses setiap objek terhadap objek lain. Saat objek bisa mengakses method dari objek lain, maka kita menyebutnya method bersifat public. Sedangkan saat suatu attribute hanya mampu diakses oleh objek itu sendiri, maka kita menyebutnya sebagai attribute bersifat private.

Kita ambil contoh tubuh manusia yang terdiri dari beberapa class seperti tangan(hand), kaki(leg) dan sebagainya. Class hand terdiri dari beberapa objek seperti lengan, siku, dan jari. Kita lihat satu objek jari yang memiliki beberapa attribut private yaitu seperti tulang, pembuluh darah, dan kulit. Selain itu, jari juga memiliki aktivitas yang umum yaitu public method menggenggam(), menyentuh(), dan menulis (). Pemisahan tersebut merupakan tujuan utama dari encapsulation.

Inheritance

Saat membuat objek-objek dalam sebuah class, mungkin kita sering menemukan sifat yang sama antar objek dan menulisnya berulang kali sebanyak objek yang memiliki sifat tersebut. Hal itu tentu terlalu merepotkan dan memerlukan waktu yang lebih lama. Oleh karena itu terdapat suatu konsep dalam OOP yang mampu membantu kita dalam mengatasi masalah tersebut. Inheritance merupakan hubungan antara dua objek atau lebih dimana akan terdapat sebuah objek utama yang mewariskan attribute atau method yang dimilikinya kepada objek lain, baik itu keseluruhan atau sebagian.

Misalkan saat kita membuat sebuah sistem informasi kampus yang akan diakses oleh Dosen dan Mahasiswa. Kedua objek tersebut pasti memiliki attribut yang sama seperti nama, umur, alamat, dan lainnya. Untuk menghindari penulisan ulang ketiga attribut tersebut disetiap objek, ada baiknya kita membuat objek baru yang mampu menyimpan ketiga attribute tersebut dan nantinya akan diwariskan kepada objek Dosen dan Mahasiswa seperti gambar disamping. Lalu bagaimana objek Person mengetahui apakah objek Dosen atau objek Mahasiswa yang mengaksesnya? Untuk menghindari kebingungan saat diakses maka Objek Dosen dan Mahasiswa memiliki attribute pembeda yang didefinisikan dalam masing-masing objek yaitu IdDosen dan NIM mahasiswa. Pengaksesan ini juga erat kaitannya dengan Polymorphism dimana sebuah objek yang diakses menggunakan konsep inheritance juga memiliki attribute-attribute pembeda untuk mengedintifikasi setiap objek tersebut.

Abstraction

Abstraction adalah konsep dimana terdapat berbagai objek yang sejenis, namun pada saat memiliki impelementasi yang berbeda-beda. Kita dapat mengambil sebuah objek dari contoh sebelumnya seperti objek Dosen. Dosen memiliki kepentingan yang berbeda terhadap matakuliah yang tersedia dalam satu semester akademik, namun sistem akan selalu mengenali objek Dosen sebagai suatu entitas yang sama walaupun memiliki kepentingan yang berbeda-beda.

Composition

Composition adalah konsep dimana sebuah class terdiri dari beberapa bagian objek yang terpisah dan memiliki fungsi yang berbeda-beda. Contoh paling mudah untuk kita pahami adalah kembali pada contoh pertama. Tubuh manusia disusun oleh beberapa class seperti tangan, kaki, kepala dan sebagainya. Class tangan terdiri dari beberapa objek seperti Jari, Siku, dan Lengan. Kumpulan dari beberapa objek akan membangun sebuah class dan kumpulan dari beberapa class akan membangun sebuah program yang kita inginkan.

Demikian sedikit definisi dan pemahaman yang mampu saya berikan untuk memperkenalkan Object Oriented Programming (OOP). Jika ada saran maupun kritik terhadap kesalahan saya terhadap konsep-konsep diatas, jangan sungkan untuk menuliskannya di kolom komentar.

Komentar

Postingan populer dari blog ini

Apa itu Adobe After Effects ?

Apa itu Adobe Lightroom ?

Apa itu Filezilla