konstruktor - · pdf file– senin, 14.30 –16.10, ruange1.2 (teori) – selasa,...
TRANSCRIPT
PEMROGRAMAN LANJUT
FakultasIlmuKomputer,UniversitasBrawijaya
KONSTRUKTOR
Dr.Eng.HermanTolle,ST.,MT
Sistem Informasi FILKOM UBSemester Genap 2016/2017
Pemrograman Lanjut
1. Nama Matakuliah : Pemrograman Lanjut2. Kode/SKS : CSD60022 / 5 (4-1) SKS 3. Semester : Genap4. Kelas : A5. Program Studi : Teknologi Informasi –Universitas Brawijaya6. Dosen : Dr. Eng. Herman Tolle, ST., MT.7. Asisten :8. Jadwal Kuliah :
– Senin, 14.30 – 16.10, Ruang E1.2 (Teori)– Selasa, 07.00 – 8.40, Ruang A2.20 (Teori)– Rabu, 14.30 – 16.10, Ruang B1.8 (Praktikum)
Tujuan Pembelajaran
Setelah mengikuti materi ini, diharapkan• Mahasiswa dapat memahami konsep Konstruktor
dan Overloading Konstruktor dalam pemrogramanberorientasi obyek (OOP)
• Mahasiswa mampu membuat class dan instansiasiobjek yang memanfaatkan penggunaanKonstruktor dan Overoading Konstruktor
Kata Kunci / Keyword
1. Constructor | Konstruktor2. Overloading | Overloading Constructor3. This
Materi Pemrograman Lanjut
1. Review Pemrograman Dasar2. Konsep OOP, 3. Class dan object, 4. Diagram UML Class, 5. Fungsi Overloading dan Konstruktor,6. Enkapsulasi, 7. Inheritance/pewarisan, 8. Polymorphism9. Interface & Abstract Class
PemrogramanBerorientasi
Objek
Konstruktor -1-
• Method yang digunakan untuk memberi nilai awal pada saat object diciptakan
• Method Konstruktor akan dipanggil secara otomatis ketika sebuah objek dibuat (pada saatdigunakan kata new)
• Sifat konstruktor:– Nama konstruktor sama dengan nama class– Tidak memiliki nilai balik dan tidak boleh ada kata kunci
void
Konstruktor -2-public class Mobil {
String warna;int tahunProduksi;public Mobil(String warna, int tahunProduksi){
this.warna = warna;this.tahunProduksi = tahunProduksi;
}public void info(){
System.out.println("Warna: " + warna);System.out.println("Tahun: " + tahunProduksi);
}}
public class MobilKonstruktor{public static void main(String[] args){
Mobil mobilku = new Mobil(“Merah”, 2003);mobilku.info();
}}
Mobil.java
MobilKonstruktor.java
class Televisi {int channel;int volume;bool isAktif;
void hidupkan() {isAktif = true; // aktif menjadi truechannel = 1; // set nilai awal C volume = 50; // set nilai awal Vs.o.p(“Televisi Hidup!”);TampilkanChannel();
}
public Televisi (int C, int V) {isAktif = true;channel = C;volume = V;TampilkanChannel();
}Televisi tvSaya = new Television(5, 60);tvSaya.setChannel(10);
Kata Kunci thisDigunakan pada pembuatan class dan digunakan untuk menyatakan object sekarang
publicclassMobil{Stringwarna;int tahunProduksi;
voidisiData(StringaWarna,int aTahunProduksi)
{warna=aWarna;tahunProduksi=aTahunProduksi;
}}
publicclassMobil{Stringwarna;int tahunProduksi;
voidisiData(Stringwarna,inttahunProduksi)
{this.warna=warna;this.tahunProduksi=tahunProduksi;
}}
class Televisi {int channel;int volume;bool isAktif;
void Televisi (int channel, int volume) {this.isAktif = true;this.channel = channel;this.volume = volume;this.TampilkanChannel();
}
This digunakan untuk menandai suatu Variabel(Atribut) dan juga Fungsi (Behavior) yang mengacu pada atribut atau fungsi dalam kelastersebut
Latihan1. Buat class Bank
– Buat konstruktor class Bank dengan parameter: saldo– Buat method: simpanUang, ambilUang, dan getSaldo
2. Buat class BankBeraksi, tetapkan saldo awal lewat konstruktur Rp. 100000, jalankan 3 method di atas, dan tampilkan proses sebagai berikut:
Selamat Datang di Bank ABCSaldo saat ini: Rp. 100000
Simpan uang: Rp. 500000Saldo saat ini: Rp. 600000
Ambil uang: Rp. 150000Saldo saat ini: Rp. 450000
public class Bank{
double saldo;
Bank(double S) {this.saldo = S;S.o.p(“Selamat Datang di Bank ABC“);this.cekSaldo();
}
void cekSaldo() {S.out.println (“Saldo saatIni Rp “+saldo);
}
void AmbilUang(double S) {if (this.saldo-S>=0){
this.saldo -= S;S.o.p(“Ambil Uang Rp “+S);
}else
S.o.p(“Saldo tidak mencukupi”);this.cekSaldo();
}
void SimpanUang(double S) {this.saldo += S;S.o.p(“Simpan Uang Rp “+S);this.cekSaldo();
}
public class BankBeraksi {Bank rekeningKu = new Bank(100000);rekeningKu.cekSaldo();rekeningKu.SimpanUang(50000);rekeningKu.AmbilUang(150000);rekeningKu.cekSaldo();
}
OVERLOADING KONSTRUKTOR
Overloading Konstruktor
• Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu dalam satu class.
• Ada lebih dari 1 konstruktor dalam sebuah Kelas• Pembeda antara satu konstruktor dengan
konstruktor yang lain berupa jumlah parameter atau tipe parameter.
• Konsep overloading konstruktor mirip dengankonsep overloading method
Contoh: Class mobil
class mobil{private String warna;private int tahun;
public mobil(String warna, int tahun) // konstruktor-1{this.warna = warna;this.tahun = tahun;
}public mobil() // konstruktor-2{this.warna = “Putih”;this.tahun = 2016;
}
public void info(){System.out.println("Warna mobil saya : "+ this.warna);System.out.println("Dibuat tahun : "+ this.tahun);}}
public class ContohKonstruktor{public static void main (String[] args) {mobil mobilku = new mobil("Silver",2008);mobilku.info();
mobil mobilmu = new mobil();mobilmu.info();
mobil mobilnya = new mobil(“White",2005);mobilnya.info();
}}
CLASS CUBESLATIHAN STUDI KASUS
Kasus: Objek Kubus
• Buatlah sebuah kelas objek CUBES• Atribut: +Panjang, +Lebar, +Tinggi, -Luas, -
Volume• Method: HitungLuas(), HitungVolume(),
Info(), dan 3 Konstruktor– 1. Kontruktor Kosong (P = L = T = 0)– 2. Konstruktor dengan 3 input: (P, L, T)– 3. Konstruktor dengan 1 input: (P = L = T)
public class CubesBeraksi {Cubes myBox1 = new Cubes();myBox1.info();
myBox1.Panjang = 5;myBox1.Lebar = 10;myBox1.Tinggi = 12;myBox1.info();
Cubes myBox2 = new Cubes(10,6,4);myBox2.info();
Cubes myBox3 = new Cubes(10);myBox3.info();
}
Output:>> Luas & Volume Kubusbelum bisa diketahui karenapanjang, lebar & tinggi belumdidefinisikan
>> Kubus dengan Panjang = .. cm, Lebar = .. , dan Tinggi = .. .Luas kubus = …Volume kubus = …
>> Kubus dengan Panjang = Lebar = Tinggi = ... cmLuas Kubus = …Volume kubus = …
QUIZ Apa yang dimaksud dengan KONSTRUKTOR?
Apa yang dimaksud dengan OVERLOADING
KONSTRUKTOR?
Tugas 02: Buat KelasTABUNG dan ContohProgramnya. Gunakan
Overloading KonstruktorDeadline: 12 Maret 2017
Referensi1. Sharon Zakhour et al, The Java Tutorial Fourth Edition,
http://java.sun.com/docs/books/tutorial2. Cay Horstmann, Big Java: Earl Objects 5th Edition, John Wiley & Sons, 20133. Deitel & Deitel, Java Howto Program 9th Edition, Prentice Hall, 20124. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer Study
Guide, Packt Publishing, 20125. Walter Savitch, Absolute Java 5th Edition, Pearson Education, 20136. Mark Allen Weiss, Data Structures and Algorithm Analysis in Java 3rd
Edition, Pearson Education, 20127. Anany Levitin, Introduction to the Design and Analysis of Algorithms 3rd
Edition, Pearson Education, 20128. Ying Bai, Practical Database Programming with Java, John Wiley & Sons,
2011Beberapa materi Slide presentasi ini dimodifikasi dari slide yang diperoleh dari website: romisatriowahono.net karya Bapak Romi Satrio Wahono
Terima Kasih