Dokumen ini membahas tentang konsep dasar pemrograman berorientasi objek (PBO) dalam bahasa Java seperti kelas, objek, pewarisan, polimorfisme, dan beberapa contoh kode program.
Dokumen ini membahas tentang konsep dasar pemrograman berorientasi objek (PBO) dalam bahasa Java seperti kelas, objek, pewarisan, polimorfisme, dan beberapa contoh kode program.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Dokumen ini membahas tentang konsep dasar pemrograman berorientasi objek (PBO) dalam bahasa Java seperti kelas, objek, pewarisan, polimorfisme, dan beberapa contoh kode program.
Copyright:
Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online from Scribd
Kelas dan Obyek Kelas • Blueprint untuk objek. • (Memuat semua data dan metoda/fungsi yang bersifat umum). Obyek • Dalam bahasa Java segala sesuatu adalah objek. • Dapat juga diartikan sebagai obyek – obyek pada dunia nyata. Dosen (KELAS) Instansiasi Adi, Jasson, Hendro, Jessica, Indrastanti (OBJEK).
Sehingga obyek juga memuat data & metoda.
Contoh: Tukul (Obyek) Data : Nama, alamat, dsb. Metoda : Kuliah, makan, pacaran, dsb. Pembungkusan (Encapsulation)
• Penyembunyian Data dan Metoda/Fungsi
Dalam Suatu Objek. • Derajad Kenampakan Data dan Metoda/Fungsi : Private, Public, Protected. Penentu Akses / Access Modifier Merupakan hak akses data dan variable. • Public Dapat diakses dari luar kelas. • Private Hanya bisa diakses kelas itu sendiri (tidak bisa dari luar kelas). • Protected Dapat diakses kelas itu & turunannya. Setter dan Getter
• Digunakan untuk mengakses variable yang
berada di luar kelas yang biasanya tidak diperbolehkan. Class Buku Class TestBuku Pewarisan • Membuat suatu kelas dengan memanfaatkan kelas yang sudah ada. • Mewarisi semua metoda dan variabelnya. • Kelas A disebut Super Kelas (Parent Class). • Kelas B disebut Sub Kelas (Child Class). Class Manusia Class Andi Class TestInheritance Akses Modifier Protected
• untuk mengatur agar suatu variabel ataupun
metode yang terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan pada subkelas/ kelas turunan. Kelas dasar : Manusia.java
public class Manusia { private String nama; protected int umur = 0; public void infoUmur() { System.out.println("umur: " + this.umur); } } Kelas turunan : Andi.java
public class Andi extends Manusia{ String hobi; }
Pada kelas turunan (Andi) kita tidak dapat
mengakses variabel yang memiliki akses modifier berjenis private yaitu nama yang terdapat pada kelas dasar (Manusia). Kelas uji: TestInheritance.java
public class TestInheritance { public static void main(String[] args) { Andi andi = new Andi(); andi.infoUmur(); System.out.println("umur andi: " + andi.umur); System.out.println("nama andi: "+andi.nama); } } • Agar dapat diakses hanya oleh kelas turunan saja, kita dapat mengganti akses modifier variabel nama yang semula private menjadi protected. Metode Superkelas
• Adakalanya perlu untuk memanggil metode
superkelas dari subkelas. Untuk keperluan ini, Java menyediakan keyword super yang berarti superkelas. • Kelas dasar : Manusia.java
public class Manusia { protected String nama; protected int umur = 0; public void infoUmur() { System.out.println("umur: " + this.umur); } } • Kelas turunan : Andi.java
public class Andi extends Manusia {
String hobi; public void infoUmur() { super.infoUmur(); // memanggil metode super kelas } } Terlihat bahwa kelas turunan (Andi) mendefinisikan metode infoUmur, sementara kelas dasarnya (Manusia) juga memiliki metode infoUmur(). Hal seperti ini diperbolehkan dan sering dikatakan sebagai ”method overridding” atau ”penimpaan metode”. • Kelas uji: TestInheritance.java
public class TestInheritance { public static void main(String[] args) { Andi andi = new Andi(); andi.umur=15; andi.infoUmur(); System.out.println("umur andi: " + andi.umur); } } Konstruktor Superkelas
• Pada contoh-contoh sebelumnya superkelas
tidak memiliki konstruktor. Bagaimana halnya jika superkelas memiliki konstruktor? Bagaiman caranya bila subkelas hendak memanggil konstruktor? Kita dapat menggunakan keyword super untuk keperluan tersebut dengan bentuk: super(argumen1,argumen2,...); • Kelas dasar : Manusia.java
public class Manusia { private int umur;
// konstruktor public Manusia() { this.umur = 0; } public void infoUmur() { System.out.println("umur: " + this.getUmur()); } public int getUmur() { return umur; } public void setUmur(int umur) { this.umur = umur; } } • Kelas dasar : Manusia.java
public class Manusia { private int umur;
// konstruktor public Manusia() { this.umur = 0; } public void infoUmur() { System.out.println("umur: " + this.getUmur()); } public int getUmur() { return umur; } public void setUmur(int umur) { this.umur = umur; } } • Kelas uji: TestInheritance.java
public class TestInheritance { public static void main(String[] args) { Andi andi = new Andi(15,"berenang"); andi.infoUmur(); System.out.println("hobi andi: " + andi.hobi); } } Polimorfisme
• kemampuan untuk berhubungan dengan
berbagai tipe berdasarkan pada fitur yang sama. Class Makanan Class MakananLokal extends Makanan Class Soto extends MakananLokal Class TestPolimorfisme TAKE HOME PETUNJUK • Buatlah sebuah kelas buku yang mempunyai atribut judul,pengarang,jumlahBuku,hargaSatuan kemudian Buatlah sebuah method untuk mencetak • Buatlah sebuah kelas buku2 yang mewarisi kelas buku kemudian Buatlah method hargaBuku yang digunakan untuk menghitung hargaBayar dengan ketentuan sbb - hargaBayar = hargaSatuan*jumlahBuku - Bila hargaBayar >100000 maka dapat diskon 15% PETUNJUK
• Buatlah sebuah kelas buku3 yang mewarisi kelas
buku kemudian Buatlah method hargaBuku yang digunakan untuk menghitung hargaBayar dengan ketentuan sbb - hargaBayar = hargaSatuan*jumlahBuku - Bila hargaBayar >200000 maka dapat diskon 20% PETUNJUK • Buatlah sebuah kelas beli untuk mengakses ketiga kelas tersebut sehingga menghasilkan output sbb KETENTUAN : • Tugas Individu. • Terlambat, copy paste, nilai = 0 !!!!! • Yang di kumpul : Sourcode/file.java, Output program seperti contoh, sejelas mungkin. ekodili@ymail.com • Nama : PBOL_SATU_NIM