Praktikum 8 Pemrograman Berbasis Obyek

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Modul 5: Constructor, Overloading, inheritance, Polymorphism
- PERTEMUAN 3- INHERITANCE
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
POLIMORFISME Imam Fahrur Rozi 01.
Pemrograman JAVA (TIB09)
Workshop SCS: Java Game Programming
Praktikum PBO Lanjut Java Review 1.
Flow Control & Exception Handling
Overriding, Overloading, Polymorphism
Inheritance Ery Setiyawan Jullev A.
Inheritance (Pewarisan)
POLIMORFISM Ery Setiyawan Jullev A.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Advanced Class Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Advanced Class 2 Pertemuan 11 Pemrograman Berbasis Obyek Oleh Tita Karlita.
Pemrograman Berbasis Obyek
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
Encapsulation, Inheritance, polymorphism, dan interface
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Objek
INHERITANCE, POLYMORPHISM, DAN INTERFACE
Pewarisan, Polimorfisme, dan Interface
Inheritance (Pewarisan)
ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Abstract Class.
Pertemuan : Object Oriented Programming
Pemrograman Berorientasi Obyek dengan JAVA Interface
Inheritance Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
07 Advanced Class Features
Object Oriented Programming with JAVA 2011/2012
Praktikum 6 Pemrograman Berbasis Obyek
Polymorphism (bag. 2).
Inheritance Konsep Inheritance Protected Member
Praktikum Inheritance
OOP Java 06 Polymorphism.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
Inheritance, polymorphism, dan interface
Advanced Class Features 2
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
INHERITANCE (Oleh : Nur Hayatin, S.ST)
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Praktikum Class Abstract dan Interface
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Access Modifier.
Inheritance dan Kata Kunci static
Pemograman Berorientasi Objek
@kovazzevic | SMKN 24 Jakarta
Pertemuan 5 Tipe Data, Operator, Tata Bahasa
Pewarisan Disusun Oleh: Reza Budiawan Untuk:
MODIFIER JAVA.
Enkapsulasi, Accessor Method, Mutator Method
Association, Composition dan Inheritance
MEMBUAT CLASS SENDIRI 2.
Inheritance.
Visibility, Getter Setter, Pewarisan, Overloading dan Overriding
Algoritma dan Struktur Data
Constructor, Overloading, inheritance, Polymorphism
Inisiasi Class dan Object
Konsep Bahasa Pemrograman I Konsep OOP
TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT (OOP)
Oleh : Rahmat Robi Waliyansyah, M.Kom.
@kovazzevic | SMKN 24 Jakarta
Pertemuan 5 Inheritance
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
Oleh : Rahmat Robi Waliyansyah, M.Kom
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
FONDASI PEMROGRAMAN & STRUKTUR DATA #7
Transcript presentasi:

Praktikum 8 Pemrograman Berbasis Obyek Konsep Inheritance Praktikum 8 Pemrograman Berbasis Obyek

Lat 1. Invoking parent class constructor Employee1.java import java.util.Date; public class Employee1 { private static final double BASE_SALARY = 15000.00; private String name; private double salary; private Date birthDate; public Employee1(String name, double salary, Date DoB) { this.name = name; this.salary = salary; this.birthDate = DoB; } public Employee1(String name, double salary) { this(name, salary, null);

public Employee1(String name, Date DoB) { this(name, BASE_SALARY, DoB); } public Employee1(String name) { this(name, BASE_SALARY); // more Employee code... class Manager extends Employee1 { private String department; public Manager(String name, double salary, String dept) { super(name, salary); department = dept;

public Manager(String n, String dept) { super(n); department = dept; } public Manager(String dept) { Coba kompile program diatas! Jika terjadi error,kenapa dan betulkan!

Lat 2. Membuat subclass dari Bank Accounts Membuat dua buah subclass dari class Accounts, yaitu SavingsAccount dan CheckingAccount. Kita akan mengoverride method withdraw untuk mengecek accounts dan menggunakan super untuk memanggil parent constructor.

UML diagram

Modify the Account Class Langkah-langkah: Pada Banking package tambahkan subclass SavingsAccount dan CheckingAccount sebagaimana digambarkan pada UML diagram diatas Buat direktori Banking baru. Copy proyek banking yang sebelumnya ke direktori Banking baru ini. Modify the Account Class Perhatikan bahwa variabel balance bertipe protected (diindikasikan dengan tanda #, pada UML sebelumnya bertanda – yaitu private). Ubah akses mode balance menjadi protected.

The Savings Account Subclass Implementasikan class SavingsAccount sebagaimana UML diagram. Class SavingsAccount merupakan subclass dari class Account. Gunakan kata kunci extends. Terdapat satu buah variabel yaitu interestRate yang bertipe double. Terdapat satu buah public constructor dengan dua parameter: balance dan interest_rate. Constructor ini harus passing parameter balance ke parent constructor dengan menggunakan super(balance) dan mengeset nilai variabel interestRate dengan nilai interest_rate. Catatan: Interest rate = bunga tabungan

The Checking Account Subclass Implementasikan class CheckingAccount sesuai dengan UML diagram. Class CheckingAccount adalah subclass dari class Account. Pada class CheckingAccount harus terdapat variabel overdraftProtection yang bertipe double. Terdapat public constructor dengan dua parameter: balance and protect. Constructor ini harus passing parameter balance ke parent constructor dengan menggunakan super(balance) dan mengeset nilai variabel overdraftProtection dengan nilai protect. Terdapat satu buah public constructor dengan satu parameter yaitu balance. Constructor ini harus passing parameter balance ke lokal constructor dengan menggunakan this. Perhatikan bahwa constructor lain yang ada adalah constructor dengan dua parameter. Maka buat nilai protect default adalah -1.0 yang berarti bahwa pada account tidak terdapat overdraftProtection. Catatan: Saldo = balance + overdraftProtection overdraftProtection = Saldo minimal, yaitu saldo yang diharapkan tidak boleh diambil pada suatu rekening, kecuali bila konsumen ingin menutup rekening.

Class CheckingAccount harus mengoverride method withdraw Class CheckingAccount harus mengoverride method withdraw. Method withdraw harus melakukan cek terhadap saldo (balance) apakah jumlahnya cukup bila terjadi pengambilan sejumlah uang (amount). Cek yang dilakukan adalah sebagai berikut: Jika balance – amount => 0.0 maka proses pengambilan diperbolehkan dan mengembalikan nilai true. Dan selanjutnya set balance = balance – amount; Jika balance – amount < 0.0 maka lakukan cek sebagai berikut: Jika tidak ada overdraftProtection (nilai = -1.0) atau overdraftProtection < overdraftNeeded (amount-balance) maka gagalkan proses pengambilan uang dengan mengembalikan nilai false. Jika terdapat overdraftProtection atau overdraftProtection > overdraftNeeded (amount-balance) maka proses pengambilan uang berhasil dengan mengembalikan nilai true. Dan selanjutnya set balance = 0.0; overdraftProtection = overdraftProtection - overdraftNeeded;