Selasa, 13 April 2010

Pemograman Java

OBJEK DAN KELAS

1. Paradigma Objek

Paradigma objek merupakan salah satu konsep yang sangat diperlukan dalam menguasai pemrograman berorientasi objek.

Paradigma adalah suatu cara pandang atau cara berpikir sehingga paradigma objek bisa diartikan sebagai cara pandang yang memandang segala sesuatu sebagai objek. Semua aspek dalam java dapat kita anggap sebagai objek, kecuali tipe data primitive karena semua library dan objek dalam java memiliki akar awal class java.lang.Object.

Misal dalam kehidupan sehari-hari kita biasa menjumpai objek antara lain : kucing, meja, kursi, dan lain sebagainya di mana setiap objek ini memiliki karakteristik. Dalam hal ini programmer dituntu agar bisa memindahkan objek ini menjadi code yang dimengerti oleh computer.

2. Konsep Objek dan Kelas

Untuk memindahkan objek tersebut ke bentuk kode diperlukan bahasa penghubung yaitu bahasa pemrograman dalam hal ini java. Bahasa Pemrograman Java bersifat berorientasi pada objek. Java adalah bahasa pemrograman yang berorientasi object. Semua hal, semua benda,baik itu abstract maupun konkrit, adalah object. (Bruce Eckel, Thinking In Java, 101).

Objek ini merupakan kesatuan antara data dan fungsi yang memproses data tersebut.

Kelas dapat didefinisikan sebagai template/blue-print untuk membuat object. Kelas Pembuatan object dari kelas dikenal dengan nama instansiasi.(Puji Hartono, Pemrograman Aplikasi Wireless dengan Java, 10-11)

Perbedaan Objek dan Class :

1) Class merupakan desain dan objek merupakan perwujudan suatu class.

2) Class bersifat abstrak dan objek bersifat kongkrit.

Proses pembuatan class harus dilakukan sedemikian rupa sehingga seluruh data yang diperlukan oleh objek bisa didaftarkan. Secara umum class java didefinisikan dengan format sebagai berikut :

class NamaClass

{ konstruktor1

konstruktor2

method1

method2

field1 / variable

field2 / variable

}

Dari sintaks tersebut kita dapat lihat ada 3 komponen utama dari class, yaitu :

1) Field, merupakan variable ya gada pada class atau sering disebeut juga sebagai data member dari class

2) Konstruktor, menyerupai method dan bisa dikatakan sebagai method khusus dari class. Nama Konstruktor harus sama dengan nama class. Konstruktor akan dipanggil saat pengkonstruksian objek dari class. Satu class dapat memiliki banyak konstruktor.

3) Method, merupakan behavior atau aksi dari class. Method dapat mengembalikan value / nilai atau tidak (void).

Contoh : class OrangIndo

class OrangIndo

{

int tinggibadan=165;

int beratbadan=55;

String bentukbadan;

String warnarambut="hitam";

String warnakulit="kuning langsat";

String kelamin;

boolean kacamata;

OrangIndo(){} //konstruktor kosong

OrangIndo(String btkbadan,String klm, boolean kcmata) //konstruktor yang sudah ditentukan parameternya

//this digunakan untuk membedakan parameter dengan data member

{

this.bentukbadan=btkbadan;

this.kelamin=klm;

this.kacamata=kcmata; }

public static void main (String args[])

{

OrangIndo oi = new OrangIndo(); //pembuatan objek OrangIndo oi

System.out.println("\n Orang Indonesia Pertama");

System.out.println("\t Tinggi badan ="+ oi.tinggibadan);

System.out.println("\t Berat badan ="+ oi.beratbadan);

System.out.println("\t Bentuk badan ="+ oi.bentukbadan);

System.out.println("\t Berkacamata? ="+ oi.kacamata);

System.out.println("\n=================");

System.out.println("\n Orang Indonesia Kedua");

OrangIndo oic = new OrangIndo("gemuk","pria",true); //pembuatan objek OrangIdo oic

System.out.println("\t Tinggi badan ="+ oic.tinggibadan);

System.out.println("\t Berat badan ="+ oic.beratbadan);

System.out.println("\t Bentuk badan ="+ oic.bentukbadan);

System.out.println("\t Berkacamata? ="+ oic.kacamata);

}

}

3. Variabel dalam Definisi class

Variable merupakan komponen yang penting dalam class selain method dan konstruktor. Variable digunakan untuk menyimpan data, baik data primitive maupun referensi objek.

Dalam Class terdapat 2 macam variable, yaitu :

1) instance variable, yaitu memiliki 1 nama variable dengan nilai variable yang berbeda-beda / lebih dari satu.

2) class variable, yaitu variable yang dapat di-share oleh setiap objek dimana nilai variable yang diakses adalah sama.

Contoh :

  1. class Karyawan :

class Karyawan {

//instance variabel

String nama;

double gaji;

//class variabel

static double persennaikgaji=0.10;

//konstruktor

Karyawan(String nm, double gj)

{ nama = nm;

gaji = gj;

}

}

  1. class TesKaryawan :

public class TesKaryawan {

public static void main (String args[]){

Karyawan kar1 = new Karyawan("Stefen Gerrard",1000000);

Karyawan kar2 = new Karyawan("Lampard",1100000);

kar1.persennaikgaji = 0.2;

System.out.println("\nTampilkan Data Karyawan");

System.out.println("\tNama :"+ kar1.nama);

System.out.println("\tGaji :"+ kar1.gaji);

System.out.println("\tPersenNaikGaji :"+ kar1.persennaikgaji);

System.out.println("===================");

System.out.println("\nNama :"+ kar2.nama);

System.out.println("Gajji :"+ kar2.gaji);

System.out.println("PersenNaikGaji :"+ kar2.persennaikgaji);

}

}

Tugas1 : Buat 2 Class - class vehicle dan class TesVehicle dengan output sebagai berikut :

Tampil Vehicle1 :

Jenis Kendaraan : Kapal

Media Kendaraan : Laut

Driver Kendaraan : Nahkoda

Kapasitas Angkut : 400

Tampil Vehicle1 :

Jenis Kendaraan : Motor

Media Kendaraan : Darat

Driver Kendaraan : Biker

Kapasitas Angkut : 2

Tugas 2 : ubah tugas1 menjadi 1 class

4. Method

Dengan method kita dapat melakukan suatu fungsi / aksi yang menerima parameter sebagai input datanya yang kemudian diproses sehingga mengembalikan nilai dengan tipe data tertentu atau tidak mengembalikan nilai.

Contoh penggunaan method :

1) class Karyawan1

class Karyawan1 {

//instance variabel

String nama;

double gaji;

//class variabel

static double persennaikgaji=0.10;

//konstruktor

Karyawan1(String nm, double gj)

{ nama = nm;

gaji = gj;

}

void setNama(String nm)

{ nama = nm;

}

void setGaji(double gj)

{ gaji = gj;

}

void setPersentase(double persen)

{ persennaikgaji = persen;

}

String getNama()

{ return nama;

}

double getGaji()

{ return gaji;

}

double getPersentase()

{ return persennaikgaji;

}

void naikkanGaji()

{ gaji+=(gaji*persennaikgaji);

}

}

2) class TesKaryawan1

public class TesKaryawan1 {

public static void main (String args[]){

Karyawan1 kar1 = new Karyawan1("Stefen Gerrard",1000000);

Karyawan1 kar2 = new Karyawan1("Lampard",1100000);

kar1.setPersentase(0.5);

System.out.println("\nTampilkan Data Karyawan");

System.out.println("Nama :"+ kar1.getNama());

System.out.println("Gaji :"+ kar1.getGaji());

System.out.println("PersenNaikGaji :"+ kar1.getPersentase());

System.out.println("\nNama :"+ kar2.getNama());

System.out.println("Gaji :"+ kar2.getGaji());

System.out.println("PersenNaikGaji :"+ kar2.getPersentase());

System.out.println("\n===================");

//method

kar1.naikkanGaji();

kar2.naikkanGaji();

System.out.println("\nTampilkan Data Karyawan setelah naik gaji");

System.out.println("Nama :"+ kar1.getNama());

System.out.println("Gaji :"+ kar1.getGaji());

System.out.println("PersenNaikGaji :"+ kar1.getPersentase());

System.out.println("\nNama :"+ kar2.getNama());

System.out.println("Gaji :"+ kar2.getGaji());

System.out.println("PersenNaikGaji :"+ kar2.getPersentase());

System.out.println("\n===================");

}

}

5. Konstruktor

Konstruktor adalah method khusus untuk mengkonstruksi objek dari definisi class yang memiliki sifat berikut :

- harus dinamai sama dengan nama kelas

- dapat didefinisikan lebih dari satu dalam satu class

- dapat didefinisikan tanpa parameter atau dengan satu maupun banyak parameter

- tidak mengembalikan nilai

- dipanggil dengan operator new.

Contoh konstruktor :

namaClass objekbaru = new namaClass();

Tugas :

Buat sebuah program dengan menggunakan konsep method, missal ada mobil adalah class kijang adalah objeknya.

contoh input keyboard:

import java.io.*;

public class baca{

public static void main(String args[])

{

try { BufferedReader baca = new BufferedReader (new InputStreamReader(System.in));

BufferedReader baca1 = new BufferedReader (new InputStreamReader(System.in));

System.out.println("ketikan angka:");

String bacaangka = baca1.readLine();

System.out.println("Ketikkan kata-kata : ");

String yangdibaca = baca.readLine();

System.out.println("Yang diketik adalah : ");

System.out.println(bacaangka);

System.out.println(yangdibaca);

}

catch (IOException e)

{ e.printStackTrace();}

}

}

Tidak ada komentar:

Posting Komentar