Anda di halaman 1dari 185

PEMROGRAMAN BERORIENTASI OBJEK

Sabar Hanadwiputra, S.Kom., M.Kom


sabar@stmik-banisaleh.ac.id
sabar.hanadwiputra@gmail.com
0813-240728-33

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

SD Bani Saleh, Bekasi (1994)


SMP Bani Saleh 1, Bekasi (1997)
SMA Korpri , Bekasi (2000)
S1, Sistem Informasi, STMIK Bani Saleh, Bekasi (2006)
S2, Teknik Informatika, School of IT Jakarta (2013)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Semester 1 dan 2
1. Konsep Pemrograman dan Paradigmanya:
Tingkat Bahasa Pemrograman, Paradigma Pemrograman,
2. Teknologi Java dan Perangkat Pemrograman:
Java Family, Perangkat, Instalasi, Kompilasi
3. Dasar dan Aturan:
Type Data, Pengambil Keputusan dan Perulangan
4. Konsep Dasar Pemrograman Berorientasi Objek:
Class, Object, Attribute, Method, Constructor
5. Karakteristik Pemrograman Berorientasi Objek:
Abstraction, Encapsulation, Inheritance, Polymorphisme
6. Pengorganisasian Class:
Package, Interface

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

▪ Komputer bekerja seperti switching dan hanya mengenali 0 dan 1


▪ Manusia tidak (paham) berbicara dengan bahasa 0 dan 1
▪ Perlu bahasa pemrograman yang dapat menjadi perantara
percakapan antara komputer dan manusia
▪ Bahasa pemrograman diubah ke dalam bahasa yang dipahami
oleh komputer dengan menggunakan interpreter atau kompiler

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Java Language
javac java
(Java Compiler) (Java Interpreter)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Tingkat Bahasa Pemrograman

1. Bahasa Pemrograman Tingkat Rendah


(Assembler)
2. Bahasa Pemrograman Tingkat Sedang
(C, Pascal, Fortran)
3. Bahasa Pemrograman Tingkat Tinggi
(Java, C++, C#)
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Paradigma Pemrograman
Sudut pandang dan style pemrograman berhubungan dengan
bagaimana sebuah masalah diformulasikan dalam bahasa
pemrograman

1. Functional Programming: Urutan fungsi secara sekuensial


(Scheme, List)
2. Procedural Programming: Pemecahan masalah berdasarkan
prosedural kerja yg terkumpul dalam unit pemrograman
bernama fungsi (C, Pascal)
3. Object-Oriented Programming: Koleksi object yang saling
berinteraksi . Class adalah unit pemrograman (Java, C#, C++)
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Teknologi Java dan


Perangkat Pemrograman

Java Family, Perangkat, Kompilasi

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Sejarah Java
• Java adalah salah satu bahasa pemrograman
computer yang berorientasi object diciptakan
oleh salah satu perusahaan Sun microsystem,
perusahaan workstation UNIX .
• JAVA diciptakan berdasarkan bahasa C++ dengan
tujuan platform independent dapat dijalankan
pada berbagai jenis hardware tanpa kompilasi
ulang.

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• lanjutan

• Tahun 1991 James Gosling, Sun Microsystem


menciptakan sebuah bahasa baru yang ditulis
berdasarkan C++. Bahasa ini disebut OAK (nama
pohon yang terlihat dari jendela ruangan James
Gosling)
• 1994 web mulai popular nama bahasa Oak
diganti menjadi JAVA ternyata Oak sudah dipakai
terlebih dahulu.

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• lanjutan

James Gosling mencari nama bahasa baru suatu


ketika mampir disebuah café untuk minum kopi dan
minta Java timbulah idenya memakai nama Java.
Java kemudian dipakai untuk sebuah browser yang
bernama WebRunner setelah berhasil browser
kemudian dinamakan HotJava dengan symbol
secangkir kopi panas.

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• lanjutan

• 1995 bahasa Java dan HotJAva diumumkan


diweb. Versi alpha ditayangkan awal tahun 1995.
• Pada tahun 1995 musim panas
diimplementasikan pada windows 95 dan linux.
• Tanggal 23 Januari 1996, Java 1.0 resmi
diumuMkan dan disediakan di web untuk
Netscape 2.0, salah sau browser terkenal,
mengadopsi JAVA dan JAVASCRIPT.

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• lanjutan

• Perkembangan JAVA tidak berhenti .


• Berbagai teknologi diperkenalkan seperti J2EE
(Java 2 Enterprise Edition), J2SE (Java 2 Standart
Edition), JavaBean, Java Server Page (JSP) dan
JME (Java Micro Edition).
• Bahkan JAVA memicu bahasa2 yang berorientasi
jaringan seperti Phyton, ASP, XML,C# dll.

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• lanjutan

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Java Family Suite


1. Java Standard Edition
(Java SE)
❑ For desktop, client/server
application
2. Java Enterprise Edition
(Java EE)
❑ For e-business, e-commerce
web based application
3. Java Micro Edition
(Java ME)
❑ For small devices, like palm,
handphone, etc
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Java Certification

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Why Java?

• Simple and familiar object oriented


programming
• Architecture neutral (platform independent)
• Open Source
• First rank in TIOBE Index

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Programming Paradigm Index

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Perangkat Pemrograman Java


1. Compiler (Interpreter):
Java Standard Edition (JSE)

2. Code Editor:
– Text/Code Editor:
TextPad, Notepad++
– Integrated Development Environment (IDE):
Netbeans, JCreator

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Instalasi Text Editor dan Set Path


Set path dan instalasi text editor diperlukan
untuk yang mengembangkan aplikasi text-based
dengan console

1. Klik Start →Control Panel → System → Advanced


→Environment Variables dan set system PATH:
;C:\Program Files\Java\jdk1.6.0_17\bin
2. Instal text editor untuk editing code:
textpad, notepad++, JCreator

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK
public class Hello Jalankan dengan:
public static void main(String[] args){ 1. C:\>java Hello (Application)
2. Web Browser
System.out.println("Hello World!");
}
}
Hello.java
javac (java compiler)
Interpreter Interpreter Interpreter Interpreter

How Java Works?


Kompiler memproduksi
Bytecode (Class)

Hello.class

KREATIF DAN INOVATIF


Write Once Run Everywhere ! Web Server
PEMROGRAMAN BERORIENTASI OBJEK

Menulis Program Java


• Bentuk program:
1. Text-Based Console Application → menggunakan library
non-GUI di Java
2. GUI Application → menggunakan AWT atau Swing untuk
library GUI

• Suatu class bisa dieksekusi karena memiliki method main


public static void main(String[] args)
→ Program Java mulai dari sini!

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan: Tulis dan Compile Halo.java


public class Halo{
public static void main(String[] args){
System.out.println(“Halo Bekasi”);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan dan
Ekspresi

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan
• Perintah yang menyebabkan sesuatu terjadi dan
merepresentasikan aksi tunggal dalam program Java
Contoh: int tahunProduksi;
• Setiap pernyataan ditutup oleh karakter semicolon (;)
• Pernyataan dikelompokkan dengan tanda pembuka
({) dan penutup (}). Kelompok ini disebut blok atau
blok pernyataan

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Ekspresi
• Pernyataan yang dapat menghasilkan suatu
nilai. Nilai yang dihasilkan oleh pernyataan ini
yang disebut dengan nilai balik (return value)
• Nilai balik bisa berupa bilangan, boolean, atau
objek
• Method tanpa nilai balik biasanya
menggunakan keyword void
• Contoh: hasilBagi = a / b;

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Kata Kunci
abstract private case interface
continue this enum static
for break instanceof void
new double return class
switch implements transient finally
assert protected catch long
default throw extends strictfp
package byte int volatile
synchronized else short float
boolean import try native
do public char super
if throws final while
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Variabel, Tipe Data,


dan Literal

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Variabel
• Lokasi di dalam memori komputer yang digunakan
untuk menyimpan suatu informasi (nilai)
• Nilai variabel dapat diubah di pernyataan manapun
di dalam program
• Mendeklarasikan variabel:
tipe namaVariabel1 [, namaVariabel2]
• Contoh:
int hasilKali;
String namaSiswa, namaGuru, namaAdmin;

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Lingkup Variabel
Variabel dipanggil berdasarkan lingkupnya, dimulai dari blok
yang paling kecil, kemudian blok di luar itu
1. Local Variable: digunakan di dalam method atau blok
pernyataan yang lebih kecil dari itu
2. Parameter: variabel yg ada di dalam pernyataan (argument)
method
3. Instance Variable: variabel yang memiliki nilai yang berbeda di
setiap objek
4. Class Variable: variabel yang berlaku di suatu class dan
seluruh instan dari class tersebut (objek). Ciri class variable
adalah menggunakan keyword static

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Bilangan.java
public class Bilangan {
static int pencacah = 0;
int nilai;
public Bilangan(int nilai){
this.nilai = nilai;
pencacah++;
}
public void info(){
System.out.println("Nilai:“ + this.nilai);
System.out.println("Pencacah:“ + pencacah);
System.out.println("");
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

BilanganBeraksi.java
public class BilanganBeraksi{
public static void main(String[] args){
Bilangan b1 = new Bilangan(50);
b1.info();

Bilangan b2 = new Bilangan(15);


b2.info();

Bilangan b3 = new Bilangan(30);


b3.info();
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Memberi Nilai Variabel


• Menggunakan tanda sama dengan (=)
• Kebiasaan yang baik untuk memberi nilai awal
(initial value) pada local variabel (mencegah bug
pada program)
• Contoh:
int hasilTambah = 0;
boolean status = false;
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Memberi Nama Variabel


• Gunakan lowercase untuk variabel yang terdiri dari
satu kata atau kata pertama
• Gunakan kapital untuk karakter pertama dari kata
kedua, ketiga, dst
• Contoh:
int hasil;
boolean statusMesinMobil;
Button openFile;

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Modifier
• Modifier adalah keyword yang diletakkan di depan class, interface,
variable (field) atau method
• Jenis Modifier:
– Access Modifier:
• Pengaturan pengaksesan dari variable dan method
– Static Modifier:
• Membuat method dan variable menjadi milik class, bukan object
• Tidak perlu membuat object untuk penggunaan variable (field)
dan method
– Final Modifier:
• Menyatakan bahwa sesuatu (class, method, variable) sudah final
dan tidak dapat diubah

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Tipe Data
1. Tipe Data Primitif
– Sebagai kata kunci di Java (lowercase)
– Embedded di compiler Java
– Pemrosesan relatif cepat
– Contoh: int, double
2. Tipe Data Reference
– Class yang ada di library Java (java.lang)
– Menggunakan huruf capital
– Contoh: String, Integer, Double

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Tipe Data Primitif


1. byte Catatan:
2. short • Secara umum jenis tipe
data:
3. int bilangan bulat, pecahan,
4. long karakter dan boolean
• Hasil operasi matematika
5. float akan mengikuti tipe data
6. double dari operand

7. char
8. boolean
KREATIF DAN INOVATIF
Tipe Data Keterangan Ukuran Jangkauan
Primitif PEMROGRAMAN BERORIENTASI OBJEK
byte Bilangan bulat 8 bit -128 → 127

short Bilangan bulat 16 bit -32.768 → 32.767

int Bilangan bulat 32 bit -2.147.483.648 →


2.147.483.647
long Bilangan bulat 64 bit -9.223.372.036.854.775,808
→ 9.223...807

float Bilangan pecahan 32 bit -3.4E38 → 3.4E38


(presisi 6-7 bit)
double Bilangan pecahan 64 bit -1.7E308 → 1.7E308
(presisi 14-15 bit)
char Karakter (unicode) 16 bit \u0000 → \uffff

boolean Logika (true/false)


KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Karakter.java

public class Karakter{


public static void main(String[] args){

char karakter1=88, karakter2='X', karakter3='Y';

System.out.println("Karakter 1: " + karakter1);


System.out.println("Karakter 2: " + karakter2);
System.out.println("Karakter 3: " + karakter3);
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Constant Variable (Konstanta)

• Constant Variable digunakan apabila kita ingin membuat nilai


sebuah variable tidak berubah (tetap)
• Constant variable menggunakan keyword final di depan tipe
data, kadang sering juga digabungkan dengan keyword static.
Nama constant variable biasanya menggunakan kapital
• Contoh:
final float PI = 3.141592;
static final boolean DEBUG = false;

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Literal

Semua informasi (bilangan, karakter, string, boolean ) yang merepresentasikan


suatu nilai
• Literal Bilangan (bulat dan pecahan):
– int tahun = 2008; long nilai = 4L
– double myScore = 2.25; float piValue = 3.1415927F;
– double x = 12e22; double y = 19E-95;
• Literal Boolean (true dan false):
– boolean pilihan = true;
• Literal String:
– String quitMsg = “Yakin Ingin Keluar?”;
• Literal Karakter (unicode)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Character Escape
Escape Meaning
\n New line
\t Tab
\b Backspace
\r Carriage return
\f Formfeed
\\ Backslash
\' Single quotation mark
\" Double quotation mark
\d Octal
\xd Hexadecimal
\ud Unicode character

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

LuasSegitiga.java

public class LuasSegitiga {


public static void main(String[] args) {
int alas= 17;
int tinggi = 11;

double luas = (double) (alas*tinggi)/2;

System.out.println("Luas Segitiga : " + luas);


}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Operator
• Operator adalah simbol dan karakter khusus
(matematika) yang digunakan dalam suatu ekspresi
• Contoh:
– int x = 3;
– int y = x;
– int z = x * y;
– boolean status = true;

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Jenis Operator Berdasar Operand


1. Operator Unary: operator yang
melibatkan satu operand
2. Operator Binary: operator yang
melibatkan dua operand
3. Operator Ternary: operator yang
melibatkan tiga operand

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Jenis Operator
1. Operator Aritmatika
2. Operator Penugasan
3. Operator Penggabungan
4. Operator Penambahan dan Pengurangan
5. Operator Bit
6. Operator Pembanding
7. Operator Logika
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Operator Aritmatika
Operator Meaning Example
+ Addition 3+4
- Subtraction 5-7
* Multiplication 5*5
/ Division 14 / 7
% Modulus 20 % 7
• Hasil operasi matematika akan mengikuti tipe data
operand
• Operand bertipe int akan menghasilkan int
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Operator Penugasan
• Operator penugasan berguna untuk memberi
nilai ke suatu variabel
• Operator penugasan menggunakan tanda sama
dengan ( = )
• Operator penugasan digabungkan dengan
operator aritmatika membentuk operator
penugasan gabungan (compound assignment)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Operator Penugasan Gabungan


Expression Meaning
x += y x=x+y
x -= y x=x-y
x *= y x=x*y
x /= y x=x/y
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Operator Penggabungan
• Operator + dapat digunakan untuk
penggabungan String dan String maupun String
dan Bilangan

• Contoh:
System.out.println(“Saya adalah” + “Siswa”);
int siswa = 30;
System.out.println(“Jumlah Siswa” + siswa);

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Increment dan Decrement


• Increment: menambahkan 1 ke nilai variabel
(operator = ++, prefix atau postfix)
int x=5; int x=5;
y = x++; y = ++x;
(nilai saat ini : y = 5, x=6) (nilai saat ini: y = 6, x=6)

• Decrement: mengurangkan 1 ke nilai variabel


(operator = --)
int x=5; int x=5;
y = x--; y = --x;
(nilai saat ini: y = 5, x=4) (nilai saat ini: y = 4, x=4)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Operator Pembanding (Relasional)


Operator Meaning Example

== Equal x == 3

!= Not equal x != 3

< Less than x<3

> Greater than x>3

<= Less than or equal to x <= 3

>= Greater than or equal to x >= 3

Operator pembanding menggunakan ekspresi dengan nilai balik boolean (true or


false)
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Operator Logika

&& operasi logika AND


|| operasi logika OR
! operasi logika NOT

Operator logika menggunakan ekspresi dengan


nilai balik Boolean (true or false)
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Urutan Eksekusi Operator

• Secara umum urutan eksekusi operator:


1. Operasi Penambahan dan Pengurangan
2. Operasi Aritmatika
3. Operasi Pembandingan
4. Operasi Logika
5. Operasi Penugasan
• Apabila urutan sama, sebelah kiri dieksekusi terlebih dahulu daripada sebelah
kanan
• Khusus untuk operator = dan += sebelah kanan dieksekusi terlebih dahulu

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan Penentu
Keputusan

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan Penentu Keputusan

1. if, if-else, if-else if – else


2. switch

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

if
• Pernyataan kondisi yang digunakan untuk
pengambilan keputusan terhadap dua buah
kemungkinan
• if bisa berdiri sendiri atau dengan menggunakan else
• Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi
benar
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

PernyataanIF.java
public class PernyataanIF{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;

if(totalBelanja >= 100000){


diskon = totalBelanja/10;
}
System.out.println("Diskon = " + diskon);
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

• Soal 1
- Diketahui:
• NIS : 20170101
• Nama : Iwan Fals
• Nilai Praktikum : 75
-Ditanyakan
Kriteria : Jika nilai praktikum lebih besar atau sama
dengan 80 maka tampilkan kalimat “keterangan =
lulus”. Lakukan sebuah pengujian. Bagaimanakah
hasil outputnya????
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

• Soal 2
Diketahui:
• Nilai A : 65
• Nilai B : 70
-Ditanyakan
Kriteria : JIKA NILAI A LEBIH BESAR DARI NILAI B
MAKA tampilkan kalimat “Nilai A lebih besar dari
Nilai B. Lakukan sebuah pengujian. Bagaimanakah
hasil outputnya????

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

if-else
• if-else mengatur pernyataan yang dijalankan sewaktu kondisi
bernilai benar atau salah
• Bentuk:
if(kondisi){
// blok pernyataan yang dijalankan, bila kondisi benar
} else{
// blok pernyataan yang dijalankan, bila kondisi salah
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanIFELSE.java
public class PernyataanIFELSE{
public static void main(String[] args){
int diskon =0, totalBelanja = 500000;

if(totalBelanja >= 100000){


diskon = totalBelanja/10;
} else{
diskon = 0;
}
System.out.println("Diskon = " + diskon);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 3
- Diketahui:
• NIS : 20170101
• Nama : Iwan Fals
• Nilai Praktikum : 75
-Ditanyakan
Kriteria : Jika nilai praktikum lebih besar atau sama dengan 80 maka
tampilkan kalimat “keterangan = lulus”. Jika nilai praktikum
kurang dari 80 maka tampilkan kalimat “keterangan = tidak
lulus”Lakukan sebuah pengujian. Bagaimanakah hasil
outputnya????

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 4
• Diketahui
• total pembelian = 50000
• Ditanyakan:
• Menentukan besarnya potongan dari pembelian barang yang diberikan
seorang pembeli, dengan kriteria :
• a. jika total pembelian kurang dari Rp. 50.000,- potongan yang diterima
sebesar 5% dari total pembelian.
• b. Jika total pembelian lebih dari atau sama dengan Rp. 50.000,- potongan
yang diterima sebesar 20% dari total pembelian.
• C.Lakukan sebuah pengujian. Dengan perkiraan output sbb:
Total Pembelian = Rp. 50000
Potongan = Rp. 10000
Jumlah Yang Harus dibayar = Rp. 40000

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

if-else if-else
• Mengatur pernyataan yang dijalankan sewaktu kondisi berupa pilihan
• Bentuk:
if(kondisiA){
// pernyataan yang dijalankan, bila kondisiA benar
}else if(kondisiB){
// pernyataan yang dijalankan, bila kondisiB benar
}else if(kondisiC){
// pernyataan yang dijalankan, bila kondisiC benar
}else{
// pernyataan yang dijalankan untuk kondisi selain itu
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanIFELSEIF.java
public class PernyataanIFELSEIF{
public static void main(String[] args) {
int skorUjian= 86; char nilai;
if (skorUjian >= 90) {
nilai = 'A';
} else if (skorUjian >= 80) {
nilai = 'B';
} else if (skorUjian >= 70) {
nilai = 'C';
} else {
nilai = 'D';
}
System.out.println("Nilai = " + nilai);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK
• Soal 5
• Diketahui :
• NIS : 20170102
• NAMA : Roky Pangaribuan
• Nilai Ms. Word : 80
• Nilai Ms. Excel : 80
• Nilai Ms. Access : 80

Ditanyakan:
Buat Laporan Nilai Kursus kilat sbb
• Nilai = (nilai word + nilai excel + nilai access) / 3
• Nilai huruf :
– Jika nilai >=80, maka nilai huruf=”A”
– Jika nilai >=66 dan nilai<80, maka nilai huruf=”B”
– Jika nilai >=55 dan nilai<66, maka nilai huruf=”C”
– Jika nilai >=41 dan nilai<55, maka nilai huruf=”D”
– Jika nilai > 41, maka nilai huruf=”E”
• Nilai mutu :
– Jika nilai huruf=”A”, maka nilai mutu=”memuaskan”
– Jika nilai huruf=”B”, maka nilai mutu=”baik”
– Jika nilai huruf=”C”, maka nilai mutu=”cukup”
– Jika nilai huruf=”D”, maka nilai mutu=”kurang”
– Jika nilai huruf=”E”, maka nilai mutu=”gagal”
• Keterangan
– Jika nilai >=55, keterangan =”lulus”
– Jika nilai <55, maka keterangan =”tidak lulus”

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Output:
• NIS : 20170102
• NAMA : Roky Pangaribuan
• Nilai Ms. Word : 80
• Nilai Ms. Excel : 80
• Nilai Ms. Access : 80
• Nilai Rata-rata Keseluruhan : 80
• Nilai Huruf :A
• Nilai Mutu : Memuaskan
• ------------------------------------------------------------------
• Keterangan Siswa : Lulus

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Operator Ternary (Kondisi)

• Pernyataan kondisi yang menggunakan operator ternary


(melibatkan tiga buah operand)

• Bentuk:
ekspresi_kondisi ? nilai_1 : nilai_2

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

OperatorTernary.java

public class OperatorTernary{


public static void main(String[] args){
int totalBelanja = 500000;

int diskon = totalBelanja >= 100000 ?totalBelanja/10 : 0;

System.out.println("Diskon = " + diskon);


}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

switch
• Switch digunakan untuk melakukan tindakan berbeda terhadap sejumlah
kemungkinan nilai
• Bentuk:
switch(ekspresi){
case nilaiSatu:
Pernyataan 1
break;
case nilaiDua:
Pernyataan2
break;
...
default: PernyataanN;
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

PernyataanSWITCH1.java
public class PernyataanSWITCH1{
public static void main(String[] args){
int pilihan = 3;
switch(pilihan){
case 1:
System.out.println("Soto Ayam");
break;
case 2:
System.out.println("Gule Kambing");
break;
case 3:
System.out.println("Nasi Goreng");
break;
default:
System.out.println("Silakan Pilih 1, 2 atau 3");
}
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanSWITCH2.java
public class PernyataanSWITCH2{
public static void main(String[] args){
int pilihan = 3;
switch(pilihan){
case 1:
case 2:
case 3:
case 4:
case 5:
System.out.println("Hari Kerja");
break;
case 6:
case 7:
System.out.println("Hari Libur");
break;
default:
System.out.println("Silakan Pilih Hari");
}}}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan
Pengulangan Proses (Loop)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan Pengulangan Proses

1.for
2.while
3.do-while

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

for
• for sering disebut for loop, karena digunakan untuk
proses looping atau pengulangan
• Bentuk:

for (inisialisasi; kondisi; penaikan_penurunan){


pernyataan
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanFOR.java

public class PernyataanFOR {


public static void main(String[] args){
for(int i=1; i<11; i++){
System.out.println(i);
}
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 2
• Buatlah output sbb:

10 9 8 7 6 5 4 3 2 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 3
• Buatlah output sbb:

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

while

• while digunakan untuk melakukan proses


pengulangan suatu blok pernyataan selama
kondisinya bernilai true
• Bentuk:
while (kondisi) {
pernyataan
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

PernyataanWHILE.java
class PernyataanWHILE {
public static void main(String[] args){
int i = 1;
while (i < 11) {
System.out.println(i);
i++;
}
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Latihan: Tampilkan Bilangan Genap


Tampilkan bilangan genap antara 1 sampai 20 dengan
menggunakan:

1. Pernyataan FOR
2. Pernyataan WHILE

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 2
• Buatlah output sbb:

10 9 8 7 6 5 4 3 2 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 3
• Buatlah output sbb:

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

do...while

• do ... while digunakan untuk melakukan proses pengulangan


suatu blok pernyataan selama kondisinya bernilai true
• Pernyataan dalam blok paling tidak dieksekusi satu kali
• Bentuk:
do {
pernyataan
} while (kondisi);

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanDOWHILE.java
class PernyataanDOWHILE {
public static void main(String[] args){
int i = 1;
do {
System.out.println(i);
i++;
} while (i <= 10);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

• Soal 2
• Buatlah output sbb:

10 9 8 7 6 5 4 3 2 1

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan Pemindah
Proses (Jump)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pernyataan Pemindah Proses

1. return
2. break
3. continue

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

return
• Digunakan untuk keluar dari method
• return memiliki dua bentuk:
1. mengembalikan nilai (sesuai dengan tipe data)
2. tidak mengembalikan nilai (untuk void)
• Contoh:
int perkalian(int x, int y){
return x * y;
}
void perkalian(int x, int y){
hasilKali = x * y;
return;
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

break

• Penyataan break digunakan untuk keluar dari


suatu pengulangan (loop)
• Penggunaan break bisa berbentuk tanpa label
atau berlabel

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

PernyataanBREAK.java

public class PernyataanBREAK {


public static void main(String[] args){
for(int i=1; i<11; i++){
if(i==5) break;
System.out.println(i);
}
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

PernyataanBREAKLABEL.java
public class PernyataanBREAK {
public static void main(String[] args){
selesai:
for(int i=1; i<11; i++){
if(i==5) break selesai;
System.out.println(i);
}
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

continue
• Digunakan untuk melanjutkan eksekusi ke suatu
pengulangan (loop)
• Bisa berbentuk tanpa label atau berlabel
• Bentuk code persis sama dengan break, baik untuk
yang tanpa label atau berlabel

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Konsep Dasar Pemrograman


Berorientasi Objek

Class , Object, Method, Attribute

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Attribute:
Berorientasi Objek? Topi, Baju, Jaket,
Tas Punggung,
Tangan, Kaki, Mata

Behavior:
Cara Jalan ke Depan
Cara Jalan Mundur
Cara Belok ke Kiri
Cara Memanjat

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK
Attribute (State):
Berorientasi Objek? Ban, Stir, Pedal Rem, Pedal Gas,
Warna, Tahun Produksi
Behavior:
Cara Menghidupkan Mesin
Cara Manjalankan Mobil
Cara Memundurkan Mobil

Attribute → Variable(Member)
KREATIF DAN INOVATIF
Behavior → Method(Fungsi)
PEMROGRAMAN BERORIENTASI OBJEK

Latihan
1. Lakukan kegiatan berorientasi objek dengan
target Sepeda
2. Pikirkan apa atribut dan behavior yang
dimiliki oleh Sepeda tersebut

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Perbedaan Class dan Object


• Class adalah konsep dan deskripsi dari sesuatu
• Object adalah instance dari Class

• 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)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Class = Method + Variable


Class Sepeda gir

kecepatan variable

ubah kecepatan

ubah gir method

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Object = Method + Variable Bernilai


Object Sepedaku gir = 3

kecepatan = 10km/jam
instance
variable

ubah kecepatan (10)


instance
method
ubah gir (2)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Attribute
• Variable yang mengitari class, dengan nilai datanya bisa
ditentukan di object
• Name, age, dan weight adalah atribute dari class Person

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

public class Mobil {


String warna;
Mobil.java
int tahunProduksi;
}

Membuat Class, Object dan Memanggil Atribut MobilBeraksi.java


public class MobilBeraksi{
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);
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Method
• Method adalah implementasi dari bagaimana
bekerjanya sebuah class

• Method melakukan:
1. Manipulasi data
2. Perhitungan matematika
3. Memonitor kejadian dari suatu event

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Membuat dan Memanggil Method


public class Mobil2{ Mobil2.java
String warna;
int tahunProduksi;
void printMobil(){
System.out.println("Warna: " + warna);
System.out.println("Tahun: " + tahunProduksi);
}
}

public class Mobil2Beraksi{


public static void main(String[] args){
Mobil2Beraksi.java
// Membuat object
Mobil2 mobilku = new Mobil2();

/* memanggil atribut dan memberi nilai */


mobilku.warna = "Hitam";
mobilku.tahunProduksi = 2006;
mobilku.printMobil();
}}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan

• Buat class Handphone yang berisi empat method:


1. hidupkan()
2. lakukanPanggilan()
3. kirimSMS()
4. matikan()
– Isi masing-masing method dengan tampilan status menggunakan
System.out.println()
• Buat class HandphoneBeraksi, dan panggil method-method diatas dalam
class tersebut

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan: Hasil Tampilan

Handphone hidup …
Kring, kring, kring … panggilan dilakukan
Dung, dung … sms berhasil terkirim
Handphone mati …

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan
• Buat class Singa yang berisi tiga method:
1. roaring()
2. Tidur()
3. Berburu()
– Isi masing-masing method dengan tampilan status
menggunakan System.out.println()
• Buat class SingaBeraksi, dan panggil method-
method diatas dalam class tersebut
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Latihan
• Buat class Siswa yang berisi tiga method:
1. membaca()
2. menulis()
3. modifikasi()
– Isi masing-masing method dengan tampilan status
menggunakan System.out.println()
• Buat class SiswaBeraksi, dan panggil method-
method diatas dalam class tersebut
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Latihan
• Buat class Manusia yang berisi tiga method:
1. menangis()
2. tertawa()
3. bahagia()
– Isi masing-masing method dengan tampilan status
menggunakan System.out.println()
• Buat class ManusiaBeraksi, dan panggil
method-method diatas dalam class tersebut
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Parameter
• Sepeda (bicycle) akan berguna apabila ada object lain
(misalnya anda) yang berinterasi dengan sepeda (bicycle)
tersebut
• Object software berinteraksi dan berkomunikasi dengan
object lain dengan cara mengirimkan message
• Informasi dalam message ini dikenal dengan nama
Parameter

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pengiriman Pesan dan Parameter

1. You → object pengirim


2. YourBicycle → object penerima
3. changeGears → message berupa method yang dijalankan
4. lowerGear →parameter yang dibutuhkan method (message)
untuk dijalankan
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Membuat Class (Sepeda.java)


public class Sepeda{
int kecepatan, gir;

// method dengan parameter


void ubahGir(int pertambahanGir) {
gir= gir+ pertambahanGir;
System.out.println(" Gir:" + gir);
}

void tambahKecepatan(int pertambahanKecepatan) {


kecepatan = kecepatan+ pertambahanKecepatan;
System.out.println(" Kecepatan:" + kecepatan);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan
• Buat Class bernama Matematika, yang berisi method dengan dua parameter:
– pertambahan(int a, int b)
– pengurangan(int a, int b)
– perkalian(int a, int b)
– pembagian(int a, int b)
• Buat Class bernama MatematikaBeraksi, yang mengeksekusi method dan
menampilkan:
– Pertambahan: 20 + 20 = 40
– Pengurangan: 10-5 = 5
– Perkalian: 10*20 = 200
– Pembagian: 20/2 = 10

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Variasi Tampilan
pertambahan(int a, int b){
System.out.println(a + “ + “ + b + “ = “ + (a+b))
}
pertambahan(int a, int b){
System.out.println(“Hasil = “ + (a+b))
}
pertambahan(int a, int b){
int hasil = a + b;
System.out.println(“Hasil = “ + hasil)
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Konstruktor -2-
public class Mobil {
String warna; Mobil.java
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){ MobilKonstruktor.java
Mobil mobilku = new Mobil(“Merah”, 2003);
mobilku.info();
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Kata Kunci this


Digunakan pada pembuatan class dan digunakan untuk menyatakan object
sekarang

public class Mobil{ public class Mobil{


String warna; String warna;
Int tahunProduksi;
Int tahunProduksi;

void isiData(String aWarna,


int aTahunProduksi){ void isiData(String warna,
int tahunProduksi){
warna = aWarna;
tahunProduksi = aTahunProduksi; this.warna = warna;
} this.tahunProduksi = tahunProduksi;
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan
1. Buat class Buku
– Tentukan variable buku: judul, pengarang, penerbit, tahun
– Buat konstruktor class Buku dengan parameter: judul, pengarang,
penerbit, tahun
– Buat method cetakBuku
2. Buat class BukuBeraksi dan tampilkan 2 buku:
– Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days,
Sams Publishing, 2007
– Deitel & Deitel, Java How to Program 7th Edition, Prentice Hall, 2007

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Karakteristik Pemrograman
Berorientasi Objek

Abstraction, Encapsulation,
Inheritance, Polymorphism

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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
• Alat meng-abstraksikan sesuatu adalah class
• Object bersifat modularity (sebuah pengelompokan komponen-komponen
yang berbeda, tetapi memilki kesamaan berdasarkan struktur fungsinya.
)Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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
• Class access level (public, protected, privat) adalah
implementasi dari konsep encapsulation

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Inheritance (Pewarisan)
• Suatu class dapat
mewariskan atribut dan
method kepada class lain
(subclass), serta
membentuk class
hierarchy
• Penting untuk Reusability
• Java Keyword:
extends
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Sepeda.java
public class Sepeda{
int kecepatan, gir ;

// 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);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Class SepedaGunung Mewarisi Class Sepeda


class SepedaGunungBeraksi {
public static void main(String[] args) {
class SepedaGunung extends Sepeda{
// Membuat object
SepedaGunung spd= new SepedaGunung();

public void setSadel(int nilaiSadel) { // Memanggil method di object


System.out.println(“Tinggi Sadel:”+ spd.tambahKecepatan(10);
nilaiSadel); spd.ubahGir(2);
} spd.setSadel(20);
}
}
SepedaGunung.java }
SepedaGunungBeraksi.java
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Latihan
• Buat class MatematikaCanggih yang merupakan
inherit dari class Matematika
– Tambahkan method modulus(int a, int b) yang
menghitung modulus dari a dan b. Operator modulus
adalah %
• Buat class MatematikaCanggihBeraksi yang
memanggil method pertambahan, perkalian dan
modulus

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Polymorphism
• Suatu object dapat memiliki berbagai bentuk
• Implementasi konsep polymorphism:
1. Overloading: Penggunaan satu nama untuk
beberapa method yang berbeda parameter
2. Overriding: Terjadi ketika deklarasi method
subclass persis sama dengan method dari
superclassnya

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Polymorphism – Overloading
class Mobil {
public class MobilKonstruktor{
String warna; public static void main(String[] args){
int tahunProduksi; Mobil mobilku = new Mobil(“Merah”,
2003);
public Mobil(String warna, int tahunProduksi){
mobilku.info();
this.warna = warna;
this.tahunProduksi = tahunProduksi;
} Mobil mobilmu = new Mobil();
mobilmu.info();
public Mobil(){
} }
}
void info(){
System.out.println("Warna: " + this.warna);
System.out.println("Tahun: " +
this.tahunProduksi);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Polymorphism – Overloading
class Lingkaran{
public buatLingkaran(){
}
public buatLingkaran(int diameter){
...
}
public buatLingkaran(int diameter, int x, int y){
...
}
public buatLingkaran(int diameter, int x, int y, int warna, String namaLingkaran){
...
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Polymorphism - Overriding
public class Sepeda{
int gir;

void setGir(int pertambahanGir) {


gir= gir+ pertambahanGir;
}

int getGir() {
return gir;
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Class SepedaGunung Mewarisi Class Sepeda

public class SepedaGunungBeraksi{


public static void main(String [] args){
public class SepedaGunung extends
Sepeda{ //Membuat object
void setGir(int pertambahanGir){ SepedaGunung sepedaku = new
SepedaGunung();

super.setGir(pertambahanGir);
sepedaku.setGir(2);
gir=2*getGir();
System.out.println(sepedaku.getGir());
sepedaku.setGir(3);
}
System.out.println(sepedaku.getGir());
}
SepedaGunung.java }
}
SepedaGunungBeraksi.java
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Latihan

1. Kembangkan class Matematika dan MatematikaBeraksi


2. Lakukan overloading pada Method yang ada (pertambahan,
pengurangan, perkalian, pembagian)
3. Tambahkan method baru bertipe data double (pecahan) dan memiliki 3
parameter
4. Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7,
14.2
5. Misalnya:
pertambahan(12.5, 28.7, 14.2)
pertambahan(23, 34)

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Matematika.java
class Matematika{
void pertambahan (int a, int b){
int hasil= a + b;
System.out.println(“hasil:” + hasil);
}

void pertambahan (double a, double b, double c){


int hasil= a + b + c;
System.out.println(“hasil:” + hasil);
}
...
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Latihan: Overriding

1. Buatlah Sebuah class dan turunannya untuk dapat


mengakses overriding dengan menggunakan
keyword super. (Kasus Bebas)...

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Pengorganisasian Class

Package, Interface

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Packages
• Package adalah koleksi dari beberapa class dan interface yang
berhubungan, dan menyediakan proteksi akses dan pengelolaan
namespace
• 1 package adalah 1 folder di file system
• Package berguna untuk mengorganisir file dalam suatu project
atau library
• Nama package menggunakan lowercase
• Nama package mengikuti nama domain (perusahaan) dengan
susunan terbalik
– Contoh: com.brainmatics.kendaraan
• Keyword: package name;
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Budi.java
package kelasku;

public class Budi{


public void info(){
System.out.println(“Kelas Budi”);
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Joko.java
package kelasku;

public class Joko{


public void info(){
System.out.println(“Kelas Joko”);
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Struktur Direktori

• PaketBeraksi.java
• kelasku
– Budi.java
– Joko.java

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

InterfaceLampu.java

interface InterfaceLampu{
public static final int KeadaanHidup=1;
public static final int KeadaanMati=0;

public abstract void hidupkan();


public abstract void matikan();
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

Lampu.java
public class Lampu implements InterfaceLampu{
int statusLampu;

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 Sudah Mati Kok");
}
}
}
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

LampuBeraksi.java
public class LampuBeraksi{
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
lampuKamar.hidupkan(); //Hidupkan Lampu
}
}

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

KREATIF DAN INOVATIF


PEMROGRAMAN BERORIENTASI OBJEK

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 ()
KREATIF DAN INOVATIF
PEMROGRAMAN BERORIENTASI OBJEK

Referensi
1. Sharon Zakhour et al, The Java Tutorial Fourth Edition,
http://java.sun.com/docs/books/tutorial
2. Cay Horstmann, Big Java, John Wiley & Sons, 2010
3. Rogers Cadenhead & Laura Lemay, Teach Yourself Java 6 in 21 Days, Sams
Publishing, 2007
4. Deitel & Deitel, Java for Programmers, Prentice Hall, 2009
5. Robert Lafore, Data Structures and Algorithms in Java Second Edition, Sams
Publishing, 2003
6. Tim Pengembang JENI, JENI 1-6, Depdiknas, 2007
7. Rachmad Hakim & Sutarto, Mastering Java, Elex Media Komputindo, 2009
8. Romi Satrio Wahono

KREATIF DAN INOVATIF

Anda mungkin juga menyukai