Difference between revisions of "Koneksi PHP ke MySQL"
Onnowpurbo (talk | contribs) (Created page with "Berikut adalah modul praktik yang membahas cara menghubungkan PHP dengan MySQL pada Ubuntu 24.04. Modul ini dirancang sebagai bagian dari kuliah pemrograman web dan tidak meng...") |
Onnowpurbo (talk | contribs) |
||
| Line 1: | Line 1: | ||
| − | + | ==Tujuan Pembelajaran:== | |
| + | * Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04. | ||
| + | * Membuat koneksi antara PHP dan MySQL untuk pengembangan aplikasi web dinamis. | ||
| − | + | ==Prasyarat:== | |
| − | + | * Komputer dengan sistem operasi Ubuntu 24.04. | |
| − | + | * Akses ke terminal dengan hak akses sudo. | |
| + | * Koneksi internet untuk mengunduh paket yang diperlukan. | ||
| − | + | ==Bagian 1: Instalasi LAMP Stack== | |
| − | |||
| − | |||
| − | |||
| − | + | LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP. Berikut adalah langkah-langkah untuk menginstalnya: | |
| − | + | 1. '''Perbarui daftar paket:''' | |
| + | |||
| + | sudo apt update | ||
| − | + | 2. '''Instal Apache:''' | |
| − | + | ||
| − | + | sudo apt install apache2 | |
| − | |||
| − | |||
| − | + | Setelah instalasi, verifikasi bahwa Apache berjalan: | |
| − | + | ||
| − | + | sudo systemctl status apache2 | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Pastikan statusnya "active (running)". | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 3. '''Instal MySQL:''' | |
| − | + | ||
| − | + | sudo apt install mysql-server | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Setelah instalasi, amankan MySQL dengan: | |
| + | |||
| + | sudo mysql_secure_installation | ||
| − | + | Ikuti petunjuk untuk mengatur kata sandi root dan opsi keamanan lainnya. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 4. '''Instal PHP:''' | |
| − | + | ||
| − | + | sudo apt install php libapache2-mod-php php-mysql | |
| − | |||
| − | |||
| − | + | Verifikasi instalasi PHP dengan membuat file `info.php` di direktori root web: | |
| − | + | ||
| − | + | echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php | |
| − | |||
| − | |||
| − | + | Kemudian, buka `http://localhost/info.php` di browser Anda untuk melihat informasi PHP. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ==Bagian 2: Membuat Basis Data dan Tabel Pengguna== | |
| − | 1. | + | 1. '''Masuk ke MySQL:''' |
| − | + | ||
| − | + | sudo mysql | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 2. '''Buat basis data baru:''' | |
| − | + | ||
| + | CREATE DATABASE pengelolaan_pengguna; | ||
| − | + | 3. '''Gunakan basis data tersebut:''' | |
| − | + | ||
| − | + | USE pengelolaan_pengguna; | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | 4. '''Buat tabel `pengguna`:''' | |
| − | + | ||
| + | CREATE TABLE pengguna ( | ||
| + | id INT AUTO_INCREMENT PRIMARY KEY, | ||
| + | nama VARCHAR(100), | ||
| + | email VARCHAR(100), | ||
| + | kata_sandi VARCHAR(255) | ||
| + | ); | ||
| − | + | '''Bagian 3: Menghubungkan PHP ke MySQL''' | |
| − | 1. | + | 1. '''Buat file `koneksi.php` di direktori root web:''' |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | <pre> | |
| + | <?php | ||
| + | $servername = "localhost"; | ||
| + | $username = "root"; | ||
| + | $password = ""; | ||
| + | $dbname = "pengelolaan_pengguna"; | ||
| + | |||
| + | // Membuat koneksi | ||
| + | $conn = new mysqli($servername, $username, $password, $dbname); | ||
| + | |||
| + | // Periksa koneksi | ||
| + | if ($conn->connect_error) { | ||
| + | die("Koneksi gagal: " . $conn->connect_error); | ||
| + | } | ||
| + | echo "Koneksi berhasil"; | ||
| + | ?> | ||
| + | </pre> | ||
| − | + | Simpan file ini sebagai `koneksi.php` di direktori `/var/www/html/`. | |
| − | + | 2. '''Uji Koneksi:''' | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Buka browser dan akses `http://localhost/koneksi.php`. Jika koneksi berhasil, Anda akan melihat pesan "Koneksi berhasil". | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | ==Bagian 4: Menambahkan Data Pengguna melalui Formulir PHP== | |
| − | |||
| − | + | 1. '''Buat file `tambah_pengguna.php`:''' | |
| − | + | ||
| − | + | <pre> | |
| − | + | <?php | |
| + | if ($_SERVER["REQUEST_METHOD"] == "POST") { | ||
| + | $nama = $_POST['nama']; | ||
| + | $email = $_POST['email']; | ||
| + | $kata_sandi = password_hash($_POST['kata_sandi'], PASSWORD_DEFAULT); | ||
| + | |||
| + | require 'koneksi.php'; | ||
| + | |||
| + | $sql = "INSERT INTO pengguna (nama, email, kata_sandi) VALUES ('$nama', '$email', '$kata_sandi')"; | ||
| + | |||
| + | if ($conn->query($sql) === TRUE) { | ||
| + | echo "Pendaftaran berhasil"; | ||
| + | } else { | ||
| + | echo "Error: " . $sql . "<br>" . $conn->error; | ||
| + | } | ||
| + | |||
| + | $conn->close(); | ||
| + | } | ||
| + | ?> | ||
| + | </pre> | ||
| + | |||
| + | <pre> | ||
| + | <!DOCTYPE html> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>Formulir Pendaftaran</title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <h2>Formulir Pendaftaran Pengguna</h2> | ||
| + | <form method="post" action=""> | ||
| + | Nama: <input type="text" name="nama" required><br> | ||
| + | Email: <input type="email" name="email" required><br> | ||
| + | Kata Sandi: <input type="password" name="kata_sandi" required><br> | ||
| + | <input type="submit" value="Daftar"> | ||
| + | </form> | ||
| + | </body> | ||
| + | </html> | ||
| + | </pre> | ||
| + | |||
| + | Simpan file ini sebagai `tambah_pengguna.php` di direktori `/var/www/html/`. | ||
| + | |||
| + | 2. '''Uji Formulir Pendaftaran:''' | ||
| + | |||
| + | Buka browser dan akses `http://localhost/tambah_pengguna.php`. Isi formulir dan kirimkan untuk menambahkan pengguna baru ke basis data. | ||
| + | |||
| + | ==Catatan Keamanan:== | ||
| + | * Selalu gunakan metode hashing yang kuat seperti `password_hash()` untuk menyimpan kata sandi pengguna. | ||
| + | * Lakukan validasi dan sanitasi data yang diterima dari pengguna untuk mencegah serangan injeksi SQL. | ||
| + | * Pertimbangkan untuk menggunakan Prepared Statements atau PDO untuk interaksi yang lebih aman dengan basis data. | ||
| + | |||
| + | |||
| + | ==Pranala Menarik== | ||
| + | |||
| + | * [[Web Programming]] | ||
Latest revision as of 07:18, 7 April 2025
Tujuan Pembelajaran:
- Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04.
- Membuat koneksi antara PHP dan MySQL untuk pengembangan aplikasi web dinamis.
Prasyarat:
- Komputer dengan sistem operasi Ubuntu 24.04.
- Akses ke terminal dengan hak akses sudo.
- Koneksi internet untuk mengunduh paket yang diperlukan.
Bagian 1: Instalasi LAMP Stack
LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP. Berikut adalah langkah-langkah untuk menginstalnya:
1. Perbarui daftar paket:
sudo apt update
2. Instal Apache:
sudo apt install apache2
Setelah instalasi, verifikasi bahwa Apache berjalan:
sudo systemctl status apache2
Pastikan statusnya "active (running)".
3. Instal MySQL:
sudo apt install mysql-server
Setelah instalasi, amankan MySQL dengan:
sudo mysql_secure_installation
Ikuti petunjuk untuk mengatur kata sandi root dan opsi keamanan lainnya.
4. Instal PHP:
sudo apt install php libapache2-mod-php php-mysql
Verifikasi instalasi PHP dengan membuat file `info.php` di direktori root web:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Kemudian, buka `http://localhost/info.php` di browser Anda untuk melihat informasi PHP.
Bagian 2: Membuat Basis Data dan Tabel Pengguna
1. Masuk ke MySQL:
sudo mysql
2. Buat basis data baru:
CREATE DATABASE pengelolaan_pengguna;
3. Gunakan basis data tersebut:
USE pengelolaan_pengguna;
4. Buat tabel `pengguna`:
CREATE TABLE pengguna (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
email VARCHAR(100),
kata_sandi VARCHAR(255)
);
Bagian 3: Menghubungkan PHP ke MySQL
1. Buat file `koneksi.php` di direktori root web:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "pengelolaan_pengguna";
// Membuat koneksi
$conn = new mysqli($servername, $username, $password, $dbname);
// Periksa koneksi
if ($conn->connect_error) {
die("Koneksi gagal: " . $conn->connect_error);
}
echo "Koneksi berhasil";
?>
Simpan file ini sebagai `koneksi.php` di direktori `/var/www/html/`.
2. Uji Koneksi:
Buka browser dan akses `http://localhost/koneksi.php`. Jika koneksi berhasil, Anda akan melihat pesan "Koneksi berhasil".
Bagian 4: Menambahkan Data Pengguna melalui Formulir PHP
1. Buat file `tambah_pengguna.php`:
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = $_POST['nama'];
$email = $_POST['email'];
$kata_sandi = password_hash($_POST['kata_sandi'], PASSWORD_DEFAULT);
require 'koneksi.php';
$sql = "INSERT INTO pengguna (nama, email, kata_sandi) VALUES ('$nama', '$email', '$kata_sandi')";
if ($conn->query($sql) === TRUE) {
echo "Pendaftaran berhasil";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Formulir Pendaftaran</title>
</head>
<body>
<h2>Formulir Pendaftaran Pengguna</h2>
<form method="post" action="">
Nama: <input type="text" name="nama" required><br>
Email: <input type="email" name="email" required><br>
Kata Sandi: <input type="password" name="kata_sandi" required><br>
<input type="submit" value="Daftar">
</form>
</body>
</html>
Simpan file ini sebagai `tambah_pengguna.php` di direktori `/var/www/html/`.
2. Uji Formulir Pendaftaran:
Buka browser dan akses `http://localhost/tambah_pengguna.php`. Isi formulir dan kirimkan untuk menambahkan pengguna baru ke basis data.
Catatan Keamanan:
- Selalu gunakan metode hashing yang kuat seperti `password_hash()` untuk menyimpan kata sandi pengguna.
- Lakukan validasi dan sanitasi data yang diterima dari pengguna untuk mencegah serangan injeksi SQL.
- Pertimbangkan untuk menggunakan Prepared Statements atau PDO untuk interaksi yang lebih aman dengan basis data.