Sejarah
perkembangan OOP dimulai pada tahun 1966 saat Ole Johan Dhal dan
Kristen Nygaard dari universitas Olslo, norwegia menerbitkan sebuah
jurnal kertas kerja dengan judul "SIMULA An Algol Based Language".
Pemrograman
berorientasi objek (OOP) merupakan metode pemrograman dimana pengembang
harus mendefiniskan tipe dari struktur data dan juga tipe dari operasi
yang dapat di aplikasikan ke struktur data. dengan demikian struktur
data menjadi objek yang dapat memilik data dan fungsi. beberapa
kemampuan utama dari pemrograman OOP antara lain :
1.Pemrograman OOP menekankan pada data dari pada prosedur karena data diperlakukan sebagai elemen yang penting dan tidak boleh mengalir secara bebas dalam program.
2.Data di sembunyikan dari akses program oleh fungsi-fungsi (function) eksternal.
1.Pemrograman OOP menekankan pada data dari pada prosedur karena data diperlakukan sebagai elemen yang penting dan tidak boleh mengalir secara bebas dalam program.
3.Program dapat dibagi-bagi kedalam objek-objek yang lebih kecil.
4.Objek dapat berkomunikasi satu dengan yang lain melalui function.
5.Data baru dan function dapat dengan mudah ditambahkan pada saat di butuhkan
6. Konsep pemrogramannya mengikuti pendekatan buttom up.
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.KONSEP OOP
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 :
suatu class dapat berisi property,field,method dan event dari suatu object, gabungan dari property,field,method dan event dari suatu object biasanya member dari class.
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.
suatu class dapat berisi property,field,method dan event dari suatu object, gabungan dari property,field,method dan event dari suatu object biasanya member dari class.
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.
Contoh: suatu class Anak yang memiliki field Nama_Anak dan usia anak, juga
memiliki subrutin(method) kegiatan_Anak.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.
INHERITANCE/PEWARISAN
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 :
INHERITANCE/PEWARISAN
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.
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
MAINTENABILITY 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.
KEUNGGULAN MENGGUNAKAN PEMROGRAMAN OOP DENGAN PEMROGRAMAN TERSTRUKTUR
MAINTENABILITY 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
REUSIBILITY
Kemampuan untuk dapat dipergunakan kembali bagi mereka yang memerlukan fungionalitas yang sama yang disediakan oleh kode.
Contoh Kode program sederhana :
0 komentar:
Posting Komentar