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 Real World Computing
Pemodelan -- Abstraksi warna ukuran bahan dilempar berat ditangkap lokasi pemilik harga dibuang
Pemodelan -- Abstraksi warna ukuran bahan dilempar berat ditangkap lokasi pemilik harga dibuang 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
JenisVariabel 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 { // class variabel Static double PI=3.14; //instance variabel double xcenter double ycenter double zcenter double radius Share between all object Sphere.PI 3.14 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 { String warna; int tahunproduksi; // Membuat class // Membuat atribut Mobil.java public class MobilBeraksi{ 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); MobilBeraksi.java
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{ public static void main(string[] args) { Sepeda sepedaku = new Sepeda(); SepedaBeraksi.java 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{ 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{ public static void main (String[]args){ matematika.java matematikaberaksi.java matematika matematikaku=new matematika(); // membuat objek matematikaku.penambahanmtk(20,20); //memanggil metode & mengirim nilai parameter matematikaku.penguranganmtk(10,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) { Contoh Source Code 5 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); class bukuberaksi{ buku.java public static void main (String[]args){ Buku buku_agus= new Buku("Pemrograman Berorientasi Objek Dengan Java ", "Indrajani", "Elexmedia Komputindo",2007); buku_agus.cetakbuku();