0% menganggap dokumen ini bermanfaat (0 suara)
128 tayangan52 halaman

OOP1

Dokumen tersebut membahas konsep pemrograman berorientasi objek dan bahasa pemrograman Java. Topik utama yang dibahas adalah paradigma pemrograman objek, karakteristik pemrograman berorientasi objek seperti abstraksi, modularity, encapsulation, inheritance dan polymorphism, serta konsep dasar pembuatan class dan object dalam Java.

Diunggah oleh

Arrisalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
128 tayangan52 halaman

OOP1

Dokumen tersebut membahas konsep pemrograman berorientasi objek dan bahasa pemrograman Java. Topik utama yang dibahas adalah paradigma pemrograman objek, karakteristik pemrograman berorientasi objek seperti abstraksi, modularity, encapsulation, inheritance dan polymorphism, serta konsep dasar pembuatan class dan object dalam Java.

Diunggah oleh

Arrisalah
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 52

Konsep Pemrograman

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

Modularity: Sifat object adalah modular.


Object dapat ditulis dan dimaintain
terpisah (independen) dari object lain
Karakteristik OOP -2-
Encapsulation: Mekanisme
menyembunyikan suatu proses
dalam sistem untuk menghindari
interferensi dan menyederhanakan
penggunaan sistem itu sendiri
Tongkat transmisi (gigi) pada mobil
Tombol on/off/pengaturan suhu pada AC
Karakteristik OOP -3-
Inheritance: Suatu class dapat
mewariskan atribut dan method
kepada class lain (subclass), serta
membentuk class hierarchy
Karakteristik OOP -4-

Polymorphism: Suatu object dapat


memiliki berbagai bentuk, sebagai
object dari classnya sendiri atau
object dari superclassnya
Overloading: Penggunaan satu nama
untuk beberapa method yang berbeda
(beda parameter)
Overriding: Terjadi ketika deklarasi
method subclass dengan nama dan
parameter yang sama dengan method
dari superclassnya
Perbedaan Class dan Object
Class: mobil
Object: mobilnya pak Joko, mobilku

Class seperti cetakan kue, dimana kue yg


dihasilkan dari cetakan kue itu adalah object
Warna kue bisa bermacam-macam
meskipun berasal dari cetakan yang sama
(object memiliki sifat independen)

Object adalah instance dari Class


Attribute
Berbagai variable yang mengitari
class, dengan nilai datanya bisa
ditentukan di object. Name, age,
dan weight adalah atribute dari
class Person
Membuat Class, Object dan Memanggil Atribut
class Mobil {
Mobil.java
String warna;
int tahunProduksi;
}

public class MobilBeraksi{


MobilBeraksi.java
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);
Method

Method adalah implementasi


dari bagaimana bekerjanya
sebuah class

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();

/* memanggil atribut dan memberi nilai */


mobilku.warna = "Hitam";
mobilku.tahunProduksi = 2006;
mobilku.printMobil();
}}
Latihan
Kembangkan Class Mobil2
Ubah nama class menjadi MobilLengkap
dan tambahkan method:
hidupkanMobil()
matikanMobil()
ubahGigi()
Isi masing-masing method dengan tampilan
status menggunakan System.out.println()
Panggil method-method diatas dari
MobilLengkapBeraksi
Message dan Parameter -1-
Bicycle akan berguna apabila ada object lain
(misalnya 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 object pengirim (sender)


2. YourBicycle object penerima (receiver)
3. changeGears the message, the method
to perform
4. lowerGear information from You to
YourBicycle, the parameters needed by the
method
Membuat Class (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);
}
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


sepedaku.kecepatan=10;
sepedaku.gir=2;

// Memanggil method dan menunjuk nilai


parameter
sepedaku.tambahKecepatan(30);
sepedaku.ubahGir(3);
}}
Latihan
Buat Class bernama Matematika, yang
berisi method dengan dua parameter:
pertambahan pertambahan(20,20)
pengurangan
perkalian
pembagian
Buat Class bernama MatematikaBeraksi,
yang mengeksekusi method dan
menampilkan:
Pertambahan: 20 + 20 = 40
Pengurangan: 10-5 = 5
Perkalian: 10x20 = 200
Pembagian: 21/2 = 10
Tips Membuat Class

1 file bisa berisi >=1 class


1 file hanya dapat berisi 1 public class
Nama file harus sama dengan nama
public class
Java menganut case-sensitive
Tips: Lebih baik dan lebih mudah
dipahami apabila satu file berisi hanya
satu class
Kata Kunci this
Digunakan pada pembuatan class dan
digunakan untuk menyatakan object
sekarang
class Mobil{ class Mobil{
String warna; String warna;
Int tahunProduksi; Int tahunProduksi;

void isiData(String void isiData(String warna, int


warnaMobil, int tahunProduksi){
tahunProduksiMobil){
this.warna = warna;
warna = warnaMobil; this.tahunProduksi =
tahunProduksi = tahunProduksi;
tahunProduksiMobil; }
}
Konstruktor -1-

Method yang digunakan untuk


memberi nilai awal pada saat object
diciptakan
Dipanggil secara otomatis ketika new
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 -2-
class 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();
}}
Class Acces Level
Packa SubCla
Specifier Class World
ge ss

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;

public void pertambahan (int a, int b){


hasilPertambahanBulat = a + b;
System.out.println(hasil: + hasilPertambahanBulat);
}
public void pertambahan (double a, double b, double c){
hasilPertambahanPecahan = a + b + c;
System.out.println(hasil: + hasilPertambahanPecahan);
}
...
}
Packages
Package 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: package name;
Budi.java

package kelasku;

public class Budi{


public void info(){
System.out.println(Kelas
Budi);
}
}
Joko.java

package kelasku;

public class Joko{


public void info(){
System.out.println(Kelas
Joko);
}
}
PaketBeraksi.java
import kelasku.*;

public class PaketBeraksi{


public static void main(String[] args){
Budi objectBudi = new Budi();
objectBudi.info();
Joko objectJoko = new Joko();
objectJoko.info();
}
}
Latihan
Kembangkan 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)
Buat Class DosenBeraksi yang
menjalankan method yang ada di
kedua Class tadi (gunakan keyword:
import)
Interface

Interface 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 implementasi
InterfaceBeraksi.java
interface IntLampu{
public static final int
KeadaanHidup=1;
public static final int
KeadaanMati=0;

public abstract void


hidupkan();
public abstract void
matikan();
}
class Lampu implements IntLampu{
int statusLampu=0;

public void hidupkan(){


if (this.statusLampu == KeadaanMati){
this.statusLampu = KeadaanHidup;
System.out.println("Hidupkan Lampu! --> Lampu
Hidup");
}else{
System.out.println("Hidupkan Lampu! --> Lampu
Sudah Hidup Kok");}
}

public void matikan(){


if (this.statusLampu == KeadaanHidup){
this.statusLampu = KeadaanMati;
System.out.println("Matikan Lampu! --> Lampu
Mati");
}else{
System.out.println("Matikan Lampu! --> Lampu
public class InterfaceBeraksi{
public static void main(String[] args){

Lampu lampuKamar = new Lampu();

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

Buat program serupa dengan


InterfaceBeraksi.java tapi untuk
ACBeraksi.java
Masukkan method-method di
bawah ke dalam ACBeraksi.java
matikanAC() dan hidupkanAC()
dinginkanAC() dan panaskanAC ()

Anda mungkin juga menyukai