2022
KOMPETENSI DASAR
3.8 Merancang pembuatan interface
4.8. Membuat rancangan aplikasi dengan interface
INDIKATOR
3.8.1 Mempelajari konsep interface
3.8.2 Mengidentifikasi konsep interface dalam aplikasi program berbasis OOP
3.8.3 Mengidentifikasi prosedur pembuatan interface aplikasi program berbasis OOP
3.8.4 Mengidentifikasi prosedur penerapan interface
3.8.5 Mengidentifikasi rancangan program aplikasi dengan penerapan interface
3.8.6 Mengidentifikasi prosedur kompilasi interface dalam pemrograman berbasis OOP
4.8.1. Membuat rancangan inetrface dalam aplikasi program berbasis OOP
TUJUAN
1. Setelah mengikuti pembelajaran tentang interface, peserta didik diharapkan dapat
memahami pengertian interface dengan tepat
2. Dengan membaca teks tentang pembuatan interface, peserta didik mampu merancang
suatu interface secara baik.
3. Dengan menyimak contoh dan berlatih mandiri, peserta didik mampu membuat
rancangan aplikasi dengan interface secara benar
4. Dengan diskusi kelompok, peserta didik mampu menyajikan hasil pembuatan interface
sederhana.
PETA KONSEP
implements extends
Class Class
Secara umum, fungsi pewarisan dikatakan sebagai metode reuseability apabila terdiri
atas beberapa hal berikut :
1) Behavior (method) dideklarasikan dalam superclass, behavior tersebut otomatis
diwariskan ke seluruh subclass
2) Dapat menggunakan class yang dibuat sebelumnya (superclass) dengan membuat
class-class baru (subclass) berdasarkan superclass tersebut dengan karakteristik
yang lebih khusus dari behavior umum yang dimiliki superclass
3) Dapat membuat superclass yang hanya mendefinisikan behavior, namun tidak
memberi implementasi dari metode-metode yang ada (framework class).
Superclass seperti ini disebut class abstract (dengan modifier class dan method
abstract) serta subclassnya disebut class konkret sehingga subclass dapat
mengimplementasi ,ethod dari superclass sesuai dengan kebutuhan di subclassnya
tanpa mempengaruhi superclassnya.
4) Dapat mendefinisikan method hanya sekalu dan method tersebut dapat digunakan
oleh seluruh subclass
5) Sebuah subclass hanya perlu mengimplementasikan perbedaan antara dirinya
sendiri dan parent-nya (superclassnya)
3. Deklarasi Interface
Interface dideklarasikan dengan menggunakan keyword atau kata kunci interface dan
diikuti nama interface tersebut. Pemberian nama interface oleh programmer. Nama
interface dipilih yang memiliki fungsinya.
Interface dapat berada di file sendiri atau di file yang sama dengan class yang
mengimplementasikannya. Interface dapat berisi konstanta, method kosong (bagian
body-nya kosong), atau kedua-duanta. Bagian body yang kosong itu akan dilengkapi
pada class yang mengimplementasikannya .
Contoh :
interface Operasi
{
public void Penjumlahan ( );
public void Pengurangan ( );
public double Perkalian ( );
public double Pembagian( );
}
Pada contoh di atas, method yang dideklarasikan pada interface Operasi tidak terdapat
statement apa pun, baik itu rumus atau hanya sebuah nilai baik di dalamnya. Hal ini
dikarenakan interface hanyalah berisi sebuah kumpulan konstanta maupun method
tanpa menyertakan/menuliskan tubuh methodnya. Alasan penggunaan interface dalam
pemrograman, diantaranya sebagai berikut
a. Jika ingin class yang tidak berhubungan mengimplementasikan method yang
sama
b. Untuk menyatakan sebuah interface pemrograman berorientasi objek tanpa
menyatakan classnya
Berikut ini contoh deklarasi dan bentuk sebuah interface dengan nama unggas yang
memiliki dua method bernama jumlahkaki dan reproduksi.
public interface unggas {
public void
jumlahkaki(); public
void reproduksi();
4. Mengimplementasikan Interface
Class yang mengimplementasikannya suatu interface harus mencantumkan keyword
implements diikuti nama interface itu. Class ini juga harus mendefinisikan isi method
pada interface yang diimplementasikannya.
Selanjutnya, pada bagian class utamanya (class yang namanya sama dengan nama file
java), class yang mengimplementasikan interface tadi digunakan untuk membuat
objek (instance). Method pada interface dapat diterapkan pada objek tersebut.
Berikut contoh kode program sebuah file proyek bernama Ayam.java pada Netbeans
yang berisi interface dan pengimplementasiannya.
Listing Program
package ayam;
interface unggas {
public void jumlahKaki ( );
public void reproduksi ( ); 5. }
public class Ayam implements unggas {
public static void main(String[ ] args) {
Ayam kt = new Ayam( );
kt.jumlahKaki( );
kt.reproduksi( );
11. }
public void jumlahKaki ( ) {
System.out.println(“Jumlah kaki = 2”);
14. }
public void reproduksi( ) {
System.out.println(“Reproduksi = bertelur”);
17. }
18. }
Jika dijalankan (run),hasilnya akan muncul pada jendela output NetBean seperti pada
gambar berikut
Interface yang diimplementasikan pada contoh di atas adalah unggas dan ternak.
Jumlah interface yang diimplementasikan sebuah class tidak dibatasi.
5. Alasan Perlunya Penggunaan Interface
Berikut ini beberapa alasan perlunya kita menggunakan interface dalam pemrograman
java :
Interface digunakan untuk mendapatkan abstraksi
Untuk mendukung method dinamis saat runtime
Memungkinkan kita memisahkan definisi suatu method dari hirarki pewarisan
Oleh karena java tidak mendukung pewarisan berganda (sebuah kelas dapat
mengimplementasikan lebih dari satu interface)
2. Membuat Interface
Sekarang kita akan mempraktikkan pembuatan interface sesuai rancnagan yang sudah
dibuat.
Ikuti langkah-langkah berikut :
Aktifkan IDE Netbeans, Klik File > New Project atau tekan Ctrl + Shift + N pada
keyboard
Pada jendela dialog New Project, klik Java Application, lalu klik Next
Pada jendela dialog New Java Application, isikan nama latihan pada kolom
Project Name. Pastikan checkbox di samping menu Create Main Class tercentang
(ceklis) dan biarkan nilai defaultnya (tidak perlu diubah), lalu klik Finish.
Dalam hal ini, latihan merupakan nama proyek sekaligus nama package. Sedangkan
Latihan adalah nama kelas utamanya, sama dengan nama filenya.
Sekarang kita akan membuat interface di file tersendiri sebagai bagian dari package
latihan.
Ikuti langkah-langkah berikut :
Klik File > New File atau tekan tombol Ctrl + N pada keyboard
Pada jendela dialog New File, klik Java Interface di bawah kategori File Types,
lalu klik Next.
Pada jendela dialog New Java Interface, isikan ContohInterface pada kolom
Class Name. isikan latihan pada kolom Package, lalu klik Finish.
Ada dua file yang kita peroleh dari langkah-langkah yang telah dilakukan, yaitu file
Latihan.java yang merupakan class dan file ContohInterface.java yang merupakan
interface. Kita akan mengisi kedua file sesuai rancangan yang sudah kita buat.
Ikuti langkah-langkah berikut :
Ketik kode program pada file ContohInterface.java seperti pada gambar berikut
Ketik kode program pada file Latihann.java seperti pada gambar berikut
Sekaranga akan diuji apakah aplikasi yang kita buat berjalan sesuai harapan. Klik
menubar Run > Run Project atau tekan tombol F6 pada keyboard.
Jika berhasil, tampilan pada jendela oitput IDE Netbeans akan seperti pada gambar
berikut :
TUGAS MANDIRI
Imple
Contoh di atas merupakan contoh untuk implementasi interface yang terpisah sebagai file sendiri. Gabungkan in
Silahkan hasil modifikasinya dikirim ke link : https://bit.ly/3GH7Aba masukkan ke folder masing-masing format n
3. Konsep Interface dalam program aplikasi berbasis OOP
Meskipun interface berisi sekumpulan dari method-method yang dibuat, tetapi belum ada
operasi di dalam tubuh method tersebut. Interface dapat diturunkan atau diwariskan kepada
class yang ingin memakai method yang ada dalam masing-masing interface tersebut dengan
keyword extends (interface yang didefinisikan). Hal yang perlu dipahami adalah Java tidak
diperkenankan adanya multiple inheritance, tetapi Java meperbolehkan multiple interface.
Smeentara itu, cara menggunakan interface pada class lain, harus menggunakan keyword
implements. Sebuah class dapat mengimplementasikan satu buah interface yang sudah dibuat
dengan keyword implement.
1. Abstraksi
Abstraksi identic dengan proses menyembunyikan detail implementasi dan hanya
menampilkan fungsionalitas kepada user, Jadi user tidak tahu menahu proses
pembuatannya, hanya secara fungsional dapat menggunakannya. Misalnya, pada saat
mengetik teks lalu mengirim SMS. Dalam hal ini, tidak tahu proses detail
pengirimannya, yang diketahui hanyalah SMS tersebut terkirim atau belum.
a. Abstract Class
Interface sebagai salah satu tiga referensi pada Java yang secara structural serupa
dengan class. Isi dari interface adalah method abstract, artinya method hanya
dideklarasikan dan tidak ditulis secara utuh. Deklarasi method pada interface serupa
dengan method pada class abstract. Variable pada interface akan memiliki aturan
public dan abstract. Abstract Class hanya dapat digunakan sebagai superclass dan
dapat diturunkan dari class abstract lainnya.
Abstract class identic dengan class yang memiliki minimal satu abstract method.
Untuk mendeklarasikan sebuah abstract class digunakan keyword abstract, [abstract]
class [class_name].
Sebuah abstract class pada dasarnya tidak jauh berbeda dengan class lainnya, yaitu
berisi method yang menggambarkan karakteristik dari class abstract tersebut.
Abstract Class tidak bisa dibuat dari objectnya atau tidak dapat di instansiasi. Object
hanya bisa dibuat dari non-abstract class (concreate class). Perbedaannya adalah
sebuah abstract class bisa berisi method tanpa diimplementasikan, artinya sebuah
method tanpa body. Method seperti ini disebut method abstract. Konsekuensinya,
suatu abstract class harus diturunkan dimana pada subclass tersebut berisi
implementasi dari abstract method yang di superclass.
Berikut ini sintaks dalam mmebuat absctract class
public abstract class Hewan
{
… //definisi class
}
Sintaks dalam membuat method abstract class diuraikan sebagai berikut
public abstract class Hewan
{ void Bernafas ( ) {
System.out.println(“Bernafas”);
}
}
b. Abstract Method
Abstract Method identic dengan method yang belum memiliki implementasi
sehingga dapat menyatakan suatu method abstract dengan membutuhkan keyword
abstract pada deklarasi method tersebut. Secara umum, sintaks pendeklarasian
abstract method diuraikan sebagai berikut :
Namun, terdapat perbedaan mendasar antara Abstract Class dan Interface, yang dapat
dilihat pada table berikut :
No Komponen Keterangan
1 Abstract a. Dapat mendeklarasikan constant dan instance variable
Class b. Bisa berisi abstract dan non-abstract method
c. Anda harus menuliskan sendiri modifiernya
d. Method boleh bersifat final dan boleh bersifat static
e. Suatu abstract class hanya bisa mengextend satu abstract
class dan mengimplements beberapa interface
f. Suatu abstract class hanya bisa mengextend suatu abstract
class lainnya
2 Interface a. Tidak perlu menulis public abstract di depan nama method
karena secara implisit, modifier untuk method diinterface
adalah public dan abstract
b. Hanya boleh berisi abstract method
c. Hanya bisa mendeklarasikan constant, secara implisit,
variable yang dideklarasikan di interface bersifat public,
static dan final
d. Method tidak boleh bersifat static dan tidak boleh bersifat
final
e. Suatu interface hanya bisa mengextend interface lainnya dan
tidak bisa mengimplement class atau interface lainnya
f. Suatu interface bisa mengextend satu atau lebih interface
lainnya.
4. Implementasi dengan banyak interface
Seperti dibahas di depan, daftar interface yang diimplementasikan oleh suatu class
ditulis dengan dipisahkan tanda koma. Misalkan pada proyek bernama latihan tadi kita
tambahkan satu interface dengan nama TutupPesan pada file tersendiri
(TutupPesan.java). interface ini berisi 2 method yaitu penutup dan salam. Maka isi
file TutupPesan.java akan seperti berikut
Listing Program
package latihan;
public interface TutupPesan {
public void penutup( );
public void salam( ); 5. }
Misalkan isi method penutup untuk class latihan adalah teks bertuliskan “Terima
kasih atas perhatiannya”, sedangkan method salam berisi teks bertuliskan “Sampai
Jumpa”.
Maka isi lengkap file Latihan.java disesuaikan seperti berikut
Jika dijalankan (run), hasilnya pada jendela output IDE Netbeans akan seperti pada
gambar berikut
Latihan 2
Jawab pertanyaan berikut!
1. Jelaskan cara sebuah class bernama Aves menggunakan 4 interface bernama Habitat,
Diet, Reproduksi, dan Feet!
2. Uraikan Dalam hal apa saja keyword implements digunakan!
3. Jabarkan Dalam hal apa saja keyword extends digunakan!
4. Tuliskan cara melakukan kompilasi kode java dan memunculkan outputnya
pada lingkungan IDE Netbeans!
TUGAS PROJECT
Meranncang dan Membuat Interface
Kerja sama, efisiensi, bertanggungjawab
Buatlah kelompok beranggotakan minimal 6 anak. Setiap anggota membuat 2 interface di computer masing-ma
Interface pertama bernama Biodata yang berisi 3 method, yaitu nama, tempatLahir
dan hobi
Interface pertama bernama Nilai yang berisi 3 method, yaitu agama, BahasaIndonesia
dan matematika
Buatlah sebuah class bernama Arsipku yang sekaligus mengimplementasikan kedua interface di atas, Definisika
Begitu pula dengan method tempatLahir dan hobi. Isikan sesuai tempat lahir dan hobi pembuatnya. Lanjutnya
Lakukan tugas ini bersama-sama dengan saling bertukar pikiran. Pastikan semua anggota kelompok berhasil me
RANGKUMAN
Interface atau antarmuka merupakan salah satu konsep dalam pemrograman java yang berisi kumpulan meth
Interface diimplementasikan oleh class. Sebuah class menggunakan keyword implements untuk mengakses in
Sebuah class dapat mengimplementasikan lebih dari satu interface secara bersamaan. Dalam hal ini nama inte
Method pada interface hanya memuat struktur konstanta yang tidak dijelaskan secara detail, sekadar abstrak
A. Berilah tanda silang (x) pada huruf A, B, C, D atau E di depan jawaban yang
benar!
5. Class yang hanya diperkenankan melakukan pewarisan pada 1 class lain, tetapi
dapat mengimplementasikan interface sebanyak maksimal … .
A. 1
B. 2
C. 3
D. 4
E. berapapun
6. Kode program berikut ini yang tidak boleh digunakan untuk method di dalam
sebuah interface adalah … .
A. System.out.println(“Interface Error”)
B. System.out.println(“Interface Ready”)
C. int jumlah = jumlah + 1
D. int nilai = 2
E. System.out.println(“5+3”)
10. Salah satu hal yang membedakan class dengan interface adalah dalam hal bisa
tidaknya … .
A. memiliki method
B. membuat objek (instansiasi)
C. dideklarasikan
D. memiliki hirar ki
E. melakukan pewarisan
11. Pernyataan berikut yang tepat tentang interface dalam Java adalah … .
A. objek adalah anak dari class
B. sebuah teknik visualisasi tampilan
C. kumpulan method yang dideklarasikan secara abstrak
D. kemampuan membentuk antarmuka aplikasi berbasis GUI
E. hak akses yang hanya dimiliki oleh user tertentu saja
12. Berikut ini yang bukan merupakan ciri-ciri interface yaitu … .
A. interface dapat mendefinisikan method
B. method pada interface boleh bersifat statis
C. tidak membuat instance atau objek baru dari sebuah interface
D. sebuah interface tidak memiliki kode implementasi
E. suatu interface dapat mengextend satu atau lebih interface lainnya
14. Menyediakan suatu implements baru untuk suatu method di dalam subclass adalah
….
A. Interface
B. Inheritance
C. Buffer
D. Overloading
E. Overriding
15. Perhatikan potongan kode program berikut
MyInterface obj = new Demo( );
Obj.method1( );
interface MyInterface {
Void iMethod( );
}
class MyClass1 implements MyInterface
{ public void iMethod( )
{ System.out.println(“Interface”)
}
void myMethod( ) {
System.out.println(“Method”)
}
}
class MyClass2 implements MyInterface
{ public void iMethod( )
{ System.out.println(“Package”)
}
}
class InterfaceDemo {
public static void main(String arg[ ])
{ MyClass1 mc1 = new MyClass1(
); MyClass2 mc2 = new
MyClass2( ); mc1.myMethod( );
mc2.myMethod( );
}
}
Dari listing program tersebut, yang merupakan deklarasi program dan termasuk
sebuah interface adalah … .
A. class InterfaceDemo
B. interface MyInterface
C. System.out.println(“Interface”);
D. class myClass1 implements MyInterface
E. class myClass2 implements MyInterface
B. Jawablah pertanyaan-pertanyaaan berikut dengan benar!
1. Uraikan ciri-ciri dari interface!
2. Jelaskan langkah-langkah pembuatan interface dan pengimplementasiannya oleh
suatu class!
3. Tuliskan keyword bagi sebuah class untuk :
a. mengimplemetasikan interface
b. menginduk pada class lain
4. Jabarkan perbedaan antara extends dan implements!
5. Uraikan dalam hal apa kita perlu menggunakan interface!
6. Jelaskan maksud dari interface hanya berisi abstraksi!
7. Tuliskan perbedaan mendasar antara Abstract Class dan Intreface!
8. Buatlah sebuah program interface tumbuhan dengan class Bunga yang memiliki
output sebagai berikut :
COBA BUAT
INTERFACE WARNA
MERAH
9. Dalam interface ada fungsi pewarisan sebagai metode reuseability, Jabarkan hal-
hal yang perlu diperhatikan dalam metode reuseability!
10. Cari dan deskripsikan gambaran studi kasus dalam kehidupan sehari-hari yang
menggunakan penerapan interface!
Catatan :
Khusus uji kompetensi, di split pdf dan convert ke doc terus blok jawaban untuk
opsi pilihan jawaban. Sedangkan untuk uraian silahkan diketik, masih dalam file
tadi.
Kemudian simpan dengan format namakelas-
nourut. Setelah itu, convert kembali ke pdf.
Silahkan kreasikan pdf Anda untuk membedakan dengan teman yang lain.
Kirim ke link yang sama dengan tugas yang lain ke link https://bit.ly/3GH7Aba
Mohon sesuaikan dengan folder masing-masing.