Media Belajar Coding untuk Developer Indonesia

Ruang Coding

Media belajar online bareng untuk mengembangkan keahlianmu di bidang pemrograman web dan aplikasi smartphone.

139+Member Aktif
30+Artikel & Tutorial
16+Project Siap Pakai
Free Dasar

PHP Dasar dari Nol: Jadi Programmer Web Backend Pemula

Kelas ini mengajak kamu belajar PHP dari benar-benar nol, mulai dari instalasi tools hingga membuat aplikasi sederhana yang terhubung ke database MySQL. Cocok untuk pemula tanpa pengalaman coding sama sekali, dengan penjelasan konsep memakai analogi sederhana dan latihan kode praktis di tiap modul.

8Modul
75Menit baca
PHPKategori
1

Instalasi & Setup Lingkungan PHP (XAMPP, Text Editor, Server Lokal)

8 menit baca

Kenapa Perlu Setup dulu?

PHP itu bahasa pemrograman yang kodenya dijalankan di server, bukan langsung dibaca browser seperti HTML. Server adalah komputer (atau program) yang tugasnya "mengolah" kode lalu mengirim hasilnya ke browser. Karena itu, sebelum bisa mencoba kode PHP, kamu butuh 3 hal: (1) server lokal untuk menjalankan PHP di komputermu sendiri, (2) text editor untuk menulis kode, dan (3) browser untuk melihat hasilnya.

Bayangkan kamu mau masak: butuh dapur (server), resep ditulis di kertas (text editor), dan piring untuk menyajikan (browser). Ketiganya wajib ada sebelum "masak" kode PHP pertamamu.

Langkah 1: Install XAMPP (Server Lokal)

XAMPP adalah paket aplikasi gratis yang isinya server Apache, PHP, dan MySQL sekaligus, jadi kamu tidak perlu install satu-satu secara manual.

  • Download XAMPP di apachefriends.org sesuai sistem operasimu (Windows/Mac/Linux).
  • Install seperti aplikasi biasa (next-next-finish). Kalau muncul peringatan antivirus/firewall, klik "allow" saja — ini normal karena XAMPP membuka server di komputermu.
  • Setelah terinstall, buka aplikasi XAMPP Control Panel, lalu klik tombol Start pada baris Apache dan MySQL. Kalau statusnya berubah jadi hijau, artinya server sudah aktif.

Cek server berhasil jalan dengan membuka browser lalu ketik localhost di address bar. Kalau muncul halaman selamat datang XAMPP, berarti sukses.

Di mana kode PHP kita disimpan?

Semua file PHP yang mau dijalankan lewat localhost harus disimpan di folder khusus:

  • Windows: C:\xampp\htdocs\
  • Mac: /Applications/XAMPP/htdocs/

Buat folder baru di dalam htdocs untuk proyek belajarmu, misalnya beri nama belajar-php.

Langkah 2: Install Text Editor

Text editor adalah aplikasi untuk menulis kode (bukan Notepad biasa atau Microsoft Word, karena keduanya tidak dirancang untuk membaca struktur kode).

Rekomendasi untuk pemula: Visual Studio Code (VS Code), gratis dan ringan. Download di code.visualstudio.com, install seperti biasa.

Setelah terinstall, buka VS Code lalu buka folder belajar-php yang tadi kamu buat di htdocs (menu File > Open Folder). Dari sini kamu bisa membuat file-file PHP langsung di dalam VS Code.

Langkah 3: Tes File PHP Pertama

Sekarang saatnya membuktikan semua sudah terhubung dengan benar. Buat file baru di folder belajar-php, beri nama index.php, lalu tulis kode berikut:

<?php
echo "Halo, server lokal saya sudah jalan!";
?>

Simpan file, lalu buka browser dan akses:

http://localhost/belajar-php/index.php

Kalau muncul tulisan "Halo, server lokal saya sudah jalan!" di browser, artinya XAMPP, folder, dan file PHP-mu sudah terhubung dengan benar. Selamat, lingkungan belajarmu siap!

Troubleshooting Singkat

  • Halaman blank/error saat akses localhost? Pastikan Apache di XAMPP Control Panel statusnya sudah hijau (running).
  • Muncul tulisan kode PHP mentah (bukan hasil "Halo...")? Kemungkinan file disimpan bukan dengan ekstensi .php, atau diakses tanpa lewat localhost (misal dibuka langsung dari File Explorer).
  • Port 80 bentrok (Apache gagal start)? Biasanya karena aplikasi lain (Skype, IIS) memakai port yang sama. Ganti port Apache lewat menu Config di XAMPP, atau tutup aplikasi yang bentrok.

Latihan

Kerjakan langkah-langkah berikut sebagai bukti setup-mu berhasil:

  1. Buat file baru bernama latihan1.php di folder belajar-php.
  2. Isi dengan kode PHP yang mencetak nama lengkapmu dan kelas yang sedang kamu ikuti, misalnya: echo "Nama saya Budi, sedang belajar PHP Dasar";
  3. Akses file tersebut lewat browser dengan alamat http://localhost/belajar-php/latihan1.php
  4. Screenshot hasilnya sebagai catatan pribadi bahwa environment-mu sudah siap dipakai untuk modul-modul berikutnya.
Lanjut ke modul berikutnya
2

Mengenal PHP: Konsep Dasar & Cara Kerja Website Dinamis

9 menit baca

Sebelum Mulai Ngoding, Pahami Dulu "Kenapa"-nya

Di modul sebelumnya kamu sudah install XAMPP dan berhasil menjalankan server lokal. Tapi sebelum kita mulai menulis kode, penting untuk paham dulu apa itu PHP dan kenapa website butuh "bahasa" seperti ini. Kalau konsepnya sudah nyantol, nulis kodenya bakal jauh lebih masuk akal.

Website Statis vs Website Dinamis

Bayangkan kamu punya dua jenis toko:

  • Toko dengan katalog cetak: isinya sama untuk semua orang, kalau mau update harga, harus cetak ulang seluruh katalog.
  • Toko dengan pelayan: pelayan bisa cek stok, hitung diskon sesuai member, dan kasih rekomendasi beda-beda tiap pelanggan.

Website statis adalah website yang isinya tetap sama untuk semua pengunjung, dibuat hanya dengan HTML dan CSS. Website statis itu seperti katalog cetak — file HTML sudah jadi, browser tinggal menampilkan apa adanya, tidak ada "logika" atau perhitungan yang jalan di baliknya.

Website dinamis adalah website yang isinya bisa berubah-ubah tergantung kondisi, seperti data dari database atau input pengguna. Ini seperti toko dengan pelayan — ada "otak" yang memproses sesuatu sebelum menampilkan hasil ke pengunjung. Contoh: halaman profil Instagram kamu beda dengan punya orang lain, padahal strukturnya (layout) sama. Yang bikin beda adalah data yang diproses di belakang layar.

Nah, PHP adalah salah satu bahasa yang berperan sebagai "otak" atau "pelayan" itu.

Apa Itu PHP Sebenarnya?

PHP (PHP: Hypertext Preprocessor) adalah bahasa pemrograman yang dijalankan di server untuk menghasilkan konten HTML secara dinamis sebelum dikirim ke browser pengunjung.

Kata kuncinya di sini: dijalankan di server. Ini beda dengan JavaScript (di browser) yang jalan di komputer pengunjung. PHP jalan duluan di server, baru hasilnya (berupa HTML biasa) dikirim ke browser. Pengunjung website tidak pernah melihat kode PHP-mu — mereka cuma menerima "hasil olahannya".

Cara Kerja Website Dinamis dengan PHP (Step by Step)

Supaya lebih jelas, ini yang terjadi setiap kali seseorang membuka halaman web yang pakai PHP:

  1. Pengunjung ketik alamat di browser, misalnya tokobaju.com/produk.php, lalu browser mengirim permintaan (request) ke server.
  2. Server menerima request itu dan menyadari file yang diminta berekstensi .php, jadi harus diproses dulu, bukan langsung dikirim.
  3. PHP dieksekusi di server — mungkin dia mengambil data produk dari database, menghitung diskon, menyusun teks HTML sesuai data itu.
  4. Server mengirim hasil akhirnya — yang sudah murni HTML — kembali ke browser pengunjung.
  5. Browser menampilkan halaman tanpa tahu-menahu ada proses PHP di baliknya.

Ini sebabnya, waktu kamu klik "View Page Source" di browser pada halaman PHP, kamu tidak akan pernah melihat kode PHP-nya — yang kelihatan cuma HTML hasil olahan.

Kenapa Harus Pakai XAMPP untuk Belajar PHP?

Ingat di modul 1 kita install XAMPP? Sekarang harusnya lebih jelas alasannya: karena PHP butuh server untuk dieksekusi, tidak bisa dibuka langsung dengan cara klik dua kali file seperti file HTML biasa. XAMPP menyediakan Apache (software server) di komputer kamu sendiri, jadi kamu bisa simulasikan proses "request-proses-response" tadi tanpa perlu sewa hosting dulu.

Kalau kamu coba buka file .php langsung dari File Explorer (double click), yang muncul di browser cuma kode mentahnya, bukan hasil olahannya — karena tidak ada server yang memprosesnya. Makanya file PHP harus diakses lewat alamat localhost/..., bukan dibuka langsung dari folder.

Kenapa PHP Populer untuk Pemula?

  • Gratis dan open-source — tidak perlu bayar lisensi apa pun.
  • Dokumentasi dan komunitas besar — hampir semua error yang kamu temui pasti sudah pernah ditanyakan orang lain di internet.
  • Bisa "dicampur" langsung dengan HTML — kamu bisa selipkan kode PHP di tengah-tengah file HTML, jadi transisinya tidak terlalu jauh dari yang mungkin sudah kamu kenal.
  • Dipakai banyak platform besar — WordPress, sebagian besar website di dunia, dibangun dengan PHP.

Studi Kasus / Latihan

Sekarang saatnya membuktikan sendiri konsep "diproses di server" tadi. Ikuti langkah berikut:

  1. Buka folder htdocs di instalasi XAMPP kamu (biasanya di C:\xampp\htdocs).
  2. Buat file baru bernama coba.php, lalu isi dengan kode berikut (tidak usah paham dulu sintaksnya, itu bahasan modul selanjutnya):
<!DOCTYPE html>
<html>
<body>
    <h1>Sekarang jam segini:</h1>
    <p><?php echo date("H:i:s"); ?></p>
</body>
</html>
  • Nyalakan Apache di XAMPP Control Panel, lalu buka http://localhost/coba.php di browser.
  • Kamu akan lihat jam saat itu ditampilkan. Refresh halamannya beberapa kali — perhatikan jamnya berubah setiap kali direfresh, padahal kamu tidak mengubah file sama sekali.
  • Sekarang coba buka file yang sama langsung dari File Explorer (klik dua kali coba.php, bukan lewat localhost). Perhatikan apa yang terjadi — apakah tampilannya sama atau malah aneh?
  • Pertanyaan renungan: kenapa jamnya bisa berubah-ubah tiap refresh padahal file-nya tidak pernah kamu edit? Dan kenapa hasilnya beda saat dibuka langsung vs lewat localhost? Coba jawab dengan bahasamu sendiri berdasarkan penjelasan "cara kerja" di atas — ini akan jadi dasar penting sebelum kamu masuk ke sintaks PHP di modul berikutnya.

    Lanjut ke modul berikutnya
    3

    Sintaks Dasar PHP: Menulis Kode PHP Pertamamu

    8 menit baca

    Yuk, Mulai Nulis Kode PHP!

    Di modul sebelumnya kamu sudah paham konsep PHP dan cara kerja website dinamis. Sekarang saatnya kotor-kotoran tangan: nulis kode PHP beneran. Modul ini fokus ke "aturan main" dasar nulis PHP — anggap saja ini tata bahasa yang wajib kamu ikuti supaya PHP mengerti maksudmu.

    1. Tag Pembuka & Penutup PHP

    Setiap kode PHP harus diapit tag khusus supaya server tahu "ini area kode PHP, bukan HTML biasa":

    <?php
        // kode PHP kamu di sini
    ?>

    Kalau file kamu isinya PHP murni (tanpa campuran HTML), tag penutup ?> boleh dihilangkan. Ini malah jadi kebiasaan baik untuk menghindari error "output tak terduga" yang sering muncul karena ada spasi/enter nyasar setelah tag penutup.

    2. Titik Koma: Tanda Akhir Kalimat

    Statement adalah satu instruksi/perintah lengkap dalam kode. Di PHP, setiap statement harus diakhiri titik koma ; — mirip titik di akhir kalimat.

    <?php
        echo "Halo dunia";
        echo "Ini statement kedua";
    ?>

    Lupa titik koma adalah penyebab error paling umum buat pemula. Kalau muncul error aneh, cek dulu titik komanya!

    3. Menampilkan Output: echo dan print

    echo adalah perintah untuk menampilkan teks/data ke layar browser. Ini yang paling sering kamu pakai:

    <?php
        echo "Selamat belajar PHP!";
        echo "Baris kedua", " ", "digabung koma";
    ?>

    echo bisa menerima banyak nilai sekaligus dipisah koma. Ada juga print yang fungsinya mirip, bedanya print cuma bisa satu nilai dan sedikit lebih lambat (perbedaannya sangat kecil, jarang berpengaruh). Untuk pemula, pakai echo saja sudah cukup.

    4. Komentar: Catatan yang Diabaikan PHP

    Komentar adalah teks dalam kode yang tidak dieksekusi, biasa dipakai untuk memberi catatan atau menonaktifkan sementara suatu baris kode.

    <?php
        // Ini komentar satu baris
    
        # Ini juga komentar satu baris (gaya lain)
    
        /*
            Ini komentar
            banyak baris
        */
        echo "Kode tetap jalan";
    ?>

    5. Case-Sensitive: Huruf Besar-Kecil Berpengaruh (Kadang)

    PHP itu case-sensitive untuk nama variabel — artinya $nama dan $Nama dianggap dua hal berbeda. Tapi nama fungsi/keyword seperti echo, ECHO, atau Echo semuanya dianggap sama. Supaya konsisten dan gampang dibaca, biasakan tulis keyword dengan huruf kecil.

    6. Whitespace Diabaikan

    PHP tidak peduli berapa banyak spasi, tab, atau baris baru yang kamu pakai antar statement. Ini artinya kamu bebas mengatur format kode supaya rapi dan enak dibaca, tanpa mempengaruhi hasil program.

    <?php
        echo "Sama saja hasilnya";
    
    
        echo   "Meski"    ,   "spasinya"   ,   "berantakan";
    ?>

    7. Mencampur PHP dengan HTML

    Salah satu kekuatan PHP adalah bisa "meloncat" keluar-masuk dari mode HTML ke mode PHP dalam satu file:

    <!DOCTYPE html>
    <html>
    <body>
        <h1>Website Pertamaku</h1>
        <p>
            <?php echo "Halaman ini dibuat pakai PHP!"; ?>
        </p>
    </body>
    </html>

    Bagian di luar tag <?php ?> akan dianggap teks/HTML biasa dan langsung dikirim ke browser apa adanya.

    Rangkuman Aturan Penting

    • Kode PHP diapit <?php dan ?>
    • Setiap statement diakhiri ;
    • Gunakan echo untuk menampilkan output
    • Komentar pakai //, #, atau /* ... */
    • Nama variabel case-sensitive, keyword tidak
    • PHP bisa dicampur bebas dengan HTML

    Latihan: Coba Sendiri!

    Buat file baru di folder htdocs (atau folder server lokal kamu) bernama latihan3.php, lalu:

    1. Buat halaman HTML sederhana berisi judul <h1> dengan teks "Profil Saya".
    2. Di bawah judul, gunakan echo untuk menampilkan nama lengkapmu dalam tag <p>.
    3. Tambahkan satu statement echo lagi untuk menampilkan hobi kamu, tapi sengaja hilangkan titik koma di akhirnya — jalankan di browser, lihat error apa yang muncul.
    4. Perbaiki lagi titik komanya, lalu tambahkan komentar satu baris di atas tiap echo yang menjelaskan baris itu untuk apa.

    Jalankan file lewat browser (misalnya http://localhost/latihan3.php) dan pastikan tidak ada error tersisa sebelum lanjut ke modul berikutnya.

    Lanjut ke modul berikutnya
    4

    Variabel & Tipe Data: Menyimpan Informasi dalam Program

    10 menit baca

    Variabel: Kotak Penyimpan Data

    Variabel adalah tempat menyimpan nilai di dalam program yang bisa dipanggil ulang menggunakan sebuah nama. Bayangkan variabel seperti kotak berlabel — kamu simpan sesuatu di dalamnya, lalu bisa ambil atau ganti isinya kapan saja cukup dengan menyebut labelnya.

    Di PHP, semua variabel diawali tanda dolar ($) diikuti nama variabel. Contoh:

    <?php
    $nama = "Budi";
    $umur = 25;
    
    echo "Nama saya $nama, umur $umur tahun";
    ?>
    

    Perhatikan, di dalam string yang pakai tanda kutip ganda ("..."), variabel seperti $nama akan otomatis diganti dengan isinya. Ini disebut string interpolation — teknik menyisipkan nilai variabel langsung ke dalam teks. Kalau kamu pakai tanda kutip tunggal ('...'), interpolasi ini tidak berlaku, variabel akan dianggap teks biasa.

    Aturan Penamaan Variabel

    • Harus diawali huruf atau underscore (_), tidak boleh angka. Contoh salah: $1nama.
    • Tidak boleh ada spasi atau simbol selain underscore. Gunakan $nama_lengkap, bukan $nama lengkap.
    • Case-sensitive — $Nama dan $nama dianggap dua variabel berbeda.
    • Sebaiknya pakai nama yang jelas maksudnya, seperti $hargaBarang daripada $x.

    Variabel di PHP juga bersifat dinamis, artinya kamu tidak perlu menentukan tipe datanya di awal — tipe data akan otomatis mengikuti nilai yang disimpan, dan bisa berubah kalau nilainya diganti.

    <?php
    $data = "Halo"; // sekarang bertipe string
    $data = 100;    // sekarang berubah jadi integer
    ?>
    

    Tipe Data di PHP

    Tipe data adalah kategori yang menentukan jenis nilai apa yang bisa disimpan sebuah variabel dan operasi apa saja yang bisa dilakukan padanya. Berikut tipe data dasar yang paling sering dipakai:

    1. String

    String adalah tipe data untuk teks, ditulis di antara tanda kutip tunggal atau ganda.

    $kota = "Jakarta";
    $pesan = 'Selamat datang';

    2. Integer

    Integer adalah tipe data untuk bilangan bulat, tanpa desimal, bisa positif atau negatif.

    $umur = 25;
    $suhu = -5;

    3. Float (Double)

    Float adalah tipe data untuk bilangan pecahan/desimal.

    $harga = 15000.50;
    $pi = 3.14;

    4. Boolean

    Boolean adalah tipe data yang hanya punya dua nilai: true (benar) atau false (salah), biasa dipakai untuk pengambilan keputusan dalam program.

    $sudahLogin = true;
    $isError = false;

    5. Array

    Array adalah tipe data yang bisa menyimpan banyak nilai sekaligus dalam satu variabel. Topik ini akan dibahas lebih dalam di modul khusus, tapi contoh sederhananya:

    $buah = ["Apel", "Jeruk", "Mangga"];

    6. NULL

    NULL adalah tipe data khusus yang menandakan variabel tidak memiliki nilai sama sekali.

    $data = null;

    Mengecek Tipe Data

    Kamu bisa mengecek tipe data sebuah variabel dengan fungsi var_dump(), yang menampilkan nilai sekaligus tipe datanya:

    <?php
    $angka = 10;
    var_dump($angka); // output: int(10)
    ?>
    

    Konstanta: Nilai yang Tidak Boleh Berubah

    Konstanta adalah tempat penyimpanan nilai yang sekali didefinisikan, nilainya tidak bisa diubah lagi sepanjang program berjalan. Berguna untuk nilai tetap seperti nama aplikasi atau tarif pajak. Konstanta didefinisikan dengan fungsi define() dan penamaannya konvensinya huruf kapital semua:

    <?php
    define("NAMA_APLIKASI", "Toko Online");
    echo NAMA_APLIKASI; // tidak pakai tanda $
    ?>
    

    Studi Kasus: Coba Sendiri

    Buat file baru bernama biodata.php, lalu:

    1. Buat variabel $nama, $umur, $tinggiBadan (pakai angka desimal), dan $sudahMenikah (pakai boolean), isi dengan data dirimu sendiri.
    2. Tampilkan semua informasi tersebut dalam satu kalimat menggunakan echo dan string interpolation, contoh: "Nama saya Budi, umur 25 tahun, tinggi 170.5 cm, status menikah: belum".
    3. Tambahkan konstanta NAMA_APLIKASI dengan nilai bebas, lalu tampilkan di baris terpisah menggunakan echo.
    4. Tambahkan satu baris var_dump($tinggiBadan) di akhir kode, jalankan di browser, lalu amati tipe data apa yang muncul.

    Coba juga ubah nilai $sudahMenikah jadi angka 1 atau string "true", lalu lihat apa yang berubah dari hasil var_dump()-nya. Ini akan membantumu memahami bagaimana PHP menentukan tipe data secara otomatis.

    Lanjut ke modul berikutnya
    5

    Operator & Ekspresi: Melakukan Perhitungan dan Perbandingan

    10 menit baca

    Operator & Ekspresi: Melakukan Perhitungan dan Perbandingan

    Di modul sebelumnya kamu sudah belajar menyimpan data ke dalam variabel. Sekarang saatnya membuat data itu "bekerja" — dihitung, dibandingkan, atau digabungkan. Alat untuk melakukan itu namanya operator, yaitu simbol khusus yang memerintahkan PHP untuk melakukan operasi tertentu pada satu atau lebih nilai. Gabungan antara nilai dan operator disebut ekspresi — misalnya 5 + 3 adalah ekspresi yang hasilnya 8.

    1. Operator Aritmatika

    Ini operator untuk perhitungan matematika biasa.

    <?php
    $a = 10;
    $b = 3;
    
    echo $a + $b; // 13 (penjumlahan)
    echo $a - $b; // 7  (pengurangan)
    echo $a * $b; // 30 (perkalian)
    echo $a / $b; // 3.333... (pembagian)
    echo $a % $b; // 1  (modulus/sisa bagi)
    echo $a ** $b; // 1000 (pangkat, 10 pangkat 3)
    ?>
    

    Modulus (%) sering bikin bingung pemula. Cara mudah mengingatnya: ini menghasilkan sisa dari pembagian. Contoh: 10 dibagi 3 = 3 sisa 1, maka 10 % 3 hasilnya 1. Operator ini sangat berguna nanti untuk mengecek angka genap/ganjil.

    2. Operator Penugasan (Assignment)

    Selain = biasa, PHP punya versi singkat untuk "ubah nilai lalu simpan lagi ke variabel yang sama".

    <?php
    $skor = 10;
    $skor += 5;  // sama dengan: $skor = $skor + 5;  → 15
    $skor -= 3;  // sama dengan: $skor = $skor - 3;  → 12
    $skor *= 2;  // sama dengan: $skor = $skor * 2;  → 24
    $skor /= 4;  // sama dengan: $skor = $skor / 4;  → 6
    
    $nama = "Budi";
    $nama .= " Santoso"; // gabung string, hasil: "Budi Santoso"
    ?>
    

    Bentuk singkat ini sering dipakai, misalnya untuk menambah skor game atau menghitung total belanja sedikit demi sedikit.

    3. Operator Perbandingan

    Operator ini membandingkan dua nilai dan hasilnya selalu berupa boolean (true atau false).

    • == — sama nilainya (tipe data diabaikan)
    • === — sama nilai dan sama tipe datanya
    • != atau <> — tidak sama nilainya
    • !== — tidak sama nilai atau tidak sama tipe
    • >, < — lebih besar / lebih kecil
    • >=, <= — lebih besar sama dengan / lebih kecil sama dengan

    Perbedaan == dan === ini penting banget dan sering jadi sumber bug bagi pemula:

    <?php
    var_dump(5 == "5");   // true  → nilai sama, tipe diabaikan
    var_dump(5 === "5");  // false → nilai sama, tapi tipe beda (int vs string)
    ?>
    

    Aturan praktis: biasakan pakai === supaya kode kamu lebih ketat dan mengurangi bug yang tidak terduga, kecuali kamu punya alasan khusus untuk membiarkan PHP mengabaikan perbedaan tipe.

    4. Operator Logika

    Dipakai untuk menggabungkan beberapa kondisi perbandingan sekaligus.

    • && (and) — true jika kedua kondisi benar
    • || (or) — true jika salah satu kondisi benar
    • ! (not) — membalik nilai boolean
    <?php
    $umur = 20;
    $punya_ktp = true;
    
    var_dump($umur >= 17 && $punya_ktp); // true, karena keduanya benar
    var_dump($umur < 17 || $punya_ktp);  // true, karena minimal satu benar
    var_dump(!$punya_ktp);               // false, karena membalik true jadi false
    ?>
    

    Kamu akan sering memakai operator logika ini bersama percabangan if di modul berikutnya, misalnya untuk mengecek "apakah user boleh login" (username benar DAN password benar).

    5. Urutan Pengerjaan (Operator Precedence)

    Sama seperti matematika biasa, perkalian dan pembagian dikerjakan lebih dulu daripada penjumlahan dan pengurangan. Kalau ragu, gunakan tanda kurung () supaya urutannya jelas dan kode lebih mudah dibaca.

    <?php
    echo 2 + 3 * 4;   // 14, bukan 20 (perkalian didahulukan)
    echo (2 + 3) * 4; // 20, karena kurung dikerjakan dulu
    ?>
    

    Latihan: Coba Sendiri

    Buat file baru latihan-operator.php, lalu kerjakan langkah-langkah berikut secara berurutan:

    1. Buat dua variabel: $harga = 25000; dan $jumlah = 4;. Hitung $total = $harga * $jumlah; lalu tampilkan dengan echo.
    2. Misalkan ada diskon jika total belanja di atas 90000. Buat ekspresi perbandingan $dapat_diskon = $total > 90000; lalu cetak hasilnya dengan var_dump().
    3. Tambahkan variabel $uang_dibayar = 100000;. Hitung kembaliannya dengan $kembalian = $uang_dibayar - $total;, lalu tampilkan.
    4. Sebagai tantangan tambahan: gunakan operator modulus % untuk mengecek apakah $jumlah barang yang dibeli habis dibagi 2 (genap) atau tidak. Simpan hasilnya di variabel $genap dan cetak dengan var_dump().

    Jalankan file ini lewat browser (pastikan server lokal via XAMPP sudah aktif, seperti yang dipelajari di modul 1) dan periksa apakah hasil perhitungannya sesuai dugaanmu.

    Lanjut ke modul berikutnya
    6

    Struktur Kontrol: Percabangan If-Else dan Switch

    10 menit baca

    Di modul sebelumnya kamu sudah bisa menyimpan data dan melakukan perhitungan/perbandingan dengan operator. Sekarang saatnya bikin program yang bisa "mikir" — bisa ambil keputusan berbeda tergantung kondisinya. Inilah fungsi struktur kontrol: bagian kode yang menentukan jalur mana yang dieksekusi berdasarkan kondisi tertentu.

    If: Kalau Kondisinya Benar...

    Bayangkan kamu bikin aturan: "kalau hujan, bawa payung". Itu persis cara kerja if dalam PHP. Kode di dalam kurung kurawal { } cuma dijalankan kalau kondisinya bernilai true.

    <?php
    $nilai = 80;
    
    if ($nilai >= 75) {
        echo "Lulus!";
    }
    ?>

    Kalau $nilai kurang dari 75, baris echo di dalam blok itu tidak akan dijalankan sama sekali — program langsung lanjut ke baris setelah blok if.

    Else: Kalau Tidak...

    else adalah "jalur cadangan" yang dijalankan kalau kondisi di if ternyata salah.

    <?php
    $nilai = 60;
    
    if ($nilai >= 75) {
        echo "Lulus!";
    } else {
        echo "Belum lulus, coba lagi.";
    }
    ?>

    Karena 60 tidak memenuhi syarat >= 75, yang tercetak adalah "Belum lulus, coba lagi."

    Else If: Banyak Kemungkinan

    Kalau kondisinya lebih dari dua pilihan, kamu bisa pakai elseif (atau else if) untuk menambah jalur pengecekan lain. PHP akan mengecek dari atas ke bawah, dan begitu satu kondisi terpenuhi, blok lain di bawahnya langsung diabaikan.

    <?php
    $nilai = 85;
    
    if ($nilai >= 90) {
        echo "Nilai: A";
    } elseif ($nilai >= 80) {
        echo "Nilai: B";
    } elseif ($nilai >= 70) {
        echo "Nilai: C";
    } else {
        echo "Nilai: D";
    }
    ?>

    Dengan $nilai = 85, PHP cek >= 90 dulu (salah), lalu >= 80 (benar) → cetak "Nilai: B", dan berhenti di situ tanpa mengecek kondisi di bawahnya lagi.

    Menggabungkan Kondisi

    Kamu juga bisa menggabungkan beberapa syarat sekaligus pakai operator logika && (dan) dan || (atau) yang sudah dibahas di modul operator.

    <?php
    $umur = 20;
    $punyaKTP = true;
    
    if ($umur >= 17 && $punyaKTP) {
        echo "Boleh membuat SIM.";
    } else {
        echo "Belum memenuhi syarat.";
    }
    ?>

    Switch: Alternatif Kalau Pilihannya Banyak dan Spesifik

    switch adalah bentuk lain dari percabangan, cocok dipakai kalau kamu membandingkan satu variabel dengan beberapa nilai pasti (bukan rentang angka). Strukturnya lebih rapi dibanding banyak elseif bertumpuk.

    <?php
    $hari = "Selasa";
    
    switch ($hari) {
        case "Senin":
            echo "Hari pertama kerja.";
            break;
        case "Selasa":
            echo "Semangat, masih awal minggu.";
            break;
        case "Jumat":
            echo "Yeay, besok weekend!";
            break;
        default:
            echo "Hari biasa.";
    }
    ?>

    Beberapa hal penting soal switch:

    • case adalah salah satu kemungkinan nilai yang dibandingkan dengan variabel di switch.
    • break wajib ditulis di akhir tiap case agar PHP berhenti di situ. Kalau lupa, PHP akan "jatuh" (fallthrough) dan tetap menjalankan case di bawahnya meski tidak cocok.
    • default adalah jalur yang dijalankan kalau tidak ada case yang cocok — mirip fungsi else pada if.

    Kapan Pakai If-Else, Kapan Pakai Switch?

    Pakai if-elseif untuk kondisi berupa rentang angka atau logika gabungan (misal >=, &&). Pakai switch kalau kamu membandingkan satu variabel dengan beberapa nilai spesifik, karena lebih mudah dibaca.

    Latihan: Penentu Kategori Harga Tiket

    Buat file PHP baru, lalu kerjakan dua tugas berikut:

    1. Buat variabel $usia dengan nilai bebas (misalnya 15). Gunakan if-elseif-else untuk menentukan kategori tiket bioskop berdasarkan aturan berikut, lalu cetak hasilnya dengan echo:
      • Usia di bawah 5 tahun → "Gratis"
      • Usia 5 sampai 12 tahun → "Tiket Anak"
      • Usia 13 sampai 59 tahun → "Tiket Dewasa"
      • Usia 60 tahun ke atas → "Tiket Lansia"
    2. Buat variabel $metodeBayar berisi salah satu dari: "tunai", "debit", "ewallet". Gunakan switch untuk mencetak pesan berbeda sesuai metode pembayaran tersebut (misalnya untuk "ewallet" cetak "Pembayaran via e-wallet, cek saldo dulu ya!"), dan sediakan default untuk metode yang tidak dikenali.

    Coba ubah-ubah nilai $usia dan $metodeBayar, lalu jalankan ulang di server lokalmu untuk memastikan setiap kemungkinan jalur kode sudah benar hasilnya.

    Lanjut ke modul berikutnya
    7

    Perulangan: For, While, dan Foreach untuk Otomatisasi

    10 menit baca

    Kenapa Butuh Perulangan?

    Bayangkan kamu disuruh mencetak tulisan "Halo" sebanyak 100 kali. Pakai echo satu-satu? Capek dan kodenya jadi panjang banget. Di sinilah perulangan (loop) berguna — yaitu struktur kode yang menjalankan sekumpulan instruksi berulang kali secara otomatis selama kondisi tertentu masih terpenuhi.

    Di PHP, ada tiga jenis perulangan yang paling sering dipakai: for, while, dan foreach. Masing-masing punya kegunaan yang paling pas tergantung situasinya.

    1. Perulangan for

    for dipakai kalau kamu sudah tahu persis berapa kali perulangan harus jalan. Strukturnya punya 3 bagian: nilai awal, syarat berhenti, dan perubahan nilai di tiap putaran.

    for ($i = 1; $i <= 5; $i++) {
        echo "Perulangan ke-$i <br>";
    }

    Cara bacanya:

    • $i = 1 → nilai awal, dijalankan sekali di awal.
    • $i <= 5 → syarat (kondisi). Selama ini bernilai true, loop terus jalan.
    • $i++ → perubahan nilai, dijalankan setiap akhir putaran (di sini artinya $i ditambah 1).

    Output kode di atas akan mencetak "Perulangan ke-1" sampai "Perulangan ke-5". Begitu $i jadi 6, kondisi $i <= 5 bernilai false, loop berhenti.

    2. Perulangan while

    while dipakai kalau kamu belum tahu pasti berapa kali loop harus jalan — yang penting selama kondisinya true, loop terus berjalan.

    $saldo = 1000;
    while ($saldo > 0) {
        echo "Saldo tersisa: $saldo <br>";
        $saldo -= 300;
    }

    Di sini loop akan terus berjalan sampai $saldo tidak lagi lebih dari 0. Hati-hati: kalau kamu lupa mengubah nilai variabel di dalam loop (misalnya lupa $saldo -= 300), loop akan jalan selamanya. Ini disebut infinite loop, salah satu bug paling umum buat pemula — biasanya ditandai browser atau terminal yang "hang" tidak merespons.

    Varian: do-while

    Ada juga do-while, yang menjalankan kode dulu minimal sekali, baru mengecek kondisinya belakangan.

    $angka = 10;
    do {
        echo "Angka: $angka <br>";
        $angka++;
    } while ($angka < 5);

    Meski $angka < 5 sudah false dari awal (karena $angka = 10), blok kode tetap jalan satu kali karena pengecekan baru dilakukan setelah eksekusi pertama.

    3. Perulangan foreach

    foreach dipakai khusus untuk menelusuri array (kumpulan data dalam satu variabel) — kamu akan belajar array lebih detail di modul berikutnya, tapi sekilas, array itu seperti satu kotak yang berisi banyak nilai sekaligus.

    $buah = ["Apel", "Jeruk", "Mangga"];
    
    foreach ($buah as $item) {
        echo "Saya suka $item <br>";
    }

    foreach otomatis mengambil tiap elemen dari $buah satu per satu dan menyimpannya sementara ke variabel $item, tanpa kamu perlu repot mengatur index atau kondisi berhenti seperti di for.

    Menghentikan atau Melompati Perulangan

    Dua kata kunci penting yang sering dipakai di dalam loop:

    • break — menghentikan loop secara paksa, langsung keluar sepenuhnya.
    • continue — melompati sisa kode di putaran saat itu, lanjut ke putaran berikutnya.
    for ($i = 1; $i <= 10; $i++) {
        if ($i == 5) {
            break; // loop berhenti total saat $i == 5
        }
        echo "$i <br>";
    }
    for ($i = 1; $i <= 5; $i++) {
        if ($i == 3) {
            continue; // lewati angka 3, lanjut ke $i berikutnya
        }
        echo "$i <br>";
    }

    Kapan Pakai yang Mana?

    • Jumlah perulangan sudah pasti (misal cetak angka 1-100) → pakai for.
    • Jumlah perulangan tidak pasti, tergantung kondisi (misal sampai saldo habis) → pakai while.
    • Mau menelusuri isi array → pakai foreach.

    Studi Kasus / Latihan

    Kerjakan langsung di file PHP kamu, jalankan lewat server lokal yang sudah kamu setup di modul 1:

    1. Buat perulangan for yang mencetak angka 1 sampai 20.
    2. Modifikasi kode di atas supaya hanya mencetak angka genap saja (gunakan operator modulus % yang sudah kamu pelajari di modul 5, dikombinasikan dengan if).
    3. Buat sebuah while loop yang mensimulasikan hitung mundur dari 10 ke 1, lalu mencetak "Meluncur!" setelah hitungan selesai.
    4. Buat array berisi 5 nama temanmu, lalu gunakan foreach untuk mencetak kalimat "Halo, [nama]!" untuk tiap nama.
    5. Tantangan tambahan: gabungkan for dengan break untuk mencetak angka 1 sampai 100, tapi loop harus berhenti otomatis begitu angkanya habis dibagi 7 (misalnya berhenti di angka 7).

    Coba kerjakan semuanya sebelum lanjut ke modul berikutnya — perulangan adalah salah satu fondasi paling penting sebelum kamu masuk ke topik Function dan Array!

    Lanjut ke modul berikutnya
    8

    Function: Membuat Kode yang Rapi dan Bisa Dipakai Ulang

    10 menit baca

    Kenapa Butuh Function?

    Bayangkan kamu sudah belajar perulangan di modul sebelumnya untuk mengecek apakah sebuah angka genap atau ganjil. Sekarang bayangkan kode pengecekan itu kamu butuhkan di 10 tempat berbeda dalam program. Masa harus copy-paste kode yang sama 10 kali? Kalau ada bug, kamu harus perbaiki di 10 tempat juga.

    Function adalah blok kode yang diberi nama, bisa dipanggil berkali-kali tanpa perlu menulis ulang isinya. Anggap function seperti "mesin" — kamu masukkan bahan (input), mesin memprosesnya, lalu keluar hasil (output). Kamu tidak perlu tahu persis apa yang terjadi di dalam mesin setiap kali pakai, cukup tahu cara memasukkan bahan dan mengambil hasilnya.

    Membuat Function Sederhana

    Gunakan keyword function, lalu beri nama, kurung, dan isi kode di dalam kurung kurawal:

    <?php
    function sapa() {
        echo "Halo, selamat datang!";
    }
    
    sapa(); // memanggil function
    sapa(); // bisa dipanggil berkali-kali
    ?>

    Baris sapa(); disebut memanggil (calling) function — artinya menyuruh PHP menjalankan kode di dalam function tersebut.

    Parameter: Mengirim Data ke Function

    Parameter adalah variabel yang menampung data yang dikirim saat function dipanggil, ditulis di dalam kurung saat membuat function.

    <?php
    function sapa($nama) {
        echo "Halo, $nama!";
    }
    
    sapa("Budi"); // Output: Halo, Budi!
    sapa("Ani");  // Output: Halo, Ani!
    ?>

    Data yang kamu kirim saat memanggil function (misalnya "Budi") disebut argumen. Istilah parameter dan argumen sering dipakai bergantian, tapi bedanya: parameter itu "wadah"-nya, argumen itu "isinya".

    Function bisa punya lebih dari satu parameter:

    <?php
    function tampilkanBiodata($nama, $umur) {
        echo "$nama berumur $umur tahun.";
    }
    
    tampilkanBiodata("Siti", 25);
    ?>

    Parameter dengan Nilai Default

    Kamu bisa memberi nilai bawaan kalau argumen tidak dikirim:

    <?php
    function sapa($nama = "Teman") {
        echo "Halo, $nama!";
    }
    
    sapa();        // Output: Halo, Teman!
    sapa("Rudi");  // Output: Halo, Rudi!
    ?>

    Return Value: Mengambil Hasil dari Function

    echo di dalam function hanya menampilkan teks ke layar, tapi hasilnya tidak bisa diolah lagi. Untuk mengembalikan nilai yang bisa dipakai di luar function, gunakan return.

    <?php
    function tambah($a, $b) {
        return $a + $b;
    }
    
    $hasil = tambah(5, 3);
    echo $hasil; // Output: 8
    echo tambah(10, 20) * 2; // Output: 60, hasil return bisa langsung dioperasikan
    ?>

    Penting: begitu return dijalankan, function langsung berhenti. Kode setelah return di dalam function tidak akan dieksekusi.

    <?php
    function cekAngka($n) {
        if ($n % 2 == 0) {
            return "Genap";
        }
        return "Ganjil"; // hanya jalan kalau return di atas tidak dieksekusi
    }
    
    echo cekAngka(4); // Output: Genap
    ?>

    Scope: Variabel di Dalam vs di Luar Function

    Scope adalah batas area di mana sebuah variabel bisa diakses. Variabel yang dibuat di dalam function bersifat lokal — tidak bisa diakses dari luar function, dan sebaliknya.

    <?php
    function tes() {
        $angka = 10;
        echo $angka; // bisa diakses, Output: 10
    }
    
    tes();
    echo $angka; // ERROR, $angka tidak dikenali di luar function
    ?>

    Ini sebenarnya menguntungkan: kamu bisa pakai nama variabel yang sama di function berbeda tanpa saling bentrok/mempengaruhi.

    Type Hinting (Opsional, tapi Baik untuk Dibiasakan)

    Kamu bisa menentukan tipe data yang diharapkan untuk parameter dan return, supaya kode lebih jelas dan error lebih mudah dideteksi:

    <?php
    function tambah(int $a, int $b): int {
        return $a + $b;
    }
    
    echo tambah(5, 3); // Output: 8
    ?>

    Kalau kamu kirim tipe data yang salah (misalnya teks yang bukan angka), PHP akan memberi error — ini membantu menangkap kesalahan lebih awal daripada program berjalan dengan hasil yang aneh.

    Studi Kasus: Latihan Mandiri

    Buat file PHP baru, lalu kerjakan langkah berikut secara berurutan:

    • Buat function bernama hitungLuasPersegiPanjang($panjang, $lebar) yang me-return hasil perkalian panjang dan lebar.
    • Panggil function tersebut dengan beberapa nilai berbeda, lalu tampilkan hasilnya pakai echo, contoh: echo "Luas: " . hitungLuasPersegiPanjang(5, 3);
    • Modifikasi function tersebut jadi hitungLuasPersegiPanjang($panjang, $lebar = 10) — beri nilai default untuk $lebar, lalu coba panggil function hanya dengan 1 argumen.
    • Tantangan: buat function baru bernama cekGanjilGenap($angka) yang me-return string "Ganjil" atau "Genap" tergantung inputnya. Lalu gabungkan dengan perulangan for dari modul sebelumnya untuk mencetak status ganjil/genap dari angka 1 sampai 20.

    Coba kerjakan sendiri dulu sebelum lihat jawaban di bawah ini:

    <?php
    function cekGanjilGenap($angka) {
        if ($angka % 2 == 0) {
            return "Genap";
        }
        return "Ganjil";
    }
    
    for ($i = 1; $i <= 20; $i++) {
        echo "$i: " . cekGanjilGenap($i) . "<br>";
    }
    ?>

    Di modul berikutnya, kita akan belajar array — cara menyimpan banyak data sekaligus dalam satu variabel, yang nantinya sering dipakai bareng function untuk mengolah data dalam jumlah besar.

    Ini modul terakhir yang sudah tersedia — modul berikutnya segera menyusul.
    9

    Modul berikutnya

    Segera hadir — 4 modul lagi menyusul
    Progresmu
    0 dari 8 modul selesai
    • Instalasi & Setup Lingkungan PHP (XAMPP, Text Editor, Server Lokal)
    • Mengenal PHP: Konsep Dasar & Cara Kerja Website Dinamis
    • Sintaks Dasar PHP: Menulis Kode PHP Pertamamu
    • Variabel & Tipe Data: Menyimpan Informasi dalam Program
    • Operator & Ekspresi: Melakukan Perhitungan dan Perbandingan
    • Struktur Kontrol: Percabangan If-Else dan Switch
    • Perulangan: For, While, dan Foreach untuk Otomatisasi
    • Function: Membuat Kode yang Rapi dan Bisa Dipakai Ulang
    • Modul berikutnya (segera)
    Tentang Kelas Ini

    Modul baru ditambahkan secara berkala hingga kelas ini lengkap. Simpan halaman ini dan kembali lagi untuk lanjut belajar.

    Copyright © 2026 — Made with by Ruang Coding