(Sessi 6) PH P
http://Subari.blogspot.com
Pena yang kita pegang untuk menulis, mobil/motor yang kita kendarai saat bepergian, kue yang kita makan, kucing yang kita pelihara, telefon yang kita gunakan untuk berkomunikasi, kesemuanya adalah benda nyata dan merupakan objek. Pembayaran tagihan melalui internet, sistem antrian tiket di bioskop, penyimpanan uang di bank, atau pengendalian komunikasi data pada port I/O komputer, meskipun bukan benda nyata, namun kesemuanya juga merupakan objek.
Bagi anda yang pernah mempelajari bahasa pemrograman lain seperti Delphi, Visual Basic atau Visual C, pada saat mendesain layout grafis user interface tentulah tidak asing lagi dengan komponen CommandButton, EditText, Label, MessageBox, ProgressBar dan lain sebagainya. Ini semua juga merupakan objek. Masing-masing komponen memiliki data atau yang biasa dikenal sebagai properties, dan juga fungsi (method).
Hubungan antara kelas dan objek dapat diilustrasikan sebagai resep kue dengan kue-nya, di mana resep kue adalah kelas dan kue adalah objeknya. Sebelum membuat kue, kita harus membaca dan mempelajari resep kue tersebut terlebih dahulu. Di dalam resep disebutkan data mengenai kue, yaitu bahan-bahan yang diperlukan serta fungsi-fungsi yaitu bagaimana cara mengolah bahan tersebut hingga menjadi kue yang siap disajikan. Pada OOP, kita tidak hanya menggunakan resep kue yang sudah ada untuk membuat kue, namun juga menciptakan resep-resep kue yang baru sesuai selera kita. Oleh sebab itu, yang menjadi fokus dalam OOP adalah bagaimana menciptakan dan mendefinisikan kelas yang kelak menjadi wadah untuk membuat objek-objek
Instance (Instans)
Objek dapat dikatakan juga sebagai instans (instance) instance) dari suatu kelas. Maksudnya, objek merupakan perwujudan dalam bentuk benda; baik berupa benda nyata, maupun konsep, sesuai dengan deskripsi yang telah didefinisikan oleh kelas. Proses pembentukan objek dari suatu kelas disebut instansiasi (instantiation). instantiation).
Instans adalah Perwujudan. Dalam istilah pemrograman, objek merupakan instans (perwujudan) dari suatu kelas. Instansiasi adalah : Proses perwujudan kelas menjadi objek.
Subari, S.Kom - STIKI Malang
Instance (Instans)
Dari ilustrasi sebelumnya, pena merupakan instans dari kelas Alat Tulis yang memiliki data (sifat karakteristik) berbentuk batang, mudah digerakkan, runcing di bagian ujungnya serta memiliki fungsi mengeluarkan tinta saat dipakai menulis. Mobil merupakan instans dari Kendaraan Transportasi Darat , yang memiliki data beroda 4, berkapasitas 4-9 penumpang, dan memiliki fungsi percepatan, pengereman, transmisi gigi. Kue merupakan instans dari resep kue, dan seterusnya.
Subari, S.Kom - STIKI Malang
Contoh-01
<?php # oop_php.php class Orang { var $nama; function getName() { return $this->nama; } function setName($nama) { $this->nama = $nama; } function Orang($nama) { $this->setName($nama); } } function changeName($orang, $nama) { $orang->setName($nama); } $orang = new Orang("Zend"); print $orang->getName(); ?> Subari, S.Kom - STIKI Malang
Contoh-02
<?php class MrX { function MrX() { // } } class MrXJunior extends MrX { function MrXJunior() { echo "Saya ", get_class($this), " anaknya " , get_parent_class($this) , "<br>"; } }
class MrsY extends MrX { function MrsY() { echo "Saya ", get_class($this), " juga anaknya " , get_parent_class($this) , "<br>"; } } class MrsYJunior extends MrsY { function MrsYJunior() { echo "Kalau saya ",get_class($this), " anaknya " , get_parent_class($this) , "\n"; } } $anak1 = new MrXJunior(); $anak2 = new MrsY(); $anak3 = new MrsYJunior();
Subari, S.Kom - STIKI Malang ?>
Contoh-02
class MyGlobal { var $isi; var $judul = " Aplikasi Berbasis Objek "; var $tombol = array( "Index " => "index.php", "Service" => "services.php", "Product" => "product.php", "Support" => "support.php", "Others " => "other.php", "Contact" => "contact.php" );
Langkah-01: Global.inc function AturIsi($isibaru) { $this->isi = $isibaru; } function AturJudul($judulbaru) { $this->judul = $judulbaru; } function AturTombol($tombolbaru) { $this->tombol = $tombolbaru; } function Tampilkan() { echo "<html>\n<head>\n"; $this->TampilJudul(); $this->TampilStyle(); echo "</head>\n<body>\n"; $this->TampilAtas(); $this->TampilMenu($this->tombol); echo "$this->isi"; $this->TampilBawah(); echo "</body>\n</html>"; }
Langkah-01: Global.inc function TampilJudul() { echo "<title>$this->judul</title>"; } function TampilAtas() { ?> <center><img src ='welcome.gif' > </center> <table width="100%" cellpadding="0" border=0> <tr bgcolor=#ccFF99><td valign=top> <h4> Aplikasi Berbasis Objek </h4> </td></tr> </table> <? }
function TampilStyle() { ?> <style> h4 {color:gray; font-size:11pt; text-align:center; font-family:verdana} .menu {color:navy; font-size:7pt; text-align:center; font-family:verdana} body {color:black; font-size:8pt; text-align:justify; font-family:verdana} a:link,a:visited,a:active {color:green} </style> <? Subari, S.Kom - STIKI Malang }
Langkah-01: Global.inc function TampilMenu($tombol) { echo "<table width='100%' bgcolor='#ccFF99' 'cellpadding=2 cellspacing=1 border=0><tr>"; $width = 100/count($tombol); while (list($nama, $url) = each($tombol)) { $this->TampilTombol($width, $nama, $url, !$this->IsURLCurrentPage($url)); } echo "</tr>\n"; echo "</table>\n"; } function IsURLCurrentPage($url) { if(strpos($GLOBALS["SCRIPT_NAME"], $url)==false) { return false; } else { return true; } }
Langkah-01: Global.inc function TampilTombol($width, $nama, $url, $active = true) { if ($active) { echo "<td width ='$width%'> <a href ='$url'> <img src ='down.gif' alt='$nama'></a> <a href = '$url'><span class=menu>$nama</span></a></td>"; } else { echo "<td width ='$width%'> <img src ='up.gif'> <span class=menu>$nama</span></td>"; } }
Subari, S.Kom - STIKI Malang
Langkah-01: Global.inc function TampilBawah() { ?> <table border=0 width='100%' cellpadding=2> <tr><td align='center' bgcolor=#ccFF99> <small><font size=1> Copyright © 2005 <b><br>IndoSQL.net Web Company </b><br> Dgz@AremaTeam.net </font> </small> </td></tr> </table> <? } } ?>
Subari, S.Kom - STIKI Malang
Langkah-02: services.php
<? # services.php require("global.inc"); class MyServices extends MyGlobal { var $baris2tombol = array("Search Engine" => "http://google.com", "Online Shop " => "http://www.elexmedia.co.id", "Web Mail " => "http://yahoo.com", "Web Gallery " => "http://yahoo.com", "Top Site " => "http://indosql.net" );
Langkah-02: services.php function Tampilkan() { echo "<html>\n<head>\n"; $this->TampilJudul(); $this->TampilStyle(); echo "</head>\n<body>\n"; $this->TampilAtas(); $this->TampilMenu($this->tombol); $this->TampilMenu($this->baris2tombol); echo $this->isi; $this->TampilBawah(); $service = new MyServices(); echo "</body>\n</html>"; $isi = "<p>Halaman ini berisi informasi produk<br> } Terima kasih atas kepercayaannya......</p>"; } $service->AturIsi($isi); $service->Tampilkan(); ?>
Subari, S.Kom - STIKI Malang
Langkah-03: index.php
<? # index.php require("Global.inc"); $homepage = new MyGlobal(); $homepage->AturIsi(" <p>Selamat Datang di situs Objek.... <p>Terima kasih atas kunjungannya......</p>" ); $homepage->Tampilkan() ?>
STARTSTART-UP FILE
Siapkan 3 file gambar (.Gif) sebagai contoh dengan nama file sbb: - Down.Gif
- Welcome.Gif
- Up.Gif