Users  

   

Hobi  

   

Statistik  

Visitors
246
Articles
59
Articles View Hits
417203
   

User Online  

We have 42 guests and no members online

   

BAB III.1

Details

Struktur Aplikasi Java
Dalam bab ini  kita akan mempelajari  struktur aplikasi  java,  di dalam aplikasi   java kita akan
menggunakan package untuk mengorganisasi class-class dalam package agar rapi dan dipisah-
pisahkan   berdasarkan   fungsinya.   Import   digunakan   untuk  mengimport   class   yang   berada dalam package yang berbeda. Class-class dalam modul yang sama biasanya diletakkan dalam
satu jar agar mudah didistribusikan, class-class dalam jar ini biasa juga disebut sebagai library. 
Kalau aplikasi  memerlukan class dari   jar  lain,  kita harus meletakkan  jar  tersebut  di  dalam
classpath agar bisa ditemukan oleh JVM.
Semua konsep package,   import,   jar  dan classpath sangat  penting untuk mengatur  struktur
aplikasi   Java.   Dengan   pengaturan   yang   rapi   aplikasi   bisa   mudah   dipelihara   dan   tidak
memerlukan waktu yang  lama untuk mempelajari  kodenya.  Kita akan bahas   satu per   satu
konsep-konsep tersebut di bab berikutnya.


Package
Pakcage   dalam  java   adalah   sebuah  mekanisme   untuk  mengorganisasi   penamaan   class   ke dalam modul-modul.  Class yang mempunyai fungsionalitas serupa dan kemiripan cukup tinggi 
biasanya diletakkan dalam satu package yang sama. Kalau ingin menggunakan class lain yang berada   dalam  package   yang  berbeda  harus   diimport   terlebih   dahulu  menggunakan   keyword import.  Class-class dalam package agar mudah didistribusikan biasanya diletakkan dalam satu buah jar yang pada dasarnya adalah sebuah fle zip saja.
Paragraf  di  atas  menerangkan hubungan antara package,   import  dan  jar dalam aplikasi   java. 
Selanjutnya kita akan belajar bagaimana membuat package dan mengimport class dari package
lain, kemudian membuat fle jar dari class yang sudah dicompile.
Selain   bertujuan   untuk  mengorganisasi   class,   package   juga   digunakan   untuk  menghindari  penamaan class yang bisa bertubrukan dalam aplikasi   Java.  Kalau kita membuat  sebuah class dengan nama yang sangat umum, misalnya class User,  kemungkinan besar developer lain akan membuat class dengan nama yang sama, nah bagaimana kalau kita menggunakan  library yang didalamnya terdapat nama class yang sama dengan class yang kita buat? class manakah yang
akan dipilih oleh Java? masalah penamaan ini dipecahkan dengan menggunakan package.
Package  dimana  sebuah class  berada  akan menjadi  bagian dari  nama  lengkap  sebuah class,
misalnya class String sebenarnya nama  lengkapnya adalah  java.lang.String karena class String
berada dalam package lang.util. Untuk menghindari penamaan class yang sama, setiap developer
disarankan untuk menggunakan package yang unique untuk aplikasi  yang digunakan.  Misalnya
ada 2 buah class dengan nama ClassA, yang satu berada di dalam package a.b.c sehingga nama
lengkapnya adalah a.b.c.ClassA sendangkan satu  lagi  berada di  dalam package d.e.f  sehingga
nama classnya adalah d.e.f.ClassA.
Bagaimana menjamin nama package yang unique? gunakan nama domain website institusi anda, 
maka anda akan mendapatkan nama package yang unique. Ada sebuah aturan tidak tertulis dari 
Sun untuk menggunakan nama domain  institusi  yang dibalik untuk digunakan sebagai  package
diikuti dengan nama aplikasi.
Misalnya   kita   bekerja   untuk   perusahaan   PT   coding   sejahtera   yang   mempunyai   website codings.com,  kemudian kita membuat aplikasi  keuangan yang disingkat dengan AKCS (aplikasi  keuangan   coding   sejahtera)   maka   kita   akan   membuat   package   dengan   com.codings.akcs. 
Bagaimana   kalau  kita  membuat   aplikasi   opensource?   gunakan  nama   domain   dimana   project tersebut  dihosting.  Misalnya untuk class-class yang digunakan di  tutorial  ini  akan menggunakan package com.googlecode.projecttemplate.hmti,  hal   ini  karena kode dalam turorial ini  dihosting di project-template.googlecode.com dan nama aplikasinya adalah hmti (himpunan mahasiswa tekhnik informatika).
Package pada dasarnya adalah struktur folder untuk meletakkan kode fle java, tetapi tidak bisa
sembarangan menyusun struktur folder ini, hal ini dimaksudkan agar kode lebih rapi, teratur dan
tidak bercampur campur.
Untuk membuat package kita akan menggunakan contoh kode class Person di  atas,  tetapi  kita
letakkan di  dalam package   com.googlecode.projecttemplate.pos.model.  Langkah pertama kita
buat struktur folder  com\googlecode\projecttemplate\hmti\model :


$ mkdir com
$ mkdir com/googlecode
$ mkdir com/googlecode/projecttemplate
$ mkdir com/googlecode/projecttemplate/hmti
$ mkdir com/googlecode/projecttemplate/hmti/model


Setelah itu buat fle Person.java dengan kode di bawah ini
package com.googlecode.projecttemplate.hmti.model;


public class Person{
  private Long id;
  private String nama;
  public String getNama(){
    return nama;
  }
  public void setNama(String nm){
    nama = nm;
  }
  public Long getId(){
    return id;
  }  public void setId(Long i){
    id = i;
  }
}


Perbedaan class Person di atas dengan class Person di contoh sebelumnya berada pada baris
pertama dimana ada keyword package untuk mendeklarasikan di pacakge apa class Person ini 
berada. Cara mengcompile class yang berada dalam package di atas seperti di bawah ini :


$ javac com/googlecode/projecttemplate/hmti/model/Person.java


Setelah   mengenal   package,   kita   akan   belajar   bagaimana   menggunakan   import   untuk
mendeklarasikan class-class yang berada di dalam package yang berbeda.


Import
Import digunakan untuk menyederhanakan penulisan class.  Tanpa menggunakan import kita
harus menuliskan nama lengkap class besarta packagenya. Dengan menggunakan import, kita
deklarasikan di mana class yang digunakan tersebut berada sehingga selanjutnya tidak perlu
lagi menuliskan nama package dari sebuah class.
Ada dua pengecualian di mana import tidak diperlukan, pertama untuk class-class yang berada
dalam package yang sama dan kedua adalah class-class yang berada dalam package java.lang. 
Kita akan membuat interface yaitu PersonDao yang di dalamnya ada class Person, nah kedua
class  ini  akan berada dalam package yang berbeda sehingga di  dalam  interface PersonDao
harus mengimport class Person.
Pertama kita buat dulu struktur folder untuk PersonDao :


$ mkdir com/googlecode/projecttemplate/hmti/dao


Setelah itu buat interface PersonDao dengan menyertakan package dan import
package com.googlecode.projecttemplate.hmti.dao;


import com.googlecode.projecttemplate.hmti.model.Person;
public interface PersonDao{
  void save(Person p);
  void delete(Person p);
  Person getById(Long id);
}


Kalau menulis kode dengan menggunakan text editor biasa rasanya cukup repot menangani
import ini, misalnya ada 20 class yang digunakan dalam satu class, maka harus ada 20 baris
import untuk setiap class.  Untuk sedikit  memudahkan proses  import   ini  bisa menggunakan
wildcard   (*),   jadi   kita   bisa   import   sekaligus   semua   class   dalam   satu   package   dengan menggunakan wildcard ini. Contohnya di bawah ini :
import com.googlecode.projecttemplate.hmti.model.*;
Import di  atas akan menyertakan semua class di  dalam package model,  tetapi  kelemahanya
adalah   proses   pencarian   class   di   dalam  package  menjadi   sedikit   lebih   lama   pada  waktu eksekusi  program,  kalau  tidak  terpaksa  sebaiknya  import  menggunakan wildard dihindari.
Nantinya kalau sudah menggunakan IDE seperti NetBeans proses  import  ini  menjadi sangat 
gampang karena dibantu oleh feature dari NetBeans tidak perlu lagi menggunakan wildcard.


Jar
Sampai di sini kita sudah tahu bagaimana class, package dan import bekerja. Nah kalau class-
nya sudah banyak, kita bisa mengumpulkanya menjadi satu agar mudah untuk didistribusikan. 
Kumpulan   class   yang  disimpan  dalam  satu  fle  disebut   jar   (Java  Archive).   Jar   sebenarnya hanyalah  fle  zip  semata,  kalau punya aplikasi   yang bisa membuka  fle  zip kita  juga bisa membuka fle jar. Kalau di windows bisa klik kanan fle jar kemudian open with winzip, isi dari 
fle jar bisa dilihat dengan gampang.
Jar   bisa   dibuat   dengan  menggunakan   command   line   tools   dari   JDK  yaitu   jar.  Di   bagian sebelumnya kita sudah membuat dua class yaitu Person dan PersonDao, kedua class ini akan diletakkan di dalam fle jar dengan nama hmti.jar, caranya sangat gampang, gunakan tools jar dari JDK seperti di bawah ini :


$ jar cvf pos.jar .


Di  dalam  fle  jar terdapat meta data untuk menerangkan  isi  dari   fle  jar tersebut yang disebut 
sebagai  manifest.  File  manifest.mf   berisi   keterangan  tentang  jar,  misalnya   kapan   dibuatnya,  dibuat oleh siapa, apa nama main classnya dan seterusnya. File manifest.mf harus diletakkan di dalam folder META-INF. Jar yang dibuat oleh tool jar dari JDK akan dibuatkan fle manifest default yang berisi keterangan sederhana.
Setelah mengerti konsep dari jar, berikutnya kita belajar tentang classpath. Classpath digunakan
untuk mendefnisikan di mana saja java bisa menemukan class yang diperlukan oleh aplikasi.

sumber : ifnu bima

Add comment


Security code
Refresh

   

Indeks  

   
© ALLROUNDER