
Salam Coding....
Memang jika dilihat dari judulnya ini seperti tutorial untuk pemula. Tutorial ini sangat cocok untuk orang yang baru belajar pemrograman PHP berbasis objek atau lebih dikenal dengan OBject Oriented Programing. Kali ini saya membuat aplikasi manajemen buku perpustakaan sederhana yang mengimplemntasikan aplikasi CRUD (CREATE, READ, UPDATE, DELETE)
Bahan-bahan untuk membuat artikel ini adalah :
PHP 5.4
MySQL
Notepad++
Bootstrap
Langkah Pertama: Membuat Database
Langkah pertama yaitu Membuat database dari aplikasi ini. Mari kita beri nama library.
Lalu kita buat tabel dengan struktur sebagai berikut:
CREATE TABLE `books` ( `kodeBuku` int(5), `judulBuku` varchar(32), `pengarang` varchar(32), `penerbit` varchar(32), PRIMARY KEY(`kodeBuku`) );
Langkah Kedua: Membuat Class
Class ini berisi method-method yang akan kita gunakan nantinya untuk menjalankan aplikasi.
Berikut isi dari Library.php :
<?php class Library{ public function __construct(){ $this->db = new PDO('mysql:host=localhost;dbname=library','root','mysql'); } public function addBook($kode, $judul, $pengarang, $penerbit){ $sql = "INSERT INTO books (kodeBuku, judulBuku, pengarang, penerbit) VALUES('$kode', '$judul', '$pengarang', '$penerbit')"; $query = $this->db->query($sql); if(!$query){ return "Failed"; } else{ return "Success"; } } public function editBook($kode){ $sql = "SELECT * FROM books WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); return $query; } public function updateBook($kode, $judul, $pengarang, $penerbit){ $sql = "UPDATE books SET judulBuku='$judul', pengarang='$pengarang', penerbit='$penerbit' WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); if(!$query){ return "Failed"; } else{ return "Success"; } } public function showBooks(){ $sql = "SELECT * FROM books"; $query = $this->db->query($sql); return $query; } public function deleteBook($kode){ $sql = "DELETE FROM books WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); } } ?>
Penjelasan Kode:
public function __construct(){ $this->db = new PDO('mysql:host=localhost;dbname=library','root','mysql'); }
Kode diatas berfungsi untuk membuat konstruktor aplikasi dan menginisialisasi variabel yang equal dengan objek untuk membuat koneksi database dengan teknik PDO.
public function addBook($kode, $judul, $pengarang, $penerbit){ $sql = "INSERT INTO books (kodeBuku, judulBuku, pengarang, penerbit) VALUES('$kode', '$judul', '$pengarang', '$penerbit')"; $query = $this->db->query($sql); if(!$query){ return "Failed"; } else{ return "Success"; } }
Kode diatas adalah method yang berfungsi untuk menambah data baru ke database.
public function editBook($kode){ $sql = "SELECT * FROM books WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); return $query; }
kode diatas adalah method yang berfungsi untuk mengedit data.
public function updateBook($kode, $judul, $pengarang, $penerbit){ $sql = "UPDATE books SET judulBuku='$judul', pengarang='$pengarang', penerbit='$penerbit' WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); if(!$query){ return "Failed"; } else{ return "Success"; } }
Kode diatas adalah method untuk mengupdate data yang ada di database
public function showBooks(){ $sql = "SELECT * FROM books"; $query = $this->db->query($sql); return $query; }
Kode diatas adalah method untuk menampilkan data yang ada di database
public function deleteBook($kode){ $sql = "DELETE FROM books WHERE kodeBuku='$kode'"; $query = $this->db->query($sql); }
Kode diatas adalah method untuk menghapus data.
Langkah Ketiga: Membuat Form Input Data
File ini berfungsi untuk menginputkan data ke database.
Berikut isi dari file index.php :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Add Book</title> <link rel="stylesheet" href="css/bootstrap.min.css"> <script src="js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Tambah Buku Baru</h2> <form action="index.php" method="POST" class="form-group row"> Kode Buku: <input type="text" name="kode" class="form-control"><br> Judul Buku: <input type="text" name="judul" class="form-control"><br> Pengarang Buku: <input type="text" name="pengarang" class="form-control"><br> Penerbit Buku: <input type="text" name="penerbit" class="form-control"><br> <input type="submit" name="addBook" value="Add Book" class="btn btn-success"><input type="reset" value="Reset" class="btn btn-warning"> </form> </div> </body> </html> <?php require('Library.php'); if(isset($_POST['addBook'])){ $kode = $_POST['kode']; $judul = $_POST['judul']; $pengarang = $_POST['pengarang']; $penerbit = $_POST['penerbit']; $Lib = new Library(); $add = $Lib->addBook($kode, $judul, $pengarang, $penerbit); if($add == "Success"){ header('Location: List.php'); } } ?>
Memang terlihat panjang akan tetapi eksekusinya dimulai dari kode berikut:
<?php require('Library.php'); if(isset($_POST['addBook'])){ $kode = $_POST['kode']; $judul = $_POST['judul']; $pengarang = $_POST['pengarang']; $penerbit = $_POST['penerbit']; $Lib = new Library(); $add = $Lib->addBook($kode, $judul, $pengarang, $penerbit); if($add == "Success"){ header('Location: List.php'); } } ?>
Dari sini sudah terlihat penggunaan konsep OOP.
Langkah Keempat: Membuat File Penampil data
File ini berfungsi untuk menampilkan data-data yang ada di database.
berikut isi dari file List.php :
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>List Book</title> <link rel="stylesheet" href="css/bootstrap.min.css"> <script src="js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Daftar Buku yang Tersedia</h2> <table class="table"> <tr> <td>Kode Buku</td> <td>Judul Buku</td> <td>Pengarang Buku</td> <td>Penerbit Buku</td> <td>Edit</td> <td>Delete</td> </tr> <?php require("Library.php"); $Lib = new Library(); $show = $Lib->showBooks(); while($data = $show->fetch(PDO::FETCH_OBJ)){ echo " <tr> <td>$data->kodeBuku</td> <td>$data->judulBuku</td> <td>$data->pengarang</td> <td>$data->penerbit</td> <td><a class='btn btn-danger' href='list.php?delete=$data->kodeBuku'>Delete</a></td> <td><a class='btn btn-info' href='edit.php?kode=$data->kodeBuku'>Edit</td> </tr>"; }; ?> </table> <a href="index.php" class="btn btn-success">Tambah Buku Baru</a> </div> </body> </html> <?php if(isset($_GET['delete'])){ $del = $Lib->deleteBook($_GET['delete']); } ?>
Dari kode diatas ada dua poin penting
-
<td><a class='btn btn-danger' href='list.php?delete=$data->kodeBuku'>Delete</a></td>
Kode diatas berfungsi untuk mengeset metode GET yang berhubungan dengan kode berikut yang berfungsi untuk menghapus data.
<?php if(isset($_GET['delete'])){ $del = $Lib->deleteBook($_GET['delete']); } ?>
-
<td><a class='btn btn-info' href='edit.php?kode=$data->kodeBuku'>Edit</td>
Kode diatas untuk menuju file edit.php dengan membawa parameter kode yang digunakan untuk mengedit data nantinya.
Langkah Terakhir: Membuat Form Untuk Mengedit Data
File ini berfungsi untuk mengedit data berdasarkan parameter yang dibawa dari file list.php.
berikut isi dari file edit.php :
<?php require('Library.php'); if(isset($_GET['kode'])){ $Lib = new Library(); $book = $Lib->editBook($_GET['kode']); $edit = $book->fetch(PDO::FETCH_OBJ); echo ' <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Add Book</title> <link rel="stylesheet" href="css/bootstrap.min.css"> <script src="js/bootstrap.min.js"></script> </head> <body> <div class="container"> <h2>Ubah Data Buku</h2> <form action="edit.php" method="POST" class="form-group"> Kode Buku: <input type="text" name="kode" value="'.$edit->kodeBuku.'" class="form-control"><br> Judul Buku: <input type="text" name="judul" value="'.$edit->judulBuku.'" class="form-control"><br> Pengarang Buku: <input type="text" name="pengarang" value="'.$edit->pengarang.'" class="form-control"><br> Penerbit Buku: <input type="text" name="penerbit" value="'.$edit->penerbit.'" class="form-control"><br> <input type="submit" name="updateBook" value="Update" class="btn btn-info"> </form> </div> </body> </html> '; } if(isset($_POST['updateBook'])){ $kode = $_POST['kode']; $judul = $_POST['judul']; $pengarang = $_POST['pengarang']; $penerbit = $_POST['penerbit']; $Lib = new Library(); $upd = $Lib->updateBook($kode, $judul, $pengarang, $penerbit); if($upd == "Success"){ header('Location: list.php'); } } ?>
Nah dengan begitu Aplikasi CRUD dengan teknik OOP dan PDO telah selesai. Aplikasi ini sangat sederhana, akan tetapi dapat dikembangkan dengan banyak hal-hal menarik.