PEMROGRAMAN I By : Sri Rezeki Candra Nursari
Materi : nursari2010.blogdetik.com
Pengantar OOP, Tipe Data, Variabel, Array, Operator, Percabangan, Perulangan, Pendahuluan kelas, Metoda dan Kelas, Inheritance, Polymorphism, Package, Interface, Exception Handling, Multithreaded Programming, Pendahuluan I/O dan Applets
Inheritance
Inheritance • Inheritance biasa juga disebut pewarisan • Inheritance atau pewarisan adalah proses penciptaan kelas baru dengan mewarisi karakteristik kelas yang telah ada, ditambah karakteristik unik kelas baru • Inheritance atau pewarisan adalah mekanisme yang memungkinkan kelas mewarisi fungsionalitas kelas yang ada • Untuk menciptakan kelas baru, hanya perlu menspesifikasikan cara kelas itu berbeda dari kelas yang telah ada • Dengan pewarisan dimungkinkan menciptakan klasifikasi berhirarki
Inheritance • Dengan pewarisan, dapat menciptakan class umum yang mendefinisikan prilaku umum dari item-item yang saling berhubungan • Class yang diwarisi disebut superclass sedangkan kelas yang mewarisi disebut subclass • Subclass mewarisi semua metode dan variabel superclass • Superclass secara otomatis memberi perilakunya ke subclass pewaris • Subclass merupakan gabungan seluruh fitur dari superclass-superclass di hirarki ditambah fitur kepunyaan sendiri
Inheritance • Contoh : •Kucing.Besar Superclass •Singa Subclass •Harimau Subclass • Struktur pewarisan dalam konteks pemrograman berorientasi yang memungkinkan kita mewariskan data/attribut serta metoda/fungsi yang dimiliki oleh kelas induk (superkelas) ke kelas-kelas dibawah (subkelas) yang terkait menurut hierarki pewarisan
Inherintance • Java sebagai bahasa yang berorientasi objek • Program java tidak hanya terdiri dari statement/perintah saja, namun juga memiliki class • Dalam setiap class terdapat statementstatement program • Statement dapat berupa deklarasi atau juga ekspresi
Contoh 01 : menggunakan Abstract • Super Kelas : “Kucing Besar” • Mempunyai 2 Sub Kelas, yaitu : • Sub Kelas : “Singa” • Sub Kelas : “Harimau” • Kelas “Singa” dan “Harimau” mewarisi data/atribut serta metoda/fungsi yang dimiliki oleh Kelas “Kucing Besar” yang dispesifikasi visibilitynya sebagai protected • Kata kunci abstract, berarti memuat definisi-definisi data/atribut serta metoda/fungsi, sedangkan implementasinya masing-masing akan didefinisikan di kelas-kelas turunannya; implementasi metode/fungsi akan dilakukan di SubKelas
Contoh 01 : • Kata kunci protected memungkinkan kita mewariskan baik data/atribut nama serta metoda/fungsi makan() dari superkelas kucing besar ke kelas-kelas dibawahnya (singa, Harimau), sehingga kelas-kelas dibawahnya tidak memerlukan definisi untuk data/atribut nama maupun metoda/fungsi makan() • Metode makan() didefinisikan sebagai abstract sedangkan untuk implementasinya menggunakan kelas singa dan harimau • Misal : class Singa extends KucingBesar • Berguna untuk memberitahu interpreter Java bahwa kelas Singa merupakan turunan dari kelas KucingBesar
Contoh 01
• Ada 2 buah class, 1 class abstract dan 1 class tes
Contoh 01 : class KucingBesar
Contoh 01 : class Singa
Contoh 01 : class Harimau
Contoh 01 : class TesKucingBesar
Contoh 02 : menggunakan Inputan • Super Kelas : “Kucing” • Mempunyai 2 Sub Kelas, yaitu : • Sub Kelas : “KucingMakan” • Sub Kelas : “JmlAnakKucing” • Kelas “KucingMakan” dan “JmlAnakKucing” mewarisi data/atribut serta metoda/fungsi yang dimiliki oleh Kelas “Kucing” yang dispesifikasi visibilitynya sebagai protected • Menggunakan 2 jenis inputan, yaitu : bilangan bulat dan string • Diimplementasikan dengan menggunakan 2 buah metoda/fungsi yang berbeda, yaitu : metoda/fungsi inputDataInteger(), inputDataString() dan Tulis()
Contoh 02 : menggunakan Inputan • Kelas Kucing mewariskan semua data/attribut yang dimilikinya (Nama, Umur, Berat) • Memiliki setter/setting untuk masing-masing data/ atribut (setNama, setUmur, setBerat) yang mengakses ke dalam kelas Kucing • Kelas KucingMakan memiliki atribut Makanan • Kelas JmlAnakKucing memiliki atribut Makanan dan Jumlah Anak • Kelas KucingMakan dan JmlAnakKucing memiliki atribut yang sama yaitu Makanan. • Tetapi ke dua kelas (KucingMakan, JmlAnakKucing) memiliki visibility bersifat private • Untuk ke dua kelas (KucingMakan, JmlAnakKucing) menempati lokasi yang berbeda di memori komputer
Contoh 02
• Ada 1 super class, 2 sub class dan 1 class tes
Contoh 02 : class Kucing
Contoh 02 : class Kucing
Contoh 02 : class KucingMakan
Contoh 02 : class JmlAnakKucing
Contoh 02 : class TesKucing
Contoh 02 : class TesKucing
Contoh 03 : menggunakan Super
• Kelas SukuInd mewariskan semua data/attribut yang dimilikinya (Nama, Alamat, Hobby, Pekerjaan) • SubKelas Sunda, Sumba, Batak, Jawa menggunakan super untuk mengambil super kelas • Kelas Jawa menggunakan metode overloading dengan parameter berupa pecahan (metode1) dan parameter berupa bilangan bulat (metode2)
Contoh 03 • Ada 1 super class, 4 sub class dan 1 class tes
Contoh 03 : class SukuInd
Contoh 03 : class Sunda
Contoh 03 : class Sumba
Conto h 03 : class Batak
Contoh 03 : class Jawa
Contoh 03 : class Jawa
Contoh 03 : class TesSuku
Contoh 03 : class TesSuku
Kerjakan : email:
[email protected]
Praktikum 3 : Repetition Praktikum 4 : Array Praktikum 5 : Class