TI009 – Pemrograman Berorientasi Objek
LECTURE NOTE
Inheritance, Encapsulation, Try
Catch, Polymorphism, Overloading
Debby Ummul Hidayah, S.Kom., M.MSI
debbyummul@gmail.com
TI009 – Pemrograman Berorientasi Objek
ISI
1. Contoh 1 – Inheritance
Buatlah project dengan nama: latihaninheritance1.java
package latihaninheritance1;
import java.util.Scanner;
//parent class
class Buah {
String nama;
String warna;
int hargaPerKilo;
int jumlah;
int subtotal;
}
//child class
class jenisBuah extends Buah {
void tampilJenis() {
}
}
class Mangga extends Buah {
void isiMangga(String namaMangga, String warnaMangga,
int hargaPerKiloMangga) {
nama = namaMangga;
warna = warnaMangga;
hargaPerKilo = hargaPerKiloMangga;
}
TI009 – Pemrograman Berorientasi Objek
void tampilMangga() {
Scanner a = new Scanner(System.in);
System.out.println("Pembelian Buah Mangga");
System.out.print("tWarna Buah : ");
warna = a.next();
System.out.print("tJumlah yang dibeli (kg): ");
jumlah = a.nextInt();
System.out.print("tHarga PerKilo : ");
hargaPerKilo = a.nextInt();
subtotal = jumlah * hargaPerKilo;
System.out.print("tSub Total : " + (subtotal));
System.out.println("");
}
}
class Rambutan extends Buah {
void isiRambutan(String namaRambutan, String warnaRambutan,
int hargaPerKiloRambutan) {
nama = namaRambutan;
warna = warnaRambutan;
hargaPerKilo = hargaPerKiloRambutan;
}
void tampilRambutan() {
Scanner a = new Scanner(System.in);
System.out.println("Pembelian Buah Rambutan");
System.out.print("tWarna Buah : ");
warna = a.next();
System.out.print("tJumlah yang dibeli (kg): ");
jumlah = a.nextInt();
System.out.print("tHarga PerKilo : ");
hargaPerKilo = a.nextInt();
TI009 – Pemrograman Berorientasi Objek
subtotal = jumlah * hargaPerKilo;
System.out.print("tSub Total : " + (subtotal));
System.out.println("");
}
}
class Apel extends Buah {
void isiApel(String namaApel, String warnaApel,
int hargaPerKiloApel) {
nama = namaApel;
warna = warnaApel;
hargaPerKilo = hargaPerKiloApel;
}
void tampilApel() {
Scanner a = new Scanner(System.in);
System.out.println("Pembelian Buah Apel");
System.out.print("tWarna Buah : ");
warna = a.next();
System.out.print("tJumlah yang dibeli (kg): ");
jumlah = a.nextInt();
System.out.print("tHarga PerKilo : ");
hargaPerKilo = a.nextInt();
subtotal = jumlah * hargaPerKilo;
System.out.print("tSub Total : " + (subtotal));
System.out.println("");
}
}
public class LatihanInheritance1 {
public static void main(String[] debby) {
Scanner b = new Scanner(System.in);
int total = 0;
TI009 – Pemrograman Berorientasi Objek
String tekan = "Y";
System.out.println("======================================");
System.out.println("tTOKO BUAH INHERITANCE");
System.out.println("======================================");
//memanggil child class
Mangga m = new Mangga();
Rambutan r = new Rambutan();
Apel a = new Apel();
//perulangan untuk memproses data pembelian selama masih Y
while (tekan.equals("Y") || tekan.equals("y")) {
System.out.println("Data Pembelian");
//menampilkan method child class
m.tampilMangga();
r.tampilRambutan();
a.tampilApel();
//menjumlah seluruh total belanja dari subtotal child class nya
total = (m.subtotal) + (r.subtotal) + (a.subtotal);
System.out.println("Total Pembelian Anda Adalah : Rp " + total);
System.out.println("Apakah ingin melanjutkan berbelanja? [Y/T] : ");
tekan = b.next();
System.out.println("-----------------------------------------------");
}
}
}
TI009 – Pemrograman Berorientasi Objek
2. Contoh 2 – Masih Tentang Inheritance
package belajarinheritance2;
class BangunDatar {
//membuat function HitungLuas dan Keliling
public void HitungLuas() {
System.out.println("Belum ada luas bangun datar yang bisa dihitung");
}
public void HitungKeliling() {
System.out.println("Belum ada keliling bangun datar yang bisa dihitung");
}
}
class SegiEmpat extends BangunDatar {
double sisi; //mendeklarasikan variabel
//membuat konstruktor SegiEmpat dengan parameter sisi
public SegiEmpat(double sisi) {
this.sisi = sisi;
}
//membuat method untuk menentukan nilai dari variabel sisi
public void setSisi(double sisi) {
this.sisi = sisi;
}
public void HitungLuas() {
double luas;
TI009 – Pemrograman Berorientasi Objek
luas = this.sisi * this.sisi;
System.out.println("nLuas segiempat dengan sisi " + sisi + "cm adalah : " +
luas);
}
public void HitungKeliling() {
double keliling;
keliling = this.sisi * 4;
System.out.println("Keliling segiempat dengan sisi " + sisi + "cm adalah : " +
keliling);
}
}
public class BelajarInheritance2 {
public static void main(String[] args) {
BangunDatar bd =new BangunDatar();
bd.HitungLuas();
bd.HitungKeliling();
SegiEmpat se = new SegiEmpat(20);
se.HitungLuas();
se.HitungKeliling();
}
}
TI009 – Pemrograman Berorientasi Objek
3. Contoh 3 – Enkapsulasi
Buatlah projek dengan nama: belajarenkapsulasi.java
package belajarenkapsulasi;
public class BelajarEnkapsulasi {
public static void main(String[] args) {
BelajarEnkapsulasi2 be = new BelajarEnkapsulasi2(); //memanggil kelas
BelajarEnkapsulasi2
be.setName("Debby Ummul Hidayah"); //kita memanggil objek be dan memanggil
method setName
be.setGender("Perempuan");
be.setJob("Mahasiswi");
be.setTelp("085100769023");
//mencetak dan memanggil be dan memanggil method get
System.out.println("Nama Mahasiswa : " + be.getName());
System.out.println("Jenis Kelamin : " + be.getGender());
System.out.println("Pekerjaan : " + be.getJob());
System.out.println("Nomor Telepon : " + be.getTelp());
}
}
class BelajarEnkapsulasi2 {
private String name;
private String gender;
private String job;
private String telp;
public String getName() {
TI009 – Pemrograman Berorientasi Objek
return name; //artinya kita kembali ke name
}
public void setName(String name) { //name adalah parameter yang akan kita beri
nilai di kelas BelajarEnkapsulasi
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public String getTelp() {
return telp;
}
public void setTelp(String telp) {
this.telp = telp;
}
}
TI009 – Pemrograman Berorientasi Objek
4. Contoh 4 – Mencoba Menggunakan Try Catch
Buatlah projek dengan nama: LatihanTryCatch.java
package latihantrycatch;
import java.util.Scanner;
public class LatihanTryCatch {
public static void main(String[] args) {
// TODO code application logic here
double bagi=0;
Scanner sc = new Scanner(System.in);
System.out.print("Masukkan nilai pertama : ");
int a = sc.nextInt();
System.out.print("Masukkan nilai kedua : ");
int b = sc.nextInt();
try {
bagi = a / b;
} catch(Throwable t){
System.err.println("Maaf Nilai Kedua Tidak Boleh Nol!");
System.out.println(t.getMessage());
}
System.out.println("Hasil pembagian nilai pertama/nilai kedua = " + bagi);
}
}
TI009 – Pemrograman Berorientasi Objek
5. Contoh 5 – Polymorphism
package belajarpolymorphism;
import java.util.Date;
class Pegawai {
protected String nama;
protected double gaji;
protected Date tgl;
public String getDetail() {
return "Nama : " + nama + "n"
+ "Gaji : " + gaji;
}
}
class Manager extends Pegawai {
protected String departemen;
public String getDetail(){
return "Nama : " + nama + "n"
+ "Gaji : " + gaji +"n"
+ "Departemen : " + departemen;
}
}
TI009 – Pemrograman Berorientasi Objek
public class BelajarPolymorphism {
public static void main(String[] args) {
// TODO code application logic here
Pegawai p = new Pegawai();
p.getDetail();
p.nama="Debby";
p.gaji=2400000;
// p.tgl='2016/06/07';
Manager m = new Manager();
m.getDetail();
}
}
6. Contoh 6 – Overloading
package belajaroverloading;
class Bentuk {
public void BangunRuang(int x) {
}
public void BangunRuang(int x, int y) {
TI009 – Pemrograman Berorientasi Objek
}
public void BangunRuang(int x, int y, int z) {
}
public void BangunRuang(int x, int y, int z, int a) {
}
}
class Warna extends Bentuk {
public void BangunRuang(String colour, int x, int y, int z) {
}
public void BangunRuang(String colour, int x, int y, int z, int a) {
}
}
class Tumbuhan {
public void Berspora(String nama) {
}
public void Berspora(int jumlahSpora) {
TI009 – Pemrograman Berorientasi Objek
}
public void Berspora(float harga) {
}
}
public class BelajarOverloading {
public static void main(String[] args) {
}
}

Modul Praktikum Pemrograman Berorientasi Objek (Chap.8-9)

  • 1.
    TI009 – PemrogramanBerorientasi Objek LECTURE NOTE Inheritance, Encapsulation, Try Catch, Polymorphism, Overloading Debby Ummul Hidayah, S.Kom., M.MSI debbyummul@gmail.com
  • 2.
    TI009 – PemrogramanBerorientasi Objek ISI 1. Contoh 1 – Inheritance Buatlah project dengan nama: latihaninheritance1.java package latihaninheritance1; import java.util.Scanner; //parent class class Buah { String nama; String warna; int hargaPerKilo; int jumlah; int subtotal; } //child class class jenisBuah extends Buah { void tampilJenis() { } } class Mangga extends Buah { void isiMangga(String namaMangga, String warnaMangga, int hargaPerKiloMangga) { nama = namaMangga; warna = warnaMangga; hargaPerKilo = hargaPerKiloMangga; }
  • 3.
    TI009 – PemrogramanBerorientasi Objek void tampilMangga() { Scanner a = new Scanner(System.in); System.out.println("Pembelian Buah Mangga"); System.out.print("tWarna Buah : "); warna = a.next(); System.out.print("tJumlah yang dibeli (kg): "); jumlah = a.nextInt(); System.out.print("tHarga PerKilo : "); hargaPerKilo = a.nextInt(); subtotal = jumlah * hargaPerKilo; System.out.print("tSub Total : " + (subtotal)); System.out.println(""); } } class Rambutan extends Buah { void isiRambutan(String namaRambutan, String warnaRambutan, int hargaPerKiloRambutan) { nama = namaRambutan; warna = warnaRambutan; hargaPerKilo = hargaPerKiloRambutan; } void tampilRambutan() { Scanner a = new Scanner(System.in); System.out.println("Pembelian Buah Rambutan"); System.out.print("tWarna Buah : "); warna = a.next(); System.out.print("tJumlah yang dibeli (kg): "); jumlah = a.nextInt(); System.out.print("tHarga PerKilo : "); hargaPerKilo = a.nextInt();
  • 4.
    TI009 – PemrogramanBerorientasi Objek subtotal = jumlah * hargaPerKilo; System.out.print("tSub Total : " + (subtotal)); System.out.println(""); } } class Apel extends Buah { void isiApel(String namaApel, String warnaApel, int hargaPerKiloApel) { nama = namaApel; warna = warnaApel; hargaPerKilo = hargaPerKiloApel; } void tampilApel() { Scanner a = new Scanner(System.in); System.out.println("Pembelian Buah Apel"); System.out.print("tWarna Buah : "); warna = a.next(); System.out.print("tJumlah yang dibeli (kg): "); jumlah = a.nextInt(); System.out.print("tHarga PerKilo : "); hargaPerKilo = a.nextInt(); subtotal = jumlah * hargaPerKilo; System.out.print("tSub Total : " + (subtotal)); System.out.println(""); } } public class LatihanInheritance1 { public static void main(String[] debby) { Scanner b = new Scanner(System.in); int total = 0;
  • 5.
    TI009 – PemrogramanBerorientasi Objek String tekan = "Y"; System.out.println("======================================"); System.out.println("tTOKO BUAH INHERITANCE"); System.out.println("======================================"); //memanggil child class Mangga m = new Mangga(); Rambutan r = new Rambutan(); Apel a = new Apel(); //perulangan untuk memproses data pembelian selama masih Y while (tekan.equals("Y") || tekan.equals("y")) { System.out.println("Data Pembelian"); //menampilkan method child class m.tampilMangga(); r.tampilRambutan(); a.tampilApel(); //menjumlah seluruh total belanja dari subtotal child class nya total = (m.subtotal) + (r.subtotal) + (a.subtotal); System.out.println("Total Pembelian Anda Adalah : Rp " + total); System.out.println("Apakah ingin melanjutkan berbelanja? [Y/T] : "); tekan = b.next(); System.out.println("-----------------------------------------------"); } } }
  • 6.
    TI009 – PemrogramanBerorientasi Objek 2. Contoh 2 – Masih Tentang Inheritance package belajarinheritance2; class BangunDatar { //membuat function HitungLuas dan Keliling public void HitungLuas() { System.out.println("Belum ada luas bangun datar yang bisa dihitung"); } public void HitungKeliling() { System.out.println("Belum ada keliling bangun datar yang bisa dihitung"); } } class SegiEmpat extends BangunDatar { double sisi; //mendeklarasikan variabel //membuat konstruktor SegiEmpat dengan parameter sisi public SegiEmpat(double sisi) { this.sisi = sisi; } //membuat method untuk menentukan nilai dari variabel sisi public void setSisi(double sisi) { this.sisi = sisi; } public void HitungLuas() { double luas;
  • 7.
    TI009 – PemrogramanBerorientasi Objek luas = this.sisi * this.sisi; System.out.println("nLuas segiempat dengan sisi " + sisi + "cm adalah : " + luas); } public void HitungKeliling() { double keliling; keliling = this.sisi * 4; System.out.println("Keliling segiempat dengan sisi " + sisi + "cm adalah : " + keliling); } } public class BelajarInheritance2 { public static void main(String[] args) { BangunDatar bd =new BangunDatar(); bd.HitungLuas(); bd.HitungKeliling(); SegiEmpat se = new SegiEmpat(20); se.HitungLuas(); se.HitungKeliling(); } }
  • 8.
    TI009 – PemrogramanBerorientasi Objek 3. Contoh 3 – Enkapsulasi Buatlah projek dengan nama: belajarenkapsulasi.java package belajarenkapsulasi; public class BelajarEnkapsulasi { public static void main(String[] args) { BelajarEnkapsulasi2 be = new BelajarEnkapsulasi2(); //memanggil kelas BelajarEnkapsulasi2 be.setName("Debby Ummul Hidayah"); //kita memanggil objek be dan memanggil method setName be.setGender("Perempuan"); be.setJob("Mahasiswi"); be.setTelp("085100769023"); //mencetak dan memanggil be dan memanggil method get System.out.println("Nama Mahasiswa : " + be.getName()); System.out.println("Jenis Kelamin : " + be.getGender()); System.out.println("Pekerjaan : " + be.getJob()); System.out.println("Nomor Telepon : " + be.getTelp()); } } class BelajarEnkapsulasi2 { private String name; private String gender; private String job; private String telp; public String getName() {
  • 9.
    TI009 – PemrogramanBerorientasi Objek return name; //artinya kita kembali ke name } public void setName(String name) { //name adalah parameter yang akan kita beri nilai di kelas BelajarEnkapsulasi this.name = name; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getJob() { return job; } public void setJob(String job) { this.job = job; } public String getTelp() { return telp; } public void setTelp(String telp) { this.telp = telp; } }
  • 10.
    TI009 – PemrogramanBerorientasi Objek 4. Contoh 4 – Mencoba Menggunakan Try Catch Buatlah projek dengan nama: LatihanTryCatch.java package latihantrycatch; import java.util.Scanner; public class LatihanTryCatch { public static void main(String[] args) { // TODO code application logic here double bagi=0; Scanner sc = new Scanner(System.in); System.out.print("Masukkan nilai pertama : "); int a = sc.nextInt(); System.out.print("Masukkan nilai kedua : "); int b = sc.nextInt(); try { bagi = a / b; } catch(Throwable t){ System.err.println("Maaf Nilai Kedua Tidak Boleh Nol!"); System.out.println(t.getMessage()); } System.out.println("Hasil pembagian nilai pertama/nilai kedua = " + bagi); } }
  • 11.
    TI009 – PemrogramanBerorientasi Objek 5. Contoh 5 – Polymorphism package belajarpolymorphism; import java.util.Date; class Pegawai { protected String nama; protected double gaji; protected Date tgl; public String getDetail() { return "Nama : " + nama + "n" + "Gaji : " + gaji; } } class Manager extends Pegawai { protected String departemen; public String getDetail(){ return "Nama : " + nama + "n" + "Gaji : " + gaji +"n" + "Departemen : " + departemen; } }
  • 12.
    TI009 – PemrogramanBerorientasi Objek public class BelajarPolymorphism { public static void main(String[] args) { // TODO code application logic here Pegawai p = new Pegawai(); p.getDetail(); p.nama="Debby"; p.gaji=2400000; // p.tgl='2016/06/07'; Manager m = new Manager(); m.getDetail(); } } 6. Contoh 6 – Overloading package belajaroverloading; class Bentuk { public void BangunRuang(int x) { } public void BangunRuang(int x, int y) {
  • 13.
    TI009 – PemrogramanBerorientasi Objek } public void BangunRuang(int x, int y, int z) { } public void BangunRuang(int x, int y, int z, int a) { } } class Warna extends Bentuk { public void BangunRuang(String colour, int x, int y, int z) { } public void BangunRuang(String colour, int x, int y, int z, int a) { } } class Tumbuhan { public void Berspora(String nama) { } public void Berspora(int jumlahSpora) {
  • 14.
    TI009 – PemrogramanBerorientasi Objek } public void Berspora(float harga) { } } public class BelajarOverloading { public static void main(String[] args) { } }