16 August 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 !

4 comments:

  1. http://nontonline.xyz/watch/movie/Spectre-2015-Subtitle-Indonesia

    ReplyDelete
  2. http://nontonline.xyz/watch/movie/Crows-Zero-3-:-Explode-2014

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete