OOP ( Object Oriented Programming ) adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan mengikuti model yang telah ada di kehidupan sehari-hari.
Jadi, setiap bagian dari suatu permasalahan adalah objek. Objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.
Dalam OOP terdapat konsep dasar, yaitu :
A. Encapsulation (Pembungkusan)
Variabel dan method dalam suatu obyek dibungkus agar terlindungi dari pengguna obyek. Konsep ini pada dasarnya merupakan perluasan dari tipe data struktur.
B. Inheritance (Pewarisan)
Inheritance adalah penurunan sifat dari Superclass kepada Subclass sehingga apa yang dimiliki oleh Superclass , dimiliki juga oleh Subclass. Class yang mewarsisi disebut superclass, sedangkan class yang diberi warisan disebut subclass. Begitu juga dengan subclass, subclass juga bisa mewariskan atau berlaku sebagai superclass bagi class yang lain yang disebut Multilevel Inheritance.
C. Polymorphism ( Perbedaan Bentuk )
Polymorphism merupakan kemampuan objek-objek berbeda kelas dalam pewarisan objek untuk merespon secara berbeda terhadap suatu pesan yang sama dan untuk memutuskan method mana yang akan diterapkan kepada sebuah objek.
D. Class
Class adalah penggambaran sebuah objek dan juga tentang fungsi objek itu sendiri. Di dalam class dideklarasikan variable dan method yang dimiliki objek. Proses pembuatan obyek dari sebuah class disebut Instantiation.
Class memiliki anggota yang disebut Class Member. Class Member tediri dari atribut dan method.
1. Method
Method adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu objek. Method didefinisikan pada class , akan tetapi dipanggil melalui object. Method sangat menentukan perilaku objek.
2. Atribut
Atribut adalah sesuatu yang dimiliki oleh sebuah class.
F. Object
Object adalah hasil bentukan dari class
1. Properties
Properties adalah atribbut-atribut yang melekat pada sebuah objek yang biasanya merupakan karakteristik penampilannya seperti warna, jenis huruf, ukuran dan sebagainya. Properti sebuah objek dapat diubah saat memprogram atau pada saat program dijalankan.
2. Event
Event adalah kejadian atau segala sesuatu yang dapat dialami oleh sebuah objek. Suatu objek dapat memiliki banyak event.
Class : Radio
Object : Radioku
Attribute :
Warna kuning jeruk
Merek Kick Denim
Pemutar Volume
Tombol on/off
Method :
Membesarkan volume
Menyalakan radio
Mematikan radio
Dari contoh diatas, terdapat satu buah class Radio dengan object Radioku . Object dalam class Radio bisa dibuat lebih dari satu. Kita bisa membuat object Radioku, Radiomu, Radionya Edi, ataupun Radionya Sun. Banyak object yang dapat diciptakan dari satu kelas yang sama seperti halnya banyak radio yang dapat dibuat dari satu gambar rancangan yang sama.
Kelebihan OOP ( Object Oriented Programming ) :
1. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sanat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detail implementasinya tersembunyi.
2. OOP mempermudah dalam maintenance, memodifikasi bahkan membuat sebuah objek yang baru tanpa mengubah kode yang sudah ada.
3. OOP menyediakan framework untuk library code dimana komponen software yang tersedia dapat dengan mudah di adaptasi dan di modifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI ( Graphical User Interface ) dan UX ( User Xperience ).
4. Multiplatform . OOP dapat dijalankan di berbagai sistem operasi sekaligus. Dengan menggunakan prinsip “Tulis sekali, jalankan dimana saja”.
Kekurangan OOP ( Object Oriented Programming ) :
1. Mudah didekomplikasi. Artinya mudah dilakukan pembalikan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
2. Meskipun bersifat Multiplatform , namun masih ada beberapa hal yang tidak kompatible antara platform satu dengan platform lain
Semua adalah objek.
Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek
Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.
Jadi, setiap bagian dari suatu permasalahan adalah objek. Objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi.
Dalam OOP terdapat konsep dasar, yaitu :
A. Encapsulation (Pembungkusan)
Variabel dan method dalam suatu obyek dibungkus agar terlindungi dari pengguna obyek. Konsep ini pada dasarnya merupakan perluasan dari tipe data struktur.
B. Inheritance (Pewarisan)
Inheritance adalah penurunan sifat dari Superclass kepada Subclass sehingga apa yang dimiliki oleh Superclass , dimiliki juga oleh Subclass. Class yang mewarsisi disebut superclass, sedangkan class yang diberi warisan disebut subclass. Begitu juga dengan subclass, subclass juga bisa mewariskan atau berlaku sebagai superclass bagi class yang lain yang disebut Multilevel Inheritance.
C. Polymorphism ( Perbedaan Bentuk )
Polymorphism merupakan kemampuan objek-objek berbeda kelas dalam pewarisan objek untuk merespon secara berbeda terhadap suatu pesan yang sama dan untuk memutuskan method mana yang akan diterapkan kepada sebuah objek.
D. Class
Class adalah penggambaran sebuah objek dan juga tentang fungsi objek itu sendiri. Di dalam class dideklarasikan variable dan method yang dimiliki objek. Proses pembuatan obyek dari sebuah class disebut Instantiation.
Class memiliki anggota yang disebut Class Member. Class Member tediri dari atribut dan method.
1. Method
Method adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu objek. Method didefinisikan pada class , akan tetapi dipanggil melalui object. Method sangat menentukan perilaku objek.
2. Atribut
Atribut adalah sesuatu yang dimiliki oleh sebuah class.
F. Object
Object adalah hasil bentukan dari class
PROPERTIES DAN EVENT PADA KONSEP OOP
Properties adalah atribbut-atribut yang melekat pada sebuah objek yang biasanya merupakan karakteristik penampilannya seperti warna, jenis huruf, ukuran dan sebagainya. Properti sebuah objek dapat diubah saat memprogram atau pada saat program dijalankan.
2. Event
Event adalah kejadian atau segala sesuatu yang dapat dialami oleh sebuah objek. Suatu objek dapat memiliki banyak event.
CONTOH ILUSTRASI PEMBUATAN OBJECT DALAM OOP
Class : Radio
Object : Radioku
Attribute :
Warna kuning jeruk
Merek Kick Denim
Pemutar Volume
Tombol on/off
Method :
Membesarkan volume
Menyalakan radio
Mematikan radio
Dari contoh diatas, terdapat satu buah class Radio dengan object Radioku . Object dalam class Radio bisa dibuat lebih dari satu. Kita bisa membuat object Radioku, Radiomu, Radionya Edi, ataupun Radionya Sun. Banyak object yang dapat diciptakan dari satu kelas yang sama seperti halnya banyak radio yang dapat dibuat dari satu gambar rancangan yang sama.
Kelebihan OOP ( Object Oriented Programming ) :
1. OOP menyediakan struktur modular yang jelas untuk program sehingga OOP sanat bagus digunakan untuk mendefinisikan tipe data abstrak di mana detail implementasinya tersembunyi.
2. OOP mempermudah dalam maintenance, memodifikasi bahkan membuat sebuah objek yang baru tanpa mengubah kode yang sudah ada.
3. OOP menyediakan framework untuk library code dimana komponen software yang tersedia dapat dengan mudah di adaptasi dan di modifikasi oleh programmer. Hal ini sangat berguna untuk mengembangkan GUI ( Graphical User Interface ) dan UX ( User Xperience ).
4. Multiplatform . OOP dapat dijalankan di berbagai sistem operasi sekaligus. Dengan menggunakan prinsip “Tulis sekali, jalankan dimana saja”.
Kekurangan OOP ( Object Oriented Programming ) :
1. Mudah didekomplikasi. Artinya mudah dilakukan pembalikan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode, dan tipe data. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak.
2. Meskipun bersifat Multiplatform , namun masih ada beberapa hal yang tidak kompatible antara platform satu dengan platform lain
KARAKTERISTIK OBJECT ORIENTED PROGRAMMING
Semua adalah objek.
Komputasi dilakukan dengan komunikasi antar objek. Setiap objek berkomunikasi dengan objek yang lain melalui pengiriman dan penerimaan pesan.
Sebuah pesan merupakan permintaan atas sekumpulan aksi dengan semua argumen yang diperlukan untuk menyelesaikan suatu tugas tertentu.
Setiap objek memiliki memori sendiri, yang dapat terdiri dari objek-objek lainnya.
Setiap objek adalah wakil atau representasi dari suatu kelas. Sebuah kelas dapat mewakili sekelompok objek yang sama.
Kelas merupakan kumpulan tingkah laku yang berkaitan dengan suatu objek. Jadi, semua objek yang merupakan wakil dari kelas yang sama dapat melakukan aksi yang sama pula.
Kelas-kelas diorganisasikan ke dalam struktur pohon yang berakar tunggal, yang dinamakan dengan jenjang pewarisan (inheritance hierarchy).
Setiap objek pada umumnya memiliki tiga sifat, yaitu keadaan, operasi dan identitas objek.
Operasi merupakan tindakan yang dapat dilakukan oleh sebuah objek
Keadaan objek merupakan koleksi dari seluruh informasi yang dimiliki oleh objek pada suatu saat.
Informasi yang terkandung pada objek tersebut pada akhirnya memberikan identitas khusus yang membedakan suatu objek dengan objek lainnya.