Memahami Package Pada Java Dan Bagaimana Cara Menggunakannya

Package digunakan pada Java sebenarnya untuk memudahkan mengorganisir file dari class. Package ini merupakan mekanisme dari encapsulation suatu kelompok atau grup yang terdiri dari class - class, sub packages dan juga interfaces. Ini akan memberi kemudahan, karena banyak penerapan dari program java menggunakan konsep hirarki untuk mengatur file-file dari class dan source.

Ketika aplikasi semakin bertambah kompleks, maka package ini dapat membantu anda mengatur komponen-komponen di dalamnya.

Package juga memfasilitasi penggunaan kembali software dengan pernyataan import dari package lainnya, ini lebih baik  jika dibandingkan anda harus menyalin class-class tersebut ke dalam setiap program yang menggunakannya.

Seperti yang sudah anda lakukan pada contoh program-program sebelumnya, statement:

import.java.util.Scanner;

Artinya di sini anda menggunakan class Scanner yang terdapat pada class java.util pada Java API yang merupakan library built-in yang sudah disediakan oleh Java.

Setiap class pada Java API adalah milik dari package yang di dalamnya mengandung grup dari class-class terkait.

Keuntungan lainnya dari package adalah anda bisa menghindari konflik untuk penamaan class, karena package dapat memberikan penamaan yang unik.

Mendeklarasikan Class Yang Dapat Digunakan Ulang

Sebelum suatu class dapat digunakan ulang melalui pernyataan import, maka class tersebut harus di simpan di dalam package.

Langkah-langkah membuat class yang dapat digunakan ulang adalah:
  • Mendeklarasikan class sebagai public. Jika class tidak dideklarasikan demikian, maka class tersebut hanya dapat digunakan oleh class lainnya yang berada dalam package yang sama.

  • Memilih nama yang unik untuk package tersebut dan menambahkan deklarasi package pada file source code untuk deklarasi class yang digunakan ulang.

    Dalam setiap source code file hanya ada satu deklarasi package. Jika tidak ada pernyataan package yang disediakan maka class tersebut berada dalam default package dan hanya dapat diakses oleh class lainnya yang berada dalam default package dan berada dalam direktori yang sama.

  • Melakukan compile class

  • Meng-import class yang akan digunakan ulang di dalam program dilanjutkan dengan penggunaan class.

Bagaimana cara memberikan nama pada package?


Pemberian nama package biasanya tergantung dari untuk apa anda menggunakan class yang ada di dalamnya. Mungkin saja package itu memiliki nama seperti nama anda sendiri, atau berdasarkan bagian dari sistem pada Java seperti graphics atau interface_.......

Namun, jika package yang and buat itu akan didistribusikan pada skala yang lebih luas ataupun bersifat komersil, maka lebih baik anda menggunakan nama package yang benar-benar unik dan bisa merepresentasikan tentang anda dan juga organisasi.

Cara penamaan yang direkomendasikan oleh Sun adalah dengan menggunakan domain internet anda namun dengan urutan terbalik.

Misalnya bila memiliki domain bahasajava.com, maka nama package-nya akan menjadi com.bahasajava dan kemudian anda bisa menambahkan nama packagenya secara spesifik.

Meskipun package bisa menghindari konflik terhadap penamaan class, namun perlindungan ini hanya cukup sampai di sini. Penamaan package tidak bisa menjamin jika nama package yang sama digunakan oleh orang yang berbeda. Oleh karena itu penamaan yang unik sangat penting.

Secara konvensional, nama package diawali dengan huruf kecil dengan tujuan untuk membedakannya dengan nama class yang secara konvensional harus diawali dengan huruf besar.

Contohnya pada class String yang merupakan built in di Java, nama lengkapnya adalah java.lang.String. Artinya class String berada pada package java.lang. Secara visual juga dengan penamaan seperti ini maka anda akan mudah membedakan antara package dengan class.

Bagaimana membuat struktur direktori untuk package?

Tahap selanjutnya untuk membuat package adalah mengatur struktur direktori pada disk anda dan disesuaikan dengan nama package yang anda pilih. Jika package anda hanya memiliki satu nama, misalnya mypackage, maka anda hanya perlu membuat satu direktori untuk package tersebut.

Namun jika package tersebut memiliki nama yang terdiri dari beberapa bagian, maka anda harus membuat direktori di dalam direktori. Misalnya untuk package com.bahasajava.calculation, anda harus membuat direktori com kemudian membuat direktori bahasajava di dalam direktori com, selanjutnya membuat direktori calculation di dalam direktori bahasajava, akhirnya class-class dan source files dapat anda simpan di dalam direktori calculation.

         com
              bahasajava
                       calculation
                                 class dan source files


Menambahkan class ke dalam Package

Untuk menambahkan clas kedalam package, anda bisa melakukannya dengan:

package nama_package;

misalnya:

package com.bahasajava.create;

Menyatakan bahwa class tersebut berada di dalam package com.bahasajava.create.

Melakukan perintah javac dan java untuk melakukan compile dan menjalankan program melalui command prompt

Jika belum mengatahui cara meng-compile dan menjalankan program Java melalui command prompt, maka anda bisa membacanya di sini. Perhatikan contoh program di bawah ini, yang dibuat melalui Notepad++, dan file disimpan dengan nama Waktu.java.


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package com.bahasajava.create;

public class Waktu {
 
 private int jam;
 private int menit;
 private int detik;
 
 public void setWaktu(int j, int m, int d){
  
  //validasi jam, menit dan detik
  if((j >= 0 && j < 24) && (m >= 0 && m < 60) 
    && (d >= 0 && d < 60))
  {
   jam = j;
   menit = m;
   detik = d;
  }
  
  else
   
   throw new IllegalArgumentException(
     "jam, menit dan atau detik berada di luar range"
     );
  
 }
 
 //Mengubah pada format waktu universal (HH:MM:SS)
 public String ubahFormatWaktu(){
  return String.format("%02d:%02d:%02d", jam, menit, detik);
 }
 
 // convert menjadi String dalam format waktu standar (H:MM:SS AM atau PM)
 public String convertKeString(){
  return String.format("%d:%02d:%02d %s",
    ((jam == 0 || jam == 12) ? 12 : jam % 12),
    menit, detik, (jam < 12 ? "AM" : "PM"));
 }

}

Pada line no.1 package com.bahasajava.create;, menyatakan bahwa class Waktu berada di dalam package tersebut, dan hal ini harus dilakukan.

Dan source file disimpan di direktori  C:/MyJava/com/bahasajava/create/Waktu.java

Kemudian satu class lagi dibuat untuk mendemonstrasikan class Waktu dengan nama class TestWaktu, dan disimpan dengan nama file TestWaktu.java seperti berikut ini:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.bahasajava.test;

import com.bahasajava.create.Waktu;

public class TestWaktu {
 
 public static void main (String args []){
  
  Waktu waktu = new Waktu ();
  
  //Menampilkan waktu inisial
  System.out.println("Waktu universal inisial adalah: ");
  System.out.println(waktu.ubahFormatWaktu());
  System.out.println("Waktu standard inisial adalah: ");
  System.out.println(waktu.convertKeString());
  System.out.println();
  
  //Mengatur waktu
  waktu.setWaktu(17, 43, 53);
  System.out.println("Waktu universal setelah setWaktu adalah: ");
  System.out.println(waktu.ubahFormatWaktu());
  System.out.println("Waktu standard setelah setWaktu adalah: ");
  System.out.println(waktu.convertKeString());
  System.out.println();
  
  //Mengatur waktu dengan nilai yang tidak valid
  try{
   waktu.setWaktu(25, 78, 90);
  }
  
  catch (IllegalArgumentException e){
   System.out.printf("Exception: %s\n\n", e.getMessage());
  }
  
  System.out.println("Setelah mengatur waktu dengan nilai yang tidak valid: ");
  System.out.println("Waktu universal adalah: ");
  System.out.println(waktu.ubahFormatWaktu());
  System.out.println("Waktu standar adalah: ");
  System.out.println(waktu.convertKeString());

  
 }

}

Pada line no. 1 package com.bahasajava.test; menyatakan bahwa class TestWaktu berada dalam package com.bahasajava.test.

Kemudian pada line no. 3 anda bisa melihat import.com.bahasajava.create.Waktu, ini artinya class TestWaktu akan menggunakan class Waktu yang terdapat pada package com.bahasajava.create.

Dan source file disimpan di direktori  C:/MyJava/com/bahasajava/test/TestWaktu.java

Kemudian untuk mengcompile dan menjalankan program :

1. Buka command prompt
2. Kemudian arahkan direktori dimana Java source file berada, seperti gambar berikut:

membuka_command_prompt_untuk_menjalankan_program_Java


3. Memeriksa Java source file pada direktori tersebut dengan perintah dir.

memeriksa_Java_source_files

3. Disitu terlihat bahwa Java source file yaitu Waktu.java terdapat dalam direktori tersebut. Kemudian anda harus memberi tahu sistem dimana untuk menemukan program JDK, seperti gambar berikut ini:

mengatur_path_JDK

Versi jdk mungkin saja berbeda-beda.

4. Menjalankan javac.exe compiler, seperti berikut ini:
menajalankan_javac_exe_compiler

Dengan perintah javac Waktu.java maka akan melakukan compile terhadap Java source file dalam hal ini adalah Waktu.java. Mungkin anda tidak akan melihat apa-apa, tapi anda bisa mengetahuinya dengan perintah dir, seperti gambar berikut ini:

melihat_compile_class_java

Maka terlihat bahwa javac sudah membuat class untuk Waktu yaitu Waktu.class

5. Sekarang anda harus menjalankan class TestWaktu. Jika anda melakukannya seperti gambar di bawah ini:

menjalankan_program_java

Maka akan terjadi error, padahal langkahnya sama dengan compile untuk file Waktu.java di atas, mengapa demikian? Karena perintah javac tidak mengetahui di mana untuk mengambil class yang dibutuhkan oleh TestWaktu.java.

Untuk mengatasinya anda bisa menggunakan perintah -classpath seperti gambar berikut ini:

-classpath_javac_Java_compile

Kemudian untuk menjalankan program, anda bisa melakukannya seperti gambar di bawah ini, yang ditampilkan beserta dengan ouputnya:

menjalankan_program_Java


Demikianlah pembahasan mengenai package pada Java, semoga bermanfaat bagi anda yang sedang mempelajari pemrogaman Java dari dasar.



Memahami Package Pada Java Dan Bagaimana Cara Menggunakannya Memahami Package Pada Java Dan Bagaimana Cara Menggunakannya Reviewed by Bahasa Java on 01.38.00 Rating: 5

Tidak ada komentar:

Diberdayakan oleh Blogger.