PEMROGRAMAN LANJUT Sistem Informasi FILKOM UB Semester Genap 2016/2017 KONSTRUKTOR Dr. Eng. Herman Tolle, ST., MT Fakultas Ilmu Komputer, Universitas Brawijaya
Pemrograman Lanjut 1. Nama Matakuliah : PemrogramanLanjut 2. Kode/SKS : CSD60022 / 5 (4-1) SKS 3. Semester : Genap 4. Kelas : A 5. Program Studi : Teknologi Informasi Universitas Brawijaya 6. 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 Setelahmengikuti materi ini, diharapkan Mahasiswa dapat memahami konsep Konstruktor dan Overloading Konstruktor dalam pemrograman berorientasi obyek (OOP) Mahasiswa mampu membuat class dan instansiasi objek yang memanfaatkan penggunaan Konstruktor dan Overoading Konstruktor
Kata Kunci / Keyword 1. Constructor Konstruktor 2. Overloading Overloading Constructor 3. This
Materi Pemrograman Lanjut 1. Review Pemrograman Dasar 2. Konsep OOP, 3. Class dan object, 4. Diagram UML Class, 5. Fungsi Overloading dan Konstruktor, 6. Enkapsulasi, 7. Inheritance/pewarisan, 8. Polymorphism 9. Interface & Abstract Class Pemrograman Berorientasi 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 saat digunakan 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); Mobil.java public class MobilKonstruktor{ public static void main(string[] args){ Mobil mobilku = new Mobil( Merah, 2003); mobilku.info(); MobilKonstruktor.java
class Televisi { int channel; int volume; bool isaktif; void hidupkan() { isaktif = true; // aktif menjadi true channel = 1; // set nilai awal C volume = 50; // set nilai awal V s.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 this Digunakan pada pembuatan class dan digunakan untuk menyatakan object sekarang public class Mobil{ String warna; int tahunproduksi; public class Mobil{ String warna; int tahunproduksi; { void isidata(string awarna, int atahunproduksi) warna = awarna; tahunproduksi = atahunproduksi; { void isidata(string warna, int tahunproduksi) 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 menandaisuatu Variabel (Atribut) dan juga Fungsi (Behavior) yang mengacupada atribut ataufungsidalam kelas tersebut
1. Buat class Bank Latihan 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 ABC Saldo saat ini: Rp. 100000 Simpan uang: Rp. 500000 Saldo saat ini: Rp. 600000 Ambil uang: Rp. 150000 Saldo 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 saat Ini 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 dengan konsep 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();
LATIHAN STUDI KASUS CLASS CUBES
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); Output: >> Luas & Volume Kubus belumbisa diketahui karena panjang, lebar & tinggi belum didefinisikan >> Kubus dengan Panjang =.. cm, Lebar =.., dan Tinggi =... Luas kubus = Volume kubus = mybox3.info(); >> Kubus dengan Panjang = Lebar = Tinggi =... cm Luas Kubus = Volume kubus =
QUIZ Apa yang dimaksud dengan KONSTRUKTOR? Apa yang dimaksud dengan OVERLOADING KONSTRUKTOR? Tugas 02: Buat Kelas TABUNG dan Contoh Programnya. Gunakan Overloading Konstruktor Deadline: 12 Maret 2017
Referensi 1. Sharon Zakhour et al, The Java Tutorial Fourth Edition, http://java.sun.com/docs/books/tutorial 2. Cay Horstmann, Big Java: Earl Objects 5 th Edition, John Wiley & Sons, 2013 3. Deitel & Deitel, Java Howto Program 9 th Edition, Prentice Hall, 2012 4. Richard M. Reese, Oracle Certified Associate Java SE 7 Programmer Study Guide, Packt Publishing, 2012 5. Walter Savitch, Absolute Java 5 th Edition, Pearson Education, 2013 6. Mark Allen Weiss, Data Structures and Algorithm Analysis in Java 3 rd Edition, Pearson Education, 2012 7. Anany Levitin, Introduction to the Design and Analysis of Algorithms 3 rd Edition, Pearson Education, 2012 8. Ying Bai, Practical Database Programming with Java, John Wiley & Sons, 2011 Beberapa materi Slide presentasi ini dimodifikasi dari slide yang diperoleh dari website: romisatriowahono.net karya Bapak Romi Satrio Wahono
Terima Kasih