Pemrograman Berorientasi Obyek


Pemrograman Berorientasi Obyek

Salah satu konsep Pemrograman selain prosedural atau sekuensial yakni pemrograman berorientasi obyek. Paradigma pemrograman ini menjadi salah satu pendukung di banyak platform aplikasi yang kian ramai di dunia internet. Konseptual yang disajikan di pemrograman ini sebenarnya masih mengadopsi dari pemrograman sekuensial hanya saja disajikannya dengan cara yang baru. Maksud dari berorientasi obyek adalah kita diajak untuk mengenali lingkungan sekitar kita yang nantinya akan dikemas atau dimodelkan ke dalam bentuk kode program.

Ada sangat banyak jenis obyek yang ada di sekitar kita, yakni: mahasiswa, mata kuliah, kelas, handphone, laptop, meja, kursi, makanan, masakan, ruangan dan masih banyak obyek lainnya. Tiap obyek tersebut memiliki ciri khas yang bisa ditemui dari atribut yang melekat di dirinya, misal obyek mahasiswa memiliki nomor induk mahasiswa, nama lengkap, nama panggilan, gelar, alamat, email, phone, cuti atau tidak, asal kota, agama, golongan darah dan lain sebagainya. Contoh lain misal pada obyek mata kuliah dengan atribut yang melekat bisa kita sebutkan diantaranya: kode mata kuliah, nama mata kuliah, jumlah sks, tahun ajar, jenis mata kuliah (teori atau praktek), keterangan (diadakan atau tidak), semester ke berapa, mata kuliah wajib atau pilihan, dan lain sebagainya. Begitu juga dengan obyek lainnya bisa dijadikan latihan untuk memulai, mengawali peralihan pemrograman ke paradigma berorientasi obyek.

Di samping kita bisa menyebutkan dan menguraikan atribut di tiap obyek yang dimaksud, kita juga mesti mengutarakan apa saja fungsional yang bisa dilakukan atau pun yang bisa dimunculkan dari tiap obyek. Fungsional tersebut bisa berupa operasi (method) fungsi atau prosedur. Untuk penjelasan fungsi atau prosedur, hal utama yang membedakannya adalah pada nilai balik yang dihasilkan dari fungsi sedangkan pada operasi bertipe prosedur tidak menghasilkan nilai balik.

Contoh operasi yang bisa dimunculkan pada mahasiswa yakni, operasi registrasi, input mata kuliah, lihat nilai, lihat data kehadiran, mengirim pesan ke dosen wali, mencatat di perkuliahan, mengikuti ujian, dan operasi akademik lainnya. Begitu juga di tiap obyek yang lain kita bisa sebutkan operasi apa saja yang bisa terkait dengannya.

Setelah mempelajari cara membentuk obyek seperti dicontohkan di sebelumnya, kita mengenal jenis – jenis relasi antar obyek tersebut. Terlihat pada contoh operasi di obyek mahasiswa, yakni terdapat operasi registrasi. Kegiatan registrasi melibatkan obyek lain, yakni: obyek kelas, ruangan, dosen, mata kuliah dan lain – lain. Ini menunjukkan bahwa obyek mahasiswa memiliki relasi ke obyek lain yang disebutkan tadi. Obyek – obyek tersebut kita bentuk menjadi suatu wadah yang mencakup nama obyek, atribut dan operasinya ke dalam bentuk Class. Ada tiga jenis relasi yang terbentuk pada Class tersebut, diantaranya: asosiasi, agregasi dan komposisi. Sebenarnya ada satu jenis relasi lagi yakni generalisasi. Jenis relasi terakhir ini sebenarnya merupakan salah satu konsep di pemrograman dengan paradigma berorientasi obyek yang dikenal dengan istilah pewarisan (inheritance). Pada konsep pewarisan juga erat kaitannya dengan konsep lainnya yakni polimorfisme yang terjadi pada operasi. Operasi – operasi yang ada pada Class bisa kita perluas dengan cara overload dan override. Secara garis besarnya, kejadian overload pada operasi terjadi hanya pada Class yang dimaksud. Berbeda halnya dengan operasi yang mengalami override yang dibentuk di Class – Class turunannya (sub – Class). Kata kunci saat suatu Class menurunkan atau memperluas dari Class induk yakni ada dua, extends dan implements. Pewarisan pada Class dengan kata kunci (keyword) extends menjelaskan bahwa sub – Class menurunkan dari Class induk, sedangkan jika dilakukan dengan kata kunci implements maka berarti sub – Class menurunkan dari Class induk yang berupa Interface. Interface merupakan jenis Class yang tidak dapat dibentuk obyeknya, namun pada Interface hanya terdapat nilai konstanta dan deklarasi nama – nama operasinya.

Selain itu, juga terdapat beberapa kelebihan lainnya terkait paradigma berorintasi obyek yang sudah di-support dari sisi tools programming dan juga bahasanya, yakni Exception Handling dan Multi – Threading. Dua konsep tersebut menjadi support yang powerful ketika suatu perangkat lunak dibuat.

. . . . . . . . to be continued . . . .  .


Leave a Reply