Menggunakan paket dan interface
Pada beberapa postingan yang lalu telah disinggung tentang package atau paket. Packages dalam JAVA berarti pengelompokan beberapa class dan interface dalam satu unit. Fitur ini menyediakan cara untuk mengatur class dan interface dalam jumlah banyak, dan menghindari kekacauan pada penamaan class dan file.
Kalau kalian cermati contoh 8.4 pada sub label terdahulu, sebenarnya kita telah menggunakan konsep package ini secara tidak langsung. Pada contoh tersebut kita menggunaka pernyataan import untuk menggunakan kelas-kelas yang ada pada paket Java.IO. Java menyediakan banyak paket yang telah dibuat oleh tim pengembang java. Paket-paket ini dapat kita gunakan untuk mempermudah pemrograman.
Cara membuat paket cukup mudah, kita tinggal menggunakan kata kunci package diikuti dengan nama paket yang kita inginkan atau seperti berikut:
package NamaPaket;
NamaPaket adalah nama paket yang kita akan gunakan untuk menyimpan file kode program dan file hasil kompilasi. Java menggunakan sistem direktori untuk menyimpan paket yang dibuat. Apabila kita membuat paket dengan nama PaketBangun, maka kita harus membuat direktori dengan nama yang sama persis yaitu PaketBangun. Dan file paket serta kelas-kelas dalam satu paket tersebut harus kita simpan pada direktori tersebut. Perhatikan contoh berikut.
Contoh 8.33. Pembuatan paket.
Pada halaman ini kita akan membuat paket yang merupakan modifikasi dari contoh 8.32. Nama paket yang ingin kita buat adalah PaketBangun yang mempunyai tiga anggota kelas yaitu: kelas BujurSangkar, Segitiga, dan Lingkaran. Untuk tahap awal, buatlah direktori dengan nama PaketBangun (pada contoh ini, direktori ini kita letakkan di D:\TestCode\Java\PaketBangun ). Kemudian secara berturut-turut buatlah kode program berikut dan simpan dengan nama sesuai nama kelasnya pada direktori PaketBangun. Perhatikan pada awal kode kelas selalu diawali pernyataan package PaketBangun;. Hal ini menunjukkan bahwa kelas tersebut merupakan anggota dari PaketBangun.
File: BujurSangkar.java
package PaketBangun;
class BujurSangkar extends Bangun {
private double sisi;
public BujurSangkar(int s) {
sisi = s;
}
public double hitungLuas() {
double luas = sisi * sisi;
return luas;
}
}
File: Segitiga.java
package PaketBangun;
class Segitiga extends Bangun {
private double alas;
private double tinggi;
public Segitiga (int a, int t) {
alas = a;
tinggi = t;
}
public double hitungLuas() {
double luas = 0.5 * alas * tinggi;
return luas;
}
}
File: Lingkaran.java
package PaketBangun;
class Lingkaran extends Bangun {
private double jarijari;
private final double PI = 3.1416;
public Lingkaran(int r) {
jarijari = r;
}
public double hitungLuas() {
double luas = PI * jarijari * jarijari;
return luas;
}
}
Setelah itu, lakukan pengaturan classpath seperti terlihat pada sub label awal. Dan, lakukan kompilasi pada ketiga file tersebut di atas, sehingga akan diperoleh hasil file seperti gambar 8.18.
Setelah kompilasi berhasil, buatlah file baru di direktori D:\TestCode\Java, misalnya dengan nama PakaiPaketBangun.java. Kemudian ketikkan kode berikut ini pada file tersebut. Kompilasi dan jalankan kode program tersebut.
//import seluruh kelas pada PaketBangun
import PaketBangun.*;
class PakaiPaketBangun {
public static void main(String[] args) {
BujurSangkar b = new BujurSangkar(12);
Segitiga s = new Segitiga(5, 6);
Lingkaran l = new Lingkaran(4);
System.out.println("Luas bujursangkar : " +
b.hitungLuas());
System.out.println();
System.out.println("Luas segitiga : " +
s.hitungLuas());
System.out.println();
System.out.println("Luas lingkaran: " +
l.hitungLuas());
System.out.println();
}
}
Perhatikan cara penulisan untuk memanggil paket. Jika kita hanya membutuhkan kelas Lingkaran saja, maka perlu menuliskan import PaketBangun.Lingkaran;. tetapi jika kita butuh semua kelas, maka kita menuliskan dengan cara import PaketBangun.*;. Jika kita jalankan perintah ini maka hasilnya akan sama persis dengan contoh 8.33. Perbedaannya adalah pada contoh 8.32 kelas-kelas berada pada satu file, sedangkan pada contoh 8.33 kelas-kelas berada pada filenya masing-masing dan baru dikelompokkan dengan menggunakan package.
Interface atau antar muka pada bahasa pemrograman Java sangat mirip dengan kelas, tapi tanpa atribut kelas dan memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface dapat diimplementasikan oleh kelas lain. Sebuah kelas dapat mengimplementasikan lebih dari satu interface. Metode pada interface yang diimplementasikan pada suatu kelas harus sama persis dengan yang ada pada interface. Interface digunakan, jika kita ingin kelas yang tidak berhubungan mengimplementasikan method yang sama. Perhatikan contoh berikut ini.
Contoh 8.34. Pembuatan interface.
interface Bentuk {
public double luas();
public double volume();
}
Pada contoh ini kita membuat sebuah interface dengan nama Bentuk yang mempunyai dua method yaitu luas() dan volume(). Perhatikan penulisan interface. Kedua method yang ada dideklarasikan tanpa isi. Kita dapat menggunakan interface ini untuk membuat kelas baru dan mengimplementasikan interface ini dalam kelas tersebut. Perhatikan contoh berikut ini.
Contoh 8.34. Penggunaan interface.
class Kubus implements Bentuk {
int x = 10;
public double luas( ) {
return (6 * x * x);
}
public double volume() {
return (x * x * x);
}
}
class Lingkaran implements Bentuk {
int radius = 10;
public double luas() {
return (Math.PI * radius * radius);
}
public double volume() {
return 0;
}
}
Halaman Terkait:
| Aplikasi pemrograman berorientasi obyek dengan java | Pembuatan kelas | Penerapan inheritance | Penerapan overriding dan overloading | Penerapan polymorphism |
Post a Comment