1.1. Tujuan
1.1.1. Mahasiswa mampu membuat program yang bisa menyimpan data
dalam jumlah yang banyak.
1.1.2. Mahasiswa mampu membuat program yang bisa mengolah data yang
tersimpan dalam database.
1.2. Landasan Teori
Data dalam database MySQL disimpan dalam tabel-tabel. Sebuah tabel
adalah koleksi dari data yang berelasi dan mengandung kolom dan baris.
Database sangat bermanfaat untuk menyimpan informasi secara kategori.
Contoh yang akan diberikan pada modul praktikum ini adalah tabel yang
mengandung data Employees (Pekerja), Products (Produk), Customers
(Pelanggan) dan Orders (Pesanan).
1.2.1. Membuka Koneksi
Sebelum mengakses data dalam database MySQL, kita harus
terhubung ke server database MySQL. Berikut adalah contoh kode
program agar terhubung dengan server mySQL:
Jika statement ini digunakan untuk update data ke dua pada tabel
“MyGuest” diatas untuk mengganti nama belakang dari “Moe”
menjadi “Doe”, maka kode program untuk update tersebut adalah
sebagai berikut:
BAB II
PEMBAHASAN
// Buat connect
$conn = new mysqli($servername, $username, $password,
$dbname);
// Cek connect
if ($conn->connect_error) {
die("connect gagal: " . $conn->connect_error);
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Data Pegawai</title>
<style>
body {
font-family: sans-serif;
}
h1 {
text-align: center;
margin-top: 50px;
}
table {
border-collapse: collapse;
margin: 0 auto;
}
th, td {
padding: 10px;
text-align: center;
}
th {
background-color: #4CAF50;
color: white;
}
tr:nth-child(even) {
background-color: #f2f2f2;
}
a.button {
display: inline-block;
background-color: #4CAF50;
color: white;
padding: 10px 20px;
text-decoration: none;
border-radius: 5px;
margin-top: 20px;
}
a.button:hover {
background-color: #3e8e41;
}
a.edit {
background-color: #2196F3;
color: white;
padding: 5px 10px;
text-decoration: none;
border-radius: 5px;
margin-right: 10px;
}
a.edit:hover {
background-color: #0b7dda;
}
a.delete {
background-color: #f44336;
color: white;
padding: 5px 10px;
text-decoration: none;
border-radius: 5px;
}
a.delete:hover {
background-color: #da190b;
}
</style>
</head>
<body>
<h1>Data Pegawai</h1>
<table border="1">
<tr>
<th>ID</th>
<th>Nama</th>
<th>Jabatan</th>
<th>Gaji</th>
<th>Aksi</th>
</tr>
<?php
include 'connect.php';
// Tampilkan semua data pegawai
$sql = "SELECT * FROM pegawaiku";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()): ?>
<tr>
<td><?php echo $row['id']; ?></td>
<td><?php echo $row['nama']; ?></td>
<td><?php echo $row['jabatan']; ?></td>
<td><?php echo $row['gaji']; ?></td>
<td>
<a href="ubah.php?id=<?php echo
$row['id']; ?>" class="edit">Ubah</a>
<a href="hapus.php?id=<?php echo
$row['id']; ?>" class="delete" onclick="return
confirm('Apakah anda yakin ingin menghapus data
ini?')">Hapus</a>
</td>
</tr>
<?php endwhile; ?>
</table>
<div style="text-align: center; margin-top: 10px;">
<a href="tambah.php" class="button">Tambah
Data</a>
<div style="text-align: center; margin-top:
15px;">
<a class="btn btn-danger" href="logout.php"
role="button">Logout</a>
</div>
</body>
</html>
Login.php
<?php
session_start();
include 'connect.php';
if ($cek > 0) {
$data = mysqli_fetch_assoc($query);
$_SESSION['username'] = $data['username'];
$_SESSION['password'] = $data['password'];
Register.php
<?php
session_start();
require_once 'connect.php';
if(isset($_POST['username']) &&
isset($_POST['password'])) {
// Ambil data dari form
$username = $_POST['username'];
$password = $_POST['password'];
// Validasi data
if (strlen($username) < 5) {
echo "Username harus terdiri dari minimal lima
karakter";
exit();
}
if (strlen($password) < 8) {
echo "Password harus terdiri dari minimal delapan
karakter";
exit();
}
$conn->close();
?>
Program di atas merupakan script PHP untuk melakukan
registrasi pengguna baru ke dalam database MySQL. Berikut adalah
penjelasan dari masing-masing bagian script tersebut:
1. Pertama-tama, dilakukan pemanggilan fungsi session_start()
untuk memulai session PHP.
2. Selanjutnya, dilakukan pemanggilan file connect.php yang berisi
script untuk melakukan koneksi ke database MySQL.
3. Kemudian, program melakukan pengecekan apakah ada data
yang dikirimkan dari form dengan menggunakan
isset($_POST['username']) && isset($_POST['password']). Jika
data sudah terkirim, maka program akan melanjutkan eksekusi.
4. Setelah itu, program akan mengambil data username dan
password dari form dengan menggunakan $_POST['username']
dan $_POST['password'].
5. Dilakukan validasi terhadap data username dan password. Jika
username kurang dari lima karakter atau password kurang dari
delapan karakter, maka program akan memberikan pesan error
dan menghentikan eksekusi dengan menggunakan fungsi exit().
6. Jika data sudah valid, maka program akan menambahkan data
username dan password ke dalam tabel loginku di database
dengan menggunakan query INSERT INTO loginku (username,
password) VALUES ('$username', '$password').
7. Jika query berhasil dieksekusi, maka program akan memberikan
pesan bahwa registrasi berhasil dengan memberikan tautan untuk
login. Jika tidak berhasil, maka program akan memberikan pesan
error beserta detail errornya.
8. Terakhir, koneksi ke database ditutup dengan menggunakan
fungsi $conn->close().
Tambah.php
<?php
// Panggil connect database
require_once 'connect.php';
// Jika tombol simpan ditekan
if(isset($_POST['simpan'])) {
$nama = $_POST['nama'];
$jabatan = $_POST['jabatan'];
$gaji = $_POST['gaji'];
$conn->close();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Tambah Data Pegawai</title>
</head>
<body>
<h1 style="font-size: 2rem; font-weight:
bold;">Tambah Data Pegawai</h1>
<form method="post" style="margin-top: 20px;">
<div style="display: flex; flex-direction:
column; align-items: flex-start;">
<label for="nama" style="font-size: 1.2rem;
margin-bottom: 5px;">Nama:</label>
<input type="text" name="nama" id="nama"
style="padding: 5px; font-size: 1.2rem; border-radius:
5px; border: 1px solid #ccc; margin-bottom: 10px;">
<label for="jabatan" style="font-size:
1.2rem; margin-bottom: 5px;">Jabatan:</label>
<input type="text" name="jabatan"
id="jabatan" style="padding: 5px; font-size: 1.2rem;
border-radius: 5px; border: 1px solid #ccc; margin-
bottom: 10px;">
<label for="gaji" style="font-size: 1.2rem;
margin-bottom: 5px;">Gaji:</label>
<input type="number" name="gaji" id="gaji"
style="padding: 5px; font-size: 1.2rem; border-radius:
5px; border: 1px solid #ccc; margin-bottom: 10px;"><br>
<input type="submit" name="simpan"
value="Simpan" style="background-color: #4CAF50; color:
white; border: none; padding: 10px 20px; border-radius:
5px; font-size: 1.2rem; margin-top: 20px; cursor:
pointer;">
</div>
</form>
</body>
</html>
Ubah.php
<?php
// Panggil connect database
require_once 'connect.php';
$conn->close();
} else {
// Ambil data pegawai yang akan diubah
$id = $_GET['id'];
$sql = "SELECT * FROM pegawaiku WHERE id='$id'";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Ubah Data Pegawai</title>
</head>
<body>
<h1 style="font-size: 2rem; font-weight: bold;">Ubah
Data Pegawai</h1>
<form method="post" style="margin-top: 20px;">
<div style="display: flex; flex-direction:
column; align-items: flex-start;">
<input type="hidden" name="id" value="<?php
echo $row['id']; ?>">
<label for="nama" style="font-size: 1.2rem;
margin-bottom: 5px;">Nama:</label>
<input type="text" name="nama" id="nama"
value="<?php echo $row['nama']; ?>" style="padding: 5px;
font-size: 1.2rem; border-radius: 5px; border: 1px solid
#ccc; margin-bottom: 10px;">
<label for="jabatan" style="font-size:
1.2rem; margin-bottom: 5px;">Jabatan:</label>
<input type="text" name="jabatan"
id="jabatan" value="<?php echo $row['jabatan']; ?>"
style="padding: 5px; font-size: 1.2rem; border-radius:
5px; border: 1px solid #ccc; margin-bottom: 10px;">
<label for="gaji" style="font-size: 1.2rem;
margin-bottom: 5px;">Gaji:</label>
<input type="number" name="gaji" id="gaji"
value="<?php echo $row['gaji']; ?>" style="padding: 5px;
font-size: 1.2rem; border-radius: 5px; border: 1px solid
#ccc; margin-bottom: 10px;"><br>
<input type="submit" name="simpan"
value="Simpan" style="background-color: #4CAF50; color:
white; border: none; padding: 10px 20px; border-radius:
5px; font-size: 1.2rem; margin-top: 20px; cursor:
pointer;">
</div>
</form>
</body>
</html>
Simpan.php
<?php
require_once 'connect.php';
// Validasi data
if (strlen($nama) < 3) {
echo "Nama harus terdiri dari minimal tiga
karakter";
exit();
}
if (strlen($jabatan) < 3) {
echo "Jabatan harus terdiri dari minimal tiga
karakter";
exit();
}
Hapus.php
<?php
// Panggil connect database
require_once 'connect.php';
$conn->close();
?>
Logout.php
<?php
session_start();
session_destroy();
header('location: loginform.html');
exit;
?>
Loginform.html
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
<link rel="stylesheet" type="text/css"
href="style.css?v=<?php echo time(); ?>">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontaweso
me-free@6.2.1/css/all.min.css">
</head>
<body>
<div class="formbox">
<form action="login.php" method="post">
<h1>Login</h1>
<div class="input-box">
<label>Username:</label>
<input type="text" name="username"
maxlength="7" required>
</div>
<div class="input-box">
<label>Password:</label>
<input type="password" name="password"
required>
<span class="eye" onclick="myfunction()">
<i id="hide1" class="fas fa-eye"></i>
<i id="hide2" class="fas fa-eye-
slash"></i>
</span>
</div>
<button type="submit" name="submit"
class="btn">Login</button>
</form>
<div class="link">
<p style="text-align: center;">Belum punya akun?
<a href="register.html">Daftar sekarang</a></p>
</div>
</div>
<script>
function myfunction(){
var x = document.getElementById("myinput");
var y = document.getElementById("hide1");
var z = document.getElementById("hide2");
if(x.type === 'password'){
x.type = "text";
y.style.display = "block";
z.style.display = "none";
}
else{
x.type = "password";
y.style.display = "none";
z.style.display = "block";
}
}
</script>
<script
src="https://cdn.jsdelivr.net/npm/typed.js@2.0.12"></scri
pt>
<script>
var typed = new Typed(".auto",{
strings: ["form", "form me", "my heart"],
typeSpeed: 150,
backSpeed: 100,
loop: true
})
</script>
</body>
</html>
Register.html
<!DOCTYPE html>
<html>
<head>
<title>Registrasi Form</title>
<link rel="stylesheet" href="style.css?v=<?php echo
time(); ?>">
</head>
<body>
<div class="formbox">
<form action="register.php" method="post">
<h1>Registrasi</h1>
<div class="input-box">
<label>Username:</label>
<input type="text" name="username"
maxlength="7" required>
</div>
<div class="input-box">
<label>Password:</label>
<input type="password" name="password"
required>
</div>
<div class="input-box">
<label>Konfirmasi Password:</label>
<input type="password"
name="confirm_password" minlength="6" required>
<span class="eye" onclick="myfunction()">
<i id="hide1" class="fas fa-eye"></i>
<i id="hide2" class="fas fa-eye-
slash"></i>
</span>
</div>
Style.css
*{
margin: 0;
padding: 0;
}
body{
background-image: url(707027.png);
background-size: cover;
background-position: center;
font-family: 'Courier New';
}
body {
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
.formbox{
width: 500px;
background: rgba(0,0,0,0.8);
margin: 12% auto;
padding: 50px 0;
color: #fff;
box-shadow: 8 0 20px 2px rgba(0,0,0,0.5);
}
h1{
text-align: center;
margin-bottom: 40x ;
}
.input-box{
margin: 31px auto;
width: 80%;
border-bottom: 1px solid #fff;
padding: top 10px;
padding-bottom:5px;
}
.input-box input{
width:90%;
border: none;
outline: none;
background: transparent;
color: #fff;
}
.formbox form {
display: flex;
flex-direction: column;
align-items: center;
}
form {
margin: 50px auto;
max-width: 500px;
padding: 20px;
background-color: #FFF;
border-radius: 10px;
box-shadow: 0 0 10px #CCC;
}
label {
display: block;
margin-bottom: 10px;
color: #333;
font-weight: bold;
}
input[type="text"], input[type="number"],
input[type="password"] {
width: 100%;
padding: 10px;
margin-bottom: 20px;
border: 1px solid #CCC;
border-radius: 5px;
font-size: 16px;
color: #333;
}
input[type="submit"] {
display: block;
width: 100%;
padding: 10px;
background-color: #333;
color: #FFF;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
}
input[type="submit"]:hover {
background-color: #555;
}
MySQL adalah salah satu jenis DBMS yang menggunakan bahasa SQL untuk
mengelola sistem basis data secara terstruktur. Fungsi dari MySQL yang paling
penting adalah memudahkan pengguna dalam mengakses data dalam bentuk String
dan dapat diakses secara personal maupun publik di website. Dengan adanya mysql
serta php membuat pembuatan website yang menggunakan database dapat
dilakukan, penggunaannya yang dapat dilakukan secara sederhana dapat membantu
dalam pembelajaran pembuatan web bagi pemula, sehingga mudah dipahami dan
dipraktekkan.
DAFTAR PUSTAKA
Ahmad Muhardian. (2017). Tutorial PHP dan MySQL: Membuat Aplikasi CRUD
[Studi Kasus Pendaftaran Siswa Baru].
https://www.petanikode.com/tutorial-php-mysql/.
Hirzi Widyan Putra. (2016). Contoh CRUD PHP 7 MySQLi Terbaru dengan upload
Gambar Part 1. https://gilacoding.com/read/contoh-crud-php-7-mysqli-
terbaru-dengan-upload-gambar-part-1.