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.
<?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 // 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() |
<?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']; ?>
<?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 |
<?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>"; ?>
<?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.
<?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>"; } ?>
<?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…
