Pengertian OOP (Object Oriented Programming) dan 4 Prinsipnya

object oriented programming

Object-Oriented Programming atau OOP adalah suatu metode programming yang berorientasi pada objek. Program-program tersebut merupakan gabungan dari beberapa komponen kecil yang telah ada sebelumnya, sehingga dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan.

OOP adalah cocok di gunakan untuk membuat program yang menerapkan kehidupan sehari-hari. Dengan OOP para pengembang bisa menjadi software pada objek-objek tertentu. Lalu apa itu OOP sebenarnya? Simak penjelasan kita yuk Sob!

Apa itu OOP (Object Oriented Programming)?

Object Oriented Programming

OOP adalah singkatan dari Object Oriented Programming, yaitu suatu metode pemrograman yang fokus atau berorientasi pada objek. Tujuan dari dirancangnya OOP adalah membantu para developer dalam mengembangkan model yang sudah ada di kehidupan sehari-hari.

Sehingga, satu bagian dari suatu permasalah dalam program tersebut adalah objek. Nah, objek itu juga merupakan komposisi dari komponen-komponen objek yang lebih kecil lagi. Agar lebih mudah, simak analogi berikut ini:

Bayangkan suatu motor yang memiliki berbagai bagian sekrup, baut, per, dan plat. Tentu kelihatannya sangat kecil dan rumit. Namun, kita bisa lihat dalam skala yang lebih besar lagi. Dapat kita lihat bahwa motor tersebut terdiri dari rangka badan, roda, rem, tangki, dynamo. Tentu lebih masuk akal dan mudah untuk menyatukannya bukan?

Prinsip-Prinsip OOP

prinsip Object Oriented Programming

Metode ini di kenal memiliki empat prinsip yang menjadi konsep dasar OOP ketika menggunakannya. Berikut masing-masing penjelasannya.

1. Encapsulation

PengertianEncapsulation pada OOP adalah konsep tentang pengikatan data atau metode berbeda yang di satukan atau “dikapsulkan” menjadi satu unit data. Encapsulation dapat memudahkan dalam pembacaan kode karena informasi yang di sajikan tidak perlu di baca secara rinci dan sudah merupakan satu kesatuan.

Cek Konten Lainnya:
Perbedaan Domain .COM vs .ID, Pilih yang mana?

Encapsulation juga sering di gunakan karena terdapat fitur information-hiding mechanism. Mekanisme ini menghilangkan akses publik ke atribut-atribut yang terdapat di dalam “kapsul” tersebut. Metode ini dapat memudahkan kamu dalam mendefinisikan atribut apa saja yang dapat di baca dan di perbarui.

2. Inheritance

Prinsip inheritance pada OOP adalah di mana kita dapat membentuk class baru yang “mewarisi” atau memiliki bagian-bagian dari class yang sudah ada sebelumnya. Konsep ini menggunakan sistem hirarki atau bertingkat. 

Seperti sebuah Drop-Down Menu yang ada di kebanyakan website, di mana semakin spesifik submenunya, semakin spesifik pula kontennya. Demikian juga dengan Inheritance OOP di mana semakin spesifik subclassnya, semakin sedikit pula komponen yang dapat di warisi class tersebut.

Baca juga: Apa itu Programmer? Pengertian, Jenis, Tugas, & Cara Menjadi

3. Abstract Class

Seperti namanya, prinsip abstract class OOP adalah class-class yang memiliki informasi abstrak dan metode-metode dari sekumpulan data. Abstract Class tidak bisa di ubah dan  berlaku juga sebagai kerangka dalam penciptaan berbagai subclass (berperan seperti Superclass yang di bahas di konsep Inheritance).

Suatu abstract class memiliki informasi dan metode yang dapat di turunkan ke subclass-nya. Kemudian, seluruh subclass tersebut akan mengikuti apa saja metode turunan dari abstract class tersebut.

4. Polymorphism

Prinsip polymorphism pada OOP adalah konsep di mana suatu objek berbeda-beda dapat di akses melalui satu interface. Sebuah objek polymorphic dapat beradaptasi dengan metode apapun yang di implementasikan pada objek tersebut, dan setiap class memiliki interpretasinya tersendiri terhadap interfacenya.

Dalam Java, terdapat 2 jenis polymorphism yaitu Static Polymorphism dan Dynamic Polymorphism.

  1. Static Polymorphism yang umum di gunakan adalah Method Overloading. Method Overloading mengizinkan kalian untuk menerapkan beberapa implementasi metode berbeda dalam kelas yang sama namun dengan parameter berbeda-beda.
  2. Dalam Dynamic Polymorphism sebuah subclass dapat menimpa metode dari superclassnya. Jika kalian menerapkan subclass tersebut, Java Virtual Machine akan selalu menggunakan metode yang sudah di timpa.
Cek Konten Lainnya:
Apa itu Lazy Load? & Cara Menerapkan Lazy Load di Website

Kelebihan OOP

kelebihan dan kekurangan Object Oriented Programming

Setelah mengetahui pengertian serta empat prinsipnya dengan lengkap, kamu juga perlu tahu nih sob kelebihan dari Object Oriented Programming. Beberapa kelebihan OOP adalah sebagai berikut.

1.  Parallel Development

Ketika bekerja sama dengan tim, masing-masing programmer dapat membangun class-class secara individual. Dengan begitu, komponen yang sudah di bentuk kemudian dapat di gabung menjadi satu kesatuan, hal ini tentu saja menghemat banyak waktu di banding harus membangun class satu per satu.

2. Reusable

Jika kalian sudah berhasil membangun class, bukan berarti class-class tersebut hanya dapat di gunakan sekali dalam proyek itu saja. Dalam OOP, class-class yang sudah ada dapat kalian gunakan kembali di project dan development lainnya. Baik langsung pakai atau hanya butuh sedikit perubahan, tetapi jauh lebih mudah daripada harus membangun class lagi, bukan?

3. Coding Lebih Mudah Diatur

OOP adalah metode yang memiliki basis coding terpusat dan mudah di kelola. Data-data yang sudah kamu miliki lebih mudah di akses ketika dibutuhkan. Proses ini juga meningkatkan keamanan programming karena terdapat sistem otentikasi di nilai cukup kuat.

Baca juga: 15 Contoh Bahasa Pemrograman Populer yang Wajib Dipelajari Pemula

Kekurangan OOP

Tidak hanya kelebihan saja, namun OOP adalah metode yang tentu saja masih memiliki kekurangan untuk kamu pertimbangkan. Beberapa kekurangan dari OOP adalah sebagai berikut.

1. Tidak Efisien

OOP adalah metode yang lebih cenderung memakan tenaga CPU anda di banding pilihan lainnya. Hal tersebut tentu bermasalah baik bagi komputer-komputer tua dengan kekuatan terbatas atau masalah teknis lainnya.

2. Membutuhkan Tingkat Manajemen Data yang Tinggi

Jika kamu tidak cermat dalam mengontrol OOP, secara otomatis OOP akan membuat sisa-sisa code yang tidak berguna dalam jumlah besar. Ketika hal tersebut terjadi, akan sulit untuk menghilangkannya dan akan sangat membebani komputer kamu lho, Sob.

Cek Konten Lainnya:
Rekomendasi 15 Situs Download Font Gratis, Keren & Estetik!

3. Kemungkinan Duplikasi

Proyek OOP cenderung lebih mudah untuk di rancang. Class-class yang sudah ada sangatlah fleksibel dalam implementasinya, sehingga anda dapat merancang proyek baru dengan cepat. Tetapi, sering tidak kalian sadari hal tersebut justru membuat proyek barumu terasa seperti sekedar “duplikat” tanpa ada inovasi.

Mengapa Harus Menggunakan OOP?

Pada dasarnya, OOP adalah salah satu inovasi terbaik dalam software development. OOP mempermudah kamu dalam mengembangkan kode-kode kompleks menjadi lebih mudah di gunakan, di baca, dan secara umum lebih baik. 

Alasan-alasan kamu untuk menggunakan OOP dapat di lihat dari konsep-konsep yang sudah ada, di antaranya yaitu:

  1. OOP adalah metode yang memudahkan kalian merubah implementasi suatu objek tanpa harus mengubah data dan metode di dalam objek tersebut. (Encapsulation).
  2. OOP memudahkan kalian dalam membentuk metode umum yang dapat di gunakan untuk objek-objek lainnya tanpa harus menulisnya berulang-ulang. (Abstract Class).
  3. Contoh OOP dapat mengembangkan satu jenis data dan fungsi yang dapat di arahkan ke fungsi-fungsi lainnya tanpa harus mengganti data dan fungsi dasarnya. (Inheritance).
  4. OOP memperbolehkan kalian untuk memiliki fungsi beragam, dengan nama dan pekerjaan yang sama, namun dapat di terapkan di berbagai data. (Polymorphism).

Nah, itu dia penjelasan mengenai pengertian OOP (Object Oriented Programming). Penerapan OOP pada suatu proyek memang memudahkan pekerjaan pada developer. Namun, di sisi lan, proyek barumu bisa terkesan monoton dan terlihat tidak ada inovasi. Jadi wajar saja bisa suatu metode pemrograman memiliki kelebihan dan kekurangan masing-masing.

Tinggalkan Balasan

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

You May Also Like
contoh CSS Framework
Read More
10 Contoh CSS Framework, Ini Rekomendasinya untuk Developer!
Menguasai bahasa pemrograman CSS (Cascading Style Sheets) sangat diperlukan untuk membuat desain front-end pada sebuah website. Dalam hal…
SQL
Read More
Apa itu SQL? Sejarah, Fungsi dan Perintah Dasar
SQL adalah salah satu bahasa pemrograman yang perlu kamu kuasai, terutama jika ingin berkarir di bidang data. Dari…