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">

Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ UPI CONVENTION CENTER [UPI-CC] UNIVERSITAS PUTRA INDONESIA “ YPTK “ PADANG, 08 Agustus."— Transcript presentasi:

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

2 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.

3 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

4 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

5 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

6 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.

7 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

8 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

9 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

10 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

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

12 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

13 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

14 get_name(); ?> PBO DALAM PHP File Name : Class-5.php

15 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

16 get_name(); echo "Tell me private stuff: ". $stefan->$pinn_number; ?> PBO DALAM PHP File Name : Class-7.php

17 } // '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); } ?> 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

18 tampilWarna(); echo " Mobil pertama ganti warna "; $a->gantiWarna("Merah"); $a->tampilWarna(); echo " Mobil kedua "; $b->gantiWarna("Hijau"); $b->tampilWarna(); ?> 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

19 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 ++; } ?> 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

20 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

21 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

22 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 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

23 STUDI KASUS OOP PADA PHP 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

24 STUDI KASUS OOP PADA PHP 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

25 STUDI KASUS OOP PADA PHP warna = "Biru"; $this->merk = "BMW"; $this->harga = " "; } function gantiWarna ($warnaBaru) { $this->warna = $warnaBaru; } function tampilWarna () { echo "Warna mobilnya : ". $this->warna; } ?> 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

26 STUDI KASUS OOP PADA PHP 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; } } ?> 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

27 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

28 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 Nama File : index.php Nama File : koneksi.php

29 Input Data Mata Kuliah Kode Mata Kuliah Nama Mata Kuliah Nama File form_data.php

30 Jumlah SKS Semester

31 function tampil_data() { ?> Kode MK Nama MK SKS Semester Lanjutan form_data.php

32 0){ echo " alert('Kode Mata kuliah sudah ada'); location.href='index.php'; \n"; exit(0); } Nama File : simpan_database.php

33 //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

34 HASIL PROGRAM SETELAH DI BROSHING

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

36 Nama File : Config.php

37 Nama File : Connect1.php

38 _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

39 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

40 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

41 _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

42 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

43 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

44 connect(); $table->save(array( 'user_id' => 'admin', 'nama' => 'Admin', 'password' => '123456', 'tipe' => 'USER' )); $table->close(); ?> Nama File : Contoh-1.php

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

46 Nama File : Contoh-3.php connect(); $table->delete("user_id='admin'"); $table->close(); ?>

47 Nama File : Contoh-4.php nama.'-'.$user->user_id.'-'.$user->password.'-'.$user->tipe; } ?>

48 Nama File : Contoh-5.php findAll(); ?> User Id Name Password Type Action user_id;?> nama;?> password?> tipe?>

49 Nama File : Index.php findAll(); ?> DAFTAR WISATA KOTA PADANG Add id wisata nama wisata alamat lat lng gambar Action

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

51 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

52 $_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

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

54 $_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

55 $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

56 HASIL EKSEKUSI PROGRAM


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

Presentasi serupa


Iklan oleh Google