<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="id">
	<id>https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Praktik%3A_Membuat_halaman_login_sederhana</id>
	<title>Praktik: Membuat halaman login sederhana - Riwayat revisi</title>
	<link rel="self" type="application/atom+xml" href="https://cbtlmsts.my.id/wikits/index.php?action=history&amp;feed=atom&amp;title=Praktik%3A_Membuat_halaman_login_sederhana"/>
	<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Praktik:_Membuat_halaman_login_sederhana&amp;action=history"/>
	<updated>2026-08-29T18:10:49Z</updated>
	<subtitle>Riwayat revisi halaman ini di wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://cbtlmsts.my.id/wikits/index.php?title=Praktik:_Membuat_halaman_login_sederhana&amp;diff=31&amp;oldid=prev</id>
		<title>Admin: ←Membuat halaman berisi &#039;==Tujuan Pembelajaran:== * Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04. * Membuat halaman login sederhana dengan PHP dan MySQL. * Mengimplementasikan dasar-dasar autentikasi pengguna.  ==Prasyarat:== * Komputer dengan sistem operasi Ubuntu 24.04. * Akses ke terminal dengan hak akses sudo. * Koneksi internet untuk mengunduh paket yang diperlukan.  ==Langkah 1: Instalasi LAMP Stack==  LAMP adalah...&#039;</title>
		<link rel="alternate" type="text/html" href="https://cbtlmsts.my.id/wikits/index.php?title=Praktik:_Membuat_halaman_login_sederhana&amp;diff=31&amp;oldid=prev"/>
		<updated>2025-05-10T13:59:46Z</updated>

		<summary type="html">&lt;p&gt;←Membuat halaman berisi &amp;#039;==Tujuan Pembelajaran:== * Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04. * Membuat halaman login sederhana dengan PHP dan MySQL. * Mengimplementasikan dasar-dasar autentikasi pengguna.  ==Prasyarat:== * Komputer dengan sistem operasi Ubuntu 24.04. * Akses ke terminal dengan hak akses sudo. * Koneksi internet untuk mengunduh paket yang diperlukan.  ==Langkah 1: Instalasi LAMP Stack==  LAMP adalah...&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Halaman baru&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Tujuan Pembelajaran:==&lt;br /&gt;
* Memahami cara mengatur lingkungan pengembangan web menggunakan LAMP (Linux, Apache, MySQL, PHP) pada Ubuntu 24.04.&lt;br /&gt;
* Membuat halaman login sederhana dengan PHP dan MySQL.&lt;br /&gt;
* Mengimplementasikan dasar-dasar autentikasi pengguna.&lt;br /&gt;
&lt;br /&gt;
==Prasyarat:==&lt;br /&gt;
* Komputer dengan sistem operasi Ubuntu 24.04.&lt;br /&gt;
* Akses ke terminal dengan hak akses sudo.&lt;br /&gt;
* Koneksi internet untuk mengunduh paket yang diperlukan.&lt;br /&gt;
&lt;br /&gt;
==Langkah 1: Instalasi LAMP Stack==&lt;br /&gt;
&lt;br /&gt;
LAMP adalah singkatan dari Linux, Apache, MySQL, dan PHP. Berikut adalah langkah-langkah untuk menginstalnya:&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Perbarui daftar paket:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Instal Apache:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 sudo apt install apache2&lt;br /&gt;
&lt;br /&gt;
Setelah instalasi, verifikasi bahwa Apache berjalan:&lt;br /&gt;
   &lt;br /&gt;
 sudo systemctl status apache2&lt;br /&gt;
&lt;br /&gt;
Jika berjalan dengan baik, Anda akan melihat status &amp;quot;active (running)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;Instal MySQL:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 sudo apt install mysql-server&lt;br /&gt;
&lt;br /&gt;
Setelah instalasi, amankan instalasi MySQL dengan:&lt;br /&gt;
   &lt;br /&gt;
 sudo mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Ikuti petunjuk untuk mengatur kata sandi root dan opsi keamanan lainnya.&lt;br /&gt;
&lt;br /&gt;
4. &amp;#039;&amp;#039;&amp;#039;Instal PHP:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 sudo apt install php libapache2-mod-php php-mysql&lt;br /&gt;
&lt;br /&gt;
Verifikasi instalasi PHP dengan membuat file `info.php` di direktori root web:&lt;br /&gt;
   &lt;br /&gt;
 echo &amp;quot;&amp;lt;?php phpinfo(); ?&amp;gt;&amp;quot; | sudo tee /var/www/html/info.php&lt;br /&gt;
&lt;br /&gt;
Kemudian, buka `http://localhost/info.php` di browser Anda untuk melihat informasi PHP.&lt;br /&gt;
&lt;br /&gt;
==Langkah 2: Membuat Basis Data dan Tabel Pengguna==&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Masuk ke MySQL:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 sudo mysql -u root -p&lt;br /&gt;
&lt;br /&gt;
Masukkan kata sandi root yang telah Anda atur sebelumnya.&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Buat basis data baru:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
 &lt;br /&gt;
 CREATE DATABASE login_system;&lt;br /&gt;
&lt;br /&gt;
3. &amp;#039;&amp;#039;&amp;#039;Gunakan basis data tersebut:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 USE login_system;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. &amp;#039;&amp;#039;&amp;#039;Buat tabel `users`:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
   &lt;br /&gt;
 CREATE TABLE users (&lt;br /&gt;
     id INT AUTO_INCREMENT PRIMARY KEY,&lt;br /&gt;
     username VARCHAR(50) NOT NULL UNIQUE,&lt;br /&gt;
     password VARCHAR(255) NOT NULL&lt;br /&gt;
 );&lt;br /&gt;
&lt;br /&gt;
Tabel ini akan menyimpan nama pengguna dan kata sandi yang telah di-hash.&lt;br /&gt;
&lt;br /&gt;
==Langkah 3: Membuat Formulir Login dengan PHP==&lt;br /&gt;
&lt;br /&gt;
1. &amp;#039;&amp;#039;&amp;#039;Buat file `index.php` di direktori root web:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 session_start();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
 &amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
 &amp;lt;html&amp;gt;&lt;br /&gt;
 &amp;lt;head&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;Login&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;style&amp;gt;&lt;br /&gt;
         body {&lt;br /&gt;
             font-family: Arial, sans-serif;&lt;br /&gt;
             background-color: #f2f2f2;&lt;br /&gt;
             display: flex;&lt;br /&gt;
             justify-content: center;&lt;br /&gt;
             align-items: center;&lt;br /&gt;
             height: 100vh;&lt;br /&gt;
         }&lt;br /&gt;
         .container {&lt;br /&gt;
             background-color: #fff;&lt;br /&gt;
             padding: 20px;&lt;br /&gt;
             border-radius: 5px;&lt;br /&gt;
             box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);&lt;br /&gt;
         }&lt;br /&gt;
         input[type=&amp;quot;text&amp;quot;], input[type=&amp;quot;password&amp;quot;] {&lt;br /&gt;
             width: 100%;&lt;br /&gt;
             padding: 10px;&lt;br /&gt;
             margin: 5px 0 15px 0;&lt;br /&gt;
             border: 1px solid #ccc;&lt;br /&gt;
             border-radius: 4px;&lt;br /&gt;
         }&lt;br /&gt;
         button {&lt;br /&gt;
             background-color: #4CAF50;&lt;br /&gt;
             color: white;&lt;br /&gt;
             padding: 10px 15px;&lt;br /&gt;
             border: none;&lt;br /&gt;
             border-radius: 4px;&lt;br /&gt;
             cursor: pointer;&lt;br /&gt;
         }&lt;br /&gt;
         button:hover {&lt;br /&gt;
             background-color: #45a049;&lt;br /&gt;
         }&lt;br /&gt;
         .error {&lt;br /&gt;
             color: red;&lt;br /&gt;
         }&lt;br /&gt;
     &amp;lt;/style&amp;gt;&lt;br /&gt;
 &amp;lt;/head&amp;gt;&lt;br /&gt;
 &amp;lt;body&amp;gt;&lt;br /&gt;
      &amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;h2&amp;gt;Login&amp;lt;/h2&amp;gt;&lt;br /&gt;
         &amp;lt;?php&lt;br /&gt;
         if (isset($_SESSION[&amp;#039;error&amp;#039;])) {&lt;br /&gt;
             echo &amp;#039;&amp;lt;p class=&amp;quot;error&amp;quot;&amp;gt;&amp;#039; . $_SESSION[&amp;#039;error&amp;#039;] . &amp;#039;&amp;lt;/p&amp;gt;&amp;#039;;&lt;br /&gt;
             unset($_SESSION[&amp;#039;error&amp;#039;]);&lt;br /&gt;
         }&lt;br /&gt;
         ?&amp;gt;&lt;br /&gt;
         &amp;lt;form action=&amp;quot;login.php&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;username&amp;quot;&amp;gt;Username&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;text&amp;quot; id=&amp;quot;username&amp;quot; name=&amp;quot;username&amp;quot; required&amp;gt;&lt;br /&gt;
             &amp;lt;label for=&amp;quot;password&amp;quot;&amp;gt;Password&amp;lt;/label&amp;gt;&lt;br /&gt;
             &amp;lt;input type=&amp;quot;password&amp;quot; id=&amp;quot;password&amp;quot; name=&amp;quot;password&amp;quot; required&amp;gt;&lt;br /&gt;
             &amp;lt;button type=&amp;quot;submit&amp;quot;&amp;gt;Login&amp;lt;/button&amp;gt;&lt;br /&gt;
         &amp;lt;/form&amp;gt;&lt;br /&gt;
     &amp;lt;/div&amp;gt;&lt;br /&gt;
 &amp;lt;/body&amp;gt;&lt;br /&gt;
 &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Kode di atas membuat formulir login dengan bidang untuk nama pengguna dan kata sandi.&lt;br /&gt;
&lt;br /&gt;
2. &amp;#039;&amp;#039;&amp;#039;Buat file `login.php` untuk memproses login:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 &amp;lt;?php&lt;br /&gt;
 session_start();&lt;br /&gt;
 &lt;br /&gt;
 // Membuat koneksi ke database&lt;br /&gt;
 $mysqli = new mysqli(&amp;quot;localhost&amp;quot;, &amp;quot;root&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;login_system&amp;quot;); &lt;br /&gt;
 &lt;br /&gt;
 // Periksa koneksi&lt;br /&gt;
 if ($mysqli-&amp;gt;connect_error) {&lt;br /&gt;
     die(&amp;quot;Koneksi gagal: &amp;quot; . $mysqli-&amp;gt;connect_error);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Periksa apakah metode request adalah POST&lt;br /&gt;
 if ($_SERVER[&amp;quot;REQUEST_METHOD&amp;quot;] == &amp;quot;POST&amp;quot;) {&lt;br /&gt;
     // Mencegah SQL Injection dengan prepared statements&lt;br /&gt;
     $stmt = $mysqli-&amp;gt;prepare(&amp;quot;SELECT id, username, password FROM users WHERE username = ?&amp;quot;);&lt;br /&gt;
     $stmt-&amp;gt;bind_param(&amp;quot;s&amp;quot;, $username);&lt;br /&gt;
 &lt;br /&gt;
     // Ambil data dari form&lt;br /&gt;
     $username = $_POST[&amp;#039;username&amp;#039;];&lt;br /&gt;
     $password = $_POST[&amp;#039;password&amp;#039;];&lt;br /&gt;
 &lt;br /&gt;
     // Eksekusi statement&lt;br /&gt;
     $stmt-&amp;gt;execute();&lt;br /&gt;
     $result = $stmt-&amp;gt;get_result();&lt;br /&gt;
 &lt;br /&gt;
     // Periksa apakah username ditemukan&lt;br /&gt;
     if ($result-&amp;gt;num_rows == 1) {&lt;br /&gt;
         $user = $result-&amp;gt;fetch_assoc();&lt;br /&gt;
         // Verifikasi password&lt;br /&gt;
         if (password_verify($password, $user[&amp;#039;password&amp;#039;])) {&lt;br /&gt;
             // Password benar, buat session&lt;br /&gt;
             $_SESSION[&amp;#039;user_id&amp;#039;] = $user[&amp;#039;id&amp;#039;];&lt;br /&gt;
             $_SESSION[&amp;#039;username&amp;#039;] = $user[&amp;#039;username&amp;#039;];&lt;br /&gt;
             // Redirect ke halaman dashboard atau halaman lain yang diinginkan&lt;br /&gt;
             header(&amp;quot;Location: dashboard.php&amp;quot;);&lt;br /&gt;
             exit();&lt;br /&gt;
         } else {&lt;br /&gt;
             // Password salah&lt;br /&gt;
             $error = &amp;quot;Password yang Anda masukkan salah.&amp;quot;;&lt;br /&gt;
         }&lt;br /&gt;
     } else {&lt;br /&gt;
         // Username tidak ditemukan&lt;br /&gt;
         $error = &amp;quot;Username tidak ditemukan.&amp;quot;;&lt;br /&gt;
     } &lt;br /&gt;
 &lt;br /&gt;
     // Tutup statement&lt;br /&gt;
     $stmt-&amp;gt;close();&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 // Tutup koneksi&lt;br /&gt;
 $mysqli-&amp;gt;close();&lt;br /&gt;
 ?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pranala Menarik==&lt;br /&gt;
&lt;br /&gt;
* [[Web Programming]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>