Anda di halaman 1dari 46

Object Oriented Programming

Teknik Informatika
Universitas Katolik Widya Mandira
Kupang
Maret 2013
Menggunakan Bahasa PEMROGRAMAN JAVA
Oleh
Adri Gabriel Sooai
29/06/2014 Adri Gabriel Sooai, ST.MT. 1
Paul Deitel, Harvey Deitel, JAVA FOR PROGRAMMERS SECOND EDITION, DEITEL
DEVELOPER SERIES 2012 Pearson Education, Inc. ISBN-13: 978-0-13282154-4
Buku Acuan / Reference
29/06/2014 Adri Gabriel Sooai, ST.MT. 2
Atur variable
Path dan Value
untuk Sistem
Operasi
Windows.
Jika
menggunakan
Linux, langkah
ini tak perlu
dilakukan
karena Linux
otomatis
mengatur Path
29/06/2014 Adri Gabriel Sooai, ST.MT. 3
import java.io.*;
public class latih01{
public static void main(String[] arg){
System.out.println(Pak Adri ngajar OOP thn 2013);
}
}

// jika komputer anda resource tak mencukupi / komputer jaman
dahulu / memori kecil / harddisk kecil, gunakan saja TEKS EDITOR
Menulis dan Mengkompail kode sumber
29/06/2014 Adri Gabriel Sooai, ST.MT. 4
Buat lokasi file latihan BUKAN di
drive C:
29/06/2014 Adri Gabriel Sooai, ST.MT. 5
Kompail dan eksekusi
29/06/2014 Adri Gabriel Sooai, ST.MT. 6
Menggunakan Editor Netbeans
29/06/2014 Adri Gabriel Sooai, ST.MT. 7
Menggunakan
package dalam
netbeans, kode
sumber dari
latihan01.java
dapat
dimasukkan
sebagai fungsi
29/06/2014 Adri Gabriel Sooai, ST.MT. 8
Tambah file baru dalam package
29/06/2014 Adri Gabriel Sooai, ST.MT. 9
file baru : java class
29/06/2014 Adri Gabriel Sooai, ST.MT. 10
File baru diisi perintah mencetak
29/06/2014 Adri Gabriel Sooai, ST.MT. 11
Di file BelajarOOP, class peringkat
dipanggil / dieksekusi
29/06/2014 Adri Gabriel Sooai, ST.MT. 12
Saran perbaikan dari Netbeans IDE
29/06/2014 Adri Gabriel Sooai, ST.MT. 13
Panduan detail dari NetbeansIDE
29/06/2014 Adri Gabriel Sooai, ST.MT. 14
H
i
n
t
s

/

P
e
t
u
n
j
u
k

29/06/2014 Adri Gabriel Sooai, ST.MT. 15
Saran diikuti yaitu penulisan lebih
rapih / terstruktur
29/06/2014 Adri Gabriel Sooai, ST.MT. 16
Eksekusi class peringkat dari file
utama BelajarOOP
29/06/2014 Adri Gabriel Sooai, ST.MT. 17
File utama & file class
29/06/2014 Adri Gabriel Sooai, ST.MT. 18
Class Diagram UML untuk peringkat
+tampilkanPesan( )
peringkat
public : bisa dipanggil oleh file lain
void : tidak menerima parameter dan
tidak mengembalikan nilai dari
pemanggil luar.

Tanda plus + di depan
fungsi tampilkanPesan ( )
artinya fungsi ini bersifat
public

source code

class diagram

29/06/2014 Adri Gabriel Sooai, ST.MT. 19
Menambah argumen dalam class
29/06/2014 Adri Gabriel Sooai, ST.MT. 20
Memasukkan nilai argumen dan
mengirimkannya ke class untuk eksekusi
Variabel
namaMataKuliah
adalah argumen
Sedangkan
setelah berisi
nilai/sesuatu
Dan nilai/sesuatu
dikirim ke class
peringkatmaka
dinamakan
parameter
29/06/2014 Adri Gabriel Sooai, ST.MT. 21
Eksekusi
29/06/2014 Adri Gabriel Sooai, ST.MT. 22
Class Diagram UML untuk peringkat
ber argumen
+tampilkanPesan(mataKuliah: String )
peringkat
class diagram
source code
Dokumentasi
ditambahkan
oleh
netbeans
29/06/2014 Adri Gabriel Sooai, ST.MT. 23
class berisi Instance variables, set
Methods dan get Methods
29/06/2014 Adri Gabriel Sooai, ST.MT. 24
Penjelasan
Kebanyakan instance-variable dideklarasikan menggunakan keyword private
Seperti public, keyword private adalah sebuah access modifier. Variables atau
methods yang dideklarasikan dengan access modifier private hanya dapat diakses
dalam methods di dalam class tersebut. Hal ini berarti, Variable mataKuliah hanya
bisa diakses dari dalam methods buatMataKuliah, ambilMataKuliah dan
tampilkanPesan di dalam class peringkat.
Deklarasi instance variables dengan access modifier private dikenal dengan istilah
data hiding atau information hiding. saat program membuat (instantiates) sebuah
object dari class peringkat, variable mataKuliah di encapsulated(hidden) di dalam
object dan hanya dapat di accessed oleh methods dari objects class peringkat. Hal ini
mencegah mataKuliah ter- modifikasi secara tak-sengaja oleh oleh class dari bagian
program yang lain. Dalam class peringkat, methods buatMataKuliah ,
ambilMataKuliah memanfaatkan instance variable mataKuliah.
29/06/2014 Adri Gabriel Sooai, ST.MT. 25
Penyesuaian di BelajarOOP.java
29/06/2014 Adri Gabriel Sooai, ST.MT. 26
hasil
29/06/2014 Adri Gabriel Sooai, ST.MT. 27
Class Diagram UML untuk peringkat ber
Instance Variabel dan set,get Method
+tampilkanPesan( )
peringkat
class diagram
source code
- mataKuliah : String
+buatMataKuliah(mataKuliah: String )
+ambilMataKuliah( ) : String
29/06/2014 Adri Gabriel Sooai, ST.MT. 28
Primitve dan Reference
Tipe data dalam Java terdiri dari primitive dan
reference. Tipe primitive adalah boolean, byte,
char, short, int, long, float dan double. Semua
nonprimitive adalah tipe reference , termasuk
class.
29/06/2014 Adri Gabriel Sooai, ST.MT. 29
Inisialisasi Constructor dalam class peringkat
29/06/2014 Adri Gabriel Sooai, ST.MT. 30
Class Diagram UML untuk peringkat ber Constructor,
Instance Variabel dan set,get Method
+tampilkanPesan( )
peringkat
class diagram
source code
- mataKuliah : String
+buatMataKuliah(mataKuliah: String )
+ambilMataKuliah( ) : String
<<constructor >> peringkat( namaMk: String)
29/06/2014 Adri Gabriel Sooai, ST.MT. 31
Package baru :: atm
29/06/2014 Adri Gabriel Sooai, ST.MT. 32
ATM
29/06/2014 Adri Gabriel Sooai, ST.MT. 33
New Java Class
29/06/2014 Adri Gabriel Sooai, ST.MT. 34
new class :: Account.java
29/06/2014 Adri Gabriel Sooai, ST.MT. 35
Account.java
29/06/2014 Adri Gabriel Sooai, ST.MT. 36
new class :: AcoountTest
29/06/2014 Adri Gabriel Sooai, ST.MT. 37
29/06/2014 Adri Gabriel Sooai, ST.MT. 38
new class :: AcoountTest
29/06/2014 Adri Gabriel Sooai, ST.MT. 39
package atm;
import java.util.Scanner;
public class AccountTest {
public static void main(String[] args){
// membuat object account
Account account1 = new Account( 7500000.00);
Account account2 = new Account( -7.53);

//tampilkan initial balance kedia object
System.out.printf("account1 balance: Rp%.2f\n", account1.ambilBalance());
System.out.printf("account2 balance: Rp%.2f\n", account2.ambilBalance());

// buat scanner untuk menampung input
Scanner input = new Scanner(System.in); double depositAmount;

System.out.print("Masukkan sejumlah uang ke account1: ");
depositAmount = input.nextDouble();
System.out.printf("\nmenambah %.2f ke account1 balance\n\n", depositAmount);
account1.credit(depositAmount);

AcoountTest.java
29/06/2014 Adri Gabriel Sooai, ST.MT. 40
// tampilkan balance
System.out.printf("account1 balance: Rp%.2f\n",
account1.ambilBalance());
System.out.printf("account2 balance: Rp%.2f\n",
account2.ambilBalance());

System.out.print("Masukkan sejumlah uang ke account2: ");
depositAmount = input.nextDouble();
System.out.printf("\nmenambah %.2f ke account2 balance\n\n",
depositAmount);
account2.credit(depositAmount);

// tampilkan balance
System.out.printf("account1 balance: Rp%.2f\n",
account1.ambilBalance());
System.out.printf("account2 balance: Rp%.2f\n",
account2.ambilBalance());
}
}
AcoountTest.java
29/06/2014 Adri Gabriel Sooai, ST.MT. 41
Set project configuration, ganti ke package atm
29/06/2014 Adri Gabriel Sooai, ST.MT. 42
atm.AccountTest :: Select Main Class
29/06/2014 Adri Gabriel Sooai, ST.MT. 43
hasil
29/06/2014 Adri Gabriel Sooai, ST.MT. 44
Class Diagram UML untuk Account
Account
class diagram
- balance : Double
+credit(amount: Double )
+ambilBalance( ) : Double
<<constructor >> Account(initialBalance: Double)
29/06/2014 Adri Gabriel Sooai, ST.MT. 45

Control Statement
29/06/2014 Adri Gabriel Sooai, ST.MT. 46

Anda mungkin juga menyukai