konstruktor - · pdf file– senin, 14.30 –16.10, ruange1.2 (teori) – selasa,...

23
PEMROGRAMAN LANJUT Fakultas Ilmu Komputer, Universitas Brawijaya KONSTRUKTOR Dr. Eng. Herman Tolle, ST., MT Sistem Informasi FILKOM UB Semester Genap 2016/2017

Upload: truongnhi

Post on 05-Mar-2018

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

PEMROGRAMAN LANJUT

FakultasIlmuKomputer,UniversitasBrawijaya

KONSTRUKTOR

Dr.Eng.HermanTolle,ST.,MT

Sistem Informasi FILKOM UBSemester Genap 2016/2017

Page 2: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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)

Page 3: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 4: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

Kata Kunci / Keyword

1. Constructor | Konstruktor2. Overloading | Overloading Constructor3. This

Page 5: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 6: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 7: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 8: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 9: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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;

}}

Page 10: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 11: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 12: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

}

Page 13: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

public class BankBeraksi {Bank rekeningKu = new Bank(100000);rekeningKu.cekSaldo();rekeningKu.SimpanUang(50000);rekeningKu.AmbilUang(150000);rekeningKu.cekSaldo();

}

Page 14: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

OVERLOADING KONSTRUKTOR

Page 15: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 16: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 17: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

}}

Page 18: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

CLASS CUBESLATIHAN STUDI KASUS

Page 19: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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)

Page 20: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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 = …

Page 21: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

QUIZ Apa yang dimaksud dengan KONSTRUKTOR?

Apa yang dimaksud dengan OVERLOADING

KONSTRUKTOR?

Tugas 02: Buat KelasTABUNG dan ContohProgramnya. Gunakan

Overloading KonstruktorDeadline: 12 Maret 2017

Page 22: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

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

Page 23: KONSTRUKTOR - · PDF file– Senin, 14.30 –16.10, RuangE1.2 (Teori) – Selasa, 07.00 ... Simpan uang: Rp. 500000 ... Beberapa materi Slidepresentasi ini dimodifikasi dari slide

Terima Kasih