OBJECT ORIENTED PROGRAMMING in JAVA
1. Kompleksitas program yang semakin rumit FAKTOR PENDORONG OOP 1. Kompleksitas program yang semakin rumit 2. tahap pengembangan+maintenance juga menjadi lebih rumit IDE DASAR mengkombinasikan data & fungsi untuk diakses menjadi sebuah kesatuan unit Obyek 1 Obyek 2 Data 1 Fungsi anggota Data 2 Data 1…… Fungsi 1…… Data 2…. Fungsi2……
KEUNGGULAN OOP Kecepatan ( reusable ) Produktifitas Kemudahan maintenance Kualitas
Karakteristik OOP Encapsulation (pengkapsulan) Inheritance (pewarisan) Polymorfisme Penjelasan Encapsulation Information Hiding pengemasan data & fungsi dlm suatu object. Memisahkan aspek – aspek eksternal obyek yang dapat diakses dari rincian implementasi internal [Bambang Hariyanto]
POLYMORPHISME Sesuatu yg sama dapat memiliki bentuk dan perilaku yg berbeda Contoh: float Luas(p,l ); utk bujur sangkar float Luas( r); utk lingkaran INHERINTANCE mendefinisikan suatu kelas & kemudian menggunakannya untuk membangun suatu hirarki kelas turunan, yang mana masing – masing kelas turunan mewarisi sifat kelas dasarnya. contoh : hub bapak dan anak
Kelas (Class) Kelas merupakan bentuk logis yang menjadi landasan seluruh bahasa berorientasi obyek Kelas mendefinisikan bentuk & perilaku obyek Kelas merupakan blue print obyek Analogi = cetakan roti(class) menciptakan banyak roti(obyek)
Obyek Obyek representasi dari sesuatu di dunia nyata ( touchable , untouchable) Elemen penting dalam pemahaman OOP Siklus : diciptakan , digunakan, dihancurkan Punya dua karakteristik : state & behaviour
Contoh 1: Anjing State : nama, ras, warna bulu Behaviour: galak , makan banyak Mobil Data : tipe, produsen, warna, plat metode: Cara menghidupkan, cara memindah persneling Persegi panjang data: panjang , lebar Method: mendapatkan nilai panjang & lebar,hitung luas & keliling
Penting : kemampuan mengidentifikasi state + behaviour dari setiap obyek adalah langkah awal untuk mengerti OOP Dalam OOP Data lebih sering disebut sebagai atribut / field
Konstruktor Adl sebuah method yang namanya sama dengan nama kelasnya: Berfungsi untuk memberikan nilai awal saat obyek diciptakan Ciri konstruktor: Namanya sama dengan kelasnya Tidak memiliki nilai balik (tidak menggunakan “void”)
Pemrograman OOP Langkah – langkah pemrograman Buat class Tentukan datanya (state)private Buat konstruktor public Tentukan method (behaviour) public Buat method main ciptakan object lewat proses instant
Contoh Kasus Program informasi data merek mobil,warna & tahun produksi sebuah mobil. Analisa : Data/atribut : merek,warna,tahun produksi Method: bagaimana menampilkan informasi merek,warna,tahun produksi
class Mobil { //variabel instant private String merek; private String warna; private int tahunprod; //konstruktor public Mobil(String mrk,String wrn,int thnprod) { this.merek=mrk; this.warna=wrn; this.tahunprod=thnprod; }
//method public void tampilData() { System.out.println("=======DATA MOBIL========="); System.out.println("Merek mobil : "+ this.merek); System.out.println("Warna : "+ this.warna); System.out.println("Tahun produksi : "+this.tahunprod); System.out.println(""); } } //end of class public class dataMobil{ //untuk nama file public static void main(String[] args){ //instant obyek Mobil car1=new Mobil("Kijang Innova" ,"Hitam",2005); car1.tampilData();