java fundamentals - hermantolle.com · 3. deitel & deitel, java howto program 9th edition,...

55
Java Fundamentals Herman Tolle http://hermantolle.com/class Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Upload: truongbao

Post on 22-Mar-2019

280 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Java Fundamentals

Herman Tolle http://hermantolle.com/class

Program Teknologi Informasi & Ilmu Komputer

UNIVERSITAS BRAWIJAYA

Page 2: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Class , Object, Method, Attribute

1.3 Konsep Dasar Pemrograman Berorientasi Objek

Page 3: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Berorientasi Objek?

Attribute: Topi, Baju, Jaket, Tas Punggung, Tangan, Kaki, Mata Behavior: Cara Jalan ke Depan Cara Jalan Mundur Cara Belok ke Kiri Cara Memanjat

Page 4: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Berorientasi Objek? Attribute (State): Ban, Stir, Pedal Rem, Pedal Gas, Warna, Tahun Produksi

Behavior: Cara Menghidupkan Mesin Cara Manjalankan Mobil Cara Memundurkan Mobil

Attribute Variable(Member) Behavior Method(Fungsi)

Page 5: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Perbedaan Class dan Object

Class: konsep dan deskripsi dari sesuatu

• Class mendeklarasikan method yang dapat digunakan (dipanggil) oleh object

Object: instance dari class, bentuk (contoh) nyata dari class

• Object memiliki sifat independen dan dapat digunakan untuk memanggil method

Contoh Class dan Object:

• Class: mobil

• Object: mobilnya pak Joko, mobilku, mobil berwarna merah

Page 6: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Perbedaan Class dan Object

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)

Page 7: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Class = Method + Variable

variable kecepatan

gir

tampilkan kecepatan

ubah gir method

Class Sepeda

Page 8: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Object = Method + Variable yg Memiliki Nilai

instance variable kecepatan = 10km/jam

gir = 3

tampilkan kecepatan () kecepatan = 10 km/jam

ubah gir (2) gir = 5

instance method

Object Sepedaku

Page 9: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Attribute

Variable yang mengitari class, dengan nilai datanya bisa ditentukan di object

Variable digunakan untuk menyimpan nilai yang nantinya akan digunakan pada program

Variable memiliki jenis (tipe), nama dan nilai

Name, age, dan weight adalah atribute (variabel) dari class Person

Page 10: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Membuat Class, Object dan Memanggil Atribut public class Mobil {

String warna;

int tahunProduksi;

}

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

}

}

Mobil.java

MobilBeraksi.java

Page 11: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan: Membuat Program dg Netbeans

1. Buka Netbeans IDE

2. Ikuti langkah berikut

Page 12: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 13: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 14: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 15: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 16: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 17: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 18: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 19: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 20: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 21: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Method

Method adalah urutan instruksi yang mengakses data dari object

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

Page 22: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Method

Page 23: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Membuat dan Memanggil Method public class Mobil2{

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

Mobil2 mobilku = new Mobil2();

mobilku.warna = "Hitam";

mobilku.tahunProduksi = 2006;

mobilku.printMobil();

}

}

Mobil2.java

Mobil2Beraksi.java

Page 24: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan

Buat class Handphone, masukkan dalam package hp

•Class Handphone berisi empat method di bawah:

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

Page 25: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan: Hasil Tampilan

Handphone hidup …

Kring, kring, kring … panggilan dilakukan

Dung, dung … sms berhasil terkirim

Handphone mati …

Page 26: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

public class Handphone{

void hidupkan(){

System.out.println(" Handphone hidup");

}

void lakukanPanggilan(){

System.out.println(“Kring.. Kring.. Kring.. Panggilan dilakukan!");

}

// lanjutkan method yang lainnya

}

public class HandphoneBeraksi{

public static void main(String[] args){

Handphone telponKu = new Handphone();

telponKu.hidupkan();

telponKu.lakukanPanggilan();

telponKu.kirimSMS();

telponKu.matikan();

}

}

Handphone.java

handphoneBeraksi.java

Page 27: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan

Kelas Handphone pada contoh sebelumnya dikembangkan dengan menambahkan:

• Atribut: hidup [tipe: boolean] dan jumlahPulsa [double]

• Method: isiPulsa(jumlah: double), cekPulsa()

Update method lakukanPanggilan() dan kirimSMS() dengan menambahkan statemen seleksi untuk mengecek bahwa handphone dalam status hidup dan jumlah pulsa > 0

Update method hidupkan() dan matikan() untuk merubah status hidup.

Page 28: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

DIAGRAM CLASS

Page 29: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Diagram Class

Digunakan untuk mendefiniskan sebuah kelas

NAMA CLASS

Daftar Atribut

Daftar Method

Handphone

hidup: boolean;

jumlahPulsa: double

hidupkan();

lakukanPanggilan();

kirimSMS();

matikan();

isiPulsa(jumlah:double);

cekPulsa();

Page 30: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Contoh: Class Segitiga

Buat class Segitiga yang menyimpan informasi alas dan tinggi, dan menyimpan hasil perhitungan luas dan keliling

• Atribut: tinggi, alas, keliling, luas

• Method: hitungLuas(), hitungKeliling(), cetakLuas, cetak Keliling

Dalam kasus-kasus di OOP, nilai yang diketahui diset sebagai atribut yang public, sementara nilai yang diperoleh dari hasil perhitungan diset private (hanya bisa diakses dari dalam fungsi tersebut)

Page 31: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

TUGAS

Buat Diagram Class dan implementasi Program dalam bentuk Class dan penggunaan Class tersebut

Pilihan Topik

• Handphone untuk browsing

• Handphone untuk chatting

• TV (pilih channel tv, set volume)

• Radio (pilih stasiun radio, set volume)

Page 32: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

KONSTRUKTOR

Page 33: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

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

Page 34: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Konstruktor -2- public 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: " + warna);

System.out.println("Tahun: " + tahunProduksi);

}

}

public class MobilKonstruktor{

public static void main(String[] args){

Mobil mobilku = new Mobil(“Merah”, 2003);

mobilku.info();

}

}

Mobil.java

MobilKonstruktor.java

Page 35: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Kata Kunci this Digunakan pada pembuatan class dan digunakan

untuk menyatakan object sekarang

public class Mobil{

String warna;

int tahunProduksi;

void isiData(String aWarna,

int aTahunProduksi){

warna = aWarna;

tahunProduksi = aTahunProduksi;

}

public class Mobil{

String warna;

int tahunProduksi;

void isiData(String warna, int tahunProduksi){

this.warna = warna;

this.tahunProduksi = tahunProduksi;

}

Page 36: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan

1. Buat class Bank

• Buat konstruktor class Bank dengan parameter: saldo

• Buat method: simpanUang, ambilUang, dan getSaldo

2. Buat class BankBeraksi, tetapkan saldo awal lewat konstruktur Rp. 100000, jalankan 3 method di atas, dan tampilkan proses sebagai berikut:

Selamat Datang di Bank ABC Saldo saat ini: Rp. 100000 Simpan uang: Rp. 500000 Saldo saat ini: Rp. 600000 Ambil uang: Rp. 150000 Saldo saat ini: Rp. 450000

Page 37: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

public class Bank { double saldo; Bank(double S) { this.saldo = S; System.out.println(“Selamat Datang di

Bank ABC“); this.cekSaldo(); } void cekSaldo() { System.out.println(“Saldo saat ini Rp

“+saldo); }

void AmbilUang(double S) { if (this.saldo-S>=0) { this.saldo -= S; System.out.println(“Ambil Uang Rp “+S); } else System.out.println(“Saldo tidak mencukupi”); this.cekSaldo(); } void SimpanUang(double S) { this.saldo += S; System.out.println(“Simpan Uang Rp “+S); this.cekSaldo(); }

Page 38: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Public class BankBeraksi {

Bank rekeningKu = new Bank(100000);

cekSaldo();

SimpanUang(50000);

AmbilUang(150000);

cekSaldo();

}

Page 39: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

OVERLOADING KONSTRUKTOR

Page 40: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu.

Pembeda antara satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.

Page 41: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

class mobil { private String warna; private int tahun; public mobil(String warna, int tahun) // konstruktor-1 { this.warna = warna; this.tahun = tahun; } public mobil() // konstruktor-2 { } public void info() { System.out.println("Warna mobil saya : "+

this.warna); System.out.println("Dibuat tahun : "+

this.tahun); } }

public class konstruktor1 {

public static void main (String[] args)

{ mobil mobilku = new mobil("Silver",2008); mobilku.info(); mobil mobilmu = new mobil(); mobilmu.info(); mobil mobilnya = new mobil(“White",2005); mobilnya.info(); }

}

Page 42: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

ABSTRAKSI & ENKAPSULASI

Page 43: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

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. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

Page 44: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 45: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer
Page 46: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Encapsulation

Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri

• Tongkat transmisi (gigi) pada mobil

• Tombol on/off/pengaturan suhu pada AC

Class access level (public, protected, private) adalah implementasi dari konsep encapsulation

Enkapsulasi data dapat dilakukan dengan cara:

1. mendeklarasikan instance variable sebagai private

2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Page 47: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Encapsulation dan Access Modifier

Modifier Dalam Class yang Sama

Dalam Package yang Sama

Dalam SubClass

Dalam Package Lain

private

tanpa tanda

protected

public

Page 48: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Encapsulation

Enkapsulasi data juga dapat dilakukan dengan cara:

1. mendeklarasikan instance variable sebagai private

2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Page 49: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Diagram Class

BANK

private Saldo: double;

Bank (double S);

public AmbilUang(double S);

public SimpanUang(double S);

public cekSaldo(double S);

Page 50: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Contoh

public class Bank { private double saldo; Bank(double S) { this.saldo = S; System.out.println(“Selamat Datang di

Bank ABC“); this.cekSaldo(); } public void cekSaldo() { System.out.println(“Saldo saat ini Rp

“+saldo); }

void AmbilUang(double S) { if (this.saldo-S>=0) { this.saldo -= S; System.out.println(“Ambil Uang Rp “+S); } else System.out.println(“Saldo tidak mencukupi”); this.cekSaldo(); } void SimpanUang(double S) { this.saldo += S; System.out.println(“Simpan Uang Rp “+S); this.cekSaldo(); }

Page 51: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Latihan

Buat Diagram Class dan implementasi Program dalam bentuk Class dan penggunaan Kelas tersebut.

Studi Kasus: Menghitung gaji harian PT. XYZ dengan ketentuan :

• Gaji pokok karyawan Rp. 2000/jam

• Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang besarnya 1.5 dari gaji pokok

• Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang makan sebesar Rp. 3500

• Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur sebesar Rp. 4000

Input : NIP, Nama, Jumlah jam kerja

Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lembur , Take Home Pay (total gaji diterima)

Page 52: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Diagram Class

PEGAWAI

Nama: string;

NIP: string;

gajiPokok, lembur, uangMakan,

transport: double;

jumlahJamKerja: integer;

pegawai(Nama, NIP);

pegawai(Nama, NIP, jamKerja);

void setJamKerja();

void hitungGajiHarian();

void cetakPenghasilan();

• fungsi setJamKerja() untuk mengakses (memberi nilai) atribut jumlahJamKerja;

• Business process perhitungan gaji dilakukan dalam fungsi hitungGajiHarian(), sekaligus untuk mengakses atribut lain.

• Fungsi cetakPenghasilan() untuk menampilkan isi dari atribut-atribut yang ada

Page 53: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

TUGAS

Set Setiap Atribut dari kelas tersebut adalah private

Set setiap method dari kelas tersebut adalah public

Selesaikan latihan sebelumnya, rampungkan sebagai sebuah tugas (Soal, Jawaban, Diagram Class, Source Code, Screenshot)

Buat implementasi class Pegawai untuk kasus minimal 2 orang pegawai dengan jam kerja berbeda

Page 54: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Referensi

1. Sharon Zakhour et al, The Java Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial

2. Cay Horstmann, Big Java: Earl Objects 5th Edition, John Wiley & Sons, 2013

3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012

4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer Study Guide, Packt Publishing, 2012

5. Walter Savitch, Absolute Java 5th Edition, Pearson Education, 2013

6. Mark Allen Weiss, Data Structures and Algorithm Analysis in Java 3rd Edition, Pearson Education, 2012

7. Anany Levitin, Introduction to the Design and Analysis of Algorithms 3rd Edition, Pearson Education, 2012

8. Ying Bai, Practical Database Programming with Java, John Wiley & Sons, 2011

Page 55: Java Fundamentals - hermantolle.com · 3. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer

Referensi

Slide presentasi ini dimodifikasi dari slide yang diperoleh dari website: romisatriowahono.net karya Bapak Romi Satrio Wahono