15 Mei 2009

Konsep Penggunaan Package pada java

Package adalah sarana/cara pengelompokkan dan pengorganisasian kelas-kelas dan interface yang sekelompok menjadi suatu unit tunggal dalam library.

Package adalah koleksi dari beberapa class dan interface yang berhubungan dan menyediakan proteksi akses dan pengelolaan namespace. Dalam satu package terdiri dari satu subfolder di file system. Package juga mempengaruhi mekanisme hak akses ke kelas-kelas di dalamnya. Package sangat berguna untuk mengorganisir file dalam suatu project atau library. Nama package menggunakan lowercases dan menggunakan kata kunci (keyword) package name misalnya package kelasku.

Pengaruh Package terhadap Method main()

Kelas yang mengandung method main() memilki syarat tidak berada dalam suatu package, dan hirarki posisi foldernya di atas package yang diimport.

Membuat Package

Ada tiga langkah untuk membuat package :

1. Mendeklarasikan dan memberi nama package.

2. Membuat struktur dan nama direktori yang sesuai dengan struktur dan nama package.

3. Mengkompilasi kelas-kelas sesuai dengan packagenya masing-masing.

Mendeklarasikan dan Memberi Nama Package

Deklarasi package harus diletakkan pada bagian paling awal (sebelum deklarasi import) dari source code setiap kelas yang dibungkus package tersebut.

Bentuk umum deklarasi package :

package namaPackage;

Deklarasi tersebut akan memberitahukan kompilator, ke library manakah suatu kelas dikompilasi dan dirujuk.

Syarat nama package :

1. Diawali huruf kecil

2. Menggambarkan kelas-kelas yang dibungkusnya

3. Harus unik (berbeda dengan nama package standard)

4. Merepresentasikan path dari package tersebut.

5. Harus sama dengan nama direktorinya.

Contoh package standard :

java.lang (berisi kelas-kelas fundamental yang sering digunakan).

java.awt dan javax.swing (berisi kelas-kelas untuk membangun aplikasi GUI)

java.io (berisi kelas-kelas untuk proses input output)

Membuat Struktur Direktori

Pada langkah ini, buatlah direktori menggunakan file manager (di windows menggunakan explorer) sesuai struktur package dari langkah sebelumnya. Kemudian tempatkan kelas-kelas tersebut ke direktori yang bersesuaian (mirip seperti menyimpan file-file ke dalam folder).

Package dapat bersarang di package lain, sehingga dapat dibuat hirarki package.

Bentuk umum pernyataan package multilevel :

package namaPackage1[.namaPackage2[.namaPackage3]];

Contoh hirarki package di JDK :

package java.awt.image;

Compile dan Run Kelas dari suatu Package

Selanjutnya masing-masing kelas tersebut dalam package tersebut dikompilasi menjadi byte code (*.class). Artinya package tersebut siap digunakan.

Menggunakan Package

Ada dua cara menggunakan suatu package yaitu :

1. Kelas yang menggunakan berada dalam direktori (package) yang sama dengan kelas-kelas yang digunakan. Maka tidak diperlukan import.

2. Kelas yang menggunakan berada dalam direktori (package) yang berbeda dengan kelas-kelas yang digunakan. Maka pada awal source code di kelas pengguna harus mencantumkan :

import namaPackage.NamaKelas; atau

import namaPackage.*;

Contoh :

import java.text.DecimalFormat;

import javax.swing.*;

Setting Classpath

Path hirarki package, didaftarkan sebagai salah satu nilai variabel lingkungan yang bernama Classpath.

Classpath diset dengan aturan : berawal dari drive (C:\ atau D:\) sampai dengan satu tingkat sebelum kita mendeklarasikan package.

Berikutnya contoh mengenai Package yang terdiri dari 4 class.

1. Class pertama menggambarkan anak pertama (sulung)

2. Class kedua menggambarkan anak kedua

3. Class ketiga menggambarkan anak ketiga (bungsu)

4. Class keempat menggambarkan keluargaku

Buat dalam project yang sama dengan di atas, kemudian buat class baru dengan nama Sabil dan package dengan nama anakku.

package anakku;

/**

*

*@author Agus Nugroho

*/

public class sabil {

public class info(){

System.out.println(“Anakku yang Sulung adalah Sabil”);

System.out.println(“Usianya 16 tahun”);

System.out.println(“Sekarang kelas 10 SMK”);

}

}

Berikutnya buat class baru dengan nama nabil dan package dengan nama yang sama, yaitu anakku.

package anakku;

/**

*

*@author Agus Nugroho

*/

public class nabil {

public class info(){

System.out.println(“Anakku yang Kedua adalah Nabil”);

System.out.println(“Usianya 13 tahun”);

System.out.println(“Sekarang kelas 7 SMP”);

}

}

Berikutnya buat class baru dengan nama ababil dan package dengan nama yang sama, yaitu anakku.

package anakku;

/**

*

*@author Agus Nugroho

*/

public class ababil {

public class info(){

System.out.println(“Anakku yang Ketiga adalah Ababil”);

System.out.println(“Usianya 11 tahun”);

System.out.println(“Sekarang kelas 5 SD”);

}

}

Berikutnya membuat class baru dengan nama Keluargaku dan nama package lain dengan nama keluarga tetapi tetap dalam satu project dan di bawah package keluarga tambahkan import anakku.* .

package keluarga;

import anakku*;

/**

*

*@author Agus Nugroho

*/

public class keluargaku {

public static void main(String[]args){

Sabil objectSabil= newSabil();

objectSabil.info();

Nabil objectNabil= newSNabil();

objectNabil.info();

Ababil objectAbabil= newAbabil();

objectAbabil.info();

}

}

Tidak ada komentar: