Karakteristik PBO. Abstraction, encapsulation, inheritance, polymorphism

dokumen-dokumen yang mirip
Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

Kelas dan Objek. Oleh : Agus Priyanto, M.Kom

HP:

ENKAPSULASI PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Teknik Informatika PTIIK UB Semester Genap 2015/2016

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

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

ENKAPSULASI Data Hiding

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

KONSTRUKTOR PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi FILKOM UB Semester Genap 2016/2017

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

1. Konsep Pemrograman dan Paradigmanya: 2. Teknologi Java dan Perangkat Pemrograman: 3. Konsep Dasar Pemrograman Berorientasi Objek:

Bahasa Pemrograman :: Polimorfism and Abstraction

Inheritance (Pewarisan) Pengertian dasar inheritance

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

MODUL PRAKTIKUM PEMROGRAMAN JAVA

IKG2I4 / Software Project I

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Pertemuan 11 Object Oriented Program

Bahasa Pemrograman 2.

KONSEP OBJEK ORIENTASI PROGRAM

Inheritance dan Kata Kunci static

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

Modul Bahasa Pemrograman 1

KONSEP OOP: PEWARISAN / INHERITANCE

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

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Polymorphism. Oleh : Agus Priyanto, M.Kom

KONSEP OOP: PEWARISAN / INHERITANCE

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

Membuat dan Menggunakan Class

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

LAPORAN RESMI INHERITANCE

INTERAKSI ANTAR OBJECT

Konsep Dasar Pemrograman Berorientasi Objek

Konsep Pemrograman Berbasis Obyek

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

PRAKTIKUM I Class dan Obyek

UNIVERSITAS GUNADARMA

Pewarisan atau Inheritance

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pemrograman Berbasis Objek (Polimorfisme)

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

Object Oriented Programming 1

Pemrograman Berorientasi. Polimorfisme dan Binding

NASKAH UTAMA ULANGAN AKHIR SEMESTER GANJIL TAHUN PELAJARAN 2013/2014

Bab 8. Dasar-Dasar OOP

Dasar-Dasar OOP di Java

[Lanjutan] Nurochman

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

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

subclass class manapun private default protected public package yang sama

Dasar-Dasar OOP di Java

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

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

Class & Object 2. Imam Fahrur Rozi

Pemrograman Berorientasi. Class dan Obyek 2

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

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

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

Parent dan Child di Java

Pemrograman Berorientasi Objek

public class B extends A {... }

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Pemrograman Berorientasi. Inheritance

Ismail Wibi Wicaksono

Bahasa Pemograman II. Object Oriented Programming

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

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XII KELAS DAN OBYEK

Modul II Object Oriented Programming

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

Bahasa Pemrograman 2.

OOP Java. 05 Encapsulation & Inheritance

Jobsheet 09. Overloading and Overriding Method

KONSEP Pemrograman Berorientasi Objek KARMILASARI

Bahasa Pemrograman 2.

Pemrograman Berorientasi Objek INHERITANCE

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

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

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

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Modul 2 Object Oriented Programming (OOP) I

8 - Overriding dan Overloading

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pewarisan (Inheritance)

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

Pengenalan pemrograman berorientasi obyek

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Transkripsi:

Karakteristik PBO Abstraction, encapsulation, inheritance, polymorphism 1

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 2

3

4

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, privat) 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 5

Class Lingkaran{ void buatlingkaran(){ for(){ Garis.buatGaris() class Garis{ private void buattitik(x, y){ public void buatgaris(ta, tb){ 6

Encapsulation dan Access Modifier Modifier Dalam Class yang Sama Dalam Package yang Sama Dalam SubClass Dalam Package Lain private tanpa tanda protected public 8

Encapsulation Enkapsulasi data juga dapat dilakukan dengan cara: 1. mendeklarasikan instance variable sebagai private 2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut 9

Sepeda.java public class Sepeda{ int gir; void setgir(int pertambahangir) { gir= gir+ pertambahangir; int getgir() { return gir; 10

SepedaBeraksi.java public class SepedaBeraksi{ public static void main(string[] args) { Sepeda sepedaku = new Sepeda(); variable */ sepedaku.setgir(1); /* Variabel bisa diubah atau tidak sengaja diubah. Hal ini berbahaya dan sering menimbulkan bug. Berikan access modifier private pada instance sepedaku.gir = 3; System.out.println( Gir saat ini: + sepedaku.getgir()); 11

Sepeda.java public class Sepeda{ private int gir; // access modifier private pada instance variable void setgir(int pertambahangir) { gir= gir+ pertambahangir; int getgir() { return gir; 12

Inheritance (Pewarisan) Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Penting untuk Reusability Java Keyword: extends 13

Sepeda.java public class Sepeda{ private int gir; void setgir(int pertambahangir) { gir= gir+ pertambahangir; int getgir() { return gir; 14

Class SepedaGunung Mewarisi Class Sepeda SepedaGunung.java public class SepedaGunung extends Sepeda{ private int sadel; void setsadel (int jumlah) { sadel = getgir() - jumlah; SepedaGunungBeraksi.java public class SepedaGunungBeraksi { public static void main(string[] args) { SepedaGunung sg=new SepedaGunung(); sg.setgir(3); System.out.println(sg.getGir()); int getsadel(){ return sadel; sg.setsadel(1); System.out.println(sg.getSadel()); 15

Latihan: Inheritance Matematika 1. Buat class MatematikaCanggih yang merupakan inherit dari class Matematika 1. Tambahkan method modulus(int a, int b) yang menghitung modulus dari a dan b 1. Operator modulus adalah % 2. Buat class MatematikaCanggihBeraksi yang memanggil method pertambahan, perkalian dan modulus 16

Polymorphism Kemampuan untuk memperlakukan object yang memiliki perilaku (bentuk) yang berbeda Implementasi konsep polymorphism: 1. Overloading: Kemampuan untuk menggunakan nama yang sama untuk beberapa method yang berbeda parameter (tipe dan atau jumlah) 2. Overriding: Kemampuan subclass untuk menimpa method dari superclass, yaitu dengan cara menggunakan nama dan parameter yang sama pada method 18

class Mobil { Polymorphism Overloading String warna; int tahunproduksi; public Mobil(String warna, int tahunproduksi){ this.warna = warna; this.tahunproduksi = tahunproduksi; public Mobil(){ public class MobilKonstruktor{ public static void main(string[] args){ Mobil mobilku = new Mobil( Merah, 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu.info(); void info(){ System.out.println("Warna: " + warna); System.out.println("Tahun: " + tahunproduksi); 19

Polymorphism Overloading class Lingkaran{ void gambarlingkaran(){ void gambarlingkaran(int diameter){... void gambarlingkaran(double diameter){... void gambarlingkaran(int diameter, int x, int y){... void gambarlingkaran(int diameter, int x, int y, int warna, String namalingkaran){... 20

Polymorphism - Overriding public class Sepeda{ private int gir; void setgir(int pertambahangir) { gir= gir+ pertambahangir; int getgir() { return gir; 21

Polymorphism - Overriding public class SepedaGunung extends Sepeda{ public class SepedaGunungBeraksi { public static void main(string[] args) { void setgir(int pertambahangir) { SepedaGunung sg=new SepedaGunung(); sg.setgir(2); super.setgir(pertambahangir); System.out.println(sg.getGir()); gir = 2*getGir(); sg.setgir(3); System.out.println(sg.getGir()); SepedaGunung.java SepedaGunungBeraksi.java 22

Latihan: Overloading pada Matematika 1. Kembangkan class Matematika, MatematikaCanggih dan MatematikaBeraksi 2. Lakukan overloading pada Method yang ada (pertambahan, pengurangan, perkalian, pembagian, modulus) 3. Tambahkan method baru bertipe data double (pecahan) dan memiliki 3 parameter 4. Uji di kelas MatematikaBeraksi dengan parameter pecahan: 12.5, 28.7, 14.2 5. Misalnya: pertambahan(12.5, 28.7, 14.2) pertambahan(12, 28, 14) pertambahan(23, 34) pertambahan(3.4, 4.9) 23

Matematika.java public class Matematika{ void pertambahan (int a, int b){ int hasil= a + b; System.out.println( hasil: + hasil); void pertambahan (double a, double b, double c){ double hasil= a + b + c; System.out.println( hasil: + hasil);... 24

Skill Check 1. Class: HaloSemarang 2. Variable: Mobil 3. Method: Bank 4. Parameter: Matematika 5. Encapsulation: Sepeda 6. Inheritance: MatematikaCanggih 7. Polimorphism: Matematika 25

Referensi http://romisatriawahono.net/lectures/ Object First With Java, Fifth edition, David J. Barnes & Michael Kölling, Prentice Hall / Pearson Education, 2012. The Java TM Tutorial, http://docs.oracle.com/javase/tutorial/java/nutsandbolts/, Oracle, 1995-2014. Java SE Tutorial, http://www.oracle.com/technetwork/java/javase/downloads/java-se-7- tutorial-2012-02-28-1536013.html, Oracle, 2014. SCJP Sun Certified Programmer for Java TM 6 Study Guide Exam (310-065), Kathy Sierra & Bert Bates, Mc Graw Hill, 2008. 26