#trik_pojok { position:fixed;_position:absolute;bottom:0px; left:0px; clip:inherit; _top:expression(document.documentElement.scrollTop+ document.documentElement.clientHeight-this.clientHeight); _left:expression(document.documentElement.scrollLeft+ document.documentElement.clientWidth - offsetWidth); }

Jumat, 07 Desember 2012

BABA. 6 PACKAGE DAN JAVA KELAS



paket Java adalah mekanisme untuk mengatur kelas Java ke dalam ruang nama mirip dengan modul dari Modula. Paket-paket Java dapat disimpan dalam file yang dikompresi disebut file JAR, memungkinkan kelas untuk men-download lebih cepat sebagai kelompok daripada satu per satu. Programmer juga biasanya menggunakan paket untuk mengatur kelas yang termasuk dalam kategori yang sama atau menyediakan fungsi serupa.

    Sebuah paket menyediakan namespace yang unik untuk jenis yang dikandungnya.
    
Kelas dalam paket yang sama dapat mengakses paket-akses masing-masing anggota.

Ikhtisar

Secara umum, sebuah paket dapat berisi jenis berikut jenis. Sebuah paket memungkinkan pengembang untuk kelas kelompok (dan interface) bersama-sama. Kelas-kelas ini semua akan terkait dalam beberapa cara - mereka semua mungkin harus dilakukan dengan aplikasi tertentu atau melakukan serangkaian tertentu tugas. Java API adalah kumpulan paket - misalnya, paket javax.xml. Paket javax.xml dan subpackages yang mengandung kelas untuk menangani XML

Menggunakan paket

Dalam file sumber Java, paket yang kelas ini file atau kelas milik ditetapkan dengan kata kunci paket. Kata kunci ini biasanya merupakan kata kunci pertama dalam file sumber.

Paket java.awt.event;

Untuk menggunakan kelas paket ini dalam file sumber Jawa, akan lebih mudah untuk mengimpor kelas dari paket dengan deklarasi impor. Deklarasi berikut


mengimpor java.awt.event *;.

impor semua kelas dari paket java.awt.event, sedangkan deklarasi berikutnya

impor java.awt.event.ActionEvent;

impor hanya kelas ActionEvent dari paket. Setelah salah satu dari deklarasi impor, kelas ActionEvent dapat dirujuk menggunakan nama kelas sederhana:

ActionEvent MyEvent = new ActionEvent ();

Kelas juga dapat digunakan secara langsung tanpa deklarasi impor dengan menggunakan nama yang memenuhi syarat kelas. Misalnya,

java.awt.event.ActionEvent MyEvent = new java.awt.event.ActionEvent ();

tidak memerlukan deklarasi impor sebelumnya.

Perhatikan bahwa jika Anda tidak menggunakan deklarasi paket, kelas Anda berakhir di sebuah paket yang tidak disebutkan namanya [2] [3]. Kelas dalam paket yang tidak disebutkan namanya tidak dapat diimpor dari kelas-kelas dalam paket lain.

Paket akses perlindungan

Kelas-kelas dalam sebuah paket dapat mengakses kelas dan anggota dinyatakan dengan akses default dan anggota kelas dinyatakan dengan pengubah akses yang dilindungi. Akses standar diberlakukan ketika tidak pengubah akses publik, dilindungi atau swasta ditentukan dalam deklarasi. Sebaliknya, kelas dalam paket lain tidak dapat mengakses kelas dan anggota dinyatakan dengan akses default. Anggota kelas dinyatakan dilindungi dapat diakses dari kelas dalam paket yang sama serta kelas dalam paket lain yang subclass dari kelas menyatakan.


Penciptaan file JAR

File JAR diciptakan dengan utilitas baris perintah jar. Perintah

jar cf myPackage.jar *. kelas

kompres semua. kelas file ke file JAR myPackage.jar. The 'c' pilihan pada baris perintah memberitahu perintah jar untuk "menciptakan arsip baru." The 'f' pilihan mengatakan itu untuk membuat sebuah file. Nama file datang berikutnya sebelum isi dari file JAR.

Paket penamaan konvensi

Paket biasanya didefinisikan menggunakan pola penamaan hirarkis, dengan tingkat dalam hirarki dipisahkan oleh periode (diucapkan "dot") (.). Meskipun paket yang lebih rendah dalam hirarki penamaan sering disebut sebagai "subpackages" dari paket yang sesuai yang lebih tinggi dalam hirarki, hampir tidak ada hubungan semantik antara paket. Spesifikasi Bahasa Java menetapkan paket konvensi penamaan untuk menghindari kemungkinan dua paket yang diterbitkan memiliki nama yang sama. Konvensi penamaan menjelaskan cara membuat nama paket yang unik, sehingga paket yang didistribusikan secara luas akan memiliki ruang nama yang unik. Hal ini memungkinkan paket secara terpisah, mudah dan otomatis diinstal dan katalog.

Secara umum, nama paket dimulai dengan nama domain tingkat atas organisasi dan kemudian domain organisasi dan kemudian setiap subdomain, tercantum dalam urutan terbalik. Organisasi kemudian dapat memilih nama khusus untuk paket tersebut. Nama paket harus semua huruf kecil bila memungkinkan.

Sebagai contoh, jika sebuah organisasi di Kanada yang disebut MySoft menciptakan paket untuk berurusan dengan pecahan, penamaan ca.mysoft.fractions paket membedakan paket fraksi dari paket lain yang serupa yang dibuat oleh perusahaan lain. Jika sebuah perusahaan Jerman bernama MySoft juga menciptakan paket fraksi, tapi nama itu de.mysoft.fractions, maka kelas dalam dua paket didefinisikan dalam namespace yang unik dan terpisah.

Konvensi lengkap untuk disambiguating nama paket dan aturan untuk penamaan paket ketika nama domain Internet tidak dapat secara langsung digunakan sebagai nama paket yang dijelaskan dalam bagian 7.7 dari Spesifikasi Bahasa Jawa.



Contoh penggunaan package (dengan implementasinya):
class main di drive D:\Programku
class yang diakses ada di C:\Javaku\
Bilangan.java di simpan di di C:\Javaku\
package Bilangan;
public class Bilangan {
  private int desimal;
  public void setDesimal(int desimal) {
  if(desimal>=0) {
    this.desimal = desimal;
  }
  else {
    this.desimal = -desimal;
  }
}
  public int getDesimal() {
    return this.desimal;
  }
  public String biner() {
  String hasil="";
  int sisa = this.desimal;
  do {
    hasil = sisa % 2 == 1 ? "1" + hasil : "0" + hasil ;
    sisa /= 2;
  }
  while (sisa > 0);
  return hasil;
  }
}
Utama.java disimpan di D:\Programku
import Bernaz.Bilangan;
class Utama {
  public static void main(String[] args)          {
  Bilangan x = new Bilangan();
  x.setDesimal(-44);
  System.out.println("Bilangan biner dari "+ x.getDesimal() + " adalah "+ x.biner());
  }
}

 

BAB. 5 Overloading, Overriding, Exception

Overloading, Overriding, Exception
Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya.
A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.

B. OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
1. Mendefenisikan kembali method kelas induk secara total.
2. Menambahkan behaviour tertentu pada method kelas induk.

C. EXCEPTION
       Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh java, objek tersebut dikirimkan ke program, proses ini disebut throwing an exception.
             Kategori error dalam program :
              1. Syntax error
              2. Runtime error
              3. Logic error

Membuat Program Overriding.java
class OverRiding {
            public void MethodAsli () {
                        System.out.println("Method Milik class OverRiding dijalankan");
                        }
            public static void main (String [] arqs) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
                        }
            }
output :
Membuat Program SubOverriding.java
class SubOverRiding extends OverRiding {
            public void MethodAsli () {
                        System.out.println("Method yang sudah OverRiding dijalankan");
                        }
            public void MethodAsliSuper() {
                        System.out.println("Method pemanggil MethodAsli dijalankan");
                        super.MethodAsli ();  
            }
            public static void main (String [] arqs) {
            SubOverRiding SO= new SubOverRiding ();
            SO.MethodAsli();
            SO.MethodAsliSuper();
            }
}
output :



Pratikum
A. Membuat Program SegiTiga.java
class SegiTiga {
            public SegiTiga (double panjang) {
            System.out.println ("\nVariabel = segitiganya sama sisi");
            System.out.println ("Panjang = " +panjang);
            keliling(panjang);
            }
public SegiTiga (double panjang, double sisiMiring) {
            System.out.println ("\n2Variabel = segitiganya sama kaki");
            System.out.println ("Panjang = " +panjang+ " sisi miring ="  +sisiMiring);
                        keliling(panjang,sisiMiring);
            }
public void keliling(double panjang) {
            tampilkanHasil (panjang*3);
            }
public void keliling(double p, double sM) {
            tampilkanHasil (2*sM+p);
            }
protected void tampilkanHasil (double h) {
            System.out.println ("Hasil = " +h);
  }
}



B. Membuat Program MainSegiTiga.java
Class MainSegitiga {
            Public static void main(string [] arqs) {
                        new Segitiga(7);
                        new Segitiga(4, 7);
}
}

output :
 Membuat Program CobaException.java
class CobaException {
public static void main (String [] arqs) {
int nilai=0;
try {
            int Nilai = Integer.parseInt (arqs[0]) ;
            System.out.println ("Nilai yang dimasukkan : "+Nilai);
            }
            catch(Exception e) {
                        System.out.println("Pasti yang diinput bukan Integer");
                        }
            finally {
                        System.out.println("Blok finally tetap dilakukan");
                        }
            }

output :
Membuat Program PembagianNol.java

class PembagianNol {
   public static void main(String[]args) {
         System.out.println("Sebelum pembagian");
         try {
               System.out.println(5/0);
         }
         catch(Throwable T) {
               System.out.println("Terjadi pembagian nol");
         }
         System.out.println("Sesudah pembagian");
   }
}
 
output :


Membuat Program TesInputData.java
 
import java.io.*;
class TextInputData {
public static void main (String [] arqs) {
BufferedReader BR = new BufferedReader (new
InputStreamReader (System.in));
String Input ="";
try {
System.out.println ("Masukan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukan adalah " +Input);
}
     }
}

 output :



catatan :
Perbedaan antar override dengan overload
Override
  1. Mendefinisikan method dengan nama sama pada class yang berbeda.
  2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
  1. mendefinisikan method dengan nama sama dalam satu class.
  2. Konsep sering di gunakan dalam penggunaan constructor.