Apa yang Berubah di Dunia Web Sejak Era XAMPP
Kalau terakhir ngoding web dengan XAMPP, PHP native, jQuery, dan FTP, ini peta yang berubah, yang tetap sama, dan urutan mengejarnya tanpa membuang pengalamanmu.
Oleh Afa Hernandes10 menit baca
Daftar isi
- Yang tidak berubah
- Peta perubahan
- 1. PHP sudah jauh lebih modern
- 2. Keamanan jadi standar, bukan bonus
- 3. JavaScript tidak lagi butuh jQuery
- 4. CSS: layout tanpa float dan tabel
- 5. Kode disimpan di Git, bukan di folder ZIP
- 6. Deploy: dari FTP ke git push
- 7. Framework dan alat build
- 8. AI masuk ke alur kerja
- Apakah XAMPP masih boleh dipakai?
- Urutan mengejar yang disarankan
- Pertanyaan yang sering diajukan
- Apakah PHP masih layak dipelajari?
- Aplikasi lama saya masih jalan. Perlu diubah?
- Langsung belajar Laravel atau PHP modern dulu?
- Pengalaman Java Swing atau VB.NET masih berguna?
- Kesimpulan
Bayangkan alur kerja ini: buka XAMPP Control Panel, nyalakan Apache dan MySQL, tulis koneksi.php berisi mysql_connect(), tambahkan jQuery dari CDN, lalu unggah semuanya lewat FileZilla ke hosting. Kalau itu caramu terakhir membuat aplikasi web, kamu tidak sendirian. Banyak aplikasi kantor, sistem informasi sekolah, dan proyek skripsi dibuat persis seperti itu, dan sebagian masih jalan sampai hari ini.
Kabar buruknya, sebagian alur itu sekarang tidak bisa lagi dijalankan, sebagian lain tidak aman, dan sisanya sudah punya cara yang jauh lebih enak. Kabar baiknya, fondasi yang kamu pegang (HTTP, form, SQL, session, HTML) masih sama persis. Kamu tidak mulai dari nol.
Artikel ini adalah peta. Isinya apa saja yang berubah, kenapa berubah, dan artikel mana yang membahas tiap bagiannya. Di akhir ada urutan yang disarankan supaya kamu tidak kewalahan.
Yang tidak berubah
Sebelum masuk ke daftar perubahan, ini hal-hal yang masih berlaku dan tetap jadi modal besarmu:
- Cara kerja web: browser mengirim request, server membalas response. Form, method
GETdanPOST, cookie, dan session masih bekerja dengan cara yang sama. - SQL:
SELECT,JOIN,GROUP BY, dan desain tabel tetap ilmu yang dicari. MySQL dan MariaDB masih banyak dipakai, dan perbandingan MySQL dengan SQLite masih relevan. - HTML dan CSS dasar: tag dan selector yang kamu hafal tetap berlaku.
- PHP itu sendiri: PHP masih dikembangkan aktif. Versi 8.5 rilis November 2025, dan setiap versi didukung selama empat tahun: dua tahun perbaikan bug, lalu dua tahun perbaikan keamanan.
- Pengalaman memahami kebutuhan pengguna: ini bagian yang paling sulit dipelajari, dan kamu sudah punya.
Peta perubahan
| Dulu (era XAMPP) | Sekarang | Kenapa berubah |
|---|---|---|
mysql_query() |
PDO atau MySQLi dengan prepared statement | fungsi mysql_* dihapus di PHP 7, dan query yang disambung dengan string rawan SQL injection |
md5($password) |
password_hash() dan password_verify() |
MD5 terlalu cepat dipecahkan |
include file satu per satu |
Composer dan autoload | paket pihak ketiga dan class dimuat otomatis |
| PHP tanpa tipe | declare(strict_types=1), tipe parameter, enum, readonly |
kesalahan ketahuan lebih awal |
| jQuery untuk semua hal | JavaScript bawaan browser (querySelector, fetch) |
browser modern sudah punya semuanya |
Layout dengan float atau tabel |
Flexbox dan Grid | tata letak responsif jadi jauh lebih mudah |
Folder final_revisi2.zip |
Git dan GitHub | riwayat perubahan, kerja tim, dan rollback |
| Unggah lewat FTP | git push, lalu deploy otomatis |
tidak ada file yang tertinggal atau tertimpa |
Password database di koneksi.php |
environment variable | rahasia tidak ikut tersimpan di kode |
| HTTP biasa | HTTPS di semua halaman | browser menandai situs HTTP sebagai “Not secure” |
| Googling dan forum | asisten AI di editor, ditambah Googling | menulis dan memahami kode jadi lebih cepat |
Satu per satu di bawah ini.
1. PHP sudah jauh lebih modern
Perubahan paling terasa: kode lama yang memakai mysql_connect() berhenti total di PHP 7 ke atas. Kalau kamu menyalakan XAMPP versi baru dan membuka aplikasi lama, yang muncul adalah error seperti ini:
Fatal error: Uncaught Error: Call to undefined function mysql_connect()Fungsinya bukan salah ketik, tapi memang sudah dihapus. Penggantinya PDO atau MySQLi, dan keduanya mendukung prepared statement: query dan data dikirim terpisah, sehingga input pengguna tidak bisa mengubah perintah SQL-nya. Contoh dengan PDO:
<?phpdeclare(strict_types=1);
function cariProduk(PDO $db, string $kata): array{ $stmt = $db->prepare('SELECT nama, harga FROM produk WHERE nama LIKE ?'); $stmt->execute(["%{$kata}%"]); return $stmt->fetchAll(PDO::FETCH_ASSOC);}Kode di atas diuji di PHP 8.5. Tanda ? adalah tempat data, dan isinya dikirim lewat execute(). Kalau seseorang mengetik ' OR '1'='1 di kotak pencarian, teks itu diperlakukan sebagai teks biasa, bukan potongan SQL, sehingga hasilnya nol baris. Versi MySQLi dari pola ini, lengkap dengan CRUD, ada di tutorial CRUD PHP MySQLi.
Selain itu, PHP 8 membawa banyak hal yang membuat kodenya lebih rapi dan lebih aman: tipe data di parameter, enum, match, named argument, dan class readonly. Ada juga Composer, pengelola paket yang membuat kamu tidak perlu lagi mengunduh library dalam bentuk ZIP lalu menulis include satu per satu. Semua ini dibahas dengan contoh di artikel PHP modern: versi 8, Composer, dan autoload.
2. Keamanan jadi standar, bukan bonus
Dulu, aplikasi yang “yang penting jalan” masih bisa lolos karena serangannya belum seotomatis sekarang. Sekarang, bot memindai internet tanpa henti untuk mencari form yang rentan. Pola-pola lama berikut sekarang dianggap kesalahan, bukan sekadar gaya lama:
- Query yang disambung dengan input pengguna. Penyebab SQL injection. Lihat SQL Injection: cara kerja dan pencegahannya.
- Password disimpan dengan
md5()atausha1(). Kalau database bocor, sebagian besar password bisa ditebak dengan cepat. Pakaipassword_hash(), yang sudah tersedia sejak PHP 5.5. Penjelasannya ada di Menyimpan Password dengan Benar. - Menampilkan input pengguna tanpa
htmlspecialchars(). Penyebab XSS. Form yang mengubah data juga perlu perlindungan CSRF. Keduanya dibahas di XSS dan CSRF dengan contoh nyata. - Menghapus data lewat link
GETsepertihapus.php?id=5. Link bisa dipanggil tanpa sengaja, termasuk oleh bot. Aksi yang mengubah data seharusnya lewatPOST.
Kalau kamu ingin gambaran utuhnya, mulai dari OWASP Top 10 untuk pemula. Daftar itu adalah peta celah keamanan yang paling sering dibobol.
3. JavaScript tidak lagi butuh jQuery
jQuery dulu wajib karena tiap browser punya perilaku yang berbeda-beda. Sekarang browser modern sudah sepakat, dan hampir semua yang dulu dikerjakan jQuery tersedia langsung di JavaScript bawaan. Bandingkan dua kode yang memuat menu dari server lalu menampilkannya sebagai daftar:
$('#muat').on('click', function () { $(this).prop('disabled', true); $.getJSON('data.json', function (menu) { $('#menu').empty(); $.each(menu, function (i, item) { $('#menu').append($('<li>').text(item.nama + ': ' + item.harga)); }); });});const tombol = document.querySelector('#muat');const daftar = document.querySelector('#menu');
tombol.addEventListener('click', async () => { tombol.disabled = true; const respons = await fetch('data.json'); const menu = await respons.json(); daftar.replaceChildren(...menu.map((item) => { const li = document.createElement('li'); li.textContent = `${item.nama}: ${item.harga}`; return li; }));});Keduanya menghasilkan HTML yang sama persis (diuji di Chrome dengan jQuery 3.7.1). Versi modern tidak perlu memuat library tambahan, dan async/await membuat urutan kodenya terbaca dari atas ke bawah tanpa callback bertingkat.
jQuery masih dipelihara dan tidak salah dipakai di aplikasi lama. Tapi untuk kode baru, belajar JavaScript bawaannya jauh lebih berguna, karena itulah dasar semua framework modern. Mulai dari JavaScript modern untuk pemula, lalu TypeScript, yaitu JavaScript yang ditambah tipe data.
4. CSS: layout tanpa float dan tabel
Kalau kamu pernah mengatur layout dengan float: left, clearfix, atau tabel bersarang, ada kabar gembira: Flexbox dan Grid sekarang didukung semua browser modern. Menaruh elemen di tengah, membuat kolom yang sama tinggi, atau mengubah tiga kolom menjadi satu kolom di HP sekarang hanya butuh beberapa baris. Tutorialnya ada di Flexbox dan Grid CSS.
Yang ikut berubah adalah cara berpikirnya: mobile first. Banyak pengunjung membuka web dari HP, jadi tampilan HP dirancang lebih dulu, baru diperlebar untuk layar besar.
5. Kode disimpan di Git, bukan di folder ZIP
Folder seperti aplikasi_final, aplikasi_final_fix, dan aplikasi_final_fix_banget sudah digantikan Git. Setiap perubahan dicatat lengkap dengan pesannya, kamu bisa kembali ke versi kemarin dalam satu perintah, dan beberapa orang bisa mengerjakan proyek yang sama tanpa saling menimpa. GitHub menyimpan salinannya secara online dan menjadi tempat review kode tim.
Git juga jadi syarat banyak hal lain di daftar ini, termasuk deploy otomatis. Kalau belum pernah memakainya, ini langkah yang paling layak didahulukan: Git dan GitHub untuk kerja tim.
6. Deploy: dari FTP ke git push
Mengunggah file lewat FTP punya masalah klasik: file lupa diunggah, file di server tertimpa versi lama, atau tidak ada yang tahu versi mana yang sedang jalan. Alur yang umum sekarang:
- Kode di-push ke GitHub.
- Layanan hosting mengambil kode itu, menjalankan build, lalu memasangnya.
- Kalau ada masalah, kembali ke versi sebelumnya cukup dengan beberapa klik.
Untuk situs statis dan aplikasi JavaScript, alur ini bisa gratis, misalnya lewat deploy pertama ke Cloudflare Pages. Aplikasi PHP butuh hosting yang menjalankan PHP: shared hosting masih bisa, dan banyak di antaranya sekarang mendukung deploy dari Git. Pilihan lain adalah VPS atau container. Satu hal tetap sama di mana pun aplikasinya dipasang: HTTPS. Sertifikatnya sekarang bisa didapat gratis, dan caranya dibahas di Domain, DNS, dan HTTPS.
Perubahan lain yang ikut datang: rahasia tidak lagi ditulis di kode. Password database, API key, dan kunci lain disimpan sebagai environment variable di server, bukan di koneksi.php yang ikut tersimpan di Git. Alasan dan caranya ada di Environment Variable dan Secrets.
7. Framework dan alat build
Hampir tidak ada lagi tim yang menulis routing, validasi form, dan login dari nol untuk setiap proyek. Di dunia PHP, Laravel dan Symfony mengurus hal-hal itu, dan dibangun di atas Composer. Di dunia JavaScript ada framework seperti Next.js, Astro, dan SvelteKit, yang dijalankan dengan Node.js dan paketnya diunduh lewat npm.
Kamu tidak perlu mempelajari semuanya. Cukup pahami polanya: pengelola paket (Composer, npm) untuk mengunduh library, framework untuk struktur aplikasi, dan build untuk menyiapkan kode sebelum di-deploy. Kalau kamu ingin melihat peta lengkap web modern, baca Roadmap Web Developer.
8. AI masuk ke alur kerja
Ini perubahan paling baru. Asisten AI di editor bisa melengkapi kode, menjelaskan kode lama yang tidak kamu tulis sendiri, dan membantu menerjemahkan pola lama ke pola baru. Untuk developer yang sedang mengejar ketertinggalan, ini sangat membantu: kamu bisa menempelkan fungsi lama dan bertanya “apa padanannya di PHP 8?”
Batasnya juga perlu diketahui. AI bisa salah dengan sangat meyakinkan, kadang menyarankan fungsi yang sudah dihapus, dan tidak tahu konteks bisnis aplikasimu. Hasilnya tetap harus kamu pahami dan uji. Cara memakainya dengan sehat dibahas di Asisten AI di editor.
Apakah XAMPP masih boleh dipakai?
Boleh. XAMPP masih jadi cara cepat menjalankan PHP dan MySQL di laptop, dan versi barunya membawa PHP 8. Yang perlu berubah adalah kebiasaan di sekitarnya, bukan XAMPP-nya. Beberapa alternatif yang juga umum:
- Server bawaan PHP. Untuk mencoba sesuatu dengan cepat,
php -S localhost:8000sudah cukup tanpa Apache. - Laragon di Windows, yang ringan dan sudah berisi PHP, MySQL, dan Composer.
- Docker, kalau kamu ingin lingkungan di laptop sama persis dengan di server. Ini akan dibahas di jalur Deploy.
Satu peringatan: XAMPP dirancang untuk pengembangan di laptop, bukan untuk server production. Pengaturan bawaannya, seperti user root MySQL tanpa password, tidak aman kalau dipakai di server yang bisa diakses dari internet.
Urutan mengejar yang disarankan
Jangan mencoba mengejar semuanya sekaligus. Urutan ini dimulai dari hal yang paling berisiko kalau dibiarkan:
- Perbaiki keamanan dasar di aplikasi yang masih jalan: prepared statement,
password_hash(),htmlspecialchars(). Mulai dari CRUD PHP MySQLi yang sudah memakai pola aman. - Pakai Git untuk semua proyek, termasuk proyek lama.
- Pelajari PHP modern dan Composer. Ini langkah berikutnya di jalur ini.
- Pelajari JavaScript bawaan dan tinggalkan jQuery pelan-pelan untuk kode baru.
- Coba satu framework, misalnya Laravel, setelah poin 1–3 terasa nyaman.
- Ubah cara deploy: dari FTP ke Git, dan rahasia ke environment variable.
Pertanyaan yang sering diajukan
Apakah PHP masih layak dipelajari?
Ya. PHP masih dikembangkan aktif dengan rilis baru setiap tahun, menjalankan banyak situs dan aplikasi, dan punya framework matang seperti Laravel. Yang usang bukan PHP-nya, melainkan cara menulis PHP versi lama.
Aplikasi lama saya masih jalan. Perlu diubah?
Kalau aplikasinya bisa diakses dari internet, minimal periksa keamanannya: query, penyimpanan password, dan versi PHP di server. Versi PHP yang sudah habis masa dukungannya tidak lagi mendapat perbaikan keamanan. Untuk perubahan yang lebih besar, ada level lanjut di jalur ini yang membahas cara memodernisasi aplikasi lama tanpa merusaknya.
Langsung belajar Laravel atau PHP modern dulu?
PHP modern dulu. Laravel memakai namespace, class, Composer, dan tipe data di mana-mana. Kalau dasar-dasar itu sudah paham, Laravel jauh lebih mudah dicerna, dan kamu bisa membedakan mana yang fitur PHP dan mana yang fitur Laravel.
Pengalaman Java Swing atau VB.NET masih berguna?
Sangat berguna. Konsep class, event, validasi input, dan koneksi database tetap sama. Bedanya ada di cara aplikasinya dijalankan: di browser, bukan di jendela desktop. Jalur ini nanti juga membahas cara berpindah dari aplikasi desktop ke aplikasi web.
Kesimpulan
Fondasi web yang kamu kuasai masih berlaku. Yang berubah adalah alat dan kebiasaan di sekitarnya: PHP 8 dengan Composer, keamanan sebagai standar, JavaScript bawaan, Git, deploy otomatis, dan AI sebagai rekan kerja. Kamu tidak perlu mengejar semuanya dalam seminggu. Cukup satu langkah per sesi, dimulai dari yang paling berisiko.
Langkah berikutnya di jalur Upgrade dari Stack Lama: PHP modern: versi 8, Composer, dan autoload.


