download

Class and Object
Matakuliah
Pertemuan
Tahun
Versi
: XXXX / Algoritma dan Metode Object Oriented Programming II
:2
: 2008
: 1/0
Learning Outcomes
Pada akhir pertemuan ini, diharapkan
mahasiswa akan mampu:
– Menjelaskan hubungan Objek dan
class di Java
– Merepresentasikan objek pada class
di Java
– Menjelaskan hak akses dan variable
yang ada di Java
Bina Nusantara
Outline Materi
•
•
•
•
•
•
•
•
•
Class untuk Objek
Constructor
Access Modifier
Method
Overloading Method
Abstract Method
Static Variables, and Method
Constants
Inner Class
Bina Nusantara
Class untuk Objek
• Class adalah template dari objek, yang
mendefinisikan properti-properti dari objek, dan
menyediakan constructor untuk membuat objek
dan method untuk memanipulasi objek.
• Sebuah Class juga merupakan type data, dapat
digunakan untuk mendeklarasi objek yang
direferensikan dengan variabel – variabel.
• Object adalah representasi dari class.
• Banyak objek yang dapat dibuat hanya
menggunakan satu class.
Bina Nusantara
Class untuk Objek ( lanjutan… )
• Sebuah Objek dari Class memiliki :
• Unique identity
• State – data field, properties.
• Behavior – satu atau kumpulan method atau
function.
• Contoh : Sebuah lingkaran memiliki sebuah data field,
radius, dimana adalah karakteristik dari properti sebuah
lingkaran.
Class : Lingkaran
Data Fields :
Radius
Methods :
getArea
Bina Nusantara
Class and Object ( lanjutan… )
• Gunakan operator new untuk membuat
objek dan operator dot (.) untuk
mengakses member objek tersebut.
Lingkaran obj = new Lingkaran();
System.out.println(“Area radius lingkaran adalah ” + obj.getArea());
Bina Nusantara
Constructor
• Digunakan untuk membuat objek.
• Dijalankan pertama kali pada saat objek itu
dibuat dengan menggunakan operator new.
• Memiliki nama yang sama dengan nama classnya.
• Tidak ada pengembalian tipe, bukan juga tipe
data void.
Lingkaran obj = new Lingkaran();
Class
Bina Nusantara
Objek dari
Class Lingkaran
Constructor dari
Class Lingkaran
Access Modifier
• Sering dikenal dengan visibility atau accessibility
modifier.
• Untuk memproteksi member class ( data dan method )
yang ada di dalam class.
• Private : menyembunyikan member class agar tidak
dapat diakses dari luar class.
• Protected : memungkinkan member class diakses oleh
kelas turunannya dalam beberapa package atau classclass di dalam package yang sama.
• Public : memungkinkan member class dapat diakses
oleh class - class lainnya.
• Package : digunakan untuk mengatur class – class. Jika
class yang telah dibuat tanpa mengunakan statement
package maka class tersebut akan ditempatkan pada
default package.
Bina Nusantara
Method
• Kemampuan dari objek.
• Dalam bahasa pemrograman sering dikenal sebagai
function / procedure.
• Spesifikasi header method
modifier return_value_type method_name(parameters){
// Isi fungsinya
}
• Passing parameter by value yaitu mengirim suatu nilai
ke dalam suatu fungsi yang ada di dalam class.
• Sebuah fungsi memungkinkan untuk mengembalikan
nilai. Hanya void yang tidak mengembalikan nilai dari
method.
Mengirim sebuah nilai ke fungsi setRadius
public void setRadius ( double r )
{
Akses mofiernya public dengan tipe data void
radius = r;
yang tidak mengembalikan nilai
}
Bina Nusantara
Method ( lanjutan … )
• Fungsi akan mengembalikan nilai sesuai dengan tipe
data fungsinya.
public double getRadius ()
{
return radius;
}
Fungsi yang mengembalikan nilai kepada pemanggilnya
dengan tipe data double dan aksesnya bersifat public
Mengembalikan sebuah nilai bertipe data sama
dengan tipe data fungsinya
• Keunggulan Method :
 Reusable. Fungsi dapat digunakan untuk mengurangi coding yang berulangulang dibuat dan coding yang sama dapat dipakai berkali dengan memanggil
nama fungsinya dan dapat dipakai di program lainnya.
 Modularize. Fungsi membuat coding menjadi termodul sehingga mudah dalam
pencariaan kesalahannya dan meningkatkan kualitas program.
 Maintainable. Mudah dalam pemeliharaannya.
Bina Nusantara
Overloading Method
• Memiliki dua atau lebih nama fungsi yang sama dalam 1
class dengan berbeda urutan parameternya.
public class TestOverloading{
public static int max( int a, int b, int c ) {
if ( a > b )
return a;
else
return b;
}
public static double max( double a, double b ) {
if ( a > b )
return a;
else
return b;
}
public static double max( double a, double b, double c ) {
return max( max( a , b ) , c );
}
}
Bina Nusantara
Abstract Method
• Dummy Code Method.
• Selalu di definisikan di dalam abstract class.
• Abstract Class : Class yang dideklarasi secara abstrak, tidak bisa
dibuat nyata, tetapi dapat dipakai di subclass.
• Tidak ada implementasi.
• Tidak mempunyai isi coding di dalam fungsinya.
• Diakhiri tanda titik koma (;)
public abstract class Lingkaran
{
private double radius;
public void setRadius ( double x ) {
radius = x;
}
public abstract double getArea();
public abstract void setRadius();
}
Bina Nusantara
Abstract method yang mengembalikan nilai
bertipe double
Abstract method tanpa pengembalian nilai
dan Overloading method
Static Variables dan Methods
• Variable radius dalam class Lingkaran merupakan
instance variable.
• Jika ingin seluruh kejadian (instance) dari suatu class
dipakai datanya gunakan static variables.
• Static Variables menyimpan nilai di dalam memory lokal.
• Static Methods dapat dipanggil tanpa harus membuat
objek dari classnya.
public class Lingkaran {
private double radius;
private static int jumlahObjek = 0; //static variable
public static int getArea() {
//static method
return jumlahObjek++;
}
}
Bina Nusantara
Constants
• Dipakai oleh semua objek dalam class.
• Harus dideklarasikan dengan keyword
final static
Contoh : konstanta PI dalam class Math
final static double PI = 3.14159265358979323846;
Bina Nusantara
Inner Class
• Dikenal dengan nested class.
• Didefinisikan di dalam sebuah class yang
disebut sebagai Outer Class.
• Dapat mengakses semua member class yang di
telah didefinisikan di Outer Class
• Membuat program menjadi simple dan ringkas.
• Dapat dideklarasi dengan akses modifier.
• Dapat dideklarasi dengan static variables.
• Sebuah static inner class tidak dapat diakses
oleh member nonstatic dari Outer Class
Bina Nusantara
Inner Class ( lanjutan … )
• Contoh Inner Class
public class OuterClass{
private int data;
public void m(){ //fungsi yang ada di outer class
//statement
}
//sebuah inner class yang ada di outer class
class InnerClass{
public void mi(){ //fungsi yang ada di inner class
data++; //dapat secara langsung akses member outer class
m();
}
}
}
Bina Nusantara
Referensi
• Introduction to Java Programming. 7ed. Liang.
2009. Chapter 7 hal 257
• Method
http://en.wikipedia.org/wiki/Class_method
• Class
http://en.wikipedia.org/wiki/Class_(computer_science)
• Class and Object
http://java.sun.com/docs/books/tutorial/java/javaOO/index.html
• Abstract
http://java.sun.com/docs/books/tutorial/java/IandI/abstract.html
Bina Nusantara