Ismail Wibi Wicaksono | 2103157011 2016 E. LATIHAN Latihan 1: Overriding Script : /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package tugas; /** * * @author Smile */ public class Overriding { private void amethod(int iOverriding){ System.out.println("Overriding.amethod"); } } class Over extends Overriding{ public static void main(String argv[]){ Over o = new Over(); int iOverriding=0; o.amethod(iOverriding); } public void amethod(int iOver){ System.out.println("Over.amethod"); } } Output program :
Resume : Pada percobaan ini merupakan bukti bahwa class anak menolak warisan dari orang tua dengan menuliskan sendiri sebuah fungsi atau warisan yang lain.
Bab 12 | Overloading,Overriding dan Polimorphism
Page 1
Ismail Wibi Wicaksono | 2103157011 2016 Latihan 2: Overloading Script : /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package tugas; /** * * @author Smile */ class MyParent{ int x, y; MyParent(int x, int y){ this.x = x; this.y = y; } public int addMe(int x, int y){ return this.x+x+y+this.y; } public int addMe(MyParent myPar){ return addMe(myPar.x, myPar.y); } } class MyChild extends MyParent{ int z; MyChild(int x, int y, int z){ super(x,y); this.z=z; } public int addMe(int x, int y, int z){ return this.x+x+this.y+y+this.z; } public int addMe(MyChild myChi){ return addMe(myChi.x, myChi.y, myChi.z); } public int addMe(int x, int y){ return this.x+x+this.y+y; } } public class MySomeOne{ public static void main(String args[]){ MyChild myChi = new MyChild(10, 20, 30); MyParent myPar = new MyParent(10,20); int x = myChi.addMe(10,20,30); int y = myChi.addMe(myChi); int z = myPar.addMe(myPar); System.out.println(x+y+z); } }
Bab 12 | Overloading,Overriding dan Polimorphism
Page 2
Ismail Wibi Wicaksono | 2103157011 2016 Output program :
Resume : ………………………………………………………………………………………………………………………………………………………………… ……. Latihan 3: Overloading Script : package tugas; class Over2{ void myMethod(int i){ System.out.println("int version"); } void myMethod(String s){ System.out.println("String version"); } public static void main(String args[]){ Over2 obj = new Over2(); char ch = 'c'; obj.myMethod(ch); } } Output program :
Resume : Overloading adalah merupakan suatu jenis method yang sama namanya tapi beda parameternya.Pada contoh diatas ada 2 method “myMethod” yang berbeda parameter.tetapi yang di tampilkan pada println adalah myMethod yang awal karena adal obj.myMethod(ch);
Bab 12 | Overloading,Overriding dan Polimorphism
Page 3
Ismail Wibi Wicaksono | 2103157011 2016 Latihan 4: Mengimplementasikan UML class diagram dalam program Script : package tugas; class Org{ protected String nama; protected int umur;
public Orang(String nama){ this.nama=nama; } public Orang(String nama, int umur){ this.nama=nama; this.umur=umur; } }
class Dosen extends Orang{ private int nip; public Dosen(String nama){ super(nama); } public Dosen(String nama, int nip){ super(nama); this.nip=nip; } public Dosen(String nama, int nip, int umur){ super(nama,umur); this.nip=nip; } public void info(){ System.out.println("Nama : "+nama); System.out.println("NIP : "+nip); System.out.println("Umur : "+umur); } }
Bab 12 | Overloading,Overriding dan Polimorphism
Page 4
Ismail Wibi Wicaksono | 2103157011 2016
public class Tes{ public static void main(String args[]){ System.out.println("Memasukkan identitas Dosen 1 : Agus"); Dosen dosen1 = new Dosen("Agus");
System.out.println("Memasukkan identitas dosen 2 : Budi, NIP. 1458"); Dosen dosen2 = new Dosen("Budi", 1458);
System.out.println("Memasukkan identitas dosen 3 : Iwan, NIP. 121, umur 47"); Dosen dosen3 = new Dosen("Iwan", 1215, 47);
System.out.println(); dosen1.info(); System.out.println(); dosen2.info(); System.out.println(); dosen3.info(); } } Output program :
Resume : Ini merupakan sebuah praktikum yang menggunakan pewarisan sifat dari orang tua ke anak (Orang ke Dosen) yang mana semua dosen adalah orang dan setiap orang pasti memiliki identitas seperti Nama,Umur dan NIP.dan ketika dosen dipanggil maka dosen akan mengambil data yang diwariskan dari orang tuanya yaitu orang.
Bab 12 | Overloading,Overriding dan Polimorphism
Page 5
Ismail Wibi Wicaksono | 2103157011 2016 F. TUGAS Tugas 1: Mengimplementasikan UML class diagram dalam program Script :
package tugas; class RerataNilai{ public int average(int a, int b){ return(a+b)/2; } public double average(double a, double b){ return (a+b)/2; } public int average(int a, int b, int c){ return (a+b+c)/3; } }
Tesrerata.java
package tugas; public class Tesrerata{ public static void main(String args[]){ RerataNilai rn = new RerataNilai(); System.out.println("Rerata nilai 21 dan 13 adalah : "+rn.average(21, 13)); System.out.println("Rerata nilai 19.3 dan 39.5 adalah : "+rn.average(19.3, 39.5)); System.out.println("Rerata nilai 123, 576 dan 774 adalah : "+rn.average(123, 576, 744)); } } Output program :
Analisa : Pada percobaan ini merupakan pewarisan sifat dari orang tua ke anak.tetapi dalam hal ini orang tua hanya mewariskan cara menghitung rata-ratanya saja adapun yang mengeksekusi bilangannya tetap anak dengan panutan warisan orang tua tersebut.pada program ini menghitung sebuah rata-rata 2 nilai kemudian dibagi 2 untuk mendapatkan hasilnya.
Bab 12 | Overloading,Overriding dan Polimorphism
Page 6
Ismail Wibi Wicaksono | 2103157011 2016
Tugas 2: Mengimplementasikan UML class diagram dalam program Script : package tugas; class Katak{ int umur; String nama; public Katak(int umur, String nama){ this.umur=umur; this.nama=nama; } public String caraBergerak(){ if(umur>2){ return "melompat"; }else { return "berenang"; } } } class Kecebong extends Katak{ double panjangEkor; public Kecebong(int umur, String nama, double panjangEkor){ super(umur,nama); this.panjangEkor=panjangEkor; } }
Bab 12 | Overloading,Overriding dan Polimorphism
Page 7
Ismail Wibi Wicaksono | 2103157011 2016 TesKatak.java package tugas; public class TesKatak{ public static void main(String args[]){ Katak O1 = new Katak(5,"Froggy"); Kecebong O2 = new Kecebong(2,"Junior Frog",10); System.out.println("Obyek O1"); System.out.println("Umur : "+O1.umur); System.out.println("Nama : "+O1.nama); System.out.println("Cara bergerak : "+O1.caraBergerak()); System.out.println(); System.out.println("Obyek O2"); System.out.println("Umur : "+O2.umur); System.out.println("Nama : "+O2.nama); System.out.println("Panjang ekor : "+O2.panjangEkor); System.out.println("Cara bergerak : "+O2.caraBergerak()); } } Output program :
Resume : Pada praktikum ini merupakan pewarisan sifat antara orang tua dan anak.tetapi ada beberapa hal yang dirubah karena anak tidak puas dengan warisan orang tua tersebut.Seperti contoh program diatas adalah Katak dan kecebong.dimana katak adalah orang tua dari kecebong tetapi adal beberapa hal dari mereka yang tidak sama seperti katak melompat dan kecebong berenang.itulah mengapa percobaan diatas menunjukkan bahwa ada beberapa informasi yang dipakai oleh kecebong dan ada beberapa informasi yang diganti oleh kecebong.dan kemudian di enkapsulapsi atau ditampilkan oleh class yang lain dengan memanggil objek-objek dari katak maupun kecebong.
Bab 12 | Overloading,Overriding dan Polimorphism
Page 8