Halo para calon web developer! Ingin mencoba membuat website sendiri tapi bingung mulai dari mana? Artikel ini akan membimbing kamu melalui contoh project web development sederhana menggunakan PHP. Kami akan memberikan tutorial praktis langkah demi langkah, sehingga kamu bisa langsung praktik dan merasakan pengalaman membangun website sendiri. PHP adalah bahasa pemrograman server-side yang populer dan banyak digunakan, jadi ini adalah skill yang sangat berharga untuk dikuasai. Mari kita mulai!
1. Kenalan Dulu dengan PHP: Apa itu PHP dan Mengapa Memilihnya?
Sebelum masuk ke contoh project web development sederhana, mari kita pahami dulu apa itu PHP. PHP (Hypertext Preprocessor) adalah bahasa pemrograman server-side yang dirancang khusus untuk pengembangan web. Artinya, kode PHP dijalankan di server web, menghasilkan HTML yang kemudian dikirim ke browser pengguna.
Mengapa memilih PHP?
- Mudah Dipelajari: Sintaks PHP relatif mudah dipahami, terutama jika kamu sudah memiliki dasar-dasar pemrograman.
- Populer dan Didukung Luas: PHP digunakan oleh jutaan website di seluruh dunia, yang berarti banyak sumber daya, komunitas, dan framework yang tersedia.
- Gratis dan Open Source: PHP gratis digunakan dan didistribusikan, sehingga kamu tidak perlu membayar lisensi.
- Kompatibel dengan Banyak Database: PHP dapat terhubung ke berbagai database populer seperti MySQL, PostgreSQL, dan MongoDB.
- Banyak Framework yang Tersedia: Framework seperti Laravel, CodeIgniter, dan Symfony mempermudah dan mempercepat proses pengembangan web dengan menyediakan struktur dan komponen yang siap pakai.
Dengan kelebihan-kelebihan ini, PHP menjadi pilihan yang tepat untuk contoh project web development sederhana kita.
2. Persiapan Lingkungan Pengembangan: Menginstall XAMPP untuk Memulai
Sebelum bisa menulis dan menjalankan kode PHP, kita perlu menyiapkan lingkungan pengembangan. Cara termudah adalah dengan menggunakan XAMPP.
Apa itu XAMPP?
XAMPP adalah paket perangkat lunak gratis yang berisi Apache (web server), MySQL (database), PHP, dan Perl. Dengan XAMPP, kita bisa dengan mudah membuat server web lokal di komputer kita.
Cara Menginstall XAMPP:
- Download XAMPP: Kunjungi website Apache Friends (apachefriends.org) dan download versi XAMPP yang sesuai dengan sistem operasi kamu (Windows, macOS, atau Linux).
- Install XAMPP: Ikuti petunjuk instalasi. Biasanya, proses instalasi cukup straightforward. Pastikan kamu memilih folder yang mudah diingat untuk instalasi XAMPP.
- Jalankan XAMPP Control Panel: Setelah instalasi selesai, buka XAMPP Control Panel.
- Start Apache dan MySQL: Klik tombol “Start” di samping Apache dan MySQL. Jika semuanya berjalan lancar, indikator akan berubah menjadi hijau.
Setelah Apache dan MySQL berjalan, kita sudah siap untuk memulai contoh project web development sederhana menggunakan PHP. Web server lokal kita sudah siap!
3. Struktur Dasar Project Web: Membuat Folder dan File Awal
Sekarang, mari kita buat struktur dasar untuk project web kita.
- Buat Folder Project: Masuk ke folder instalasi XAMPP kamu (biasanya
C:xamppdi Windows atau/opt/lamppdi Linux). Kemudian, masuk ke folderhtdocs. Di dalam folderhtdocs, buat folder baru dengan nama project kamu, misalnyaproject-php-sederhana. - Buat File
index.php: Di dalam folderproject-php-sederhana, buat file baru dengan namaindex.php. File ini akan menjadi halaman utama website kita. - Buka File
index.phpdengan Text Editor: Gunakan text editor favorit kamu (seperti VS Code, Sublime Text, Notepad++, atau lainnya) untuk membuka fileindex.php.
Struktur folder project kita sekarang seharusnya terlihat seperti ini:
xampp/
htdocs/
project-php-sederhana/
index.php
Ini adalah langkah penting dalam contoh project web development sederhana ini. Kita akan menulis kode PHP kita di dalam file index.php.
4. Contoh Project Web Development Sederhana: Menampilkan Hello World!
Mari kita mulai dengan hal yang paling sederhana: menampilkan teks “Hello World!” di halaman web kita.
-
Edit File
index.php: Tambahkan kode PHP berikut ke dalam fileindex.php:<!DOCTYPE html> <html> <head> <title>Project PHP Sederhana</title> </head> <body> <h1><?php echo "Hello World!"; ?></h1> </body> </html> -
Jalankan Project: Buka browser kamu dan ketikkan alamat
http://localhost/project-php-sederhana/di address bar.
Jika semuanya berjalan lancar, kamu akan melihat tulisan “Hello World!” di halaman web kamu. Selamat! Kamu telah berhasil membuat contoh project web development sederhana pertama kamu menggunakan PHP. Kode PHP <?php echo "Hello World!"; ?> bertanggung jawab untuk menghasilkan teks “Hello World!”.
5. Membuat Halaman Dinamis: Menggunakan Variabel dan Kondisi
Sekarang, mari kita tingkatkan sedikit dengan membuat halaman yang lebih dinamis. Kita akan menggunakan variabel dan kondisi.
-
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:<!DOCTYPE html> <html> <head> <title>Project PHP Sederhana - Halaman Dinamis</title> </head> <body> <?php $nama = "Pengguna"; $waktu = date("H"); // Mendapatkan jam saat ini if ($waktu < 12) { $salam = "Selamat Pagi"; } elseif ($waktu < 18) { $salam = "Selamat Siang"; } else { $salam = "Selamat Malam"; } ?> <h1><?php echo $salam . ", " . $nama . "!"; ?></h1> </body> </html> -
Jalankan Project: Refresh halaman di browser kamu.
Kamu akan melihat sapaan yang berbeda-beda tergantung jam saat ini. Misalnya, jika jam saat ini adalah pagi hari, kamu akan melihat “Selamat Pagi, Pengguna!”.
Penjelasan Kode:
$nama = "Pengguna";: Mendeklarasikan variabel$namadan memberikan nilai “Pengguna”.$waktu = date("H");: Mendapatkan jam saat ini (dalam format 24 jam).if ($waktu < 12) { ... } elseif ($waktu < 18) { ... } else { ... }: Menggunakan strukturif-elseif-elseuntuk menentukan sapaan yang sesuai berdasarkan jam saat ini.echo $salam . ", " . $nama . "!";: Menampilkan sapaan yang telah ditentukan.
Contoh ini menunjukkan bagaimana kita bisa membuat halaman web yang lebih dinamis dengan menggunakan variabel dan kondisi dalam PHP. Ini adalah langkah penting dalam contoh project web development sederhana ini.
6. Interaksi dengan Database: Menampilkan Data dari MySQL
Salah satu kegunaan utama PHP adalah untuk berinteraksi dengan database. Mari kita coba menampilkan data dari database MySQL.
-
Buat Database dan Tabel: Buka phpMyAdmin (biasanya bisa diakses melalui
http://localhost/phpmyadmin/). Buat database baru dengan namadb_sederhana. Di dalam databasedb_sederhana, buat tabel baru dengan namausersdengan struktur berikut:Nama Kolom Tipe Data id INT nama VARCHAR email VARCHAR -
Isi Tabel dengan Data: Tambahkan beberapa data ke dalam tabel
users. Misalnya:id nama email 1 John Doe [email protected] 2 Jane Smith [email protected] -
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:<!DOCTYPE html> <html> <head> <title>Project PHP Sederhana - Data dari Database</title> </head> <body> <h1>Daftar Pengguna</h1> <?php // Koneksi ke database $servername = "localhost"; $username = "root"; $password = ""; $database = "db_sederhana"; $conn = new mysqli($servername, $username, $password, $database); // Cek koneksi if ($conn->connect_error) { die("Koneksi gagal: " . $conn->connect_error); } // Query untuk mengambil data dari tabel users $sql = "SELECT id, nama, email FROM users"; $result = $conn->query($sql); if ($result->num_rows > 0) { // Output data setiap baris echo "<ul>"; while($row = $result->fetch_assoc()) { echo "<li>ID: " . $row["id"]. " - Nama: " . $row["nama"]. " - Email: " . $row["email"]. "</li>"; } echo "</ul>"; } else { echo "Tidak ada data pengguna."; } $conn->close(); ?> </body> </html> -
Jalankan Project: Refresh halaman di browser kamu.
Kamu akan melihat daftar pengguna yang diambil dari database MySQL.
Penjelasan Kode:
- Koneksi ke Database: Kode ini membuat koneksi ke database MySQL menggunakan informasi koneksi yang diberikan (servername, username, password, database). Pastikan username dan password sesuai dengan konfigurasi XAMPP kamu. Secara default, username adalah “root” dan password kosong.
- Query ke Database: Kode ini menjalankan query SQL untuk mengambil data dari tabel
users. - Menampilkan Data: Kode ini menampilkan data yang diambil dari database dalam format daftar (unordered list).
Ini adalah contoh sederhana bagaimana PHP dapat digunakan untuk berinteraksi dengan database MySQL. Konsep ini sangat penting dalam contoh project web development sederhana, karena sebagian besar website menyimpan data di database.
7. Form Handling Sederhana: Mengirim dan Menerima Data
Selanjutnya, mari kita pelajari cara membuat form HTML dan menangani data yang dikirimkan melalui form tersebut.
- Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:
<!DOCTYPE html>
<html>
<head>
<title>Project PHP Sederhana - Form Handling</title>
</head>
<body>
<h1>Formulir Pendaftaran</h1>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = htmlspecialchars($_POST["nama"]);
$email = htmlspecialchars($_POST["email"]);
echo "<h2>Data yang Anda Masukkan:</h2>";
echo "<p>Nama: " . $nama . "</p>";
echo "<p>Email: " . $email . "</p>";
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label for="nama">Nama:</label><br>
<input type="text" id="nama" name="nama"><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
-
Jalankan Project: Refresh halaman di browser kamu. Kamu akan melihat sebuah form dengan dua input field (Nama dan Email) dan tombol Submit.
-
Isi Form dan Submit: Isi form dengan nama dan email kamu, lalu klik tombol Submit.
Setelah kamu submit form, halaman akan menampilkan data yang kamu masukkan.
Penjelasan Kode:
- Form HTML: Kode ini membuat sebuah form HTML dengan method “post” dan action mengarah ke halaman itu sendiri (
<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>). - Pengecekan Method POST:
if ($_SERVER["REQUEST_METHOD"] == "POST") { ... }digunakan untuk memeriksa apakah form telah disubmit. Jika method adalah “POST”, berarti form telah disubmit. - Mendapatkan Data dari Form:
$_POST["nama"]dan$_POST["email"]digunakan untuk mendapatkan data yang dikirimkan melalui form. htmlspecialchars(): Fungsi ini digunakan untuk mencegah serangan XSS (Cross-Site Scripting) dengan mengubah karakter khusus HTML menjadi entity HTML. Sangat penting untuk selalu menggunakan fungsi ini saat menampilkan data yang berasal dari input pengguna.- Menampilkan Data: Kode ini menampilkan data yang telah diambil dari form.
Ini adalah contoh sederhana bagaimana kita bisa membuat form dan menangani data yang dikirimkan melalui form. Form handling adalah bagian penting dari banyak aplikasi web, karena memungkinkan pengguna untuk berinteraksi dengan website dan mengirimkan data. Ini adalah aspek krusial dalam contoh project web development sederhana ini.
8. Menggunakan Fungsi (Functions): Membuat Kode Lebih Terstruktur
Untuk membuat kode lebih terstruktur dan mudah dibaca, kita bisa menggunakan fungsi. Mari kita modifikasi contoh form handling sebelumnya untuk menggunakan fungsi.
-
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:<!DOCTYPE html> <html> <head> <title>Project PHP Sederhana - Fungsi</title> </head> <body> <h1>Formulir Pendaftaran</h1> <?php function proses_form($nama, $email) { echo "<h2>Data yang Anda Masukkan:</h2>"; echo "<p>Nama: " . $nama . "</p>"; echo "<p>Email: " . $email . "</p>"; } if ($_SERVER["REQUEST_METHOD"] == "POST") { $nama = htmlspecialchars($_POST["nama"]); $email = htmlspecialchars($_POST["email"]); proses_form($nama, $email); } ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> <label for="nama">Nama:</label><br> <input type="text" id="nama" name="nama"><br><br> <label for="email">Email:</label><br> <input type="email" id="email" name="email"><br><br> <input type="submit" value="Submit"> </form> </body> </html> -
Jalankan Project: Refresh halaman di browser kamu. Isi form dan submit.
Hasilnya akan sama seperti sebelumnya, tetapi sekarang kode kita lebih terstruktur karena kita menggunakan fungsi proses_form.
Penjelasan Kode:
- Definisi Fungsi:
function proses_form($nama, $email) { ... }mendefinisikan sebuah fungsi bernamaproses_formyang menerima dua parameter:$namadan$email. - Memanggil Fungsi:
proses_form($nama, $email);memanggil fungsiproses_formdengan memberikan nilai$namadan$emailsebagai argumen.
Menggunakan fungsi membuat kode kita lebih modular dan mudah dipelihara. Kita bisa menggunakan fungsi yang sama berkali-kali tanpa harus menulis ulang kode yang sama. Ini adalah praktik yang baik dalam contoh project web development sederhana dan dalam pengembangan web secara umum.
9. Sesi dan Cookie: Mengingat Informasi Pengguna
Sesi dan cookie adalah cara untuk menyimpan informasi pengguna di server atau di browser pengguna. Mari kita coba menggunakan sesi untuk menyimpan nama pengguna setelah mereka submit form.
-
Aktifkan Sesi: Tambahkan
session_start();di bagian paling atas fileindex.php, sebelum tag<html>. -
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Project PHP Sederhana - Sesi</title>
</head>
<body>
<h1>Formulir Pendaftaran</h1>
<?php
function proses_form($nama, $email) {
$_SESSION["nama"] = $nama;
echo "<h2>Data yang Anda Masukkan:</h2>";
echo "<p>Nama: " . $nama . "</p>";
echo "<p>Email: " . $email . "</p>";
echo "<p>Selamat Datang, " . $_SESSION["nama"] . "!</p>";
}
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nama = htmlspecialchars($_POST["nama"]);
$email = htmlspecialchars($_POST["email"]);
proses_form($nama, $email);
}
?>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
<label for="nama">Nama:</label><br>
<input type="text" id="nama" name="nama"><br><br>
<label for="email">Email:</label><br>
<input type="email" id="email" name="email"><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
- Jalankan Project: Refresh halaman di browser kamu. Isi form dan submit.
Setelah kamu submit form, kamu akan melihat pesan “Selamat Datang, [Nama yang Anda Masukkan]!”. Nama pengguna sekarang disimpan dalam sesi.
Penjelasan Kode:
session_start();: Fungsi ini memulai sesi. Ini harus dipanggil di setiap halaman yang ingin menggunakan sesi.$_SESSION["nama"] = $nama;: Kode ini menyimpan nilai variabel$namake dalam variabel sesi$_SESSION["nama"].echo "<p>Selamat Datang, " . $_SESSION["nama"] . "!</p>";: Kode ini menampilkan nilai yang disimpan dalam sesi.
Sesi berguna untuk menyimpan informasi pengguna yang perlu dipertahankan di beberapa halaman atau selama pengguna menjelajahi website. Cookie memiliki fungsi serupa, tetapi menyimpan data di browser pengguna. Penggunaan sesi dan cookie adalah fundamental dalam contoh project web development sederhana dan aplikasi web yang lebih kompleks.
10. Validasi Input: Memastikan Data yang Benar
Penting untuk selalu memvalidasi input yang diterima dari pengguna untuk mencegah kesalahan dan potensi serangan keamanan. Mari kita tambahkan validasi sederhana ke form kita.
-
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:<?php session_start(); $namaErr = $emailErr = ""; $nama = $email = ""; function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["nama"])) { $namaErr = "Nama harus diisi"; } else { $nama = test_input($_POST["nama"]); // check if name only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$nama)) { $namaErr = "Hanya huruf dan spasi yang diizinkan"; } } if (empty($_POST["email"])) { $emailErr = "Email harus diisi"; } else { $email = test_input($_POST["email"]); // check if e-mail address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Format email tidak valid"; } } } ?> <!DOCTYPE html> <html> <head> <title>Project PHP Sederhana - Validasi</title> <style> .error {color: #FF0000;} </style> </head> <body> <h1>Formulir Pendaftaran</h1> <p><span class="error">* required field</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> Nama: <input type="text" name="nama" value="<?php echo $nama;?>"> <span class="error">* <?php echo $namaErr;?></span> <br><br> E-mail: <input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form> <?php if(!empty($nama) && !empty($email) && empty($namaErr) && empty($emailErr)) { echo "<h2>Data yang Anda Masukkan:</h2>"; echo "<p>Nama: " . $nama . "</p>"; echo "<p>Email: " . $email . "</p>"; } ?> </body> </html> -
Jalankan Project: Refresh halaman di browser kamu. Coba submit form tanpa mengisi field apapun, atau dengan mengisi field dengan data yang tidak valid.
Kamu akan melihat pesan error jika input tidak valid.
Penjelasan Kode:
- Variabel Error:
$namaErrdan$emailErrdigunakan untuk menyimpan pesan error. - Fungsi
test_input(): Fungsi ini membersihkan data input dari spasi, slashes, dan karakter HTML khusus. - Validasi Nama: Kode ini memeriksa apakah field nama kosong dan apakah hanya berisi huruf dan spasi.
- Validasi Email: Kode ini memeriksa apakah field email kosong dan apakah format email valid.
- Menampilkan Pesan Error: Pesan error ditampilkan di samping field input.
Validasi input adalah langkah penting untuk memastikan data yang benar dan mencegah potensi masalah keamanan. Praktik ini sangat penting dalam contoh project web development sederhana dan pengembangan web profesional.
11. Templating Sederhana: Memisahkan Tampilan dari Logika
Untuk membuat aplikasi web yang lebih kompleks, penting untuk memisahkan tampilan (HTML) dari logika (PHP). Salah satu cara untuk melakukan ini adalah dengan menggunakan templating. Mari kita buat templating sederhana untuk project kita.
-
Buat File
template.php: Buat file baru dengan namatemplate.phpdi folder project kamu. Isi file tersebut dengan kode berikut:<!DOCTYPE html> <html> <head> <title><?php echo $title; ?></title> <style> .error {color: #FF0000;} </style> </head> <body> <h1><?php echo $heading; ?></h1> <?php echo $content; ?> </body> </html> -
Edit File
index.php: Ganti kode di dalam fileindex.phpdengan kode berikut:<?php session_start(); $namaErr = $emailErr = ""; $nama = $email = ""; function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } if ($_SERVER["REQUEST_METHOD"] == "POST") { if (empty($_POST["nama"])) { $namaErr = "Nama harus diisi"; } else { $nama = test_input($_POST["nama"]); // check if name only contains letters and whitespace if (!preg_match("/^[a-zA-Z ]*$/",$nama)) { $namaErr = "Hanya huruf dan spasi yang diizinkan"; } } if (empty($_POST["email"])) { $emailErr = "Email harus diisi"; } else { $email = test_input($_POST["email"]); // check if e-mail address is well-formed if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Format email tidak valid"; } } } // Output buffering ob_start(); ?> <p><span class="error">* required field</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> Nama: <input type="text" name="nama" value="<?php echo $nama;?>"> <span class="error">* <?php echo $namaErr;?></span> <br><br> E-mail: <input type="text" name="email" value="<?php echo $email;?>"> <span class="error">* <?php echo $emailErr;?></span> <br><br> <input type="submit" name="submit" value="Submit"> </form> <?php if(!empty($nama) && !empty($email) && empty($namaErr) && empty($emailErr)) { echo "<h2>Data yang Anda Masukkan:</h2>"; echo "<p>Nama: " . $nama . "</p>"; echo "<p>Email: " . $email . "</p>"; } ?> <?php $content = ob_get_clean(); $title = "Project PHP Sederhana - Templating"; $heading = "Formulir Pendaftaran"; include 'template.php'; ?> -
Jalankan Project: Refresh halaman di browser kamu.
Hasilnya akan sama seperti sebelumnya, tetapi sekarang kita menggunakan templating untuk memisahkan tampilan dari logika.
Penjelasan Kode:
template.php: File ini berisi struktur HTML dasar dan placeholder untuk konten dinamis.ob_start()danob_get_clean(): Fungsi ini digunakan untuk output buffering. Output buffering memungkinkan kita untuk menangkap output dari PHP dan menyimpannya dalam variabel sebelum dikirim ke browser.$content = ob_get_clean();: Kode ini menangkap output dari PHP yang ada di antaraob_start()danob_get_clean()dan menyimpannya dalam variabel$content.include 'template.php';: Kode ini menyertakan filetemplate.phpdan mengeksekusi kode PHP yang ada di dalamnya.
Templating membuat kode kita lebih mudah dipelihara dan diubah. Kita bisa mengubah tampilan website tanpa harus mengubah logika PHP. Ini adalah praktik yang baik dalam contoh project web development sederhana dan pengembangan web secara umum.
12. Kesimpulan: Langkah Selanjutnya dalam Belajar PHP
Selamat! Kamu telah berhasil membuat contoh project web development sederhana menggunakan PHP. Kita telah membahas berbagai topik, mulai dari dasar-dasar PHP hingga interaksi dengan database, form handling, sesi, validasi input, dan templating.
Langkah Selanjutnya:
- Pelajari Framework PHP: Framework seperti Laravel, CodeIgniter, dan Symfony akan mempermudah dan mempercepat proses pengembangan web kamu.
- Buat Project yang Lebih Kompleks: Cobalah membuat project yang lebih kompleks, seperti blog sederhana, sistem manajemen konten (CMS), atau toko online sederhana.
- Pelajari Tentang Keamanan Web: Keamanan web adalah topik yang sangat penting. Pelajari tentang berbagai jenis serangan keamanan dan cara mencegahnya.
- Bergabung dengan Komunitas PHP: Bergabunglah dengan komunitas PHP online atau offline untuk belajar dari developer lain dan mendapatkan bantuan saat kamu mengalami masalah.
- Latih Terus Menerus: Semakin banyak kamu berlatih, semakin baik kemampuan web development kamu.
Semoga artikel ini bermanfaat dan menginspirasi kamu untuk terus belajar dan mengembangkan kemampuan web development kamu menggunakan PHP. Selamat berkarya!