Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan. Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain.

dokumen-dokumen yang mirip
Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

subclass class manapun private default protected public package yang sama

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Pemrograman Berorientasi. Class dan Obyek 2

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

PERTEMUAN 3 OBJEK DAN CLASS

Pemrograman Berorientasi. Abstract & Interface

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

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

Inheritance dan Kata Kunci static

Membuat dan Menggunakan Class

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

PEWARISAN D E W I S A R T I K A, M. K O M

Bahasa Pemrograman :: Polimorfism and Abstraction

MODUL 1 PENGENALAN OOP

Bahasa Pemrograman 2.

Pemrograman Berorientasi. Inheritance

Gambar 1: Hirarki class

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

2 TIPE DATA DAN VARIABEL

Modul II Object Oriented Programming

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

Ismail Wibi Wicaksono

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

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

BAB II VARIABEL DAN TIPE DATA

Pemrograman Berorientasi Objek Danu Wira Pangestu

Apa yang menjadi output potongan kode diatas? Error karena tidak ada String yang di-passing kedalam konstruktor Bapak

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Pewarisan, Polimorfisme, dan Interface

Java Application. Aplikasi: Menampilkan Tulisan

COMPOSITION FAKULTAS TEKNOLOGI INFORMASI. PBO Lanjutan UNIVERSITAS BUDI LUHUR. Kelas (Lanjutan) HAL : 1

IKG2I4 / Software Project I

1. Keyword mana yang memiliki fungsi sama dengan keyword this dan menyediakan reference ke atribut turunan dari objek? super

BAHASA PEMROGRAMAN JAVA

PEMROGRAMAN JAVA : VARIABEL DAN TIPE DATA

IKG2I4 / Software Project I

Pemrograman Berorientasi Objek

Pemrograman Lanjut Jurusan S1 Teknik Informatika. 9/17/2012 Ratno

3 Class dan Object (2)

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

Java Application. Menampilkan Tulisan

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Bahasa Pemrograman 2.

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

SUMBER BELAJAR PENUNJANG PLPG

Bahasa Pemrograman 2.

CLASS, METHOD DAN MODIFIER

Mata Kuliah : Pemrograman Berbasis Objek Pertemuan : 7

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

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

Sekarang, kita akan mencoba untuk menganalisa program Java pertama : public class Hello {

PEMROGRAMAN BERORIENTASI OBJEK

Bahasa Pemrograman :: Inheritance

KONSEP OOP: PEWARISAN / INHERITANCE

Abstract Class dan Interface. Viska Mutiawani, M.Sc

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

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

OVERLOADING, CONSTRUCTOR DAN DESTRUCTOR. Dewi Sartika, M.Kom

Polymorphism (Polimorfisme)

3/31/2011. Tujuan. Inheritance, Polymorphism,& Interfaces. Inheritance / pewarisan. Inheritance / pewarisan. Inheritance / pewarisan

LAPORAN RESMI PRAKTIKUM BAHASA PEMROGRAMAN

Pertemuan 4 Halaman 1/1. Class Inheritance

KONSEP OOP: PEWARISAN / INHERITANCE

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Lanjut. Class : Deeper Look 2

Pemrograman Berorientasi Obyek. Ramos Somya

Praktikum 3 Konsep Class, Attribute dan Method

PEMAHAMAN DASAR DASAR JAVA

1.Tujuan. 2. Latar Belakang. Mendefinisikan superclasses dan subclasses Override method dari superclasses Membuat method final dan class final

MODUL 3. Inheritance, Abstract Class, Interface TUJUAN PRAKTIKUM LANDASAN TEORI. A. Inheritance

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

INTRODUCTION JAVA NORHIKMAH,M.KOM

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

I. Tujuan Instruksional Umum Mengenal konsep dasar berorientasi objek Memahami dan dapat mengimplementasikan Kelas dan Objek pada java.

Jobsheet 09. Overloading and Overriding Method

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

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

KONSEP OOP: PEWARISAN / INHERITANCE

OOP Java. 05 Encapsulation & Inheritance

OBJECT, CLASS DAN METHOD. 1. Mengetahui pengertian dari objek & class 2. Dapat membuat program sederhana dari java dengan menggunakna objek dan class

Pemrograman Berorientasi Objek INHERITANCE

Class dan Object. PBO/Java/Ayuliana/Revisi

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Method yang ada pada parent class(superclass) didefinisikan kembali oleh kelas anaknya (subclass).

Inheritance (Pewarisan) Pengertian dasar inheritance

Pemrograman Berorientasi. Package & Hubungan Antar Kelas

Parent dan Child di Java

IT652 Pemrograman Berorientasi Aspek. Ramos Somya

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

INTERAKSI ANTAR OBJECT

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

KONSEP OBJEK ORIENTASI PROGRAM

Bahasa Pemrograman 2.

Transkripsi:

A. Object Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang stukturnya mirip dengan obyek pada dunia nyata. Disekeliling kita ada banyak contoh dari objek, seperti meja, pena, kursi, televisi dan masih banyak lagi. Yang dimiliki oleh objek antar lain state Pada implementasinya berupa field dari kelas behaviour Implementasinya menjadi method dari kelas B. Class Class adalah rancangan dari sebuah objek yang mendefinisikan attribut dan method umum pada semua objek dari jenis tertentu. Contohnya sepedaa, sepedab, sepedac adalah instance dari dari kelas sepeda. Pada java, ada sebuah kelas yang memiliki method Main, method main inilah yang nantinya akan dijalankan untuk pertama kalinya ketika sebuah program java dijalankan. Sebuah kelas hanya dapat memiliki 1 kelas induk dan dapat mengimplementasikan 1 atau lebih interface. Dalam penulisan sebuah kelas di java, ada beberapa aturan yang biasanya dilakukan Nama kelas tidak menggunakan tanda spasi, dash (-) dan tanda lain. Nama kelas untuk 1 suku kata diawali huruf besar untuk huruf pertama, untuk lebih dari 1 suku kata berikan huruf besar pada awal tiap suku kata contoh : Sepeda, SepedaRodaDua, AsistenPraktikum Latihan 1. Buatlah sebuah file kelas java dengan nama file Sepeda.java public class Sepeda{ 1. Buatlah sebuah kelas java dengan nama file Utama.java

public class Utama{ public static void main(string[] args){ Sepeda sepedaa=new Sepeda(); Sepeda sepedab=new Sepeda(); Sepeda sepedac=new Sepeda(); 1. Letakkan file Sepeda.java dan Utama.java pada 1 direktori 2. Silahkan anda buka command prompt atau console, kemudian anda ketikkan perintah berikut: javac Sepeda.java javac Utama.java atau javac *.java 3. Jalankan kode program anda dengan perintah java Utama C. Constructor Adalah sebuah method atau fungsi yang diekseskusi ketika sebuah kelas diinisialisasi, secara default sebuah Java Class memiliki 1 buah konstruktor tanpa parameter, konstruktor ini bisa ditulis, bisa tidak ditulis. Setiap kelas dalam java bisa memiliki lebih dari 1 konstruktor dengan parameter yang berbeda beda. Nama dari sebuah konstruktor harus sama dengan nama dari kelas dan tidak memiliki nilai kembalian. Apabila sebuah kelas memiliki 1 buah konstruktor dengan 1 buah parameter atau lebih, maka kelas tersebut menjadi tidak memiliki lagi konstruktor default. public class Sepeda{ public Sepeda(){ atau

Sebuah konstruktor juga dapat memiliki parameter public class Sepeda{ public Sepeda(String warna){ Latihan 1. Silahkan anda tambahkan 2 buah konstruktor pada kelas Sepeda.java public class Sepeda{ public Sepeda(){ public Sepeda(String warna){ 2. Kompile dengan perintah javac Sepeda.java 3. Jalankan kode program anda dengan perintah java Utama, anda tidak akan menemui error, coba anda ubah kelas Sepeda.java menjadi berikut lalu anda kompile public class Sepeda{ public Sepeda(String warna){ 4. Jalankan kode program anda dengan perintah java Utama, maka akan munucl pesan error 5. Ubah kelas Utama.java menjadi seperti berikut ini public class Utama{ public static void main(string[ ] args){ Sepeda sepedaa=new Sepeda( Merah ); Sepeda sepedab=new Sepeda( Kuning );

Sepeda sepedac=new Sepeda( Hijau ); 1. Silahkan anda kompile Sepeda.java dan Utama.java, kemudian anda jalankan dengan perintah java Utama D. Attribute Digunakan untuk menyimpan informasi yang dimiliki oleh sebuah kelas. Contoh : private String nama; private String warna; private int panjang; Latihan 1. Tambahkan 1 buah field pada kelas Sepeda.java public class Sepeda{ private String warna; public Sepeda(String warna){ 2. Silahkan anda kompile Sepeda.java, kemudian anda jalankan java Utama Pada contoh kode program diatas, ada keyword this yang berarti menunjuk pada field warna pada kelas Sepeda, bukan parameter warna pada konstruktor Sepeda(String warna) E. Access Modifier Mendefinisikan bagaimana kelas lain menggunakan attribut atau memanggil method dari suatu kelas. Tabel berikut ini menjelaskan hak akses yang diberikan Modifier Class Package SubClass World public Y Y Y Y protected Y Y Y N

default (tidak ditulis) Y Y N N private Y N N N keterangan public bisa diakses dari kelas bersangkutan, kelas yang berada dalam satu package, kelas turunannya dan bisa diakses dari bukan ketiganya protected hanya dapat diakses dari kelas bersangkutan, kelas yang berada dalam satu package dan kelas turunannya. default hanya dapat diakses dari kelas bersangkutan dan kelas yang berada dalam satu package private F. Method hanya dapat diakses dari kelas bersangkutan Dalam pemrograman yang tidak berorientasi objek dikenal dengan nama fungsi dan prosedur. Dalam java, fungsi digantikan dengan method yang memiliki tipe kembalian selain void dan prosedur digantikan dengan method yang memiliki tipe kembalian void. Latihan 1. Tambahkan 2 buah method untuk mendapatkan warna dan mengubah warna public class Sepeda{ private String warna; public Sepeda(String warna){ this.warna=warna public String getwarna(){ return warna; public void setwarna(string warna){

2. Silahkan anda compile kelas Sepeda.java 3. Tambahkan kode program untuk mengetahui informasi warna dari sepeda, di kelas Utama.java public class Utama{ public static void main(string[ ] args){ Sepeda sepedaa=new Sepeda( Merah ); System.out.println( Warna sepeda A + sepedaa.getwarna()); Sepeda sepedab=new Sepeda( Kuning ); System.out.println( Warna sepeda B + sepedab.getwarna()); Sepeda sepedac=new Sepeda( Hijau ); System.out.println( Warna sepeda C + sepedac.getwarna()); 4. Silahkan anda kompile Utama.java kemudian anda jalankan dengan perintah java Utama G. extends Merupakan sebuah keyword untuk menandakan bahwa sebuah kelas merupakan turunan dari kelas yang lain. public class X extends Y memiliki keterangan bahwa kelas X adalah turunan Y. Latihan 1. Silahkan anda buat kelas kendaraan public class Kendaraan { private int jumlahroda; public Kendaraan(int jumlahroda){ this.jumlahroda=jumlahroda; public void setjumlahroda(int jumlahroda){ this.jumlahroda=jumlahroda;

public int getjumlahroda(){ return jumlahroda; 1. Silahkan anda ubah kelas Sepeda yang merupakan turunan dari kelas Kendaraan public class Sepeda extendss Kendaraan{ private String warna; public Sepeda(int jumlahroda,string warna){ super(jumlahroda); public String getwarna(){ return warna; public void setwarna(string warna){ 1. Silahkan anda ubah kelas Utama, dengan kode program sebagai berikut public class Utama{ public static void main(string[ ] args){ Sepeda sepedaa=new Sepeda(2, Merah ); System.out.println( Warna sepeda A + sepedaa.getwarna()); System.out.println( Roda sepeda A + sepedaa.getjumlahroda()); Sepeda sepedab=new Sepeda(3, Kuning ); System.out.println( Warna sepeda B + sepedab.getwarna()); System.out.println( Roda sepeda B + sepedab.getjumlahroda()); Sepeda sepedac=new Sepeda(1, Hijau ); System.out.println( Warna sepeda C + sepedac.getwarna()); System.out.println( Roda sepeda C + sepedac.getjumlahroda());

2. Kompile Kendaraan.java, Sepeda.java dan Utama.java 3. Jalankan java Utama H. Super Super merupakan sebuah keyword yang digunakan untuk memanggil method atau konstruktor yang terdapat pada kelas induk dari sebuah kelas turunan. Pada contoh diatas, terdapat kode program super(jumlahroda); Kode program ini maksudnya memanggil konstruktor dari kelas induk yang memiliki 1 parameter bertipe integer. I. Override Override atau diartikan menulis ulang memiliki pengertian bahwa kita melakukan proses pendefinisian ulang method yang ada di kelas induk atau method pada suatu interface dengan method yang ada di kelas turunannya atau kelas yang mengimplementasikannya. Ada beberapa cara untuk melakukan override 1. Override melalui interface Buatlah sebuah interface bernama IBarang.java public interface IBarang{ void setmerk(string merk); String getmerk(); Implementasikan IBarang di kelas Kendaraan. public class Kendaraan implements IBarang{ private int jumlahroda; private String merk; public Kendarran(int jumlahroda){ this.jumlahroda=jumlahroda; public int getjumlahroda(){ return this.jumlahroda;

public void setjumlahroda(int jumlahroda){ this.jumlahroda=jumlahroda; @Override public String getmerk(){ return merk; @Override public void setmerk(string merk){ this.merk=merk; 2. Override melalui instance Silahkan anda ubah kelas Utama.java menjadi seperti kode program berikut ini public class Utama{ public static void main(string[ ] args){ Sepeda sepedaa=new Sepeda(2, Merah ); System.out.println( Warna sepeda A + sepedaa.getwarna()); System.out.println( Roda sepeda A + sepedaa.getjumlahroda()); Sepeda sepedab=new Sepeda(3, Kuning ); System.out.println( Warna sepeda B + sepedab.getwarna()); System.out.println( Roda sepeda B + sepedab.getjumlahroda()); Sepeda sepedac=new Sepeda(1, Hijau ){ public int getjumlahroda(){ return super.getjumlahroda()*2; public String getmerk(){ return Belum ada merk ; ;

System.out.println( Warna sepeda C + sepedac.getwarna()); System.out.println( Roda sepeda C + sepedac.getjumlahroda()); 3. Override melalui extends Berikan juga perubahan pada kelas Sepeda.java public class Sepeda extends Kendaraan{ private String warna; public Sepeda(int jumlahroda,string warna){ super(jumlahroda); public String getwarna(){ return warna; public void setwarna(string warna){ @Override public int getjumlahroda(){ return super.getjumlahroda()*2; @Override public String getmerk(){ return Belum ada merk ; J. Overloaded Overloaded diartikan sebagai suatu method atau konstruktor yang memiliki nama sama dalam satu kelas tetapi memiliki parameter yang berbeda. public class Sepeda extends Kendaraan{

private String warna; public Sepeda(String warna){ super(2); public Sepeda(int jumlahroda,string warna){ super(jumlahroda); //bisa juga ditulis this(warna); public String getwarna(){ return warna; public void setwarna(string warna){ public void setattribut(string warna){ public void setattribut(int jumlahroda,string warna){ //bisa juga ditulis setattribut(warna); setjumlahroda(jumlahroda); @Override public int getjumlahroda(){ super.getjumlahroda()*2; @Override public String getmerk(){ return Belum ada merk ; K. Interface

Merupakan sebuah keyword untuk mendefinisikan sekumpulan method dan konstanta. Interface bisa digunakan apabila sudah dilakukan implementasi pada sebuah kelas non abstract. Interface dapat digunakan untuk 1. Mewakili suatu tingkat laku yang bisa dimiliki oleh banyak kelas tanpa memaksakan relasi antar kelas tersebut. public class Lemari implements IBarang{ private int panjang, lebar, tinggi; private String merk; public Lemari(int panjang, int lebar, int tinggi){ this.panjang=panjang; this.lebar=lebar; this.tinggi=tinggi; public String getmerk(){ return merk; public void setmerk(string merk){ this.merk=merk; public int getpanjang(){ return panjang; public int getlebar(){ return lebar; public int gettinggi(){ return tinggi; 2. Menangani Event atau Action yang terjadi pada suatu kelas. Buatlah sebuah interface untuk menangani aksi ketika ada perubahan warna

public interface SepedaEvent{ void onwarnachange(string warnalama,string warnabaru); tambahkan pada kelas sepeda anda public class Sepeda extends Kendaraan{ private String warna; private SepedaEvent sepedaevent; public Sepeda(String warna){ super(2); public Sepeda(int jumlahroda,string warna){ super(jumlahroda); //bisa juga ditulis this(warna); public String getwarna(){ return warna; public void setwarna(string warna){ if(sepedaevent!=null){ sepedaevent.onwarnachange(this.warna,warna); public void setattribut(string warna){ if(sepedaevent!=null){ sepedaevent.onwarnachange(this.warna,warna); //bisa juga ditulis /* setwarna(warna); */

public void setattribut(int jumlahroda,string warna){ if(sepedaevent!=null){ sepedaevent.onwarnachange(this.warna,warna); setjumlahroda(jumlahroda); //bisa juga ditulis - I /* setwarna(warna) setjumlahroda(jumlahroda); */ //bisa juga ditulis II /* setattribut(warna); setjumlahroda(jumlahroda); */ @Override public int getjumlahroda(){ super.getjumlahroda()*2; @Override public String getmerk(){ return Belum ada merk ; public void setsepedaevent(sepedaevent sepedaevent){ this.sepedaevent=sepedaevent; kemudian buatlah sebuah kelas dengan nama Utama2.java public class Utama2 implements SepedaEvent{ public Utama2(){

Sepeda sepedaa=new Sepeda(2, Biru ); sepedaa.setsepedaevent(this); System.out.println( Warna + sepedaa.getwarna()); System.out.println( Roda + sepedaa.getjumlahroda()); sepedaa.setwarna( Hijau ); System.out.println( Warna + sepedaa.getwarna()); System.out.println( Roda + sepedaa.getjumlahroda()); public void onwarnachange(string warnalama,string warnabaru){ System.out.println( Warna berubah dari + warnalama + menjadi + warnabaru); public static void main(string[ ] args){ Utama2 utm2=new Utama2(); 3. Memudahkan penanganan objek dalam parameter. Silahkan anda buat kelas PembacaMerk.java public class PembacaMerk{ public static void sebutkanmerk(ibarang ibarang){ System.out.println(iBarang.getMerk()); Silahkan anda buat Utama3.java kemudian anda compile public class Utama3{ public static void main(string[ ] args){ Sepeda sepedaa=new Sepeda(2, Hijau ); sepedaa.setmerk( Belum ada merk ); Lemari lemaria=new Lemari(4,3,2); lemaria.setmerk( Lemari kecil ); System.out.print( Merk dari SepedaA adalah ); PembacaMerk.sebutkanMerk(sepedaA);

L. Abstract Class System.out.print( Merk dari LemariA adalah ); PembacaMerk.sebutkanMerk(lemariA); pada contoh diatas, Method sebutkanmerk yang terletak di kelas PembacaMerk menggunakan kata kunci static yang berarti method tersebut dapat dipanggil tanpa perlu membuat instance terlebih dahulu dari kelas PembacaMerk. Kelas ini memiliki 1 buah method abstract, untuk menggunakan kelas ini adalah dengan mewariskan kelas ini baru kemudian membuat instance dari turunannya. Apabila anda hendak memaksakan untuk membuat instance dari kelas ini, maka anda diwajibkan melakukan override melalui instance. Perbedaan antara abstract class dengan interface adalah pada abstract class kita dapat membuat method abstract maupun non abstract, attribut, konstanta. Buatlah sebuah kelas Meja yang merupakan abstract class dan mengimplementasikan IBarang. public abstract class Meja implements IBarang{ private int panjang, lebar, tinggi; public Meja(int panjang, int lebar, int tinggi){ this.panjang=panjang; this.lebar=lebar; this.tinggi=tinggi; public int gettinggi(){ return tinggi; public int getlebar(){ return lebar; public int getpanjang(){ return panjang;

Sekarang buat turunan dari kelas Meja menjadi kelas yang lebih spesifik yaitu MejaTulis. public class MejaTulis extends Meja{ public MejaTulis(int panjang,int lebar, int tinggi){ super(panjang,lebar,tinggi); public String getmerk(){ return Olympic ; public void setmerk(string merk){ Selanjutnya kita buat sebuah kelas untuk menguji objek meja tersebut, buat kelas dengan nama Utama4.java public class Utama4{ public static void main(string[ ] args){ MejaTulis mejatulis=new MejaTulis(4,5,6); Meja meja=new Meja(4,5,6){ public String getmerk(){ return Tidak punya merk ; public void setmerk(string merk){ ; M.Final Diterapkan pada class dan attribut, class yang bersifat final tidak dapat diwariskan ke kelas lain, sedangkan attribut yang bersifat final tidak dapat diubah nilainya. Contoh final: 1. Pada Attribut public final int BERAT=10;

2. Pada Class public final class Batu{ N. Package Digunakan untuk melakukan pengaturan letak dari kelas atau mengelompokkkan sekumpulan class dan interface yang berhubungan dalam satu kelompok. package latihan public class Barang... Untuk setiap package, misalnya package latihan, maka dibuatkan 1 buah folder dengan nama latihan, apabila kelas Barang terletak pada package latihan maka file Barang.java juga terletak pada folder latihan. O. Instance Of Digunakan untuk melakukan pengecekan apakah sebuah objek adalah instance dari suatu kelas; public class Utama4{ public static void main(string[ ] args){ MejaTulis mejatulis=new MejaTulis(4,5,6); Meja meja=new Meja(4,5,6){ public String getmerk(){ return Tidak punya merk ; public void setmerk(string merk){ ; boolean cek=meja instanceof Meja; System.out.println( meja instanceof Meja? + cek);