Abstract Interface
Abstract Interface
Interface
Perintah:
Buatlah Kelompok terdiri dari 3-4 orang
Berdiskusilah untuk menjawab soal-soal dibawah
Diperbolehkan membuka buku atau internet sesuai dengan referensi yang
diberikan dibawah.
Abstrak
Kelas abstrak merupakan kelas yang masih belum begitu jelas jika dibuat
objek dari kelas tersebut. Sebagai contoh jika Anda diminta untuk membuat
objek dari bagun ruang dua dimensi (kelas BangunRuangDuaDime nsi).
Tentunya masing-masing dari Anda akan memiliki pikiran yang berbedabeda, ada yang mungkin membuat objek lingkaran, objek persegi, objek
segitiga, dst. Dari contoh kelas tersebut, walaupun bentuk dari objek yang
berbeda-beda, objek tersebut memiliki kesamaan sifat yaitu berbentuk dua
dimensi dan kesamaan atribut seperti memiliki luas dan keliling, memiliki
warna dan memiliki nama.
Kelas abstrak didalam java merupakan sebuah kelas yang dideklarasikan
dengan keyword abstract, seperti dibawah ini:
[modifier] abstract class ClassName{
}
Kelas abstrak tidak dapat diinstansiasi, tapi dapat diturunkan pada kelas
lain. Contoh:
//berkas : LivingThing.java
public abstract class LivingThing{
public void breath(){
System.out.println("Living Thing breathing...");
}
public void eat(){
System.out.println("Living Thing eathing...");
}
public abstract void walk();
public static void main(String args[]){
LivingThing test = new LivingThing();
}
}
Jika berkas diatas dikompile akan menghasilkan error seperti dibawah ini:
Kelas abstrak juga dapat memiliki atau mungkin tidak memiliki metode
abstrak. Jika sebuah kelas memiliki metode abstrak maka kelas tersebut
juga harus dideklarasikan sebagai kelas abtrak pula. Dalam kelas abstrak
metode abstrak hanya dideklarasikan tanpa diimplementasikan.
Implementasi metode abstrak tersebut dilakukan pada kelas turunan dari
kelas abstrak tersebut. Berikut merupakan sintaks untuk mendeklarasikan
kelas abstrak:
[modifier] abstract tipeMetode namaMetode();
Tanya: Lalu jika kita menulis metode tanpa pernyataan didalamnya
seperti dibawah ini apakah sama dengan metode abstrak?
Dari kelas abtrak Kendaraan akan diturunkan pada kelas Sepeda dibawah
ini. Ingat kelas abstrak hanya dapat diturunkan.
Diskusi 1
Diskusikan bersama teman Anda dan Jawab pertanyaan ini!
Setelah Anda mencoba mengkompilasi berkas Kendaraan dan Sepeda diatas,
cobalah jawab pertanyaan dibawah ini:
1. Adakah error pada kelas Kendaraan? Jika ada sebutkan berapa dan
apa saja errornya!
2. Jika terdapat error pada kelas Kendaraan, jelaskan mengapa error
tersebut terjadi?
3. Adakah error pada kelas Sepeda? Jika ada sebutkan berapa dan apa
saja errornya!
4. Jika terdapat error pada kelas Sepeda, jelaskan mengapa error tersebut
terjadi?
5. Buatlah kelas SepedaBeraksi untuk membuat objek dari kelas Sepeda
dan menghasilkan tampilkan sebagai berikut:
Interface
Sebuah interface adalah sebuah tipe referensi, seperti sebuah kelas.
Referensi dapat dianalogikan sebagai langkah-langkah yang sudah
ditentukan dalam kelas untuk melakukan sesuatu tanpa menentukan cara
melakukan langkah langkah tersebut. Sebagai contoh terdapat saklar untuk
menghidupkan lampu. Ada berbagai macam bentuk saklar dan cara
menggunakannya. Cara penggunaan saklar ini yang disebut dengan
interface, sedangkan bagaimana cara kerja saklar tersebut kita tidak perlu
tahu, yang terpenting adalah bagaimana lampu dapat hidup dan menyala.
Dalam java interface hanya berisi konstanta dan metode abstrak. Interface
dapat dikatakan memiliki sifat 100% kelas abstrak. Berikut merupakan cara
mendeklarasikan interface dan tubuh interface dalam java:
[public] interface NamaInterface{
//cara menulis konstanta
[public static final] tipeKonstanta namaKonstanta= nilaiKonstanta;
Diskusi 2
Diskusikan bersama teman Anda dan Jawab pertanyaan ini!
Setelah Anda mencoba mengkompilasi ketiga diatas, cobalah jawab
pertanyaan dibawah ini:
1. Adakah error pada kelas InterfaceKamera? Jika ada sebutkan berapa
dan apa saja errornya!
2. Jika terdapat error, jelaskan mengapa error tersebut terjadi?
3. Adakah error pada kelas InterfaceRadio? Jika ada sebutkan berapa dan
apa saja errornya!
4. Jika terdapat error, jelaskan mengapa error tersebut terjadi?
5. Adakah error pada kelas Handphone? Jika ada sebutkan berapa dan
apa saja errornya!
6. Jika terdapat error, jelaskan mengapa error tersebut terjadi?
7. Buatlah kelas HandphoneDemo untuk membuat objek dari kelas
Handphone dan menghasilkan tampilkan sebagai berikut:
Referensi:
http://docs.oracle.com/javase/tutorial/java/IandI/index.html
Abdul Kadir: Dasar Pemrograman Java 2
http://ilmukomputer.org/