Database & CRUD PHP dengan MySQL

Zahrotul Wakhidah
Amikom Computer Club
13 min readMar 17, 2022

Halo hai! Uda siap buat belajar? yap, kalau uda langsung aja ya kita belajar materi selanjutnya…

Semangat ~

A. Pengenalan Database

Database atau basis data merupakan sebuah wadah untuk menyimpan data yang saling berhubungan dan diorganisir secara bersama. Bahasa yang umum digunakan dalam pengelolaan database adalah SQL (Structured Query Language).

Perangkat lunak yang dapat digunakan untuk mengelola basis data cukup banyak, tetapi pada pembahasan kali ini akan menggunakan MySQL. MySQL dipilih karena cukup mudah dipelajari dan bersifat open source, serta mendukung banyak platform sistem operasi. Selain itu, MySQL juga memiliki dukungan komunitas yang banyak.

  1. SQL (Structure Query Language)

SQL adalah bahasa pemrograman yang digunakan untuk mengakses data dalam basis data relasional. SQL biasanya berupa perintah sederhana yang berisi instruksi manipulasi data. Perintah ini sering disebut dengan query.

SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung software yang digunakan. Beberapa perintah SQL adalah sebagai berikut:

a. Data Definition Language (DDL)

Data Definition Language (DDL) adalah perintah SQL yang digunakan untuk mendefinisikan sebuah objek di dalam database dan tabel. Beberapa perintah dasar dalam DDL antara lain CREATE, ALTER, RENAME, DROP.

b. Data Modification Language (DML)

Data Modification Language (DML) adalah perintah SQL yang digunakan untuk melakukan manipulasi terhadap obyek yang ada di dalam database. Perintah SQL yang termasuk di dalam DML antara lain SELECT, INSERT, UPDATE, DELETE.

B. Pengenalan phpMyAdmin

PhpMyAdmin merupakan perangkat lunak yang ditulis dalam bahasa pemrograman php untuk menangani administrasi MySQL melalui www (world wide web). Dengan menggunakan phpMyAdmin, anda dapat membuat database, membuat tabel, menginsert (memasukkan), menghapus, dan mengupdate data dengan antar muka grafis (GUI) sehingga terasa lebih mudah, tanpa perlu mengetikkan perintah SQL secara manual.

  1. Primary Key

Primary Key adalah field kunci/utama dari sebuah tabel yang menunjukkan bahwa field tersebut tidak bisa di isi dengan data yang sama. Dapat dikatakan juga bahwa primary key menjadikan tiap record memiliki identitas sendiri — sendiri yang membedakan satu dengan lainnya (unik). Primary Key akan menampilkan record hasil pencarian (searching), pengurutan (sorting), dan berbagai operasi query lainnya. Nilai dari primary key tidak boleh kosong, harus unik (tidak boleh sama).

2. Foreign Key

Foreign Key adalah field pada sebuah tabel yang berfungsi sebagai kunci tamu dari tabel yang lain. Foreign key sangat berguna ketika bekerja dengan banyak tabel dan tabel tersebut memiliki relasi satu sama lain. Field yang menjadi foreign key di sebuah tabel, harus memiliki penamaan yang sama dengan tabel induknya.

3. Relasi antar tabel

akan langsung dipelajari di praktikum

PRAKTIKUM MEMBANGUN DATABASE

  1. Menjalankan service Apache dan MySQL di XAMPP

2. Membuka browser dan tuliskan di address bar localhost / 127.0.0.1 | phpMyAdmin 5.1.1. Akan muncul tampilan seperti di bawah

3. Klik new, pada kolom sisi kiri layar

4. Membuat database dan klik create

Ketika database berhasil dibuat, maka akan tampil di sisi kiri layar

5. Membuat tabel dalam database yang telah dibuat dengan nama mahasiswa, kemudian klik go.

6. Memasukkan atribut dengan ketentuan seperti dibawa ini, kemudian klik save

7. Klik struktur untuk melihat tampilan

8. Tabel mahasiswa telah dibuat. Jadikan kolom nim sebagai primary key dengan cara klik more (paling kanan) dan pilih primary.

9. Kemudian untuk memasukkan data, pilih Insert pada menu bagian atas

Sebagai contoh, isikan data seperti gambar di bawah. Kemudian klik go

10. Untuk mengecek apakah data sudah masuk, klik browse

11. Apabila ingin menambah data, kembali ke halaman insert (mengulang dari langkah ke 9)

12. Dilanjutkan dengan membuat tabel pinjaman. kemudian klik go (Dengan langkah yang sama dengan membuat tabel mahasiswa)

Memasukkan atribut dengan ketentuan seperti dibawah, kemudian klik save.

13. Berdasarkan tampilan dibawah ini, pilih Relation View

14. Isi kolom — kolom seperti gambar dibawah, kemudian klik save

Jika berhasil, kembali ke structure

15. Pada kolom nim akan muncul ikon kunci silver. Lanjut dengan klik More (pojok kanan) pada kolom nim, pilih index. Klik OK

16. Klik halaman Insert, kemudian isikan kolom seperti gambar di bawah (sebagai contoh). Klik Go

17. Untuk melihat apakah berhasil menginputkan data, pilih halaman browse.

Indikator relasi berhasil adalah ketika nim di klik, akan terhubung dengan tabel mahasiswa

18. Untuk melihat bentuk tabel relasi, klik database yang telah dibuat

19. Pilih halaman designer

20. Berikut merupakan contoh relasi tabel pinjaman dan mahasiswa

21. Selesai

C. Pengenalan DDL dan DML dalam SQL

Data Definition Language (DDL)

Data Definition Language (DDL) merupakan perintah SQL yang digunakan untuk mendefinisikan dan mendeklarasikan suatu objek database, menciptakan objek database atau menghapus objek database. Objek database tersebut berupa database dan table.

DDL dapat digunakan untuk:

  • Membuat atau menghapus database
  • Membuat, mengubah, menghapus tabel
  • Mendefinisikan constraint (batasan)

Perintah dasar DDL.

Sebelum mengenal dasar-dasar dari query DDL. Tapi, apa itu query? Query adalah syntax atau perintah yang digunakan untuk mengakses dan menampilkan data pada sistem database. Query memiliki kemampuan untuk mengatur data mana yang perlu ditampilkan sesuai dengan yang Anda inginkan. Selain itu, query dapat dipakai untuk membuat data dapat saling berinteraksi.

Berikut query perintah dasar SQL pada DDL :

  1. CREATE

Database yaitu tempat untuk membangun sebuah basis data. Pada database terdapat tabel. Create digunakan untuk membuat sebuah objek dalam database. Query create bisa untuk CREATE Database dan CREATE Table. Berikut ini adalah perintah yang digunakan untuk membuat database dan tabel pada MySQL:

CREATE DATABASE

Query SQL dalam membuat sebuah database, sebagai berikut:

CREATE TABLE

Query SQL dalam membuat sebuah table, sebagai berikut:

Parameter kolom menentukan nama kolom tabel. parameter tipe data menentukan tipe data yang dapat disimpan oleh kolom. Contoh tipe data : varchar, int, float, date, dll.

Aturan penamaan database sama dengan aturan penamaan pada variabel yang terdiri dari huruf, angka, dan underscore. Penamaan database tidak boleh sama dengan database yang sudah ada. Jika penamaan sama, maka akan muncul error.

2. DROP

DROP merupakan perintah yang digunakan untuk penghapusan objek yang terdapat dalam database. Query drop terdapat 2 macam, yakni drop database dan drop table. Drop database untuk menghapus database sementara drop table untuk menghapus tabel.

DROP DATABASE

Query SQL untuk menghapus database, sebagai berikut:

DROP TABLES

Query SQL untuk menghapus tabel pada sebuah database, sebagai berikut:

Catatan:

Hati-hati sebelum menghapus database. Menghapus database akan mengakibatkan hilangnya informasi lengkap yang tersimpan database!

3. ALTER

ALTER digunakan untuk melakukan perubahan struktur suatu tabel atau memodifikasi bentuk kolom, mengganti ataupun sekedar menambah tabel yang sebelumnya sudah ada. Berikut beberapa perintah yang dapat digunakan untuk mengubah tabel dengan perintah ALTER :

a. Tambah Kolom/Field Baru

Query SQL untuk menambah field baru, sebagai berikut:

b. Menambah Primary Key

Query SQL untuk menambah primary key, sebagai berikut:

c. Mengubah Field atau Kolom

Query SQL untuk mengubah field baru, sebagai berikut:

d. Menghapus Nama Field

Query SQL untuk menghapus field, sebagai berikut:

e. Rename Nama Tabel

Query SQL untuk mengubah nama field, sebagai berikut:

Data Manipulation Language (DML)

Data Manipulation Language (DML) adalah kelompok perintah yang berfungsi untuk memanipulasi data dalam basis data, misalnya untuk pengambilan, penyisipan, perubahan, dan penghapus data.

DML yang banyak digunakan yaitu operasi CRUD. CRUD merupakan singkatan dari Create, Read, Update, dan Delete. Operasi CRUD nantinya yang akan melakukan manipulasi pada database.

Perintah yang termasuk dalam DML antara lain :

  1. Create

Create merupakan istilah untuk membuat atau menambahkan data ke dalam tabel yang sudah ada pada database.

Query SQL untuk menambahkan data ke dalam tabel, sebagai berikut:

atau

2. Read

Read merupakan istilah untuk menampilkan data dari tabel-tabel database.

Query SQL untuk menampilkan semua data dari tabel, sebagai berikut:

Query SQL untuk menampilkan beberapa data dari tabel, sebagai berikut:

atau, jika data yang mau ditampilkan berasal dari dua kolom berbeda, maka querynya, sebagai berikut:

3. Update

Update merupakan proses mengubah data yang sebelumnya telah tersimpan pada sebuah tabel di database. Proses perubahan data yang harus diperhatikan dengan menempatkan kondisi di akhir statement. Proses update dengan mengubah data lama dengan data record terbaru.

Query SQL untuk mengubah data dari tabel, sebagai berikut:

4. Delete

Delete merupakan suatu proses menghapus record yang telah ada pada tabel database. Query delete ini sangat membantu kesalahan pada human error yang melakukan salah input data.

Query SQL untuk menghapus data dari tabel, sebagai berikut:

D. Melakukan Create, Read, Update, dan Delete Suatu Data

Praktikum

Praktikum kali ini akan melakukan CRUD dinamis sederhana. Pada modul ini, bab pengenalan phpMyAdmin teman-teman sudah melakukan praktikum membangun database backend_3.

Nah, database tersebut akan kita gunakan untuk melakukan CRUD dengan menghubungkan script coding. CRUD dinamis berarti data dapat dimanipulasi sesuai kebutuhan admin dan file dapat terintegrasi satu sama lain.

  1. Gunakan database yang sudah dibuat sebelumnya

2. Buatlah folder ‘Backend_AMCC’ pada C:/xampp/htdocs

3. Buatlah folder ‘pelatihan_3’ pada C:/xampp/htdocs/Backend_AMCC

Note : pembuatan folder ini agar memudahkan teman-teman karena file coding jadi satu pada setiap folder pelatihannya. di pelatihan selanjutnya, buat folder baru dengan menggunakan format ‘pelatihan_4’ dst.

4. Buatlah folder ‘admin’ pada C:/xampp/htdocs/Backend_AMCC/pelatihan_3

5. Selanjutnya, dalam folder admin tadi buatlah file konfigurasi ‘config.php’ terlebih dahulu. File ini yang akan menghubungkan script coding dengan database.

<?php$config = mysqli_connect("localhost","root","","backend_3");if (!$config) {die('Gagal terhubung ke MySQL: '.mysqli_connect_error());}?>

6. Buatlah terlebih dahulu, tampilan form yang akan digunakan untuk menampilkan seluruh data yang telah disimpan pada database. Nama file ‘halamanuser.php

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Data Mahasiswa</title></head><body align="center"><h3>Data Mahasiswa</h3><p>[<a href="user_tambah.php">Tambah Data</a>]</p><table align="center" width="720" border="1" cellpadding="5" cellspacing="0"><tr><th width="30">No.</th><th width="30">NIM</th><th width="30">Nama Lengkap</th><th width="30">Alamat</th><th width="30">No HP</th><th width="50">Aksi</th></tr><?phpinclude "config.php";$sql = "SELECT nim, nama, alamat, no_hp FROM mahasiswa ORDER BY nim";$hasil = mysqli_query($config, $sql);$no = 1;while($data = mysqli_fetch_array($hasil)) {?><tr><td align="center"><?= $no ; ?></td><td align="center"><?= $data['nim'] ; ?></td><td><?= $data['nama'] ; ?></td><td><?= $data['alamat'] ; ?></td><td align="center"><?= $data['no_hp'] ; ?></td><td align="center"><a href="user_edit.php?nama=<?= $data['nama']; ?>">Edit</a> |<a href="user_hapus.php?nama=<?= $data['nama']; ?>">Hapus</a></td></tr>
<?php$no++;}?></table></body></html>

Setelah selesai menulis script programnya, jangan lupa untuk menjalankan Apache dan MySQL pada XAMPP. Selanjutnya, buka web browser untuk menampilkan hasil dari program tersebut seperti di dalam kotak garis merah.

7. Pada halaman user di atas, terdapat hyperlink [Tambah Data] untuk melakukan input data baru. Buat file program untuk membuat tampilan tambah data. Nama file ‘user_tambah.php

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Halaman Tambah Data</title></head><body><h3>Tambah Data Mahasiswa</h3><form action="user_tambah_action.php" method="POST"><table><tr><td>NIM</td><td></td><td>: <input type="text" name="nim"></td></tr><tr><td>Nama Lengkap</td><td></td><td>: <input type="text" name="nama"></td></tr><tr><td>Alamat</td><td></td><td>: <input type="text" name="alamat"></td></tr><tr><td>No HP</td><td></td><td>: <input type="text" name="no_hp"></td></tr><tr><td colspan="2"><input type="submit" name="simpan" value="Simpan"><input type="reset" name="batal" value="Batal"></td></tr></table></form></body></html>

Program tersebut, akan menampilkan tampilan seperti berikut. Setelah itu bisa diisikan data baru yang akan di input. Button ‘Simpan’ dan ‘Batal’ akan menampilkan “Not Found The requested URL was not found on this server.”

8. Selanjutnya, agar button ‘Simpan’ dan ‘Batal’ pada halaman user tidak Not Found. Buat file program baru untuk melakukan konfigurasi dengan database untuk proses simpan data di database. Nama file ‘user_tambah_action.php’

<?phpinclude "config.php";
$nim = $_POST['nim'];$nama = $_POST['nama'];$alamat = $_POST['alamat'];$no_hp = $_POST['no_hp'];$sql = "INSERT INTO mahasiswa (nim, nama, alamat, no_hp)VALUES ('$nim', '$nama', '$alamat', '$no_hp')";$hasil = mysqli_query($config, $sql);if ($hasil) {echo "Data berhasil ditambahkan!";}else {echo "Data gagal disimpan!";}?>

Program di atas terdapat percabangan if-else. Percabangan tersebut digunakan untuk memberikan informasi kepada user. Jika data sudah berhasil tersimpan ke database akan menampilkan tulisan “Data berhasil ditambahkan!” seperti tampilan berikut :

Pada nomor 2, menampilkan data baru yang telah diinputkan di atas. berarti, data sudah berhasil tersimpan ke dalam database

9. Proses tambah data sudah selesai. Kembali lagi pada halaman user pada kolom aksi terdapat hyperlink Edit. Buat file program untuk membuat tampilan edit data dari data yang sudah tersimpan di database. Nama file ‘user_edit.php

<!DOCTYPE html><html><head><title>Halaman Edit Data</title></head><body><?phpinclude "config.php";$data = $_GET['nim'];$sql = "SELECT * FROM mahasiswa WHERE nim='$data'";$hasil = mysqli_query($config, $sql);$data = mysqli_fetch_assoc($hasil);?><h3>Edit Data Mahasiswa</h3><form method=POST action="user_edit_action.php"><table><tr><td>NIM</td><td> : </td><td><input type="text" name="nim" value="<?php echo $data['nim']?>" hidden></td></tr><tr><td>Nama Lengkap</td><td> : </td><td><input type="text" name="nama" value="<?php echo $data['nama']?>"></td></tr><tr><td>Alamat</td><td> : </td><td><input type="text" name="alamat" value="<?php echo $data['alamat']?>"></td></tr><tr><td>No HP</td><td> : </td><td><input type="text" name="no_hp" value="<?php echo $data['no_hp']?>"></td></tr><tr><td colspan=2><input type="submit" name="ubah" value="Simpan"><input type="reset" value="Batal"></td></tr></table></form></body></html>

Hasil program di atas, langsung menampilkan data yang akan di edit. Pada halaman edit, proses edit yang dilakukan pada kolom No HP
*Note : untuk primary key, jangan diedit atau diubah

10. Seperti pada halaman tambah data, button ‘Simpan’ dan ‘Batal’ akan menampilkan Not Found. Agar button tersebut berfungsi, buat file baru untuk konfigurasi ke database lagi. Nama file ‘user_edit_action.php

<?phpinclude "config.php";$nim = $_POST['nim'];$nama = $_POST['nama'];$alamat = $_POST['alamat'];$no_hp = $_POST['no_hp'];$sql = "UPDATE mahasiswaSET  nama ='$nama',alamat ='$alamat',no_hp ='$no_hp'WHERE nim ='$nim'";$hasil = mysqli_query($config, $sql);if($hasil){echo "Data berhasil diubah!";}else{echo "Data gagal diubah!";}?>

Setelah membuat file baru untuk konfigurasi dengan database. Button ‘Simpan’ pada halaman edit sudah berfungsi. Hasil dari program edit data baru yang sudah tersimpan ke dalam database, seperti berikut :

Setelah data berhasil diedit pada nomor 6, akan menampilkan data baru pada kolom No HP

11. Proses edit selesai. Lanjut, pada halaman user dengan hyperlink hapus. Proses hapus ini akan menghapus data yang ada pada database. Buat file program baru untuk melakukan proses ini. Nama file ‘user_hapus.php

<?phpinclude "config.php";$data = $_GET['nama'];$sql = "DELETE FROM mahasiswa WHERE nama='$data'";mysqli_query($config, $sql);echo "Data berhasil dihapus!"?>

Menampilkan semua data, di bagian ini terdapat 7 data yang tampil dan akan melakukan proses hapus pada nomor 2

Informasi ketika data sudah berhasil terhapus.

Setelah data nomor 2 berhasil terhapus, akan menampilkan 6 data baru.

Praktikum pada Create, Read, Update, Delete atau CRUD telah selesai. Proses tambah data pada praktikum ini bisa disebut dengan Create. Untuk Read digunakan pada proses ambil data pada setiap program. Proses edit data bisa disebut Update. Terakhir, proses hapus data disebut Delete.

Yey, praktikum selesai!

Semangat terus ~

--

--