Thursday, September 3, 2015

Laporan Praktikum Pemrograman Berorientasi Objek Pertemuan 10


PERTEMUAN KE-10
POLIMORFISME
  1. Pembahasan praktikum 1
Pada potongan program diatas merupakan class Jumlah yang mempunyai tiga method yang namanya sama tetapi isi parameternya berbeda. Pada parameter pertama mempunyai jumlah parameter 2 dengan tipe data yang sama yaitu integer dengan atribut nya x dan y. Dari method itu mempunyai nilai balik yaitu penjumlahan dari x dan y yang akan disimpan dalam nama methodnya. kemudian method kedua mempunyai tiga parameter dengan tipe data integer juga yang atributnya adalah x, y dan z yang mempunyai nilai balik juga sehingga penjumlahan dari ketiga atribut akan tersimpan dalam nama methodnya. Dan juga method ketiga mempunya I dua parameter tetapi mempunyai tipe data yang berbeda dengan method pertama. Pada method ketiga ini atribut pi bertipe data double dan x bertipe data integer dan juga mempunyai nilai balik yaitu penjumlahan dari atribut pi dan x sehingga nilainya akan tersimpan dalam nama method ketiga.
Dari class diatas kita membuat class main untuk menampikan nilai dati penjumlahan atributnya yaitu class Penjumlahan. Untuk memanggil setiap methodya kita membuat lagi objek baru yaitu obj sehingga kita gunakan objek baru ini untuk memanggil method diatas untuk menampilkan nilainya seperti pada kodig diatas dari ketiga method namanya sama tetapi jumlah parameter dan tipe datanya berbeda sehingga pada nilai yang sudah didefinisikan akan mengenal setiap methodnya dengan menampilkan pada layar output.
  1. Pembahasan praktikum 2
Class Penggajian mempunyai dua atribut yaitu gapok dan masa_kerja. Dari nama class-nya kita membuat kostruktornya untuk mendeklarasikan nilai atributnya yaitu dengan membuat atribut baru pada parameternya sehingga nilai dari atribut utamanya akan diberikan ke atribut baru seperti pada atribut gapok akan menyimpan nilainya pada atribut g dan atribut masa_kerja akan menyimpan nilainya pada atribut mk.

Pada kontruktor diatas merupakan memberikan nilai kepada atribut baru sedangkan pada konstruktor ini merupakan memberikan nilai awal kepada abtribut utama seperti gapok dan masa_kerja dengan nilai awalnya sama dengan 0.
Pada kontruktor ini kita membuat atribut baru lagi pada parameternya dengan mendeklarasikan nilai dari atribut gapok yaitu nilai gapok sama dengan masa_kerja dan sama dengan juga atribut lembur.
Kemudian membuat satu method untuk mendeklarasikan nilai dari atribut gapok dan masa_kerja dengan nama methodnya hitung_gaji yang mempunyai nilai balik sehingga nilai dari perkalian kedua atribut akan disimpan pada nama methodnya.
Pada class ini merupakan class main dari class diatas. Untuk mencetak nilai dari atribut maka kita membuat objek baru dari class Penggajian. Karena class Penggaijan mempunayai tiga konstruktor dengan deklarasi yang berbeda sehingga pada class ini kita membuat tiga objek baru untuk mamanggilnya dengan nilai dari atribut yang ada pada parameternya sudah didefinikan pada objek barunya.
Untuk menyimpan nilai perkalian dari atribut gapok dan masa_kerja maka kita membuta atribut baru yaitu atribut gaji. Karena nilai perkalian dari kedua atribut sudah tersimpan pada nama methodnya sehingga atribut gaji menggunaka objek baru untuk memanggil lagi nilai yang disimpan pada nama methodnya, seperi pada objek pertama memanggil kontruktor pertama dengan nilai yang didefinisikan yaitu 10 dan 15 sehingga pada method hitung_gaji akan mengalikan kedua nilai terbut kemudian disimpan pada nama methodnya dan dipanggil oleh objek pertama dan disimpan lagi pada atribut gaji kemudian ditampilkan. Pada objek kedua tidak mempunyai nilai sehingga akan mencetak default dari nilai double yaitu 0.0 kemudian pada objek ketiga nilai atribut lemburnya 5 sehingga akan mengkalikan nilai itu sendiri karena pada kontruktor kedua nilai dari ketiga atribut adalah sama sehingga perkalian dari nilai atribut akan disimpan pada nama methodnya kemudian dipanggil oleh objek ketiga dan disimpan lagi pada atribut gaji kemudian ditampilkan.

  1. Pembahasan Latihan
Pada class Managen merupakan class yang mewarikan class Penggajian sehingga menggunakan kata kunci extends. Class Manager mempunyai atribut sendiri yaitu bonus dengan tipe data double dan modifiernya private. Kemudian untuk mendeklarasikan nilai atrubutnya maka kita membuat konstruktornya dengan menggukan atribut dari class Panggajian pada parameternya dan atribut dari class ini sendiri. Kata kunci super digunakan untuk memberikan hak akses pada atribut gapok dan masa_keja dari kelas Penggajian sehingga kedua atribut tersebut sebagai atribut dari kelas ini juga, kemudian atribut bonus merupakan atribut dari kelas ini kemudian pendeklarasian pada parameter kontruktornya juga nama atributnya bonus sehingga menggunakan kata kunci this untuk memberikan nilainya pada atribut bonus itu.
Method ini menghitung nilai perkalian dari atribut gapok dengan masa_kerja kemudian ditambah lagi dengan nilai atribut bonus kemudian dikembalikan ke nama methodnya karena mempunyai nilai balik yaitu dengan menggunakan kata kunci return.
Dari class Penggajian kita membuat method main-nya kemudian membuat objek baru dari nama kelasnya. Pada objek baru yang kita buat yang pertama adalah untuk memanggil method hitung_gaji() pada class Penggajian sehingga nilai yang didefinisikan akan dieksekusi sesuai dengan parameter dan pendeklarasian dalam methodnya kemudian dengan menggunakan objeb baru yang bernama susi untuk memanggil method tersebut. Kemudian pada objek baru kedua adalah untuk memanggil method pada class Manager tetapi class Manager merupakan pewarisan dari class Penggajian sehingga menggunakan class Penggajian untuk membuat objek barunya yang bernama andre dengan nilai atributnya didefinisikan dalam objek barunya sehingga akan dieksekusi sesuai dengan pendeklarasian yang sudah dideklarasikan pada method hitung_gaji(). Kemudian kita menggunakan objek baru itu untuk memanggil nama methodnya karena nilainya dikembalikan ke nama methodnya sehingga perintah output menampilkan nilainya sesuai dengan rumus yang dideklarasikan pada method hitung_gaji().

No comments:

Post a Comment