Membuat Aplikasi CRUD dengan OOP dan PDO MySQL Oleh: Ananda Mukhammad Ikhsan 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 Programming. 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 : 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')"; if(!$query){ return "Failed"; else{ return "Success"; public function editbook($kode){ $sql = "SELECT * FROM books WHERE kodebuku='$kode'"; return $query; public function updatebook($kode, $judul, $pengarang, $penerbit){ $sql = "UPDATE books SET judulbuku='$judul', pengarang='$pengarang', penerbit='$penerbit' WHERE kodebuku='$kode'"; if(!$query){ return "Failed"; else{ return "Success"; public function showbooks(){ $sql = "SELECT * FROM books"; return $query; public function deletebook($kode){ $sql = "DELETE FROM books WHERE kodebuku='$kode'"; 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')"; 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'"; 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'"; 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"; return $query;
Kode diatas adalah method untuk menampilkan data yang ada di database public function deletebook($kode){ $sql = "DELETE FROM books WHERE kodebuku='$kode'"; 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> require('library.php'); if(isset($_post['addbook'])){ $kode = $_POST['kode']; $judul = $_POST['judul']; $pengarang = $_POST['pengarang']; $penerbit = $_POST['penerbit']; $add = $Lib->addBook($kode, $judul, $pengarang, $penerbit); if($add == "Success"){ header('location: List.php');
Memang terlihat panjang akan tetapi eksekusinya dimulai dari kode berikut: require('library.php'); if(isset($_post['addbook'])){ $kode = $_POST['kode']; $judul = $_POST['judul']; $pengarang = $_POST['pengarang']; $penerbit = $_POST['penerbit']; $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> require("library.php"); $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> 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. 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 : require('library.php'); if(isset($_get['kode'])){ $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']; $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. Tentang Penulis Ananda Mukhammad Ikhsan Hanya Pelajar yang terobsesi dengan bahasa pemrograman