Kamis, 16 Agustus 2012

Contoh Program Konsep OOP dalam java














Nah sekarang saya akan sedikit share Program JAVA .

Yakni contoh program yg di dalamnya ada konsep OOP , yakni ada inherintance

pollimorphism dan encapsulation.

Jika ingin contoh program java OOP yang lebih sederhana Klik Disini.

Script di bawah ini sudah ada sedikit sedikit penjelasan .

langsung cekidot .........................





package main;

import java.io.BufferedReader;
import java.io.InputStreamReader;

/*
* Gandhix Gandshare
* creator : ANDIK SETYAWAN
* NIM : 111201169
*/
public class BangunDatar {

BangunDatar (){
//konstruktor default
}

//method hitung dari kelas induk
public void hitung (){
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
double l = 0,s=0;
try {

System.out.println ("Masukkan nilai s :");
s = Integer.parseInt(bfr.readLine());

} catch (Exception e) {
// TODO: handle exception
}
l = s*s;
System.out.println ("Luas = " +l);
}
}



package main;

import java.io.BufferedReader;
import java.io.InputStreamReader;
//extends=keyword inheritance
public class LuasLingkaran extends BangunDatar {

public void hitung (){
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
double r = 0,l=0;
System.out.println ("\n===========Menghitung Luas lingkaran==============");
try {

System.out.println ("Masukkan nilai r (jari-jari) LINGKARAN:");
r = Integer.parseInt(bfr.readLine());

} catch (Exception e) {
// TODO: handle exception
}
l = 3.14*r*r;
System.out.println ("Luas Lingkaran = " +l);


}

}



package main;

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class PersegiPanjang extends BangunDatar {

public void hitung (){
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
double p = 0,l=0,le=0;
System.out.println ("\n===========Menghitung Luas Persegi Panjang==============");
try {

System.out.println ("Masukkan nilai Panjang :");
p = Integer.parseInt(bfr.readLine());
System.out.println ("Masukkan nilai Lebar :");
le = Integer.parseInt(bfr.readLine());

} catch (Exception e) {
// TODO: handle exception
}
l = p*le;
System.out.println ("Luas Persegi Panjang = " +l);


}

}



package main;

public class Persegi extends BangunDatar {
//tidak mendeklarasikan apa .. maksud ada di bawah
}



package main;

public class Penghitung {
/*membuat objek private tidak
* sehingga tidak dapat di akses dari kelas lain
* inilah yang di sebut enkapsulasi
*/

private BangunDatar bangundatar ;
/* dan supaya bisa di akses kelas lain
* di buatlah method/fungsi setter getter di bawah ini*/
public BangunDatar getBangundatar() {
return bangundatar;
}
public void setBangundatar(BangunDatar bangundatar) {
this.bangundatar = bangundatar;
}
public void mengitung (){
bangundatar.hitung();//memanggil method /fungsi hitung
}


}



package main;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class TesterMain {

/**
* @GANDHIX
*/
public static void main(String[] args) {
LuasLingkaran luasLingkaran = new LuasLingkaran();// membuat object baru
PersegiPanjang persegiPanjang = new PersegiPanjang();
Persegi persegi = new Persegi();
Penghitung penghitung = new Penghitung();
int pil = 0;
BufferedReader bfr = new BufferedReader(new InputStreamReader(System.in));
while (pil!= 10){
System.out.println("\n \n ================================MENU===============================");
System.out.println("1.Luas Lingkaran ");
System.out.println("2.Persegi Panjang ");
System.out.println("3.Persegi");
System.out.println("Pilihan 1-3 :");
try {
pil = Integer.parseInt(bfr.readLine());
if (pil == 1){
penghitung.setBangundatar(luasLingkaran);
penghitung.mengitung();
/* pollimorfism , yg membedakan di "penghitung.setBangundatar(luasLingkaran);"
dengan parameter (luasLingkaran) sesuai pembentukan objek baru d diatas*/
}
else if (pil == 2){
penghitung.setBangundatar(persegiPanjang);
penghitung.mengitung(); // pollimorfism
}

else if (pil == 3){
System.out.println ("\n===========Menghitung Luas Persegi ==============");
penghitung.setBangundatar(persegi);
penghitung.mengitung(); // pollimorfism
}
/*Ketika di jalankan opsi No 3 . Tentu program akan memproses menghitung luas persegi
* padahal di class Persegi sendiri , tidak ada deklarasi apapun.
* nah inilah yang di maksud inheritance ,
* bahwa class persegi di warisi dari sifat kelas induk BngunDatar
*/
else {
System.out.println ("Opsi salah .!!!");

}
} catch (NumberFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}



Dan jika ingin langsung

download (file *.java) Klik Disini  (media fire link )

pass : gandshare.blogspot.com



Semoga Bermanfaat ,, salam sukses !



Tidak ada komentar:

Posting Komentar