Erick Kurniawan, S.Kom, M.Kom

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

Inheritance (Pewarisan) Pengertian dasar inheritance

OBJECT ORIENTED PROGRAMMING DENGAN PHP. Janitra Panji

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

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

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

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

Gambar 1: Hirarki class

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

Pemrograman Web. Pemrograman Berorientasi Objek. Adam Hendra Brata

Pemrograman Web. Pemrograman Berorientasi Objek. 8 Adam Hendra Brata

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

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

Pemrograman Berorientasi. Inheritance

INHERITANCE AND POLIMORPHISM PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM

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

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

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

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

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

BAB 8 MODEL OBJEK PHP

Pewarisan, Polimorfisme, dan Interface

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

INTERAKSI ANTAR OBJECT

Inheritance dan Kata Kunci static

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

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

Praktikum 4 Konsep Inheritance, Polymorphism, dan Encapsulation

(INHERITANCE) Nurochman

Jobsheet 09. Overloading and Overriding Method

Konsep Objek Oriented

BAB 1 PEMROGRAMAN BERORIENTASI OBJEK

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

Membuat dan Menggunakan Class

Polymorphism (Polimorfisme)

IKG2I4 / Software Project I

Pertemuan 11 Object Oriented Program

Polymorphism. Materi ke-8 Pemrograman Berbasis Objek

Pemrograman Web. Object Oriented Programming in PHP 5

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

MODUL VII PEMROGRAMAN BERORIENTASI OBJEK

Abstract Class dan Interface. Viska Mutiawani, M.Sc

IKB STMIK EL RAHMA. Pertemuan 1. Oleh : Wahyu Widodo. [ Pengantar Object Oriented Programming ]

PEMROGRAMAN BERORIENTASI OBJEK

PERTEMUAN 2 PEMOGRAMAN BERORIENTASI OBJEK L/O/G/O

PEMROGRAMAN PHP DASAR

Polymorphism. Oleh : Agus Priyanto, M.Kom

Pemrograman Berorientasi. Polimorfisme dan Binding

Pemrograman Berbasis Objek. Interface. Politeknik Elektronika Negeri Surabaya

Bahasa Pemrograman 2.

Konsep Dasar Pemrograman Berorientasi Objek

KONSEP DASAR PEMROGRAMAN BERORIENTASI OBYEK

Inheritance. Pertemuan 8 Pemrograman Berbasis Obyek

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

Inheritance. Topik 5/17/2013

Pemrograman Berbasis Objek Inheritance

Bahasa Pemrograman :: Polimorfism and Abstraction

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

Pertemuan 4 Halaman 1/1. Class Inheritance

ABSTRACTION, ENCAPSULATION, INHERITANCE & POLYMORPHISM

BAB VIII CLASS ABSTRACT & CLASS INTERFACE. //abstract class bisa, kelas biasa bisa System.out.println("Ini nama");

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

SYLLABUS DAN PENDAHULUAN. Astrid Lestari Tungadi, S.Kom., M.TI.

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

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

Overriding Overloading Polymorphism

Pengenalan JavaScript

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

Badiyanto, S.Kom., M.Kom. PBO java

2015 BAHASA PEMROGRAMAN I. Pertemuan VI Inheritance (Pewarisan)

MODUL 3 PEWARISAN TUJUAN DASAR TEORI

STRUKTUR DENGAN ARRAY DAN FUNCTION

KONSEP OOP: PEWARISAN / INHERITANCE

PERTEMUAN 5 OOP. Objektif : Praktikan mengetahui konsep OOP. Praktikan dapat membuat program sederhana dengan konsep OOP.

Dasar Pemrograman Java. H. Risdiandri Iskandar, SKom,MM 1

A. TUJUAN PEMBELAJARAN 1. Memahami mengenai konsep Enum 2. Memahami bentuk-bentuk penggunaan Enum 3. Memahami fungsi-fungsi yang terdapat di Enum

PEMROGRAMAN BERORIENTASI OBJEK

KONSEP OOP: PEWARISAN / INHERITANCE

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

Konsep Pemrograman Berorientasi Pada Objek Dengan. Java Netbeans

Modul Tutorial C# 2 DASAR PEMROGRAMAN C# : STATEMENT DAN OPERATOR ENRICO BUDIANTO MICROSOFT INNOVATION CENTER UNIVERSITAS INDONESIA

DASAR PEMOGRAMAN JAVA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

Algoritma Pemrograman 1

ABSTRACT CLASS DAN INTERFACE

ABSTRACT & INTERFACE. Pemrograman Lanjut Herman Tolle

Praktikum 3 Konsep Class, Attribute dan Method

Composition dan Inheritance

LAPORAN RESMI. PRAKTIKUM TEKNOLOGI WEB Pengenalan JavaScript

LAPORAN V PRAKTIKUM PEMROGRAMAN BERBASIS OBJEK

Jelaskan tentang konsep Cohesion & Coupling!

PRAKTIKUM I Class dan Obyek

subclass class manapun private default protected public package yang sama

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

Bahasa Pemrograman :: Inheritance

Class & Object 2. Imam Fahrur Rozi

Modul Bahasa Pemrograman 1

Pemrograman Lanjut Review Class dan Object PTIIK

Overriding, Overloading, Polymorphism. Pertemuan 10 Pemrograman Berbasis Obyek Dr. Rodiah

KONSEP OBJEK ORIENTASI PROGRAM

Transkripsi:

OOP PHP5 Erick Kurniawan, S.Kom, M.Kom

Sejarah OOP di PHP OOP diperkenalkan sejak PHP3 Masih simple (PHP3, PHP4) Karena perkembangan web application (ASPNET (ASP.NET, JSP) yang support full OOP Dikembangkan PHP5 yang support full OOP untuk memenuhi kebutuhan Pengembangan aplikasi yang besar (Enterprise g g p y g ( p Application)

Deklarasi Class <? //defineclass.php class Person private $name; function setname($name) $this->name = $name; function getname() return $this->name; ;?>

Deklarasi Class <? //defineclass.php $erick = new Person(); $erick->setname("erick"); $rasmus = new Person(); $rasmus->setname("rasmus"); echo $erick->getname()."\n"; echo $rasmus->getname();?>

Objek Konstruktor Konstruktor adalahfungsi / method yang digunakan Konstruktor adalah fungsi / method yang digunakan untuk inisialisasi awal variabel / method

Objek Konstruktor <? //konstruktor.php class Person private $name; function construct($name) $this->name = $name; function getname() return $this->name; ;?>

Objek Konstruktor <? //konstruktor.php $judy = new Person( Judy"); $joe = new Person("Joe"); echo $judy->getname()."\n"; echo $joe->getname();?>

Objek Destruktor Kebalikan dari objek konstruktor Dipanggil ketika objek di destroy Objek diberi nilai NULL

Objek Destruktor <? //destruktor.php class MyClass function destruct() print "Objek dengan tipe MyClass di destroyed\n"; ; $ bj Cl () $obj = new MyClass(); $obj = NULL;?>

Static Properties / Method Method / Property dapat dideklarasikan secara statis Jika Method / Property dideklarasikan secara statik maka Method / Property tersebut dapat langsung g diakses tanpa harus membuat instan class

Static Properties <? //staticproperty.php class MyClass static $mystaticvariable=15; static $myinitializedstaticvariable = 0; ; h M Cl $ St ti V i bl "\ " echo MyClass::$myStaticVariable."\n"; MyClass::$myInitializedStaticVariable++; echo MyClass::$myInitializedStaticVariable;?>

Static Method <? //staticmethod.php class PrettyPrinter static function printhelloworld() print "Hello, World"; self::printnewline(); static function printnewline() print "\n"; PrettyPrinter::printHelloWorld();?>

Class Constant Tipe data konstanta digunakan untuk menyimpan data yang nilainya selalu konstan Konstanta bersifat statis Dapat langsung diakses tanpa harus membuat instan class

Class Constant <? //konstanta.php class MyColorEnumClass const RED = "Red"; const GREEN = "Green"; const BLUE = "Blue"; function printblue() print self::blue; echo MyColorEnumClass::RED."\n"; $obj = new MyColorEnumClass(); Cl $obj->printblue();?>

<? //cloningobject.php class MyClass public $var = 1; Cloning Object $obj1 = new MyClass(); $obj2 = $obj1; $obj2->var = 2; print $obj1->var;?>

Inheritance & Polymorphism Inheritance = Pewarisan Parent mewariskan sifat ke child Polymorphism = BanyakBentuk Bentuk Method dengan nama yang sama tapi beda parameternya (Overloading) Method dengan nama sama parameter sama tapi berada dalam kelas anak (Overriding)

Inheritance & Polymorphism //polymorphism.php class Animal function makesound() print "Error: This method should be reimplemented in the children"; class Cat extends Animal function makesound() print "miau";

Inheritance & Polymorphism class Dog extends Animal function makesound() print "wuff"; function printtherightsound($obj) if ($obj instanceof Animal) $obj->makesound(); else print "Error: Passed object yang salah"; print "\n";

Inheritance & Polymorphism <? printtherightsound(new Cat()); printtherightsound(new Dog());?>

Parent:: and Self:: //parentself.php class Ancestor const NAME = "Ancestor"; function construct() t() print "In ". self::name. " constructor\n";

Parent:: and Self:: class Child extends Ancestor const NAME = "Child"; function construct() parent:: construct(); print "In ". self::name. " constructor\n"; $obj = new Child();

Abstract Class Classbertipe abstrak Mempunyai method yang belum ada implementasinya (bertipe abstract) Digunakan dengan cara di extend / diturunkan

Abstract Class abstract class Shape function setcenter($x, $y) $this->x = $x; $this->y = $y; abstract function draw(); protected $x, $y;

Abstract Class class Square extends Shape function draw() //implementasinya class Circle extends Shape function draw() //implementasinya

Interfaces Mendefinisikan method yang akan digunakan tapi belum ada implementasinya Keseluruhan method belum diimplementasikan Digunakan dengan cara di implements

Interfaces interface Loggable function logstring(); class Person implements Loggable private $name, $address, $idnumber, $age; function logstring() return "class Person: name = $this- >name, ID = $this >idnumber\n";

Final Method Jika method dideklarasikan final pada class induk Jika method dideklarasikan final pada class induk maka method tidak bisa digunakan lagi di class anaknya

Final Method //error karena method dideklarasikan final class MyBaseClass final function idgenerator() return $this->id++; protected $id = 0; class MyConcreteClass extends MyBaseClass function idgenerator() return $this->id += 2;

tostring() Method class Person function construct($name) $this->name = $name; function tostring() return $this->name; private $name; $obj = new Person( Erick Kurniawan"); echo $obj;

Exception Untuk menangkap dan menghandle kesalahan yang mungkin terjadi pada program Sama seperti pada c#, java, vb.net

Exception try printobject(new MyName("Bill")); printobject(null); printobject(new MyName("Jane")); catch (NullHandleException $exception) print $exception->getmessage(); print " in file ". $exception->getfile(); print " on line ". $exception->getline(). "\n"; catch (Exception $exception) // This won't be reached