Share

Object-oriented programming (OOP) adalah gaya pemrograman yang berfokus pada penggunaan objek untuk merancang dan membangun aplikasi. Menjadikan objek sebagai model konsep, proses, atau hal-hal di dunia nyata yang memiliki arti bagi aplikasi Anda. Misalnya, dalam aplikasi manajemen proyek, Anda akan memiliki objek status, objek biaya, objek klien dan lain sebagainya. Objek-objek ini akan bekerja sama (dan dengan banyak objek lainnya) untuk menyediakan fungsionalitas yang Anda inginkan untuk membagungun aplikasi manajemen proyek Anda.

Pemrograman berorientasi objek digunakan untuk mengembangkan banyak aplikasi-aplikasi sederhana dan kompleks, aplikasi bisnis, permainan, baik itu aplikasi mobile maupun desktop. Pengembang memilih untuk memprogram dalam paradigma berorientasi objek karena penggunaan objek yang tepat memudahkan pembuatan, pemeliharaan, dan pengembangan aplikasi. Selain itu, mengembangkan aplikasi dengan objek yang telah diuji meningkatkan keandalan aplikasi.

Jika Anda baru mengenal konsep pemrograman berorientasi objek, Anda perlu mengetahui beberapa hal mendasar sebelum Anda dapat memulainya dengan kode.

  • Class
    Ditentukan oleh pemrogram, yang mencakup fungsi lokal dan juga data lokal. Anda bisa menganggap sebuah kelas sebagai template untuk membuat banyak contoh object (atau class) yang sama.
  • Object
    Contoh individu dari struktur data yang didefinisikan oleh class. Anda mendefinisikan sebuah class sekali dan kemudian membuat banyak object yang menjadi miliknya.
  • Member Variable
    Variabel yang didefinisikan di dalam class. Data ini tidak akan terlihat di luar class dan dapat diakses melalui fungsi-fungsi yang ada di dalam class. Variabel ini disebut atribut object begitu sebuah object dibuat.
  • Member function
    Fungsi yang didefinisikan di dalam class dan digunakan untuk mengakses data objek.
  • Inheritance
    Bila class didefinisikan dengan mewarisi fungsi yang ada dari class induk maka itu disebut inheritance. Disini class anak akan mewarisi semua atau beberapa fungsi anggota dan variabel dari class induknya.
  • Parent class
    Class yang diwarisi dari class lain. Ini juga disebut class dasar atau class super.
  • Child Class
    Class yang mewarisi dari class lain. Ini juga disebut kelas subclass atau turunan.
  • Polymorphism
    Konsep berorientasi objek dimana fungsi yang sama dapat digunakan untuk tujuan yang berbeda. Misalnya nama fungsi akan tetap sama tapi dibuat mengambil jumlah argumen yang berbeda dan bisa melakukan tugas yang berbeda.
  • Overloading
    Jenis polymorphism di mana beberapa atau semua operator memiliki implementasi yang berbeda tergantung pada jenis argumen mereka. Fungsi yang sama juga bisa kelebihan beban dengan implementasi yang berbeda.
  • Data Abstraction
    Setiap representasi data dimana rincian implementasi disembunyikan.
  • Encapsulation
    Mengacu pada konsep di mana kita merangkum semua fungsi data dan anggota bersama untuk membentuk sebuah objek.
  • Constructor
    Mengacu pada jenis fungsi khusus yang akan dipanggil secara otomatis setiap kali ada formasi objek dari kelas.
  • Destructor
    Mengacu pada jenis fungsi khusus yang akan dipanggil secara otomatis setiap kali objek dihapus atau tidak sesuai lingkupnya.

Keunggulan Object Oriented Programming

Salah satu keunggulan utama teknik pemrograman berorientasi objek daripada teknik pemrograman prosedural adalah bahwa mereka memungkinkan pemrogram membuat modul yang tidak perlu diubah saat jenis objek baru ditambahkan. Seorang programmer hanya bisa membuat objek baru yang mewarisi banyak fiturnya dari objek yang ada. Hal ini membuat program berorientasi objek lebih mudah dimodifikasi.

  1. Kemudahan dalam implementasi
    Meskipun pada awalnya mungkin menakutkan, OOP benar-benar memberikan pendekatan yang lebih mudah untuk menangani data. Karena suatu objek dapat menyimpan data secara internal, variabel tidak perlu dilalui dari fungsi agar berfungsi agar bekerja dengan baik.
  2. Pengorganisasian kode yang lebih baik
    Manfaat lain dari OOP adalah mudah dikemas dan dikelompokkan. Setiap class umumnya dapat disimpan dalam file terpisahnya sendiri, dan jika konvensi penamaan secara seragam digunakan, mengakses class sangat sederhana.
  3. Sangat mudah dalam maintenance kode
    Jika data tertentu mendapatkan atribut baru, pemrograman prosedural mungkin memerlukan atribut baru ditambahkan ke setiap fungsi yang menggunakan data. Sedangkan, aplikasi OOP berpotensi diperbarui dengan mudah menambahkan properti baru dan kemudian menambahkan metode yang berhubungan dengan properti tersebut.

Pada artikel selanjutnya, penerapan Object Oriented Programming dalam bahasa : PHP dan Python.