Package

              Ketika kita menangani program dalam skala kecil, tidak ada masalah untuk meletakkan semua file java dalam satu direktori. Itu akan mempercepat dan mempermudah pekerjaan dan masih aman. Tetapi jika project yang dikerjakan semakin berkembang dan jumlah file yang dikerjakan semakin banyak serta orang yang mengerjakan project lebih dari satu maka meletakkan file java ke dalam satu direktori akan merepotkan pekerjaan karena software yang dibangun akan tidak terstruktur. Java menyediakan fitur untuk menangani hal ini dengan memakai “Package”
              Package adalah mengelompokkan kelas-kelas yang saling berelasi dan interfaces yang memberikan proteksi terhadap access kelas yang tidak boleh diakses oleh kelas lain karena tidak berelasi,dan manajemen nama.
Packages tidak lebih dari sekedar cara untuk mengorganisir file kedalam direktori yang berbeda berdasarkan fungsionalitas dan kegunaannya.
Packaging membantu kita untuk menghindari terjadinya collision ketika kita menggunakan nama kelas yang sama dengan yang sudah ada. Packaging juga membantu programmer dalam mencari dan menggunakan nama kelas dan mengontrol akses.

Membuat Package
1. Buat directory yang merepresentasikan tempat package yang akan dibuat.
Misal D:\Lecture\PBO 2007\Minggu 11\Program\MyPackage\Poligon
2. Buat kelas (atau interface) yang akan menjadi isi package yang akan kita buat dengan susunan:
// Deklarasi package
package namapaket;
// Deklarasi kelas
public class namakelas {

}
3. Deklarasi Package
Menggunakan kata kunci package yang ditulis di baris pertama pada file sumber (.java).
package namapaket;
  Contoh :
    package Matematika;
    public interface MtkDasar {
                String tambah(Object obj);
                String kurang(Object obj);
                String kali(Object obj);
                String bagi(Object obj);
    }
    package Matematika;
    public class Pecahan implements Matematika.MtkDasar{
        private int pembilang, penyebut;
                public Pecahan(int pembilang, int penyebut) {
                            this.pembilang=pembilang;
                            this.penyebut=penyebut;
                }
                public int getValuePembilang(){
                            return this.pembilang;
                }
                public int getValuePenyebut(){
                            return this.penyebut;
                }
                public int penyebutHsl(int a,int b){
                int hsl;
                            if (a%b==0 || b%a==0){
                                        if (a>=b){
                                                    hsl=(a/b)*b;
                                        }else{
                                                    hsl=(b/a)*a;
                                        }
                            }else{
                                        hsl=a*b;
                            }
                return hsl;
                }
                public String tambah(Object obj){  
            StringBuffer strHasil= new StringBuffer(" ");
                            Pecahan data = new Pecahan(pembilang,penyebut);
                            pembilang=data.getValuePembilang();
                            penyebut=data.getValuePenyebut();
            Pecahan tambah = (Pecahan)obj;
                            int pembilang1=tambah.getValuePembilang();
                            int penyebut1=tambah.getValuePenyebut();
                            int penyHsl=tambah.penyebutHsl(penyebut,penyebut1);
                            int hasil = (pembilang*(penyHsl/penyebut))+(pembilang1*(penyHsl/penyebut1));
                            strHasil.insert(0,hasil);
                            strHasil.insert(strHasil.length()-1,"/");
                            strHasil.insert(strHasil.length()-1,penyHsl);
                            return(strHasil.toString());
                }
                public String kurang(Object obj){
                            StringBuffer strHasil= new StringBuffer(" ");
                            Pecahan data = new Pecahan(pembilang,penyebut);
                            pembilang=data.getValuePembilang();
                            penyebut=data.getValuePenyebut();
                            Pecahan tambah = (Pecahan)obj;
                            int pembilang1=tambah.getValuePembilang();
                            int penyebut1=tambah.getValuePenyebut();
                            int penyHsl=tambah.penyebutHsl(penyebut,penyebut1);
                            int hasil = (pembilang*(penyHsl/penyebut))-(pembilang1*(penyHsl/penyebut1));
                            strHasil.insert(0,hasil);
                            strHasil.insert(strHasil.length()-1,"/");
                            strHasil.insert(strHasil.length()-1,penyHsl);
                            return(strHasil.toString());
                }
                public String kali(Object obj){
                            StringBuffer strHasil= new StringBuffer(" ");
                            Pecahan data = new Pecahan(pembilang,penyebut);
                            pembilang=data.getValuePembilang();
                            penyebut=data.getValuePenyebut();
                            Pecahan kali = (Pecahan)obj;
                            int pembilang1=kali.getValuePembilang();
                            int penyebut1=kali.getValuePenyebut();
                            int penyHsl=kali.penyebutHsl(penyebut,penyebut1);
                            int hasil = (pembilang)*(pembilang1);
                            strHasil.insert(0,hasil);
                            strHasil.insert(strHasil.length()-1,"/");
                            strHasil.insert(strHasil.length()-1,penyHsl);
                            return(strHasil.toString());
                }         
    public String bagi(Object obj){
                            StringBuffer strHasil= new StringBuffer(" ");
                            Pecahan data = new Pecahan(pembilang,penyebut);
                            pembilang=data.getValuePembilang();
                            penyebut=data.getValuePenyebut();
                            Pecahan bagi = (Pecahan)obj;
                            int pembilang1=bagi.getValuePembilang();
                            int penyebut1=bagi.getValuePenyebut();
                            int penyHsl=bagi.penyebutHsl(penyebut,penyebut1);
                            int hasil = (penyebut)*(pembilang1);
                            strHasil.insert(0,hasil);
                            strHasil.insert(strHasil.length()-1,"/");
                            strHasil.insert(strHasil.length()-1,penyHsl);
                            return(strHasil.toString());
                }
        public String toString() {
                            StringBuffer tampil= new StringBuffer(" ");
                            Pecahan data = new Pecahan(pembilang,penyebut);
                            tampil.insert(0,data.getValuePembilang());
                            tampil.insert(tampil.length()-1,"/");
                            tampil.insert(tampil.length()-1,data.getValuePenyebut());
                            return (tampil.toString());
                }
    }
    import Matematika.Pecahan;
    import javax.swing.JOptionPane;
    public class cobaPecahan {
    public static void main(String[] args) {
        int a; int b; int c; int d;
            // TODO code application logic here
        System.out.println("Format : a/b Operator[+/-] c/d = hasilPecahan \nexample: 1/2 + 3/4 = 5/4 \n");
        System.out.println("Operator Prak PBO");
        System.out.println("\n--------------------------\n");
                System.out.print("Masukkan nilai a : ");
                a = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai a", "Input", JOptionPane.QUESTION_MESSAGE));
                System.out.println(+a);
        System.out.print("Masukkan nilai b : ");
        b = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai b", "Input", JOptionPane.QUESTION_MESSAGE));
                System.out.println(+b);
                System.out.print("\nMasukkan nilai Operator [+ ; - ; * ; /] : ");
                String op= JOptionPane.showInputDialog("silahkan input operator");
                System.out.print("\nMasukkan nilai c : ");
                c = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai c", "Input", JOptionPane.QUESTION_MESSAGE));
                System.out.println(+c);
                System.out.print("Masukkan nilai d : ");
                d = Integer.parseInt(JOptionPane.showInputDialog(null,"Input nilai d", "Input", JOptionPane.QUESTION_MESSAGE));
                System.out.println(+d);

                Pecahan pecahan1 = new Pecahan(Integer.valueOf(a).intValue(),Integer.valueOf(b).intValue());
          Pecahan pecahan2 = new Pecahan(Integer.valueOf(c).intValue(),Integer.valueOf(d).intValue());
                if (op.compareTo("+")==0)
                {
                            System.out.println("\n" + pecahan1 + "+ "+ c +"/"+ d + " = " + pecahan1.tambah(pecahan2));
                }
                else if (op.compareTo("-")==0)
                {
                            System.out.println("\n" + pecahan1 + "- "+ c +"/"+ d + " = " + pecahan1.kurang(pecahan2));
                }
                else if (op.compareTo("*")==0)
                {
                            System.out.println("\n" + pecahan1 + "* "+ c +"/"+ d + " = " + pecahan1.kali(pecahan2));
                }
                else if (op.compareTo("/")==0)
                {
                            System.out.println("\n" + pecahan1 + " / "+ c +"/"+ d + " = " + pecahan1.bagi(pecahan2));
                }
                else
                {
                            System.out.println("\nMaaf, Operator yang anda masukkan salah");
                }
      }
  }


 

0 comments:

Post a Comment