Object-Oriented Programming
ObjectObject-Oriented Programming (OOP)Romi Satria Wahono
Romi Satria WahonoLahir di Madiun, 2 Oktober 1974 SD Sompok
Semarang (1987) SMPN 8 Semarang (1990) SMA Taruna Nusantara,
Magelang (1993) Nusantara, S1, S2 da S3 (on-leave) da Department of
Computer , dan (on- a dari pa p Sciences, Saitama University, Japan
(1994-2004) University, (1994Core Competence: Software Engineering,
eLearning Engineering, System, Knowledge Management PNS di Lembaga
Ilmu Pengetahuan Indonesia Founder dan Koordinator IlmuKomputer.Com
CEO PT Brainmatics Cipta Informatika2
[email protected] http://romisatriawahono.net YM:
romi_sw1
Mata Kuliah OOP - KontrakPertemuan di Kelas:Kuliah model
tutoring, konsep diberikan dan langsung tutoring, praktek dilakukan
Ketidakhadiran diperbolehkan, hanya tidak akan ada diperbolehkan,
pengulangan bahasan bagi yang tidak hadir
Mata Kuliah OOP - Materi1. 2. 3. 4.
OOP Concepts: Concepts:
Konsep Pemrograman dan paradigma Object-Oriented Object-
Java Fundamentals: Fundamentals: Java Ad J Advanced: Advanced: d
Java GUI: GUI:Eksepsi, Thread, Java API
Penilaian Mata Kuliah:Nilai Total dari TM - UTS UAS Tugas harus
diupload di University.RomiSatriaWahono.Net
Bagaimana Membuat Program dengan Java
Modul Kuliah dan Pengiriman Tugas:eLearning System:
http://university.romisatriawahono.net Course Name: Object-Oriented
Programming ObjectEnrolment Key: oop3 4
GUI Component, Swing, Event Handling
Materi Diskusi
OOP Concepts
1.
Konsep Pemrograman dan Paradigmanya:
Tingkat Bahasa Pemrograman, Paradigma Pemrograman, Tool
Pemrograman2.
Kelas (Class), Obyek (Object), Pengkapsulan (Encapsulation),
Pewarisan (Inheritance), Keyword This (Encapsulation) (Inheritance)
This, Constructor3.
Konsep Dasar Pemrograman Berorientasi Obyek: Obyek:
Konsep Lanjut Pemrograman Berorientasi Obyek:
Obyek:Polymorphisme (Overloading dan Overriding), Package,
Interface
5
6
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Bahasa Pemrograman?
Konsep Pemrograman dan Paradigmanya
Komputer bekerja seperti switching dan hanya mengenali 0 dan 1
Manusia tidak (paham) berbicara dengan bahasa 0 dan 1 Perlu b h p P
l bahasa pemrograman yang dapat menjadi d p t j di perantara
percakapan antara komputer dan manusia Bahasa pemrograman diubah ke
dalam bahasa yang dipahami oleh komputer dengan menggunakan
interpreter atau kompiler8
7
Compiler or Interpreter? Compiler: Mengkompilasi source code
menjadi bentuk file yang bisa dieksekusi Interpreter: Mengkompilasi
dan menjalankan source code secara langsung9 10
Tingkat Bahasa PemrogramanBahasa Pemrograman Tingkat Rendah
(Assembler) Bahasa Pemrograman Tingkat Sedang (C, Pascal, (C Pascal
Fortran) Bahasa Pemrograman Tingkat Tinggi (Java, C++, C#)
Assembly LanguageLDA #47 STA $570 $570 DEX JSR $817 CPX #0 BNE
#14 Assembly language program y g g p g
C Language
#include Translation program (Assembler) 00010100 001100101
00001000 100100101 010101010 10010 Machine language program
(executable file)
main() main() { printf(Hallo); printf(Hall ) }
C Compiler
0001010000 1100101000 0100010010 01010101010 1010010
C Program
Machine language program (executable .exe file)
11
12
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Java Language javac(JavaCompiler)
Paradigma Pemrograman java(JavaInterpreter)
Sudut pandang dan style pemrograman berhubungan dengan bagaimana
sebuah masalah diformulasikan dalam bahasa pemrogramanFunctional
Programming: Urutan fungsi secara Programming: sekuensial (Scheme,
Lisp) (Scheme Procedural Programming: Pemecahan masalah
Programming: berdasarkan prosedural kerja yg terkumpul dalam unit
pemrograman bernama fungsi (C, Pascal) ObjectObject-Oriented
Programming: Koleksi object yang Programming: saling berinteraksi .
Class adalah unit pemrograman (Java, C#, C++)
13
14
Tool Pemrograman Java
Install, Compile and Running Java
1. 2. 3.
Compiler (Interpreter): (Interpreter): Java Standard Edition
(JSE) Text/Code Editor: Editor: TextPad, TextPad, Notepad++
Integrated Development Environment (IDE): Netbeans, Eclipse,
JCreator(*) IDE mengintegrasikan Compiler, Code Editor dan Visual
(GUI) secara lengkap
15
16
Java Family SuiteJava Standard Edition (Java SE) SE)For desktop,
client/server application
Instalasi Java Standard Edition1. 2. 3. 3
Java Enterprise Edition p (Java EE) EE)For e-business,
e-commerce e-business, eweb based application
Java Micro Edition (Java ME) ME)For small devices, like devices,
palm, handphone, etc handphone,18
4.
Download Java Standard Edition dari:
http://java.sun.com/javase/downloads/ Instal Java Standard Edition
dengan mengklik: jdk-6u6-windows-i586jdk-6u6-windows-i586-p.exe
Klik Start Control Panel System Advanced Environment Variables dan
set PATH: ;C:\Program Files\Java\jdk1.6.0_06\bin C:\
Files\Java\jdk1.6.0_06\ Instal text editor untuk editing code:
textpad, notepad++, JCreator
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
How Java Works?public class Hello public static void
main(String[] args){ args){ System.out.println("Hello
System.out.println("Hello World!"); } }
Jalankan dengan: 1. C:\>java Hello (Application) C:\ 2. Web
Browser (Applet)
Compile and Run Java Appletimport java.applet.*; java.applet.*;
import java.awt.*; public class HelloWorld extends Applet { public
void paint(Graphics g) { g.drawString("Hello world!",50,25);
g.drawString("Hello world!",50,25); } }
Hello.java
javac (java compiler) compiler)Interpreter Interpreter
Interpreter Interpreter
C:\ C:\appletviewer Hello.html
Kompiler memproduksi Bytecode (Class)
C:\ C:\javac HelloWorld.java
Hello.class Write Once Run Everywhere !Web Server
A Simple Program Here is the output of my program:
public class Halo{ alo{ public static void main(String[] args){
args){ System.out.println(Halo Semarang"); System.out.println(Halo
Semarang"); } }
Menulis Program Halo Semarang Semarang
GUI Version Halo Semarangimport javax.swing.*; javax.swing.*;
public class HaloGUI{ HaloGUI{ public static void main( String[]
args ){ JOptionPane.showMessageDialog(null,
JOptionPane.showMessageDialog(null, "Halo Semarang"); } }
21
22
Menulis Java ProgramProgram harus punya method di public
class:public static void main(String[] args) args)
Latihan: Tulis dan Compile Halo.java
Program Java mulai dari sini! sini!
Bentuk program:1. 2.
public class Halo{ public static void main(String[] args){
args){ System.out.println(Halo Semarang); } }
GUI application public class biasanya menggunakan Frame (AWT),
Jframe(Swing) Jframe(Swing) Text based Console Application public
class adalah class yang sederhana24
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Konsep Dasar Pemrograman Berorientasi Objek
Berorientasi Objek?Attribute: Topi, Baju, Tas Punggung, Jaket,
Tangan, Kaki, Mata Behavior: h Cara Jalan ke Depan Cara Jalan
Mundur Cara Belok ke Kiri Cara Memanjat
25
26
Berorientasi Objek?
Attribute (State): Behavior:
Latihan1. 2.
Ban, Stir, Pedal Kopling/Gas/Rem, Warna, Tahun Produksi Cara
Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan
Mobil
Lakukan kegiatan berorientasi objek dengan target Sepeda
Pikirkan apa atribut dan behavior yang dimiliki oleh Sepeda
tersebut
Attribute Behavior27
Variable(Member) Method(Fungsi) Method(Fungsi)28
Karakteristik OOP -1Abstraction:Cara Abstraction:Cara kita
melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu
sederhana, sebagai suatu kumpulan subsistem (object) yang saling
berinteraksi.Mobil adalah kumpulan sistem pengapian, sistem d p p g
p , kemudi, sistem pengereman
Modularity: Modularity: Sifat object adalah modular. Object
dapat ditulis dan dimaintain terpisah (independen) dari object
lain29 30
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Karakteristik OOP -2Encapsulation: Encapsulation: Mekanisme
menyembunyikan suatu proses dalam sistem untuk menghindari
interferensi dan menyederhanakan penggunaan sistem itu
sendiriTongkat transmisi (gigi) pada mobil Tombol on/off/pengaturan
suhu pada AC T b l / ff/ t h d
31
32
33
34
Karakteristik OOP -3Inheritance: Inheritance: Suatu class dapat
mewariskan atribut dan method kepada class lain (subclass), serta
membentuk class hierarchy
Karakteristik OOP -4Polymorphism: Polymorphism: Suatu object
dapat memiliki berbagai bentuk, sebagai object dari classnya
bentuk, sendiri atau object dari superclassnyaOverloading:
Overloading: Penggunaan satu nama untuk beberapa method yang
berbeda (beda parameter) Overriding: Overriding: Terjadi ketika
deklarasi method subclass dengan nama dan parameter yang sama
dengan method dari superclassnya
35
36
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Class dan Object -1Class: mobil Object: mobilnya pak Joko,
mobilku Class seperti cetakan kue, dimana kue yg kue, dihasilkan
dari cetakan kue itu adalah object Warna kue bisa bermacam-macam
meskipun bermacamberasal dari cetakan yang sama (object memiliki
(object sifat independen) independen) Object adalah instance dari
Class37
Class and Object -2Class = method+variable method+variable The
Bicycle class
Class dan Object -3-
AttributeAttribute adalah berbagai variable yang mengitari
class, dengan nilai datanya bisa ditentukan di object. Name, age,
dan weight Name, adalah atribute dari class Person
Bicycle dimodelkan sebagai sebuah object: object:10 mph, 90 rpm,
5th gear adalah instance variable changegears, changegears, brake,
changecadence adalah instance method39
Membuat Class, Object dan Memanggil Atributclass Mobil { String
warna; int tahunProduksi; } public class MobilBeraksi{ public
static void main(String[] args){
Method Method adalah implementasi dari bagaimana bekerjanya
sebuah class Method M th d melakukan: l k k1. 2. 3.
Mobil.java
MobilBeraksi.java
// Membuat objectMobil mobilku = new Mobil();
/* memanggil atribut dan memberi nilai */mobilku.warna =
"Hitam"; mobilku.tahunProduksi = 2006; System.out.println("Warna: "
+ mobilku.warna); mobilku.warna); System.out.println("Tahun: " +
mobilku.tahunProduksi); mobilku.tahunProduksi);41
Manipulasi data Perhitungan matematika Memonitor kejadian dari
suatu event
}}
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Membuat dan Memanggil Methodclass Mobil2{ String warna;
Mobil2.java int tahunProduksi; void printMobil(){ printMobil(){
System.out.println("Warna: " + warna); System.out.println("Tahun: "
+ tahunProduksi); } } public class Mobil2Beraksi{ bl l bl k
Mobil2Beraksi.java public static void main(String[] args){
LatihanKembangkan Class Mobil2 Ubah nama classs menjadi
MobilLengkap dan masukkan method:hidupkanMobil() matikanMobil()
matikanM bil() ubahGigi()
// Membuat objectMobil2 mobilku = new Mobil2();
/* memanggil atribut dan memberi nilai */mobilku.warna =
"Hitam"; mobilku.tahunProduksi = 2006; mobilku.printMobil();43
Isi masing-masing method dengan tampilan masingstatus
menggunakan System.out.println() Panggil method-method diatas dari
methodMobilLengkapBeraksi44
}}
Message dan Parameter -1Bicycle akan berguna apabila ada object
lain (misalnya anda) anda) yang berinterasi dengan Bicycle tersebut
Object software berinteraksi dan berkomunikasi dengan object lain
dengan cara mengirimkan message . Informasi dalam message ini
dikenal dengan nama Parameter
Message dan Parameter -2-
1. You 3.
object pengirim (sender) (sender) object penerima (receiver) the
message, the method to perform
2. YourBicycle changeGears
4. lowerGear information from You to YourBicycle, the
YourBicycle, parameters needed by the method45 46
Membuat Class (Sepeda.java)class Sepeda{ int kecepatan = 0; int
gir = 0; // method void ubahGir(int pertambahanGir) { ubahGir(int
pertambahanGir) gir= gir+ pertambahanGir pertambahanGir;
System.out.println(" Gir:" + gir); } void tambahKecepatan(int
pertambahanKecepatan) { tambahKecepatan(int pertambahanKecepatan)
kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("
Kecepatan:" + kecepatan); }47 48
}
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Membuat dan Memanggil Object (SepedaBeraksi.java)public class
SepedaBeraksi{ public static void main(String[] args) { // Membuat
object Sepeda sepedaku = new Sepeda(); //memanggil atribut dan
memberi nilai // ggil t ib t d b i il i sepedaku.kecepatan=10;
sepedaku.gir=2; // Memanggil method dan menunjuk nilai parameter
sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3);49
LatihanBuat Class bernama Matematika, yang berisi Matematika,
method dengan dua parameter: parameter:pertambahan pengurangan
perkalian p pembagian g
Buat Class bernama MatematikaBeraksi, yang MatematikaBeraksi,
mengeksekusi method dan menampilkan:Pertambahan: 20 + 20 = 40
Pengurangan: 10-5 = 5 10Perkalian: 10x20 = 200 Pembagian: 21/2 =
10.5 (float or double)50
}}
Tips Membuat Class Class 1 file bisa berisi >=1 class 1 file
hanya dapat berisi 1 public class Nama file harus sama dengan nama
public class sifatnya adalah case sensitive case Tips: Lebih baik
dan lebih mudah dipahami apabila satu file berisi hanya satu
class51 52
Kata Kunci thisDigunakan pada pembuatan class dan digunakan
untuk menyatakan object sekarangclass Mobil{ String warna; Int
tahunProduksi; void isiData(String warnaMobil, int
tahunProduksiMobil){ warna = warnaMobil; tahunProduksi =
tahunProduksiMobil; } } class Mobil{ String warna; Int
tahunProduksi; void isiData(String warna, int tahunProduksi){
this.warna = warna; this.tahunProduksi = tahunProduksi;
Konstruktor -1Method yang digunakan untuk memberi nilai awal
pada saat object diciptakan Dipanggil secara otomatis ketika new g
digunakan untuk membuat instan class Sifat konstruktor:Nama
konstruktor sama dengan nama class Tidak memiliki nilai balik dan
tidak boleh ada kata kunci void
Konstruktor -2class Mobil { String warna; int tahunProduksi;
public Mobil(String warna, int tahunProduksi){ this.warna = warna;
this.tahunProduksi = tahunProduksi; } public void info(){
System.out.println("Warna: " + this.warna);
System.out.println("Tahun: " + this.tahunProduksi); } } public
class MobilKonstruktor{ public static void main(String[] args){
Mobil mobilku = new Mobil(Merah, 2003); mobilku.info(); }}
53
54
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Class Access LevelSpecifier private no specifier protected
public55 56
Latihan1. 2. 3. 4. 5.
Class
Package SubClass World
Buat class Buku Tentukan variable buku: Judul, Pengarang,
Penerbit dan Tahun Buat konstruktor class Buku dengan parameter:
Judul, Pengarang, Penerbit dan Tahun Buat method cetakBuku B h d kB
k Buat class BukuBeraksi dan tampilkan 2 buku:Pemrograman Berbasis
Objek dengan Java, Indrajani, Elexmedia Komputindo, 2007 Dasar
Pemrograman Java, Abdul Kadir, Andi Offset, 2006
Inheritance (Pewarisan)Reusability Top down:Being more
specific
Sepeda.javaclass Sepeda{ int kecepatan = 0; int gir = 0; //
method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir
pertambahanGir; System.out.println("Gir:" + gir); } void
tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+
pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan);
}58
Bottom Up:Find similiarity ind imi ia ity
Java Keyword:
extends
57
}
Class SepedaGunung Mewarisi Class Sepedaclass SepedaGunung
extends Sepeda { int setSadel; public void setSadel(int nilaiSadel)
{ setSadel( nilaiSadel) setSadel = nilaiSadel; nilaiSadel;
System.out.println(Tinggi Sadel:+setSadel); } } } } class
SepedaGunungBeraksi { public static void main(String[] args) { //
Membuat objectSepedaGunung sepedaku = new sepedaGunung();
LatihanBuat class MobilBMW yang merupakan inherit dari class
MobilLengkap Tambahkan method nontonTV() yang menampilkan tulisan
di layar:TV dihidupkan TV mencari channel TV menampilkan gambar
// Memanggil method di object sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2); sepedaku.setSadel(20); l
SepedaGunung.java
SepedaGunungBeraksi.java
Buat class MobilBMWBeraksi yang memanggil method nontonTV,
hidupkanMobil, matikanMobil, ubahGigi60
59
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Konsep Lanjut Pemrograman Berorientasi Objek Obj
PolymorphismPolymorphism: Polymorphism: Suatu object dapat
memiliki berbagai bentuk, sebagai object dari classnya sendiri atau
object dari superclassnya1. 2.
Overloading: Penggunaan satu nama untuk Overloading: l beberapa
method yang berbeda parameter Overriding: Overriding: Terjadi
ketika deklarasi method subclass sama dengan method dari
superclassnya
61
62
Polymorphism Overloadingclass Mobil { String warna; int
tahunProduksi; public Mobil(String warna, int tahunProduksi){
this.warna = warna; this.tahunProduksi = tahunProduksi; } public
Mobil(){ } void info(){ System.out.println("Warna: " + this.warna);
System.out.println("Tahun: " + this.tahunProduksi); } }63 64
Contoh Lain Overloadingclass Lingkaran{ public buatLingkaran(int
diameter){ diameter){ ... } public buatLingkaran(int diameter, int
x, int y){ y){ ... } public buatLingkaran(int diameter, int x, int
y, int warna, String namaLingkaran){ namaLingkaran){ ... } }
public class MobilKonstruktor{ public static void main(String[]
args){ Mobil mobilku = new Mobil(Merah, 2003); mobilku.info();
Mobil mobilmu = new Mobil(); mobilmu mobilmu.info();
mobilmu.info(); } }
Polymorphism - Overridingclass Sepeda{ int kecepatan = 0; int
gir = 0; // method void ubahGir(int pertambahanGir) { gir= gir+
pertambahanGir pertambahanGir; System.out.println("Gir:" + gir); }
void tambahKecepatan(int pertambahanKecepatan) { kecepatan =
kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" +
kecepatan); }65
Class SepedaGunung Mewarisi Class Sepedaclass SepedaGunung
extends Sepeda { int setSadel; void ubahGir(int pertambahanGir) {
gir= 2*(gir+ pertambahanGir ); System.out.println("Gir:" + gir); }
} } } class SepedaGunungBeraksi { public static void main(String[]
args) { // Membuat objectSepedaGunung sepedaku = new
sepedaGunung();
// Memanggil method di object sepedaku.tambahKecepatan(10);
sepedaku.ubahGir(2); sepedaku.setSadel(20); l
SepedaGunung.java
SepedaGunungBeraksi.java
}
66
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Latihan1. 2.
Matematika.javaclass Matematika{ int hasilPertambahan1,
hasilPertambahan2; public void pertambahan (int a, int b){ b){
hasilPertambahan1 = a + b; System.out.println(hasil: +
hasilPertambahan1); System.out.println( hasil: } public void
pertambahan (double a, double b, double c){ c){ hasilPertambahan2 =
a + b + c; System.out.println(hasil: + hasilPertambahan2); }
...68
3. 4.
Kembangkan class Matematika dan MatematikaBeraksi Lakukan
overloading pada Method yang ada (pertambahan, pengurangan,
perkalian, p pembagian) . Method baru adalah bertipe data g p
double (pecahan) dan memiliki 3 parameter Uji di kelas
MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7, 14.2
Misalnya: pertambahan(12.5, 28.7, 14.2)
67
}
Latihan1. 2.
PackagesPackage adalah koleksi dari beberapa class dan interface
yang berhubungan, dan menyediakan proteksi akses dan pengelolaan
namespace 1 package adalah 1 subfolder di file system Package
sangat berguna untuk mengorganisir file dalam suatu project atau
library Nama package menggunakan lowercase Keyword: Keyword:
package name;70
3.
Kembangkan class Buku dan BukuBeraksi Selain konstruktor class
Buku dengan parameter: Judul, Pengarang, Penerbit dan Tahun, buat
konstruktor lagi dengan parameter: parameter: Judul dan Pengarang
saja l Panggil kedua konstruktor class Buku tadi dari class
BukuBeraksi
69
Budi.javapackage kelasku; public class Budi{ public id info(){ p
bli void i f (){ System.out.println(Kelas Budi); } }71 72
Joko.javapackage kelasku; public class Joko{ public id info(){ p
bli void i f (){ System.out.println(Kelas Joko); } }
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
PaketBeraksi.javaimport kelasku.Budi; import kelasku.Joko;
public class PaketBeraksi{ public static void main(String[] args){
Budi objectBudi = new Budi(); objectBudi.info(); Joko objectJoko =
new Joko(); objectJoko.info(); } }
LatihanKembangkan class Budi dan Joko Buat method matakuliah()
menampilkan mata kuliah yang diajar Budi dan Joko Paketkan kedua
class tadi dalam satu Package bernama dosen (gunakan keyword:
package) package) Buat Class DosenBeraksi yang menjalankan method
yang ada di kedua Class tadi (gunakan keyword: import) import)
73
74
InterfaceInterface digunakan apabila kita ingin menentukan apa
yang harus dilakukan oleh suatu class tapi tidak menentukan
bagaimana cara untuk melakukannya Interface sebenarnya sama dengan
class, tapi hanya memiliki deklarasi method tanpa
implementasi75
InterfaceBeraksi.javainterface IntLampu{ IntLampu{ public static
final int KeadaanHidup=1; KeadaanHidup=1; public static final int
KeadaanMati=0; KeadaanMati=0; public abstract void hid k () bli b t
t id hidupkan(); hidupkan(); public abstract void matikan();
matikan();
}
76
class Lampu implements IntLampu{ IntLampu{ int statusLampu=0;
statusLampu=0; public void hidupkan(){ hidupkan(){ if
(this.statusLampu == KeadaanMati){ (this.statusLampu KeadaanMati){
this.statusLampu = KeadaanHidup; KeadaanHidup;
System.out.println("Hidupkan Lampu! -->
System.out.println("Hidupkan Lampu! --> Lampu Hidup"); Hidup");
}else{ System.out.println("Hidupkan Lampu! -->
System.out.println("Hidupkan Lampu! --> Lampu Sudah Hidup
Kok");} Kok");} );} } public void matikan(){ matikan(){ if
(this.statusLampu == KeadaanHidup){ (this.statusLampu
KeadaanHidup){ this.statusLampu = KeadaanMati; KeadaanMati;
System.out.println("Matikan Lampu! -->
System.out.println("Matikan Lampu! --> Lampu Mati"); Mati");
}else{ System.out.println("Matikan Lampu! -->
System.out.println("Matikan Lampu! --> Lampu Sudah Mati Kok");
Kok"); }}} 77
public class InterfaceBeraksi{ InterfaceBeraksi{ public static
void main(String[] args){ args){ Lampu lampuKamar = new Lampu();
Lampu(); System.out.println("Status System.out.println("Status
Lampu Saat Ini: Mati"); Ini: Mati"); lampuKamar.hidupkan();
//Hidupkan lampuKamar.hidupkan(); //Hidupkan Lampu
lampuKamar.matikan(); //Matikan lampuKamar.matikan(); //Matikan
Lampu lampuKamar.matikan(); //Matikan lampuKamar.matikan();
//Matikan Lampu lampuKamar.hidupkan(); //Hidupkan
lampuKamar.hidupkan(); //Hidupkan Lampu lampuKamar.hidupkan();
//Hidupkan lampuKamar.hidupkan(); //Hidupkan Lampu78
}
}
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
LatihanBuat program serupa dengan InterfaceBeraksi.java tapi
untuk ACBeraksi.java Masukkan method-method di bawah k M kk method-
th d b th d h ke dalam ACBeraksi.javamatikanAC() dan hidupkanAC()
dinginkanAC() dan panaskanAC ()
Tugas MandiriBuat situs blog, bisa ditempat gratis semacam blog,
wordpress.com atau blogspot.com, atau hosting secara profesional
Pilih satu topik tentang konsep OOP, jelaskan OOP, dengan bahasa
sendiri (bahasa manusia) dan d b h d (b h )d sampaikan code yang
orisinal (tidak mengambil dari tempat lain) Daftar di
university.romisatriawahono.net, university.romisatriawahono.net,
upload url blog yang telah dibuat melalui fitur tugas mandiri80
79
Java API untuk Referensi Pemrograman
81
Referensi -1Sharon Zakhour et al, The Java Tutorial Fourth
Edition, Edition, http://java.sun.com/docs/books/tutorial Deitel
& Deitel, Java How to Program Sixth Edition, Edition, Prentice
Hall, 2004 Hall Kathy Sierra & Bert Bates, Head First Java 2nd
Edition, OReilly, 2005 Edition, Rogers Cadenhead & Laura Lemay,
Teach Yourself Java 6 in 21 Days, Sams Publishing, Days, 200784
http://romisatriawahono.net
[email protected]
Object-Oriented Programming
Referensi -2Tim Pengembang JENI, JENI 1-6, 1Depdiknas, 2007
Abdul Kadir, Dasar Pemrograman Java 2, 2, Penerbit Andi, 2004
Indrajani dan Martin, Pemrograman Berbasis Martin P mr graman B
rbasis Objek dengan Java, Elex Media Komputindo, Java, 2007
85
http://romisatriawahono.net
[email protected]