Bahasa Pemrograman Lanjutan

Post on 12-Jan-2016

81 views 1 download

description

Bahasa Pemrograman Lanjutan. Konstruktor dan Overloading. Konstruktor. Metode konstruktor adalah metode yang dapat digunakan untuk memberikan nilai awal saat objek dicptakan . Metode ini akan dipanggil secara otomatis oleh java ketika new dipakai untuk menciptakan instan kelas. - PowerPoint PPT Presentation

Transcript of Bahasa Pemrograman Lanjutan

BAHASA PEMROGRAMAN

LANJUTAN

BAHASA PEMROGRAMAN

LANJUTAN

Konstruktor dan

Overloading

Konstruktor Metode konstruktor adalah metode yang

dapat digunakan untuk memberikan nilai awal saat objek dicptakan.

Metode ini akan dipanggil secara otomatis oleh java ketika new dipakai untuk menciptakan instan kelas.

Contoh Program//Berkas: Konstruktor.javaclass Mobil {

// Variabel instanprivate String warna;private int tahunProduksi;//Konstruktorpublic Mobil (String warna, int tahunProduksi){

this.warna = warna;this.tahunProduksi = tahunProduksi;

}//Metodepublic void info(){

System.out.println("warna : " + this.warna);System.out.println("Tahun : " + this.tahunProduksi);

}}

public class Konstruktor {public static void main (String [] args){

Mobil mobilku = new Mobil ("Merah", 2003);mobilku.info();

}}

Hasil program

Overloading Terhadap Konstruktor Overloading terhadap konstruktor

merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. Dalam hal ini pembeda antara satu konstruktor dengan konstruktor yang lain berupa jumlah parameter atau tipe parameter.

contoh program//Berkas: Konstruktor2.javaclass Mobil{

// Variabel instanprivate String warna;private int tahunProduksi;//Konstruktor pertamapublic Mobil (String warna,

int tahunProduksi){this.warna =

warna;

this.tahunProduksi = tahunProduksi;}//Konstruktor keduapublic Mobil(){}

//Metodepublic void info(){

System.out.println("warna : " + this.warna);

System.out.println("Tahun : " + this.tahunProduksi);

}

}public class Konstruktor2 {

public static void main (String [] args){

Mobil mobilku = new Mobil ("Merah", 2003);

mobilku.info();

Mobil mobilmu = new Mobil();

mobilmu.info();}

}

Hasil program

Overloading Pada Metode// Berkas: OverloadingMetode.java

class Matematika { static public double kuadrat(double nilai) { return nilai * nilai; }

static public int kuadrat(int nilai) { return nilai * nilai; }

static public double kuadrat(String nilai) { double bilangan;

bilangan = Double.valueOf(nilai).doubleValue(); return bilangan * bilangan;

}

}

public class OverloadingMetode { public static void main(String[] args) {

System.out.println(Matematika.kuadrat(25.0)); System.out.println(Matematika.kuadrat(25)); System.out.println(Matematika.kuadrat("25")); }}

Hasil Program

Variabel Kelas Variabel Kelas adalah Variabel yang

berlaku tidak terbatas hanya pada objek tetapi pada seluruh objek.

Variabel ini didefinisikaan dengan menggunakan kata-kata kunci static.

Contoh Program// Berkas: VariabelKelas.java

class Bilangan { static int pencacah = 0; private int nilai;

public Bilangan(int nilai) { this.nilai = nilai; this.pencacah++; }

public void info() { System.out.println("Nilai : " + this.nilai); System.out.println("Pencacah : " + this.pencacah); System.out.println(""); }

}

public class VariabelKelas { public static void main(String[] args) {

Bilangan b1 = new Bilangan(55); b1.info();

Bilangan b2 = new Bilangan(75); b2.info();

Bilangan b3 = new Bilangan(85); b3.info(); }}

Hasil Program

PEWARISAN

Pengertian Pewarisan

Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas dengan didasarkan pada kelas yang sudah ada sehingga mewarisi semua metode dan variabelnya.

Contoh GambarKelas A

variabelInstanZ

metodeX()metodeY()

Kelas B

Metode W Metode tambahan

Kelas B mewarisi Kelas A

Dengan sendirinya Kelas B mewarisi semua metode dan variabel instan milik Kelas A yang tidak bersifat private

Cara Mewariskan Kelas//Berkas: Alpha.java class Alpha {

private int a = 5;public void info(){

System.out.println("a = " + a);System.out.println("Dipanggil

pada " + this.getClass().getName());}

}

// Berkas: Bravo.java

class Bravo extends Alpha { private int b = 7;

public static void main(String[] args) { Bravo obj = new Bravo(); obj.info(); }}

Hasil program

Penentu Akses protected

// Berkas: Charlie.java

class Charlie { private int a = 5; protected int b = 7;

public void info() { System.out.println("Dipanggil pada " + this.getClass().getName()); System.out.println("a = " + a); System.out.println("b = " + b); }}

Cont’d

// Berkas: Delta.java

class Delta extends Charlie { private int c = 9;

public void info() { System.out.println("Dipanggil pada " + this.getClass().getName()); System.out.println("b = " + b); System.out.println("c = " + c); }}

// Berkas: PenentuProtec.java

class PenentuProtec { public static void main(String[] args) { Charlie objX = new Charlie(); objX.info();

Delta objY = new Delta(); objY.info(); }}

Hasil Program

Memanggil Metode Superkelas// Berkas: Echo.java

class Echo extends Charlie { private int c = 9;

public void info() { super.info(); // Panggil metode kelas dasar System.out.println("c = " + c); }}

// Berkas: Superkelas.java

class Superkelas { public static void main(String[] args) { Echo obj = new Echo(); obj.info(); }}

Hasil program

Perhatikan bahwa tampilan; a = 5b = 7

adalah hasil pemanggilan

superr.info();

pada metode info() milik kelas Echo.

Memanggil Konstruktor Superkelas

// Berkas: KonstruktorSuperkelas.java

class Orang { private String nama; private int usia;

// Konstruktor public Orang(String nama, int usia) { this.nama = nama; this.usia = usia; }

// Metode public void info () { System.out.println("Nama : " + this.nama); System.out.println("Usia : " + this.usia); }} // Akhir kelas Orang

class Pegawai extends Orang { private String noPegawai;

Cont’d // Konstruktor public Pegawai(String noPegawai, String nama, int usia) { super(nama, usia); this.noPegawai = noPegawai; }

// Metode public void info () { System.out.println("No. Pegawai : " + this.noPegawai); super.info(); }} // Akhir kelas Pegawai

public class KonstruktorSuperkelas { public static void main(String[] args) { Pegawai programmer1 = new Pegawai( "123456", "Edi", 23); programmer1.info(); }}

Hasil Program

Note :Program ini menunjukkan adanya pemakaian override terhadap metode milik superkelas.

Penentu Akses Final// Berkas: PenentuFinal.java

class Abc { final public double PI = 3.14;

final void info() { System.out.println("PI = " + PI); } }

class Xyz extends Abc {

public void info() { // Akan menimbulkan kesalahan } // karena info() tak dapat ditimpa}

class PenentuFinal { public static void main(String[] args) { Xyz obj = new Xyz(); obj.info(); }}

Hasil program

Objek Dalam Kelas// Berkas: Koordinat.javapublic class Koordinat { private int x; private int y;

public Koordinat(int x, int y) { this.x = x; this.y = y; } public void ubahX(int x) { this.x = x; } public void ubahY(int y) { this.y = y; } public int ambilX() { return this.x; }

public int ambilY() { return this.y; }}

Cont’d// Berkas: Garis.java

public class Garis { private Koordinat posisi1; private Koordinat posisi2; public Garis(int x1, int y1, int x2, int y2) { this.posisi1 = new Koordinat(x1, y1); this.posisi2 = new Koordinat(x2, y2); }

public void info() { System.out.println("Koordinat pertama:"); System.out.println(posisi1.ambilX() + ", " + posisi1.ambilY()); System.out.println("Koordinat kedua:"); System.out.println(posisi2.ambilX() + ", " + posisi2.ambilY()); }}

Cont’d// Berkas: TesGaris.java

public class TesGaris { public static void main(String[] args) { Garis grs = new Garis(20, 30, 100, 150); grs.info(); }}

Hasil program

Penentu Abstract Java menyediakan suatu mekanisme

yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai dengan definisinya. Metode seperti ini dikenal dengan nama metode abstrak, sedangkan kelasnya dinamakan kelas abstrak.

Contoh Program// Berkas: Kendaraan.java

public abstract class Kendaraan { protected String nama; public abstract void jalankan();}

Pada pendeklarasian di atas kendaraan merupakan kelas abstrak (perhatikan adanya kata-kata kunci abstrak di depan kata kunci class).

Cont’d// Berkas: TesAbstrak.java

class Sepeda extends Kendaraan { public Sepeda(String nama) { this.nama = nama; }

public void jalankan() { System.out.println("Duduklah di atas sadel " + this.nama + " dan kayuhlah..." ); }}

class Minibus extends Kendaraan { public Minibus(String nama) { this.nama = nama; }

public void jalankan() { System.out.println("Duduklah di depan setir " + this.nama + " dan hidupkan mesin..." );

Cont’d }

}

public class TesAbstrak { public static void main(String[] args) { Sepeda sepedaku = new Sepeda("Sepeda Ontel"); sepedaku.jalankan();

Minibus mobilku = new Minibus("Minibus Keri"); mobilku.jalankan(); }}

Hasil program

Terima Kasih