Wednesday, March 8, 2017

Membuat Aplikasi CRUD Dengan PHP OOP Dalam 1 File

Membuat Aplikasi CRUD Dengan PHP OOP Dalam 1 File

Assalamu alaikum Wr Wb.
Dalam pertemuan kali ini, saya akan membahas mengenai mmebuat aplikasi CRUD dengan PHP OOP dalam 1 file.

PENGERTIAN
Dalam pemrograman komputer, membuat, membaca, memperbarui dan menghapus [1] (sebagai CRUD akronim) adalah empat fungsi dasar dari penyimpanan persisten. [2] 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 CRUD yang tidak membutuhkan banyak file dengan PHP OOP.

MAKSUD DAN TUJUAN
Maksud saya membahas hal ini adalah agar kita saat membuat aplikasi crud bisa menghemat waktu dan tidak membutuhkan banyak file.

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
6. Bootstrap
7. Font-Awesome

WAKTU PELAKSANAAN
Untuk membuat CRUD ini membutuhkan waktu kira-kira 40 menit.

LANGKAH-LANGKAH
Sebelum menuju ke langkah pembuatan, akan saya jelaskan sedikit mengenai penggunaanversi PHP. Disini yang saya menggunakan PHP versi 7, karena disini kita akan menggunakan MySQLi Extension. Perbedaan antara MySQL extension dengan MySQLi Extension adalah pada versi PHP-nya. MySQL Extension digunakan pada PHP versi 5 ke bawah. Sedangkan MySQLi Extension digunakan pada PHP versi 7 ke atas.

1. Buat Database Baru

Langkah pertama adalah membuat database baru dengan nama buku.
Kemudian buat tabel baru dengan nama buku, dan strukturnya seperti di bawah ini:

2. Buat CRUD dalam 1 File
Langkah berikutnya adalah membuat CRUD dalam 1 file.
berikut scriptnya:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CRUD 1 File</title>
    <link rel="icon" href="ci-rpl.jpg">
    <link rel="stylesheet" href="../Bootstrap/css/bootstrap.min.css">
    <link rel="stylesheet" href="../font-awesome/css/font-awesome.min.css">
    <script src="../Bootstrap/js/bootstrap.min.js"></script>
</head>
<body>
<br><br>
<?php 

$koneksi = mysqli_connect("localhost","root","allif","buku");

function tambah($koneksi){
    if(isset($_POST['btn_simpan'])){
        $id = time();
        $judul = $_POST['judul'];
        $pengarang = $_POST['pengarang'];
        $penerbit = $_POST['penerbit'];

        if(!empty($judul) && !empty($pengarang) && !empty($penerbit)){
            $sql = "INSERT INTO buku (id, judul, pengarang, penerbit) VALUES ('$id','$judul','$pengarang','$penerbit')";
            $simpan = mysqli_query($koneksi, $sql);
            if($simpan && isset($_GET['aksi']) ){
                if($_GET['aksi'] == 'create'){
                    header('Location: index.php');
                }
            }
        }else{
            $pesan = "<p style='color: red'>Tidak dapat menyimpan atau data belum lengkap!</p>";
        }
    }

?>
<center>
<form action="" method="post" class="form-group">
<h2>Tambah Data</h2>
    <table>
    <tr>
        <td></td>
        <td><input type="hidden" name="id"></td>
    </tr>
    <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>
        <button type="submit" name="btn_simpan" class="btn btn-success"><i class="fa fa-save"></i> Simpan</button>
        <button type="reset" class="btn btn-danger"><i class="fa fa-reply-all"></i> Bersihkan</button>
    </td>
    </tr>
    </table>
    <p><?php echo isset($pesan) ? $pesan : "" ?></p>
</form>
</center>
<br><br>
<?php 

}
//tutup fungsi tambah data
// fungsi baca data (read)
function tampil_data($koneksi){
    $sql = "SELECT * FROM buku";
    $query = mysqli_query($koneksi, $sql);

    echo"<center>";
    echo"<legend><h2>Data Buku</h2></legend>";

    echo"<table border='1' cellpadding='10'>";
    echo"<tr>
        <th>Judul</th>
        <th>Pengarang</th>
        <th>Penerbit</th>
        <th>Pilihan</th>
        </tr>";
    while($data = mysqli_fetch_array($query)){

        ?>
        <tr>
            <td><?php echo $data['judul']; ?></td>
            <td><?php echo $data['pengarang']; ?></td>
            <td><?php echo $data['penerbit']; ?></td>
            <td>
                <a href="index.php?aksi=update&id=<?= $data['id']; ?>&judul=<?= $data['judul']; ?>&pengarang=<?= $data['pengarang']; ?>&penerbit=<?= $data['penerbit']; ?>" class="btn btn-info"><i class="fa fa-edit"></i> Ubah</a>
                <a href="index.php?aksi=delete&id=<?= $data['id']; ?>" class="btn btn-danger"><i class="fa fa-trash-o"></i> Hapus</a>
            </td>
        </tr>
<?php
}
"</table>";
"</center>";
}


function ubah($koneksi){
    if(isset($_POST['btn_ubah'])){
        $id = $_POST['id'];
        $judul = $_POST['judul'];
        $pengarang = $_POST['pengarang'];
        $penerbit = $_POST['penerbit'];

        if(!empty($judul) && !empty($pengarang) && !empty($penerbit)){
            $sql_update = "UPDATE buku SET judul='$judul', pengarang='$pengarang', penerbit='$penerbit' WHERE id=$id";
            $update = mysqli_query($koneksi, $sql_update);
            if($update && isset($_GET['aksi'])){
                if($_GET['aksi'] == 'update'){
                    header('Location: index.php');
                }
            }
        }else{
            $pesan = "Data Tidak Lengkap!";
        }
    }
    if(isset($_GET['id'])){
        ?>


        <a href="index.php" class="btn btn-info"><i class="fa fa-home"></i> Home</a> &nbsp;
            <a href="index.php?aksi=create" class="btn btn-success"><i class="fa fa-plus"></i> Tambah Data</a>
            <hr>
            <center>
            <form action="" method="POST">
            <h2>Ubah data</h2>
            <table>
            <tr>
            <td></td>
                <td><input type="hidden" name="id" value="<?php echo $_GET['id'] ?>"/></td>
                </tr>
                <tr>
                <td>Judul </td>
                <td><input type="text" name="judul" value="<?php echo $_GET['judul'] ?>"/></td>
                </tr>
                <tr>
                <td>Pengarang </td>
                <td><input type="text" name="pengarang" value="<?php echo $_GET['pengarang'] ?>"/></td>
                </tr>
                <tr>
                <td>Penerbit </td>
                <td><input type="text" name="penerbit" value="<?php echo $_GET['penerbit'] ?>"/></td>
                </tr>
                <tr><td></td><td></td></tr>
                <tr>
                <td>
                    <button type="submit" name="btn_ubah" class="btn btn-success"><i class="fa fa-save"></i> Simpan Perubahan</button>
                </td>
                <td>
                <a href="index.php?aksi=delete&id=<?php echo $_GET['id'] ?>" class="btn btn-danger"><i class="fa fa-trash-o"></i> Hapus data ini!</a>
                </td>
                </tr>
                </table>
                <p><?php echo isset($pesan) ? $pesan : "" ?></p>
               
            </form>
            </center>
        <?php
    }
   
}
// --- Tutup Fungsi Update
// --- Fungsi Delete
function hapus($koneksi){
    if(isset($_GET['id']) && isset($_GET['aksi'])){
        $id = $_GET['id'];
        $sql_hapus = "DELETE FROM buku WHERE id=" . $id;
        $hapus = mysqli_query($koneksi, $sql_hapus);
       
        if($hapus){
            if($_GET['aksi'] == 'delete'){
                header('location: index.php');
            }
        }
    }
   
}
// --- Tutup Fungsi Hapus
// ===================================================================
// --- Program Utama
if (isset($_GET['aksi'])){
    switch($_GET['aksi']){
        case "create":
            echo '<a href="index.php" class="btn btn-info"> &laquo; Home</a>';
            tambah($koneksi);
            break;
        case "read":
            tampil_data($koneksi);
            break;
        case "update":
            ubah($koneksi);
            tampil_data($koneksi);
            break;
        case "delete":
            hapus($koneksi);
            break;
        default:
            echo "<h3>Aksi <i>".$_GET['aksi']."</i> tidak ada!</h3>";
            tambah($koneksi);
            tampil_data($koneksi);
    }
} else {
    tambah($koneksi);
    tampil_data($koneksi);
}
?>
</body>
</html>

Dan tampilannya seperti ini:



Semoga Bermanfaat

Wassalamu alaikum Wr Wb.

No comments:

Post a Comment