Rabu, 23 Desember 2009

Konsep OOP

Object Oriented Programming adalah inti dari pemrograman Java.
Semua program Java merupakan objek, beberapa ciri dari pemrograman berorientasi objek adalah abstraction, encapsulation, inheritance dan polymorphism.

Abstraction (abstraksi)
adalah suatu cara untuk melihat suatu objek dalam bentuk yang lebih sederhana.
contoh : Mobil terdiri atas berbagai subsistem antara lain :
- subsistem kemudi,
- subsistem pengereman dll.

Encapsulation (pembungkusan) adalah menyembunyikan bagaimana sesuatu itu bekerja.
contoh : Sistem transmisi sebuah mobil, ada perpindahan percepatan dari
gigi satu ke gigi dua, dimana cara bekerjanya pertambahan percepatan tidak kelihatan.
contoh : pada remote AC waktu ditekan perubahan suhu, tidak kelihatan
cara kerjanya, yang kelihatan hanya hasil dingin.

Inheritance (pewarisan) adalah merupakan konsep mewariskan attribute atau
method yang dimiliki oleh sebuah kelas kepada kelas turunannya.
contoh : Mobil (super kelas) ===> Mobil balap (sub kelas).

Polimorphism (polimorfisme) adalah kemampuan suatu objek untuk
mengungkap banyak hal melalui satu cara yang sama.
Contoh terdapat kelas A yang diturunkan menjadi kelas B, C dan D.
Dengan konsep polimorfisme, kita dapat menjalankan method-method
yang terdapat pada kelas B, C dan D hanya dari objek yang diinstansiasi
dengan kelas A.
contoh : pada " tombol play " bisa untuk menjalankan
- play VCD
- play tape
- play radio



Method


Kelas berisi kumpulan data dan method, yang saling bekerja sama dalam melakukan tugas-tugas spesifik tertentu sesuai perilaku objek yang dimodelkan.

Dalam Java Method dibagi menjadi dua yaitu Void dan Non void.
Method Void adalah method yang tidak mengembalikan nilai, tipe data kembalian harus diisi dengan kata kunci void.
Method void cara kerjanya sama seperti sebuah prosedur.

Method Non Void adalah method yang mengembalikan nilai, method non void memiliki cara kerja seperti function.

Dan apabila method yang kita buat ditujukan untuk mengembalikan suatu nilai tertentu, maka didalam method tersebut harus terdapat statemen return.


Contoh method :

LatihanModifikasiMatematikaJava.java
----------------------------------------


package PernyataanPengulanganProses;


class LatihanModifikasiMatematikaJava {

int pertambahan(int a, int b ) {
System.out.println("Hasil Pertambahan antara "+a+
" dan "+b+" adalah "+(a+b));
return a + b ;
}

int pengurangan(int a, int b ) {
System.out.println("Hasil Pengurangan antara "+a+
" dan "+b+" adalah "+(a-b));
return a-b;
}

float perkalian(int a, int b ) {
System.out.println("Hasil Perkalian antara "+a+
" dan "+b+" adalah "+(a*b));
return a*b;
}

float pembagian(float a, float b ) {
System.out.println("Hasil Pembagian antara "+a+
" dan "+b+" adalah "+(a/b));
return a/b;
}
}



ModifikasiMatematikaBeraksi.java
---------------------------------------


package PernyataanPengulanganProses;

import Operasi_I_O_StreamSederhana.InputKeyboard;

class ModifikasiMatematikaBeraksi {

public static void main(String[] args) {
System.out.println(" MENU APLIKASI MATEMATIKA ");
System.out.println();
System.out.println(" 1. PERTAMBAHAN ");
System.out.println(" 2. Pengurangan ");
System.out.println(" 3. Pembagian ");
System.out.println(" 4. Perkalian ");
System.out.println();
System.out.println(" PILIH MENU = ");

String dataString;

dataString = InputKeyboard.inputString();
int pilih = Integer.valueOf(dataString).intValue();

System.out.println("Masukkan Angka Pertama = ");
dataString = InputKeyboard.inputString();
int a = Integer.valueOf(dataString).intValue();

System.out.println("Masukkan Angka Kedua = ");
dataString = InputKeyboard.inputString();
int b = Integer.valueOf(dataString).intValue();

LatihanModifikasiMatematikaJava matematikaku = new LatihanModifikasiMatematikaJava();


switch (pilih) {
case 1:

matematikaku.pertambahan(a,b);
break;
case 2:
matematikaku.pengurangan(a,b);
break;
case 4 :
matematikaku.perkalian(a,b);
break;
case 3:
matematikaku.pembagian(a,b);
break;
default:
System.out.println("Pilih 1, 2, 3 & 4");
}


}
}


Contoh Method Void : yaitu method yang tidak mengembalikan nilai.

Program :
-------------

class Segitiga {
double alas;
double tinggi;

void luasSegitiga() {
System.out.println(" Luas Segitiga = "+ (0.5 * alas * tinggi) );
}
}

class MethodBeraksi {
public static void main(String[] args) {
Segitiga s1, s2, s3;

s1 = new Segitiga();
s2 = new Segitiga();
s3 = new Segitiga();

s1.alas = 20;
s1.tinggi = 10;

s2.alas = 30;
s2.tinggi = 40;

s3.alas = 20;
s3.tinggi = 30;


s1.luasSegitiga();
s2.luasSegitiga();
s3.luasSegitiga();

}
}



Contoh Method Non Void : yaitu method yang mengembalikan nilai.

Program :
-------------

class Segitiga {
double alas;
double tinggi;

double luasSegitiga() {
double luas = 0.5 * alas * tinggi;
return luas;
}
}

class MethodBeraksi {
public static void main(String[] args) {
Segitiga s1, s2, s3;

s1 = new Segitiga();
s2 = new Segitiga();
s3 = new Segitiga();

s1.alas = 10;
s1.tinggi = 6;

s2.alas = 20;
s2.tinggi = 10;

s3.alas = 30;
s3.tinggi = 14;


System.out.println(" Luas s1 = "+ s1.luasSegitiga() );
System.out.println(" Luas s1 = "+ s2.luasSegitiga() );
System.out.println(" Luas s1 = "+ s3.luasSegitiga() );

}
}


















Pengetahuan

Martin & Oxman (1988).


Pengetahuan merupakan kemampuan untuk membentuk model mental yang menggambarkan obyek yang tepat dan mempresentasikannya dalam aksi yang dilakukan terhadap suatu obyek.


Pengetahuan Prosedural lebih menekankan pada bagaimana melakukan sesuatu.
Pengetahuan Deklaratif menjawab pertanyaan apakah sesuatu bernilai benar atau salah.
Pengetahuan Tacit merupakan pengetahuan yang tidak dapat diungkapkan dengan bahasa.