Pemrograman Berorientasi Objek Inheritance dan Relasi Kelas. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

dokumen-dokumen yang mirip
Pemrograman Berorientasi. Package & Hubungan Antar Kelas

Bahasa Pemrograman 2.

Ismail Wibi Wicaksono

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

LAPORAN RESMI INHERITANCE

Pemrograman Berorientasi Objek Danu Wira Pangestu

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

Bahasa Pemrograman 2.

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

Pemrograman Berorientasi. Inheritance

Pemrograman Berorientasi Objek Polimorphisme dan Serious Polimorphisme. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Oleh : Rahmady Liyantanto

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Overriding Method Overloading Method Class(iii) [Superclass and subclass] [constructor overloading] Keyword Super

KONSEP OOP: PEWARISAN / INHERITANCE

Konsep Lanjut Pemrograman Objek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

MINGGU VII : RELASI ANTAR KELAS

Parent dan Child di Java

Composition dan Inheritance

IKG2I4 / Software Project I

KONSEP OOP: PEWARISAN / INHERITANCE

Class Diagram (Class, Association,Aggregation,Compositon,Generalization,Multiplicity)

Konsep Pemrograman Berbasis Obyek

Inheritance dan Kata Kunci static

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

subclass class manapun private default protected public package yang sama

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

Pemograman Berorientasi Objek. Week 6 Relasi Antar Kelas

Bahasa Pemrograman :: Polimorfism and Abstraction

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pemrograman Berorientasi. Abstract & Interface

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Pemrograman Berorientasi Objek INHERITANCE

Pewarisan atau Inheritance

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

- Kelas A dengan kelas B berelasi komposisi, digambarkan sebagai berikut:

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Inheritance (Pewarisan) Pengertian dasar inheritance

Praktikum 3 Konsep Class, Attribute dan Method

Bahasa Pemrograman :: Inheritance

BAB 3 CLASS DAN OBJECT. Tujuan:

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Modul Bahasa Pemrograman 1

Konstruktor dan Polimorfisme

HUBUNGAN ANTAR CLASS. Pemograman Berorientasi Objek

Pemrograman Lanjut Review Class dan Object PTIIK

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Modul II Object Oriented Programming

UML : Class Diagram 23/11/ Area Pokok Class. Kaidah Penulisan Nama Class. Class Diagram (1) Contoh Class. Class Diagram (2) SHINTA P.

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

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

Pemrograman Berbasis Objek Inheritance

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

PRAKTIKUM I Class dan Obyek

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pemrograman Berorientasi. Class dan Obyek 2

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

UNIVERSITAS GUNADARMA

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

Inheritance. Topik 5/17/2013

Praktikum KPLBO Class dan Object I

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

INHERITANCE. Gambar 1. Kelas Hierarki Java

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

INTERAKSI ANTAR OBJECT

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

Polymorphism (Polimorfisme)

OBJECT ORIENTED PROGRAMMING (OOP)

BAB 12 ENKAPSULASI, INHERITANCE DAN POLIMORPISME

public class B extends A {... }

Bahasa Pemrograman 2.

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

Method yang ada pada parent class(superclass) didefinisikan kembali oleh kelas anaknya (subclass).

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

Konsep Dasar Pemrograman Berorientasi Objek

Bahasa Pemrograman 2.

BAHASA PEMROGRAMAN JAVA

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

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

Pemrograman Lanjut. Instance Variable Access Modifier Set dan Get Method

PEMROGRAMAN BERORIENTASI OBJEK

Keyword this untuk memanggil private String pengarang; private String judul;

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

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

LAB PEMROGRAMAN I (JAVA FUNDAMENTAL)

Transkripsi:

Pemrograman Berorientasi Objek Inheritance dan Relasi Kelas Adam Mukharil Bachtiar Teknik Informatika UNIKOM

Inheritance dan Relasi Kelas 1. Definisi inheritance 2. SubClass dan SuperClass 3. Istilah inheritance 4. Pengujian inheritance 5. Format sintaks inheritance 6. Hubungan hak akses 7. Kata kunci super

Inheritance dan Relasi Kelas 8. Relasi Kelas 9. Multiplicity 10. Association 11. Composition 12. Aggregation 13. Dependency

Definisi Inheritance

SuperClass dan SubClass

Manfaat Inheritance

Keuntungan Inheritance

Langkah-Langkah Inheritance

Langkah-Langkah Inheritance

Istilah Inheritance A A B B C Single Inheritance Multiple Inheritance

Istilah Inheritance A A B B C C D Repeated Inheritance

Pengujian Inheritance Contoh: Burung (mempunyai sayap, bertelur, dan berparuh). Salah satu contoh burung adalah elang. Pengujiannya: Elang IS A burung.

Format Sintaks Inheritance Format C++: class <subclass> : <hak_akses> <superclass> Contoh: class mobil:public kendaraan

Format Sintaks Inheritance Format Java: <hak_akses> class <subclass> extends <superclass> Contoh: public class Mobil extends Kendaraan

Gambaran Inheritance C++ class A {... ; class A{... ; JAVA class B : public A {... public class B extends A{...

Inheritance C++ class bilangan{ private: int x; int y; ; public: bilangan(){ x=3; y=4; int getx(){ return x; int gety(){ return y; class jumlah_bilangan : public bilangan{ public: void tampil(){ int a,b; a=getx(); b=gety(); cout<<"x + y = <<(a+b)<<endl<<endl; ; int main(int argc, char *argv[]) { jumlah_bilangan bil; bil.tampil(); system("pause"); return EXIT_SUCCESS;

Inheritance Java public class Bilangan { private int x; private int y; public Bilangan(){ x=3; y=4; public int getx(){ return x; public int gety(){ return y;

Inheritance Java public class JumlahBilangan extends Bilangan { public void tampil(){ int a,b; a=getx(); b=gety(); System.out.println("x + y = "+(a+b)); public class MainBilangan { public static void main(string[] args) { JumlahBilangan bil=new JumlahBilangan(); bil.tampil();

Pemanggilan Method Repeated Inheritance

Hubungan Hak Akses Penentu Hak Akses Super Class Sub Class Private Protected Public Private Protected Public Private Protected Public Private Protected Public Tidak Diwariskan Private Private Tidak Diwariskan Protected Protected Tidak Diwariskan Protected Public

Kata Kunci Super

Penggunaan Kata Kunci Super (JAVA) public class OrangTua { public void cetakortu(){ System.out.println("Halo saya milik orang tua!"); public class Anak extends OrangTua{ public void cetakanak(){ super.cetakortu(); System.out.println("Saya milik anak!"); public class TesterSuper { public static void main(string[] args) { Anak x=new Anak(); x.cetakanak();

HAS A VS IS A

Hubungannya IS A...

Hubungannya HAS A...

Relasi Kelas

Multiplicity

Multiplicity

Contoh Multiplicity Antara class komik dan class halaman: Mutliplicity: komik 1 halaman 1..* Komik minimal berjumlah satu Halaman komik minimal 1 sampai ~ (tak terhingga) Sifat : Mandatory

Multiplicity Multiplicity Keterangan 0..1 0 atau 1 1 Tepat 1 0..* 0 atau lebih 1..* 1 atau lebih * Tidak tentu jumlahnya

Relasi Kelas 1. Association 2. Composition 3. Aggregation 4. Dependency

Association 1. Relasi yang terjadi pada class-class dimana salah satu instance dari class tersebut menjadikan instance dari class lainnya sebagai atribut dirinya. 2. Relasi struktural yang menunjukkan penggunaan suatu class di class lainnya. 3. Association bisa uni-directional (satu arah) atau bidirectional (dua arah).

Association Class A Class B Bidirectional (dua arah)

Association Class A Class B Uni-directional (satu arah)

Transformasi Kode Association Object design model before transformation Advertiser 1 1 Account Source code after transformation? public class Advertiser { /* The account field is initialized * in the constructor and never * modified. */ private Account account; public Advertiser() { account = new Account(this); public Account getaccount() { return account; public class Account { /* The owner field is initialized * during the constructor and * never modified. */ private Advertiser owner; public Account(Advertiser owner) { this.owner = owner; public Advertiser getowner() { return owner;

Transformasi Kode Association Object design model before transformation Advertiser 1 * Account Source code after transformation public class Advertiser { private Set accounts; public class Account { private Advertiser owner; public Advertiser() { accounts = new HashSet(); public void addaccount(account a) { accounts.add(a); a.setowner(this); public void removeaccount(account a) { accounts.remove(a); a.setowner(null); public void setowner(advertiser newowner) { if (owner!= newowner) { Advertiser old = owner; owner = newowner; if (newowner!= null) newowner.addaccount(this); if (oldowner!= null) old.removeaccount(this);

Transformasi Kode Association Object design model before transformation * {ordered * Tournament Player Source code after transformation public class Tournament { private List players; public Tournament() { players = new ArrayList(); public void addplayer(player p) { if (!players.contains(p)) { players.add(p); p.addtournament(this); public class Player { private List tournaments; public Player() { tournaments = new ArrayList(); public void addtournament(tournament t) { if (!tournaments.contains(t)) { tournaments.add(t); t.addplayer(this);

Composition 1. Menyusun objek-objek sederhana menjadi suatu objek yang lebih kompleks. 2. Relasi Has-a. 3. Contoh: RAM, Processor, Motherboard, Harddisk membentuk komputer. 4. A computer has a processor.

Composition Mobil Roda 1 *

Contoh Composition (JAVA) public class Roda { private String merk; private int ring; public Roda(String merk, int ring) { this.merk = merk; this.ring = ring; public String getmerk() { return merk; public int getring() { return ring;

Contoh Composition (JAVA) public class Mobil { Roda roda;//komposisi --> has a String warna; public void setwarna(string warna) { this.warna = warna; public String getwarna() { return warna; public void setroda(string m, int r){ roda=new Roda(m,r); public String getmerkroda() { return roda.getmerk(); public int getringroda(){ return roda.getring();

Contoh Composition (JAVA) public class TesterRelasi { public static void main(string[] args) { //Komposisi Mobil mobil=new Mobil(); mobil.setwarna("biru"); mobil.setroda("bridgestone",15); System.out.println("Warna mobil : "+mobil.getwarna()); System.out.println("Merk roda mobil : "+mobil.getmerkroda()); System.out.println("Ukuran ring roda : "+mobil.getringroda());

Aggregation 1. Mirip seperti composition. 2. Perbedaannya terletak pada kekuatan dan kepemilikan objek pada kelas-kelas yang berelasi. 3. Aggregation memiliki relasi yang lebih lemah dibandingkan composition.

Contoh Aggregation 1. Dosen-dosen berkumpul membentuk suatu jurusan. 2. Jurusan berkumpul membentuk fakultas. 3. Fakultas-fakultas dikumpulkan menjadi universitas.

Contoh Aggregation Jurusan Dosen 1 1..*

Contoh Aggregation (JAVA) public class Dosen { private String nip; private String nama; public Dosen(String nim, String nama) { this.nip = nim; this.nama = nama; public String getnama() { return nama; public String getnim() { return nip;

Contoh Aggregation (JAVA) public class Jurusan { private String namajurusan; private Dosen dosen; public Jurusan(String namajurusan) { this.namajurusan = namajurusan; public void setdosen(dosen dosen) { this.dosen = dosen; public Dosen getdosen() { return dosen; public String getnamajurusan() { return namajurusan;

Contoh Aggregation (JAVA) public class TesterAgregasi { public static void main(string[] args) { Dosen dosen=new Dosen("1","Adam"); Jurusan jurusan=new Jurusan("Teknik Informatika"); jurusan.setdosen(dosen); System.out.println("NIP Dosen System.out.println("Nama Dosen System.out.println("Jurusan : "+jurusan.getdosen().getnim()); : "+jurusan.getdosen().getnama()); : "+jurusan.getnamajurusan());

Composition VS Aggregation 1. Agregasi tidak ada kepemilikan. Bila objek yang dibentuk hilang maka objek-objek penyusunnya tetap ada. 2. Komposisi ada kepemilikan. Bila objek yang dibentuk hilang maka objek-objek penyusunnya akan hilang juga.

Composition VS Aggregation Fakultas Universitas 1..* 1 1 1..* Jurusan Dosen 1 1..* Bila Universitas ditutup maka Fakultas dan Jurusan akan hilang akan tetapi Dosen tetap akan ada. Begitupun relasi antar Fakultas dengan Jurusan

Association VS Composition VS Aggregation Association Aggregation Composition

Dependency 1. Relasi yang menggambarkan penggunaan suatu class pada class yang lainnya. 2. Contoh: class A memiliki dependency dengan kelas B maka jika kelas B berubah maka kelas A pun akan berubah.

Dependency A B

Bentuk Dependency 1. Penggunaan kelas B sebagai parameter method di kelas A. 2. Penggunaan kelas B sebagai return value di kelas A. 3. Penggunaan kelas B sebagai variabel lokal di kelas A.

Bentuk Dependency Siswa Rapor

Dependency Parameter (JAVA) public class Rapor{... public class siswa{ boolean kenaikankelas(rapor rapor,int kelas){...

Dependency Return Value (JAVA) public class Rapor{... public class siswa{ Rapor getrapor(int kelas, int sem){...

Dependency Variabel Lokal (JAVA) public class Rapor{... public class siswa{ void isirapor(){ Rapor rapor=new Rapor();