PENDAHULUAN Pada contoh-contoh sebelumnya, kita selalu membuat class dengan nama yang berbeda-beda. Ini karena kita mendefinisikan semuanya di dalam name space yang sama. Jika ini terus dilakukan, suatu saat mungkin kita akan kehabisan nama yang cocok yang dapat digunakan sebagai nama class (dan juga Interface yang akan dibahas pada bab ini). Selain itu, tidak ada jaminan bahwa nama tersebut belum digunakan oleh orang lain (programmer) atau bahkan mungkin telah digunakan oleh Standard Library Java sendiri, sehingga tidak dapat digunakan lagi. Oleh karena itu, Java memperkenalkan suatu cara untuk mengelompokkan class dan interface yang ada ke dalam kelompoknya (name space) masing-masing, sehingga lebih mudah diatur dan memungkinkan penggunaan nama yang sama. Mekanisme ini di dalam Java disebut package. Package menjamin bahwa nama yang digunakan tetap unik. Selain itu, untuk mengontrol visibility class atau interface yang ada di dalamnya. Kita dapat mengontrol apakah suatu class atau interface dapat digunakan di luar package-nya atau tidak. Class dan interface yang tidak mendefinisikan package akan disimpan di dalam default package yang tidak mempunyai nama. Walaupun penggunaan default package kelihatannya telah mencukupi untuk contoh-contoh class dan interface yang pendek dan sederhana. Namun, dalam aplikasi Java sebenarnya, cara ini tidak disarankan, terlebih lagi jika kita akan membuat class dan interface yang jumlahnya banyak. Oleh karena itu, hampir setiap saat kita akan menulis definisi package ini di setiap class atau interface yang dibuat nantinya.
121
122
Kriteria Penilaian Keberhasilan Anda dalam menguasai bab ini diukur berdasarkan kriteria kemampuan sebagai berikut : 1. Menjelaskan perbedaan package dengan class 2. Mendeklarasikan package 3. Menggunakan package 4. Dapat menerapkan package dalam program Java
Sumber Pustaka 1. Abdul Kadir, 2005, Dasar Pemrograman Java 2, Andi, Yogyakarta. 2. Herbert Schildt, 2005, Java : A Beginners Guide, Third Edition, McGrawHill/Osborne, United States of America. 3. Herbert Schildt, Patrick Naughton , 1999, Java 2 : The Complete Reference, Fourth Edition, McGraw-Hill/Osborne, United States of America. 4. Indrajani, S.Kom., MM., Martin, S.Kom., 2007, Pemrograman Berorientasi Objek dengan Bahasa Java, PT. Elex Media Komputindo, Jakarta.
123
protected) pada variabel dan metode, sehingga variabel atau metode tersebut dapat diakses oleh semua class yang terletak dalam satu package.
Contoh code :
package contoh;
Secara fisik, Java menggunakan sistem direktori untuk merepresentasikan package. Oleh karena itu, pada contoh di atas, class maupun interface yang memiliki deklarasi package contoh, harus disimpan dalam direktori yang bernama contoh. Kita dapat mendeklarasikan lebih dari satu class atau interface di dalam suatu package yang sama, dan sebagaimana layaknya sistem direktori, kita dapat membuat package secara hierarki. Untuk menuliskannya, kita cukup
Maka class atau interface yang mendeklarasikan perintah di atas dalam source code-nya, harus disimpan di dalam direktori \contoh\bab10\subbab2. Ingatlah bahwa Java bersifat case sensitive (membedakan huruf besar dan kecil), sehingga haruf besar dan kecil haruslah sama persis antara yang tertulis di dalam source code dengan keyword package, dengan nama direktori yang sebenarnya. Untuk mempraktekkan pembuatan package, buatlah direktori dengan nama kelasku di bawah subdirektori C:\PBO\. Selanjutnya buatlah program berikut :
Langkah 1 : Jalankan Notepad Ketiklah kode program di bawah ini pada text editor notepad :
package kelasku; public class Alif {
124
Langkah 2 : Simpan Program Java Simpanlah kode program di atas dengan nama Alif.java pada direktori C:\PBO\kelasku\.
Langkah 3 : Lakukan Kompilasi Program Lakukan kompilasi program di atas seperti pada gambar berikut ini :
Langkah 4 : Buat File Baru Ketiklah kode program di bawah ini pada text editor notepad :
package kelasku; public class Bata { public void info() { System.out.println("Kelas Bata"); } }
Langkah 5 : Simpan Program Java Simpanlah kode program di atas dengan nama Bata.java pada direktori C:\PBO\kelasku\.
Langkah 6 : Lakukan Kompilasi Lakukan kompilasi program di atas seperti pada gambar berikut ini :
125
Pernyataan import yang pertama berarti kita akan menggunakan seluruh kelas yang ada pada package tersebut. Pernyataan import yang kedua berarti kita akan menggunakan kelas dengan nama NamaKelas yang ada pada package tersebut. Sekarang kita akan mencoba package yang telah dibuat sebelumnya. Berikut ini contoh programnya :
Langkah 1 : Jalankan Notepad Ketiklah kode program berikut ini pada text editor notepad :
import kelasku.Alif; import kelasku.Bata; //atau bisa juga langsung menuliskan import kelasku.*; public class TesPackage { public static void main (String args[]) { Alif obj1 = new Alif(); obj1.info(); Bata obj2 = new Bata(); obj2.info(); } }
126
Langkah 2 : Simpan Program Java Simpanlah kode program di atas dengan nama TesPackage.java pada direktori C:\PBO\.
Langkah 3 : Lakukan Kompilasi dan Jalankan Program Lakukan kompilasi dan jalankan program di atas seperti pada gambar berikut ini :
Rangkuman
1. Sejumlah class yang terkait pada Java bisa dikelompokkan dalam sebuah unit yang disebut Package (paket). 2. Salah satu kelebihan package adalah memungkinkan penentu akses bawaan (tanpa penyebutan private, public, atau protected) pada variabel dan metode, sehingga variabel atau metode tersebut dapat diakses oleh semua class yang terletak dalam satu package.
Soal-soal Latihan
1. Jelaskan fungsi keyword import dalam hubungannya dengan penggunaan package! 2. Apakah yang perlu dilakukan jika kita ingin menggunakan suatu class diluar package dari source code yang dibuat? Mengapa dan jelaskan!