Pernahkah kalian mendengar istilah OOP? Bagi orang yang bergelut di bidang programming, tentu tidak akan asing dengan istilah tersebut. Namun, bagi orang awam OOP masih sangat asing. Sebuah konsep pemrograman yang diorientasikan pada objek atau data untuk mengatur sebuah desain program merupakan penjelasan dari OOP atau Object Oriented Programming.
OOP adalah konsep utama atau dasar dalam sebuah pemrograman. Konsep dari Object Oriented Programming ini membantu developer atau pengembang untuk membuat kode program menjadi lebih efektif ketika digunakan. Lantas, apa itu OOP? Bagaimana cara kerjanya? Apa kelebihan dan kekurangannya? Pada artikel di bawah ini, akan dijelaskan mengenai seluk beluk dari OOP atau Object Oriented Programming.
Apa itu OOP?
OOP adalah sebuah dasar konsep yang digunakan dalam pemrograman yang diorientasikan pada data atau objek untuk mengatur suatu desain program. OOP adalah kepanjangan dari Object Oriented Programming, yaitu program yang telah ada merupakan gabungan dari objek-objek yang berhubungan dan disusun menjadi satu class. Dengan demikian, Object Oriented Programming membantu developer untuk menyelesaikan beberapa masalah program yang rumit.
Konsep yang mengidentifikasikan object class mengenai cara yang digunakan dalam pemrograman merupakan pengertian lain dari OOP. Object Oriented Programming menawarkan potensi perkembangan ke tingkat abstraksi yang tinggi. Oleh karena itu, Object Oriented Programming ini sangat populer sebagai bahasa pemrograman karena sering digunakan oleh developer pemula dan berpengalaman.
OOP telah mendukung bahasa pemrograman lainnya, seperti Python, Java, JavaScript, dan C++. Penggunaan class dalam Object Oriented Programming dapat membantu menentukan atribut instance object, yaitu bentuk, warna dan sebagainya. Object Oriented Programming membuat program secara ringkas sehingga developer dapat lebih fokus memanipulasi objek dari function atau logic.
Istilah Dasar pada OOP
Istilah-istilah pada OOP berikut in dapat dipahami sebelum masuk dan paham lebih lanjut mengenai Object Oriented Programming. Berikut adalah istilah-istilah dasar dalam Object Oriented Programming .
1. Kelas (Class)
Kelas berisi kode-kode yang menjelaskan mengenai perilaku sebuah object dan interaksinya dengan dirinya sendiri atau satu sama lain. Class berbentuk prototype atau blueprint atau rancangan yang menjelaskan variable dan metode-metodenya pada seluruh objek. Fungsi dari class adalah untuk menampung isi dari program yang dijalankan.
2. Metode (Method)
Metode merupakan fungsi yang ada di dalam kelas. Metode dapat diakses dengan akses user dan modifier. Dalam penerapannya, objek menyimpan data dalam banyak variabel dan mengimplementasikan perilakunya menggunakan method atau metode.
3. Objek (Object)
Objek atau object ini merupakan benda secara nyata yang merupakan hasil acuan dari class. Dalam pemrograman, objek diartikan sebagai bagian dari sebuah aplikasi dalam software yang di dalamnya menghubungkan variabel-variabel dan juga metode yang keduanya saling berkaitan.
4. Atribut (Property)
Property atau atribut ini adalah sebuah variabel yang berfungsi menjelaskan di dalam kelas, tetapi tidak berada dalam satu fungsi dari kelas. Pada pemrograman, atribut berada di dalam kelas yang memberikan informasi. Atribut dapat diakses dengan tiga jenis user (modifier), yaitu public, private, dan protected.
Baca Juga: Extreme Programming: Tahapan, Kelebihan, dan Kekurangannya
Konsep dan Cara Kerja OOP
Setiap programmer tentu akan dan harus bisa meminimalisir program dan membuat program tersebut secara rapi. Hal tersebut berguna untuk mempercepat pembuatan aplikasi. Hal tersebut tentu harus diperhatikan oleh semua programmer. Masalah yang muncul adalah semakin besar dan kompleks sebuah aplikasi, maka akan semakin besar juga kesulitan untuk maintenance.
Dengan kompleks dan besarnya kesulitan yang terjadi, teknik OOP ini dibutuhkan. Object Oriented Programming akan mengidentifikasi semua objek yang diinginkan oleh programmer dan membuatnya saling berhubungan. Setelah objek diketahui, objek tersebut akan digeneralisasikan sebagai object class yang menjelaskan jenis data dan kandungannya sesuai urutan logikanya.
Urutan logika yang berbeda tersebut dikenal dengan method dan objek dapat berkomunikasi dengan antarmuka dengan penjelasan baik yang disebut dengan message. Secara sederhana, Object Oriented Programming fokus kepada objek yang ingin dimanipulasi developers atau pengembang daripada logika. Oleh karena tu, pendekatan program ini sangat tepat untuk program yang besar dan kompleks, dan diperbaharui secara aktif.
Prinsip-Prinsip OOP
OOP adalah sebuah konsep yang mempunyai beberapa prinsip terkait dengan prosesnya. Prinsip-prinsip ini juga disebut dengan 4 pilar OOP. Berikut ini adalah prinsip-prinsip dari Object Oriented Programming:
1. Encapsulation
Istilah Encapsulation adalah konsep mengenai pengikatan data atau metode yang menjadikan data menjadi satu unit. Fitur yang sering digunakan pada encapsulation adalah fitur information-hiding mechanism. Cara kerja mekanisme ini adalah dengan menghilangkan akses publik ke atribut-atribut yang terdapat pada kapsul tersebut. Dengan metode ini, kalian dapat dengan mudah mendefinisikan atribut yang dapat dibaca dan diperbaharui.
2. Inheritance
Prinsip inheritance adalah ketika kita dapat membentuk kelas baru yang menyalurkan atau mewarisi bagian-bagian dari kelas yang sudah ada sebelumnya. Prinsip ini menggunakan sistem bertingkat. Semakin spesifik subkelasnya, maka akan semakin sedikit pula komponen yang diwarisi dari kelas tersebut itulah sistem dari inheritance.
3. Abstract Class
Abstract class ini memiliki informasi yang bersifat abstrak dan metode-metode dari sekumpulan data. Sifat dari abstract class ini tidak dapat diubah. Abstract class mempunyai informasi dan juga metode-metode yang dapat diturunkan ke subkelasnya. Setelahnya, semua subkelas akan mengikuti semua metode turunan dari abstract class tersebut.
4. Polymorphism
Prinsip polymorphism adalah suatu konsep ketika objek berbeda-beda dapat diakses hanya melalui satu interface. Dalam Java, terdapat dua jenis polymorphism, yaitu static polymorphism dan dynamic polymorphism. Seperti yang dijelaskan sebagai berikut.
a) Static Polymorphism
Jenis polymorphism ini umumnya digunakan dengan method overloading. Method overloading ini memberikan izin untuk menerapkan beberapa implementasi metode yang berbeda, tetapi kelasnya masih sama dan parameternya yang berbeda.
b) Dynamic Polymorphism
Pada dynamic polymorphism terdapat sebuah subkelas yang menimpa kelas supernya. Apabila subkelas ini diterapkan, Java Virtual Machine akan selalu menggunakan metode yang telah ditimpa.
Contoh Program OOP Java
Berikut ini adalah contoh program OOP Java dengan penjelasan singkatnya.
Contoh Encapsulation
Encapsulation adalah konsep menyembunyikan data (menggunakan akses modifier private) dan menyediakan metode publik (getter dan setter) untuk mengakses dan mengubah data tersebut.
Contoh Inheritance
Inheritance adalah konsep di mana sebuah class dapat mewarisi atribut dan metode dari class lain. Di sini, class Dog mewarisi dari class Animal.
Contoh Polymorphism
Polymorphism memungkinkan objek untuk memiliki banyak bentuk. Pada Java, ini sering diterapkan melalui overriding atau overloading.
Contoh Abstraction
Abstraction adalah konsep menyembunyikan detail implementasi dan hanya menunjukkan fungsionalitas. Dalam Java, ini sering dicapai menggunakan abstract class atau interface.
Contoh Program OOP PHP
Berikut ini adalah contoh program OOP PHP dengan penjelasan singkatnya.
Contoh Class and Object
Dalam OOP PHP, penulisan kelas diawali dengan sintaks “class” diikuti dengan nama kelas tersebut. Objek merupakan hasil dari kelas, dan objek dapat menampilkan atau mengelola konten kelas. Semua elemen dalam kelas akan kita instansiasi menjadi objek.
Contoh Encapsulation
Encapsulation adalah konsep mengamankan data dengan membuatnya hanya dapat diakses melalui metode tertentu. Ini dilakukan dengan menggunakan access modifiers seperti ‘private’, ‘protected’, dan ‘public’.
Contoh Inheritance
Inheritance memungkinkan sebuah class untuk mewarisi properti dan metode dari class lain. Ini memungkinkan kita untuk membuat hierarki kelas yang terorganisir.
Contoh Polymorphism
Polymorphism memungkinkan metode untuk digunakan secara berbeda berdasarkan objek atau class yang menggunakannya. Ini bisa dicapai melalui method overriding.
Contoh Abstraction
Abstraction memungkinkan kita untuk menyembunyikan detail implementasi dan hanya menampilkan fitur penting dari suatu objek. Ini dapat dilakukan dengan menggunakan abstract classes atau interfaces.
Contoh Interface
Interfaces mendefinisikan metode yang harus diimplementasikan oleh sebuah class. Interface tidak mengandung implementasi dari metode, hanya deklarasinya.
Contoh Constructors and Destructors
Constructor adalah metode khusus yang dipanggil saat objek dibuat. Destructor dipanggil saat objek dihancurkan atau selesai digunakan.
Contoh Encapsulation and Access Modifiers
Encapsulation dalam PHP diwujudkan melalui penggunaan access modifiers untuk mengontrol akses ke properti dan metode sebuah class:
- public: Dapat diakses dari mana saja.
- private: Hanya dapat diakses dari dalam class itu sendiri.
- protected: Dapat diakses dari dalam class itu sendiri dan class turunannya.
Kelebihan OOP
Berikut ini adalah penjelasan mengenai kelebihan dari teknik Object Oriented Programming.
1. Parallel Development
Ketika bekerja dengan tim, setiap programmer akan membentuk kelasnya sendiri. Kelas tersebut akan digabung menjadi kesatuan yang utuh. Hal tersebut akan sangat menghemat waktu.
2. Reusable
Kelas yang sudah pernah dibuat dapat digunakan lagi. Hal tersebu akan sangat memudahkan untuk menggunakan projek sejenis lainnya. Kelas tersebut masih dapat diubah sesuai dengan kebutuhan.
3. Scalability
Priinsip OOP adalah agar membantu memudahkan kebutuhan program yang kompleks dan luas. Dengan teknik ini, program yang sebelumnya telah dibuat dapat ditambahkan fungsi, objek, dan kelas lainnya agar lebih mudah.
Kekurangan OOP
Berikut ini adalah penjelasan mengenai kekurangan dari teknik Object Oriented Programming.
1. Tidak Efisien
Daya yang digunakan ketika menggunakan OOP akan sangat banyak sehingga disarankan untuk menggunakan perangkat yang lebh baru dan mendukung programming dengan OOP.
2. Memerlukan Manajemen Data yang Ketat
Kontrol ketat terhadap kode di dalam program yang menggunakan OOP sangat dikeluhkan oleh para developer. Hal tersebut terjadi karena OOP akan menampilkan beberapa kode baru apabila terdapat kose yang kurang bisa berfungsi.
3. Kemungkinan Duplikasi
Pengembangan program baru akan menjadi lebih mudah dengan OOP ini. Hal ini dapat berakibat pada berbaga program yang dbuat akan mudah diduplikasi.
Pemrograman Berbasis OOP
Berikut adalah macam-macam contoh dari bahasa pemrograman yang cocok digunakan dan diterapkan dengan metode Object Oriented Programming.
- Visual Foxpro
- Java
- C++
- Pascal
- Visual Basic.Net
- SIMULA
- SmallTalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
Baca Juga: Tutorial Mudah Belajar Bahasa Pemrograman PHP untuk Pemula
Demikian adalah penjelasan lengkap mengenai pengertian, cara kerja, contoh, konsep, dalam manfaat dari Object Oriented Programming. OOP atau Object Oriented Programming adalah suatu metode dalam pemrograman yang berorientasi pada objek.
Sekawan Media menyediakan berbagai layanan untuk pembuatan aplikasi dan website untuk membantu bisnis dalam berbagai sektor industri.