Kelas dan Objek

advertisement
Kelas dan Objek
Oleh : Agus Priyanto, M.Kom
Tujuan Perkuliahan
Setelah mempelajari materi ini, diharapkan
mahasiswa mampu:
1. Mendefinisikan kelas dalam bahasa Java
2. Menerjemahkan objek dunia nyata ke dalam
model objek dalam Java
Kelas Dan Instance
 Sekumpulan objek-objek yang sama disebut
kelas (class)
 Semua objek dalam suatu kelas memiliki
atribut dan operasi yang sama, tetapi nilai
atribut dapat berbeda
 Suatu objek tertentu merupakan instance
sebuah kelas
Contoh
 Sekumpulan bola merupakan suatu kelas
 Seluruh bola memiliki ukuran, berat dan
warna, posisi
 Seluruh bola dapat dilempar dan ditangkap
 Bola yang berbeda mungkin memiliki ukuran,
berat dan warna yang berbeda - merupakan
instances
Pemodelan
Computing
Real World
Pemodelan -- Abstraksi
ukuran
bahan
warna
dilempar
berat
ditangkap
lokasi
pemilik
dibuang
harga
Pemodelan -- Abstraksi
ukuran
bahan
warna
dilempar
berat
ditangkap
lokasi
pemilik
dibuang
harga
KE MODEL
Definisi Kelas
atribut
perilaku
class ClassName
{
Fields
Constructors
Methods
}
Elemen-elemen dasar dalam mendefinisikan
kelas
1. Field (variabel) : menyimpan data untuk
setiap objek (implementasi dari atribut)
2. Constructor : setup objek di awal
3. Method : implementasi perilaku objek
Studi Kasus : Shpare
Studi Kasus : SPHERE / BOLA
Bagaimana Anda menggambarkan ini
dalam komputer ??
1. Menentukan Field (Variabel)
Field yang digunakan berisi variabel sebagai
berikut :
1. Koordinat dalam sumbu 3 dimensi
2. Jejari
3. ….dsb
class Sphere
{
double xcenter;
double ycenter;
double zcenter;
double radius;
………
………
constructor dihilangkan
method dihilangkan
}
Jenis Variabel
 Instance variable
Setiap objek memiliki salinan sendiri dan salinan
tersebut memiliki nilai masing-masing
 Class variable
Suatu kelas hanya memiliki satu variabel jenis ini
dan digunakan bersama oleh semua objek dari
kelas tersebut
Class Sphere Definition
public class Sphere {
Share between all object
Sphere.PI
3.14
// class variabel
Static double PI=3.14;
//instance variabel
double xCenter
double yCenter
double zCenter
double radius
}
Each object
gets its own
copy
globe
xCenter
yCenter
zCenter
radius
Sphere Object
ball
xCenter
yCenter
zCenter
radius
2. Menentukan Konstruktor

Peran : bertanggung jawab untuk membuat
setiap objek dari suatu kelas berada pada
kondisi yang diinginkan pada saat objek
dibuat

Disebut juga inisialisasi

Pemberian nilai awal terhadap field yang ada

Suatu kelas bisa memiliki beberapa
konstruktor

Karakteristik
• Tidak pernah memiliki nilai balikan
• Memiliki nama sama dengan nama kelas
Default Konstruktor

Apabila konstruktor tidak didefinisikan pada
sebuah kelas, kompiler akan mensuplai
default constructor yang tidak memiliki
parameter dan tidak melakukan sesuatu
public class Sphere
{
fields tidak dituliskan
Sphere(double theRadius, double x, double y,
double z)
{
radius = theRadius;
// Set the coordinates of the center
xCenter = x;
yCenter = y;
zCenter = z;
++count;
}
method tidak dituliskan
}
3. Menentukan Method
Beberapa method untuk kelas ini dapat dibuat
antara lain:
1. Mengubah nilai koordinat atau jejari
2. Mengetahui nilai koordinat atau jejari
3. Mencetak informasi tentang kelas
4. Menghitung volume
public class Sphere
{
fields tidak dituliskan
constructor tidak dituliskan
public void setRadius(double rad) {
radius = rad;
}
}
public class Sphere
{
fields tidak dituliskan
constructor tidak dituliskan
public double getRadius(void) {
return radius;
}
}
public class Sphere
{
fields tidak dituliskan
constructor tidak dituliskan
public double volume(void) {
return 4.0/3.0*PI*radius*radius*radius;
}
}
5. Membuat Objek

Apabila dideklarasikan
Sphere ball;

Tidak ada konstruktor yang dipanggil dan tidak ada
objek yang dibuat

Hanya deklarasi variabel serta membuat suatu
rujukan

Apabila dideklarasikan
ball = new Sphere(10.0, 1.0, 1.0, 1.0);
public class Sphere
{
fields tidak dituliskan
constructor tidak dituliskan
public static void main(String[] args) {
Sphere ball = new Sphere(4.0, 0.0, 0.0,
0.0);
Sphere globe = new Sphere(12.0, 1.0, 1.0, 1.0);
// Output the volume of each sphere
System.out.println("ball volume = " + ball.volume());
System.out.println("globe volume = " + globe.volume());
}
}
Objek yang telah dibuat dapat digunakan dengan
Memanggil method yang disediakan
Contoh Source Code 1
public class Mobil {
// Membuat class
String warna;
// Membuat atribut
int tahunProduksi;
}
Mobil.java
public class MobilBeraksi{
MobilBeraksi.java
public static void main(String[] args){
// Membuat object
Mobil mobilku = new Mobil();
/* memanggil atribut dan memberi nilai */
mobilku.warna = "Hitam";
mobilku.tahunProduksi = 2006;
System.out.println("Warna: " + mobilku.warna);
System.out.println("Tahun: " + mobilku.tahunProduksi);
}
}
Contoh Source Code 2
public class Sepeda{
int gir;
// method (mutator) dengan parameter
void setGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
}
// method (accessor)
int getGir() {
return gir;
}
}
Sepeda.java
public class SepedaBeraksi{
SepedaBeraksi.java
public static void main(String[] args) {
Sepeda sepedaku = new Sepeda();
sepedaku.setGir(1); // menset nilai gir = 1 (sebelumnya 0)
System.out.println(“Gir saat ini: “ + sepedaku.getGir());
sepedaku.setGir(3); // menambahkan 3 pada posisi gir saat ini (1)
System.out.println(“Gir saat ini: “ + sepedaku.getGir());
}
}
public class Mobil {
Mobil.java
String warna;
int tahunProduksi;
public Mobil(String warna, int tahunProduksi){
this.warna = warna;
this.tahunProduksi = tahunProduksi;
}
public void info(){
System.out.println("Warna: " + warna);
System.out.println("Tahun: " + tahunProduksi);
}
}
public class MobilKonstruktor{
public static void main(String[] args){
Mobil mobilku = new Mobil(“Merah”, 2003);
mobilku.info();
}
}
Contoh Source Code 3
MobilKonstruktor.java
Contoh Source Code 4
Public class matematika{
matematika.java
int penambahan=0;
int pengurangan=0;
double hasil=0;
void penambahanMtk(int a,int b){
penambahan= a + b;
System.out.println("Penambahan : "+a+ " + "+b+" = " +penambahan);
}
void penguranganMtk(int a,int b){
pengurangan= a - b;
System.out.println("Pengurangan :"+a+ " - "+b+" = "+pengurangan);
}
}
Public class matematikaBeraksi{
matematikaBeraksi.java
public static void main (String[]args){
matematika matematikaku=new matematika(); // membuat objek
matematikaku.penambahanMtk(20,20); //memanggil metode & mengirim nilai parameter
matematikaku.penguranganMtk(10,5);
}
}
Contoh Source Code 5
Public class Buku{
private String judul;
private String pengarang;
private String penerbit;
private int tahun;
public Buku(String judul, String pengarang,String penerbit,int
tahun)
{
this.judul=judul;
this.pengarang=pengarang;
this.penerbit=penerbit;
this.tahun=tahun;
}
public void cetakBuku(){
System.out.println("Judul =" + this.judul);
System.out.println("Pengarang ="+ this.pengarang);
System.out.println("Penerbit =" + this.penerbit);
System.out.println("Tahun ="+ this.tahun);
}
}
buku.java
class bukuBeraksi{
public static void main (String[]args){
Buku buku_agus=
new Buku("Pemrograman Berorientasi
Objek Dengan Java ", "Indrajani",
"Elexmedia Komputindo",2007);
buku_agus.cetakBuku();
}
}
Download