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

dokumen-dokumen yang mirip
Projek Kelompok 4. //tipe array nama array={nilai elemen 1,...,elemen N}; Fajar[] a = {new Fajar("Hallo"), new Fajar("Apa"), new Fajar("Kabar")};

//constraktor awal class Kotak6 { double panjang;

//PROGRAM class contohbiner { System.out.println("Bentuk biner dari 1 : " + Integer.toBinaryString(1));

//PROGRAM 5-8. class Kotak { double panjang; double lebar; double tinggi; // Mendefinisikan constructor untuk kelas Kotak. Kotak() { panjang = 4;

Pewarisan Sifat Objek. Nur Hasanah, M.Cs

BAB VII. CLASS DAN OBJECT

PEWARISAN SIFAT OBYEK

//PROGRAM 7-9. class A { A() { //PROGRAM System.out.println("Constructor dari kelas A"); // Mendefinisikan kelas abstract. abstract class A {

Pemrograman Berorientasi Objek

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

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

KONSEP OOP: PEWARISAN / INHERITANCE

Object Oriented Programming LOGO

IKG2I4 / Software Project I

Bab. Contoh-01. class Kotak { int pjg; // panjang int lbr; // lebar int tgi; // tinggi } Kotak pjg lbr tgi

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

Praktikum 3 Konsep Class, Attribute dan Method

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

PEMROGRAMAN BERORIENTASI OBJEK KONSEP PBO

Inheritance dan Kata Kunci static

Bahasa Pemrograman 2.

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Membuat dan Menggunakan Class

Pemrograman Berorientasi Objek

Pemrograman Berorientasi. Class dan Obyek 2

KONSEP OOP: PEWARISAN / INHERITANCE

Bahasa Pemrograman :: Polimorfism and Abstraction

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

Paket dan Interface. Nur Hasanah, M.Cs

Inheritance (Pewarisan) Pengertian dasar inheritance

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

Modul II Object Oriented Programming

LAPORAN RESMI INHERITANCE

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

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

Praktikum. PBO (Kelas K) Oleh : MOHAMMAD SHOLIKIN

Konsep Pemrograman Berbasis Obyek

Pemrograman Berbasis Objek Inheritance

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Pemrograman Lanjut Review Class dan Object PTIIK

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

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

BAB II TEORI DAN KONSEP PEMROGRAMAN BERBASIS OBJECT

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

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

Abstract Class dan Interface. Viska Mutiawani, M.Sc

Pemrograman Berbasis Objek (Polimorfisme)

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

Pemrograman Berorientasi. Abstract & Interface

Inheritance. Topik 5/17/2013

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

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

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

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

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

MODUL 1. CLASS, OBJECT, CONSTRUCTOR DAN METHOD

Gambar 1: Hirarki class

Pemrograman Berorientasi. Inheritance

MODUL 1. Class, Object, Constructor dan Method

Modul Bahasa Pemrograman 1

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

subclass class manapun private default protected public package yang sama

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

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

PEMOGRAMAN JAVA. Yoannita, S.Kom. Class(ii) [Constructor] [keyword this] Modifier Passing parameter [by value] [by references]

KONSEP OBJEK ORIENTASI PROGRAM

INTERAKSI ANTAR OBJECT

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

KONSEP OOP: PEWARISAN / INHERITANCE

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

Pemrograman Berorientasi Objek Danu Wira Pangestu

Bahasa Pemrograman :: Inheritance

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

Pertemuan 11 Object Oriented Program

Dengan menggunakan encapsulation kita dapat membatasi akses langsung suatu class atau program kecuali melalui suatu method yang sudah diberikan.

C#, Programming, Object-oriented. Pengenalan C# Erick Pranata. Edisi I

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

Chapter 10 Polimorphism

Konsep Dasar Pemrograman Berorientasi Objek

Pemograman Berorientasi Objek. Week 4 Initialization dan Instance dalam Kelas

KONSEP OOP: POLYMORPHISM

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

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

Mengenal Object Oriented Programming (OOP)

KONSEP OOP: POLYMORPHISM

Bahasa Pemrograman 2.

Pewarisan, Polimorfisme, dan Interface

Pemrograman Berorientasi Objek INHERITANCE

UJIAN TENGAH SEMESTER GENAP TA 2011/2012

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

PEMOGRAMAN JAVA. Yoannita. Class(iii) [Constructor] [keyword this] Passing parameter [by value] [by references]

Modul 4: Lebih Dalam lagi tentang Class, Objek dan Method

KONSEP Pemrograman Berorientasi Objek KARMILASARI

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

UNIVERSITAS GUNADARMA

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

Transkripsi:

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

Object Oriented Programming (OOP) adalah inti dari pemrograman Java. Dalam OOP, setiap objek didefinisikan sebagai suatu entitas yang memiliki data dan method. Data disebut juga sifat / variabel / konstanta sedangkan method adalah perilaku / kemampuan melakukan sesuatu / fungsi. Contoh: manusia adalah suatu objek yang memiliki data berupa nama, jenis kelamin, tinggi badan, berat badan, dsb), dan juga method berupa cara bicara, cara berjalan, cara marah, dsb. 2

Kelas adalah bentuk abstrak dari suatu objek. Wujud nyata dari suatu kelas adalah disebut instance. Contoh: apabila terdapat kelas Manusia, maka contoh instancenya (objek) adalah : Udin, Kabayan, dll. Contoh lain: apabila terdapat kelas Kucing, maka contoh instancenya (objek) adalah : Si Meong, Si Manis, Si PusPus, dsb. 3

Ciri-ciri OOP Pembungkusan (Encapsulation) Membungkus semua kode dan data yang berkaitan ke dalam satu entitas tunggal (objek). Pembungkusan menggunakan acces modifier seperti private, protected, public. Pewarisan (Inheritance) Suatu kelas dapat diturunkan menjadi kelaskelas baru lainnya (subclass) yang mewarisi beberapa sifat atau perilaku kelas induknya (superclass). 4

Ciri-ciri OOP Polimorfisme (Polymorfism) Kemampuan suatu objek untuk mengungkap banyak hal melalui cara yang sama. 5

Kelas dan Objek

Kelas dapat didefinisikan sebagai cetak biru (blueprint) / prototipe / kerangka yang mendefinisikan variabel-variabel (data) dan method-method (perilaku) dari objek tertentu. Kelas adalah pola (template) untuk pembuatan objek, dan objek adalah wujud nyata (instance) dari sebuah kelas. 7

Mendeklarasikan Objek 1. Medeklarasikan variabel yang digunakan sebagai referensi ke objek dari kelas yang bersangkutan. Kotak k; 2. Menginstantiasi kelas dengan menggunakan operator new dan memasukkan instancenya ke dalam variabel referensi yang baru saja dideklarasikan. k = new Kotak(); Atau biasanya ditulis satu baris: Kotak k = new Kotak(); 8

Mendeklarasikan Objek Kotak k; null k k = new Kotak(); k panjang lebar tinggil Objek Kotak 9

class Kotak { double panjang; double lebar; double tinggi; Contoh Program : DemoKotak1.java class DemoKotak1 { public static void main(string[] args) { double volume; Kotak k = new Kotak(); k.panjang = 4; k.lebar = 3; k.tinggi = 2; volume = k.panjang * k.tinggi * k.lebar; System.out.println("Volume kotak = " + volume); 10

class Kotak { double panjang; double lebar; double tinggi; class DemoKotak2 { public static void main(string[] args) { double volume1, volume2; Kotak k1 = new Kotak(); Kotak k2 = new Kotak(); k2.panjang = 6; k2.lebar = 5; k2.tinggi = 4; volume1 = k1.panjang * k1.tinggi * k1.lebar; volume2 = k2.panjang * k2.tinggi * k2.lebar; System.out.println("Volume k1 = " + volume1); System.out.println("Volume k2 = " + volume2); k1.panjang = 4; k1.lebar = 3; k1.tinggi = 2; Contoh Program : DemoKotak2.java 11

class Kotak { double panjang; double lebar; double tinggi; class DemoReferensi1 { Mengisi Nilai pada Referensi Objek : DemoReferensi1.java public static void main(string[] args) { double volume1, volume2; Kotak k1, k2; k1 = new Kotak(); k2 = k1; k1.panjang = 4; k1.lebar = 3; k1.tinggi = 2; volume1 = k1.panjang * k1.tinggi * k1.lebar; volume2 = k2.panjang * k2.tinggi * k2.lebar; System.out.println("Volume k1 = " + volume1); System.out.println("Volume k2 = " + volume2); 12

Mengisi Nilai pada Referensi Objek : DemoReferensi1.java k1 k2 panjang lebar tinggil Objek Kotak 13

class Kotak { double panjang; double lebar; double tinggi; Mengisi Nilai pada Referensi Objek : DemoReferensi2.java class DemoReferensi2 { public static void main(string[] args) { double volume1, volume2; Kotak k1, k2; k1 = new Kotak(); k2 = k1; k1.panjang = 4; k1.lebar = 3; k1.tinggi = 2; volume1 = k1.panjang * k1.tinggi * k1.lebar; volume2 = k2.panjang * k2.tinggi * k2.lebar; System.out.println("Sebelum k1 diubah:"); System.out.println("Volume k1 = " + volume1); System.out.println("Volume k2 = " + volume2); 14

k1 = new Kotak(); k1.panjang = 6; k1.lebar = 5; k1.tinggi = 4; volume1 = k1.panjang * k1.tinggi * k1.lebar; volume2 = k2.panjang * k2.tinggi * k2.lebar; System.out.println("\nSetelah k1 diubah:"); System.out.println("Volume k1 = " + volume1); System.out.println("Volume k2 = " + volume2); 15

Constructor Constructor adalah method khusus yang didefinisikan di dalam kelas dan akan dipanggil secara otomatis setiap kali terjadi instantiasi objek. Constructor berfungsi melakukan inisialisasi nilai terhadap data-data pada kelas yang bersangkutan. Apabila kita tidak mendefiniskannya, Java akan membuatkkannya secara otomatis. Default constructor menginisialisasi semua data dengan nilai nol. 16

Constructor Namun bila kita mendefinisikan constructor baru, maka default constructor sudah tidak berfungsi lagi. Sama dengan method, constructor dapat memiliki parameter dan dapat di-overload. Perlu diingat, constructor tidak memiliki nilai kembalian, tidak juga void. Nama constructor harus sama persis dengan nama kelas yang didefinisikan. 17

class Kotak { double panjang; double lebar; double tinggi; Contoh Program : DemoConstructor1.java Kotak() { panjang = 4; lebar = 3; tinggi = 2; double hitungvolume() { return (panjang * lebar * tinggi); 18

class DemoConstructor1 { public static void main(string[] args) { Kotak k1, k2; k1 = new Kotak(); k2 = new Kotak(); System.out.println("Volume k1 = " + k1.hitungvolume()); System.out.println("Volume k2 = " + k2.hitungvolume()); 19

class Kotak { double panjang; double lebar; double tinggi; Contoh Program : DemoConstructor2.java Kotak(double p, double l, double t) { panjang = p; lebar = l; tinggi = t; double hitungvolume() { return (panjang * lebar * tinggi); 20

class DemoConstructor2 { public static void main(string[] args) { Kotak k1, k2; k1 = new Kotak(4, 3, 2); k2 = new Kotak(6, 5, 4); System.out.println("Volume k1 = " + k1.hitungvolume()); System.out.println("Volume k2 = " + k2.hitungvolume()); 21

Kata Kunci This This merupakan referensi ke objek yang sedang aktif. This digunakan di dalam method untuk mewakili nama kelas yang bersangkutan. 22

Contoh penggunaan This class Kotak { double panjang, lebar, tinggi; Kotak(double p, double l, double t) { this.panjang = p; this.lebar = l; this.tinggi = t; class Kotak { double panjang, lebar, tinggi; Kotak(double panjang, double lebar, double tinggi) { this.panjang = panjang; this.lebar = lebar; this.tinggi = tinggi; 23

class Kotak { double panjang; double lebar; double tinggi; Overload pada Constructor : DemoOverloadConstructor.java Kotak() { panjang = 0; lebar = 0; tinggi = 0; Kotak(double sisi) { panjang = lebar = tinggi = sisi; Kotak(double p, double l, double t) { panjang = p; lebar = l; tinggi = t; 24

double hitungvolume() { return (panjang * lebar * tinggi); class DemoOverloadConstructor { public static void main(string[] args) { Kotak k1, k2, k3; k1 = new Kotak(); k2 = new Kotak(10); k3 = new Kotak(4, 3, 2); System.out.println("Volume k1 = " + k1.hitungvolume()); System.out.println("Volume k2 = " + k2.hitungvolume()); System.out.println("Volume k3 = " + k3.hitungvolume()); 25

Objek sebagai Parameter Objek dapat digunakan sebagai parameter pada method. Contoh : DemoParamObjek1.java Objek dapat juga digunakan sebagai parameter pada constructor. Contoh : DemoParamObjek2.java 26

Meningkatkan tingkat Akses Data dan Method Dalam Pembungkusan (Encapsulation), kita menggabungkan data dan kode menjadi satu. Pada situasi seperti ini, kita dapat menetukan tingkat akses data dan method. Private : data dan method hanya dapat diakses oleh kelas yang memilikinya. Protected : data dan method dapat diakses oleh kelas yang memilikinya dan kelas-kelas turunannya. Public : data dan method dapat diakses oleh kelas yang memilikinya, kelas-kelas turunannya dan semua kelas dari lingkungan luar. Default : data dan method dapat diakses oleh kelas yang berada dalam satu paket. 27

Contoh : DemoPublicdanPrivate.java class TingkatAkses { int a; public int b; private int c; public void setc(int nilai) { c = nilai; public int getc() { return c; 28

class DemoPublicDanPrivate { public static void main(string[] args) { TingkatAkses obj = new TingkatAkses(); obj.a = 10; // BENAR, karena a secara default bersifat public obj.b = 20; // BENAR, karena b bersifat public //obj.c = 30; // SALAH, karena c bersifat private obj.setc(30); // BENAR, karena method setc() bersifat public System.out.println("Nilai obj.a : " + obj.a); System.out.println("Nilai obj.b : " + obj.b); System.out.println("Nilai obj.c : " + obj.getc()); 29

Kata Kunci static Java mengizinkan kita untuk mengakses suatu anggota kelas (data atau method) tanpa harus membuat objeknya terlebih dahulu. Caranya, kita harus menjadikan data atau method tersebut bersifat statis, dengan kata kunci static pada awal deklarasi. 30

Kata Kunci static Terdapat batasan-batasan untuk method statis: Method statis hanya dapat memanggil method yang bersifat statis. Method statis hanya dapat mengakses datadata yang bersifat statis. Method statis tidak dapat diacu melalui referensi this maupun super (super dibahas di pertemuan berikutnya) 31

class DeklarasiStatik { static int a; static int b; Contoh penggunaan Static : DemoStatic3.java static void test() { int c = a + b; System.out.println("a + b = " + c); class DemoStatik3 { public static void main(string[] args) { DeklarasiStatik.a = 10; DeklarasiStatik.b = 20; DeklarasiStatik.test(); 32

Kata Kunci final 3 fungsi kata kunci final : Apabila digunakan untuk mendeklarasikan variabel, maka nilai dari variabel tersebut tidak dapat diubah (diperankan sebagai konstanta). Apabila digunakan untuk mendeklarasikan method, maka method tersebut tidak dapat di-override oleh kelaskelas turunannya. Apabila digunakan untuk mendefinisikan kelas, maka kelas tersebut sudah tidak dapat diturunkan lagi. * Override method dan turunan kelas dibahas pertemuan berikutnya. 33

Reference Budi Rahardjo dkk. (2012). Mudah Belajar Java. Penerbit Informatika Bandung. 34