Modul 7 Praktikum Rekweb
Modul Praktikum Rekayasa Web
Pertemuan ke-7:
PHP
Disusun oleh
Dr. Uung Ungkawa, MT
Modul 7
PHP
Tujuan :
- Menunjang mata kuliah Rekayasa Web
- Mengetahui, mengenal dan memahami Bahasa Pemrograman Sisi server: PHP
Jenis Praktikum :
- Eksplorasi pemrograman web dengan PHP
Persyaratan :
- Praktikan harus menyiapkan terminal (Windows) perintah.
- Praktikan harus menyiapkan penyunting teks (text editor). Disrankan menggunakan Eclipse, Visual Studio Code, Netbean, Notepad++.
- Praktikan harus menyiapkan browser (Chrome, Firefox) dan Server PHP.
- Memahami HTML, CSS, Javascript
Perangkat praktikum :
- PC / Notebook
Materi
PHP singkatan dari PHP: Hypertext Preprocessor, yang merupakan bahasa scripting untuk pemrograman web sisi server, karena dieksekusi di server. PHP sudah sangat luas digunakan dan merupakan sumber terbuka sehingga bebas diunduh dan digunakan. PHP ini bahasa yang populer dan menakjubkan:
Cukup tangguh untuk menjadi inti dari sistem blog terbesar (Wordpress).
Cukup jauh (sampai ke akar-akarnya) menjalankan jejaring sosial terbesar (Facebook).
Cukup mudah untuk menjadi bahasa sisi server pertama bagi pemula.
File PHP
File PHP boleh mengandung teks, HTML, CSS, Javascript, dan kode PHP. Kode PHP ini dieksekusi di server tetapi hasilnya dikirim ke browser sebagai HTML biasa. File PHP memeliki ekstensi .php.
Yang bisa PHP lakukan
Dengan PHP kita dapat melakukan banyak hal:
Membangkitkan isi halaman web dinamik
Membuat, membuka, membaca, menulis, menghapus dan menutup file di server.
mengumpulkan data form
Mengirim dan menerima cookies
Menambah, menghapus, mengubah data di basis data
Digunakan untuk mengatur akses pengguna
Untuk mengenkrip data
Untuk menghasilkan HTML, gambar, teks, XHTML, XML, file pdf, bahkan Flash movie.
Mengapa PHP
Ada banyak alasan untuk memilih PHP:
PHP bisa jalan di berbagao platform: Windows, Linux, Unix, Mac OS X, dsb.
Kompatibel dengan semua server yang dipakai hari ini: Apache, IIS, dan lainnya.
Mendukung berbagai basisdata.
Gratis, bisa diunduh di sumber resmi PHP: www.php.net.
Mudah dipelajari dan bisa jalan dengan efisien di sisi server.
Yang baru di PHP 7
Versi terakhir PHP adalah versi 7 yang memiliki kelebihan:
Lebih cepat dibanding versi yang populer (PHP 5.6)
Meningkatkan penanganan error
Mendukung deklarasi jenis yang lebih ketat untuk parameter fungsi.
Mendukung operator baru (seperti operator spaceship <=>)
Instalasi PHP
Dalam praktikum ini praktikan harus menginstall server PHP:
Unduh perangkat lunak server PHP dan basis data seperti XAMPP, LAMPP, WAMP, Laragon, atau yang lainnya.
Install di komputer praktikan
Aktifkan server, maka komputer akan berfungsi sebagai server dan masih bisa sebagai klien.
Membuat File PHP
Untuk membuat file PHP, bisa digunakan penyunting teks atau lingkungan pengembang web. Banyak pengembang web yang gratis seperti Eclipse, VS Code. Skrip PHP bisa ditulis di mana saja dalam dokumen (file). Skrip PHP dalam file diawali dengan <?php dan diakhiri dengan ?>:
<!DOCTYPE html>
<html>
<body>
<?php
//kode php ditulis di sini
?>
</body>
</html>
Ekstensi default file PHP adalah .php. Biasanya file PHP mengandung tag-tag HTML dan beberap kode script PHP.
Sensitifitas Kasus
Di PHP, kata kunci seperti if, else, while, echo dan lainnya, juga kelas, fungsi dan fungsi yang dibuat pengguna tidak peka kasus, huruf besar sama dengan huruf kecil. Akan tetapi, nama variabel bersifat peka kasus.
Komentar
Seperti pada bahasa lain, komentar di PHP tidak dieksekusi. Hanya untuk catatan pembaca dan pengguna yang mengembangkan program, supaya memahami kode, atau catatan untuk pengingat. Ini penting karena seringkali kita sebagai pembuat akan sering kembali memahami program yang telah kita buat. Untuk itu sebaiknya nama variabel atau fungsi perlu diberi komentar arti, maksud dibuat variabel atau fungsi tersebut. Komentar dalam PHP bisa dengan // dan # untuk komentar baris dan untuk beberapa baris, komentar dibatasi /* dan */.
<!DOCTYPE html>
<html>
<body>
<?php
// This is a single-line comment
# This is also a single-line comment
?>
</body>
</html>
Variabel
Variabel adalah wadah untuk menyimpan data/informasi. Dalam PHP variabel diawali tanda $ dan diikuti namanya. Dalam PHP, variabel tidak perlu dideklarasikan terlebih dahulu. Deklarasi langsung tejadi ketika diberi nilai. Nama variabel harus dimulai huruf atau garis bawah dan tidak boleh diawali angka. Nama variabel hanya boleh mengandung alfanumerik (huruf dan angka, A-z dan 0-9 dan _). Varibel PHP bersifat peka kasus.
Variabel Output
Statemen echo digunakan untuk mengeluarkan data ke layar. Ada perbedaan tanda petik ganda dengan tanda petik tunggal terhadap variabel:
<?php
$u = "Itenas";
echo "Hello $u ".'Hello $u';
?>
Akan menghasilkan
Hello Itenas Hello $u
PHP Bahasa Longgar Jenis
Yang dimaksud bahasa longgar jenis adalah bahwa dalam PHP tidak perlu menentukan jenis data pada suatu variabel. PHP akan menentukan jenis variabel secara otomatis tergantung nilainya. Karena jenis data tidak ditentukan dengan ketat, kita dapat melakukan penjumlahan string dengan integer tanpa error. Di PHP 7 ditambahkan deklarasi jenis. Ini memberi pilihan untuk menentukan jenis data yang bisa diterima ketika mendeklarasikan fungsi dan dengan memungkinkan ketentuan jenis yang ketat yang akan menghasilkan eror fatal jika terjadi ketidaksesuaian jenis.
Skup (Cakupan) Variabel
Dalam PHP, variabel dapat dideklarasikan di mana saja di salam script (kode). Cakupan di mana variabel itu dikenal, adalah daerah/bagian di dalam script di mana variabel itu dapat diacu (dipakai). PHP memiliki tiga cakupan variabel berbeda:
lokal
global
statik
Skup Global dan Lokal
Variabel yang dideklarasikan di luar fungsi memiliki skup global dan hanya bisa diakses di luar fungsi. Kode berikut menghasilkan error karena variabel $x di dalam fungsi myFunc() tidak terdefinisi (undefined).
<?php
$x = 5; // global scope
function myFunc() {
// Muncul error Undefined variable
echo "<p>Variable x inside function is: $x</p>";
}
myFunc();
echo "<p>Variable x outside function is: $x</p>";
?>
Sebaliknya, variabel yang dideklarasikan di dalam fungsi memiliki skup lokal dan hanya bisa diakses di dalam fungsi saja.
<?php
function myFunc() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myFunc();
// Muncul error Undefined variable
echo "<p>Variable x outside function is: $x</p>";
?>
Dengan demikian, kita bisa memiliki nama variabel yang sama di beberapa fungsi tetapi memiliki skup lokal masing-masing. Ini karena variabel lokal hanya dikenal secara lokal di dalam fungsi.Lalu bagaimana jika kita ingin mengakses variabel global di dalam fungsi? PHP menggunakan kata kunci global untuk mengakses variabel global di dalam fungsi:
<?php
$x = 5;
$y = 10;
function myFunc() {
global $x, $y;
$y = $x + $y;
}
myFunc(); // eksekusi fungsi
echo $y; // menampilkan nilai baru isi variabel $y
?>
PHP juga menyimpan semua variabel global di dalam larik $GLOBALS[index] di mana index merupakan nama variabelnya (dalam tanda petik). Larik ini juga dapat diakses dari dalam fungsi dan dapat digunakan untuk mengubah variabel global secara langsung. Contoh di atas dapat ditulis ulang sebagai:
<?php
$x = 5;
$y = 10;
function myFunc() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}
myFunc(); // eksekusi fungsi
echo $y; // menampilkan nilai baru isi variabel $y
?>
Superglobals
Variabel superglobal adalah variabel bawaan yang selalu ada di semua skup. Beberapa variabel sudah didefinisikan oleh PHP dan bersifat superglobal yang berarti selalu bisa diakses di mana pun bahkan dapat diakses dari dalam fungsi, kelas atau file. Beberapa variabel superglobal PHP adalah:
$GLOBALS
$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
Variabel Statik
Pada dasarnya, biasanya, jika suatu fungsi sudah selesai diensekusi, semua variabelnya dihapus. Akan tetapi kadang kita ingin variabel di dalam fungsi (lokal) tidak dihapus misalnya karena ingin dipakai lagi datanya di pekerjaan (eksekusi) berikutnya. Untuk ini kita dapat menggunakan kata kunci static ketika pertama kali mendefinisikan variabel:
<?php
function myFunc() {
static $x = 0;
echo $x;
$x++;
}
myFunc ();
echo "<br>";
myFunc ();
echo "<br>";
myFunc ();
?>
Kode di atas memanggil fungsi tiga kali. Setiap kali fungsi selesai dieksekusi, nilai $x bertambah satu sehingga pada pemanggilan berikutnya, $x bernilai baru. Keluarannya menjadi:
0
1
2
Nilai $x tetap disimpan setelah eksekusi sehingga hasilnya selalu nilai terakhir. Jika bukan statik, tidak menggunakan kata kunci static, keluarannya selalu 0 karena pada saat deklarasi dibuat variabel baru. Silakan dicoba. Namun variabel ini tetap bersifat lokal di dalam fungsi tersebut.
Keluaran
Di dalam PHP ada dua cara mendasar untuk keluaran: echo dan print. Kedua perintah ini hampir sama kecuali:
print seperti fungsi yang mengembalikan nilai 1.
print hanya bisa satu argumen (beberapa argumen disambung dengan titik) sedangkan echo bisa beberapa argumen (yang dihubungkan dengan koma).
echo sedikit lebih cepat dari print
Sebagai contoh, perhatikan kode berikut:
<?php
$txt1 = "Learn PHP";
$txt2 = "W3Schools.com";
$x = 5;
$y = 4;
print "<h2>" . $txt1 . "</h2>";
echo "Study PHP at " , $txt2 , "<br>"; //tidak bisa pakai print karena print hanya bisa 1 argumen
print "Study PHP at " . $txt2 . "<br>"; // bisa pakai print karena dengan dot menjadi 1 argumen
$a=print $x + $y; //tidak bisa pakai echo karena echo bukan fungsi yang memberikan nilai
echo '<br>', $a;
?>
Menangani Form
Variabel superglobal $_GET dan $_POST digunakan untuk mengumpulkan data form.
Validasi Form
Cookies
Sessions
Latihan
Eksplorasi PHP
Siapkan browser Chrome atau Firefox
Install XAMPP atau Laragon
Siapkan penyunting teks (text editor) seperti Eclipse, VS Code, Netbean, Notepad++ atau yang lainnya.
Buat file index.php dengan isi
<?php
echo “Hello Itenas”;
?>
Buatkan folder Latihan1 di folder htdocs (untuk XAMPP) atau di folder www (Laragon).
Simpan file index.php di folder Latihan1.
Jalankan server Apache di XAMPP atau di Laragon.
Buka browser, ketik di address bar: localhost/latihan1
Perhatikan apa yang terjadi
Ubah-ubah isi file index.php untuk mengeksplorasi PHP.
Catatan: index.php adalah file default yang dieksekusi jika nama file tidak disebutkan. Jika ingin mengakses file abcd.php di folder lat1, ketik di browser localhost/lat1/abcd.php.
Catatan 2: Awas tanda petik di Word tidak kompatibel dengan tanda petik di Notepad++. Ketik ulang tanda petik dari Word ke Notepad++ untuk membuat file php. Error di tanda petik.
Tugas Akhir
- Menangani form dengan PHP:
Buatkan form yang mengandung isian (fields) nama, nrp, no kontak, email dan alamat.
Buatkan cara untuk validasi: nama: wajib diisi dan tidak boleh mengandung angka
Isian nrp hanya angka dan tanda minus (-) seperti 15-2003-001
Isian no kontak: harus angka dan boleh dipisah dengan spasi, tanda minus dan boleh diawali tanda plus.
Alamat email harus berformat: unyil@gmail.com atau unyil@gmail.co.id.
Proses form dan tampilkan data dari isian form tersebut.
- Implementasikan cookies dengan PHP:
Buatkan satu halaman web yang meminta nama dan nrp mahasiswa.
Simpan data tadi di dalam cookie
Tampilkan data di suatu div di halaman web tersebut.
Coba dengan browser Chrome. Perhatikan apakah aplikasi anda benar menampilkan data yang dimasukkan?
Tutup browser yang anda gunakan, kemudian buka lagi browser dan kunjungi lagi halaman tadi yang menyimpan data di cookies. Apakah data masih ada?
Tutup lagi browser dan gunakan browser Firefox untuk mengunjungi halaman yang sama. Adakah data tadi?
- Implementasi Sessions dengan PHP
Buatkan satu halaman utama (home) yang memiliki beberapa link untuk mengakses halaman lain.
Buatkan dua level: Dari home ke halaman level 1 dan dari halaman level 1 ke level 2.
Di halaman utama, pengguna diminta untuk login dan setelah login menu link ke halaman level 1 muncul, juga menampilkan nama pengguna.
Di halaman level 1 dan level 2, juga ditampilkan nama pengguna melalui sessions dari halaman utama.
Coba klik link ke halaman level 1. Apakah nama pengguna ada?
Klik juga ke halaman level 2, perhatikan adakah nama pengguna?