Apa Itu OOP (Object-Oriented Programming)?

Apa Itu OOP

Kalian pasti sudah pernah mendengar mengenai OOP (Object-Oriented Programming). Karena Sebagian besar bahasa pemrograman populer mengikuti paradigma object-oriented programming.  Pada artikel kali ini kita akan membahas apa itu OOP dan bagaimana konsep dari OOP tersebut.

Baca Juga: Apa Itu Functional Programming Languages

Apa Itu OOP?

OOP (Object-Oriented Programming) adalah sebuah paradigma bahasa pemrograman atau cara khusus mendesain program yang diciptakan oleh Alan Kay. Dalam object-oriented programming, kode dapat disusun sebagai komponen yang dapat digunakan kembali, seperti berbagi properties atau behavior. Tujuan utama OOP adalah untuk menyatukan data dan function yang beroperasi pada mereka sehingga tidak ada bagian lain dari kode yang dapat mengakses data ini kecuali functions itu.

Konsep OOP

Saat memprogram dalam bahasa object-oriented programming, kalian harus mengingat empat konsep kunci berikut ini.

  • Encapsulation – Pengelompokan fungsi dan data terkait ( variabel ) bersama-sama ke dalam suatu objek untuk membantu mengurangi kompleksitas dan memungkinkan bagian-bagian kode digunakan kembali.
  • Abstraction – Hanya tampilkan yang penting untuk mengurangi abstrak perubahan.
  • Inheritance – Menghilangkan kode yang berlebihan dengan mewarisi fungsi dan data dari kelas lain.
  • Polymorphism – Mengubah cara fungsi suatu objek bergantung pada data atau kelas.

Contoh Umum OOP

Katakanlah kalian sedang membuat program video game di mana para pemain mengendalikan dan memacu kendaraan. Jika kalian menggunakan bahasa object-oriented programming, kalian dapat menentukan class dari object yang bernama “kendaraan.” Class ini dapat berisi definisi kualitas dan perilaku yang dimiliki oleh semua kendaraan. Misalnya, semua kendaraan melaju dan melambat, serta mengonsumsi bahan bakar. Dalam definisi class ini, kalian dapat mendefinisikan methods (mirip dengan functions) yang disebut “akselerasi” dan “deselerasi,” dan property (sejenis variabel) yang disebut “bahan bakar,” yang  valuenya dapat kalian get atau set.

Kemudian, kalian bisa mendefinisikan subclass, juga disebut derived class atau child class , yang inherit methods dan properties dari class “kendaraan”. Misalnya, kalian dapat mendefinisikan subclass yang disebut “sepeda motor” yang memiliki dua roda, dan subclass yang disebut “mobil” yang memiliki empat roda. Kualitas bersama mereka (akselerasi, deselerasi, dan konsumsi bahan bakar) sudah ditentukan dalam “kendaraan,” sehingga kalian tidak perlu menulis itu lagi.

Kemudian, kalian dapat membuat instantiate subclass ini untuk mendefinisikan kendaraan yang dapat dimainkan secara individual. Setiap instance dari subclass akan memarisi methods dan properties dari semua parent class , dan memiliki properties dan methods sendiri. Misalnya, sifat uniknya mungkin termasuk warna cat (“merah,” “biru,” dll.), Dan harga (jika pemain ingin membelinya dengan mata uang dalam game).

Kemudian, ketika kalian ingin mengubah kode yang khusus untuk sepeda motor, kalian tidak perlu mengubah parent class “kendaraan”. Kode “kendaraan” telah diuji, dan berfungsi dengan baik, sehingga memodifikasi program kalian membutuhkan lebih sedikit pekerjaan. Selain itu, karena lebih sedikit baris kode sedang dimodifikasi, ada kemungkinan berkurangnya bug akan diperkenalkan di suatu tempat dalam kode baru. Jika bug muncul, kalian tidak perlu bertanya-tanya apakah ada dalam class kode “kendaraan”, karena class itu tidak dimodifikasi. Oleh karena itu Development dan maintenance software mungkin lebih efisien, menghemat waktu dan tenaga.

Kelebihan Dan Kekurangan OOP

Object-oriented programming memberikan kontribusi produktivitas programmer yang lebih besar, kualitas perangkat lunak yang lebih baik dan biaya perawatan yang lebih rendah.

Kelebihan

  1. Memanfaatkan inheritance, kode berlebihan dihilangkan, dan kelas yang ada diperpanjang.
  2. Mudah untuk mempertahankan dan memodifikasi kode yang ada karena objek baru dapat dibuat dengan sedikit perbedaan.
  3. Menyediakan kerangka kerja yang baik untuk pustaka kode di mana komponen software yang disediakan dapat dengan mudah diadaptasi dan dimodifikasi oleh programmer.
  4. Melalui penyembunyian data, programmer dapat membangun program yang aman yang tidak dapat diserang oleh kode di bagian lain dari program.
  5. Sistem dapat dengan mudah ditingkatkan dari sistem kecil ke besar.
  6. Penggunaan kembali kode jauh lebih mudah daripada bahasa pemrograman konvensional.

Kekurangan

  1. Karena ukuran besar program kecepatan eksekusi menjadi lambat. Bahkan banyak instruksi coding membuat eksekusi program lebih lambat dan efek efisiensinya.
  2. Program object-oriented programming berukuran lebih besar dibandingkan dengan pemrograman prosedural tradisional.
  3. Jika seorang programmer tidak memiliki pengetahuan dan keterampilan yang cukup tentang pemrograman, maka menjadi sulit bagi mereka untuk membuat kode dan mengelolanya.
  4. Merancang dan mengimplementasikan konsep object-oriented programming dengan benar cukup  rumit dan memberatkan programmer.

Contoh Bahasa Object Oriented Programming

Ada banyak bahasa berbeda yang menggunakan pemrograman berorientasi objek. Diantaranya adalah:

  • Java yang dikembangkan pada tahun 1995 oleh Sun Microsystems, sekarang Oracle
  • Python dibuat pada tahun 1991 dan menekankan keterbacaan kode
  • C ++ yang memiliki fitur pemrograman imperatif,object-oriented dan generik dan merupakan perpanjangan dari pemrograman bahasa C
  • Objective-C yang menambahkan pesan gaya Smalltalk ke C dan merupakan bahasa pemrograman utama untuk OSX dan iOS.

Kesimpulan

Jadi Apa itu OOP? OOP (Object-Oriented Programming) adalah paradigma pemrograman , atau cara khusus mendesain program. Hal ini memungkinkan kita untuk memikirkan data dalam program kita dalam hal objek dunia nyata , dengan properties dan behaviors. Ada 4 prinsip utama yang membuat bahasa object-oriented. Ini adalah Encapsulation, Abstraction, Inheritance dan Polymorphism . Ini juga disebut sebagai empat pilar Object-Oriented Programming.


Sekian artikel Apa Itu OOP (Object-Oriented Programming)?. Nantikan artikel menarik lainnya dan jangan lupa share artikel ini ke teman-teman kalian. Terimakasih…

Related posts

10 Peran Pekerjaan Backend Developer Dan Skill Yang Dibutuhkan

Apa Itu Git Bash Dan Bagaimana Cara Menggunakannya?

Pengertian Framework Dalam Pemrograman