LAPORAN PRAKTIKUM
LAPORAN PRAKTIKUM
PEMROGRAMAN BERBASIS OBJEK
PEMROGRAMAN BERBASIS OBJEK
“
“
Abstract dan Interface
Abstract dan Interface
””Disusun Oleh :
Disusun Oleh :
Ardi Kurniawan
Ardi Kurniawan
3.34.10.0.06
3.34.10.0.06
IK-2A
IK-2A
PROGRAM STUDI TEKNIK INFORMATIKA PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN ELEKTRO JURUSAN ELEKTRO
POLITEKNIK NEGERI SEMARANG
POLITEKNIK NEGERI SEMARANG
TAHUN 2011 TAHUN 2011
BAB 4 BAB 4
ABSTRACT & INTERFACE
ABSTRACT & INTERFACE
I. Tujuan Instruksional Khusus I. Tujuan Instruksional Khusus
Setelah menyelesaikan praktek ini mahasiswa dapat : Setelah menyelesaikan praktek ini mahasiswa dapat :
1.
1. menjelaskan pengertianmenjelaskan pengertian abstract abstract &&interfaceinterface,, 2.
2. mengimplementasikan kelasmengimplementasikan kelas abstract abstract dandaninterfaceinterfacekedalam program.kedalam program. II. Persyaratan / Kebutuhan Sistem Komputer
II. Persyaratan / Kebutuhan Sistem Komputer
Persyaratan / kebutuhan sistem untuk menjalankan program Java adalah sebagai berikut : Persyaratan / kebutuhan sistem untuk menjalankan program Java adalah sebagai berikut :
1.
1. processor processor P-II atau P-II atau yang lebih yang lebih tinggi,tinggi, 2.
2. ram minimal 32 mbyte,ram minimal 32 mbyte, 3.
3. free space harddisk minimal 200 mbyte,free space harddisk minimal 200 mbyte, 4.
4. mouse ( serial / ps2 ),mouse ( serial / ps2 ), 5.
5. sistem operasi :sistem operasi : a.
a. minimal Windows 98 ( disarankan versi Windows yang lebih tinggi),minimal Windows 98 ( disarankan versi Windows yang lebih tinggi), b.
b. Linux.Linux.
III. Dasar Teori III. Dasar Teori Abstract
Abstract
Metode yang tidak memerlukan implementasi sama sekali dinamakan abstrak.untuk Metode yang tidak memerlukan implementasi sama sekali dinamakan abstrak.untuk mendeklarasikan digunakan kata kunci abstrak. Setiap kelas yang di dalamnya terdapat satu atau mendeklarasikan digunakan kata kunci abstrak. Setiap kelas yang di dalamnya terdapat satu atau lebih metode abstrak harus dideklarasikan juga sebagai kelas abstrak dengan menambah kata lebih metode abstrak harus dideklarasikan juga sebagai kelas abstrak dengan menambah kata kunci abstrak.
kunci abstrak.
Kelas abstrack tidak dapat diinstansikan sehingga kita tidak diijinkan untuk membentuk objek Kelas abstrack tidak dapat diinstansikan sehingga kita tidak diijinkan untuk membentuk objek dari kelas abstrack.
dari kelas abstrack.
Namun kita masih diijinkan untuk mendeklarasikan variable referensi. Selanjutnya var referensi Namun kita masih diijinkan untuk mendeklarasikan variable referensi. Selanjutnya var referensi tsb dapat digunakan untuk menunjuk ke objek objek dari kelas turunan
Interface Interface
Interface
Interface berbentuk seperti class dalam Java, tetapi tanpa variable dan metodenya dideklarasikanberbentuk seperti class dalam Java, tetapi tanpa variable dan metodenya dideklarasikan tanpa isi. Kita mendefinisikan
tanpa isi. Kita mendefinisikan interfaceinterface tanpa menuliskan rincian implementasinya. Class-lahtanpa menuliskan rincian implementasinya. Class-lah nanti yang akan merinci implementasi Interface. Sebuah class dapat mengimplementasikan nanti yang akan merinci implementasi Interface. Sebuah class dapat mengimplementasikan beberapa interface sekaligus.
beberapa interface sekaligus.
IV. Langkah Kerja IV. Langkah Kerja
Jalankan Edit Plus, buat file baru java dan ketikkan kode program berikut :
Jalankan Edit Plus, buat file baru java dan ketikkan kode program berikut :
1.
1. Program untuk menampilkan serta menjumlahkan nilai i dan jProgram untuk menampilkan serta menjumlahkan nilai i dan j
abstract class A abstract class A { { int i; int i; A(int i) A(int i) { { this.i = i; this.i = i; } }
abstract public void tampil(); abstract public void tampil(); public int hitung()
public int hitung() { { return i; return i; } } } } class B extends A class B extends A { { int j; int j; B(int i, int j) B(int i, int j) { { super(i); super(i); this.j = j; this.j = j; } }
public void tampil() public void tampil()
{ { System.out.println("Nilai j = " + j); System.out.println("Nilai j = " + j); } } } } class C extends A class C extends A { { int j, k; int j, k; C(int i, int j) C(int i, int j) { { super(i); super(i); this.j = j; this.j = j; } }
public void tampil() public void tampil() { { k = i + j; k = i + j; System.out.println("Nilai i + j = " + k); System.out.println("Nilai i + j = " + k); } } } }
public class latihan public class latihan {
{
public static void main(String[] args) public static void main(String[] args) { { A lat; A lat; B x = new B(9, 2); B x = new B(9, 2); C y = new C(9, 2); C y = new C(9, 2); lat = x; lat = x; System.out.println("Nilai i = " + lat.hitung()); System.out.println("Nilai i = " + lat.hitung()); lat.tampil(); lat.tampil(); lat = y; lat = y; lat.tampil(); lat.tampil(); } }
}
}
1.
1. Sebagai contoh di bawah ini diberikan sebuah program menggunakan interface.Sebagai contoh di bawah ini diberikan sebuah program menggunakan interface.
interface Hitung interface Hitung { { double Luas(); double Luas(); } }
class Lingkaran implements Hitung class Lingkaran implements Hitung {
{
private double jari; private double jari;
public Lingkaran(double r) public Lingkaran(double r) { { this.jari = r; this.jari = r; } }
public double Luas() public double Luas() { { double A; double A; A = jari*jari*22/7; A = jari*jari*22/7; return A; return A; } } } }
class SegiEmpat implements Hitung class SegiEmpat implements Hitung {
{
private double panjang; private double panjang; private double lebar; private double lebar;
public SegiEmpat(double p, double l) public SegiEmpat(double p, double l) { { this.panjang = p; this.panjang = p; this.lebar = l; this.lebar = l; } }
public double Luas() public double Luas() { { double L = panjang*lebar; double L = panjang*lebar; return L; return L; } } } }
public class ClassAppl public class ClassAppl {
{
public static void main(String[] args) public static void main(String[] args) {
{
SegiEmpat segiempat = new SegiEmpat(10,5); SegiEmpat segiempat = new SegiEmpat(10,5); Lingkaran lingkaran = new Lingkaran(10); Lingkaran lingkaran = new Lingkaran(10); double A;
double A;
A = segiempat.Luas(); A = segiempat.Luas();
System.out.println("Luas segiempat = " + A); System.out.println("Luas segiempat = " + A); A = lingkaran.Luas();
A = lingkaran.Luas();
System.out.println("Luas lingkaran = " + A); System.out.println("Luas lingkaran = " + A); }
} } }
2.
3.
3. Eksekusi program Java Pertama dengan mengklik Eksekusi program Java Pertama dengan mengklik Tool Tool Compile Program JavaCompile Program Java. Lalu. Lalu Tool
Tool Menjalanka Menjalankan Progran Program Javam Java..
4.
4. Buat analisa terhadap proses program tersebut sebelum dijalankan dan pada saat dijalankanBuat analisa terhadap proses program tersebut sebelum dijalankan dan pada saat dijalankan
terhadap parameter dan argument yang digunakan..
terhadap parameter dan argument yang digunakan..
V. Pertanyaan V. Pertanyaan
Buatlah
Buatlah interfaceinterface Animal Animal yang mempunyai dua metode:yang mempunyai dua metode:eat eat dandan movemove. Semua metodE ini. Semua metodE ini tidak punya argumen atau nilai return. Method ini hanya mengeluarkan bagaimana object tidak punya argumen atau nilai return. Method ini hanya mengeluarkan bagaimana object
Animal
Animal makan dan bergerak. Sebagai contoh, seekor kelinci memakan wortel dan bergerak makan dan bergerak. Sebagai contoh, seekor kelinci memakan wortel dan bergerak dengan melompat. Buat class
dengan melompat. Buat class FishFish dandan Bear Bear yang menggunakan interfaceyang menggunakan interface Animal Animal. Terserah. Terserah kepada Anda bagaimana menggunakan method
kepada Anda bagaimana menggunakan method eat eat dandan move.move.
interface Animal interface Animal { { string Eat(); string Eat(); string Move(); string Move(); } }
class Fish implements Animal class Fish implements Animal {
{
public string Eat() public string Eat() { { string E; string E; E= E= ;; } } public Fish() public Fish() { { this.(“ “); this.(“ “); } }
public string Move() public string Move() { { string M; string M; M= M= ;; } } } }
class Bear implements Animal class Bear implements Animal
{ {
public string Eat() public string Eat() { { string Et; string Et; Et= ; Et= ; } } public Bear() public Bear() { { this.(“ “); this.(“ “); } }
public class Animal public class Animal {
{
public static void main (String [] args) public static void main (String [] args) {
{
Fish ikan=new Fish(); Fish ikan=new Fish(); Bear beruang=new Bear(); Bear beruang=new Bear();