Interface adalah sebuah tipe referensi pada Java. Interface secara struktur serupa dengan class. Isi dari interface adalah method abstract, artinya method hanya dideklarasikan tidak ditulis secara utuh. Deklarasi method pada interface serupa dengan method pada class abstract.
Hubungan Antara Class dan Interface
Seperti yang terlihat pada gambar dibawah ini, sebuah class melakukan extends terhadap class lain, sebuah interface melakukan extends terhadap interface lain, namun sebuah class melakukan implements pada interface.

Pewarisan Pada Interface
Jika sebuah class tidak diperkenankan melakukan pewarisan (extends) lebih dari 1 class, maka interface diperbolehkan melakukan hal tersebut. Namun sebuah class diperbolehkan melakukan implementasi terhadap lebih dari 1 interface.

Cara membuat Class Interface yang dimana saat klik kanan pada project -> Klik NEW -> lalu pilih Java Class saat menamakan Class tersebut maka ada option untuk memilih Class,Interface,Enum dan sebagai nya
Bila ingin membuat Interface maka pilih lah Class interface dan Contoh kode program interface melakukan multiple pewarisan adalah sebagai berikut :
Fungsidasar.java
public interface Fungsidasar { public void makan(); public void jalan(); public void bernafas(); }
Makhlukhidup.java
public abstract class Makhlukhidup { //sebuah kelas dasar yang harus dimiliki oleh sebuah fungsinya
public void jalan(){ System.out.println("Capekk"); } public abstract void bernafas(); }
Manusia.java
public class Manusia extends Makhlukhidup implements Fungsidasar { @Override public void makan() { System.out.println("Enakkkkkkk"); } @Override public void jalan() { System.out.println("Jalan"); } @Override public void bernafas() { System.out.println("Fiuuhhhh"); } public static void main(String[] args){ Manusia a = new Manusia(); a.makan(); } }
dan bila di RUN maka akan keluar seperti gambar di bawah ini :
Stack pada Java
Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut. Sebuah stack hanya dapat ditambahkan dan dikurangi elemennya hanya dari satu sisi yakni elemen atasnya atau biasa disebut Top Of Stack.
Fungsi dalam Stack:
- Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
- Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
- Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
- Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
- Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
- Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast.
- Penggunaan STACK :
- Perhitungan ekspresi aritmatika (posfix)
- algoritma backtraking (runut balik)
- algoritma rekursif
(cites from http://id.wikipedia.org/wiki/Stack_%28struktur_data%29)Contoh Kode Stack menggunakan TemplateStack.java
- Perhitungan ekspresi aritmatika (posfix)
- algoritma backtraking (runut balik)
- algoritma rekursif
public class Stack <T> { //dia belum tau T,T itu caranya harus panggil class array,fungsi nya public T[] array; public int pointer; public Stack(Class <?> classname){ array=(T[]) Array.newInstance(classname, 10); pointer = -1; } public void push (T item){ array[++pointer] = item; } public T pop(){ return array[pointer--]; } public static void main(String[] args){ Stack <Integer> Stack = new Stack<Integer> (Integer.class); //objek kelas dari kelas tertentu } }
Queue pada Java
Queue adalah sebuah Antrian atau istilah lain nya FIFO(First In First Out) contoh kodingan nya adalah :
QUEUE.Java
import java.util.NoSuchElementException; public class Queue<T> { private T[] elements;//array in generic private int depan;//element pertama atau depan nya queue private int belakang;//element terakhir atau belakang nya queue private int kapasitas; //kapasitas queue private int hitung; //mengindikasikan jumlah elemen yang tersimpan saat ini dalam queue public Queue(int size) { kapasitas = size; hitung = 0; belakang = size-1; depan = 0; elements =(T []) new Object[size]; //array kosong queue } //Returns true if the queue is empty or false public boolean isEmpty() { return hitung==0;//means its true } //Add elements to the queue public void enqueue(T item) { if(hitung == kapasitas) { resize(kapasitas*2); // System.out.println("Queue is full"); } belakang = hitung % kapasitas; //example back=(0+1)%10=1 elements[belakang]=item; //elements[0]=0 //item=elements[count]; hitung++; } //Public resize public void resize(int reSize){ T[] tmp = (T[]) new Object[reSize]; int current = depan; for (int i = 0; i > hitung; i++) { tmp[i] = elements[current]; current = (current + 1) % hitung; } elements = tmp; depan = 0; belakang = hitung-1; kapasitas=reSize; } //Dequeue method to remove head public T dequeue() { if(isEmpty()) throw new NoSuchElementException("Dequeue: Queue is empty"); else { hitung--; for(int x = 1; x <= hitung; x++) { elements[x-1] = elements[x]; } kapasitas--; return (T) elements; } } //peek the first element public T peek() { if(isEmpty()) throw new NoSuchElementException("Peek: Queue is empty"); else return elements[depan]; } //Print queue as string public String toString() { if(isEmpty()) { throw new NoSuchElementException("Queue is empty"); } String s = "["; for(int i = 0; i < hitung; i++) { if(i != 0) s += ", "; s = s + elements[i];// [value1,value2,....] } s +="]"; return s; } public void delete() { //Delete everything hitung = 0; } }MainQueue.Java/** * Created by putriramadannia_pc on 4/1/2017. */public class MainQueue { public static void main(String[] args) { int kapasitas=6; Queue<Integer> queue = new Queue<Integer>(kapasitas); queue.enqueue(1); System.out.println("Queue: "+ queue); queue.enqueue(2); System.out.println("Queue: "+ queue); queue.dequeue(); queue.enqueue(3); System.out.println("Queue: "+ queue); queue.enqueue(4); System.out.println("Queue: "+ queue); queue.enqueue(5); System.out.println("Queue: "+ queue); queue.enqueue(6); System.out.println("Queue: "+ queue); } }Hasil Output nya :
Sekian untuk minggu ini see you....
Sumber : http://onestringlab.com/penjelasan-class-interface-pada-java/
yuhuu, berguna banget
BalasHapusLampu service hp