Anda di halaman 1dari 9

MODUL IV

MENGOLAH DATA DENGAN PHP DAN MYSQL(CRUD BAGIAN 1)

Pengenalan PHP
PHP adalah bahasa scripting yang menyatu dengan HTML dan dijalankan pada server side.
Artinya semua sintaks yang diberikan akan sepenuhnya dijalankan pada server sedangkan
yang dikirimkan ke browser hanya hasilnya saja berupa HTML. Keuntungan penggunaan
PHP, kode yang menyusun program tidak perlu diedarkan ke pemakai sehingga
kerahasiaan kode dapat dilindungi.
Tag yang dipakai untuk mengawali dan mengakhiri sintaks PHP yang membedakan perintah
HTML dengan PHP digunakan tanda <? … ?> atau <?php … ?>.
PHP dapat diaplikasikan dengan berbagai macam database, seperti MySQL, Access,
Oracle, dan lainnya.

Software yang digunakan untuk belajar PHP


Adapun software yang biasa digunakan dalam belajar ataupun pengembangan web PHP
adalah software XAMPP. Didalam software tersebut sudah terdapat beberapa komponen
software pendukung yaitu :
 Apache untuk web server yang digunakan untuk menjalankan PHP.
 MySQL untuk DMBS (Database Management System) yang digunakan untuk
menyimpan content atau isi web didalam sebuah database.
 PhpMyAdmin aplikasi MySQL berbasi web yang digunakan untuk merancang dan
membuat database dan table-table nya.
 Notepad++, SublimeText, VSCode, dll yang digunakan sebagai text editor.

Langkah untuk memulai belajar PHP


Dalam memulai belajar PHP ada tahapan yang biasa dilakukan. Walaupun tidak baku harus
seperti ini. Adapun langkah-langkahnya adalah sebagai berikut :
 Jalankan software XAMPP dan klik tombol start untuk apache dan mysql
Untuk membuat script php, file yang digunakan harus memiliki ekstensi .php, silahkan
buat folder dengan nama folder yaitu latihan pada C:/xampp/htdocs/,kemudian buat file
baru pada folder tersebut dengan nama file index.php
Index.php
Ketikkan kode program seperti dibawah ini:
<html>
<head>
<title> Script PHP Pertama </title>
</head>
<body>
<h1>Contoh PHP</h1>
<?php
// tanda untuk memberikan komentar satu baris
echo "Selamat belajar PHP<br>";
echo "Semoga tidak bingung<br>";
/*
tanda untuk memberikan komentar
komentar ini lebih dari satu baris
*/
?>
</body>
</html>

Kode dalam tag <? ….. ?> akan diproses diserver dan ditampilkan pada browser sebagai
HTML. Sebuah pernyataan dari PHP selalu diakhiri dengan tanda titik koma (;).

Perhatikan bahwa sebagian kode pada program diatas telah anda kenal dengan baik karena
memang merupakan program HTML. Yang baru bagi Anda barangkali adalah yang terletak
pada kode:
<?
echo "Selamat belajar PHP<br>";
echo "Semoga tidak bingung<br>";
?>

Variabel pada PHP


Untuk membuat variabel pada PHP selalu diawali dengan tanda dollar ($). Variabel
berfungsi untuk menyimpan suatu nilai dan nilai yang ada di dalamnya dapat diubah
sewaktu-waktu. Aturan Penulisan variabel yang benar adalah :
 Karakter yang dapat digunakan yaitu huruf, angka, atau garis bawah(_).
 Karakter pertama harus berupa huruf atau garis bawah.
 Panjang pengenal bisa berapa saja.
 Huruf kecil dan huruf kapital dibedakan.
Contoh penulisan variable yang sah :
$data, $data1, $data_ku

Operasi CRUD
Operasi CRUD atau biasa di kenal dengan Create, Read, Update, dan Delete merupakan
operasi yang sangat sering digunakan ketika seorang programer membuat suatu program
dengan PHP. CRUD merupakan salah satu inti dari sebuah pemrograman karena di dalam
suatu program biasanya mencakup operasi Create atau menciptakan data, Read atau
Menampilkan data, Update atau mengedit suatu data dan Delete atau menghapus data.

Studi Kasus:
Mengolah Data Bagian 1
A. Membuat Database
Langkah pertama yang harus dilakukan yaitu membuat database. Perhatikanlah
langkah membuat database seperti di bawah ini :

- Buka web browser misalnya Google Chrome dan ketik http://localhost/phpmyadmin


untuk menampilkan phpmyadmin

- Buatlah database dengan nama : webprak lalu klik Buat


- Setelah database dibuat maka buatlah tabel dengan nama tabel :user

B. Langkah pembuatan modul program

Selanjutnya untuk Implementasi, kita akan membuat file phpnya yang berisi script PHP.
Nantinya script tersebut disimpan di folder C:\xampp\htdocs\webprak2019 dan disimpan
dengan ekstensi(*.php). adapun file-file yang akan kita buat adalah sebagai berikut :
1) functions.php = digunakan untuk menyimpan segala fungsi PHP ke database
2) index.php = berisi halaman awal
3) registrasi.php = berisi form untuk registrasi user
4) login.php = digunakan untuk halaman user login
5) logout.php = digunakan untuk menghapus sesi user dan keluar dari halaman utama
Adapun syntax dari masing masing file adalah sebagai berikut:

functions.php
<?php
// koneksi
$conn = mysqli_connect("localhost", "root", "", "webprak");

if(!$conn)
echo "Database belum terkoneksi";
else
echo "koneksi Database berhasil";
?>

Penjelasan kode program diatas yaitu:


1. Deklarasikan variabel di php untuk menyimpan configurasi database dengan nama_host,
user, password dan nama database
2. mysqli_connect adalah fungsi ini untuk membuat koneksi ke database sesuai configurasi
yang sudah dibuat

login.php
<?php
session_start();

if (isset($_SESSION["login"])) {
header("Location: index.php");
exit;
}

require 'functions.php';

if (isset($_POST["login"])) {
$username = $_POST["username"];
$password = $_POST["password"];

$result = mysqli_query($conn, "SELECT * FROM user WHERE username =


'$username'");

if (mysqli_num_rows($result) === 1) {
$row = mysqli_fetch_assoc($result);
if ($password == $row["password"]) {
$_SESSION["login"] = true;
header("Location: index.php");
exit;
}
}
$error = true;
}
?>
Lanjutan login.php

<!DOCTYPE html>
<html>
<head>
<title>Login</title>
</head>
<body>
<h1>Halaman Login</h1>

<?php if (isset($error)) : ?>


<p style="color: red; font-style: italic;">
Username / Password Salah!
</p>
<?php endif; ?>

<form action="" method="POST">


<ul>
<li>
<label for="username">Username :</label>
<input type="text" id="username" name="username">
</li>
<li>
<label for="password">Password :</label>
<input type="password" id="password" name="password">
</li>
<li>
<button type="submit" name="login">Login!</button>
</li>
</ul>
</form>
</body>
</html>

Penjelasan kode program diatas yaitu:


1. session_start() yaitu untuk menjalankan sesi agar dapat menggunakan $_SESSION
2. Fungsi include digunakan untuk memanggil file functions.php
3. Fungsi isset() digunakan untuk menyatakan variabel sudah diset atau tidak. Jika variabel
sudah diset maka variabel akan mengembalikan nilai true, sebaliknya akan bernilai false
(memesan tempat di memori).
4. Fungsi mysqli_query untuk menjalankan query atau perintah sql seperti
select,update,delete dll.
5. Fungsi mysqli_fetch_assoc() untuk mengeluarkan data-data dari tabel dalam database
7.$_SESSION[‘login] digunakan untuk menyimpan sesi user yang diambil dari user.
index.php

<?php
session_start();

if (!isset($_SESSION["login"])) {
header("Location: login.php");
exit;
}
?>

<!DOCTYPE html>
<html>
<head>
<title>Halaman Admin</title>
</head>
<body>
<a href="logout.php">Logout</a>
<h1>Selamat datang admin</h1>
</body>
</html>

Penjelasan kode program diatas yaitu :


1.!isset($_SESSION[‘login]) digunakan untuk memeriksa apakah ada sesi login atau tidak,
jika belum ada maka halaman akan diarahkan(redirect) ke login.php

Logout.php

<?php
session_start();
session_destroy();

header("Location: login.php");
exit;
?>

Penjelasan kode program diatas yaitu :


1.session_start() untuk menjalankan sesi
2.session_destroy() untuk menghapus sesi
3.header("Location: login.php"); digunakan untuk redirect ke login.php
registrasi.php

<?php
require 'functions.php';

if (isset($_POST["registrasi"])) {
if (registrasi($_POST) > 0) {
echo "<script>
alert ('User baru berhasil ditambahkan!');
</script>";
} else {
echo mysqli_error($conn);
}
}
?>

<!DOCTYPE html>
<html>
<head>
<style>label { display: block; }</style>
<title>Registrasi</title>
</head>
<body>
<h1>Halaman Registrasi</h1>
<form action="" method="POST">
<ul>
<li>
<label for="username">Username : </label>
<input type="text" id="username" name="username">
</li>
<li>
<label for="password">Password : </label>
<input type="password" id="password" name="password">
</li>
<li>
<label for="password2">Konfirmasi Password : </label>
<input type="password" id="password2"
name="password2">
</li>
<li>
<button type="submit" name="registrasi">Registrasi!
</button>
</li>
</ul>
</form>
</body>
</html>
Penjelasan kode program diatas yaitu :
1. mysqli_error(); digunakan untuk menampilkan error.
2. $_POST digunakan untuk mengambil data dari form, untuk menggunakan $_POST
maka atribut method yang ada didalam tag form haruslah diisi dengan POST.
3. Input yang dibuat didalam form haruslah memiliki atribut name agar data yang ada
didalamnya bisa dikirim, termasuk juga dengan tag button.

Untuk membuat fungsi registrasi berjalan dengan baik, ketikkan kode berikut dalam file
functions.php sebagai lanjutan dari baris kode yang sebelumnya.
Lanjutan functions.php
function registrasi ($data) {

global $conn;

$username = strtolower(stripslashes($data["username"]));
$password = mysqli_real_escape_string($conn, $data["password"]);
$password2 = mysqli_real_escape_string($conn, $data["password2"]);

$cekusername = "SELECT username FROM user WHERE username =


'$username'";

$result = mysqli_query($conn, $cekusername);

if (mysqli_fetch_assoc($result)) {
echo "<script>
alert ('Username sudah tedaftar!')
</script>";
return false;
}

if ($password !== $password2) {


echo "<script>
alert ('Konfirmasi password tidak sinkron!');
</script>";
return false;
}

$query = "INSERT INTO user VALUES ('', '$username', '$password')";


mysqli_query($conn, $query);

return mysqli_affected_rows($conn);

Penjelasan kode program diatas yaitu :


1. Strtolower() digunakan agar semua username diubah kedalam hurun kecil.
2. Stripslashes() dan Mysqli_real_escape_string() digunakan agar inputan username
bersih dari hal-hal yang dapat mengakibatkan terjadinya gagal sistem.
3. Mysqi_fetch_assoc() digunakan untuk mengeluarkan data dengan jenis array asosiatif.
4. INSERT INTO user VALUES digunakan untuk menambahkan user baru kedalam tabel
Jika semua script sudah selesai di ketik dan disimpan didalam folder htdocs/webprak2019.
Maka untuk menjalankan programnya ketik http://localhost/webprak2019

Anda mungkin juga menyukai