Konsep
dari object oriented programming (OOP) adalah lebih dari sekedar sebuah konsep pemrograman, Object
oriented programming adalah cara berpikir tentang
aplikasi yang mempelajari untuk berpikir bahwa aplikasi bukan sekedar prosedur melainkan sebagai object dan real
entity.
Object
yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama
lain. Jadi object oriented programming merupakan cara
yang paling efisien untuk menulis program komputer yang sangat mudah untuk di kombinasikan dan untuk dipergunakan kembali. Object oriented programming lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari object oriented programming bahkan seorang
programmer yang tidak pernah bekerja dengan object
oriented programing pun harus
mempelajarinya juga. Hal ini dikarenakan pada
suatu hari nanti semua bahasa pemrograman akan menambahkan
kemampuan object oriented programming pada bahasanya.
Berikut empat konsep yang harus dapat dimiliki oleh
suatu bentuk pemrograman yang berorentasi object :
1. Abstraction
Pesawat yang
telah dicontohkan masuk dalam kelas kendaraan, kelas kendaraan merupakan contoh
abstraction. Abstraction adalah proses yang mewakili versi yang disederhanakan
dari objek dunia nyata dalam kelas dan objek. Hal ini berarti dalam
pengembangan perangkat lunak seorang programmer akan menggunakan atau menciptakan
sejumlah object dimana object tersebut akan ada dan berperilaku pada sistem.
2.
Encapsulation
Encapsuation adalah penyatuan antara proses-proses yang terjadi dan
sejumlah data yang dikelola kedalam suatu bentuk kelompok tertentu.
Pengelompokan tersebut adalah dengan dibentuknya suatu object secara abstrak
(abstraction). Akibatnya, obyek dapat
bekerja sama dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas
dan objek dapat erat bersama-sama untuk menyediakan fungsionalitas yang lebih
kompleks. Dalam contoh mobil, roda, panel, mesin, gearbox, dll
dapat dianggap sebagai kelas individu. Untuk membuat mobil sekelasnya, perlu menghubungkan semua benda-benda bersama, mungkin dapat menambahkan fungsionalitas lebih lanjut. Kerja
internal masing-masing kelas yang tidak penting karena enkapsulasi sebagai
komunikasi antara obyek masih melalui lewat pesan ke antarmuka publik mereka.
Encapsulation mengemas
suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak
perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam
hal ini, misal siswa (suatu
object) sedang menulis
(method). Maka detail dari tentang cara siswa itu menulis (bagaimana
otot tangan itu bekerja untuk menulis, bagaimana sistem saraf pusat
memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya
melihat si siswa sedang menulis.
Contoh :
class Siswa
{
String nama;
String nim;
void isiData
( String namaku,String nimku )
{
nama =
namaku;
nim = nimku;
}
String
ambilNama()
{
return nama;
}
String ambilNim()
{
return nim;
}
}
public class
Mahasiswa
{
public
static void main ( String [] args)
{
Siswa
mahasiswa_itn = new Siswa(); //membuat variable instant
mahasiswa_itn.isiData(“Dina
Damayanti”,”0412585″);
System.out.println(
“Nama : ” + mahasiswa_itn.ambilNama());
System.out.println(
“Nim : ” + mahasiswa_itn.ambilNim());
}
}
3.
Inherintance
Inherintence atau pewarisan adalah merupakan konsep dimana suatu object
memiliki sejumlah perilaku yang dimiliki oleh object lain dalam suatu hirarki
tertentu.
Hal ini
memungkinkan satu kelas (sub-class) harus didasarkan atas yang
lain (kelas super) dan
mewarisi semua fungsi secara otomatis. Kode tambahan kemudian dapat
ditambahkan untuk membuat versi yang lebih khusus dari kelas. Dalam contoh
kendaraan, sub-kelas untuk mobil atau motor dapat dibuat. Masing-masing
masih akan memiliki semua perilaku kendaraan tetapi dapat menambahkan metode
khusus dan properti.
Beberapa
bahasa pemrograman memungkinkan untuk multiple
inheritance mana
sub-kelas yang berasal dari dua atau lebih super-kelas. C # tidak
mengizinkan ini, tetapi tidak memungkinkan kelas untuk mengimplementasikan
beberapa interface. Sebuah antarmuka mendefinisikan kontrak
untuk metode dan properti dari kelas yang mengimplementasikan hal
itu. Namun, tidak mencakup fungsi yang sebenarnya.
4.
Polymorphism
Polymorphism adalah konsep dimana beberapa object dapat memiliki metode
yang sama dengan aksi yang berbeda. Hal
ini mengakibatkan adanya kemampuan
untuk sebuah objek untuk mengubah perilakunya sesuai dengan bagaimana itu
digunakan. Dimana kelas obyek mewarisi dari kelas super atau
mengimplementasikan satu atau lebih interface ,
dapat disebut dengan kelas atau interface nama-nama. Jadi jika kita
memiliki metode yang mengharapkan sebuah objek dari tipe 'kendaraan' untuk
diteruskan sebagai parameter, kita dapat melewati setiap kendaraan, mobil atau
motor objek untuk metode yang meskipun tipe data mungkin secara teknis berbeda.
Dalam Polymorphism suatu
object bisa bertindak lain terhadap message/method yang sama. Misalkan kita
punya satu class hewan dan
diturunkan menjadi dua class hewan
berkaki dua dan hewan
berkaki empat. Ketika hewan berkaki dua melakukan method makan maka yang dilakukan adalah
makan dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia akan menggunakan
mulutnya. Keduanya melakukan aksi yang sama yaitu makan akan tetapi perlakuannya lain.
Contoh :
class
Binatang
{
public void
info()
{
System.out.println(”
Info tentang Hewan : “);
}
}
class
Herbivora extends Binatang
{
public void
info()
{
System.out.println
(“Info pada herbivora: Memakan makanan berupa tumbuh – tumbuhan”);
}
}
class
Kelinci extends Herbivora
{
public void
info()
{
System.out.println(“Info
pada Kelinci: Memakan makanan berupa wortel”);
}
}
public class
Polimorfisme
{
public
static void main(String[] args)
{
Herbivora
herbivora;
Kelinci kelinciku;
Binatang
hewan;
herbivora=new
Herbivora();
kelinciku=new
Kelinci();
hewan=herbivora;
hewan.info();
hewan=kelinciku;
hewan.info();
}
}
5.
Modularitas
Selain konsep yang dijelaskan di atas, pemrograman berorientasi objek
juga memungkinkan peningkatan modularitas. Sedangkan
arti kata modularitas adalah memecahkan sesuatu yang kompleks menjadi
bagian-bagian kecil yang mudah dikendalikan. Kelas atau kelompok kelas terkait dapat dianggap sebagai modul kode
yang dapat digunakan kembali dalam proyek perangkat lunak banyak. Hal ini
mengurangi kebutuhan untuk membangun kembali fungsi yang sama dan karena itu
dapat menurunkan waktu dan biaya pengembangan.
Dalam pemograman berorientasi Objek dikenal Ada
beberapa pengertian dasar yang harus kita ketahui yaitu:
a. Class
Class merupakan penggambaran dari sebuah
object atau benda,sifat objek, dan juga apa yang bisa dilakukan oleh objek
tersebut.
·
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 no 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.
o
contoh :
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
b. Object
Object adalah merupakan suatu bentuk dari class. 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.
o
contoh :
public class Peliharaanmu{
public static void main(String[] args){
Hewan punyaku=new Hewan();
punyaku.hewanku();
}
}
c.
Method
Method adalah merupakan suatu operasi berupa
fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan
pada class akan tetapi dipanggi lmelalui object.
Contoh : pada object mangga : terdapat method
ambilRasa , kupasKulit dll.
Metode
menentukan perilaku objek, yakni apa yang terjadi ketika objek itu dibuat serta
berbagai operasi yang dapat dilakukan objek sepanjang hidupnya.
d.
Behavior
Behavior adalah tingkah laku yang dapat dilakukan oleh
objek, behavior merupakan kelakuan atau sifat dari Object seperti mobil
tadi bisa melaju, membelok, membunyikan klakson dan lain sebagainya.
e.
Contruktor
Contruktor merupakan suatu method yang akan memberikan
nilai awal pada saat suatu objek dibuat. Pada saat program dijalankan,
constructor akan langsung memberikan nilai awal pada saat perintah new, membuat
suatu objek
Pada saat kita bekerja dengan constructor, hal mendasar yang perlu diperhatikan, yaitu :
Pada saat kita bekerja dengan constructor, hal mendasar yang perlu diperhatikan, yaitu :
1.
Nama
Constructor sama dengan nama Class.
2.
Tidak ada
return type yang diberikan kedalam Constructor Signature.
3.
Tidak ada
return stetement, didalam tubuh constructor.
f.
Constructor Overloading
Overloading
adalah suatu cara membuat lebih dari constructor pada suatu class. Supaya
pengaksesan constructor tersebut lancar, maka sebagai pembedanya adalah tipe
parameter dan atau jumlah parameternya.
Sumber :
http://lehaqueenzy.wordpress.com/about/. Pengertian OOP.
Diakses 4 September 2013.
http://id.wikipedia.org/w/index.php?title=Pemrograman_berorientasi_objek&oldid=6620271.
Pemrograman Berorientasi Objek. Diakses 4 September 2013..
Carr,Richard . 2010. Konsep
Pemrograman Berorientasi Objek pada C#. Terjemah http://www.blackwasp.co.uk/ObjectOrientedConcepts.aspx. Diakses 4 September 2013.
0 comments:
Post a Comment