1 / 16

STUDI KASUS

STUDI KASUS. CONTOH POLYMORPHISM. 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 ); } }. public class A1 { public static void main(String[] args ) {

cormac
Download Presentation

STUDI KASUS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STUDI KASUS

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

  3. 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, intb,double x, int y) { int z=y; double hasil = 1.0*a*b*z; //kode program return hasil; } private double pangkat(int a, double b) { double hasil = 1.0*a*b; //kode program return hasil; } private double pangkat(double a, double b) { double hasil = 1.0*a*b; //kode program return hasil; } 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 } }

  4. 2. Overriding : Terjadiketikadeklarasi method subclass samadengan method darisuperclassnya. adalahkemampuansuatusubkelasuntukmemodifikasi attribute dan method milikkelassupernya (tentu yang memilikisifat private atau final tidakbiasadilakukan overriding). Modifikasi yang dilakukan, misalnyajumlah parameter, tipe parameter, tipe return value, ataupunlingkunganpemrosesandatanya. Contoh-1: class A { void fungsi() {System.out.println("Fungsi class A");} void fungsi(inti) { System.out.println("Fungsi class A dengani = "+i); } }  class B extends A { void fungsi() {System.out.println("Fungsi class B");} void fungsi(inti) { System.out.println("Fungsi class B dengani = "+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); } }

  5. Contoh-2: class KelasSuper { public static void main(String[] args) { KelasSuperoks = new KelasSuper(); oks.methodAsli(); } public void methodAsli() { System.out.println(“Method milikKelasSuperjalan”); } } class SubKelas extends KelasSuper { public void methodAsli() { System.out.println(“Method ygoverridedjalan”); } public void methodPemanggil() { System.out.println(“Method pemanggilmethodAslijln”); super.methodAsli(); // ygdipanggilmilikkelas super } public static void main(String[] args) { SubKelasosk = new SubKelas(); osk.methodAsli(); osk.methodPemanggil(); } }

  6. Contoh-3: class Mobil { String warna; inttahunProduksi; public Mobil(String warna, inttahunProduksi){ 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(); } }

  7. CONTOH EKPASULASI Merupakansuatucarauntukmenyembunyikanimplementasi detail darisuatu class. Enkapsulasimempunyaiduahalmendasaryaitu Information hiding dan interface to access data.

  8. Dalammelakukanpembungkusankodedan data didalam Java, terdapattigatingkatakses yang perludiketahuiyaitu: private, protected danpublic. private denganmendeklarasikan data dan method menggunakantingkatakses private, maka data dan method tersebuthanyadapatdiaksesolehklas yang memilikinyasaja, iniberarti data dan method tersebuttidakbolehdiaksesataudigunakanolehkelas-kelas lain yang terdapatdalam program. Untukmendeklarasikan data atau method menggunakankatakunciprivate. protected  suatu data atau method yang dideklarasikandengantingkatakses protected dapatdiaksesolehkelas yang memilikinyadanjugaolehkelas-kelas yang masihmemilikihubunganturunan. Sebagaicontohapabila data x dalamkelas A dideklarasikansebagai protected, makakelas B (yang merupakanturunandarikelas A) diizinkanuntukmengkases x. Untukmendeklarasikansuatu data atau method dengantingkatakses protected menggunakankatakunciprotected.

  9. public  tingkatakses public merupakankebalikandaritingkatakses private. Data maupun method yang bersipat public dapatdiaksesolehsemuabagiandidalam program, dengankata lain data atau method yang dideklarasikandengantingkatakses public dapatdiaksesataudikenaliolehsemuakelas yang adadidalam program. Untukmendeklarasikansuatu data atau method dengantingkataksespublicmenggunakankatakuncipublic.

  10. Contoh: public class Siswa { public intnrp; public String nama; public void Info() { System.out.println(“SayaadalahMasPen”); } } • Bagaimanamengaksesanggota-anggota class Siswa ?

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

  12. Bagaimanamenyembunyikan information darisuatu class sehinggaanggota-anggota class tersebuttidakdapatdiaksesdariluar ? Denganmemberikanakses control privateketikamendeklarasikansuatuatributatau method

  13. public class Siswa { private intnrp; public String nama; public void Info() { System.out.println(“SayaadalahMasPen”); } }

  14. public class IsiData { public static void main(String args[]) { Siswa IT2=new Siswa(); IT2.nrp=5; IT2.nama=”Andi”; IT2.Info(); } } * Jikadijalankan, makaakanterjadi error karena data/variabelnrpmenggunakantingkataksesprivate

  15. Jika NRP dienkapsulasi, bagaimanacaramengaksesatributnrpituuntukmemberikanataumengubahnilai? Maka, perlusuatu interface untukmengakses data, yang berupa method dimanadidalamnyaterdapatimplementasiuntukmengakses data nrp, sepertiberikut!

  16. public class Siswa { private intnrp; 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(“SayaadalahMasPen”); } }

More Related