Konsep Dasar Pemrograman Berorientasi Objek Class , Object, Method, Attribute Dhea Raniasti
WHY OOP ? Simplicity : kompleksitas program terkurangi dan strukturnya lebih jelas Modularity : sistem yg kompleks atau besar dapat dipecah menjadi modul2 yg lebih kecil Modifiability : mudah untuk melakukan perubahan tanpa mempengaruhi bagian program yg lain. Maintainability Re-usability
BASIC OOP Konsep Dasar Pemrograman Berorientasi Objek: Class, Object, Attribute, Method, Constructor Karakteristik Pemrograman Berorientasi Objek: Abstraction, Encapsulation, Inheritance, Polymorphisme Pengorganisasian Class: Package, Interface
Berorientasi Objek? Atribut : Tas, sepatu, dress, tangan, kaki, mata Behavior : Cara Jalan ke Depan Cara Jalan Mundur Cara Belok Kanan Cara Lompat Cara Lari
Berorientasi Objek? Atribut : Ban , Setir, Pedal, Warna, Tahun Produksi Behavior : Cara menghidupkan mesin Cara menjalankan bus Cara memundurkan bus
Perbedaan Class dan Object Class adalah konsep dan deskripsi dari sesuatu Object adalah instance dari Class Class: mobil Object: mobilnya pak Joko, mobilku Class seperti cetakan kue, dimana kue yg dihasilkan dari cetakan kue itu adalah object Warna kue bisa bermacam-macam meskipun berasal dari cetakan yang sama (object memiliki sifat independen)
“ Attribute Variable(Member) Behavior Method(Fungsi) “ kesimpulan “ Attribute Variable(Member) Behavior Method(Fungsi) “
Class = Method + Variable gir kecepatan Ubah kecepatan Ubah gir Class Sepeda variabel method
ATTRIBUTE Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object Name, age, dan weight adalah atribute dari class Person
Object = Method + Variable Bernilai Class SepedaKu gir = 3 Kecepatan= 10 km/jam Instance variabel Ubah kecepatan (10) Instance method Ubah gir (2)
METHOD Method adalah implementasi dari bagaimana bekerjanya sebuah class Method melakukan: Manipulasi data Perhitungan matematika Memonitor kejadian dari suatu event
Membuat Class, Object dan Memanggil Atribut main.cpp Membuat class class segipanjang{ int x,y; public: void set_value(int,int); int area(){return (x*y);} };
Membuat Class, Object dan Memanggil Atribut main.cpp Membuat method void segipanjang::set_value(int a, int b){ x = a; y = b; }
Membuat Class, Object dan Memanggil Atribut main.cpp Membuat object int main() { segipanjang sp_ani,sp_budi sp_ani.set_value(2,3); sp_budi.set_value(4,20); cout << "area ani : " << sp_ani.area(); cout << "area budi : " << sp_budi.area(); return 0; }
konstruktor Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new digunakan untuk membuat instan class Sifat konstruktor: Nama konstruktor sama dengan nama class Tidak memiliki nilai balik dan tidak boleh ada kata kunci void
Contoh code konstruktor public class Mobil { String warna; int tahunProduksi; public Mobil(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi; } public void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); Nama File : Mobil.java
Contoh code konstruktor public class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(“Merah”, 2003); mobilku.info(); } Nama File : MobilKonstruktor.java
LATIHAN Buat class Buku Buat class BukuBeraksi dan tampilkan 2 buku: Tentukan variable buku: judul, pengarang, penerbit, tahun Buat konstruktor class Buku dengan parameter: judul, pengarang, penerbit, tahun Buat method cetakBuku Buat class BukuBeraksi dan tampilkan 2 buku: Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams Publishing, 2007 Deitel & Deitel, Java How to Program 7th Edition, Prentice Hall, 2007
Karakteristik Pemrograman Berorientasi Objek ABSTRACTION ENCAPSULATION INHERINTANCE (Pewarisan) POLYMORPHISM
KARAKTERISTIK PBO : INHERITANCE Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Penting untuk Reusability Java Keyword: extends Sepeda Sepeda Balap Sepeda Santai Sepeda Roda 3
Polymorphism Kemampuan sebuah object untuk memiliki banyak bentuk. Penggunaan paling umum dari polymorphism terjadi ketika reference parent class digunakan untuk menunjuk ke child class.
Polymorphism Suatu object dapat memiliki berbagai bentuk Implementasi konsep polymorphism: Overloading: Penggunaan satu nama untuk beberapa method yang berbeda parameter Overriding: Terjadi ketika deklarasi method subclass persis sama dengan method dari superclassnya
Polymorphism Overriding terjadi pada class dengan inheritance. Example