Rabu, 09 Desember 2009

Abstract Class

Abstract Class, pendeklarasiannya public abstract class merupakan superclass umum, yang memiliki beberapa method di dalamnya, dimana ada method yang mempunyai implikasi dan ada yang tidak.

Fungsinya untuk membuat prototype bagi class di tingkatan paling atas dalam hierarki class dan subclass-nya yang menyediakan detail implementasi dari abstract class tersebut.

  • Method yang punya implikasi, yaitu method biasa yang sering kita buat, yang punya body, punya System.out.println ..
  • Method yang tidak memiliki implikasi, berarti method tersebut body-nya kosong (tidak ada), juga tidak ada System.out.println-nya, disebut abstract method.


Abstract method beserta body-nya harus terdapat pada subclass class abstract, deklarasinya : public abstract void

pendeklarasian method inilah yang disebut prototype method.

Contoh penerapannya : pertama kita buat superclass, yaitu sebuah class abstract.

Misalnya kita buat class LivingThing (makhluk hidup) yang punya method breath, eat dan walk.





Perhatikan body kosong method walk.

Setelah itu kita buat superclass-nya, misalnya class Human.


Pada class Human yang merupakan subclass, terdapat method walk, yang saat di class LivingThing merupakan abstract method, di subclass ini dia menjadi method biasa, yang mempunyai body.


Kamis, 26 November 2009

Polimorphism

Polymorphism berarti suatu object yang dapat memiliki berbagai bentuk, sebagai object dari classnya sendiri atau object dari superclassnya.

Dalam polymorphism dikenal overloading dan overriding.

  • OVERLOADING : penggunaan satu nama dalam beberapa method yang berbeda parameter.

Maksudnya dalam satu class, terdapat beberapa method yang namanya sama, tapi parameter/tipe parameternya berbeda.

Contohnya :

class Lingkaran{
public buatLingkaran(int diameter){
...
}
public buatLingkaran(int diameter, int x, int y){
...
}
public buatLingkaran(int diameter, int x, int y, int
warna, String namaLingkaran){
...
}
}

  • OVERRIDING : terjadi ketika deklarasi method subclass sama dengan method dari superclass.

Yaitu method pada class atau class turunan namanya sama, parameter dan tipe parameternya sama, tetapi proses dalam method berbeda.

Contohnya pada class Sepeda

Sepeda.java

class Sepeda{

//deklarasi atribut

int kecepatan = 0;
int gir = 0;

// membuat method ubahGir dengan parameter pertambahanGir bertipe integer
void ubahGir(int pertambahanGir) {

gir= gir+ pertambahanGir;
System.out.println(“Gir:” + gir);

}

//membuat method tambahKecepatan dengan parameter pertambahanKecepatan
void tambahKecepatan(int pertambahanKecepatan) {

kecepatan = kecepatan+pertambahanKecepatan;
System.out.println(“Kecepatan:” +kecepatan);

}

}

Dalam kasus ini, Sepeda.java memiliki class turunan, yaitu SepedaGunung.java yang memiliki overriding method dari class Sepeda. Coba perhatikan ..

SepedaGunung.java

class SepedaGunung extends Sepeda {

//deklarasi atribut atau variabel

int setSadel;

//overriding method ubahGir dari class Sepeda
void ubahGir(int pertambahanGir) {

gir= 2*(gir+ pertambahanGir );
System.out.println(“Gir:” + gir);

}

}

Disana terlihat bahwa ada persamaan method, parameter dan tipe parameter dari Sepeda.java dan SepedaGunung.java, yaitu method ubahGir .. Selanjutnya kita tinggal membuat tes programnya. Kita beri nama class SepedaGunungBeraksi ..

SepedaGunungBeraksi.java

class SepedaGunungBeraksi {

public static void main(String[]args) {

// Membuat object dari class SepedaGunung
SepedaGunung sepedaku = new sepedaGunung();

// Memanggil method dan mengisi nilai parameter
sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2);
sepedaku.setSadel(20);

}

}

Inheritance

Inheritance atau pewarisan dalam Java, maksudnya suatu class dapat mewariskan method dan atributnya kepada kelas lain. Class utama disebut superclass dan kelas warisannya disebut subclass. Pada subclass harus terdapat keyword EXTENDS sebagai penanda inheritance.

Untuk contoh dapat dilihat dalam soal berikut. Ini adalah soal mid semester saya yang kemarin, =))

Buat class bernama PersegiPanjang yang mempunyai atribut Panjang dan Lebar. Dalam class PersegiPanjang terdapat method hitungLuas untuk menghitung Luas dengan rumus Luas = Panjang x Lebar.

Selanjutnya buat class turunannya bernama Balok yang mewarisi atribut Panjang dan Lebar dari class PersegiPanjang. Selain mewarisi atribut class PersegiPanjang, class Balok mempunyai atribut yang berbeda yaitu Tinggi. Dalam class Balok terdapat method hitungLuas untuk menghitung Luas dengan rumus Luas = Panjang x Lebar x Tinggi.

Test program tersebut dengan class TestHitung.

Nah, untuk mengerjakan soal diatas, langkah pertama yang dilakukan adalah membuat superclass, yaitu class PersegiPanjang.

PersegiPanjang.java //ini adalah nama file, nama file harus sama dengan nama class.

class PersegiPanjang { //tulis dulu nama class-nya

//berikutnya deklarasi atribut

int Panjang, Lebar;

//deklarasi method

void hitungLuas() {

Luas = Panjang*Lebar;

System.out.println(“Luas = “+Luas);

}

}

Dalam soal disebutkan pada class Balok terdapat method hitungLuas sama seperti class PersegiPanjang. Tapi dosen saya bilang kita harus membuat method baru pada class Balok, yaitu method volumeBalok.

Balok.java

class Balok extends PersegiPanjang { //artinya class balok memiliki atribut dan method class PersegiPanjang

//deklarasi atribut baru

int Tinggi;

//buat method baru

void volumeBalok() {

Volume = Panjang*Lebar*Tinggi;

System.out.println(“Volume = “+Volume);

}

}

Jika telah membuat superclass dan subclass, kita tinggal membuat tes programnya.

TestHitung.java

//langkah awal, buat method mainnya, method main harus ada supaya suatu class dapat berjalan

class TestHitung {

public static void main (String[]args) {

//membuat objek

Balok hitung = new balok();

//memberi nilai pada atribut

hitung.Panjang = 10;

hitung.Lebar = 15;

hitung.Tinggi = 20;

//panggil method

hitung.Luas();

hitung.VolumeBalok();

}

}

Silakan mencoba!! ;))

Minggu, 08 November 2009

Pernyataan Pemindah Proses

Penggunan Break

Pada pengulangan, bisa menggunakan break untuk menghentikan
pengulangan pada suatu kondisi tertentu. Fungsi break tersebut adalah untuk
menghentikan eksekusi sebuah blok program, misalnya untuk memaksa
keluar dari sebuah looping.

Penggunaan Continue

Pada pengulangan bisa juga menggunakan continue, dimana continue
akan melanjutkan proses pengulangan berikutnya tanpa menjalankan statemen
sesudahnya.

Penggunaan Return

Return biasnya digunakan di dalam method. Dengan menggunakan
perintah return, alur eksekusi dikembalikan ke bagian dari program yang
memanggil method tersebut.

Pernyataan Pengulangan Proses

PERNYATAAN WHILE

Pernyataan ini berguna untuk melakukan proses yang berulang.

Bentuk pernyataan :

while(kondisi)

{

blok pernyataan;

}

Contoh program java :

// nama file ulang.java

public class ulang

{

public static void main (String[]args)

{

int jumlah=1;

while(jumlah<=5>

{

System.out.println(“Putaran ke-“ +jumlah);

jumlah++;

}

}

}

HASIL :

Putaran ke-1

Putaran ke-2

Putaran ke-3

Putaran ke-4

Putaran ke-5

PERNYATAAN DO…WHILE

pernyataan ini menyerupai pernyataan while tetapi blok pernyataan yang terdapat dalam do….. while paling tidak dieksekusi sekali.

Bentuk pernyataan :

do

{

blok pernyataan;

}while(kondisi);

contoh program java:

// nama file ulang1.java

public class ulang1

{

public static void main (String[]args)

{

int jumlah = 11;

do

{

System.out.println(“Putaran ke-”+jumlah);

jumlah++;

}while (jumlah<=5>;

System.out.println(“Selesai… !”);

}

}

HASIL :

Putaran ke-11

Selesai…. !

PERNYATAAN FOR

Bentuk penulisan :

for(inisialisasi; kondisi; penaikan/penurunan)

{

blok pernyataan;

}

Bagian insialisasi digunakan untuk memberikan nilai awal kepada variabel yang digunakan untuk mengontrol pengulangan.

Bagian kondisi digunakan untuk mengontrol pengulangan atau diakhiri.

Bagian penaikan/penurunan digunakan untuk menaikkan attau menurunkan nilai variabel pengontrol pengulangan

Contoh program java

// nama file : ulang2.java

public class ulang2

{

public static void main(String[]args)

{

for(int i=1;i<=10;i++)

{

System.out.println( i +” “);

}

}

}

PENGULANGAN DALAM PENGULANGAN

Ada kalanya persoalan memerlukan penanganan pengulangan di dalam suatu proses pengulangan yang lain, misalnya menggunakan for yang diletakkan didalam for.

Contoh program java :

// nama file nestedfor.java

public class nestedfor

{

public static void main(String[]args)

{

for(int a=1;a<=3; a++)

{

for(int b=1;b<=5; b++)

{

System.out.print(“ x ”);

}

System.out.println();

}

}

}

Java menyediakan sebuah pernyataan yang berguna untuk keluar dari suatu perulangan (loop) dengan menggunakan perintah break.

Contoh:

// nama file break1.java

public calss break1

{

public static void main(String[]args)

{

for(int i=1; i<=3; i++)

{

if (i==5) break;

System.out.printl(i+” “);

}

System.out.print(“Selesai”):

}

}

HASIL :

1 2 3 4 Selesai

Selain itu Java juga mengenal pernyataan continue. pernyataan yang digunakan untuk mengarahkan eksekusi ke kondisi pernyataan berulang, sehingga kondisi akan dievaluasi lagi.

Contoh program java :

// nama file kontinu.java

public class kontinu

{

public static void main(String[]args)

{

for (int i=1; i<=8; i++)

{

if ( i >= 3; i<=7)

continue;

System.out.println(i);

}

}

}

HASIL :

1

2

8


Referensi : Praktikum Kapita Selekta Bahasa Pemrograman (Java) STI&K Jakarta ("Yudi Irawan")

Pernyataan Penentu Keputusan

1. if, if-else, if-else if – else
2. switch

if

  • Pernyataan kondisi yang digunakan
  • untuk pengambilan keputusan terhadap
  • dua buah kemungkinan
  • if bisa berdiri sendiri atau dengan
  • menggunakan else
  • Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar

}

PernyataanIF.java

public class PernyataanIF{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;
if(totalBelanja >= 100000){
diskon = totalBelanja/10;
}
System.out.println("Diskon = " + diskon);
}


if-else
  • if-else mengatur pernyataan yang
  • dijalankan sewaktu kondisi bernilai
  • benar atau salah
  • Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar
} else{
// blok pernyataan yang dijalankan, bila kondisi salah
}
}

PernyataanIFELSE.java

public class PernyataanIFELSE{
public static void main(String[] args){
System.out.println("Silahkan Masukan Jumlah Belanja Anda:);
int diskon =0, totalBelanja = 500000;
if(totalBelanja >= 100000){
diskon = totalBelanja/10;

} else{
diskon = 0;
}

System.out.println("Diskon = " + diskon);

}

}


if Bersarang

  • if bersarang mengatur pernyataan yang
  • dijalankan sewaktu kondisi berupa pilihan
  • Bentuk:
if(kondisiA){
// pernyataan yang dijalankan, bila kondisiA benar

}else if(kondisiB){
// pernyataan yang dijalankan, bila kondisiB benar

}else if(kondisiC){
// pernyataan yang dijalankan, bila kondisiC benar

}else{
// pernyataan yang dijalankan untuk kondisi selain itu
}


PernyataanIFBersarang.java

public class PernyataanIFBersarang {
public static void main(String[] args) {
int skorUjian= 86; char nilai;
if (skorUjian >= 90) {

nilai = 'A';
} else if (skorUjian >= 80) {

nilai = 'B';
} else if (skorUjian >= 70) {

nilai = 'C';
} else {

nilai = 'D';
}

System.out.println("Nilai = " + nilai);
}

Operasi I/O Stream Sederhana

Dalam sebuah pemrograman berorientasi object seperti halnya Program Java, kita mengenal sebuah pengontrol aliran program yang akan dieksekusi oleh komputer (Threads). Dengan adanya threads dalam pemrograman java kita dapat membuat program yang saling berurutan (sekuensial).

Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren.

Secara konkrit, konsep threads dapat dilihat ketika kita mengetik sebuah dokumen di komputer dengan menggunakan text editor, dalam waktu yang bersamaan kita juga dapat mendengarkan musik, dan surfing lewat internet pada PC. Sistem operasi yang telah terinstal dalam komputer kita memperbolehkan untuk menjalankan multitaskting. Seperti itu juga sebuah program, ia juga dapat mengeksekusi beberapa proses secara bersama-sama (ibaratkan beberapa aplikasi berbeda yang bekerja pada sebuah PC). Contoh aplikasi adalah HotJava browser yang memperbolehkan untuk browsing terhadap suatu page, bersamaan dengan mendownload object yang lain, misalnya gambar, memainkan animasi, dan juga file audio pada saat yang bersamaan.


Sedangkan ketika kita melakukan penulisan dan pembacaan data sering kita sebut dengan proses input dan output, dimana penulisan data berarti mengalirkan data ke output dan menerima atau mendapatkan data dari input. Kita mengenal, dua macam stream yaitu Stream Input dan Stream output.

Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package Java I/O mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.

Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren. Ada dua cara yang bisa digunakan dalam membuat sebuah thread, yaitu :

# Membuat subclass dari thread
Untuk menjalankan thread, dapat dilakukan dengan memanggil method start(). Saat start() dijalankan, maka sebenarnya method run() dari class akan dijalankan. Jadi untuk membuat thread, harus mendefinisikan method run() pada definisi class. Konstruktor dari cara ini adalah :
ClassThread namavar = new ClassThread();
Namavar.start();
Atau dapat juga langsung dengan cara:
New ClassThread().start();

#Mengimplementasikan interface Runnable
Cara ini merupakan cara yang paling sederhana dalam membuat thread. Runnable merupakan unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya cukup mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita akan mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara ini adalah :
ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau dengan cara singkat seperti :
New Thread(new ObjekRunnable());

Dalam pemrograman java ada dua threads, yaitu daemon dan user thread. Daemon thread merupakan thread yang siklus hidupnya tergantung pada thread utama atau induk, sehingga apabila thread induk berakhir, maka otomatis thread-thread daemon juga ikut berakhir. Sedangkan user thread memiliki sifat berbeda, dimana apabila thread utama sudah selesai, maka user thread akan terus dijalankan.

Macam-macam state pada streads:
1. Running
Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU.
2. Ready to run
Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk melakukannya.
3. Resumed
Setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap untuk dijalankan.
4. Suspended
Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk menjalankan thread lain bekerja
5. Blocked
Sebuah thread yang di-block merupakan sebuah thread yang tidak mampu berjalan, karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi

Untuk menentukan thread mana yang akan menerima control dari CPU dan akan dieksekusi pertama kali, setiap thread akan diberikan sebuah prioritas. Sebuah prioritas adalah sebuah nilai integer dari angka 1 sampai dengan 10, dimana semakin tinggi prioritas dari sebuah thread, berarti semakin besar kesempatan dari thread tersebut untuk dieksekusi terlebih dahulu. Sebagai contoh, asumsikan bahwa ada dua buah thread yang berjalan bersama-sama. Thread pertama akan diberikan prioritas nomor 5, sedangkan thread yang kedua memiliki prioritas 10. Anggaplah bahwa thread pertama telah berjalan pada saat thread kedua dijalankan. Thread kedua akan menerima control dari CPU dan akan dieksekusi pada saat thread kedua tersebut memiliki prioritas yang lebih tinggi dibandingkan thread yang pada saat itu tengah berjalan. Salah satu contoh dari skenario ini adalah context switch.

Sebuah context switch terjadi apabila sebagian dari thread telah dikontrol oleh CPU dari thread yang lain. Ada beberapa skenario mengenai bagaimana cara kerja dari context switch. Salah satu skenario adalah sebuah thread yang sedang berjalan memberikan kesempatan kepada CPU untuk mengontrol thread lain sehingga ia dapat berjalan.

Dalam kasus ini, prioritas tertinggi dari thread adalah thread yang siap untuk menerima kontrol dari CPU. Cara yang lain dari context switch adalah pada saat sebuah thread yang sedang berjalan diambil alih oleh thread yang memiliki prioritas tertinggi seperti yang telah dicontohkan sebelumnya. Hal ini juga mungkin dilakukan apabila lebih dari satu CPU tersedia, sehingga lebih dari satu prioritas thread yang siap untuk dijalankan.
Untuk menentukan diantara dua thread yang memiliki prioritas sama untuk menerima kontrol dari CPU, sangat bergantung kepada sistem operasi yang digunakan. Windows 95/98/NT menggunakan time-slicing dan round-robin untuk menangani kasus ini. Setiap thread dengan prioritas yang sama akan diberikan sebuah jangka waktu tertentu untuk dieksekusi sebelum CPU mengontrol thread lain yang memiliki prioritas yang sama. Sedangkan Solaris, ia akan membiarkan sebuah thread untuk dieksekusi sampai ia menyelesaikan tugasnya atau sampai ia secara suka rela membiarkan CPU untuk mengontrol thread yang lain.

Stream merupakan dasar operasi input-output ( I/O ) dalam Java yang menggunakan package java.io sebagai package utama. Stream adalah representasi abstrak dari input dan output device, dimana aliran bytes akan ditransfer seperti file dalam harddisk, file pada sistem remote atau printer. Kita dapat membaca data dari input stream, yang dapat berupa file, keyboard atau komputer remote. Sedangkan untuk operasi penulisan berarti menulis data pada output stream. Package java.IO mendukung dua tipe stream, yaitu binari dan karakter stream. Binari merupakan data berupa bit atau data binari, sedangkan karakter adalah tipe khusus untuk pembacaan dan penulisan teks/karakter.
A. Input Stream
Subclass-subclass dari input Stream adalah: Audio Input Stream, Byte Array Input Stream, File Input Stream, Filter Input Stream, Piped Input Stream, Sequence Input Stream, dan String Buffer Input Stream. Dua method utama dari InputStream adalah :
a. Read : Method ini digunakan untuk membaca stream
b. Close : Method ini digunakan untuk menutup koneksi input stream.
B. Output Stream
Subclass-subclass dari outputStream adalah :
• ByteArrayOutputStream : digunakan untuk menuliskan stream menjadi byte array;
• FileOutputStream : digunakan untuk menulis pada file;
• FilterOutputStream : merupakan superclass dari subclass-subclass seperti DataOutputStream, BufferOutputStream, PrintStream, CheckedOutputStream;
• ObjectOutputStream : digunakan untuk menuliskan objek pada OutputStream.
• PipedOutputStream : digunakan untuk menjadi output dari PipedInputStream.

Sebagian method-method OutputStream adalah :
#Voidclose()
Menutup output stream yang aktif dan melepaskan sumber daya terkait dengan stream tersebut;

#Void flush()
Melakukan flush output stream dan memaksa semua byte buffer untuk dituliskan keluar;
#Void write(byte[] b)
Menulis sebanyak b.length dari byte array ke output stream;
#Void write(byte[] b, int off, int len)
Menuliskan sebanyak len byte dari byte array b dimulai dari index off.

Operator

Di dalam pemograman java terdapat beberapa operator yang harus di perhatikan di antaranya adalah Operator Aritmatika, Operator Relasi, Operator Kondisi dan Operator Logika. Di dalam operator memiliki prioritas utama sehingga pada saat complilernya akan mengetahui mana yang akan di kerjakan lebih dulu. Mari kita bahas operatr lebih dalam.

Operator Aritmatika
operator : + penggunaan : op1 + op2 ket : Menambahkan op1 dengan op2
operator : * penggunaan : op1 * op2 ket : Mengalikan op1 dengan op2
operator : / penggunaan : op1 / op2 ket : Membagi op1 dengan op2
operator : % penggunaan : op1 % op2 ket : Menghitung sisa dari pembagian op1 dengan op2
operator : - penggunaan : op1 - op2 ket : Mengurangkan op2 dari op1

Di dalam operator aritmatika terdapat juga operator unary increment (++) dan operator unary decrement (–)
operator : ++ penggunaan : op++
ket : Menambahkan nilai 1 pada op; mengevaluasi nilai op sebelum diincrementasi/ditambahkan
operator : ++ penggunaan :++op
ket : Menambahkan nilai 1 pada op;mengevaluasi nilai op setelah diincrementasi/ditambahkan
operator : — penggunaan :op–
ket : Mengurangkan nilai 1 pada op; mengevaluasi nilai op sebelum didecrementasi/dikurangkan
operator : — penggunaan :–op
ket : Mengurangkan nilai 1 pada op; mengevaluasi nilai op setelah didecrementasi/dikurangkan

Operator Relasi
Operator Relasi membandingkan dua nilai dan menentukan keterhubungan diantara nilai-nilai tersebut. Hasil keluarannya berupa nilai boolean yaitu true atau false.
operator : > penggunaan : op1 > op2 ket : op1 lebih besar dari op2
operator : >= penggunaan : op1 >= op2 ket : op1 lebih besar dari atau sama dengan op2
operator : < penggunaan : op1 < op2 ket : op1 kurang dari op2
operator : <= penggunaan : op1 <= op2 ket : op1 kurang dari atau sama dengan op2
operator : == penggunaan : op1 == op2 ket : op1 sama dengan op2
operator : != penggunaan : op1 != op2 ket : op1 tidak sama dengan op2

Referensi : http://arifust.web.id/?p=25

Array

Program yang cukup kompleks membutuhkan variabel dalam jumlah besar. Kita mungkin saja mendeklarasikan variabel-variabel tersebut satu per satu. Andaikan sebuah program membutuhkan 5 (lima) variabel bertipe int, kita bisa saja mendeklarasikan kelima variabel tersebut dengan cara biasa:

int a, b, c, d, e;


Persoalan akan timbul jika kita membutuhkan variabel dalam jumlah cukup besar, 100 misalnya. Bagaimana kita mendeklarasikan seluruh variabel tersebut: apakah dengan cara mengetik satu persatu atau melakukan trik copy-and-paste Manapun cara yang anda tempuh, cara tersebut akan menghabiskan waktu cukup banyak. Selain masalah waktu, kita juga akan menemui masalah sulitnya mencari nama yang benar-benar unik. Ingat bahwa tidak boleh ada dua variabel atau lebih dengan nama sama. Atau anda ingin menggunakan cara seperti ini :

int x1, x2, x3, … dst.


Java menawarkan konsep array untuk solusi mendeklarasikan sejumlah besar variabel secara cepat. Pemakaian variabel array akan menghemat waktu penyebutan nama variabel. Sebuah variabel array sesungguhnya adalah sejumlah variabel berbeda dengan nama sama, namun memiliki nomor indeks yang unik untuk membedakan setiap variabel tersebut.

0

1

2

3

Indeks adalah sebuah angka yang menyatakan urutan sebuah elemen pada suatu variabel array. Karena seluruh kotak memiliki nama yang sama, maka untuk membedakannya diperlukan suatu cara yaitu dengan memberi nomor urut. Ibarat deretan rumah pada sebuah jalan, untuk membedakan antara rumah yang satu dengan rumah yang lain maka setiap rumah diberi nomor unik yang berbeda antara rumah satu dengan rumah lainnya.

Nomor indeks variabel array selalu dimulai dari 0 (nol), sehingga nomor indeks bagi elemen terakhir adalah sebesar (N-1), dimana N adalah jumlah total elemen. Kita bisa mengakses setiap elemen dalam variabel array dengan mengacu pada nomor indeksnya. Awalan nol untuk nomor indeks array sering menimbulkan kerancuan bagi kita yang terbiasa dengan awalan angka 1.


Deklarasi Variabel Array


Bentuk umum pendeklarasian variabel array di Java adalah:

tipeData[] namaVariabel [= new tipeData[jumlahElemen] ];


TipeData bisa berupa salah satu dari berbagai tipe data seperti int, long, double maupun nama class; baik class standar Java atau class buatan kita sendiri

1. Mendeklarasikan variabel array tanpa menyebutkan berapa jumlah elemen yang diperlukan.

int[] angka;

Variabel angka kita deklarasikan sebagai variabel array dimana setiap elemennya akan menyimpan data bertipe int. Kita tidak menyebutkan berapa jumlah elemen dari variabel angka. Kita harus menuliskan di salah satu baris program instruksi untuk memesan jumlah elemen ini. Sebelum terjadi pemesanan jumlah elemen, kita tidak bisa menggunakan variabel array ini untuk menyimpan data.


2. Mendeklarasikan variabel array dengan menyebutkan jumlah elemen yang diperlukan.

int[] angka = new int[5];

Variabel angka kita deklarasikan sebagai variabel array dimana setiap elemennya akan menyimpan data bertipe int. Pada saat mendeklarasikan ini kita langsung memesan 5 elemen array yang kita perlukan


3. Mendeklarasikan variabel array secara otomatis.

Kita tidak menyebutkan jumlah elemen secara tegas, namun kita mendefinisikan sejumlah data secara terurut.

int[] angka = {5, 3, 23, 99, 2};

Variabel angka kita deklarasikan sebagai variabel array dimana setiap elemennya akan menyimpan data bertipe int. Kita tidak menyebutkan berapa elemen yang kita pesan, tetapi kita langsung menentukan nilai setiap elemen. Karena jumlah data yang kita berikan ada 5, maka komputer akan mengetahui bahwa jumlah elemen yang kita butuhkan adalah 5.



Menghitung Jumlah Elemen Variabel Array


Kita bisa menggunakan instruksi length untuk mengetahui jumlah elemen dari sebuah variabel array. Pernyataan angka.length akan menghasilkan berapa jumlah elemen dari variabel array yang bernama angka. Entah dengan cara bagaimana kita mendeklarasikan sebuah variabel array, Java tetap dapat melaporkan jumlah elemen variabel tersebut melalui instruksi length.


Contoh Program Menghitung Elemen Array

class JumlahElemenArray

{

public static void main (String[] args)

{

int[] angka;

angka = new int[5];

System.out.println ("Jumlah elemen = " + angka.length);

}

}

Array Dua Dimensi

Materi diatas adalah tentang pembahasan array satu dimensi. Istilah satu dimensi mengacu kepada jumlah bilangan yang digunakan sebagai indeks. Penulisan seperti ini

System.out.println(angka[3]);

merupakan penulisan untuk array satu dimensi. Perhatikan bahwa bilangan yang kita gunakan sebagai nomor indeks array hanya satu, tidak perduli berapa jumlah digitnya. Angka 100 merupakan sebuah bilangan, walaupun jumlah digitnya ada 3.

Pada beberapa kondisi diperlukan penulisan variabel array yang menggunakan nomor indeks dua bilangan, misalnya pada aplikasi matrik. Data pada suatu matrik diketahui berdasarkan nilai baris dan kolomnya. Baris adalah sebuah bilangan dan kolom adalah sebuah bilangan juga. Tanpa adanya salah satu dari keduanya kita tidak bisa mengetahui data mana yang dimaksud, jika kita ingin mengambil sebuah data individu.


Bentuk umum pendeklarasian variabel array dua dimensi di Java adalah:

tipeData[][] nama_variabel[=new tipeData[jumlah_baris] [jumlah_kolom]];


Contoh Program Array 2 Dimensi

class ArrayDuaDimensi

{

public static void main (String[] args)

{

int[][] angka = new int[5][3];

for (int i=0; i

for (int j=0; j

angka[i][j] = (int)(Math.random()*100);

System.out.println("Data array dua dimensi:\n");

for (int i=0; i

{

for (int j=0; j

System.out.print(angka[i][j] + " ");

System.out.println();

}

}

}



Referensi : viyan.net23.net/Materi%20Kuliah%20PTA%2008.../Pert4_Array.doc

Variabel, Tipe Data dan Literal

VARIABLE DAN TIPE DATA

Nama merupakan hal penting dalam teknik pemrograman. Dalam suatu program, nama digunakan untuk menyebut sesuatu. Untuk menggunakan "sesuatu" tersebut, programmer harus mengerti bagaimana aturan pemberian nama dan aturan untuk menggunakan nama tersebut dalam programnya. Atau dengan kata lain, programmer harus mengerti sintaks dan semantik dari nama.

Menurut aturan sintaks Java, nama merupakan rangkaian dari 1 atau lebih karakter. Harus dimulai dengan huruf dan harus terdiri dari huruf, angka atau karakter garis bawah '_'. Berikut ini adalah contoh nama yang diperbolehkan:

        N   n   rate  x15   quite_a_long_name   HelloWorld

Hurus kecil dan huruf besar dianggap berbeda, sehingga HelloWorld, helloworld, HELLOWORLD, dan heLLOwoRLD adalah nama yang berbeda-beda. Beberapa kata tertentu merupakan nama yang memiliki kegunaan tertentu oleh Java, dan tidak dapat dipergunakan oleh programmer. Kata-kata ini disebut reserved words (kata-kata cadangan) misalnya: class, public, static, if, else, while, dan lain-lain.

Hal lain yang penting adalah compound names atau nama campuran, yaitu yang merupakan nama biasa yang dihubungkan dengan titik, misalnya System.out.println. Idenya adalah "sesuatu" pada Java dapat terdiri dari "sesuatu" yang lain. Nama System.out.println artinya System menampung out dan out menampung println. Kita sebut "sesuatu" sebagai identifier (pengenal) tidak peduli apakah ia berupa nama tunggal atau campuran.


Program melakukan manipulasi data yang disimpan dalam memori. Dalam bahasa mesin, data hanya bisa diambil dengan menyebut alamatnya di memori. Dalam bahasa pemrograman tingkat tinggi seperti Java, nama bisa digunakan untk mengganti alamat data tersebut di memori. Tugas komputer adalah untuk melacak di mana data tersebut di simpan, sedangkan programmer menggunakan nama untuk memerintahkan komputer mengambil data tersebut dari memori. Nama yang digunakan seperti ini disebut variable.

Variabel sebenarnya berarti lebih kompleks. Variabel bukan isi dari data, tapi lokasi di memori yang menyimpan data tersebut. Variabel bisa diibaratkan sebagai kotak penyimpanan data, bukan isi kotaknya. Karena data di dalam kotak bisa berubah, variabel hanya dapat dipercaya pada satu saat saja, walaupun tempatnya selalu sama.

Dalam bahasa Java, satu-satunya cara untuk memasukkan data ke dalam variabel adalah dengan menggunakan assignment statement, atau pernyataan pemberian nilai. Pernyataan ini berbentuk:

variable = ekspresi;

di mana ekspresi menyatakan apapun yang berhubungan dengan nilai suatu data. Ketika komputer menjalankan instruksi ini, komputer akan menghitung dan menyimpan hasilnya ke dalam variabel. Contoh:

kecepatan = 40;

Variable dalam pernyataan di atas adalah kecepatan dan ekspresinya adalah angka 40. Komputer menghitung pernyataan ini dan menyimpan 40 ke dalam variabel kecepatan, dan mengganti apapun yang telah disimpan sebelumnya.

Sekarang misalnya kita ingin melakukan perhitungan yang lebih kompleks:

jarak = kecepatan * waktu

Di sini, * merupakan operasi perkalian. Komputer mengambil data yang disimpan dalam variabel kecepatan dan waktu, melakukan perkalian, dan menyimpan hasilnya dalam jarak.

Variabel dalam bahasa Java didesign untuk menyimpan hanya 1 jenis tipe data. Kompiler akan menampilkan kesalahan sintax apabila variabel ini dicoba untuk diberi tipe data jenis lain. Oleh karena itu Java disebut bahasa pemrograman bertipe kuat atau strongly typed language.


Suatu variabel baru dapat digunakan apabila telah dideklarasikan. Pernyataan deklarasi variabel digunakan untuk mendeklarasikan satu atau lebih variabel dan memberinya nama. Ketika komputer mengeksekusi deklarasi variabel, komputer akan menyediakan ruangan di memori kemudian menyimpan alamat ini sesuai dengan nama variabel yang diberikan. Deklarasi variable berbentuk seperti :

nama_tipe nama_variabel;

nama_variabel dapat berupa sebuah nama variabel atau beberapa nama sekaligus yang dipisah dengan koma. Gaya pemrograman yang baik yaitu dengan mendeklarasikan satu variabel dalam satu pernyataan, kecuali variabel tersebut berhubungan erat satu sama lain. Misalnya:

float num;
String nama;
String nama;
boolean bol;
int x,y;

Atau pendeklarasian variabel bisa juga dilakukan sekaligus dengan pemberian nilainya, seperti pada contoh berikut:

int num = 1000;
char ch = 'e';
float angka = -1.504;
boolean bol = true;

Jenis-jenis Variabel

Java memiliki beberapa jenis variabel yang dapat dikelompokkan sebagai berikut :

  • Instance Variables (tidak statis). Dalam bahasa pemrograman berorientasi objek, objek menyimpan variabel yang tidak dideklarasikan dengan kata kunci static dalam kategori non-statis, atau dapat berubah-ubah. Suatu kelas dapat dijelmakan ke dalam beberapa objek. Nilai yang terkandung dalam variabel tak-statis ini berbeda untuk setiap objeknya.
  • Class Variables (statis). Variabel ini merupakan bagian integral dari suatu kelas, dan tidak ada satu objek pun yang dapat menyatakan kepemilikan atas variabel ini. Variabel yang dideklarasikan sebagai statis digunakan bersama oleh semua objek. Variabel ini lebih bersifat global yang nilainya sama untuk setiap objek pada kelas yang bersangkutan.
  • Local Variables. Variabel ini didefinisikan di dalam suatu metoda (method) atau dalam suatu prosedur. Variabel ini bersifat lokal karena hanya dapat diakses oleh metoda atau prosedur tersebut.
  • Parameter. Paramater atau argumen adalah variabel yang digunakan pada saat suatu metoda atau prosedur dipanggil. Parameter berguna untuk memberikan nilai awal untuk diteruskan (pass) ke dalam suatu prosedur atau metoda.

LITERAL

Pada bagian ini akan dijelaskan tentang literal, yaitu rangkaian kata atau huruf yang menyatakan suatu nilai. Misalnya

int angka = 10;

Pada pernyataan di atas, yang dinamakan literal adalah 10, karena 10 berarti bilangan bulat atau integer. Pada bahasa pemrograman java, terdapat beberapa jenis literal yang melambangkan bilangan bulat, riil, kalimat, atau boolean.

Literal Bilangan Bulat

Bilangan bulat dapat dilambangkan dalam beberapa bentuk. Bilangan bulat biasa dilambangkan dengan deretan angka yang dimulai dengan angka yang bukan nol.

int angka = -10;

Bilangan oktal adalah bilangan bulat berbasis 8, yang berarti hanya dapat terdiri dari angka-angka 0 hingga 7. Bilangan oktal ditulis seperti bilangan bulat biasa dimulai dengan 0.

// 22 basis delapan atau 18 dalam desimal
int angka = 022;

Bilangan heksadesimal adalah bilangan berbasis 16. Bilangan heksadesimal dilambangkan dengan 0 hingga 9 dan a hingga f dan dimulai dengan 0x.

// 2a heksadesimal atau 42 dalam desimal
int angka = 0x2a;

Long integer. Seperti dijelaskan pada bab terdahulu long integer membutuhkan memori sebesar 64bit, yang artinya kita dapat menyimpan bilangan bulat hingga 2 ^ 64. Untuk merepresentasikan long integer, tambahkan huruf L pada akhir bilangan.

int angka = 22L;

Literal Karakter

Kita dapat melambangkan suatu karakter dengan tanda petik tunggal misalnya ‘a’ atau ‘3′ atau ‘=’. Suatu karakter dapat juga dilambangkan dengan kode ASCII nya. Caranya dengan memulainya dengan \u00 (garis miring terbalik) kemudian diikuti dengan kode ASCII nya dalam bentuk heksadesimal.

// huruf 'A' dalam ASCII
char huruf = '\u0041';

Selain itu ada beberapa karakter lain selain alfabet yang dapat dilambangkan dengan escape sequence. Berikut ini beberapa contohnya.

\n = tombol enter atau baris baru.

\r = carriage return.

\t = tombol tab.

\b = tombol backspace.

\\ = karakter \

\’ = karakter ‘

\” = karakter ”

Literal Boolean

Nilai true dan false pada java merupakan literal boolean. Suatu variabel bertipe boolean hanya dapat memiliki nilai true atau false.

boolean ok = true;

Ingat bahwa boolean true atau false TIDAK menggunakan tanda petik tunggal seperti ekspresi pada karakter.

Literal Bilangan Riil

Bilangan riil, misalnya -0.00127 atau 415.842, pada java dapat disimpan baik sebagai float atau double. Bilangan real dapat direpresentasikan dalam bentuk desimal biasa, pecahan, atau eksponen (dilambangkan dengan e atau E).


Imbuhan akhir d atau D dan f atau F dapat pula ditambahkan untuk menentukan tipenya secara eksplisit. Berikut beberapa contohnya.

double d = 3.27E+32;
float f = 4f;
float pi = 3.14159;

Literal String

String merupakan untaian huruf dan angka yang tersusun menjadi satu kalimat. Dalam bahasa java, string bukan merupakan tipe primitif, tetapi merupakan kelas. String pada java tidak disimpan dalam bentuk array seperti pada C. Java menyediakan beberapa metoda untuk melakukan penggabungan, modifikasi, atau perbandingan. String ditulis di antara dua tanda petik ganda seperti contoh berikut.

String salam = "Selamat Datang";

String juga dapat mengandung karakter spesial seperti dibahas pada literal karakter. Misalnya

String hallo = "Selamat Datang \"Bapak Presiden\"";
System.out.println("Hallo Bambang\nSelamat pagi,\nSemoga hari anda cerah\n";

Berikut ini adalah beberapa contoh lainnya.

// Contoh string kosong
String teks = "";

// Contoh string berisi "
teks = "\"";

// String dapat juga dipisah menjadi beberapa baris
teks = "ini baris pertama " +
"dan ini lanjutannya."

Literal Null

Literal terakhir pada bahasa java adalah literal null. Null merupakan kondisi di mana suatu objek tidak diberi alokasi memori. Pada saat suatu objek dideklarasikan, komputer akan mengalokasikan memori untuk objek tersebut. Apabila objek tersebut telah selesai dipergunakan, kita dapat melepas lokasi memori yang digunakan oleh objek tersebut sehingga memori itu dapat digunakan oleh objek lain. Berikut ini adalah contohnya

obj = null;

Literal null berfungsi memberi tahu garbage collector (pemulung memori) bahwa objek tersebut tidak lagi terpakai. Kemudian memori akan dilepaskan agar dapat digunakan oleh objek lain.


Referensi : http://java.lyracc.com/belajar/java-untuk-pemula/variabel-dan-tipe-data

Pernyataan dan Ekspresi

PERNYATAAN

  • Perintah yang menyebabkan sesuatu terjadi dan mempresentasikan aksi tunggal dalam program Java.
  • ditutup oleh karakter semicolon (;)
  • dikelompokkan dalam blok pernyataan, yaitu dubuka oleh ({) dan ditutup dengan (})

EKSPRESI

  • Pernyataan yang dapat menghasilkan suatu nilai balik (return value) yang dapat berupa bilangan, boolean atau objek.
  • method tanpa nilai balik menggunakan void, contoh : hasilBagi = a/b;

Konsep OOP

Kata Program dan Pemrograman mungkin sudah tidak asing didengar, tetapi apakah sebenarnya Program itu dan apa bedanya dengan Pemrograman ?

  • Program adalah suatu bentuk aplikasi atau bisa juga disebut software yang dibuat dengan menggunakan Bahasa Pemrograman dan dapat menyelesaikan suatu Tugas, Fungsi, Perhitungan dengan menggunakan komputer. Bahasa Pemrograman merupakan kumpulan perintah-perintah yang dimengerti komputer untuk melakukan tugas-tugas tertentu. Sedangkan Pemrograman atau Programming merupakan teknik untuk membuat suatu Program dengan menggunakan Bahasa Pemrograman.
  • Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek.
Untuk lebih memudahkan pemahaman tentang objek, saya beri sebuah contoh : Meja, Kursi, Jam Dinding dan yang lainnya merupakan contoh objek. Objek yang disebutkan tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa
juga dikategorikan sebuah objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga merupakan objek. Jadi sebuah Objek merupakan suatu bentuk atau model yang tergantung dari cara pandang objek dimaksud.

Meja, Kursi, Jam Dinding ada dalam sebuah Ruangan.
Ruang A, Ruang B, dan Ruang yg lain berada dalam sebuah Rumah.
Rumah 1, Rumah 2 dan Rumah yang lain juga berada didalam suatu tempat yang lebih luas yaitu Bumi,
Dst.
Dan bukan tidak mungkin didalam Objek Jam Dinding terdapat objek-objek yang lain yang lebih kecil misalnya Batterai, Gear, dll.


Setiap objek memiliki Atribut dan Method.
  • Atribut adalah segala sesuatu yang berhubungan dengan karakteristik objek. Seperti Tipe, Model, Pintunya, Kusennya menggunakan kayu apa? Warna Catnya, merupakan salah satu atribut dari Rumah.
  • Sedangkan Method dari Rumah adalah dapat melindungi dari panas, hujan, angin. Jadi Method merupakan Fungsi atau segala sesuatu yang dapat dilakukan Objek.
Tanpa harus berteori lagi, kita coba langsung pemahaman tentang Objek dalam Pemrograman dan untuk Bahasa Pemrogramannya kita menggunakan Java. Mengapa Java? Karena pengelolaan Objek didalam Java lebih mudah dipahami.

Asumsi saya, alat pendukung (Tools) pemrograman java sudah terinstall dalam komputer. Apabila belum anda dapat men-download-nya, yang diperlukan adalah Compiler java (http://java.sun.com/j2se/1.4.2/download.html ) dan sebuah teks editor (http://www.textpad.com ) atau dapat menggunakan Notepad pada Windows.

1. Jalankan TextPad pada komputer
2. Ketiklah kode Program berikut ini, pada jendela utama TextPad. (“Perhatikan penulisannya !”)
//Latihan pertama
public class Pertama
{
public static void main(String[]args)
{
System.out.println("Kode Program Pertamaku");
}
}
3. Buatlah sebuah Folder (mis: ContohJava) di C: (“ boleh juga selain C: “)
4. Simpanlah Kode Program diatas pada Folder yang telah dibuat, beri nama file : “Pertama.java” tanpa tanda petik (“Perhatikan penulisan nama filenya!”).
5. Lakukan Kompilasi (Compile) kode program yang telah dibuat dengan mengklik Menu Tools,
External Tools, Compile Java. Atau dengan menekan Tombol CTRL + 1.

Jika tidak ada yang salah, pada Jendela Output akan ditampilkan pesan “Tools Completed
Succesfully”

6. Setelah dikompilasi, jalankan program dengan mengklik Menu Tools, External Tools, Run Java
Applications atau dengan menekan tombol CTRL + 2.
7. Sekarang, lihatlah pada folder “ContohJava” terdapat 2 buah file :
- Pertama.java
- Pertama.class

Penjelasan :
Kita mulai dari hasil kompilasi kode program yang membuat 1 (satu) file dengan nama “Pertama.class”
file ini adalah hasil dari baris perintah
public class Pertama{

Baris perintah ini adalah untuk membuat sebuah class dengan nama “Pertama”, kata kunci public
menandakan bahwa class ini memiliki jangkauan publik atau global artinya class “Pertama” ini dapat digunakan oleh class lain.


Kalau ada class seharusnya ada objeknya dong, lalu yang mana objeknya ?
Mungkin pertanyaannya adalah seperti itu, baik kita lanjutkan penjelasannya.
Coba perhatikan baris perintah
public static void main(String[]args)
{
System.out.println("Kode Program Pertamaku");
}
Masih ingat penjelasan diatas tentang Objek yang memiliki Atribut dan Method, pada baris
public static void main(String[]args)
inilah objeknya.

Mungkin pertanyaan lagi, kalau baris ini adalah objeknya lalu nama objeknya apa, terus atribut
dan methodnya mana?
Pada contoh program ini saya belum mendefinisikan sebuah nama objek dengan jelas karena
programnya masih sangat sederhana, untuk contoh ini “main” adalah nama objeknya berikutnya yang ada didalam
(String[]args)

Ini adalah Atribut dari objek “main” dan terakhir Methodnya ada pada baris
System.out.println("Kode Program Pertamaku");

Pada baris ini objek “main” dengan atributnya “String[]args” melakukan sebuah method yaitu
menampilkan teks/tulisan “Kode Program Pertamaku” pada layar.

Baiklah, sekarang coba ketikan lagi kode program berikut : (“perhatikan penulisannya!”)
//Latihan kedua
public class Rumah //Buat class Rumah
{
//buat method static Meja
public static void Meja()
{
System.out.println("Ada Meja");
}
//method jam dinding
void JamDinding()
{
System.out.println("Ada Jam Dinding");
}
}


• Simpan kode program diatas dengan nama file “Rumah.java”
• Lakukan kompilasi (compile) pada kode program, jika tidak ada pesan error, berikutnya
• Buat lagi satu file baru, ketikan kode progam dibawah ini kemudian simpan file dengan nama
“IsiRumah.java”
• Lakukan compile pada kode program dan lihatlah hasilnya!
//Latihan kedua
public class IsiRumah
{
public static void main(String[]args)
{
Rumah.Meja();
Rumah Panggil = new Rumah();
Panggil.JamDinding();
}
}
Penjelasan :
Pada latihan kedua ini kita telah membuat 2 (dua) buah file, yaitu :
1. Rumah.java membuat sebuah class dengan nama “Rumah.class”
2. IsiRumah.java class yang lain “IsiRumah.class” yang menggunakan class Rumah
Pada file pertama “Rumah.java” diawali dengan membuat sebuah class public “Rumah” agar dapat digunakan pada class yang lain, didalam class “Rumah” terdapat 2 (dua) buah method yaitu “Meja” dan “JamDinding”, perhatikan dari cara penulisannya!

Method “Meja”
public static void Meja()
{
System.out.println("Ada Meja");
}

Kata kunci “public static” digunakan agar method ini mempunyai jangkauan global dan isinya tetap, sedangkan Method “JamDinding” hanya digunakan untuk jangkauan lokal saja

void JamDinding()
{
System.out.println("Ada Jam Dinding");
}

Pada file yang kedua “IsiRumah.java” diawali juga dengan membuat sebuah class public “IsiRumah” didalamnya terdapat method utama “main” dengan Atribut yang digunakan “String[]args”
fungsi kode program ini adalah memanggil class “Rumah” untuk digunakan pada class “IsiRumah”, perhatikan cara pemanggilan yang berbeda dari Method yang ada pada class “Rumah”!

Rumah.Meja();
Pada baris ini, karena Method “Meja” menggunakan kata kunci “public static” maka pemanggilannya dapat secara langsung tanpa harus membuat satu objek baru untuk dapat menggunakan/memanggil method pada class lain, seperti method “JamDinding” pada class “Rumah”
Rumah Panggil = new Rumah();

Pada baris ini dibuat satu objek baru dengan nama “Panggil” yang merupakan nama lain dari class “Rumah”, cara memanggilnya adalah seperti pada baris berikut
Panggil.JamDinding();

Kesimpulannya adalah pengelolaan objek dalam Java lebih mudah untuk dipelajari.

Terima Kasih.

Referensi :
1. http://id.wikipedia.org/
2. Jeni-dasarpemrogramanjava.pdf
3. Codenhead-javabasic.pdf
4. http://asepramdhani.wordpress.com