Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

dokumen-dokumen yang mirip
Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

ENKAPSULASI PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle. Teknik Informatika PTIIK UB Semester Genap 2015/2016

KONSTRUKTOR PEMROGRAMAN LANJUT. Dr. Eng. Herman Tolle, ST., MT. Sistem Informasi FILKOM UB Semester Genap 2016/2017

Java Fundamentals. Herman Tolle. Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

ENKAPSULASI Data Hiding

KONSEP CLASS & OBJEK pada Object Oriented Programming

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Kelas dan Objek. Oleh : Agus Priyanto, M.Kom

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

1. Konsep Pemrograman dan Paradigmanya: 2. Teknologi Java dan Perangkat Pemrograman: 3. Konsep Dasar Pemrograman Berorientasi Objek:

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Pemrograman Berorientasi. Class dan Obyek 2

ENKAPSULASI. 1. Kompetensi Setelah kegiatan perkuliahan selesai, mahasiswa diharapkan dapat:

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

Class & Object 2. Imam Fahrur Rozi

Dasar-Dasar OOP di Java

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

Polymorphism. Oleh : Agus Priyanto, M.Kom

Bab 8. Dasar-Dasar OOP

Method / Fungsi / Sub Program

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

INTERAKSI ANTAR OBJECT

[Lanjutan] Nurochman

Praktikum 6 Class Design (Encapsulation)

PEMROGRAMAN BERORIENTASI OBJEK

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Modul II Object Oriented Programming

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

Dasar-Dasar OOP di Java

Inheritance dan Kata Kunci static

Modul Bahasa Pemrograman 1

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

MODUL 1 PENGENALAN OOP

subclass class manapun private default protected public package yang sama

IKG2I4 / Software Project I

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

HP:

A. TUJUAN PEMBELAJARAN. 1. Menerapkan konsep enkapsulasi pada class 2. Mendeklarasikan suatu constructor

Method. Pemrograman Dasar Sistem Informasi PTIIK Herman Tolle

Object Oriented Programming 1

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Bahasa Pemrograman 2.

Jobsheet 09. Overloading and Overriding Method

KONSEP OOP: PEWARISAN / INHERITANCE

Konsep Dasar Pemrograman Berorientasi Objek

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

Bahasa Pemrograman 2.

Bahasa Pemrograman :: Polimorfism and Abstraction

Konsep Lanjut Pemrograman Objek

Tabel 1. Instruksi untuk menampilkan teks No. Bahasa Pemrograman Instruksi 1. Pascal WRITE ( Bahasa pemrograman itu mudah );

Pewarisan (Inheritance)

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Inheritance (Pewarisan) Pengertian dasar inheritance

UML (Unified Modelling Language)

UNIVERSITAS GUNADARMA

Latihan Ujian Pemrograman Berorientasi Objek. Semester Genap 2016/2017

public class B extends A {... }

MODUL 1. Class, Object, Constructor dan Method

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

Pertemuan 11 Object Oriented Program

Praktikum 3 Konsep Class, Attribute dan Method

Percabangan & Perulangan

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

28/09/2013. Pemrograman I. By : Sri Rezeki Candra Nursari SKS

Membuat dan Menggunakan Class

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

Pewarisan(Inheritance) Oleh: Mike Yuliana PENS-ITS

Konsep Pemrograman Berbasis Obyek

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman I. By : Sri Rezeki Candra Nursari SKS

MEMBUAT KELAS SENDIRI. Dewi Sartika, M.Kom

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

PRAKTIKUM 2 PEMROGRAMAN BERORIENTASI OBJEK

NASKAH UTAMA ULANGAN AKHIR SEMESTER GANJIL TAHUN PELAJARAN 2013/2014

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

LAPORAN PERCOBAAN IV PEMBUATAN CALCULATOR ( MENGHITUNG GAJI KARYAWAN DAN TUNJANGANNYA) BERBASIS JAVA

Bahasa Pemograman II. Object Oriented Programming

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

PRAKTIKUM I Class dan Obyek

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA

BAB 7 OVERLOADING DAN OVERRIDING

Konstruktor dan Polimorfisme

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Pengenalan pemrograman berorientasi obyek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

TUGAS AKHIR APLIKASI KALKULATOR BOLA BERBASIS JAVA

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

PRAKTIKUM PEMROGRAMAN LANJUT MODUL 1

Transkripsi:

Java Fundamentals Herman Tolle http://hermantolle.com/class Program Teknologi Informasi & Ilmu Komputer UNIVERSITAS BRAWIJAYA

2. Konsep Dasar Pemrograman Berorientasi Objek Konstruktor, Overloading, Abstraksi, Enkapsulasi

KONSTRUKTOR

Konstruktor -1- Method yang digunakan untuk memberi nilai awal pada saat object diciptakan Dipanggil secara otomatis ketika new digunakan untuk membuat instan class 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

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;

Latihan 1. 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 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; System.out.println( Selamat Datang di Bank ABC ); this.ceksaldo(); void ceksaldo() { System.out.println( Saldo saat ini Rp +saldo); void AmbilUang(double S) { if (this.saldo-s>=0) { this.saldo -= S; System.out.println( Ambil Uang Rp +S); else System.out.println( Saldo tidak mencukupi ); this.ceksaldo(); void SimpanUang(double S) { this.saldo += S; System.out.println( Simpan Uang Rp +S); this.ceksaldo();

public class BankBeraksi { Bank rekeningku = new Bank(100000); ceksaldo(); SimpanUang(50000); AmbilUang(150000); ceksaldo();

OVERLOADING KONSTRUKTOR

Overloading Konstruktor Overloading terhadap konstruktor merupakan suatu mekanisme pembuatan konstruktor yang memiliki bentuk lebih dari satu. 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

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 = 2000; public void info() { System.out.println("Warna mobil saya : "+ this.warna); System.out.println("Dibuat tahun : "+ this.tahun); public class konstruktor1 { 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 Modifikasi kelas Segitiga dengan menambahkan konstruktor Buat lebih dari 1 konstruktor dengan fungsi masingmasing sbb: Konstruktor Kosong Konstruktor dengan 2 input integer (alas & tinggi) Konstruktor dengan 1 input integer (alas = tinggi) Buatlah sebuah program yang mengimplementasi kelas segitiga untuk menghitung luas segitiga (2 segitiga yg berbeda)

QUIZ Apa yang dimaksud dengan KONSTRUKTOR? Apa yang dimaksud dengan OVERLOADING KONSTRUKTOR? Tugas 01: Buat Kelas HP/TV/Radio dan Contoh Programnya. Gunakan Konstruktor Deadline: 1 Maret 2015

TUGAS Tugas 01: Buat Kelas HP/TV/Radio dan Contoh Programnya. Seperti informasi sebelumnya, tetapi tambahkan Konstruktor Send to email, Deadline: 1 Maret 2015

ABSTRAKSI & ENKAPSULASI

Abstraction Cara kita melihat suatu sistem dalam bentuk yang lebih sederhana, yaitu sebagai suatu kumpulan subsistem (object) yang saling berinteraksi. Mobil adalah kumpulan sistem pengapian, sistem kemudi, sistem pengereman Alat untuk meng-abstraksikan sesuatu adalah class Object bersifat modularity. Object dapat ditulis dan dimaintain terpisah (independen) dari object lain

Encapsulation Mekanisme menyembunyikan suatu proses dan data dalam sistem untuk menghindari interferensi, dan menyederhanakan penggunaan proses itu sendiri Tongkat transmisi (gigi) pada mobil Tombol on/off/pengaturan suhu pada AC Class access level (public, protected, private) adalah implementasi dari konsep encapsulation Enkapsulasi data dapat dilakukan dengan cara: 1. mendeklarasikan instance variable sebagai private 2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Encapsulation dan Access Modifier Modifier Dalam Class yang Sama Dalam Package yang Sama Dalam SubClass Dalam Package Lain private tanpa tanda protected public

Encapsulation Enkapsulasi data juga dapat dilakukan dengan cara: 1. mendeklarasikan instance variable sebagai private 2. mendeklarasikan method yang sifatnya public untuk mengakses variable tersebut

Diagram Class BANK private Saldo: double; Bank (double S); public AmbilUang(double S); public SimpanUang(double S); public ceksaldo(double S);

Contoh public class Bank { private double saldo; Bank(double S) { this.saldo = S; System.out.println( Selamat Datang di Bank ABC ); this.ceksaldo(); public void ceksaldo() { System.out.println( Saldo saat ini Rp +saldo); void AmbilUang(double S) { if (this.saldo-s>=0) { this.saldo -= S; System.out.println( Ambil Uang Rp +S); else System.out.println( Saldo tidak mencukupi ); this.ceksaldo(); void SimpanUang(double S) { this.saldo += S; System.out.println( Simpan Uang Rp +S); this.ceksaldo();

Latihan Buat Diagram Class dan implementasi Program dalam bentuk Class dan penggunaan Kelas tersebut. Studi Kasus: Menghitung gaji harian PT. XYZ dengan ketentuan : Gaji pokok karyawan Rp. 5000/jam Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang besarnya 1.5 dari gaji pokok Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang makan sebesar Rp. 7500 Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur sebesar Rp. 10000 Input : NIP, Nama, Jumlah jam kerja Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lembur, Take Home Pay (total gaji diterima) Jumlah Total Pegawai dan Gaji Total Semua Pegawai

Diagram Class PEGAWAI -Nama: string; -NIP: string; -gajipokok, lembur, uangmakan, transport, totalgaji: double; -jumlahjamkerja: integer; -jumlahpegawai: integer static; -totalgajipegawai: double static; +pegawai(nama, NIP); +pegawai(nama, NIP, jamkerja); +void setjamkerja(); +void hitunggajiharian(); +void cetakpenghasilan(); +getjumlahpegawai(); +getgajitotalpegawai(); KELAS PEGAWAI fungsi setjamkerja() untuk mengakses (memberi nilai) atribut jumlahjamkerja; Business process perhitungan gaji dilakukan dalam fungsi hitunggajiharian(), sekaligus untuk mengakses atribut lain. Fungsi cetakpenghasilan() untuk menampilkan isi dari atribut-atribut yang ada

public class Pegawai { private String Nama, NIP; private double gajipokok, uanglembur, uangmakan, uangtransport, totalgaji; private jamkerja; private static int JumlahPegawai = 0; private static double totalgajipegawai = 0; public Pegawai(String No, String Nm, int J) { this.nama = Nm; this.nip = No; this.jamkerja = J; gajipokok = uanglembur = = totalgaji = 0; JumlahPegawai++; public hitunggaji() { if (jamkerja <= 7) gajipokok = jamkerja*5000; else { gajipokok = 7*5000; uanglembur = (jamkerja-7)*7500; totalgaji = gajipokok + uanglembur + uangmakan + uangtransport; totalgajipegawai += totalgaji;

QUIZ Apa yang dimaksud dengan KONSTRUKTOR? Apa yang dimaksud dengan OVERLOADING KONSTRUKTOR? Apa yang dimaksud dengan ABSTRAKSI? Apa yang dimaksud dengan ENKAPSULASI

TUGAS Set Setiap Atribut dari kelas tersebut adalah private Set setiap method dari kelas tersebut adalah public Selesaikan latihan sebelumnya, rampungkan sebagai sebuah tugas (Soal, Jawaban, Diagram Class, Source Code, Screenshot) Buat implementasi kelas Pegawai untuk kasus minimal 2 orang pegawai dengan jam kerja berbeda, masingmasing menggunakan konstruktor yang berbeda Deadline Tugas: Senin 10 Maret 2014

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 Slide presentasi ini dimodifikasi dari slide yang diperoleh dari website: romisatriowahono.net karya Bapak Romi Satrio Wahono