Selasa, 31 Maret 2009

Tugas II Program Perpustakaan Java


PROGRAM PERPUSTAKAAN MENGGUNAKAN JAVA BERBASIS TEKS
1. Source code class Perpustakaan


class perpustakaan
{
public static void main(String args[])
{
String input;
int JumlahBayar, denda, biaya;


//aturan pinjam
System.out.println("Program Perpustakaan XYZ ");
System.out.println("------------------------------");
System.out.println("Kategori Buku dan Harga: ");
System.out.println("1. Kamus Rp.3000,00");
System.out.println("2. Majalah Rp.1000,00");
System.out.println("3. TextBook Rp.2000,00");
System.out.println("Pilih Kategori ----> [1/2/3] ");
System.out.println("------------------------------");
System.out.println("Aturan Peminjaman Buku ");
System.out.println("Peminjaman maksimal 1 Minggu [7 hari] ");
System.out.println("Denda sebanyak Rp.500,00 per hari untuk setiap koleksi");
System.out.println("------------------------------");
//input nama, no anggota, dan kategori buku

System.out.print("Nama Anggota :");
input = InputKeyboard.inputString();
System.out.print("Nomor Anggota :");
input = InputKeyboard.inputString();
System.out.print("Pilih Kategori Buku :");
input = InputKeyboard.inputString();

//pilihan koleksi buku berdasarkan kategori
int kategori = Integer.valueOf(input).intValue();




if (kategori==1)
{
System.out.println("Kategori Kamus : ");
System.out.println("1. Kamus Bahasa Inggris ");
System.out.println("2. Kamus Bahasa Jepang ");
System.out.println("3. Kamus Bahasa Perancis ");
}
else if (kategori==2)
{
System.out.println("Kategori Majalah : ");
System.out.println("1. Chip ");
System.out.println("2. PC Media ");
System.out.println("3. Edu Art ");
System.out.println("4. Techcom ");
}
else
{
System.out.println("Kategori Textbook: ");
System.out.println("1. Pemrograman Java GUI ");
System.out.println("2. Tutorial Netbeans 6.5 ");
System.out.println("3. Game 3D Menggunakan Flash ");
System.out.println("4. Bisnis lewat Internet ");
}
//memasukkan pilihan koleksi yang akan dipinjam
System.out.print("Koleksi yang Anda Pilih ? : ");
input = InputKeyboard.inputString();
System.out.println("Koleksi Yang Anda ingin pinjam adalah : "+input+""
);
System.out.println("");

//memasukkan data lama pinjam
System.out.print("Lama Pinjam (Jumlah Hari) : ");
input = InputKeyboard.inputString();
System.out.println("");

//penghitungan biaya sewa dan denda
int LamaPinjam = Integer.valueOf(input).intValue();
if(LamaPinjam > 7)
{
if (kategori==1)
{
biaya = 2000;
}
else if (kategori==2)
{
biaya = 3000;
}
else
{
biaya = 1000;
}
denda = (LamaPinjam-7) * 500;
}
else
{
if (kategori==1)
{
biaya = 2000;
}
else if (kategori==2)
{
biaya = 3000;
}
else
{
biaya = 1000;
}
denda =0;
}
//menampilkan biaya sewa dan denda
System.out.println("Biaya yang harus Anda Bayar : Rp. "+biaya);
System.out.println("Denda : Rp. "+denda);
JumlahBayar = biaya + denda;
System.out.println("");
System.out.println("Total Biaya yang harus dibayar : Rp. "+JumlahBayar);
System.out.println("");
}
}





2. Source code class InputKeyboard


import java.io.*;
public class InputKeyboard{
public static String inputString(){
int karakter; String str =""; boolean selesai = false;
while(!selesai){
try{
karakter = System.in.read();

if(karakter < 0 || (char) karakter == '\n') selesai = true;
else if ((char) karakter != '\r') str = str + (char) karakter;
}catch(java.io.IOException e){
System.err.println("Ada kesalahan");
selesai = true;
}
}
return str;
}
}

3. Hasil Tampilan Program Setelah Dieksekusi



Baca Selengkapnya..

Kamis, 26 Februari 2009

INHERITANCE PADA JAVA

A. Pengertian inheritance
1.Inheritance (pewarisan) yaitu proses pewarisan data dan method dari suatu kelas kepada kelas lain.
2.Pewarisan bersifat menyeluruh
3.Semua data dan method milik kelas asalnya diturunkan ke kelas baru.
4.Kelas yang mewariskan --> Super Class atau Kelas Induk
5.Kelas yang diwariskan --> Sub Class atau Kelas Ana

Misal :
kelas B adalah kelas anak dari kelas A, maka sifat – sifat dari kelas A otomatis akan dimiliki juga oleh kelas B.
Jika kelas induk merupakan turunan dari kelas lain, maka data dan method yang berasal dari kelas tersebut akan ikut diwariskan pula kepada kelas anaknya.

Contoh :
Kelas C adalah kelas anak dari kelas B
Kelas B merupakan kelas anak dari kelas A.
Maka sifat–sifat yang diwariskan kelas A ke kelas B juga akan diwariskan ke kelas C.

Keyword untuk pewarisan : extends

B. Keuntungan Pewarisan (Inheritance)


1. Bersifat reusable
Tidak harus menyalin semua data dan method dari suatu kelas jika akan menggunakannya lagi

2. Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama
Untuk memodifikasi suatu data atau method untuk semua subkelas / kelas anak, maka tidak perlu melakukan perubahan di masing-masing kelas anak melainkan hanya pada kelas induk saja.

Contoh 1 Inheritance

class Induk
{
private String var1; //hak akses private berarti tidak dapat diakses oleh kls anak
public int var2; //hak akses public berarti dapat diakses oleh kls anak
//konstruktor
Induk (){
}
//method
public void cetakData() {
}
}

class Anak extends Induknya
{
private String dataAnak; //variabel
//konstruktor
Anaknya() {
}
public void cetak() {
cetakData();//method milik Induk
// ada jg yang memanggil dgn super.cetakData()
}
}

Sumber : http://java.stikom-bali.ac.id/dosen/java7.ppt


Contoh 2 Inheritance

class mobil_lengkap2{String warna;

int tahunProduksi;

void printmobil()
{
System.out.println("warna :"+warna);
System.out.println("tahun :"+tahunProduksi);
}
void hidupkanmobil()
{
System.out.println("hidupkanmobil");
}
void matikanmobil()
{
System.out.println("matikanmobil");
}
void ubahgigi()
{
System.out.println("ubahgigi");
}


}


class mobil_bmw extends mobil_lengkap2
{

void nontonTV()
{
System.out.println("TV dihidupkan");
System.out.println("TV mencari channel");
System.out.println("TV menampilkan gambar");
}


}


Baca Selengkapnya..

Konsep Dasar Pemrograman Berorientasi Objek

Java adalah sebuah platform teknologi pemrograman yang dikembangkan oleh Sun Microsystem. Pertama kali di-release tahun 1991 dengan nama kode Oak. Kemudian tahun 1995 nama kode Oak diganti menjadi Java. Yang memotivasi Java dibuat adalah untuk membuat sebuah bahasa pemrograman yang portable dan independent terhadap platform (platform independent). Java dapat membuat perangkat lunak yang dapat ditanamkan (embedded) pada berbagai mesin dan peralatan konsumer, seperti handphone, microwave, remote control, dan lain-lain. Hal ini kemudian Java memiliki konsep yang disebut write once run anywhere.Konsep Object Oriented sebenarnya bukanlah barang baru dalam dunia bahasa pemrograman. Konsep ini sudah lama ada dimulai dari bahasa pemrograman Small Talk, LISP, C ++, dan beberapa bahasa pemrograman lainnya. Mengapa menggunakan Java dalam mempelajari PBO? Sintaks Java merupakan pengembangan dari bahasa C/C++. Pemrograman Java memiliki beberapa keunggulan diantaranya:
1. Bersifat protable dan platform independent. Program Java yang telah ditulis akan dapat dieksekusi di mesin apapun dan sistem operasi apapun tanpa harus mengubah sedikitpun dari program tersebut.
2. memiliki garbage collection yang dapat mendealokasikan memori secara otomatis.
3. menghilangkan sifat pewarisan berganda yang terdapat pafa C++.
4. Mengurangi pointer aritmetika. Pengaksesan lokasi memori secara langsung dengan menggunakan pointer memungkinakn program untuk melakukan suatu tindakan yang tidak seharusnya atau tidak boleh dilakukan. Untuk mengurangi kemungkinan kesalahan seperti ini penggunaan pointer pada Java telah dibatasi dengan menggunakan reference.
5. memiliki array sejati.
6. mengurangi kerancuan antara pemberian nilai pada statement conditional.

Sumber : http://id.wikipedia.org/wiki/OOP


Selain itu Java memiliki karakteristik :
1. Berorientasi Objek
2. Robust
3. Portable
4. Multithreading
5. Dinamis
6. Sederhana
7. Tredistribusi
8. Aman
9. Netral secar arsitektur
10. Interpreter
11. Berkinerja tinggi
12. free / bebas licence

Dalam konsep object oriented akan kita temukan kata object dan class, class merupakan pola / template yang menggambarkan kumpulan object yang mempunyai sifat yang sama, perilaku, atau disebut dengan himpunan object sejenis. Sementara object adalah implementasi dari class. Sebagai contoh : dalam pembangunan suatu gedung tentunya seorang arsitek akan menggunakan gambar desain gedung, dan kemudian akan dibuat gedung nyatanya. Dalam contoh ini gambar desain gedung dapat kita kategorikan sebagai class dan gedung nyatanya sebagai implementasi dari gambar gedung yang dapat kita kategorikan sebagai object. Dari suatu class dapat dibuat beberapa object yang sama.







Karakteristik Utama Pemrograman Berorientasi Objek (PBO)
Object itu secara mudahnya dapat dikatakan terdiri dari property dan method. Konsep object oriented memiliki karakteristik utama yaitu :
1. Enkapsulasi
Enkapsulasi adalah suatu mekanisme untuk menyembunyikan atau memproteksi suatu proses dari kemungkinan interferensi atau penyalahgunaan dari luar sistem sekaligus menyederhanakan penggunaan system itu sendiri. Akses ke internal sistem diatur sedemikian rupa melalui seperangkat interface. Contoh kasus sepeda motor, pada sistem pemindahan gigi transmisi, maka pengendara tidak perlu tahu detail dari bagaimana proses pemindahan gigi itu dilakukan oleh mesin, cukup tahu bagaimana menekan gigi transmisi itu. Pedal gigi transmisi yang diinjak pengendara itu merupakan interface (antar muka) pengendara dengan sistem transmisi sepeda motor.

2. Pewarisan (Inheritance)
Sebagai manusia kita sebenarnya terbiasa untuk melihat objek yang berada disekitar kita tersusun secara hierarki berdasarkan class-nya masing-masing. Dari sini kemudian timbul suatu konsep tentang pewarisan yang merupakan suatu proses dimana suatu class diturunkan dari class lainnya sehingga ia mendapatkkan cirri atau sifat dari class tersebut.

Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga Anjing, kucing dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia. Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja. Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class anjing, kucing dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing. Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.
3. Polymorphism
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Pada contoh diatas clas dasar adalah class bentuk yang memiliki atribut berupa Luas dan operasi hitung luas, class tersebut dapat diturunkan kedalam berbagai macam class bentuk seperti Segitiga, Lingkaran, Persegi panjang. Class Segitiga, Lingkaran, Persegi panjang memiliki atribut “Luas” dari hasil penurunan class bentuk, akan tetapi operasi hitung luas pada masing masing class akan berbeda-beda, inilah yang disebut sebagai polymorphism

Baca Selengkapnya..

Instalasi Java

Pada bagian ini akan dibahas langkah-langkha untuk instalasi dan konfigurasi Java Development Kit (JDK):
1. Mulai dari windows explorer double click pada icon j2sdk-1.4.2.win didirektori yang berisi program-program pendukung Java.
2. berikutnya adalah tahapan-tahapan yang harus diperhatikan sesuai dengan kotak dialog yang muncul.
3. pada pilihan komponen-komponen, pilihlah sesuai dengan kebutuhan yang diinginkan untuk diinstalasi.
4. pilihlah juga direktori yang diinginkan untuk tempat instalasi JDK, misal di C:\Java.
5. setelah itu proses instalasi akan berlangsung, tunggulah hingga selesai.
6. jika instalasi telah lengkap / selesai maka akan muncul kotak dialog yang menunjukkan bahwa instalasi komplit.
7. langkah berikutnya, biasanya instalasi JDK akan menghasilkan library yang dibutuhkan masih dalam bentuk file yang terkompres, yaitu src.zip, maka yang harus dilakukan adalah men-decompress file itu dengan winzip atau extractor yang lainnya.
8. hal yang perlu disetting selanjutnya adalah classpath, java home dan path. Untuk setting ketiganya adalah sebagai berikut:
9. untuk system operasi windows 98 maka setting dilakukan di autoexec.bat dengan menuliskan sintaks sebagai berikut : misal java diinstalasi di c:\java
PATH = C:\java\bin
CLASSPATH = c:\java\lib\tools.jar;c:\java\ext\lib\rt.jar
JAVA_HOME = c:\java
Untuk system operasi windows 2000 atau windows XP, maka bisa di-setting melalui Environment Variable.

Sumber : http://www.geocities.com/mmsomantri/modul1oop.htm

Sintaks Bahasa
Contoh program yang sederhana
Setelah mendapatkan gambaran yang cukup mengenai dasar-dasar PBO, kini saatnya memasuki dunia Java yang sebenarnya. Berikut adalah sebuah contoh program yang sederhana:

/*
contoh program Java sederhana
------------------------------------------
*/
class sederhana {
//awal program selau dimulai dari main()
public static void main(String[] args) {
System.out.println(“Hello …. Ini Program Pertamaku”);
}
}
Hal yang perlu dicatat:
Java bersifat case sensitive. Huruf besar dan kecil adalah berbeda dalam Java, karena itu pastikan anda mengetik kode diatas sama persis, tanpa mengubah besar kecil hurufnya. Selain itu dalam Java white space seperti karakter spasi, tab, pindah baris dan karakter lainnya yang berfungsi untuk memformat tampilan, tidak memiliki arti apapun selain untuk memudahkan programmer membaca kode yang ditulis. Karena itu karakter white space dapat digunakan sesukanya untuk memudahkn programmer membacanya.
Ketik program diatas dengan menggunakan text editor (misalnya notepad, atau di linux dengan gedit) dan simpan dengan nama sederhana.java. nama file ini harus sama dengan nama class. Kemudian lakukan kompilasi dengan mengetikkan perintah di c-prompt:
C:\javawork> javac sederhana.java

Jika berhasil, hasil kompilasi ini akan membangkitkan sebuah bytecode dengan nama file sederhana.class. untuk mengeksekusi file ini maka bisa menggunakan perintah:
C:\javawork> java sederhana
Hasil dari eksekusi tersebut maka akan menghasilkan tampilan :
Hello .... Ini Program Pertamaku
Penjelasan Program
Program diatas merupakan program paling sederhana, namun memiliki beberapa bagian penting.
/*
contoh program Java sederhana
------------------------------------------
*/
bagian ini merupakan bagian yang dikenal sebagai komentar. Komentar dalam Java seperti halnya dalam pemrograman yang lainnyabukan merupakan bagain dari program. Karenanya komentar ini tidak akan dikompilasi oleh compiler Java dan tidak akan mempengaruhi alur program. Komentar ini lebih diperuntukkan untuk memperjelas source code yang ditulis sehingga kode program dapat lebih mudah untuk diteliti ualng atau dibaca. Komentar harus selalu ditulis diantara tanda /* dan */.
class sederhana
baris ini mendeklarasikan sebuah class dengan nama sederhana. Jika diperhatikan keseluruhan deklarasi class ini diawali dengan { dan diakhir dengan }. Hal ini berarti bahwa semu yang berada didalam tanda tersebut merupakan bagain dari class ini. Penjelasan tentang class dibahas secara tersendiri dibagian class setelah pembahasan ini.
//awal program selau dimulai dari main()
baris kode ini juga merupakan komentar. Perbedaan dengan /* */ adalah bahwa ia hanya berlaku untuk satu baris ini saja dan semua kata-kata setelah tanda // adalah komentar.
public static void main(String[] args) {
baris ini mendeklarasikan suatu method dengan nama main. Nama main disini merupakan suatu keharusan dalam Java karena Java akan mencari method yang bernama main ini sebagai awal eksekusi program. Keyword public merupakan access specifier yang menentukan visibility level dari method ini. Public berarti method ini dapat diakses darimanapun dari luar class. Method main() akan dipanggil dari luar oleh runtime Java pada saat program akan dieksekusi sehingga access specifier-nya harus menggunakan public. Keyword static memungkinkan method main() diapnggil tanpa harus terlebih dahulu membuat instance dari class sederhana. Ini diperlukan karena method main() akan dieksekusi sebelum objek apapun dibuat dalam memori. Keyword void berarti bahwa method main() tidak mengembalikan nilai apapun setelah diapnggil/dieksekusi.
System.out.println(“Hello …. Ini Program Pertamaku”);
Baris ini memiliki beberapa bagian penting:
 System adalah nama dari salah satu class standar yang dimiliki oleh Java
 Out merupakan anggota dari class system dan juga merupakan objek tersendiri. Out mewakili standard output stream yang dalam hal ini digunakan layar komputer. Seperti halnya method main() diatas, objek out juga dideklarasikan dengan menggunakan keyword static didalam classnya sehingga ia dapat langsung dipanggil tanpa perlu terlebih dahulu membuat instance dari class system.
 Prinltn merupakan method yang terdapat dalam objek out. Berfungsi untuk mencetak keluaran ke standard output. Mthod ini juga mencetak karakter pindah baris. Untuk mencetak tanpa pindah baris bisa menggunakan print().
 “Hello …. Ini Program Pertamaku” merupakan parameter darimethod println yang diterima oleh internal method ini dan dicetak ke standard output yang dalam hal ini adalah layer computer anda. Oleh karena itu sewaktu menjalankan program ini dilayar computer akan tercetak : Hello …. Ini Program Pertamaku.
 Tanda ; diperlukan untuk menandai akhir dari suatu statement / pernyataan / perintah.
Identifier
Identifier merupakan nama yang digunakan untuk menamai class, interface, variable dan method. Programmer dapat menentukan sendiri identifier yang akan digunakan. Hanya yang perlu diperhatikan adalah:
- tidak ada batasan panjang, jadi identifier dapat dibuat dengan panjang karakter yang tidak terbatas.
- Identifier harus diawali dengan huruf, underscore / garis bawah ( _ ) atau lambang dollar ($). Untuk selebihnya dapat digunakan karakter apapun, kecuali karakter yang digunakan sebagai operator oleh Java (*, +, -, /).
- Bukan merupakan keyword yang telah dikenal oleh Java.
Pada contoh sebelumnya sederhana merupakan identifier yang digunakan untuk menamai class yang dibuat.
Reserved Word / keywords
Ini merupakan kata-kata yang telah dikenal oleh Java dengan memiliki arti khusus dalam program. Berikut ini adalah daftar kata-kata tersebut.
Table 1 Daftar Kata (Keyword) yang dikenal dalam Java
abstract boolean break byte case
catch char Class const continue
default do Double else extends
false final finally float For
goto if Implements import instanceof
int interface long native new
null package Private protected public
return short Static strictfp super
switch synchronized this throw throws
transient true Try void volatile
while
Variabel
Variable merupakan lokasi penyimpanan dalam memori. Setiap variable memiliki kemampuan menyimpan suatu informasi sesuai dengan tipe data yang dideklarasikan untuk variable tersebut. Sintaks pendeklarasian varaibel secara umum adalah sebagai berikut:
Tipe_data nama_variable;
Tipe_data meliputi semua tipe data yang dikenal dalam Java, sedangkan nama_variabel adalah identifier yang akan digunakan untuk menunjuk ke variable tersebut didalam program.
Contoh :
int hitung;
kode diatas mendeklarasikan suatu varaibel bernama hitung dengan tipe data integer.
Scope dari Variabel
Dalam Java, secara garis besar scope dari variabel dapat dibedakan menjadi dua bagian, yaitu variabel yang dideklarasikan didalam blok class (dikenal juga sebagai property) dan variabel yang dideklarasikan didalam blok kode.
Variabel yang dideklarasikan dalam blok class akan dikenal dibagian manapun dama blok kelas tersebut. Variabel ini juga bahkan dapat diakses dari luar class dengan menggunakan referensi objek atau instance dari class tersebut, namun hal ini akan dipengaruhi oleh penggunaan access specifier. Access specifier akan dibahas berikutnya.
Pada dasarnya variabel dapat dideklarasikan didalam blok kode manapun. Yang dimaksud dengan blok kode disini adalah bagian dari kode yang dimulai dengan karakter { dan ditutup dengan karakter }. Blok ini menentukan scope dari suatu variabel, yaitu apakah suatu variabel akan dikenal dibagian lain dari program atau tidak. Kita juga bisa membuat nested blok, yaitu blok yang berada didalam blok lainnya. Aturan sederhana yang perlu diingat hanyalah pendeklarasian suatu variabel dalam suatu blok kode akan dikenal oleh nesteted blok yang ada didalam blok kode tersebut, namun tidak berlaku sebaliknya.
Class
Dalam dunia nyata, kita sering memiliki beberapa objek yang berjenis sama, contohnya, sepeda motor yang kita miliki hanya satu dari banyak sepeda motor di dunia. Menggunakan istilah orientasi objek, kita bisa mengatakan bahwa sepeda motor itu adalah sebuah instance dari sebuah class dari objek-objek yang diketahui sebagai sepeda motor. Sepeda motor-sepeda motor umumnya memiliki beberapa status (state) (seperti: gear, 2roda, rantai, jok) dan tingkah laku (behaviour) (merubah gear, dan rem). Namun setiap sepeda motor adalah independen / bebas dan bisa berbeda dari sepeda motor lainnya.
Ketika membuat sepeda motor, pabrik / industri pembuatnya mengambil keuntungan dari kenyataan bahwa sepeda motor memiliki karakteristik yang sama, sehingga untuk membuat sepeda bisa mulai dari satu cetak biru / blue print. Sangat tidak efisien jika membuat sepeda dengan blue print yang berbeda-beda untuk setiap sepeda.
Dalam perangkat lunak berorientasi objek dimungkinkan untuk memiliki banyak objek yang sama yang menggabungkan karakteristik-karakteristik seperti: sudut, employee records, video clips, dan seterusnya. Seperti pabrik sepeda motor kita dapat mengambil keuntungan dari kenyataan bahwa objek-objek dari jenis yang sama adalah serupa dan kita dapat membuatnya dari blue print yang sama. Blue print perangkat lunak itulah yang disebut Class.



Definisi: sebuah Class adalah sebuah blue print , atau prototipe, yang mendefiniskan variabel-variabel dan metode-metode yang umum untuk semua objek dari njenis tertentu.
Class untuk sepeda motor tadi akan mendefinisikan variabel-variabel instan yang diperlukan untuk memuat karakteristik-karakteristik dari objek yang bersangkutan. Class akan dideklarasikan dan menyediakan implementasi-implementasi untuk metode-metode instan yang akaan memungkinkan untuk pengendara sepeda motor tersebut mengubah gear, rem, dan mengubah pedal gas, sebagaimana ditunjukkan pada gambar berikut.
setelah kita membuat kelas sepeda motor, kita dapat membuat sejumlah objek sepeda motor dari Class tersebut. Ketika kita membuat sebuah Class instan, maka system akan mengalokasikan sejumlah memori yang cukup untuk objek-objek dan semua variable instan. Tiap istan mendapat copy-nya sendiri dari semua instan variable yang didefinisikan dalam Class.
tambahan untuk variable instant, class-class dapat mendefinisikan class variable. Sebuah class varaibel memuat informasi yang digabung dengan semua instan dari class. Contohnya, anggaplah sepeda motor memiliki sejumlah gear. Dalam kasus ini, mendefinisikan sebuah variabel instan untuk memegang angka gear adalah sesuatu yang tidak efisien; tiap instan akan memiliki copy dari variabelnya, tetapi nilainya akan sama untuk semua instan. Dalam situasi tersebut, kita dapat mendefinisikan sebuah class variable yang memuat angka-angka gear. Semua instan menggabungkan semua variable ini. Jika satu objek mengubah variabelnya, maka ini akan mengubah semua objek tipe tersebut. Sebuah class juga mendeklarasikan metode class-nya. Kita dapat mengambil sebuah metode class secara langsung dari class, dimanapun kita dapat mengambil metode class pada suatu instan tertentu.

Object vs Class
Kita mungkin memperhatikan bahwa gambaran-gambaran dari objek-objek dan class-class kelihatan hampir sama. Dan lebih mendalam, perbedaan antara class dan objek sering membingungkan. Dalam kenyataannya, hal ini telah nyata bahwa class bukanlah sendirinya objek yang mereka gambarkan. Sebuah blue print dari sebuah sepeda motor adalah bukan sepeda motor. Namun, hal ini sedikit sulit untuk membedakan class-class dan objek dalam system perangkat lunak. Ini memang terpisah karena objek-objek dalam perangkat lunak adalah model elektronik dari model yang ada dalam dunia nyata atau konsep abstraknya. Tetapi hal ini juga karena istilah “objek” kadang-kadang digunakan untuk menunjuk baik class maupun instan-nya.


Baca Selengkapnya..