Object
Object-- Oriented
Oriented
Programming ( OOP)
Programming ( OOP)
Romi Satria Wahono
Romi Satria Wahono
romi@romisatriawahono.net
romi@romisatriawahono.net
http://romisatriawahono.net
http://romisatriawahono.net
YM:
YM: romi_sw
romi_sw
1
z
z
Lahir di Madiun, 2 Oktober 1974
Lahir di Madiun, 2 Oktober 1974
zz
SD Sompok
SD Sompok
Semarang (1987)
Semarang (1987)
zz
SMPN 8
SMPN 8
Semarang (1990)
Semarang (1990)
zz
SMA Taruna Nusantara
SMA Taruna Nusantara
, Magelang (1993)
, Magelang (1993)
zz
S1, S2 dan S3 (on
S1, S2 dan S3 (on--leave) dari
leave) dari Department
Department of Computer
of Computer
Romi Satria Wahono
Romi Satria Wahono
2
,
da
,
da
a
a
da
da
pa
pa
pp
Sciences,
Sciences,
Saitama University
Saitama University
, Japan (1994
, Japan (1994--2004)
2004)
zz
Core Competence:
Core Competence:
Software
Software Engineering
Engineering
, eLearning
, eLearning
System, Knowledge Management
System, Knowledge Management
zz
PNS
PNS di
di
Lembaga
Lembaga Ilmu
Ilmu Pengetahuan
Pengetahuan Indonesia
Indonesia
zz
Founder
Founder dan
dan Koordinator
Koordinator
IlmuKomputer.Com
IlmuKomputer.Com
zz
CEO
CEO
PT Brainmatics Cipta Informatika
PT Brainmatics Cipta Informatika
Mata Kuliah OOP
Mata Kuliah OOP -- Kontrak
Kontrak
zz
Pertemuan di Kelas:
Pertemuan di Kelas:
z
z Kuliah model tutoringKuliah model tutoring, konsep diberikan dan langsung , konsep diberikan dan langsung
praktek dilakukan praktek dilakukan
z
z Ketidakhadiran diperbolehkanKetidakhadiran diperbolehkan, hanya , hanya tidak akan ada tidak akan ada pengulangan bahasan
pengulangan bahasanbagi yang tidak hadirbagi yang tidak hadir
z
z
Penilaian Mata Kuliah:
Penilaian Mata Kuliah:
Penilaian Mata Kuliah:
Penilaian Mata Kuliah:
z
z Nilai Total dari Nilai Total dari TM TM -- UTS UTS –– UASUAS z
z Tugas harus diupload Tugas harus diupload di University.RomiSatriaWahono.Netdi University.RomiSatriaWahono.Net
z
z
Modul Kuliah dan Pengiriman Tugas:
Modul Kuliah dan Pengiriman Tugas:
z
z eLearning System: eLearning System: http://university.romisatriawahono.nethttp://university.romisatriawahono.net z
z Course Name: Course Name: ObjectObject--Oriented ProgrammingOriented Programming z
z Enrolment Key: Enrolment Key: oopoop
3
Mata Kuliah OOP
Mata Kuliah OOP -- Materi
Materi
1.
1.
OOP Concepts
OOP Concepts
::
Konsep Pemrograman dan paradigma Object
Konsep Pemrograman dan paradigma Object--Oriented Oriented
2.
2.
Java Fundamentals
Java Fundamentals
::
Bagaimana Membuat Program dengan Java Bagaimana Membuat Program dengan Java
J
Ad
d
J
Ad
d
3.
3.
Java Advanced
Java Advanced
::
Eksepsi, Thread, Java API Eksepsi, Thread, Java API
4.
4.
Java GUI
Java GUI
::
GUI Component, Swing, Event Handling GUI Component, Swing, Event Handling
4
OOP Concepts
OOP Concepts
5
Materi Diskusi
Materi Diskusi
1.
1.
Konsep Pemrograman dan Paradigmanya:
Konsep Pemrograman dan Paradigmanya:
Tingkat Bahasa Pemrograman, Paradigma Pemrograman, Tingkat Bahasa Pemrograman, Paradigma Pemrograman, Tool Pemrograman
Tool Pemrograman
2.
2.
Konsep
Konsep Dasar
Dasar Pemrograman
Pemrograman Berorientasi
Berorientasi Ob
Obyyek
ek::
Kelas (Class), Obyek (Object), Pengkapsulan Kelas (Class), Obyek (Object), Pengkapsulan
(Encapsulation) Pewarisan (Inheritance) Keyword This (Encapsulation) Pewarisan (Inheritance) Keyword This
6
(Encapsulation), Pewarisan (Inheritance), Keyword This, (Encapsulation), Pewarisan (Inheritance), Keyword This, Constructor
Constructor
3.
3.
Konsep Lanjut
Konsep Lanjut Pemrograman
Pemrograman Berorientasi
Berorientasi Obyek
Obyek::
Polymorphisme (Overloading dan Overriding), Package, Polymorphisme (Overloading dan Overriding), Package, Interface
Konsep Pemrograman
Konsep Pemrograman
dan Paradigmanya
dan Paradigmanya
7
Bahasa Pemrograman?
Bahasa Pemrograman?
z
z
Komputer bekerja seperti
Komputer bekerja seperti
switching
switching
dan hanya
dan hanya
mengenali 0 dan 1
mengenali 0 dan 1
z
z
Manusia
Manusia
tidak (paham) berbicara
tidak (paham) berbicara
dengan bahasa
dengan bahasa
0 dan 1
0 dan 1
P l b h
p
d p t
j di
P l b h
p
d p t
j di
z
z
Perlu bahasa pemrograman yang dapat menjadi
Perlu bahasa pemrograman yang dapat menjadi
perantara percakapan
perantara percakapan
antara komputer dan
antara komputer dan
manusia
manusia
z
z
Bahasa pemrograman diubah ke dalam bahasa
Bahasa pemrograman diubah ke dalam bahasa
yang dipahami oleh komputer dengan
yang dipahami oleh komputer dengan
menggunakan
menggunakan
interpreter
interpreter
atau
atau
kompiler
kompiler
8
Compiler or I nterpreter?
Compiler or I nterpreter?
z
z
Compiler:
Compiler:
Mengkompilasi source code
Mengkompilasi source code
menjadi bentuk
menjadi bentuk
file yang bisa
file yang bisa
dieksekusi
dieksekusi
dieksekusi
dieksekusi
z
z
Interpreter:
Interpreter:
Mengkompilasi dan menjalankan
Mengkompilasi dan menjalankan
source code
source code
secara langsung
secara langsung
9
Tingkat Bahasa Pemrograman
Tingkat Bahasa Pemrograman
z
z
Bahasa Pemrograman Tingkat
Bahasa Pemrograman Tingkat
Rendah
Rendah
(Assembler)
(Assembler)
z
z
Bahasa Pemrograman Tingkat
Bahasa Pemrograman Tingkat
Sedang
Sedang
(C Pascal Fortran)
(C Pascal Fortran)
(C, Pascal, Fortran)
(C, Pascal, Fortran)
z
z
Bahasa Pemrograman Tingkat
Bahasa Pemrograman Tingkat
Tinggi
Tinggi
(Java, C++, C#)
(Java, C++, C#)
10
Assembly Language
Assembly Language
00010100 00010100 001100101 001100101 LDA #47
LDA #47 STA $ STA $570570 DEX DEX JSR JSR $817$817 CPX #0 CPX #0 BNE #14 BNE #14 Assembly language program Assembly language program
Translation Translation program program (Assembler) (Assembler)
11
00001000 00001000 100100101 100100101 010101010 010101010 10010 10010
Machine language program Machine language program
(executable file) (executable file)
y g g p g
y g g p g
C Language
C Language
#
#include <include <stdio.hstdio.h>>
main main()() {{
printf(“Hall ”)
printf(“Hall ”) CC CompilerCompiler
0001010000 0001010000 1100101000 1100101000 0100010010 0100010010 01010101010 01010101010 1010010 1010010
12
printf(“Hallo”); printf(“Hallo”); }}
C Program C Program
1010010 1010010
Java Language
Java Language
javac
javac
(Java Compiler) (Java Compiler)java
java
(Java Interpreter) (Java Interpreter)13
Paradigma Pemrograman
Paradigma Pemrograman
Sudut pandang dan style pemrograman
Sudut pandang dan style pemrograman
berhubungan dengan bagaimana sebuah masalah
berhubungan dengan bagaimana sebuah masalah
diformulasikan dalam bahasa pemrograman
diformulasikan dalam bahasa pemrograman
z
z
Functional Programming
Functional Programming
: Urutan fungsi secara
: Urutan fungsi secara
sekuensial
sekuensial
(Scheme Lisp)
(Scheme Lisp)
sekuensial
sekuensial
(Scheme, Lisp)
(Scheme, Lisp)
zz
Procedural Programming
Procedural Programming
: Pemecahan masalah
: Pemecahan masalah
berdasarkan prosedural kerja yg terkumpul dalam unit
berdasarkan prosedural kerja yg terkumpul dalam unit
pemrograman bernama
pemrograman bernama
fungsi
fungsi
(C, Pascal)
(C, Pascal)
zz
Object
Object--Oriented Programming
Oriented Programming
: Koleksi object yang
: Koleksi object yang
saling berinteraksi .
saling berinteraksi .
Class
Class
adalah unit pemrograman
adalah unit pemrograman
(Java, C#, C++)
(Java, C#, C++)
14
I nstall, Compile and
I nstall, Compile and
Running Java
Running Java
15
Tool Pemrograman Java
Tool Pemrograman Java
1.
1.
Compiler (Interpreter)
Compiler (Interpreter)
::
Java Standard Edition
Java Standard Edition
(JSE)
(JSE)
2.2.
Text/Code Editor
Text/Code Editor
::
TextPad
TextPad
, Notepad++
, Notepad++
3.3.
Integrated Development Environment
Integrated Development Environment
(IDE):
(IDE):
Netbeans, Eclipse, JCreator
Netbeans, Eclipse, JCreator
(*) IDE mengintegrasikan Compiler, Code Editor dan (*) IDE mengintegrasikan Compiler, Code Editor dan Visual (GUI) secara lengkap
Visual (GUI) secara lengkap
16
Java
Java Standard Edition
Standard Edition
((
JJava
ava SE
SE
))
For For desktop, client/server desktop, client/server
application application
Java
Java Enterprise
Enterprise EEdition
dition
Java Family Suite
Java Family Suite
pp
((
JJava
ava EE
EE
))
For eFor e--businessbusiness, e, e--commerce commerce web based application web based application
Java Java Micro EditionMicro Edition
((JJava ava MEME))
For For small devicessmall devices, like , like palm,
palm, handphonehandphone, etc, etc
I nstalasi Java Standard Edition
I nstalasi Java Standard Edition
1.
1.
Download Java Standard Edition dari:
Download Java Standard Edition dari:
http://java.sun.com/javase/downloads/
http://java.sun.com/javase/downloads/
2.
2.
Instal Java Standard Edition dengan mengklik:
Instal Java Standard Edition dengan mengklik:
jdk
jdk--6u6
6u6--windows
windows--i586
i586--p.exe
p.exe
33
Klik
Klik
Start
Start
Æ
Æ
Control Panel
Control Panel
Æ
Æ
System
System
Æ
Æ
3.3.
Klik
Klik
Start
Start
Æ
Æ
Control Panel
Control Panel
Æ
Æ
System
System
Æ
Æ
Advanced
Advanced
Æ
Æ
Environment Variables
Environment Variables
dan set
dan set
PATH:
PATH:
;;C:
C:\\Program Files
Program Files\\Java
Java\\jdk1.6.0_
jdk1.6.0_06
06\\bin
bin
4.
4.
Instal text editor untuk editing code:
Instal text editor untuk editing code:
textpad, notepad++, JCreator
textpad, notepad++, JCreator
javac (java javac (java compilercompiler))
Interpreter
Interpreter InterpreterInterpreter InterpreterInterpreter InterpreterInterpreter
Jalankan dengan: Jalankan dengan:
1.
1. C:C:\\>java >java Hello Hello (Application)(Application)
2.
2. Web BrowserWeb Browser (Applet)(Applet)
How Java Works?
How Java Works?
public class Hello public class Hello
public static void main(String[] public static void main(String[] argsargs){){
System.out.println
System.out.println("Hello World!");("Hello World!"); }}
}} Hello.java
Hello.class
Kompiler memproduksi Kompiler memproduksi
Bytecode (Class) Bytecode (Class)
Web Server Web Server Write Once Run Everywhere !
Write Once Run Everywhere !
Compile and Run Java Applet
Compile and Run Java Applet
import
import java.appletjava.applet.*;.*; import java.awt.*; import java.awt.*;
public
public class class HelloWorldHelloWorld extends Applet {extends Applet { public void paint(Graphics g) { public void paint(Graphics g) {
g.drawString
g.drawString("Hello world!",50,25("Hello world!",50,25);); }
} } }
<HTML> <HEAD>
<TITLE>A Simple Program</TITLE> </HEAD>
<BODY>
Here is the output of my program: <APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25>
</APPLET> </BODY> </HTML>
C:
C:\\javac HelloWorld.javajavac HelloWorld.java
C:
C:\\appletviewer Hello.htmlappletviewer Hello.html
Menulis Program
Menulis Program “
“Halo Semarang
Halo Semarang”
”
public
public class
class H
Hal
alo{
o{
public static void main(String[]
public static void main(String[] args
args){
){
System.out.println
System.out.println(“
(“Halo Semarang
Halo Semarang");
");
}}
}}
21
GUI Version
GUI Version “
“Halo Semarang”
Halo Semarang”
import
import javax.swingjavax.swing.*;.*;
public class
public class HaloGUIHaloGUI{{
public static void main( String[] public static void main( String[] argsargs ){){
JOptionPane.showMessageDialog
JOptionPane.showMessageDialog(null, "Halo Semarang");(null, "Halo Semarang"); }}
22 }}
Menulis Java Program
Menulis Java Program
z
z
PProgram harus punya method di public class:
rogram harus punya method di public class:
public
public static void main(String[]
static void main(String[] args
args))
Æ
Æ
Program Java mulai dari sini
Program Java mulai dari sini!!
z
z
Bentuk program:
Bentuk program:
1.
1. GUI applicationGUI applicationÆÆpublic public class class biasanya biasanya
menggunakan Frame (AWT),
menggunakan Frame (AWT), JframeJframe(Swing)(Swing)
2.
2. “Text “Text based” Console based” Console ApplicationApplicationÆÆpublic public class class
adalah
adalah classclass yang sederhanayang sederhana
Latihan: Tulis dan Compile Halo.java
Latihan: Tulis dan Compile Halo.java
public class Halo{
public class Halo{
public static void main(String[] args)
public static void main(String[] args)
{{
System.out.println(“Halo Semarang”);
System.out.println(“Halo Semarang”);
}}
24
Konsep Dasar
Konsep Dasar
Pemrograman
Pemrograman
Berorientasi Objek
Berorientasi Objek
25
Berorientasi Objek?
Berorientasi Objek?
Attribute:
Attribute:
Topi, Baju, Tas
Topi, Baju, Tas
Punggung, Jaket,
Punggung, Jaket,
Tangan, Kaki, Mata
Tangan, Kaki, Mata
hh
26
Behavior:
Behavior:
Cara
Cara Jalan ke Depan
Jalan ke Depan
Cara Jalan Mundur
Cara Jalan Mundur
Cara
Cara Belok ke Kiri
Belok ke Kiri
Cara Memanjat
Cara Memanjat
Berorientasi Objek?
Berorientasi Objek?
Attribute (State):
Attribute (State):
Ban, Stir, Pedal Kopling/Gas/Rem, Ban, Stir, Pedal Kopling/Gas/Rem, Warna, Tahun
Warna, Tahun ProduksiProduksi
Behavior:
Behavior:
Cara Menghidupkan Mesin Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Manjalankan Mobil Cara Memundurkan Mobil Cara Memundurkan Mobil
27
Attribute
Attribute
Æ
Æ
Variable(Member)
Variable(Member)
Behavior
Behavior
Æ
Æ
Method(Fungsi
Method(Fungsi))
Latihan
Latihan
1.
1.
Lakukan kegiatan berorientasi objek dengan
Lakukan kegiatan berorientasi objek dengan
target
target
Sepeda
Sepeda
2.
2.
Pikirkan apa
Pikirkan apa
atribut dan behavior
atribut dan behavior
yang
yang
dimiliki oleh Sepeda tersebut
dimiliki oleh Sepeda tersebut
28
Karakteristik OOP
Karakteristik OOP --1
1--z
z
Abstraction
Abstraction
:Cara kita
:Cara kita melihat suatu sistem
melihat suatu sistem
dalam bentuk yang lebih sederhana
dalam bentuk yang lebih sederhana, yaitu
, yaitu
sebagai suatu kumpulan subsistem (object)
sebagai suatu kumpulan subsistem (object)
yang saling berinteraksi.
yang saling berinteraksi.
z
z Mobil adalah kumpulan sistem pengapian, sistem Mobil adalah kumpulan sistem pengapian, sistem dd pp p g pp g p ,,
kemudi, sistem pengereman kemudi, sistem pengereman
z
z
Modularity
Modularity
: : Sifat object adalah modular.
Sifat object adalah modular. Object
Object
dapat ditulis dan dimaintain terpisah
dapat ditulis dan dimaintain terpisah
(independen)
(independen) dari object lain
dari object lain
31
Karakteristik OOP
Karakteristik OOP --2
2--z
z
Encapsulation
Encapsulation
: Mekanisme
: Mekanisme menyembunyikan
menyembunyikan
suatu proses dalam sistem
suatu proses dalam sistem untuk menghindari
untuk menghindari
interferensi dan menyederhanakan penggunaan
interferensi dan menyederhanakan penggunaan
sistem itu sendiri
sistem itu sendiri
z
z Tongkat transmisi (gigi) pada mobilTongkat transmisi (gigi) pada mobil
T b l / ff/ t h d AC T b l / ff/ t h d AC
z
z Tombol on/off/pengaturan suhu pada ACTombol on/off/pengaturan suhu pada AC
32
33 34
Karakteristik OOP
Karakteristik OOP --3
3--z
z
Inheritance
Inheritance
: Suatu class dapat
: Suatu class dapat mewariskan
mewariskan
atribut dan method
atribut dan method
kepada class lain (subclass),
kepada class lain (subclass),
serta membentuk class hierarchy
serta membentuk class hierarchy
35
Karakteristik OOP
Karakteristik OOP --4
4--z
z
Polymorphism
Polymorphism
: Suatu
: Suatu object dapat memiliki
object dapat memiliki
berbagai bentuk
berbagai bentuk, sebagai object dari classnya
, sebagai object dari classnya
sendiri atau object dari superclassnya
sendiri atau object dari superclassnya
z
z OverloadingOverloading: Penggunaan : Penggunaan satu nama untuk beberapa satu nama untuk beberapa
method
methodyang berbeda (beda parameter)yang berbeda (beda parameter)
method
methodyang berbeda (beda parameter)yang berbeda (beda parameter)
z
z OverridingOverriding: Terjadi ketika deklarasi method subclass : Terjadi ketika deklarasi method subclass
dengan
dengan nama dan parameter yang sama nama dan parameter yang sama dengan dengan method dari superclassnya
method dari superclassnya
Class dan Object
Class dan Object --1
1--z
z
Class:
Class:
mobil
mobil
zz
Object:
Object:
mobilnya pak Joko, mobilku
mobilnya pak Joko, mobilku
z
z
Class seperti
Class seperti
cetakan kue
cetakan kue
, dimana kue yg
, dimana kue yg
dihasilkan dari cetakan kue itu adalah
dihasilkan dari cetakan kue itu adalah
object
object
dihasilkan dari cetakan kue itu adalah
dihasilkan dari cetakan kue itu adalah
object
object
z
z
Warna kue bisa bermacam
Warna kue bisa bermacam--macam meskipun
macam meskipun
berasal dari cetakan yang sama (
berasal dari cetakan yang sama (
object memiliki
object memiliki
sifat independen
sifat independen
))
z
z
Object adalah
Object adalah
instance dari Class
instance dari Class
37
Class and Object
Class and Object --2
2--Class =
Class = method+
method+variable
variable
The
The
Bicycle
Bicycle
class
class
Class dan Object
Class dan Object --3
3--39
Bicycle
Bicycle dimodelkan
dimodelkan
sebagai sebuah
sebagai sebuah object
object::
z
z 10 mph, 90 rpm, 510 mph, 90 rpm, 5ththgear adalah gear adalah instance variableinstance variable z
z changegearschangegears, brake, , brake, changecadencechangecadence adalahadalahinstance instance methodmethod
Attribute
Attribute
A
Attribute
ttribute
adalah berbagai variable yang
adalah berbagai variable yang
mengitari class, dengan nilai datanya bisa
mengitari class, dengan nilai datanya bisa
ditentukan di object.
ditentukan di object. Name
Name, age,
, age, dan
dan weight
weight
adalah atribute dari class Person
adalah atribute dari class Person
Membuat Class, Object dan Memanggil Atribut
Membuat Class, Object dan Memanggil Atribut
class Mobil { class Mobil {
String warna; String warna; int tahunProduksi; int tahunProduksi; }}
public class MobilBeraksi{ public class MobilBeraksi{
public static void main(String[] args){ public static void main(String[] args){
// Membuat object // Membuat object
Mobil.java Mobil.java
MobilBeraksi.java MobilBeraksi.java
41
// Membuat object // Membuat object
Mobil mobilku = new Mobil(); Mobil mobilku = new Mobil();
/* memanggil atribut dan memberi nilai */ /* memanggil atribut dan memberi nilai */
mobilku.warna = "Hitam"; mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; mobilku.tahunProduksi = 2006; System.out.println("Warna: " +
System.out.println("Warna: " + mobilku.warnamobilku.warna);); System.out.println("Tahun: " +
System.out.println("Tahun: " + mobilku.tahunProduksi)mobilku.tahunProduksi);; }}
}}
Method
Method
z
z
M
Method
ethod adalah
adalah
implementasi dari
implementasi dari
bagaimana bekerjanya sebuah class
bagaimana bekerjanya sebuah class
M th d l k k
M th d l k k
z
z
Method melakukan:
Method melakukan:
1.
1.
Manipulasi data
Manipulasi data
2.2.
Perhitungan
Perhitungan
matematika
matematika
3.Membuat dan Memanggil Method
Membuat dan Memanggil Method
class Mobil2{ class Mobil2{ String warna; String warna; int tahunProduksi; int tahunProduksi; void
void printMobil()printMobil(){{
System.out.println("Warna: " + warna); System.out.println("Warna: " + warna); System.out.println("Tahun: " + tahunProduksi); System.out.println("Tahun: " + tahunProduksi); }}
}}
bl l b l k
bl l b l k
Mobil2.java Mobil2.java
43
public class Mobil2Beraksi{ public class Mobil2Beraksi{
public static void main(String[] args){ public static void main(String[] args){
// Membuat object // Membuat object
Mobil2 mobilku = new Mobil2(); Mobil2 mobilku = new Mobil2();
/* memanggil atribut dan memberi nilai */ /* memanggil atribut dan memberi nilai */
mobilku.warna = "Hitam"; mobilku.warna = "Hitam"; mobilku.tahunProduksi = 2006; mobilku.tahunProduksi = 2006;
mobilku.printMobil(); mobilku.printMobil();
}} }}
Mobil2Beraksi.java Mobil2Beraksi.java
Latihan
Latihan
z
z
Kembangkan Class
Kembangkan Class
Mobil2
Mobil2
zz
Ubah nama classs menjadi
Ubah nama classs menjadi
MobilLengkap
MobilLengkap
dan
dan
masukkan method:
masukkan method:
z
z hidupkanMobil()hidupkanMobil()
z
z matikanM bil()matikanM bil() z
z matikanMobil()matikanMobil()
z
z ubahGigi()ubahGigi()
z
z
Isi masing
Isi masing--masing method dengan tampilan
masing method dengan tampilan
status menggunakan
status menggunakan
System.out.println()
System.out.println()
z
z
Panggil method
Panggil method--method diatas dari
method diatas dari
MobilLengkapBeraksi
MobilLengkapBeraksi
44
Message
Message dan Parameter
dan Parameter --1
1--z
z Bicycle akan berguna apabila ada object lain Bicycle akan berguna apabila ada object lain ((misalnya andamisalnya anda) )
yang berinterasi dengan Bicycle tersebut yang berinterasi dengan Bicycle tersebut
z
z Object software berinteraksi dan berkomunikasi dengan Object software berinteraksi dan berkomunikasi dengan
object lain dengan cara mengirimkan
object lain dengan cara mengirimkan messagemessage. Informasi . Informasi dalam message ini dikenal dengan nama
dalam message ini dikenal dengan nama ParameterParameter
45
Message
Message dan Parameter
dan Parameter --2
2--46
1.
1. YouYouÆÆobject pengirim (object pengirim (sendersender)) 2.
2. YourBicycleYourBicycleÆÆobject penerima (receiver)object penerima (receiver) 3.
3. cchangeGearshangeGearsÆÆthe message, the method to performthe message, the method to perform 4.
4. lowerGearlowerGearÆÆinformation from You to information from You to YourBicycleYourBicycle, the , the
parameters
parametersneeded by the methodneeded by the method
47
Membuat Class ( Sepeda.java)
Membuat Class ( Sepeda.java)
class Sepeda{ class Sepeda{
int kecepatan = 0; int kecepatan = 0; int gir = 0; int gir = 0; // method // method
void ubahGir(
void ubahGir(int pertambahanGirint pertambahanGir)){{ gir= gir+ pertambahanGir gir= gir+ pertambahanGir gir= gir+ pertambahanGir; gir= gir+ pertambahanGir; System.out.println(" Gir:" + gir); System.out.println(" Gir:" + gir); }}
void tambahKecepatan(
void tambahKecepatan(int pertambahanKecepatanint pertambahanKecepatan) ) {{ kecepatan = kecepatan+ pertambahanKecepatan; kecepatan = kecepatan+ pertambahanKecepatan; System.out.println(" Kecepatan:" + kecepatan); System.out.println(" Kecepatan:" + kecepatan); }}
}}
Membuat dan Memanggil Object
Membuat dan Memanggil Object
( SepedaBeraksi.java)
( SepedaBeraksi.java)
public class SepedaBeraksi{ public class SepedaBeraksi{
public static void main(String[] args) { public static void main(String[] args) {
// Membuat object // Membuat object
Sepeda sepedaku = new Sepeda(); Sepeda sepedaku = new Sepeda();
// ggil t ib t d b i il i // ggil t ib t d b i il i //memanggil atribut dan memberi nilai //memanggil atribut dan memberi nilai
sepedaku.kecepatan=10; sepedaku.kecepatan=10; sepedaku.gir=2; sepedaku.gir=2;
// Memanggil method dan menunjuk nilai parameter // Memanggil method dan menunjuk nilai parameter
sepedaku.tambahKecepatan(30); sepedaku.tambahKecepatan(30); sepedaku.ubahGir(3);
sepedaku.ubahGir(3);
}} }}
49
Latihan
Latihan
z
z
Buat Class bernama
Buat Class bernama
Matematika
Matematika
, yang berisi
, yang berisi
method dengan
method dengan
dua parameter
dua parameter
::
zz pertambahanpertambahan z
z penguranganpengurangan z
z perkalianperkalian z
z pembagianpembagianpp gg
z
z
Buat Class bernama
Buat Class bernama
MatematikaBeraksi
MatematikaBeraksi
, yang
, yang
mengeksekusi method dan menampilkan:
mengeksekusi method dan menampilkan:
zz Pertambahan: 20 + 20 = 40Pertambahan: 20 + 20 = 40 z
z Pengurangan: 10Pengurangan: 10--5 = 55 = 5 z
z Perkalian: 10x20 = 200Perkalian: 10x20 = 200 z
z Pembagian: 21/2 = 10.5 (float or double)Pembagian: 21/2 = 10.5 (float or double)
50
Tips Membuat C
Tips Membuat Class
lass
z
z
1 file
1 file bisa berisi
bisa berisi
>=1
>=1
class
class
z
z
1 file
1 file hanya dapat berisi 1 public class
hanya dapat berisi 1 public class
z
z
Nama file harus sama dengan nama
Nama file harus sama dengan nama
public
public class
class
sifatnya adalah c
sifatnya adalah case
ase sensitive
sensitive
51
public
public class
class
sifatnya adalah c
sifatnya adalah case
ase sensitive
sensitive
z
z
Tips:
Tips: Lebih baik dan lebih mudah
Lebih baik dan lebih mudah
dipahami apabila
dipahami apabila
satu file berisi hanya
satu file berisi hanya
satu class
satu class
Kata Kunci this
Kata Kunci this
Digunakan pada pembuatan class dan digunakan
Digunakan pada pembuatan class dan digunakan
untuk
untuk
menyatakan object sekarang
menyatakan object sekarang
class Mobil{ class Mobil{
String warna; String warna; Int tahunProduksi; Int tahunProduksi;
class Mobil{ class Mobil{
String warna; String warna; Int tahunProduksi; Int tahunProduksi;
52
vvoid isiData(Stringoid isiData(String warnaMobil, int warnaMobil, int tahunProduksiMobil){ tahunProduksiMobil){
warna = warnaMobil; warna = warnaMobil;
tahunProduksi = tahunProduksiMobil; tahunProduksi = tahunProduksiMobil; }}
vvoid isiData(Stringoid isiData(String warna, int warna, int tahunProduksi){ tahunProduksi){
this.warna = warna; this.warna = warna;
this.tahunProduksi = tahunProduksi; this.tahunProduksi = tahunProduksi;
}}
Konstruktor
Konstruktor --1
1--z
z
Method yang digunakan untuk memberi
Method yang digunakan untuk memberi
nilai awal
nilai awal
pada saat object diciptakan
pada saat object diciptakan
zz
Dipanggil secara otomatis ketika
Dipanggil secara otomatis ketika
new
new
digunakan untuk membuat instan class
digunakan untuk membuat instan class
gg
zz
Sifat konstruktor:
Sifat konstruktor:
z
z
Nama konstruktor
Nama konstruktor
sama dengan nama class
sama dengan nama class
zz
Tidak memiliki nilai balik
Tidak memiliki nilai balik
dan tidak boleh ada
dan tidak boleh ada
kata kunci void
kata kunci void
53
Konstruktor
Konstruktor --2
2--class Mobil { class Mobil {
String warna; String warna; int tahunProduksi; int tahunProduksi;
public Mobil(String warna, int tahunProduksi){ public Mobil(String warna, int tahunProduksi){
this.warna = warna; this.warna = warna;
this.tahunProduksi = tahunProduksi; this.tahunProduksi = tahunProduksi; }}
public void info(){ public void info(){
System.out.println("Warna: " + this.warna); System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); System.out.println("Tahun: " + this.tahunProduksi); }}
}}
public class MobilKonstruktor{ public class MobilKonstruktor{
public static void main(String[] args){ public static void main(String[] args){
Mobil mobilku = new Mobil(“Merah”, 2003); Mobil mobilku = new Mobil(“Merah”, 2003); mobilku.info();
mobilku.info(); }}
}}
Class Access Level
Class Access Level
Specifier
Specifier
Class
Class
Package
Package SubClass
SubClass World
World
private
private
9
9
55
no specifier
no specifier
9
9
9
9
protected
protected
9
9
9
9
9
9
public
public
9
9
9
9
9
9
9
9
Latihan
Latihan
1.
1.
Buat class
Buat class
Buku
Buku
2.2.
Tentukan variable buku:
Tentukan variable buku:
Judul, Pengarang, Penerbit
Judul, Pengarang, Penerbit
dan Tahun
dan Tahun
3.3.
Buat konstruktor class Buku dengan parameter:
Buat konstruktor class Buku dengan parameter:
Judul, Pengarang, Penerbit dan Tahun
Judul, Pengarang, Penerbit dan Tahun
B
h d
B
h d
kB k
kB k
4.4.
Buat method
Buat method
cetakBuku
cetakBuku
5.5.
Buat class
Buat class
BukuBeraksi
BukuBeraksi
dan tampilkan 2 buku:
dan tampilkan 2 buku:
z
z Pemrograman Berbasis Objek dengan Java, Indrajani, Pemrograman Berbasis Objek dengan Java, Indrajani,
Elexmedia Komputindo, 2007 Elexmedia Komputindo, 2007
z
z Dasar Pemrograman Java, Abdul Kadir, Andi Offset, Dasar Pemrograman Java, Abdul Kadir, Andi Offset,
2006 2006
56
I nheritance ( Pew arisan)
I nheritance ( Pew arisan)
z
z
Reusability
Reusability
zz
Top down:
Top down:
z
z Being more Being more specificspecific
z
z
Bottom Up:
Bottom Up:
z
z Find Find similiaritysimiliarity
57
ind ind imi ia ityimi ia ity z
z
Java Keyword:
Java Keyword:
extends
extends
Sepeda.java
Sepeda.java
class Sepeda{ class Sepeda{
int kecepatan = 0; int kecepatan = 0; int gir = 0; int gir = 0; // method // method
void ubahGir(int pertambahanGir) void ubahGir(int pertambahanGir){{
gir= gir+ pertambahanGir gir= gir+ pertambahanGir gir= gir+ pertambahanGir; gir= gir+ pertambahanGir; System.out.println("Gir:" + gir); System.out.println("Gir:" + gir); }}
void tambahKecepatan(int pertambahanKecepatan) void tambahKecepatan(int pertambahanKecepatan) {{
kecepatan = kecepatan+ pertambahanKecepatan; kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); System.out.println("Kecepatan:" + kecepatan); }}
}}
58
Class SepedaGunung Mew arisi Class Sepeda
Class SepedaGunung Mew arisi Class Sepeda
classclass SepedaGunung SepedaGunung extendsextendsSepeda Sepeda { {
int setSadel; int setSadel;
public void s
public void setSadeletSadel((intint nilaiSadelnilaiSadel) { ) { setSadel =
setSadel = nilaiSadelnilaiSadel; ; System.out.println(“Tinggi System.out.println(“Tinggi Sadel:”+setSadel); Sadel:”+setSadel); }
}
class SepedaGunungBeraksi { class SepedaGunungBeraksi {
public static void main(String[] args) { public static void main(String[] args) {
// Membuat object // Membuat object
SepedaGunung sepedaku = new sepedaGunung(); SepedaGunung sepedaku = new sepedaGunung();
// Memanggil method di object // Memanggil method di object
sepedaku.tambahKecepatan(10); sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.ubahGir(2);
ll }
}
} }
59
sepedaku.setSadel(20); sepedaku.setSadel(20);
}} }}
SepedaGunung.java
SepedaGunung.java SepedaGunungBeraksi.javaSepedaGunungBeraksi.java
Latihan
Latihan
z
z
Buat class
Buat class
MobilBMW
MobilBMW
yang merupakan inherit
yang merupakan inherit
dari class
dari class
MobilLengkap
MobilLengkap
z
z
Tambahkan method
Tambahkan method
nontonTV()
nontonTV()
yang
yang
menampilkan tulisan di layar:
menampilkan tulisan di layar:
z
z TV dihidupkanTV dihidupkan z
z TV dihidupkanTV dihidupkan
z
z TV mencari channelTV mencari channel
z
z TV menampilkan gambarTV menampilkan gambar
z
z
Buat class
Buat class
MobilBMWBeraksi
MobilBMWBeraksi
yang memanggil
yang memanggil
method
method
nontonTV, hidupkanMobil,
nontonTV, hidupkanMobil,
matikanMobil, ubahGigi
matikanMobil, ubahGigi
Konsep Lanjut
Konsep Lanjut
Pemrograman
Pemrograman
Berorientasi
Berorientasi Ob
Objjek
ek
61
Polymorphism
Polymorphism
z
z
Polymorphism
Polymorphism
: Suatu object dapat
: Suatu object dapat
memiliki berbagai bentuk, sebagai
memiliki berbagai bentuk, sebagai
object dari classnya sendiri atau object
object dari classnya sendiri atau object
dari superclassnya
dari superclassnya
ll
62 1.
1.
Overloading
Overloading
: Penggunaan
: Penggunaan
satu nama untuk
satu nama untuk
beberapa method yang berbeda parameter
beberapa method yang berbeda parameter
2.
2.
Overriding
Overriding
: Terjadi ketika
: Terjadi ketika
deklarasi method
deklarasi method
subclass sama dengan method dari
subclass sama dengan method dari
superclassnya
superclassnya
Polymorphism
Polymorphism –
– Overloading
Overloading
class Mobil { class Mobil {
String warna; String warna; int tahunProduksi; int tahunProduksi;
public Mobil(String warna, int public Mobil(String warna, int tahunProduksi){ tahunProduksi){
this.warna = warna; this.warna = warna;
this.tahunProduksi = tahunProduksi; this.tahunProduksi = tahunProduksi; }}
public class MobilKonstruktor{ public class MobilKonstruktor{
public static void main(String[] args){ public static void main(String[] args){
Mobil mobilku = new Mobil(“Merah”, Mobil mobilku = new Mobil(“Merah”, 2003);
2003);
mobilku.info(); mobilku.info();
Mobil mobil
Mobil mobilmumu = new Mobil();= new Mobil();
mobil mobilmu.mu.info();info(); }} public Mobil(){ public Mobil(){ }} void info(){ void info(){
System.out.println("Warna: " + System.out.println("Warna: " + this.warna);
this.warna);
System.out.println("Tahun: " + System.out.println("Tahun: " + this.tahunProduksi); this.tahunProduksi); }} }} 63 }} }}
Contoh Lain Overloading
Contoh Lain Overloading
class Lingkaran{
class Lingkaran{
public
public
buatLingkaran(int diameter)
buatLingkaran(int diameter)
{{
...
...
}}
public
public
buatLingkaran(int diameter, int x, int y)
buatLingkaran(int diameter, int x, int y)
{{
...
...
}}
public
public
buatLingkaran(int diameter, int x, int y, int
buatLingkaran(int diameter, int x, int y, int
warna, String namaLingkaran)
warna, String namaLingkaran)
{{
...
...
}}
}}
64Polymorphism
Polymorphism -- Overriding
Overriding
class Sepeda{ class Sepeda{
int kecepatan = 0; int kecepatan = 0; int gir = 0; int gir = 0; // method // method
void ubahGir(int pertambahanGir) void ubahGir(int pertambahanGir){{
gir= gir+ pertambahanGir gir= gir+ pertambahanGir gir= gir+ pertambahanGir; gir= gir+ pertambahanGir; System.out.println("Gir:" + gir); System.out.println("Gir:" + gir); }}
void tambahKecepatan(int pertambahanKecepatan) void tambahKecepatan(int pertambahanKecepatan) {{
kecepatan = kecepatan+ pertambahanKecepatan; kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); System.out.println("Kecepatan:" + kecepatan); }}
}}
65
Class SepedaGunung Mew arisi Class Sepeda
Class SepedaGunung Mew arisi Class Sepeda
classclass SepedaGunung SepedaGunung extendsextendsSepeda Sepeda { {
int setSadel; int setSadel;
void ubahGir(int pertambahanGir) void ubahGir(int pertambahanGir)
{{
gir= 2*(gir+ pertambahanGir ); gir= 2*(gir+ pertambahanGir ); System.out.println("Gir:" + gir); System.out.println("Gir:" + gir); }}
class SepedaGunungBeraksi { class SepedaGunungBeraksi {
public static void main(String[] args) { public static void main(String[] args) {
// Membuat object // Membuat object
SepedaGunung sepedaku = new sepedaGunung(); SepedaGunung sepedaku = new sepedaGunung();
// Memanggil method di object // Memanggil method di object
sepedaku.tambahKecepatan(10); sepedaku.tambahKecepatan(10); sepedaku.ubahGir(2); sepedaku.ubahGir(2); ll }} } } 66 sepedaku.setSadel(20); sepedaku.setSadel(20); }} }} SepedaGunung.java
Latihan
Latihan
1.
1.
Kembangkan class
Kembangkan class
Matematika
Matematika
dan
dan
MatematikaBeraksi
MatematikaBeraksi
2.
2.
Lakukan
Lakukan
overloading pada Method
overloading pada Method
yang ada
yang ada
(pertambahan, pengurangan, perkalian,
(pertambahan, pengurangan, perkalian,
pembagian) . Method baru adalah bertipe data
pembagian) . Method baru adalah bertipe data
p
g
p
p
g
p
double
double
(pecahan) dan
(pecahan) dan
memiliki 3 parameter
memiliki 3 parameter
3.
3.
Uji di kelas
Uji di kelas
MatematikaBeraksi
MatematikaBeraksi
dengan
dengan
parameter pecahan: 12.5, 28.7, 14.2
parameter pecahan: 12.5, 28.7, 14.2
4.
4.
Misalnya:
Misalnya:
pertambahan(12.5, 28.7, 14.2)
pertambahan(12.5, 28.7, 14.2)
67
Matematika.java
Matematika.java
class Matematika{ class Matematika{
int hasilPertambahan1, hasilPertambahan2; int hasilPertambahan1, hasilPertambahan2; public void
public void pertambahan (int a, int b)pertambahan (int a, int b){{ hasilPertambahan1 = a + b; hasilPertambahan1 = a + b;
System.out.println(“hasil:” + hasilPertambahan1); System.out.println(“hasil:” + hasilPertambahan1); System.out.println( hasil: hasilPertambahan1); System.out.println( hasil: hasilPertambahan1); }}
public void
public void pertambahan (double a, double b, double c)pertambahan (double a, double b, double c){{ hasilPertambahan2 = a + b + c;
hasilPertambahan2 = a + b + c;
System.out.println(“hasil:” + hasilPertambahan2); System.out.println(“hasil:” + hasilPertambahan2); }}
... ... }}
68
Latihan
Latihan
1.
1.
Kembangkan class
Kembangkan class
Buku
Buku
dan
dan
BukuBeraksi
BukuBeraksi
2.2.
Selain konstruktor class Buku dengan
Selain konstruktor class Buku dengan
parameter:
parameter:
Judul, Pengarang, Penerbit dan
Judul, Pengarang, Penerbit dan
Tahun,
Tahun,
buat konstruktor lagi dengan
buat konstruktor lagi dengan
ll
parameter
parameter
: Judul
: Judul
dan
dan
Pengarang
Pengarang
saja
saja
3.
3.
Panggil kedua konstruktor class
Panggil kedua konstruktor class
Buku
Buku
tadi
tadi
dari class
dari class
BukuBeraksi
BukuBeraksi
69
Packages
Packages
z
z
PPackage
ackage adalah
adalah
koleksi dari beberapa class
koleksi dari beberapa class
dan interface yang berhubungan, dan
dan interface yang berhubungan, dan
menyediakan proteksi akses dan pengelolaan
menyediakan proteksi akses dan pengelolaan
namespace
namespace
zz
1 package
1 package adalah
adalah 1
1 subfolder
subfolder di
di file
file system
system
70 z
z
1 package
1 package adalah
adalah 1
1 subfolder
subfolder di
di file
file system
system
z
z
Package sangat berguna untuk
Package sangat berguna untuk
mengorganisir file dalam suatu project atau
mengorganisir file dalam suatu project atau
library
library
zz
Nama package menggunakan lowercase
Nama package menggunakan lowercase
z
z
Keyword
Keyword: :
package name;
package name;
Budi.java
Budi.java
package kelasku;
package kelasku;
public
public
class Budi{
class Budi{
p bli id
i f (){
p bli id
i f (){
public void info(){
public void info(){
System.out.println(“Kelas Budi”);
System.out.println(“Kelas Budi”);
}}
}}
71
Joko.java
Joko.java
package kelasku;
package kelasku;
public
public
class Joko{
class Joko{
p bli id
i f (){
p bli id
i f (){
public void info(){
public void info(){
System.out.println(“Kelas Joko”);
System.out.println(“Kelas Joko”);
}}
}}
PaketBeraksi.java
PaketBeraksi.java
import kelasku.Budi;
import kelasku.Budi;
import kelasku.Joko;
import kelasku.Joko;
public class PaketBeraksi{
public class PaketBeraksi{
public static void main(String[] args){
public static void main(String[] args){
Budi objectBudi = new Budi();
Budi objectBudi = new Budi();
objectBudi.info();
objectBudi.info();
Joko objectJoko = new Joko();
Joko objectJoko = new Joko();
objectJoko.info();
objectJoko.info();
}}
}}
73Latihan
Latihan
z
z
Kembangkan class
Kembangkan class
Budi
Budi
dan
dan
Joko
Joko
zz
Buat method
Buat method
matakuliah()
matakuliah()
menampilkan
menampilkan
mata kuliah yang diajar Budi dan Joko
mata kuliah yang diajar Budi dan Joko
zz
Paketkan kedua class tadi dalam satu Package
Paketkan kedua class tadi dalam satu Package
bernama
bernama
dosen
dosen
(gunakan keyword:
(gunakan keyword:
package
package
))
bernama
bernama
dosen
dosen
(gunakan keyword:
(gunakan keyword:
package
package
))
zz
Buat Class
Buat Class
DosenBeraksi
DosenBeraksi
yang menjalankan
yang menjalankan
method yang ada di kedua Class tadi
method yang ada di kedua Class tadi
(gunakan keyword:
(gunakan keyword:
import
import
))
74
I nterface
I nterface
z
z
Interface digunakan apabila kita ingin
Interface digunakan apabila kita ingin
menentukan apa yang harus dilakukan
menentukan apa yang harus dilakukan
oleh suatu class tapi
oleh suatu class tapi
tidak menentukan
tidak menentukan
bagaimana cara untuk melakukannya
bagaimana cara untuk melakukannya
75
bagaimana cara untuk melakukannya
bagaimana cara untuk melakukannya
zz
Interface sebenarnya sama dengan class,
Interface sebenarnya sama dengan class,
tapi hanya memiliki
tapi hanya memiliki
deklarasi method
deklarasi method
tanpa implementasi
tanpa implementasi
interface
interface
IntLampu
IntLampu{{
public
public
static final
static final
int
int KeadaanHidup
KeadaanHidup=1;
=1;
public
public
static final
static final
int
int KeadaanMati
KeadaanMati=0;
=0;
bli
bli
b t
b t
t
t
id
id hid k
hid k ()
()
I nterfaceBeraksi.java
I nterfaceBeraksi.java
76
public
public
abstract
abstract
void
void hidupkan
hidupkan();
();
public
public
abstract
abstract
void
void matikan
matikan();
();
}}
class
class LampuLampuimplementsimplementsIntLampuIntLampu{{ int
int statusLampustatusLampu=0;=0;
ppublicublic void void hidupkanhidupkan(){(){ if (
if (this.statusLamputhis.statusLampu == == KeadaanMatiKeadaanMati){){ this.statusLampu
this.statusLampu = = KeadaanHidupKeadaanHidup;; System.out.println
System.out.println("("HidupkanHidupkan LampuLampu! ! ----> > LampuLampu HidupHidup");"); }else{
}else{
System.out.println
System.out.println("("HidupkanHidupkan LampuLampu! ! ----> > LampuLampu SudahSudah HidupHidup Kok
Kok");}");}
77 Kok
Kok );});} }}
public void
public void matikanmatikan(){(){ if (
if (this.statusLamputhis.statusLampu == == KeadaanHidupKeadaanHidup){){ this.statusLampu
this.statusLampu = = KeadaanMatiKeadaanMati;; System.out.println
System.out.println("("MatikanMatikan LampuLampu! ! ----> > LampuLampu MatiMati");"); }else{
}else{
System.out.println
System.out.println("("MatikanMatikan LampuLampu! ! ----> > LampuLampu SudahSudah MatiMati KokKok");"); }}}
}}}
public class
public class InterfaceBeraksi
InterfaceBeraksi{{
public static void main(String[]
public static void main(String[] args
args){
){
Lampu
Lampu lampuKamar
lampuKamar = new
= new Lampu
Lampu();
();
System.out.println
System.out.println("Status
("Status Lampu
Lampu Saat
Saat Ini
Ini: : Mati
Mati");
");
78
lampuKamar.hidupkan
lampuKamar.hidupkan(); //
(); //Hidupkan
Hidupkan Lampu
Lampu
lampuKamar.matikan
lampuKamar.matikan(); //
(); //Matikan
Matikan Lampu
Lampu
lampuKamar.matikan
lampuKamar.matikan(); //
(); //Matikan
Matikan Lampu
Lampu
lampuKamar.hidupkan
lampuKamar.hidupkan(); //
(); //Hidupkan
Hidupkan Lampu
Lampu
lampuKamar.hidupkan
lampuKamar.hidupkan(); //
(); //Hidupkan
Hidupkan Lampu
Lampu
}}
Latihan
Latihan
z
z
Buat program serupa dengan
Buat program serupa dengan
InterfaceBeraksi.java tapi untuk
InterfaceBeraksi.java tapi untuk
ACBeraksi.java
ACBeraksi.java
M
kk
th d
M
kk
th d
th d di b
th d di b
h k
h k
z
z
Masukkan method
Masukkan method--method di bawah ke
method di bawah ke
dalam
dalam
ACBeraksi.java
ACBeraksi.java
z
z
matikanAC() dan hidupkanAC()
matikanAC() dan hidupkanAC()
z
z
dinginkanAC() dan panaskanAC ()
dinginkanAC() dan panaskanAC ()
79
Tugas Mandiri
Tugas Mandiri
z
z
Buat situs blog
Buat situs blog
, bisa ditempat gratis semacam
, bisa ditempat gratis semacam
wordpress.com atau blogspot.com, atau hosting
wordpress.com atau blogspot.com, atau hosting
secara profesional
secara profesional
z
z
Pilih satu topik tentang konsep OOP
Pilih satu topik tentang konsep OOP
, jelaskan
, jelaskan
d
b h
d (b h
) d
d
b h
d (b h
) d
dengan bahasa sendiri (bahasa manusia) dan
dengan bahasa sendiri (bahasa manusia) dan
sampaikan code yang orisinal (tidak mengambil
sampaikan code yang orisinal (tidak mengambil
dari tempat lain)
dari tempat lain)
z
z
Daftar di university.romisatriawahono.net
Daftar di university.romisatriawahono.net
, ,
upload url blog yang telah dibuat melalui fitur
upload url blog yang telah dibuat melalui fitur
tugas mandiri
tugas mandiri
80
Java API untuk Referensi
Java API untuk Referensi
Pemrograman
Pemrograman
81
Referensi
Referensi --1
1--z
z
Sharon Zakhour et al,
Sharon Zakhour et al,
The Java Tutorial
The Java Tutorial
Fourth Edition
Fourth Edition
, ,
http://java.sun.com/docs/books/tutorial
http://java.sun.com/docs/books/tutorial
zz
Deitel & Deitel,
Deitel & Deitel,
Java How to Program
Java How to Program Sixth
Sixth
Edition
Edition
Prentice Hall 2004
Prentice Hall 2004
Edition
Edition
, Prentice Hall, 2004
, Prentice Hall, 2004
zz
Kathy Sierra & Bert Bates,
Kathy Sierra & Bert Bates,
Head First Java
Head First Java
2nd Edition
2nd Edition
, O’Reilly, 2005
, O’Reilly, 2005
zz
Rogers Cadenhead & Laura Lemay,
Rogers Cadenhead & Laura Lemay,
Teach
Teach
Yourself Java 6 in 21 Days
Yourself Java 6 in 21 Days
, Sams Publishing,
, Sams Publishing,
2007
2007
Referensi
Referensi --2
2--z
z
Tim Pengembang JENI,
Tim Pengembang JENI,
JENI 1
JENI 1--66
, ,
Depdiknas, 2007
Depdiknas, 2007
zz
Abdul Kadir,
Abdul Kadir,
Dasar Pemrograman Java 2
Dasar Pemrograman Java 2
, ,
Penerbit Andi, 2004
Penerbit Andi, 2004
Indrajani dan Martin
Indrajani dan Martin
P mr graman B rbasis
P mr graman B rbasis
z
z
Indrajani dan Martin,
Indrajani dan Martin,
Pemrograman Berbasis
Pemrograman Berbasis
Objek dengan Java
Objek dengan Java
, Elex Media Komputindo,
, Elex Media Komputindo,
2007
2007