Ø Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP)
Ø Memahami perbedaan antara pemrograman OOP dengan pemrograman procedural.
Perbandingan OOP dengan Prosedural Pemrograman Prosedural
Ø Diselesaikan dalam bentuk prosedur atau fungsi
Ø Program merupakan urut-urutan instruksi
Ø Program dipecah-pecah ke dalam sub program yang lebih sederhana
Ø Fokus utama pada prosedur dan fungsi
Ø Fungsi dan prosedur digunakan untuk memanipulasi data
Ø Sedangkan data sendiri bersifat pasif
Pemrograman Berbasis Obyek
Ø Fungsi dan data menjadi satu kesatuan yang disebut obyek
Ø Obyek-obyek dalam OOP bersifat aktif
Ø Cara pandang : program bukan urut-urutan instruksi tapi diselesaikan oleh obyek-obyek yang bekerjasama untuk menyelesaikan masalah
Beda nyata antara prosedural dan OOP
Ø Prosedural Fokus pada bagaimana cara komputer menangani masalah
Ø OOP Fokus pada masalah yang ditangani dengan menggunakan computer
TENTANG OBYEK
Apa itu Obyek ?
Ø Semua hal yang ada dalam dunia nyata, baik konkrit maupun abstrak
Ø Contoh obyek konkrit : rumah, sekolah, dosen, mahasiswa, dll.
Ø Contoh obyek abstrak : mata kuliah, penjadwalan, dll.
Ciri-ciri atau karakteristik Obyek
Ø Obyek memiliki status (state) dan tingkah laku (behavior)
Ø Status (state) disebut juga dengan atribut
Ø Contoh obyek : obyek mobil
– Atribut : merek, warna, bahan bakar
– Method : pindah persnelling, kecepatan bertambah, dll
Ø Pada OOP : status disimpan dalam variabel, dan tingkah laku disimpan dalam method
Tentang Class
Apa itu Class ?
Ø Class merupakan tempat untuk membuat obyek
Ø Di dalam class dideklarasikan variable dan method yang dimiliki oleh obyek
Ø Proses pembuatan obyek dari sebuah class disebut dengan instantiation
Ø Jadi obyek merupakan hasil instansiasi dari class
Ø Obyek disebut juga dengan instance
Anggota Class (class member)
Ø Anggota Class terdiri dari atribut dan method.
Ø Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Tentang Atribut
Apa itu atribut ?
Ø Atribut adalah data yang dapat membedakan antara satu obyek dengan obyek yang lainContoh untuk class mahasiswa
Ø terdapat obyek mahasiswa si A, dan obyek mahasiswa si B. Yang membedakan antara obyek si A dan obyek si B adalah NRP-nya yang merupakan atribut dari obyek tersebut.
Instance variable vs. class variable
Ø Instance variable
– Atribut yang dimiliki oleh obyek dari class yang sama
– Tiap obyek memiliki instance variable dan menyimpan nilainya tersendiri
– Jadi beberapa obyek yang berasal dari class yang sama, nilai instance ariablenya boleh sama boleh tidak.
Ø Class variable
– Atribut yang dimiliki oleh semua obyek yang berasal dari class yang sama
– Semua obyek memiliki nilai class variable yang sama
– Jadi semua obyek yang berasal dari class yang sama, nilai class variable-nya harus sama
Ilustrasi perbedaan class variable dan
instance variable
Ø
Ø Keduanya merupakan dua obyek yang berbeda dan berasal dari class yang sama yaitu binatang.
Ø Obyek pusi dan obyek heli memiliki class variable :
– Jenis : binatang
– Ekor : ada
Ø Obyek pusi memiliki instance variable :
- Suara : meong
Ø Obyek heli memiliki instance variable
- Suara : guggug
Tentang Behaviour atau
Method
Behaviour atau Method
Ø Dalam Class, behavior disimpan dalam bentuk method.
Ø Method merupakan hal-hal yang bisa dilakukan oleh obyek dari suatu class
Ø Yang bisa dilakukan oleh method :
– Merubah nilai atribut suatu obyek
– Menerima informasi dari obyek lain
– Mengirim informasi ke obyek lain untuk melakukan sesuatu
Method dalam Class
Ø Method merupakan bagian dari class yang menangani suatu tujuan tertentu dan berisi serangkaian perintah (perintah=baris program)
Ø Obyek yang sama dengan obyek yang lain dapat berkomunikasi dengan menggunakan method.
Contoh pembuatan class
class Mobil {
String aktifitas, warna;
int kecepatan;
void cekKecepatan() {
if (kecepatan==0)
aktifitas=“parkir”;
}
void cetakAtribut() {
System.out.println(“Aktifitas = “+aktifitas);
System.out.println(“Warna = “+warna);
System.out.println(“Kecepatan=“+kecepatan);
}
}
Penciptaan obyek dari sebuah class
Ø Obyek diciptakan dengan perintah new
Ø Misal akan diciptakan obyek baru dari class mobil dengan nama mobilku
Ø Maka perintah penciptaan obyek mobilku dari class Mobil : Mobil mobilku = new Mobil();
Karakteristik OOP
Ø Suatu program disebut dengan pemrograman berbasis obyek (OOP) karena terdapat :
– Encapsulation (pembungkusan)
– Inheritance (pewarisan)
– Polymorphism (polimorfisme – perbedaan bentuk)
Encapsulation (pembungkusan)
Ø Variabel dan method dalam suatu obyek dibungkus agar terlindungi
Ø Untuk mengakses, variabel dan method yang sudah dibungkus tadi perlu interface
Ø Setelah variabel dan method dibungkus, hak akses terhadapnya bisa ditentukan.
Ø Konsep pembungkusan ini pada dasarnya merupakan perluasan dari tipe data struktur
Mengapa variabel dan method perlu
dibungkus ?
Ø Supaya terlindungi, artinya hak akses terhadapnya bisa ditentukan.
Ø Bersifat pribadi, artinya kita tidak perlu tahu semua method yang ada dalam obyek
Ø Contoh : obyek Roti, obyek ini mempunyai method Pembuatan Roti
Ø Jika kita ingin memakan roti, tentu kita tidak perlu tahu bagaimana cara membuatnya
Ø Demikian juga jika kita ingin mengakses obyek Roti, tentu kita tidak perlu tahu isi dari method Pembuatan Roti.
Inheritance (pewarisan)
Ø Sebuah class bisa mewariskan atribut dan method-nya ke class yang lain
Ø Class yang mewarisi disebut superclass
Ø Class yang diberi warisan disebut subclass
Ø Sebuah subclass bisa mewariskan atau berlaku sebagai superclass bagi class yang lain => disebut multilevel inheritance
Contoh Pewarisan
Ø Class Nenek adalah superclass dari class Ibu
Ø Class Ibu adalah superclass dari class Anak
Ø Sebuah subclass memiliki beberapa kesamaan dengan superclass-nya, dalam hal atribut/variabel dan method yang dimilikinya
Ø Contoh pewarisan yang lain : class kendaraan merupakan superclass bagi class mobil, truk dan bis
Keuntungan Penggunaan Pewarisan
Ø Subclass memiliki atribut dan method yang spesifik yang membedakannya dengan superclass, meskipun keduanya mirip (dalam hal kesamaan atribut dan method)
Ø Dengan demikian pada pembuatan subclass, programmer bias menggunakan ulang source code dari superclass yang ada => ini yang disebut dengan istilah reuse
Ø Class-class yang didefinisikan dengan atribut dan method yang bersifat umum yang berlaku baik pada superclass maupun subclass disebut dengan abstract class
Konsep Multiple Inheritance dan Single Inheritance
Ø Suatu subclass bisa menjadi superclass bagi class yang lain => berlaku untuk C dan Java
Ø Suatu class diperbolehkan memiliki lebih dari satu superclass => berlaku hanya di C
Ø Suatu class hanya boleh memiliki satu superclass => hanya berlaku pada Java
Polimorphism (polimorfisme)
Ø Polimorfisme artinya penyamaran dimana suatu bentuk dapat memiliki lebih dari satu bentuk

Tidak ada komentar:
Posting Komentar