• Tidak ada hasil yang ditemukan

bahasa pemrograman menggunakan java modu (1)

N/A
N/A
Protected

Academic year: 2018

Membagikan "bahasa pemrograman menggunakan java modu (1)"

Copied!
16
0
0

Teks penuh

(1)

LAPORAN RESMI

PRAKTIKUM BAHASA PEMROGRAMAN

BAB 5

POLIMORFISMSE

Disusun Oleh :

LABORATORIUM MICROTEACHING DAN KOMPUTER

JURUSAN PENDIDIKAN INFORMATIKA

FAKULTAS KIP

UNIVERSITAS TRUNOJOYO MADURA

2014

Disetujui : ...-...-.../Bangkalan

(

AGUS PRIYONO) 120411100056

NAMA : FARIDATUS SHOFIYAH

NRP : 13.06.311.00112

KELOMPOK : C1

DOSEN PENGAMPU : MEDIKA RISNASARI, MT

(2)

BAB I PENDAHULUAN

1.1Latar Belakang

Polimorfisme adalah kemampuan mengungkap suatu hal yang berbeda melalui

satu cara yang sama. Apabila mempunyai objek yang bertipe superkelas,

variable objek ini bisa diisi dengan objek superkelas ataupun objek subkelas

tanpa perlu melakukan perubahan tipe.

1.2Tujuan

(3)

BAB II DASAR TEORI

I. TEORI

Polimorfisme adalah kemampuan mengungkap suatu hal yang berbeda

melalui satu cara yang sama. Apabila mempunyai objek yang bertipe

superkelas, variable objek ini bisa diisi dengan objek superkelas ataupun

objek subkelas tanpa perlu melakukan perubahan tipe. Polymorphism berarti

sebuah object dapat memiliki berbagai bentuk, yaitu dengan memiliki nama

yang sama, tetapi behavior yang berbeda. Sebuah object dapat memiliki

berbagai bentuk baik dari class itu sendiri ataupun dari superclass-nya. Ada 2

macam bentuk polymorphism, yaitu:

 Overloading: penggunaan satu nama untuk beberapa method yang berbeda dalam suatu class. Nama method yang sama dibedakan dari

jumlah parameter dan tipe data parameternya. Overloading

mempunyai ciri-ciri sebagai berikut:

- Nama method harus sama

- Daftar parameter harus berbeda

- Return type boleh sama, juga boleh berbeda

Contoh penggunaan overloading dilihat di bawah ini:

Gambar(int t1) 1parametertitik,untuk menggambar titik

Gambar(int t1, int t2) 2parametertitik,untuk menggambar garis

Gambar(int t1, int t2,int t3) 2parametertitik,untuk menggambar

segitiga

Gambar(int t1, int t2,int t3, int t4) 2parametertitik,untuk

menggambar segiempat

 Overriding: mendeklarasikan sebuah method dengan nama dan parameter yang sama dari superclass-nya, kemudian dimodifikasi

ulang (menumpuk/mendefinisi ulang).

Pada polymorphism, dikenal juga dynamic binding atau ikatan dinamis yang

umumnya digunakan pada variabel bertipe class. Jika kita mempunyai variabel

(4)

subclass-nya tanpa melakukan perubahan tipe. Untuk lebih jelas mengenai

dynamic binding kita akan melihat contoh berikut:

Pada contoh class Manusia merupakan superclass, sedangkan class

Mahasiswa dan class Karyawan merupakan subclass dari class Manusia. Ketiga

class tersebut memiliki method setNama() dan getNama(). Kesamaan nama

package modul5;

//@author faridatus shofiyah/ 130631100112 public class Manusia_Modul5 {

private String nama;

public void setNama(String nama){ this.nama = nama;

(5)

dan tipe data method pada subclass yang mengacu superclass dinamakan

overriding method. Kemudian variabel object Manusia (mns) menunjuk ke

object yang dirujuk oleh Mahasiswa (mhs), pada baris mns = mhs; variabel

object Manusia (mns) ke object yang dirujuk oleh object Karyawan (kar), pada

(6)

BAB III IMPLEMENTASI

I. PELAKSANAAN PRAKTIKUM

1. Cobahlah contoh program diatas (class Manusia)

(7)

3. Berikut contoh penggunaan class dengan menerapkan constructor,

inheritance, access modifier (encapsulation) dan polymorphism.

Cobalah code di bawah ini sebagai latihan dan compile-running

(8)

import java.io.*;

public Manusia_2_Modul5(){ this.nama = "";

this.jns_kel = ""; this.tinggi = 0; this.berat = 0; }

public Manusia_2_Modul5(String nama, String jns_kel, double tinggi, double berat){

this.nama = nama; "+jns_kel+"\nTinggi : "+tinggi+"\nBerat : "+berat); }

}

class Mahasiswa extends Manusia_2_Modul5{

private String npm, asalSMU, fakultas, jurusan; int nTugas, nUjian;

public Mahasiswa(String nama, String jns_kel, double tinggi, double berat,String npm, String asalSMU, String fakultas, String jurusan, int nTugas, int nUjian){ super(nama, jns_kel, tinggi, berat);

public String cetak(String nTugas, String nUjian){ return (super.cetak()+"\n\nNPM : "+"\nAsal SMU : "+asalSMU+"\nFakultas : "+fakultas+"\nJurusan :

"+jurusan+"\nNilai Tugas : "+nTugas+"\nNilai Ujian : "+nUjian);

"L",170,60, "08120080035","SMAN 1", "Ilmu Komputer", "Pendidikan Informatika", 80, 90);

System.out.println(mhs.cetak()); }

(9)

II. TUGAS

PT. Biting Bersatu memiliki 50 orang pegawai, pegawainya tersebut terbagi

menjadi 2 status kepegawaian, yaitu sebagian pegawai tetap dan sebagian

yang lain (sisanya) adalah pegawai kontrak. Secara umum perbedaan antara

keduanya adalah pegawai tetap selain mendapatkan gaji juga mendapatkan

tunjangan yang besarnya 500 ribu, sedangkan pegawai kontrak hanya

mendapatkan gaji saja. Dari kasus diatas, dapat digambarkan class-class

pegawai sebagai berikut:

Class PegawaiKontrak, dengan atribut:

NIK : no pegawai kontrak (diinputkan)

Nama : nama pegawai (diinputkan)

MasaKontrak : lama kontrak pegawai (diinputkan)

Kehadiran : jumlah hari masuk dalam 1 bulan (diinputkan)

UangMakan : besarnya 8 ribu dikali jumlah kehadiran (tidak diinputkan)

Gaji : besarnya gaji pokok yang diterima tiap bulan (diinputkan)

Class PegawaiTetap, dengan atribut: NIK : no pegawai tetap (diinputkan)

Nama : nama pegawai (diinputkan)

Kehadiran : jumlah hari masuk dalam 1 bulan (diinputkan)

Tunjangan : besarnya 500 ribu (tidak diinputkan)

UangMakan : besarnya 8 ribu dikali jumlah kehadiran (tidak diinputkan)

Gaji : besarnya gaji pokok yang diterima tiap bulan (diinputkan)

Method-method yang harus ada:

hitungGaji(): untuk menghitung gaji bersih pegawai, dimana untuk

pegawai kontrak = Uang Makan + Gaji,

pegawai tetap = Tunjangan + Uang Makan + Gaji

lihatData(): untuk menampilkan data-data pegawai secara lengkap beserta

total gaji yang diterima (gaji bersih)

Dari kedua class diatas, analisa dan desainlah superclass yang tepat untuk

(10)

PegawaiBitingBersatu (yang menggunakan classclass diatas) yang

(11)

PT. BITING BERSATU

Kalian dapat menggunakan teknik polymorphism dalam menyelesaikan

permasalahan ini

public PegawaiTetap(String NIK, String Nama, int kehadiran, int gaji){

"+Nama+"\nKehadiran : "+kehadiran+"\nUang Makan : "+uangmakan+"\nGaji : "+gaji+"\nTunjangan :

"+tunjangan+"\nGaji Bersih : "+hitungGaji()); }

(12)

Class PegawaiKontrak.java

Class Main.java package Modul5;

import java.util.Scanner; // @author Faridatus Shofiyah

class PegawaiKontrak extends PegawaiTetap{ String MasaKontrak;

public PegawaiKontrak(String NIK, String Nama, String MasaKontrak, int kehadiran, int gaji){ super(NIK, Nama, kehadiran, gaji);

this.MasaKontrak = MasaKontrak; }

public int hitungGaji(){

return gaji+(uangmakan*kehadiran); }

public String Cetak(){

return (super.Cetak()+"\nMasa Kontrak : "+MasaKontrak);

(13)

package Modul5;

import java.util.Scanner;

// @author Faridatus Shofiyah/130631100112 */

class Menu extends PegawaiKontrak{

public Menu(String NIK, String Nama, String MasaKontrak, int kehadiran, int gaji){

super(NIK, Nama, MasaKontrak, kehadiran, gaji);} public Scanner in = new Scanner(System.in);

int x;

PegawaiTetap tetap = new PegawaiTetap(NIK, Nama, kehadiran, gaji);

(14)
(15)
(16)

BAB IV PENUTUP

4.1 Kesimpulan

. Polimorfisme adalah kemampuan mengungkap suatu hal yang berbeda

melalui satu cara yang sama. Apabila mempunyai objek yang bertipe

superkelas, variable objek ini bisa diisi dengan objek superkelas ataupun

objek subkelas tanpa perlu melakukan perubahan tipe. Polymorphism berarti

sebuah object dapat memiliki berbagai bentuk, yaitu dengan memiliki nama

Referensi

Dokumen terkait

Pada penelitian tersebut diperoleh bahwa kondisi optimum untuk adsorpsi zat warna Procion Red MX 8B dengan kitosan dan kitosan sulfat terjadi pada pH 2 dan

Hasil penelitian menunjukkan bahwa pati Talas Banten termodifikasi heat-moisture treatment mengalami peningkatan nilai kapasitas penyerapan air, penurunan nilai

Ruangan yang cukup baik untuk digunakan sebagai tempat pengasapan ikan adalah ruangan yang mempunyai suhu dan kelembaban yang rendah.. Suhu dan kelembaban yang rendah

Mendaftar pada kelurahan stempat sebagai bukti keterangan alamat perusahaan 2..

Kebakaran-kebakaran yang sering terjadi digeneralisasi sebagai kebakaran hutan, padahal sebagian besar (99,9%) kebakaran tersebut adalah pembakaran yang sengaja

Kemudian plastik panas terus diinjeksikan kedalam cetakan, material dengan suhu yang lebih rendah tadi terdorong terus kedalam dan meniggalkan bekas aliran..

Hal tersebut disebabkan karena pembelajaran yang berlangsung selama ini di sekolah kurang memberikan kesempatan kepada siswa untuk belajar mengkomunikasikan hasil

Menurut Hidayat (2010:2) “website atau situs dapat diartikan sebagai kumpulan halaman-halaman yang digunakan untuk menampilkan informasi teks, gambar diam atau