Anda di halaman 1dari 20

LAPORAN PRAKTIKUM

PEMROGRAMAN DASAR

Penyusun:
Aristya Miftahun Nur Rizky(220631100044)

LABORATORIUM SISTEM INFORMASI PENDIDIKAN

FAKULTAS ILMU PENDIDIKAN

UNIVERSITAS TRUNOJOYO MADURA

2023
Modul IV : Abstraction

1.1 Tujuan

1. Memahami konsep abstract class dalam JAVA.


2. Mengimplementasikan abstract class dalam JAVA.
3. Memahami konsep abstract method dalam JAVA.
4. Memahami konsep final keyword dalam JAVA.
5. Mengimplementasikan final keyword dalam JAVA.

1.2 Landasan Teori


A. Abstract Class
Abstract Class merupakan class yang didefinisikan/dideklarasikan
dengan modifier abstract. Abstract class tidak dapat diinstantiasi.
Abstract class dapat memiliki abstract method atau tidak. Sedangkan,
jika sebuah class memiliki abstract method minimal 1 maka class
tersebut harus dideklarasikan sebagai abstract class. Untuk
menggunakan abstract class, harus menggunakan inheritance.
Deklarasi abstract class:

abstract class [nama_kelas]{


// ................
//..................
}

B. Abstract Method
Abstract method merupakan method yang tidak memiliki body method.
Abstract method digunakan jika pengguna menginginkan untuk membuat
class yang memiliki method tertentu, namun implementasi nyata ditentukan
oleh subclass. Sehingga, method di dalam classtersebut
didefinisikan sebagai abstract method.

Deklarasi abstract method :


abstract [tipe_data] [nama_method]();

Contoh syntax abstract method dengan parameter :


abstract void move(double x, double y);
C. Final Keyword
Jika pengguna menginginkan suatu class tidak dapat diturunkan atau
suatu method tidak dapat dilakukan overriding, maka digunakan final
keyword. Class atau method yang diberi keyword final tidak boleh berupa
abstract class atau abstract method. Hal ini disebabkan karena untuk
menggunakan abstract class harus diturunkan dan abstract method
harus di-override.

Syntax final keyword pada class :


[access_modifier] final [nama_class]

Syntax final keyword pada method :


[access_modifier] final [tipe_data] [nama_method](){
.... //body method
}

1.3 Alat dan Bahan


1. Apache NetBeans 15
2. Laptop
1.4 Langkah-langkah Percobaan
1. Buatlah program seperti berikut!

abstract class orang {


private String nama;
private double tinggi;
private double berat;

public orang(String nama, double tinggi, double berat){


this.nama = nama;
this.tinggi = tinggi;
this.berat =berat;
}
public String toString(){
return ("Nama : " + nama+ "\nTinggi :" + tinggi+ "\nBerat :"+ berat);
}
}
public class Latihan2 {
public static void main(String[] args) {
orang org1 = new orang("Ani",156,55); //tidak dapat diinstantiasi
}
}
2. Buatlah program seperti berikut!
abstract class orang {
private String nama;
private double tinggi;
private double berat;

public orang(String nama, double tinggi, double berat){


this.nama = nama;
this.tinggi = tinggi;
this.berat=berat;
}

public String toString(){


return ("Nama : " + nama+ "\nTinggi :" + tinggi+ "\nBerat :"+ berat);
}
}

class mahasiswa extends orang{


private String nim;
private String univAsal;
private double nilai;
public mahasiswa(String nama, double tinggi, double berat, String nim,
String univAsal,double
nilai){
super (nama, tinggi, berat);
this.nim = nim;
this.univAsal = univAsal;
this.nilai = nilai;
}
public String toString(){
return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :"
this.nilai = nilai;
}
public String toString(){
return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :"
+nilai);
}
}
public class Latihan2 {
public static void main(String[] args) {
orang mhs1 = new mahasiswa("Adi", 170, 68, "12345", "Harapan",
90);
System.out.println(mhs1.toString());
}
}
3. Buatlah program seperti berikut!
final class orang { private
String nama;private
double tinggi;private
double berat;

public orang(String nama, double tinggi, double berat){


this.nama = nama;
this.tinggi = tinggi;
this.berat =berat;
}

public final String toString(){


return ("Nama : " + nama+ "\nTinggi :" + tinggi+ "\nBerat :"+ berat);
}
}

class mahasiswa extends orang{


private String nim;
private String univAsal;
private double nilai;
public mahasiswa(String nama, double tinggi, double berat, String nim,
String univAsal,double
nilai){
super (nama, tinggi, berat);
this.nim = nim;
this.univAsal = univAsal;
this.nilai = nilai;
}
public String toString(){
return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :"
this.nilai = nilai;
}
public String toString(){
return(super.toString()+ "\nNIM : " + nim + "\nUniversitas Asal : "+
univAsal+ "\nNilai :"
+nilai);
}
}
public class Latihan2 {
public static void main(String[] args) {
orang org1 = new orang("Ani",156,55);
System.out.println(org1.toString());
mahasiswa mhs1 = new mahasiswa("Adi", 170, 68, "12345",
"Harapan", 90);
System.out.println(mhs1.toString());
}
}
1.5 Hasil dan Analisa Percobaan

1. Hasil output dan analisa program seperti berikut :

Analisa :
Program tersebut mengimplementasi kelas abstrak "orang" dalam bahasa
pemrograman Java. Kelas "orang", memiliki atribut "nama", "tinggi", dan
"berat" serta konstruktor untuk menginisialisasi nilai-nilai atribut tersebut.
Terdapat pula metode "toString()" untuk mengembalikan representasi string
dari objek "orang". Namun, dalam program ini, mencoba untuk menginstansiasi
objek "orang" langsung akan menghasilkan kesalahan karena kelas "orang"
adalah kelas abstrak yang tidak dapat diinstansiasi.
2, Hasil output dan analisa program seperti berikut :

Analisa :
Program tersebut contoh implementasi kelas abstrak "orang" dan kelas turunan
"mahasiswa" dalam bahasa pemrograman Java. Program ini menggunakan
konsep pewarisan untuk mewarisi atribut dan metode dari kelas "orang" ke
kelas "mahasiswa". Kelas "mahasiswa" memiliki atribut tambahan seperti
"nim", "univAsal", dan "nilai". Program ini membuat objek "mhs1" dari kelas
"mahasiswa" dengan menginisialisasi nilai-nilai atribut menggunakan
konstruktor. Metode "toString()" dipanggil pada objek "mhs1" untuk mencetak
informasinya ke layar.
3. Hasil output dan analisa program seperti berikut!

Analisa :
Program tersebut contoh implementasi kelas "orang" dan kelas turunan
"mahasiswa" dalam bahasa pemrograman Java. Program ini menggunakan
konsep pewarisan untuk mewarisi atribut dan metode dari kelas "orang" ke
kelas "mahasiswa". Kelas "mahasiswa" memiliki atribut tambahan seperti
"nim", "univAsal", dan "nilai". Program ini menciptakan objek "org1" dari
kelas "orang" dan objek "mhs1" dari kelas "mahasiswa" dengan
menginisialisasi nilai-nilai atribut menggunakan konstruktor. Metode
"toString()" dipanggil pada kedua objek dan hasilnya dicetak ke layar.
1.6 Tugas
1. Gunakan teknik abstraction untuk soal Tugas pada modul 3!
Output :
Analisa :

Pada kode tersebut, diterapkan teknik abstraction dengan menggunakan


kelas abstrak Pegawai sebagai kerangka umum untuk objek pegawai. Kelas
Pegawai memiliki atribut NIK, Nama, kehadiran, gaji, serta metode abstrak
hitungGaji(). Kelas PegawaiTetap dan PegawaiKontrak merupakan
implementasi konkret dari kelas abstrak Pegawai. Masing-masing kelas ini
mengimplementasikan metode hitungGaji() sesuai dengan logika perhitungan
gaji yang berbeda.

Kelas Menu bertanggung jawab untuk menampilkan menu utama dan


melakukan operasi terkait pegawai, seperti input data pegawai dan melihat data
pegawai. Ketika pengguna memilih jenis pegawai dan memasukkan data
pegawai, objek PegawaiTetap atau PegawaiKontrak akan dibuat sesuai dengan
input pengguna. Selanjutnya, ketika pengguna memilih untuk melihat data
pegawai, data pegawai akan dicetak menggunakan metode Cetak().
2. Tambahkan 1 class yang tidak dapat diturunkan dan 1 method yang tidak
dapat dioverride untuk soal Tugas pada modul 3!
Analisa :
Kelas-kelas tersebut memiliki atribut-atribut dan metode-metode yang sesuai
dengan karakteristik pegawai tetap dan pegawai kontrak. Kelas Menu berfungsi
sebagai antarmuka pengguna untuk melakukan input data pegawai dan melihat
data pegawai. Selain itu, Anda ingin menambahkan kelas Karyawan sebagai
kelas yang tidak dapat diturunkan dan metode final di kelas Pegawai yang tidak
dapat di-override. Dengan penambahan tersebut, program dapat menyediakan
struktur yang lengkap untuk manajemen pegawai.

1.7 Kesimpulan
Abstraksi adalah konsep penting dalam pemrograman berorientasi
objek yang memungkinkan kita untuk menyembunyikan detail implementasi
suatu objek dan hanya mengekspos fungsionalitas yang relevan. Dalam Java,
abstraksi dapat dicapai menggunakan kelas abstrak dan metode abstrak. Kelas
abstrak adalah kerangka dasar untuk kelas turunannya dan tidak dapat
diinstansiasi. Metode abstrak, di sisi lain, tidak memiliki implementasi di kelas
abstrak dan harus diimplementasikan di kelas turunan dengan menggunakan
kata kunci override. Abstraksi membantu dalam menciptakan desain yang
bersih, modular, dan mudah dipahami dengan memisahkan antarmuka publik
yang terlihat oleh pengguna dari detail implementasi yang tersembunyi di
dalam kelas. Ini juga membantu meningkatkan fleksibilitas, modularitas, dan
pemeliharaan kode. Dalam keseluruhan, abstraksi adalah alat penting dalam
pemrograman untuk mencapai desain yang baik dan mengelola kompleksitas
secara efektif.
1.8 Lampiran

Gambar 1.4 Bukti mengikuti praktikum

Anda mungkin juga menyukai