OOP1
OOP1
Berorientasi Obyek
Sumber IlmuKomputer.com
Java Language
javac java
(Java Compiler) (Java Interpreter)
Paradigma Pemrograman
Sudut pandang dan style pemrograman
berhubungan dengan bagaimana sebuah
masalah diformulasikan dalam bahasa
pemrograman
Functional Programming: Urutan fungsi secara
sekuensial (Scheme, Lisp)
Procedural Programming: Pemecahan masalah
berdasarkan prosedural kerja yg terkumpul dalam unit
pemrograman bernama fungsi (C, Pascal)
Object-Oriented Programming: Koleksi object yang saling
berinteraksi . Class adalah unit pemrograman (Java, C#,
C++)
Tool Pemrograman Java
1. Compiler (Interpreter):
Java Standard Edition (JSE)
2. Text/Code Editor:
TextPad, Notepad++
3. Integrated Development
Environment (IDE):
Netbeans, Eclipse, JCreator
(*) IDE mengintegrasikan Compiler, Code Editor dan
Visual (GUI) Programming secara lengkap
Java Family Suite
Java Standard
Edition (Java SE)
For desktop,
client/server application
Java Enterprise
Edition
(Java EE)
For e-business, e-
commerce web based
Java Micro Edition
application
(Java ME)
For small devices,
like palm,
handphone, etc
Konsep Dasar
Pemrograman Berorientasi
Objek
Berorientasi Objek?
Attribute:
Topi, Baju, Tas
Punggung,
Jaket,
Tangan, Kaki,
Mata
Behavior:
Cara Jalan ke
Depan
Cara Jalan
Mundur
Cara Belok ke
Berorientasi Objek?
Attribute (State):
Ban, Stir, Pedal Kopling/Gas/Re
Warna, Tahun Produksi
Behavior:
Cara Menghidupkan Mesin
Cara Manjalankan Mobil
Cara Memundurkan Mobil
Attribute Variable(Memb
Behavior Method(Fungsi)
Karakteristik OOP -1-
Abstraction:Cara kita melihat suatu sistem
dalam bentuk yang lebih sederhana, yaitu
sebagai suatu kumpulan subsistem
(object) yang saling berinteraksi.
Mobil adalah kumpulan sistem pengapian,
sistem kemudi, sistem pengereman
Method melakukan:
1. Manipulasi data
2. Perhitungan matematika
3. Memonitor kejadian dari suatu event
Membuat dan Memanggil Method
class Mobil2{
String warna; Mobil2.java
int tahunProduksi;
void printMobil(){
System.out.println("Warna: " + warna);
System.out.println("Tahun: " + tahunProduksi);
}
}
public class Mobil2Beraksi{
Mobil2Beraksi.java
public static void main(String[] args){
// Membuat object
Mobil2 mobilku = new Mobil2();
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println(" Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan)
{
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println(" Kecepatan:" + kecepatan);
}
Membuat dan Memanggil Object (SepedaBeraksi.java)
private
no
specifier
protected
public
Latihan
1. Buat class Buku
2. Tentukan variable buku: Judul, Pengarang,
Penerbit dan Tahun
3. Buat konstruktor class Buku dengan
parameter: Judul, Pengarang, Penerbit dan
Tahun
4. Buat method cetakBuku
5. 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
Bottom Up:
Find similiarity
Java Keyword:
extends
Sepeda.java
class Sepeda{
int kecepatan = 0;
int gir = 0;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan)
{
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
Class SepedaGunung Mewarisi Class Sepeda
class SepedaGunung extends class SepedaGunungBeraksi {
Sepeda { public static void main(String[]
args) {
int setSadel; // Membuat object
SepedaGunung sepedaku = new
sepedaGunung();
public void setSadel(int
nilaiSadel) {
setSadel = nilaiSadel; // Memanggil method di object
System.out.println(Tinggi
Sadel:+setSadel); sepedaku.tambahKecepatan(10
} );
} sepedaku.ubahGir(2);
sepedaku.setSadel(20);
SepedaGunung.java SepedaGunungBeraksi.java
}
}
Latihan
Buat class MobilBMW yang merupakan
inherit dari class MobilLengkap
Tambahkan method nontonTV() yang
menampilkan tulisan di layar:
TV dihidupkan
TV mencari channel
TV menampilkan gambar
Buat class MobilBMWBeraksi yang
memanggil method nontonTV,
hidupkanMobil, matikanMobil, ubahGigi
Konsep Lanjut
Pemrograman Berorientasi
Objek
Polymorphism
Polymorphism: Suatu object dapat
memiliki berbagai bentuk, sebagai
object dari classnya sendiri atau
object dari superclassnya
1. Overloading: Penggunaan satu nama
untuk beberapa method yang berbeda
parameter
2. Overriding: Terjadi ketika deklarasi
method subclass sama dengan method
dari superclassnya
Polymorphism Overloading
class Mobil { public class MobilKonstruktor{
String warna; public static void
int tahunProduksi; main(String[] args){
Mobil mobilku = new
public Mobil(String warna, int Mobil(Merah, 2003);
tahunProduksi){
mobilku.info();
this.warna = warna;
this.tahunProduksi = tahunProduksi;
} Mobil mobilmu = new
Mobil();
public Mobil(){ mobilmu.info();
} }
}
void info(){
System.out.println("Warna: " +
this.warna);
System.out.println("Tahun: " +
this.tahunProduksi);
}
}
Contoh Lain Overloading
class Lingkaran{
public buatLingkaran(int diameter){
...
}
public buatLingkaran(int diameter, int x, int y){
...
}
public buatLingkaran(int diameter, int x, int y,
int warna, String namaLingkaran){
...
}
}
Polymorphism - Overriding
class Sepeda{
int kecepatan = 0;
int gir = 0;
// method
void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println("Gir:" + gir);
}
void tambahKecepatan(int pertambahanKecepatan)
{
kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println("Kecepatan:" + kecepatan);
}
Class SepedaGunung Mewarisi Class Sepeda
class SepedaGunung extends class SepedaGunungBeraksi {
Sepeda { public static void main(String[]
args) {
int setSadel; // Membuat object
SepedaGunung sepedaku = new
sepedaGunung();
void ubahGir(int
pertambahanGir) {
gir= 2*(gir+ // Memanggil method di object
pertambahanGir );
System.out.println("Gir:" + sepedaku.tambahKecepatan(10
gir); );
} sepedaku.ubahGir(2);
} sepedaku.setSadel(20);
SepedaGunung.java SepedaGunungBeraksi.java
}
}
Latihan
1. Kembangkan class Matematika dan
MatematikaBeraksi
2. Lakukan overloading pada Method yang ada
(pertambahan, pengurangan, perkalian,
pembagian) . Method baru adalah bertipe
data double (pecahan) dan memiliki 3
parameter
3. Uji di kelas MatematikaBeraksi dengan
parameter pecahan: 12.5, 28.7, 14.2
4. Misalnya:
pertambahan(12.5, 28.7, 14.2)
Matematika.java
class Matematika{
int hasilPertambahanBulat;
double hasilPertambahanPecahan;
package kelasku;
package kelasku;
System.out.println("Status Lampu
Saat Ini: Mati");
lampuKamar.hidupkan(); //Hidupkan
Lampu
lampuKamar.matikan(); //Matikan
Lampu
lampuKamar.matikan(); //Matikan
Lampu
lampuKamar.hidupkan(); //Hidupkan
Lampu
Latihan