Single Blog Title

This is a single blog caption
21 Apr 2022

Ngoding Lebih Terstruktur dengan Object Oriented Programming

//
Comments0

Siapa yang sudah pernah dengar istilah OOP? Buat kamu yang memiliki keahlian di bidang programming pasti sudah tidak asing dengan istilah ini.

Menurut Gillis dan Lewis dalam artikelnya, object-oriented programming merupakan suatu metode pemrograman yang berorientasi pada objek.

Program-program yang telah ada merupakan gabungan dari beberapa komponen-komponen kecil yang sudah ada sebelumnya.

Fokus OOP pada objek ini memungkinkan adanya manipulasi yang dilakukan pengembang dan cocok untuk pemrograman besar dan kompleks.

Pendekatan OOP ini lebih mudah untuk perihal pembaruan dan pemeliharaan. OOP juga dapat didefinisikan sebagai paradigma pemrograman yang mengandalkan konsep kelas dan objek.

Paradigma ini digunakan untuk menyusun program perangkat lunak menjadi potongan-potongan kode cetak biru yang sederhana dan dapat digunakan kembali atau kelas-kelas kode.

OOP dapat digunakan dalam berbagai bahasa pemrograman seperti JavaScript, C++, Java, dan Python.

Penggunaan kelas dalam pemrograman OOP ini dapat menentukan atribut apa yang akan dimiliki oleh instance objek seperti warna dan sebagainya.

Secara umum, OOP menjadi lebih ringkas karena pengembang bisa lebih fokus melakukan manipulasi terhadap objek daripada pada logic atau fungsi.

Prinsip Object Oriented Programming

Dalam proses dan tekniknya, Object Oriented Program terdapat 4 prinsip yang menjadi dasar penggunaanya. Keempat prinsip tersebut dijelaskan seperti di bawah ini:

1. Encapsulation

Encapsulation atau pengkapsulan adalah konsep tentang pengikatan data atau metode berbeda yang disatukan atau “dikapsulkan” menjadi satu unit data.

Dengan kata lain, berbagai objek yang berada dalam class tersebut dapat berdiri sendiri tanpa terpengaruh oleh yang lainnya.

Dengan begitu, objek lain tidak dapat mengakses status objek tersebut secara langsung. Encapsulation dapat mempermudah pembacaan kode.

Hal tersebut terjadi karena informasi yang disajikan tidak perlu dibaca secara rinci dan sudah merupakan satu kesatuan.

2. Abstraction

Abstraction atau abstraksi merupakan perpanjangan alami dari encapsulation.

Prinsip ini memungkinkan developer memerintahkan suatu fungsi, tanpa harus mengetahui fungsi tersebut bekerja.

Lebih lanjut, abstraksi merupakan proses pemilihan data dari kumpulan yang lebih besar untuk mewakili detail relevan yang bisa menjadi objek.

Ini adalah proses penyederhanaan konsep dunia nyata menjadi komponen yang diperlukan.

3. Inheritance

Inheritance merupakan kemampuan suatu objek untuk memperoleh beberapa atau bahkan semua properti pada objek lain yang ada dalam pemrograman OOP.

Dalam konsep OOP, merupakan kemampuan untuk membentuk class baru yang memiliki fungsi turunan atau mirip dengan fungsi yang ada sebelumnya.

Inhertance bisa diibaratkan seperti seorang anak yang mewarisi sifat orang tuanya.

Konsep ini menggunakan sistem hierarki atau bertingkat.

Maksudnya, semakin jauh turunan atau subclass-nya, maka semakin sedikit kemiripan fungsinya.

4. Polymorphism

Pada dasarnya polymorphism adalah kemampuan suatu pesan atau data untuk diproses lebih dari satu bentuk.

Polymorphism merupakan prinsip OOP yang memberi cara pada Developer untuk menggunakan class atau klasifikasi objek persis seperti induknya sehingga tidak ada kebingungan dengan tipe-tipe campuran.

Polymorphism sendiri adalah konsep di mana suatu objek yang berbeda-beda dapat diakses melalui interface yang sama.

Misalnya kamu memilki fungsi menghitung luas suatu benda, sementara benda tersebut berbentuk segitiga, lingkaran, dan persegi.

Tentu, ketiga benda tersebut memiliki rumus perhitungan tersendiri.

Dengan polymorphism, kamu dapat memasukkan fungsi perhitungan luas ketiga benda tersebut metode perhitungan yang berbeda di tiap bendanya.

Hal ini disebabkan karena subclass atau objek menyimpan fungsi dan metodenya sendiri secara unik.

Kelebihan dan Kekurangan OOP

Image: Unsplash

Meski terlihat mudah diimplementasikan, namun OOP juga memiliki kelebihan dan kekurangannya sendiri. Adapun kelebihan dan kekurangan OOP dapat dikelompokkan sebagai berikut:

Kelebihan

  • Parallel Development

Tim pemrograman dapat bekerja masing-masing secara independen dapat membangun class sendiri.

Dengan metode ini OOP dapat menghemat waktu pengembangan kelas (class) secara satu kesatuan  dibanding jika membangun class satu per satu.

  • Reusable

Dengan OOP, kamu dapat menggunakan berbagai class yang telah kamu buat sebelumnya.

Hal ini membuat OOP menjadi reusable dan fleksibel untuk digunakan untuk project lainnya yang sejenis.

Class tersebut juga dapat kamu ubah sesuai dengan kebutuhan dan hanya memerlukan sedikit atau tidak ada modifikasi sama sekali.

  • Scalability

Berbagai prinsip yang dimiliki OOP bertujuan untuk mempermudah kebutuhan program yang lebih luas atau rumit.

Hal ini membuat jika terjadi perkembangan dari program yang sudah ada, akan lebih mudah menambahkan beberapa fungsi, object, atau class lainnya.

Prosedur pembuatan kode dalam OOP juga dapat dipelihara dan dijaga dengan meningkatkan keamanan pemrograman.

Hal ini disebabkan adanya validasi tingkat tinggi saat dilakukan akses terhadap kode prosedur OOP.

Kekurangan

  • Tidak Efisien

Bisa dikatakan OOP memang kurang efisien karena memakan daya lebih banyak prosesor komputer.

Hal ini membuat OOP menjadi pilihan yang kurang efisien ketika ada batasan teknis pada perangkat pengembang.

Maka disarankan untuk menggunakan perangkat terbaru saat melakukan pengembangan dengan OOP.

  • Manajemen Data yang Ketat

Karena kelebihannya yang scalable secara umum OOP mungkin menyebabkan kondisi kelebihan kapasitas dan lepas kendali.

Hal ini karena OOP akan memunculkan beberapa kode-kode baru jika terdapat kode-kode yang kurang berfungsi dengan baik. Tentu hal ini akan menambah beban pada perangkat.

  • Kemungkinan Duplikasi

Dengan berbagai kemudahan yang diberikan oleh OOP,  mengembangkan program baru dari yang telah ada sebelumnya akan jadi lebih mudah.

Namun hal tersebut membuat OOP rentan terhadap duplikasi karena sifatnya yang mudah dirancang tapi lebih sulit diimplementasikan.

Nah sekarang kamu sudah lebih mengenal Object Oriented Programing kan. Itulah penjelasan singkat mengenai object oriented programming.

Memahami apa itu OOP dan konsep-konsepnya juga merupakan cara untuk mengejar karier kamu di bidang IT. Semangat!

Bingung saat harus belajar OOP sendirian? Kodehive Academy punya solusinya!

Dalam pembelajran bahasa pemrograman di Kodehive Academy, kamu akan belajar OOP dan proses developing lain dengan pendampingan tutor yang berpengalaman. Pastinya kamu tentu jadi makin cepat paham dan belajar kamu jadi makin asyik.

Leave a Reply

×

Konsultasikan dengan kami

Kami akan menjelaskan lebih lanjut mengenai pelatihan kami

× Ada pertanyaan?