1. Tujuan 1. Memahami konsep OOP. 2. Memahami konsep proses pembentukan objek. 3. Dapat menggunakan member, baik yang static maupun instance.
2. Penjelasan Bab ini membahas konsep dasar dari Object Oriented Programming, mulai dari class, object, properti, method dan penggunaannya. Bab ini juga akan membahas tentang penggunaan static member dalam suatu class.
3. Percobaan Program 7.1 Class dan object /* * demo class dan object * * Bayu Setiaji 2010 * */ /* * class Orang * berisi properti dan method * */ class Orang { String nama = "Noname"; char gender = 'L'; int umur = 1; void berjalan() { System.out.println(nama + " sedang berjalan"); } void makan() { System.out.println(nama + "sedang makan"); } }
/* * class ContohOrang * demo instansiasi class Orang * */
2|Page
Pengantar OOP
public class ContohOrang { public static void main(String[] args) { // instansiasi Orang orang1 = new Orang(); // memberi nilai properti orang1.nama = "Robert Plant"; orang1.umur = 64; // memanggil properti System.out.println("Data orang1:"); System.out.println("nama : " + orang1.nama); System.out.println("gender : " + orang1.gender); System.out.println("umur : " + orang1.umur); // memanggil method orang1.berjalan(); Orang orang2 = new Orang(); orang2.gender = 'P'; System.out.println("Data orang2:"); System.out.println("nama : " + orang2.nama); System.out.println("gender : " + orang2.gender); System.out.println("umur : " + orang2.umur); orang2.makan(); } }
Program 7.2 Class Elevator /* * class Elevator * simulasi elevator * * Bayu Setiaji 2010 * */ public class public public public public
Elevator { boolean pintuTerbuka = false; int lantai = 1; final int LANTAI_ATAS = 5; final int LANTAI_BAWAH = 1;
public void bukaPintu() { System.out.println("Membuka Pintu...."); pintuTerbuka = true; System.out.println("Pintu Terbuka"); } public void tutupPintu() { System.out.println("Menutup Pintu...."); pintuTerbuka = false; System.out.println("Pintu Tertutup"); } public void naik() {
3|Page
Pengantar OOP
System.out.println("Naik satu lantai"); lantai++; System.out.println("Posisi lantai : " + lantai); } public void turun() { System.out.println("Turun satu lantai"); lantai--; System.out.println("Posisi lantai : " + lantai); } public void setLantai(int sl) { while(lantai != sl) { if(lantai < sl) { naik(); } else { turun(); } } } public int getLantai() { return lantai; } public boolean cekPintu() { return pintuTerbuka; } }
Setelah di-compile, class Elevator tersebut belum dapat dijalankan karena tidak memiliki main method. Compile dan jalankan class berikut ini untuk demo class tersebut.
Program 7.3 DemoElevator /* * class DemoElevator * demo penggunaan object dari class Elevator * * Bayu Setiaji 2010 * */ public class ElevatorTest { public static void main(String[] args) { Elevator myElevator = new Elevator(); myElevator.bukaPintu(); myElevator.tutupPintu(); myElevator.naik(); myElevator.naik(); myElevator.naik(); myElevator.bukaPintu(); myElevator.tutupPintu(); myElevator.turun(); myElevator.turun();
Program 7.4 Luas bangun datar /* * class Aritmatik * berisi static method untuk hitung luas bangun datar * * Bayu Setiaji 2010 * */ public class Luas { static double lingkaran(int r) { return Math.PI * Math.pow(r, 2); } static double segitiga(int a, int t) { return (a * t) / 2; } static double segiempat(int a, int b) { return a * b; } static double trapesium(int a, int b, int t) { return ((a + b) * t) / 2; } }
Class di atas dipanggil di class berikut ini.
Program 7.5 Demo luas bangun datar /* * class DemoLuas * demo penggunaan class Luas * * Bayu Setiaji 2010 * */ public class DemoLuas { public static void main(String[] args) { // lingkaran int r = 14; System.out.println("Lingkaran"); System.out.println("r: " + r + ", Luas: " + Luas.lingkaran(r)); // segitiga int a = 4;
5|Page
Pengantar OOP
int t = 10; System.out.println("Segitiga"); System.out.println("a: " + a + ", t: " + t + ", Luas: " + Luas.segitiga(a, t)); // segiempat int p = 8; int l = 9; System.out.println("Segiempat"); System.out.println("p: " + p + ", l: " + l + ", Luas: " + Luas.segiempat(p, l)); } }
4. Latihan 6|Page
Pengantar OOP
1. Buatlah class untuk binatang. Kemudian buat class untuk memanggil object dari class binatang tersebut.