Disusun Oleh :
NAMA : ANNISA SALSABILA
NIM : 185410070
JURUSAN : TEKNIK INFORMATIKA
STMIK AKAKOM
YOGYAKARTA
2019
A. TUJUAN
Mahasiswa dapat membuat dan menggunakan kelas asbtrak.
B. DASAR TEORI
Interface adalah kelas yang benar-benar abstrak, artinya hanya berisi deklarasi method dan (jika
ada) konstanta saja. Method-method tersebut nantinya harus diimplementasikan pada real class.
Interface dapat dianalogikan seperti menandatangani kontrak kerja. Misalnya seorang
dosen wajib mengajar, membuat soal, dsb, akan tetapi cara mengajar dan membuat
soalnya diserahkan ke masing-masing dosen (tidak ditentukan dalam kontrak kerja).
Interface mendefinisikan suatu protokol perilaku tanpa dipusingkan dengan implementasinya.
Suatu kelas yang mengimplementasikan interface maka pada kelas tersebut akan melekat
perilaku yang didefinisikan interface.
Sebagai contoh : Dalam kehidupan nyata dapat diketahui ada manusia yang bekerja sebagai
tentara, penyanyi, pengacara, dan sebagainya, tentunya manusia-manusia tersebut selain harus
memiliki method standard sebagai seorang manusia, juga harus memiliki method yang sesuai
dengan pekerjaannya. Dengan demikian untuk membuat objek manusia yang bekerja sebagai
penyanyi, harus dibuat kelas yang merupakan turunan kelas manusia yang meng
implementasikan interface penyanyi.
Deklarasi interface :
[modifier] interface NamaInterface {
deklarasi konstanta;
deklarasi method-method;
}
Interface memiliki kemiripan dengan kelas abstrak, di mana keduanya memuat method abstrak.
Perbedaan penting antara interface dan kelas abstrak adalah :
ntasi satu method pun, sementara kelas abstrak
dapat membuat implementasi satu atau lebih method abstrak.
-extends
satu superclass.
hirarki kelas. Dua kelas yang tidak berhubungan dalam
jalur hirarki kelas dapat mengimplementasi interface yang sama.
Deklarasi Interface
Misalkan ada sekumpulan obyek yang memiliki kemampuan yang sama, yaitu mereka semua
dapat terbang. Untuk itu dapat dibuatkan sebuah interface publik, yang dinamakan Flyer, yang
memiliki tiga operasi takeOff, land, dan fly.
Penggunaan Interface
Biasanya interface digunakan untuk:
kan interface sebuah obyek ke publik tanpa menunjukkan isi kelas sebenarnya.
kelas (superclass - subclass).
rasikan kelas yang
mengimplementasikan beberapa interface sekaligus.
C. PRAKTIK
PRAKTIK 1 : Interface Bangun2D
Pembahasan :
Pada praktik diatas yaitu program Interface Bangun2D yang digunakan untuk menghitung luas
lingkaran dan keliling lingkaran dengan jari – jarinya. Program tersebut mempunyai nama kelas
Bangun2D pada program pertama yang digunakan untuk mendeklarasikan saja, dan program
kedua dengan nama kelas Lingkaran yang digunakan untuk menjalankan perintah dan
menampilkan outputnya. Pendeklarasian interface ditanyai dengan adanya keyword “interface”
pada awal program, lalu pada program pertama terdapat tipe data double yaitu tipe data yang
digunakan untuk emnghitung pecahan (dalam bentuk koma). Lalu pada baris ke 32 merupakan
kelas turunan dari program kedua yang digunakan untuk menjalankan perintah dan
mengeluarkan outputnya. Outputnya seperti diatas, menghitung luas lingkaran dan keliling
lingkaran dengan jari – jari, sesuai dengan rumus yang dimasukkan pada awal program.
Pada praktikum diatas yaitu program Multiple Interface yaitu program dimana terdapat lebih dari
1 Interface di dalamnya. Program tersebut memiliki nama kelas Interface1 yang berfungsi
sebagai program utama atau untuk mendeklarasikan dan Interface2 yang berfungsi sebagai
program untuk menjalankan perintah – perintah. Ada dua Interface masing - masing
mendeklarasikan method abstrack nya, interface satu terdapat dua dan interface dua terdapat 1.
Bila di extend bisa satu kelas dan bila implementasi bisa lebih dari satu kelas. Kelas ini
mengimplementasikan setInfo, tampilInfo, dan cetakInfo. Kelas ini bisa mengimplementasikan
dua interface, jadi seolah olah pewarisan jamak (lebih dari 1 interface), interface 1 dan 2
mewariskan ke 1 kelas yaitu multi interface. Pada program diatas pada baris ke 35 dengan nama
method setInfo(“Hai”); yang menampilkan kata “Hai” pada outputnya dan pada baris ke 36
terdapat method tampilInfo(); yang digunakan untuk menampilkan output pada bagian
tampilInfo, yang berisi kalimat “ini info dari method tampilInfo”.
D. LATIHAN
1. Gambarkan class diagram untuk program pada praktek 2!
2. Buatlah program Java yang mengimplementasikan multiple interface seperti diagram kelas
berikut,
E. TUGAS
Jelaskan perbedaan antara kelas abstrak dan interface!
Jawab :
Kelas Abstrak
Kelas Abstrak adalah kelas yang tidak dapat dibuat obyeknya (diinstantiasi). Hal ini dikarenakan
kelas tersebut belum lengkap karena memiliki minimal satu buah method yang tidak mempunyai
definisi, hanya berupa deklarasi saja. Agar dapat diinstantiasi maka kelas turunannyalah yang
harus membuat implementasinya (membuat definisi dari method yang belum lengkap tadi).
Sebelum semua method dibuat definisinya, maka kelas yang mewarisi kelas abstrak juga tidak
dapat diinstantiasi, artinya menjadi kelas abstrak juga. Biasanya suatu kelas dijadikan abstrak
karena kelas tersebut terlalu umum.
Interface
Interface adalah kelas yang benar-benar abstrak, artinya hanya berisi deklarasi method dan (jika
ada) konstanta saja. Method-method tersebut nantinya harus diimplementasikan pada real class.
Interface mendefinisikan suatu protokol perilaku tanpa dipusingkan dengan implementasinya.
Suatu kelas yang mengimplementasikan interface maka pada kelas tersebut akan melekat
perilaku yang didefinisikan interface.
F. KESIMPULAN
Pada pertemuan kali ini dapat disimpulkan bahwa Interface mendefinisikan aturan perilaku
(protocol of behavior) yang dapat diimplementasikan oleh kelas manapun. Interface
mendefinisikan satu set method tanpa menyediakan implementasinya. Sebuah kelas yang
mengimplementasi sebuah interface terikat kontrak oleh interface tersebut untuk
mengimplementasi semua method yang ada di dalam interface, namun apabila kita ingin
membuat salah satu method tidak ter-implementasikan maka wajib membuat abstrak keyword
dikelas tersebut. Dengan kata lain, kelas tersebut terikat untuk mengimplementasikan perilaku
tertentu yang tertulis dalam interface. Secara substansi, interface merupakan kumpulan dari
method abstrak dan konstanta.
G. LISTING
Terlampir