Bahasa Pemrograman Lanjutan

38
BAHASA PEMROGRAMAN LANJUTAN

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

Page 1: Bahasa Pemrograman Lanjutan

BAHASA PEMROGRAMAN

LANJUTAN

BAHASA PEMROGRAMAN

LANJUTAN

Page 2: Bahasa Pemrograman Lanjutan

Konstruktor dan

Overloading

Page 3: Bahasa Pemrograman Lanjutan

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.

Page 4: Bahasa Pemrograman Lanjutan

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();

}}

Page 5: Bahasa Pemrograman Lanjutan

Hasil program

Page 6: Bahasa Pemrograman Lanjutan

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.

Page 7: Bahasa Pemrograman Lanjutan

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();}

}

Page 8: Bahasa Pemrograman Lanjutan

Hasil program

Page 9: Bahasa Pemrograman Lanjutan

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")); }}

Page 10: Bahasa Pemrograman Lanjutan

Hasil Program

Page 11: Bahasa Pemrograman Lanjutan

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.

Page 12: Bahasa Pemrograman Lanjutan

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(); }}

Page 13: Bahasa Pemrograman Lanjutan

Hasil Program

Page 14: Bahasa Pemrograman Lanjutan

PEWARISAN

Page 15: Bahasa Pemrograman Lanjutan

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.

Page 16: Bahasa Pemrograman Lanjutan

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

Page 17: Bahasa Pemrograman Lanjutan

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(); }}

Page 18: Bahasa Pemrograman Lanjutan

Hasil program

Page 19: Bahasa Pemrograman Lanjutan

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); }}

Page 20: Bahasa Pemrograman Lanjutan

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(); }}

Page 21: Bahasa Pemrograman Lanjutan

Hasil Program

Page 22: Bahasa Pemrograman Lanjutan

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(); }}

Page 23: Bahasa Pemrograman Lanjutan

Hasil program

Perhatikan bahwa tampilan; a = 5b = 7

adalah hasil pemanggilan

superr.info();

pada metode info() milik kelas Echo.

Page 24: Bahasa Pemrograman Lanjutan

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;

Page 25: Bahasa Pemrograman Lanjutan

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(); }}

Page 26: Bahasa Pemrograman Lanjutan

Hasil Program

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

Page 27: Bahasa Pemrograman Lanjutan

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(); }}

Page 28: Bahasa Pemrograman Lanjutan

Hasil program

Page 29: Bahasa Pemrograman Lanjutan

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; }}

Page 30: Bahasa Pemrograman Lanjutan

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()); }}

Page 31: Bahasa Pemrograman Lanjutan

Cont’d// Berkas: TesGaris.java

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

Page 32: Bahasa Pemrograman Lanjutan

Hasil program

Page 33: Bahasa Pemrograman Lanjutan

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.

Page 34: Bahasa Pemrograman Lanjutan

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).

Page 35: Bahasa Pemrograman Lanjutan

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..." );

Page 36: Bahasa Pemrograman Lanjutan

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(); }}

Page 37: Bahasa Pemrograman Lanjutan

Hasil program

Page 38: Bahasa Pemrograman Lanjutan

Terima Kasih