BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

dokumen-dokumen yang mirip
BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN BERORIENTASI OBYEK. Disusun Oleh : Dwi Rolliawati, S.T.,M.T

Object Oriented Programming 1

Pemrograman Berorientasi Objek

DEVAL GUSRION, S.KOM, M.KOM MATAKULIAH BAHASA PEMOGRAMAN JAVA LANJUTAN III

MODUL 4 ENCAPSULATION, INHERITANCE DAN POLYMORPHISM

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

PEWARISAN. Disusun Oleh: Reza Budiawan. Untuk: Tim Dosen Algoritma & Pemrograman Lanjut

KARAKTERISTIK PEMROGRAMAN BERORIENTASI OBJEK (OOP) Pemrograman berorientasi Objek mempunyai karakterisitik sebagai berikut:

MINGGU IV : PEMROGRAMAN BERORIENTASI OBJEK

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

APLIKASI PERHITUNGAN GAJI PEGAWAI DENGAN JAVA Disusun untuk memenuhi tugas matakuliah Pemrograman JavaIII

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

E-Book PEMROGRAMAN BERORIENTASI OBJEK. Disusun Oleh: Arfian Hidayat, S.Kom

KONSEP Pemrograman Berorientasi Objek KARMILASARI

MODUL 6. PEMROGRAMAN VISUAL BASIC.NET DENGAN OOP (II) dan STRING

KONSEP OOP: PEWARISAN / INHERITANCE

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Inheritance (Pewarisan) Pengertian dasar inheritance

IKG2I4 / Software Project I

Konsep Pemrograman Berorientasi Obyek. Maria Ulfah S Nurochman

Konsep Pemrograman Berorientasi Obyek

KONSEP OOP: PEWARISAN / INHERITANCE

Pemrograman Berorientasi Obyek. Ramos Somya

Pemrograman Berorientasi Obyek. Konsep OOP

PRAKTIKUM I Class dan Obyek

Encapsulation (Encapsulasi) Minggu 5 Pemrograman Berorientasi Objek Alfa Faridh Suni

Keyword this untuk memanggil private String pengarang; private String judul;

Pemrograman Berorientasi Objek / Object Oriented Programming / (OOP) Nur Hasanah, M.Cs

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

Perkenalan PBO (Java)

KONSEP OBJEK ORIENTASI PROGRAM

PEMBUATAN APLIKASI PERHITUNGAN TRANSAKSI DENGAN JAVA

Object OrientedProgramming

Pertemuan 11 Object Oriented Program

Mengenal Object Oriented Programming (OOP)

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

Class. Object. Object Oriented Programming (OOP) Object Oriented Programming (OOP)

Pemrograman Berorientasi. Polimorfisme dan Binding

Konsep Pemrograman Berorientasi Obyek. Pertemuan 1

Konsep Pemrograman Berbasis Obyek

Pemrograman Berorientasi. Abstract & Interface

Object Oriented Programming (Class, Inheritance, Encapsulation dan Interface)

Konsep Pemrograman Berorientasi Obyek

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Berorientasi. Class dan Obyek 2

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Modul Bahasa Pemrograman 1

Kelompok 6. class SegiTiga extends Bentuk { public SegiTiga(int panjang2, int lebar2) { this.panjang = panjang2; this.

LAPORAN RESMI PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK MODUL 3 ABSTRAKSI

5/23/12. Inheritance. Pengertian inheritance Deklarasi inheritance Single inheritance Multilevel inheritance Access Control super keyword

Pemograman Berorientasi Objek. Week 3 Abstrak dan Interface dalam suatu kelas

Pemrograman Berbasis Objek (Polimorfisme)

Pemrograman Berorientasi Objek Lukman Andi W ( )

Project Kelompok 6. InputStreamReader masukan = new InputStreamReader(System.in); BufferedReader input = new BufferedReader(masukan);

OBJECT ORIENTED PROGRAMMING

PROJECT KELOMPOK 6 R5L. public String getbentuk() { return "Bentuk Dasar"; public abstract int hitungluas();

Bahasa Pemrograman :: Polimorfism and Abstraction

Pemrograman Berbasis Objek Inheritance

Bahasa Pemrograman 2.

Bahasa Pemrograman 2.

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

INHERITANCE. Gambar 1. Kelas Hierarki Java

Overriding. Subclass yang berusaha memodifikasi tingkah laku yang diwarisi dari superclass. Tujuan: subclass memiliki tingkah laku yang lebih

Inheritance. Topik 5/17/2013

Inheritance dan Kata Kunci static

Bahasa Pemrograman 2.

PRAKTIKUM OBJECT ORIENTED PROGRAMING

Pemrograman Berorientasi. Inheritance

BAB 1 PENGENALAN PEMROGRAMAN BERORIENTASI OBJEK

PEMROGRAMAN JAVA. Yoannita, S.Kom. Class & Method sederhana Konsep Pemrograman Berorientasi Objek. Company LOGO

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

(INHERITANCE) Nurochman

Pemrograman Lanjut Review Class dan Object PTIIK

INTERAKSI ANTAR OBJECT

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Pemrograman Berorientasi Objek (PBO) By : Jeffry Montolalu, ST PERTEMUAN XII KELAS DAN OBYEK

PEMROGRAMAN BERORIENTASI OBJEK. Nurochman

LAPORAN RESMI INHERITANCE

Praktikum 6 Abstract, Interface, Overloading, Overriding, dan Package

Class & Object 2. Imam Fahrur Rozi

UNIVERSITAS GUNADARMA

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Tutorial FDM Nurul Huda 2008, bundled by samsonasik. Modul Java 1

JOBSHEET 8 INHERITANCE (PEWARISAN)

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Bahasa Pemrograman 2.

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

Konstruktor dan Polimorfisme

STRUKTUR DENGAN ARRAY DAN FUNCTION

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Abstract Class dan Interface. Viska Mutiawani, M.Sc

BAB 6 INHERITANCE Tujuan:

Praktikum Minggu VI 1 dan 2 Dasar-dasar Object Oriented Programming PHP

Polymorphism. Oleh : Agus Priyanto, M.Kom

subclass class manapun private default protected public package yang sama

PERTEMUAN 13 PERANCANGAN BERORIENTASI OBJEK UNTUK MULTI KELAS

1. Manakah jawaban yang benar,pada saat Anda mengcompile dan menjalankan class berikut ini:

Transkripsi:

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK Untuk dapat menguasai pemrograman Java, harus mengerti dengan baik konsep pemrograman berorientasi objek, karena Java merupakan bahasa pemrograman berorientasi objek. Pada bagian ini akan dibahas konsep-konsep penting dalam pemrograman berorientasi objek, sehingga diharapkan kita akan lebih mudah dalam mempelajari bahasa Java. A. Objek Pada dasarnya semua benda yang ada di dunia nyata dapat dianggap sebagai sebuah objek. Jika perhatikan lebih lanjut, pada dasarnya ada dua karakteristik yang utama pada sebuah objek, yaitu : Setiap objek memiliki atribut sebagai status yang kemudian akan disebut sebagai state. Setiap objek memiliki tingkah laku yang kemudian akan disebut sebagai behaviour. Contoh sederhananya adalah : objek sepeda Sepeda memiliki atribut ( state ) : pedal, roda, jeruji, dan warna. Sepeda memiliki tingkah laku ( behaviour ) : kecepatannya menaik, kecepatannya menurun, dan perpindahan gigi sepeda. Dalam pengembangan perangkat lunak berorientasi objek, objek dalam perangkat lunak akan menyimpan state-nya dalam variabel dan menyimpan informasi tingkah laku ( behaviour ) dalam method-method atau fungsi-fungsi/prosedur. Dengan penjelasan di atas, dapat disimpulkan bahwa objek adalah bagian software yang dibentuk dengan variabel-variabel dan metode-metode yang berhubungan dengan variabel tersebut. Dengan karakteristik tersebut, kita dapat memodelkan berbagai objek dalam kehidupan nyata ke dalam objek-objek dalam sebuah program. Lebih lanjut kita dapat memodelkan objek-objek abstrak ke dalam sebuah program. Contoh umum untuk konsep abstrak

seperti ini adalah objek Event, yaitu objek untuk mewakili peristiwa klik atau tombol ditekan. Sebuah objek yang dibentuk dari sebuah kelas biasa disebut instans dalam terminologi OOP. Artinya objek tersebut adalah wujud nyata dari sebuah kelas. Variabel dan metode dari instans ini disebut variabel instans dan metode instans. Setiap instans menyimpan variabelnya sendiri-sendiri, jadi nilai variabel untuk tiap instans bisa berbeda. B. Message (Pesan) Objek-objek yang bekerja sama membentuk suatu sistem harus saling berkomunikasi untuk menjalankan sistem tersebut. Dalam sebuah program, objek-objek berkomunikasi satu sama lain dengan mengirimkan pesan. Sebagai contoh, jika sebuah objek ingin memanggil metode dari objek lain, maka objek ini akan mengirimkan sebuah pesan yang meminta objek tujuan untuk menjalankan metode yang dikehendaki. Pesan ini akan berisi informasi-informasi yang dibutuhkan objek tujuan untuk dapat menunaikan permintaan tadi. Sebuah pesan dibentuk oleh informasi berikut ini: 1) objek yang dituju; 2) nama metode yang ingin dipanggil; 3) parameter yang dibutuhkan metode tersebut. Misalnya: anotherobject.amethod(parameter1); Bila sebuah objek ingin memanggil metode miliknya sendiri, maka informasi pertama adalah dirinya sendiri. Untuk menunjuk diri sendiri dalam Java digunakan kata kunci this. Maka contoh sebelumnya akan menjadi: this.amethod(parameter1); Atau kita dapat menghilangkan informasi pertama sehingga menjadi: amethod(parameter1); karena bila informasi pertama tidak ada, kompiler akan secara otomatis menunjuk ke objek itu sendiri.

Ada dua keuntungan dalam penggunaan pesan, yaitu: 1) semua kebutuhan interaksi antarobjek dapat dilakukan; 2) objek-objek yang saling berinteraksi tidak harus berada dalam satu proses atau bahkan dalam satu komputer. C. Class Class berbeda dengan objek. Class merupakan prototipe yang mendefinisikan variabelvariabel dan method-method secara umum. Sedangkan objek pada sisi yang lain merupakan instansiasi dari suatu kelas. Kelas adalah semacam cetakan, atau template, untuk membuat objek. Ibaratkan sebuah rancangan rumah yang digunakan untuk membangun ratusan rumah. Rumah yang dibangun tersebut adalah objek dari kelas rancangan rumah. Hal ini dapat dilakukan karena semua objek rumah yang dibangun memiliki karakteristik yang sama, sehingga dapat dibuatkan semacam blueprintnya. Tetapi objek-objek yang dibangun tetap akan memiliki bentuk fisik tertentu sendiri-sendiri, seperti variabel dalam sebuah program, atau pintu sebuah objek rumah. Dengan penjelasan ini, kelas dapat kita definisikan kembali menjadi sebuah blueprint, atau prototipe, yang mendefinisikan variabel dan metode yang sama untuk semua objek sejenis. Sebagai contoh, misalkan kita ingin membuat kelas Rumah, maka kita harus membuat sebuah kelas yang mendefinisikan semua variabel yang dimiliki objek dari kelas tersebut. Selain itu, kelas tersebut juga harus mendeklarasikan metode-metode yang dimiliki objek dari kelas dan juga membuat implementasi dari metode tersebut. Dengan adanya kelas ini, kita dapat membuat sebanyak apapun objek-objek rumah yang sejenis, yaitu jenis yang didefinisikan oleh kelas Rumah. Setiap objek Rumah diciptakan, sistem akan mengalokasikan sejumlah memori untuk objek tersebut dan variabel-variabelnya. Dengan begitu setiap objek akan memiliki salinan masing-masing untuk setiap variabel instans. Setelah mengenal konsep kelas, saatnya Anda dikenalkan dengan variabel kelas. Variabel kelas sebenarnya sama dengan variabel instans. Bedanya adalah, setiap objek berbagi satu dan hanya satu variabel kelas, tapi masing-masing memiliki salinan dari variabel instans. Misalkan kelas Rumah yang kita buat hanya akan mendukung 2 lantai, dan setiap objek Rumah terdiri atas 2 lantai. Maka informasi ini cukup disimpan satu kali, karena nilainya tidak berbeda untuk semua objek. Lebih jauh, bila ada satu objek yang

mengubah nilai dari variabel kelas, maka semua objek sejenis lainnya akan mengikuti perubahan itu. Di samping variabel, terdapat juga metode kelas. Metode jenis ini dapat langsung dipanggil melalui kelas dan bukan dari instans kelas tersebut. Latihan 10. Class.java class Buku { String pengarang; String judul; void Isi(String isi1,string isi2) { judul = isi1; pengarang = isi2; void CetakKeLayar() { if(judul==null && pengarang==null) return; System.out.println("Judul : " + judul + ", pengarang : " + pengarang); class Karangan { public static void main(string[] args) { Buku a,b,c,d; a = b = c = d = new Buku(); a.isi("pemrograman Java","Asep Herman Suyanto"); a.cetakkelayar(); b.isi(null,null); b.cetakkelayar(); c.isi(null,"johan Prasetyo Hendriyanto"); c.cetakkelayar(); d.isi("pemrograman Web",null); d.cetakkelayar();

D. Enkapsulasi Dalam sebuah objek yang mengandung variabel-variabel dan methodmethod, dapat ditentukan hak akses pada sebuah variabel atau method dari objek. Pembungkusan variabel dan method dalam sebuah objek dalam bagian yang terlindungi inilah yang disebut dengan enkapsulasi. Jadi, enkapsulasi dapat diartikan sebagai bungkusan ( wrapper ) pelindung program dan data yang sedang diolah. Pembungkus ini mendefinisikan perilaku dan melindungi program dan data yang sedang diolah agar tidak diakses sembarangan oleh program lain. Manfaat dari proses enkapsulasi adalah : Modularitas Kode sumber dari sebuah objek dapat dikelola secara independen dari kode sumber objek yang lain. Information Hiding Karena kita dapat menentukan hak akses sebuah variabel/method dari objek, dengan demikian kita bisa menyembunyikan informasi yang tidak perlu diketahui objek lain. E. Inheritance Class dapat didefinisikan dengan referensi pada class yang lain yang telah terdefinisi. Inheritance merupakan pewarisan atribut dan method pada sebuah class yang diperoleh dari class yang telah terdefinisi tersebut. Setiap subclass akan mewarisi state ( variabelvariabel ) dan behaviour ( methodmethod ) dari superclass-nya. Subclass kemudian dapat menambahkan state dan behaviour baru yang spesifik dan dapat pula memodifikasi

( override ) state dan behaviour yang diturunkan oleh superclass-nya. Sebagai contoh, sebuah kelas RumahMewah akan mewarisi state dan behaviour dari kelas Rumah. Begitu juga dengan kelas RumahSederhana Kelas RumahMewah dan RumahSederhana disebut subkelas, atau kelas anak, dari kelas Rumah, yang disebut superkelas, atau kelas induk. Dalam Java, terdapat kelas Object yang merupakan superkelas dari semua kelas dalam Java, baik yang builtin ataupun yang kita buat sendiri, lansung maupun tidak langsung. Karena itu sebuah variabel bertipe Object akan dapat menyimpan referensi ke objek apapun dalam bahasa Java. Kelas Object ini memiliki behaviour yang dibutuhkan semua objek untuk dapat dijalankan di Java Virtual Machine. Sebagai contoh, semua kelas mewarisi metode tostring dari kelas Object, yang mengembalikan representasi String dari objek tersebut. Keuntungan dari inheritance adalah : Subclass menyediakan state/behaviour yang spesifik yang membedakannya dengan superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan superclass khusus yang bersifat generik, yang disebut abstract class, untuk mendefinisikan class dengan behaviour dan state secara umum. Istilah dalam inheritance yang perlu diperhatikan : Extends Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass. Superclass Superclass digunakan untuk menunjukkan hirarki class yang berarti class dasar dari subclass/class anak. Subclass Subclass adalah class anak atau turunan secara hirarki dari superclass. Super Keyword ini digunakan untuk memanggil konstruktor dari superclass atau menjadi variabel yang mengacu pada superclass. Methode Overriding Pendefinisian ulang method yang sama pada subclass.

Dalam inheritance, method overriding berbeda dengan method overloading. Kalau method overriding adalah mendefinisikan kembali method yang sama, baik nama method maupun signature atau parameter yang diperlukan dalam subclass, kalau method overloading adalah mendefinisikan method yang memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class yang sama. Latihan 11. Inheritance.java class A { int x; int y; void TampilkanNilaixy() { System.out.println("Nilai x : " + x + ", y : " + y); class B extends A { int z; void TampilkanJumlah() { //subclass dapat mengakses member dari superclass System.out.println("Jumlah : " + (x+y+z)); class Inheritance { public static void main(string[] args) { A VarsuperOb = new A(); B VarsubOb = new B(); System.out.println("SuperClass"); VarsuperOb.x = 10; VarsuperOb.y = 20; VarsuperOb.TampilkanNilaixy(); System.out.println("SubClass");

//member superclass dapat diakses dari subclass nya VarsubOb.x = 5; VarsubOb.y = 4; VarsubOb.TampilkanNilaixy(); System.out.println("SubClass Jumlah"); //member tambahan yang hanya ada dalam subclass VarsubOb.z = 30; VarsubOb.TampilkanJumlah(); System.out.println("SubClass"); VarsubOb.x = 15; VarsubOb.y = 14; VarsubOb.TampilkanNilaixy(); System.out.println("SuperClass"); VarsuperOb.x = 10; VarsuperOb.y = 20; //super.x = 100; error //super.y = 200; error VarsuperOb.TampilkanNilaixy(); System.out.println("SubClass Jumlah"); VarsubOb.z = 60; VarsubOb.TampilkanJumlah();

F. Polimorfisme Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah : Method yang dipanggil harus melalui variabel dari basis class atau superclass. Method yang dipanggil harus juga menjadi method dari basis class. Signature method harus sama baik pada superclass maupun subclass. Method access attribute pada subclass tidak boleh lebih terbatas dari basis class. Latihan 12. Polimorfisme.java abstract class Bentuk { protected int panjang; protected int lebar; public String getbentuk() { return "Bentuk Dasar"; public abstract int hitungluas(); class BujurSangkar extends Bentuk {

public BujurSangkar(int panjang1, int lebar1) { this.panjang = panjang1; this.lebar = lebar1; public String getbentuk() { return "Bentuk Bujur Sangkar"; public int hitungluas() { return panjang*lebar; class SegiTiga extends Bentuk { public SegiTiga(int panjang2, int lebar2) { this.panjang = panjang2; this.lebar = lebar2; //public String getbentuk() { //return "Bentuk Segi Tiga"; //return ""; // public int hitungluas() { return this.panjang*this.lebar/2; class Polimorfisme { public static void cetakluasbentuk(bentuk btk) { System.out.println(btk.getBentuk() + " dengan luas " + btk.hitungluas()); public static void main(string[] args) { BujurSangkar bs = new BujurSangkar(10,20);

BujurSangkar bs1 = new BujurSangkar(10,20); SegiTiga st = new SegiTiga(5,10); SegiTiga st1 = new SegiTiga(50,100); cetakluasbentuk(bs); cetakluasbentuk(bs1); cetakluasbentuk(st); cetakluasbentuk(st1); G. Interface Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa dikatakan sebagai protokol komunikasi antar objek tersebut. Latihan 13. Interface.java interface Control { public void pindahchannel(int channel); public void PerbesarVolume(int intensitas); public void PerkecilVolume(int intensitas); class TelevisiA implements Control { String[] channeltv = {"RCTI","SCTV","INDOSIAR","TRANS TV","TPI"; public void pindahchannel(int channel) { System.out.println("Pindah channel pada tv A ke : " + channeltv[channel]);

public void PerbesarVolume(int intensitas) { System.out.println("Perbesar intensitas volume pada tv A sebanyak : " + intensitas); public void PerkecilVolume(int intensitas) { System.out.println("Perkecil intensitas volume pada tv A sebanyak : " + intensitas); class TelevisiB implements Control { String[] chantv = {"TVRI","LA TV","TV 7","RCTI","SCTV"; public void pindahchannel(int channel) { System.out.println("Perintah pindah channel pada tv B ke : " + chantv[channel]); public void PerbesarVolume(int intensitas) { System.out.println("Perbesar intensitas volume pada tv B sebanyak : " + intensitas); public void PerkecilVolume(int intensitas) { System.out.println("Perkecil intensitas volume pada tv B sebanyak : " + intensitas); class RemoteControl { public static final int PINDAH_CHANNEL = 1; public static final int PERBESAR_VOLUME = 2; public static final int PERKECIL_VOLUME = 3; public void kirimperintahketv(int aksi,control tv,int tombol) { switch(aksi) {

case PINDAH_CHANNEL: tv.pindahchannel(tombol); break; case PERBESAR_VOLUME: tv.perbesarvolume(tombol); break; case PERKECIL_VOLUME: tv.perkecilvolume(tombol); class Interface { public static void main(string[] args) { TelevisiA tva = new TelevisiA(); TelevisiB tvb = new TelevisiB(); RemoteControl rc = new RemoteControl(); //Kirim perintah ke tva rc.kirimperintahketv(remotecontrol.pindah_channel,tva,2); rc.kirimperintahketv(remotecontrol.perbesar_volume,tva,5); //Kirim perintah ke tvb rc.kirimperintahketv(remotecontrol.pindah_channel,tvb,1); rc.kirimperintahketv(remotecontrol.perkecil_volume,tvb,3);

LATIHAN 1. Berikan contoh program yang dapat menggambarkan/menjelaskan tentang state dan behaviour? 2. Berikan contoh program yang dapat mewakili penjelasan tentang Class dan jelaskan program tersebut? 3. Berikan contoh program yang dapat mewakili penjelasan tentang Enkapsulasi dan jelaskan program tersebut? 4. Keuntungan apa yang diperoleh dengan melakukan pewarisan dan kapan digunakan? 5. Berikan contoh program yang dapat mewakili penjelasan tentang Inheritance dan jelaskan program tersebut? 6. Berikan contoh program yang dapat mewakili penjelasan tentang Polimorfisme dan jelaskan program tersebut? 7. Berikan contoh program yang dapat mewakili penjelasan tentang Interface dan jelaskan program tersebut?