NPM : 201743501243
KELAS : S5D
Terdapat dua golongan pegawai di universitas, yaitu Dosen dan Staf biasa. Semua
pegawai mendapatkan gaji awal yang sama, yaitu 1.500.000
Class Pegawai merupakan super class dari class dosen dan class staff
Gaji tambahan dosen dihitung dari jumlah sks yang diampu
Gaji tambahan staf dihitung dari jumlah kehadiran per bulan
Buatlah program untuk mencetak semua gaji pegawai
Jawab
public class Pegawai {
public Pegawai(){
public Staf(){
}
public Staf(String nip, String nama, String alamat) {
super(nip, nama, alamat);
}
public Dosen(){
Method overriding merupakan method yang parrent class yang ditulis kembali oleh subclass. Aturan
dari method overriding pada Java :
1. Parameter yang terdapat pada method overriding di subclass harus sama dengan parameter
yang terdapat pada parent class.
1. Jumlah parameter
2. Tipe data dari parameter
Jika diartikan kata this ke dalam bahasa indonesia yaitu berarti "ini". Dan keyword this ini digunakan
di dalam pemrograman yaitu biasanya digunakan menunjukkan bahwa atribut class yang saat ini di
akses atau yang sedang digunakan.Penggunaan keyword “this” yaitu digunakan untuk mengakses
kelas itu sendiri. Biasanya digunakan untuk mengakses atribut pada kelas.
public class main {
String mobil;
String sepedamotor;
void info(String mobil){
this.mobil=mobil;
}
String sepedamotor(String spd){
this.sepedamotor=spd;
return spd; }
public static void main(String[] args) {
// TODO code application logic here
main obj = new main ();
System.out.println("Nama mobil : "+(obj.mobil="mini cooper"));
System.out.println("Nama sepeda motor : "+(obj.sepedamotor="Vixion"));
}
}
Return adalah method yang mengembalikan nilai secara langsung atau sebuah nilai dari variable, cara
penulisan method return seperti berikut ini:
//TipeData //NamaMethod(){
return //Nilai yang ingin dikembalikan;
}
String jenis(){
//Mengembalikan Nilai Hewan
return hewan;
}
int Jumlah(){
hasil = kandang1 + kandang2;
return hasil; //Mngembalikan Nilai dari Hasil
}
}
Interface Selain kelas abstrak terdapat pula kelas interface. Kelas ini sering disebut pure abstract.
Sebuah interface dapat dibayangkan sebagai kelas abstrak yang seluruh methodnya adalah abstrak.
Interface digunakan pada kelas-kelas lain dengan cara diimplementasikan dengan menggunakan key
word implements. Sedangkan untuk membentuknya menggunakan keyword interface dengan aturan
seperti berikut.
Return adalah method yang mengembalikan nilai secara langsung atau sebuah nilai dari variable, cara
penulisan method return seperti berikut ini:
//TipeData //NamaMethod(){
return //Nilai yang ingin dikembalikan;
}
String jenis(){
//Mengembalikan Nilai Hewan
return hewan;
}
int Jumlah(){
hasil = kandang1 + kandang2;
return hasil; //Mngembalikan Nilai dari Hasil
}
}
5. Buat Program dengan ketentuan dibawah ini
import java.util.Scanner;
public class mencariNilaiMhsIf {
public static void main (String [] hady){
Scanner input = new Scanner (System.in);
String nama , nim ;
char grade ;
final double n_absen , n_uts , n_tugas , n_uas , n_akhir;
System.out.println("===== Menghitung Nilai Mahasiswa=====\n");
System.out.print("Masukan nama : ");
nama = input.nextLine();
System.out.print("Masukan NIM : ");
nim = input.nextLine();
System.out.print("jumlah absen : ");
n_absen = input.nextInt();
System.out.print("Nilai tugas : ");
n_tugas = input.nextInt();
System.out.print("Nilai uts : ");
n_uts = input.nextInt();
System.out.print("Nilai uas : ");
n_uas = input.nextInt();
n_akhir = (0.10 * n_absen + 0.20 * n_tugas + 0.25 * n_uts + 0.45 * n_uas);
if (n_akhir >= 85 && n_akhir <=100){
grade = 'A';
}
else if (n_akhir > 75 && n_akhir < 85){
grade = 'B';
}
else if (n_akhir > 65 && n_akhir < 75){
grade = 'C';
}
else if (n_akhir > 50 && n_akhir < 65){
grade = 'D';
}
else {
grade = 'E';
}
if (grade == 'A' || grade == 'B' || grade == 'C'){
System.out.println("\n"+nama+" dengan NIM "+nim+" memiliki nilai akhir "+n_akhir+" =
("+grade+")"+""
+ "\n dan dinyatakan Lulus");
}
else {
System.out.println("\n"+nama+" dengan NIM "+nim+" memiliki nilai akhir "+n_akhir+" =
("+grade+")"+""
+ "\n dan dinyatakan Tidak Lulus");
}
}
}
6. Perhatikan program berikut ini kemudian Analisa dan tentukan outputnya:
class Makhluk
{
public void info()
{
System.out.println("info makhluk");
}
}
Polymorphisme Jika kita mempunyai variabel objek yang bertipe superkelas variabel objek ini bisa
diisi dengan objek super kelas atau sub kelas tanpa memerlukan superkelas atau subkelas tanpa
memerlukan perubahan tipe. Model ini dikenal dengan nama polimorfisme, yaitu kemmapuan untuk
berhubungan dengan berbagai tipe didasarkan pada fitur yang sama.
7. Perhatikan program berikut ini kemudian Analisa dan tentukan outputnya:
public class BangunDatar {
float luas(){
System.out.println("Menghitung laus bangun datar");
return 0;
}
float keliling(){
System.out.println("Menghitung keliling bangun datar");
return 0;
}
}
public class Persegi extends BangunDatar {
float sisi;
}
public class Lingkaran extends BangunDatar{
// jari-jari lingkaran
float r;
}
public class PersegiPanjang extends BangunDatar {
float panjang;
float lebar;
}
public class Segitiga extends BangunDatar {
float alas;
float tinggi;
}
public class Main {
public static void main(String[] args) {
mPersegi.luas();
mPersegi.keliling();
mLingkaran.luas();
mLingkaran.keliling();
mPersegiPanjang.luas();
mPersegiPanjang.keliling();
mSegitiga.luas();
mSegitiga.keliling();
}
}
Kenapa hasilnya bisa begitu?
Karena yang kita panggil sebenarnya adalah method luas() dan keliling() milik si induk
(BangunDatar).
Objek anak dari BangunDatar belum memiliki method luas() dan keliling(), akhirnya mengambil
milik induknya.
Lalu bagaimana kalau kita ingin membuat agar semua class anak memiliki method luas() dan
keliling() yang berbeda dari induk?
8. Perhatikan program dibawah ini, Analisa apakah overload atau override serta
tentukan outputnya
class CetakDataTipe {
// membuat method dengan nama sama tapi berbeda tipe data
public void CetakData(String Cetak) {
System.out.println(Cetak);
}
public void CetakData(int Cetak) {
System.out.println(Cetak);
}
public void CetakData(double Cetak) {
System.out.println(Cetak);
}
public void CetakData(char Cetak) {
System.out.println(Cetak);
}
}
9. Perhatikan program dibawah ini kemudian Analisa , perbaiki yang salah , tentukan
apakah method tersevut override atau overload dana pa outputnya.
class first
{
public void show()
{
System.out.println("Keterangan ini ditampilkan oleh class first");
}
}
class second extends first
{
public void show()
{
System.out.println("Keterangan ini ditampilkan oleh class second");
}
}
public class Main {
public static void main(String[] args)
{
first satu = new first();
satu.show();
second dua = new second();
dua.show();
}
}
Overriding : kemampuan class turunan untuk memodifikasi methods atau properties dari class induk.
Dengan overriding kita bisa membuat implementasi baru pada methods atau properties di class
turunan yang berbeda dengan methods atau properties yang ada pada class induk.
10. Buat program untuk mengkonversi suhu dari Fahrenheit ke celcius atau
sebaliknya
import java.util.Scanner;