1.CASS DAN OBJECT
1.1
Class
Dalam dunia nyata, kita sering berinteraksi
dengan banyak object. Kita tinggal di
rumah, rumah adalah suatu
object,
dalam
terminology OOP rumah kita adalah instance dari suatu class rumah.
Misal kita tinggal dalam suatu komplek perumahan, sebelum membangun rumah, developer akan berpanduan pada rancang bangun rumah (blue print) yang telah dibuat seorang arsitek. Blue print dari rumah adalah class, sedang rumah yang kita tinggal (rumah-rumah dalam
komplek)
disebut instance. Manusia adalah
sebuah class ; anda, saya, kita adalah
instance dari class manusia.
Mendeklarasikan class Java
:
<classDeclaration>
::=
<modifier> class <name>{
<attributDeclaration>*
<constructorDeclaration>*
<methodDeclaration>*
}
dimana <modifier> adalah sebuah access modifier, yang mana boleh dikombinasikan dengan tipe
yang laen dari modifier.
Catatan :
1. *
berarti bahwa boleh ada 0 atau lebih kejadian dari deret tersebut yang
menggunakannya juga.
2. <description>
menunjukkan bahwa
Anda
harus mengganti nilai sebenarnya untuk
bagian ini daripada mengurangi penulisannya.
3. Ingat bahwa untuk
class teratas, acces
modifier
yang valid hanyalah public dan package(yakni jika
tidak ada
acces modifier
mengawali kata
kunci class).
Contoh berikut ini mendeklarasikan blueprint SuperHero.
Class SuperHero
{ String superPowers[];
void setSuperPowers(String superPowers[]){
this.superPowers
= superPowers;
}
void
printSuperPowers() {
for (int i = 0; i < superPowers.length; i++) {
System.out.println(superPowers[i]);
}
}
}
1.2
Object
Object adalah instance dari class. Jika class secara umum
merepresentasikan (template) sebuah object,
sebuah instance adalah representasi nyata dari class itu sendiri.
Bekerja dengan Object
Ketika anda membuat program dengan Java, anda akan mendefinisikan beberapa class, anda juga akan menggunakan class untuk
membuat
suatu instance dan
tentu saja akan bekerja dengan instance-instance
tersebut.
Membuat Object
Untuk membuat object, kita menggunakan perintah new dengan sebuah
nama class yang akan dibuat sebagai instance dari class tersebut.
String str =
new
String();
Random r =
new Random();
Pegawai p2 =
new
PEgawai();
Date hari =
new
Date();
hari adalah object reference dari class Date yang akan digunakan untuk mengakses class Date.
Sedangkan operator new adalah operator yang akan menghasilkan hari sebagai reference ke instance dari class Date().
Contoh :
Kita akan menggunakan class Date untuk membuat suatu object Date.
import java.util.Date;
class CreateDates {
public static void main(String args[]){ Date d1,d2,d3;
d1 = new Date();
System.out.println(“Hari 1 : “ +
d1);
d2 = new Date(71,4,14,8,35);
System.out.println(“Hari 2 : “ +
d2);
d3 = new Date(“September 3 1976 2:25 PM”);
System.out.println(“Hari 3 : “ +
d3);
}
}
Ketika Anda memanggil operator new terjadi beberapa hal :
1. Instance baru yang telah diberikan oleh class dicipakan
2. Memori dialokasikan untuk instance tersebut
3. Special Method didefinisikan pada class (Konstruktor)
1.3 Instansiasi
objek
1.3.1Akses Variable Instance
Untuk mengambil value dari suatu variable instance kita gunakan notasi
titik(.).
Dengan notasi
titik,
sebuah instance atau
variable
class dibagi
dua bagian. Object berada di kiri titik dan variable berada di kanan titik.
Pegawai.tugas;
Pegawai adalah object, tugas adalah variable. Misalkan tugas adalah
object yang mempunyai variable instance sendiri yaitu status, penulisan
dapat ditulis sebagai berikut
Pegawai.tugas.status;
1.3.2 Memberi Nilai Variabel
Untuk memberi
nilai
variable
kita gunakan
operator sama dengan(=)
disebelah kanan ekspresi.
Pegawai.tugas.status = SELESAI; // SELESAI==true
Contoh :
// Nama File : Testpoint.java import java.awt.font;
class Testpoint {
public static void main(String args[]) {
Point poin = new Point(10,10); System.out.println(“X = “ +
point.x);
System.out.println(“Y = “ + point.y); System.out.println(“Setting X = 6 “); poin.x =
6; System.out.println(“Setting Y = 14“); poin.y =
14;
System.out.println(“X = “ + point.x);
System.out.println(“Y = “ + point.y);
}
}
1.4
Konstruktor
Metode konstruktor digunakan untuk
menginisialisasi objek baru ketika metode-metode itu
dibuat. Tidak seperti metode biasa, kita
tidak dapat
memanggil metode konstruktor dengan memanggilnya langsung. Metode konstruktor dipanggil oleh java secara
otamatis
ketika kita
membauat
objek baru.
Jika kita menggunakan new untuk membuat objek baru, java melakukan
3 (tiga) hal :
1. Mengalokasikan memori untuk objek baru
2. Menginisialisasi variabel instance objek tersebut, baik dengan nilai awal maupun dengan nilai default (0 untuk bilangan, null untuk
objek, false untuk Boolean, ‘\0’ untuk objek, false untuk Boolean,
‘\0’
untuk karakter).
3. Memanggil Metode konstruktor kelas tersebut (mungkin satu dari
beberapa metode)
Dengan mendefinisikan metode konstruktor pada kelas yang kita buat, kita dapat mengatur
nilai awal variabel instance, memanggil metode berdasar variabel tersebut atau objek lain, atau menghitung property awal objek, kita
juga dapat melakukan overloading konstruktor sebagaimana yang biasa kita lakukanh terhadap metode regular, juga membuat
objek yang memiliki properti khusus berdarkan argumen yang kita berikan dalam
ekspresi new. Konstruktor mirip dengan metode regular, hanya saja ada dua perbedaan utama yaitu : Konstruktor selalu memiliki nama yang sama dengan class. Konstruktor tidak memiliki nilai kembalian.
Contoh Program :
class Asisten {
String nama ;
int
umur;
Asisten(String n, int u) {
nama = n;
umur =
u;
}
void tampilAsisten () {
System.out.print(“Hallo, namaku “ + nama ); System.out.println(“ Umurku “ + umur +
“ tahun “);
}
public ststic void main(String [] args) {
Asisten a;
System.out.println(“ “);
a = new Asisten(“Widy Marinto Jati “ ,20);
a.tampilAsisten();
System.out.println(“--------------------“ ); a = new Asisten(“Iman R, ST
“ ,22); a.tampilAsisten();
System.out.println(“-----------------------“);
}
}
1.5
Atribut
& Method
1.5.1
Atribut
Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi tentang
object. Dikenal juga
sebagai member data, variabel instance, properti atau sebuah field data.
Mendeklarasikan Atribut :
<attributeDeclaration>
::=
<modifier> <type> <name> [=
<default_value>];
<type> ::=
byte | short | int | long | char | float |
double | boolean
|
<class>
Catatan
:
[] = Menunjukkan
bahwa bagian ini hanya pilihan
Contoh:
public class AttributeDemo {
private String studNum;
public boolean graduating = false;
protected
float unitsTaken = 0.0f; String college;
}
1.5.2
Method
Sebuah method adalah bagian-bagian kode yang
dapat dipanggil oleh program utama atau dari method lainnya untuk menjalankan
fungsi yang spesifik di dalam kelas. Method dapat dibagi menjadi fungsi dan
prosedur. Fungsi adalah bagian atau sub dari program yang mempunyai algoritma
tertentu dalam menyelesaikan suatu masalah dengan mengembalikan hasil. Prosedur
adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam
menyelesaikan suatu masalah tanpa mengembalikan suatu nilai hasil. Secara umum
method dalam java adalah sebuah fungsi.
Karakteristik method :
1.
Dapat mengembalikan satu nilai atau tidak sama sekali
2.
Dapat diterima beberapa parameter yang dibutuhkan atau tidak ada
parameter sama sekali. Parameter bisa juga disebut sebagai argumen dari fungsi
3.
Setelah method telah selesai dieksekusi, dia akan kembali pada method
yang Memanggilnya.
Deklarasi sebuah method
Method terdiri atas dua bagian yakni :
1.
Method declaration
2.
Method Body
Method
dapat digambarkan sebagai sifat (behavior) dari suatu class. Untuk
mendefinisikan method pada dalam class digunakan sintaks sintaks
[modifier]
<tipe_data_return> nama_method(
[parameter] ) { methode body }
Contoh : public int Perkalian (int y;int z) { methode body }
Modifier
pada method
Modifier
menentukan level pengaksesan sebuah method. Hal ini menentukan apakah sebuah
method bisa diakses oleh objek lain, objek anak, objek dalam satu paket atau
tidak dapat diakses oleh suatu object sama sekali berikut adalah beberapa jenis
level access:
· Public
Atribut
ini menunjukan bahwa fungsi/method dapat diakses oleh kelas lain.
· Private
Atribut
ini menunjukan bahwa fungsi atau method tidak dapat diakses oleh kelas lain
· Protected
Atribut
ini menunjukan bahwa fungsi atau method bisa diakses oleh kelas lain dalam satu
paket dan hanya kelas lain yang
merupakan subclass nya pada paket yang berbeda.
· Tanpa
modifier
Atribut
ini menunjukan bahwa method dapat diakses oleh kelas lain dalam paket yang
sama.
· Abstract
Fungsi
tidak memiliki implementasi.
· Final
Method
tersebut tidak dapat dioverride oleh kelas turunan.
· Static
Method
dapat diakses tanpa harus melakukan instantiasi terlebih dahulu.

Tidak ada komentar:
Posting Komentar