Monday, March 6, 2017

Membuat CRUD Dengan PHP OOP dan MYSQL

Membuat CRUD Dengan PHP OOP dan MYSQL

Assalamu alaikum Wr Wb.
Dalam pertemuan kali ini, saya akan membahas mengenai membuat CRUD dengan PHP OOP dan MYSQL.

PENGERTIAN
Dalam pemrograman komputer, membuat, membaca, memperbarui dan menghapus (sebagai CRUD akronim) adalah empat fungsi dasar dari penyimpanan persisten. kata alternatif kadang-kadang digunakan ketika mendefinisikan empat fungsi dasar CRUD, mengambil alih-alih membaca, memodifikasi bukan pembaruan, atau menghancurkan bukan delete. CRUD juga kadang-kadang digunakan untuk menggambarkan konvensi antarmuka pengguna yang memfasilitasi melihat, mencari, dan mengubah informasi; sering menggunakan bentuk berbasis komputer dan laporan.

PHP : Hypertext Preprocessor adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML.
Pemrograman Berorientasi Objek (Object-Oriented Programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek.

LATAR BELAKANG
Membuat sebuah aplikasi yang dapat memanfaatkan CRUD ini.

MAKSUD DAN TUJUAN
Maksud saya membahas hal ini adalah agar sewaktu-waktu dalam membuat sebuah aplikasi bisa menerapkan aplikasi ini dalam pembuatannya.

ALAT DAN BAHAN
1. PC / Laptop / Notebook
2. Web Server (LAMP SERVER)
3. Web Browser (Mozilla Firefox)
4. Text Editor (Sublime Text)
5. PHP 7

JANGKA WAKTU PELAKSANAAN
Untuk membuat CRUD dengan PHP OOP ini membutuhkan waktu kira-kira +-20 menit.

LANGKAH-LANGKAH
Sebelum menuju ke langkahnya, mengapa disini saya menggunakan PHP v 7 karena di saat penulisan nanti yang kita pakai adalah MYSQLi extension. Sebab, PHP 7 sudah tidak menggunakan lagi MYSQL extension, tapi versi di bawahnya yang bisa menggunakan MYSQL extension.

1. Buat Database Baru
Kita buat database baru dengan nama 'buku'. Karena di database inilah nantinya kita akan menyimpan data CRUD. Kemudian buat tabel dengan nama 'buku', dan strukturnya seperti ini.


Dan isi data tabel seperti ini .


2. Menghubungkan MySQL dan PHP dengan konsep OOP

Buat sebuah file dengan nama koneksi.php

koneksi.php
<?php 

class database{
    var $host = "localhost";
    var $user = "root";
    var $pass = "password";
    var $db   = "buku";
    function __construct(){
        $this->dbn = mysqli_connect($this->host,$this->user,$this->pass,$this->db);
    }
    function tampil_data(){
        $data = mysqli_query($this->dbn,"SELECT * FROM buku ORDER BY id DESC");
        while($d = mysqli_fetch_array($data)){
            $hasil[] = $d;
        }
        return $hasil;
    }
    function tambah($judul,$pengarang,$penerbit){
        mysqli_query($this->dbn,"INSERT INTO buku(`id`,`judul`,`pengarang`,`penerbit`) VALUES(NULL,'$judul','$pengarang','$penerbit')");
    }
    function hapus($id){
        mysqli_query($this->dbn,"DELETE FROM buku WHERE id='$id'");
    }
    function edit($id){
        $data = mysqli_query($this->dbn,"SELECT * FROM buku WHERE id='$id'");
        while($d = mysqli_fetch_array($data)){
            $hasil[] = $d;
        }
        return $hasil;
    }
    function update($id,$judul,$pengarang,$penerbit){
        mysqli_query($this->dbn,"UPDATE buku SET judul='$judul', pengarang='$pengarang', penerbit='$penerbit' WHERE id='$id'");
    }
}

?>

Silahkan sesuaikan username dan password mysql-nya.

3. Menampilkan Data Dari Database Dengan PHP OOP

Buat sebuah file dengan nama index.php. Di file index.php ini kita akan menampilkan data dari database ke dalam tabel.

index.php
<?php
include 'koneksi.php';
$db = new database();
?>
<h1>CRUD OOP PHP</h1>
<h3>Data User</h3>

<a href="tambah.php">Tambah Data</a>
<table border="1">
    <tr>
        <th>No</th>
        <th>Judul</th>
        <th>Pengarang</th>
        <th>Penerbit</th>
        <th>Opsi</th>
    </tr>
    <?php
    $no = 1;
    foreach($db->tampil_data() as $x){
    ?>
    <tr>
        <td><?= $no++; ?></td>
        <td><?= $x['judul']; ?></td>
        <td><?= $x['pengarang']; ?></td>
        <td><?= $x['penerbit']; ?></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>

Selanjutnya buka di browser
localhost/crud_oop/index.php


4. Membuat Form Input

Buat sebuah file dengan nama tambah.php

tambah.php

<h1>CRUD OOP PHP</h1>
<h3>Tambah Data User</h3>

<form action="proses.php?aksi=tambah" method="post">
   
<table>
    <tr>
        <td>Judul</td>
        <td><input type="text" name="judul"></td>
    </tr>
    <tr>
        <td>Pengarang</td>
        <td><input type="text" name="pengarang"></td>
    </tr>
    <tr>
        <td>Penerbit</td>
        <td><input type="text" name="penerbit"></td>
    </tr>
    <tr>
        <td></td>
        <td><input type="submit" value="Simpan"></td>
    </tr>
</table>
</form>

Berikut tampilan tambah.php setelah di buka di browser .

Kemudian buat file baru dengan nama proses.php

proses.php
<?php 

include'koneksi.php';
$db = new database();

$aksi = $_GET['aksi'];
if($aksi == "tambah"){
    $judul = $_POST['judul'];
    $pengarang = $_POST['pengarang'];
    $penerbit = $_POST['penerbit'];
    $db->tambah($judul,$pengarang,$penerbit);
    header("Location: index.php");
}else if($aksi == "hapus"){
    $db->hapus($_GET['id']);
    header("Location: index.php");
}else if($aksi == "update"){
    $db->update($_POST['id'],$_POST['judul'],$_POST['pengarang'],$_POST['penerbit']);
    header("Location: index.php");
}

?>

Setelah di simpan akan bertambah datanya.

5. Menghapus Data Dari Database Dengan Konsep PHP OOP

Dengan menambahkan script ini pada proses.php
else if($aksi == "hapus"){
    $db->hapus($_GET['id']);
    header("Location: index.php");
}

Dan menambahkan script ini pada koneksi.php
function hapus($id){
        mysqli_query($this->dbn,"DELETE FROM buku WHERE id='$id'");
    }


Setelah di buka di browser akan muncul seperti ini dan klik hapus akan menjadi seperti ini.

6. Membuat Edit / Update Data dengan Konsep PHP OOP dan MySQL

Buat sebuah file dengan nama edit.php

edit.php
<?php 

include'koneksi.php';
$db = new database();

?>

<h1>CRUD OOP PHP</h1>
<h3>Edit Data Buku</h3>

<form action="proses.php?aksi=update" method="post"<?php 
    foreach ($db->edit($_GET['id']) as $d) {
?>
<table>
        <tr>
            <td>Judul</td>
            <td>
                <input type="hidden" name="id" value="<?= $d['id']; ?>">
                <input type="text" name="judul" value="<?= $d['judul']; ?>">
            </td>
        </tr>
        <tr>
            <td>Pengarang</td>
            <td>
                <input type="text" name="pengarang" value="<?= $d['pengarang']; ?>">
            </td>
        </tr>
        <tr>
            <td>Penerbit</td>
            <td>
                <input type="text" name="penerbit" value="<?= $d['penerbit']; ?>">
            </td>
        </tr>
        <tr>
            <td></td>
            <td><input type="submit" value="Simpan"></td>
        </tr>
</table>
<?php } ?>
</form>

Sekian yang dapat saya jelaskan, apabila ada kesalahan dalam pengetikan, tata letak, dll saya minta maaf yang sebesar-besarnya.

Semoga Bermanfaat,

Wassalamu alaikum Wr Wb.

No comments:

Post a Comment