Object-Oriented Programming (OOP) Fajar Agung Nugroho RSW Outline Inharitance Jumping(Pemindahan Proses) Return Break Continue RSW Inheritance (Pewarisan) RSW Inheritance (Pewarisan) Suatu class dapat mewariskan atribut dan method kepada class lain (subclass), serta membentuk class hierarchy Penting untuk Reusability Java Keyword: extends Sepeda.java public class Sepeda{ int kecepatan ; int gir ; // method void ubahGir(int pertambahanGir) { gir= gir+ pertambahanGir; System.out.println("Gir:" + gir); } void tambahKecepatan(int pertambahanKecepatan) { kecepatan = kecepatan+ pertambahanKecepatan; System.out.println("Kecepatan:" + kecepatan); } } RSW Class SepedaGunung Mewarisi Class Sepeda class SepedaGunung extends Sepeda{ class SepedaGunungBeraksi { public static void main(String[] args) { // Membuat object public void setSadel(int nilaiSadel) { SepedaGunung spd= new SepedaGunung(); System.out.println(“Tinggi Sadel:”+ nilaiSadel); // Memanggil method di object spd.tambahKecepatan(10); spd.ubahGir(2); spd.setSadel(20); } } } } SepedaGunung.java SepedaGunungBeraksi.java RSW UML – Class Diagram class Kendaraan Sepeda ~ ~ gir: int = 0 kecepatan: int = 0 ~ ~ tambahKecepatan(int) : void ubahGir(int) : void SepedaGunungBeraksi + main(String[]) : void SepedaGunung + setSadel(int) : void RSW Latihan Buat class MatematikaCanggih yang merupakan inherit dari class Matematika Tambahkan method modulus(int a, int b) yang menghitung modulus dari a dan b. Operator modulus adalah % Buat class MatematikaCanggihBeraksi yang memanggil method pertambahan, perkalian dan modulus RSW UML – Class Diagram class Matematika Matematika ~ ~ ~ ~ hasilBagi: double hasilKali: double hasilKurang: double hasilTambah: double ~ ~ ~ ~ pembagian(double, double) : double pengurangan(double, double) : double perkalian(double, double) : double pertambahan(double, double) : double MatematikaBeraksi + main(String[]) : void MatematikaCanggih ~ modulus(double, double) : double RSW Pernyataan Pemindah Proses (Jump) RSW Pernyataan Pemindah Proses 1. 2. 3. return break continue RSW return Digunakan untuk keluar dari method return memiliki dua bentuk: 1. mengembalikan nilai (sesuai dengan tipe data) 2. tidak mengembalikan nilai (untuk void) Contoh: int perkalian(int x, int y){ return x * y; } void perkalian(int x, int y){ hasilKali = x * y; return; } RSW break Penyataan break digunakan untuk keluar dari suatu pengulangan (loop) Penggunaan break bisa berbentuk tanpa label atau berlabel RSW PernyataanBREAK.java public class PernyataanBREAK { public static void main(String[] args){ for(int i=1; i<11; i++){ if(i==5) break; System.out.println(i); } } } RSW PernyataanBREAKLABEL.java public class PernyataanBREAK { public static void main(String[] args){ selesai: for(int i=1; i<5; i++){ for(int n=1; n<5; n++){ if (n==3) break selesai; System.out.println(n); } } } } RSW continue Digunakan untuk melanjutkan eksekusi ke suatu pengulangan (loop) Bisa berbentuk tanpa label atau berlabel Bentuk code persis sama dengan break, baik untuk yang tanpa label atau berlabel RSW PernyataanCONTINUE.java public class PernyataanBREAK { public static void main(String[] args){ for(int i=1; i<11; i++){ if (i%2!=0) continue; System.out.println(i); } } } RSW Latihan: Modifikasi Matematika.java Modifikasi program Matematika.java yang sebelumnya sudah kita buat dengan menggunakan tipe data double untuk method Input data adalah lewat prompt (class Scanner) Buat menu pilihan untuk fitur pertambahan, pengurangan, pembagian atau perkalian Gunakan pengulangan untuk menu pilihan. Akan berhenti apabila kita pilih 0 RSW Tampilan Menu Aplikasi Matematika: 1. Pertambahan 0. Keluar Aplikasi 2. Pengurangan 3. Perkalian 4. Pembagian Pilih Menu = 1 Masukkan Angka Pertama = 3 Masukkan Angka Kedua =23 Hasil Pertambahan antara 3 dan 23 adalah 26 Menu Aplikasi Matematika: 1. Pertambahan 0. Keluar Aplikasi 2. Pengurangan 3. Perkalian 4. Pembagian Pilih Menu = RSW