Disusun oleh :
NAMA : AL AMIN SYAHRUDIN SABAAR
NIM : 185410009
JURUSAN : TEKNIK INFORMATIKA
JENJANG : S1
STMIK AKAKOM
YOGYAKARTA
2019
PERTEMUAN 09
KELAS ABSTRAK
A. TUJUAN
1. Dapat menggunakan overriding method, menggunakan klausa super.
2. Dapat menggunakan klausa final pada metode dan kelas.
B. TEORI
Dalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak dapat
menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan class untuk menjadi
final kita hanya menambahkan kata kunci final dalam deklarasi class. Untuk mendeklarasikan
method untuk menjadi final, kita tambahkan kata kunci final ke dalam deklarasi method.
C. PRATIK
PRATIK 1 Penggunaan kelas abstrak berikut:
package pertemuan09;
abstract class Bentuk {
protected int panjang;
protected int lebar;
OUTPUT
PRATIK 2 : Buat Objek dari kelas bentuk. Berikan penjelasan mengapa terjadi kesalahan
public static void main(String[]args){
Bentuk bt = new Bentuk();
BujurSangkar bs = new BujurSangkar(10,20);
Segitiga st = new Segitiga(5,10);
cetakLuasBentuk(bs);
cetakLuasBentuk(st);
}
}
PEMBAHASAN
Ini terjadi kesalahan class Bentuk merupakan class abstract dan class abstrak tidak dapat
dibuatkan instan atau objeknya menggunakan keyword new.
PRATIK 3 Buat kelas Lingkaran yang merupakan turunan dari kelas Bentuk
class Lingkar extends Bentuk{
public Lingkar(int panjang, int lebar){
this.panjang=panjang;
this.lebar=lebar;
}
public String getBentuk(){
System.out.println("kelas lingakran turunan dari kelas abstark
bentuk");
return "bentuk lingkaran";
}
public int hitungLuas(){
return panjang * lebar;
}
}
class TestAbstrak2{
public static void cetakLuasBentuk(Bentuk btk){
System.out.println(btk.getBentuk() + " \nluas : "+
btk.hitungLuas());
}
public static void main(String[]args){
Bentuk bt = new Lingkar(12,5);
cetakLuasBentuk(bt);
}
}
Berikan penjelasan kenapa tidak terjadi kesalahan pada pembuatan objek geometri
PEMBAHASAN :
Dalam pembuatan objek untuk kelas lingkaran tidak akan terjadi error, karena kelas lingkaran
bukan merupakan kelas abstract. Jadi dalam pembuatan objeknya tidak akan terjadi kesalahan,
karena kelas abstrac dapat membuat kelas objeknya pada sub classnya yaitu lingkaran.
Dan ketika dijalankan akan mengeluarkan luas lingkaran.
OUTPUT
D. LATIHAN
1. Buatlah sebuah class abstract bernama Mahasiswa memiliki method sbb :
isiBiodata(String nama, int nilai) sebagai method abstract
registrasi(), menampilkan tulisan ke layar : “nama.......telah melakukan registrasi”
testMasuk(), menampilkan tulisan ke layar : “nilai test anda .......”
2. Tambahakan variabel nama dan nilai pada Mahasiswa
3. Buatlah class Mahasiswa baru yang melakukan extending dari class Mahasiswa.
Deklarasikan ulang method isiBiodata, bodi method akan menampilkan ke layar biodata
anda (“nama : .... nilai :...,, pilihan jurusan; ..... asal sekolah :....)
4. Tambahakn main method pada mahasiswaBaru sehingga output sbb;
PROGRAM
package pertemuan09;
abstract class Mahasiswa {
protected String nama;
protected int nilai;
Jadi akan dibuat class abstrak Mahasiswa yang mempunyai method isiBiodata dengan parameter
String nama, int nilai. Method berikutnya registrasi(), menampilkan tulisan ke layar :
“nama.......telah melakukan registrasi” dan testMasuk(), menampilkan tulisan ke layar : “nilai test
anda .......”
public abstract void isiBiodata(String nama, int nilai);
public void registrasi(){
System.out.println("Nama "+nama+ " telah melakukan registrasi");
}
public void testMasuk(){
System.out.println("Nilai test Anda : "+nilai);
}
Dan kemudian membuat class mahasiswa baru yang melakukan extending dari class Mahasiswa.
Deklarasikan ulang method isiBiodata, bodi method akan menampilkan ke layar biodata.
public static void main(String[]arg){
MahasiswaBaru mhs = new MahasiswaBaru();
mhs.isiBiodata("ahamad", 80);
mhs.registrasi();
mhs.testMasuk();
}
Agar program bisa diajalankan maka deklarasikan progra utamanya dengan membuat objek baru pada kelas
mahasiswa dan mahasiswa baru.
OUTPUT
E. TUGAS
1. Buatlah kelas abstrak Manusia yang berisi deskripsi umum dari manusia. Kemudian buatlah kelas
Mahasiswa dan kelas Dosen yang merupakan turunan dari kelas Manusia, dan masing-masing kelas
menangani data mahasiswa dan dosen
package tugaspertemuan09;
abstract class Manusia {
public String jekel;
public Manusia(String jekel){
this.jekel=jekel;
}
public String getJekel(){
return jekel;
}
public void setJekel(String jekel){
this.jekel=jekel;
}
public void cetak(){
System.out.println("Jekel : "+this.jekel);
}
}
Program diatas merupakan subclass karena nannti nya akan dibuat sub class Dosen dan Mahasiswa.
package tugaspertemuan09;
public class Dosen extends Manusia {
private int nip;
private String nama;
F. KESIMPULAN
Dapat diambil kesimpulan bahwa Abstract class adalah kelas yang terletak pada posisi tertinggi
pada hierarki kelas. Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class
tidak dapat diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method
kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak mempunyai
badan method. Hanya berupa nama method dan parameter inputan method.