Thursday, September 3, 2015

Laporan Praktikum Pemrograman Berorientasi Objek Pertemuan 9


PERTEMUAN KE-9
ABSTRACT CLASS
  1. Pembahasan Praktikum
Class Karyawan menggunakan kata kunci abstract sehingga tidak dapat di-instance. Class ini mempnyai tiga atribut yaitu nama dengan tipe String, address bertipe String juga dan number bertipe integer. Dari ketiga atribut mempunyai modifier private sehingga hanya dapat diakses dalam class ini.
Dari class Karyawan kita membuat kontruktornya yang namanya sama dengan nama classnya. Karena atribut dari class Karywan mempunyai tiga atribut sehingga pada konstruktor ini kita membuat tiga parameter untuk memdeklarasikannya. Seperti pada atributnya, this.name = name, this.address=address dan this.number=number sehingga setiap atribut memberikan nilainya kepada atribut itu sendiri.
Method computePay() bertipe double sehingga nilai yang dikembalikan akan bilangan pecahan. Dalam method ini terdapat kata kunci return sehingga nilainya akan dikembalikan ke nama methodnya. nilai yang akan dikembalikan adalah perintah output yang ada pada method ini seperti String yang diapit oleh petik dua.
Method ini akan menampilkan perintah output dari atribut name dan address yang dideklarasikan pada konstruktor diatas. Karena method ini tidak mempunyai nilai balik sehingga menggunakan kata kunci void pada tipenya.
Method ini untuk mengembalikan nilai dari atribut nama, address dan number kepada nama methodnya dengan bertipe String sehingga akan menampikan karakter dari ketiga atribut ini.
Pada method diatas merupakan method yang akan memberikan nilainya kepada nama methodnya untuk menyimpan. Seperti pada method getName() yang atribut name mengembalikan nilainya kepada method getName(), atribut address mengembalikan nilainya kepada method getAddress() sedangkan method setAddress() membuat satu parameter untuk memberikan nilainya kepada atribut newAddress dan method getNumber() mendapatkan dinalai baliknya dari atribut number untuk menyimpannya.
Class Gaji merupakan turunan dari class Karyawan sehingga menggunakan kata kunci extends. Dari class ini terdapat atribut yang bernama Gaji dengan tipe double kemudian kita membuat kontruktor untuk mendeklarasikan atribut dari class Karyawan yang diturunkan ke dalam class ini. Dari atribut name, address dan number menggunakan kata kunci super sehingga atribut tersebut bisa diakses oleh method lain. Kemudian kita membuat method baru yaitu setGaji() yang menyimpan niai dari atribut Gaji.
Pada class ini juga terdapat method yang bernama mailCheck() yang akan menampilkan perintah output dari nilai method getName() dan atribut Gaji. Method mailCheck tidak mempunyai nilai balik sehingga menggunakan kata kunci void pada tipenya dengan modifier public.
Method getGaji() mempunyai nilai balik dari atribut Gaji sehingga menggunakan kata kunci return dengan tipe double pada tipe data methodnya. Pada method setGaji() mempunyai satu parameter yaitu newGaji yang akan mengambil nilai dari atribut Gaji jika nilai dari atribut newGaji lebih besar atau sama dengan 0.0 maka nilai dari Gaji akan disimpan pada atribut newGaji.
Method computePay() bertipe double yang mempunyai perintah output dari method getName() sehingga dari method getName() akan memberikan nilainya ke method ini lagi kemudian akan mengembalikan nilai dari atribut Gaji dibagi 52 dan disimpan pada nama methodnya.
Dari class sebelumnya kita membuat class main untuk mencetak nilai dari atribut yang telah dideklarasikan yaitu class AbstractDemo. Dari class Gaji membuat objek baru barnama s dengan nilai dari setiap atribut sudah dideklarasikan pada objek baru ini sehingga akan mengambil nilainya sesuai dengan parameter yang sudah didefinikan pada kontruktor Gaji. Kemudian class Karyawan juga membuat objek barunya dengan nama e, karena class Karyawan menurunkan atributnya ke class Gaji sehingga untuk membuat objek baru harus menggunakan class Gaji dengan nilai dari atributnya sudah didefinikan pada objek ini juga.
Dari objek baru yang dibuat maka kita gunakan untuk memanggil method mailCheck() untuk menampilkan nilai dari atribut yang dideklarasikan. Seperti pada objek s dengan memanggik method mailCheck() pada class Gaji sehingga perintah yang ada didalamnya akan ditampilkan kemudian objek e untuk memanggil method mailCheck() pada class Karyawan untuk menampilkan nilai atributnya.
Dari objek baru diatas dapat digunakan lagi untuk memanggil method toString() dan computePay() pada class Gaji dan Karyawan untuk menampilkan nilainya. Dari pembahasan diatas hasil output hampir sama dengan perintah ini. Method toString untuk menampilkan nilai dari atribut name, address dan number yang dikembalikan ke nama methodnya kemudian method computePay() untuk menampilkan method getName() dan nilai atribut Gaji yang dibagi dengan 52.


  1. Tugas
  1. Mengubah method computePay() menjadi method abstract
  1. Apakah ada perubahan di class Gaji?
  • Ya, terdapat perubahan di class Gaji pada method getName() karena pada method abstract computePay() menggunakan kata kunci abstract void sehingga pada method getName() yang ada pada class Gaji juga harus menggunakan kata kunci void seperti dibawah ini:

No comments:

Post a Comment