Apa itu object oriented programming?
Object oriented programming (OOP) adalah model pemrograman komputer yang mengatur desain perangkat lunak di sekitar data, atau objek, daripada fungsi dan logika.
Objek dapat didefinisikan sebagai bidang data yang memiliki atribut dan perilaku unik.
OOP berfokus pada objek yang ingin dimanipulasi oleh pengembang daripada logika yang diperlukan untuk memanipulasinya.
Pendekatan pemrograman ini sangat cocok untuk program yang besar, kompleks dan aktif diperbarui atau dipelihara.
Ini termasuk program untuk manufaktur dan desain, serta aplikasi seluler; misalnya, OOP dapat digunakan untuk pembuatan perangkat lunak simulasi sistem.
Langkah pertama dalam OOP adalah mengumpulkan semua objek yang ingin dimanipulasi oleh programmer dan mengidentifikasi bagaimana mereka berhubungan satu sama lain, latihan yang dikenal sebagai pemodelan data .
Contoh objek dapat berkisar dari entitas fisik, seperti manusia yang dijelaskan oleh properti seperti nama dan alamat, hingga program komputer kecil, seperti widget .
Setelah sebuah objek diketahui, ia diberi label dengan kelas objek yang mendefinisikan jenis data yang dikandungnya dan urutan logika apa pun yang dapat memanipulasinya. Setiap urutan logika yang berbeda dikenal sebagai metode.
Objek dapat berkomunikasi dengan antarmuka yang terdefinisi dengan baik yang disebut pesan.
Bagaimana struktur pemrograman berorientasi objek?
Struktur, atau blok bangunan, dari pemrograman berorientasi objek meliputi:
Class adalah tipe data yang ditentukan pengguna yang bertindak sebagai cetak biru untuk objek, atribut, dan metode individual.
Object adalah instance dari kelas yang dibuat dengan data yang ditentukan secara khusus. Objek dapat sesuai dengan objek dunia nyata atau entitas abstrak. Ketika kelas didefinisikan pada awalnya, deskripsi adalah satu-satunya objek yang didefinisikan.
Method adalah fungsi yang didefinisikan di dalam kelas yang menggambarkan perilaku suatu objek. Setiap metode yang terkandung dalam definisi kelas dimulai dengan referensi ke objek instance. Selain itu, subrutin yang terkandung dalam objek disebut metode instan.
Pemrogram menggunakan metode untuk dapat digunakan kembali atau menjaga fungsionalitas yang dienkapsulasi di dalam satu objek pada satu waktu.
Attribute didefinisikan dalam template kelas dan mewakili keadaan suatu objek. Objek akan memiliki data yang disimpan di bidang atribut. Atribut kelas milik class itu sendiri.
Apa prinsip utama OOP?
Pemrograman berorientasi objek didasarkan pada prinsip-prinsip berikut:
Enkapsulasi. Prinsip ini menyatakan bahwa semua informasi penting terkandung di dalam suatu objek dan hanya informasi tertentu yang terpapar. Implementasi dan status setiap objek disimpan secara pribadi di dalam kelas yang ditentukan.
Objek lain tidak memiliki akses ke kelas ini atau otoritas untuk membuat perubahan. Mereka hanya dapat memanggil daftar fungsi atau metode publik. Karakteristik penyembunyian data ini memberikan keamanan program yang lebih besar dan menghindari kerusakan data yang tidak diinginkan.
Abstraksi. Objek hanya mengungkapkan mekanisme internal yang relevan untuk penggunaan objek lain, menyembunyikan kode implementasi yang tidak perlu. Kelas turunan dapat diperpanjang fungsinya. Konsep ini dapat membantu pengembang lebih mudah melakukan perubahan atau penambahan tambahan dari waktu ke waktu.
Inheritance/Pewarisan. Kelas dapat menggunakan kembali kode dari kelas lain. Hubungan dan subkelas antar objek dapat ditetapkan, memungkinkan pengembang menggunakan kembali logika umum sambil tetap mempertahankan hierarki unik. Properti OOP ini memaksa analisis data yang lebih menyeluruh, mengurangi waktu pengembangan, dan memastikan tingkat akurasi yang lebih tinggi.
Polimorfisme . Objek dirancang untuk berbagi perilaku dan mereka dapat mengambil lebih dari satu bentuk. Program akan menentukan arti atau penggunaan mana yang diperlukan untuk setiap eksekusi objek tersebut dari kelas induk, sehingga mengurangi kebutuhan untuk menggandakan kode. Kelas anak kemudian dibuat, yang memperluas fungsionalitas kelas induk. Polimorfisme memungkinkan berbagai jenis objek melewati antarmuka yang sama.
Apa saja contoh bahasa pemrograman berorientasi objek?
Banyak bahasa pemrograman lain yang digunakan dengan OOP saat ini. Tetapi beberapa bahasa pemrograman berpasangan dengan OOP lebih baik daripada yang lain.
Misalnya, bahasa pemrograman yang dianggap sebagai bahasa OOP murni memperlakukan segala sesuatu sebagai objek. Bahasa pemrograman lain dirancang terutama untuk OOP, tetapi dengan beberapa proses prosedural disertakan.
Misalnya, bahasa OOP murni yang populer meliputi:
- Rubi
- Scala
- Jade
Bahasa pemrograman yang dirancang terutama untuk OOP meliputi:
- Java
- Python
- C++
Bahasa pemrograman lain yang berpasangan dengan OOP meliputi:
- Visual Basic .NET
- PHP
- JavaScript
Apa manfaat OOP?
Manfaat OOP meliputi:
Modularitas. Enkapsulasi memungkinkan objek menjadi mandiri, membuat pemecahan masalah dan pengembangan kolaboratif lebih mudah.
Dapat digunakan kembali. Kode dapat digunakan kembali melalui pewarisan, artinya tim tidak harus menulis kode yang sama beberapa kali.
Produktifitas. Pemrogram dapat membuat program baru lebih cepat melalui penggunaan beberapa perpustakaan dan kode yang dapat digunakan kembali.
Mudah diupgrade dan scalable. Pemrogram dapat mengimplementasikan fungsionalitas sistem secara mandiri.
Deskripsi antarmuka. Deskripsi sistem eksternal sederhana, karena teknik penyampaian pesan yang digunakan untuk komunikasi objek.
Keamanan. Menggunakan enkapsulasi dan abstraksi, kode kompleks disembunyikan, pemeliharaan perangkat lunak lebih mudah dan protokol internet terlindungi.
Fleksibilitas. Polimorfisme memungkinkan satu fungsi untuk beradaptasi dengan kelas tempat ia ditempatkan. Objek yang berbeda juga dapat melewati antarmuka yang sama.