MEMAHAMI INTERFACE DI
JAVA (DAN CONTOHNYA)
Oleh: Saprudin Komala, S.Kom.
• Ada yang bilang gini:
• “Interface adalah blue print dari class. Isi method-nya kosong dan nanti akan
diimplementasikan pada class lain.”
• Kamu bisa paham maksudnya?
• Tidak?
• Sama.. hehe 😄
• Ya, seperti itulah penjelasan yang saya terima saat baru awal belajar Java dan
OOP dulu. Bukan tambah paham, malah bikin bingung.
• Interface memang tak memiliki isi method dan pada tutorial sebelumnya kita
juga pakai interface untuk beberapa program java.
• Tapi bukan itu sebenarnya kegunaan utama dari Interface.
• Lalu apa donk?
• Mari kita bahas.
APA ITU INTERFACE?
• Interface terdiri dari dua kata:
• Inter = antar
• Face = muka
• Jadi interface adalah antarmuka.
• Kata ini mungkin sering kamu dengar. Contohnya seperti: GUI (Graphical User Interface) dan CLI
(Command Line Interface).
• Secara umum, interface berfungsi sebagai penghubung antara sesuatu yang ‘abstrak’ dengan sesuatu
yang nyata.
• Contoh:
• Coba perhatikan handphone-mu, ada berapa tombol di sana?
• Kalau HP zaman sekarang, paling cuma ada dua.. yakni tombol power dan tombol volume.
• Tombol-tombol inilah yang dimaksud interface. Sementara isi dalam HP-nya, kamu tak peduli atau tak
akan tahu seberapa kompleks dan abstrak sistem yang ada di sana.
• Saat kamu menekan tombol di HP mu, ada beberapa hal yang mungkin terjadi:
• HP menyala;
• HP mati;
• Suara HP tambah besar;
• Suara HP mengecil;
• Mengambil gambar dari kamera; dll.
• Ini tergantung bagaimana implementasi yang diberikan untuk tombol-tombol tersebut.
• Beda merek HP, beda lagi cara mereka mengimplementasikannya.
• Misal pada HP tertentu, jika menekan tombol volume 3x.. maka akan mengambil screenshot.
Sementara di HP merek lain, kita tidak bisa melakukan ini.
• Nah, konsep ini juga ada di dalam OOP.
• Bagaimana Contohnya?
• Mari kita lihat:
CONTOH PROGRAM INTERFACE
• Biar nyambung dengan penjelasan saya yang tadi, kita akan pakai contoh
Handphone.
• Jadi.. ada dua objek yang akan kita hubungkan dengan interface.
• Yakni manusia dan handphone. Manusianya kita sebut saja sebagai PhoneUser.
Karena dia akan menggunakan objek HP
.
• Maka dapat kita buat class diagramnya seperti ini:
• Sekarang mari kita coba buat dalam bentuk kode. Buatlah proyek baru dengan
nama ContohInterface di Netbeans atau text editor apapun.
• Lanjutan dari atas:
• Lanjutan dari atas:
• Sekarang coba jalankan class Main. Caranya, Klik kanan lalu pilih Run File atau bisa
juga dengan menekan Shift+F6.
• Maka hasilnya:
• Kalau kita perhatikan di dalam method main() kita hanya menggunakan objek dari
class PhoneUser saja.
• Coba lihat kode-kode ini:
• Saat kita memanggil method-method ini, maka method yang ada di dalam objek
redmiNote8 yang akan dipanggil.
• Ini karena mereka terhubung dengan interface.
• Lalu pertanyaannya:
MENGAPA HARUS PAKAI
INTERFACE?
• Sebenarnya kita tidak harus selalu menggunakan interface. Tapi dalam kasus
tertentu, interface akan sangat berguna.
• Misalnya gini:
• Kita tahu objek PhoneUser membutuhkan objek dari handphone. Tanpa objek
handphone, si objek user nggak akan bisa kita buat.
• Ini karena kita menetapkan pada konstruktornya.
• Btw, ini juga disebut dengan hubungan dependency.
• Nah, di sana kita menggunakan interface Phone untuk membuat objek
dependency-nya.
• Kalau gak pakai interface memangnya kenapa?
• Untuk menjawab pertanyaan ini, mari kita coba ubah Phone menjadi Xiaomi.
• Apa yang akan terjadi?
• Untuk saat ini tidak akan terjadi apa-apa. Tapi sekarang bagaimana kalau kita punya
objek baru dari class yang mengimplementasikan interface Phone juga.
• Kita sebut saja objek baru tersebut adalah iPhoneX yang merupakan instance dari
class IPhone.
• Maka object iPhoneX
tidak akan bisa diberikan
kepada PhoneUser. Karena
di konstruktornya dia cuma
bisa pakai Xiaomi saja.
Jadi.. Mengapa kita harus
pakai interface?
Interface akan membuat si objek PhoneUser bisa menggunaakn objek hand-phone
apapun dengan syarat objek handphone tersebut harus mengimple-mentasikan
method dari interface Phone. Jelas?
HAL-HAL YANG TIDAK BOLEH
DILAKUKAN DI INTERFACE
• Ada beberapa hal yang tidak boleh kamu lakukan saat membuat interface:
• Jangan buat variabel di dalam interface, tapi membuat konstanta boleh;
• Jangan mengisi method-nya, cukup tuliskan nama method, tipe data, dan
parameter saja. Tapi untuk default metod boleh punya isi.
• Contoh:
• Jangan berikan modifier privete atauapun protected pada method dan konstanta
yang ada di dalam interface.
• Interface tidak bisa dibuat objek instance-nya dengan kata kunci new.
• Kalau dilanggar gimana?
• Ya programnya akan error!
APA SELANJUTNYA?
• Jadi kesimpulannya:
• Interface merupakan penghubung antar objek. Interface bersifat abstrak, sehingga
objek yang menggunakannya tidak akan perduli bagaimana ia diimplementasikan.
• Karena bersifat abstrak, interface tidak bisa dibuat objek instance dengan kata
kunci new.
• Interface sebenarnya mengamalkan prinsip Abstraksi dan Enkapsulasi
(pembungkusan).
• Nah, itu saja yang bisa saya bagikan tentang interface.
• Selanjutnya, silahkan kalian praktekkan program interface di atas.
• Sumber referensi: https://www.petanikode.com/java-oop-interface/
SEKIAN DAN TERIMA KASIH

13. memahami interface di java (dan contohnya)

  • 1.
    MEMAHAMI INTERFACE DI JAVA(DAN CONTOHNYA) Oleh: Saprudin Komala, S.Kom.
  • 2.
    • Ada yangbilang gini: • “Interface adalah blue print dari class. Isi method-nya kosong dan nanti akan diimplementasikan pada class lain.” • Kamu bisa paham maksudnya? • Tidak? • Sama.. hehe 😄 • Ya, seperti itulah penjelasan yang saya terima saat baru awal belajar Java dan OOP dulu. Bukan tambah paham, malah bikin bingung. • Interface memang tak memiliki isi method dan pada tutorial sebelumnya kita juga pakai interface untuk beberapa program java. • Tapi bukan itu sebenarnya kegunaan utama dari Interface. • Lalu apa donk? • Mari kita bahas.
  • 3.
    APA ITU INTERFACE? •Interface terdiri dari dua kata: • Inter = antar • Face = muka • Jadi interface adalah antarmuka. • Kata ini mungkin sering kamu dengar. Contohnya seperti: GUI (Graphical User Interface) dan CLI (Command Line Interface). • Secara umum, interface berfungsi sebagai penghubung antara sesuatu yang ‘abstrak’ dengan sesuatu yang nyata. • Contoh: • Coba perhatikan handphone-mu, ada berapa tombol di sana? • Kalau HP zaman sekarang, paling cuma ada dua.. yakni tombol power dan tombol volume. • Tombol-tombol inilah yang dimaksud interface. Sementara isi dalam HP-nya, kamu tak peduli atau tak akan tahu seberapa kompleks dan abstrak sistem yang ada di sana.
  • 5.
    • Saat kamumenekan tombol di HP mu, ada beberapa hal yang mungkin terjadi: • HP menyala; • HP mati; • Suara HP tambah besar; • Suara HP mengecil; • Mengambil gambar dari kamera; dll. • Ini tergantung bagaimana implementasi yang diberikan untuk tombol-tombol tersebut. • Beda merek HP, beda lagi cara mereka mengimplementasikannya. • Misal pada HP tertentu, jika menekan tombol volume 3x.. maka akan mengambil screenshot. Sementara di HP merek lain, kita tidak bisa melakukan ini. • Nah, konsep ini juga ada di dalam OOP. • Bagaimana Contohnya? • Mari kita lihat:
  • 6.
    CONTOH PROGRAM INTERFACE •Biar nyambung dengan penjelasan saya yang tadi, kita akan pakai contoh Handphone. • Jadi.. ada dua objek yang akan kita hubungkan dengan interface. • Yakni manusia dan handphone. Manusianya kita sebut saja sebagai PhoneUser. Karena dia akan menggunakan objek HP . • Maka dapat kita buat class diagramnya seperti ini:
  • 8.
    • Sekarang marikita coba buat dalam bentuk kode. Buatlah proyek baru dengan nama ContohInterface di Netbeans atau text editor apapun.
  • 11.
  • 13.
  • 14.
    • Sekarang cobajalankan class Main. Caranya, Klik kanan lalu pilih Run File atau bisa juga dengan menekan Shift+F6. • Maka hasilnya: • Kalau kita perhatikan di dalam method main() kita hanya menggunakan objek dari class PhoneUser saja.
  • 15.
    • Coba lihatkode-kode ini: • Saat kita memanggil method-method ini, maka method yang ada di dalam objek redmiNote8 yang akan dipanggil. • Ini karena mereka terhubung dengan interface. • Lalu pertanyaannya:
  • 16.
    MENGAPA HARUS PAKAI INTERFACE? •Sebenarnya kita tidak harus selalu menggunakan interface. Tapi dalam kasus tertentu, interface akan sangat berguna. • Misalnya gini: • Kita tahu objek PhoneUser membutuhkan objek dari handphone. Tanpa objek handphone, si objek user nggak akan bisa kita buat. • Ini karena kita menetapkan pada konstruktornya. • Btw, ini juga disebut dengan hubungan dependency.
  • 17.
    • Nah, disana kita menggunakan interface Phone untuk membuat objek dependency-nya. • Kalau gak pakai interface memangnya kenapa? • Untuk menjawab pertanyaan ini, mari kita coba ubah Phone menjadi Xiaomi.
  • 18.
    • Apa yangakan terjadi? • Untuk saat ini tidak akan terjadi apa-apa. Tapi sekarang bagaimana kalau kita punya objek baru dari class yang mengimplementasikan interface Phone juga. • Kita sebut saja objek baru tersebut adalah iPhoneX yang merupakan instance dari class IPhone.
  • 19.
    • Maka objectiPhoneX tidak akan bisa diberikan kepada PhoneUser. Karena di konstruktornya dia cuma bisa pakai Xiaomi saja. Jadi.. Mengapa kita harus pakai interface? Interface akan membuat si objek PhoneUser bisa menggunaakn objek hand-phone apapun dengan syarat objek handphone tersebut harus mengimple-mentasikan method dari interface Phone. Jelas?
  • 20.
    HAL-HAL YANG TIDAKBOLEH DILAKUKAN DI INTERFACE • Ada beberapa hal yang tidak boleh kamu lakukan saat membuat interface: • Jangan buat variabel di dalam interface, tapi membuat konstanta boleh; • Jangan mengisi method-nya, cukup tuliskan nama method, tipe data, dan parameter saja. Tapi untuk default metod boleh punya isi. • Contoh: • Jangan berikan modifier privete atauapun protected pada method dan konstanta yang ada di dalam interface. • Interface tidak bisa dibuat objek instance-nya dengan kata kunci new. • Kalau dilanggar gimana? • Ya programnya akan error!
  • 21.
    APA SELANJUTNYA? • Jadikesimpulannya: • Interface merupakan penghubung antar objek. Interface bersifat abstrak, sehingga objek yang menggunakannya tidak akan perduli bagaimana ia diimplementasikan. • Karena bersifat abstrak, interface tidak bisa dibuat objek instance dengan kata kunci new. • Interface sebenarnya mengamalkan prinsip Abstraksi dan Enkapsulasi (pembungkusan). • Nah, itu saja yang bisa saya bagikan tentang interface. • Selanjutnya, silahkan kalian praktekkan program interface di atas.
  • 22.
    • Sumber referensi:https://www.petanikode.com/java-oop-interface/
  • 23.