Apa itu OOP ?

 

Apa itu OOP (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?

Object Oriented Programming

Prinsip-Prinsip OOP

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

1. Encapsulation

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

Encapsulation juga sering digunakan 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 dibaca dan diperbarui.

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 diwarisi class tersebut.

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 diubah dan  berlaku juga sebagai kerangka dalam penciptaan berbagai subclass (berperan seperti Superclass yang dibahas di konsep Inheritance).

Suatu abstract class memiliki informasi dan metode yang dapat diturunkan 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 diakses melalui satu interface. Sebuah objek polymorphic dapat beradaptasi dengan metode apapun yang diimplementasikan 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 digunakan 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 ditimpa.

Kelebihan OOP

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 dibentuk kemudian dapat digabung menjadi satu kesatuan, hal ini tentu saja menghemat banyak waktu dibanding harus membangun class satu per satu.

2. Reusable

Jika kalian sudah berhasil membangun class, bukan berarti class-class tersebut hanya dapat digunakan 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 dikelola. Data-data yang sudah kamu miliki lebih mudah diakses ketika dibutuhkan. Proses ini juga meningkatkan keamanan programming karena terdapat sistem otentikasi dinilai cukup kuat.

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 dibanding 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.

3. Kemungkinan Duplikasi

Proyek OOP cenderung lebih mudah untuk dirancang. 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.

Komentar

Postingan populer dari blog ini

Apa itu Adobe After Effects ?

Apa itu Adobe Lightroom ?

Apa itu Filezilla