- Enkapsulasi
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus menjaga program tersebut.
Dalam JAVA, dasar enkapsulasi adalah class. anda membuat suatu class yang menyatakan bahwa variable atau method sebuah class tidak dapat diakses oleh class lain dengan menjadikan class tersebut private, atau dengan menjadikan class tersebut protected, yaitu hanya bisa diakses oleh turunannya.
lain hal jika anda menggunakan class public, dalam hal ini dapat diakses oleh sembarang class karena bersifat umum.
Contoh program sederhana ENKAPSULASI :
import java.io.*;
public class lingkaran{
private double radius;
public lingkaran(double radius){
this.radius=radius;
}
public void Luas(){
double luas= 3.14*radius*radius;
System.out.println(“Luas lingkaran: “+luas);
}
public void Keliling(){
double keliling= 2.0*3.14*radius;
System.out.println(“Keliling Lingkaran: “+keliling);
}
public static void main(String[]args)throws Exception{
DataInputStream dis= new DataInputStream(System.in);
System.out.print(“input radius: “);
String input= dis.readLine();
double i= Double.parseDouble(input);
lingkaran A= new lingkaran(i);
A.Luas();
A.Keliling();
}
}
Contoh Outputnya :
Sumber referensi: http://setyonugroho09.wordpress.com/2010/02/17/konsep-enkapsulasiencapsulation-pada-object-oriented-programming-dengan-java/
- Inheritance
Di bawah ada contoh program inheritance, yang mana terdiri dari tiga kelas. Yang pertama yaitu Class Lingkaran, Class Tabung, dan Class Main. Class Lingkaran yaitu kelas induknya. Class Tabung yaitu kelas anaknya, yang mana dia mendapatkan sifat dari kelas lingkaran. Terakhir yaitu Class Main, kelas main ini adalah kelas untuk meng-kompile program, tanpa kelas main program tidak dapat dijalankan.
1. Class Lingkaran
2. Class Tabung
3. Class Main
Output Program:
- Polimorphisme
Methode overloading
Methode overriding dengan pewarisan
Di sini ada contoh program polimorfisme, yang mana di dalamnya terdapat Program Interface juga yang bisa sekalian sobat pelajari. Bentuk polimorfismenya bisa dilihat di Class Utama yang berwarna merah pada program di bawah ini.
Interface Poligon
interface Poligon {
// Deklarasi methode
double Luas();
double Keliling();
String displayInfo();
}
Save dengan nama file Poligon.java
Class Lingkaran
class Lingkaran implements Poligon {
// Deklarasi atribut
private double radius;
private final double PI = 3.14;
// Definisi method
// Konstruktor
public Lingkaran(double r) {
radius = r;
}
// Selector
public double getRadius() {
return radius;
}
// Definisi method dari kelas induk
public double Luas() {
return (PI*radius*radius);
}
public double Keliling() {
return (2*PI*radius);
}
public String displayInfo() {
return ( “Lingkaran”
+ “\no Jari-jari: ” + (float)getRadius()
+ “\no Luas : ” + (float)Luas()
+ “\no Keliling : ” + (float)Keliling() );
}
}
Save dengan nama file SegiEmpat.java
Class Segi Empat
class SegiEmpat implements Poligon {
// Deklarasi atribut
private double panjang, lebar;
// Definisi method
// Konstruktor
public SegiEmpat(double p, double l) {
panjang = p;
lebar = l;
}
// Selector
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
// Definisi method dari kelas induk
public double Luas() {
return (panjang*lebar);
}
public double Keliling() {
return (2*(panjang+lebar));
}
public String displayInfo() {
return ( “Segi Empat”
+ “\no Panjang : ” + (float)getPanjang()
+ “\no Lebar : ” + (float)getLebar()
+ “\no Luas : ” + (float)Luas()
+ “\no Keliling : ” + (float)Keliling() );
}
}
Save dengan nama file Segitiga.java
Class Segitiga
import java.lang.Math;
class SegiTiga implements Poligon {
// Deklarasi atribut
private double alas, tinggi;
// Definisi method
// Konstruktor
public SegiTiga(double a, double t) {
alas = a;
tinggi = t;
}
// Selector
public double getAlas() {
return alas;
}
public double getTinggi() {
return tinggi;
}
// Definisi method dari kelas induk
public double Luas() {
return (alas*tinggi)/2;
}
public double Keliling() {
double d;
d = (double)Math.sqrt((alas*alas)+(tinggi*tinggi));
return (alas+tinggi+d);
}
public String displayInfo() {
return ( “Segi Tiga”
+ “\no Alas : ” + (float)getAlas()
+ “\no Tinggi : ” + (float)getTinggi()
+ “\no Luas : ” + (float)Luas()
+ “\no Keliling : ” + (float)Keliling() );
}
public double getTinggi() {
return tinggi;
}
// Definisi method dari kelas induk
public double Luas() {
return (alas*tinggi)/2;
}
public double Keliling() {
double d;
d = (double)Math.sqrt((alas*alas)+(tinggi*tinggi));
return (alas+tinggi+d);
}
public String displayInfo() {
return ( “Segi Tiga”
+ “\no Alas : ” + (float)getAlas()
+ “\no Tinggi : ” + (float)getTinggi()
+ “\no Luas : ” + (float)Luas()
+ “\no Keliling : ” + (float)Keliling() );
}
}
Save dengan nama file Lingkaran.java
Class Utama
// Program utama
class TesPoligon {
public static void main(String args[]) {
// Deklarasi array
Poligon p[] = new Poligon[4];
SegiEmpat se = new SegiEmpat(17,8);
SegiTiga sg = new SegiTiga(21,4);
Lingkaran lg = new Lingkaran (10);
Lingkaran lh = new Lingkaran (7);
//bentuk polimorfisme
p[0] = se;
p[1] = sg;
p[2] = lg;
p[3] = lh;
Lingkaran x = new Lingkaran(8);
// Display informasi
for (int i=0; i < p.length; i++) {
System.out.println(“\n”+p[i].displayInfo());
}
}
}
Save dengan nama file TesPoligon.java
Cara menjalankan program :
1. Save semua file di atas
2. Jalankan satu persatu filenya terlebih dahulu
3. Apabila sudah jalan semua jalankan program utama TesPoligon.java
Output Program:
Jadi intinya pada program di atas adalah Class Poligon mempunyai bentuk bentuk banyak dari class segitiga, class segi empat dan kelas lingkaran.
Sumber referensi: http://top-ilmu.blogspot.com/2012/11/contoh-program-java-polimorfisme.html
- Package
Pengertian package adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya. Pengertian package adalah sebuah sarana untuk mengelompokan atau mengorganisasikan kelas dan interface yang sama atau sekelompok menjadi satu unit tunggal dalam library.
Secara fisik, package dapat berupa folder yang berisi file file/kelas interface/enum lain yang kegunaannya hampir sama sehingga patut untuk dikelompokan.
Package mempengaruhi mekanisme hak akses ke kelas didalamnya.
Mengatur kelas ke dalam paket.
Setiap kelas Java akan diletakkan (dikelompokkan) ke dalam paket. Kelas-kelas tersebut diletakkan ke dalam paket saat program sumber Java (Java source program) dikompilasi. Untuk meletakkan sebuah kelas hasil kompilasi ke dalam paket yang dituju, Anda dapat menyertakan pernyataan package diikuti nama paket di program sumber Java. Pernyataan package yang diikuti nama peket adalah pernyataan Java yang paling pertama. Berikut ini adalah sintak pernyataan package untuk meletakkan hasil kompilasi ke dalam paket:
package nama-paket;
Sumber referensi: http://arraydalamprogram.blogspot.co.id/2010/06/package-dalam-bahasa-pemograman-java.html
No comments:
Post a Comment