INHERITANCE. Pelatihan Java 2 Mei 2015 Fakultas Teknologi Informasi Program Studi Teknik Informatika

Ukuran: px
Mulai penontonan dengan halaman:

Download "INHERITANCE. Pelatihan Java 2 Mei 2015 Fakultas Teknologi Informasi Program Studi Teknik Informatika"

Transkripsi

1 INHERITANCE Pelatihan Java 2 Mei 2015 Fakultas Teknologi Informasi Program Studi Teknik Informatika Herika Hayurani herika.hayurani@yarsi.ac.id, Nova Eka Diana nova.diana@yarsi.ac.id, Nurmaya nurmaya@yarsi.ac.id,

2 Topics Hirarki Pewarisan Overriding Methods Constructor Subclass Konversi antar Tipe Subclass dan Superclass Polimorfisme dan Pewarisan Access Specifier protected 2

3 Hirarki Pewarisan (1) Kategorisasi konsep pewarisan dengan menggunakan struktur hirarki 3

4 Hirarki Pewarisan (2) Himpunan class-class dapat membentuk sebuah hirarki pewarisan Class-class merepresentasikan konsep paling umum yang mendekati root, konsep lebih khususnya mendekati cabang Superclass: class yang lebih umum Subclass: class yang lebih khusus dari superclassnya Contoh: JPanel adalah subclass dari JComponent 4

5 Hirarki Pewarisan: Contoh (1) Contoh: tipe account yang berbeda: 1. Rekening Cek (CheckingAccount): Tidak ada bunga (interest) Sedikit transaksi per bulan Kenakan biaya transaksi untuk transaksi tambahan 2. Rekening Tabungan (SavingsAccount): Hasilkan bunga bulanan. Superclass: BankAccount. Subclasses: CheckingAccount & SavingsAccount 5

6 Hirarki Pewarisan: Contoh (2) Behavior/perlakuan dari class rekening (BankAccount, CheckingAccount, SavingsAccount): Semua class mendukung method getbalance. Semua class mendukung method deposit dan withdraw, tetapi detil implementasi berbeda. CheckingAccount perlu sebuah method deductfees untuk menghitung biaya bulanan dan me-reset counter transaksi. CheckingAccount harus meng-override method deposit dan withdraw untuk menghitung jumlah transaksi. 6

7 Latihan Mengapa kita tidak menempatkan method addinterest di dalam class BankAccount? Jawab: Tidak semua jenis rekening mendapatkan bunga. 7

8 Hirarki Pewarisan (3) Inheritance : mekanisme untuk memperluas class yang ada dengan menambah instance variable dan method, contoh: public class SavingsAccount extends BankAccount { // Tambahkan instance variables // Tambahkan method-method baru Subclass mewarisi method dari superclass: // Rekening tabungan dengan rate bunga 10% SavingsAccount collegefund = new SavingsAccount(10); // Menjalankan method BankAccount dengan object SavingsAccount collegefund.deposit(500); 8

9 Dalam subclass: Hirarki Tambahkan instance variable Pewarisan (4) Tambahkan method(-method) baru, dan Ubah/override method public class SavingsAccount extends BankAccount { // Instance variable(s) private double interestrate; public SavingsAccount(double rate){ // Implementasi constructor public void addinterest(){ // Implementasi method 9

10 Hirarki Pewarisan (5) Instance variable yang dideklarasikan dalam superclass, hadir dalam object subclass. Object SavingsAccount mewarisi instance variable balance dari class BankAccount, dan mendapat 1 instance variable tambahan, yaitu interestrate. 10

11 Hirarki Pewarisan (6) Implementasi constructor di subclass Implementasi method baru public class SavingsAccount extends BankAccount { private double interestrate; public SavingsAccount(double rate){ interestrate = rate; public void addinterest() { double interest = getbalance() * interestrate / 100; deposit(interest); 11

12 Hirarki Pewarisan (7) Subclass tidak memiliki akses ke instance variable superclass yang bersifat private. Encapsulation: method addinterest memanggil getbalance daripada meng-update variabel balance dari superclass (variabel tsb private) Catatan: method addinterest memanggil getbalance tanpa mengspesifikasikan parameter implisit (pemanggilan tsb diterapkan ke object yang sama) Terakhir, tambahkan komentar javadoc dalam program. Komentar javadoc berada di awal class/method/constructor, diapit dengan simbol /** dan */ Di atas deklarasi Di atas deklarasi 12

13 Class SavingsAccount 1 /** 2 An account that earns interest at a fixed rate. 3 */ 4 public class SavingsAccount extends BankAccount { 5 private double interestrate; 6 7 /** 8 Constructs a bank account with a given interest rate. rate the interest rate 10 */ 11 public SavingsAccount(double rate) { 12 interestrate = rate; /** 16 Adds the earned interest to the account balance. 17 */ 18 public void addinterest() { 19 double interest = getbalance() * interestrate / 100; 20 deposit(interest);

14 Class BankAccount (1) 1 /** 2 A bank account has a balance that can be changed by 3 deposits and withdrawals. 4 */ 5 public class BankAccount { 6 private double balance; 7 8 /** 9 Constructs a bank account with a zero balance. 10 */ 11 public BankAccount() { 12 balance = 0; /** 16 Constructs a bank account with a given balance. initialbalance the initial balance 18 */ 19 public BankAccount(double initialbalance) { 20 balance = initialbalance;

15 Class BankAccount (2) 23 /** 24 Deposits money into the bank account. amount the amount to deposit 26 */ 27 public void deposit(double amount) { 28 balance = balance + amount; /** 32 Withdraws money from the bank account. amount the amount to withdraw 34 */ 35 public void withdraw(double amount) { 36 balance = balance - amount; /** 40 Gets the current balance of the bank account. the current balance 42 */ 43 public double getbalance() { 44 return balance;

16 Mewarisi Class: Sintaks 16

17 Hirarki BankAccount - SavingsAccount Class BankAccount Properties: - double balance Constructor: - BankAccount() - BankAccount(double initialbalance) Methods: - void deposit(double amount) - void withdraw(double amount) - double getbalance() Class SavingsAccount Properties: - double interestrate Constructor: - SavingsAccount(double rate) Methods: - void addinterest() 17

18 Latihan Perhatikan hirarki class BankAccount SavingsAccount. 1.Instance variable apa yang dimiliki object class SavingsAccount? 2.Sebutkan method yang dapat dijalankan oleh object SavingsAccount! Jawab: 3.Dua instance variable: balance dan interestrate. 4.Empat method: deposit, withdraw, getbalance, dan addinterest. 18

19 Latihan Jika class Manager meng-extends class Employee, class mana yang menjadi superclass dan class mana yang menjadi subclass? Jawab:. Class Manager adalah subclass; class Employee adalah superclass. 19

20 Kesalahan Umum: Mengakses Variabel Private Ingat access specifier private! Subclass tidak memiliki akses ke instance variable yang bersifat private. public class SavingsAccount extends BankAccount { private double interestrate; public void addinterest() { double interest = getbalance() * interestrate / 100; balance = balance + interest; // Error Variable balance di class BankAccount bersifat private Apa solusinya? 20

21 Kesalahan Umum: Membayangi Variabel (1) Apakah dengan menambahkan variabel balance di class SavingsAccount? public class SavingsAccount extends BankAccount { private double interestrate; private double balance; // Menambahkan variabel balance public void addinterest() { double interest = getbalance() * interestrate / 100; balance = balance + interest; Apa yang terjadi? Apa solusinya? Tidak terjadi compile error, namun tidak akan meng-update saldo dengan tepat 21

22 Kesalahan Umum: Membayangi Variabel (2) Method addinterest berhasil di-compile, tetapi tidak meng-update balance (saldo) yang tepat! 22

23 Solusi dari Membayangi Variabel Perhatikan statement berikut: balance = balance + interest Statement di atas mirip dengan statement di mana? Ingat method void deposit(double amount)? Gunakan/panggil method deposit, namun parameternya diganti dengan interest. public class SavingsAccount extends BankAccount { private double interestrate; private double balance; // Menambahkan variabel balance public void addinterest() { double interest = getbalance() * interestrate / 100; balance deposit(interest); = balance + interest; 23

24 OVERRIDING METHOD 24

25 Overriding Method (1) Method subclass meng-override (menimpa) method superclass hanya jika memiliki nama dan tipe parameter yang sama seperti pada method superclass. Ketika method X ada di superclass dan subclass-nya, maka overriding method yang dieksekusi. Overriding method (method yang menimpa) adalah method di subclass Overriden method (method yang ditimpa) adalah method Algoritma di superclass & Pemrograman 2-25

26 Overriding Method (2) Method deposit dan withdraw dari class CheckingAccount override method deposit dan withdraw dari class BankAccount untuk menangani biaya transaksi di rekening Cek. public class BankAccount {... public void deposit(double amount) {... public void withdraw(double amount) {... public double getbalance() {... public class CheckingAccount extends BankAccount {... public void deposit(double amount) {... public void withdraw(double amount) {... public void deductfees() {... 26

27 Overriding Method (3) Problem: Override method deposit tidak dapat menambahkan variabel amount ke balance. public class CheckingAccount extends BankAccount {... public void deposit(double amount) { transactioncount++; // Menambahkan amount ke balance balance = balance + amount; // Compile error Apa solusinya? Gunakan method public di superclass untuk memodifikasi private instance variable superclass. 27

28 Memanggil Method di Superclass (1) Method deposit dari class CheckingAccount harus menjalankan method deposit dari BankAccount. Apakah seperti ini? public class CheckingAccount extends BankAccount {... public void deposit(double amount) { transactioncount++; // Menambahkan amount ke balance balance deposit(amount); = balance // + Terjadi amount; infinite recursion, karena sama // dengan this.deposit(amount); Catt: Recursion adalah proses pemanggilan method diri sendiri this menunjukkan bahwa method yang dipanggil adalah method yang sekarang sedang diakses (di CheckingAccount) 28

29 Memanggil Method di Superclass (2) Untuk memanggil method-method dari superclass-nya, suatu subclass harus memanggilnya dengan keyword super. public class CheckingAccount extends BankAccount {... public void deposit(double amount) { transactioncount++; // Menambahkan amount ke balance super.deposit(amount); // OK 29

30 Memanggil Method Superclass: Sintaks 30

31 Memanggil Method di Superclass (3) public class CheckingAccount extends BankAccount { private static final int FREE_TRANSACTIONS = 3; private static final double TRANSACTION_FEE = 2.0; private int transactioncount;... public void withdraw(double amount) { transactioncount++; // Mengurangi amount dari balance super.withdraw(amount); public void deductfees() { if (transactioncount > FREE_TRANSACTIONS){ double fees = TRANSACTION_FEE * (transactioncount - FREE_TRANSACTIONS); super.withdraw(fees); transactioncount = 0;... 31

32 Class BankAccount Properties: - double balance Constructors: - BankAccount() - BankAccount(double initialbalance) Methods: - void deposit(double amount) - void withdraw(double amount) - double getbalance() Class SavingsAccount Properties: - double interestrate Constructors: - SavingsAccount(double rate) Methods: - void addinterest() Hirarki BankAccount - SavingsAccount - CheckingAccount Class CheckingAccount Properties: - static final int FREE_TRANSACTIONS - static final double TRANSACTION_FEE - int transactioncount Constructors: - SavingsAccount(double initialbalance) Methods: - void deposit(double amount) - void withdraw(double amount) - void deductfees() 32

33 Latihan Perhatikan hirarki class BankAccount SavingsAccount - CheckingAccount. Kategorikan method-method dari class SavingsAccount dan CheckingAccount, apakah termasuk method yang inherited (diwarisi), new (baru), atau overriding (menimpa)? Jawab: 1.Class SavingsAccount: Inherited (diwarisi) : deposit, withdraw, getbalance New (baru): addinterest 2.Class CheckingAccount: Overriding (menimpa) : deposit, withdraw Inherited (diwarisi) : getbalance New (baru): deductfees 33

34 Latihan Mengapa method withdraw dari class CheckingAccount memanggil super.withdraw? Jawab:. Karena perlu mereduksi balance, dan tidak dapat mengakses variabel balance di class BankAccount secara langsung. 34

35 Latihan Mengapa method deductfees menge-set transactioncount ke nilai 0? Jawab: Karena transactioncount merefleksikan jumlah transaksi dari bulan yang berjalan. 35

36 CONSTRUCTOR SUBCLASS 36

37 Constructor Subclass (1) Untuk memanggil constructor dari superclassnya, suatu subclass harus memanggilnya dengan keyword super yang diletakkan pada statement pertama di constructor subclass. public class CheckingAccount extends BankAccount {... public CheckingAccount(double initialbalance) { // Mengkonstruksikan superclass dengan memanggil // constructor superclass dengan 1 parameter super(initialbalance); // Inisialisasi transactioncount transactioncount = 0; 37

38 Constructor Subclass (2) Ketika constructor subclass tidak memanggil constructor superclass, superclass harus memiliki constructor tanpa parameter Jika superclass tidak memiliki constructor tanpa parameter, maka terjadi compile error. 38

39 Class CheckingAccount (1) 1 /** 2 A checking account that charges transaction fees. 3 */ 4 public class CheckingAccount extends BankAccount { 5 private static final int FREE_TRANSACTIONS = 3; 6 private static final double TRANSACTION_FEE = 2.0; 7 8 private int transactioncount; 9 10 /** 11 Constructs a checking account with a given balance. initialbalance the initial balance 13 */ 14 public CheckingAccount(double initialbalance) { 15 // Construct superclass 16 super(initialbalance); // Initialize transaction count 19 transactioncount = 0; public void deposit(double amount) { 23 transactioncount++; 24 // Now add amount to balance 25 super.deposit(amount); 26 39

40 Class CheckingAccount (2) public void withdraw(double amount) { 29 transactioncount++; 30 // Now subtract amount from balance 31 super.withdraw(amount); /** 35 Deducts the accumulated fees and resets the 36 transaction count. 37 */ 38 public void deductfees() { 39 if (transactioncount > FREE_TRANSACTIONS) { 40 double fees = TRANSACTION_FEE * 41 (transactioncount - FREE_TRANSACTIONS); 42 super.withdraw(fees); transactioncount = 0;

41 Memanggil Constructor Superclass: Sintaks 41

42 Latihan 1. Mengapa constructor SavingsAccount tidak memanggil constructor superclass? 2. Kapan menjalankan method superclass dengan keyword super, apakah pemanggilan tsb harus statement pertama dari method subclass? Jawab: 1. Karena constructor SavingsAccount menggunakan default constructor superclass, dimana menge-set saldo (balance) Tidak hal ini persyaratan hanya untuk constructor. Contohya, method SavingsAccount.deposit pertamanya meng-increment jumlah transaksi, lalu memanggil method superclass. 42

43 KONVERSI ANTARA TIPE SUBCLASS DAN SUPERCLASS 43

44 Konversi Tipe Subclass ke Superclass Konversi dari reference subclass ke reference superclass: SavingsAccount danakuliah = new SavingsAccount(10); BankAccount rek = danakuliah; // OK, konversi subclass ke superclass Object obj = rek; // OK, konversi subclass ke superclass Semua variabel reference menunjuk ke tipe object SavingsAccount. Catatan: Class Object adalah superclass dari semua class. danakuliah = rek = obj = 44

45 Konversi Tipe Superclass ke Subclass (1) SavingsAccount danakuliah = new SavingsAccount(10); BankAccount rek = danakuliah; rek.deposit(1000); // OK rek.addinterest(); // Error, karena addinterest bukan di class BankAccount Terkadang perlu mengkonversi dari reference superclass ke reference subclass: BankAccount rek = (BankAccount) obj; Casting berbahaya, jika salah bisa melempar exception Solusi: Gunakan operator instanceof sebelum konversi superclass ke subclass. 45

46 Konversi Tipe Superclass ke Subclass (2) Operator instanceof untuk menguji apakah sebuah object benar bertipe tertentu. if (obj instanceof BankAccount) { BankAccount rek = (BankAccount) obj;... 46

47 Operator instanceof: Sintaks 47

48 POLIMORFISME DAN PEWARISAN 48

49 Polimorfisme dan Pewarisan (1) Perhatikan source code berikut ini: // rektabungan1 menyimpan reference ke SavingsAccount BankAccount rektabungan1 = new SavingsAccount(1000); // rekcek1 menyimpan reference ke CheckingAccount BankAccount rekcek1 = new CheckingAccount(500); rekcek1.deposit(1000); // rekcek2 menyimpan reference ke CheckingAccount BankAccount rekcek2 = new CheckingAccount(1500); Method deposit manakah yang dipanggil? Dynamic method lookup: mekanisme untuk memanggil overridden method yang dilakukan saat run time 49

50 Polimorfisme dan Pewarisan (2) Perhatikan source code di class CheckingAccount berikut ini: public void transfer(double amount, BankAccount other){ withdraw(amount); other.deposit(amount); Ketika Anda memanggil: rekcek1.transfer(1000, rekcek2); Terjadi pemanggilan 2 method berikut: rekcek1.withdraw(1000); rekcek2.deposit(1000); 50

51 Polimorfisme dan Pewarisan (3) Polymorphism: kemampuan untuk memperlakukan object yang memiliki behavior yang berbeda, dengan cara yang seragam Pemanggilan method di method transfer withdraw(amount); sama dengan : this.withdraw(amount); this dapat menunjuk ke BankAccount atau sebuah object subclass-nya. 51

52 Class AccountTester (1) 1 /** 2 This program tests the BankAccount class and 3 its subclasses. 4 */ 5 public class AccountTester { 6 public static void main(string[] args) { 7 SavingsAccount momssavings = new SavingsAccount(0.5); 8 9 CheckingAccount harryschecking = new CheckingAccount(100); momssavings.deposit(10000); momssavings.transfer(2000, harryschecking); 14 harryschecking.withdraw(1500); 15 harryschecking.withdraw(80); momssavings.transfer(1000, harryschecking); 18 harryschecking.withdraw(400); 19 52

53 Class AccountTester (2) 20 // Simulate end of month 21 momssavings.addinterest(); 22 harryschecking.deductfees(); System.out.println("Mom s savings balance: " 25 + momssavings.getbalance()); 26 System.out.println("Expected: 7035"); System.out.println("Harry s checking balance: " 29 + harryschecking.getbalance()); 30 System.out.println("Expected: 1116"); Output program AccountTester: Mom's savings balance: Expected: 7035 Harry's checking balance: Expected:

54 Latihan 1. Mengapa parameter kedua dari method transfer harus bertipe BankAccount dan tidak, sebagai contoh, SavingsAccount? 2. Mengapa kita tidak dapat mengubah parameter kedua dari method transfer menjadi tipe Object? Jawab: 1. Kita ingin menggunakan method untuk semua jenis bank account. Jika kita menggunakan tipe parameter SavingsAccount, kita tidak dapat memanggil method dengan object CheckingAccount. 2. Kita tidak dapat menjalankan method deposit pada variabel bertipe Object. 54

55 Latihan 1. Jika a adalah variabel bertipe BankAccount yang menyimpan non-null reference, apa yang Anda tahu tentang object yang a tunjuk? 2. Jika a menunjuk ke checking account, apa efek dari pemanggilan a.transfer(1000, a)? Jawab: 1. Object adalah sebuah instan dari BankAccount atau satu dari subclass-nya. 2. Saldo dari a tidak berubah, dan transaction diincrement 2x. 55

56 ACCESS SPECIFIER PROTECTED 56

57 Akses protected (1) Fitur protected dapat diakses oleh seluruh subclass dan oleh class dalam package yang sama. Menyelesaikan problem dimana method di class CheckingAccount membutuhkan akses ke instance variable balance dari superclass BankAccount: public class BankAccount { protected double balance;... 57

58 Akses protected (2) Perancang superclass tidak memiliki kontrol terhadap pembuat subclass: Sembarang method subclass dapat mengkorupsi data superclass Class-class dengan instance variable protected sulit dimodifikasi variabel bertipe protected tidak dapat diubah, karena seseorang di luar sana mungkin telah menulis subclass yang mana code bergantung terhadap variabel tsb Data protected dapat diakses oleh seluruh method dari class dalam package yang sama. Pilihan yang terbaik untuk meninggalkan seluruh data dalam kondisi private dan menyediakan method accessor untuk mengakses data 58

Konsep Inheritance. Praktikum 8 Pemrograman Berbasis Obyek

Konsep Inheritance. 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

Lebih terperinci

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

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih Overriding, Overloading, Polymorphism Pertemuan 10 Pemrograman Berbasis Obyek Oleh Tita Karlita Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments

Lebih terperinci

Inheritance dan Kata Kunci static

Inheritance dan Kata Kunci static Inheritance dan Kata Kunci static PEWARISAN (INHERITANCE) Salah satu fitur yang paling kuat dalam OOP adalah penggunaan kode kembali (code reuse). Sekali sebuah prosedur dibuat, maka kita bisa menggunakannya

Lebih terperinci

Modul 2. [access specifier] [tipe data] [nama variabel];

Modul 2. [access specifier] [tipe data] [nama variabel]; Modul 2 Objek, Kelas, dan Instance Variabel 1. Deklarasi variable, kelas, dan method Di setiap bahasa pemrograman, programmer selalu membuat variabel untuk dapat memanipulasi data dan mengoperasikannya.

Lebih terperinci

Bahasa Pemrograman :: Polimorfism and Abstraction

Bahasa Pemrograman :: Polimorfism and Abstraction Bahasa Pemrograman :: and Abstraction Julio Adisantoso ILKOM IPB 24 Mei 2010 Access Modifiers Access Modifiers Accessor Methods Mutator Methods Inheritance Akses Default (Package Accessibility) Tidak terdapat

Lebih terperinci

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM 1 INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM INHERITANCE Pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang direferensi sebagai induk

Lebih terperinci

Pemrograman Berorientasi. Inheritance

Pemrograman Berorientasi. Inheritance Pemrograman Berorientasi Obyek Inheritance anton@ukdw.ac.id Inheritance Silsilah Pohon Keluarga Relasi is-a Selain melakukan kategorisasi terhadap objek yang memiliki sekumpulan atribut dan perilaku yang

Lebih terperinci

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

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut: a. Abstraksi (abstraction) b. Pembungkusan (encapsulation) c. Pewarisan (inheritence)

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

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

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah Overriding, Overloading, Polymorphism Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments

Lebih terperinci

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 PEWARISAN Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran di lingkungan

Lebih terperinci

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Waktu Sisa : 0:59:57 1. Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak Output: Bapak null Anak Error karena constructor Bapak(String

Lebih terperinci

Inheritance (Pewarisan) Pengertian dasar inheritance

Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) Pengertian dasar inheritance Inheritance (Pewarisan) merupakan salah satu dari tiga konsep dasar OOP. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat

Lebih terperinci

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: 1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini: Program dapat di-compile dan output-nya adalah 5 Program dapat di-compile dan output-nya adalah 6 Program akan

Lebih terperinci

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Dasar Pemrograman Berorientasi Objek Konsep Dasar Pemrograman Berorientasi Objek CLASS & OBJECT Kita dapat membuat banyak OBJECT dari satu CLASS Untuk membuat banyak OBJECT, kita cukup gunakan keyword new berulang kali Misal: Rekening CLASS

Lebih terperinci

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Materi kuliah ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung

Lebih terperinci

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Lanjut. Class : Deeper Look 2 Pemrograman Lanjut Class : Deeper Look 2 PTIIK - 2013 Objectives Mampu menggunakan variabel dan method static dan final. Mampu meng-import static member dari sebuah kelas. Mampu membuat package dan meng-import

Lebih terperinci

KONSEP OOP: POLYMORPHISM

KONSEP OOP: POLYMORPHISM PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 KONSEP OOP: POLYMORPHISM Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Polymorphism Polymorphism

Lebih terperinci

Gambar 1: Hirarki class

Gambar 1: Hirarki class BAB 11 Pewarisan, Polimorfisme, dan Interface 11.1 Tujuan Dalam bagian ini, kita akan membicarakan bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. Class ini dinamakan subclass dan

Lebih terperinci

Membuat dan Menggunakan Class

Membuat dan Menggunakan Class Pertemuan 3 Halaman 1/1 Membuat class pada java : Untuk mendefinisikan suatu class pada java digunakan : class ClassName { suatu class dapat terdiri dari - attribute / data field - method Attribute Attribute

Lebih terperinci

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek Polymorphism Materi ke-8 Pemrograman Berbasis Objek Pengertian Polymorphism = polimorfisme Poly (banyak) + morphos (bentuk) : banyak bentuk Kemampuan untuk menghandle banyak bentuk Kemampuan untuk memproses

Lebih terperinci

Overriding Overloading Polymorphism

Overriding Overloading Polymorphism Overriding Overloading Polymorphism Topik Overriding Overloading Constructor overloading Polymorphism Virtual Method Invocation Polymorphic arguments Operator instanceof Casting & Convertion Objects 1

Lebih terperinci

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super Your browser does not support inline frames or is currently configured not to display inline frames. Waktu Sisa : 1:58:53 1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference

Lebih terperinci

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

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword Inheritance Topik Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword 1 Pengertian Dasar Inheritance Inheritance (Pewarisan) merupakan salah

Lebih terperinci

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs Object Oriented Programming (OOP) adalah inti dari pemrograman Java. Dalam OOP, setiap objek didefinisikan sebagai

Lebih terperinci

Pewarisan, Polimorfisme, dan Interface

Pewarisan, Polimorfisme, dan Interface Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari semua subclasses. Jadi, Anda

Lebih terperinci

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

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final 1.Tujuan Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final 2. Latar Belakang Dalam bagian ini, kita akan membicarakan bagaimana suatu class

Lebih terperinci

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek Inheritance Pertemuan 8 Pemrograman Berbasis Obyek Topik Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control Konstruktor tidak diwariskan super keyword

Lebih terperinci

Pemrograman Berbasis Objek Inheritance

Pemrograman Berbasis Objek Inheritance Inheritance Topik Pemrograman Berbasis Objek Pengertian inheritance Deklarasi inheritance i Single inheritance Multilevel inheritance Access Control Konstruktor tidak diwariskan super keyword Pengertian

Lebih terperinci

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan) Pertemuan VI Inheritance (Pewarisan) 6.1. Tujuan Mahasiswa diharapkan dapat: 1. Memahami konsep inheritance dalam pemecahan permasalahan. 2. Mengimplementasikan konsep inheritance dalam bentuk program.

Lebih terperinci

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Abstract Class dan Interface. Viska Mutiawani, M.Sc Abstract Class dan Interface Viska Mutiawani, M.Sc Konsep Penting Abstract class Abstract method Interface Implements Final Static Exception Contoh Polimorfisme Lihat contoh program yang disediakan pada

Lebih terperinci

KONSEP OOP: POLYMORPHISM

KONSEP OOP: POLYMORPHISM PEMROGRAMAN LANJUT Informatika PTIIK UB Semester Genap 2015/2016 KONSEP OOP: POLYMORPHISM Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Polymorphism Polymorphism

Lebih terperinci

LAPORAN RESMI INHERITANCE

LAPORAN RESMI INHERITANCE LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN BAB 4 INHERITANCE Disusun Oleh : NAMA : FARIDATUS SHOFIYAH NRP : 13.06.311.00112 KELOMPOK : C1 DOSEN PENGAMPU : MEDIKA RISNASARI, MT ASISTEN : AGUS PRIYONO Disetujui

Lebih terperinci

Inheritance. Topik 5/17/2013

Inheritance. Topik 5/17/2013 Inheritance Topik Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control Konstruktor tidak diwariskan super keyword 1 Pengertian dasar inheritance Inheritance

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 3 1 02/02/2016 8:59:08 WEEK 3 Inheritance Pewarisan class (atribut dan method)

Lebih terperinci

Pertemuan 4 Halaman 1/1. Class Inheritance

Pertemuan 4 Halaman 1/1. Class Inheritance Pertemuan 4 Halaman 1/1 Inheritance merupakan suatu cara untuk menurunkan suatu class yang lebih umum menjadi suatu class yang lebih spesifik. Superclass dan Subclasses Subclass merupakan class yang diturunkan

Lebih terperinci

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM 1. Praktikan memahami perbedaan objek dan class pada Java. 2. Praktikan memahami konsep berorientasi objek. 3. Praktikan dapat membuat program sederhana dengan

Lebih terperinci

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

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance MODUL 3 Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM 1. Praktikan dapat memahai bagaimana suatu class dapat mewariskan sifat dari class yang sudah ada. 2. Praktikan mampu mendefinisikan superclass

Lebih terperinci

Polymorphism (Polimorfisme)

Polymorphism (Polimorfisme) Polymorphism (Polimorfisme) Pemrograman Berorientasi Objek Minggu 7 Alfa Faridh Suni Polymorphisme * Poly + morph = banyak + bentuk * Polymorphism yang berarti satu objek dapat memiliki banyak bentuk yang

Lebih terperinci

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pewarisan dan deklarasi pewarisan dalam bahasa Java Konsep polimospisme dan deklarasi

Lebih terperinci

Jelaskan tentang konsep Cohesion & Coupling!

Jelaskan tentang konsep Cohesion & Coupling! Review Alfan Jelaskan tentang konsep Cohesion & Coupling! Overloaded Methods Method-method dalam sebuah kelas boleh mempunyai nama sama, tetapi signature-nya berbeda. Berbeda : tipe parameter, urutan parameter,

Lebih terperinci

(INHERITANCE) Nurochman

(INHERITANCE) Nurochman PEWARISAN (INHERITANCE) Nurochman Inheritance Adding functionality to existing classes Re use of code Refining a general solution to a specific Rapid development of solutions What is Inheritance? Subclass

Lebih terperinci

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Pewarisan Sifat Objek. Nur Hasanah, M.Cs Pewarisan Sifat Objek Nur Hasanah, M.Cs Membuat Kelas Turunan (Subclass) Java menyediakan kata kunci extends yang digunakan untuk penurunan terhadap kelas. Dalam terminologi Java, kelas induk yang diturunkan

Lebih terperinci

Bahasa Pemrograman :: Inheritance

Bahasa Pemrograman :: Inheritance Bahasa Pemrograman :: Inheritance Julio Adisantoso ILKOM IPB 17 Mei 2010 Class Person Class Student Class Person public class Person { private String name; private String address; private int age; //constructors

Lebih terperinci

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK BAB 1 PEMROGRAMAN BERORIENTASI OBJEK Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan

Lebih terperinci

INHERITANCE. Gambar 1. Kelas Hierarki Java

INHERITANCE. Gambar 1. Kelas Hierarki Java INHERITANCE A. Tujuan Memahami Konsep inheritance (pewarisan). Mendefinisikan superclasses dan subclasses Override method dari superclasses Menerapkan keyword this B. Dasar Teori 1. Pewarisan Inheritance

Lebih terperinci

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

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni Enkapsulasi u Dapat dikatakan sebagai penyembunyian data/informasi (Information hiding). u Implementasi ke bahasa Pemrograman

Lebih terperinci

Pemrograman Berorientasi. Abstract & Interface

Pemrograman Berorientasi. Abstract & Interface Pemrograman Berorientasi Obyek Abstract & Interface anton@ukdw.ac.id Latar Belakang Kita sudah mengenal pewarisan, bahwa class anak akan selalu mendapat warisan atribut dan behavior dari class induk Class

Lebih terperinci

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OOP: PEWARISAN / INHERITANCE PEMROGRAMAN LANJUT Sistem Informasi PTIIK UB Semester Genap 2014/2015 KONSEP OOP: PEWARISAN / INHERITANCE Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Outline

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Polimorfisme dan Binding anton@ukdw.ac.id Polymorphism Polymorphism = Poly + Morphos Poly = banyak, Morphos = bentuk Kemampuan obyek obyek yang berbedauntuk memberi respons terhadap

Lebih terperinci

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Pemrograman Lanjut Tipe Data dan Constructor PTIIK Pemrograman Lanjut Tipe Data dan Constructor PTIIK - 2013 Objectives Mengetahui perbedaan antara tipe data primitive dan reference. Mampu mendeklarasikan dan menggunakan constructor untuk memastikan bahwa

Lebih terperinci

Jobsheet 09. Overloading and Overriding Method

Jobsheet 09. Overloading and Overriding Method Jobsheet 09 Overloading and Overriding Method 1. Kompetensi Setelah menempuh pokok bahasan ini, mahasiswa mampu : 1) Memahami konsep overloading dan overriding, 2) Memahami perbedaan overloading dan overriding,

Lebih terperinci

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung Karakteristik OOP Encapsulation Inheritance Polimorphisme Inheritance Membuat class baru yang merupakan turunan

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA PEMROGRAMAN BERBASIS OBYEK Encapsulation 2IA08 1. Ade hardiyanto 50412121 2. Burhanuddin Ginting 51412532 3. Muhamad Iqbal Tawakal 54412803 4. Perdi Atmaja 55412663 5. Reza Cipta Permana 56412192 UNIVERSITAS

Lebih terperinci

Slide 6: Writing Classes

Slide 6: Writing Classes Slide 6: Writing Classes Bank Account Class 1. File Account.java berisi sebagian hal yang diperlukan untuk merepresentasikan sebuah bank account. Ketik dan simpan program tersebut serta pelajari methods

Lebih terperinci

Pemrograman Lanjut Review Class dan Object PTIIK

Pemrograman Lanjut Review Class dan Object PTIIK Pemrograman Lanjut Review Class dan Object PTIIK - 2013 Objectives Mengingat kembali tentang Class dan Object Class Class adalah template atau blueprint dari objectobject yang dibuat. Class mempunyai:

Lebih terperinci

Modul Bahasa Pemrograman 1

Modul Bahasa Pemrograman 1 Modul Bahasa Pemrograman 1 2013/2014 INHERITANCE DAN PHLOYMORPHISME Pokok bahasan : Konsep pewarisan dalam bahasa Java Deklarasi pewarisan dalam bahasa Java Konsep pholymorphisme dalam bahasa Java Deklarasi

Lebih terperinci

PRAKTIKUM 6 EXCEPTION

PRAKTIKUM 6 EXCEPTION PRAKTIKUM 6 EXCEPTION A. TUJUAN Memahami konsep, tipe, dan cara penanganan eksepsi. Memahami cara melontar dan menangkap eksepsi. Memahami konsep try catch dan catch secara bertingkat. Memahami klausa

Lebih terperinci

Employee employee=new Manager();

Employee employee=new Manager(); PRAKTIKUM 13 POLIMORFISME A. TUJUAN PEMBELAJARAN 1. Memahami dan menerapkan konsep polimorfisme dalam pemrograman 2. Memahami proses terjadinya Virtual Method Invocation 3. Memahami dan menerapkan polymorphic

Lebih terperinci

Pemrograman Berorientasi Objek

Pemrograman Berorientasi Objek Pemrograman Berorientasi Objek Class, Object, Method Pada Java Dalam pemrograman tradisional atau prosedural, seluruh data dan kode digabung menjadi satu bagian dalam satu program. Untuk membuat program-program

Lebih terperinci

Pemrograman Berbasis Objek (Polimorfisme)

Pemrograman Berbasis Objek (Polimorfisme) Pemrograman Berbasis Objek (Polimorfisme) Kelompok 9 : Irwan Nugraha (53412824) M. Furqon Rahawarin (54412958) Niken Annisa (55412313) Prasetyo Nugroho (55412692) BAB I PENDAHULUAN I.1 Latar belakang Dalam

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Abstract & Interface anton@ukdw.ac.id Abstract t Class [1] Saat kita membuat sebuah superclass, kita tahu bahwa kita dapat menurunkan semua metode yang dimilikinya pada class anaknya.

Lebih terperinci

SILABUS MATA KULIAH PEMROGRAMAN JAVA

SILABUS MATA KULIAH PEMROGRAMAN JAVA A. IDENTITAS MATA KULIAH Program Studi : Teknik Informatika Mata Kuliah : Pemrograman Java Kode : SP331 Bobot : 4 (empat) sks Kelas : MI Semester : 4 (empat) Mata kuliah prasyarat : Tidak ada Deskripsi

Lebih terperinci

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

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan Tujuan JAVA Education Network Indonesia Inheritance,,& Interfaces Pengenalan Pemrograman 1 Pada akhir bab, Anda diharapkan mampu untuk Menjelaskan super class dan subclass Meng-override method dari superclass

Lebih terperinci

Chapter 10 Polimorphism

Chapter 10 Polimorphism Chapter 10 Polimorphism A. Deskripsi Polimorphism Polimorphism berarti mempunyai banyak bentuk. Dua objek dikatakan sebagai polymorphic bila objek-objek itu mempunyai antarmuka-antarmuka uang identik namun

Lebih terperinci

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS POKOK BAHASAN 1. Pendahuluan 2. Hubungan Antar Kelas 3. Inheritansi 4. Polimorfisme PENDAHULUAN Keunggulan utama bahasa pemrograman berorientasi

Lebih terperinci

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas Pemograman Berorientasi Objek c# Week 3 Abstrak dan Interface dalam suatu kelas Kompetensi Dasar Setelah mengikuti mata kuliah ini diharapkan mahasiswa memiliki kemampuan untuk: 1. Menguraikan konsep dasar

Lebih terperinci

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal. Pemrograman Berorientasi Object constructor operator new garbage collection and finalizers this constructor untuk inisialisasi suatu nilai 1 2 Class adalah template/blueprint untuk instant/object dari

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Desain Class dan Obyek anton@ukdw.ac.id Konstruktor Konstruktor digunakan pada saat instansiasi i i sebuah object. Melakukan instansiasi adalah mengalokasikan sejumlah memory dari

Lebih terperinci

KONSEP OOP: PEWARISAN / INHERITANCE

KONSEP OOP: PEWARISAN / INHERITANCE PEMROGRAMAN LANJUT Informatika FILKOM UB Semester Genap 2015/2016 KONSEP OOP: PEWARISAN / INHERITANCE Dr. Eng. Herman Tolle Program Teknologi Informasi & Ilmu Komputer, Universitas Brawijaya Outline Keyword

Lebih terperinci

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2 No. LST/EKA/PTI208/05 Revisi : 01 Maret 2009 Hal 1 dari 5 A. Kompetensi Setelah mengikuti mata kuliah ini, mahasiswa diharapkan mampu memahami prinsip polymorphism. B. Dasar Teori 1. Abstract Class Misalnya

Lebih terperinci

8 - Overriding dan Overloading

8 - Overriding dan Overloading 8 - Overriding dan Overloading PENDAHULUAN Pada bagian sebelumnya, telah dibahas tentang relasi inheritance. Dalam relasi tersebut, dimungkinkan suatu class (super class) untuk diturunkan ke class yang

Lebih terperinci

Pemrograman Berorientasi. Class dan Obyek 2

Pemrograman Berorientasi. Class dan Obyek 2 Pemrograman Berorientasi Obyek Class dan Obyek 2 anton@ukdw.ac.id Method main pada Java public static void main(string[] args) Merupakan bagian yang dieksekusi oleh program Java Sifat: public, static,

Lebih terperinci

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi

9/26/2011. Tujuan. Bekerja dengan Java Class Library. Pengenalan OOP. Pengenalan OOP. Class dan Object. Enkapsulasi Tujuan Pada akhir pembahasan, siswa diharapkan dapat : JAVA Education Network Indonesia Bekerja dengan Java Class Library Pengenalan Pemrograman 1 Menjelaskan OOP dan beberapa konsepnya Membedakan antara

Lebih terperinci

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT 2.1 Kompetensi Dasar Kompetensi dasar secara umum dalam materi ini adalah agar mahasiswa dapat mendeskripsikan penggunaan konsep pemrograman berbasis

Lebih terperinci

Composition dan Inheritance

Composition dan Inheritance Composition dan Inheritance Viska Mutiawani, M.Sc 1 Viska Mutiawani - Informatika FMIPA Konsep Penting Composition Inheritance (pewarisan) Superclass (super kelas) Subclass (sub kelas) Method overriding

Lebih terperinci

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I C#, Programming, Object-oriented Pengenalan C# Erick Pranata Edisi I Maret 2013 Karakteristik C# (C Sharp) merupakan bahasa garapan Microsoft yang merujuk pada kultur Java yang dilengkapi dengan kemampuan

Lebih terperinci

BAHASA PEMROGRAMAN JAVA

BAHASA PEMROGRAMAN JAVA MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran

Lebih terperinci

PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK NINF615 SEMESTER GASAL 2016/2017 PROGRAM STUDI S1 TEKNIK INFORMATIKA MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK DISUSUN OLEH: Tim Asisten Praktikum Jurusan

Lebih terperinci

Pemrograman Berorientasi Objek Danu Wira Pangestu

Pemrograman Berorientasi Objek Danu Wira Pangestu Pemrograman Berorientasi Objek Danu Wira Pangestu About Me Danu Wira Pangestu S.Kom - Univ.PGRI Yogyakarta Prodi T.Informatika (2006) Email : danu.wira.pangestu@gmail.com Blog : bangdanu.wordpress.com

Lebih terperinci

BAB 7 OVERLOADING DAN OVERRIDING

BAB 7 OVERLOADING DAN OVERRIDING BAB 7 OVERLOADING DAN OVERRIDING Tujuan: Setelah mengikuti matakuliah ini, diharapkan mahasiswa mampu untuk menjelaskan konsep dari overloading dan overriding method, serta mengimplementasikannya dalam

Lebih terperinci

Dasar Pemrograman Java

Dasar Pemrograman Java Dasar Pemrograman Java Tessy Badriyah, SKom. MT. http://lecturer.eepis-its.edu/~tessy Tujuan Pembelajaran Penggunaan Komentar dalam program Memahami perbedaan identifier yang valid dan yang tidak valid

Lebih terperinci

Konsep Pemrograman Berbasis Obyek

Konsep Pemrograman Berbasis Obyek Konsep Pemrograman Berbasis Obyek Tujuan Pembelajaran Memahami konsep Pemrograman Berbasis Obyek atau Object Oriented Programming (OOP) Memahami perbedaan antara pemrograman OOP dengan pemrograman prosedural

Lebih terperinci

KONSEP OBJEK ORIENTASI PROGRAM

KONSEP OBJEK ORIENTASI PROGRAM KONSEP OBJEK ORIENTASI PROGRAM Obyektif : 1. Mengerti maksud inheritance 2. Mengerti dan memahami encapsulation 3. Mengerti dan dapat menjelaskan mengenai polymorphism 4. Dapat membuat program paling sederhana

Lebih terperinci

MINGGU V : PBO (PEWARISAN)

MINGGU V : PBO (PEWARISAN) MINGGU V : PBO (PEWARISAN) Pertemuan minggu ini akan membahas konsep lanjutan dari Pemrograman Berorientasi Objek yaitu Generalisasi/Spesialisasi. Pembahasan topik pada pertemuan ini meliputi pewarisan,

Lebih terperinci

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep Abstract, Inteface, Overloading, Overriding, dan Package dalam bhs Java Deklarasi

Lebih terperinci

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK Deskripsi Singkat Praktikum pemrograman berorientasi objek adalah praktikum yang menggunakan bahasa Java sebagai bantuan dalam memahami konsep pemrograman

Lebih terperinci

Bahasa Pemrograman 2.

Bahasa Pemrograman 2. Bahasa Pemrograman 2 Inheritance anton@ukdw.ac.id Ciri khas OOP Abstraksi : Mendefinisikan obyek abstrak yang mampu melakukan kegiatan, mengubah state, dan berkomunikasi dengan obyek lain pada sistem Membuat

Lebih terperinci

Pemrograman Berorientasi. Polimorfisme dan Binding

Pemrograman Berorientasi. Polimorfisme dan Binding Pemrograman Berorientasi Obyek Polimorfisme dan Binding anton@ukdw.ac.id Polymorphism Polymorphism = Poly + Morphos Poly = banyak, Morphos = bentuk Tujuan Polimorfisme Agar komunikasi antar obyek satu

Lebih terperinci

Pewarisan atau Inheritance

Pewarisan atau Inheritance Pewarisan atau Inheritance Oleh : Agus Priyanto, M.Kom Tujuan Kuliah Mengerti tentang pewarisan Mengerti gagasan tentang kelas dasar dan kelas turunan Mampu membuat kelas baru dari kelas yang sudah ada

Lebih terperinci

Praktikum 3 Konsep Class, Attribute dan Method

Praktikum 3 Konsep Class, Attribute dan Method Praktikum 3 Konsep Class, Attribute dan Method Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pemprograman bahasa Java Konsep Object Oriented Programming (OOP) Deklarasi pemprograman OOP dengan

Lebih terperinci

JOBSHEET POLIMORFISME

JOBSHEET POLIMORFISME JOBSHEET POLIMORFISME 1. Kompetensi Setelah melakukan percobaan pada jobsheet ini, diharapkan mahasiswa mampu: a. Memahami konsep dan bentuk dasar polimorfisme b. Memahami konsep virtual method invication

Lebih terperinci

Percobaan 6 Exception

Percobaan 6 Exception Percobaan 6 Exception Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

PERCOBAAN 6 EXCEPTION

PERCOBAAN 6 EXCEPTION PERCOBAAN 6 EXCEPTION Pokok Bahasan Penanganan Eksepsi Menangkap Eksepsi Catch Secara bertingkat Melontarkan Eksepsi Melontarkan kembali Eksepsi Klausa Throws Tujuan Belajar Dengan praktikum ini mahasiswa

Lebih terperinci

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom E-Book PEMROGRAMAN BERORIENTASI OBJEK Disusun Oleh: Arfian Hidayat, S.Kom http://arfianhidayat.com FAKULTAS ILMU KOMPUTER UNIVERSITAS DIAN NUSWANTORO SEMARANG 2013 Daftar Isi Daftar Isi... i Daftar Gambar...

Lebih terperinci

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot

Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot Modul Pelatihan : Pembuatan Game Animasi Menggunakan Greenfoot 1 Bab 1 PENDAHULUAN Greenfoot adalah perangkat lunak yang didesain untuk pemula agar dapat terbiasa dengan Pemrograman Berorientasi Objek(Object-Oriented

Lebih terperinci

IKG2I4 / Software Project I

IKG2I4 / Software Project I IKG2I4 / Software Project I Mahmud Imrona, M.T. Izzatul Ummah, M.T. Kelompok Keahlian Algoritma dan Komputasi LECTURE NOTE WEEK 2 1 3/11/2015 WEEK 2 Class Driver Constructor Public vs private Get dan set

Lebih terperinci

Bab 8. Dasar-Dasar OOP

Bab 8. Dasar-Dasar OOP Bab 8. Dasar-Dasar OOP Pemrograman Berorientasi Obyek Politeknik Elektronika Negeri Surabaya 2007 Overview Introduction Encapsulation Information Hiding Interface to access data Constructor Overloading

Lebih terperinci

Algoritma Pemrograman [BS204]

Algoritma Pemrograman [BS204] Algoritma Pemrograman [BS204] [1.2] Data Abstraction Robert Sedgewick, Kevin Wayne, Algorithms 4 th Ed., Chapter 1, Addison-Wesley Professional, 2011 1 Tujuan Perkuliahan Mata kuliah ini mengajarkan tentang

Lebih terperinci

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom LAB PEMROGRAMAN I (JAVA FUNDAMENTAL) PERTEMUAN 3 Dosen : Bella Hardiyana S. Kom BAB III DASAR-DASAR PEMROGRAMAN Tipe Data Data adalah sekumpulan kejadian/fakta yang dipresentasikan dengan huruf, angka,

Lebih terperinci