Showing posts with label OOP. Show all posts
Showing posts with label OOP. Show all posts

Sunday, February 19, 2017

Mudah Membuat Crud Dengan PHP OPP

View Article
Hello SahabatLapakcode yang berbahagia , saya akan mencoba membahas tentang CRUD. pada sebelumnya beberapa minggu yang lalu saya sudah membuat Artikel tentang CRUD PHP NATIVE.  terus gimana dan apa sih PHP OOP itu  




Dalam pengertian sederhananya, OOP adalah konsep pembuatan program dengan memecah permasalahan program dengan menggunakan objek. Objek dapat diumpamakan dengan ‘fungsi khusus’ yang bisa berdiri sendiri. Untuk membuat sebuah aplikasi, berbagai objek akan saling bertukar data untuk mencapai hasil akhir.
Berbeda dengan konsep fungsi atau ‘function’ di dalam pemrograman, sebuah objek bisa memiliki data dan function tersendiri. Setiap objek ditujukan untuk mengerjakan sebuah tugas, dan menghasilkan nilai akhir untuk selanjutnya dapat ditampilkan atau digunakan oleh objek lain. 

untuk itu saya akan share cara membuat crud sederhana menggunkan php oop . di artikel pembahasanya sangat meluas dan mudah dipahami ya . ok langsung saja pada pembahasan Langkah pertama yang harus dilakukan untuk membuat aplikasi CRUD PHP OOP Database

Kalian harus membuat database baru " Terserah kalian nama databasenya apaan " , suatu contoh saya akan membuat database yang bernama " crud_oop " . lihat pada gambar dibawah ini , ini ada lah struktur tabel nya .

dan untuk source databasenya mungkin kalian bisa langsung copykan ke SQL di phpmyadmin ya biar Cepat


Source database

kalian bisa langsung import saja ya source database dibawah ini .
-- phpMyAdmin SQL Dump
-- version 4.5.1
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Generation Time: Feb 19, 2017 at 04:40 AM
-- Server version: 10.1.19-MariaDB
-- PHP Version: 5.5.38

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;

--
-- Database: `crud_oop`
--

-- --------------------------------------------------------

--
-- Table structure for table `user`
--

CREATE TABLE `user` (
  `id` int(11) NOT NULL,
  `nama` varchar(100) NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `usia` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Dumping data for table `user`
--

INSERT INTO `user` (`id`, `nama`, `alamat`, `usia`) VALUES
(3, 'Bagus Dwiky Wicaksono', 'Nganjuk', 17);

--
-- Indexes for dumped tables
--

--
-- Indexes for table `user`
--
ALTER TABLE `user`
  ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT for dumped tables
--

--
-- AUTO_INCREMENT for table `user`
--
ALTER TABLE `user`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;





















Langkah selanjutnya  adalah membuat koneksi untuk menghubungkan  database ke aplikasi dengan konsep OOP
<?php 

class database{

 var $host = "localhost";
 var $uname = "root";
 var $pass = "";
 var $db = "crud_oop";

 function __construct(){
  mysql_connect($this->host, $this->uname, $this->pass);
  mysql_select_db($this->db);
 }
 
} 

?

sampai di sini kita telah berhasil membuat koneksi database dengan php. silahkan teman-teman sesuaikan sendiri username dan password mysql nya. serta nama database yang teman-teman gunakan. karena di contoh tutorial crud oop php ini saya menggunakan database malasngoding. jadi saya isi dengan nama malasngoding. temna-teman bisa menyesuaikannya.Membuat CRUD Dengan OOP PHP Dan MySQL.
Setelah selesai membuat koneksi database dan php dengan cara oop. selanjutnya kita akan langsung mulai membuat CRUD dengan OOP PHP. di mulai dari menampilkan data dari database dengan OOP PHP.

Menampilkan Data Dari Database Dengan PHP OOP

Untuk mulai membuat Crud dengan PHP dan mysql menggunakan konsep OOP langsung saja. buat sebuah file dengan nama tampil.php. di file tampil.php ini kita akan menampilkan data dari database ke dalam table.


Berinama "tampil.php".
<?php 
include 'database.php';
$db = new database();
?>
<h2><u>CRUD SEDERHANA VERSI LAPAKCODE.NET</u></h2>

<a href="input.php"><input type="submit" value="tambah data"></a>
<table border="1">
 <tr>
  <th>No</th>
  <th>Nama</th>
  <th>Alamat</th>
  <th>Usia</th>
  <th>Opsi</th>
 </tr>
 <?php
 $no = 1;
 foreach($db->tampil_data() as $x){
 ?>
 <tr>
  <td><?php echo $no++; ?></td>
  <td><?php echo $x['nama']; ?></td>
  <td><?php echo $x['alamat']; ?></td>
  <td><?php echo $x['usia']; ?></td>
  <td>
   <a href="edit.php?id=<?php echo $x['id']; ?>&aksi=edit">Edit</a>
   <a href="proses.php?id=<?php echo $x['id']; ?>&aksi=hapus">Hapus</a>   
  </td>
 </tr>
 <?php 
 }
 ?>
</table>




Perhatikan syntak di atas 
<?php 
include 'database.php';
$db = new database();
?>

kita menginstansiasi object pada class database. karena kita akan membuat method pada class database untunk menampilkan data dari database. Membuat CRUD Dengan OOP PHP Dan MySQL.

buat method tampil_data pada class database.
function tampil_data(){
  $data = mysql_query("select * from user");
  while($d = mysql_fetch_array($data)){
   $hasil[] = $d;
  }
  return $hasil;

 }


di sini kita mengambil data dari database dengan fungsi mysql_query(). dengan query “select * from user”. dan kemudian kita kembalikan nilai nya dengan me-return variabel hasil dari query.

*isi lengkap dari class database 

<?php 

class database{

 var $host = "localhost";
 var $uname = "root";
 var $pass = "";
 var $db = "crud_oop";

 function __construct(){
  mysql_connect($this->host, $this->uname, $this->pass);
  mysql_select_db($this->db);
 }

 function tampil_data(){
  $data = mysql_query("select * from user");
  while($d = mysql_fetch_array($data)){
   $hasil[] = $d;
  }
  return $hasil;

 }

 function input($nama,$alamat,$usia){
  mysql_query("insert into user values('','$nama','$alamat','$usia')");
 }

 function hapus($id){
  mysql_query("delete from user where id='$id'");
 }

 function edit($id){
  $data = mysql_query("select * from user where id='$id'");
  while($d = mysql_fetch_array($data)){
   $hasil[] = $d;
  }
  return $hasil;
 }

 function update($id,$nama,$alamat,$usia){
  mysql_query("update user set nama='$nama', alamat='$alamat', usia='$usia' where id='$id'");
 }

} 

?>
Dan menampilkannya dengan tampil.php


<?php 
include 'database.php';
$db = new database();
?>
<h2><u>CRUD SEDERHANA VERSI LAPAKCODE.NET</u></h2>

<a href="input.php"><input type="submit" value="tambah data"></a>
<table border="1">
 <tr>
  <th>No</th>
  <th>Nama</th>
  <th>Alamat</th>
  <th>Usia</th>
  <th>Opsi</th>
 </tr>
 <?php
 $no = 1;
 foreach($db->tampil_data() as $x){
 ?>
 <tr>
  <td><?php echo $no++; ?></td>
  <td><?php echo $x['nama']; ?></td>
  <td><?php echo $x['alamat']; ?></td>
  <td><?php echo $x['usia']; ?></td>
  <td>
   <a href="edit.php?id=<?php echo $x['id']; ?>&aksi=edit">Edit</a>
   <a href="proses.php?id=<?php echo $x['id']; ?>&aksi=hapus">Hapus</a>   
  </td>
 </tr>
 <?php 
 }
 ?>
</table>



Sekarang Coba di jalankan di webbrouser kalian dan hasilnya akan seperti dibawah ini.


Selanjutnya kita akan membuat form  edit dengan konsep OOP.

edit.php


<?php 
include 'database.php';
$db = new database();
?>
<h2><u>CRUD SEDERHANA VERSI LAPAKCODE.NET</u></h2>
<h3>Edit Data User</h3>

<form action="proses.php?aksi=update" method="post">
<?php
foreach($db->edit($_GET['id']) as $d){
?>
<table>
 <tr>
  <td>Nama</td>
  <td>
   <input type="hidden" name="id" value="<?php echo $d['id'] ?>">
   <input type="text" name="nama" value="<?php echo $d['nama'] ?>">
  </td>
 </tr>
 <tr>
  <td>Alamat</td>
  <td><input type="text" name="alamat" value="<?php echo $d['alamat'] ?>"></td>
 </tr>
 <tr>
  <td>Usia</td>
  <td><input type="text" name="usia" value="<?php echo $d['usia'] ?>"></td>
 </tr>
 <tr>
  <td></td>
  <td><input type="submit" value="Simpan"></td>
 </tr>
</table>
<?php } ?>
</form>

hasilnya seperti yang di bawah ini



Semua Perintah- perintah di atas semua prosesnya berada dalam file proses.php  
<?php 
include 'database.php';
$db = new database();

$aksi = $_GET['aksi'];
 if($aksi == "tambah"){
  $db->input($_POST['nama'],$_POST['alamat'],$_POST['usia']);
  header("location:tampil.php");
 }elseif($aksi == "hapus"){  
  $db->hapus($_GET['id']);
 header("location:tampil.php");
 }elseif($aksi == "update"){
  $db->update($_POST['id'],$_POST['nama'],$_POST['alamat'],$_POST['usia']);
  header("location:tampil.php");
 }
?>


Itulah tutorial singkat membuat crud dengan konsep OOP , teruslah belajar   dan kalian bisa langsung download source codenya  sudah jadi di bawah ini.

Saturday, February 4, 2017

Tips Ampuh Menguasai OOP Dengan PHP

View Article
Konsep dari Object Oriented Programming (OOP) sendiri adalah lebih dari sekedar sebuah konsep pemrograman, dimana cara berpikir tentang aplikasi yang mempelajari untuk memandang bahwa aplikasi bukan sekedar prosedur melainkan sebagai objek dan real entity. Objek yang dimaksud disini memiliki pengertian suatu modul yang mengkombinasikan antara data dan kode program yang bekerja sama dalam program dengan melewatkan proses satu sama lain. Jadi, OOP merupakan cara yang paling efisien untuk menulis program komputer yang sangat mudah untuk dikombinasikan dan untuk dipergunakan kembali.

OOP lebih memfokuskan kepada manipulasi object. Kenapa seorang programmer harus mempelajari OOP, bahkan seorang programmer yang tidak pernah bekerja dengan OOP pun harus mempelajarinya juga. Hal ini dikarenakan, suatu saat nanti semua bahasa pemrograman akan menambahkan kemampuan OOP pada bahasanya.
Selanjutnya, kita akan melihat beberapa konsep dasar umum yang biasanya terdapat pada semua bahasa pemrograman yang mendukung OOP:
Objek
Secara sederhana, Objek merupakan segala sesuatu yang dapat dibedakan satu sama lainnya. Segala sesuatu yang ada di alam semesta ini adalah Objek. Contohnya: manusia, mobil, hewan, tumbuhan, tempat, atau bahkan yang tidak bersifat fisik seperti kejadian atau konsep-konsep. Sehingga bisa disimpulkan bahwa Objek tidak harus bersifat fisik, karena jika dikaitkan dengan OOP, Objek akan menjadi bentuk logis.
Dalam bahasa teoretis OOP, Objek berfungsi untuk membungkus data dan fungsi bersama menjadi satu unit dalam sebuah program komputer. Objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer yang berorientasi pada objek.
Setiap Objek memiliki dua ciri khas, yaitu Atribut/Properti (data  merupakan ciri-ciri Objek) dan Method/Behavior. Untuk lebih jelasnya, silahkan lihat ilustrasinya pada gambar berikut:
Class 
Definisi Class yaitu template untuk membuat Objek. Class merupakan prototipe atau blue print yang mendefinisikan variabel-variabel dan method-method secara umum. Objek merupakan hasil instances dari suatu Class. Proses pembentukan objek dari suatu Class disebut sebagai instances. Objek disebut juga sebagai instances.
Dalam bahasa teoritis OOP, Class merupakan kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh class of dog adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Untuk lebih jelasnya, silahkan lihat ilustrasi pada gambar berikut:
Properti
Properti atau Atribut adalah data yang membedakan antara objek satu dengan yang lainnya. Contohnya seperti pada gambar 1.2 terdapat Objek manusia yang memiliki Atribut tinggi, umur dan berat. 
Dalam Class, Atribut sering disebut sebagai Variabel. Atribut dibedakan menjadi dua jenis, yaitu Instance Variable dan Class Variable.
Instance Variable adalah Atribut untuk setiap Objek dari Class yang sama. Setiap objek mempunyai dan menyimpan nilai Atributnya sendiri. Jadi, setiap Objek dari Class yang sama boleh mempunyai nilai yang sama atau berbeda.
Class Variable adalah Atribut untuk semua Objek yang dibuat dari Class yang sama. Semua Objek mempunyai nilai atribut yang sama. Jadi, semua Objek dari Class yang sama mempunyai hanya satu nilai yang isinya sama.
Method 
Behavior atau tingkah laku adalah hal-hal yang bisa dilakukan oleh Objek dari suatu Class. Behavior dapat digunakan untuk mengubah nilai Atribut suatu Objek, menerima informasi dari Objek lain, dan mengirim informasi ke Objek lain untuk melakukan suatu tugas (task). Contohnya seperti pada gambar diatas terdapat Objek manusia memiliki Behavior/Method jalan, lari, lompat, marah dan sebagainya.
Dalam Class, Behavior disebut juga sebagai Method. Method sendiri adalah serangkaian pernyataan dalam suatu Class yang menghandle suatu task tertentu. Cara Objek berkomunikasi dengan Objek yang lain dengan menggunakan Method.
Encapsulation (Pembungkusan)
Salah satu ciri penting OOP adalah Encapsulaption. Definisi Encapsulation secara teoritis adalah pembungkusan variabel dan method dalam sebuah obyek yang terlindungi serta menyediakan interface untuk mengakses variabel tersebut. Variabel dan method yang dimiliki oleh suatu objek, bisa ditentukan hak aksesnya. 
Sebagai contoh jam tangan. Dalam hal ini, penting sekali untuk mengetahui waktu, sedangkan cara jam mencatat waktu dengan baik antara jam bertenaga baterai atau bertenaga gerak tidaklah penting untuk kita ketahui. 
Contoh lain, dalam mengendarai motor misalnya, pengendara hanya perlu mengetahui cara mengoper gigi, tanpa perlu tahu bagaimana mesin bergerak berdasarkan operan giginya. 
Dengan kata lain, enkapsulasi berfungsi untuk memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam/dari sebuah objek dengan cara yang tidak layak; hanya method dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.
Inheritance (Pewarisan)
Inheritance merupakan pewarisan atribut dan method dari sebuah class ke class lainnya. Class yang mewarisi disebut superclass dan Class yang diwarisi disebut subclass. Subclass bisa berlaku sebagai superclass bagi class lainya, disebut sebagai multilevel inheritance.
Sebagai contoh terdapat class mobil sport dan mobil minibus . Mobil termasuk superclass.  Mobil sport dan mobil minibus termasuk subclass. Hal ini dikarenakan mobil sport dan mobil minibus memiliki variabel dan method yang dimiliki oleh class mobil, yaitu sama-sama memiliki variabel/properti nomor kendaraan, nomor mesin dan memiliki memiliki method bisa berjalan, berbelok, mengerem.
Prinsip dasar inheritance yaitu persamaan-persamaan yang dimiliki oleh beberapa class dapat digabungkan dalam sebuah class induk sehingga setiap kelas yang diturunkannya memuat hal-hal yang spesifik untuk class yang bersangkutan. Secara singkat bisa diartikan, teknik yang menyatakan bahwa anak dari objek akan mewarisi data/atribut dan metode dari induknya langsung.
Polimorfisme
Polimorfisme adalah kemampuan suatu objek untuk mempunyai lebih dari satu bentuk. Polimorfisme tidak bergantung kepada pemanggilan subrutin. Metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tunggal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Polimorfisme bisa juga diartikan sebagai aksi yang sama yang dapat dilakukan terhadap beberapa Objek. Polimorfisme berarti bahwa operasi yang sama mungkin mempunyai perbedaan dalam Class yang berbeda.
Sekian Dulu Dari tutorial kali ini masih banyak lagi tutorial yang ampuh untuk belajar anda , terus kunjungi lapakcode Terima kasih