algoritma dan pemograman 2 (pewarisan).docx

33
LAPORAN HASIL PRAKTIKUM ALGORITMA DAN PEMPROGRAMAN II Nama : Yopi Lala NIM : DBC 113 016 Kelas : G Modul : II (PEWARISAN)

Upload: yopi-miri

Post on 28-Sep-2015

53 views

Category:

Documents


7 download

DESCRIPTION

yp

TRANSCRIPT

LAPORAN HASIL PRAKTIKUMALGORITMA DAN PEMPROGRAMAN II

Nama: Yopi LalaNIM: DBC 113 016Kelas: GModul: II (PEWARISAN)

JURUSAN/PROGRAM STUDI TEKNIK INFORMATIKAFAKULTAS TEKNIKUNIVERSITAS PALANGKA RAYA2014BAB ITUJUAN DAN LANDASAN TEORIA. TujuanSetelah menyelesaikan modul ini, mahasiswa diharapkan mampu membuat kelas baru dari kelas yang sudah ada dengan pewarisan.

B. Landasan Teori1. PENGERTIAN PEWARISAN (INHERITANCE)Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan. Inheritance adalah konsep pemrograman berorientasi object yang memungkinkan membuat hubungan di mana ada class yang mewarisi semua attribute dan method dari class lain. Class baru yang lebih spesifik disebut subclass atau class turunan, sedangkan class yang diturunkan disebut superclass. Untuk menguji suatu kasus disebut inheritance atau tidak, dapat menggunakan kata kunci IS A. (Namun, pengujian ini hanya berlaku searah (dari subclass ke superclass)). Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class.Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.Dari hirarki diatas dapat dilihat bahwa, semakin kebawah, class akan semakin bersifat spesifik. Class mamalia memiliki seluruh sifat yang dimiliki oleh binatang, demikian halnya juga macan , kucing, Paus dan Monyet memiliki seluruh sifat yang diturunkan dari class mamalia.Dengan konsep ini, karakteristik yang dimiliki oleh class binatang cukup didefinisikan didefinisikan dalam class binatang saja.Class mamalia tidak perlu mendefinisikan ulang apa yang telah dimiliki oleh class binatang, karena sebagai class turunannya, ia akan mendapatkan karakteristik dari class binatang secara otomatis. Demikian juga dengan class macan, kucing, Paus dan monyet, hanya perlu mendefinisikan karakteristik yang spesifik dimiliki oleh class-nya masing-masing. Contoh lain mamalia: (berdaun teling, beranak, menyusui). Contohnya: Anjing, kucing, marmut pengujiaannya: marmut IS A mamalia. Kendaraan (mempunyai kemudi) contohnya: mobil, motor, pesawat terbang Pengujiannya: motor IS A kendaraan.Dengan memanfaatkan konsep pewarisan ini dalam pemrograman, maka hanya perlu mendefinisikan karakteristik yang lebih umum akan didapatkan dari class darimana ia diturunkan.PemrogramanC++ memungkinkan suaru class dapat mewarisi data ataupun ke anggota class lain. Dalam hal ini class yang diwarisi sifat disebut class turunan, sedangkan kelas yang mewarisi disebut class dasar.Pewarisan dibedakan menjadi 3, yaitu :1. Pewarisan tunggal adalah pewarisan yang mana kelas dasarnya tunggal. Pada pewarisan ini, kelas turunan dapat berjumlah lebih dari satu.2. Pewarisan jamak adalah dimana satu kelas diturunkan lebih dari satu kelas yaang berbeda. Perlu dicatat bahwa kelas dasarnya bukan merupakan turunan dari satu kelas.3. Pewarisan jamak maya adalah yang mana kelas dasarnya lebih dari satu dan beberapa diatara kelas tersebut merupakan kelas turunan dari kelas dasar yang sama.Salah satu hal penting dalam class adalah inheritance. Inheritance mengijinkan kita untuk membuat objek yang diturunkan dari objek lain, sehingga dimungkinkan didalamnya terdapat member lain selain membernya sendiri. Sebagai contoh, misalnya kita ingin mendeklarasikan sederetan class yang mendeskripsikan polygon seperti CRectangle atau CTriangle. Keduanya dapat dideskripsikan dengan dua atribut yakni : alas dan tinggi.Untuk menurunkan class dari yang lain, kita menggunakan operator : (colon) dalam deklarasi class turunan dengan cara sbb:class derived_class_name: public base_class_name; Dimana derived_class_name adalah nama class turunan dan base_class_name adalah nama class yang menjadi dasar. Public dapat diganti dengan akses lain misalnya protected atau private, dan menjelaskan akses untuk member yang diturunkan.Kelas dasar : Sifat a Sifat bKelas turunan : Sifat a Sifat b Sifat cSifat a dan sifat b diwariskan pada kelas turunan.Keuntungan pewarisan sifat adalah suatu kode yang telah ditulis mudah sekali untuk dipanggil kembali. Sifat yang dimaksud dalam class adalah private, protected dan public. Sifat yang dapat diwariskan adalah protected dan public. Private bersifat khusus sehingga tidak adapt diwariskan.

2. DEKLARASI PEWARISAN (INHERITANCE)Deklarasi yang digunakan adalah dengan menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.public class B extends A { }Pada saat dikompilasi, Kompiler Java akan membacanya sebagai subclass dari class Object.public class A extends Object { }

3. KAPAN KITA MENERAPKAN INHERITANCEKita baru perlu menerapkan inheritance pada saat kita jumpai ada suatu class yang dapat diperluas dari class lain.Misal terdapat class Pegawai public class Pegawai { public String nama; public double gaji; } Misal terdapat class Manager public class Manajer { public String nama; public double gaji; public String departemen; }

Dari 2 buah class diatas, kita lihat class Manajer mempunyai data member yang identik sama dengan class Pegawai, hanya saja ada tambahan data member departemen.Sebenarnya yang terjadi disana adalah class Manajer merupakan perluasan dari class Pegawai dengan tambahan data member departemen.Disini perlu memakai konsep inheritance, sehingga class Manajer dapat kita tuliskan seperti berikut :public class Manajer extends Pegawai { public String departemen; }

4. KEUNTUNGAN INHERITANCE Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum.

5. ISTILAH INHERITANCE ExtendsKeyword ini harus kita tambahkan pada definisi class yang menjadi subclass. Superclass Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak. Subclass Subclass adalah class anak atau turunan secara hirarki dari superclass. Super Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Methode Overriding Pendefinisian ulang method yang sama pada subclass.Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama.

BAB IILangkah Kerja1. Buatlah program seperti dibawah ini!#include #includeClass point {Public :Point (float = 0.0, float = 0.0);Void cetakPoint ();Protected :Float x,y;};Point : : point (float, float b){Cout