0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan34 halaman

Framework 2

Diunggah oleh

Faisal Tifta Zany
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan34 halaman

Framework 2

Diunggah oleh

Faisal Tifta Zany
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 34

Pemrograman Web

Berbasis Framework

Pertemuan 2 :
OOP Dalam Pemrograman Web
Pokok Bahasan
• Pendahuluan
• Class dan Objek
• Encapsulation
• Inheritance
• Polymorphism
• Operasi Class

TIK :
Setelah mengikuti kuliah ini mahasiswa dapat
mengetahui dan memahami konsep dasar OOP dalam
pemrograman web
Pendahuluan

Review Bagan MVC


Pendahuluan
Definisi :
• Object Oriented Programming adalah suatu metode
dalam pembuatan program, dengan tujuan untuk
menyelesaikan kompleksnya berbagai masalah program
yang terus meningkat.
• Sebagai contoh anggap kita memiliki sebuah
departemen yang memiliki manager, sekretaris, petugas
administrasi data dan lainnya. Misal manager tersebut
ingin memperoleh data dari bagian administrasi maka
manager tersebut tidak harus mengambilnya langsung
tetapi dapat menyuruh petugas bagian administrasi
untuk mengambilnya.
• Pada kasus tersebut seorang manager tidak harus
mengetahui bagaimana cara mengambil data tersebut
tetapi manager bisa mendapatkan data tersebut melalui
objek petugas administrasi.
Pendahuluan (2)
Alasan menggunakan konsep object oriented (OO):
• Pengembangan perangkat lunak itu sulit karena
“perangkat lunak mudah diimpikan”
• Kompleksitas pengembangan perangkat lunak yang
terus bertumbuh membutuhkan dukungan konsep yang
lebih handal, guna ulang (reusable) dan natural
• OO menawarkan tipe data abstrak, modularitas,
pemodelan informasi, proses software untuk
mengatasinya
• Walaupun demikian, OO bukan jaminan sukses
pengembangan perangkat lunak
Pendahuluan (3)
Prinsip utama OOP :
• Fungsi dan data bukan menjadi dua hal
yang terpisah.
• Fungsi dan data menjadi satu kesatuan
yang disebut sebagai objek aktif.
• Cara pandang  program adalah
serangkaian objek yang bekerjasama
untuk menyelesaikan suatu problem.
Pendahuluan (4)
Bahasa pemrograman yang mendukung OOP :
• Java
• C++ ( Dikembangkan dari bahasa C )
• Visual Basic.NET
• SIMULA
• Smalltalk
• Ruby
• Python
• PHP
• Delphi ( Dikembangkan dari bahasa PASCAL )
• Eiffel
• Perl
Class dan Objek

Ide dasar pada OOP adalah


mengkombinasikan data
dan fungsi untuk DATA
mengakses data menjadi
sebuah kesatuan unit yang
dikenal dengan nama objek. FUNGSIANGGOTA OBJEK

Class adalah kumpulan dari


beberapa objek yang sama. FUNGSIANGGOTA
Apakah Objek?
• Semua benda yang ada di dunia nyata
dapat dianggap sebagai obyek.
• Contoh :
– Rumah
– Mobil
– Sepeda motor
– Gelas
– Komputer
– Meja
– dll
Karakteristik Objek
• Setiap objek memiliki atribut sebagai
status (state).
• Setiap objek memiliki tingkah laku
(behavior)
• Contoh: objek sepeda
– Memiliki atribut (state)  pedal, roda, jeruji,
warna, jumlah roda.
– Memiliki tingkah laku (behavior)  :
kecepatanya menaik, kecepatannya menurun,
perpindahan gigi sepeda.
Karakteristik Objek
• Penggambaran pemrograman
berorientasi objek = penggambaran
pada dunia nyata.
• Pada pemrograman berorientasi
objek:
– State disimpan pada  variabel
– Tingkah laku disimpan pada  method
Apakah Class?
Definisi Class:
merupakan template untuk membuat objek.
merupakan prototipe / blue print yang
mendefinisikan variabel – variabel dan method
– method secara umum.
Objek merupakan hasil instansiasi dari
suatu kelas.
Proses pembentukan objek dari suatu class
disebut dengan instantiation.
Objek disebut juga instances.
Sintak dari sebuah
Class : Contoh sebuah Class
1 class nama_class { :
2 1
var $nama_variable; class mahasiswa {
3 fungsi - fungsi; 2 var $nim;
3 var $nama;
4 } 4 function cetakData() {
5 echo "NIM : $this->nim";
6 echo "Nama : $this-
>nama";
7 }
8 }
Penjelasan Class ini kita beri nama mahasiswa. Class mahasiswa
memiliki 2 variabel yaitu $nim dan $nama. Selain itu class
mahasiswa juga memiliki sebuah fungsi yaitu cetakData().
Variable $this pada fungsi cetakData() mengacu pada object
tersebut. Untuk menggunakan class ini, kita gunakan keyword
new didepan nama class sehingga akan terbentuk sebuah object
berdasarkan
Class ini. Contohnya :
1 $ketua = new mahasiswa();
2 $wakil = new mahasiswa();
3 $ketua->nim = “20123421001";
4 $ketua->nama = “Debie Ayu Mustika
Sari";
5 $wakil->nim = " 201234210012";
6 $wakil->nama = “Danny Andika Putra";

Object $ketua dan $wakil merupakan object dari class


mahasiswa. Yang menarik di sini bahwa object $ketua
dan $wakil memiliki $nim dan $nama yang berbeda
namun tetap memiliki struktur yang sama.
Untuk mengakses isi dari suatu object adalah dengan
menggunakan tanda ->
Implementasi Class
File Name : Class- File Name : Class-
1.php 2.php
<?php <?php
class person { include("Class-1.php");
var $name; ?>
<body>
function set_name($new_name)
{ <?php
$this->name = $new_name; $stefan = new person();
$jimmy = new person;
} $stefan->set_name ("Stefan
function get_name() Mischook");
{ $jimmy->set_name("Nick
return $this->name; Waddles");
} ?>
} </body>
?> </html>
File Name : Class-3.php
<?php include("Class-1.php"); ?>
<body>
<?php
$stefan = new person();
$jimmy = new person;
$stefan->set_name("Stefan Mischook");
$jimmy->set_name("Nick Waddles");
echo "<br>Stefan's full name: " . $stefan-
>get_name();
echo "<br>Nick's full name: " . $jimmy-
>get_name();
?>
</body>
</html>
File Name : Class-4.php
<?php include("Class-1.php"); ?>
<body>
<?php
$stefan = new person();
$jimmy = new person;
$stefan->set_name("Stefan Mischook");
$jimmy->set_name("Nick Waddles");
// directly accessing properties in a class is a no-no.
echo "Stefan's full name: " . $stefan->name;
?>
</body>
</html>
File Name : Class-5.php

<?php include("Class-1.php"); ?>


<body>
<?php
$stefan = new person("Stefan Mischook");
echo "Stefan's full name: " . $stefan-
>get_name();
?>
</body>
</html>
Attribute (Atribut)
 Definisi atribut : adalah data yang membedakan
antara objek satu dengan yang lain.
 Contoh: VolcanoRobot  A volcanic exploration
vehicle, mempunyai atribut sebagai berikut:
– Status  exploring, moving, returning home
– Speed  in miles per hour
– Temperature, in Fahrenheit degrees
 Dalam class atribut disebut sebagai variabel
Behavior
• Behavior / tingkah laku adalah hal – hal yang bisa
dilakukan oleh objek dari suatu class.
• Behavior dapat digunakan untuk mengubah nilai
atribut suatu oblek, menerima informasi dari oblek
lain, dan mengirim informasi ke oblek lain untuk
melakukan suatu task.
• Dalam class, behavior disebut juga sebagai
method.
• Method: adalah serangkaian statement dalam
suatu class yang menghandle suatu task tertentu.
• Cara objek berkomunikasi dengan objek lain
adalah dengan menggunakan method
Class dan Atribut dalam PHP

<?
class namaClass {
var $atribut;
function namaFungsi($parameter)
{
$this->atribut = $parameter;
echo $this->atribut;
}
}
?>
Constructor
• Kebanyakan class akan menggunakan tipe spesial
operasi yang disebut constructor
• Nama constructor sama dengan nama class
• Constructor mempunyai kegunaan untuk memberikan
nilai awal membuat objek lain yang diperlukan objek ini,
menetapkan atribut, dll.
• Contoh :
class namaClass {
function namaClass()
{
echo “menciptakan constructor”;
}
}
Constructor
Constructor merupakan sebuah fungsi yang digunakan untuk
menginisialisasikan suatu object baru. Ada aturan yang berbeda
dalam PHP 3 dan PHP 4, dimana pada PHP 3, sebuah fungsi
constructor merupakan fungsi yang memiliki nama yang sama
dengan nama class tersebut dan bisa berasal dari class induknya.
Sedangkan pada PHP 4 definisi sama namun ada tambahan jika
fungsi constructor yang berasal dari class induknya maka namanya
Untuk
harus samalebih
denganjelasnya
nama class lihat contoh berikut :
induknya.
1 class A {
2 function A() { } ; // fungsi constructor
3 function B() { } ; // fungsi biasa
4 }
5
6 class B extends A {
7 function C() ; // fungsi biasa
8 }
File Name : Class-9.php
<?
class Mobil
{
var $warna;
File Name : Class-
var $merk; 10.php
var $harga; <?
function __construct() include("Class-9.php");
{ $a = new Mobil();
$this->warna = "Biru"; $b = new Mobil();
$this->merk = "BMW"; echo "<b>Mobil
$this->harga = "10000000"; pertama</b><br>";
} $a->tampilWarna();
function gantiWarna ($warnaBaru) echo "<br>Mobil pertama ganti
{ $this->warna = warna<br>";
$warnaBaru; } $a->gantiWarna("Merah");
function tampilWarna () $a->tampilWarna();
{ echo "Warna mobilnya : " . $this- echo "<br><b>Mobil
>warna; } kedua</b><br>";
} $b->gantiWarna("Hijau");
?> $b->tampilWarna();
?>
<?
class Form File Name : Class-
{
11.php
var $fields = array(); echo "<td><input type='text' name='".
var $action; $this->
var $submit = "Submit Form"; fields[$j]['name']."'></td></tr>";
var $jumField = 0; }
function __construct($action, echo "<tr><td colspan='2'>";
$submit) echo "<input type='submit' value='".
{ $this->submit."'></td></tr>";
$this->action = $action; echo "</table>";
$this->submit = $submit; }
} function addField($name, $label)
function displayForm() {
{ $this->fields [$this->jumField]['name']
echo "<form action='".$this- = $name;
>action."' method='POST'>"; $this->fields [$this->jumField]['label']
echo "<table width='100%'>"; = $label;
for ($j=0; $j<count($this->fields); $this->jumField ++;
$j++) { }
echo "<tr><td align='right'>".}
$this-> ?>
fields[$j]['label']."</td>";
File Name : Class-
12.php
<?php
include “Class-11.php";
echo
"<html><head><title>Mahasiswa</title></hea
d><body>";
$form = new Form ("","Input Form");
$form->addField ("txtnim", "Nim");
$form->addField ("txtnama", "Nama");
$form->addField ("txtalamat", "Alamat");
$form->addField ("txttelp", "Telp.");
echo "<h3>Silahkan isi form berikut ini :</h3>";
$form->displayForm();
echo "</body></html>";
?>
 Catatan Pada PHP 3 maupun PHP 4 tidak ada
fungsi destructor. Fungsi destructor merupakan
fungsi yang dipanggil secara otomatis ketika
object itu dihapus dari memori. Untuk
mendapatkan efek dari fungsi destructor maka
php menyediakan
 fungsi register_shutdown() dan unset().
Parent
Keyword parent digunakan untuk mengacu pada class utama. Kata
kunci ini biasanya digunakan agar dapat mengakses fungsi maupun
variable class utama dari kelas turunan.
01 class A {
02 fungsi C() {} ;
03 }
04
05 class B extends A {
06 fungsi B() {
07 echo "Test" ;
08 parent::C();
09 }
10 }
Penjelasan Untuk menjalankan fungsi B() dari class B maka kata
kunci parent digunakan untuk mengacu pada class utama dari class
B. Sehingga class utama akan menjalankan fungsi B() nya.
Encapsulation
• Encapsulation seringkali dianggap sebagai
“penyembunyian informasi”
• Dapat diartikan juga pengemasan data dan fungsi dalam
wadah bernama objek.
• Konsep public dan private akan senantiasa dipakai
dalam pengkapsulan.
• Enkapsulation memastikan pengguna sebuah objek
tidak dapat mengganti keadaan dalam dari sebuah objek
dengan cara yang tidak layak
• Hanya metode dalam objek tersebut yang diberi ijin
untuk mengakses keadaannya.
Inheritance

Inheritance merupakan sifat dalam


bahasa berorientasi objek yang
memungkinkan sifat-sifat dari suatu
kelas diturunkan ke kelas lain.
Penurunan Class (Inheritence)
Sekali lagi dalam PBO ada yang disebut dengan
penurunan class. Maksudnya kita bisa membuat suatu
class baru dari class yang sudah ada, mekanisme ini
disebut penurunan kelas. Pada php , untuk menurunkan
Sintak
kelas : digunakan kata kunci extends.
maka
1 class nama_kelas_baru extends
nama_kelas_yang_diturunkan {
2 $var nama_variable; // tambahan variable
3 function nama_fungsi(); // fungsi yang ditambahkan
4 }
Penjelasan Class baru yang dihasilkan selain memiliki variable
maupun fungsi seperti pada class utamanya, juga bisa memiliki
variable dan fungsi baru. Jika seandainya pada class baru
dideklarasikan fungsi baru yang namanya sama dengan nama
fungsi pada class utamanya maka fungsi yang digunakan adalah
fungsi yang terletak pada class baru.
Contoh :
10 class mahasiswa extends
01 class orang{ orang {
02 var $nama; 11 var $nim;
03 var $alamat; 12 var $email;
04 function cetakData() { 13 function cetakData(){
05 echo "nama : $this- 14 echo "Nim : $this->nim\
>nama"; n";
06 echo "alamat : $this- 15 echo "nama : $this-
>alamat"; >nama\n";
07 } 16 echo "alamat : $this-
08 } >alamat\n";
Penjelasan Class mahasiswa merupakan kelas turunan dari class
09 17 echo "email : $this-
orang. Dari class orang, class mahasiswa memiliki variable $nama
>email\n";
dan $alamat , dan juga fungsi cetakData(). Selain itu class
18 }
mahasiswa juga memiliki variable tambahan yaitu $nim dan $email.
19 }
Sedangkan deklarasi fungsi cetakData() menyebabkan fungsi
cetakData() pada class utama tidak digunakan jika fungsi dipanggil
dari class mahasiswa.
Polymorphism
• Polymorphism (Polimorfisme) merupakan suatu konsep
yang menyatakan sesuatu yang sama dapat memiliki
berbagai bentuk dan perilaku yang berbeda.
• Istilah ini sendiri berasal dari Bahasa Yunani, yang
berarti “mempunyai banyak bentuk”.
• Contohnya, bila sebuah burung menerima pesan "gerak
cepat", dia akan menggerakan sayapnya dan terbang.
Bila seekor singa menerima pesan yang sama, dia akan
menggerakkan kakinya dan berlari.
• Keduanya menjawab sebuah pesan yang sama, namun
yang sesuai dengan kemampuan hewan tersebut.
Contoh dalam PHP
<?
class Konsumen {
var $total_belanja;
var $total_barang;

function Konsumen() {
$this->total_belanja=0;
$this->total_barang=0;
}
function beli($harga,$jum) {
$belanja = $harga * $jum;
$this->total_belanja = $this->total_belanja + $belanja;
$this->total_barang = $this->total_barang + $jum;
}
function cetak_belanja() {
echo "Total belanja = ".$this->total_belanja;
echo "<br>Jumlah barang yang dibeli = ".$this->total_barang;
}
}

Anda mungkin juga menyukai