•Sistem Package
adalah
cara yang dipakai
pada Java
untuk mengatur bagaimana
class-class disusun
secara
lebih
terstruktur
•Tujuannya adalah untuk
menyediakan kontrol akses yang
aman terhadap class-class
tersebut
•Secara fisik, class-
class disimpan
ke
dalam
folder-folder sesuai
susunan package yang dibuat
•Sebuah
package dapat
dibuat
dengan
menggunakan
keyword package yang dituliskan sebagai statement pertama pada kode program
package
namaPackage;
Contoh :
package
programku;
class
CobaSaja{
//contoh
class
}
•Artinya
class CobaSaja
berada
di dalam
package dengan
nama
“programku”,
dimana
secara
fisik
class CobaSaja
akan
tersimpan pula pada sebuah folder dengan nama yang sama dengan nama package
Ilustrasi :
Contoh pada class Gelas (8.3a)
Nama file: Gelas.java
package
programku;
public
class Gelas{
public float tinggi;
public float diameter;
public boolean
kosong;
public String warna;
public boolean
pegangan;
public Gelas(){
}
public void diisi(){
this.kosong
= false;
System.out.println("gelas
penuh");
}
public void diminum(){
this.kosong
= true;
System.out.println("gelas
kosong");
}
public void dipecahkan(){
this.tinggi
= 0f;
this.diameter
= 0f;
this.kosong
= true;
System.out.println("gelas
pecah");
}
public double isiMaksimum(){
final float phi = 3.14f;
float jari
= this.diameter
/ 2;
double isi
= phi*(jari*jari)*this.tinggi;
return isi;
}
}
import
programku.Gelas;
class
Aplikasi{
public static void main(String
args[]){
Gelas
minum
= new Gelas();
Gelas
cangkir
= new Gelas();
minum.tinggi
= 12.4f;
minum.diameter
= 6.0f;
minum.kosong
= true;
minum.warna
= "Transparan";
minum.pegangan
= false;
cangkir.tinggi
= 7.5f;
cangkir.diameter
= 6.5f;
cangkir.kosong
= true;
cangkir.warna
= "Putih";
cangkir.pegangan
= true;
System.out.println(cangkir.warna);
final float phi = 3.14f;
float jari
= minum.diameter
/ 2;
double isi
= phi * (jari * jari)
*
minum.tinggi;
System.out.println(isi);
minum.diminum();
isi
= cangkir.isiMaksimum();
System.out.println(isi);
}
}
Penjelasan:
•Keyword public digunakan
pada
awal
nama
class Gelas,
property dan
function agar dapat diakses oleh class-class atau
aplikasi
lain di luar
package “programku" Tanpa
penggunaan
keyword public, Class Gelas tersebut beserta property maupun function-
nya hanya dapat diakses dari
dalam package yang
Sama, yaitu package programku”
Class
Gelas
(8.4a)
Nama file : Gelas.java
package
programku;
class
Gelas{
float tinggi;
float diameter;
boolean
kosong;
String warna;
boolean
pegangan;
Gelas(){
}
void diisi(){
this.kosong
= false;
System.out.println("gelas
penuh");
}
void
diminum(){
this.kosong
= true;
System.out.println("gelas
kosong");
}
void dipecahkan(){
this.tinggi
= 0f;
this.diameter
= 0f;
this.kosong
= true;
System.out.println("gelas
pecah");
}
double isiMaksimum(){
final float phi = 3.14f;
float jari
= this.diameter
/ 2;
double isi
= phi*(jari*jari)*this.tinggi;
return isi;
}
}
Class
Aplikasi
(8.4b) Nama file:
Aplikasi.java
package
programku;
class
Aplikasi{
public static void main(String args[]){
Gelas
minum
= new Gelas();
Gelas
cangkir
= new Gelas();
minum.tinggi
= 12.4f;
minum.diameter
= 6.0f;
minum.kosong
= true;
minum.warna
= "Transparan";
minum.pegangan
= false;
cangkir.tinggi
= 7.5f;
cangkir.diameter
= 6.5f;
cangkir.kosong
= true;
cangkir.warna
= "Putih";
cangkir.pegangan
= true;
System.out.println(cangkir.warna);
final float phi = 3.14f;
float jari
= minum.diameter
/ 2;
double isi
= phi * (jari * jari)
* minum.tinggi;
System.out.println(isi);
minum.diminum();
isi
= cangkir.isiMaksimum();
System.out.println(isi);
}
}
Bandingkan
program 8.3
dan
8.4, kemudian
dianalisa
•Keyword
static dapat
digunakan
pada
property
maupun
function
•Penggunaannya memberikan
efek yang berbeda pada
property maupun function
•Secara
umum, property
maupun function yang bersifat
static akan
dapat
diakses
secara
langsung
lewat
nama
class-nya
tanpa
perlu
membuat
objek
terlebih
dahulu
•Program
8.5
class
Zakat{
static final float persen
=
2.5f / 100;
static double uang;
static double hitung(){
return persen
* uang;
}
}
class
Bayar{
public static void main(String
args[]){
Zakat.uang
= 5000;
double besar
= Zakat.hitung();
System.out.println(besar);
}
}
•Pada contoh kode di atas,
kita tidak perlu membuat
objek
dari class Zakat
•Property
dan
function di
dalam
class Zakat dapat
digunakan
tanpa
harus
membuat
objeknya
terlebih
dahulu
•Sedangkan secara
khusus
pada property, nilai dari
property yang bersifat
static
akan
memiliki
nilai
yang sama
untuk
setiap
objeknya,
sehingga
merubah
nilai
property static pada satu
objek akan merubah nilainya
pada objek yang lain
•Program
8.6
class
Sepatu{
static long harga;
String kaki;
}
class
Jual{
public static void main(String args[]){
Sepatu kiri
= new Sepatu();
Sepatu kanan
= new Sepatu();
kiri.kaki
= "Kiri";
kanan.kaki
= "Kanan";
System.out.println(kiri.kaki);
kiri.harga
= 5000;
kanan.harga
= 7900;
System.out.println(kiri.harga);
}
}
Nama siswa- file-package
Contoh
: harry-package.rar