Oleh :
http://muhamadandrewiraaditya.blogspot.co.id/
1.2 Tujuan
Mahasiswa dapat mengetahui apa itu PDO.
Mahasiswa dapat mengetahui cara kerja PDO dan menggunakan Bootstrap.
LATAR BELAKANG
PDO (PHP Data Objects) adalah interface universal yang disediakan PHP untuk
“berkomunikasi” dengan database server. Maksud istilah “interface universal” disini adalah
bahwa PDO tidak terikat dengan aplikasi database tertentu. Apabila saat ini kita
menggunakan database MySQL dan dikemudian hari ingin bermigrasi menggunakan
PostgreSQL, kita hanya tinggal mengganti cara pemanggilan awal PDO dan seluruh kode
program yang ada bisa langsung digunakan untuk database baru.
Kondisi ini berbeda jika menggunakan mysql extension atau mysqli extension. Kedua
extension ini hanya bisa bekerja dengan database MySQL. Karena alasan inilah banyak
sebaiknya kita mulai beralih menggunakan PDO dibandingkan mysqli.
Secara teknis, apabila menggunakan mysql atau mysqli extension, PHP langsung
berhubungan dengan MySQL Server, tetapi jika menggunakan PDO, ia tidak berhubungan
langsung dengan database, tetapi hanya sebagai “interface”. Konsep PDO ini dapat
digambarkan sebagai berikut:
PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya, apapun
jenis database server yang digunakan, kode PHP yang ditulis akan tetap sama. PDO
menyediakan “abstraction layer” untuk berkomunikasi dengan database server.
BAB III
PEMBAHASAN
Sebelum memulai praktikum siap kan terlebih dahulu beberapa periapan mulai dari
pengaktifan web server hingga teks editor yang akan dipakai.
Kemudian pastikan kita telah memiliki data base yang akan digunakan. Berikut ini
merupakan table yang akan digunakan dalam praktik.
Yang pertama adalah kita harus membuat koneksi.pdo.php terlebih dahulu. Lalu simpan
koneksi dengan nama koneksipdo.php
$kdb = koneksidatabase();
$a = @$_GET["a"];
$sql = @$_POST["sql"];
switch ($sql) {
switch ($a) {
//mysqli_close($kdb);
$kdb = null;
function curd_read()
$sql= sql_select();
$i=1;
?>
<tr>
<td>No</td>
<td>Id Prodi</td>
<td>Nmprodi</td>
<td>Akreditasi</td>
<td>Tahnun Berdiri</td>
<td>Menu</td>
</tr>
<?php
while($baris = $sql->fetch())
//while($baris = mysqli_fetch_array($hasil))
?>
<tr>
<td>
</tr>
<?php
$i++;
?>
</table>
<?php
//mysqli_free_result($hasil);
?>
<?php
function formeditor($row)
?>
<table>
<tr>
<td width="200px">Prodi</td>
<td><input type="text" name="nmprodi" id="nmprodi" maxlength="25" size="25"
value="<?php echo trim($row["nmprodi"]) ?>" ></td>
</tr>
<tr>
<td >Akreditasi</td>
</tr>
<tr>
</tr>
</table>
<?php }?>
<?php
function curd_create()
?>
<br>
<?php
$row = array(
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_update($idprodi)
global $kdb;
$hasil2 = sql_select_byid($idprodi);
$row = $hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=4&a=reset">Batal</a>
<br>
<?php
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_delete($idprodi)
global $kdb;
$hasil2 = sql_select_byid($idprodi);
$row = $hasil2->fetch()
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=4&a=reset">Batal</a>
<br>
<h3> Anda yakin akan menghapus data Prodi?? <?php echo $row['nmprodi'];?> </h3>
</form>
<?php } ?>
<?php
function koneksidatabase()
include('koneksipdo.php');
return $kdb;
function sql_select()
global $kdb;
return $sql;
//return $hasil;
function sql_insert()
global $kdb;
global $_POST;
return $sql;
}
function sql_select_byid($idprodi)
global $kdb;
$hasil2 = $kdb->query($sql);
return $hasil2;
//return $hasil2;
function sql_update()
global $kdb;
global $_POST;
$sql = $kdb-> query (" update `prodi` set `nmprodi` = '".$_POST["nmprodi"]."', akreditasi
= '".$_POST["akreditasi"]."', thn_berdiri = '".$_POST["thn_berdiri"]."' where idprodi =
".$_POST["idprodix"]);
return $sql;
//mysqli_query($kdb, $sql) or die( mysql_error());
function sql_delete()
global $kdb;
global $_POST;
$sql =$kdb -> query (" delete from `prodi` where idprodi = ".$_POST["idprodix"]);
return $sql;
?>
Table Mahasiswa
<?php
$kdb = koneksidatabase();
$a = @$_GET["a"];
$sql = @$_POST["sql"];
switch ($sql) {
switch ($a) {
//mysqli_close($kdb);
$kdb=null;
function curd_read()
$sql = sql_select();
$i=1;
?>
<tr>
<td>No</td>
<td>Id Mhs</td>
<td>Npm</td>
<td>Nama</td>
<td>Tempat Lahir</td>
<td>Tanggal Lahir</td>
<td>Sex</td>
<td>Tahun Masuk</td>
<td>Id Prodi</td>
<td>Menu</td>
</tr>
<?php
while($baris = $sql->fetch())
//while($baris = mysqli_fetch_array($hasil))
?>
<tr>
<td>
</tr>
<?php
$i++;
?>
</table>
<?php
//mysqli_free_result($hasil);
?>
<?php
function formeditor($row)
?>
<table>
<tr>
<td width="200px">Npm</td>
</tr>
<tr>
<td >Nama</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td >Sex</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
</table>
<?php }?>
<?php
function curd_create()
?>
<a href="index.php?menu=2&a=reset">Batal</a>
<br>
<?php
$row = array(
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_update($idmhs)
global $kdb;
$hasil2 = sql_select_byid($idmhs);
//$row = mysqli_fetch_array($hasil2);
?>
<br>
<?php
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_delete($idmhs)
global $kdb;
$hasil2 = sql_select_byid($idmhs);
$row=$hasil2-> fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<h3>Penghapusan Data Mahasiswa</h3><br>
<a href="index.php?menu=2&a=reset">Batal</a>
<br>
<h3> Anda yakin akan menghapus data Mahasiswa <?php echo $row['nama'];?> ?? </h3>
</form>
<?php } ?>
<?php
function koneksidatabase()
include('koneksipdo.php');
return $kdb;
function sql_select()
{
global $kdb;
return $sql;
function sql_insert()
global $kdb;
global $_POST;
$sql =$kdb->query (" insert into `mahasiswa` (`npm`, `nama`, `tempat_lhr`, `tanggal_lhr`,
`sex`, `thn_masuk`,`idprodi`, `idstatusaka`) values ( '".$_POST["npm"]."',
'".$_POST["nama"]."','".$_POST["tempat_lhr"]."','".$_POST["tanggal_lhr"]."','".$_POST["se
x"]."','".$_POST["thn_masuk"]."','".$_POST["idprodi"]."','".$_POST["idstatusaka"]."')");
return $sql;
function sql_select_byid($idmhs)
{
global $kdb;
$hasil2=$kdb-> query($sql);
return $hasil2;
function sql_update()
global $kdb;
global $_POST;
return $sql;
}
function sql_delete()
global $kdb;
global $_POST;
$sql = $kdb -> query (" delete from `mahasiswa` where idmhs = ".$_POST["idmhsx"]);
return $sql;
?>
Table Dosen
<?php
$kdb = koneksidatabase();
$a = @$_GET["a"];
$sql = @$_POST["sql"];
switch ($sql) {
switch ($a) {
//mysqli_close($kdb);
$kdb=null;
function curd_read()
$sql = sql_select();
$i=1;
?>
<tr>
<td>No</td>
<td>Id Dosen</td>
<td>Nama Dosen</td>
<td>Gelar</td>
<td>Tempat Lahir</td>
<td>Tanggal Lahir</td>
<td>Sex</td>
<td>Id Prodi</td>
<td>Id Pendidikan</td>
<td>Menu</td>
</tr>
<?php
while ($baris=$sql->fetch())
//while($baris = mysqli_fetch_array($hasil))
?>
<tr>
<td>
</td>
</tr>
<?php
$i++;
?>
</table>
<?php
//mysqli_free_result($hasil);
?>
<?php
function formeditor($row)
?>
</tr>
<tr>
<td >Gelar</td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td >Sex</td>
</tr>
<tr>
</tr>
<tr>
<td>ID Pendidikan</td>
</tr>
</table>
<?php }?>
<?php
function curd_create()
?>
<a href="index.php?menu=1&a=reset">
<br>
<?php
$row = array(
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_update($iddosen)
global $kdb;
$hasil2 = sql_select_byid($iddosen);
$row=$hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=1&a=reset">Batal</a>
<br>
<?php
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_delete($iddosen)
global $kdb;
$hasil2 = sql_select_byid($iddosen);
$row=$hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=1&a=reset">Batal</a>
<br>
<form action="index.php?menu=1&a=reset" method="post">
<h3> Anda yakin akan menghapus data Dosen <?php echo $row['nmdosen'];?> ?? </h3>
</form>
<?php } ?>
<?php
function koneksidatabase()
include('koneksipdo.php');
return $kdb;
function sql_select()
global $kdb;
return $hasil2;
function sql_insert()
global $kdb;
global $_POST;
$sql =$kdb-> query (" insert into `dosen` (`nmdosen`, `gelar`, `tempat_lhr`, `tanggal_lhr`,
`sex`,`idprodi`, `idpendidikan`) values (
'".$_POST["nmdosen"]."','".$_POST["gelar"]."','".$_POST["tempat_lhr"]."','".$_POST["tang
gal_lhr"]."','".$_POST["sex"]."','".$_POST["idprodi"]."','".$_POST["idpendidikan"]."')");
return $sql;
function sql_select_byid($iddosen)
{
global $kdb;
$hasil2=$kdb->query($sql);
return $hasil2;
function sql_update()
global $kdb;
global $_POST;
$sql = $kdb -> query (" update `dosen` set `nmdosen` = '".$_POST["nmdosen"]."',`gelar` =
'".$_POST["gelar"]."',`tempat_lhr` = '".$_POST["tempat_lhr"]."',`tanggal_lhr` =
'".$_POST["tanggal_lhr"]."',`sex` = '".$_POST["sex"]."',`idprodi` =
'".$_POST["idprodi"]."',`idpendidikan` = '".$_POST["idpendidikan"]."' where iddosen =
".$_POST["iddosenx"]);
return $sql;
}
function sql_delete()
global $kdb;
global $_POST;
$sql = $kdb -> query (" delete from `dosen` where iddosen = ".$_POST["iddosenx"]);
return $sql;
?>
Table Pendidikan
<?php
$a = !empty($_GET['a']) ? $_GET['a'] : "reset";
$idpendidikan = !empty($_GET['id']) ? $_GET['id'] : " ";
$kdb = koneksidatabase();
$a = @$_GET["a"];
$sql = @$_POST["sql"];
switch ($sql) {
case "insert": sql_insert(); break;
case "update": sql_update(); break;
case "delete": sql_delete(); break;
}
switch ($a) {
case "reset" : curd_read(); break;
case "tambah": curd_create(); break;
case "edit" : curd_update($idpendidikan); break;
case "hapus" : curd_delete($idpendidikan); break;
default : curd_read(); break;
}
$kdb = null;
//mysqli_close($kdb);
function curd_read()
{
$sql = sql_select();
$i=1;
?>
<H3> MASTER DATA PENDIDIKAN </H3>
<a href="index.php?menu=3&a=tambah" ><button class="button btn-
primary">CREATE</button></a>
<table width="100%" align="center" border="1px">
<tr>
<td>No</td>
<td>Nama Pendidikan</td>
<td>Menu</td>
</tr>
<?php
while($baris = $sql->fetch())
//while($baris = mysqli_fetch_array($hasil))
{
?>
<tr>
<td><?php echo $i; ?></td>
<td><?php echo $baris['nmpendidikan']; ?> </td>
<td>
<a href="index.php?menu=3&a=edit&id=<?php echo $baris['idpendidikan']; ?>">
<button class="button btn-primary">UPDATE</button></a>
<a href="index.php?menu=3&a=hapus&id=<?php echo $baris['idpendidikan']; ?>">
<button class="button button-primary">DELETE</button></a>
</td>
</tr>
<?php
$i++;
}
?>
</table>
<?php
//mysqli_free_result($hasil);
} ?>
<?php
function formeditor($row)
{
?>
<table>
<tr>
<td >Nama Pendidikan</td>
<td><input type="text" name="nmpendidikan" id="nmpendidikan" maxlength="25" size="25"
value="<?php echo trim($row["nmpendidikan"])?>" ></td>
</tr>
</table>
<?php }?>
<?php
function curd_create()
{
?>
<h3>Penambahan Data Pendidikan</h3><br>
<a href="index.php?menu=3&a=reset">Batal</a>
<br>
<form action="index.php?menu=3&a=reset" method="post">
<input type="hidden" name="sql" value="insert" >
<?php
$row = array(
"nmpendidikan" => "");
formeditor($row)
?>
<p><input type="submit" name="action" value="Simpan" ></p>
</form>
<?php } ?>
<?php
function curd_update($idpendidikan)
{
global $kdb;
$hasil2 = sql_select_byid($idpendidikan);
$row = $hasil2->fetch()
//$row = $sql->fetch();
?>
<h3>Pengubahan Data Pendidikan</h3><br>
<a href="index.php?menu=3&a=reset">Batal</a>
<br>
<form action="index.php?menu=3&a=reset" method="post">
<input type="hidden" name="sql" value="update" >
<input type="hidden" name="idpendidikanx" value="<?php echo $idpendidikan; ?>" >
<?php
formeditor($row)
?>
<p><input type="submit" name="action" value="Update" ></p>
</form>
<?php } ?>
<?php
function curd_delete($idpendidikan)
{
global $kdb;
$hasil2 = sql_select_byid($idpendidikan);
$row = $hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<h3>Penghapusan Data Pendidikan</h3><br>
<a href="index.php?menu=3&a=reset">Batal</a>
<br>
<form action="index.php?menu=3&a=reset" method="post">
<input type="hidden" name="sql" value="delete" >
<input type="hidden" name="idpendidikanx" value="<?php echo $idpendidikan; ?>" >
<?php
function koneksidatabase()
{
include('koneksipdo.php');
return $kdb;
}
function sql_select()
{
global $kdb;
$sql = $kdb->query('SELECT * FROM pendidikan');
return $sql;
function sql_insert()
{
global $kdb;
global $_POST;
$sql = $kdb-> query ("insert into `pendidikan` (`nmpendidikan`) values
('".$_POST["nmpendidikan"]."')");
return $sql;
}
function sql_select_byid($idpendidikan)
{
global $kdb;
$sql = " select * from pendidikan where idpendidikan = ".$idpendidikan;
$hasil2 = $kdb->query($sql);
// $hasil2 = mysqli_query($kdb, $sql) or die(mysql_error());
return $hasil2;
}
function sql_update()
{
global $kdb;
global $_POST;
$sql = $kdb-> query ("update `pendidikan` set `nmpendidikan` = '".$_POST["nmpendidikan"]."'
where idpendidikan = ".$_POST["idpendidikanx"]);
return $sql;
?>
$kdb = koneksidatabase();
$a = @$_GET["a"];
$sql = @$_POST["sql"];
switch ($sql) {
switch ($a) {
case "reset" : curd_read(); break;
$kdb=null;
//mysqli_close($kdb);
function curd_read()
$sql = sql_select();
$i=1;
?>
<tr>
<td>No</td>
<td>Menu</td>
</tr>
<?php
//while($baris = mysqli_fetch_array($hasil))
?>
<tr>
<td>
</td>
</tr>
<?php
$i++;
?>
</table>
<?php
//mysqli_free_result($hasil);
?>
<?php
function formeditor($row)
?>
<table>
<tr>
</tr>
</table>
<?php }?>
<?php
function curd_create()
?>
<a href="index.php?menu=5a=reset">Batal</a>
<br>
<?php
$row = array(
formeditor($row)
?>
</form>
<?php } ?>
<?php
function curd_update($idstatusaka)
global $kdb;
$hasil2 = sql_select_byid($idstatusaka);
$row=$hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=5a=reset">Batal</a>
<br>
<?php
formeditor($row)
?>
<p><input type="submit" name="action" value="Update" ></p>
</form>
<?php } ?>
<?php
function curd_delete($idstatusaka)
global $kdb;
$hasil2 = sql_select_byid($idstatusaka);
$row=$hasil2->fetch();
//$row = mysqli_fetch_array($hasil2);
?>
<a href="index.php?menu=5a=reset">Batal</a>
<br>
</form>
<?php } ?>
<?php
function koneksidatabase()
include('koneksipdo.php');
return $kdb;
function sql_select()
global $kdb;
//$hasil2=$kdb ->query($sql);
return $sql;
}
function sql_insert()
global $kdb;
global $_POST;
$sql = $kdb -> query (" insert into `status_akademik` (`nmstatusaka`) values
('".$_POST["nmstatusaka"]."')");
return $sql;
function sql_select_byid($idstatusaka)
global $kdb;
$hasil2=$kdb-> query($sql);
return $hasil2;
}
function sql_update()
global $kdb;
global $_POST;
return $sql;
function sql_delete()
global $kdb;
global $_POST;
$sql = $kdb -> query (" delete from `status_akademik` where idstatusaka =
".$_POST["idstatusakax"]);
return $sql;
//mysqli_query($kdb, $sql) or die( mysql_error());
?>
Untuk mengaktifkan bootsrap perhatikan bagian ini pada setiap master table . Pada bagian ini
akan di berikan efek button.
Setelah diaplikasikan pada semua table pastikan tampilan sudah menggunakan boostrap pada setiap
table.
Setelah itu kita akan coba membuat tampilan login untuk masuk kedalam tabel dengan
menambahkan file login dan sistem yang disimpan pada directori xampp>htdocs>Akademik
File login
File sistem
Setelah itu pastikan pada browser anda dengan mengetikkan link
http://localhost/Akademik/menu/ ( link menyesuaikan dimana anda meletakkan file). Setelah
anda menekan enter pada keyboard anda akan secara otomatis dialihkan kehalaman login.
Pastikan anda telah memiliki user pada tabel user. Setelah anda berhasil login maka anda
akan dialihkan kedalam tampilan index.php pada direktori menu.
Kemudian pastikan sekali lagi konsep CRUD pada setiap table telah terlaksanan dengan
sempurna.
BAB IV
PENUTUP
Kesimpulan
PDO bekerja dengan metode yang disebut “data-access abstraction layer”. Artinya,
apapun jenis database server yang digunakan, kode PHP yang ditulis akan tetap sama.
PDO menyediakan “abstraction layer” untuk berkomunikasi dengan database server.
Dengan menggunakan PDO kita tak perlu risau dengan jenis database server yang di
gunakan karena PDO lebih elastis dengan berbagai macam dukungan database server.