STUDI KASUS.

Slides:



Advertisements
Presentasi serupa
Pemrograman Berorientasi Objek
Advertisements

1.Overloading method 2.Konstruktor 3.Overloading konstruktor 1.Overloading method 2.Konstruktor 3.Overloading konstruktor.
POLIMORFISME Imam Fahrur Rozi 01.
Abstract Class & Interface
Pemrograman JAVA (TIB09)
1.Polymorphism Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada class anak (sub class) yang memiliki definisi sama dengan metod.
7 Rekayasa Sistem Konsep Utama OOP Dedy Alamsyah, S.Kom.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek
Pemrograman Berorientasi Obyek Oleh Tita Karlita
Pertemuan : Object Oriented Programming
Inheritance Nana Ramadijanti Laboratorium Computer Vision Politeknik Elekltronika Negeri Surabaya PENS-ITS 2009.
Object Oriented Programming with JAVA 2011/2012
OOP Java 06 Polymorphism.
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Firman Asharudin | Pemrograman Lanjut
Class & Object Disusun Oleh: Reza Budiawan Untuk:
INHERITANCE (PEWARISAN)
Access Modifier.
Inheritance dan Kata Kunci static
Inheritance (Pewarisan)
POLYMORPHISM (KEBANYAKRUPAAN)
Parameter dan Konstruktor
Konsep Pemrograman Berorientasi Obyek
Encapsulation, Inheritance, Polymorphism
Pemrograman Berorientasi Object
Pemrograman Berorientasi Objek
Algoritma & Pemrograman 1
@kovazzevic | SMKN 24 Jakarta
Constructor dan Overloading
POLYMORPHISM (KEBANYAKRUPAAN)
POLYMORPHISM (Overloading)
Teori *Karakteristik PBO*
BAB ENCAPSULATION ( Enkapsulasi )
MODIFIER JAVA.
MENGENAL KEYWORD this, static, final
Pengorganisasian Class
Enkapsulasi, Accessor Method, Mutator Method
Tugas Minggu Ke 9 PBO Siti Halisah
PPBO.
KELAS DAN OBJEK BAGIAN I Pertemuan 6.
MEMBUAT CLASS SENDIRI 2.
Konsep Dasar Pemrograman Berorientasi Objek
Konsep Dasar Pemrograman Berorientasi Objek
Interface.
Pemrograman Berorientasi Objek
1.3 Konsep Dasar Pemrograman Berorientasi Objek
Karakteristik Pemrograman Berorientasi Objek
Konstruktor -1- Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new digunakan untuk membuat.
Pilar Object Oriented Programming
MENGENAL KEYWORD this, static, final
Pemrograman Berorientasi Object
INHERITANCE (PEWARISAN)
Pilar Object Oriented Programming
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Pemrograman Berorientasi Objek
Dasar-dasar Pemrograman Objek dg Java
Method Java Fundamental Syahrul Mauluddin S.Kom, M.Kom.
Pilar Object Oriented Programming
OOP ENKAPSULASI SMKN 2 SINGOSARI Kelas XI RPL.
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding Pemrograman.
Pertemuan 3 Class dan Objek (Lanjutan)
Object-Oriented Programming (OOP)
Pertemuan 4 Praktek Pembuatan Program Class dan Objek (Lanjutan)
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Pemrograman Berorientasi Objek
FONDASI PEMROGRAMAN & STRUKTUR DATA #8
Transcript presentasi:

STUDI KASUS

CONTOH POLYMORPHISM Contoh-1 class A { public class A1 { void fungsi() {System.out.println("Fungsi class A");} void fungsi(int i) { System.out.println("Fungsi class A dengan i = "+i); }   public class A1 { public static void main(String[] args) { A a=new A(); a.fungsi(); a.fungsi(10); }

Contoh-2: import java.lang.*; public class Perkalian { private double pangkat(int a, int b) { double hasil = 1.0*a*b; //kode program return hasil; } private double pangkat(double a, int b,double x, int y) { int z=y; double hasil = 1.0*a*b*z; private double pangkat(int a, double b) { double hasil = 1.0*a*b; //kode program return hasil; } private double pangkat(double a, double b) { public static void main(String[] args) { Perkalian kali = new Perkalian(); System.out.println(kali.pangkat(10,308)); System.out.println(kali.pangkat(10.2,308,2.1,5)); // dst untuk data yg lain

2. Overriding : Terjadi ketika deklarasi method subclass sama dengan method dari superclassnya. adalah kemampuan suatu subkelas untuk memodifikasi attribute dan method milik kelas supernya (tentu yang memiliki sifat private atau final tidak biasa dilakukan overriding). Modifikasi yang dilakukan, misalnya jumlah parameter, tipe parameter, tipe return value, ataupun lingkungan pemrosesan datanya. Contoh-1: class A { void fungsi() {System.out.println("Fungsi class A");} void fungsi(int i) { System.out.println("Fungsi class A dengan i = "+i); }  class B extends A { void fungsi() {System.out.println("Fungsi class B");} System.out.println("Fungsi class B dengan i = "+i); public class AB1 { public static void main(String[] args) { A a=new A(); a.fungsi(); a.fungsi(4); B b=new B(); b.fungsi(); b.fungsi(10); } }

public static void main(String[] args) { Contoh-2: class KelasSuper { public static void main(String[] args) { KelasSuper oks = new KelasSuper(); oks.methodAsli(); } public void methodAsli() { System.out.println(“Method milik KelasSuper jalan”); class SubKelas extends KelasSuper { System.out.println(“Method yg overrided jalan”); public void methodPemanggil() { System.out.println(“Method pemanggil methodAsli jln”); super.methodAsli(); // yg dipanggil milik kelas super } public static void main(String[] args) { SubKelas osk = new SubKelas(); osk.methodAsli(); osk.methodPemanggil();

Contoh-3: class Mobil { String warna; int tahunProduksi; public Mobil(String warna, int tahunProduksi){ this.warna = warna; this.tahunProduksi = tahunProduksi; } public Mobil(){ void info(){ System.out.println("Warna: " + this.warna); System.out.println("Tahun: " + this.tahunProduksi); class MobilKonstruktor{ public static void main(String[] args){ Mobil mobilku = new Mobil(“Merah”, 2003); mobilku.info(); Mobil mobilmu = new Mobil(); mobilmu.info(); }

CONTOH EKPASULASI Merupakan suatu cara untuk menyembunyikan implementasi detail dari suatu class. Enkapsulasi mempunyai dua hal mendasar yaitu Information hiding dan interface to access data.

Dalam melakukan pembungkusan kode dan data didalam Java, terdapat tiga tingkat akses yang perlu diketahui yaitu: private, protected dan public. private  dengan mendeklarasikan data dan method menggunakan tingkat akses private, maka data dan method tersebut hanya dapat diakses oleh klas yang memilikinya saja, ini berarti data dan method tersebut tidak boleh diakses atau digunakan oleh kelas-kelas lain yang terdapat dalam program. Untuk mendeklarasikan data atau method menggunakan kata kunci private. protected  suatu data atau method yang dideklarasikan dengan tingkat akses protected dapat diakses oleh kelas yang memilikinya dan juga oleh kelas-kelas yang masih memiliki hubungan turunan. Sebagai contoh apabila data x dalam kelas A dideklarasikan sebagai protected, maka kelas B (yang merupakan turunan dari kelas A) diizinkan untuk mengkases x. Untuk mendeklarasikan suatu data atau method dengan tingkat akses protected menggunakan kata kunci protected.

public  tingkat akses public merupakan kebalikan dari tingkat akses private. Data maupun method yang bersipat public dapat diakses oleh semua bagian di dalam program, dengan kata lain data atau method yang dideklarasikan dengan tingkat akses public dapat diakses atau dikenali oleh semua kelas yang ada didalam program. Untuk mendeklarasikan suatu data atau method dengan tingkat akses public menggunakan kata kunci public.

Bagaimana mengakses anggota-anggota class Siswa ? Contoh: public class Siswa { public int nrp; public String nama; public void Info() { System.out.println(“Saya adalah MasPen”); } Bagaimana mengakses anggota-anggota class Siswa ?

public class IsiData { public static void main(String args[]) { Siswa IT2=new Siswa(); IT2.nrp=5; IT2.nama=”Maspaeni”; IT2.Info(); }

Bagaimana menyembunyikan information dari suatu class sehingga anggota-anggota class tersebut tidak dapat diakses dari luar ? Dengan memberikan akses control private ketika mendeklarasikan suatu atribut atau method

public class Siswa { private int nrp; public String nama; public void Info() { System.out.println(“Saya adalah MasPen”); }

public class IsiData { public static void main(String args[]) { Siswa IT2=new Siswa(); IT2.nrp=5; IT2.nama=”Andi”; IT2.Info(); } * Jika dijalankan, maka akan terjadi error karena data/variabel nrp menggunakan tingkat akses private

Jika NRP dienkapsulasi, bagaimana cara mengakses atribut nrp itu untuk memberikan atau mengubah nilai? Maka, perlu suatu interface untuk mengakses data, yang berupa method dimana di dalamnya terdapat implementasi untuk mengakses data nrp, seperti berikut!

public void isiNrp(int n) { if (n>=1 && n<=10) nrp=n; else public class Siswa { private int nrp; public String nama;   public void isiNrp(int n) { if (n>=1 && n<=10) nrp=n; else System.out.println("Error...!!");  } public void Info() { System.out.println(“Saya adalah MasPen”); }