Object Oriented Programming

May 25, 2012

Assalammu’alaikum 😀

Kali ini saya akan coba sharing soal Object Oriented Programming (OOP) dari sudut padang saya dan saya juga akan mencoba step by step implementasi OOP ini dengan java jadi mungkin akan terdiri dari beberapa postingan.

OOP merupakan salah satu paradigma dari banyak paradigma dalam dunia pemrograman. Biasanya kita mengenal prosedural programming ketika kita mulai belajar di teknik informatika atau ilmu komputer. Setelah itu kita akan bertemu dengan yang namanya pemrograman berbasis objek (PBO) atau OOP dan paradigma lainnya ada functional programming, Aspect Oriented Programming dan lain-lain. Namun kali ini saya coba share mengenai OOP menurut otak dan hati nurani saya hahahaha.

Dalam berbagai referensi biasanya ketika kita masuk kedalam OOP kita harus melihat suatu sistem yang merupakan solusi yang ingin kita bangun dari suatu case sebagai Objek buka sebagai suatu proses. Mungkin dapat dikatakan ketika kita masuk kedalam prosedural programming kita melihat proses terlebih dahulu baru kita melihat ada apa saja dalam proses yang dibutuhkan proses itu sendiri, sedangkan dalam OOP, kita harus melihat berbagai objek terlebih dahulu baru melihat ada artibut apa saja yang ada di dalam objek tersebut (yang memungkinkan atribut tersebut merupakan objek dari kelas lain) dan juga proses apa saja yang dimiliki oleh objek tersebut atau biasa disebut dengan methode.

Continue reading

Sekilas Object Oriented Programming ( Pemrogramman Berbasis Objek )

Pemrogramman Berbasis Objek (nama kerennya Object Oriented Programming), adalah suatu konsep baru yg sudah cukup lama ada heheehe…

Ada 3 teknik yang khas dari PBO yaitu Encapsulation,Inheritance,polymophism.
wah apa tuh??

A. Enkapsulasi = pengkapsulan/dibungkus..
Biasanya Enkaspsulasi adalah mekanisme untuk melakukan abstraksi, dengan kata lain kita membungkus semua kode dan data yang berkaitan ke dalam satu entitas tunggal yang disebut dengan objek.

B. Inheritance/pewarisan
nah setiap kelas utama biasanya bisa diturunkan, nah kalo dibuat kelas turunannya maka c kelas turunan tersebut bisa mewarisi sifat c kelas induk.
misal :

Kelas Unggas {
Sayap sayap=new Sayap();
Paruh paru= new Paruh();
void Terbang(){

}
void Matuk(){ }
}

Kelas Burung extend Unggas {

//jadi g usah mendeklarasikan lg yg ada di unggas
//kita jg bisa meng override(mengambil alih method kelas unggas)
void setSayap(Sayap sayap){
super.sayap= sayap;
}
}

nah itulah contohnya.. dan si kelas unggas ini bisa aja punya turunan lain, sesuai kebutuhan hehehe…

C. Polimorphisme
adalah kemampuan suatu objek untuk mengungkap banyak hal melalui cara yang sama. ini mah nanti weh nya panjang teuing…

Nah Apa itu kelas, objek, dan Method/metoda???

kalo prosedural tuh biasanya objek= varibel, metoda= prosedur dan function…
nah tp bahsana rada gaya… Objek = merupakan instansiasi dari kelas..
nah ai kelas naun?? wah susa ngjelasinna.
tp di bahsa C ada yg namanya struct buat bikin tipe data tambahan.. nah bayangin ja kita membuat struct/type(di pascal) tp di struct itu bukan cuma ada variabel aja, tapi disitu ada variabel, prosedur dan fungsi beserta statement-statemen didalamnya.
nah jd di kelas ini bisa dikatakan berisi kode2 program , ada objek td yg sama ky variabel, ada method atau prosedur dan function,

nah setelah kita punya kelas misalnya kelas Unggas td.. kita instansiasi(namanya jg instan jd fungsi nya jg biar lbh cepet juga untuk pembungkusan td) nah misal :

Burung Exp = new Burung();

nah c Exp ini sama dgn variabel.. tp karena dideklarasikan nya bertipe Burung maka semua objek dan method yang ada di kelas Burung, misalnya di kelas Burung ada objek sayap dan method terbang yg diturunkan dari Kelas Unggas dan jg ada methode setSayap (untuk menginisialisasi objek Sayap).

example : Exp.setSayap( bulu );
Exp.terbang();
Exp.sayap=bambu;

nah contohnya bisa kaya gtu, cuman nanti prakteknya di java pastinya g ada burung hehehehe…

sbenernya mah ada gambarnya, cuman biasa kecepatan internetnya kurang sigap heuheuheu…
Kita sambung lain waktunya..hohoho capek ngetiknya…