Object Oriented Programming
(OOP)
OOP atau Object Oriented Programming atau yang dalam
bahasa Indonesia disebut Pemrograman berorientasi objek, menurut Wikipedia adalah paradigma pemrograman yang
berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini
dibungkus dalam kelas-kelas atau objek-objek. secara singkat
pengertian dari OOP adalah koleksi objek yang saling berinteraksi dan saling
memberikan informasi satu dengan yang lainnya. Pemrograman Terstruktur adalah
suatu proses untuk mengimplementasikan urutan langkah untuk menyelesaikan suatu
masalah dalam bentuk program.
Bandingkan dengan logika pemrograman terstruktur.
Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek
lainnya, Model data berorientasi objek dikatakan dapat memberi fleksibilitas
yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti
lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih
mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan
pendekatan OOP lebih mudah dikembangkan dan dirawat.
- Class
Menurut Wikipedia ini class adalah kumpulan atas definisi
data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai
contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi
data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari
anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam
pemrograman berorientasi object. Sebuah class secara tipikal sebaiknya dapat
dikenali oleh seorang non-programmer sekalipun terkait dengan domain
permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya
(relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan
jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program
akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui
program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah
ke sebuah program ataupun sebaliknya.
Sedangkan menurut
blog ini class merupakan model yang berisi
kumpulan attribute dan method dalam suatu unit untuk suatu tujuan tertentu.
Sebagai contoh class manusia memiliki attribute berat, tinggi, usia kemudian
memiliki method makan, minum, tidur. Method dalam sebuah class dapat merubah
attribute yang dimiliki oleh class tersebut. Sebuah class merupakan dasar dari
modularitas dan struktur dalam pemrograman berorientasi object.
- Object
Object menurut blog ini adalah Merupakan perwujudan dari class,
setiap object akan mempunyai attribute dan method yang dimiliki oleh class-nya,
contohnya: amir, ahmad, yani merupakan object dari class manusia. Setiap object
dapat berinteraksi dengan object lainnya meskipun berasal dari class yang
berbeda. Object 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. Object
adalah implementasi dari class. Secara sederhananya, dapat dikatakan terdiri
dari properti (atribut) dan method.
Setiap object memiliki dua
karakteristik yang utama, yaitu atribut dan behavior. Atribut merupakan status
object dan behavior merupakan tingkah laku dari object tersebut. Contoh
sederhana adalah sepeda. Object sepeda memiliki atribut : pedal, roda, dan
gigi, kecepatan serta memiliki tingkah laku seperti pacu dan rem. Sama seperti
penggambaran di dunia nyata, pengembangan program dengan konsep OOP juga
menggunakan model object yang akan menyimpan atributnya dalam variabel dan
tingkah lakunya dalam method atau fungsi-fungsi/prosedur.
- Method
Menurut blog 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 :
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).
- Event
Event menurut blog ini 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.
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.
- Attribute / Properties
Atribut dari sebuah
kelas adalah variabel global yang dimiliki sebuah kelas, Atribut dapat memiliki
hak akses private, public maupun protected.
Sebuah atribut yang dinyatakan
sebagai private hanya dapat diakses secara langsung oleh kelas yang
membungkusnya, sedangkan kelas lainnya tidak dapat mengakses atribut ini secara
langsung. Sebuah atribut yang dinyatakan sebagai public dapat diakses secara
langsung oleh kelas lain di luar kelas yang membungkusnya.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya. Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Sebuah atribut yang dinyatakan sebagai protected tidak dapat diakses secara langsung oleh kelas lain di luar kelas yang membungkusnya, kecuali kelas yang mengaksesnya adalah kelas turunan dari kelas yang membungkusnya. Atribut juga biasa disebut state/ properties/ field merupakan bagian yang dimiliki oleh sebuah class yang tidak melakukan operasi, tetapi kepadanya dilakukan operasi sehingga dapat merubah nilai dari attribute tersebut.
Attribute juga
memiliki karakteristik yang dalam class, atribut disebut sebagai variabel.
Atribut dapat membedakan antara satu object dengan object yang lain. Sebagai
contoh, pada class : mahasiswa, terdapat object mahasiswa si A, dan object
mahasiswa si B. Yang membedakan antara object si A dan si B adalah NPM-nya
(Nomor Pokok Mahasiswa) yang merupakan atribut dari object tersebut. Pada
atribut, terdapat pula dua istilah variabel, yaitu Instance Variabel dan Class
Variable.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel tiap object memiliki instance variabel dan menyimpan nilainya tersendiri. Sedangkan pada Class Variabel atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama.
Dimana pada tiap variabel memiliki karakteristik tersendiri, diantaranya :
Pada Instance Variabel tiap object memiliki instance variabel dan menyimpan nilainya tersendiri. Sedangkan pada Class Variabel atribut yang dimiliki oleh semua object yang berasal dari class yang sama, serta semua object memiliki nilai class variabel yang sama. atribut yang dimiliki object dari class yang sama.
)* Sumber sudah dicantumkan pada sela-sela artikel
Tidak ada komentar:
Posting Komentar