Mengenal Konsep Object Oriented Program (OOP)

Memiliki pengetahuan tentang pemrograman berorientasi objek (OOP) dapat bermanfaat ketika mengembangkan dan memelihara program perangkat lunak. Dalam artikel ini,Sedikitnya penulis akan membahas prinsip dasar OOP dan menjelaskannya dalam sederhana.

Apa pemrograman berorientasi objek

Pemrograman berorientasi objek adalah menggabungkan sekelompok variabel (properti) dan fungsi (metode) ke dalam unit yang disebut "objek." Objek-objek ini diatur ke dalam kelas-kelas di mana objek individu dapat dikelompokkan bersama. OOP dapat membantu Anda mempertimbangkan objek dalam kode program dan tindakan berbeda yang dapat terjadi dalam kaitannya dengan objek.

Contoh sederhananya kita menggunakan class orang. Disini clasa orang adalah objek. Kami menjelaskan apa itu dan apa yang bisa dilakukan orang , secara umum. Orang biasanya memiliki nama dan umur; ini adalah atribut instan. Orang juga bisa melakukan akticitas; ini adalah sebuah metode.

Ketika Anda berbicara tentang orang tertentu, Anda akan memiliki objek dalam pemrograman: objek adalah instantiasi kelas. Ini adalah prinsip dasar yang menjadi dasar pemrograman berorientasi objek. Jadi nama orang Ozzy, misalnya, termasuk dalam kelas orang. Atributnya adalah nama = 'Ozzy'dan umur = '25'. Orang yang berbeda akan memiliki atribut yang berbeda.

Gaya pemrograman ini banyak digunakan dalam bahasa pemrograman yang umum digunakan seperti Java, C++ ,Python ,Ruby ,dst. Bahasa-bahasa ini membantu menyederhanakan struktur dan organisasi program perangkat lunak. Pemrogram sering menggunakan OOP ketika mereka perlu membuat program yang kompleks.

Pemrograman berorientasi objek memiliki empat konsep dasar: enkapsulasi, abstraksi, pewarisan, dan polimorfisme. Sekalipun konsep-konsep ini tampak sangat kompleks, memahami kerangka kerja umum tentang cara kerjanya akan membantu Anda memahami dasar-dasar program komputer.

Berikut adalah empat teori dasar dan apa yang mereka butuhkan:
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism


1. Enscapulation

Seperti halnya sebuah pil yang "mengenkapsulasi" atau mengandung obat di dalam lapisannya, prinsip enkapsulasi bekerja dengan cara yang hampir sama,untuk membentuk penghalang pelindung di sekitar informasi yang memisahkannya dari kode lainnya. 

Konsep ini berguna ketika seorang programmer ingin menghentikan objek yang berbeda berinteraksi satu sama lain, mereka perlu dienkapsulasi dalam kelas individu. Melalui proses enkapsulasi, kelas tidak dapat berubah atau berinteraksi dengan variabel dan fungsi tertentu dari suatu objek. Pemrogram dapat mereplikasi objek ini di seluruh bagian program yang berbeda atau program lain.

2. Abstraction

Abstraksi seperti perpanjangan enkapsulasi karena menyembunyikan properti dan metode tertentu dari kode luar untuk membuat antarmuka objek lebih sederhana. Pemrogram menggunakan abstraksi untuk beberapa alasan yang menguntungkan. 

Secara keseluruhan, abstraksi membantu mengisolasi dampak perubahan yang dibuat pada kode sehingga jika terjadi kesalahan, perubahan hanya akan memengaruhi variabel yang ditampilkan dan bukan kode luar.

3. Inheritance

Dengan menggunakan konsep ini, pemrogram dapat memperluas fungsionalitas kelas kode yang ada untuk menghilangkan kode yang berulang. Misalnya, elemen kode HTML yang menyertakan kotak teks, bidang pilih, dan kotak centang memiliki properti tertentu yang sama dengan metode tertentu.

Objek utama adalah superclass dan semua objek yang mengikutinya adalah subclass. Subclass dapat memiliki elemen terpisah sambil menambahkan apa yang mereka butuhkan dari superclass.

4.Polymorphism

Seperti namanya, polimorfisme memiliki banyak bentuk. OOP mengizinkan penggunaan beberapa jenis metode I. Sederhananya, mereka berkaitan dengan penggunaan metode, sehingga suatu metode bekerja secara berbeda untuk berbagai objek. Metode polimorfik memungkinkan tindakan alternatif dilakukan dalam dua cara: Metode Overriding dan Metode Overloading.

Keuntungan OOP

OOP telah menjadi model pemrograman pilihan selama dekade terakhir atau lebih. Desain modular OOP memungkinkan pemrogram untuk membangun perangkat lunak dalam potongan yang dapat dikelola daripada dalam jumlah besar kode sekuensial.

Salah satu manfaat besar OOP adalah skalabilitas, dengan objek dan definisi tidak memiliki batasan yang terbatas. Juga, pemisahan data dari metode mencegah masalah umum yang ditemukan dalam bahasa perangkat lunak linier yang lebih lama.

Jika bug muncul dalam kode linier, itu dapat diterjemahkan melalui sistem dan membuat banyak kesalahan yang sulit dilacak. Sebaliknya, program OOP, dengan pemisahan metode dan datanya, tidak rentan terhadap kesalahan yang berkembang biak seperti itu.

selain itu pengembangan lebih cepat dan lebih efisien, dengan pemeliharaan perangkat lunak yang lebih baik. Ini, pada gilirannya, mengarah ke perangkat lunak berkualitas lebih tinggi, yang juga dapat dikembangkan dengan metode dan atribut baru.

Bahasa populer yang menggunkan konsep OOP termasuk Java, keluarga bahasa C, VB.NET dan Python.Yang disebut bahasa OOP "murni" termasuk Scala, Ruby, Eiffel, JADE, Smalltalk, dan Emerald.

Contoh sederhana konsep OOP pada Python

Di python, terutama ada 3 gaya pemrograman yaitu Pemrograman Berorientasi Objek, Pemrograman Fungsional dan Pemrograman Prosedural. Dengan kata sederhana, ada 3 cara berbeda untuk menyelesaikan masalah dengan Python. 

Pemrograman fungsional paling populer di kalangan ilmuwan data karena memiliki keunggulan kinerja. OOP berguna ketika Anda bekerja dengan basis kode yang besar dan pemeliharaan kode sangat penting.

Konsep OOP dalam Python berfokus pada pembuatan kode yang dapat digunakan kembali. Konsep ini juga dikenal sebagai DRY (Don't Repeat Yourself).

Dalam Python, konsep OOP mengikuti beberapa prinsip dasar:
  • Kelas Kelas adalah cetak biru atau prototipe dari objek dimana kita mendefinisikan atribut dari suatu objek. Atribut ini terdiri dari data member (variabel) dan fungsi (metode).
  • Variabel kelas Variabel kelas adalah variabel yang dishare atau dibagi oleh semua instance (turunan) dari kelas. Variabel kelas didefinisikan di dalam kelas, tapi di luar metode-metode yang ada dalam kelas tersebut.
  • Data member Data member adalah variabel yang menyimpan data yang berhubungan dengan kelas dan objeknya.
  • Overloading fungsi Overloading fungsi adalah fungsi yang memiliki nama yang sama di dalam kelas, tapi dengan jumlah dan tipe argumen yang berbeda sehingga dapat melakukan beberapa hal yang berbeda.
  • Overloading operator Overloading operator adalah pembuatan beberapa fungsi atau kegunaan untuk suatu operator. Misalnya operator + dibuat tidak hanya untuk penjumlahan, tapi juga untuk fungsi lain.
  • Variabel instasiasi Variabel instansiasi adalah variabel yang didefinisikan di dalam suatu metode dan hanya menjadi milik dari instance kelas.
  • Pewarisan atau inheritance Inheritansi adalah pewarisan karakteristik sebuah kelas ke kelas lain yang menjadi turunannya.
  • Instance Instance adalah istilah lain dari objek suatu kelas. Sebuah objek yang dibuat dari prototipe kelas Lingkaran misalnya disebut sebagai instance dari kelas tersebut.
  • Instansiasi Instansiasi adalah pembuatan instance/objek dari suatu kelas
  • Metode Metode adalah fungsi yang didefinisikan di dalam suatu kelas
  • Objek Objek adalah instansiasi atau perwujudan dari sebuah kelas. Bila kelas adalah prototipenya, dan objek adalah barang jadinya.


Previous Post Next Post