Top Banner
Desain slide ini dadaptasi dari University of San Fransisco 4. Pemrograman Berorientasi Objek PTI15010 Pemrograman Web Agi Putra Kharisma, S.T., M.T. Genap 2014/2015
17

4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Apr 08, 2019

Download

Documents

nguyentruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Desain slide ini dadaptasi dari University of San Fransisco

4. Pemrograman Berorientasi Objek

PTI15010

Pemrograman Web

Agi Putra Kharisma, S.T., M.T.

Genap 2014/2015

Page 2: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Abstraksi

Page 3: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Contoh Level Abstraksi

ManusiaManusia

-nama

+set_nama()+get_nama()

class Manusia {

private $nama;

public function set_nama($nama) {

$this->nama = $nama;

}

public function get_nama(){

return $this->nama;

}

class Manusia {

} class Manusia {

private $nama;

public function set_nama(){

}

public function get_nama(){

}

}

Level abstraksi semakin rendah Level abstraksi semakin tinggi

Page 4: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Terminologi Dalam OOP (1)

Class Objek

Page 5: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Terminologi Dalam OOP (2)

Interface

Page 6: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Mengapa Interface?

• Kontrak • Reusability • Konsistensi • Program to an 'interface', not an

'implementation'. (Baca buku: Design Patterns: Elements of Reusable Object-Oriented Software -GoF)

Page 7: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Terminologi (3)

• Inheritance • Association (use) • Aggregation (has) • Composition (own) • Dependency

Page 8: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Composition VS Inheritance

@decharlas

Page 9: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Contoh Deklarasi Kelas Pada PHP

class PerguruanTinggi {

private $nama, $akreditasi;

public function get_nama() {

return $this->nama;

}

public function set_nama($nama) {

$this->nama = $nama;

}

public function get_akreditasi() {

return $this->akreditasi;

}

public function set_akreditasi($akreditasi) {

$this->akreditasi = $akreditasi;

}

}

class Universitas extends PerguruanTinggi {

private $rektor;

public function get_rektor() {

return $this->rektor;

}

public function set_rektor($rektor) {

$this->rektor = $rektor;

}

}

class Politeknik extends PerguruanTinggi {

private $direktur;

public function get_direktur() {

return $this->direktur;

}

public function set_direktor($direktur) {

$this->direktur = $direktur;

}

}

Page 10: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Contoh Instansiasi Objek Pada PHP

$UB = new Universitas();

$polinema = new Politeknik();

Page 11: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Objek di PHP = Passing By Reference!!!

class User { } $bona = new User(); $bona->name = "Bona"; $boni = $bona; $boni->name = "Boni"; echo "$bona->name dan $boni->name";

class User { } $bona = new User(); $bona->name = "Bona"; $boni = clone $bona; $boni->name = "Boni"; echo "$bona->name dan $boni->name";

Page 12: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Property & Method Scope Pada PHP

• Public Secara default, property & method diasumsikan bersifat

publik (jika tidak ada pendefinisian secara eksplisit).

• Protected Hanya dapat di-referensi oleh method dalam kelas yang

sama atau turunannya.

• Private Hanya dapat di-referensi oleh method dalam kelas yang

sama.

Page 13: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Contoh Static Property & Method

class PerguruanTinggi {

private $nama, $akreditasi;

public function get_nama() {

return $this->nama;

}

.......

public static function getAkreditasiA() {

// return daftar PT dg akreditasi A

}

}

Page 14: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Model View Controller

Bagaimana membuat fungsionalitas antarmuka

pengguna secara terpisah (modular) sehingga mudah

dimodifikasi secara individual?

?

Page 15: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San
Page 16: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Studi Kasus: Aplikasi Ganjil/Genap

Buat sebuah aplikasi berbasis web yang mampu mendeteksi

masukan pengguna (melaui HTML form) berupa angka,

kemudian menentukan apakah angka tersebut termasuk

bilangan ganjil atau genap.

Aplikasi dibuat dengan teknik OOP dan menggunakan

architectural pattern MVC

Page 17: 4. Pemrograman Berorientasi Objek - Universitas Brawijayaagipk.lecture.ub.ac.id/files/2015/02/PW-20142025-2-04.-Pemrograman... · Desain slide ini dadaptasi dari University of San

Latihan

Buat aplikasi buku tamu sederhana dengan ketentuan sbb:

1. Buku tamu berisi nama dan isi.

2. Dibuat dengan OOP & MVC

3. Data disimpan pada basis data MySQL