0% menganggap dokumen ini bermanfaat (0 suara)
50 tayangan80 halaman

Modul Pemrogramman Perangkat Lunak

Diunggah oleh

Azmi Emha
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
50 tayangan80 halaman

Modul Pemrogramman Perangkat Lunak

Diunggah oleh

Azmi Emha
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 80

MODUL PRAKTIKUM

Pemrogramman Perangkat Lunak

PRODI TEKNIK INFORMATIKA


UNIVERSITAS MUHAMMADIYAH PONOROGO
Jl Budi Utomo no 10 Ponorogo
Dasar-dasar Pemrograman PHP

BAB I.
PHP – INTRODUCTION
Apa Itu PHP?
Berdasarkan informasi dari situs resmi PHP, “PHP.net”, PHP (PHP: Hypertext Prepocessor)
merupakan bahasa pemrograman web yang dapat disisipkan dalam script HTML. Banyak sintaks
di dalamnya yang mirip dengan bahasa C, Java dan Perl. Tujuan dari bahasa ini adalah
m em bantu para pengem bang web untuk m em buat web dinamis dengan cepat.

Ketika seseorang mengunjungi web berbasis PHP, web server akan memproses code-code PHP.
Beberapa perintah atau code dari PHP tersebut selanjutnya ada yang diterjemahkan ke dalam
HTML dan beberapa ada yang disembunyikan (misalnya proses kalkulasi dan operasi). Setelah
diterjemahkan ke dalam HTML, web server akan mengirim kembali ke web browser pengunjung
tersebut.

Apa yang Bisa Dilakukan dengan PHP?


Mengurangi waktu untuk mem buat web berskala besar
Mampu m enciptakan web interaktif
Menciptakan berbagai tool untuk keperluan online
(http://www.hotscripts.com /PHP/Scripts_and_Programs/)
Mendukung e-comm erce (shopping carts)

Modal Dasar Mempelajari PHP


Sebelum m em pelajari PHP, Anda harus m enguasai
HTML,
Dasar-dasar pem rograman (C/C++ lebih baik)

Aplikasi Yang Diperlukan


Untuk dapat bekerja dengan PHP, berikut ini adalah beberapa aplikasi yang diperlukan:
W eb server (Apache, IIS, Personal W eb Server/PW S)
PHP server (dapat didownload di PHP.net)
Database server (MySQL, Interbase, MS SQL, dll)
W eb Editor (Dream weaver, Frontpage, dll)

Anda dapat pula menggunakan tool aplikasi yang di dalamnya sudah terdapat web server
(Apache), PHP server, dan MySQL yang terintegrasi menjadi satu. Tool tersebut dapat diinstal di
PC sebagai sarana belajar PHP. Beberapa contoh tool tersebut diantaranya adalah Easyphp
(Easyphp.org), PHPTriad, AppServe, dll.

PHP server dapat berjalan dengan baik di beberapa OS seperti W indows, Linux, dan Macintosh.

1
Dasar-dasar Pemrograman PHP

BAB II
PHP - SINTAKS
Kode-kode PHP dituliskan di antara tanda berikut ini:

<?php

...
...
...

?>

atau

<?

...
...
...

?>

Apabila Anda m em buat kode PHP dan berencana akan m endistribusikan ke pihak/orang lain,
m aka usahakan untuk menggunakan sintaks <?php ... ?>. Hal ini dikarenakan untuk
penggunaan kode yang m enggunakan <? ?> terkadang tidak bisa dijalankan dalam server
tertentu.

Menyimpan File PHP


Apabila Anda m em iliki kode PHP yang disisipkan dalam HTML dalam suatu file dan
m enginginkan web server dapat m enjalankannya, m aka file tersebut harus disimpan dalam
ekstensi .php. Apabila Anda m enyim pann ya dengan ekstensi .htm l atau .htm , m aka kode PHP
tersebut tidak akan diproses dan akan ditam pilkan dalam web browser seperti apa adanya
(berupa kode-kode).

Contoh:

<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<?php
echo "Hello World!";
?>
</body>
</html>

2
Dasar-dasar Pemrograman PHP

Semicolon (;)
Apabila Anda perhatikan contoh sebelum nya, m aka terdapat tanda titik kom a (sem icolon) pada
akhir perintah echo. Tanda sem icolon m erupakan penanda akhir dari statem ent PHP dan harus
ada.

Contoh:

<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<?php
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
echo "Hello World! ";
?>
</body>
</html>

Pindah Spasi
Seperti halnya HTML, pergantian spasi dalam PHP tidak akan m em pengaruhi tam pilan hasilnya.
Dengan kata lain, pergantian spasi akan diabaikan oleh PHP.

Perhatikan contoh berikut ini. Pada contoh tersebut diberikan tiga bentuk penulisan kode PHP
yang berbeda nam un akan dihasilkan tam pilan yang sam a dalam web browser.

Contoh:

<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<?php
echo "Hello World! ";
echo "Hello World! ";
?>
</body>
</html>

<html>
<head>
<title>My First PHP Page</title>
</head>
<body>
<?php
echo "Hello World! "; echo "Hello World! ";
?>

3
Dasar-dasar Pemrograman PHP

</body>
</html>

<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<?php
echo "Hello World! ";

echo "Hello World! ";


?>
</body>
</html>

Variabel
Misalkan dalam PHP kita akan m enyim pan suatu nilai berupa angka atau string dalam suatu
variabel, caranya adalah m embuat nam a variabel terlebih dahulu kem udian diberikan suatu
assignm ent pada nilai yang diinginkan. Perhatikan sintaks berikut ini

$nama_variabel = nilai;

Note: jangan lupa tanda dollar ($)

Contoh:

<?php
$hello = "Hello World!";
$sebuah_bilangan = 4;
$bilanganYangLain = 8;
?>

Dari contoh di atas tam pak bahwa dalam PHP, nam a variabel tidak perlu dideklarasikan terlebih
dahulu seperti haln ya bahasa Pascal atau C/C++.

Aturan Penamaan Variabel


Berikut ini adalah beberapa aturan penulisan nam a variabel:

Nam a variabel harus diawali dengan huruf atau underscore (_)


Nam a variabel hanya boleh dituliskan dengan alpha num eric a-z, A-Z, 0-9 dan
underscore
Nam a variabel yang terdiri lebih dari satu kata, dapat dipisahkan dengan underscore

Echo
Seperti yang Anda lihat pada contoh-contoh kode PHP sebelum nya, bahwa perintah echo
digunakan untuk m enam pilkan teks ke dalam browser. Suatu teks atau string dapat dituliskan di
browser dengan langsung dituliskan dalam echo yang diapit oleh dua tanda petik ganda (quotes)

4
Dasar-dasar Pemrograman PHP

atau m enyim pan string atau teks terlebih dahulu dalam suatu variabel kem udian dituliskan dalam
echo. Berikut ini adalah contohnya:

Contoh:

<?php
$StringKu = "Hello!";
echo $StringKu;
echo "<h5>I love using PHP!</h5>";
?>

Penting!!!
Hati-hati dalam penulisan suatu string yang di dalam nya terdapat tanda petik ganda (quotes)
m enggunakan echo. Dalam echo, tanda quotes m erupakan penanda awal dan akhir teks/string
yang akan ditulis dengan echo, sehingga Anda harus m emperhatikan hal-hal berikut ini

Jangan m enggunakan tanda quotes di dalam teks yang akan ditulis dengan echo
Apabila Anda tetap ingin menuliskan tanda quotes dalam teks yang akan ditulis dengan
echo, m aka berikan tanda slash “\” di depan quotes tersebut.
Selain itu, dapat pula Anda gunakan tanda petik tunggal (apostrophes) untuk
m enggantikan tanda quotes pada teks.

Contoh:

<?php
echo "<font face="verdana" size="4">I love using PHP!</font>";
?>

<?php
echo "<font face=\"verdana\" size=\"4\">I love using PHP!</font>";
?>

<?php
echo "<font face='verdana' size='4'>I love using PHP!</h5>";
?>

Pada contoh kode pertam a di atas akan terjadi error karena dalam teks yang ditulis dalam echo
terdapat tanda quotes. Sedangkan untuk kode kedua dan ketiga tidak terdapat error dan akan
dihasilkan output yang sama di browser.

Menampilkan Nilai Variabel dengan Echo


Nilai variabel dapat dengan m udah ditam pilkan dengan m enggunakan echo, baik nilai yang
berupa bilangan m aupun string. Berikut ini adalah contoh-contoh di antaranya:

Contoh:

<?php
$string_ku = "Hello.. Nama saya: ";
$bilangan_ku = 4;
$huruf_ku = "a";
echo $string_ku;
echo $bilangan_ku;
echo $huruf_ku;

5
Dasar-dasar Pemrograman PHP

?>

Catatan:
Untuk m enam pilkan nilai variabel dengan echo tanpa m enggunakan tanda quotes.

Berikut ini contoh m enam pilkan gabungan suatu nilai dari variabel yang berupa string.

Contoh:

<?php
$string_ku = "Hello. Nama saya: ";
$baris_baru = "<br>";
echo $string_ku."Ari".$baris_baru;
echo "Hi, Nama saya Ari. Kamu siapa? ".$string_ku.$baris_baru;
echo "Hi, Nama saya Ari. Kamu siapa? ".$string_ku."Amalia";
?>

Untuk m enggabungkan beberapa string m enjadi satu digunakan operator dot (.)

Komentar dalam PHP


Seperti halnya bahasa pemrogram an yang lain, kom entar dalam suatu kode PHP tidak akan
dieksekusi. Terdapat dua cara m emberikan kom entar dalam PHP, yaitu

Diberikan tanda // di depan teks kom entar. Perintah ini hanya bisa berlaku untuk
kom entar dalam satu baris
Diberikan tanda /* di depan teks kom entar dan diakhiri dengan */. Perintah ini dapat
digunakan untuk kom entar yang terdiri lebih dari satu baris.

Contoh:

<?php
echo "Hello World!"; // Ini akan mencetak Hello World!
echo "<br>Psst...You can't see my PHP comments!"; // echo "nothing";
// echo "Namaku Faza!";
?>

<?php
/* Berikut ini adalah perintah
untuk menuliskan Hello World */
echo "Hello World!";
/* echo "My name is Humperdinkle!";
echo "No way! My name is Ari-PHP Programmer!";
*/
?>

6
Dasar-dasar Pemrograman PHP

BAB III
PHP – OPERATOR
Dalam bahasa pem rogram an secara um um , operator digunakan untuk m em anipulasi atau
m elakukan proses perhitungan pada suatu nilai. Sampai saat ini, Anda telah m engenal operator
“.” (m enggabungkan string) dan “=” (proses assignment). Selain dua operator itu m asih banyak
jenis operator yang lain dalam PHP yaitu:

Operator aritm atik


Operator perbandingan
Gabungan operator aritm atik dan assignm ent

Operator Aritmatik
Berikut ini adalah tabel operator aritm atik, m akna dan contohnya:

Operator M akna Contoh


+ Penjum lahan 2 + 4
- Pengurangan 6 - 2
* Perkalian 5 * 3
/ Pem bagian 15 / 3
% Modulus 43 % 10

Contoh:

<?php
$penjumlahan = 2 + 4;
$pengurangan = 6 - 2;
$perkalian = 5 * 3;
$pembagian = 15 / 3;
$modulus = 5 % 2;
echo "Menampilkan penjumlahan: 2 + 4 = ".$penjumlahan."<br>";
echo "Menampilkan pengurangan: 6 - 2 = ".$pengurangan."<br>";
echo "Menampilkan perkalian: 5 * 3 = ".$perkalian."<br>";
echo "Menampilkan pembagian: 15 / 3 = ".$pembagian."<br>";
echo "Menampilkan modulus: 5 % 2 = " . $modulus.";
?>

Operator Perbandingan
Perbandingan digunakan untuk m enguji hubungan antara nilai dan atau variabel. Operator ini
digunakan dalam suatu statem ent bersyarat yang selalu m enghasilkan nilai TRUE atau FALSE.

Misalkan:
$x = 4; $y = 5;

berikut ini adalah beberapa contoh penggunaan operator perbandingan dan hasilnya.

7
Dasar-dasar Pemrograman PHP

Operator M akna Contoh Hasil


== Sam a dengan $x == $y FALSE
!= Tidak sam a dengan $x != $y TRUE
< Lebih kecil dari $x < $y TRUE
> Lebih besar dari $x > $y FALSE
<= Lebih kecil atau sam a dengan dari $x <= $y TRUE
>= Lebih besar atau sam a dengan dari $x >= $y FALSE

Kombinasi Operator Aritmatik dan Assignment


Dalam pemrogram an seringkali dijum pai proses yang m elibatkan proses increm ent. Misalkan kita
m enginginkan proses increm ent dengan tingkat kenaikan 1, m aka perintah yang dituliskan dapat
berupa

$counter = $counter + 1;

dalam PHP, perintah di atas dapat ditulis dalam satu perintah singkat sebagai

$counter += 1;

Dari contoh di atas tam pak bahwa operator yang digunakan (+=) m erupakan gabungan dari
operator aritm atik dan assignm ent. Berikut ini adalah bentuk-bentuk operator lain jenis ini.

Operator Contoh Operasi yang ekuivalen


+= $x += 2; $x = $x + 2;
-= $x -= 4; $x = $x - 4;
*= $x *= 3; $x = $x * 3;
/= $x /= 2; $x = $x / 2;
%= $x %= 5; $x = $x % 5;
.= $my_str.="hello"; $my_str = $my_str . "hello";

Operator Pre/Post Increment dan Decrement


Operator jenis ini m erupakan pengem bangan dari operator jenis sebelum nya. Operator ini hanya
digunakan pada proses increment m aupun decrem ent dengan tingkat 1.

Berikut ini adalah operator yang term asuk jenis ini:

$x++; ekuivalen dengan $x += 1; atau $x = $x + 1;


$x--; ekuivalen dengan $x -= 1; atau $x = $x – 1;

Contoh:

<?php
$x = 4;
$x++;

8
Dasar-dasar Pemrograman PHP

echo "$x;
$x = 4;
$x--;
echo "$x;
?>

9
Dasar-dasar Pemrograman PHP

BAB IV
MODULARITAS
Suatu pem rogram an yang baik seharusnya program yang besar dipecah menjadi program-
program yang kecil yang selanjutnya disebut m odul. Modul-m odul kecil tersebut dapat dipanggil
sewaktu-waktu diperlukan. Dalam PHP juga m endukung konsep tersebut yang selanjutnya
diberinam a m odularitas. Kita dapat m enyisipkan isi suatu file/m odul lain ke dalam file/m odul
tertentu.

Terdapat 2 perintah/function untuk hal tersebut dalam PHP yaitu m enggunakan include dan
require.

Include()
Untuk m em udahkan pem aham an, diberikan contoh berikut. Misalkan kita akan m embuat m enu
link sejum lah 4 buah yaitu index, about, links, dan contact pada setiap halam an web yang kita
buat. Teknik yang digunakan adalah m em buat m enu link dalam suatu m odul tersendiri kem udian
m odul tersebut dipanggil pada setiap halam an web yang diinginkan terdapat m enu link di
dalam nya.

menu.php

<html>
<body>
<a href="index.php">Home</a> -
<a href="about.php">About Us</a> -
<a href="links.php">Links</a> -
<a href="contact.php">Contact Us</a> <br>

index.php

<?php
include("menu.php");
?>

<p>Ini adalah halaman index</p>


</body>
</html>

about.php

<?php
include("menu.php");
?>

<p>Ini adalah halaman about</p>


</body>
</html>

Dari teknik di atas tam pak adan ya kem udahan dalam m embuat halam an web. Dalam hal ini, kita
tidak perlu m em buat m enu link di setiap halam an web yang ada. Ba yangkan seandainya kita

10
Dasar-dasar Pemrograman PHP

pun ya halam an web sejum lah 100 buah yang kesem uanya ingin diberi menu link tanpa
m enggunakan teknik di atas, tentu hal tersebut sangat m erepotkan.

Meskipun secara teknis, kode pem bangun web dipecah dalam m odul-m odul, nam un ketika di
browser akan terlihat m enyatu. Berikut ini adalah kode HTML yang dihasilkan oleh browser ketika
m embuka halam an web index.php

<html>
<body>
<a href="index.php">Home</a> -
<a href="about.php">About Us</a> -
<a href="links.php">Links</a> -
<a href="contact.php">Contact Us</a> <br>
<p>Ini adalah halaman index</p>
</body>
</html>

Require()
Cara penggunaan m aupun fungsi dari require() sam a dengan include(). Jadi apa perbedaannya?
Sebaiknya m ana yang kita gunakan? Perhatikan contoh berikut ini

<?php
include("noFileExistsHere.php");
echo "Hello World!";
?>

dengan asum si bahwa file noFileExistxHere.php tidak ada.

Maka dengan m enggunakan include() akan dihasilkan tam pilan:

Warning: main(noFileExistsHere.php): failed to open stream: No such


file or directory in include.php on line 2

Warning: main(): Failed opening 'noFileExistsHere.php' for inclusion


(include_path='.:/usr/lib/php:/usr/local/lib/php') in include.php on
line 2

Hello World

Selanjutnya kita akan gunakan require().

<?php
require("noFileExistsHere.php");
echo "Hello World!";
?>

dan hasilnya

Warning: main(noFileExistsHere.php): failed to open stream: No such


file or directory in require.php on line 2

Fatal error: main(): Failed opening required 'noFileExistsHere.php'


(include_path='.:/usr/lib/php:/usr/local/lib/php') in require.php on
line 2

11
Dasar-dasar Pemrograman PHP

Bandingkan kedua hasil di atas, khususnya yang tercetak merah. Pada include(), error yang
dihasilkan hanya berupa Warning saja dan statem ent berikutnya m asih dapat dijalankan. Hal ini
terlihat bahwa teks Hello World! Masih ditam pilkan di browser. Sedangkan pada require(),
error yang dihasilkan berupa Fatal Error. Dengan dem ikian statem ent selanjutnya tidak akan
dijalankan.

Disarankan agar Anda m enggunakan require() dengan harapan bahwa kode PHP yang Anda
buat tidak akan diproses apabila terdapat file yang hilang atau tidak ada.

12
Dasar-dasar Pemrograman PHP

BAB V
ARRAY
Dalam PHP, indeks untuk array dapat berupa num erik dan dapat pula berupa suatu nilai atau
yang sering disebut dengan array assosiatif.

Array Berindeks Numerik


Sintaks um um untuk menyatakan suatu array berindeks num erik beserta nilainya adalah

$nama_array[$key] = value;

Dalam hal ini $key berupa bilangan bulat m ulai dari 0, 1, 2, …

Contoh:

$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";

Sedangkan berikut ini adalah contoh untuk m enampilkan nilai dari suatu array berindeks num erik.

<?
$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";

echo "Berikut ini adalah 2 orang karyawan saya, yaitu "


. $karyawan[0] . " & " . $karyawan[1];
echo "<br>Dua orang karyawan saya yang lain adalah "
. $karyawan[2] . " & " . $karyawan[3];
?>

Array Assosiatif
Untuk array assosiatif, sintaksnya sam a dengan array berindeks num erik nam un perbedaann ya
adalah pada $key. Pada array assosiatif, $key dapat berupa suatu string. Berikut ini adalah
contohnya.

$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;
$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;

dan berikut ini adalah contoh kode untuk m enam pilkan nilai dari array assosiatif

<?
$gaji["Bob"] = 2000;
$gaji["Sally"] = 4000;

13
Dasar-dasar Pemrograman PHP

$gaji["Charlie"] = 600;
$gaji["Clare"] = 0;

echo "Bob digaji - $" . $gaji["Bob"] . "<br>";


echo "Sally digaji - $" . $gaji["Sally"] . "<br>";
echo "Charlie digaji - $" . $gaji["Charlie"] . "<br>";
echo "dan Clare digaji - $" . $gaji["Clare"];
?>

14
Dasar-dasar Pemrograman PHP

BAB VI
STATEMENT KONTROL
Statement IF …
Sintaks dari statem ent tersebut dalam PHP adalah

if (syarat)
{
statement1;
statement2;
.
.
}

Untuk m enyatakan s yarat, biasanya digunakan operator perbandingan seperti yang telah dibahas
sebelum nya. Apabila s yarat bernilai TRUE m aka statem ent-statem ent yang diapit dengan tanda
kurung kurawal akan dijalankan. Bentuk lain dari sintaks IF adalah

if (syarat)
{
statement1;
statement2;
.
.
}
else
{
statement3;
statement4;
.
.
}

Untuk sintaks kedua di atas, statem ent3, statem ent4, dst akan dijalankan apabila syarat bernilai
FALSE.

Contoh:

<?
$my_name = "nada";

if ($my_name == "nada")
{
echo "Your name is ".$my_name."!"<br>";
}
echo "Welcome to my homepage!";
?>

Contoh:

15
Dasar-dasar Pemrograman PHP

<?
$number = 3;

if ($number == 4)
{
echo "Benar";
}
else
{
echo "Salah";
}
?>

Terdapat pula bentuk sintaks berikutnya dari IF … yaitu dengan ditam bahkan elseif

if (syarat1)
{
statement11;
statement12;
.
.
}
elseif (syarat2)
{
statement21;
statement22;
.
.
}
.
.
else
{
statement1;
statement2;
.
.
}

Jika syarat1 bernilai TRUE, m aka statem ent11, statem ent12 dst akan dijalankan. Sedangkan jika
syarat1 FALSE m aka selanjutnya akan dicek untuk syarat2. Jika syarat2 TRUE m aka
statem en21, statem ent22, dst akan dijalankan, sedangkan jika syarat2 FALSE akan dicek syarat
berikutnya (jika m asih ada). Statem ent1, statem ent2, dst baru akan dijalankan apabila sem ua
syarat sebelum nya bernilai FALSE.

Contoh:

<?
$karyawan = "Bob";
if($karyawan == "Tanner")
{
echo "Hello Tanner!";
}
elseif($karyawan == "Bob")
{
echo "Hello Bob!";

16
Dasar-dasar Pemrograman PHP

}
else
{
echo "Hello!";
}

Statement SWITCH
Sintaks dari statem ent ini adalah

switch (variabel)
{
case option1:
statement11;
statement12;
.
.
break;
case option2:
statement21;
statement22;
.
.
break;
.
.
default:
statementdefault1;
statementdefault2;
.
.
break;
}

Pada sintaks di atas, nilai dari variabel akan dicek pada setiap option yang ada (terletak di bagian
case). Jika ada option yang sam a dengan nilai variabel, m aka statem ent-statem ent di bawah
option tersebutlah yang akan dijalankan. Bagian default adalah optional (boleh ada, boleh tidak).

Contoh:

<?php
$tujuan = "Tokyo";
echo "Biaya Perjalanan Menuju $tujuan adalah ";
switch ($tujuan){
case "Las Vegas":
echo " $500";
break;
case "Amsterdam":
echo " $1500";
break;
case "Egypt":
echo " $1750";
break;
case "Tokyo":
echo " $900";
break;

17
Dasar-dasar Pemrograman PHP

case "Caribbean Islands":


echo " $700";
break;
}
?>

Contoh:

<?php
$tujuan = "New York";
echo "Biaya Perjalanan Menuju $tujuan adalah ";
switch ($tujuan){
case "Las Vegas":
echo " $500";
break;
case "Amsterdam":
echo " $1500";
break;
case "Egypt":
echo " $1750";
break;
case "Tokyo":
echo " $900";
break;
case "Caribbean Islands":
echo " $700";
break;
default:
echo " $100";
break;
}
<?

Statement WHILE
Statem ent ini digunakan untuk m engerjakan suatu statem ent secara berulang-ulang sam pai
suatu s yarat dipenuhi. Sintaksnya adalah

while (syarat)
{
statement;
statement;
.
.
}

Pada sintaks di atas, selam a syarat bernilai TRUE m aka statem ent-statem ent di dalam while
akan terus dijalankan secara berulang-ulang. Perulangan baru akan berhenti apabila syarat
bernilai FALSE. Sebelum statem ent yang diulang-ulang dilakukan, terlebih dahulu akan dicek
syarat nya apakah bernilai TRUE atau FALSE. Apabila TRUE m aka statem ent akan dijalankan.
Sedangkan apabila FALSE, perulangan akan langsung berhenti. Dengan kata lain, statem ent
dalam W HILE bisa jadi tidak akan pernah dilakukan, yaitu apabila s yaratnya langsung bernilai
FALSE.

18
Dasar-dasar Pemrograman PHP

Contoh:

<?
$harga_sikat = 1500;
$jumlah_sikat = 10;

echo "<table border=\"1\" align=\"center\">";


echo "<tr><td><b>Jumlah Sikat</b></td>";
echo "<td><b>Harga</b></tr></td>";
while ( $jumlah_sikat <= 100 )
{
echo "<tr><td>";
echo $jumlah_sikat;
echo "</td><td>";
echo "Rp. ".$harga_sikat * $jumlah_sikat;
echo "</td></tr>";
$jumlah_sikat = $jumlah_sikat + 10;
}
echo "</table>";
?>

Kode di atas akan m enam pilkan hasil di browser berupa tabel yang berisi jum lah sikat dan
harganya, dengan asum si harga sebuah sikat adalah Rp. 1.500. Jum lah sikat yang ditam pilkan
adalah kelipatan 10 dengan batas sam pai 100 buah.

Statement FOR
Statem ent FOR m irip dengan W HILE yang m em iliki sintaks berikut ini

for (inisialisasi counter; syarat; increment/decrement counter)


{
statement;
.
.
}

Untuk m em perjelas pem aham an tentang FOR, berikut ini adalah contoh kode dengan for untuk
m enghasilkan tam pilan yang sam a dengan contoh while sebelum nya (tentang jum lah sikat dan
harganya). Coba bandingkan dengan kode contoh while sebelum nya.

Contoh:

<?
$harga_sikat = 1500;

echo "<table border=\"1\" align=\"center\">";


echo "<tr><td><b>Jumlah Sikat</b></td>";
echo "<td><b>Harga</b></td></tr>";
for ($jumlah_sikat = 10; $jumlah_sikat <= 100; $jumlah_sikat+=10)
{
echo "<tr><td>";
echo $jumlah_sikat;
echo "</td><td>";
echo "Rp. ".$harga_sikat * $jumlah_sikat;
echo "</td></tr>";
}

19
Dasar-dasar Pemrograman PHP

echo "</table>";
?>

Statement Foreach
Misalkan Anda punya data berupa array assosiatif yang akan diproses secara berulang-ulang,
m aka PHP m enyediakan statem ent foreach yang m udah digunakan.

Sintaksnya adalah:

foreach(variabelarray as kunci => value)


{
statement;
.
.
}

Sebagai contoh, m isalkan Anda m em iliki 5 orang karyawan dengan usianya m asing-m asing yang
ditulis dalam kode PHP sebagai berikut

$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";

Berikut ini adalah contoh kode PHP yang akan m enam pilkan sem ua karyawan beserta usianya
dengan m enggunakan foreach.

<?
$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";

foreach($UsiaKaryawan as $Nama => $umur)


{
echo "Nama Karyawan: $Nama, Usia: $umur"." th <br>";
}
?>

Statement DO WHILE
Statem ent ini m erupakan bentuk m odifikasi dari W HILE. Sintaksnya adalah sebagai berikut

do
{
statement;
.
.
}
while (syarat);

20
Dasar-dasar Pemrograman PHP

Coba bandingkan dengan sintaks W HILE sebelum nya. Dilihat dari posisi statement yang diulang,
posisi statem ent yang diulang pada DO W HILE terletak di atas s yarat. Dengan dem ikian,
sebelum syarat dicek TRUE atau FALSE n ya, statem ent akan dikerjakan terlebih dahulu.
Sedangkan pada W HILE, sebelum statem ent yang diulang dikerjakan, terlebih dahulu s yarat
akan dicek.

Prinsip kerja DO W HILE sam a dengan W HILE yaitu statem ent akan terus dikerjakan selam a
syarat bernilai TRUE dan perulangan akan berhenti apabila FALSE.

Perhatikan contoh berikut ini yang m em bandingkan DO W HILE dengan W HILE

Contoh:

<?
$kue = 0;
while($kue > 1)
{
echo "Mmmmm...Aku suka kue! Nyam..nyam..nyam..";
}
?>

<?
$kue = 0;
do
{
echo "Mmmmm... Aku suka kue! Nyam..nyam..nyam..";
} while ($kue > 1);
?>

Pada kode W HILE, teks "Mmmm…. " dst tidak akan ditam pilkan karena syaratnya langsung
bernilai FALSE (perulangan berhenti). Sedangkan pada DO W HILE, teks akan ditampilkan
dahulu kem udian perulangan berhenti (syarat bernilai FALSE).

21
Dasar-dasar Pemrograman PHP

BAB VII
BEKERJA DENGAN FORM
Setelah kita belajar dasar-dasar perintah PHP, sekarang saatn ya m engaplikasikannya pada
aplikasi web. Biasanya PHP digunakan sebagai pengolah data yang diinputkan m elalui form yang
dibuat dengan HTML. Sebagai contoh, andaikan Anda m em iliki toko virtual dalam web yang
m enjual alat-alat tulis seperti pensil, buku tulis, dan ballpoint. Berikut ini adalah salah satu bentuk
kode HTML yang digunakan untuk m em buat form pem esanan pem belian barang-barang
tersebut.

<html><body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="post">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body></html>

Seperti yang Anda lihat pada kode HMTL di atas, perintah action="proses.php" digunakan
untuk m engarahkan ke file PHP yang digunakan untuk m emproses barang pem belian ketika
tom bol subm it ditekan. Dalam form yang dihasilkan dari kode di atas terdapat 2 buah kom ponen
input yaitu berbentuk combobox dan textbox. Untuk com bobox, diberi nam a “barangpesanan”
(perhatikan perintah <select name="barangpesanan">) dan textbox diberi nam a “jumlah”
(perhatikan perintah <input name="jumlah" type="text">).

Penjelasan m engenai method="post" akan dijelaskan pada bab berikutnya.

Sedangkan berikut ini adalah salah satu contoh kode PHP untuk m emproses input dari form di
atas. Kode PHP ini disim pan dengan nam a proses.php.

<html><body>
<?php
$jumlah = $_POST['jumlah'];
$barangpesanan = $_POST['barangpesanan'];

echo "Anda memesan ". $jumlah . " " . $barangpesanan . ".<br>";


echo "Terima kasih atas kesediaan Anda memesan barang dari kami!";
?>
</body></html>

Kalau Anda perhatikan, terdapat keterkaitan perintah $_POST['xxx']; dengan "xxx" pada
name = "xxx" (nam a kom ponen input).

22
Dasar-dasar Pemrograman PHP

BAB VIII
POST AND GET METHOD
Pada contoh sebelum nya (Bab 7), kita m engirim data input dari form m enuju ke file PHP untuk
diproses m enggunakan m etode post. Selain m etode tersebut, terdapat pula m etode get. Lantas
perbedaannya apa? Kapan kita gunakan m etode post atau get? Itulah yang akan dibahas pada
bab ini.

Untuk m elihat perbedaan post dan get, kita akan sedikit m engubah file HTML form dan file
PHP proses.php sebelum nya.

<html><body>
<h2>Toko Alat Tulis Amalia</h2>
<form action="proses.php" method="get">
<select name="barangpesanan">
<option>Pensil</option>
<option>Buku Tulis</option>
<option>Ballpoint</option>
</select>
Jumlah pesanan: <input name="jumlah" type="text">
<input type="submit" value="Submit">
</form>
</body></html>

dan isi proses.php nya adalah

<html><body>
<?php
$jumlah = $_GET['jumlah'];
$barangpesanan = $_GET['barangpesanan'];

echo "Anda memesan ". $jumlah . " " . $barangpesanan . ".<br>";


echo "Terima kasih atas kesediaan Anda memesan barang dari kami!";
?>
</body></html>

Perbedaan kode HTML dan PHP di atas dengan sebelumnya adalah yang dicetak merah.
Metode pengirim an data input dari form menggunakan get, dan dalam proses.php $_POST
diganti dengan $_GET.

Apabila aplikasi di atas dijalankan, m aka secara sekilas hasil yang tam pak sama dengan ketika
digunakan m etode post. Nam un, coba perhatikan URL yang tam pak ketika proses.php m uncul.
Pada URL tersebut terdapat tam bahan ?barangpesanan=...&jumlah=... setelah nam a file
(proses.php). Titik-titik tersebut akan diisi dengan data sesuai dengan yang diinputkan pada form .

Coba bandingkan dengan URL ketika digunakan metode post. Data isian pada form tidak
ditam pilkan pada URL. Sehingga inilah perbedaan antara keduanya.

Dengan dem ikian, hendaknya kita jangan m enggunakan m etode get ketika akan m em proses
data input m elalui form . Bayangkan seandainya form tersebut digunakan untuk login atau untuk
keperluan yang m enyangkut privasi. Apabila Anda gunakan m etode get, m aka sem ua input data

23
Dasar-dasar Pemrograman PHP

akan ditam pilkan pada URL. Bisa-bisa password Anda akan kelihatan di URL (jika terdapat input
password ketika login).

Untuk m etode get, biasanya digunakan untuk input data m elalui link (bukan m elalui form ). Untuk
contoh aplikasinya dapat dilihat pada contoh-contoh aplikasi pada bab-bab berikutnya.

24
Dasar-dasar Pemrograman PHP

BAB IX
FUNCTION
Sebuah function m erupakan sebuah nam a yang kita berikan pada suatu blok program yang
sewaktu-waktu dapat kita panggil dan gunakan. Sebuah function dapat diletakkan di bagian
m anapun, bisa di awal, tengah, dan akhir dari keseluruhan bagian kode PHP.

Berikut ini adalah contoh m embuat sebuah function sederhana yang di dalam nya tidak ada
statem entnya.

Contoh:

<?php
function myCompanyMotto()
{
}
myCompanyMotto();
?>

Pada contoh di atas, myCompanyMotto m erupakan nam a function. Nam a function inilah yang
dapat dipanggil sewaktu-waktu diperlukan. Aturan m em buat nam a function sama dengan ketika
m embuat nam a variabel (lihat di Bab II). Statem ent/perintah dari function dituliskan di dalam
kurung kurawal {}. Sedangkan perintah myCompanyMotto(); bagian paling bawah dari kode di
atas m erupakan cara m emanggil function. Perhatikan contoh berikutnya:

Contoh:

<?php
function myCompanyMotto()
{
echo "Sabar adalah bagian dari keimanan";
}
myCompanyMotto();
?>

Pada contoh tersebut, terdapat perintah echo di dalam function. Sehingga begitu nam a function
dipanggil, PHP akan m enam pilkan teks yang di-echo-kan tersebut.

Sebuah function dapat dipanggil berulang-ulang, seperti pada contoh berikut.

<?php
function myCompanyMotto()
{
echo "Sabar adalah bagian dari keimanan";
}

echo "Selamat datang di PT. Nada Corp. <br>";


myCompanyMotto();
echo "Terima kasih atas kunjungan Anda<br>";
echo "dan ingatlah selalu... <br>";

25
Dasar-dasar Pemrograman PHP

myCompanyMotto();
?>

Fungsi dengan Parameter


Contoh function sebelum nya tidak m enggunakan param eter. Peran param eter adalah sebagai
input untuk function yang selanjutnya diolah oleh function tersebut. Berikut ini contoh
penggunaan param eter pada function.

<?php
function UcapanSalam($nama)
{
echo "Hallo ". $nama . "!<br>";
}
?>

Pada contoh di atas, variabel $nama m erupakan param eter dari function. Nilai dari variabel
tersebut akan ditambahkan pada string yang di-echo-kan.

Selanjutnya akan diberikan contoh penggunaan function dengan param eter.

<?php
function UcapanSalam($nama)
{
echo "Hallo ". $nama . "!<br>";
}
UcapanSalam("Agus");
UcapanSalam("Ahmad");
UcapanSalam("Budi");
UcapanSalam("Fauzan");
?>

Jum lah param eter dari function boleh lebih dari satu. Untuk m emisahkan antar param eter
digunakan tanda kom a. Berikut ini contohn ya.

<?php
function UcapanSalam($kepada, $dari)
{
echo $dari . " mengucapkan salam kepada ". $kepada . "<br>";
}
UcapanSalam("Ari", "Amalia");
UcapanSalam("Amalia", "Nada");
UcapanSalam("Nada", "Faza");
UcapanSalam("Fauzan", "Ari");
?>

Pengembalian Nilai (Return Value)


Sebuah function juga dapat m engem balikan suatu nilai. Function han ya dapat m engem balikan
sebuah nilai saja. Nilai yang dikem balian dapat berupa suatu bilangan (bulat, real), string,
m aupun array, dll.

Berikut ini adalah contoh penggunaan function yang m engem balikan nilai.

<?php

26
Dasar-dasar Pemrograman PHP

function Jumlahkan($x, $y){


$hasil = $x + $y;
return $hasil;
}
$bil = 0;
echo "Nilai bil mula-mula adalah ". $bil ."<br>";
$bil = Jumlahkan(3, 4);
echo "Nilai bil setelah memanggil function adalah " . $bil ."<br>";
?>

Function Jumlahkan() di atas m engem balikan nilai dari variabel $hasil yang m erupakan hasil
penjum lahan dari nilai $x dan $y. Sedangkan perintah $bil = Jumlahkan(3, 4); bermakna
nilai yang dikem balikan function Jumlahkan(3, 4) disim pan pada variabel $bil (dalam hal ini
nilai $bil adalah 7).

27
Dasar-dasar Pemrograman PHP

BAB X
OPERASI FILE
Pada bab ini akan dipaparkan bagaim ana m enggunakan perintah PHP untuk melakukan operasi
file m ulai dari proses mem buka dan m enutup file. Setelah itu dilanjutkan dengan proses
m embaca, m enulis, m enam bah isi, m enghapus dan m eng-upload file.

Membuka File
Secara um um terdapat 3 cara m em buka file, yaitu mem buka file hanya untuk dibaca (read: ‘r’),
han ya untuk ditulisi baru (write: ‘w’), dan hanya untuk ditam bahi isinya (append: ‘a’). Selain 3 cara
m embuka file tersebut, terdapat pula cara lain m em buka file yaitu dapat dibaca dan ditulisi
(read/write: ‘r+’), serta dapat dibaca dan ditam bahi isinya (append: ‘a+’).

Berikut ini adalah contoh kode PHP untuk m em buka file

<?
$nama_file = "test.txt";
$fh = fopen($nama_file, 'X') or die("File tidak bisa dibuka");
fclose($fh);
?>

dengan 'X' dapat diganti dengan 'w', 'r', 'a', 'r+', 'a+'.

Apabila nam a file yang akan dibuka ternyata salah, atau letak filenya yang tidak tepat, m aka
function die() yang akan dijalankan. Function die() akan m enam pilkan teks sebagai
peringatan apabila proses m embuka file gagal.

Menutup File
Setelah file dibuka, hendaknya file tersebut juga ditutup ketika pem rosesan selesai. File yang
yang tidak ditutup kem ungkinan dapat terjadi kerusakan pada strukturnya. Berikut ini adalah
contoh kode PHP untuk m enutup file yang telah dibuka

$NamaFile = "testFile.txt";
$FileHandle = fopen($NamaFile, 'w') or die("File tidak bisa dibuka");
fclose($FileHandle);

File yang telah ditutup tidak bisa untuk dibaca, ditulisi, dan ditam bah. Untuk bisa m elakukan hal
itu kem bali, file terlebih dahulu harus dibuka lagi seperti sebelum nya.

Menulis ke File
File yang telah dibuka dapat ditulisi dengan data di dalam nya. Berikut ini adalah contoh kode
PHP untuk m enulis suatu string ke dalam file.

<?
$FileKu = "testFile.txt";

28
Dasar-dasar Pemrograman PHP

$FileHandle = fopen($Fileku, 'w') or die("File gagal dibuka");


$DataString = "Hallo Amalia... \n";
fwrite($FileHandle, $DataString);
$DataString = "Hallo Faza dan Nada... \n";
fwrite($FileHandle, $DataString);
fclose($FileHandle);
?>

Apabila Anda m enggunakan m ode 'w' pada fopen(), dan selanjutnya Anda m enuliskan data
pada file, m aka isi file yang lam a (jika sebelum nya terdapat isi pada file tersebut) akan terhapus
dan diganti dengan isi yang baru. Sedangkan apabila Anda m enginginkan data yang lam a pada
suatu file tidak dihapus, m aka Anda gunakan m ode append 'a+' atau 'a'.

Membaca Isi File


Misalkan kita m em iliki file dengan nam a test.txt yang isin ya adalah sbb:

Selamat berjumpa lagi kawan!!


Senang bertemu Anda.

Kita dapat m enggunakan kode PHP untuk m embaca file tersebut dan selanjutnya hasil
pem bacaan dapat ditam pilkan di browser atau diproses lebih lanjut. Berikut ini adalah contoh
kode pem bacaannya.

<?
$FileKu = "test.txt";
$FileHandle = fopen($FileKu, 'r');
$Data = fread($FileHandle, 5);
fclose($FileHandle);
echo $Data;
?>

Apabila kode di atas dijalankan, m aka pada browser hanya akan m enam pilkan teks

Selam

Hal ini dikarenakan adanya nilai 5 pada fread(). Nilai tersebut m enyatakan jum lah karakter
awal yang dibaca dari file. Supaya seluruh isi file dapat dibaca, gunakan function filesize().

<?
$FileKu = "test.txt";
$FileHandle = fopen($FileKu, 'r');
$Data = fread($FileHandle, filesize($FileKu));
fclose($FileHandle);
echo $Data;
?>

Setelah Anda lihat di browser, ternyata ganti baris pada isi file test.txt diabaikan. Meskipun teks
dalam file tersebut ditulis dalam 2 baris, oleh perintah fread() akan dibaca dalam satu baris.
Hal ini dikarenakan dalam file test.txt tidak terdapat tag htm l <br> untuk pindah baris.

Anda juga dapat m enggunakan function fgetc() untuk membaca file. Function ini m em baca isi
file karakter dem i karakter. Berikut ini adalah contoh penggunaann ya.
<?
$FileKu = "test.txt";

29
Dasar-dasar Pemrograman PHP

$FileHandle = fopen($FileKu, 'r');


while(!feof($FileHandle))
{
$Data = fgetc($FileHandle);
echo $Data;
}
fclose($FileHandle);
?>

Keterangan:

Function fgetc() pada kode di atas diletakkan dalam perulangan. Function feof() digunakan
untuk m enyelidiki apakah pointer sudah berada di akhir dari file (end of file) atau belum . Selam a
belum end of file, proses pem bacaan karakter akan berjalan terus. Setiap kali pem bacaan,
karakter yang dibaca akan ditam pilkan di browser.

Menghapus File
Dalam PHP, function untuk m enghapus file adalah unlink(). Berikut ini contohnya.

<?
$myFile = "testFile.txt";
unlink($myFile);
?>

Menambah Isi File


Maksud dari m enam bah isi file di sini adalah, m enambah data baru pada file (diasumsikan data
sudah ada sebelum nya). Untuk m enam bah isi file dalam PHP, m ode pembukaan file nya
m enggunakan 'a' atau 'a+' dan fwrite() untuk menulis data ke dalam file. Berikut ini adalah
contohnya.

Misalkan kita mem punyai file buah.txt yang isinya adalah sbb:

Jeruk
Apel
Mangga

Selanjutnya kita punya kode PHP sbb:

<?
$myFile = "buah.txt";
$fh = fopen($myFile, 'a') or die("File tidak bisa dibuka");
$buah1 = "Anggur\n";
fwrite($fh, $buah1);
$buah2 = "Nanas\n";
fwrite($fh, $buah2);
fclose($fh);
?>

Kode di atas akan m enam bahkan 2 buah data baru ke file buah.txt. Perintah \n (new line)
digunakan untuk ganti baris pada file.

30
Dasar-dasar Pemrograman PHP

Upload File
Di beberapa aplikasi web, sering kita m enjum pai proses upload file ke server. Berikut ini akan
dibahas cara m elakukan hal itu.

Langkah pertam a untuk m em buat aplikasi web guna upload file adalah m em buat form nya terlebih
dahulu. Berikut ini adalah salah satu contoh form dalam bentuk HTML

<form enctype="multipart/form-data" action="upload.php" method="post">


<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Nama File : <input name="userfile" type="file" />
<input type="submit" value="Upload" />
</form>

Pada form di atas, kita m em batasi ukuran file yang dapat diupload adalah 30 Kb.

Selanjutnya kita m em buat file upload.php untuk proses uploadnya.

<?php

$uploaddir = 'uploads/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];

if (move_uploaded_file($_FILES['userfile']['tmp_name'] , $uploadfile)) {
echo "File telah berhasil diupload";
} else {
echo "File gagal diupload";
}

?>

31
Dasar-dasar Pemrograman PHP

BAB XI
OPERASI STRING
strpos
Function strpos() digunakan untuk m enentukan posisi suatu substring dari sederetan string.
Function ini akan m ereturn bilangan integer yang m erupakan urutan posisi substring tersebut.

Contoh:

<?
$stringku = "1234567890";

$posisi = strpos($stringku, "5");


echo "Posisi dari karakter 5 dalam string adalah $posisi";
?>

Script di atas akan m enghasilkan posisi karakter ‘5’ adalah di 4.

NB:
Ingat bahwa index dari array dalam PHP dim ulai dari index ke – 0.

Kelem ahan dari strpos() adalah bahwa function tersebut hanya dapat m enentukan posisi suatu
substring pada pem unculan pertam a. Pada pem unculan substring pada posisi yang berikutnya
tidak akan terdeteksi. Meskipun dem ikian, Anda m asih tetap m enggunakannya untuk m encari
posisi yang lain dari suatu substring dengan sedikit melakukan pem rogram an.

Contoh:

<?
$stringku = "1234567890123456789012345678901234567890";
$offset = 0;
$counter = 1;

while($offset = strpos($numberedString, "5", $offset + 1)){


$counter++;
echo "<br>Karakter 5 ke-$counter ada posisi - $offset";
}
?>

str_replace
Function ini m em iliki peran yang sam a seperti ketika kita m enggunakan fasilitas Replace All pada
MS. W ord. Function ini akan menggantikan suatu string dengan string yang lain.

Contoh:

$stringawal = "selamat datang di halaman web ini";


$ubahstring = str_replace("web", "website", $stringawal);
echo "$ubahstring";

32
Dasar-dasar Pemrograman PHP

Function str_replace() juga dapat m enggantikan beberapa string secara simultan sekaligus.
Berikut ini contohnya:

<?
$rawstring = "Welcome Birmingham parent! <br>
Your offspring is a pleasure to have!
We believe pronoun is learning a lot.<br>
The faculty simple adores pronoun2 and you can often hear
them say \"Attah sex!\"<br>";

$placeholders = array('offspring', 'pronoun', 'pronoun2', 'sex');


$malevals = array('son', 'he', 'him', 'boy');
$femalevals = array('daughter', 'she', 'her', 'girl');

$malestr = str_replace($placeholders, $malevals, $rawstring);

$femalestr = str_replace($placeholders, $femalevals, $rawstring);

echo "Son: ". $malestr . "<br>";


echo "Daughter: ". $femalestr;
?>

Pada script di atas, array $placeholder berisi string-string dari $rawstring yang akan
diganti.

Dan tam pilan script di atas adalah sbb:

Son: Welcome Birmingham parent!


Your son is a pleasure to have! We believe he is learning a lot.
The faculty simple adores he2 and you can often hear them say "Attah
boy!"

Daughter: Welcome Birmingham parent!


Your daughter is a pleasure to have! We believe she is learning a lot.
The faculty simple adores she2 and you can often hear them say "Attah
girl!"

Perhatikan string yang dicetak m erah pada tam pilan script tersebut. Seharusnya string
pronoun2 akan diganti dengan him dan her. Hal ini dikarenakan efek str_replace dari string
pronoun yang m erupakan substring dari pronoun2. Untuk m enghindari efek kesalahan seperti
itu, hindari peletakan substring di depan string lain dalam str_replace.

Berikut ini hasil m odifikasinya:

<?
$rawstring = "Welcome Birmingham parent! <br>
Your offspring is a pleasure to have!
We believe pronoun is learning a lot.<br>
The faculty simple adores pronoun2 and you can often hear
them say \"Attah sex!\"<br>";

$placeholders = array('offspring', 'pronoun2', 'pronoun', 'sex');


$malevals = array('son', 'him', 'he', 'boy');
$femalevals = array('daughter', 'her', 'she', 'girl');

33
Dasar-dasar Pemrograman PHP

$malestr = str_replace($placeholders, $malevals, $rawstring);

$femalestr = str_replace($placeholders, $femalevals, $rawstring);

echo "Son: ". $malestr . "<br>";


echo "Daughter: ". $femalestr;
?>

dan tam pilannya adalah

Son: Welcome Birmingham parent!


Your son is a pleasure to have! We believe he is learning a lot.
The faculty simple adores him and you can often hear them say "Attah
boy!"

Daughter: Welcome Birmingham parent!


Your daughter is a pleasure to have! We believe she is learning a lot.
The faculty simple adores her and you can often hear them say "Attah
girl!"

strtoupper
Function ini digunakan untuk m engubah sem ua karakter huruf dari suatu string menjadi kapital.

Contoh:

<?
$originalString = "String Capitalization 1234";

$upperCase = strtoupper($originalString);
echo "Old string - $originalString <br>";
echo "New String - $upperCase";
?>

Hasilnya adalah

Old string - String Capitalization 1234


New String - STRING CAPITALIZATION 1234

strtolow er
Kebalikan dari strtoupper(), function ini m engubah semua karakter huruf dari string m enjadi huruf
kecil.

Contoh:

<?
$originalString = "String Capitalization 1234";

$lowerCase = strtolower($originalString);
echo "Old string - $originalString <br>";

34
Dasar-dasar Pemrograman PHP

echo "New String - $lowerCase";


?>

Hasilnya adalah

Old string - String Capitalization 1234


New String - string capitalization 1234

ucw ords
Karakter huruf pertam a dari suatu kata dalam string juga dapat diubah m enjadi huruf kapital
m enggunakan function ini.

Contoh:

<?
$titleString = "a title that could use some hELP";

$ucTitleString = ucwords($titleString);
echo "Old title - $titleString <br>";
echo "New title - $ucTitleString";
?>

Hasilnya adalah:

Old title - a title that could use some hELP


New title - A Title That Could Use Some HELP

Bagaim ana cara m engubah HELP m enjadi Help (pada tam pilan outputn ya)? Perhatikan script
m odifikasi berikut ini

<?
$titleString = "a title that could use some hELP";

$lowercaseTitle = strtolower($titleString);
$ucTitleString = ucwords($lowercaseTitle);
echo "Old title - $titleString <br />";
echo "New title - $ucTitleString";
?>

yaitu dengan cara m engubahnya (“hELP”) ke huruf kecil sem ua terlebih dahulu (“help”),
kem udian huruf pertam a dari “help” diberikan perintah ucwords().

explode
Sesuai nam anya “explode”, fungsi ini digunakan untuk m eledakkan/m em ecah suatu string
m enjadi potongan-potongan string yang kecil. Selanjutnya potongan-potongan string ini akan
disim pan dalam suatu array. Perhatikan contoh berikut ini

35
Dasar-dasar Pemrograman PHP

<?
$PhoneNumber = "800-555-5555";

$hasil = explode("-", $PhoneNumber);


echo " Phone Number = $PhoneNumber <br>";
echo "Pecahan 1 = $hasil[0]<br>";
echo "Pecahan 2 = $hasil[1]<br>";
echo "Pecahan 3 = $hasil[2]";
?>

Hasilnya adalah:

Phone Number = 800-555-5555


Pecahan 1 = 800
Pecahan 2 = 555
Pecahan 3 = 5555

Pada perintah explode("-", $PhoneNumber); di atas, karakter "-" dapat diibaratkan


sebagai dinam itnya. Dinamit ini apabila diledakkan akan m em ecah string dari $PhoneNumber.
Karakter yang akan digunakan sebagai dinam it dapat ditentukan sendiri oleh programm er, dapat
berupa spasi, kom a dsb.

Jum lah pecahan string dari hasil ledakan dapat dibatasi dengan m enam bahkan jum lah batas
ledakan sebagai param ater ketiga dari function explode().

Contoh:

<?
$PhoneNumber = "800-555-5555";

$hasil = explode("-", $PhoneNumber, 2);


echo " Phone Number = $PhoneNumber <br>";
echo "Pecahan 1 = $hasil[0]<br>";
echo "Pecahan 2 = $hasil[1]<br>";
echo "Pecahan 3 = $hasil[2]";
?>

Hasilnya adalah:

Phone Number = 800-555-5555


Pecahan 1 = 800
Pecahan 2 = 555-5555
Pecahan 3 =

Perintah explode("-", $PhoneNumber, 2); di atas m em batasi 2 buah pecahan string dari
hasil ledakan. Dengan demikian, tam pak pada hasil bahwa pecahan ketiga tidak ada.

implode
Kebalikan dari explode(), function im plode() digunakan untuk m enyatukan pecahan-pecahan
string m enjadi satu kesatuan string.

Contoh:

36
Dasar-dasar Pemrograman PHP

<?
$pecahan = array("Hello", "World,", "I", "am", "Here!");

$disatukandenganspasi = implode(" ", $pecahan);


$disatukandengandash = implode("-", $pecahan);

echo "$disatukandenganspasi <br>";


echo "$disatukandengandash ";
?>

Hasilnya adalah:

Hello World, I am Here!


Hello-World,-I-am-Here!

37
Dasar-dasar Pemrograman PHP

BAB XII
FUNCTION DATE
Pada bab ini akan dibahas m engenai cara m enam pilkan tanggal ke dalam halaman web. Tanggal
yang akan ditam pilkan menyesuaikan waktu server, bukan waktu yang ada di client. Hal ini
disebabkan PHP m erupakan server side programming.

Contoh:

<?
echo date("m/d/y");
?>

Function date() digunakan untuk menampilkan tanggal pada saat itu


(sesuai waktu server). Misalkan pada saat itu adalah tanggal 12
Nopember 2005, maka tampilan dari script di atas adalah

11/12/05

Kita dapat m engubah format tanggal dalam bentuk 12-11-05 dengan perintah

<?
echo date("d-m-y");
?>

Lantas bagaim ana kalau kita ingin m enam pilkan tanggal pada 2 hari m endatang? Berikut ini
scriptnya.

<?
$duaharilagi = mktime(0, 0, 0, date("m"), date("d")+2, date("y"));
echo "Dua hari lagi adalah tanggal ". date("d/m/y", $duaharilagi);
?>

Function mktime() digunakan untuk m em buat tim estam p, dengan sintaks:

mktime(hour, minute, second, month, day, year)

Contoh:

<?php
$tomorrow = mktime(0, 0, 0, date("m") , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"), date("Y"));
$nextyear = mktime(0, 0, 0, date("m"), date("d"), date("Y")+1);

echo "Besok adalah tanggal ". date("d/m/y", $tomorrow) . "<br>";


echo "Sebulan lalu adalah tanggal ". date("d/m/y", $lastmonth). "<br>";
echo "Setahun lagi adalah tanggal ". date("d/m/y", $nextyear). "<br>";
?>

38
Dasar-dasar Pemrograman PHP

Beberapa ini beberapa jenis tim estam p yang dapat digunakan untuk m engatur form at tam pilan
tanggal dan waktu
Tim e:
a : am atau pm
A : AM atau PM
g : Jam tanpa 0 di depan. Bernilai antara 1- 12.
G : Jam tanpa 0 di depan (form at 24 jam ). Bernilai antara 0- 23.
h : Jam dengan 0 di depan. Bernilai antara 01- 12.
H : Jam dengan 0 di depan (form at 24 jam ). Bernilai antara 00- 23.
i : Menit dengan 0 di depan. Bernilai antara 00-59.
s : Detik dengan 0 di depan. Bernilai antara 00-59.

Day:
d : Hari dalam bulan (tanggal) dengan 0 di depan. Bernilai antara 01-31.
j : Hari dalam bulan (tanggal) tanpa 0 di depan. Bernilai antara 1-31.
D : Hari dalam m ingguan (disingkat). Bernilai antara Sun-Sat
l : Hari dalam m ingguan. Bernilai antara Sunday-Saturday
w : Hari dalam m ingguan tanpa 0 di depan. Bernilai antara 0-6.
z : Hari dalam tahunan tanpa 0 di depan. Bernilai antara 0-365.

Month:
m : Nom or bulan dengan 0 di depan (01-12)
n : Nom or bulan tanpa 0 di depan (1-12)
M : Singkatan dari bulan. (Jan-Dec)
F : Nam a bulan lengkap. (January-Decem ber)
t : Jum lah hari dalam sebulan. (28-31)

Year:
L : 1 jika m elom pati tahun dan 0 jika tidak.
Y : Form at tahun 4 digit
y : Form at tahun 2 digit. (00-99)

Contoh:

<?php

// Misalkan hari ini adalah: 10 Maret 2001, 5:16:18 pm

$today = date("F j, Y, g:i a");


echo "$today";
$today = date("m.d.y");
echo "$today";
$today = date("j, n, Y");
echo "$today";
$today = date("Ymd");
echo "$today";
$today = date("H:i:s");
echo "$today";
?>

Hasilnya adalah:

March 10, 2001, 5:16 pm


03.10.01

39
Dasar-dasar Pemrograman PHP

10, 3, 2001
20010310
17:16:17

40
Dasar-dasar Pemrograman PHP

BAB XIII
BEKERJA DENGAN SESSION
Session digunakan untuk m engirim data ke beberapa halam an web. Sebuah halam an web,
secara norm al tidak akan m engirim suatu data dari halam an yang satu ke halam an yang lain.
Dengan kata lain, sem ua inform asi tentang data tersebut akan hilang begitu halam an web
direload.

Berikut ini akan diberikan contoh tentang penjelasan di atas, m engenai perlunya m enggunakan
session.

Contoh:

Diberikan source code sbb.

Form.php

<form action=submit.php method=post>


Username <input type=text name=username><input type=submit name=submit
value=Submit>
</form>

Submit.php

<?
$username = $_POST[‘username’];
echo “Nama user Anda adalah: $username<br><br>”;
echo “<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>”;
?>

Hal1.php
<?
echo "Ini adalah halaman 1<br>";
echo "Nama user Anda adalah: $username<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Hal2.php

<?
echo "Ini adalah halaman 2<br>";
echo "Nama user Anda adalah: $username<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

41
Dasar-dasar Pemrograman PHP

Hal3.php

<?
echo "Ini adalah halaman 3<br>";
echo "Nama user Anda adalah: $username<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Dengan file-file di atas, user dim inta m elakukan login terlebih dahulu (m emasukkan nam a user)
m elalui form.php. Selanjutnya akan m uncul subm it.php yang m enam pilkan nam a user yang
dim asukkan tadi dan beberapa link ke halam an lain. Begitu user m engakses 3 buah halam an
web yang ada tersebut, diharapkan nam a user yang telah dim asukkan dalam form sebelum nya
tetap ditam pilkan dalam setiap halam an web yang diakses. Akan tetapi apa yang terjadi?
Ternyata untuk ketiga halam an web yang diakses tersebut tidak m enam pilkan nam a user. Hal ini
dikarenakan hilangnya data/inform asi dari nam a user yang dimasukkan sebelum nya.

Nah… di sinilah perlunya session. Dengan session, data dapat disim pan dan selanjutnya dapat
diakses di beberapa halaman web.

Penggunaan session sering diterapkan pada aplikasi web yang bersifat m ultiuser, seperti online
shopping, web based m ail, e-banking, dll.

Data yang yang tersim pan dalam session bersifat tem porary/ sem entara. Biasan ya akan
terhapus secara otom atis begitu user m enutup browser, atau m elakukan logout.

Memulai PHP – Session


Sebelum Anda m enyim pan data dalam session, terlebih dahulu harus m em ulai session. Untuk
m emulai session, perintahnya adalah:

session_start()

Menyimpan Data ke dalam Session


Untuk m enyim pan data ke dalam session, digunakan perintah

$_SESSION['nama_session'] = data;

Contoh:

Berikut ini adalah code dalam file subm it.php (contoh sebelum nya) yang telah dim odifikasi. Nam a
user akan disim pan dalam session.

<?
session_start();

$username = $_POST['username'];

$_SESSION['namauser'] = $username;

42
Dasar-dasar Pemrograman PHP

echo "Nama user Anda adalah: $username<br><br>";


echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Memanggil Data yang Tersimpan dalam Session


Setelah data disim pan dalam session, selanjutn ya dapat dipanggil kem bali apabila diperlukan.
Untuk m em anggil data dalam session, caranya cukup m enuliskan

$_SESSION['nama_session'].

Contoh :

Berikut ini adalah code dari file hal1.php, hal2.php, dan hal3.php sehingga dapat m enam pilkan
nam a user yang telah disimpan dalam session.

Hal1.php

<?
session_start();
echo "Ini adalah halaman 1<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Hal2.php

<?
session_start();
echo "Ini adalah halaman 1<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Hal3.php

<?
session_start();
echo "Ini adalah halaman 1<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Menghapus Data Session


Untuk m enghapus data yang tersim pan dalam suatu session, digunakan perintah

unset($_SESSION['nama_session']);

43
Dasar-dasar Pemrograman PHP

Misalkan terdapat lebih dari satu session dan kita ingin m enghapus sem uanya, m aka caranya
dengan m em berikan perintah

session_destroy();

Biasanya m enghapus data session yang terkait dengan usernam e diterapkan pada proses
logout. Dengan proses logout, m aka usernam e yang telah tersim pan dalam session akan
terhapus.

Contoh:

Akan dibuat script untuk proses logout dari kasus di atas.

<? session_start();
unset($_SESSION['namauser']);
?>

Penerapan Session untuk Security


Pada contoh kasus di atas, m isalkan kita buat aturan bahwa untuk dapat m engakses halam an 1,
2, dan 3, user harus terlebih dahulu m elakukan login. Dari script yang kita buat di atas, seorang
user bisa saja langsung melakuan by pass ke tiga halam an tersebut tanpa login terlebih dahulu.
Tentu saja hal ini bisa berbaha ya untuk aplikasi m ultiuser yang harus m enjam in keam anan data
dari para usernya.

Untuk m encegah proses by pass tersebut, dapat kita akali dengan menggunakan session.
Logikanya adalah, apabila user m elakukan login, maka nam a user yang dia m asukkan akan
disim pan dalam session. Sedangkan apabila ada seorang user yang m encoba m em by pass,
m aka dengan kata lain usernam e tidak akan disim pan dalam session (session untuk user m asih
kosong), dengan catatan bahwa user lain yang sebelum nya login harus sudah m e-logout. Dari
hal ini, kita dapat m elakukan cek apakah seorang user sudah m elakukan login atau belum
dengan m elihat session, masih kosong atau tidak.

Untuk m elihat sebuah session m asih kosong atau tidak dengan m enggunakan perintah

isset($_SESSION['nama_session'])

Perintah di atas akan m enghasilkan nilai TRUE apabila session sudah tidak kosong, dan akan
m enghasilkan nilai FALSE apabila session m asih kosong.

Contoh:

Kita akan m em buat script untuk m encegah b y pass dalam kasus sebelumnya. Script ini
selanjutnya akan disisipkan pada setiap halam an yang diinginkan, dalam hal ini adalah halam an
1, 2, dan 3.

Cek.php

<?
session_start();

if
(!isset($_SESSION['namauser']))
{

44
Dasar-dasar Pemrograman PHP

echo "Anda belum login";


exit;
}
?>

Dan berikut adalah script hal1.php, hal2.php, dan hal3.php yang sudah dim odifikasi

Hal1.php

<?
session_start();
include "cek.php";
echo "Ini adalah halaman 3<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Hal2.php

<?
session_start();
include "cek.php";
echo "Ini adalah halaman 3<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

Hal3.php

<?
session_start();
include "cek.php";
echo "Ini adalah halaman 3<br>";
echo "Nama user Anda adalah: ".$_SESSION['namauser']. "<br><br>";
echo "<a href=hal1.php>Hal 1</a> <a href=hal2.php>Hal 2</a> <a
href=hal3.php>Hal 3</a>";
?>

45
Dasar-dasar Pemrograman PHP

BAB XIV
BEKERJA DENGAN COOKIES
Cookies telah lam a digunakan dalam internet yang digunakan oleh adm inistrator web untuk
m enyim pan inform asi user atau pengunjung di kom puter user tersebut.

Membuat Cookies
Untuk m em buat cookies, caran ya dengan m enggunakan perintah setcookie(nam e, value,
expiration). Perintah ini m em iliki 3 buah argum en, yaitu

1. name, m erupakan nam a dari cookie. Nam a cookie ini dapat dipanggil sewaktu-waktu
untuk m endapatkan informasi. Jadi jangan sam pai nam a cookie ini lupa.
2. value, m erupakan inform asi atau data yang disim pan dalam cookie. Biasanya value ini
berupa usernam e atau tanggal pengaksesan suatu halam an web.
3. expiration, m erupakan batas waktu penyim panan cookie (dalam detik timestam p).
Apabila lam a penyim panan sebuah cookie m elebihi batas waktu ini, m aka secara
otom atis cookie tersebut akan terhapus.

Contoh:

Pada contoh ini akan dibuat perintah PHP untuk m em buat cookie yang digunakan untuk
m enyim pan data waktu kunjungan terakhir seorang user yang m engakses suatu halam an web.
Cookie ini diberi batas waktu sam pai 2 bulan (60 hari) pen yim panan.

<?php
$duabulanlagi = time() + 60 * 24 * 3600;
setcookie(KunjunganTerakhir, date("G:i - m/d/y"), $duabulanlagi);
?>

Mengambil Informasi dari Cookie


Apabila cookie belum terhapus, m aka kita dapat m engam bil inform asi dari cookie. Untuk
m engecek apakah suatu cookie sudah terhapus atau belum menggunakan perintah

isset($_COOKIE['nama_cookie']
)

Apabila cookie m asih ada, m aka perintah di atas m enghasilkan TRUE. Sedangkan apabila sudah
terhapus, akan menghasilkan nilai FALSE.

Sedangkan untuk m engambil inform asi dari cookie, menggunakan perintah

$_COOKIE['nama_cookie']

Contoh:

Berikut ini contoh perintah PHP untuk m enam pilkan tanggal kunjungan terakhir user yang
m engunjungi halam an web.

46
Dasar-dasar Pemrograman PHP

<?php
if(isset($_COOKIE['KunjunganTerakhir']))
{
$visit = $_COOKIE['KunjunganTerakhir'];
echo "Kunjungan Anda terakhir pada - ". $visit;
}
else
echo "Anda sudah 2 bulan lebih tidak mengunjungi web ini";

?>

47
Dasar-dasar Pemrograman PHP

BAB XV
PHP- MySQL
MySQL m erupakan salah satu DBMS open source yang paling populer pada saat ini. Meskipun
dahulu MySQL pernah dikritisi karena tidak m em iliki beberapa fitur yang ada dalam DBMS pada
um um nya, nam un saat ini MySQL sudah ban yak dikem bangkan.

Koneksi PHP ke MySQL


Sebelum kita m elakukan koneksi ke MySQL ada beberapa param eter yang harus kita ketahui
terlebih dahulu. Untuk m elakukan koneksi, dibutuhkan:

- Server nam e, m erupakan nam a server atau no. IP server dim ana MySQL tersebut
diinstall
- Usernam e, m erupakan nam a user yang diberikan wewenang untuk m engakses database
dalam MySQL
- Password, m erupakan password yang dim iliki usernam e dalam rangka autentifikasi.
- Database nam e, m erupakan nam a database dalam MySQL yang ingin kita akses.

Untuk m em peroleh inform asi param eter di atas, dapat m enghubungi server adm inistrator.

Sedangkan perintah PHP untuk m elakukan koneksi ke MySQL adalah

<?php
mysql_connect("nama server", "username", "password") or
die(mysql_error());
echo "Koneksi ke MySQL Sukses<br>";
?>

Perintah di atas akan m enam pilkan Koneksi ke MySQL sukses apabila koneksi telah berhasil,
sedangkan apabila gagal akan menam pilkan pesan kesalahan.

Memilih Database
Setelah koneksi berhasil, selanjutnya kita dapat m em ilih database yang kita inginkan. Adapun
perintahnya m enggunakan mysql_select_db().

Contoh:

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
echo "Connected to MySQL<br />";
mysql_select_db("test") or die(mysql_error());
echo "Connected to Database";
?>

48
Dasar-dasar Pemrograman PHP

Contoh di atas m enggam barkan bagaim ana cara m elakukan koneksi ke MySQL dengan nam a
servernya localhost, usernam e : admin, dan password: 1admin. Selanjutnya m em ilih
database test.

Memberikan Query ke MySQL


Setelah kita m emilih database dim ana kita akan bekerja, selanjutnya kita dapat m em berikan
perintah query seperti SELECT, DELETE, CREATE, UPDATE. Berikut ini contoh script PHP untuk
m em buat tabel example dalam database test.

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

mysql_query("CREATE TABLE example(


id INT NOT NULL AUTO_INCREMENT,
nama VARCHAR(30),
umur INT)
PRIMARY KEY(id)")
or die(mysql_error());

echo "Tabel sudah dibuat";

?>

Pada contoh di atas, dapat dilihat bahwa perintah PHP untuk m enuliskan query ke MySQL
adalah

mysql_query("query");

Sedangkan berikut ini contoh script untuk m enyisipkan 2 buah record/data ke tabel example.

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

mysql_query("INSERT INTO example(nama, umur)


VALUES('budiman', 20)");

mysql_query("INSERT INTO example(nama, umur)


VALUES('surti', 30)");

echo "Data sudah dimasukkan";

?>

Mengambil Data dari MySQL


Mengam bil data di sini terkait dengan penggunaan quer y SELECT. Berikut ini contoh untuk
m enam pilkan record pertam a dari tabel example.

49
Dasar-dasar Pemrograman PHP

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

$result = mysql_query("SELECT * FROM example")


or die(mysql_error());

// menyimpan record ke dalam variabel $data


$record = mysql_fetch_array( $result );

// menampilkan data dari $record untuk setiap field


echo "Namanya: ".$record['nama']. "<br>";
echo "Umurnya: ".$record['umur'];

?>

Output script di atas adalah:

Namanya: budiman
Umurnya: 20

Perintah di atas hanya akan m enam pilkan record pertam a dari tabel example. Lantas,
bagaim ana caran ya untuk m enam pilkan record yang lebih dari satu?

Untuk m enam pilkan record yang lebih dari satu, kita gunakan looping. Perhatikan contoh berikut
ini.

<?php
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());

$hasil = mysql_query("SELECT * FROM example")


or die(mysql_error());

while ($record = mysql_fetch_array($hasil))


{
echo "Namanya: ".$record['nama']. "<br>";
echo "Umurnya: ".$record['umur']. "<br><br>";
}

?>

Looping while di atas akan terus berjalan selam a record m asih ada untuk dibaca. Hasil dari script
di atas adalah

Namanya: budiman
Umurnya: 20

Namanya: surti
Umurnya: 30

Catatan:

Untuk lebih m em udahkan Anda dalam adm inistrasi dan m engatur database dalam MySQL,
sangat dianjurkan untuk menginstall phpMyAdm in yang dapat diunduh m elalui situs resm inya di
http://phpm yadm in.sourceforge.net/

Disusun oleh: Rosihan Ari Yuana 50


Dasar-dasar Pemrograman PHP

BAB XVI
SQL INJECTION
Pada bab ini akan dibahas m engenai apa itu SQL injection, cara melakukannya dan cara
pencegahann ya. Meskipun dalam bab ini dijelaskan cara m elakukan teknik ini, akan tetapi
penulis bukan bertujuan untuk m endidik orang untuk m enjadi penjahat dalam dunia virtual,
m elainkan m em berikan pem aham an supaya orang yang m em baca m enjadi eling lan waspodo.

Apa itu SQL Injection


SQL injection m erupakan perbuatan orang yang m em berikan perintah SQL untuk dijalankan di
m esin server SQL tanpa sepengetahuan Anda sebagai adm inistrator. Proses injection biasanya
dilakukan orang ketika mem asukkan input m elalui form dengan perintah atau kode tertentu.
Berikut ini adalah contohnya:

<?
$nama = "agus";
$query = "SELECT * FROM customers WHERE username = '$name'";
echo "Query Normal: " . $query . "<br>";

// input user yang menggunakan SQL injection


$name = "' OR 1 OR '1' = '1";

$query = "SELECT * FROM customers WHERE username = '$name'";

echo "Query Injection: " . $query;


?>

Tam pilan script di atas adalah

Query Normal: SELECT * FROM customers WHERE username = 'agus'


Query Injection: SELECT * FROM customers WHERE username = '' OR 1' OR
'1' = '1'

Apabila query norm al dijalankan di server SQL tentu saja tidak ada m asalah karena akan
m encari record dari tabel customers yang terkait dengan usernam e agus. Query tersebut akan
m endapatkan data yang diinginkan apabila m emang terdapat user agus dan tidak akan
m endapatkan data yang diinginkan apabila tidak terdapat user tersebut.

Sedangkan untuk query injection pasti akan selalu mendapatkan paling sedikit satu record/ data
dari tabel custom ers. Mengapa hal ini bisa terjadi? Hal ini dikarenakan dalam query injection
terdapat perintah OR 1 yang selalu bernilai TRUE.

Berikut ini adalah contoh mekanism e SQL injection yang dapat terjadi pada proses login.

Misalkan terdapat tabel user yang digunakan untuk m enyim pan data user, yang di dalam nya
terdapat 2 field yaitu usernam e dan password. Misalkan juga terdapat 2 user yaitu JOKO
(password : JOKO) dan AMIR (password : AMIR).

51
Dasar-dasar Pemrograman PHP

Diberikan form login sbb.

Login.php

<form method=post action=submit.php>


Nama user <input type=text name=username><br>
Password <input type=text name=password>
<input type=submit name=submit value=Submit>
</form>

Dan file submit.php sbb.

<?

mysql_connect("localhost","root","root") ;
mysql_select_db("test");

$username = $_POST['username'];
$password = $_POST['password'];

$query = "SELECT * FROM user WHERE username = '$username'


AND password = '$password'";

echo "$query<br>";

$hasil = mysql_query($query);
$jmldata = mysql_num_rows($hasil);

if ($jmldata != 0) echo "<h1>Login SUKSES</h1>";


else echo "<h1>Login GAGAL</h1>";

?>

Ide dari proses login di atas adalah m encari nam auser dan password dalam tabel user
berdasarkan usernam e dan password yang dim asukkan m elalui form . Perintah
mysql_num_rows() akan m enghasilkan jum lah record hasil pencarian. Apabila ditem ukan
nam auser dan password yang sesuai m aka mysql_num_rows() akan m enghasilkan jum lah
baris record yang tidak sam a dengan 0. Sedangkan apabila tidak ditem ukan, jum lah baris record
adalah 0. Selanjutn ya jum lah baris record yang m uncul tersebut dicek. Login akan berhasil
apabila ada record yang ditem ukan atau jum lah baris recordnya tidak sam a dengan 0, dan akan
gagal jika jum lah baris recordnya 0.

Sekarang, perhatikan apa yang terjadi apabila dalam form dim asukkan input sebarang nam a user
dan password berbentuk ' OR 1 OR '1' = '1. Pastilah login akan sukses karena perintah
SQL yang dijalankan adalah

SELECT * FROM user WHERE username = 'xxx'


AND password = '' OR 1 OR '1' = '1'

yang akan m enghasilkan TRUE

52
Dasar-dasar Pemrograman PHP

Cara Pencegahan SQL Injection


Beruntunglah … sekarang PHP sudah dilengkapi dengan security (PHP rilis terbaru) dengan
m engubah karakter single quote (‘) m enjadi (\’). Dengan kata lain karakter single quote yang
diinputkan m elalui form secara otom atis akan diubah m enjadi backslash-single quote (\’).

Sehingga untuk kasus login di atas perintah SQL yang dijalankan adalah

SELECT * FROM user WHERE username = 'xxx'


AND password = '\' OR 1 OR \'1\' = \'1'

sehingga akan m enghasilkan FALSE karena password yang dicari adalah \' OR 1 OR \'1\'
= \'1. Dengan dem ikian login akan gagal.

Catatan:
Dalam MySQL, tanda single quote digunakan sebagai pengapit data/value yang berupa string.
Sedangkan backslash-single quote m erupakan tanda yang digunakan untuk m enyatakan
karakter single quote.

Apabila PHP Anda tidak mensupport m etode tersebut (biasanya PHP rilis lam a), cara lain adalah
m enggunakan perintah mysql_real_escape_string(). Peran perintah ini sam a dengan
m etode di atas yaitu m engubah single quote m enjadi backslash-single quote.
Script berikut ini adalah modifikasi dari subm it.php pada kasus login di atas yang ditam bahkan
perintah mysql_real_escape_string().

<?

mysql_connect("localhost","root","root") ;
mysql_select_db("test");

$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);

$query = "SELECT * FROM user WHERE username = '$username'


AND password = '$password'";

echo "$query<br>";

$hasil = mysql_query($query);
$jmldata = mysql_num_rows($hasil);

if ($jmldata != 0) echo "<h1>Login SUKSES</h1>";


else echo "<h1>Login GAGAL</h1>";

?>

53
Dasar-dasar Pemrograman PHP

BAB XVII
MEMBUAT CMS SENDIRI
What is CMS?
CMS m erupakan singkatan dari Content Management System m erupakan bentuk teknologi web
yang berbasis konten. Semua konten dimanajemen dengan sistematis melalui panel yang mudah
dilakukan. Administrator web tidak perlu mengatur konten secara offline kemudian mengupload
kembali ke server, akan tetapi hal tersebut dapat dilakukan secara online. Hal ini dapat dilakukan
karena semua konten tersimpan dalam database. Biasanya CMS merupakan aplikasi yang
terbuka untuk user, artinya bahwa user dapat memiliki andil untuk menambah konten yang tentu
saja hal ini juga dalam pengawasan administrator web.

Berikut ini akan dibahas cara membuat aplikasi CMS untuk menampilkan kumpulan artikel.
Aplikasi ini memungkinkan user untuk mengirim artikel apabila ia sudah terdaftar sebagai
m em ber dalam aplikasi tsb.

Catatan:

Semua file script yang ditulis di sini dapat Anda unduh di http://rosihanari.net/php.php. Apabila
terdapat bug atau error, dapat dilaporkan via em ail ke rosihanarie@gm ail.com

Membuat Database
Untuk keperluan ini, diperlukan database dengan struktur sbb:

Nam a database : cms

Selanjutnya buat tabel di dalam database cm s tersebut dengan SQL comm and sbb:

CREATE TABLE `artikel` (


`idArtikel` tinyint(4) NOT NULL auto_increment,
`idUser` tinyint(4) NOT NULL,
`kategori` text NOT NULL,
`judul` text NOT NULL,
`sinopsis` text NOT NULL,
`isi` text NOT NULL,
`date` varchar(10) NOT NULL,
`counter` tinyint(4) NOT NULL,
`status` tinyint(4) NOT NULL,
PRIMARY KEY (`idArtikel`)
) ENGINE=MyISAM;

CREATE TABLE `user` (


`idUser` tinyint(4) NOT NULL auto_increment,
`username` varchar(10) NOT NULL,
`fullname` varchar(30) NOT NULL,
`password` varchar(32) NOT NULL,

54
Dasar-dasar Pemrograman PHP

PRIMARY KEY (`idUser`)


) ENGINE=MyISAM ;

Sedangkan perintah ini untuk m embuat username 'admin' dan passwordnya juga 'admin'.

INSERT INTO `user` VALUES (3, 'admin', 'administrator',


'21232f297a57a5a743894a0e4a801fc3');

Membuat Layout
Untuk mem perm udah mem buat layout dari aplikasi, silakan m engunduh layout tem plate di
http://rosihanari.net/php.php. (layout nya pun hasil unduhan dari situs lain, maklum si empunya
gak bisa desain web, coz… gak punya jiwa seni).

Oya, jangan menghapus folder style, karena semua desain layout diatur oleh CSS yang ada
dalam folder tersebut.

Selanjutnya, buat file header.php dan footer.php dari file layout tersebut. Caranya adalah dengan
membuka file index.htm dari file yang diunduh tadi dengan notepad atau text editor lain. Untuk
membuat file header.php caranya dengan mengcopy code html index.htm mulai dari paling atas
sampai pada <div id="column2">. Selanjutnya paste kan ke halaman baru dari text editor
lalu simpan dengan nama file header.php.

Lalu sesuaikan script header.php tersebut dengan script di bawah ini. (perhatikan teks yang
berwarna m erah)

header.php

<? session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"


"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<head>
<title>template: home</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-
1" />

<!-- **** Layout Stylesheet **** -->


<link rel="stylesheet" type="text/css" href="style/style104_left.css"
/>

<!-- **** Colour Scheme Stylesheet **** -->


<link rel="stylesheet" type="text/css" href="style/colour2.css" />

</head>

<body>
<div id="main">
<div id="links">

55
Dasar-dasar Pemrograman PHP

<!-- **** INSERT LINKS HERE **** -->


<!—Silakan menambahkan links sendiri -->
<b>::</b> <a href="http://"><b>links</b></a> <b>::</b> <a
href=""><b>links</b></a>
<b>::</b> <a href=""><b>links</b></a>
</div>
<div id="logo"><h1>your company name</h1></div>
<div id="content">
<div id="column1">
<div id="menu">
<h1>menu navigasi</h1>
<ul>
<li><a href="index.php">home</a></li>
<!—- link untuk registrasi user -->
<li><a href="register.php">register</a></li>
<!—- link untuk melihat arsip artikel -->
<li><a href="articles.php">arsip artikel</a></li>
<!—- link untuk login maupun logout -->
<!—- apabila user belum login, link login akan muncul -->
<!-- sedangkan bila sudah login, link logout muncul -->
<li><?
if (isset($_SESSION['idUser'])) $status = "<a
href=logout.php>logout</a>";
else $status = "<a href=login.php>login</a>";
echo $status;
?></li>
</ul>
</div>
<div class="sidebaritem">
<h1>artikel terbaru</h1>
<!-- **** INSERT NEWS ITEMS HERE **** -->
<!-- menampilkan 3 judul artikel terbaru -->
<?
include "dbconnect.php";
$query = "SELECT * FROM artikel WHERE status = 1 ORDER BY
idArtikel DESC LIMIT 0, 3";
$hasil = mysql_query($query);
while ($data3 = mysql_fetch_array($hasil))
{
echo "<p><a
href=view.php?idArtikel=".$data3['idArtikel'].">".$data3['judul']."</a>
</p>";
}

?>
</div>
<!-- menampilkan panel user apabila telah login -->
<!-- dan menyembunyikan panel user bila user belum login -->
<?
if (isset($_SESSION['idUser']))
{
if ($_SESSION['username'] == "admin") $adminpanel = "<li><a
href=\"adminPanel.php\">admin panel</a></li>";
else $adminpanel = "";

$userpanel = "<div id=\"addlinks\">


<h1>member menu</h1>

56
Dasar-dasar Pemrograman PHP

<ul>
<li><a href=\"submitArticle.php\">kirim
artikel</a></li>
<li><a href=\"editProfile.php\">edit
profile</a></li>".$adminpanel."
</ul>
</div>";
}
else $userpanel = "";

echo $userpanel;
?>
<div class="sidebaritem">
<h1>information</h1>
<!-- silakan isi informasi di sini -->
<p>
Informasi Anda<br>
</p>
</div>
</div>
<div id="column2">

Sedangkan untuk file footer.php, caranya dengan m engcopy tag dari index.htm m ulai dari
</div> (setelah akhir dari content… ) sampai dengan tag terakhir. Jangan lupa ubah sendiri
tentang copyright nya.

footer.php

</div>
</div>
<div id="footer">
copyright © 2007 web admin | <a
href="mailto:[email protected]">[email protected]</a> | <a
href="http://validator.w3.org/check?uri=referer">XHTML 1.1</a> | <a
href="http://jigsaw.w3.org/css-validator/check/referer">CSS</a>
</div>
</div>
</body>
</html>

Membuat File Koneksi ke Database (MySQL)


dbconnect.php

<?

$server = "localhost";
$user = "root";
$pass = "root";
$db = "cms";

mysql_connect($server, $user, $pass);


mysql_select_db($db);

57
Dasar-dasar Pemrograman PHP

?>

Membuat File Index


Untuk keperluan file hom e, silakan buat file index.php dengan isi sebarang. Berikut ini contohnya.

index.php

<?

include "header.php";

echo "<h1>welcome friends...</h1><p>sugeng rawuh ing web kulo. web niki


namung sampel kemawon kagem kuliah pemrograman web. web niki berbasis
cms.</p>";

include "footer.php";
?>

Membuat File Registrasi User


Berikut ini file untuk registrasi user. Terdapat 4 isian, yaitu username yang diinginkan, nam a
lengkap, password serta konfirm asi password.

register.php

<?
include "header.php";
?>

<h1>user registration</h1>
<form action="regSubmit.php" method="post">
<div class="row">
<span class="formlabel">username</span>
<span class="forminput"><input type="text" name="username"
/></span>
</div>

<div class="row">
<span class="formlabel">nama lengkap</span>
<span class="forminput"><input type="text" name="fullname"
/></span>
</div>

<div class="row">
<span class="formlabel">password</span>
<span class="forminput"><input type="password" name="password1"
/></span>
</div>

<div class="row">
<span class="formlabel">ulangi password</span>
<span class="forminput"><input type="password" name="password2"
/></span>

58
Dasar-dasar Pemrograman PHP

</div>

<div class="row">
<span class="formlabel"></span>
<span class="forminput"><input type="submit" value="submit"
class="submit" /></span>
</div>
</form>

<?
include "footer.php";
?>

Sedangkan berikut ini file regSubmit.php untuk m engolah proses registrasi user.

regSubmit.php

<?
include "dbconnect.php";
include "header.php";

echo "<h1>status registrasi</h1>";

$username = $_POST['username'];
$fullname = $_POST['fullname'];
$password1 = md5($_POST['password1']);
$password2 = md5($_POST['password2']);

// cek konfirmasi password

if ($password1 == $password2)
{

// cek apakah username sudah ada

$query = "SELECT * FROM user WHERE username = '$username'";


$hasil = mysql_query($query);
$data = mysql_num_rows($hasil);

// bila user name belum ada, maka user akan diregister


if ($data == 0)
{
$query = "INSERT INTO user(username, fullname, password)
VALUES('$username', '$fullname', '$password1')";
$hasil = mysql_query($query);
echo "Selamat bergabung dengan kami
<b>".$fullname."</b><br>Silakan Anda login terlebih dahulu";
}
else echo "Nama username tersebut sudah ada.";

}
else echo "Password tidak sama";

include "footer.php";
?>

59
Dasar-dasar Pemrograman PHP

Membuat File Login


Untuk form loginnya, dapat dilihat pada script berikut ini

login.php

<?
include "header.php";
?>

<h1>user login</h1>
<form action="loginSubmit.php" method="post">
<div class="row">
<span class="formlabel">username</span>
<span class="forminput"><input type="text" name="username"
/></span>
</div>
<div class="row">
<span class="formlabel">password</span>
<span class="forminput"><input type="password"
name="password" /></span>
</div>
<div class="row">
<span class="formlabel"></span>
<span class="forminput"><input type="submit" value="submit"
class="submit" /></span>
</div>
</form>

<?
include "footer.php";
?>

Sedangkan proses loginnya diatur oleh script loginSubmit.php

loginSubmit.php

<?
session_start();
include "dbconnect.php";

$username = $_POST['username'];
$password = md5($_POST['password']);

$query = "SELECT * FROM user WHERE username = '$username'";


$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

// cek password dari database dengan yang dimasukkan ketika login


// bila sama, maka login sukses dan muncul panel user

if ($data['password'] == $password)
{

$_SESSION['idUser'] = $data['idUser'];

60
Dasar-dasar Pemrograman PHP

$_SESSION['username'] = $data['username'];

// bila username = admin, maka akan muncul panel admin

if ($_SESSION['username'] == "admin") $adminpanel = "<li><a


href=\"adminPanel.php\">admin panel</a></li>";
else $adminpanel = "";

$status = "<a href=logout.php>logout</a>";


$userpanel = "<div id=\"addlinks\">
<h1>member menu</h1>
<ul>
<li><a href=\"submitArticle.php\">kirim
artikel</a></li>
<li><a href=\"editProfile.php\">edit
profile</a></li>".$adminpanel."
</ul>
</div>";
include "header.php";
echo "<h1>status login</h1>";
echo "<p>Selamat datang <b>".$data['fullname']."</b>.</p> <p>Anda
berhak untuk mengirim artikel.</p>";
}
else
{

$status = "<a href=login.php>login</a>";


$userpanel = "";
include "header.php";
echo "<h1>status login</h1>";
echo "<p>Password salah atau username tidak terdaftar</p>";
}

include "footer.php";
?>

Membuat File Logout


Untuk keperluan logout, berikut ini adalah scriptnya

logout.php

<?
session_start();
session_destroy();

$status = "<a href=login.php>login</a>";


include "header.php";
echo "<h1>logout</h1>";
echo "<p>Anda sudah logout</p>";

include "footer.php";
?>

61
Dasar-dasar Pemrograman PHP

Membuat File Cek User dan Admin


File ini digunakan untuk mencegah proses by pass ke dalam user dan admin panel oleh orang
lain yang tidak berhak.

cekUser.php

<?
session_start();

// cek apakah user sudah login atau belum

if (!isset($_SESSION['idUser']))
{
echo "<h1>warning</h1>";
echo "<p>Maaf... fasilitas ini hanya untuk user terdaftar</p>";
echo "<p>Silakan Anda register dahulu</p>";
include "footer.php";
exit;
}
?>

cekAdmin.php

<?
session_start();

// cek apakah user sudah login atau belum dan cek apakah user admin
// atau bukan

if (!isset($_SESSION['idUser']) || $_SESSION['username'] != "admin")


{

echo "<h1>warning</h1>";
echo "<p>Maaf... fasilitas ini hanya untuk administrator</p>";
include "footer.php";
exit;
}
?>

Kedua file tersebut akan diinclude kan ke setiap file yang terkait dengan user panel dan admin
panel.

Membuat Fasilitas Kirim Artikel


Fasilitas ini hanya diperuntukkan bagi user teregistrasi. Dalam c ontoh ini, dimisalkan terdapat 3
kategori artikel yaitu database, web programming, dan programming. Anda dapat menambah
sendiri. Script untuk form kirim artikel adalah sebagai berikut

62
Dasar-dasar Pemrograman PHP

submitArticle.php

<?
include "header.php";
include "cekUser.php";
echo "<h1>submit article</h1>";
?>

<form action="articlePost.php" method="post">


<div class="row">
<span class="formlabel">Kategori</span>
<span class="forminput"><select name="kategori"
class="textarea"><option value="database">database</option><option
value="programming">programming</option><option value="web
programming">web programming</option></select></span>
</div>
<div class="row">
<span class="formlabel">Judul</span>
<span class="forminput"><input type="text" name="judul"
/></span>
</div>
<div class="row">
<span class="formlabel">Sinopsis</span>
<span class="forminput"><textarea rows="5" cols="18"
name="sinopsis" class="textarea"></textarea></span>
</div>
<div class="spacer">&nbsp;</div>
<div class="row">
<span class="formlabel">Isi Artikel</span>
<span class="forminput"><textarea rows="20" cols="3"
name="isi" class="textarea"></textarea></span>
</div>
<div class="spacer">&nbsp;</div>
<div class="row">
<span class="formlabel"></span>
<span class="forminput"><input type="submit" value="submit"
class="submit" /></span>
</div>
</form>

<?
include "footer.php";
?>

Sedangkan untuk m em proses artikel yang dikirim, diperlukan file articlePost.php

articlePost.php

<? session_start();
include "header.php";
include "cekUser.php";
include "dbconnect.php";
echo "<h1>submit article</h1>";

$kategori = $_POST['kategori'];

63
Dasar-dasar Pemrograman PHP

$judul = $_POST['judul'];
$sinopsis = $_POST['sinopsis'];
$isi = $_POST['isi'];

// informasi tanggal kirim artikel

$tgl = date("d/m/Y");

$counter = 0;
$status = 0;

$query = "INSERT INTO artikel(iduser, kategori, judul, sinopsis, isi,


date, counter, status)
VALUES(".$_SESSION['idUser'].", '$kategori', '$judul',
'$sinopsis', '$isi', '$tgl', $counter,
$status)";
$hasil = mysql_query($query);
echo "<p>Artikel sudah disubmit</p>";

include "footer.php";

?>

Keterangan:

Artikel yang dikirim oleh user selanjutnya akan direview oleh admin. Admin berhak m enolak,
mengedit, maupun menghapus artikel tersebut. Setting oleh perintah $status = 0, maksudnya
adalah bahwa artikel tersebut belum ditampilkan untuk umum (msh bersifat private). Status
tersebut akan diubah menjadi 1 oleh admin apabila layak tampil (sudah direview). Sedangkan
setting $counter = 0, maksudnya adalah untuk menunjukkan berapa kali artikel tersebut telah
dibaca oleh user. Karena baru saja dikirim tentu saja counternya sama dengan 0. Counter
tersebut akan bertambah apabila artikel telah dibaca oleh public user.

Membuat Fasilitas Edit Profile untuk User


Fasilitas ini mem ungkinkan user untuk m engubah nama lengkapnya beserta passwordnya.

editProfile.php

<? session_start();
include "header.php";
include "cekUser.php";
include "dbconnect.php";

// mencari data tentang user yang sedang login

$query = "SELECT * FROM user WHERE idUser = ".$_SESSION['idUser'];


$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
?>

<h1>edit profile</h1>
<form action="editProfileSubmit.php" method="post">

64
Dasar-dasar Pemrograman PHP

<div class="row">
<span class="formlabel">nama lengkap</span>
<span class="forminput"><input type="text" name="fullname"
value="<? echo $data['fullname']; ?>" /></span>
</div>

<div class="row">
<span class="formlabel">password baru</span>
<span class="forminput"><input type="password" name="password1"
/></span>
</div>

<div class="row">
<span class="formlabel">ulangi password baru</span>
<span class="forminput"><input type="password" name="password2"
/></span>
</div>

<div class="row">
<span class="formlabel"></span>
<span class="forminput"><input type="submit" value="submit"
class="submit" /></span>
</div>
</form>

Script untuk mem proses form edit profile di atas adalah di bawah ini.

editProfileSubmit.php

<?
include "footer.php";
?>

<?
include "dbconnect.php";
include "header.php";
include "cekUser.php";

echo "<h1>edit profile</h1>";

$fullname = $_POST['fullname'];
$password1 = md5($_POST['password1']);
$password2 = md5($_POST['password2']);

if ($password1 == $password2)
{

$query = "UPDATE user SET fullname = '$fullname', password =


'$password1' WHERE idUser = ".$_SESSION['idUser'];
$hasil = mysql_query($query);
echo "Profile sudah ter-update";
}
else echo "Password tidak sama";

include "footer.php";
?>

65
Dasar-dasar Pemrograman PHP

Membuat Admin Panel


Keberadaan admin panel ini m em ungkinkan admin untuk melihat semua artikel yang sudah
terkirim, mengeditnya, menghapus, dan mengizinkan layak tampil (approve). Selain itu admin
juga berhak m enghapus user yang terdaftar. Berikut ini scriptnya.

adminPanel.php

<?

include "header.php";
include "cekAdmin.php";
include "dbconnect.php";
echo "<h1>admin panel</h1>";

if (isset($_GET['op']))
{

// hapus user

$op = $_GET['op'];
if ($op == "deleteUser")
{

$idUser = $_GET['idUser'];
$query = "DELETE FROM user WHERE idUser = $idUser";
$hasil = mysql_query($query);
}

else if ($op == "viewArticle")


{

// lihat isi artikel yang telah masuk

$idArtikel = $_GET['idArtikel'];
$query = "SELECT user.username, artikel.kategori,
artikel.judul, artikel.sinopsis, artikel.isi, artikel.date FROM
artikel, user WHERE user.idUser = artikel.idUser AND artikel.idArtikel
= $idArtikel";
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);
echo "<h3>".$data['judul']."</h3>";
echo "<p><b>kategori</b> :
".$data['kategori']."</p>";
echo "<p><b>oleh</b> : ".$data['username']."</p>";
echo "<p><b>sinopsis</b> :<br>
".$data['sinopsis']."</p>";
echo "<p><b>ditulis pada tanggal</b> :
".$data['date']."</p>";
echo "<p>".$data['isi']."</p>";
}
else if ($op == "deleteArticle")
{
// hapus artikel
$idArtikel = $_GET['idArtikel'];
$query = "DELETE FROM artikel WHERE idArtikel =
".$idArtikel;

66
Dasar-dasar Pemrograman PHP

$hasil = mysql_query($query);
echo "<p>artikel sudah dihapus</p>";
}

else if ($op == "approveArticle")


{

// approve artikel yang layak tampil

$idArtikel = $_GET['idArtikel'];
$query = "UPDATE artikel SET status = 1 WHERE
idArtikel = ".$idArtikel;
$hasil = mysql_query($query);
echo "<p>artikel sudah diapprove</p>";
}
else if ($op == "editArticle")
{
// edit artikel
$idArtikel = $_GET['idArtikel'];
$query = "SELECT * FROM artikel WHERE idArtikel =
".$idArtikel;
$hasil = mysql_query($query);
$data = mysql_fetch_array($hasil);

echo "<form
action='".$_SERVER['PHP_SELF']."?op=articleUpdate' method='post'>
<div class='row'>
<span class='formlabel'>Kategori</span>
<span class='forminput'><select name='kategori'
class='textarea'><option value='database'>database</option><option
value='programming'>programming</option><option value='web
programming'>web programming</option></select></span>
</div>
<div class='row'>
<span class='formlabel'>Judul</span>
<span class='forminput'><input type='text' name='judul'
value='".$data['judul']."' /><input type='hidden' name='idArtikel'
value='".$data['idArtikel']."' /></span>
</div>
<div class='row'>
<span class='formlabel'>Sinopsis</span>
<span class='forminput'><textarea rows='5' cols='18'
name='sinopsis'
class='textarea'>".$data['sinopsis']."</textarea></span>
</div>
<div class='spacer'>&nbsp;</div>
<div class='row'>
<span class='formlabel'>Isi Artikel</span>
<span class='forminput'><textarea rows='20' cols='3'
name='isi' class='textarea'>".$data['isi']."</textarea></span>
</div>
<div class='spacer'>&nbsp;</div>
<div class='row'>
<span class='formlabel'></span>
<span class='forminput'><input type='submit' value='submit'
class='submit' /></span>
</div>
</form>";

67
Dasar-dasar Pemrograman PHP

else if ($op == "articleUpdate")


{

// proses update artikel yang sudah diedit

$idArtikel = $_POST['idArtikel'];
$kategori = $_POST['kategori'];
$judul = $_POST['judul'];
$sinopsis = $_POST['sinopsis'];
$isi = $_POST['isi'];

$query = "UPDATE artikel SET kategori =


'".$kategori."', judul = '".$judul."', sinopsis = '".$sinopsis."', isi
= '".$isi."' WHERE idArtikel = ".$idArtikel;
$hasil = mysql_query($query);
echo "<p>artikel sudah diupdate</p>";
}
echo "<a href=".$_SERVER['PHP_SELF'].">kembali ke admin panel</a>";
}
else
{
echo "<p><b>user administration</b></p>";

// menampilkan semua user yang terdaftar

$query = "SELECT * FROM user ORDER BY idUser";


$hasil = mysql_query($query); echo "<table border=1>"; echo
"<tr><td><b>username</b></td><td><b>fullname</b></td><td><b>action</b><
/td></tr>";
while ($data = mysql_fetch_array($hasil))
{

echo
"<tr><td>".$data['username']."</td><td>".$data['fullname']."</td><td><a
href=".$_SERVER['PHP_SELF']."?op=deleteUser&idUser=".$data['idUser'].">
delete</a></td></tr>";
}
echo "</table><br><br>";

echo "<p><b>articles administration</b></p>";

// menampilkan daftar semua artikel yang telah masuk

$query = "SELECT * FROM artikel ORDER BY idArtikel";


$hasil = mysql_query($query); echo "<table border=1>"; echo
"<tr><td><b>judul</b></td><td><b>kategori</b></td><td><b>status</b></td
><td><b>action</b></td></tr>";
while ($data = mysql_fetch_array($hasil))
{

echo
"<tr><td>".$data['judul']."</td><td>".$data['kategori']."</td><td>".$da
ta['status']."</td><td><a
href=".$_SERVER['PHP_SELF']."?op=viewArticle&idArtikel=".$data['idArtik
el'].">view</a> <a

68
Dasar-dasar Pemrograman PHP

href=".$_SERVER['PHP_SELF']."?op=deleteArticle&idArtikel=".$data['idArt
ikel'].">delete</a> <a
href=".$_SERVER['PHP_SELF']."?op=approveArticle&idArtikel=".$data['idAr
tikel'].">approve</a> <a
href=".$_SERVER['PHP_SELF']."?op=editArticle&idArtikel=".$data['idArtik
el'].">edit</a></td></tr>";
}
echo "</table>";
}

include "footer.php";

?>

Membuat File untuk Menampilkan Arsip Artikel


Daftar artikel ini akan m uncul ketika user m engklik m enu arsip artikel. Tentu saja arsip
artikel yang muncul adalah yang telah diapprove oleh admin. Tampilan daftar artikel ini akan
dikelom pokkan berdasarkan kategorinya. Berikut ini adalah scriptnya

articles.php

<?
include "header.php";
include "dbconnect.php";
echo "<h1>arsip artikel</h1>";
$query = "SELECT * FROM artikel GROUP BY kategori";
$hasil = mysql_query($query);

while ($data = mysql_fetch_array($hasil))


{

echo "<p><b>kategori</b> : ".$data['kategori']."</p>";


$query2 = "SELECT * FROM artikel WHERE kategori =
'".$data['kategori']."' ORDER BY idArtikel DESC";
$hasil2 = mysql_query($query2);
echo "<ul>";
while ($data2 = mysql_fetch_array($hasil2))
{
echo "<li><a
href=view.php?idArtikel=".$data2['idArtikel'].">".$data2['judul']."</a>
</li>";
}
echo "</ul>";
echo "<p>&nbsp;</p>";
}

include "footer.php";
?>

Setelah daftar artikel tampil, user dapat membaca detail dari artikel tersebut dengan mengklik
judulnya. Berikut ini script untuk m enam pilkan detail artikel.

69
Dasar-dasar Pemrograman PHP

view.php

<?
include "header.php";
include "dbconnect.php";

$idArtikel = $_GET['idArtikel'];

$query = "SELECT user.username, artikel.kategori, artikel.judul,


artikel.sinopsis, artikel.isi, artikel.date, artikel.counter FROM
artikel, user WHERE user.idUser = artikel.idUser AND artikel.idArtikel
= $idArtikel";

$hasil = mysql_query($query);

$data = mysql_fetch_array($hasil);

// counter jumlah berapa kali telah dibaca akan bertambah

$counter = $data['counter']+1;

echo "<h1>".$data['judul']."</h1>";
echo "<p><b>kategori</b> : ".$data['kategori']."<br>";
echo "<b>oleh</b> : ".$data['username']."<br>";
echo "<b>ditulis pada tanggal</b> : ".$data['date']."<br>";
echo "<b>telah dibaca</b> : ".$counter." kali</p>";
echo "<p>".$data['isi']."</p>";

// mengupdate counter

$query2 = "UPDATE artikel SET counter = ".$counter." WHERE idArtikel =


".$idArtikel;
$hasil2 = mysql_query($query2);

include "footer.php";
?>

Demikian petunjuk praktis dan singkat dalam pem buatan aplikasi CMS sederhana. Sem oga
berm anfaat.

70
PANDUAN PENYUSUNAN
LAPORAN PRAKTIKUM

71
PELAPORAN

Tata Cara Penulisan Laporan


1. Bahan dan Ukuran
a. Bahan dan ukuran mencakup naskah, ukuran dan sampul
b. Naskah dibuat di atas kertas HVS 70 gram dan tidak bolak-balik
c. Ukuran naskah adalah A4
d. Laporan di jilid dengan jenis jilid langsung.
e. Sampul dibuat dari kertas bufalo dengan ketentuan warna sampul sebagai berikut :
Praktikum Pengantar Teknologi Informasi : Warna sampul putih
Praktikum Pemrogramman Berorientasi Objek : Warna sampul kuning
Praktikum Sistem Basis Data : Warna sampul hijau
Praktikum Jaringan : Warna sampul merah
Praktikum Pemrogramman Perangkat Lunak : Warna sampul biru
Praktikum Pemrogramman Multimedia : Warna sampul coklat
Praktikum Sistem Cerdas : Warna sampul merah muda

2. Pengetikan
a. Naskah diketik dengan huruf Times New Roman 12.
b. Jenis huruf miring dan persegi tidak diperkenankan kecuali untuk menuliskan bahasa
asing.
c. Lambang, huruf Yunani atau tanda-tanda yang tidak dapat diketik, harus ditulis
dengan rapi memakai tinta hitam.

Sistematika Laporan Resmi


I. Sampul
Warna sampul sesuai ketentuan. Format sampul (Lihat lampiran 1)
II. Halaman Pengesahan
Format halaman pengesahan (Lihat Lampiran 2)
III. Berita Acara Bimbingan Laporan Praktikum
IV. Kata Pengantar
V. Isi Laporan
1. Tujuan
Tuliskan tujuan praktikum sesuai dengan percobaan yang dilakukan
2. Dasar Teori*
Dasar Teori menguraikan teori, temuan, dan bahan referensi lain yang diperoleh dari acuan,
yang dijadikan landasan untuk melakukan suatu praktikum. Dasar Teori dibawa untuk
menyusun kerangka atau konsep yang akan digunakan dalam praktikum yang mengacu
pada Daftar Pustaka. Sumber pustaka yang digunakan diiusahakan pustaka terbaru, relevan
dan asli dari buku, artikel, atau jurnal ilmiah.

72
3. Alat
Tuliskan semua alat yang digunakan, jika ada tuliskan spesifikasinya (merek dan ukuran)
4. Bahan
Tuliskan semua bahan yang digunakan beserta spesifikasinya, jika larutan sebutkan
konsentrasinya
5. Prosedur Kerja/Cara Kerja
Buat dalam bentuk diagram alir (flowchart) sedemikian hingga prosedur kerja tidak berupa
kalimat. Jika menggunakan kata kerja, gunakan bentuk kata kerja pasif. Flowchart dibuat
dengan bagan-bagan yang mempunyai arus yang menggambarkan langkah atau prosedur
dalam percobaan yang dibuat secara sederhana, terurai, rapi dan jelas dengan menggunakan
simbol-simbol standar.
6. Pembahasan
Menguraikan semua langkah yang telah dilakukan (bukan berisi cara kerja), hasil dan data
yang telah dicapai, dan kesimpulan dari percobaan yang telah dilakukan. Pembahasan
ditulis sesuai dengan kaidah penulisan ilmiah. Kalimat ditulis mengikuti kaidah penulisan
kalimat yang baik, yang terdiri dari subyek, predikat, obyek, dan keterangan. Pembahasan
minimal menguraikan jawaban pada pertanyaan pada buku panduan. Gunakan berbagai
sumber referensi sebagai pembanding.
7. Kesimpulan
Kesimpulan berisi jawaban sesuai dengan tujuan percobaan yang ditulis dalam kalimat
yang sederhana.
8. Daftar Pustaka
Tuliskan semua referensi yang digunakan sesuai dengan ketentuan penulisan pustaka

III. Lampiran
Laporan harus dilampiri laporan sementara yang telah disetujui oleh Dosen Pengampu dan
lampiran pendukung lain jika diperlukan.

73
Contoh Penulisan Laporan Praktikum
PERCOBAAN I
NETWORK FUNDAMENTAL
I. TUJUAN

II. DASAR TEORI

III. ALAT

IV. BAHAN

V. PROSEDUR KERJA

74
VI. PEMBAHASAN

VII. KESIMPULAN

VIII. DAFTAR PUSTAKA

Menyetujui
Pembimbing

(.................................)
NIK.

75
PERCOBAAN II
DHCP

I. TUJUAN

II. DASAR TEORI

III. ALAT

IV. BAHAN

V. PROSEDUR KERJA

76
VI. PEMBAHASAN

VII. KESIMPULAN

VIII. DAFTAR PUSTAKA

Menyetujui
Pembimbing

(.................................)
NIK.

77
HALAMAN PENGESAHAN
LAPORAN PRAKTIKUM ......................................

NAMA :
NIM :

SEMESTER : Ganjil/Genap
TAHUN :
AKADEMIK

Laporan praktikum ................................ ini telah disetujui dengan


Nilai : ........................

Mengetahui Menyetujui
Kepala Laboratorium Teknik Informatika Dosen Pembimbing

(Moh. Bhanu Setyawan, ST., M.Kom) (……………………………………)


NIK. 19800225 201309 13 NIK.

78
BERITA ACARA
BIMBINGAN LAPORAN
PRAKTIKUM ………………………….

Nama : ………………………
Nim : …………………………
Program Studi : …………………………

No Tanggal Topik Paraf

Pembimbing

( …………………………. )
NIK.

Anda mungkin juga menyukai