OOP (Object Oriented Programming)
SEJARAH OOP
Konsep OOP dimulai pertengahan
1960-an dengan sebuah bahasa program SIMULASMALLTALK. Meskipun developer
software tidak secara intensif mengembangkan OOP, tetapi metodologi
object-oriented tetap digunakan sampai sekarang. kemudian dilanjutkan di era
70-an dengan Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi
popular diantara programmer komputer. Popularitas OOP berlanjut pada tahun
90-an, banyak pengembang perangkat lunak menggunakan konsep OOP seperti yang
dilakukan pada Java dan kemudian PHP yang menjadi popular sekarang. Di tahun
2002, versi terakhir dari Visual Studio, Microsoft-pun ikut memperkenalkan
bahasa OOP baru yaitu C# (dibaca C-sharp) serta penyempurnaan Visual Basic 6.0
yang tidak mendukung OOP menjadi VB.NET sebagai bahasa pemrograman berorientasi
objek.
PENGERTIAN
OOP (Object Oriented Programming) adalah suatu
metode pemrograman yang berorientasi kepada objek. 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.
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.
Konsep
OOP
1.
CLASS
Kelas adalah sekumpulan obyek yang memiliki method-method dan jenis
data yang sama. Dengan kata lain kelas dapat dikatakan sebagai suatu struktur
dalam program yang berisi satu atau beberapa metode (dapat berupa fungsi dan
prosedur). Kelas dapat juga dikatakan sebagai bentuk logika dimana seluruh
bahasa berorientasi objek dibangun. kelas mendefinisikan bentuk dan
sifat/kelakuan/perilaku objek. Semua konsep/abstraksi yang kita implementasikan
di java harus dikapsulkan/dikemas dalam kelas.
Sebagai contoh adalah pengambaran
yang real dalam kehidupan kita adalah tentang dunia transportasi. Tentunya kita
semua mengetahui bahwa sangatlah banyak jenis alat transportasi yang ada
seperti motor, mobil,pesawat terbang,kapal laut, dan lain sebagainya.Kemudian
marilah kita anggap berbagai alat transportasi tersebut sebagai suatu
class. Maka motor tentunya mempunyai nomor
polisi,tahun pembuatan,merk dll demikian juga dengan alat transportasi yang
lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya
motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan
yang mana kegiatan ini disebut method.
Contoh
:
public class ApaMotormu {
public static void main(String[]
args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
2.
OBJECT
Object dapat dikatakan sebagai sebuah entitas yang memiliki kumpulan
dari data serta method-method yang bekerja pada data tersebut. Data dan
method-method suatu kelas mendefinisikan isi dan sifat tersebut. Baik dalam
dunia nyata atau dalam sebuah program, sebuah objek memiliki dua karakteristik,
yaitu state dan behaviour. State adalah keadaan dari sebuah objek, seperti
mobil memiliki state warna, model, tahun pembuatan, kondisi, dll. Sedang
behaviour adalah kelakuan dari objek tersebut, seperti mobil dapat melaju,
membelok, membunyikan klakson, dll. Objek menyimpan statenya dalam satu atau
lebih variabel, dan mengimplement.
Kalau
kita mengikuti analogi di atas, maka object dari class HEWAN adalah Burung,
KAMBING, AYAM, KUDA. Mereka adalah CONTOH dari class HEWAN. Semua dari mereka
adalah HEWAN yang mempunyai nama, kaki, Jenis makanan dst. Dan bisa berlari,
bersuara, berkembang biak dll.
Contoh
:
public class Peliharaanmu{
public static void main(String[]
args){
Hewan punyaku=new Hewan();
punyaku.hewanku();
}
}
3.
ABSTRACTION
Ketika membangun objects dalam aplikasi OOP, adalah
penting untuk menggabungkan konsep abstraction ini. Jika kamu membangun
aplikasi shipping, kamu harus membangun object produk dengan atribut seperti
ukuran dan berat. Warna adalah contoh informasi yang tidak ada hubungannya dan
harus dibuang. Tetapi ketika kamu membangun order-entry application, warna
menjadi penting dan harus termasuk atribut object produk.
4.
METHOD
Menurut ini Method adalah fungsi atau
prosedur yang dibuat oleh seorang programmer didalam suatu Class. Dengan kata
lain, method pada sebuah kelas hampir sama dengan fungsi atau prosedur pada
pemrograman prosedural. Pada sebuah method di dalam sebuah kelas juga memiliki
izin akses seperti halnya atribut pada kelas, izin akses itu antara lain
private, public dan protected yang memiliki arti sama pada izin akses atribut
yang telah dibahas sebelumnya. Sebuah kelas boleh memiliki lebih dari satu
method dengan nama yang sama asalkan memiliki parameter masukan yang berbeda
sehingga kompiler atau interpreter dapat mengenali method mana yang dipanggil.
Hal ini dinamakan
overloading. Di dalam sebuah kelas, terdapat juga yang disebut sebagai method
atau atribut statis yang memiliki kata kunci static. Maksud dari statis di sini
adalah method yang dapat diakses secara berbagi dengan semua objek lain tanpa
harus membuat objek yang memiliki method statis tadi (tanpa proses new), tapi
sebuah method statis mempunyai keterbatasan yaitu hanya dapat mengakses atribut
atau method lain di dalam kelas yang membungkusnya yang juga bersifat statis.
Method statis biasanya diimplementasikan untuk method main.
Sedangkan karakteristik
method seperti didalam suatu class, behavior disimpan dalam bentuk Method.
Method merupakan serangkaian statemen / perintah (perintah = baris program)
dalam suatu class yang menghandle task tertentu. Method merupakan hal-hal yang
bisa dilakukan oleh object dari suatu class.
Method didefinisikan pada class akan tetapi dipanggil melalui object. Method memiliki peranan diantaranya :
- merubah nilai atribut dari suatu object,
- menerima informasi dari object lain, dan
- mengirim informasi ke obyek lain untuk melakukan suatu task (cara obyek berkomunikasi dengan obyek lain adalah dengan menggunakan method).
5.
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.
6.
EVENT
Event merupakan sebuah function yang dipanggil
untuk merespon kejadian/event tertentu, seperti klik mouse, penekanan tombol
keyboard, perubahan nilai field pada database, dan lain-lain. Umumnya event
mengirimkan dua parameter, yaitu object yang mengindikasikan sender/pengirim
event, dan object yang menyediakan informasi pada event tersebut.
Pada sebuah class, Anda dapat melakukan modifikasi pada method dengan cara overriding maupun overloading. Overriding berarti Anda mengubah implementasi dari sebuah method, sementara overloading berarti menambahkan method baru dengan nama yang sama, tetapi dengan pengenal yang berbeda. Overloading mengizinkan Anda memiliki dua atau lebih method dengan nama yang sama. Dua method tersebut akan muncul pada fasilitas IntelliSense sehingga pengguna dapat memilih method yang diinginkan. Bagaimanapun, salah memilih method dapat menyebabkan runtime-error, Anda dapat menghilangkan method yang tidak diinginkan untuk tampil dengan menggunakan keyword Shadows.
7.
ATTRIBUTE / PROPERTIES
Properti adalah atribut-atribut
yang melekat pada sebuah kontrol (objek) yang biasanya merupakan karakteristik
penampilannya seperti warna, jenis huruf, ukuran dan sebagainya. Properti
sebuah kontrol (objek) dapat diubah pada saat memprogram (menggunakan jendela
properti) atau pada saat program dijalankan (menggunakan kode-kode program pada
jendela kode).
8.
ENCAPSULATION
Ciri penting lainnya dari OOP
adalah encapsulation. Encapsulation adalah sebuah proses dimana tidak ada akses
langsung ke data yang diberikan, bahkan hidden. Jika kamu ingin mendapat data,
kamu harus berinteraksi dengan object yang bertanggung jawab atas dara
tersebut.
Sumber :