Indikator Pencapaian Kompetensi dan Tujuan Pembelajaran
IPK Pengetahuan
- Menjelaskan konsep interface dari kumpulan class dalam PBO.
- Menjelaskan prosedur pembuatan interface dalam aplikasi PBO.
- Menerapkan langkah-langkah dalam pembuatan interface PBO
IPK Keterampilan
- Merancang program aplikasi berorientasi obyek dalam bentuk interface
- Membuat kode program aplikasi berorientasi obyek yang dikemas dalam interface.
- Menguji program aplikasi berorientasi obyek dalam format interface.
Tujuan Pembelajaran
- Siswa dapat Menjelaskan konsep interface dalam pemrograman aplikasi berorientasi obyek dengan benar.
- Siswa dapat Menjelaskan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik.
- Menerapkan prosedur pembuatan interface dalam pemrograman aplikasi berorientasi obyek dengan baik
- Siswa dapat merancang program aplikasi dalam kemasan interface
Materi Kegiatan Pembelajaran
Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun.
Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut.Interface adalah sebuah tipe referensi pada Java.
Interface secara struktur serupa dengan class.
Isi dari interface adalah method abstract. Artinya, method yang hanya dideklarasikan dan tidak ditulis secara utuh.
Deklarasi method pada interface serupa dengan method pada abstract class. Variabel pada interface akan memiliki aturan static dan final.
Adapun method akan memiliki aturan public dan abstract. Dalam pemahaman bahasa Indonesia interface itu diartikan sebagai antarmuka. Bagian muka bisa dipahami sebagai bagian yang terlihat. Sedang bagian belakang yang merupakan isinya tidak terlihata.
Dalam interface ini, tidak ada pemrograman dalam method maupun event. Dengan kata lain interface dipahami sebagai standardisasi daftar property, method dan event yang harus diimplementasikan oleh clas-class lain yang merupakan turunannya.
Jika menganggap abstract class sebagai blue print dari class-class lain, interface adalah implementasi method yang harus tersedia dalam sebuah object.
Sebagai contoh secara nyata analogi tentang class komputer, interface dapat dicontohkan dengan mouse, atau keyboard.
Di dalam interface mouse, kita tidak membuat method seperti klik_kiri(), klik_kanan(), atau double_klik().
Interface bisa diturunkan atau diwariskan kepada class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends [interface yang didefinisikan].
Sebuah class dapat mengimplementasikan 1 interface yang sudah dibuat dengan keyword implement.
pendeklarasian interface adalah sebagai berikut :
interface Operasi { public void Penjumlahan(); public void Pengurangan (); }
Implementasi Interface
Cara menggunakan interface pada kelas lain, harus menggunakan keyword implements.
Deklarasi implements interface sebagai berikut : public class Calculator implements Operasi{ private double bil1, bil2;//override semua method pada interface
public static void main (String []args){ Calculator cal = new Calculator(3,4); System.out.print (“Hasil penjumlahan “+cal.getbil1()+” dan “cal.getbil2()”adalah “); cal.Penjumlahan();
}}
Penjelasan Interface Pada Java
Isi dari interface adalah method abstract, artinya method hanya dideklarasikan tidak ditulis secara utuh. Deklarasi method pada interface serupa dengan method pada class abstract.Abstraction class merupakan sebuah class abstak (class setengah jadi) yang memiliki method dan atribut. Abstraction class adalah hierarki tertinggi dari sub-sub class-nya. Kelas abstrak digunakan untuk membuat sebuah kelas yang memiliki method yang belum jelas implementasinya.
Berikut ini aturan nya :- Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
- Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
- Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
- Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
Abstract class adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) serta method-method yang abstract harus disempurnakan oleh kelas turunannya melalui override.Variable pada interface akan memiliki aturan static dan final sedangkan method akan memiliki aturan public dan abstract. Kelas-kelas yang diturunkan dari kelas abstraklah yang harus mendefinisikan secara detail method tersebut. Abstract class adalah class yang di dalam terdapat fungsi abstract.
Fungsi abstract adalah fungsi tanpa implementasi, di mana dikarenakan sifatnya terlalu general sehingga tidak bisa diimplementasikan.
Contoh program tentang penggunaan Abstraction Class pada program java.
Simpanlah file class Biodata.java ini dalam direktori abstraksi
package abstraksi;
abstract class Biodata {
public abstract void mData(String nama, String ttl);
public void mBiodata(){
System.out.println("Biodata: Abdul Jaber al Banjarani");
}
}
Simpan pula file class Implementasi.java ini dalam direktori abstraksi
package abstraksi;
public class Implementasi extends Biodata {
@Override
public void mData(String nama, String ttl){
System.out.println("Nama :"+nama);
System.out.println("Ttl :"+ttl);
}
}
Berikutnya adalah contoh class file yang menggunakan Abstraction .
Terdapat 2 buat method, yaitu mData dan mBiodata.
Pada mData terdapat kata abstract itu menunjukan bahwa method itu merupakan method abstract dan harus di override pada class turunannya.
package abstraksi;
public class JavaInterfaces { public static void main(String[] args) { // TODO, add your application code Implementasi imp = new Implementasi(); String nama= "Suaeb Rizal"; String ttl="Jakarta, 30 April 1960"; imp.mBiodata(); imp.mData(nama,ttl); System.out.println("Hello Ok !"); }}
Class terakhir adalah class main yaitu untuk menjalankan programnya .
Pada baris awal void main terdapat pembuatan object dari class implementasi dan akan di lengkapi dari dua class di atas.
Karena pada method mData terdapat dua buah paramenter yaitu nama dan ttl,pada source kode imp.mBiodata(), maka main akan mengambil method mBiodata pada class imp atau Implementasi, jika dilihat pada class Implemetasi tidak terdapat method mBiodata pada classnya karena merupakan salah satu karakteristik OOP yaitu Inheritance.Selanjutnya imp.mData(nama,ttl), berikut adalah untuk memanggil method mData pada class imp atau Implemetasi beserta parameter sesui kebutuhannya.
Output dari program diatas
Tugas / Penilaian
A. Soal Teori
1. Class class object dapat melakukan komunikasi satu dengan lainnya, jelaskan pengertian dan peranan interface pada PBO ?
2. Disajikan sebuah contoh
interface
interface Operasi {
public void Penjumlahan(int x, int y);
public void Pengurangan (int x, int y);
}
Sebutankanlah nama kandungan yang ada pada interface di atas
dan jelaskan aturan pada penentuan variabelnya?
3. Pada komputer ada
interface yang namanya mouse dan keyboard, jelaskan metode-metode apa yang ada
di dalam kedua interface tersebut ?
4. Keyword
apakah yang digunakan untuk membuat class turunan yang akan menggunakan
method pada suatu interface serta
sebutkan keyword untuk membuat class implementasi dari class turunan?
5.a. Jelaskan hubungan antara
a)
Class dengan
Class
b)
Class dengan
Interface
c)
Interface
dengan Interface
5.b. Buatlah bagan untuk
soal no 5.a.
B. Soal Praktek :
interface namaInterface {
method();
method();
}
1. Berdasar format di atas
buatlah interface induk dengan metode tambah dan metode kurang, yang mempunyai dua parameter bilangan type double a dan b.
2. Dari soal no 1 . Dengan keyword extends. Buatlah interface turunan dari interface induk dengan isi method nya berupa kali dan bagi (dengan 2 parameter a dan b)
Interface secara struktur serupa dengan class.
Isi dari interface adalah method abstract. Artinya, method yang hanya dideklarasikan dan tidak ditulis secara utuh.
Implementasi Interface
- Jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
- Sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
- Jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
- Jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
abstract class Biodata {
public abstract void mData(String nama, String ttl);
public void mBiodata(){
System.out.println("Biodata: Abdul Jaber al Banjarani");
}
}
Simpan pula file class Implementasi.java ini dalam direktori abstraksi
package abstraksi;
public class Implementasi extends Biodata {
@Override
public void mData(String nama, String ttl){
System.out.println("Nama :"+nama);
System.out.println("Ttl :"+ttl);
}
}
Terdapat 2 buat method, yaitu mData dan mBiodata.
Pada mData terdapat kata abstract itu menunjukan bahwa method itu merupakan method abstract dan harus di override pada class turunannya.
Karena pada method mData terdapat dua buah paramenter yaitu nama dan ttl,
Output dari program diatas
Tugas / Penilaian
interface Operasi {
public void Penjumlahan(int x, int y);
public void Pengurangan (int x, int y);
}
Sebutankanlah nama kandungan yang ada pada interface di atas
dan jelaskan aturan pada penentuan variabelnya?
a)
Class dengan
Class
b)
Class dengan
Interface
c)
Interface
dengan Interface
5.b. Buatlah bagan untuk soal no 5.a.
B. Soal Praktek :
interface namaInterface {
method();
method();
}
1. Berdasar format di atas
buatlah interface induk dengan metode tambah dan metode kurang, yang mempunyai dua parameter bilangan type double a dan b.
2. Dari soal no 1 . Dengan keyword extends. Buatlah interface turunan dari interface induk dengan isi method nya berupa kali dan bagi (dengan 2 parameter a dan b)
Komentar
Posting Komentar
Nuhun sudah komentar