Object Oriented Programming (OOP) adalah sebuah pemrograman yang berorientasi pada objek dan mengikuti model yang ada di kehidupan sehari-hari. Paradigma pemrograman tersebut dibuat untuk membangun sebuah aplikasi. OOP menyusun program perangkat lunak menjadi kode blueprints yang digunakan untuk membuat objek individual. Bahasa pemrograman yang digunakan pada program ini merupakan bahasa yang berorientasi pada objek seperti Javascript, C++, dan Python.
Dikutip dari Techtarget, pemrograman yang berorientasi pada objek merupakan salah satu model pemrograman komputer yang mengatur desain perangkat lunak pada sekitar data, bukan pada fungsi dan logika. Bidang data yang memiliki atribut dan terbentuk dari beberapa objek yang lebih kecil menjadi sebuah data yang lebih besar. OOP berfokus pada objek yang ingin dimanipulasi oleh developer sehingga direkomendasikan untuk pengembangan program yang besar, kompleks, dan berkelanjutan. Object Oriented Programming termasuk program yang dijalankan untuk manufaktur dan desain di aplikasi mobile seperti perangkat lunak sistem manufaktur.
Selain untuk manufaktur, OOP juga bermanfaat pada pengembangan kolaboratif yang efisien untuk digunakan. Pada OOP, kita perlu mengumpulkan semua objek yang ingin dimanipulasi dan melakukan identifikasi relasi antara setiap objek. Metode ini dikenal sebagai pemodelan data. Selanjutnya, objek dijelaskan dengan properti yang menghasilkan sebuah data dan kemudian diberi label melalui kelas objek yang mendefinisikan jenis data serta urutan logika yang dapat memanipulasinya.
Pada konsep Object Oriented Programming kita akan menemukan beberapa istilah umum seperti Attribute, Method, Class, Object, Abstraction, Encapsulation, Inheritance, dan Polymorphism. Beberapa hal tersebut dinamakan sebagai prinsip dasar dalam penggunaan OOP. Berikut kami jelaskan prinsip dalam Object Oriented Programming yang kami rangkum dari beberapa sumber.
1. Attribute (Atribut)
Atribut adalah suatu variabel global yang dimiliki oleh kelas, namun pada fungsinya atribut tidak perlu melakukan operasi pemrograman. Atribut sering kali dikaitkan sebagai data yang berhubungan dengan karakteristik suatu objek di dalam sebuah kelas. Setiap atribut yang ada di dalam kelas memiliki nilai berbeda untuk setiap objeknya. Atribut menjadi penentu status objek yang ada di dalam kelas.
2. Method (Metode)
Metode merupakan bagian di dalam kelas yang dapat melakukan operasi atau tindakan sehingga dapat mengerjakan sesuatu. Metode sering digambarkan sebagai behaviour yang menggambarkan perilaku sebuah objek. Dalam pengoperasiannya, metode dapat mengembalikan informasi data dan memperbarui data objek. Ketika objek individual dibuat, selanjutnya dapat menggunakan metode yang ada di dalam kelas.
3. Class (Kelas)
Kelas menjadi sebuah model yang berisi atribut dan metode pada suatu unit untuk menjalankan suatu tujuan tertentu. Di dalam kelas, metode akan memberikan perubahan pada atribut. Sebuah kelas menjadi dasar dari modularitas dan struktur dalam pemrograman yang berorientasi pada objek. Kelas bisa juga disebut sebagai tipe data yang ditentukan pengguna saat bertindak sebagai blueprints untuk objek, atribut, dan metode individual.
4. Object (Objek)
Objek didefinisikan sebagai perwujudan dari sebuah kelas yang memiiki atribut dan metode. Setiap objek dapat melakukan interaksi dengan objek lain meskipun dari kelas yang berbeda. Objek merupakan instance atau turunan dari data yang ditentukan secara khusus. Objek dapat sesuai dengan objek dunia nyata atau entitas abstrak.
5. Abstraction (Abstraksi)
Pada abstraksi, suatu sistem yang kompleks dapat kita lihat sebagai sistem yang sederhana, sehingga programmer memberikan suatu fungsi tanpa perlu mengetahui bagaimana kerja fungsi tersebut. Di dalam sebuah abstraksi, kita menggunakan kelas dan objek yang berisi data dan kode untuk menyembunyikan detail dari sebuah program. Abstraksi memiliki peranan penting karena hanya menampilkan potongan data yang diinginkan dan hanya mengizinkan data diakses melalui kelas yang dimodifikasi melalui metode.
6. Encapsulation (Enkapsulasi)
Enkapsulasi merupakan gabungan antara data dan fungsionalitas pada sebuah unit tunggal menjadi bentuk yang digunakan untuk menyembunyikan detail informasi. Mekanisme yang digunakan enkapsulasi menjaga proses yang kemungkinan mengalami penyalahgunaan dari luar sistem. Enkapsulasi memberikan keamanan tingkat tinggi untuk meminimalisir adanya kebocoran atau kerusakan data. Pada enkapsulasi kita diberi kemudahan untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui hal secara rinci.
7. Inheritance (Warisan)
Inheritance menjadikan user membuat kelas baru yang memiliki kaitan atau turunan dari fungsi sebelumnya. Pada konsep ini digunakan sistem hierarki atau bertingkat yang artinya semakin jauh turunan, maka akan semakin sedikit tingkat kemiripan dari fungsinya. Ketika turunan semakin ke bawah dan semakin dekat, maka kelas tersebut akan semakin spesifik. Adanya konsep turunan menjadikan programmer dapat menggunakan kembali kode-kode yang telah ditulis di kelas sebelumnya ke kelas-kelas turunan tanpa perlu menulis kembali kode tersebut.
8. Polymorphism (Polimorfisme)
Objek pada kelas yang terkait dalam turunan memiliki kemampuan untuk merespon secara berbeda kepada suatu pesan yang sama. Polimorfisme memiliki kemampuan pada sebuah objek untuk memilih metode mana yang akan diterapkan tergantung letak objek pada turunan. Polimorfisme memungkinkan metode yang sama untuk mengeksekusi perilaku yang berbeda dalam dua cara yaitu dengan metode overriding dan metode overloading.
Overriding adalah metode yang digunakan pada kelas induk yang dipakai untuk mendefinisikan ulang dengan adanya kelas turunan dengan nama dan parameter yang sama. Overloading adalah sebuah metode yang dapat membuat dua atau lebih metode menggunakan nama yang sama di dalam sebuah kelas, tetapi tipe dan jumlah argumen yang digunakan harus berbeda satu sama lain. saat kita menjalankan metode overloading, nilai parameter pada sebuah kelas menjadi berbeda.
Pada Object Oriented Programming, kita mendapati kemudahan dalam memprogram karena ada beberapa fitur yang membantu kita dalam pengerjaan program. Nah, itulah penjelasan mengenai Object Oriented Programming beserta beberapa prinsip di dalamnya. Semoga bermanfaat dan selamat berkarya!
PT. Karya Merapi Teknologi
contact@kmtech.id
Follow sosial media kami dan ambil bagian dalam berkarya untuk negeri!
Instagram: https://www.instagram.com/kmtek.indonesia
Facebook: https://www.facebook.com/kmtech.id
LinkedIn: https://www.linkedin.com/company/kmtek
Sumber:
https://ndoware.com/pemrograman-berorientasi-objekobject-oriented-programming-oop.html
https://idcloudhost.com/panduan/mengenal-pengertian-dan-konsep-oop/
https://www.techtarget.com/searchapparchitecture/definition/object-oriented-programming-OOP
https://fvizard.wordpress.com/2012/10/17/class-method-attribute/
Good ka.
Semangat teruss