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();
}
}