Berlatih Membuat Program PHP Bagian 10 - PHP CRUD

PHP CRUD 


Pada koding PHP yang berhubungan dengan database, ada istilah yang saat ini sering digunakan yaitu CRUD (Create, Read, Update dan Delete). Istilah ini mulai marak digunakan sejak banyaknya programmer yang menggunakan Framework. Proses yang dimaksud pada umumnya adalah create/insert atau membuat dan menambah data, read/select atau membaca data, update atau mengubah data dan terakhir adalah delete atau menghapus data.

Setiap kali proses yang berhubungan dengan database atau CRUD, harus melibatkan koneksi database. Maka untuk memudahkan penulisan koneksi database sebaiknya ditulis di file tersendiri, kemudian dipanggil untuk disisipkan ke file pemroses data dengan perintah include.
PHP CRUD

PHP CREATE

Dalam perintah SQL untuk mengisi data pada database menggunakan perintah
insert into nama_tabel values (nilai1, nilai2, ... dst)
atau
insert into nama_tabel (namakolom1,namakolom2, ... dst) values (nilai1, nilai2, ... dst)
atau bisa juga
insert into nama_tabe set namakolom1=nilai1,namakolom2=nilai2

Contoh:
<?php
// contoh ini menggunakan koneksi dengan fungsi mysql (untuk PHP ver 5 kebawah)
include("koneksi.php");
mysql_select_db("nama_database");
mysql_query("insert into siswa values ("11.12.2019","joni suherman","17");
mysql_query("insert into siswa values ("11.12.2020","susi susilowati","17");
?>

PHP SELECT

Perintah SQL untuk menampilkan data dari database menggunakan perintah yang bisa bervariasi berikut adalah yang paling sederhana
Select * from nama_tabel

Contoh:
<?php
// contoh ini menggunakan koneksi dengan fungsi mysql (untuk PHP ver 5 kebawah)
include("koneksi.php");
mysql_select_db("nama_database");
$query = mysql_query("select * from siswa);
while($isi = mysql_fetch_array($query)){
echo "<p>NIS: $isi['nis'] <br> NAMA: $isi['nama'] <br> USIA: $isi['usia']</p>";
}
?>

PHP UPDATE

Perintah SQL untuk mengubah data di Mysql seperti berikut
Update nama_tabel set namakolom1=nilai1,namakolom2=nilai2 where id = 'xx.." // id pada umumnya adalah primary key
Contoh:
<?php
// contoh ini menggunakan koneksi dengan fungsi mysql (untuk PHP ver 5 kebawah)
include("koneksi.php");
mysql_select_db("nama_database");
mysql_query("Update siswa set nis="11.12.2021", nama="Rudi hartanto", usia="18" where nis="11.12.2019");
?>

PHP DELETE

Perintah SQL untuk menghapus data di Mysql seperti berikut
Delete from nama_tabel where id = 'xx.." // id pada umumnya adalah primary key
Contoh:
<?php
// contoh ini menggunakan koneksi dengan fungsi mysql (untuk PHP ver 5 kebawah)
include("koneksi.php");
mysql_select_db("nama_database");
mysql_query("Delete from siswa where nis="11.12.2019");
?>

Walaupun dalam tutorial dasar ini tidak menggunakan Framework, tetapi perlu diketahui apa itu framework. Banyak programmer yang dalam perkembangannya kemudian menggunakan framework dalam setiap mengembangkan projek perangkat lunak. Framework yaitu kerangka kerja yang berupa kode fungsi dan modul yang disediakan oleh organisasi tertentu (terkadang dari komunitas) baik berbayar ataupun gratis agar setiap projek program dapat terorganisir dan dimengerti oleh masing-masing anggota tim. Sehingga walaupun anggota tim sering berganti-ganti orang, Tetap saja projek mudah dimengerti dan bisa dilanjutkan oleh orang lain.

Berlatih Membuat Program PHP bagian 9 - PHP Mysql

Alasan menggunakan Database

Kita sudah berlatih menggunakan PHP untuk menyimpan data sementara saat aplikasi dijalankan yaitu dengan variable. Ketika program ditutup atau tidak digunakan maka variabel akan hilang. Oleh sebab itu, bila perlu menyimpan data atau informasi yang lebih permanen maka perlu tempat lain, misalkan di file ataupun di database.

Informasi atau data yang sudah disimpan, seringkali perlu di tambah, diubah, dihapus dan dicari untuk ditampilkan dalam urutan tertentu. Untuk mempermudah proses tersebut maka disarankan menggunakan penyimpanan database. Saat ini PHP bisa dihubungkan kedalam berbagai macam database. Baik yang bersifat relasional (RDBMS) ataupun bersifat object (OODBMS). 
Berlatih Membuat Program PHP bagian 9 - PHP Mysql

MySQL 

Salah satu database jenis RDBMS yang paling banyak digunakan bersama PHP adalah MySQL. Sebuah database bisa memiliki satu atau lebih tabel. Masing-masing tabel dapat dimanfaatkan untuk menyimpan data spesifik. Sehingga apabila dibutuhkan informasi yang bersifat kompleks, masing-masing tabel bisa dipanggil dan dihubungkan melalui perintah SQL.

Koneksi PHP

Setiap kali akan melakukan proses dengan database, maka PHP harus terhubung atau koneksi dahulu ke server database. Agar terhubung kita harus menggunakan salah satu dari tiga cara yang bisa dipilih. Masing-masing cara terhubung atau terkoneksi ini harus sesuai dengan setting PHP maupun setting pada server.

PHP memiliki tiga macam bentuk koneksi yang dapat dipilih berdasarkan versi PHP dan fiturnya:

  • koneksi dengan fungsi MySQL (untuk PHP5)
  • MySQLi
  • PDO

Contoh koneksi menggunakan fungsi MySQL (untuk PHP 5):
<?php
$servername = "localhost";
$username = "username";
$password = "password";

$koneksi = mysql_connect($servername, $username, $password);

if(!$koneksi){
die("koneksi gagal");
}else{
echo "koneksi berhasil";
}
?>

Contoh koneksi menggunakan MySQLi
<?php
$servername = "localhost";
$username = "username";
$password = "password";

$conn = new mysqli($servername, $username, $password);

if ($conn->connect_error) {
    die("Koneksi gagal: " . $conn->connect_error);
}
echo "koneksi berhasil";
?>

Contoh koneksi menggunakan PDO
<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
    $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

Database

Untuk membuat database anda bisa memanfaatkan aplikasi mysql editor seperti PHPmyAdmin, HeidiSQL, MysqlWorkbench dan lain sebagainya. Atau bisa juga menggunakan PHP dengan perintah berikut:
create database namadatabase

Contoh berikut ini menggunakan fungsi MySQL (untuk PHP versi 5 kebawah)
<?php
include("koneksi.php"); //memanggil koneksi
$buat = mysql_query("create database latihan1");
if($buat){
echo "Database berhasil dibuat";
}else{
echo "Gagal membuat database";
}
?>

Tabel

Setiap tabel harus memiliki nama dalam satu kata atau lebih yang memenuhi standar penamaan tabel database. Setiap tabel menampung data dalam tipe data tertentu. Contoh tabel Murid:

  • NIS - varchar(25)
  • Nama - varchar(25)
  • Nama_Ibu - varchar(25)
  • Nama_Ayah - varchar(25)
  • Usia - int(11)
  • Alamat - text

Perintah SQL

Agar PHP dapat memanggil isi data murid tersebut maka pertama-tama PHP harus terhubung dahulu dengan database. Setelah terhubung baru kemudian dapat memanggil perintah SQL untuk menampilkan data seperti diatas.

Untuk menampilkan data murid tersebut dapat menggunakan perintah khusus SQL yang dimengerti oleh MySQL:

select * from murid

Berlatih Membuat Program PHP bagian 8 - Cookies dan Session

Cookies

Agar program dapat mengenali pengguna program, maka diperlukan sesuatu yang bisa mengidentifikasi pengguna (user). Fitur yang bisa mengidentifikasi pengguna bernama cookie dan Session. Mari kita bahas satu persatu dimulai dari cookies. Setiap kali komputer membuka halaman dengan browser, maka bersamaan dengan proses itu juga mengirim cookie. Dengan PHP kita bisa membuat dan mengambil isi informasi cookie.

Cara Membuat Cookies dengan PHP

Anda bisa memanfaatkan fungsi setcookie(). Fungsi setcookie() ini akan berhubungan dengan header suatu halaman HTML sehingga penulisannya dianjurkan agar diletakkan di paling awal atau sebelum meload tampilan apapun misalkan sebelum tag <html>.

Contoh:
<?php  setcookie("user","Joko susilo", time()+3600);?>
<html>
<body>Selamat Datang</body>
</html>
Cookies dan Session
Ilustrasi Cookies tetapi bukan ini yang dimaksud :)

Membaca nilai Cookie

<?php
print $_COOKIE["user"];
?>

Menghapus nilai Cookie

untuk menghapus nilai cookie anda bisa melakukan set nilai cookie menjadi kosong "" dan waktu cookie agar expired;
<?php
setcokie("user","",time()-3600);
?>

Sessions

Session merupakan cara untuk menyimpan informasi yang bisa digunakan secara global tanpa bergantung pada halaman yang dibuka user. Sehingga informasi yang disimpan dapat digunakan pada seluruh halaman web bila diperlukan. Berbeda dengan cookie informasi didalam session tidak 
disimpan pada komputer user, tetapi berada di Server.

Informasi yang ditulis didalam session dapat ditambah, diubah ataupun dihapus, sesuai dengan kebutuhan. Pada umumnya informasi yang ditambahkan pada session dimulai sejak user berhasil login. Kemudian informasi tersebut dihapus ketika user sedang logout. Agar informasi dapat bertahan lama dan mudah pengolahannya maka sebaiknya informasi tersebut disimpan di dalam.

Cara membuat Session di PHP

Sama sepeti cookies, session juga sebaiknya ditulis dibagian paling atas dokumen.
<?php session_start();?>
<html><body></body></html>

Kode session diatas berfungsi untuk mendaftakan session sehingga kita bisa mulai menyimpan informasi kedalamnya.

Menyimpan Informasi ke Dalam Session

<?php session_start();
$_SESSION['salam'] = "Selamat Pagi";
?>
<html><body><?php echo "Salam: ".$_SESSION['salam'];?></body></html>

Cara menghapus session

Bila anda ingin menghapus session, anda dapat memanfaatkan fungsi unset atau fungsi session destroy(). Fungsi unset dapat dimanfaatkan untuk menghapus session per nama satu-persatu. Sedangkan fungsi destroy akan menghapus semua session yang pernah dibuat dalam server. 
Contoh:
<?php unset($_SESSION["salam"]);?>

atau bila ingin menghapus seluruh session;
<?php session_destroy();?>