Anda di halaman 1dari 19

Bagian 6 Inheritance

Tutorial Dasar-dasar Pemrograman Menggunakan Java

Nurul Qomariyah
Fasilkom UI

31 Agustus 2012

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

1 / 19

Outline

Inheritance Super Reference Overriding Method Abstract Class ArrayList

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

2 / 19

Inheritance

Inheritance

Sebuah teknik untuk membuat turunan dari sebuah class. Class yang memiliki turunan disebut superclass (parent). Class yang menjadi turunan disebut subclass (child). Subclass mewarisi seluruh karakteristik berupa method dan attribute dari superclass. Sebuah subclass hanya dapat memiliki satu parent, dan satu superclass dapat memiliki banyak subclass.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

3 / 19

Inheritance

Contoh Skema Inheritance

Segitiga

SegitigaSamaKaki

SegitigaSamaSisi

SegitigaSikusiku

Subclass merupakan bentuk khusus dan detail dari superclass. Sebaliknya, superclass merupakan bentuk umum dari subclass-subclassnya.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

4 / 19

Inheritance

Contoh Inheritance
Sebagai contoh, terdapat sebuah class bernama Segitiga. class Segitiga{ // kode ada di sini } Class SegitigaSikusiku yang merupakan subclass dari Segitiga dapat dideklarasikan sebagai berikut. class SegitigaSikusiku extends Segitiga{ // kode ada di sini } Setiap class yang dibuat merupakan turunan dari class java.lang.Object

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

5 / 19

Inheritance

Protected Modier

Visibility modier yang digunakan pada inheritance Hanya dapat diakses oleh subclassnya, sedangkan class lain tidak dapat mengakses.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

6 / 19

Super Reference

Super Reference

Keyword super digunakan untuk memanggil reference yang berhubungan dengan parent. Salah satu penggunaan super adalah pada pemanggilan constructor milik parent. Penggunaan lain adalah pada konsep overriding method

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

7 / 19

Super Reference

Latihan - Manusia
Dengan menggunakan teknik inheritance, buatlah kelas-kelas Java dengan spesikasi sebagai berikut: class Manusia: Kelas Manusia merepresentasikan manusia dalam dunia nyata. Seorang manusia dapat dikenali melalui atribut-atribut seperti nama (e.g. Canek), jenis kelamin (e.g. Pria, Wanita), tanggal lahir (e.g. 17 agustus 2012) class Mahasiswa: Kelas Mahasiswa merepresentasikan manusia yang berkuliah. Seorang mahasiswa memiliki atribut-atribut yaitu NPM (e.g. 12061234567), jurusan (e.g. Ilmu Gaib, Sastra Java). class Alumni: Kelas Alumni merepresentasikan mahasiswa yang telah menyelesaikan kuliahnya. Atribut-atribut yang dimiliki oleh alumni adalah IPK ketika lulus (e.g. 4.0), tahun lulus (e.g. 2010, 2011), predikat kelulusan (e.g. Memuaskan, Sangat Memuaskan, Cum Laude) class PowerRanger: Kelas PowerRanger merepresentasikan seorang manusia pahlawan pembela kebenaran. Dia memiliki atribut-atribut yaitu nama samaran (e.g. Ranger Merah) dan jurus pamungkas (e.g. Pedang Pembelah Bumi).
Lembaga Asisten (Fasilkom UI) Inheritance 31 Agustus 2012 8 / 19

Super Reference

Latihan - Bank Account Class


Buat constructor di setiap kelas yang menerima semua atribut yang dimiliki kelas tersebut. Gunakan keyword super untuk memanggil constructor superclass. Buat method setter dan getter untuk setiap atribut dari kelas-kelas tersebut. Buat method toString di setiap kelas yang mengembalikan String berisi semua atribut yang dimiliki kelas tersebut. Buat sebuah class bernama ManusiaTest yang berisi main method dan buat beberapa objek dari kelas-kelas di atas.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

9 / 19

Overriding Method

Overriding Method

Seluruh method milik parent akan diwarisi oleh setiap turunannya. Namun terkadang child dapat membutuhkan fungsi yang berbeda dari method tersebut. Proses adaptasi fungsi method sesuai dengan kebutuhan tiap class disebut overriding. Contoh penggunaan overriding adalah pada pembuatan method toString.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

10 / 19

Overriding Method

Overloading vs Overriding

Overloading berhubungan dengan banyak method yang memiliki nama sama dalam satu class, namun memiliki input dan fungsi yang berbeda. Overriding berhubungan dengan sebuah method milik parent class yang diturunkan pada childnya, namun dengan fungsi yang berbeda sesuai kebutuhan child class. Overloading memungkinkan banyak cara untuk menggunakan sebuah method. Overriding memungkinkan lokalisasi method sesuai objek yang sedang digunakan.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

11 / 19

Abstract Class

Abstract Class

Abstract class adalah class yang menggambarkan konsep dasar dari objek di bawahnya. Abstract class tidak bisa dibuatkan objek. Kita menggunakan modier abstract pada class header untuk menunjukkan class sebagai abstract. abstract class StaffKantor{ // kode ada di sini }

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

12 / 19

Abstract Class

Abstract Method

Sebuah abstract class memiliki abstract method yang tidak memiliki denisi. abstract double pay(); Selain itu abstract class juga dapat memiliki method dengan denisi lengkap. Setiap abstract method harus di-override oleh turunan dari abstract class.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

13 / 19

Abstract Class

Latihan - Bangun Datar


Buatlah sebuah abstract class bernama BangunDatar. Kelas ini memiliki atribut nama bertipe String dan method abstract yang menghitung keliling dan luas. Dengan teknik inheritance, buatlah kelas-kelas berikut ini dengan meng-extends kelas BangunDatar.
Kelas Persegi yang memiliki atribut sisi Kelas Lingkaran yang memiliki atribut jari-jari Kelas Segitiga yang memiliki atribut alas dan tinggi

Untuk setiap kelas turunan BangunDatar, implementasikanlah method keliling dan luas sesuai jenis bangun datarnya. Jangan lupa untuk membuat constructor dan method setter-getter dari setiap atribut yang dimiliki kelas-kelas di atas.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

14 / 19

Abstract Class

Latihan - Bangun Datar


Buatlah class BangunDatarTes yang berisi main method. Buat beberapa objek dari BangunDatar. Coba jalankan dan lihat apa yang terjadi!

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

15 / 19

ArrayList

ArrayList

Sebuah class yang dapat digunakan untuk menyimpan nilai. Array vs ArrayList
Array adalah tipe primitif, tempat penyimpanan dengan kapasitas tetap. ArrayList adalah tipe objek, eksibel dalam hal kapasitas, menambah data, dan menghapus data.

Tambahkan di awal kode: import java.util.ArrayList; Lihat java API untuk melihat method-method dari class ArrayList.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

16 / 19

ArrayList

Contoh Penggunaan ArrayList


public static void main(String[] args){ ArrayList<Segitiga> segitiga = new ArrayList<Segitiga>(); ArrayList<Integer> integer = new ArrayList<Integer>(); ArrayList<String> string = new ArrayList<String>(); Segitiga segi3 = SegitigaSamaSisi SegitigaSamaKaki SegitigaSikusiku new Segitiga(); segiSisi = new SegitigaSamaSisi(); segiKaki = new SegitigaSamaKaki(); segiSiku = new SegitigaSamaSiku();

segitiga.add(segi3); segitiga.add(segiSisi); segitiga.add(segiKaki); segitiga.add(segiSiku); integer.add(2); integer.add(new Integer(21)); string.add("pergi"); System.out.println(segitiga.size()); segitiga.remove(2); System.out.println(segitiga.get(2)); }
Lembaga Asisten (Fasilkom UI) Inheritance 31 Agustus 2012 17 / 19

ArrayList

Latihan - Toko Komputer


Sebuah toko komputer menjual 5 produk, yaitu Notebook, Memory, Harddisk, GPU, dan Monitor. Setiap produk yang dijual memiliki spesikasi merk, nomor seri, harga, jumlah stok, dan beberapa spesikasi sesuai jenis produk Notebook: kapasitas memory, kapasitas harga, kapasitas gpu, dan ukuran layar. Monitor: ukuran dan tipe. Harddisk: ukuran dan rpm. Memory: ukuran, tipe, dan slot. GPU: memory size, memory type, dan engine clock Anda diminta membuat menu utama untuk melakukan transaksi penjualan dan pembelian dari produk-produk di atas.

Lembaga Asisten (Fasilkom UI)

Inheritance

31 Agustus 2012

18 / 19

ArrayList

Latihan - Toko Komputer


Daftar Produk: Menu ini akan menampilkan produk sesuai kategorinya: Semua, Notebook, Monitor, Harddisk, Memory, dan GPU. Semua: Tampilkan merk, nomor seri, harga, dan jumlah stok. Untuk Notebook, Monitor, Harddisk, Memory, dan GPU, tampilkan seluruh atributnya. Pembelian: Menu ini akan menampilkan form pembelian produk sesuai kategori produk. Form akan meminta merk dan nomor seri. Bila merk dan nomor seri sudah ada di toko, maka stoknya akan bertambah sesuai jumlah pembelian. Bila tidak, maka dianggap produk baru dan minta atribut sisanya. Penjualan: Menu ini akan menampilkan form penjualan produk sesuai nomor seri. Setelah nomor seri dipilih, tampilkan isi produk dan program akan meminta jumlah yang dibeli. Jika jumlah pembelian lebih dari stok, maka transaksi gagal. Jika tidak, maka update jumlah stok. Jika jumlah stok 0, maka hapus produk tersebut.
Lembaga Asisten (Fasilkom UI) Inheritance 31 Agustus 2012 19 / 19

Anda mungkin juga menyukai