MODUL VIII INTERFACE DAN ABSTRACT LAPORAN PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berbasis Objek yang Dibimbing oleh Kartika Candra Kirana, S.Pd., M.Kom.
Oleh: NAMA : DEVINA AMALIA ARINDI NIM
: 170535629545
PRODI : S1 TEKNIK INFORMATIKA
UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO OKTOBER 2018
INTERFACE DAN ABSTRACT
A. KOMPETENSI DASAR Mahasiswa mampu menerapkan dan menganalisa penggunaan interface dan abstract dalam Java
B. STUDI KASUS Tugas Praktikum UML class diagram :
Abstract class Animal: package modul8; abstract class Animal { protected int legs; protected Animal(int legs){ this.legs=legs; } public abstract void eat(); public void walk(){ System.out.println("Hewan ini berjalan dengan "+legs+" kaki"); }
}
Interface Pet: package modul8; public interface Pet { public String getName(); public void setName(String name); public void play(); }
Class Spider: package modul8; class Spider extends Animal{ public Spider(){ super(8); } @Override public void eat() { System.out.println("Spider merupakan hewan Karnivora"); } }
Class Cat: package modul8; public class Cat extends Animal implements Pet{ String name; public Cat(String name) { super(4); this.name=name; } public Cat() { super(4); this.name=" "; } public String getName() { return name; }
public void setName(String name) { this.name = name ; } public void play() { System.out.println(name+" bermain dengan bola"); } public void eat() { System.out.println("Kucing merupakan hewan Karnivora"); } }
Class Fish: package modul8; public class Fish extends Animal implements Pet{ String name; public Fish() { super(0); } public String getName() { return name; } public void setName(String name) { this.name = name; } public void play() { System.out.println("Ikan bermain di air"); } public void walk() { super.walk(); System.out.println("Ikan tidak berjalan tetapi berenang"); } public void eat() {
System.out.println("Kucing merupakan hewan Karnivora"); } }
Class TestAnimals : package modul8; public class TestAnimals { public static void main(String[]args){ Fish f = new Fish(); Cat c = new Cat("Fluffy"); Animal a = new Fish(); Animal e = new Spider(); Pet p = new Cat("Rudi"); f.play(); System.out.println(); c.play(); System.out.println(); e.eat(); System.out.println(); e.walk(); System.out.println(); a.walk(); System.out.println(); p.play(); } }
Output:
Penjelasan: Pada program diatas menggunakan interface dan abstract dalam progam Java. Progam diatas mempunyai 5 class yaitu Animal, Spider, Cat, Fist, dan TestAnimals dan 1 interface yaitu Pet. Pada class Animal merupakan abstarct superclass dari class Spider, Cat, dan Fish. Terdapat atribut dengan nama legs mempunyai type data int. Dan terdapat constructor dimana paramternya dari variabel legs. Pada class Animal tedapat 2 method yaitu absctract method eat dan method walk. Method eat merupakan method absctract yang nantinya obyeknya terdapat pada class turunannya. Sedangkan method walk digunakan untuk menampilkan berapa jumlah kaki dan cara berjalan dari class turunannya. Pada class spider merupakan subclass dari class Animal terdapat constructor dengan parameter kosong dimana obykenya itu untuk memanggil contructor dari superclass untuk menjelaskan bahwa spider mempunyai 8 kaki. Dan juga terdapat method eat yang diimplemetasikan dari abstract method eat yang terdapat dari superclass. Selnjutnya interface Pet , interface berbeda dari class. Interface hanya berisi method yang tidak memiliki statment dan konstanta. Pada method terdapat variabel name dengan type data String. Lalu terdapat setter yang diberi nama setName yang akan menyimpan nilai dari variabel name. Dan terdapat methode kosong yang diberi nama play. Class cat merupakan turunan dari Class Animal dan implement dari Class Pet. Pada class ini terdapat variabel name yang mempunyai type data String. Dan terdapat 2 Contructor. Contructor pertama merujuk padak class nya sendiri, sendangkan contructor kedua merujuk pada interface Pet. Contructor tersebut memanggil class super untuk mengimplementasikan bahawa Cat mempunyai 4 kaki. Terdapat setter dan getter untuk menyimpan nilai dan mengembalikan nilai dari variabel name. Dan terdapat implementasi method eat yang override dari class Animal dan implementasi method play yang override dari interface Pet. Pada Class Fish merupakan turunan dari Class Animal dan implement dari Class Pet. Terdapat variabel name dengan type String dan terdapat contructor yang bahwa fish tidak mempunyai kaki melainkan berenang. Terdapat setter dan getter untuk menyimpan nilai dan mengembalikan dari variabel name. Dan mengimplenmentasikan semua method yang ada pada super class animal dan interface Pet. Class terakhir yaitu class TestAnimel untu membuat keluaran dari class dan interface diatas.
C. KESIMPULAN Pada praktikum diatas dapat disimpulkan bahwa Class abstract adalah class yang terletak di posisi tertinggi dalam hierarki class. Class ini tidak dapat diinstansiasi karena masih bersifat abstrak. Kelas ini hanya berisi variabel-variabel umum dan deklarasi method tanpa detail implementasi. Dengan adanya enkapsulasi ini dapat mengamankan data yang kita miliki sehingga tidak mudah diketahui oleh public jika hal tersebut memang bersifat privasi.Interface memungkinkan pemrogram untuk berbagi konstanta atau menentukan bentuk metode yang dapat digunakan oleh sejumlah kelas.
D. DAFTAR PUSTAKA Asisten Dosen. 2018. Modul VIII INTERFACE DAN ABSTRACT.