Sebuah pengelompokan class yang memiliki karakteristik atau fungsi yang sama adalah pengertian dari

Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman berdasarkan konsep "objek", yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut; serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,

Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

  • Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.
  • Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.
  • Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
  • Enkapsulasi - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
  • Polimorfisme melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
  • Dengan menggunakan OOP maka dalam melakukan pemecahan suatu masalah kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur) tetapi objek-objek apa yang dapat melakukan pemecahan masalah tersebut. Sebagai contoh anggap kita memiliki sebuah departemen yang memiliki manager, sekretaris, petugas administrasi data dan lainnya. Misal manager tersebut ingin memperoleh data dari bag administrasi maka manager tersebut tidak harus mengambilnya langsung tetapi dapat menyuruh petugas bag administrasi untuk mengambilnya. Pada kasus tersebut seorang manager tidak harus mengetahui bagaimana cara mengambil data tersebut tetapi manager bisa mendapatkan data tersebut melalui objek petugas adminiistrasi. Jadi untuk menyelesaikan suatu masalah dengan kolaborasi antar objek-objek yang ada karena setiap objek memiliki deskripsi tugasnya sendiri.

Berikut ini adalah Bahasa pemrograman yang mendukung OOP antara lain seperti:

  1. Visual Foxpro
  2. Java
  3. C++
  4. Pascal (bahasa pemrograman)
  5. SIMULA
  6. Smalltalk
  7. Ruby
  8. Python
  9. PHP
  10. C#
  11. Delphi
  12. Eiffel
  13. Perl
  14. Adobe Flash AS 3.0
 

Artikel bertopik komputer ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya.

  • l
  • b
  • s

Diperoleh dari "https://id.wikipedia.org/w/index.php?title=Pemrograman_berorientasi_objek&oldid=18635503"

Diperbarui 18 Jan 2021 - Dibaca 8 mnt

Untuk dapat membuat program yang sesuai dengan penerapan di kehidupan sehari-hari, OOP adalah jalan keluarnya.

Jika biasanya developer merangkai kode berdasarkan function dan logic, dengan OOP developer dapat mengembangkan software yang terbagi dalam objek-objek tertentu.

Memang, apa sebenarnya OOP itu? Pada artikel kali ini, Glints akan memberikan penjelasannya.

Baca Juga: 8 Kiat Agar Lancar Belajar Bahasa Pemrograman

Pengertian OOP

Sebuah pengelompokan class yang memiliki karakteristik atau fungsi yang sama adalah pengertian dari

© Unsplash.com

Bersumber dari Techtarget, object-oriented programming atau OOP adalah suatu metode pemrograman yang berorientasi pada objek. 

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

Hal itu dapat mempermudah pekerjaan seorang programmer dalam melakukan pengembangan program.

Objek-objek yang saling berkaitan dan disusun kedalam satu kelompok ini disebut dengan class. 

Nantinya, objek-objek tersebut akan saling berinteraksi untuk menyelesaikan masalah program yang rumit.

Jika sebelumnya developer harus berfokus pada logic yang akan dimanipulasi, dengan OOP, developer dapat lebih terfokus pada objeknya saja untuk dimanipulasi. 

Pendekatan ini menawarkan cara yang mudah untuk menangani kerumitan suatu pemrograman.

Tujuan utama OOP adalah untuk mengatasi kelemahan pendekatan pemrograman konvensional.

Prinsip OOP

Sebuah pengelompokan class yang memiliki karakteristik atau fungsi yang sama adalah pengertian dari

© Unsplash.com

Dalam object oriented programming, dikenal empat prinsip yang menjadi dasar penggunaannya. Merangkum Freecodecamp, keempat prinsip OOP tersebut adalah sebagai berikut: 

1. Encapsulation

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

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

Encapsulation dapat mempermudah pembacaan kode. Hal tersebut terjadi karena informasi yang disajikan tidak perlu dibaca secara rinci dan sudah merupakan satu kesatuan.

Proses enkapsulasi mempermudah untuk menggunakan sebuah objek dari suatu kelas karena kita tidak perlu mengetahui segala hal secara rinci.

2. Abstraction

Prinsip selanjutnya yaitu abstraction. Prinsip ini sendiri berarti memungkinkam seorang developer memerintahkan suatu fungsi, tanpa harus mengetahui bagaimana fungsi tersebut bekerja.

Lebih lanjut, abstraction berarti menyembunyikan detail latar belakang dan hanya mewakili informasi yang diperlukan untuk dunia luar.

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

Seperti kala menggunakan handphone, kamu cukup memberikan suatu perintah, tanpa tahu bagaimana proses terlaksananya perintah tersebut.

3. Inheritance

Inheritance dalam konsep OOP adalah kemampuan untuk membentuk class baru yang memiliki fungsi turunan atau mirip dengan fungsi yang ada sebelumnya. 

Konsep ini menggunakan sistem hierarki atau bertingkat. Maksudnya, semakin jauh turunan atau subclass-nya, maka semakin sedikit kemiripan fungsinya. 

4. Polymorphism

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

Salah satu ciri utama dari OOP adalah adanya polymorphism. Tanpa hal ini, suatu pemrograman tidak bisa dikatakan sebagai OOP.

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

Sebagai contoh, kamu memiliki fungsi untuk 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 ke tiga benda tersebut, dengan tiap benda memiliki metode perhitungannya sendiri. 

Ini tentu akan mempermudah perintah yang sama untuk beberapa class atau subclass tertentu. 

Baca Juga: 7 Bahasa Pemrograman yang Dibutuhkan di Dunia Kerja

Kelebihan OOP

1.  Parallel development

Ketika bekerja sama dengan tim, masing-masing programmer dapat membangun class sendiri.

Dengan membangun class secara tersendiri, komponen yang sudah dibentuk kemudian dapat digabung menjadi satu kesatuan.

Hal ini tentu saja menghemat banyak waktu dibanding harus membangun class satu per satu.

2. Reusable

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

Ini tentu akan memudahkan untuk digunakan pada project lainnya yang sejenis. Class tersebut juga dapat kamu ubah sesuai dengan kebutuhan.  

3. 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, menambahkan beberapa fungsi, object, atau class lainnya akan jadi lebih mudah.

Program tersebut juga dapat tetap berfungsi dengan baik. 

Kekurangan OOP

1. Tidak efisien

Menggunakan OOP akan lebih memakan daya pada CPU yang digunakan. Oleh karenanya, sangat disarankan untuk menggunakan perangkat terbaru saat melakukan pengembangan dengan OOP.

2. Membutuhkan manajemen data yang ketat

Hal lain yang dikeluhkan oleh developer mengenai OOP adalah perlunya kontrol yang cukup ketat terhadap kode-kode tersebut.

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 perangkatmu. 

3. Kemungkinan duplikasi

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

Namun, hal ini justru membuat berbagai project yang dibuat akan terasa seperti sekadar duplikasi saja. 

Baca Juga: Ingin Jadi Full Stack Developer? Ketahui 5 Skill Ini!

Nah, itulah penjelasan singkat dari Glints mengenai object oriented programming. Memahami OOP adalah salah satu cara untuk mendapatkan karier impianmu di bidang IT.

Selain artikel ini, kamu bisa mendapatkan banyak informasi lain tentang dunia teknologi jika berlangganan newsletter blog Glints.

Kamu hanya perlu mendaftarkan email, dan berbagai informasi yang bisa mendukung karier IT-mu akan dikirim langsung ke kotak masukmu.

Tunggu apa lagi? Daftar gratis sekarang, yuk!