SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
OBJECT ORIENTED
PROGRAMMING DENGAN
PHP
TEKNIK INFORMATIKA – UNIKOM (2009)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Hal penting dalam OOP
 Class
 Properti / Variable
 Method / Function
 Object
 Instansiasi Class
 Constructor & Destructor
 Visibilitas Member (Member Visibility)
 Public, Private dan Protected
 Function Setter dan Getter
 Pewarisan (Inheritance)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Definisi Class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Class disusun berdasarkan karakteristik sebuah objek
benda. Sifat ini disebut sebagai Abstraksi (Abstraction)
 Class adalah penampung sekumpulan elemen data
(variable) dan kode program (function) yang digunakan
oleh pengolahan datanya. Sifat ini disebut sebagai
enkapsulasi (Encapsulation) .
 Class dapat disusun secara hierarki sehingga suatu
class dapat mewariskan beberapa atau semua
karakteristiknya ke class lain (class anak/child class).
Sifat ini disebut sebagai Pewarisan (Inheritance)
Properti / Variable
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Berdasarkan sifat abstraksi, suatu class menyimpan
karakteristik suatu benda dalam suatu variable.
Variabel ini sering disebut sebagai properti.
 Contoh:
 Class Orang mempunyai properti seperti Nama,
Warna Rambut, Tinggi, Berat, Tahun Lahir dan lain-lain.
 Class KoneksiDB mempunyai properti seperti Alamat
Server, User Name, Password dan Nama Database
Method / Function
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Selain mempunyai properti, sebuah class juga
mempunyai Method. Dalam PHP, method suatu class
diwujudkan dalam sebuah function. Method adalah
perilaku yang dapat dilakukan oleh class.
 Contoh :
 Class Orang mempunyai method seperti Makan, Minum,
Tidur, Ucap Salam, dan lain-lain
 Class KoneksiDB mempunyai method seperti Koneksi,
EksekusiQuery, AmbilData dan lain-lain
Aturan Pembuatan Class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Definisi suatu class dimulai dengan keyword Class,
diikuti dengan nama classnya.
 Isi suatu class diapit dengan kurung kurawal ({ }).
 Umumnya isi class diawali dengan menuliskan
properti-propertinya dan diikuti dengan method-
methodnya.
Contoh Class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : orang.php
<?php
class Orang{
public $nama; // var $nama; untuk PHP4
function UcapSalam(){
echo "Hallo. Nama Saya adalah $this->nama";
}
}
?>
Object
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Objek merupakan insansiasi dari suatu Class.
Sebuah class tidak dapat digunakan tanpa
diinstansiasikan dulu (kecuali untuk Static Class).
 Objek sebenarnya sebuah variabel.
Instansiasi Class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Instansiasi objek bisa dilakukan dengan perintah
new.
 Ketika suatu instansiasi class (pembuatan objek)
dilakukan, maka secara otomatis akan memanggil
function Constuctor milik class tersebut.
 Contoh instansiasi class adalah :
 $andri=new Orang()
 $db=new KoneksiDB(“localhost”,”root”,”pass”,”db”);
Contoh instansiasi class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : orang1.php
<?php
include("orang.php");
$dhika=new Orang(); // instansiasi
$dhika->nama="Dhika Noviansyah";
$dhika->UcapSalam();
echo "<br>";
$shelly=new Orang(); // instansiasi
$shelly->nama="Shelly Septiani";
$shelly->UcapSalam();
?>
Contoh instansiasi class
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika dieksekusi akan menghasilkan tampilan seperti
di bawah ini.
Constructor dan Destructor
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Constructor adalah suatu function khusus yang akan
dieksekusi ketika suatu objek dibuat (instansiasi class).
 Umumnya constructor dibuat untuk memberikan suatu
operasi awal yang harus dilakukan ketika sebuah objek
dilahirkan (inisialisasi objek)
 Destructor adalah function khusus yang dilakukan ketika
suatu objek akan dihapus.
 Umumnya destructor dibuat untuk mengembalikan
kembali sumber daya komputer (misalnya memori, file).
Contoh operasi dalam destructor menghapus kembali
memori yang telah digunakan atau menutup koneksi ke
suatu file.
Contoh Constructor dan Destructor
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama File : orang2.php
<?php
class Orang{
private $nama;
function __construct($nama){
$this->nama=$nama;
echo "Contructor: $this->nama dilahirkan<br>";
}
function UcapSalam(){
echo "Hallo. Nama Saya adalah ".$this->nama."<br>";
}
function __destruct(){
echo "Destructor: $this->nama meninggal dunia<br>";
}
}
?>
Contoh Constructor dan Destructor
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama File : orang3.php
<?php
include("orang2.php");
$orang1=new Orang("Orang 1");
$orang1->UcapSalam();
$orang2=new Orang("Orang 2");
$orang2->UcapSalam();
?>
Contoh Constructor dan Destructor
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika dieksekusi akan menghasilkan tampilan seperti
di bawah ini.
Visibilitas Member
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Visibilitas dari properti atau method dapat dilakukan
dengan mengawali pendefinisian dengan keyword :
 Public
 Member ini dapat diakses dimanapun, walaupun dari luar
classnya.
 Private
 Member ini hanya dapat diakses di dalam pendeklarasian
classnya saja. Member ini tidak dapat dikenal di class turunannya.
 Protected
 Mirip dengan private, tetapi member ini dapat dikenal di class
turunannya.
Visibilitas Member (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : visibility.php
<?php
class Visibility{
public $public = 'Public';
protected $protected = 'Protected';
private $private = 'Private';
function CetakProperti()
{
echo "Akses dari dalam class <br>";
echo "Public : ".$this->public."<br>";
echo "Protected : ".$this->protected."<br>";
echo "Private : ".$this->private."<br>";
}
}
$obj = new Visibility();
$obj->CetakProperti();
echo "<br> Pengaksesan dari luar class <br>";
echo "Public : ".$obj->public."<br>"; // OK
echo "Protected : ".$obj->protected."<br>"; // ERROR
echo "Private : ".$obj->private."<br>"; // ERROR
?>
Visibilitas Member (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika dieksekusi akan menghasilkan tampilan seperti
di bawah ini.
Function Setter dan Getter
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Function Setter adalah fungsi yang digunakan untuk
memberikan (set) nilai untuk suatu properti. Umumnya
function ini digunakan untuk properti yang mempunyai
visibilitas protected atau private. Function setter sering
digunakan untuk memvalidasi data yang masuk
sebelum data tersebut diisikan ke suatu properti.
 Function Getter adalah suatu function yang digunakan
untuk menghasilkan (get) suatu nilai baik dari member
public, private, protected atau pun dari hasil
perhitungan.
Function Setter dan Getter (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : setget.php (bagian 1)
<?php
class Nilai{
private $tugas=0,$uts=0, $uas=0;
function settugas($nilai){
if(($nilai<=100)&&($nilai>=0))
$this->tugas=$nilai;
}
function setuts($nilai){
if(($nilai<=100)&&($nilai>=0))
$this->uts=$nilai;
}
function setuas($nilai){
if(($nilai<=100)&&($nilai>=0))
$this->uas=$nilai;
}
function gettugas(){
return $this->tugas;
}
function getuts(){
return $this->uts;
}
Function Setter dan Getter (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : setget.php (bagian 2)
function getuas(){
return $this->uas;
}
function getNA(){
$nilaiakhir=0.2*$this->tugas+
0.3*$this->uts+
0.5*$this->uas;
return $nilaiakhir;
}
function tampil(){
echo "Nilai Tugas : ".$this->tugas.
" Nilai UTS : ".$this->uts.
" Nilai UAS : ".$this->uas.
" Nilai akhir : ".$this->getNA()."<br>";
}
} // End of Class Nilai
Function Setter dan Getter (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama file : setget.php (bagian 3)
// Contoh penggunaan class Nilai
$nilai=new Nilai();
$nilai->settugas(80); // Nilai berubah
echo "Nilai Tugas sekarang adalah : ".$nilai->gettugas()."<br>";
$nilai->setuts(60); // Nilai berubah
$nilai->setuas(90); // Nilai berubah
$nilai->tampil();
$nilai->setuas(110); // Nilai uas tidak berubah, Nilai baru tidak valid
$nilai->tampil();
echo "Nilai akhir adalah : ".$nilai->getNA();
?>
Function Setter dan Getter (Contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika dieksekusi, maka akan menampilkan tampilan
seperti di bawah ini.
Pewarisan (Inheritance)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Pewarisan/Penurunan merupakan fitur OOP yang sangat
berguna. Dengan pewarisan, sebuah class dapat diturunkan
menjadi class baru yang mempunyai sebagian atau seluruh
karakteristik dari class parentnya.
 Pewarisan dilakukan dengan keyword “extends”
 Visibility member berlaku di pewarisan.
 Dalam pewarisan dikenal istilah Override yaitu
mendefinisikan ulang suatu function yang telah tersedia di
class child sehingga mempunyai perilaku yang berbeda dari
perilaku function class parentnya.
 Dalam class turunan, boleh ditambah properti atau member
baru.
Pewarisan (contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama File : waris1.php
<?php
class Orang{
protected $nama;
function __construct($nama){
$this->nama=$nama;
}
function UcapSalam(){
echo "Hallo. Nama Saya adalah ".$this->nama."<br>";
}
}
?>
Pewarisan (contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Nama File : waris2.php
<?php
include("waris1.php");
// Pewarisan tanpa perubahan
class OrangSunda extends Orang{
}
// Pewarisan dengan meng-override function UcapSalam
// dan Penambahan Method
class OrangInggris extends Orang{
protected $asal="England"; // penambahan properti baru
function UcapSalam(){
echo "Hello. My name is ".$this->nama."<br>";
}
function UcapNegara(){ // penambahan method baru
echo "I'm from ".$this->asal."<br>";
}
}
$kabayan=new OrangSunda("Kabayan");
$kabayan->UcapSalam();
$william=new OrangInggris("Prince William");
$william->UcapSalam();
$william->UcapNegara();
?>
Pewarisan (contoh)
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika dieksekusi, maka akan menampilkan tampilan
seperti di bawah ini.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Contoh Aplikasi OOP
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Pada pertemuan 4, dijelaskan mengenai FUNCTION.
 Ada beberapa hal yang belum diisi yaitu :
 Function info_user() : Function untuk menampilkan informasi
user seperti nama user, link ke ganti password, link ke logout
dll. (belum bisa diimplementasikan di pertemuan ini)
 Function info_client() : Function untuk menampilkan IP Client,
Nama dan versi Browser yang digunakan, serta Flatform
Sistem operasi yang digunakan oleh client.
 Function rss_berita_it() : Function untuk menampikan RSS
berita it, misalnya dari layanan rss detikinet.com
(http://detikinet.com/feed/).
Contoh Aplikasi OOP
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Buka kembali file lib_func.php
Mengisi function info_client()
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Cari function info_client()
 Buatlah perintah PHP untuk menampilkan informasi client.
Jika merasa kerepotan untuk membuat sendiri, maka carilah
di internet boleh di google, phpclasses.org, atau
pear.php.net
 Contoh :
 Search di phpclasses dengan keyword “Browser Info”.
 Salah satu link hasil pencariannya adalah yang ternyata memiliki
sebuah class untuk menampilkan informasi browser seperti Nama
Browser, Versi Browser dan Flatform OS. Dengan mengklik link
Download Source Code, maka didapatlah file classnya dengan nama
browser.php.
 Gunakan class tersebut untuk mengisi function info_client()
Mengisi function info_client()
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Secara garis besar, isi file browser.php
<?php
/*****************************************************************
Deskripsi Class. HARAP DIBACA. BIASANYA ADA CONTOH PEMAKAIAN CLASSNYA
*****************************************************************/
class browser{
var $Name = "Unknown";
var $Version = "Unknown";
var $Platform = "Unknown";
var $UserAgent = "Not reported";
var $AOL = false;
// Constructor class browser
function browser(){ // cara lain membuat contructor.
// ISI CONSTRUCTOR
}
}
?>
Mengisi function info_client()
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Copykan file browser.php ke folder web anda.
 Berdasarkan deskripsi class yang ada di
browser.php, didapatkan contoh cara
penggunaannya adalah sebagai berikut :
$br = new Browser;
echo "$br->Platform, $br->Name version $br->Version";
Mengisi function info_client()
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Edit function info_client() menjadi :
function info_client(){
echo "IP : ".$_SERVER['REMOTE_ADDR']."<br>";
include("browser.php");
$br = new Browser;
echo "Browser : ".$br->Name." ".$br->Version."<br>";
echo "OS : ".$br->Platform."<br>";
}
Keterangan isi source code :
 Baris 1 : $_SERVER[„REMOTE_ADDR‟] digunakan untuk mengambil alamat IP Client
 Baris 2 : include(“browser.php”) digunakan untuk membaca/memuat file class browser
 Baris 3 : $br = new Browser digunakan untuk membuat objek $br
 Baris 4 : Menampilkan nama browser dan versinya
 Baris 5 : Menampilkan sistem operasi yang dipakai client.
Test
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Jika file index.php dieksekusi, maka akan
menghasilkan tampilan seperti di bawah ini
Function rss_berita_it() ????????
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
 Bagaimana dengan function RSS_BERITA_IT()
 Pelajari RSS terlebih dahulu.
 Cari di phpclasses.org dengan keyword “RSS Reader”
 Salah satunya akan menampilkan hasil pencarian :
Class: RSS Feed Reader (rss reader, rss feed, XML reader) - PHP ...
This class can be used to parse and display the items of an RSS feed. It parse an RSS feed XML document and extracts the each
item title, description, ...
www.phpclasses.org/browse/package/3724.html - Similar pages
 Silahkan download file classnya, kemudian buatlah script
phpnya sehingga akan menghasilkan tampilan seperti di
halaman selanjutnya.
Warning : class rss_reader tersebut masih terdapat
warning error. Juga ada kekeliruan sedikit. Silahkan
improvisasi. Find the bug and fix it.
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Judul & isi berita
ditampilkan
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
Hanya Judul yang
muncul
Alamat-alamat rss
Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
RSS Alamat
detikINet http://detikinet.com/feed/
IlmuKomputer http://ilmukomputer.com/feed/
Film Bioskop 21 http://feeds.feedburner.com/play21id
Berita Kampus IF http://if.unikom.ac.id/feed.php
PHPClasses.org http://feedproxy.google.com/phpclasses?format=xml
Kompas - Bola http://www.kompas.com/getrss/bola
Untuk rss lain dari kompas, silahkan cari di :
http://www.kompas.com/getrss
Liputan 6 http://www.liputan6.com/feed/actual/
http://www.liputan6.com/feed/rss2/

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
1. 3.10.1. Dampak Sosial Informatika (Etika dalam TIK).pptx
 
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docxSoal + jawaban PAT PBO Kelas XI RPL 2021.docx
Soal + jawaban PAT PBO Kelas XI RPL 2021.docx
 
Pengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniterPengenalan Framework CodeIgniter
Pengenalan Framework CodeIgniter
 
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objekPertemuan 1 konsep dasar pemrograman berorientasi objek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
 
HTML Dasar : #3 Tags
HTML Dasar : #3 TagsHTML Dasar : #3 Tags
HTML Dasar : #3 Tags
 
P9 enkapsulasi
P9 enkapsulasiP9 enkapsulasi
P9 enkapsulasi
 
PHP CRUD Database Mysql
PHP CRUD Database MysqlPHP CRUD Database Mysql
PHP CRUD Database Mysql
 
Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10Interaksi Manusia Dan Komputer 10
Interaksi Manusia Dan Komputer 10
 
Pbo
PboPbo
Pbo
 
HTML Dasar : #1 Pendahuluan
HTML Dasar : #1 PendahuluanHTML Dasar : #1 Pendahuluan
HTML Dasar : #1 Pendahuluan
 
Framework laravel
Framework laravelFramework laravel
Framework laravel
 
PDO (php data object)
PDO (php data object)PDO (php data object)
PDO (php data object)
 
[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface[PBO] Pertemuan 6 - Interface
[PBO] Pertemuan 6 - Interface
 
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada JavaPBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
PBO - Pert 7, Mengenal dan Memahami Konsep Array Pada Java
 
Makalah Desain web menggunakan dreamweaver 8
Makalah Desain web menggunakan dreamweaver 8Makalah Desain web menggunakan dreamweaver 8
Makalah Desain web menggunakan dreamweaver 8
 
HTML Dasar : #2 Hello World
HTML Dasar : #2 Hello WorldHTML Dasar : #2 Hello World
HTML Dasar : #2 Hello World
 
CSS Layouting #3 : Box Model
CSS Layouting #3 : Box ModelCSS Layouting #3 : Box Model
CSS Layouting #3 : Box Model
 
[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array[PBO] Pertemuan 2 - Method, String & array
[PBO] Pertemuan 2 - Method, String & array
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
PEMROGRAMAN DASAR KD. Menganalisis penggunaan array untuk penyimpanan data di...
 

Ähnlich wie Object oriented programming dengan php

Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
resaarisiswo
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 

Ähnlich wie Object oriented programming dengan php (20)

Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
mf488_10_092649.ppt
mf488_10_092649.pptmf488_10_092649.ppt
mf488_10_092649.ppt
 
Resume tentang oop dalam php
Resume tentang oop dalam phpResume tentang oop dalam php
Resume tentang oop dalam php
 
Algoritma Pemrograman 2
Algoritma Pemrograman 2Algoritma Pemrograman 2
Algoritma Pemrograman 2
 
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]Resa ari siswo[1210652011], rico nilar hartono[1210652008]
Resa ari siswo[1210652011], rico nilar hartono[1210652008]
 
Tugas aplinet meresum
Tugas aplinet meresumTugas aplinet meresum
Tugas aplinet meresum
 
Moduloop
ModuloopModuloop
Moduloop
 
CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1CCIT OOP Pertemuan 1
CCIT OOP Pertemuan 1
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
13216 3 enkapsulasi
13216 3 enkapsulasi13216 3 enkapsulasi
13216 3 enkapsulasi
 
28431 3 enkapsulasi
28431 3 enkapsulasi28431 3 enkapsulasi
28431 3 enkapsulasi
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Tugas resum
Tugas resumTugas resum
Tugas resum
 
Modul Object Oriented Programming
Modul Object Oriented ProgrammingModul Object Oriented Programming
Modul Object Oriented Programming
 
Pengenalan Java
Pengenalan JavaPengenalan Java
Pengenalan Java
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)Modul belajar java I/O (Input/Ouptut)
Modul belajar java I/O (Input/Ouptut)
 
9150 8 interface
9150 8  interface9150 8  interface
9150 8 interface
 
Oop dengan java
Oop dengan javaOop dengan java
Oop dengan java
 

Mehr von Materi Kuliah Online

Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
Materi Kuliah Online
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003
Materi Kuliah Online
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFID
Materi Kuliah Online
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi Terdistribusi
Materi Kuliah Online
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di Indonesia
Materi Kuliah Online
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication Approaches
Materi Kuliah Online
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Materi Kuliah Online
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah Gelombang
Materi Kuliah Online
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp Integrator
Materi Kuliah Online
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Materi Kuliah Online
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Materi Kuliah Online
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Materi Kuliah Online
 

Mehr von Materi Kuliah Online (20)

Sekilas tentang HaKI
Sekilas tentang HaKISekilas tentang HaKI
Sekilas tentang HaKI
 
Pengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat LunakPengenalan Rekayasa Perangkat Lunak
Pengenalan Rekayasa Perangkat Lunak
 
Pemodelan Basis Data Lainnya
Pemodelan Basis Data LainnyaPemodelan Basis Data Lainnya
Pemodelan Basis Data Lainnya
 
Arsitektur Sistem Basis Data
Arsitektur Sistem Basis DataArsitektur Sistem Basis Data
Arsitektur Sistem Basis Data
 
Access control-systems
Access control-systemsAccess control-systems
Access control-systems
 
Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003Melangkah dengan Microsoft Windows Server 2003
Melangkah dengan Microsoft Windows Server 2003
 
Studi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFIDStudi Mengenai Aspek Privasi pada Sistem RFID
Studi Mengenai Aspek Privasi pada Sistem RFID
 
Remote control alarm sepeda motor
Remote control alarm sepeda motorRemote control alarm sepeda motor
Remote control alarm sepeda motor
 
Internet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi TerdistribusiInternet dan Layanan Aplikasi Terdistribusi
Internet dan Layanan Aplikasi Terdistribusi
 
Aspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di IndonesiaAspek Security pada Penerapan m-Commerce di Indonesia
Aspek Security pada Penerapan m-Commerce di Indonesia
 
A Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication ApproachesA Comparison of Proximity Authentication Approaches
A Comparison of Proximity Authentication Approaches
 
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi KeamananKajian Perkembangan Teknologi Smart Card dari Segi Keamanan
Kajian Perkembangan Teknologi Smart Card dari Segi Keamanan
 
Catu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah GelombangCatu Daya dan Rangkaian Penyearah Gelombang
Catu Daya dan Rangkaian Penyearah Gelombang
 
Dioda dan Catu Daya
Dioda dan Catu DayaDioda dan Catu Daya
Dioda dan Catu Daya
 
Simulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp IntegratorSimulasi Anti Integral Windup dengan Clamp Integrator
Simulasi Anti Integral Windup dengan Clamp Integrator
 
Radio Frequency Identification
Radio Frequency IdentificationRadio Frequency Identification
Radio Frequency Identification
 
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware TechnologyPrinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
Prinsip-prinsip Asas E-Construction, K-Constructions dan Groupware Technology
 
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan TeleponPenggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
Penggunaan DT-51 Untuk Komunikasi Mikrokontroler Melalui Jaringan Telepon
 
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara WirelessPenggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
Penggunaan DT-Basic Untuk Membaca Nomor Identitas Secara Wireless
 
Interfacing Number Display
Interfacing Number DisplayInterfacing Number Display
Interfacing Number Display
 

Kürzlich hochgeladen

Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
nabilafarahdiba95
 

Kürzlich hochgeladen (20)

Aksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdfAksi Nyata PMM Topik Refleksi Diri (1).pdf
Aksi Nyata PMM Topik Refleksi Diri (1).pdf
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR SENI RUPA KELAS 6 KURIKULUM MERDEKA.pdf
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
7.PPT TENTANG TUGAS Keseimbangan-AD-AS .pptx
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Program Kerja Public Relations - Perencanaan
Program Kerja Public Relations - PerencanaanProgram Kerja Public Relations - Perencanaan
Program Kerja Public Relations - Perencanaan
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR IPAS KELAS 3 KURIKULUM MERDEKA.pdf
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTXAKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
AKSI NYATA TOPIK 1 MERDEKA BELAJAR. PPTX
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
 
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptxTEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
TEKNIK MENJAWAB RUMUSAN SPM 2022 - UNTUK MURID.pptx
 
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.pptHAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
HAK DAN KEWAJIBAN WARGA NEGARA ppkn i.ppt
 

Object oriented programming dengan php

  • 1. OBJECT ORIENTED PROGRAMMING DENGAN PHP TEKNIK INFORMATIKA – UNIKOM (2009) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
  • 2. Hal penting dalam OOP  Class  Properti / Variable  Method / Function  Object  Instansiasi Class  Constructor & Destructor  Visibilitas Member (Member Visibility)  Public, Private dan Protected  Function Setter dan Getter  Pewarisan (Inheritance) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
  • 3. Definisi Class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Class disusun berdasarkan karakteristik sebuah objek benda. Sifat ini disebut sebagai Abstraksi (Abstraction)  Class adalah penampung sekumpulan elemen data (variable) dan kode program (function) yang digunakan oleh pengolahan datanya. Sifat ini disebut sebagai enkapsulasi (Encapsulation) .  Class dapat disusun secara hierarki sehingga suatu class dapat mewariskan beberapa atau semua karakteristiknya ke class lain (class anak/child class). Sifat ini disebut sebagai Pewarisan (Inheritance)
  • 4. Properti / Variable Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Berdasarkan sifat abstraksi, suatu class menyimpan karakteristik suatu benda dalam suatu variable. Variabel ini sering disebut sebagai properti.  Contoh:  Class Orang mempunyai properti seperti Nama, Warna Rambut, Tinggi, Berat, Tahun Lahir dan lain-lain.  Class KoneksiDB mempunyai properti seperti Alamat Server, User Name, Password dan Nama Database
  • 5. Method / Function Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Selain mempunyai properti, sebuah class juga mempunyai Method. Dalam PHP, method suatu class diwujudkan dalam sebuah function. Method adalah perilaku yang dapat dilakukan oleh class.  Contoh :  Class Orang mempunyai method seperti Makan, Minum, Tidur, Ucap Salam, dan lain-lain  Class KoneksiDB mempunyai method seperti Koneksi, EksekusiQuery, AmbilData dan lain-lain
  • 6. Aturan Pembuatan Class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Definisi suatu class dimulai dengan keyword Class, diikuti dengan nama classnya.  Isi suatu class diapit dengan kurung kurawal ({ }).  Umumnya isi class diawali dengan menuliskan properti-propertinya dan diikuti dengan method- methodnya.
  • 7. Contoh Class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : orang.php <?php class Orang{ public $nama; // var $nama; untuk PHP4 function UcapSalam(){ echo "Hallo. Nama Saya adalah $this->nama"; } } ?>
  • 8. Object Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Objek merupakan insansiasi dari suatu Class. Sebuah class tidak dapat digunakan tanpa diinstansiasikan dulu (kecuali untuk Static Class).  Objek sebenarnya sebuah variabel.
  • 9. Instansiasi Class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Instansiasi objek bisa dilakukan dengan perintah new.  Ketika suatu instansiasi class (pembuatan objek) dilakukan, maka secara otomatis akan memanggil function Constuctor milik class tersebut.  Contoh instansiasi class adalah :  $andri=new Orang()  $db=new KoneksiDB(“localhost”,”root”,”pass”,”db”);
  • 10. Contoh instansiasi class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : orang1.php <?php include("orang.php"); $dhika=new Orang(); // instansiasi $dhika->nama="Dhika Noviansyah"; $dhika->UcapSalam(); echo "<br>"; $shelly=new Orang(); // instansiasi $shelly->nama="Shelly Septiani"; $shelly->UcapSalam(); ?>
  • 11. Contoh instansiasi class Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika dieksekusi akan menghasilkan tampilan seperti di bawah ini.
  • 12. Constructor dan Destructor Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Constructor adalah suatu function khusus yang akan dieksekusi ketika suatu objek dibuat (instansiasi class).  Umumnya constructor dibuat untuk memberikan suatu operasi awal yang harus dilakukan ketika sebuah objek dilahirkan (inisialisasi objek)  Destructor adalah function khusus yang dilakukan ketika suatu objek akan dihapus.  Umumnya destructor dibuat untuk mengembalikan kembali sumber daya komputer (misalnya memori, file). Contoh operasi dalam destructor menghapus kembali memori yang telah digunakan atau menutup koneksi ke suatu file.
  • 13. Contoh Constructor dan Destructor Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama File : orang2.php <?php class Orang{ private $nama; function __construct($nama){ $this->nama=$nama; echo "Contructor: $this->nama dilahirkan<br>"; } function UcapSalam(){ echo "Hallo. Nama Saya adalah ".$this->nama."<br>"; } function __destruct(){ echo "Destructor: $this->nama meninggal dunia<br>"; } } ?>
  • 14. Contoh Constructor dan Destructor Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama File : orang3.php <?php include("orang2.php"); $orang1=new Orang("Orang 1"); $orang1->UcapSalam(); $orang2=new Orang("Orang 2"); $orang2->UcapSalam(); ?>
  • 15. Contoh Constructor dan Destructor Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika dieksekusi akan menghasilkan tampilan seperti di bawah ini.
  • 16. Visibilitas Member Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Visibilitas dari properti atau method dapat dilakukan dengan mengawali pendefinisian dengan keyword :  Public  Member ini dapat diakses dimanapun, walaupun dari luar classnya.  Private  Member ini hanya dapat diakses di dalam pendeklarasian classnya saja. Member ini tidak dapat dikenal di class turunannya.  Protected  Mirip dengan private, tetapi member ini dapat dikenal di class turunannya.
  • 17. Visibilitas Member (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : visibility.php <?php class Visibility{ public $public = 'Public'; protected $protected = 'Protected'; private $private = 'Private'; function CetakProperti() { echo "Akses dari dalam class <br>"; echo "Public : ".$this->public."<br>"; echo "Protected : ".$this->protected."<br>"; echo "Private : ".$this->private."<br>"; } } $obj = new Visibility(); $obj->CetakProperti(); echo "<br> Pengaksesan dari luar class <br>"; echo "Public : ".$obj->public."<br>"; // OK echo "Protected : ".$obj->protected."<br>"; // ERROR echo "Private : ".$obj->private."<br>"; // ERROR ?>
  • 18. Visibilitas Member (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika dieksekusi akan menghasilkan tampilan seperti di bawah ini.
  • 19. Function Setter dan Getter Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Function Setter adalah fungsi yang digunakan untuk memberikan (set) nilai untuk suatu properti. Umumnya function ini digunakan untuk properti yang mempunyai visibilitas protected atau private. Function setter sering digunakan untuk memvalidasi data yang masuk sebelum data tersebut diisikan ke suatu properti.  Function Getter adalah suatu function yang digunakan untuk menghasilkan (get) suatu nilai baik dari member public, private, protected atau pun dari hasil perhitungan.
  • 20. Function Setter dan Getter (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : setget.php (bagian 1) <?php class Nilai{ private $tugas=0,$uts=0, $uas=0; function settugas($nilai){ if(($nilai<=100)&&($nilai>=0)) $this->tugas=$nilai; } function setuts($nilai){ if(($nilai<=100)&&($nilai>=0)) $this->uts=$nilai; } function setuas($nilai){ if(($nilai<=100)&&($nilai>=0)) $this->uas=$nilai; } function gettugas(){ return $this->tugas; } function getuts(){ return $this->uts; }
  • 21. Function Setter dan Getter (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : setget.php (bagian 2) function getuas(){ return $this->uas; } function getNA(){ $nilaiakhir=0.2*$this->tugas+ 0.3*$this->uts+ 0.5*$this->uas; return $nilaiakhir; } function tampil(){ echo "Nilai Tugas : ".$this->tugas. " Nilai UTS : ".$this->uts. " Nilai UAS : ".$this->uas. " Nilai akhir : ".$this->getNA()."<br>"; } } // End of Class Nilai
  • 22. Function Setter dan Getter (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama file : setget.php (bagian 3) // Contoh penggunaan class Nilai $nilai=new Nilai(); $nilai->settugas(80); // Nilai berubah echo "Nilai Tugas sekarang adalah : ".$nilai->gettugas()."<br>"; $nilai->setuts(60); // Nilai berubah $nilai->setuas(90); // Nilai berubah $nilai->tampil(); $nilai->setuas(110); // Nilai uas tidak berubah, Nilai baru tidak valid $nilai->tampil(); echo "Nilai akhir adalah : ".$nilai->getNA(); ?>
  • 23. Function Setter dan Getter (Contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika dieksekusi, maka akan menampilkan tampilan seperti di bawah ini.
  • 24. Pewarisan (Inheritance) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Pewarisan/Penurunan merupakan fitur OOP yang sangat berguna. Dengan pewarisan, sebuah class dapat diturunkan menjadi class baru yang mempunyai sebagian atau seluruh karakteristik dari class parentnya.  Pewarisan dilakukan dengan keyword “extends”  Visibility member berlaku di pewarisan.  Dalam pewarisan dikenal istilah Override yaitu mendefinisikan ulang suatu function yang telah tersedia di class child sehingga mempunyai perilaku yang berbeda dari perilaku function class parentnya.  Dalam class turunan, boleh ditambah properti atau member baru.
  • 25. Pewarisan (contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama File : waris1.php <?php class Orang{ protected $nama; function __construct($nama){ $this->nama=$nama; } function UcapSalam(){ echo "Hallo. Nama Saya adalah ".$this->nama."<br>"; } } ?>
  • 26. Pewarisan (contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Nama File : waris2.php <?php include("waris1.php"); // Pewarisan tanpa perubahan class OrangSunda extends Orang{ } // Pewarisan dengan meng-override function UcapSalam // dan Penambahan Method class OrangInggris extends Orang{ protected $asal="England"; // penambahan properti baru function UcapSalam(){ echo "Hello. My name is ".$this->nama."<br>"; } function UcapNegara(){ // penambahan method baru echo "I'm from ".$this->asal."<br>"; } } $kabayan=new OrangSunda("Kabayan"); $kabayan->UcapSalam(); $william=new OrangInggris("Prince William"); $william->UcapSalam(); $william->UcapNegara(); ?>
  • 27. Pewarisan (contoh) Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika dieksekusi, maka akan menampilkan tampilan seperti di bawah ini.
  • 28. Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)
  • 29. Contoh Aplikasi OOP Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Pada pertemuan 4, dijelaskan mengenai FUNCTION.  Ada beberapa hal yang belum diisi yaitu :  Function info_user() : Function untuk menampilkan informasi user seperti nama user, link ke ganti password, link ke logout dll. (belum bisa diimplementasikan di pertemuan ini)  Function info_client() : Function untuk menampilkan IP Client, Nama dan versi Browser yang digunakan, serta Flatform Sistem operasi yang digunakan oleh client.  Function rss_berita_it() : Function untuk menampikan RSS berita it, misalnya dari layanan rss detikinet.com (http://detikinet.com/feed/).
  • 30. Contoh Aplikasi OOP Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Buka kembali file lib_func.php
  • 31. Mengisi function info_client() Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Cari function info_client()  Buatlah perintah PHP untuk menampilkan informasi client. Jika merasa kerepotan untuk membuat sendiri, maka carilah di internet boleh di google, phpclasses.org, atau pear.php.net  Contoh :  Search di phpclasses dengan keyword “Browser Info”.  Salah satu link hasil pencariannya adalah yang ternyata memiliki sebuah class untuk menampilkan informasi browser seperti Nama Browser, Versi Browser dan Flatform OS. Dengan mengklik link Download Source Code, maka didapatlah file classnya dengan nama browser.php.  Gunakan class tersebut untuk mengisi function info_client()
  • 32. Mengisi function info_client() Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Secara garis besar, isi file browser.php <?php /***************************************************************** Deskripsi Class. HARAP DIBACA. BIASANYA ADA CONTOH PEMAKAIAN CLASSNYA *****************************************************************/ class browser{ var $Name = "Unknown"; var $Version = "Unknown"; var $Platform = "Unknown"; var $UserAgent = "Not reported"; var $AOL = false; // Constructor class browser function browser(){ // cara lain membuat contructor. // ISI CONSTRUCTOR } } ?>
  • 33. Mengisi function info_client() Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Copykan file browser.php ke folder web anda.  Berdasarkan deskripsi class yang ada di browser.php, didapatkan contoh cara penggunaannya adalah sebagai berikut : $br = new Browser; echo "$br->Platform, $br->Name version $br->Version";
  • 34. Mengisi function info_client() Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Edit function info_client() menjadi : function info_client(){ echo "IP : ".$_SERVER['REMOTE_ADDR']."<br>"; include("browser.php"); $br = new Browser; echo "Browser : ".$br->Name." ".$br->Version."<br>"; echo "OS : ".$br->Platform."<br>"; } Keterangan isi source code :  Baris 1 : $_SERVER[„REMOTE_ADDR‟] digunakan untuk mengambil alamat IP Client  Baris 2 : include(“browser.php”) digunakan untuk membaca/memuat file class browser  Baris 3 : $br = new Browser digunakan untuk membuat objek $br  Baris 4 : Menampilkan nama browser dan versinya  Baris 5 : Menampilkan sistem operasi yang dipakai client.
  • 35. Test Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Jika file index.php dieksekusi, maka akan menghasilkan tampilan seperti di bawah ini
  • 36. Function rss_berita_it() ???????? Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM)  Bagaimana dengan function RSS_BERITA_IT()  Pelajari RSS terlebih dahulu.  Cari di phpclasses.org dengan keyword “RSS Reader”  Salah satunya akan menampilkan hasil pencarian : Class: RSS Feed Reader (rss reader, rss feed, XML reader) - PHP ... This class can be used to parse and display the items of an RSS feed. It parse an RSS feed XML document and extracts the each item title, description, ... www.phpclasses.org/browse/package/3724.html - Similar pages  Silahkan download file classnya, kemudian buatlah script phpnya sehingga akan menghasilkan tampilan seperti di halaman selanjutnya. Warning : class rss_reader tersebut masih terdapat warning error. Juga ada kekeliruan sedikit. Silahkan improvisasi. Find the bug and fix it.
  • 37. Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM) Judul & isi berita ditampilkan
  • 38. Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM) Hanya Judul yang muncul
  • 39. Alamat-alamat rss Modul Aplikasi Teknologi Online Oleh Andri Heryandi, S.T., M.T. (IF-UNIKOM) RSS Alamat detikINet http://detikinet.com/feed/ IlmuKomputer http://ilmukomputer.com/feed/ Film Bioskop 21 http://feeds.feedburner.com/play21id Berita Kampus IF http://if.unikom.ac.id/feed.php PHPClasses.org http://feedproxy.google.com/phpclasses?format=xml Kompas - Bola http://www.kompas.com/getrss/bola Untuk rss lain dari kompas, silahkan cari di : http://www.kompas.com/getrss Liputan 6 http://www.liputan6.com/feed/actual/ http://www.liputan6.com/feed/rss2/