Syntact PHP dimulai dengan kode <?php diakhiri dengan kode ?>
Untuk menampilkan suatu karakter (ngeprint) berupa tulisan apapun pada layar maka di awali dengan kata echo lalu diapit dua kutip yang disebut string dan diakhiri titik koma ;
Contoh sederhana program PHP:
<?php
echo "Halo, dunia!";
?>
Hasilnya: Halo, dunia! ditampilkan di browser.
FUNGSI UTAMA PHP
PHP sering digunakan untuk:
- Mengelola form HTML (input pengguna)
- Mengakses dan memanipulasi database, seperti MySQL
- Mengelola sesi pengguna (login/logout)
- Membuat API dan layanan backend
- Mengirim email otomatis
- Upload dan download file
KEUNGGULAN PHP
- Gratis & open source
- Mudah dipelajari untuk pemula
- Didukung oleh banyak server web (Apache, Nginx, dll.)
- Terintegrasi dengan baik dengan database MySQL/MariaDB
- Banyak framework (seperti Laravel, CodeIgniter) yang mempercepat pengembangan
PERSIAPAN PHP
1. Lakukan install aplikasi text editor seperti Visual Code (VSCode), notepad++, Atom atau lainnya. Dalam hal ini kita gunakan VSCode.
2. Install aplikasi Web Server (Apache, Tomcat, ISS, Nginx, Lighttpd, dll), Bahasa Pemrograman (PHP, Phyton, ASP, Ruby, dll) dan aplikasi Data Base (MySQL, SQLServer, Oracle, dll) yang semua ketiga aplikasi tersebut digabung menjadi satu kedalam aplikasi seperti XAMPP (Cross Apache, MariaDB, PHP), WAMP (Windows, Apache, MySQL, PHP), MAMP (Macintos, Apache, MySQL, PHP), LAMP (Lynux Apache, MySQL, PHP).
- Pada bahasan ini kita gunakan aplikasi XAMPP (Cross Apache, MariaDB, PHP), sobat blogger dapat mendownload aplikasi XAMPP tersebut pada website:
- https://www.apachefriends.org/download.html
- Pilih versi Windows yang versi 7 biar tidak berat saat menjalankan softwarenya.
- Saat install XAMP apabila keluar warning User Acount Control seperti dibawah ini, akan tetapi kita abaikan langsung klik OK
- Select semua komponen Server, Data Base dan bahasa pemrograman
- Tentukan lokasi folder aplikasi XAMPP dengan cara mengganti dari drive C menjadi drive D lalu klik Next, supaya apabila terjadi reinstall windows, file XAMPP tidak ikut hilang.
- Pilih bahasa English lau klik Next
- Setelah selesai install, buka aplikasi XAMPP, sebelum menjalankan program PHP pastikan modul Apache di dalam control panel PHP aktif terlebih dahulu dengan menekan tombol Start, jika berjalan normal maka background module Apache akan berwarna hijau, apabila ada error maka berwarna merah. Lakukan pengecekan dengan membuka Web browser (internet explorer, google chrome, firefox, microsoft edge atau apapun).
- Tulis alamat URL nya localhost lalu tekan enter maka akan tampil seperti dibawah ini, apabila tidak tampil seperti dibawah berarti web server Apache nya bermasalah.
- Pada tampilan website otomatis keluar menu dashboard http://localhost/dashboard/ hal tersebut karena pada folder htdocs tersebut terdapat file index.php, file index inilah yang menjadi eksekusi pertama aplikasi PHP, dimana yang didalamnya menghubungkan kepada folder dashboard. Jadi untuk membuat aplikasi program PHP maka pertama kali kita harus membuat file index.php tersebut. Apabila tulisan index.php kita ganti menjadi index2.php dan kembali kita lakukan tulis localhost pada alamat URL maka browser akan menampilkan semua file didalam folder htdocs tersebut seperti dibawah ini, lantas kenapa hal tersebut terjadi? karena aplikasi XAMP tidak menemukan file yang bernama index.php.
3. Lokasi penyimpanan file PHP berbeda dengan aplikasi bahasa pemrograman yang lain, dimana lokasinya yaitu pada folder dimana aplikasi XAMP di install, apabila kita meletakkannya pada folder c maka kita cari folder xampp lalu buka dan cari folder htdocs, selanjutnya pada folder htdocs inilah kita letakkan folder yang akan menjadi tempat folder pemrograman kita. Ingat semua folder didalam xampp tersebut jangan satupun ada yang dirubah atau di hapus, karena akan membuat error aplikasinya.
- Jadi apabila kita ingin memulai membuat program PHP, maka kita harus membuat folder terlebih dahulu didalam folder htdocs tersebut. Berinama dengan huruf kecil semua dan usahakan jangan ada spasi, sebagai contoh kita buat folder latihan1
- Selanjutnya folder tersebut kita akan buka pada website, dengan cara menuliskan localhost/latihan1 pada URL web browser lalu enter maka akan tampil seperti dibawah ini karena belum ada file apapun baik file index.php maupun file lainnya (masih kosong).
- Kemudian di dalam folder latihan1 tadi kita buatkan file index.php, caranya letakkan kursor pada folder latihan1, klik kanan, pilih New, pilih Text Document, lalu ganti nama New Text Document.txt menjadi index.php klik OK.
- Sehingga menjadi seperti gambar dibawah ini:
4. Lakukan ujicoba penulisan program PHP sederhana dengan cara buka file index.php pada folder latihan1 dengan menggunakan VSCode, ketik syntact dibawah ini:
- Save dengan menekan Ctrl S, lalu buka web browser dengan menuliskan localhotspot/latihan1 lalu enter, maka pada browser akan keluar tulisan
PEMAHAMAN SYNTACT PHP
Dalam penulisan syntact PHP, kita bisa memasukkannya kedalam syntact html, begitupun sebaliknya syntact html bisa dimasukkan kedalam syntact PHP.
Berikut beberapa syntact PHP:
1. STANDAR OUTPUT
Untuk menampilkan atau mendisplay suatu karakter (ngeprint) berupa tulisan apapun pada layar, dengan syntact:
a. echo "Karakter"
<?php echo "Dedy Kwartono";?>
Hasilnya: Dedy Kwartono
kata "php echo" bisa digantikan dengan simbol "=", sehingga menjadi
<?= "Dedy Kwartono";?>
b. print "Karakter"
c. print_r ("Karakter")
<?php print "Dedy Kwartono";?>
Hasilnya: Dedy Kwartono
Syntact print_r harus menggunakan tanda kurung pada karakternya
d. var_dump ("karakter")
<?php print_r ("Dedy Kwartono");?>
Hasilnya: Dedy Kwartono
Syntact ini akan menampilkan tipe data apa, jumlah angka termasuk spasi berapa dan tulisannya
<?php var_dump ("Dedy Kwartono");?>
2. KOMENTAR
Untuk menulis komentar dalam program PHP agar tidak tampil saat eksekusi program yaitu dengan memberi tanda
- Cara 1 menggunakan double slash atau garis miring kanan di bagian kiri komentar untuk menulis komentar pada 1 baris, apabila ada banyak baris maka caranya blok semua komentar lalu tekan Ctrl / maka akan keluar double // pada semua komentar yang di blok, untuk menghilangkannya kembali dengan memblok kembali semua komentar lalu menekan kembali Ctrl /.
<?php
echo ("Hallo Apa Kabar?");
// Ini adalah komentar
// Ini juga komentar
?>
- Tulisan komentar tidak keluar pada hasil web browser, melainkan hanya tampil tulisan Hallo Apa Kabar? karena menggunakan syntact echo, sementara komentar menggunakan syntact double slash //
- Cara 2 menggunakan /* lalu diakhiri tanda */ syntact ini digunakan untuk lebih dari 1 baris
<?php
echo ("Hallo Apa Kabar?");
/*
Ini Komentar
Ini juga komentar
*/
?>
3. VARIABLE
Penulisan variable dimulai dengan tanda dollar $, tidak boleh di awali dengan angka tapi boleh mengandung angka. Misal tidak boleh ditulis $1nama, melainkan $nama1. Variable juga tidak boleh pakai spasi jadi apabila ada 2 kata maka diantara 2 kata tersebut diberi under score _ misal nama_saya
Contoh Variable nama yang berisikan Dedy
<?php
$nama = "Dedy";
echo "Halo nama saya $nama";
?>
Hasilnya: Halo nama saya Dedy
a. Operator Aritmatika
Syntact yang digunakan tambah (+), kurang (-), bagi (/), modulus atau sisa bagi (%), titik (.) atau operator penggabung string
Contoh 1: Perhitungan biasa
<?php
echo 3+4-2;
?>
Contoh 2: Perhitungan dengan variabel
<?php
$x =10;
$y = 20;
echo $x * $y;
?>
Hasilnya: 200
Contoh 3: Operator penggabung string (Concatenation / Concat)
<?php
$nama_depan ="Dedy";
$nama_belakang = "Kwartono";
echo $nama_depan . " " . $nama_belakang;
?>
Hasilnya: Dedy Kwartono
Contoh 4: Operator Assignment: =, +=, -=, /=, *=, %=, .=
<?php
$x=1;
$x -= 5;
echo $x;
?>
Contoh 5 Operator Assignment: titik sama dengan .=
<?php
$nama="Dedy";
$nama .= " ";
$nama .= "Kwartono";
echo $nama;
?>
Hasilnya: Dedy Kwartono
b. Operator Perbandingan
Syntactnya: <, >, <=, >=, ==, ===, !=
- < artinya lebih kecil
- > artinya lebih besar
- >= artinya lebih besar sama dengan
- == artinya apakah dua nilai atau variabel memiliki nilai yang sama. Jika kedua nilai tersebut sama, maka hasilnya adalah true (benar), sedangkan jika berbeda, hasilnya adalah false (salah), contoh:
<?php
$a=5;
$b=5;
if ($a == $b) {echo "Nilai a dan b sama!";}
else {echo "Nilai a dan b berbeda!";}
?>
Hasilnya: Nilai a dan b sama!
Fungsi if artinya jika pernyataan di dalam tanda () benar, maka tulis keterangan di dalam {} dan else artinya jika pernyataan tersebut salah maka tulis keterangan di dalam {}.
- != artinya tidak sama dengan
c. Operator Logika AND dan OR
: And syntacnya &&, Or syntactnya || dan tidak sama dengan syntactnya !
5. STRUKTUR KENDALI (CONTROL FLOW)
a. Pengulangan (For, While, do..while, foreach)
Pengulangan For
Susunan syntactnya kesamping kanan:
- for (inisialisasi; terminasi; increament/decreament)
- inisialisasi: penentuan varuabel awal pengulangan
- terminasi: memberhentikan pengulangannya
- increament: pengulangan maju dan decreament: pengulangan mundur
- echo "karakter <br>";
Contoh 1 (Pengulangan dasar)
<?php
for ($a=0; $a<5; $a++)
{echo "Hello World <br>";}
?>
$a=0 adalah variabel inisialisasi nilai awal pengulangan dari hitungan 0
$a<5 adalah variabel terminasi pemberhentian pengulangan setelah mencapai 5 kali
$a++ adalah variabel increament pengulangan maju
<br> adalah line break (baris baru) supaya tampilan kebawah
Hasilnya:
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Contoh 2 (Pengulangan dalam table)
Pengulangan tabel menggunakan PHP didalam HTML
<!-- //Buka dengan syntact HTML terlebih dahulu -->
<html>
<head></head>
<body>
<!-- // Buat tabel pada HTML dengan border untuk tebal garis utama -->
<!-- // cellpadding untuk lebar sel -->
<!-- // cellspacing untuk tebal border garis dalam dan luar -->
<table border="1" cellpadding="10" cellspacing="0">
<!-- // Lakukan pengulangan tabel pada PHP dengan simbol a -->
<?php
// nilai awal bermula dari 1, berhenti saat = 3, pengulangan maju
for ($a=1; $a <=3; $a ++) {
// Buat garis dengan tabel raw (tr)
echo "<tr>";
//Lakukan pengulangan kolomnya atau tabel datanya (td) dengan simbol b
for ($b=1; $b <=5; $b ++) {
// Lakukan print dengan memasukkan tabel data (td) valiabel a dan b
echo "<td>$a, $b </td>";
}
echo "</tr>";
}
?>
</table>
</body>
</html>
Hasilnya:
Contoh 3 (Cara lain pengulangan dalam table)
Pengulangan tabel menggunakan PHP didalam HTML
<!-- //Buka dengan syntact HTML terlebih dahulu -->
<html>
<head></head>
<body>
<!-- // Buat tabel pada HTML dengan border untuk tebal garis utama -->
<!-- // cellpadding untuk lebar sel -->
<!-- // cellspacing untuk tebal border garis dalam dan luar -->
<table border="1" cellpadding="10" cellspacing="0">
<!-- // Lakukan pengulangan tabel dengan simbol a, kurung kurawal diganti : -->
<?php for ( $a =1; $a <=3; $a++ ) : ?>
<tr>
<!-- // Lakukan pengulangan tabel dengan simbol b, kurung kurawal diganti : -->
<?php for ($b = 1; $b <=5; $b++) : ?>
<!-- Lakkan print dengan menggabung variabel a & b -->
<td> <?php echo "$a, $b"; ?> </td>
<!-- Tutup pengulangan variabel a -->
<?php endfor; ?>
</tr>
<!-- Tutup pengulangan variabel b dan penggabungan a & b -->
<?php endfor; ?>
</table>
</body>
</html>
Hasilnya sama:
Contoh 4 (Pemberian warna baris table)
<html>
<head>
<!-- Buat style untuk warna-baris dahulu dan beri warna -->
<style> .warna-baris {background-color: green;}
</style>
</head>
<body>
<table border="1" cellpadding="10" cellspacing="0">
<?php for ($a =1; $a <=5; $a++) : ?>
<!-- Buat pengkondisian jika variabel a = ganjil, maka panggil style -->
<?php if ($a % 2 == 1): ?>
<!-- Panggil style warna-baris yang sudah dibuat -->
<tr class="warna-baris">
<?php else : ?>
<tr>
<?php endif; ?>
<?php for ($b = 1; $b <=5; $b++) : ?>
<td><?= "$a, $b"; ?></td>
<?php endfor; ?>
</tr>
<?php endfor; ?>
</table>
</body>
</html>
Hasilnya
Pengulangan While
Fungsi dari while dalam PHP adalah untuk menjalankan perulangan selama suatu kondisi bernilai true.
Struktur umum while:
while (kondisi) {
// bagian kode yang dijalankan selama kondisi true
}
Penjelasan struktur:
- Cek kondisi dulu.
- Jika kondisi true, blok kode dijalankan.
- Setelah itu, kembali cek kondisi.
- Jika kondisi false, perulangan berhenti.
Selama kondisinya dalam keadaan apapun, maka lakukan yang ada di dalam bracketnya.
Contoh:
Hello World!
Hello World!
Hello World!
Hello World!
Hello World!
Keterangan
$a=0 adalah variabel inisialisasi nilai awal pengulangan dari hitungan 0$a<5 adalah selama nilai a lebih kecil dari 5 maka print karakter Hello World!, karena 0 memang benar lebih kecil dari 5 maka pengulangan dilakukan sebanyak 5 kali.
$a++ adalah variabel increament pengulangan maju
<br> adalah line break (baris baru) supaya tampilan kebawah
Pengulangan Do While
Fungsi dari do...while pada PHP adalah untuk menjalankan blok kode minimal satu kali, kemudian mengulangi eksekusi selama kondisi yang diberikan bernilai true.
Struktur umum do .. while
do {
// bagian kode yang akan dijalankan
} while (kondisi);
Penjelasan struktur
- Pertama, blok kode dijalankan sekali, tanpa mengecek kondisi terlebih dahulu.
- Setelah itu, kondisi diperiksa.
- Jika true, blok kode akan dijalankan lagi.
- Jika false, perulangan berhenti.
Contoh:
<?php
$a=10;
do{
echo "Hello World! <br>";
$a++;
} while($a<5)
?>
Keterangan:
$a=0 adalah variabel inisialisasi nilai awal pengulangan dari hitungan 0
$a<5 adalah selama nilai a lebih kecil dari 5 maka print karakter Hello World!, karena 10 bukan lebih kecil dari 5 melainkan lebih besar dari 5 maka pengulangan terhenti setelah dijalankan sekali.
$a++ adalah variabel increament pengulangan maju
<br> adalah line break (baris baru) supaya tampilan kebawah
b. Pengkondisian (if else, if else if else, ternary, switch)
Pengkondisian IF ELSE
Contoh if else
<?php
// Diketahui variabel x = 10
$x = 10;
// Jika variabel x < 20 adalah benar, maka Tulis "Benar"
if($x < 20) {echo "Benar";}
// Jika salah Tulis "Salah"
else {echo "Salah";}
?>
Hasilnya: Benar
Pengkondisian IF ELSE dan ELSE IF
Contoh: if else dan else if
<?php
// Diketahui variabel x = 20
$x = 20;
// Jika variabel x < 20, maka Tulis "Benar"
if($x < 20) {echo "Benar";}
// Jika variabel x =20, maka tuli%s "Bingo!"
else if ($x == 20) {echo "Bingo!";}
// Jika salah Tulis "Salah"
else {echo "Salah";}
?>
Hasilnya: Bingo!
PEMAHAMAN FUNGSI PHP
Fungsi PHP ada 2 yaitu fungsi
1. Built in Function
2. User Defined Function
Fungsi didalam PHP ini harus kita buat dalam judul file.php baru yang diletakkan pada folder utama projek kita, yang pastinya folder utama tersebut harus berada di dalam folder htdoc. Hal pertama yang kita lakukan adalah membuat file baru dengan extensi .php.
1. Built In Function
Built in function adalah fungsi-fungsi bawaan yang sudah tersedia secara default dalam bahasa pemrograman PHP. Artinya, kamu tidak perlu membuat atau mengimpor pustaka tambahan untuk menggunakannya, cukup panggil dan gunakan.
a. Fungsi date()
Digunakan untuk memanipulasi tanggal dan waktu. Untuk menjalankannya pertama-tama kita buat file dengan judul misal date.php di dalam folder htdoc, setelah itu buka melalui VSCode, dan aktifkan XAMPP. Untuk melihat hasil tampilan pada http://localhost/latihan1/date.php
Contoh Fungsi Date:
<?php
echo date("l, d-M-Y");
// l = local time (Nama hari ini)
// d kecil = date (tanggal hari ini) jika D besar ditulis nama hari 3 huruf
// M besar = Month (Bulan saat ini) jika m kecil bulan ditulis 2 angka
// Y besar = Year (tahun saat ini) jika y kecil tahun ditulis 2 angka
?>
Hasilnya: Monday, 26-May-2025
b. Fungsi time()
Digunakan untuk mengambil timestamp saat ini.
c. strtotime("next Monday")
Digunakan untuk mengubah string menjadi timestamp.
2. User Defined Function
User defined function adalah fungsi yang dibuat sendiri oleh programmer untuk menyelesaikan tugas tertentu yang tidak disediakan langsung oleh fungsi bawaan (built-in) PHP. Dengan user defined function, kamu bisa mengelompokkan kode ke dalam blok yang bisa digunakan berulang kali, membuat program lebih modular, rapi, dan mudah dirawat.
Untuk menjalankannya pertama-tama kita buat file dengan judul misal funntion.php di dalam folder htdoc, setelah itu buka melalui VSCode, dan aktifkan XAMPP. Untuk melihat hasil tampilan pada http://localhost/latihan1/function.php
Contoh 1: Ucapan Salam
<?php
function salam() {return "Selamat Datang, Admin!";}
//Fungsi return mengembalikan nilai dari suatu fungsi ke pemanggilnya.
//Artinya, setelah fungsi selesai dijalankan, return akan mengirimkan hasilnya ke bagian program yang memanggilnya
//sehingga nilainya bisa disimpan, dicetak, atau diproses lebih lanjut.
?>
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<h1>
<?php
echo salam();
?>
</h1>
//
</body>
</html>
Hasilnya: Selamat Datang, Admin!
Contoh 2: Ucapan Salam Pagi dan Nama
<?php
function salam($waktu = "Datang", $nama = "Admin") {return "Selamat $waktu, $nama:";}
//Fungsi return mengembalikan nilai dari suatu fungsi ke pemanggilnya.
//Artinya, setelah fungsi selesai dijalankan, return akan mengirimkan hasilnya
//ke bagian program yang memanggilnya
//sehingga nilainya bisa disimpan, dicetak, atau diproses lebih lanjut.
?>
<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<h1>
<?php
echo salam("Pagi", "Sandika")
?>
</h1>
//
</body>
</html>
Hasilnya: Selamat Pagi, Sandika:
PEMAHAMAN ARRAY
Array adalah struktur data yang menyimpan sekumpulan nilai (elemen) dalam satu variabel, di mana setiap nilai (elemen) memiliki index/kunci.
Jenis Array ada beberapa:
1. Array Numerik (Indexed Array)
Menyimpan elemen dengan indeks angka atau integer (mulai dari 0).
Elemen 1 no indeksnya 0
Elemen 2 no indeksnya 1
Elemen 3 no indeksnya 2
Indeks harus di simpan dalam kurung kotak [ ] yang harus urut
Contoh 1: Array numerik standar
Elemen = Andi, Budi, Citra
Key = Nama
<?php
$nama = ["Andi", "Budi", "Citra"];
echo $nama[0]; // Output: Andi
echo "<br>";
echo $nama[1]; // Output: Budi
echo "<br>";
echo $nama[2]; // Output: Citra
?>
Hasilnya: sesuai indeks angkanya
Contoh 2: Array numerik di dalam Array numerik
<?php
$angka = [[1,2,3],[4,5,6],[7,8,9]];
//Untuk menampilkan angka 4 maka harus dari array terluar dulu
//setelah itu baru array didalamnya
echo $angka [1][0]
?>
Hasilnya: 4
Contoh 3: Array numerik pada Daftar Mahasiswa
<?php
$mahasiswa = [
["Dedy Kwartono", "084199","ded_lee_30@yahoo.com", "Teknik Elektro"],
["Prita Yulianti", '084170', 'prita_yulianti@yahoo.com', "Administrasi"]
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<?php foreach ($mahasiswa as $mhs):?>
<!-- <ul> = un ordered list (daftar tidak berurut) -->
<ul>
<!-- <li> = List item baik urut maupun tidak -->
<li><?php echo $mhs[0]; ?></li>
<li><?php echo $mhs[1]; ?></li>
<li><?php echo $mhs[2]; ?></li>
<li><?php echo $mhs[3]; ?></li>
</ul>
<?php endforeach; ?>
</body>
</html>
Hasilnya:
Daftar Mahasiswa
- Dedy Kwartono
- 084199
- ded_lee_30@yahoo.com
- Teknik Elektro
- Prita Yulianti
- 084170
- prita_yulianti@yahoo.com
- Administrasi
Contoh 4 Array numerik pada Daftar Mahasiswa (pakai identitas nama, nrp, dsb)
<?php
$mahasiswa = [
["Dedy Kwartono", "084199","ded_lee_30@yahoo.com", "Teknik Elektro"],
["Prita Yulianti", '084170', 'prita_yulianti@yahoo.com', "Administrasi"]
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<?php foreach ($mahasiswa as $mhs):?>
<!-- <ul> = un ordered list (daftar tidak berurut) -->
<ul>
<!-- <li> = List item baik urut maupun tidak -->
<li>Nama : <?= $mhs[0]; ?></li>
<li>NIK: <?= $mhs[1]; ?></li>
<li>Email: <?= $mhs[2]; ?></li>
<li>Jurusan: <?= $mhs[3]; ?></li>
</ul>
<?php endforeach; ?>
</body>
</html>
Hasilnya:
Daftar Mahasiswa
- Nama : Dedy Kwartono
- NIK: 084199
- Email: ded_lee_30@yahoo.com
- Jurusan: Teknik Elektro
- Nama : Prita Yulianti
- NIK: 084170
- Email: prita_yulianti@yahoo.com
- Jurusan: Administrasi
2. Array Asosiatif
Menyimpan elemen dengan kunci (key) berupa string.
Contoh 1: Array Asosiatif standar
<?php
$profil = [
"nama" => "Budi",
"umur" => 25,
"kota" => "Bandung"
];
echo $profil["nama"]; // Output: Budi
?>
Hasilnya: Budi
Contoh 2: Array Asosiatif pada daftar mahasiswa
<?php
$mahasiswa = [
// Data mahasiswa boleh tidak urut, yang penting ada key nya
[
"nrp" => "084199",
"nama" => "Dedy Kwartono",
"jurusan" => "Teknik Elektro",
"email" => "ded_lee_30@yahoo.com"
],
[
"email" => "prita_yulianti@yahoo.com",
"nama" => "Prita Yulianti",
"jurusan" => "Administrasi",
"nrp" => "084170",
]
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<?php foreach ($mahasiswa as $mhs):?>
<!-- <ul> = un ordered list (daftar tidak berurut) -->
<ul>
<!-- <li> = List item baik urut maupun tidak -->
<li>Nama : <?= $mhs["nama"]; ?></li>
<li>NIK: <?= $mhs["nrp"]; ?></li>
<li>Email: <?= $mhs["jurusan"]; ?></li>
<li>Jurusan: <?= $mhs["email"]; ?></li>
</ul>
<?php endforeach; ?>
</body>
</html>
Hasilnya:
Daftar Mahasiswa
- Nama : Dedy Kwartono
- NIK: 084199
- Email: Teknik Elektro
- Jurusan: ded_lee_30@yahoo.com
- Nama : Prita Yulianti
- NIK: 084170
- Email: Administrasi
- Jurusan: prita_yulianti@yahoo.com
Contoh 3: Array Asosiatif pada daftar mahasiswa pakai gambar
Buat folder gambar dengan nama img pada folder utama projek misal kita membuat projek pada folder latihan maka folder img tersebut letakkan di dalam folder latihan tersebut. Simpan photo pada folder img tersebut dengan diberi nama dan ektensi gambar baik jpg atau jpeg atau bmp dan lainnya.
<?php
$mahasiswa = [
[
"nrp" => "084199",
"nama" => "Dedy Kwartono",
"jurusan" => "Teknik Elektro",
"email" => "ded_lee_30@yahoo.com",
"gambar" => "Dedy.jpg"
],
[
"email" => "prita_yulianti@yahoo.com",
"nama" => "Prita Yulianti",
"jurusan" => "Administrasi",
"nrp" => "084170",
"gambar" => "Bunda.jpg"
]
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<?php foreach ($mahasiswa as $mhs): ?>
<ul>
<!-- Panggil gambar pada folder img tersebut dengan fungsi src= -->
<!-- Atur size gambar supaya sama dengan fungsi " width="100" -->
<li><img src="img/<?= $mhs["gambar"]; ?>" alt="<?= $mhs["nama"]; ?>" width="100"></li>
<li>Nama: <?= $mhs["nama"]; ?></li>
<li>NRP: <?= $mhs["nrp"]; ?></li>
<li>Email: <?= $mhs["email"]; ?></li>
<li>Jurusan: <?= $mhs["jurusan"]; ?></li>
</ul>
<?php endforeach; ?>
</body>
</html>
Hasilnya
Daftar Mahasiswa
Nama: Dedy Kwartono
NRP: 084199
Email: ded_lee_30@yahoo.com
Jurusan: Teknik Elektro
Nama: Prita Yulianti
NRP: 084170
Email: prita_yulianti@yahoo.com
Jurusan: Administrasi
3. Array Multidimensi
Array di dalam array, berguna untuk data yang kompleks seperti tabel atau matriks yang bisa berisi integer, string atau bolean.
Contoh: Untuk menampilkan nama Rina, maka array terluar berupa numerik $mahasiswa [1] dan array di dalamnya berupa string ["nama"];
<?php
$mahasiswa = [
["nama" => "Andi", "umur" => 20],
["nama" => "Rina", "umur" => 21],
["nama" => "Budi", "umur" => 22]
];
// Menampilkan no indeks 1 artinya elemen no 2
echo $mahasiswa[1]["nama"]; // Output: Rina
?>
Hasilnya: Rina
PEMAHAMAN VARIABEL
1. Variable Scope (Lingkup Variabel)
Variabel scope merupakan lingkup di mana suatu variabel bisa diakses
Contoh 1: Variabel di luar function
<?php
$x = 10;
echo $x;
?>
Hasilnya: 10
Contoh 2: Variabel di dalam function
<?php
$x = 10; // Variabel global
function tampilx() {
global $x; // Mengakses variabel global dari dalam fungsi
echo $x;
}
tampilx(); // Output: 10
?>
Hasilnya: 10
2. Variable Superglobals
Semua variable superglobals ini adalah variabel global dengan tipenya adalah array assosiative. Variabel Superglobals ada banyak fungsi seperti: GET, POST, REQUEST, SERVER, FILES, SESSION, COOKIE, ENV, GLOBALS dan lainnya.
Berikut kita bahas untuk fungsi yang umum digunakan:
A. Fungsi $_GET
Mengambil data dari URL (query string), key yang ditulis membekas pada URL.
Contoh 1: Variabel GET
<?php
$_GET["nama"] = "Dedy Kwartono";
$_GET["nrp"] = "091878222";
var_dump($_GET);
?>
Hasilnya:array(2) { ["nama"]=> string(13) "Dedy Kwartono" ["nrp"]=> string(9) "091878222" }
Contoh 2: Daftar Mahasiswa dengan Variabel GET yang menghubungkan 2 file php
a. Buat file pertama dengan judul "Latihan1.php" Pada file pertama ini berisikan daftar nama mahasiswa yang dibuat dalam array assosiative dengan variabel Superglobals. Dari nama mahasiswa tersebut apabila di klik maka akan mengirimkan key ke file kedua yang berisikan detail keterangan mahasiswa tersebut.
- Selanjutnya kita buat array asosiative yang berisi detail data mahasiswa menggunakan kode php.
- Buat kode html yang di dalamnya terdapat kode php untuk mengirimkan key nama ke file kedua
- Pada title tulis <title>Daftar Mahasiswa</title>
- Didalam body tulis <h1>Daftar Mahasiswa</h1> lalu diikuti kode lainnya
- Lakukan pengulangan untuk array assosiative mahasiswa dengan menggunakan foreach
- Tambahkan fungsi href adalah untuk membuat file Latihan 1 (berhubungan atau nge-link) ke file Latihan2 sesuai dengan key "nama" yang dikirimkan, sehingga pada nama yang dikirimkan bisa di klik.
- Tambahkan fungsi huruf "&" pada &nrp, &email, &jurusan, serta &gambar adalah untuk melanjut menampilkan key masing-masing elemen tersebut.
- Tulisan php echo bisa diganti dengan = contoh <?php echo ....... ?> bisa diganti dengan <?= ....... ?>
File Latihan1.php
<?php
$mahasiswa = [
[
"nrp" => "084199",
"nama" => "Dedy Kwartono",
"jurusan" => "Teknik Elektro",
"email" => "ded_lee_30@yahoo.com",
"gambar" => "Dedy.jpg"
],
[
"email" => "prita_yulianti@yahoo.com",
"nama" => "Prita Yulianti",
"jurusan" => "Administrasi",
"nrp" => "084170",
"gambar" => "Bunda.jpg"
]
];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Daftar Mahasiswa</title>
</head>
<body>
<h1>Daftar Mahasiswa</h1>
<ul>
<?php foreach ($mahasiswa as $mhs): ?>
<!-- Tampilkan nama yang diberi link -->
<li>
<!-- Gunakan link href untuk mengirim key "nama" ke file Latihan2.php -->
<!-- Kata php echo bisa diganti = misal <?php echo $mhs["nama"]; ?> menjadi <?= $mhs["nama"]; ?> -->
<a href="Latihan2.php?nama=<?= $mhs["nama"]; ?>
&nrp=<?=$mhs["nrp"];?>
&email=<?=$mhs["email"];?>
&jurusan=<?=$mhs["jurusan"];?>
&gambar=<?=$mhs["gambar"];?> ">
<?= $mhs["nama"]; ?></a>
</li>
<?php endforeach; ?>
</ul>
</body>
</html>
Hasilnya:
Daftar Mahasiswa
- Dedy Kwartono
- Prita Yulianti
b. Buat file kedua dengan judul "Latihan2.php" Letakkan file Latihan2.php tersebut pada folder yang sama dengan folder tempat menyimpan file Latihan1.php yaitu pada folder Latihan. Pada file kedua ini berisikan detail keterangan dari nama mahasiswa yang kita klik pada file pertama.
- Buat kode php untuk men-cek apakah variabel ada di $_GET. Tujuannya supaya orang lain tidak langsung membuka file Latihan2 melainkan harus Latihan2 dulu. Simbol || artinya or atau simbol diatas back slash.
- Fungsi $_GET dimana key yang kita kirim akan tampil pada URL
- Hal pertama saat membuat koding di file kedua adalah menampikan standar kode bawaan html dengan cara ketik tanda seru ! lalu enter.
- Pada title tulis <title>Detail Mahasiswa</title>
- Didalam body tulis <h1>Detail Mahasiswa</h1> lalu diikuti kode lainnya
- Buat list yang akan ditampilkan pada file Latihan2.php ini dengan fungsi <li> ... </li>
- Gunakan variabel GET untuk menangkap key "nama" yang dikirim dari file Latihan1/php dan dilanjut elemen lainnya nrp, email, dan jurusan.
- Tambahkan fungsi href adalah untuk membuat file Latihan 2 (berhubungan atau nge-link) ke file Latihan1 sesuai dengan key "nama" yang dikirimkan, agar bisa Kembali ke Daftar Mahasiswa
<?php
// Cek apakah variabel ada di $_GET
// Tujuannya supaya orang lain tidak langsung membuka file Latihan2 melainkan harus Latihan2 dulu
// simbol || artinya or atau pada back slash
if( !isset($_GET["nama"]) ||
!isset($_GET["nrp"]) ||
!isset($_GET["email"]) ||
!isset($_GET["jurusan"]) ||
!isset($_GET["gambar"]))
// redirect untuk memindahkan user dari 1 halaman ke halaman lain
// Gunakan fungsi header
{header("Location: Latihan1.php");
exit;}
// Di akhiri exit supaya script dibawahnya tidak di eksekusi
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Detail Mahasiswa</title>
</head>
<body>
<h1>Detail Mahasiswa</h1>
<ul>
<!-- Atur size gambar supaya sama dengan fungsi " width="100" -->
<li><img src="img/<?= $_GET["gambar"];?>" width="100"></li>
<!-- Tangkap key "nama" yang dikirim dari file Latihan1.php dengan variabel Superglobals-->
<!-- Kata php echo bisa diganti = misal <?php echo $_GET["nama"]; ?> menjadi <?= $_GET["nama"]; ?> -->
<li>Nama: <?= $_GET["nama"];?></li>
<li>NRP: <?= $_GET["nrp"];?></li>
<li>Email: <?= $_GET["email"];?></li>
<li>Jurusan: <?= $_GET["jurusan"];?></li>
</ul>
<!-- Kembali gunakan link href ke file Latihan1.php -->
<a href="Latihan1.php"> Kembali ke Daftar Mahasiswa</a>
</body>
</html>
Hasilnnya:
Daftar Mahasiswa
Kembali ke Daftar MahasiswaB. Fungsi $_POST
Mengambil data dari form HTML yang dikirim dengan method POST key tidak membekas pada URL.
Contoh 1. Variable POST (Membuat Inputan Nama)
Pada file Latihan3.php dimana begitu di ketik dan submit maka akan menampilkan menu baru dengan ucapan selamat datang sesuai nama yang kita ketik.
- Buat file Latihan3.php
- Bukan fungsi standar html dengan ketik tanda seru ! lalu enter
- Beri Title Masukkan Nama
- Tulis nama yang akan di input <input type="text" name="nama">
- Tulis tombol submit <button type="submit" name="submit">Kirim!</button>
- Buat fungsi POST untuk menghubungkan denga file Latihan4.php letakkan diatas fungsi input <form action="Latihan4.php" method="post">
File Latihan3.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Masukan Nama</title>
</head>
<body>
<!-- Fungsi action dan method untuk menentukan tujuan kemana nama yang dikirim -->
<form action="Latihan4.php" method="post">
Masukan Nama:
<input type="text" name="nama">
<br>
<button type="submit" name="submit">Kirim!</button>
</form>
</body>
</html>
Hasilnya:
Masukan Nama:
- Buat file Latihan4.php
- Bukan fungsi standar html dengan ketik tanda seru ! lalu enter
- Beri Title Ucapan
- Tulis head Selamat datang dengan fungsi php echo key "nama"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ucapan</title>
</head>
<body>
<hi> Selamat Datang, <?= $_POST["nama"]; ?>!</hi>
</body>
</html>
Hasilnya: Selamat Datang, Dedy!
BUAT SEEDMS
(Simple Enterprise Electronic Document Management System)
1. Buat Folder "seedms" pada folder "htdocs"
- Folder seedms akan menyimpan semua file PHP dan dokumen hasil upload yang diperlukan
2. Buat Tabel Struktur Database MySQL
- Buka XAMPP control panel, klik Admin pada MySQL, akan terbuka website phpMyAdmin
- Akan tampil Database "seedms" di bagian kiri, selanjutnya klik "SQL", setelah itu pastekan kode dibawah ini kedalam menu SQL tersebut kemudian klik"Kirim", dan tutup website phpMyAdmin.
CREATE TABLE documents (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
filename VARCHAR(255) NOT NULL,
uploaded_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
3. Buat File PHP dan Folder Upload
- Buat folder "upload" di dalam folder "seedms" yang berfungsi sebagai tempat menyimpan semua dokumen yang sudah di upload.
- Buat 3 file PHP pendukung yang diletakkan di dalam folder "seedms": config.php list.php dan dan upload.php
- Copy paste kan isi masing-masing file tersebut dengan kode PHP dibawah ini:
<?php
$host = 'localhost';
$db = 'seedms';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (Exception $e) {
echo "Connection failed: " . $e->getMessage();
exit;
}
?>
FIle list.php
<?php include 'config.php'; ?>
<!DOCTYPE html>
<html>
<head><title>Daftar Dokumen - SEEDMS</title></head>
<body>
<h2>Daftar Dokumen</h2>
<table border="1" cellpadding="8">
<tr>
<th>No</th>
<th>Judul</th>
<th>File</th>
<th>Waktu Upload</th>
</tr>
<?php
$stmt = $pdo->query("SELECT * FROM documents ORDER BY uploaded_at DESC");
$no = 1;
while ($row = $stmt->fetch()) {
echo "<tr>
<td>{$no}</td>
<td>{$row['title']}</td>
<td><a href='uploads/{$row['filename']}' target='_blank'>Lihat</a></td>
<td>{$row['uploaded_at']}</td>
</tr>";
$no++;
}
?>
</table>
</body>
</html>
File upload.php
<?php include 'config.php'; ?>
<!DOCTYPE html>
<html>
<head><title>Upload Dokumen - SEEDMS</title></head>
<body>
<h2>Upload Dokumen</h2>
<form method="post" enctype="multipart/form-data">
Judul: <input type="text" name="title" required><br><br>
File: <input type="file" name="document" required><br><br>
<button type="submit" name="upload">Upload</button>
</form>
<?php
if (isset($_POST['upload'])) {
$title = $_POST['title'];
$fileName = basename($_FILES['document']['name']);
$targetDir = "uploads/";
$targetFile = $targetDir . $fileName;
if (move_uploaded_file($_FILES['document']['tmp_name'], $targetFile)) {
$stmt = $pdo->prepare("INSERT INTO documents (title, filename) VALUES (?, ?)");
$stmt->execute([$title, $fileName]);
echo "<p>Dokumen berhasil diupload!</p>";
} else {
echo "<p>Upload gagal.</p>";
}
}
?>
</body>
</html>
Cara menjalankan Seedms
- Buka http://localhost/seedms/
- Jalankan upload.php untuk upload dokumen.
- Jalankan list.php untuk lihat daftar dokumen.
Itu saja yang dapat penulis sampaikan, semoga bermanfaat dan membawa berkah,
Wassalam,
DK
No comments:
Post a Comment