UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ PADANG, 08 Agustus.

Slides:



Advertisements
Presentasi serupa
Pertemuan 8. 2  JavaScript dikembangkan pertama kali pada tahun 1995 di Netscape Communications dgn nama LiveScript.  Hasil kolaborasi antara Netscape.
Advertisements

Form Method(Post & Get) dan Session
Pemrograman Berorientasi Objek (Project)
Modul 5: Constructor, Overloading, inheritance, Polymorphism
Pemrograman VB.NET Pertemuan 2.
Modul 10 : PHP dan MySQL Mempelajari koneksi PHP dengan database MySQL dan Fungsi-fungsi asesnya Modul- 10: PHP dan My SQL.
Perancangan Basis Data Basis Data.  mahasiswa memahami tahap-tahap perancangan basis data 2 TIK •mahasiswa mengetahui bagaimana menentukan dan menempatkan.
E-Learning. 2 E-learning • Definisi : – setiap kegiatan menggunakan aplikasi berteknologi Web dengan tujuan mendidik masyarakat – misalnya mengajar siswa,
OOP berputar pada konsep dari obyek yang merupakan elemen dasar dari program Anda. Ketika kita membandingkan dengan dunia nyata, kita dapat menemukan.
SISTEM BASIS DATA INTRO-5. •Setelah mengikuti perkuliahan ini diharapkan mahasiswa dapat mengerti : 1.Aplikasi perintah SQL ke MySql Server 2.Mengerti.
Database MySQL.
Pemrograman Berorientasi Objek
TRANSFORMASI MODEL DATA ER ke BASIS DATA
Soal-Soal Latihan Mandiri
ARRAY STATIS DAN DINAMIS
Modul Pengembangan Sistem Informasi part. I Dosen: Zakki Falani, S.Kom Fakultas Ilmu Komputer Universitas Narotama NEXT.
PENGERTIAN INTERRUPT VEKTOR INTERUPSI
RUMAH BELAJAR Pusat Teknologi Informasi dan Komunikasi.
Nur Hayatin, S.ST Jurusan Teknik Informatika Universitas Muhammadiyah Malang Sem Genap 2010.
Anom Harya Wicaksana Sufia Adha Putri Rakanta Rifky E.I.P
Alat Ukur Waktu dengan Satuan Jam
Rekaman – Record Pada Pascal
Perancangan Basis Data
Praktikum Membuat Database Menggunakan Netbeans 7.1
Sistem Basis Data - Universitas Semarang
Membuat Data Base Kemahasiswaan
PERTEMUAN KE 9 MENU TUNGGAL.
MEMBUAT FORM ENTRY DATA DAN MENAMPILKAN DATA DARI DATABASE
Pemrograman Berorientasi Objek
di OBJECT ORIENTED PROGRAMMING [OOP] Oleh H. SUMIJAN, Ir, M.Sc
Modul 1- Review Java.
Pengenalan Sistem Informasi Akademik Mahasiswa ( SIAM )
Chapter 3.2 : Tipe, Nama dan Nilai
Pemrogramman Terstruktur
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Inheritance Ery Setiyawan Jullev A.
Pemrograman JAVA (TIB09)
Dasar Pemrograman ARRAY/LARIK.
ARRAY Definisi: Kumpulan data yang bertipe sama, dan disimpan dalam 1 nama varibel Digunakan nomor elemen (sub script) untuk mengaksesnya Deklarasi Array.
Pertemuan 8 Pemrograman Berbasis Obyek Oleh Tita Karlita
MODUL 2 BAHASA BASIS DATA
PEMROGRAMAN BERBASIS WEB
Internet Programming MySQL
Basis Data - Udinus Semarang
Dasar Tag HTML Form Awal formulir ditandai dengan Tag , dan berisi dua kata kunci: METHOD dan ACTION.
STRUKTUR TABEL.
Dasar-Dasar PHP.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Struct 2nd Part.
Perancangan dan Pemrograman Web
PHP - Pemrograman Berorientasi Obyek
Pemrograman WEB I Pertemuan 11.
Pemrograman internet ABU SALAM, M.KOM.
Membuat Aplikasi ( PHP + MySql )
OOP.
KELOMPOK 9 ROBBY SETIAWAN AKBAR BAI ALIM WASSAHUA
Pemrograman Berorientasi Objek
Pemrograman internet ABU SALAM, M.KOM.
Melda Dahoklory,S.Kom,MT
Membuat Kelas.
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Array, Class, Obyek, Method danConstructor.
Pemrograman Berorientasi Obyek
Pemrograman Berorientasi Objek II
Pemrograman Berorientasi Objek II
08 PEMOGRAMAN WEB ENTERPRISE Aplikasi web Module Hariesa B.P, ST, MM
Array, Class, Obyek, Method danConstructor.
Oleh : Rahmat Robi Waliyansyah, M.Kom
- PERTEMUAN 2- CONSTRUCTOR
Encapsulation / Visibility, Getter Setter, Pewarisan, Overloading dan Overriding PBO.
Transcript presentasi:

UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ PADANG, 08 Agustus 2012

PBO DALAM PHP Mengenal Obyek dan Class Pada pemrograman berorientasi object, yang disebut object adalah instan dari sebuah class. Class terdiri dari variabel dan fungsi yang dibungkus dengan mekanisme pembungkusan kelas. Secara gampangnya class merupakan spesifikasi umum dan struktur dari suatu object sedangkan object merupakan individu-individu yang memiliki spesifikasi sesuai dengan classnya. Dua object yang berasal dari class yang sama dapat memiliki isi variable yang berbeda namun strukturnya pasti sama.

Sintak dari sebuah Class : 1class nama_class { 2 var $nama_variable; 3 fungsi - fungsi; 4} 1class mahasiswa { 2 var $nim; 3 var $nama; 4 function cetakData() { 5 echo "NIM : $this->nim"; 6 echo "Nama : $this->nama"; 7 } 8} Contoh sebuah Class : PBO DALAM PHP 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 = “ "; 4$ketua->nama = “Debie Ayu Mustika Sari"; 5$wakil->nim = " "; 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 -> PBO DALAM PHP

Penurunan Class (Inharitence) 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 kelas maka digunakan kata kunci extends. Sintak : 1class 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. PBO DALAM PHP

10class mahasiswa extends orang { 11 var $nim; 12 var $ ; 13 function cetakData(){ 14 echo "Nim : $this->nim\n"; 15 echo "nama : $this->nama\n"; 16 echo "alamat : $this->alamat\n"; 17 echo " $this-> \n"; 18 } 19} 01class orang{ 02 var $nama; 03 var $alamat; 04 function cetakData() { 05 echo "nama : $this->nama"; 06 echo "alamat : $this->alamat"; 07 } 08} 09 Contoh : PBO DALAM PHP Penjelasan Class mahasiswa merupakan kelas turunan dari class orang. Dari class orang, class mahasiswa memiliki variable $nama dan $alamat, dan juga fungsi cetakData(). Selain itu class mahasiswa juga memiliki variable tambahan yaitu $nim dan $ . Sedangkan deklarasi fungsi cetakData() menyebabkan fungsi cetakData() pada class utama tidak digunakan jika fungsi dipanggil dari class mahasiswa.

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 harus sama dengan nama class induknya. Untuk lebih jelasnya lihat contoh berikut : 1class A { 2 function A() { } ; // fungsi constructor 3 function B() { } ; // fungsi biasa 4} 5 6class B extends A { 7 function C() ; // fungsi biasa 8} PBO DALAM PHP

Penjelasan Pada PHP 3 class B akan menggunakan fungsi B() sebagai constructornya padahal fungsi B() hanya merupakan fungsi biasa. Ini dikarenakan PHP 3 menganggap fungsi constructor merupakan fungsi bernama sama dengan classnya. Lain halnya PHP 4, class B akan menggunakan fungsi constructor A() karena fungsi ini mengacu pada fungsi utamanya, yaitu class A bukan class B. 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(). PBO DALAM PHP

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. 01class A { 02 fungsi C() {} ; 03} 04 05class 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. PBO DALAM PHP

<?php class Pemrograman { var $nama; function getName() { return $this->nama; } function setName($nama) { $this->nama = $nama; } function Pemrograman($nama) { $this->setName($nama); } function changeName($pemrograman, $nama) { $pemrograman->setName($nama); } ?> $prog = new Pemrograman("PHP Classic"); print $prog->getname(); print " Diganti menjadi "; changeName($prog, "OOP PHP"); print $prog->getName(); PBO DALAM PHP

<?php class person { var $name; function set_name($new_name) { $this->name = $new_name; } function get_name() { return $this->name; } ?> <?php include("Class-1.php"); ?> <?php $stefan = new person(); $jimmy = new person; $stefan->set_name ("Stefan Mischook"); $jimmy->set_name("Nick Waddles"); ?> PBO DALAM PHP File Name : Class-1.php File Name : Class-2.php

<?php $stefan = new person(); $jimmy = new person; $stefan->set_name("Stefan Mischook"); $jimmy->set_name("Nick Waddles"); echo " Stefan's full name: ". $stefan->get_name(); echo " Nick's full name: ". $jimmy->get_name(); ?> PBO DALAM PHP File Name : Class-3.php

<?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; ?> PBO DALAM PHP File Name : Class-4.php

<?php $stefan = new person("Stefan Mischook"); echo "Stefan's full name: ". $stefan->get_name(); ?> PBO DALAM PHP File Name : Class-5.php

<?php class person { var $name; public $height; protected $social_insurance; private $pinn_number; function __construct($persons_name) { $this->name = $persons_name; } function set_name($new_name) { $this->name = $new_name; } function get_name() { return $this->name; } } ?> PBO DALAM PHP File Name : Class-6.php

<?php $stefan = new person("Stefan Mischook"); echo "Stefan's full name: ". $stefan->get_name(); echo "Tell me private stuff: ". $stefan->$pinn_number; ?> PBO DALAM PHP File Name : Class-7.php

} // 'extends' is the keyword that enables inheritance class employee extends person { protected function set_name($new_name) { if ($new_name == "Stefan Sucks") { $this->name = $new_name; } function __construct($employee_name) { $this->set_name($employee_name); } ?> <?php class person { // explicitly adding class properties are optional - but is good practice var $name; function __construct($persons_name) { $this->name = $persons_name; } public function get_name() { return $this->name; } //protected methods and properties restrict access to those elements. protected function set_name($new_name) { if ($name != "Jimmy Two Guns") { $this->name = strtoupper($new_name); } PBO DALAM PHP File Name : Class-8.php

<? include("Class-9.php"); $a = new Mobil(); $b = new Mobil(); echo " Mobil pertama "; $a->tampilWarna(); echo " Mobil pertama ganti warna "; $a->gantiWarna("Merah"); $a->tampilWarna(); echo " Mobil kedua "; $b->gantiWarna("Hijau"); $b->tampilWarna(); ?> <? class Mobil { var $warna; var $merk; var $harga; function __construct() { $this->warna = "Biru"; $this->merk = "BMW"; $this->harga = " "; } function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru; } function tampilWarna () { echo "Warna mobilnya : ". $this->warna; } } ?> PBO DALAM PHP File Name : Class-9.php File Name : Class-10.php

echo " fields[$j]['name']."'> "; } echo " "; echo " submit."'> "; echo " "; } function addField($name, $label) { $this->fields [$this->jumField]['name'] = $name; $this->fields [$this->jumField]['label'] = $label; $this->jumField ++; } ?> <? class Form { var $fields = array(); var $action; var $submit = "Submit Form"; var $jumField = 0; function __construct($action, $submit) { $this->action = $action; $this->submit = $submit; } function displayForm() { echo " action."' method='POST'>"; echo " "; for ($j=0; $j fields); $j++) { echo " ".$this-> fields[$j]['label']." "; PBO DALAM PHP File Name : Class-11.php

<?php include “Class-11.php"; echo " Mahasiswa "; $form = new Form ("","Input Form"); $form->addField ("txtnim", "Nim"); $form->addField ("txtnama", "Nama"); $form->addField ("txtalamat", "Alamat"); $form->addField ("txttelp", "Telp."); echo " Silahkan isi form berikut ini : "; $form->displayForm(); echo " "; ?> PBO DALAM PHP File Name : Class-12.php

CREATE TABLE user( user_id varchar(50), nama varchar(100), password varchar(50), tipe varchar(20), PRIMARY KEY (`user_id`) ); CREATE TABLE wisata ( id_wisata tinyint(10) NOT NULL auto_increment, nama_wisata char(150), alamat char(150), lat char(65), lng char(50), gambar char(45), PRIMARY KEY ( id_wisata ) ); INSERT INTO user VALUES ('admin', 'Administrator', 'soe165upi', 'USER'); INSERT INTO wisata VALUES (1, 'Pantai Padang', 'Padang', 'Test-1', 'Ind', 'padang1.jpg'), (2, 'Pantai Kata', 'Pariaman', 'Test-2', 'Ind', 'padang2.jpg'), (3, 'Pantai Air Manih', 'Padang', 'Padang Timur', 'English', 'pgtmr.gif'); STUDI KASUS OOP

<? class Product { public $name=''; public $price=0; public $qty=0; protected $discount=0; function __construct($productName, $price, $qty){ $this->name = $productName; $this->price = $price; $this->qty = $qty; } function getDiscount(){ return $this->discount; //cara mengakses properti dari sebuah method } function getPrice(){ $price = $this->price - ($this->price * $this->getDiscount()); return $price; } function setDiscount($discount){ $this->discount = $discount; // cara men-setting nilai properti dari method } ?> STUDI KASUS OOP PADA PHP <? include "Class-1.php"; $product = new Product('Buku Belajar PHP Object', 99.5,10); echo 'Product Name : '.$product->name.' Price : '; //output 'Buku Belajar PHP Object' bukan 'default product name' echo $product->getPrice().' '; //output '99.5' bukan '0' echo 'Quntity : '.$product->qty; $nilai=$product->qty*$product->price; echo ' Nilai Jual : '.$nilai; ?> Nama File : Class-1.php Nama File : Class-2.php

STUDI KASUS OOP PADA PHP <? class Form { var $fields = array(); var $action; var $submit = "Submit Form"; var $jumField = 0; function __construct($action, $submit) { $this->action = $action; $this->submit = $submit; } function displayForm() { echo " action."' method='POST'>"; echo " "; for ($j=0; $j fields); $j++) { echo " ".$this-> fields[$j]['label']." "; echo " fields[$j]['name']."'> "; } echo " "; echo " submit."'> "; echo " "; } function addField($name, $label) { $this->fields [$this->jumField]['name'] = $name; $this->fields [$this->jumField]['label'] = $label; $this->jumField ++; } ?> Nama File : Class-3.php

STUDI KASUS OOP PADA PHP <?php include “Class-3.php"; echo " Mahasiswa "; $form = new Form ("","Input Form"); $form->addField ("txtnim", "Nim"); $form->addField ("txtnama", "Nama"); $form->addField ("txtalamat", "Alamat"); $form->addField ("txttelp", "Telp."); echo " Silahkan isi form berikut ini : "; $form->displayForm(); echo " "; ?> Nama File : Class-4.php

STUDI KASUS OOP PADA PHP <? class Mobil { public $warna=''; public $merk=''; protected $harga=0; function __construct() { $this->warna = "Biru"; $this->merk = "BMW"; $this->harga = " "; } function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru; } function tampilWarna () { echo "Warna mobilnya : ". $this->warna; } ?> <? Include “Class-5.php”; $a = new Mobil(); $b = new Mobil(); echo " Mobil pertama "; $a->tampilWarna(); echo " Mobil pertama ganti warna "; $a->gantiWarna("Merah"); $a->tampilWarna(); echo " Mobil kedua "; $b->gantiWarna("Hijau"); $b->tampilWarna(); ?> Nama File : Class-5.php Nama File : Class-6.php

STUDI KASUS OOP PADA PHP <?php class Orang { var $nama=''; var $umur=''; var $kota=''; function set_nama($new_nama){ return $this->nama=$new_nama; } function set_umur($new_umur){ return $this->umur=$new_umur; } function set_kota($new_kota) { return $this->kota=$new_kota; } function show_identitas(){ echo 'Nama : '.$this->nama.' '; echo 'Umur : '.$this->umur.' '; echo 'Kota : '.$this->kota; } } ?> <? Include “Class-7.php”: $soe = new Orang; $ soe ->set_nama(‘Sumijan'); $ soe ->set_umur(‘48 tahun'); $ soe ->set_kota(‘Nganjuk'); $ soe ->show_identitas(); ?> Nama File : Class-7.php Nama File : Class-8.php

CREATE TABLE matakuliah ( kode_mk char(10), nama_mk char(65), sks int(11), semester int(11), PRIMARY KEY (kode_mk) ) ENGINE=MyISAM; INSERT INTO matakuliah (kode_mk, nama_mk, sks, semester) VALUES ('KKI721001', 'Pendidikan Karakter', 2, 7), ('KKI721002', 'Pendidikan Agama', 2, 7), ('KKI721003', 'Pendidikan Kwarganegaraan', 2, 7), ('KKI721004', 'Kewirausahaan', 2, 7), ('KKI721005', 'Bahasa Indonesia', 2, 7), ('KKI731006', 'Aplikasi Basis Data Server', 2, 7), ('KKI731007', 'Pemrograman Orientasi Obyek', 2, 7), ('KKI721008', 'Bahasa Inggris', 2, 7), ('KKI731009', 'Sistem Database', 2, 7), ('KKI731010', 'Dasar Pemrograman', 2, 7), ('KKI721011', 'Workshop Application Internet', 2, 5); STUDI KASUS OOP PADA PHP Script Tabel Matakuliah Nama Database : dbsisfo

include "koneksi.php"; $menu=$_REQUEST['menu']; switch ($menu) { case "simpan_data": $simpan- >simpan_data($kode,$nama,$sks,$semester); break; default: $form_data->tambah_daftar(); echo " "; $form_data->tampil_data(); } ?> Tabel Data Akademik <?php ini_set('display_errors',0); include "form_data.php"; $form_data=new form_data(); //kelas yang ada pada file form_data.php include "simpan_database.php"; $simpan=new Simpan(); <?php mysql_connect("localhost","root",""); // sesuaikan dengan web server anda mysql_select_db("dbsisfo"); ?> Nama File : index.php Nama File : koneksi.php

<?php class form_data{ function tambah_daftar() { ?> Input Data Mata Kuliah Kode Mata Kuliah Nama Mata Kuliah Nama File form_data.php

Jumlah SKS Semester <?php } Lanjutan form_data.php

<?php $s=mysql_query("select * from matakuliah order by kode_mk asc"); while($r=mysql_fetch_array($s)) { echo " "; echo " ".$r['kode_mk']." "; echo " ".$r['nama_mk']." "; echo " ".$r['sks']." "; echo " ".$r['semester']." "; echo " "; } ?> <?php } ?> function tampil_data() { ?> Kode MK Nama MK SKS Semester Lanjutan form_data.php

<?php $kode=$_REQUEST['kode']; $nama=$_REQUEST['nama']; $sks=$_REQUEST['sks']; $semester=$_REQUEST['semester']; class simpan{ function simpan_data($kode,$nama,$sks,$semester){ //memvalidasi apakah data tersebut sudah ada atau belum $validasi=mysql_query("select kode_mk from matakuliah where kode_mk='$kode'"); if(mysql_num_rows($validasi)>0){ echo " alert('Kode Mata kuliah sudah ada'); location.href='index.php'; \n"; exit(0); } Nama File : simpan_database.php

//validasi inputan supaya data yang dimasukkan tidak kosong if(((!$kode)||(!$nama)||(!$sks)||(!$semester))){ echo " alert('Data Tidak Boleh Kosong'); location.href='index.php'; \n"; } else{ echo " alert('kode Mk = $kode | Nama Makul = $nama Sudah Tersimpan'); \n"; $hasil=mysql_query("insert into matakuliah (kode_mk,nama_mk,sks,semester) values('$kode','$nama','$sks','$semester')"); echo " location.href='index.php'; \n"; } ?> Lanjuatan.. simpan_database.php

HASIL PROGRAM SETELAH DI BROSHING

Nama File : Config.ini ;database configuration dbhost="localhost" dbuser="root" dbpassword="" dbname="test"

<?php class Config { protected static $_config = array(); public static function getConfig($key){ if(!self::$_config){ $filename = dirname(__FILE__).DIRECTORY_SEPARATOR.'config.ini'; $config = parse_ini_file($filename); if(false === $config){ throw new Exception('Gagal membaca file konfigurasi'); } self::$_config = $config; } if(isset(self::$_config[$key])){ return self::$_config[$key]; } ?> Nama File : Config.php

<?php include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'Config.php'; class Connect { protected static $_connection; public static function getConnection(){ if(!self::$_connection){ $dbhost = Config::getConfig('dbhost'); $dbuser = Config::getConfig('dbuser'); $dbpassword = Config::getConfig('dbpassword'); $dbname = Config::getConfig('dbname'); self::$_connection $dbuser, $dbpassword); if(!self::$_connection){ throw new Exception('Gagal melalukan koneksi ke database. '.mysql_error()); } $result self::$_connection); if(!$result){ throw new Exception('Koneksi gagal: '.mysql_error()); } return self::$_connection; } public static function close(){ if(self::$_connection){ mysql_close(self::$_connection); } ?> Nama File : Connect1.php

<?php include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'Connect1.php'; class Table { protected $_tableName; function __construct($tableName){ $this->_tableName = $tableName; } public function connect(){ return Connect::getConnection(); } public function close(){ Connect::close(); } function save(array $data){ $sql = "INSERT INTO `".$this->_tableName."` SET"; foreach($data as $field => $value){ $sql.= " `".$field."`='".mysql_real_escape_string($value, Connect::getConnection())."',"; } $sql = rtrim($sql, ','); $result = mysql_query($sql, Connect::getConnection()); if(!$result){ throw new Exception('Gagal menyimpan data ke table '.$this->_tableName.': '.mysql_error()); } Nama File : Table.php

function update(array $data, $where = ''){ $sql = "UPDATE `".$this->_tableName."` SET"; foreach($data as $field => $value){ $sql.= " `".$field."`='".mysql_real_escape_string($value, Connect::getConnection())."',"; } $sql = rtrim($sql, ','); if($where){ $sql.= " WHERE ".$where; } $result = mysql_query($sql, Connect::getConnection()); if(!$result){ throw new Exception('Gagal mengupdate data table '.$this->_tableName.': '.mysql_error()); } function delete($where = ''){ $sql = "DELETE FROM `".$this->_tableName."`"; if($where){ $sql.= " WHERE ".$where; } $result = mysql_query($sql, Connect::getConnection()); if(!$result){ throw new Exception('Gagal menghapus data dari table '.$this->_tableName.': '.mysql_error()); } Lanjutan Nama File : Table.php

function findAll(){ include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'Select.php'; $sql = "SELECT * FROM `".$this->_tableName."`"; return new Select($sql); } function findBy($field, $value){ include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'Select.php'; $sql = "SELECT * FROM `".$this->_tableName."`"; $sql.=" WHERE `".$field."`='".mysql_real_escape_string($value,Connect::getConnection())."'"; return new Select($sql); } ?> Lanjutan Nama File : Table.php

<?php include_once dirname(__FILE__).DIRECTORY_SEPARATOR.'Connect1.php'; class Select implements Iterator{ protected $_query; protected $_sql; protected $_pointer = 0; protected $_numResult = 0; protected $_results = array(); function __construct($sql){ $this->_sql = $sql; } function rewind(){ $this->_pointer = 0; } function key(){ return $this->_pointer; } protected function _getQuery(){ if(!$this->_query){ $connection = Connect::getConnection(); $this->_query = mysql_query($this->_sql, $connection); if(!$this->_query){ throw new Exception('Gagal membaca data dari database:'.mysql_error()); } return $this->_query; } Nama File : Select.php

protected function _getNumResult(){ if(!$this->_numResult){ $this->_numResult = mysql_num_rows($this->_getQuery()); } return $this->_numResult; } function valid(){ if($this->_pointer >= 0 && $this->_pointer _getNumResult()){ return true; } return false; } protected function _getRow($pointer){ if(isset($this->_results[$pointer])){ return $this->_results[$pointer]; } $row = mysql_fetch_object($this->_getQuery()); if($row){ $this->_results[$pointer] = $row; } return $row; } Lanjutan Nama File : Select.php

function next(){ $row = $this->_getRow($this->_pointer); if($row){ $this->_pointer ++; } return $row; } function current(){ return $this->_getRow($this->_pointer); } function close(){ mysql_free_result($this->_getQuery()); Connect::close(); } ?> Lanjutan Nama File : Select.php

<? include 'Table.php'; $table = new Table('user'); // user adalah nama tabel $table->connect(); $table->save(array( 'user_id' => 'admin', 'nama' => 'Admin', 'password' => '123456', 'tipe' => 'USER' )); $table->close(); ?> Nama File : Contoh-1.php

Nama File : Contoh-2.php <?php include 'Table.php'; $tabel = new Table('user'); $tabel->connect(); $data = array( 'nama' => 'Administrator', 'password' => 'soe165upi' ); $tabel->update($data, "user_id='admin'"); $tabel->close(); ?>

Nama File : Contoh-3.php <? include 'Table.php'; $tabel = new Table('user'); $tabel->connect(); $table->delete("user_id='admin'"); $table->close(); ?>

Nama File : Contoh-4.php <? $conn = mysql_connect("localhost", "root", ""); mysql_select_db("test", $conn); $sql = "select * from `user`"; $rs = mysql_query($sql); while($user = mysql_fetch_object($rs)){ echo $user->nama.'-'.$user->user_id.'-'.$user->password.'-'.$user->tipe; } ?>

Nama File : Contoh-5.php <?php include_once 'Table.php'; $table = new Table('user'); $users = $table->findAll(); ?> User Id Name Password Type Action user_id;?> nama;?> password?> tipe?>

Nama File : Index.php <?php include_once 'Table.php'; $table = new Table('wisata'); $wisatas = $table->findAll(); ?> DAFTAR WISATA KOTA PADANG Add id wisata nama wisata alamat lat lng gambar Action

id_wisata;?> nama_wisata;?> alamat?> lat?> lng?> gambar?> id_wisata?>">Edit id_wisata?>">Delete Lanjutan Nama File : Index.php

<?php if($_POST){ include_once 'Table.php'; $wisata = new Table('wisata'); try{ $wisata->save(array( 'nama_wisata' => $_POST['nama_wisata'], 'alamat' => $_POST['alamat'], 'lat' => $_POST['lat'], 'lng' => $_POST['lng'], 'gambar' => $_POST['gambar'] )); header("Location: Index.php"); exit; }catch(Exception $e){ echo 'Gagal Menyimpan Wisata'; echo ' Error: '.$e->getMessage(); } ?> Nama Wisata: alamat: lat: lng: Gambar: Nama File : Add.php

<?php include_once 'Table.php'; $wisata = new Table('wisata'); if($_POST){ try{ $data = array( 'nama_wisata' => $_POST['nama_wisata'], 'alamat' => $_POST['alamat'], 'lat' => $_POST['lat'], 'lng' => $_POST['lng'], 'gambar' => $_POST['gambar'] ); $wisata->update($data,"id_wisata='$_POST[id_wisata]'"); header("Location: Index.php"); exit; }catch(Exception $e){ echo 'Gagal Mengedit data Wisata'; echo ' Error: '.$e->getMessage(); } $currentWisata = $wisata->findBy('id_wisata', $_GET['id_wisata']); $currentWisata = $currentWisata->current(); ?> Nama File : Edit.php

Id Wisata: id_wisata?>" readonly="readonly"/> Nama Wisata: nama_wisata?>"/> alamat: alamat?>"/> lat: lat?>"/> lng: lng?>"/> Gambar: gambar?>"/> Lanjutan Nama File : Edit.php

<?php include_once 'Table.php'; $wisata = new Table('wisata'); if($_POST){ try{ $data = array( 'id_wisata' => $_POST['id_wisata'], 'nama_wisata' => $_POST['nama_wisata'], 'alamat' => $_POST['alamat'], 'lat' => $_POST['lat'], 'lng' => $_POST['lng'], 'gambar' => $_POST['gambar'] ); //$tabel->update($data, "user_id='admin'"); $wisata->delete("id_wisata='$id_wisata'"); header("Location: Index.php"); exit; }catch(Exception $e){ echo 'Gagal Menghapus data Wisata'; echo ' Error: '.$e->getMessage(); } Nama File : Delete.php

$currentWisata = $wisata->findBy('id_wisata', $_GET['id_wisata']); $currentWisata = $currentWisata->current(); ?> Id Wisata: id_wisata?>" readonly="readonly"/> Nama Wisata: nama_wisata?>"/> alamat: alamat?>"/> lat: lat?>"/> lng: lng?>"/> Gambar: gambar?>"/> Lanjutan Nama File : Delete.php

HASIL EKSEKUSI PROGRAM