Laporan Pemrograman Web - PHP
Laporan Pemrograman Web - PHP
PEMROGRAMAN WEB
Disusun Oleh:
PTI OFF B
Maret-2015
MODUL 4
PHP (HYPERTEXT PREPROCESSOR)
A. KOMPETENSI DASAR
• Memahami struktur dasar dokumen PHP.
• Membuat dokumen PHP yang baik dan benar.
• Memanfaatkan elemen-elemen dasar untuk mengolah dan menampilkan informasi.
B. PETUNJUK
• Awali setiap aktivitas dengan do’a, semoga berkah dan bermanfaat.
• Pahami tujuan, dasar teori, dan latihan-latihan praktikum dengan baik dan benar.
• Kerjakan tugas- tugas praktikum dengan baik, sabar dan jujur.
• Tanyakan kepada asisten/ dosen apabila ada hal-hal yang kurang jelas.
C. DASAR TEORI.
1) PHP
PHP( Hypertext Prepocessor) merupakan salah satu bahasa web scripting yang sangat
powerful. Ditemukan pertama kali oleh Rasmus Lerdorf tahun 1994. Bahasa ini
dimaksudkan untuk menghasilkan halaman – halaman web yang dinamis.
Karakteristik penulisan :
a. Ditulis diantara tag
<script
language=”php”>
dan </script>
2
b. Setiap statement
diakhiri dengan
titik – koma (;)
c. CASE
SENSITIVE untuk
nama identifier
yang dibuat oleh
user (variable.
Konstanta, fungsi
dll), namun
TIDAK CASE
SENSITIVE untuk
identifier built – in
dari PHP, misal :
$nama ≠
$NAMA
hitungLuas() ≠
HitungLuas()
echo = ECHO
while = WHILE
2) Tipe Data
PHP mendukung delapan tipe primitif, yang terdiri dari empat tipe skalar (boolean, integer,
float/double, dan string). Dua tipe gabungan (array dan object) dan sisanya adalah tipe
khusus (NULL dan resource). Meskipun keberadaan tipe data dalam deklarasi variabel
tidak penting, namun dalam tahp selanjutnya sangatlah penting.
3) Komentar
PHP mendukung tiga jenis sintaks untuk menuliskan baris komentar, meliputi style
C, C++ dan Perl/Shell. Penggunaan sebagai berikut:
3
/* awal
4) Tag PHP
Dua style tag lainnya memerlukan aktivasi dukungan di file konfigurasi php.
D. LATIHAN
1. Pengenalan PHP .
- Script
Demo 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo</title>
4
</head>
<body>
<?php
echo 'Kode PHP di sini';
//...
?>
</body>
</html>
Demo 2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo</title>
</head>
<body>
<?php
echo 'Kode PHP di sini';
//...
?>
<?php
echo 'Kode PHP di sini';
//...
?>
</body>
</html
5
Gambar 1.2 Tampilan hasil halaman web
Penjelasan :
Program diatas merupakan contoh menuliskan sebuah tulisan dengan menggunakan kode
script php. Untuk menuliskan tulisan yang akan ditampilkan pada halaman html , dapat
menggunakan fungsi echo. Fungsi echo ini sendiri fungsinya sama seperti printif/cout pada
bahasa pemrograman c++. Jangan lupa menyertakan tag php agar dapat diakses, jika tidak
maka script akan eror saat decompiling.
6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo</title>
</head>
<body>
</body>
</html>
<body>
<p> Dokumen HTML </p> //paragraf baru dengan tulisan dokumen html
</body>
</html
2. Variabel
- Script
Demo1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo Variabel</title>
</head>
<body>
<?php
7
$bil = 3;
echo $bil;
?>
</body>
</html>
Demo 2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo Variabel</title>
</head>
<body>
<?php
print_r($bil);
?>
</body>
</html>
8
Gambar 2.2 Tampilan hasil halaman web
Penjelasan :
<body>
<?php
?>
</body>
</html
9
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Demo Variabel</title>
</head>
<body>
<?php
?>
</body>
</html>
Program diatas menggunakan dua cara untuk dapat menggunakan variable dalam
menuliskan maupun menampilkan variable yang digunakan dalam sebuah kode php. Dalam
php , variable dilambang dengan “$”. Kemudian untuk menginisialisasi dan memanggil tipe
data yang digunakan pada variable tersebut dapat menggunakan fungsi “var_dump”, untuk
pemanggilan isi dari variable tersebut , selain menggunakan echo, dapat menggunakan
“print_r”.
<body>
<?php
$bil = 3;
var_dump(is_int($bil));
//output: bool(true)
1
0
?>
</body>
</html>
- Casting
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Casting Tipe</title>
</head>
<body>
<?php
$str = '123abc';
echo gettype($str);
//output: string
echo gettype($bil);
// output: integer
?>
</body>
</html>
Penjelasan:
1
1
Program cek tipe diatas menggunakan fungsi Boolean untuk mengecek apakah tipe data
dari isi varaibel tersebut benar bertipe integer atau string. Menggunakan fungsi is_int untuk
tipe data integer dan is_string iuntuk tipe data string.
Sedangkan program casting tipe digunakan untuk menguji tipe data yang dimiliki masing-
masing variable. Fungsi yang digunakan untuk menguji tipe data dari variable yang akan
diuji menggunakan fungsi gettype. Gettype akan mengambil nilai dari variable yang
digunakan kemudian menguji tipe data dari variable tersebut.
<body>
<?php
$bil = 3;
var_dump(is_int($bil)); //kondisi jika isi variabel bilangan bertipe integer
maka boolean true
//output: bool(true)
?>
</body>
</html>
1
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Casting Tipe</title>
</head>
<body>
<?php
echo gettype($str); // fungsi yang digunakan untuk menguji apakah tipe data
dari variabel str
//output: string
echo gettype($bil); // fungsi yang digunakan untuk menguji apakah tipe data
dari variabel bil
// output: integer
?>
</body>
</html>
4. Pernyatan seleksi.
- If
<?php
$a = 10;
$b = 5;
?>
</body>
</html>
1
3
Hasil :
- If-else
<?php
$a = 10;
$b = 5;
?>
</body>
</html>
Hasil :
- If-else-if
1
4
<html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en">
<head>
<title>Seleksi if-elseif</title>
</head>
<body>
<?php
$a = 10;
$b = 5;
?>
</body>
</html>
Hasil:
- Switch
<?php
$i = 0;
if ($i == 0) {
echo "i equals 0";
} elseif ($i == 1){
echo "i equals 1";
} elseif ($i == 2) {
echo "i equals 2";
1
5
}
?>
</body>
</html>
Hasil:
Penjelasan :
- Untuk program pernyataan seleksi diatas hasil untuk pernyataan if, ifelse, ifelseif
hasilnya sama , namun alur nya saja yang bebreda karena menggunakan
perkondisian yng berbeda. Untuk pernyataan if berisi perkondisian jika varaibel
a lebih besar dari variable b maka akan ditampilkan tulisan alebih besar dari b.
untuk pernyataan ifelse berisi perkondisian jika varaibel a lebih besar dari b
maka alebih besar dari b selain itu (jika kondisi tersebut salah) maka muncul
tulisan a TIDAK lebih besar dari b. untuk pernyataan ifelseif diberi 2 kondisi ,
kemudian kondisi pengecualian. Untuk kondisi kedua menggunakan elseif.
Kemudian untuk penyataan switch, tetap menggunakan pernyataan ifelseif ,
kemudian menambahkan fungsi switch dengan parameter variable i, kemudian
diikuti dengan penulisan case (kondisi) jika case 0 maka i equals 0 dan
seterusnya sesuai perkondisian yang dituliskan pada sintaks.
1
6
5. Pengulangan.
- While
<?php
$i = 0;
//inkremen counter
$i++;
}
?>
</body>
</html>
Hasil :
- Do-while
<?php
$i = 0;
do {
echo $i;
//inkremen counter
1
7
$i++;
}while ($i < 10);
?>
</body>
</html>
Hasil:
- For
<?php
?>
</body>
</html>
Hasil:
1
8
- Foreach
<?php
?>
</body>
</html>
Hasil:
Penjelasan :
Untuk program perulangan while, do-while dan for menghasilkan inputan yang sama,
namun alur kerja yang berbeda dari konsep perulangan while , do-while dan for. Untuk
perulangan while, setelah penulisan fungsi while dengan pemanggilan variable i, kemudain
menuliskan iknremen counter “$i++”. Untuk perulangan do-while , menggunakan fungsi
do kemudian di dalam do pemanggilan variable i kemudian deklarasi inkremen counter baru
menuliskan perkondisian perulangan while dengan parameter jika variable i lebih kecil dari
10 yang diletakkan diluar fungsi do. Sedangkan perulangan for , menggunakan fungis for
dengan penulisan parameter jika variable i = 0, variable i lebih kecil dari 10 maka variable
i diinkremen counter, kemudain memanggil varaibel i. untuk perulangan foreach, alur
kerjanya melakukan iterasi pada array. Pertama mendeklarasikan isi variable arr yang berisi
1
9
array sebanyak 4, kemudian menuliskan deklarasi fungsi forreach dengan parameter
variable array sebagai variable value, kemudian memanggil variable value untuk
ditampilkan. Jadi cara kerja fungsi forreach adalah menyediakan konstruksi untuk
melakukan iterasidengan memasukkan data array pada varaibel arr kedalam variable value.
<?php
//contoh prosedur
function do_print(){
//mencetak informasi timestamp
echo time();
}
//memanggil prosedur
do_print();
echo jumlah(2,3);
//output : 5
?>
</body>
</html>
Hasil:
2
0
Argumen
<?php
/**
*mencetak string
*%teka nilai string
*$bold adalah argumen opsional
*/
print_teks('Indonesiaku');
//mencetak dengan huruf tebal
print_teks('Indonesiaku', false);
//mencetak dengan huruf reguler
?>
</body>
</html>
Hasil:
2
1
Penjelasan:
Pada program definisi fungsi , menjelaskan tentang contoh prosedur dengan menggunakan
fungsi “function”. Untuk mencetak informasi timestamp maka menggunakan fungsi
time( ), kemudian untuk pemanggilan prosedur menggunakan fungsi “do print”. Kemudian
untuk penerapan nya misalnya menggunakan contoh fungsi penjumlahan , maka
penulisannya adalah “function jumlah($a, $b)” pada parameter ini dijelaskan bahwa ada
dua variable yang akan diproses , kemudain utnuk mengembalikkan nilai hasil penjumlahan
untuk dipanggil kembali pada halama html menggunakan fungsi “return dengan parameter
operasi penjumlahan ($a + $b)”. kemudain untuk pemanggilan hasil , pendeklarasiannya
jumlah denganh parameter nilai varaibel a dan b yang ingin dijumlahkan.
Sedangkan pada program argument , menggunakan suatu fungsi yang dapat memiliki nilai
nol atau lebih dari sebuah argument. Namun argument juga bersifat opsional, untuk
pendeklarasian dapat berupa inisialisai nilai default (awal) argument. Untuk pendekarsian
argument dideklarsikan di atas , dan peletakan argument opsional dituliskan diurutan
belakang.
<?php
//contoh prosedur
function do_print(){
//mencetak informasi timestamp
echo time();
}
2
2
//memanggil prosedur
do_print();
?>
</body>
</html>
<?php
/**
*mencetak string
*%teka nilai string
*$bold adalah argumen opsional
*/
print_teks('Indonesiaku');
//mencetak dengan huruf tebal
?>
</body>
</html>
E. TUGAS PRAKTIKUM
1) Fungsi Greeting
Sintaks:
<!DOCTYPE html>
2
3
<html lang="en">
<head>
<title>Fungsi Greeting</title>
</head>
<body background="m2.jpg">
<center>
<h1>*GREETING*</h1>
<h2>*Ananda Putri Syaviri*</h2>
<hr />
<img src="a1.jpg" width =500px>
<br>
<br>
<?php
date_default_timezone_set("Asia/Jakarta");
echo date("H:i");
if(date("H:i")>'6:00' and date("H:i")<'12:00'){
echo '<h1>Hai, Gutten Morgen!</h1>';
}
elseif(date("H:i")>'12:00' and date("H:i")<'18:00'){
echo '<h1>Hello, Gutten Tag!</h1>';
}
else
echo'<h1>Hola, Gutten Nacht!</h1>';
?>
</center>
</body>
</html>
Hasil:
2
4
Penjelasan:
2
5
<!DOCTYPE html>
<html lang="en">
<head>
<title>Fungsi Greeting</title> //judul halaman
</head>
<?php
date_default_timezone_set("Asia/Jakarta"); //deklarasi fungsi time yang
digunakan
echo date("H:i"); // pemanggilan fungsi date untuk ditampilkan
if(date("H:i")>'6:00' and date("H:i")<'12:00'){ //pernyataan seleksi
menggunakan fungsi ifelseif
echo '<h1>Hai, Gutten Morgen!</h1>'; //jika diakses antara jam 6 pagi
sampai 12 siang maka akan muncul Gutten Morgen
}
elseif(date("H:i")>'12:00' and date("H:i")<'18:00'){
echo '<h1>Hello, Gutten Tag!</h1>'; //jika diakses anatar jam 12 siang
sampai jam 6 sore maka akan muncul Gutten Tag
}
else //kondisi penegcualian jika selain rentang jam yang ditentukan pada kondisi
sebelumnya maka akan muncul Guten Nacht
echo'<h1>Hola, Gutten Nacht!</h1>';
?>
</center>
</body>
2)</html>
Genertae Tabel
Sintaks :
<!DOCTYPE html>
<html lang="en">
<head>
<title>praktikum2</title>
</head>
<body bgcolor="white">
<center>
<h1>Generate Matriks Table</h1>
<h3>membuat table dengan argumen 3baris dan 4 kolom</h3>
<hr />
<br>
<br>
<?php
2
6
function Create_table($baris, $kolom)
{
echo("<table border=\"2\">\n");
echo("</tr>\n");
}
echo("</table>\n");
</center>
</body>
</html>
Hasil:
Penjelasan:
<!DOCTYPE html>
<html lang="en">
<head>
<title>praktikum2</title> //judul halaman html
</head>
2
7
<body bgcolor="white"> //deklarasi warna yang digunakan sebagai background
<center>
<h1>Generate Matriks Table</h1> //deklarasi penulisan tulisan dengan menggunakan
fungsi heading1
<h3>membuat table dengan argumen 3baris dan 4 kolom</h3> //deklarasi penulisan
tulisan dengan menggunakan fungsi heading3
<hr />
<br>
<br>
<?php
function Create_table($baris, $kolom) //deklarasi penggunaan fungsi function untuk
membuat tabel dengan parameter berisi varaibel baris dan kolom
{
for($b = 0; $b < $baris; $b++) { //penggunaan perulangan for untuk membuat baris
tabel setinggi 50px
echo("<tr height=\"50px\">\n");
for($k = 0; $k < $kolom; $k++) { //penggunaan perulangan for untuk membuat kolom
tabel dselebar 150px
echo("<td width=\"150px\"></td>\n");
}
</center>
</body>
</html>
F. STUDI KASUS
1) Uraian Passing Argumen:
1. Cara menangani passing argumen PHP
Uraikan secara ringkas menangani passing argumen di PHP dan berikan contoh passing by
value dan by
reference.
• Passing By Value
2
8
Argumen fungsi yang dilewatkan secara pass by value (default dalam php) berarti
membuat kopi dari argumen yang asli sehingga argumen asli tersebut tidak ikut berubah
dengan adanya proses pada fungsi terhadap argumen tersebut.
contoh:
<?php
function
jumlah($nilai) {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>
• Passing By Reference
Argumen fungsi yang dilewatkan secara pass by reference berarti membawa argumen asli
ke dalam fungsi sehingga argumen asli tersebut akan ikut berubah dengan adanya proses
pada fungsi terhadap argumen tersebut.
<?php
function jumlah(&$nilai) {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>
2) Generate Tabel
Sintaks :
Table
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>RESULT TABLE GENERATE</title>
</head>
<body>
<div align="center">
<?php
$rows = 1;
$cols = 1;
2
9
$cells = 1;
?>
<?php
$width = $columns * 75;
echo "<table width=".$width." border=1>";
$rw = 0;
$cel = 1;
while ($rw < $rows && $cel <= $cells)
{
echo "<tr>";
$cl = 0;
while ($cl < $columns)
{
if ($cel <= $cells)
{
echo "<td><div align=center>".$cel."</div></td>";
$cel++;
}
$cl++;
}
echo "</tr>";
$rw++;
}
echo "</table>";
?>
</div>
</body>
</html>
Kasus
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>GENERATOR TABLE</title>
<style type="text/css">
<!--
#Div {
position:absolute;
width:200px;
height:27px;
z-index:1;
left: 575px;
top: 200px;
}
.style1 {
color: blue;
font-weight: bold;
}
3
0
-->
</style>
</head>
<body>
<form method="post" action="table.php">
<h3 align="center" class="style1">DYNAMIC TABLE</h3>
<table width="327" align="center" border="0" bgcolor="#FFFFFF">
<tr>
<td width="121" style="text-align:center"><b>Rows</b></td>
<td width="196"><strong>:</strong>
<input name="RowsTotal" type="text" id="RowsTotal"
onKeyUp="getmax();" onfocus="this.select();"></td>
</tr>
<tr>
<td style="text-align:center"><label><b>Cols</b></label></td>
<td><strong>:</strong>
<input name="ColsTotal" type="text" id="ColsTotal"
onKeyUp="getmax();" onfocus="this.select();"></td>
</tr>
<tr>
<td style="text-align:center"><b>Cells</b></td>
<td><strong>:</strong>
<input name="CellsTotal" type="text" id="CellsTotal"
onKeyUp="getmax();" onFocus="this.select();"></td>
</tr>
<tr>
<td style="text-align:center"><b>Max Cells</b> </td>
<td><strong>:</strong>
<input name="maxcells" type="text" id="maxcells"
disabled="disabled" style="text-align:center"></td>
</tr>
</table>
<div id="Div">
<input type="submit" name="Generate" value="Generate">
<input type="reset" name="Reset" value="Clear Generate">
</div>
</form>
3
1
</html>
Hasil:
Penjelasan:
//Untuk memebuat generate tabel seperti pada studi kasus 2 ini , ada dua file yang
harus dibuat. File html dan php, file html untuk hasil dan file php sebagai file
fungsi.
//HTML
<form method="post" action="table.php">//menghubungakan file html dan php agar file
fungsi pada file php dapat diakses pada file html
//Menggunakan JavaScript untuk membuat variabel dalam html
<script language="JavaScript" type="text/javascript">
function getmax() { //deklarasi fungsi untuk membangun row, coll , dan cells
//PHP
untuk pendeklarasian variabel row, coll dan cells menggunakan tipe data integer.
Ketika var rw lebih kecil dari var rows dan var cel lebih kecil sama dengan var
celss maka tampilkan rows.
Kemudian cl = 0
Ketika var cl lebih kecil dari var columns
Maka tampilkan baris.
Tambahkan 1 cel, column dan baris sampai batas inputan yang ditentukan.
pada program diatas juga menyediakan fungsi untuk menghapus inputan angka untuk
membentuk generate tabel pada tombol clear generate.
3
2
G. Kesimpulan
Dalam php juga menggunakan perulangan dan perkondisian seperti pada pemrograman
c++
H. Daftar Pustaka
Modul Praktikum.2012 .PHP (HYPERTEXT PEPROCESSING). Universitas
Negeri Malang Fakultas Teknik Jurusan Teknik Elektro.
https://tyoprayudi.wordpress.com/2010/03/15/passing-argument-pada-php/
3
3