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
© Copyright 2024 Paperzz