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.