Pengenalan PHP
By Zanuar Didik Bintoro, S.Kom
APA ITU PHP?
PHP merupakan singkatan dari PHP: Hypertext Preprocessor. Singkatan ini disebut
singkatan
rekursif, yakni permainan kata dimana kepanjangan PHP juga terdiri dari singkatan PHP itu
sendiri, yakni PHP: Hypertext Preprocessor
Hypertext Preprocessor bisa diterjemahkan sebagai 'pemroses hypertext', atau 'pemroses
HTML'. Jadi tidak jauh berbeda dengan pengertian sederhana kita bahwa PHP adalah bahasa
pemrograman web yang digunakan untuk men-generate atau menghasilkan kode HTML
Pemrograman Web BLK Purworejo - 2020
"PHP is a server-side scripting language designed for web development but also used as a
general-purpose programming language."
Terjemahan:
"PHP adalah bahasa pemrograman script server-side yang di desain untuk pengembangan
web, dan juga bisa digunakan sebagai bahasa pemrograman umum."
2
PEMANASAN
Dalam pengertian paling sederhana, PHP adalah bahasa pemrograman web yang digunakan
untuk men-generate atau menghasilkan kode HTML.
OUTPUT
<!DOCTYPE html>
<html lang="id">
BANDINGKAN
<head>
<meta charset="UTF-8">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
<ol>
<?php
for ($i= 1; $i <= 10; $i++) {
echo "<li>Nama Mahasiswa ke-$i</li>";
Pemrograman Web BLK Purworejo - 2020
}
?>
</ol>
</body>
</html>
5
FUNGSI PHP
Sebenarnya PHP dapat melakukan
lebih dari sekedar menghasilkan
kode HTML. Kita bisa menggunakan
PHP untuk pemrosesan form,
mengakses database, membuat
session dan cookie, membaca file
teks, menangani file upload,
membuat file pdf, membuat file
Pemrograman Web BLK Purworejo - 2020
1995 : Personal Home Page Tools (PHP Tools) version 1.0 yang
kemudian dikenal sebagai PHP 1.
Dapat dilihat bahwa pada awalnya PHP merupakan singkatan dari Personal
Home Page
1996: PHP/FI : Personal Home Page/Forms Interpreter 2
1997: PHP: Hypertext Preprocessor 3 (dibantu Zeev Suraski dan Andi
Gutmans)
2000: PHP: Hypertext Preprocessor 4 Parsing engine PHP 4 kembali
dibuat ulang oleh Zeev Suraski dan Andi Gutmans yang di beri nama
Zend Engine (gabungan dari nama Zeev dan Andi). Zend Engine
memperbaiki performa PHP dari versi sebelumnya terutama ketika
memproses data yang kompleks.
2004: PHP: Hypertext Preprocessor 5
2005: PHP: Hypertext Preprocessor 6
2015: PHP: Hypertext Preprocessor 7
12 Pemrograman Web BLK Purworejo - 2020
KEPOPULERAN PHP
FRAMEWORK PHP DAN CMS
Secara sederhana, Framework dan CMS adalah kumpulan kode program siap pakai yang
bisa digunakan untuk membangun website secara cepat. Khusus untuk CMS, kita bisa
membuat website tanpa mengerti coding sama sekali
Contoh
Pemrograman Web BLK Purworejo - 2020
Salah satu CMS populer adalah WordPress yang penggunaannya mencapai 30% dari
seluruh website yang ada. Artinya, 1 dari 4 website yang anda kunjungi kemungkinan
besar dibuat dengan WordPress.
14
INSTALASI XAMPP, WEB BROWSER DAN TEXT EDITOR
Perlu menjadi catatan bahwa web server dan PHP adalah 2 aplikasi berbeda dan saling
terpisah.
Memproses kode PHP merupakan salah satu fungsi dari web server. Sebuah web
server bisa memproses bahasa PHP, ASP, Python, dan bahasa pemrograman web lain.
Untuk membuat proses instalasi semakin rumit, kita harus menginstall web server dan PHP
secara terpisah. Kemudian mengatur agar keduanya bisa saling 'berkomunikasi'. Jika nanti
perlu aplikasi database server seperti MySQL, kita juga harus menghubungkannya dengan
web server.
Pemrograman Web BLK Purworejo - 2020
Bagi pemula, menginstall satu-satu aplikasi ini bisa membuat sakit kepala.
Untungnya, terdapat aplikasi yang "mem-paketkan" web server + PHP + MySQL ke dalam 1
kali proses instalasi. Dengan menginstall aplikasi paket ini, kita sudah mendapat 3 aplikasi
lengkap dan sudah siap pakai tanpa perlu mengkonfigurasinya satu per satu.
15
XAMPP
Salah satu aplikasi paket ini adalah XAMPP. Nama aplikasi XAMPP
terdiri dari paket yang ada di dalamnya. X (berarti cross-platform,
maksudnya tersedia dalam berbagai sistem operasi),
Apache Web Server, MySQL Database Server, PHP dan Perl. Selain
aplikasi ini, XAMPP juga menyertakan aplikasi pelengkap lain seperti
Pemrograman Web BLK Purworejo - 2020
XAMPP tersedia gratis dan bisa di download melalui situs resminya di:
apachefriends.org
16
INSTALASI XAMPP
Untuk memulai proses instalasi, silahkan download XAMPP dari apachefriends.org
Pemrograman Web BLK Purworejo - 2020
17
18 Pemrograman Web BLK Purworejo - 2020
http://localhost/belajarphp/fileanda.php
Pemrograman Web BLK Purworejo - 2020
28
JOBSHEET
#1
CARA WEB SERVER MEMPROSES PHP
Menggunakan contoh sebelumnya, ketika saya mengetik alamat: localhost/belajar.html,
web browser akan mengirim permintaan (request) file belajar.html web server.
Saat web server menerima request ini, ia akan mencari file belajar.html di dalam folder
htdocs. Karena yang diminta berupa file html, web server tidak perlu proses lanjutan dan
langsung mengirim balik file tersebut kepada web browser untuk kemudian ditampilkan.
Tetapi bagaimana jika yang diketik adalah localhost/belajar.php? Karena yang diminta
adalah file PHP, web server akan melakukan langkah tambahan terlebih dahulu (perhatikan
bahwa file yang diminta berakhiran ".php")
Pemrograman Web BLK Purworejo - 2020
Setelah menemukan file belajar.php di folder htdocs, web server akan memproses file
tersebut dengan mencari seluruh tag pembuka dan penutup PHP (yakni kode "<?php" dan "?
>").
Proses ini dilakukan dari baris paling atas hingga baris paling bawah secara berurutan.
Ketika karakter <?php ditemukan, web server akan beralih ke "PHP mode", kemudian
mengeksekusi seluruh kode program menggunakan aturan PHP, sampai ditemukan tag
penutup PHP ?>.
30
JOBSHEET
#2
PHP DI DALAM HTML, ATAU HTML DI DALAM PHP?
<!DOCTYPE html> Save sebagai
<html lang='id'>
<head> masih_belajar.php ke
<meta charset=UTF-8> folder htdocs, dan akses di
<title>Belajar PHP</title>
</head> alamat:
<body> localhost/belajarphp/ma
<?php sih_
echo "<p>Teks ini hanyalah kode PHP sederhana</p>";
belajar.php.
Pemrograman Web BLK Purworejo - 2020
</body>
</html>
32
PHP TAG
PHP tag ini dibuat dengan karakter "<?php" sebagai tag pembuka dan karakter "?>" sebagai tag
penutup. Karakter <?php dan ?> secara formal disebut juga sebagai Standar PHP tag atau XML
style tag.
Di antara kedua tag inilah kita menulis kode PHP. Jika perintah PHP berada di luar tag, kode
tersebut tidak akan berjalan dan dianggap sebagai kode HTML biasa. Berikut contoh
penulisannya:
01.standar_php_tag.php
<?php
Pemrograman Web BLK Purworejo - 2020
<?php
echo "Saya lahir di Purworejo<br>";
print "Saya lahir di Purworejo";
<?php
echo "Saya lahir di Purworejo";
print “<br>Saya lahir di Purworejo";
35
JOBSHEET
#3
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Belajar PHP</title>
</head>
<body>
<p>Saya Sedang Belajar Pemrograman Web di <?php echo "BLK Purworejo"?></p>
<p>Saya Sedang Belajar Pemrograman Web di <?= "BLK Purworejo"?></p>
</body>
</html>
PHP STATEMENT
Statement adalah "sebuah perintah yang menginstruksikan PHP untuk melakukan sesuatu".
Dalam PHP, sebuah statement bisa terdiri dari perintah singkat (seperti echo untuk
menampilkan text di layar) atau sesuatu yang lebih rumit dan terdiri dari beberapa baris
(seperti logika IF atau perulangan).
Mirip dengan bahasa pemrograman lain, statement di dalam PHP harus diakhiri dengan tanda
semicolon atau titik koma " ; ". Berikut contoh penulisan statement di dalam PHP:
Pemrograman Web BLK Purworejo - 2020
<?php
echo "Hello world";
$a = 3; $b = 4;
$nama = "andi";
$c = $a / 25.0;
if ($a != $b) { echo "Tampilkan Data";}
38
CASE SENSITIVITY
Case Sensitivity adalah istilah yang membahas apakah sebuah bahasa
pemrograman membedakan penulisan huruf kecil dan huruf besar.
PHP tidak membedakan huruf besar dan kecil untuk penamaan fungsi (function),
nama class, maupun keyword bawaan PHP seperti echo, while, dan class (bersifat
case insensitive).
Ketiga baris berikut akan dianggap sama oleh PHP:
Pemrograman Web BLK Purworejo - 2020
<?php
echo "Hello World";
ECHO "Hello World";
EcHo "Hello World";
39
CASE SENSITIVITY
Akan tetapi, PHP membedakan penulisan huruf besar dan huruf kecil (case sensitive)
untuk penamaan variabel. Variabel $nama, $Nama dan _ $NAMA_ akan dianggap
sebagai 3 variable yang berbeda. Sering kali terjadi error karena kita salah menulis
nama variabel, dimana seharusnya menggunakan huruf kecil, ditulis dengan huruf
besar seperti contoh berikut:
<?php
Pemrograman Web BLK Purworejo - 2020
$andi="Andi";
echo $Andi;
<?php
Pemrograman Web BLK Purworejo - 2020
Komentar ini berlaku hanya untuk 1 baris saja. Jika kita ingin memberikan komentar lebih dari
1 baris, harus membuatnya lagi:
Pemrograman Web BLK Purworejo - 2020
<?php
# kode program berikut digunakan untuk
# menghitung bunga majemuk
$nilai = $p * exp($r * $t);
42
BARIS KOMENTAR
2. C++ style comment
Metode komentar ini meminjam cara penulisan komentar dari bahasa pemrograman
C++. Hampir sama dengan komentar Unix Shell style, metode komentar C++ berlaku
hanya untuk satu baris saja atau sampai tag penutup PHP ditemukan. Kali ini karakter
yang digunakan adalah dua kali garis miring (two slashes), yakni " // ". Berikut
contoh penggunaannya:
Pemrograman Web BLK Purworejo - 2020
<?php
// kode program berikut digunakan untuk
// menghitung bunga majemuk
$nilai = $p * exp($r * $t);
43
BARIS KOMENTAR
3. C style comment
Jika metode komentar Unix Shell style dan C++ style dipakai untuk membuat
komentar pendek, untuk membuat komentar panjang PHP meminjamnya dari bahasa
C. Metode komentar ini disebut juga tipe komentar blok karena bisa membuat
komentar dalam 1 blok (tidak per baris seperti penulisan komentar sebelumnya).
Awal komentar menggunakan tanda "/*", dan akhir komentar menggunakan tanda
"*/". Seluruh baris di antara kedua karakter ini dianggap sebagai komentar.
Pemrograman Web BLK Purworejo - 2020
berbeda).
✔ Untuk memberikan nilai kepada sebuah variabel, PHP menggunakan karakter
sama
dengan " = ".
✔ Variabel dalam PHP tidak memerlukan deklarasi terlebih dahulu.
46
Penulisan variable yang benar
<?php
$i;
$nama;
$Umur;
$_lokasi_memori;
$ANGKA_MAKSIMUM;
?>
Pemrograman Web BLK Purworejo - 2020
Dapat anda perhatikan bahwa variabel PHP tidak perlu ditulis akan berisi data angka (integer)
atau teks (string). Setiap variabel di dalam PHP bisa berisi data apa saja dan dapat diubah
isinya kapan saja, seperti contoh berikut:
<?php
$foo = 17; // nilai variabel $foo berisi angka (integer)
$foo = "aku"; // nilai variabel $foo diubah menjadi kata (string)
$foo = 17.42; // nilai variabel $foo diubah menjadi desimal (float)
?>
48
TIPS PENULISAN VARIABEL
Beberapa programmer PHP cenderung mengadopsi cara penulisan
variabel yang dinamakan snake_case, yakni menggunakan huruf kecil
untuk setiap variabel dan tanda underscore
sebagai pemisah kata, seperti: $jumlah_data, atau $koneksi_database.
<?php
// menggunakan keyword const
const kota1 = "Jakarta";
// menggunakan fungsi define
define("kota2", “Purworejo");
?>
Pemrograman Web BLK Purworejo - 2020
Sesuai dengan namanya, jika sebuah konstanta telah dibuat maka kita tidak akan bisa mengubah nilai konstanta tersebut:
<?php
define("GAJI", 5000000);
define("GAJI", 50000);
// Notice: Constant GAJI already defined
?>
Sepanjang pembuatan program, umumnya kita tidak akan terlalu sering menggunakan konstanta.
51
PREDEFINED VARIABLE DAN PREDEFINED CONSTANT
PHP memiliki beberapa variabel dan konstanta yang dipakai secara internal oleh PHP itu
sendiri. Oleh karena itu kita sebaiknya tidak menggunakan nama variabel dan nama konstanta
yang sama.
Variabel yang digunakan secara internal oleh PHP dikenal dengan sebutan Predefined
Variable atau Reserved Variable. Daftar lengkap predefined variable PHP dapat dilihat di: PHP
reserved variables. Beberapa diantaranya adalah:
$GLOBALS, $_SERVER, $_GET, $_POST, $_FILES, $_COOKIE, $_SESSION,
$_REQUEST, $_ENV, $php_errormsg, $HTTP_RAW_POST_DATA,
$http_response_header, $argc, $argv, $this
Pemrograman Web BLK Purworejo - 2020
Sedangkan Predefined Constant atau Reserved Constant adalah nama-nama konstanta yang
digunakan secara internal oleh PHP. Daftar lengkap predefined constant dapat dilihat di: PHP
reserved constants. Beberapa diantaranya adalah:
PHP_VERSION, PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION,
PHP_VERSION_ID, PHP_EXTRA_VERSION, __LINE__, __FILE__, __DIR__,
__FUNCTION__, __CLASS__, __TRAIT__, __METHOD__, __NAMESPACE__
52
JOBSHEET
#4
TIPE DATA PHP
Logo
Di dalam PHP, terdapat 8 jenis tipe data yang bisa dikelompokkan menjadi 3 bagian:
Tipe data dasar / tipe data primitive / tipe data scalar:
✔ Integer (angka bulat)
✔ Float / Double (angka pecahan)
✔ Boolean (logika true atau false)
✔ String (teks)
Tipe data composite / tipe data compound:
✔ Array
Pemrograman Web BLK Purworejo - 2020
✔ Object
Tipe data khusus:
✔ Resource
✔ Null
54
TIPE DATA DASAR / TIPE DATA PRIMITIVE / TIPE DATA
SCALAR
Logo
Tipe data dasar adalah tipe data umum yang tersedia di hampir setiap bahasa
pemrograman.
Tipe data integer terdiri dari angka bulat seperti 3, 4, 900 atau 1000.
Tipe data float atau double terdiri dari kumpulan angka pecahan seperti 4.3, 9.99
atau 164.55.
Tipe data Boolean hanya memiliki 2 nilai, yakni true atau false.
Pemrograman Web BLK Purworejo - 2020
Tipe data composite / tipe data compound terdiri dari 2 jenis: array
dan object.
Array merupakan tipe data bentukan yang terdiri dari berbagai
tipe data dasar. Tipe data object juga dibangun dari beberapa tipe
data dasar, sekaligus memiliki fungsi (function) sendiri. Tipe data
object akan dipelajari secara khusus dalam pemrograman berbasis
Pemrograman Web BLK Purworejo - 2020
“bahasa pemrograman yang variabel-nya tidak harus di deklarasikan akan bertipe data
tertentu”
var
var1:integer; <?php
var2:real; $var1 = 12;
var3:string $var2 = 99.99;
Pemrograman Web BLK Purworejo - 2020
Pascal PHP
58
<?php <?php
//dumpdata.php
//cektipedata.php $var1 = 12;
$var1 = 12; var_dump($var1);
echo "<br/>";
echo gettype($var1); // integer $var2 = 99.99;
echo "<br>"; var_dump($var2);
echo "<br/>";
$var2 = 99.99;
$var3 = “blkpurworejo";
echo gettype($var2); // double var_dump($var3);
echo "<br>";
$var3 = “blkpurworejo";
echo gettype($var3); // string
TIPE DATA INTEGER
Logo
var_dump($harga); // int(15000)
Nilai integer dapat bernilai positif (+) echo "<br />";
maupun negatif (-). Jika tidak diberi tanda, var_dump($keuntungan); // int(-
maka diasumsikan nilai tersebut adalah 500000)
positif.
60
TIPE DATA FLOAT
Logo
$siswa = array("Andri","Joko","Sukma","Rina","Sari");
atau
$siswa = ["Andri","Joko","Sukma","Rina","Sari"];
Data yang ada di dalam array ini dikenal juga dengan istilah element array.
Mengakses array:
Pemrograman Web BLK Purworejo - 2020
<?php
$siswa = array("Andri","Joko","Sukma","Rina","Sari");
echo $siswa[2]; // Sukma
echo "<br>";
echo "Murid itu bernama $siswa[0]"; // Murid itu bernama Andri
66
JOBSHEET
#6
TIPE DATA OBJECT
Logo
Operator adalah sesuatu yang menghasilkan nilai dari satu atau lebih
data. Sebagai contoh, tanda tambah ( + ) adalah operator aritmatika
yang menghasilkan nilai dari penambahan dua
buah angka.
Pemrograman Web BLK Purworejo - 2020
<?php
$a = 5;
echo ++$a; // 6
echo $a; // 6
echo "<br>";
$b = 5;
echo $b++; // 5
echo $b; // 6
echo "<br>";
Pemrograman Web BLK Purworejo - 2020
$a = 5;
echo --$a; // 4
echo $a; // 4
echo "<br>";
$b = 5;
echo $b--; // 5
echo $b; // 4
72
OPERATOR PERBANDINGAN
Logo
<?php
var_dump(12 < 14); echo
"<br />"; // bool(true)
var_dump(14 < 14); echo
"<br />"; // bool(false)
var_dump(14 <= 14); echo
"<br />"; // bool(true)
Pemrograman Web BLK Purworejo - 2020
Operator logika adalah operator yang dipakai untuk membandingkan 2 kondisi logika, yaitu
logika benar (true) dan logika salah (false). Nilai yang dibandingkan harus bertipe boolean. Jika
tidak, PHP akan mengkonversinya secara otomatis
Pemrograman Web BLK Purworejo - 2020
74
OPERATOR ASSIGNMENT
Logo
Assignment nilai, atau dalam bahasa inggris dikenal dengan istilah assignment by value
adalah operator yang dipakai untuk menginput suatu nilai ke dalam variabel.
<?php
$a = 99;
$b = "Belajar PHP";
<?php
<?php $a = 10;
Pemrograman Web BLK Purworejo - 2020
$a = 3; $b = 3;
$a = $a + 5; $a = $a - 5;
$a = $a + $b - 4;
echo $a;
Berapa $a sekarang?
75
Logo
assignment_referensi1.php
<?php
$a = 99;
$b = "Belajar PHP";
$c =& $b;
echo "$a , $b"; // 99 , Belajar PHP
Pemrograman Web BLK Purworejo - 2020
Struktur Logika IF
Struktur logika if dipakai untuk mengatur kapan sebuah kode program akan dijalankan.
<?php
if ($user == "admin") {
// tampilkan tabel mahasiswa
} <?php
$user = "admin";
Pemrograman Web BLK Purworejo - 2020
if ($user == "admin"){
<?php echo "Selamat datang Admin!";}
if (kondisi) {
statement;
}
77
Logo
Multiple IF
If bersarang (If di dalam If)
<?php
<?php
if (kondisi1) { if (kondisi1) {
statement1; statement1;
statement2; if (kondisi2) {
Pemrograman Web BLK Purworejo - 2020
} statement1;
}
if (kondisi2) {
}
statement3;
statement4;
}
78
ALTERNATIF PENULISAN STRUKTUR IF
Logo
if (kondisi) :
statement1;
statement1;
endif
Pemrograman Web BLK Purworejo - 2020
79
STRUKTUR LOGIKA SWITCH
Logo
$hasil = kondisi ? "hasil jika kondisi true" : "hasil jika kondisi false";
<?php
if (7 > 5 ) {
$hasil = "Benar"; <?php
} $hasil = (7 > 5) ? "Benar" : "Salah";
Pemrograman Web BLK Purworejo - 2020
<?php
$user = "guest";
if ($user != "admin"){
$salam = "Maaf, anda bukan Admin";
Pemrograman Web BLK Purworejo - 2020
}
else {
$salam = "Welcome Admin!";
}
echo $salam; // Maaf, anda bukan Admin
83
FORM PROCESSING
Logo
<!DOCTYPE html>
Melalui form pengguna bisa <html lang="id">
melakukan interaksi, apakah <head>
itu mengisi form <meta charset="UTF-8">
pendaftaran, login, form <title>Belajar PHP</title>
pencarian, komentar, dll. </head>
<body>
<h1>Pemrosesan Form</h1>
Pemrograman Web BLK Purworejo - 2020
<!DOCTYPE html>
Melalui form pengguna bisa <html lang="id">
melakukan interaksi, apakah <head>
itu mengisi form <meta charset="UTF-8">
pendaftaran, login, form <title>Belajar PHP</title>
pencarian, komentar, dll. </head>
<body>
<h1>Pemrosesan Form</h1>
Pemrograman Web BLK Purworejo - 2020