1. Pelajari program berikut,kemudian modifikasi program dengan ketentuan berikut

dokumen-dokumen yang mirip
Pemrograman Lanjut Dosen: Dr. Eng. Herman Tolle

Bahasa Pemrograman :: Polimorfism and Abstraction

Inheritance dan Kata Kunci static

Inheritance (Pewarisan) Pengertian dasar inheritance

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Slide 6: Writing Classes

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

PEWARISAN D E W I S A R T I K A, M. K O M

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

Jobsheet 09. Overloading and Overriding Method

KONSEP OOP: POLYMORPHISM

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

KONSEP OOP: POLYMORPHISM

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Rekursif. Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Gambar 1: Hirarki class

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Bahasa Pemrograman :: Inheritance

subclass class manapun private default protected public package yang sama

INTERAKSI ANTAR OBJECT

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Dasar-Dasar OOP di Java

Pewarisan, Polimorfisme, dan Interface

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

MODUL 2. UML, Generalization, and Specialization UML. 2.1 Pengertian UML. 2.2 Diagram-Diagram yang Ada Dalam UML TUJUAN PRAKTIKUM LANDASAN TEORI

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK (JAVA) PERTEMUAN 9 POLIMORFISME (POLYMORPHISM)

Employee employee=new Manager();

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

UML (Unified Modelling Language)

Konsep Dasar Pemrograman Berorientasi Objek

Modul Bahasa Pemrograman 1

Politeknik Elektronika Negeri Surabaya

Pemrograman Berorientasi Objek Danu Wira Pangestu

Politeknik Elektronika Negeri Surabaya

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

(INHERITANCE) Nurochman

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

BAB 7 OVERLOADING DAN OVERRIDING

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Dasar-Dasar OOP di Java

Ismail Wibi Wicaksono

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

Polymorphism. Oleh : Agus Priyanto, M.Kom

Bab 8. Dasar-Dasar OOP

BAB 6 INHERITANCE Tujuan:

public class B extends A {... }

Politeknik Elektronika Negeri Surabaya

Class Diagram Class diagram mendeskripsikan jenis-jenis objek dalam system dan berbagai macam hubungan statis yang terdapat di antara mereka.

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XIII POLYMORPHISM

int spasi = 0; hurufhidup = 0;

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 4

IKG2I4 / Software Project I

Pemrograman Lanjut. Interface

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

LAMPIRAN 1. Listing Program

REKAYASA PERANGKAT LUNAK (RPL) Implementasi PL

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Obyektif : KONTROL ALUR PROGRAM

Bahasa Pemrograman 2.

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

PERCOBAAN 1 : Ketik program di bawah ini, bila terjadi kasalahan waktu compile dan runtime, betulkan!

INFORMATION HIDING, ENCAPSULATION, POLYMORHISM

Pemrograman Berorientasi. Inheritance

Pertemuan 4 Halaman 1/1. Class Inheritance

Gambar 1. Single Linked List

Chapter 9 Pewarisan Pe

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA STACK

Pemrograman Berorientasi. Polimorfisme dan Binding

Percobaan 5 Paket dan Import, Interface

Struktur Kontrol Pemrograman Java : PERCABANGAN

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Like mother, like daughter... [common saying]

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Polymorphism (Polimorfisme)

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA QUEUE

MODUL PRAKTIKUM STRUKTUR DATA DAN ALGORITMA GENERIC DAN IMPLEMENTASI COMPARETO()

Chapter 10 Polimorphism

Gambar 1. Single Linked List

Membuat dan Menggunakan Class

IKG2I4 / Software Project I

* - Menandakan bahwa terjadi lebih dari satu kejadian dimana elemen tersebut diimplementasikan

BAB II VARIABEL DAN TIPE DATA

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

2 TIPE DATA DAN VARIABEL

Pemograman Berorientasi Objek. Week 6 Relasi Antar Kelas

Praktikum KPLBO Final Object Concept I

MINGGU VII : RELASI ANTAR KELAS

Pemrograman Dasar M E T H O D / F U N G S I

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

I. Tujuan Instruksional Umum Komunikasi antar objek pada kelas yang berbeda Memahami berbagai macam modifier dan karakteristiknya II.

Transkripsi:

TUGAS 1. Pelajari program berikut,kemudian modifikasi program dengan ketentuan berikut 1. Rubah ke bentuk GUI 2. Interface program tentukan sendiri. 3. Data staff dibuat dalam bentuk entrian ( lihat pada class staff ). // Firm. // Demonstrates polymorphic processing. class Firm // Creates a staff of employees for a firm and pays them. public static void main (String[] args) Staff personnel = new Staff(); personnel.payday(); // Staff.java // Represents the personnel staff of a particular business. class Staff StaffMember[] stafflist; // Sets up the list of staff members. public Staff () stafflist = new StaffMember[6]; stafflist[0] = new Executive ("Sam", "123 Main Line", "555-0469", "123-45-6789", 1923.07); stafflist[1] = new Employee ("Carla", "456 Off Line", "555-0101", "987-65-4321", 846.15); stafflist[2] = new Employee ("Woody", "789 Off Rocker", "555-0000", "010-20-3040", 769.23); 1

stafflist[3] = new Hourly ("Diane", "678 Fifth Ave.", "555-0690", "958-47-3625", 8.55); stafflist[4] = new Volunteer ("Norm", "987 Suds Blvd.", "555-8374"); stafflist[5] = new Volunteer ("Cliff", "321 Duds Lane", "555-7282"); ((Executive)staffList[0]).awardBonus (5000.00); ((Hourly)staffList[3]).addHours (40); // Pays all staff members. public void payday () double amount; for (int count=0; count < stafflist.length; count++) System.out.println (stafflist[count]); amount = stafflist[count].pay(); // polymorphic if (amount == 0.0) System.out.println ("Thanks!"); else System.out.println ("Paid: " + amount); System.out.println ("-----------------------------------"); // StaffMember.java // Represents a generic staff member. abstract class StaffMember protected String name; protected String address; protected String phone; 2

// Sets up a staff member using the specified information. public StaffMember (String name, String address, String phone) this.name = name; this.address = address; this.phone = phone; // Returns a string including the basic employee information. public String tostring () String result = "Name: " + name + "\n"; result += "Address: " + address + "\n"; result += "Phone: " + phone; return result; // Derived classes must define the pay method for each employee // type. public abstract double pay(); // Volunteer.java // Represents a staff member that works as a volunteer. class Volunteer extends StaffMember // Sets up a volunteer using the specified information. public Volunteer (String name, String address, String phone) super (name, address, phone); // Returns a zero pay value for this volunteer. public double pay() return 0.0; 3

// Employee.java // Represents a general paid employee. class Employee extends StaffMember protected String socialsecuritynumber; protected double payrate; // Sets up an employee with the specified information. public Employee (String name, String address, String phone, String socialsecuritynumber, double payrate) super (name, address, phone); this.socialsecuritynumber = socialsecuritynumber; this.payrate = payrate; // Returns information about an employee as a string. public String tostring () String result = super.tostring(); result += "\nsocial Security Number: " + socialsecuritynumber; return result; // Returns the pay rate for this employee. public double pay () return payrate; // Executive.java // Represents an executive staff member, who can earn a bonus. 4

class Executive extends Employee private double bonus; // Sets up an executive with the specified information. public Executive (String name, String address, String phone, String socialsecuritynumber, double payrate) super (name, address, phone, socialsecuritynumber, payrate); bonus = 0; // bonus has yet to be awarded // Awards the specified bonus to this executive. public void awardbonus (double execbonus) bonus = execbonus; // Computes and returns the pay for an executive, which is the // regular employee payment plus a one-time bonus. public double pay () double payment = super.pay() + bonus; bonus = 0; return payment; // Hourly.java // Represents an employee that gets paid by the hour. class Hourly extends Employee private int hoursworked; // Sets up this hourly employee using the specified information. 5

public Hourly (String name, String address, String phone, String socialsecuritynumber, double payrate) super (name, address, phone, socialsecuritynumber, payrate); hoursworked = 0; // Adds the specified number of hours to this employee's // accumulated hours. public void addhours (int morehours) hoursworked += morehours; // Computes and returns the pay for this hourly employee. public double pay () double payment = payrate * hoursworked; hoursworked = 0; return payment; // Returns information about this hourly employee as a string. public String tostring () String result = super.tostring(); result += "\ncurrent hours: " + hoursworked; return result; 2. Perhatikan diagram berikut Diagram berikut mengilustrasikan konsef pewarisan, yang dimodelkan dalam diagram UML berikut: 6

Keterangan Status : Tetap (untuk dosen tetap) dan Tak Tetap (untuk dosen tak tetap) Tunjangan Fungsional : Jika dosen tetap maka tunjangan fungsioanl = 300000 Jika dosen tak tetap maka tunjangan fungsional = 0 Transfort : Jika dosen tatak tetap maka transfort = 250000 Jika dosen tetap maka transfort = 0 Total Dibayar : Jumlah SKS * Honor Per SKS PPh : 2% * TotalDibayar Total Pendapatan : Total Diabyar PPh Berdasarkan keterangan diatas buat program dengan interface berikut 7

3. Suatu perusahaan mempunyai karyawan tetap dan karyawan harian. Karywan tetap mempunyai gaji bulana dan tunjangan jabatan bagi yang memiliki jabatan struktural. Tunjangan jabatan untuk manager 5000 dan kepala bagian 200. Gaji pokok 500 bagi yang masa kerjanya 1 hinggai 3 tahun dan 750 bagi masa kerja lebih dari 3 tahun. Karywan harian mempunyai gaji 20 perhari. Semua karyawan mendapat uang makan sebesar 5 jika masuk kerja dan dibayar ahir bulan. Berdasarkan keterangan diatas buatlah. a. Buat struktur class karyawan diatas dalam bentuk diagram uml b. buat program untuk menghitung total pendapatan karyawan perbulan, jika perhitungan total pendapatan = gaji+tunjangan + jumlah_hari_kerja*uangmakan Note : Jawaban di imel dan paling lambat diterima hari sabtu tanggal 12-01-13 jam 17.00 8