Tutorial PHP untuk Pemula Lengkap dari Nol hingga Mahir

By | September 27, 2025

๐Ÿš€

Pengenalan PHP – Apa itu PHP?

PHP (PHP: Hypertext Preprocessor) adalah bahasa pemrograman server-side yang sangat populer untuk pengembangan web. PHP mudah dipelajari, powerful, dan digunakan oleh jutaan website di seluruh dunia.

๐ŸŒ
Server-Side

PHP berjalan di server, menghasilkan HTML yang dikirim ke browser

๐Ÿ†“
Open Source

Gratis untuk digunakan dan memiliki komunitas yang besar

๐Ÿ”—
Database Integration

Mudah terintegrasi dengan berbagai database seperti MySQL

โšก
Fast Development

Sintaks yang mudah dan pengembangan yang cepat

๐Ÿ”ง
Cross Platform

Berjalan di Windows, Linux, macOS, dan Unix

๐Ÿ“š
Rich Libraries

Ribuan library dan framework tersedia

๐ŸŽฏ Mengapa Belajar PHP?
  • Mudah Dipelajari: Sintaks yang sederhana dan intuitif
  • Populer: Digunakan oleh 78% website yang menggunakan server-side language
  • Job Opportunities: Banyak lowongan kerja untuk PHP developer
  • Framework Powerful: Laravel, Symfony, CodeIgniter, dll
  • CMS Support: WordPress, Drupal, Joomla menggunakan PHP
โš ๏ธ Persiapan Belajar

Sebelum belajar PHP, pastikan Anda sudah memahami:

  • HTML dasar
  • CSS dasar
  • Konsep dasar pemrograman
  • Cara kerja web server

๐Ÿ“

Dasar-dasar PHP – Sintaks dan Struktur

PHP memiliki sintaks yang mudah dipahami. Kode PHP ditulis di antara tag <?php dan ?>. Mari pelajari struktur dasar PHP.

Basic PHP Syntax

<?php
// Ini adalah komentar satu baris
/* 
   Ini adalah komentar
   multi baris
*/

// Menampilkan teks
echo "Hello World!";
print "Hello PHP!";

// Setiap statement diakhiri dengan semicolon (;)
echo "Belajar PHP itu mudah!";

// PHP case-sensitive untuk variabel
// Tapi tidak case-sensitive untuk keywords
ECHO "Ini juga valid";
Echo "Dan ini juga";

// Menggabungkan dengan HTML
?>
<h1>Judul dari HTML</h1>
<?php echo "<p>Paragraf dari PHP</p>"; ?>

<?php
// Shorthand untuk echo (hanya untuk output)
?>
<p><?= "Hello dari shorthand!" ?></p>
PHP Tags & Output

<?php
// Berbagai cara menampilkan output

// 1. echo - bisa menerima multiple parameter
echo "Hello", " ", "World!";
echo "<br>";

// 2. print - hanya satu parameter, return 1
print "Hello dengan print";
echo "<br>";

// 3. printf - formatted output
$name = "John";
$age = 25;
printf("Nama: %s, Umur: %d tahun<br>", $name, $age);

// 4. sprintf - return formatted string
$message = sprintf("Hello %s, selamat datang!", $name);
echo $message . "<br>";

// 5. print_r - untuk debugging array/object
$array = ["apple", "banana", "orange"];
echo "<pre>";
print_r($array);
echo "</pre>";

// 6. var_dump - informasi detail tentang variabel
var_dump($name);
var_dump($age);

// Heredoc - untuk string multi-line
$html = <<<HTML
<div class="container">
    <h2>Judul: $name</h2>
    <p>Umur: $age tahun</p>
</div>
HTML;

echo $html;

// Nowdoc - seperti heredoc tapi tidak parse variabel
$text = <<<'TEXT'
Ini adalah nowdoc.
Variabel $name tidak akan di-parse.
TEXT;

echo $text;
?>
๐ŸŽฎ Demo PHP Basics



Masukkan nama dan klik tombol untuk melihat output PHP…

๐Ÿ“Š

Variabel dan Tipe Data PHP

Variabel di PHP dimulai dengan tanda dollar ($) dan bersifat case-sensitive. PHP adalah bahasa yang loosely typed, artinya tidak perlu mendeklarasikan tipe data secara eksplisit.

Tipe Data PHP
Tipe Data Deskripsi Contoh Function Check
String Teks atau karakter "Hello World" is_string()
Integer Bilangan bulat 123, -456 is_int()
Float Bilangan desimal 3.14, -2.5 is_float()
Boolean True atau False true, false is_bool()
Array Kumpulan data [1, 2, 3] is_array()
Object Instance dari class new MyClass() is_object()
NULL Tidak ada nilai null is_null()
Resource Reference eksternal fopen() is_resource()
Variables & Data Types

<?php
// Deklarasi variabel
$name = "John Doe";        // String
$age = 25;                // Integer
$height = 175.5;          // Float
$is_student = true;      // Boolean
$address = null;         // NULL

// Menampilkan variabel
echo "Nama: " . $name . "<br>";
echo "Umur: " . $age . " tahun<br>";
echo "Tinggi: " . $height . " cm<br>";

// Mengecek tipe data
echo "Tipe data name: " . gettype($name) . "<br>";
echo "Tipe data age: " . gettype($age) . "<br>";

// Menggunakan is_* functions
if (is_string($name)) {
    echo "$name adalah string<br>";
}

if (is_int($age)) {
    echo "$age adalah integer<br>";
}

// Variable variables
$var = "name";
echo $$var; // Output: John Doe (sama dengan $name)

// Constants
define("SITE_NAME", "My Website");
echo "<br>Site: " . SITE_NAME;

// Const keyword (PHP 5.3+)
const VERSION = "1.0";
echo "<br>Version: " . VERSION;

// Magic constants
echo "<br>File: " . __FILE__;
echo "<br>Line: " . __LINE__;
echo "<br>Directory: " . __DIR__;

// Superglobals
echo "<br>Server: " . $_SERVER['SERVER_NAME'];
echo "<br>Method: " . $_SERVER['REQUEST_METHOD'];
?>
String Operations

<?php
// String operations
$first_name = "John";
$last_name = "Doe";

// Concatenation
$full_name = $first_name . " " . $last_name;
echo "Full name: " . $full_name . "<br>";

// String interpolation (double quotes)
echo "Hello $first_name $last_name!<br>";
echo "Hello {$first_name} {$last_name}!<br>";

// Single quotes (no interpolation)
echo 'Hello $first_name $last_name!<br>'; // Literal output

// String functions
$text = "  Hello World  ";
echo "Original: '" . $text . "'<br>";
echo "Length: " . strlen($text) . "<br>";
echo "Trimmed: '" . trim($text) . "'<br>";
echo "Uppercase: " . strtoupper($text) . "<br>";
echo "Lowercase: " . strtolower($text) . "<br>";
echo "First char: " . $text[0] . "<br>";

// Substring
$sentence = "PHP is awesome!";
echo "Substring: " . substr($sentence, 0, 3) . "<br>"; // PHP
echo "Position of 'is': " . strpos($sentence, "is") . "<br>";

// String replacement
$new_sentence = str_replace("awesome", "fantastic", $sentence);
echo "Replaced: " . $new_sentence . "<br>";

// Explode and implode
$fruits = "apple,banana,orange";
$fruit_array = explode(",", $fruits);
print_r($fruit_array);

$joined = implode(" - ", $fruit_array);
echo "Joined: " . $joined . "<br>";
?>
๐ŸŽฎ Demo Variables & Data Types




Masukkan nilai dan klik tombol untuk melihat operasi variabel PHP…

โšก

Operator PHP – Arithmetic, Comparison, Logical

Operator adalah simbol yang digunakan untuk melakukan operasi pada variabel dan nilai. PHP memiliki berbagai jenis operator untuk berbagai keperluan.

Jenis-jenis Operator PHP
Kategori Operator Deskripsi Contoh
Arithmetic + Penjumlahan $a + $b
- Pengurangan $a - $b
* Perkalian $a * $b
/ Pembagian $a / $b
% Modulus $a % $b
** Pangkat $a ** $b
Comparison == Sama dengan $a == $b
=== Identik $a === $b
!= Tidak sama $a != $b
< Kurang dari $a < $b
> Lebih dari $a > $b
<=> Spaceship $a <=> $b
Logical && AND $a && $b
|| OR $a || $b
! NOT !$a
Arithmetic & Assignment Operators

<?php
// Arithmetic operators
$a = 10;
$b = 3;

echo "a = $a, b = $b<br>";
echo "Penjumlahan: " . ($a + $b) . "<br>";      // 13
echo "Pengurangan: " . ($a - $b) . "<br>";      // 7
echo "Perkalian: " . ($a * $b) . "<br>";        // 30
echo "Pembagian: " . ($a / $b) . "<br>";        // 3.333...
echo "Modulus: " . ($a % $b) . "<br>";          // 1
echo "Pangkat: " . ($a ** $b) . "<br>";         // 1000

// Assignment operators
$x = 5;
echo "<br>x = $x<br>";

$x += 3;  // $x = $x + 3
echo "x += 3: $x<br>";

$x -= 2;  // $x = $x - 2
echo "x -= 2: $x<br>";

$x *= 2;  // $x = $x * 2
echo "x *= 2: $x<br>";

$x /= 3;  // $x = $x / 3
echo "x /= 3: $x<br>";

// Increment and Decrement
$y = 5;
echo "<br>y = $y<br>";
echo "++y: " . (++$y) . "<br>";  // Pre-increment: 6
echo "y++: " . ($y++) . "<br>";  // Post-increment: 6, then y becomes 7
echo "y sekarang: $y<br>";

echo "--y: " . (--$y) . "<br>";  // Pre-decrement: 6
echo "y--: " . ($y--) . "<br>";  // Post-decrement: 6, then y becomes 5
echo "y sekarang: $y<br>";

// String concatenation assignment
$str = "Hello";
$str .= " World";  // $str = $str . " World"
echo "String: $str<br>";
?>
Comparison & Logical Operators

<?php
// Comparison operators
$a = 5;
$b = "5";
$c = 10;

echo "a = $a (integer), b = '$b' (string), c = $c<br><br>";

// Equal (==) vs Identical (===)
echo "a == b: " . ($a == $b ? 'true' : 'false') . "<br>";   // true (value sama)
echo "a === b: " . ($a === $b ? 'true' : 'false') . "<br>"; // false (tipe berbeda)

echo "a != b: " . ($a != $b ? 'true' : 'false') . "<br>";     // false
echo "a !== b: " . ($a !== $b ? 'true' : 'false') . "<br>";   // true

echo "a < c: " . ($a < $c ? 'true' : 'false') . "<br>";       // true
echo "a > c: " . ($a > $c ? 'true' : 'false') . "<br>";       // false
echo "a <= c: " . ($a <= $c ? 'true' : 'false') . "<br>";     // true
echo "a >= c: " . ($a >= $c ? 'true' : 'false') . "<br>";     // false

// Spaceship operator (PHP 7+)
echo "<br>Spaceship operator:<br>";
echo "5 <=> 3: " . (5 <=> 3) . "<br>";    // 1 (left > right)
echo "3 <=> 5: " . (3 <=> 5) . "<br>";    // -1 (left < right)
echo "5 <=> 5: " . (5 <=> 5) . "<br>";    // 0 (equal)

// Logical operators
$x = true;
$y = false;

echo "<br>Logical operators:<br>";
echo "x = true, y = false<br>";
echo "x && y: " . ($x && $y ? 'true' : 'false') . "<br>";  // false
echo "x || y: " . ($x || $y ? 'true' : 'false') . "<br>";  // true
echo "!x: " . (!$x ? 'true' : 'false') . "<br>";           // false
echo "!y: " . (!$y ? 'true' : 'false') . "<br>";           // true

// Short-circuit evaluation
$age = 20;
$has_license = true;

if ($age >= 18 && $has_license) {
    echo "<br>Boleh mengemudi<br>";
}

// Null coalescing operator (PHP 7+)
$username = null;
$display_name = $username ?? "Guest";  // Jika $username null, gunakan "Guest"
echo "Display name: $display_name<br>";

// Null coalescing assignment (PHP 7.4+)
$config['timeout'] ??= 30;  // Set default jika belum ada
echo "Timeout: " . $config['timeout'] . "<br>";
?>
๐ŸŽฎ Demo PHP Operators




Masukkan dua angka dan klik tombol untuk melihat operasi PHP…

๐Ÿ”€

Control Structures – If, Loop, Switch

Control structures mengontrol alur eksekusi program. PHP menyediakan berbagai struktur kontrol seperti if-else, loops, dan switch untuk membuat program yang dinamis.

If-Else Statements

<?php
// If statement
$age = 20;

if ($age >= 18) {
    echo "Anda sudah dewasa<br>";
}

// If-else statement
$score = 85;

if ($score >= 80) {
    echo "Grade: A<br>";
} else {
    echo "Grade: B atau kurang<br>";
}

// If-elseif-else statement
$nilai = 75;

if ($nilai >= 90) {
    $grade = "A";
} elseif ($nilai >= 80) {
    $grade = "B";
} elseif ($nilai >= 70) {
    $grade = "C";
} elseif ($nilai >= 60) {
    $grade = "D";
} else {
    $grade = "F";
}

echo "Nilai $nilai mendapat grade: $grade<br>";

// Ternary operator
$status = ($age >= 18) ? "Dewasa" : "Anak-anak";
echo "Status: $status<br>";

// Null coalescing operator
$username = null;
$display = $username ?? "Guest";
echo "Welcome, $display!<br>";

// Nested if statements
$weather = "sunny";
$temperature = 25;

if ($weather == "sunny") {
    if ($temperature > 20) {
        echo "Perfect weather for outdoor activities!<br>";
    } else {
        echo "Sunny but a bit cold<br>";
    }
} else {
    echo "Not sunny today<br>";
}

// Multiple conditions
$day = "Saturday";
$time = 14; // 2 PM

if (($day == "Saturday" || $day == "Sunday") && $time >= 10 && $time <= 18) {
    echo "Mall is open on weekend!<br>";
}
?>
Loops – For, While, Foreach

<?php
// For loop
echo "For loop (1-5):<br>";
for ($i = 1; $i <= 5; $i++) {
    echo "Angka: $i<br>";
}

// While loop
echo "<br>While loop (countdown):<br>";
$count = 5;
while ($count > 0) {
    echo "Countdown: $count<br>";
    $count--;
}

// Do-while loop
echo "<br>Do-while loop:<br>";
$x = 1;
do {
    echo "x = $x<br>";
    $x++;
} while ($x <= 3);

// Foreach loop with indexed array
$fruits = ["apple", "banana", "orange", "grape"];

echo "<br>Foreach with indexed array:<br>";
foreach ($fruits as $fruit) {
    echo "Fruit: $fruit<br>";
}

// Foreach with index
echo "<br>Foreach with index:<br>";
foreach ($fruits as $index => $fruit) {
    echo "Index $index: $fruit<br>";
}

// Foreach with associative array
$person = [
    "name" => "John Doe",
    "age" => 30,
    "city" => "Jakarta",
    "job" => "Developer"
];

echo "<br>Foreach with associative array:<br>";
foreach ($person as $key => $value) {
    echo "$key: $value<br>";
}

// Break and continue
echo "<br>Break example (stop at 3):<br>";
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) {
        break;
    }
    echo "i = $i<br>";
}

echo "<br>Continue example (skip 3):<br>";
for ($i = 1; $i <= 5; $i++) {
    if ($i == 3) {
        continue;
    }
    echo "i = $i<br>";
}

// Nested loops
echo "<br>Multiplication table (3x3):<br>";
for ($i = 1; $i <= 3; $i++) {
    for ($j = 1; $j <= 3; $j++) {
        $result = $i * $j;
        echo "$i x $j = $resultย ย ";
    }
    echo "<br>";
}
?>
๐ŸŽฎ Demo Control Structures



Masukkan angka dan klik tombol untuk melihat control structures PHP…