minggu 10 (php-oop[1])

16
PEMROGRAMAN WEB Konsep Dasar PHP-OOP

Upload: aswardi

Post on 01-Jan-2016

131 views

Category:

Documents


24 download

TRANSCRIPT

PEMROGRAMAN WEB

Konsep DasarPHP-OOP

Materi

2

• Dasar OOP• Pengenalan OOP dengan PHP

Object

3

• Perbedaan utama OOP dengan fungsional, data dan kode program tergabung satu entitas yang disebut objek.

• Tiap objek biasanya mewakili satu satu class atau lebih, yang mana class tersebut memiliki properti/atribut/variable dan method/fungsi• Property data• Method fungsi

Class

4

• Class merupakan script yang digunakan sebagai cetakan untuk membuat objek.

• Class mendefinisikan property/atribut yang dimiliki objek serta method yang dapat dilakukan oleh objek.

Keyword $this

5

• Keyword yang digunakan untuk mengacu ke properti atau method dalam kelas itu sendiri.

• Sintaks :• $this-> namaProperty• $this->namaMethod

• Keyword-> merupakan pengganti .(dot) dalam java

Modifier

6

• 3 Keyword modifier yang dipakai banyak di bahasa pemrograman• public

• properti dan method dapat diakses oleh kelas itu sendiri dan oleh kelas lain melalui objeknya.

• protected• properti dan method hanya bisa di akses oleh kelas itu sendiri dan kelas

turunanya.

• private• properti dan method hanya dapat diakses oleh kelas itu sendiri.

Skema Penulisan PHP OOP

7

Class manusia{

public $nama;function setNama($nama){

$this->nama=$nama;} function getNama(){

$namaAnda = $this->nama;return $namaAnda;

{}$objManusia = new manusia();$objManusia->setNama(“Chandra”);Echo “Nama anda adalah : ”.$objManusia->getNama();

Class manusia{

public $nama;function setNama($nama){

$this->nama=$nama;} function getNama(){

$namaAnda = $this->nama;return $namaAnda;

{}$objManusia = new manusia();$objManusia->setNama(“Chandra”);Echo “Nama anda adalah : ”.$objManusia->getNama();

Latihan [1]

8

• Menghitung luas Lingkaran• Buat class lingkaran

• Buat property radius;• Buat method setRadius, getRadius• Buat method tampil() yang digunakan untuk

menampilkan luas lingkaran = Phi*radius*radius;• Buat objek dari class lingkaran yang digunakan untuk

memberikan nilai radius=10;• Dengan objek tersebut panggil method tampil();

constructor

9

• Constructor adalah method khusus yang tereksekusi otomatis ketika objek kelas tersebut dibuat.

• Constructor harus diberi nama : __construct() (pakai 2 garis bawah)

Latihan

10

• Penjelasan method :– PesanKamar adalah constructor yang

akan menginisialisasi seluruh atribut dg nilai tertentu

– totalBayar akan mengembalikan berapa yang harus dibayar oleh pemesan. (total = lamaInap*jumlahKamar*harga)

– cetakBill akan menuliskan ke layar “Tagihan untuk Tn./Ny. … sebesar Rp …”

PesanKamar

jumlahKamarlamaInapharga

namaPemesan

ConstructortotalBayar()

cetakBill()

Inheritance

11

• Proses penurunan property dan method di kelas bawahanya.

• Menggunakan keyword extends

• Tampilkan diagram diatas :

• Nama : Suhartono• NIP : 0701068609

parent:: dan ::self

12

• self:: dan parent :: merupakan kelas yang sudah dipesan oleh PHP.

• Self:: mengacu ke kelas itu sendiri, biasanya digunakan untuk mengakses konstanta.

• parent::• Mengacu ke kelas induk• Sering digunakan untuk memanggil konstruktor dari kelas

induk

Contoh

13

• Penjelasan Method– Class lingkaran

• Constructor() digunakan untuk menginisialisasi nilai awal radius;

• hitungLuas() digunakan untuk menghitung luas lingkaran = radius*radius*3.14;

– Class silinder• Construtor() digunakan untuk

menginisilasi nilai panjang dan radius;

• hitungVolume() digunakan untuk menghitung volume silinder = luas lingkaran*panjang;

• cetakVolume() digunakan untuk mencetak volume Silinder. Dan Luas Lingkaran

lingkaran

+radius;

+ constructor ()hitungLuas()

silinder

- panjang

+ constructor()+ hitungVolume()+ cetakVolume()

Latihan 1

• Class Player• method setPosX akan mengubah nilai posX

sesuai parameter • method setPosY akan mengubah nilai posY

sesuai parameter • method tampilStatus akan menuliskan

“Player sedang berada di koordinat x = [posX], y = [posY]”

• method move merupakan method abstrak• Harimau

• Kelas Harimau diturunkan dari Player. Objek Harimau dapat bergerak dalam 3 cara, berjalan, berlari, dan melompat. Pergerakan ini diimplementasikan dengan method move. Parameter mode menyatakan cara bergerak, nol untuk berjalan, satu untuk berlari, dan dua untuk melompat. Jika mode = 0 maka posX ditambah 2, mode=1 maka posXditambah 10, danjikamode=2makaposXditambah 5danposYditambah 15.

• Robot• Kelas Robot diturunkan dari Player. Objek

Robot dapat bergerak dalam 2 cara, berjalan dan terbang. Pergerakan ini diimplementasikan dengan method move. Parameter mode menyatakan cara bergerak, nol untuk berjalan dan satu untuk terbang. Jikamode = 0 maka posX ditambah 5, dan jika mode=1 maka posX ditambah 5 dan posY diset menjadi 150.

Abstract player

double posXdouble posY+ void setPosY+ void setPosX+ void tampilStatus+ abstract void move(int mode)

harimau

+ void move(int mode)

robot+ void move(int mode)

16

• Penjelasan Method– Class staff

• Constructor() digunakan untuk menginisialisasi nilai awal

• bayarGaji() digunakan untuk menghitung gaji staff = gajiPokok+tunjangan;

– Class Manager• Construtor() penurunan constructor dari

class staff• bayarManager() digunakan untuk

menghitung gaji manager, jika– Level 1 = (gajiStaff)+3000– Level 2 = (gajiStaff)+4000– Level 3 = (gajiStaff)+5000

• cetakInfo() digunakan untuk mencetak informasi sbb :

– Manager Prasetyo, Alamat Jl. Kaliurang 31 Malang

– Gaji diterima Rp 2.750.000

staff

nama;alamat;gajiPokok;tunjangan;level;

+ constructor ()+ bayarGaji