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

dokumen-dokumen yang mirip
Modul 1 Pengenalan Java

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

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

Inheritance (Pewarisan) Pengertian dasar inheritance

Modul Bahasa Pemrograman 1

LAPORAN RESMI INHERITANCE

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

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

MODUL 1. Class, Object, Constructor dan Method

Pemrograman Berorientasi. Class dan Obyek 2

IKG2I4 / Software Project I

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

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

INTERAKSI ANTAR OBJECT

Inheritance dan Kata Kunci static

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

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Pendahuluan Rekayasa Perangkat Lunak II. Alif Finandhita. Teknik Informatika UNIKOM

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

REKAYASA PERANGKAT LUNAK II

KONSEP OOP: PEWARISAN / INHERITANCE

Class & Object 2 ~Praktikum~ Imam Fahrur Rozi

Bahasa Pemrograman 2.

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

Bahasa Pemrograman 2.

Class & Object 2. Imam Fahrur Rozi

Pemrograman Lanjut Review Class dan Object PTIIK

Bahasa Pemrograman 2.

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

Praktikum 3 Konsep Class, Attribute dan Method

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Pemrograman Berorientasi Objek

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

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

Pemrograman Berorientasi. Inheritance

IKG2I4 / Software Project I

Konsep Pemrograman Berbasis Obyek

Object Oriented Programming 1

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

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

Modul 2 Object Oriented Programming (OOP) I

Pemrograman Berorientasi. Abstract & Interface

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

subclass class manapun private default protected public package yang sama

Pemrograman Berbasis Objek (Polimorfisme)

Bahasa Pemrograman :: Polimorfism and Abstraction

[Lanjutan] Nurochman

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

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

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

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

PRAKTIKUM I Class dan Obyek

IKG2I4 / Software Project I

CLASS PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM JOGJAKARTA

KONSEP OOP: PEWARISAN / INHERITANCE

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

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

PEMROGRAMAN JAVA : KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Pewarisan atau Inheritance

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

KONSEP OOP: PEWARISAN / INHERITANCE

Polymorphism (Polimorfisme)

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

BAB IV KONSEP PEMROGRAMAN BERORIENTASI OBJEK

Dasar-Dasar OOP di Java

Membuat dan Menggunakan Class

PEMROGRAMAN BERORIENTASI OBYEK

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PENGENALAN OBJECT ORIENTED PROGRAMMING

Pertemuan 11 Object Oriented Program

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

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

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

Dasar-Dasar OOP di Java

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

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

Object Oriented Programming (OOP) --Inheritance- Saniati STMIK Teknokrat, Bandar Lampung

Pemrograman Berorientasi Objek Danu Wira Pangestu

Modul II Object Oriented Programming

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

INHERITANCE. Gambar 1. Kelas Hierarki Java

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

Inheritance (Pewarisan Sifat) Imam Fahrur Rozi

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

PERTANYAAN PENDAHULUAN

Pemrograman Lanjut. Class : Deeper Look 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

PRAKTIKUM III & IV PEMROGRAMAN BERORIENTASI OBJEK

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

(INHERITANCE) Nurochman

IKG2I4 / Software Project I

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

BAB 3 CLASS DAN OBJECT. Tujuan:

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

ENKAPSULASI Data Hiding

Transkripsi:

public class Buku { Keyword this untuk memanggil private String pengarang; private String judul; constructor yang menerima dua parameter private Buku() { this("the Naked Traveller", "Trinity"); private Buku(String judul,string pengarang) { this.judul = judul; this.pengarang = pengarang; private void cetakkelayar() { System.out.println("Judul : " + judul + " Pengarang : " + pengarang); public static void main(string[] args){ Buku a,b ; a = new Buku("Edensor", "Andrea Hirata"); b = new Buku(); a.cetakkelayar(); b.cetakkelayar(); Hasil output adalah seperti ini: Judul : Edensor, Pengarang : Andrea Hirata Judul : The Naked Traveller, Pengarang : Trinity Pada contoh program di atas, kita juga dapat mengambil pelajaran bahwa penggunaan modifier private pada constructor mengakibatkan constructor tersebut hanya dapat dikenali dalam satu class saja, sehingga pembuatan objek hanya dapat dilakukan dalam lokal class tersebut. Catatan penting lainnya : bahwa method void main(string[] args) haruslah bersifat public static. 31

Inner Class Apa itu Inner Class? Inner class disebut juga sebagai nested class, artinya adalah suatu kelas yang dideklarasikan di dalam bodan class atau interface lain. Kelas dimana inner class didefinisikan disebut top level class yang merupakan (kelas) anggota langsung dari sebuah paket. Inner class berbeda dengan subclass, karena subclass berada pada kelas yang terpisah dengan superclassnya. Berbeda dengan kelas normal yang dapat diinstansiasi secara independen, inner-class harus selalu melibatkan top level class-nya untuk melakukan instansiasi. Adakah keuntungan menggunakan inner class? Keuntungan object-oriented Yang paling penting dari inner class adalah bahwa dengan inner class kita bisa meng objekkan sesuatu yang awalnya tidak bisa dianggap sebagai objek. Hal ini memungkinkan code menjadi lebih objectoriented daripada ketika tidak menggunakan inner class. Karena setiap instansiasi inner class merupakan instansiasi dari top-level classnya juga, maka objek inner class juga memiliki akses ke setiap member dan method kelas induknya. Hirarki tanpa inner class package Keuntungan pengorganisasian Dari sudut pandang pengorganisasian, inner class memungkinkan kita mengatur struktur paket. Daripada menjadikan segala sesuatu menjadi flat-package, kelas dapat disarangkan dalam kelas lain. Hirarki dengan inner class package class1 class2 class3 classn class2 class1 Class3 Common Labz 2008-2009. http://java.lyracc.com http://battleprogrammer.wordpress.com http://www.javaworld.com http://bernazlionk.wordpress.com http://www.wikipedia.org http://one.indoskripsi.com innerclassa innerclassb innerclassc 32

Modul 3 Object Oriented Programming (OOP) II Tujuan: 1. Mengerti konsep OOP lebih dalam. 2. Ngerti konsep dan bisa implementasiin inheritance, polymorphisme, interface, dan abstract class pada program. 3. Ngerti perbedaan class dengan interface, interface dengan abstract class. Contoh pewarisan pada Class manusia Pada Modul 2, kita sudah mempelajari dasar-dasar OOP. Di modul ini kita akan mempelajari OOP lebih dalam. Mari kita mulai dari Inheritance. Inheritance Apa itu inheritance? Pewarisan merupakan proses peciptaan kelas baru dengan mewarisi karakteristik kelas yang sudah ada, ditambah dengan karakteristik unik kelas baru itu. Sebelumnya inheritance sudah dijelaskan pada modul 2. Penjelasan diagram di sebelah: Manusia adalah superclass dari pria dan wanita. Pria dan wanita mewarisi semua state dan juga behaviour yang dimiliki class manusia. Coba kita lihat perbedaannya, pada kelas manusia terdapat atribut berat, tinggi dan usia. Untuk kelas turunannya yaitu pria, terdapat atribut tambahan yang unik yaitu alat reproduksi pria. Jadi disini kelas pria mempunyai atribut total : berat, tinggi, usia dan juga alat reproduksi pria. Petunjuk Ringkas penggunaan pewarisan: a. Tempatkan operasi dan field yang sama di superclass b. Jangan gunakan protected fields c. Jangan gunakan pewarisan kecuali semua method yang diturunkan adalah berarti d. Gunakan pewarisan untuk memodelkan hubungan is-a 33

Pendeklarasian Inheritance [modifier] class NamaKelasInduk { // deklarasi konstanta // deklarasi method [modifier] class NamaKelasAnak extends NamaKelasInduk{ // deklarasi konstanta // deklarasi method public class PersegiPanjang{ private int panjang; private int lebar; public void setpanjang(int p){ panjang=p; public void setlebar(int l){ lebar=l; public int getpanjang(){ return panjang; public int getlebar(){ return lebar; public int Luas(){ int luas=panjang*lebar; return luas; Output dari program: Dibawah ini kita akan membuat kelas Balok sebagai kelas turunan dari kelas PersegiPanjang public class Balok extends PersegiPanjang{ private int tinggi; public void settinggi(int t){ tinggi=t; public int gettinggi(){ return tinggi; public int Volume(){ int v=getpanjang()*getlebar()*tinggi; return v; Bagaimanakah bentuk program utama agar output yang dihasilkan seperti di samping? 34

Answer: public class Demo{ public static void main(string args[]){ PersegiPanjang a= new PersegiPanjang(); a.setpanjang(5); a.setlebar(5); System.out.println(" DEMO INHERITANCE "); System.out.println(" SuperClass ==PERSEGIPANJANG=="); System.out.println(" Panjang : "+a.getpanjang()); System.out.println(" Lebar : "+a.getlebar()); System.out.println(" Luas : "+a.luas()); Balok b= new Balok(); //kelas balok tinggal memanggil method yang ada didalam kelas persegi b.setpanjang(4); b.setlebar(3); b.settinggi(5); System.out.println(" SubClass ==BALOK=="); System.out.println(" Panjang : "+b.getpanjang()); System.out.println(" Lebar : "+b.getlebar()); System.out.println(" Tinggi : "+b.gettinggi()); System.out.println(" Volume : "+b.volume()); Overloading Apa itu overloading? Didalam java, kita dapat membuat dua atau lebih konstruktor/ method yang mempunyai nama sama dalam satu kelas, tetapi jumlah dan tipe argumen dari masing-masing kontrukstor atau method haruslah berbeda satu dengan yang lainnya. Hal ini yang dinamakan overloading. public void setharga(int harga){ public void setharga(double harga){ public void setharga(float harga){ Yang penting tipe data dalam parameter method yang dioverload itu HARUS BERBEDA!!! public void setharga(float harga, String jumlah){ 35

public class Phone{ private String merk; private int harga; overloading konstruktor, disini public Phone(){ terdapat 3 konstruktor dengan nama sama dengan public Phone(String merk){ parameter inputan yang berbeda public Phone(String merk, int harga){ this.harga=harga; overloading method, disini terdapat dua method dengan nama sama dengan public void isiphone(string merk){ parameter inputan yang berbeda public void isiphone(string merk, int harga){ this.harga=harga; public void lihatphone(){ System.out.println(" Merk : "+merk); System.out.println(" Harga : "+harga); public class DemoOverLoading{ public static void main(string args[]){ Phone p1 = new Phone(); Phone p2 = new Phone("Nokia"); Phone p3 = new Phone("Sony Ericsoon",500); System.out.println("Perbedaan Output dari masing2 konstruktor"); p1.lihatphone(); p2.lihatphone(); p3.lihatphone(); Output dari program: Phone p4,p5; p4 = new Phone(); p5 = new Phone(); p4.isiphone("samsung"); p5.isiphone("samsung", 5000); System.out.println("Perbedaan Output dari masing2 method"); p4.lihatphone(); p5.lihatphone(); 36