Anda di halaman 1dari 37

PHP Dasar

Untuk Pemula
Level 1

Chris Medianto Purba


PHP Dasar Untuk Pemula

6
Apa itu Array?
File dan Array

Array adalah variabel khusus, yang dapat menampung lebih dari satu nilai dalam satu
waktu.
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array("Volvo", "BMW", "Toyota");
7. echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] .
".";
8. ?>
9.
10.</body>
11.</html>

Jika Anda memiliki daftar item (daftar nama mobil, misalnya), menyimpan mobil dalam
variabel tunggal akan terlihat seperti ini:
$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";

Namun, bagaimana jika Anda ingin melewati mobil dan menemukan yang spesifik? Dan
bagaimana jika Anda tidak memiliki 3 mobil, tetapi 300? Solusinya adalah membuat array!
Sebuah array dapat menampung banyak nilai dengan satu nama, dan Anda dapat
mengakses nilai dengan mengacu pada nomor indeks.

Buat Array di PHP


array();

Di PHP, fungsi array () digunakan untuk membuat array:


Di PHP, ada tiga jenis array:

Array indeks - Array dengan indeks numerik


Array asosiatif - Array dengan menggunakan key nama
Array multidimensi - Array yang berisi satu atau lebih array

2 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Dapatkan Panjang Array - Fungsi count()


Fungsi count()digunakan untuk mengembalikan panjang (jumlah elemen) dari sebuah array:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array("Volvo", "BMW", "Toyota");
7. echo count($cars);
8. ?>
9.
10.</body>
11.</html>

PHP Dengan Array Indeks


Ada dua cara untuk membuat array terindeks. Indeks dapat ditetapkan secara otomatis (indeks
selalu dimulai dari 0), seperti ini:
$cars = array("Volvo", "BMW", "Toyota");

atau indeks dapat ditetapkan secara manual:


$cars[0] = "Volvo"; $cars[1] = "BMW"; $cars[2] = "Toyota";

Contoh berikut membuat array terindeks bernama $cars, menetapkan tiga elemen ke dalamnya,
lalu mencetak teks yang berisi nilai array:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array("Volvo", "BMW", "Toyota");
7. echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
8. ?>
9.
10.</body>
11.</html>

Perulangan Dengan Array Indeks


Untuk mengulang dan mencetak semua nilai dari array yang ber-indeks, Anda dapat
menggunakan for loop, seperti ini:

https://www.youtube.com/c/gokoding 3
PHP Dasar Untuk Pemula
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array("Volvo", "BMW", "Toyota");
7. $arrlength = count($cars);
8.
9. for($x = 0; $x < $arrlength; $x++) {
10. echo $cars[$x];
11. echo "<br>";
12.}
13.?>
14.
15.</body>
16.</html>

PHP Dengan Array Assosiatif


Array asosiatif adalah larik yang menggunakan key bernama yang Anda tetapkan padanya.
Ada dua cara untuk membuat array asosiatif:
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

Atau
$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";

Key yang bernama kemudian dapat digunakan dalam skrip:


1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7. echo "Peter is " . $age['Peter'] . " years old.";
8. ?>
9.
10.</body>
11.</html>

Perulangan Menggunakan Array Assosiatif


Untuk mengulang dan mencetak semua nilai dari sebuah array asosiatif, Anda dapat
menggunakan foreach loop, seperti ini:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7.
8. foreach($age as $x => $x_value) {
9. echo "Key=" . $x . ", Value=" . $x_value;
10. echo "<br>";

4 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
11.}
12.?>
13.
14.</body>
15.</html>

PHP Dengan Array Multidimensi


Di halaman sebelumnya, kami telah menjelaskan array yang merupakan satu daftar pasangan
key / nilai. Namun, terkadang Anda ingin menyimpan nilai dengan lebih dari satu key. Untuk ini,
kami memiliki array multidimensi.

Array multidimensi adalah larik yang berisi satu atau lebih larik. PHP mendukung array multidi-
mensi yang memiliki kedalaman dua, tiga, empat, lima, atau lebih. Namun, array yang lebih dari
tiga level sulit untuk dikelola bagi kebanyakan orang.

Array Dua Dimensi


Array dua dimensi adalah larik larik (larik tiga dimensi adalah larik larik larik). Pertama, lihat tabel
berikut:

Name Stock Sold


Volvo 22 18
BMW 15 13
Saab 5 2
Land Rover 17 15

Kita dapat menyimpan data dari tabel di atas dalam array dua dimensi, seperti ini:
$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);

Sekarang array dua dimensi $cars berisi empat array, dan ini memiliki dua indeks: baris dan ko-
lom. Untuk mendapatkan akses ke elemen array $cars kita harus menunjuk ke dua indeks (baris
dan kolom):
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array (
7. array("Volvo",22,18),
8. array("BMW",15,13),
9. array("Saab",5,2),
10. array("Land Rover",17,15)
11.);

https://www.youtube.com/c/gokoding 5
PHP Dasar Untuk Pemula
12.echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
13.echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
14.echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
15.echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
16.?>
17.
18.</body>
19.</html>

Kita juga bisa meletakkan perulangan for di dalam perulangan for lainnya untuk mendapatkan
elemen dari array $cars (kita masih harus menunjuk ke dua indeks):
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array (
7. array("Volvo",22,18),
8. array("BMW",15,13),
9. array("Saab",5,2),
10. array("Land Rover",17,15)
11.);
12.
13.for ($row = 0; $row < 4; $row++) {
14. echo "<p><b>Row number $row</b></p>";
15. echo "<ul>";
16. for ($col = 0; $col < 3; $col++) {
17. echo "<li>".$cars[$row][$col]."</li>";
18. }
19. echo "</ul>";
20.}
21.?>
22.
23.</body>
24.</html>

Array Sorting
Elemen dalam sebuah array dapat diurutkan dalam urutan abjad atau numerik, turun atau naik.
Dalam bab ini, kita akan membahas fungsi sortir array PHP berikut:

sort() - mengurutkan array dalam urutan menaik


rsort() - mengurutkan array dalam urutan menurun
asort() - mengurutkan array asosiatif dalam urutan naik, sesuai dengan nilainya
ksort() - mengurutkan array asosiatif dalam urutan naik, menurut kuncinya
arsort() - mengurutkan array asosiatif dalam urutan menurun, sesuai dengan nilainya
krsort() - mengurutkan array asosiatif dalam urutan menurun, menurut kuncinya

Urutkan Array dalam Ascending Order - sort (). Contoh berikut mengurutkan elemen dari array
$cars dalam urutan abjad:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php

6 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
6. $cars = array("Volvo", "BMW", "Toyota");
7. sort($cars);
8.
9. $clength = count($cars);
10.for($x = 0; $x < $clength; $x++) {
11. echo $cars[$x];
12. echo "<br>";
13.}
14.?>
15.
16.</body>
17.</html>

The following example sorts the elements of the $numbers array in ascending numerical order:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $numbers = array(4, 6, 2, 22, 11);
7. sort($numbers);
8.
9. $arrlength = count($numbers);
10.for($x = 0; $x < $arrlength; $x++) {
11. echo $numbers[$x];
12. echo "<br>";
13.}
14.?>
15.
16.</body>
17.</html>

Urutkan Array dalam Urutan Descending - rsort (). Contoh berikut mengurutkan elemen dari ar-
ray $cars dalam urutan abjad:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $cars = array("Volvo", "BMW", "Toyota");
7. rsort($cars);
8.
9. $clength = count($cars);
10.for($x = 0; $x < $clength; $x++) {
11. echo $cars[$x];
12. echo "<br>";
13.}
14.?>
15.
16.</body>
17. </html>

Contoh berikut mengurutkan elemen dari array $numbers dalam urutan numerik menurun:

https://www.youtube.com/c/gokoding 7
PHP Dasar Untuk Pemula
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $numbers = array(4, 6, 2, 22, 11);
7. rsort($numbers);
8.
9. $arrlength = count($numbers);
10.for($x = 0; $x < $arrlength; $x++) {
11. echo $numbers[$x];
12. echo "<br>";
13.}
14.?>
15.
16.</body>
17.</html>

Sortir Array (Ascending Order), Menurut Nilai - asort (). Contoh berikut mengurutkan array aso-
siatif dalam urutan menaik, sesuai dengan nilainya:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7. asort($age);
8.
9. foreach($age as $x => $x_value) {
10. echo "Key=" . $x . ", Value=" . $x_value;
11. echo "<br>";
12.}
13.?>
14.
15.</body>
16.</html>

Sortir Array (Ascending Order), Menurut Key - ksort (). Contoh berikut mengurutkan array aso-
siatif dalam urutan menaik, menurut kuncinya:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7. ksort($age);
8.
9. foreach($age as $x => $x_value) {
10. echo "Key=" . $x . ", Value=" . $x_value;
11. echo "<br>";
12.}
13.?>
14.
15.</body>
16.</html>

8 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
Sort Array (Descending Order), Menurut Nilai - arsort (). Contoh berikut mengurutkan array aso-
siatif dalam urutan menurun, sesuai dengan nilainya:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7. arsort($age);
8.
9. foreach($age as $x => $x_value) {
10. echo "Key=" . $x . ", Value=" . $x_value;
11. echo "<br>";
12.}
13.?>
14.
15.</body>
16. </html>

Sortir Array (Urutan Descending), Menurut Key - krsort (). Contoh berikut mengurutkan array
asosiatif dalam urutan menurun, sesuai dengan kuncinya:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
7. krsort($age);
8.
9. foreach($age as $x => $x_value) {
10. echo "Key=" . $x . ", Value=" . $x_value;
11. echo "<br>";
12.}
13.?>
14.
15.</body>
16.</html>

https://www.youtube.com/c/gokoding 9
PHP Dasar Untuk Pemula

Function pada PHP


7
Kekuatan sebenarnya dari PHP berasal dari fungsinya (function). PHP memiliki lebih dari 1000
fungsi built-in, dan sebagai tambahan Anda dapat membuat fungsi kustom Anda sendiri. PHP
memiliki lebih dari 1000 fungsi bawaan yang dapat dipanggil secara langsung, dari dalam skrip,
untuk melakukan tugas tertentu. Silakan lihat referensi PHP dari dokumentasinya untuk ikhtisar
lengkap tentang fungsi bawaan PHP.

Selain fungsi PHP bawaan, dimungkinkan untuk membuat fungsi Anda sendiri. Fungsi adalah
sekumpulan pernyataan yang dapat digunakan berulang kali dalam suatu program. Suatu fungsi
tidak akan dijalankan secara otomatis saat halaman dimuat. Sebuah fungsi akan dieksekusi
dengan panggilan ke fungsi tersebut.

Ketika kita koding dengan script yang kompleks, biasanya kita melakukan sesuatu yang berulang
– ulang, oleh karena itu kita membutuhkan suatu fungsi untuk membantu para programmer, agar
penulisan kode programnya lebih efisien. Fungsi sendiri adalah konstruksi pemrograman untuk
melakukan suatu proses.

Deklarasi fungsi yang ditentukan pengguna dimulai dengan kata function:


function functionName() {
code to be executed;
}

Pada contoh di bawah ini, kami membuat fungsi bernama "writeMsg ()". Tanda kurung kurawal
buka ({) menunjukkan awal kode fungsi, dan tanda kurung kurawal tutup (}) menunjukkan akhir
dari fungsi tersebut. Fungsi ini menghasilkan "Halo dunia!". Untuk memanggil fungsi tersebut,
cukup tulis namanya diikuti dengan tanda kurung ():
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. function writeMsg() {
7. echo "Hello world!";
8. }
9.
10.writeMsg();
11.?>
12.
13.</body>
14.</html>

10 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Function dengan Argumen


Informasi dapat diteruskan ke fungsi melalui argumen. Argumen itu seperti variabel. Argumen
ditentukan setelah nama fungsi, di dalam tanda kurung. Anda dapat menambahkan argumen
sebanyak yang Anda inginkan, cukup pisahkan dengan koma.

Contoh berikut memiliki fungsi dengan satu argumen ($fname). Ketika fungsi familyName () di-
panggil, kami juga memberikan nama (misalnya Jani), dan nama tersebut digunakan di dalam
fungsi, yang menghasilkan beberapa nama depan yang berbeda, tetapi memiliki nama belakang
yang sama:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. function familyName($fname) {
7. echo "$fname Refsnes.<br>";
8. }
9.
10.familyName("Jani");
11.familyName("Hege");
12.familyName("Stale");
13.familyName("Kai Jim");
14.familyName("Borge");
15.?>
16.
17.</body>
18.</html>

Contoh berikut memiliki fungsi dengan dua argumen ($fname dan $year):
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. function familyName($fname, $year) {
7. echo "$fname Refsnes. Born in $year <br>";
8. }
9.
10.familyName("Hege","1975");
11.familyName("Stale","1978");
12.familyName("Kai Jim","1983");
13.?>
14.
15.</body>
16.</html>

Pada contoh di atas, perhatikan bahwa kita tidak perlu memberi tahu PHP tipe data variabelnya.
PHP secara otomatis mengaitkan tipe data ke variabel, tergantung pada nilainya. Karena tipe
data tidak disetel dalam arti yang ketat, Anda dapat melakukan hal-hal seperti menambahkan
string ke integer tanpa menyebabkan kesalahan.

https://www.youtube.com/c/gokoding 11
PHP Dasar Untuk Pemula
Di PHP 7, deklarasi tipe ditambahkan. Ini memberi kita opsi untuk menentukan tipe data yang
diharapkan saat mendeklarasikan fungsi, dan dengan menambahkan deklarasi strict, ini akan
memunculkan "Fatal Error" jika tipe datanya tidak cocok. Dalam contoh berikut kami mencoba
mengirim angka dan string ke fungsi tanpa menggunakan strict:
1. <?php
2. function addNumbers(int $a, int $b) {
3. return $a + $b;
4. }
5. echo addNumbers(5, "5 days");
6. // since strict is NOT enabled "5 days" is changed to int(5), and it will
return 10
7. ?>

Untuk menentukan ketat kita perlu mengatur deklarasi (strict_types = 1) ;. Ini harus berada di ba-
ris pertama file PHP. Dalam contoh berikut kami mencoba mengirim angka dan string ke fungsi,
tetapi di sini kami telah menambahkan deklarasi strict :

Contoh berikut menunjukkan cara menggunakan parameter default. Jika kita memanggil fungsi
setHeight () tanpa argumen, dibutuhkan nilai default sebagai argumen:
1. <?php declare(strict_types=1); // strict requirement ?>
2. <!DOCTYPE html>
3. <html>
4. <body>
5.
6. <?php
7. function setHeight(int $minheight = 50) {
8. echo "The height is : $minheight <br>";
9. }
10.
11.setHeight(350);
12.setHeight();
13.setHeight(135);
14.setHeight(80);
15.?>
16.
17.</body>
18.</html>

Untuk membiarkan fungsi mengembalikan nilai, gunakan pernyataan return:


1. <?php declare(strict_types=1); // strict requirement ?>
2. <!DOCTYPE html>
3. <html>
4. <body>

12 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
5. <?php
6. function sum(int $x, int $y) {
7. $z = $x + $y;
8. return $z;
9. }
10.
11.echo "5 + 10 = " . sum(5,10) . "<br>";
12.echo "7 + 13 = " . sum(7,13) . "<br>";
13.echo "2 + 4 = " . sum(2,4);
14.?>
15.
16.</body>
17.</html>

PHP 7 juga mendukung Deklarasi Tipe untuk pernyataan return. Seperti dengan deklarasi tipe
untuk argumen fungsi, dengan mengaktifkan persyaratan yang ketat, ini akan memunculkan
"Kesalahan Fatal" pada ketidakcocokan tipe. Untuk mendeklarasikan tipe untuk fungsi yang
dikembalikan, tambahkan titik dua (:) dan tipe tepat sebelum kurung kurawal buka ({) saat men-
deklarasikan fungsi. Dalam contoh berikut kami menentukan tipe pengembalian untuk fungsi ter-
sebut:
1. <?php declare(strict_types=1); // strict requirement
2. function addNumbers(float $a, float $b) : float {
3. return $a + $b;
4. }
5. echo addNumbers(1.2, 5.2);
6. ?>

Anda bisa menentukan tipe pengembalian yang berbeda, dari tipe argumen, tapi pastikan tipe
yang dikembalikan benar:
1. <?php declare(strict_types=1); // strict requirement
2. function addNumbers(float $a, float $b) : int {
3. return (int)($a + $b);
4. }
5. echo addNumbers(1.2, 5.2);
6. ?>

Dalam PHP, argumen biasanya diteruskan oleh nilai, yang berarti bahwa salinan nilai digunakan
dalam fungsi dan variabel yang diteruskan ke fungsi tidak dapat diubah. Ketika argumen fungsi
dilewatkan oleh referensi, perubahan pada argumen juga mengubah variabel yang diteruskan.
Untuk mengubah argumen fungsi menjadi referensi, operator & digunakan:

https://www.youtube.com/c/gokoding 13
PHP Dasar Untuk Pemula

Mengelola Waktu
8 dan Tanggal
Fungsi PHP date() digunakan untuk memformat tanggal dan / atau waktu. Fungsi PHP date()
memformat timestamp tanggal dan waktu dengan lebih mudah dibaca. Format penulisan sebagai
berikut:
date(format,timestamp)

Parameter Description
format Required. Specifies the format of the timestamp
Optional. Specifies a timestamp. Default is the current date and
timestamp
time

Format Tanggal
Parameter format yang diperlukan dari fungsi date () menentukan bagaimana memformat
tanggal (atau waktu). Berikut beberapa karakter yang biasa digunakan untuk tanggal:
d - Mewakili hari dalam sebulan (01 hingga 31)
m - Mewakili satu bulan (01 hingga 12)
Y - Mewakili satu tahun (dalam empat digit)
l - (huruf kecil 'L') - Mewakili hari dalam seminggu

Karakter lain, seperti "/", ".", Atau "-" juga dapat disisipkan di antara karakter untuk menam-
bahkan format tambahan. Contoh di bawah ini memformat tanggal hari ini dalam tiga cara ber-
beda:

Gunakan fungsi date () untuk memperbarui tahun hak cipta di situs web Anda secara otomatis:

14 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Format Waktu
Berikut beberapa karakter yang biasa digunakan untuk kali:

H - format 24 jam satu jam (00 hingga 23)


h - format 12-jam dari satu jam dengan nol di depannya (01 hingga 12)
i - Menit dengan nol di depan (00 hingga 59)
s - Detik dengan nol di depan (00 hingga 59)
a - Huruf kecil Ante meridiem dan Post meridiem (am atau pm)
Contoh di bawah ini menampilkan waktu saat ini dalam format yang ditentukan:
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. echo "The time is " . date("h:i:sa");
7. ?>
8.
9. </body>
10.</html>

Penggunaan Time Zone


Jika waktu Anda kembali dari kode tidak benar, itu mungkin karena server Anda berada di
negara lain atau disiapkan untuk zona waktu yang berbeda. Jadi, jika Anda membutuhkan waktu
yang tepat sesuai dengan lokasi tertentu, Anda dapat mengatur zona waktu yang ingin Anda
gunakan. Contoh di bawah menyetel zona waktu ke "America / New_York", lalu menampilkan
waktu saat ini dalam format yang ditentukan:

<!DOCTYPE html>

<html>

<body>

<?php

date_default_timezone_set("America/New_York");

echo "The time is " . date("h:i:sa");

?>

</body>

https://www.youtube.com/c/gokoding 15
PHP Dasar Untuk Pemula
Contoh di bawah ini membuat tanggal dan waktu dengan fungsi date () dari sejumlah parameter
di fungsi mktime ():
1. <!DOCTYPE html>
2. <html>
3. <body>
4.
5. <?php
6. $d=mktime(11, 14, 54, 8, 12, 2014);
7. echo "Created date is " . date("Y-m-d h:i:sa", $d);
8. ?>
9.
10.</body>
11.</html>

Format Tanggal dengan strtotime()


Fungsi PHP strtotime() digunakan untuk mengubah string tanggal yang dapat dibaca manusia
menjadi stempel waktu (timestamp) Unix (jumlah detik sejak 1 Januari 1970 00:00:00 GMT).

Format:

Contoh di bawah ini membuat tanggal dan waktu dari fungsi strtotime():

PHP cukup pintar mengonversi string menjadi tanggal, sehingga Anda dapat memasukkan
berbagai nilai:

<!DOCTYPE html>

<html>

<body>

<?php

$d=strtotime("tomorrow");

echo date("Y-m-d h:i:sa", $d) . "<br>";

16 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
Namun, strtotime() tidak sempurna, jadi ingatlah untuk memeriksa string yang Anda masukkan di
sana.

Contoh Lain Penggunaan Tanggal


Contoh di bawah ini menampilkan tanggal untuk enam hari Sabtu berikutnya:

Contoh di bawah ini menampilkan jumlah hari hingga 4 Juli:

https://www.youtube.com/c/gokoding 17
PHP Dasar Untuk Pemula

User Interface &


9 Graphical User Interface
User Interface (UI) adalah semua cara yang digunakan seseorang untuk berinteraksi dengan
mesin atau sistem; termasuk sistem terkomputerisasi. Sementara Graphical User Interface (GUI)
adalah salah satu dari banyak jenis antarmuka pengguna untuk interaksi manusia dengan
komputer yang menggunakan tampilan grafis sebagai output utama.

Lebih rincinya lagi GUI adalah tampilan visual sebuah produk yang menjembatani sistem dengan
pengguna (user). Tampilan GUI dapat berupa bentuk, warna, dan tulisan yang didesain
semenarik mungkin. Secara sederhana, GUI adalah bagaimana tampilan sebuah produk dilihat
oleh pengguna.

Tampilan GUI ini diterapkan pada sistem operasi, aplikasi, website, maupun blog. Sebagai
contoh, tampilan menu-menu aplikasi pada smartphone. Jadi, tampilan GUI dirancang dengan
desain beberapa aspek, mulai dari layout, gambar logo, pemilihan warna yang sesuai,
typography yang mudah dibaca dan hal lainnya untuk mempercantik tampilan. Nah, semua
elemen yang memperindah tampilan tersebut termasuk dalam elemen GUI.

Membuat Form
Superglobals PHP $_GET dan $_POST digunakan untuk mengumpulkan data formulir. Contoh
di bawah ini menampilkan formulir HTML sederhana dengan dua bidang masukan dan tombol
kirim:

Ketika pengguna mengisi formulir di atas dan mengklik tombol kirim, data formulir dikirim untuk
diproses ke file PHP bernama "welcome.php". Data formulir dikirim dengan metode HTTP POST.
Untuk menampilkan data yang dikirimkan, Anda cukup menggemakan semua variabel.
"Welcome.php" terlihat seperti ini:

18 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
Outputnya bisa seperti ini:

Hasil yang sama juga dapat dicapai dengan menggunakan metode HTTP GET:

dan "welcome_get.php" terlihat seperti ini:

Kode di atas cukup sederhana. Namun, yang terpenting hilang. Anda perlu memvalidasi data for-
mulir untuk melindungi skrip Anda dari kode berbahaya.

Perbedaan GET vs. POST


Baik GET dan POST membuat array (mis. Array (key1 => value1, key2 => value2, key3 => val-
ue3, ...)). Array ini menampung pasangan kunci / nilai, di mana kunci adalah nama dari kontrol
formulir dan nilai adalah data masukan dari pengguna. Baik GET dan POST diperlakukan se-
bagai $_GET dan $_POST. Ini adalah superglobals, yang berarti bahwa mereka selalu dapat di-
akses, apa pun cakupannya - dan Anda dapat mengaksesnya dari fungsi, kelas, atau file apa
pun tanpa harus melakukan sesuatu yang khusus.

$_GET adalah array variabel yang diteruskan ke skrip saat ini melalui parameter URL.
$_POST adalah larik variabel yang diteruskan ke skrip saat ini melalui metode HTTP POST.

Kapan menggunakan GET?


Informasi yang dikirim dari formulir dengan metode GET dapat dilihat oleh semua orang (semua
nama dan nilai variabel ditampilkan di URL). GET juga memiliki batasan jumlah informasi yang
akan dikirim. Batasannya sekitar 2000 karakter. Namun, karena variabel ditampilkan di URL,
dimungkinkan untuk menandai halaman. Ini dapat berguna dalam beberapa kasus.

GET dapat digunakan untuk mengirim data non-sensitif.

https://www.youtube.com/c/gokoding 19
PHP Dasar Untuk Pemula
Catatan: GET JANGAN PERNAH digunakan untuk mengirim sandi atau informasi sensitif
lainnya!

Kapan menggunakan POST?


Informasi yang dikirim dari formulir dengan metode POST tidak terlihat oleh orang lain (semua
nama / nilai disematkan di dalam tubuh permintaan HTTP) dan tidak memiliki batasan jumlah in-
formasi yang akan dikirim. Selain itu, POST mendukung fungsionalitas lanjutan seperti dukungan
untuk input biner multi-bagian saat mengunggah file ke server. Namun, karena variabel tidak dit-
ampilkan di URL, tidak mungkin untuk menandai halaman.

Form Validasi dengan PHP


Pikirkan keamanan saat memproses formulir PHP. Halaman-halaman ini akan menunjukkan
bagaimana memproses formulir PHP dengan mempertimbangkan keamanan. Validasi data for-
mulir yang tepat penting untuk melindungi formulir Anda dari peretas dan pengirim spam. Formu-
lir HTML yang akan kita kerjakan di bab-bab ini, berisi berbagai bidang masukan: bidang teks
wajib dan opsional, tombol radio, dan tombol kirim:

Field Validation Rules


Name Required. + Hanya boleh berisi huruf dan spasi

E-mail Required. + Harus berisi alamat email yang valid (dengan @ dan.)
Website Optional. Jika ada, itu harus berisi URL yang valid
Comment Optional. Bidang masukan multi-baris (textarea)
Gender Required. Harus memilih salah satu

Text Fields
Bidang nama, email, dan situs web adalah elemen input teks, dan bidang komentar adalah area
teks. Kode HTML terlihat seperti ini:
Name: <input type="text" name="name">
E-mail: <input type="text" name="email">
Website: <input type="text" name="website">
Comment: <textarea name="comment" rows="5" cols="40"></textarea>

Radio Buttons
Bidang gender adalah tombol radio dan kode HTML terlihat seperti ini:
Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other

The Form Element


Kode HTML formulir terlihat seperti ini:
<form method="post" action="<?php echo
tmlspecialchars($_SERVER["PHP_SELF"]);?>">

20 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
Saat formulir dikirimkan, data formulir dikirim dengan method = "post".

$_SERVER ["PHP_SELF"] adalah variabel super global yang mengembalikan nama file dari
skrip yang sedang dieksekusi. Jadi, $_SERVER ["PHP_SELF"] mengirimkan data formulir yang
dikirimkan ke halaman itu sendiri, alih-alih melompat ke halaman lain. Dengan cara ini, pengguna
akan mendapatkan pesan kesalahan di halaman yang sama dengan formulir.

Fungsi htmlspecialchars() mengubah karakter khusus menjadi entitas HTML. Ini berarti itu akan
menggantikan karakter HTML seperti < dan > dengan &lt; dan &gt;. Ini mencegah penyerang
mengeksploitasi kode dengan memasukkan kode HTML atau Javascript (serangan Cross-site
Scripting) ke dalam formulir.

Variabel $_SERVER ["PHP_SELF"] dapat digunakan oleh peretas. Jika PHP_SELF digunakan di
halaman Anda, maka pengguna dapat memasukkan garis miring (/) dan kemudian beberapa
perintah Cross Site Scripting (XSS) untuk dijalankan.

Asumsikan kita memiliki formulir berikut di halaman bernama "test_form.php":


<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

Sekarang, jika pengguna memasukkan URL normal di bilah alamat seperti "http://
www.example.com/test_form.php", kode di atas akan diterjemahkan ke:
<form method="post" action="test_form.php">

Sejauh ini bagus. Namun, pertimbangkan bahwa pengguna memasukkan URL berikut dibilah
alamat:

Dalam hal ini, kode di atas akan diterjemahkan menjadi:


<form method="post" action="test_form.php/"><script>alert('hacked')</
script>

Kode ini menambahkan tag skrip dan perintah peringatan. Dan saat halaman dimuat, kode Ja-
vaScript akan dijalankan (pengguna akan melihat kotak peringatan). Ini hanyalah contoh seder-
hana dan tidak berbahaya bagaimana variabel PHP_SELF dapat dieksploitasi.

Ketahuilah bahwa kode JavaScript apa pun dapat ditambahkan di dalam tag <script>! Seorang
peretas dapat mengarahkan pengguna ke file di server lain, dan file itu dapat menyimpan kode
berbahaya yang dapat mengubah variabel global atau mengirimkan formulir ke alamat lain untuk
menyimpan data pengguna, misalnya.

Eksploitasi $_SERVER ["PHP_SELF"] dapat dihindari dengan menggunakan fungsi htmlspecial-


chars(). Kode formulir akan terlihat seperti ini:
<form method="post" action="<?php echo htmlspecialchars($_SERVER
["PHP_SELF"]);?>">

Fungsi htmlspecialchars () mengubah karakter khusus menjadi entitas HTML. Sekarang jika
pengguna mencoba mengeksploitasi variabel PHP_SELF, itu akan menghasilkan keluaran beri-
kut:

https://www.youtube.com/c/gokoding 21
PHP Dasar Untuk Pemula
<form method="post" action="<?php echo htmlspecialchars($_SERVER
["PHP_SELF"]);?>">

Fungsi htmlspecialchars () mengubah karakter khusus menjadi entitas HTML. Sekarang jika
pengguna mencoba mengeksploitasi variabel PHP_SELF, itu akan menghasilkan keluaran beri-
kut:
<form method="post" action="test_form.php/&quot;&gt;&lt;script&gt;alert
('hacked')&lt;/script&gt;">

Upaya eksploitasi gagal, dan tidak ada kerusakan yang dilakukan!

Form Validasi dengan PHP


Hal pertama yang akan kita lakukan adalah meneruskan semua variabel melalui fungsi htmlspe-
cialchars () PHP. Saat kita menggunakan fungsi htmlspecialchars (); lalu jika pengguna mencoba
mengirimkan hal berikut di bidang teks:

Ini tidak akan dijalankan, karena akan disimpan sebagai kode pelolosan HTML, seperti ini:

Kode sekarang aman untuk ditampilkan di halaman atau di dalam email. Kami juga akan
melakukan dua hal lagi saat pengguna mengirimkan formulir:

Hapus karakter yang tidak perlu (spasi ekstra, tab, baris baru) dari data input pengguna (dengan
fungsi trim () PHP). Hapus garis miring terbalik (\) dari data input pengguna (dengan fungsi PHP
stripslashes ()). Langkah selanjutnya adalah membuat fungsi yang akan melakukan semua
pemeriksaan untuk kita (yang jauh lebih nyaman daripada menulis kode yang sama berulang
kali).

Kami akan menamai fungsi test_input (). Sekarang, kita dapat memeriksa setiap variabel $
_POST dengan fungsi test_input (), dan skripnya terlihat seperti ini:

22 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Perhatikan bahwa di awal skrip, kami memeriksa apakah formulir telah dikirimkan menggunakan
$_SERVER ["REQUEST_METHOD"]. Jika REQUEST_METHOD adalah POST, maka formulir
telah dikirim - dan harus divalidasi. Jika belum dikirimkan, lewati validasi dan tampilkan formulir
kosong. Namun, pada contoh di atas, semua kolom input bersifat opsional. Skrip berfungsi
dengan baik meskipun pengguna tidak memasukkan data apa pun. Langkah selanjutnya adalah
membuat kolom masukan yang diperlukan dan membuat pesan kesalahan jika diperlukan.

https://www.youtube.com/c/gokoding 23
PHP Dasar Untuk Pemula

Required Fields
Dari tabel aturan validasi di halaman sebelumnya, kita melihat bahwa kolom "Nama", "E-mail",
dan "Jenis Kelamin" harus diisi. Bidang ini tidak boleh kosong dan harus diisi dalam bentuk
HTML.

Field Validation Rules


Name Required. + Hanya boleh berisi huruf dan spasi
E-mail Required. + Harus berisi alamat email yang valid (dengan @ dan.)
Website Optional. Jika ada, itu harus berisi URL yang valid
Comment Optional. Bidang masukan multi-baris (area teks)
Gender Required. Harus memilih salahsatu

Di bab sebelumnya, semua kolom input bersifat opsional. Dalam kode berikut kami telah menam-
bahkan beberapa variabel baru: $nameErr, $emailErr, $genderErr, dan $websiteErr. Variabel
kesalahan ini akan menyimpan pesan kesalahan untuk bidang yang wajib diisi. Kami juga telah
menambahkan pernyataan if else untuk setiap variabel $_POST. Ini memeriksa apakah variabel
$_POST kosong (dengan fungsi PHP kosong ()). Jika kosong, pesan kesalahan disimpan dalam
variabel kesalahan yang berbeda, dan jika tidak kosong, ini mengirimkan data masukan
pengguna melalui fungsi test_input():

24 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Menampilkan Pesan Error


Kemudian dalam formulir HTML, kami menambahkan sedikit skrip setelah setiap bidang yang
diperlukan, yang menghasilkan pesan kesalahan yang benar jika diperlukan (yaitu jika pengguna
mencoba mengirimkan formulir tanpa mengisi bidang yang diperlukan):

https://www.youtube.com/c/gokoding 25
PHP Dasar Untuk Pemula

Langkah selanjutnya adalah memvalidasi data masukan, yaitu "Apakah field Nama hanya berisi
huruf dan spasi?", Dan "Apakah kolom E-mail berisi sintaks alamat e-mail yang valid?", Dan jika
diisi, " Apakah bidang Situs web berisi URL yang valid? ".

Validasi Nama
Kode di bawah ini menunjukkan cara sederhana untuk memeriksa apakah bidang nama hanya
berisi huruf, tanda hubung, apostrof, dan spasi putih. Jika nilai field name tidak valid, maka sim-
pan pesan error:

26 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Validasi Email
Cara termudah dan teraman untuk memeriksa apakah alamat email sudah benar adalah dengan
menggunakan fungsi filter_var () PHP. Pada kode di bawah ini, jika alamat email tidak benar,
maka simpan pesan kesalahan:

Validasi URL
Kode di bawah ini menunjukkan cara untuk memeriksa apakah sintaks alamat URL valid
(ekspresi reguler ini juga memungkinkan tanda hubung di URL). Jika sintaks alamat URL tidak
valid, maka simpan pesan kesalahan:
$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-
a-z0-9+&@#\/%=~_|]/i",$website)) {
$websiteErr = "Invalid URL";
}

Hasilnya adalah seperti berikut:

https://www.youtube.com/c/gokoding 27
PHP Dasar Untuk Pemula

Langkah selanjutnya adalah menunjukkan cara mencegah formulir mengosongkan semua bi-
dang masukan saat pengguna mengirimkan formulir.

Tampilkan Nilai-Nilai Pada Formnya


Untuk menampilkan nilai di kolom masukan setelah pengguna menekan tombol kirim, kami
menambahkan sedikit skrip PHP di dalam atribut nilai dari kolom masukan berikut: nama, email,
dan situs web. Di kolom textarea komentar, kita meletakkan skrip antara tag <textarea> dan </
textarea>. Skrip kecil menampilkan nilai variabel $name, $email, $website, dan $comment.

Kemudian, kita juga perlu menampilkan tombol radio mana yang dicentang. Untuk ini, kita harus
memanipulasi atribut yang diperiksa (bukan atribut nilai untuk tombol radio):

28 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

Hasil formulir lengkapnya adalah sebagai berikut:

https://www.youtube.com/c/gokoding 29
PHP Dasar Untuk Pemula

30 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula
Tampilanya adalah sebagai berikut:

https://www.youtube.com/c/gokoding 31
PHP Dasar Untuk Pemula

32 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

https://www.youtube.com/c/gokoding 33
PHP Dasar Untuk Pemula

34 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

https://www.youtube.com/c/gokoding 35
PHP Dasar Untuk Pemula

36 https://www.youtube.com/c/goKoding
PHP Dasar Untuk Pemula

https://www.youtube.com/c/gokoding 37

Anda mungkin juga menyukai