Pengertian OOP (Object Oriented Programming)
adalah suatu metode pemrograman yang berorientasi kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari suatu permasalahan adalah objek, nah objek itu sendiri merupakan gabungan dari beberapa objek yang lebih kecil lagi. Saya ambil contoh Pesawat, Pesawat adalah sebuah objek. Pesawat itu sendiri terbentuk dari beberapa objek yang lebih kecil lagi seperti mesin, roda, baling-baling, kursi, dll. Pesawat sebagai objek yang terbentuk dari objek-objek yang lebih kecil saling berhubungan, berinteraksi, berkomunikasi dan saling mengirim pesan kepada objek-objek yang lainnya. Begitu juga dengan program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek itu saling berkomunikasi, dan saling berkirim pesan kepada objek yang 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.
KONSEP OOP
OOP adalah pemrograman yang paling populer pada saat ini karena menjadikan objek sebagai komponen utama dalam suatu program. Objek ini menggabungkan data dan fungsi sebagai satu kesatuan, hal ini membedakan dengan pemrograman yang tidak berorientasi objek (terstruktur) dimana fungsilah yang menjadi perhatian utama. Fungsi adalah subprogram atau sekumpulan kode yang diberi suatu nama tersendiri. Java adalah salah satu dari bahasa pemrograman berorientasi objek, karena dalam pemrograman java kita dapat mengetahui dan membedakan.
Dalam OOP mempunyai ciri-ciri dan beberapa konsep penting, seperti Object, Class, Method, Enkapsulasi, Inheritance, dan Polimorfisme.
Dalam OOP mempunyai ciri-ciri dan beberapa konsep penting, seperti Object, Class, Method, Enkapsulasi, Inheritance, dan Polimorfisme.
OBJECT
Object adalah elemen dasar dari konsep pemrograman, merupakan sesuatu yang memiliki identitas (nama), pada umumnya juga memiliki data tentang dirinya maupun object lain dan mempunyai kemampuan untuk melakukan sesuatu dan bisa bekerja sama dengan objek lainnya. Pada dasarnya semua benda yang ada di dunia dapat dianggap sebagai sebuah object. Rumah, mobil, sepeda motor, meja, dan komputer merupakan contoh-contoh object yang ada di dunia nyata. Setiap object memiliki dua karakteristik yang utama yaitu, atribut dan behavior. Atribut merupakan status object dan behavior merupakan tingkah laku dari object tersebut.
CLASS/KELAS
Class berbeda dengan object. Class merupakan prototipe, blue print, ataupun template dengan kata lain Class adalah representasi abstrak dari suatu objek, sedangkan objek adalah representasi nyata dari Class ataupun perwujudan (instance) dari suatu class.
jika diilustrasikan hubungan antara class dan object seperti pada gambar dibawah ini :
jika diilustrasikan hubungan antara class dan object seperti pada gambar dibawah ini :
METHOD
Method adalah fungsi dan prosedur atau behavior dari suatu objek atau juga sebuah tindakan (implementasi) dari sebuah object . Contohnya pada Komputer seperti cara memastikan, cara menghidupkan, cara menyimpan, menghapus data dan lain-lain.
FIELD
Adalah informasi atau atribut yang terdapat dalam suatu object. Bentuk field mirip dengan variabel yaitu dapat dibaca dan diset langsung.
Adalah informasi atau atribut yang terdapat dalam suatu object. Bentuk field mirip dengan variabel yaitu dapat dibaca dan diset langsung.
INTERFACE
Interface atau diartikan dalam bahasa indonesianya adalah antarmuka, atau secara fungsi adalah alat untuk menghubungkan benda-benda lain secara langsung untuk dapat berinteraksi. Makna dalam bahasa pemrograman sendiri interface dapat didefinisikan sebagai koleksi /kumpulan definisi metode-metode dan variabel-variabel konstan, namun tanpa implementasi. Implementasi akan dilakukan oleh kelas-kelas yang mengimplements interface ini. Tanpa implementasi di sini tidak seperti pada kelas abstrak yang merupakan metode-metode yang tidak melakukan apa-apa, melainkan hanya sekedar nama metode saja.
Sebuah kelas tidak dapat menjadi subkelas dari beberapa superkelas, melainkan hanya bisa menjadi subkelas dari satu superkelas saja. Hal ini membuat desain program lebih rapi dan teratur, sehingga dapat mengurangi kompleksitas program. Namun, terkadang hal ini dapat menjadi suatu kendala yang tidak menyenangkan, misalnya saat kita membutuhkan suatu kelas yang memiliki sifat-sifat dari dua atau lebih kelas lain. Nah disinalah fungsi interface itu dapat memberikan sebuah alternatif jalan keluar.
Tentunya dengan adanya interface maka beberapa kelas akan dapat menangani interaksi yang sama tapi dengan behaviour yang bisa berbeda. Contoh beberapa kelas mengimplementasi sebuah interface yang sama, maka kelas-kelas tersebut dapat menangani interaksi sesuai interface tersebut, namun tiap kelas dapat memiliki implementasi sendiri-sendiri.
Jika sebuah kelas mengimplementasi banyak interface, maka kelas tersebut akan dapat menangani interaksi-interaksi sesuai salah satu interface yang diimplement oleh kelas tersebut.tapi kelas tersebut harus mengimplementasi sendiri behaviournya. Inilah letak perbedaan penggunaan interface dengan multiple inheritance. Pada multiple inheritance, seperti single inheritance, subkelas tidak harus mengimplementasikan sendiri behaviournya karena secara default kelas tersebut akan mengikuti behaviour superkelasnya.
INTHERITANCE
Pewarisan atau inheritance..adalah sebuah kelas mewarisi state dan behaviour dari kelas lain.Contohnya kelas komputerLapotop akan mewarisi state dan behaviour dari kelas komputer. Demikian juga dengan kelas komputerNetbook. Kelas komputerLaptop dan kelas komputerNetbook disebut subkelas, atau kelas anak, dari kelas komputer , yang disebut superkelas,atau kelas Induk. Kegunaan konsep pewarisan antara lain :
- dapat membuat superkelas yang hanya mendefinisikan behaviour namun tidak memberi implementasi dari metode-metode yang ada.
- dapat menggunakan kembali kelas-kelas yang kita buat (sebagai superkelas) dan membuat kelas-kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.
Hal ini berguna jika kita ingin membuat prototype/template kelas. Kelas semacam ini disebut kelas abstraksi, karena behaviournya masih abstrak dan belum diimplementasikan. Subkelas-subkelas dari kelas semacam ini, yang disebut kelas konkret/nyata, mengimplementasikan behaviour abstrak tersebut sesuai dengan kegunaan masing-masing.
ENCAPTULATION/ENKAPSULASI
Enkapsulasi secara definisi adalah mekanisme pembungkusan untuk menyembunyikan atau melindungi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem juga sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface/antarmuka. Contohnya Komputer, pada saat menyalakan, mematikan, pembacaan data, pemrosesan data maka pemakai/user tidak perlu tahu detail dari bagaimana proses menyalakan dan mematikan, itu dilakukan oleh komputer, cukup tahu bagaimana cara menyalakan/mematikan komputer , keyboard, mouse, tombol power merupakan interface (antar muka) pemakai dengan sistem komputer tersebut.
POLYMORPHISM
Polymorphism sebuah kata dari bahasa Yunani yang mempunyai arti banyak bentuk., konsep ini dimungkinkan untuk menggunakan suatu interface yang sama agar suatu objek melakukan aksi atau tindakan yang mungkin secara prinsip sama tapi secara proses bisa berbeda-beda. Pada umumnya konsep ini sering kali disebut dalam istilah satu interface banyak aksi. Contoh yang nyata adalah. komputer yang ada dipasaran terdiri atas berbagai tipe dan merk, namun semuanya memiliki interface yang sama, seperti: tombol power, keyboard, mouse, monitor dlsb,. Jika seseorang dapat mengoperasikan komputer satu jenis saja dari merk tertentu, maka orang itu akan dapat mengoperasikan hampir seluruh jenis komputer yang ada, karena semua komputer tersebut menggunakan interface yang sama. Perlu diketahui disini bahwa interface yang sama tidak berarti cara kerjanya juga sama. Misal kecepatan/speed komputer, kapasitas memory penyimpan, jika dibandingkan komputer 1 dan komputer 2 maka kecepatan komputer berbeda.
KEUNGGULAN MENGGUNAKAN PEMROGRAMAN OOP DENGAN PEMROGRAMAN TERSTRUKTUR
KEUNGGULAN MENGGUNAKAN PEMROGRAMAN OOP DENGAN PEMROGRAMAN TERSTRUKTUR
MAINTENBILITY
Kemampuan untuk mudah dikelola. Maksudnya jika terjadi kesalahan pada program yang besar maka solusinya adalah memecah program tersebut menjadi modul-modul kecil (modularitas). Modularitas melekat pada OOP karena kelas-kelas yang ada merupakan suatu modul sehingga kelas-kelas yang mempunyai fungsi sama akan disimpan pada namespace yang sama pula.
EXTENSIBILITY
Kemampuan dapat di perluas, yaitu Class-class yang ada dapat diperluas dengan menambahkan method atau data, atau mengubah prilaku dari method.
REUSIBILITY
Kemampuan untuk dapat dipergunakan kembali bagi mereka yang memerlukan f ungionalitas yang sama yang disediakan oleh kode.
No comments:
Post a Comment