Modul Pemrograman Web
Modul Pemrograman Web
KOMPETENSI KEAHLIAN
REKAYASA PERANGKAT LUNAK
SMK MUHAMMADIYAH PEKALONGAN
Jl. AMD No. 1 Pasirkratonkramat, Pekalongan Barat, Kota Pekalongan
2021
PENDAHULUAN
API yang pertama sudah tidak didukung lagi sejak PHP versi 5.5.x dan digantikan
dengan mysqli yang lebih canggih. Karena mysqli dapat digunakan secara Object
Oriented Programming (OOP) dan prosedural.
Sedangkan API PDO digunakan untuk menghubungkan PHP dengan vendor
database yang lainnya. Jadi tidak hanya untuk MySQL saja.
Menyiapkan Database
Pertama, mari kita membuat database mengunakan phpMyAdmin. Pada
gambar dibawah ini, klik New kemudian pilih Create database dengan nama
pendaftaran_siswa lalu klik tombol Create.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Kemudian isikan sesuai dengan gambar berikut beserta tipe data dan index
nya seperti dibawah ini.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Silahkan isi seperti berikut:
Menyiapkan Direktori
Membuat Direktori di C:\xampp\htdocs\ dengan nama pendaftaran dan
nantinya akan kita isikan file sebagai berikut:
config.php — untuk menyimpan konfigurasi database;
index.php — halaman utama;
list-siswa.php — halaman untuk menampilkan data siswa;
form-daftar.php — halaman formulir pendaftaran;
proses-pendaftaran.php — skrip yang memproses pendaftaran;
form-edit.php — form untuk edit data siswa;
proses-edit.php — skrip untuk memproses edit/update;
hapus.php — skrip untuk menghapus data dari database;
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Untuk menghubungkan PHP dengan MySQL, kita menggunakan fungsi
mysqli_connect() dengan parameter alamat server, user, password, dan
nama database.
Jika koneksi gagal, variabel $db akan bernilai false. Karena itu, kita bisa
mengeceknya dengan ekspresi if.
if( !$db ){
die("Gagal terhubung dengan database: " .
mysqli_connect_error());
}
form-daftar.php
Formulir Pendaftaran
Tambah baru
No Nama ...
Edit | Hapus
Edit | Hapus
Gambar diatas terdiri dari menu utama ( index.php ) berisi Daftar Baru dan
Pendaftar. Bila di klik Daftar Baru, maka akan tampil halaman form-
daftar.php. Apabila di klik Pendaftar, maka akan tampil halaman list-
siswa.php dan didalamnya terdapat tombol/link Tambah baru, maka akan
masuk ke halaman form-daftar.php.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Sekarang, kita akan membuat file index.php dengan kode berikut:
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Pertama kita membutuhkan koneksi ke database, maka kita harus mengimpor
file config.php agar variabel $db dapat dibaca.
<?php include("config.php"); ?>
Setelah itu, kita melakukan query untuk mengambil data siswa pada
tabel calon_siswa.
$sql = "SELECT * FROM calon_siswa";
$query = mysqli_query($db, $sql);
Hasil dari query tersetbut, kemudian kita ubah menjadi array dengan
fungsi mysqli_fetch_array() dan hasilnya disimpan dalam
variabel $siswa.
$siswa = mysqli_fetch_array($query)
Perulangan while akan mengulang selama masih ada isi dalam tabel. Kemudain,
selama perulangan…kita tampilkan datanya.
while($siswa = mysqli_fetch_array($query)){
echo "<tr>";
echo "<td>".$siswa['id']."</td>";
echo "<td>".$siswa['nama']."</td>";
echo "<td>".$siswa['alamat']."</td>";
echo "<td>".$siswa['jenis_kelamin']."</td>";
echo "<td>".$siswa['agama']."</td>";
echo "<td>".$siswa['sekolah_asal']."</td>";
echo "<td>";
echo "<a href='form-edit.php?id=".$siswa['id']."'>
Edit</a> | ";
echo "<a href='hapus.php?id=".$siswa['id']."'>
Hapus</a>";
echo "</td>";
echo "</tr>";
}
Perhatikan array $siswa, indeksnya sesuai dengan nama kolom pada database
dan bersifat case sensitive. Dan apabila kita menampilkan total data yang ada di
dalam tabel dengan fungsi mysqli_num_rows().
echo mysqli_num_rows($query);
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Menambahkan Data ke Tabel MySQL
Ada dua file yang kita butuhkan untuk menambahkan data ke MySQL.
1. form-daftar.php halaman untuk form input;
2. proses-pendaftaran.php skrip untuk memproses data yang diinputkan.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Perhatikan pada tag pembuka <form>, di sana kita menggunakan atribut
action dan method.
<form action="proses-pendaftaran.php" method="POST">
...
Atribut action digunakan untuk menentukan skrip mana yang akan memproses
data inputan. Sedangkan atribut method untuk menentukan metode pengiriman
datanya. Pada input-nya, disana ada atribut name. Atribut ini untuk menentukan
kunci indeks dari array $_POST dan $_GET.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Selanjutnya silahkan isi file proses-pendaftaran.php dengan kode berikut:
Pertama kita ambil data yang dikirim dari formulir, semuanya tersimpan pada
variabel $_POST. Karena tadi kita menggunakan method POST pada form.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Hasilnya:
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Sekarang coba klik link hapus, maka datanya akan langsung terhapus.
Sebenarnya cara ini tidak aman, karena kita tidak meberikan konfirmasi kepada
user. Misalnya seperti mananyakan ‘Apakah yakin akan menghapus?’
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web
Ada beberapa hal yang perlu diperhatikan dalam kode tersebut.
Pertama kita mengubah data dari hasil query menjadi array dengan
menggunakan fungsi mysqli_fetch_assoc().
Kenapa menggunakan fungsi tersebut? Karena data yang akan kita ambil adalah
satu baris dan agar indeks array-nya menggunakan nama kolom.
Kemudian data tersebut kita tampilkan untuk menjadi nilai default pada form.
Jangan lupa untuk membuat input id dengan tipe hidden untuk
menyimpan id data yang akan di-update.
<input type="hidden" name="id" value="<?php echo
$siswa['id'] ?>" />
Untuk input radio dan select, kita menggunakan operator ternary agar bisa
membuat atribut checked dan selected.
Modul: Membuat Sisfo Pendaftaran Siswa Berbasis Web Klaster: Pemrograman Web