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
• 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
Top Related