Anda di halaman 1dari 27

CLASS DAN OBJEK ( 1 )

Apa itu Class ??


• Class adalah blueprint atau prototipe/kerangka
yang mendefinisikan variabel-variabel(data) dan
method-method(perilaku) umum dari sebuah
objek tertentu.
• Sebagai contoh objek mobil. Mobil memiliki data
seperti warna,tahun,merk,tipe,nomor polisi dan
sebagainya.
• Selain data atau ciri fisik tersbut mobil juga memiliki
perilaku-perilkau spesifik yang dapat membedakan
antara mobil satu dengan lainnya seperti : Sistem
pengereman, perubahan roda gigi, dll.
• Dalam pemrograman objek-objek seperti ini dapat
didefinisikan class.
• Dengan kata lain class adalah pola (template) untuk
pembuatan objek dan objek adalah wujud nyata
( instance ) dari sebuah kelas
• Sebagai contoh manusia adalah class ; sedangkan
contoh objek atau wujud nyata dari kelas manusia
adalah si Udin,Tono,Dewi dll.
Mendefinisikan Class
• Dalam java kelas didefinisikan dengan menggunakan kata kunci class.
• Bentuk umum pendefinisian class:

Class NamaKelas{
Tipe data1;
Tipe data2;
Tipe dataN;
Tipe method1(daftar parameter){
Kode untuk method1
}
Tipe method2(daftar parameter){
Kode untuk method2
}
……
}
• Data atau variabel yang didefinisikan didalam
sebuah class sering pula disebut instance
variable. Nilai dari data-data tersebut akan
diakses melalui method-method yang ada
• Jadi method digunakan sebagai interface
antara user dan data-data yang terdapat
didalam class yang bersangkutan
• Data dan method yang tergabung dalam suatu
class sering dinamakan dengan class members
( anggota class )
Contoh Class Sederhana
class Kotak {
double panjang ;
double lebar ;
double tinggi ;
}
 Dari contoh diatas berarti kita telah mendefiniskan sebuah tipe
data baru dengan nama Kotak
 Objek aktual dari kelas tersebut harus dibuat sendiri degan kode
berikut :

Kotak k = new Kotak();// membuat objek Kotak dengan nama k

Disini Kotak adalah Class dan k adalah objek atau instance dari class Kotak.
Melalui objek k , kita dapat mengakses dan memanipulasi data-data yang
terdapat pada class Kotak dengan cara menggunakan operator titik ( . )
• Contoh :
k.panjang = 4;
k.lebar=3;
k.tinggi=2;

Kode tersebut digunakan untuk mengisi nilai


kedalam data panjang,lebar, dan tinggi
yang dimiliki oleh objek k masing-masing
dengan nilai 4,3,2.
class Kotak { // Mengisikan nilai ke dalam
double panjang; data-data kelas Kotak
double lebar; k.panjang = 4;
double tinggi; k.lebar = 3;
} k.tinggi = 2;
class DemoKotak1 { // Menghitung isi/volume
public static void main(String[] kotak
args) { volume = k.panjang *
double volume; k.tinggi * k.lebar;
Kotak k = new Kotak(); // Menampilkan nilai
volume ke layar monitor
System.out.println("Volume
kotak = " + volume);
}
}
class Kotak { // Mengisikan nilai ke dalam objek k2
double panjang; k2.panjang = 6;
double lebar; k2.lebar = 5;
double tinggi; k2.tinggi = 4;
} // Menghitung isi/volume dari objek k1
class DemoKotak2 { volume1 = k1.panjang * k1.tinggi *
k1.lebar;
public static void main(String[] args) {
// Menghitung isi/volume dari objek k2
double volume1, volume2;
volume2 = k2.panjang * k2.tinggi *
Kotak k1 = new Kotak(); //
k2.lebar;
mendeklarasikan objek k1
// Menampilkan nilai volume k1 dan k2
Kotak k2 = new Kotak(); //
ke layar monitor
mendeklarasikan objek k2
System.out.println("Volume k1 = " +
// Mengisikan nilai ke dalam objek k1
volume1);
k1.panjang = 4;
System.out.println("Volume k2 = " +
k1.lebar = 3; volume2);
k1.tinggi = 2; }
}
Deklarasi Objek
• Untuk membuat objek baru dari tipe class yang telah
didefinisikan, secara eksplisit kita perlu melakukan dua tahap
• Pertama : deklarasikan variabel yang digunakan sebagai
referensi ke objek dari kelas bersangkutan
• Kedua : instansiasi kelas dengan menggunakan operator new
dan memasukkan instance nya kedalam variabel referensi
yang baru saja dideklarasikan.
• Operator new secara dinamis akan mengalokasikan ruang
memori untuk menyimpan suatu objek tertentu dan
mengembalikan nilai berupa referensi ke objek
bersangkutan.
• Referensi objek yang dimaksud adalah sebuah alamat memori dari
objek yang dialokasikan dengan menggunakan operator new

• Contoh :

Kotak k; // mendeklarasikan variabel k bertipe Kotak


k = new Kotak()//Melakukan instansiasi,memasukkan referensi ke var k

Baris pertama ( Tahap satu ) berguna untuk mendeklarasikan variabel


k yang berperan sebagai referensi ke objek dari tipe Kotak.
Pada tahap ini variabel k bernilai null, yang berari referensi tersbut
belum menunjuk ke objek aktual manapun
Baris kedua ( tahap dua ) digunakan untuk mengalokasikan sebuah
objek baru dan memasukkan referensinya ke dalam variabel k
Mengisi Nilai Pada Referensi Objek
• Perhatikan baris kode berikut :
Kotak k1, k2 ;
k1 = new Kotak();
k2 = k1;
 Baris pertama digunakan untuk mendeklarasikan variabel
referensi ke objek Kotak dengan nama k1,k2
 Baris kedua berfungsi untuk membuat objek Kotak dan
menyimpan referensinya ke dalam variabel k1
 Baris ketiga digunakan untk memasukkan k1 ke dalam k2
 Ini artinya varibel k2 berperan sebagai refrensi objek
yang sedang ditunjuk oleh k1
 Dengan demikian berarti objek k1,k2 masing-masing
merujuk pada Objek Kotak yang sama
// Mengisikan nilai ke dalam objek k1
class Kotak {
k1.panjang = 4;
double panjang; k1.lebar = 3;
double lebar; k1.tinggi = 2;
double tinggi; // Menghitung isi/volume dari objek k1
} volume1 = k1.panjang * k1.tinggi *
k1.lebar;

class DemoReferensi1 { // Menghitung isi/volume dari objek k2


public static void main(String[] volume2 = k2.panjang * k2.tinggi *
args) { k2.lebar;

double volume1, volume2; // Menampilkan nilai volume k1 dan k2


ke layar monitor
System.out.println("Volume k1 = " +
Kotak k1, k2; volume1);
System.out.println("Volume k2 = " +
k1 = new Kotak(); volume2);
k2 = k1; }
}
Method
• Apa itu Method ??
• Method adalah Prosedur/fungsi yang dimiliki oleh sebuah
objek. Dalam beberapa referensi method dianalogikan juga
dengan istilah prosedur, fungsi dan behaviour
Bentuk umum pembuatan method
Tipe namaMethod(daftar-parameter){
// Kode yang akan dituliskan
}
Pada bentuk umum diatas tipe adalah tipe data yang akan
dikembalikan oleh method. Method terbagi menjadi dua
yaitu : void ( tidak mengembalikan nilai ) dan non-void
( mengembalikan nilai )
Contoh Method Void
class Kotak { // instansiasi objek
double panjang; // mengisi data untuk
k1 = new Kotak(); objek k3
double lebar;
k2 = new Kotak();
double tinggi; k3.panjang = 8;
k3 = new Kotak();
k3.lebar = 7;
// Mendefinisikan method void k3.tinggi = 6;
(tidak mengembalikan nilai) // mengisi data untuk objek
k1
void cetakVolume() {
k1.panjang = 4; // memanggil method
System.out.println("Volume
k1.lebar = 3; cetakVolume() untuk
kotak = " +
k1.tinggi = 2; masing-masing objek
(panjang * lebar * tinggi));
}
} // mengisi data untuk objek k1.cetakVolume();
class DemoMethod1 { k2 k2.cetakVolume();
public static void main(String[] k2.panjang = 6; k3.cetakVolume();
args) { k2.lebar = 5; }
Kotak k1, k2, k3; k2.tinggi = 4; }
Contoh Method non-void

class Kotak { class DemoMethod2 { k3.panjang = 8;


double panjang; public static void k3.lebar = 7;
main(String[] args) {
double lebar; k3.tinggi = 6;
double tinggi;
Kotak k1, k2, k3;

// Mendefinisikan System.out.println("Volu
k1 = new Kotak(); me k1 = " +
method yang
k2 = new Kotak(); k1.hitungVolume());
mengembalikan tipe
double k3 = new Kotak();
System.out.println("Volu
double hitungVolume() {
k1.panjang = 4; me k2 = " +
// menghitung volume k2.hitungVolume());
k1.lebar = 3;
double vol = panjang *
lebar * tinggi; k1.tinggi = 2;
System.out.println("Volu
// mengembalikan nilai me k3 = " +
return vol; k2.panjang = 6; k3.hitungVolume());
} k2.lebar = 5; }
k2.tinggi = 4; }
}
Method Berparameter
• Java mengijinkan method tanpa parameter, akan tetapi java
juga mengijinkan method berparameter.
• Penyertaan parameter pada sebuah method akan
menjadikan sebuah program menjadi lebih dinamis
• Ada dua istilah yang lazim digunakan jika anda menggunakan
method, yaitu parameter/Parameter formal dan argumen /
parameter aktual
• Parameter adalah variabel yang didefiniskan pada saat
method dibuat
• Argumen adalah nilai yang digunakan pada saat
pemanggilan method.
class Kotak { class DemoMethod3 {
double panjang; public static void main(String[] args) {
double lebar;
double tinggi;
Kotak k;
// Mendefinisikan method dengan
parameter
// Instansiasi objek
void isiData(double p, double l,
double t) { k = new Kotak();
panjang = p;
lebar = l; // Memanggil method isiData()
tinggi = t; k.isiData(4,3,2);
}
System.out.println("Volume kotak =
double hitungVolume() { " + k.hitungVolume());
return (panjang * lebar * tinggi); }
} }
}
Constructor
• Adalah method khusus yang didefinisikan
didalam class dan akan dipanggil secara
otomatis setiap kali terjadi instansiasi objek
• Constructor berfungsi untuk melakukan
inisialisasi nilai terhadap data-data yang ada
pada class yang bersangkutan
• Apabila constructor tidak dibuat maka java
secara otomatis akan membuatkanya (default
constructor)
• Deafault constuctor akan menginisialisasi
semua data yang ada dengan nilai nol, akan
tetapi sekali kita membuat constructor baru,
maka default constructor tidak akan berfungsi
lagi
• Constructor tidak memiliki nilai kembalian
• Nama sebuah constructor harus sama persis
dengan nama class yang didefinisikan.
class Kotak {
class DemoConstructor1 {
double panjang;
double lebar; public static void main(String[]
double tinggi; args) {

// Mendefinisikan constructor Kotak k1, k2;


untuk kelas Kotak
Kotak() {
k1 = new Kotak();
panjang = 4;
lebar = 3; k2 = new Kotak();
tinggi = 2;
} System.out.println("Volume k1 = "
+ k1.hitungVolume());
double hitungVolume() { System.out.println("Volume k2 = "
return (panjang * lebar * tinggi); + k2.hitungVolume());
}
}
}
}
Keyword This
• Keyword this digunakan untuk mengacu pada
objek yang dimilikinya
• This digunakan untuk mereferensi ke objek
yang sedang aktif dan digunakan didalam
method untuk mewakili nama class
bersangkutan.
Class Kotak {
Double panjang,lebar,tinggi;
// constructor
Kotak (double panjang, double lebar, double tinggi ) {
This.panjang = panjang;
This.lebar=lebar;
This.tinggi=tinggi;
}
}
• Java tidak mengijinkan pendeklarasian variabel yang
sama dalam satu blok tertentu
• Java membolehkan pendeklarasian parameter yang
sama dengan nama data yang terdapat didalam class
• Meskipun demikian nama variabel lokal (variabel
yang digunakan sebagai parameter) akan menimpa
nama data yang terdapat didalam class bersangkutan
• Untuk menghindari penimpaan variabel ini maka kita
harus menggunakan keyword this
Garbage Collection
• Cara mengalokasikan objek dalam java
menggunakan operator new
• Bagaimana cara mendealokasikan suatu objek
dalam java?
• Java akan melakukannya dealokasi objek yang
yang telah dibuat didalam memory secara
otomatis
• Mekanisme pembuangan objek secara otomatis
ini dinamakan garbage collection
• Garbage collection terjadi secara
sporadis(Jarang-Jarang )
• Cara kerjanya adalah :
Ketika tidak terdapat referensi-referensi ke
suatu objek yang telah ada, maka java
mengasumsikan bahwa objek tersebut sudah
tidak diperlukan lagi, dan ruang memory yang
telah ditempati oleh objek tersebut dapat
dimanfaatkan oleh objek lain.
Method Finalize()
• Meskipun java menyediakan fasilitas Garbage collection ,
tapi apabila objek yang kita buat mengandung resource
seperti akses file gambar,font, maupun yang lain; kita perlu
membebaskan resource terlebih dahulu sebelum java
membuang objek yang bersangkutan.
• Untuk mengatasi hal ini java menyediakan bagian finalisasi.
• Dengan menggunakan finalisiasi kita dapat mendefinisikan
aksi aki tertentu ke dalamnya
• Aksi-aksi tersebut akan dijalankan pada saat objek akan
dibuang oleh garbage collector
Referensi :
1. Budi Raharjo dkk, Mudah Belajar Java,
Informatika,2012,Bandung
2. Benny Hermawan, Menguasai Java 2 &
Object Oriented Programming, Andi
Offset,2004,Yogyakarta

Anda mungkin juga menyukai