Language

Pemrograman Berorientasi Objek memiliki banyak definisi. Pemrograman berorientasi objek dapat dikatakan sebagai paradigma atau mekanisme yang digunakan dalam pemrograman yang didasarkan oleh konsep objek dan kelas. Pada definisi lain, pemrograman berorientasi objek dapat dikatakan sebagai model pemrograman yang membangun perangkat lunak menggunakan pendekatan data atau objek dibandingkan dengan fungsi dan logika. Kedua definisi tersebut secara konsep menyatakan bahwa pemrograman berorientasi objek merupakan pemrograman yang berfokus pada struktur data dalam bentuk objek.

Sebelum membahas lebih mendalam mengenai pemrograman berorientasi objek, ada baiknya kita membahas apa itu objek. Pada kehidupan sehari - hari objek merupakan benda baik dalam wujud nyata maupun virtual yang dapat kita rasakan keberadaanya. Sebagai contoh, pena yang kita pegang untuk menulis, mobil / motor yang kita kendarai saat bepergian, kue yang kita makan, kucing yang kita pelihara, telefon yang kita gunakan untuk berkomunikasi, kesemuanya adalah benda nyata dan merupakan objek. Pembayaran tagihan melalui internet, sistem antrian tiket di bioskop, penyimpanan uang di bank, atau pengendalian komunikasi data pada port I/O komputer, meskipun bukan benda nyata, namun kesemuanya juga merupakan objek.

Pada bidang pemrograman, objek dapat dikatakan sebagai unit atau potongan dari program yang memiliki data (karakteristik) dan fungsi. Pemrograman berorientasi objek mengembangkan tingkat pemrograman yang semula menggunakan unit - unit fungsi menjadi unit - unit yang lebih kompleks sehingga dapat digunakan untuk membentuk objek - objek yang berbeda dari rancangan yang sama. Pada aplikasi dengan skala kompleksitas yang tidak terlalu tinggi, pemrograman berorientasi objek tidaklah lebih efektif dibandingkan pemrograman prosedural biasa. Namun seiring dengan semakin banyaknya jumlah dan jenis data yang harus diolah serta tingkat kompleksitas aplikasi yang terus meningkat, maka dibutuhkan sebuah rancangan atau potongan kode yang dapat digunakan secara berulang dan dapat dipelihara dengan mudah.

Kemudahan untuk dikembangkan, dapat digunakan secara berulang dan dapat dipelihara dengan mudah merupakan beberapa dari kelebihan pemrograman berorientasi objek. Pemrograman berorientasi objek menggunakan model data yang terdiri dari atribut atau properti dan fungsi. Sekilah, pemrograman berorientasi objek mirip dengan pemrograman prosedural biasa. Namun, pemrograman berorientasi objek membungkus variabel dan fungsi menjadi satu rancangan (class) yang dapat digunakan untuk membentuk beberapa objek atau data dengan kriteria yang berbeda - beda dan dapat diproses secara terpisah. Selain itu, rancangan ini dapat dikembangkan dengan diturunkan menjadi rancangan baru yang lebih spesifik atau biasa yang disebut dengan pewarisan (inheritance). Adapun perbedaan mendasar antara pemrograman berorientasi objek dan pemrograman prosedural adalah sebagai berikut :

Prosedural Orientasi Objek
Program dipecah-pecah ke dalam subprogram yang lebih sederhana biasanya dalam bentuk fungsi atau prosedur. Fungsi dan data menjadi satu kesatuan rancangan yang disebut class yang dapat melahirkan objek - objek yang berbeda.
Fokus utama pada prosedur dan fungsi. Fokus utama pada rancangan class yang terdiri dari atribut dan fungsi.

 

Struktur dari pemrograman berorientasi objek :

  • Class, abstraksi / model / rancangan yang mendeskripsikan data (sifat karakteristik) dan fungsi dari objek yang terdiri dari atribut dan method.
  • Object, wujud individu dari class atau biasa disebut instance dari kelas yang memiliki data yang spesifik.
  • Attribute, variabel yang telah didefinisikan di dalam kelas yang menjadi fitur atau data dari objek atau biasa disebut state dari objek.
  • Method, fungsi yang telah didefinisikan di dalam kelas yang berupa subrutin. Setiap objek akan memiliki method nya sendiri (instance methods) sesuai dengan method yang didefinisikan pada kelas. Method dapat digunakan untuk merubah nilai atribut suatu objek (merubah state), menerima informasi dari objek lain, mengirim informasi ke objek lain untuk melakukan sesuatu, dan lain sebagainya.

Prinsip utama pada pemrograman berorientasi objek :

  • Encapsulation, variabel dan method dalam suatu objek dibungkus agar terlindungi yang dapat diakses melalui interface. Dengan enkapsulasi, setiap objek dapat memiliki variable dan method nya sendiri tanpa mempengaruhi objek lainnya.
  • Inheritance, kelas dapat digunakan kembali untuk membentuk kelas lain dengan perubahan atau penambahan atribut dan method sesuai dengan kebutuhan.
  • Polymorphism, objek - objek yang berbeda kelas namun secara hierarki kelas memiliki kelas parent yang sama dapat memiliki method yang sama namun dengan perubahan ataupun penambahan yang berbeda yang merupakan turunan dari kelas parent. Hal ini memungkinkan untuk mengurangi duplikasi kode dan kemampun mengakses objek - objek tersebut menggunakan interface yang sama.
  • Abstraction, objek diakses melalui interface berupa methods dimana proses yang terjadi di dalam objek tidak terlihat oleh objek lain atau lingkungannya.

No comments

Leave your comment

In reply to Some User
Related Articles
  • Caesar Chiper
    Caesar Chiper
    Information
    1 year(s) 5 month(s) 4 day(s) ago
    Caesar Cipher adalah salah satu metode enkripsi sederhana yang digunakan untuk mengamankan pesan rahasia. Metode ini ditemukan oleh Julius Caesar pada abad ke-1 SM dan masih digunakan hingga saat ini.
  • Sekilas Kriptografi
    Sekilas Kriptografi
    Information
    1 year(s) 5 month(s) 28 day(s) ago
    Kriptografi adalah ilmu dan seni melindungi informasi dengan mengubah teks asli menjadi bentuk yang tidak dapat dibaca atau dimengerti oleh pihak yang tidak berwenang. Tujuan utama kriptografi adalah menjaga kerahasiaan dan keamanan informasi, serta memastikan bahwa hanya orang yang berhak memiliki akses ke informasi tersebut.
  • Polymorphisme Pada Object Oriented Programming
    Polymorphisme Pada Object Oriented Programming
    Information
    1 year(s) 5 month(s) 1 day(s) ago
    polymorphisme dapat diartikan dengan dapat memiliki banyak bentuk. Dalam bidang pemrograman, bentuk disini dapat kita korelasikan dengan data atau proses yang dimiliki oleh sebuah objek. Dengan menggunakan konsep polymorphisme kita dapat menghasilkan beberapa objek yang berbeda dari kelas yang sama.
  • Enkapsulasi Pada Object Oriented Programming
    Enkapsulasi Pada Object Oriented Programming
    Information
    1 year(s) 6 month(s) 4 day(s) ago
    Enkapsulasi adalah konsep dalam pemrograman berorientasi objek yang memungkinkan penempatan data dan fungsi yang bekerja pada data tersebut di dalam sebuah kelas. Dalam konsep enkapsulasi, data dan fungsi yang berkaitan dengan data tersebut dibungkus atau dikapsulasi dalam sebuah objek atau kelas sehingga data tidak dapat diakses atau dimodifikasi secara langsung dari luar kelas tersebut.
  • Video Single Linkage Clustering
    Video Single Linkage Clustering
    Information
    2 year(s) 6 month(s) 14 day(s) ago
    Single Linkage Clustering merupakan salah satu metode clustering yang tergolong kedalam agglomerative clustering, dimana proses clustering diawali dengan setiap individu sebagai cluster awal yang kemudian seiring dengan berjalannya proses clustering akan membentuk k buah cluster yang di-inginkan.
  • Video Euclidean Distance
    Video Euclidean Distance
    Information
    2 year(s) 6 month(s) 14 day(s) ago
    Euclidean Distance merupakan formula untuk menghitung jarak antara dua titik atau objek berdasarkan nilai fitur yang dimiliki oleh kedua titik atau objek tersebut. Pada video ini akan disimulasikan bagaimana jarak euclidean distance dihitung dan digunakan sebagai nilai yang menyatakan ketidaksamaan antar objek sehingga dapat digunakan dalam proses pengelompokkan ataupun klasifikasi.