Anda di halaman 1dari 63

1

INSTALASI PHP

Langka-langkah instalasi PHP dengan menggunakan xampplite. Xamplite adalah


program yang berisi paket aplikasi PHP-Apache dan Mysql yang sudah
terintegrasi dimana instalasi untuk ke-3 aplikasi tersebut hanya dilakukan sekali
saja. Kelemahannya adalah versi apache,php dan mysql tidak bisa dipilih sesuai
dengan keinginan user, paket ini sudah mencakup versi-versi yang kompatibel
antara php-apache dan mysql.
Langka-langkah instalasi adalah sebagai berikut :
1) Download file xampplite.zip dibagian download
2) Ekstrak file tersebut sehingga menjadi xampplite-win32-1.5.3a.exe

3) Double klik file xampplite-win32-1.5.3a.exe dan pilih lokasi instalasi di d:\

4) Maka akan ada direktori baru di d:\ yaitu d:\xampplite


5) Setelah proses instalasi selesai lihat di direktori instalasi tersebut (xampplite)
dan jalankan file xampp-start.exe
6) Akan muncul jendela ms-dos dan memberitahukan bahwa program is starting
now (minimize jendela tersebut, jangan di tutup).
7) Direktori kerja berada di dalam folder instalasi -> htdocs -> xampp atau
d:\xampplite\htdocs\xampp\
8) Buatlah folder baru sesuai dengan nama anda, misal : agus, maka path
direktori kerja adalah d:\xampplite\htdocs\xampp\agus\

Nanang Durahman
2

PENGENALAN PHP

I. SCRIPT PHP

PHP pada awalnya merupakan Personal Home Page dan secara resmi menjadi
PHP Hypertext Preprocessor. PHP adalah bahasa script pemrograman web
server side yang bisa disisipkan pada script html. Script php dimulai dengan tag
awal <?php dan diakhiri dengan tag akhir ?>
Berikut adalah script php yang disisipkan pada script html
latihan_Ia.php
<html>
<head>
<tittle>Latihan Ia</title>
</head>
<body>
<?php
echo”Ini adalah kalimat yang ditulis dengan
php”;
?>
</body>
</html>

Script diatas sama tampilannya dengan script dibawah ini :


latihan_Ib.php
<html>
<head>
<tittle>Latihan Ib</title>
</head>
<body>
Ini adalah kalimat yang ditulis dengan html
</body>
</html>

Atau sama dengan script di bawah ini :


latihan_Ic.php

<?php
echo”<html>”;
echo”<head>”;
echo”<tittle>Latihan Ic</title>”;
echo”</head>”;
echo”<body>”;
echo”Ini adalah kalimat yang ditulis dengan php
murni”;
echo”</body>”;
echo”</html>”;
?>

Nanang Durahman
3

Meskipun isi scriptnya berbeda tapi tampilannya sama yaitu memunculkan


tulisan. Latihan_Ia.php disebut embedded script yang artinya script php
ditempelkan pada script html, Latihan-Ib.php disebut script html murni dan
latihan_Ic.php disebut script php murni atau lebih dikenal dengan non-
embedded script.
Script yang disarankan adalah embedded script (Latihan_Ia.php), hal ini untuk
mempermudah penelusuran kesalahan.

II. KOMENTAR

Ada 3 jenis komentar dalam php


1) /* isi komentar */ -> Cara penulisan komentar bahasa C
2) // isi komentar -> Cara penulisan komentar bahasa C++
3) # isi komentar -> Cara penulisan komentar script bourne di
unix/linux
Yang sering digunakan adalah no 1 dan 2, jika komentar terdiri dari banyak
baris maka digunakan cara ke 1 tetapi jika hanya satu atau beberapa baris
digunakan cara 2 dan 3 dengan ketentuan untuk ketiga cara tersebut adalah
komentar ditulis didalah tag php
Misal :
latihan_Id.php
<html>
<head>
<tittle>Latihan Id</title>
</head>
<body>
<?php
// ini adalah komentar cara ke-2 dan tak akan
ditampilkan
echo”Ini adalah kalimat yang ditulis dengan php”;
/*
Ini juga komentar dan tak akan ditampilkan
Komentar ini merupan cara penulisan komentar
dengan menggunakan cara ke-1
*/
?>
</body>
</html>

III. TAG <SCRIPT >

pasangan tag <script> bisa digunakan untuk menggantikan pasangan tag awal
<?php dan tag akhir ?>
Misal :

Nanang Durahman
4

latihan_Ie.php
<html>
<head>
<tittle>Latihan Ie</title>
</head>
<body>
<script language=”php”>
echo”Ini adalah kalimat yang ditulis dengan
tag script”;
</script>
</body>
</html>

Inti dari penggunaan tag<script> adalah mengubah tag awal <?php dan tag
akhir ?>. pada Latihan_Ie.php merupakan modifikasi dari Latihan_Ia.php
dengan menambahkan <scrip language=”php”> untuk mengganti <?php dan
</script> untuk mengganti tag akhir ?>

IV. CASE SENSITIVE

Php case sinsitive artinya bahasa pemrograman php membedakan tulisan besar
dan kecil. Misal $nama = “Agus Ramdhani”; berbeda dengan $Nama = “Agus
Ramdhani Nugraha”; meskipun kedua variable tersebut memiliki nilai string
yang sama.
latihan_Jika.php
<html>
<head>
<tittle>Latihan If</title>
</head>
<body>
<?php
$nama = “Agus Ramdhani”;
$Nama = “Agus Ramdhani Nugraha”;
echo”Isi variable \$nama = $nama”;
echo”<br>”;
echo”Isi variable \$Nama = $Nama”;
?>
</body>
</html>

Terlihat bahwa $nama dan $Nama adalah berbeda, penulisan variable seperti itu
disebut case sensitive dimana php membedakan antara N besar dan n kecil.

Nanang Durahman
5

VARIABEL DAN TIPE_TIPE DATA

I. SYARAT-SYARAT VARIABLE

Variabel dalam php diawali dengan karakter $ (dollar) dan diikuti dengan nama
variable tanpa spasi.
$nama_mhs = “Agus”; // betul
$nama mhs = “Agus”; // salah
$nama/mhs = “Agus”; // salah
$nama?mhs = “Agus”; // salah
Antara nama dan mhs tidak boleh ada spasi dan tanda baca kecuali tanda ( _ ).
Ada beberapa penamaan variable yang tidak bisa digunakan sebagai variable
diantaranya :
$HTTP_POST_VARS atau $_POST
$HTTP_GET_VARS atau $_GET
$HTTP_SERVER_VARS atau $_SERVER
$GLOBALS
$HTTP_COOKIE_VARS atau $_COOKIE
$HTTP_POST_FILES atau $_FILES
$HTTP_ENV_VARS atau $_ENV
$REQUEST
$HTTP_SESSION_VARS atau $_SESSION
variabel-variabel tersebut tidak bisa digunakan karena merupakan variable
default php yang mempunyai fungsi-fungsi tertentu yang akan dibahas pada bab
tersendiri.

Kata Kunci GLOBAL

var01.php
<?php
$a = 1; /* variabel global */

function Test()
{
echo $a; /* variabel lokal */
}

Test();

?>

Script diatas tidak akan menampilkan angka 1 karena variabel $a merupakan


variabel global sedangkan variable $a dialam fungsi Test merupakan variable
lokal khusus untuk variable yang ada didalam fungsi Test.
Untuk memunculkan data yang ada dalam variable $a dapat dilakukan dengan
beberapa cara : memindahkan $a = 1; kedalam fungsi Test, menuliskan global
$a ;didalam fungsi test. Dan jika didalam fungsi Test dibuatkan variable $a = 4;

Nanang Durahman
6

maka yang akan ditampilkan adalah angka 4 bukan angka 1 meskipun ada
variable $a yang nilainya 1, tetapi yang diambil adalah variable $a yang
angkanya 4 karena berada didalam fungsi Test.
var02.php
<?php
$a = 1;
$b = 2;
function Jumlah()
{
global $a, $b;

$b = $a + $b;
}

Jumlah();
echo $b;
?>

Terlihat dalam script diatas bahwa variable $a dan $b diglobalkan didalam


fungsi Jumlah sehingga nilai $a menjadi 1 dan Variable $b menjadi 2. Maksud
di globalkan disini adalah nilai variable $a dan $b nilai globalnya dijadikan
milik fungsi Jumlah
Kesimpulannya adalah nilai $b berubah sesudah melewati fungsi, tetapi nilai
variable $b akan tetap bernilai 2 sebelum melewati fungsi Jumlah.
Latihan : coba modJikaikasi script diatas sehingga menampilkan 1+2=3
var03.php

<?php
$a = 2;
$b = 4;

function Jumlahkan()
{
$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b'];
}

Jumlahkan ();
echo $b;
?>

Pada script dibawah terlihat bahwa variable $GLOBALS['a'] mewakili variable


$a yang diglobalkan didalam fungsi Jumlahkan. Hasil dari penjumlahan 2 dan 4
bisa ditampilkan dengan menggunakan echo$GLOBALS['b'];
Latihan : coba modJikaikasi script diatas sehingga menampilkan 2+4=6

Nanang Durahman
7

var04.php
<?php
$a = 'hello';
$$a = 'world';

echo "$a ${$a}";


echo"<br>";
echo "$a $hello";
?>
$a berisi string hello, ${$a} berisi string world dan variable $hello berisi string
world. $hello berisi string world karena $$a menjadi $(isi dari variable $a) yaitu
hello maka $hello

var05.php
<?php
$a = 'hai';
$$a = 'agus';
$$$a = 'manis';
echo "$a $hai $agus";
?>

$hai berisi string agus karena $$a = ${$a} dan $a berisi hai jadi $hai = ‘agus’;,
variabel $agus berisi manis karena $+$$a menjadi $$$a dan isi dari $$$a =
‘manis’;

Variabel-variable diluar PHP

var06.php
<form action="var07.php" method="post">
Nama: <input type="text" name="user" /><br />
Email: <input type="text" name="email" /><br />
<input type="submit" name="submit" value="KIRIM" />
</form>
Script diatas akan menampilkan 2 input form dengan method POST. Kedua
input mempuanyai parameter bernama user dan email. Nilai dari ke-dua variable
tadi tergantung dari kalimat yang dimasukan kedalam formulir. Action
menunjukkan bahwa parameter akan dikirim ke file var07.php.

var07.php
<?php
echo $_POST['user'];
echo"<br>";
echo $_REQUEST['user'];
echo"<br>";
echo $_POST['email'];
echo"<br>";
echo $_REQUEST['email'];

?>

Nanang Durahman
8

Dengan cara $_POST[‘user’]; dan $_REQUEST['user']; parameter yang


dikirimkan dari file var06.php akan ditangkap dan ditampilkan, begitu juga
dengan parameter email.

Lebih jauh mengenai varable-variable formulir


var08.php
<?php
$namina = $_POST['ngaran'];
$imelna = $_POST['imel'];
$jurusana = $_POST['jurusan'];
if ($_POST['kirim_form'] == 'ada')
{
echo '<pre>';
echo"$namina<br>";
echo"$imelna<br>";
echo"$jurusana<br>";
echo '<a href="'. $_SERVER['PHP_SELF'] .'">Silahkan Coba
Lagi</a>';
echo '</pre>';
} else {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Nama: <input type="text" name="ngaran" /><br />
Email: <input type="text" name="imel" /><br />
Jurusan <br />
<select name="jurusan">
<option value="ti">Teknik Informatika</option>
<option value="mi">Manajemen Informatika</option>
<option value="si">Sistem Infromasi</option>
</select><br />
<input type="hidden" name="kirim_form" value="ada" />
<input type="submit" name="submit" value="Kirim" />
</form>
<?php
}
?>

Ketika pertama kali script dipanggil maka variabel kirim_form tidak bernilai
ada sehingga akan ditampilkan proses yang ada didalam else yaitu menampilkan
form input text nama dan email serta select option (combo box pada delphi)
yang berisi jurusan. Setelah tombol KIRIM ditekan maka variable kirim_form
yang bertipe hidden dengan nilai (ada) akan dikirim sehingga proses akan
menampilkan hasil dari string yang diinputkan oleh user.

$_SERVER['PHP_SELF'] adalah variable internal yang berfungsi sebagai


alamat atau link ke file itu sendiri. Pada File var08.php terdapat
<a href="'. $_SERVER['PHP_SELF'] .'">
itu sama artinya dengan
<a href="var08.php">.
Dengan menggunakan
<a href="'. $_SERVER['PHP_SELF'] .'">
meskipun nama file diubah maka kita tidak perlu merubah linknya.

Nanang Durahman
9

Untuk tombol KIRIM bisa diganti dengan image/gambar sehingga tampilan bisa
disesuaikan dengan kehendak programmer. Script yang digunakan :

<input type="image" src="image.gJika" name="tombol" />

II. TIPE_TIPE DATA

PHP mendukung 8 tipe data primitive


 Boolean
Nilai boolean terdiri dari dua kemungkinan yaitu TRUE (1) dan FALSE
(Kosong).
tipe01.php
<?php
$agus = True; // deklarasi TRUE pada $agus
echo"Nilai agus = $agus"; // akan bernilai 1
echo”<br>”;
$ramdhani = False; // deklarasi False pada $agus
echo"Nilai ramdhani = $ramdhani"; // akan bernilai kosong
?>

$agus akan bernilai 1 karena type data booleannya True dan variable
$ramdhani akan bernilai kosong karena type data booleannya False.
tipe02.php
<?php
var_dump((bool) ""); // bool(false)
echo"<br>";
var_dump((bool) 1); // bool(true)
echo"<br>";
var_dump((bool) -2); // bool(true)
echo"<br>";
var_dump((bool) "foo"); // bool(true)
echo"<br>";
var_dump((bool) 2.3e5); // bool(true)
echo"<br>";
var_dump((bool) array(12)); // bool(true)
echo"<br>";
var_dump((bool) "false"); // bool(true)
?>

Latihan : coba ubah tampilan script diatas menjadi kebalikannya, komentar


script merupakan proses yang ditampilkan. Ubah True menjadi False dan
kebalikannya juga.
Ketika akan mengubah ke tipe data boolean maka nilai yang akan
dimasukan dianggap bernilai False, misalnya
 Nilai boolean yang False dengan sendirinya (misal pada tipe01.php)
 Nilai integer 0 (nol)

Nanang Durahman
10

tipe03.php
<?php
$angka1 = $_POST['angka'];

Jika ($_POST['kirim_form'] == 'ada')


{
Jika($angka1 == TRUE)
{
echo '<pre>';
echo"$angka1<br>";
echo '<a href="'. $_SERVER['PHP_SELF'] .'">Silahkan Coba
Lagi</a>';
echo '</pre>';
}
else
{
echo '<pre>';
echo"Yang anda masukan adalah 0 atau kosong<br>";
echo '<a href="'. $_SERVER['PHP_SELF'] .'">Silahkan Coba
Lagi</a>';
echo '</pre>';
}
}
else
{
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="post">
Masukan sembarang nilai: <input type="text" name="angka"
/><br />
<input type="hidden" name="kirim_form" value="ada" />
<input type="submit" name="submit" value="Kirim" />
</form>
<?php
}
?>
Ketika memasukan nilai bukan 0 atau kosong(empty) maka akan
ditampilkan hasil inputannya else akan dikeluarkan peringatan bahwa
nilai yang dimasukan adalah 0 atau kosong.

 Nilai float 0.0


 String yang kosong atau string bernilai ”0”
 Array dengan element 0
 Objek dengan variabel anggota 0
 NULL

 Integer
tipe04.php
<?php
$a = 1234; // nomor desimal
$b = -123; // nomor negatJika
$c = -0123; // oktal ( 83 decimal)
$d = 0x1A; // hexadecimal (26 decimal)

Nanang Durahman
11

echo"$a<br>$b<br>$c<br>$d";
?>
Struktur integr yang munkin adalah :
 decimal : [1-9][0-9] misal 1234
 hexadicimal : 0[xX][0-9a-fA-F] misal : 0x9aA
 oktal : 0[0-7] misal : 0999
 integer : [+-]decimal | [+-]hexadecimal | [+-]oktal

 Float
$nomor = 10.24
$nomber = 0.123

 String
Tipe data string ditandai dengan tanda petik tunggal atau tanda petik data.
$nama = ‘agus’;
$nami = “agus ramdhani”;

 Array
Array adalah variable yang mempunya banyak elemen, yang diacu dengan
nama yang sama. misal :
tipe05.php
<?php
$var_array = array("agus" => "manis", "benar" => true);
echo $var_array["agus"]; // manis
echo"<br>";
echo $var_array["benar"]; // 1
?>
$var_array adalah variable yang memiliki 2 elemen yaitu agus dan benar,
agus bernilai manis dan bernilai bernilai True(1).

Array didalam array


tipe06.php
<?php
$arr = array("somearray" => array(6 => 5, 13 => 9, "a" => 42));

echo $arr["somearray"][6]; // 5
echo $arr["somearray"][13]; // 9
echo $arr["somearray"]["a"]; // 42
?>
$arr["somearray"] memiliki 3 elemen yaitu 6,13 dan a
Lebih jauh tentang array akan dibahas pada bab tersendiri

 Objek
Tipe data objek merupakan pengembangan PHP untuk mendukung
pemrograman berorientasi objek Tipe data objek adalah tipe data yang
didalamnya mengandung data dan metode.

Nanang Durahman
12

tipe07.php
<?php
class objek
{
function proses_objek()
{
echo "Proses Objek 1";
}
function proses_objek2()
{
echo "Proses Objek 2";
}
}

$var_baru = new objek;


$var_baru->proses_objek();
echo"<br>";
$var_baru->proses_objek2();
?>
Data objek didefiniskan dengan membuat sebuah kelas, variable yang
bertipe objek diinisialisasikan dengan menggunakan new diikuti nama
objek.
$var_baru = new objek;
Metode didalam objek biasanya berupa fungsi.

 Resources
Tipe data resources adalah variable khusus yang menjadi referensi ke
resorce dari luar, misal ke mysql. resource dibuat dan digunakan oleh fungsi
khusus.

 NULL
tipe08.php
<?php
$var = NULL;
echo"Isi dari varibael NULL adalah = $var";
?>
Hanya ada satu nilai dari tipe data NULL yaitu kalimat NULL ditulis
dengan huruf besar semua dan isi dari $var adalah kosong jika ditampilkan.

Nanang Durahman
13

KONSTANTA

Konstanta adalah sebuah pengenal untuk sebuah nilai yang sederhana,


setelah nama diberikan/dideklarasikan nilai tidak bisa berubah selama proses
eksekusi dari script tersebut (kecuali untuk konstatnta magic yang tidak
konstant). Konstanta defaultnya case-sensitive Berdasarkan ketentuan dan
kebiasaan konstatnta selalu ditulis dengan huruf kapital. Ketentuan menulis
konstanta adalah sebagai berikut. [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]
Dengan demikian penulisan konstanta tidak boleh diawali dengan angka

<?php

// konstanta yang benar


define("FOO", "something");
define("FOO2", "something else");
define("FOO_BAR", "something more");

// konstanta yang salah


define("2FOO", "something");
?>

kontanta01.php
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // keluarannya Hello world.
echo"<br>";
echo Constant; // keluarnnya Constant
?>

Perbedaan penulisan sangat berpengaruh dalam penamaan konstanta.

konstanta02.php
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT;
echo Constant;
define("GREETING", "Hello you.", true);
echo GREETING; // keluarannya "Hello you."
echo Greeting; // keluarannya "Hello you."
?>
Dengan menggunakan nilai TRUE konstanta akan ditetapkan case-insesitive
artinya konstanta tidak membedakan besar dan kecil tulisan seperti pada
konstanta GREETING.

Ada beberapa perbedaan antara konstanta dan variabel


1) Konstanta tidak diawali dengan tanda $
2) Konstanta didefinisikan dengan fungsi define()
3) Konstanta bisa diakses dimana saja

Konstanta Magic
konstanta03.php
<?php

Nanang Durahman
14

define(" LINE ");


echo LINE ;
echo"<br>";
define(" FILE ");
echo FILE ;

?>
Konstanta LINE merupakan fungsi yang menunjukkan urutan baris
dimana script dituliskan.
Konstanta FILE merupakan fungsi yang menunjukkan path file yang
mengandung script tersebut.

konstanta04.php
<?php

define("MAXSIZE", 100);

echo MAXSIZE;
echo"<br>";
echo constant("MAXSIZE"); // sama dengan yang diatas

?>

Nanang Durahman
15

OPERATOR

Operator adalah sesuatu yang digunakan untuk memanipulasi data terhadap satu
atau lebih data.
Operator dibedakan menjadi :
1) Operator Aritmetika
2) Operator String
3) Operator increment/decrement
4) Operator Logika (bitwise)
5) Operator Ternary
6) Operator Perbandingan
7) Operator Assigment
8) Operator Kontrol Error
9) Operator Eksekusi

I. Operator Aritmetika
Contoh Nama Hasil
-$a Negasi Nilai sebaliknya dari $a.
$a + $b Penjumlahan Jumlah $a dan $b
$a - $b Pengurangan Selisih $a dan $b
$a * $b Perkalian Hasil kali $a dan $b
$a / $b Pembagian Bilangan bulat dari $a dibagi $b
$a % $b Modulud Sisa pembagian dari $a dibagi $b.

operator01.php
<?php
//nilai awal
$a = 8;
$b = 3;
//operasi
$negasi = -$a;
$tambah = $a + $b;
$kurang = $a - $b;
$kali = $a * $b;
$bagi = $a / $b;
$modulus = $a % $b;
//yang ditampilkan
echo"Nilai Awal<br>";
echo"\$a = 8";
echo"<br>";
echo"\$b = 3";
echo"<br>";
echo"Hasil Operasi<br>";
echo" -\$a = $negasi";
echo"<br>";
echo"\$a + \$b = $tambah<br>";
echo"\$a - \$b = $kurang<br>";
echo"\$a * \$b = $kali<br>";
echo"\$a / \$b = $bagi<br>";
echo"\$a % \$b = $modulus<br>";

Nanang Durahman
16

?>

Pada script diatas terdapat variable $modulus yang merupakan sisa bagi dari
8/3. Ketika 8 % 3 maka yang keluar adalah hasilnya 2 karena yang paling
mendekati perkalian dengan angka 3 adalah 2 (3 x 2 = 6) dan bukan (3 x 3 = 9)
karena sembilan sudah melebihi nilai dari angka 8. Ketika 3 x 2 sama dengan 6
maka sisa nya untuk mencapai angka 8 adalah 2 sehingga 8 % 3 = 2.

II. Operator String


Contoh Nama Hasil
$a.$b Concatenation Gabungan string $a dan $b

operator02.php
<?php
//nilai awal
$a = 8;
$b = 3;
//operasi
$gabung = $a.$b;
//yang ditampilkan
echo"Nilai Awal<br>";
echo"\$a = 8<br>\$b =
3<br>";
echo"Hasil Operasi<br>";
echo" -\$a . \$b =
$gabung";

?>
Hasil dari script diatas adalah 83 karena 8 dan 3 digabungkan artinya operasi
concatenation adalah operasi penggabungan.

III. Operator increment/decrement


Cintoh Nama Hasil
++$a Pre-increment Tambahkan $a dengan 1, hasilnya masukan ke dalam $a
$a++ Post-increment Berikan nilai $a, kemudian tambahkan 1 kepada $a.
--$a Pre-decrement Kurangkan $a dengan 1, hasilnya masukkan ke dalam $a
$a-- Post-decrement Berikan nilai $a kemudian kurangkan 1 kepada $a

operator03.php
<?php

echo "<h3>Postincrement</h3>";
$a = 5;
echo"\$a = $a<br>";
echo "Dengan \$a++ tetap : " . $a++ . "<br />\n";
echo "Kemudian Menjadi : " . $a . "<br />\n";

echo "<h3>Preincrement</h3>";

Nanang Durahman
17

$a = 5;
echo"\$a = $a<br>";
echo "Dengan ++\$a menjadi : " . ++$a . "<br />\n";
echo "tetap : " . $a . "<br />\n";

echo "<h3>Postdecrement</h3>";
$a = 5;
echo"\$a = $a<br>";
echo "Dengan \$a-- tetap : " . $a-- . "<br />\n";
echo "Kemudian Menjadi : " . $a . "<br />\n";

echo "<h3>Predecrement</h3>";
$a = 5;
echo"\$a = $a<br>";
echo "Dengan --\$a menjadi : " . --$a . "<br />\n";
echo "Kemudian Tetap : " . $a . "<br />\n";
?>

operator04.php
<?php
$i = 'A';
for ($n=1; $n<6; $n++)
{
echo ++$i . "<br>";
}
?>
Pada script operator06.php nilai $i naik satu tingkat-satu tingkat yang dimulai
dari B karena diakibatkan $n++ dan $n huruf kurang dari 6.

IV. Operator Logika(bitwise)


Contoh Nama Hasil
Nilai bernilai 1 jika kedua bit pada posisi yang sama bernilai
$a & $b And
1
Nilai bernilai 1 jika salah satu bit pada posisi yang sama
$a | $b Or
dalam $a dan $b bernilai 1
Tabel and
a b a&b
0 0 0
1 0 0
0 1 0
1 1 1

operator05
<?php
$nilai_a = 4;
$nilai_b = 8;
echo"<h3>Penggunaan Operator AND</h3><br>";
//kedua nilai harus bernilai sama
Jika($nilai_a == "4" and $nilai_b == '8')
{

Nanang Durahman
18

echo"Benar jika kedua nilai bernilai benar";


}
else
{
echo"Salah jika salah satu atau ke dua nilai bernilai
salah";
}

?>

Jika kedua variable ($nilai_a atau $nilai_b) bernilai benar akan dianggap benar
maka akan diproses echo"Benar jika kedua nilai bernilai benar";
Jika salah satu variable ($nilai_a atau $nilai_b) ada yang tidak benar akan
dianggap salah maka diproses echo"Salah jika salah satu atau ke dua nilai
bernilai salah";

Tabel or
a b a|b
0 0 0
1 0 1
0 1 1
1 1 1

operator06.php
<?php
$nilai_a = "agus";
$nilai_b = "suga";
echo"<h3>Penggunaan Operator OR</h3><br>";
//salah satu nilai benar
//coba dibulak balik dan coba juga tidak ada yang sama
Jika($nilai_a == "agus" OR $nilai_b == "suga")
{
echo"Benar jika salah satu nilai atau keduanya benar";
}
else
{
echo" Salah jika dan hanya jika ke dua nilai salah";
}
?>
Jika salah satu nilai atau keduanya benar maka akan diproses echo"Benar jika
salah satu nilai atau keduanya benar";. Jika kedua nilai salah maka akan diproses
echo" Salah jika dan hanya jika ke dua nilai salah";.

V. Operator Ternary
Sintaksnya : (Ekspresi1)? (Ekspresi2) : (Ekspresi3);
Ekspresi satu dievaluasi, apabila bernilai benar maka Ekspresi2 diproses dan
jika bernilai salah maka Ekspresi3 diproses.

operator07.php
<?php

Nanang Durahman
19

$nilai_a = "agus";
$nilai_b = "suga";
echo"<h3>Penggunaan Operator Trenary</h3><br>";
($nilai_a == $nilai_b)? ($hasil = "benar") : ($hasil ="salah");
echo"$hasil";
?>
($nilai_a == $nilai_b) = Ekspresi1
($hasil = "benar") = Ekspresi2
($hasil = "salah") = Ekspresi3
Hasil dari program/script diatas adalah salah karena $nilai_a dan $nilai_b tidak
sama sehingga diproses Ekspresi3.
Jika $nilai_b = “suga”; diubah menjadi $nilai_b = “agus”; maka bisa dipastikan
bahwa ekspresi1 yang akan diproses.

VI. Operator Perbandingan


Contok Nama Hasil
$a = =
Sama dengan BENAR Jika $a sama dengan $b.
$b
$a = = = BENAR Jika $a sama dengan $b, atau typenya tidak
Identik
$b sama. (mulai PHP 4)
$a != $b Tidak Sama BENAR Jika $a tidak sama dengan $b.
$a <> $b Tidak Sana BENAR Jika $a tidak sama dengan $b.
$a !== BENAR Jika $a tidak sama dengan $b, atau typenya
Tidak Identik
$b tidak sama. (mulai PHP 4)
$a < $b Lebih Kecil BENAR Jika $a lebih kecil dari $b.
$a > $b Lebih Besa BENAR Jika $a lebih besar dari $b.
Lebih kecil sama
$a <= $b BENAR Jika $a lebih kecil sama dengan $b.
dengan
Lebih besar sama
$a >= $b BENAR Jika $a lebih besar sama dengan $b.
dengan

operator08.php
<?php
$nilai_a = 8;
$nilai_b = "8";
echo"<h3>Penggunaan Operator Pembanding</h3><br>";
echo"\$nilai_a = $nilai_a <br> \$nilai_b = $nilai_b<br><br>";
if($nilai_a == $nilai_b)
{
echo"\$nilai_a == \$nilai_b<br>";
}
if($nilai_a === $nilai_b)
{
echo"\$nilai_a === \$nilai_b jika tipe datanya sama<br>";
}
if($nilai_a != $nilai_b)

Nanang Durahman
20

{
echo"\$nilai_a != \$nilai_b<br>";
}
if($nilai_a <> $nilai_b)
{
echo"\$nilai_a <> \$nilai_b<br>";
}

if($nilai_a !== $nilai_b)


{
echo"\$nilai_a !== \$nilai_b (tidak identik) jika tipe
datanya tidak sama<br>";
}
if($nilai_a > $nilai_b)
{
echo"\$nilai_a > \$nilai_b<br>";
}
if($nilai_a < $nilai_b)
{
echo"\$nilai_a < \$nilai_b<br>";
}
if($nilai_a >= $nilai_b)
{
echo"\$nilai_a >= \$nilai_b<br>";
}
if($nilai_a <= $nilai_b)
{
echo"\$nilai_a <= \$nilai_b<br>";
}

$jml = $nilai_a + $nilai_b;


echo"$jml";
?>
Pada script diatas terlihat bahwa 8 dan “8” adalah sama tapi tidak identik.
Karena 8 dianggap integer dan “8” dianggap string. Pada PHP string 8 dan
integer 8 jika masuk kedalam operasi perhitungan maupun perbandingan maka
aakan dianggap interger, hal itu bisa dibuktikan pada hasil pertambahan antara
$nilai_a dan $nilai_b dengan menghasilkan 16.

VII. Operator Assigment


Operator assigment/penugasan ditandai dengan simbol =, secara tanda
merupakan sama dengan tetapi bukan itu. tanda = disinni berarti bahwa operand
disebelah kiri = mendapatkan nilai yang berada disebelah kanan =.
$a = ($b = 4) + 5;
//$a akan berisi 9 , dan $b mendapat isi 4.

operator09.php
<?php

$a = 3;
$a += 5; // set $a dengan isi 8, atau $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // set $b dengan isi "Hello There!", seperti $b

Nanang Durahman
21

= $b . "There!";

echo"$a<br>";
echo"$b<br>";
?>

VIII. Operator Kontrol Error


Php mendukung operator error kontrol dengan syarat bahwa track_errors pada
file konfigurasi (php.ini) di set On.
operator10.php
<?php
// script untuk koneksi ke database
// akan muncul error yang diakibatkan koneksi ke db gagal
// jika server localhost jalan maka akan dicek user dan
passwordnya
// karena tidak ada user agus dan password manis maka muncul
error tsb
$konek = mysql_connect("localhost","agus","manis") or
die ("Kesalahan '$php_errormsg'");
if($konek)
{
echo"Koneksi ke database benar";
}
?>
Dan jika koneksi ke database benar kama akan tampil Koneksi ke database
benar. Coba ubah user dan password menjadi

$konek = mysql_connect("gentayangan","mhs","mhs")

Maksud dari script diatas adalah, lakukan koneksi ke komputer mysql server
dengan nama komputer gentayangan dengan user mhs dan password mhs.
karena di server tsb ada user mhs dengan password mhs maka koneksi benar.

IX. Operator Eksekusi


Operator eksekusi adalah suatu perintah yang dimasukan kedalam variable.
Perintah tersebut dibuat ke dalam variable dengan ketentuan dimaukan ke dalam
tanda backticks dan hanya berlaku di lingkungan *.nix(Unix dan Linux) dengan
web servernya apache.

<?php
$keluarannya = `ls -l`;
echo "<pre>$ keluarannya </pre>";
?>

operator11.php
<?php
$keluarannya = `dir/p`;
echo "<pre>$keluarannya </pre>";
?>

Nanang Durahman
22
STRUKTUR PENGENDALI

Ketika saya bereksperimen dengan menggunakan dir/p maka ditampilkanlah


semua file didalam direktori dimana terletak file operator11.php berada.
Ternyata operatoe eksekusi berjalan di lingkungan windows dengan php versi
5.1.2
I. IF
Sintaks umum penggunaan if adalah
If(ekspresi)
pernyataan
if01.php
<?php
$a = 4;
$b = 2;
if ($a > $b)
echo "a lebib besar dari b";
?>

if02.php
<?php
$a = 4;
$b = 2;

if ($a > $b) {


echo "a lebib besar dari b<br>";
$b = $a;
echo"$b"; // nilai b menjadi 4
}
?>

Pada script if02.php terdapat dua pernyataan, pertama menampilkan kalimat a


lebih besar dari b dan menyatakan variable $a kedalam varibel $b.

II. ELSE
Misal kita ingin mengeksekusi sebuah pernyataan ketika kondisinya ditemukan
atau pernyataan yang berbeda ketika kondisi tidak ditemukan.
else01.php
<?php
$a = 4;
$b = 2;
if ($a > $b) {
echo "a lebih besar dari b";
} else {
echo "a lebih kecil dari b";
}
?>

Nanang Durahman
23

III. ELSEIF
Elseif seperti terlihat dari sintaksnya merupakan gabungan dari if dan else.
Untuk lebih jelasnya bisa dilihat dari contoh berikut:
elseif01.php
<?php
$a = 4;
$b = 2;
if ($a > $b) {
echo "a lebih besar dari b";
} elseif ($a == $b) {
echo "a sama dengan b";
} else {
echo "a lebih kecil dari b";
}
?>
Supaya terlihat hasilnya maka variable $b diubah menjadi sama dengan $a atau
lebih besar dari $a.

IV. SINTAKS ALTERNATIF UNTUK STRUKTUR PENGENDALI


PHP menawarkan sintaks alternatif untuk struktur pengendali pada : if, while,
for foreach dan switch. Dalam masing-masing kasus, bentuk dasar dari
sintaksnya adalah dengan menggunakan tanda titik dua ( : ) untuk menggantikan
kurung kurawal pembuka ( { ) dan mengganti tanda kurung kurawal tutup ( } )
dengan endif;, endwhile, endfor, endforeach

alternatif01.php
<?php
$a = 6; // ganti dengan 5
if ($a == 5):
echo "a sama dengan 5";
echo "...";
elseif ($a == 6):
echo "a sama dengan 6";
echo "!!!";
else:
echo "a bukan angka 5 atau 6";
endif;
?>

V. WHILE
While merupakan sebuah pengulangan, Struktur pengendali ini memungkin
mengeksekusi seurutan perintah-perintah secara berulang-ulang dengan jumlah
pengulangan ditentukan oleh nilai dari suatu ekspresi
Bentuk umum while adalah :
while (ekspresi)
pernyataan

atau dengan menggunakan bentuk alternatif :

Nanang Durahman
24

while (ekspresi):
pernyataan
endwhile;

while01.php
<?php
/* contoh 1 */

$i = 1;
while ($i <= 10) {
echo $i++; /* akan menampilkan angka 1 s/d 10 */
}

/* contoh 2 */

$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
?>

VI. DO-WHILE
do ....while berfungsi sama dengan while, yaitu untuk mengeksekusi suatu
perintah / pernyataan secara berulang-ulang. Bedanya adalah do ...while proses
pemeriksaan ekspresi dilakukan di akhir blok pengulangan.
Sintaks umum :
do{
pernyataan_1;
..........
}
while(ekspresi)
dowhile01.php
<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>

Pada script dowhile01.php akan menampilkan hasil 0 karena nilai ekpresi


memberitahukan bahwa $i > 0 sehingga proses pengulangan berhenti.. Jika $1
diganti dengan 1 maka akan terjadi pengulangan samapai tak terhingga (jangan
dilakukan karena akan berakibat komputer anda terus melakukan proses
pengulangan)

Nanang Durahman
25

dowhile02.php
<?php
$angka = 3;
do {
echo"ini = $angka<br>";
$angka = $angka + 3;
} while ($angka < 10);
?>

dowhile03.php
<?php
$angka = 3;
do {
$angka = $angka + 3;
echo"ini = $angka<br>";
} while ($angka < 10);
?>

Pada script dowhile02.php akan menampilkan angka 3,6,9 sedangkan pada


dowhile03.php akan menampilkan angka 6,9,12. Logikanya begini : Pada script
dowhile02.php nilai variable $angka ditemukan dahulu yaitu 3 dan ditampilkan
(hasil pertama = 3) angka 3 kemudian ditambahkan dengan 3 menjadi 6, cek
apakah kurang dari 10 (ya) dan ditampilkan (hasil kedua = 6) kemudian angka 6
ditambahkan dengan 3 manjadi 9, cek apakah kurang dari 10 (ya), dan
ditampilkan (hasil ketiga = 9) angka 9 ditambahkan dengan 3 menjadi 12 cek
apakah kurang dari 10 (tidak) tidak ditampilkan, proses looping berhenti.
Jelaskan logika yang terjadi pada script dowhile03.php

VII. FOR
Sintaks
for(ekspresi)
{
pernyataan;
}
for.php
<?php
for($angka = 1;$angka <=10;$angka++)
{
echo”$angka<br>”;
}
?>

Script for.php diatas digunakan untuk menampilkan angka 1 sampai dengan 10


tetapi kebawah bukan kesamping dikarenakan ada tanda <br>. Coba buang
tanda <br> maka angka akan ditampilkan ke samping.
For merupakan struktur kontrol pengulangan dengan jumlah pengulangan dan
perhitungan yang ditentukan ditentukan. Pada ekspresi ($angka = 1;$angka
<=10;$angka++) dikatakan bahwa nilai awal variable $angka adalah 1,
pengulangan dilakukan sampai nilai variabel $angka mencapai <=10 dengan

Nanang Durahman
26

perhitungan $angka++ yang artinya setiap pengulangan terjadi maka nilai


variabel $awal dijumlahkan dengan nilainya sendiri. Selain dengan
menggunakan $variable++, bisa juga dengan menggunakan $variable+=n. n
adalah nilai pertambahan yang diinginakan.
Coba buat deret bilangan genap ke bawah dari 4 sampai dengan 20.???

VIII. FOREACH
Foreach adalah struktur kontrol pengulangan yang diterapkan pada varibel array.
Kita tidak perlu membatasi jumlah pengulangan karena didasarkan pada jumlah
array. Jika jumlah array adalah 4 maka akan dilakukan pengulangan sebanyak 4
kali.
foreach.php
<?php
$var_array = array(1, 2, 3, 4);
foreach ($var_array as $nilai)
{
$nilai = $nilai * 2;
echo"$nilai &nbsp;";
}
// $var_array sekarang menjadi array(2, 4, 6, 8)
?>

IX. BREAK
Break digunakan untuk keluar dari suatu blok pernyataan pada struktur
for,foreach,do,do-while, dan switch.

break01.php
<?php
$no_hari = 0;
switch($no_hari)
{
case 0:
echo"minggu";
break;
case 1:
echo"senin";
break;
case 2:
echo"selasa";
break;
case 4:
echo"rabu";
break;
case 5:
echo"kamis";
break;
case 6:
echo"jumat";

Nanang Durahman
27

break;
case 7:
echo"sabtu";
break;
}
?>

Untuk membuktikannya coba jadikan komentar untuk semua script break.

X. CONTINUE
continue digunakan dalam proses looping (pengulangan) untuk melewati proses
sehingga pengulangan setelah perintah continue tidak dijalankan.
continue01.php

<?php
for ($i = 0; $i < 10; $i++)
{
if ($i < 8)
{
continue;
}
echo"$i";
}
?>

Tampilan dari script continue01.php adalah angka 8 dan 9. Hasil dari


pengulangan itu adalah angka 0 sampai dengan 9, karena angka 0 – 7 masuk
kedalah blok pernyataan yang mengandung continue, maka dilewati sampai
ketemu nilai pengulangan yang tidak masuk ke dalam blok pernyataan yang
tidak mengandung script continue yaitu angka 8 dan 9.

XI. SWICTH
Seperti pada script break01.php, switch sama halnya dengan pernyataan IF.
Agar proses pencarian nilai yang sudah sesuai dengan ekpresi dihentikan maka
pada setiap case digunakan perintah break;
Untuk lebih jelasnya silahkan lihat script break01.php
XII. REQUIRE()
Require digunakan untuk menggabungkan script php atau file text dari
script/file lain dengan script pemanggilnya.
demo.php
<?php
require"header.php";
?>
Wilujeng Sumping di Website MACAN
<p>
Ini merupakan sebuah website contoh dalam rangka
pembelajaran pemrograman web dengan menggunakan PHP-Apache dan

Nanang Durahman
28

MySQL
<p>
jangan beranggapan PHP itu Sulit karena tidak akan ada yang sulit Selama kita
mencoba untuk bisa
<?php
require"footer.php";
?>

header.php
<html>
<head>
<title>Require()</title>
</head>
<body>
<h1>Website Macan</h1>
Ini adalah contoh sebuah Header
<br>
<hr>
footer.php
<p>&nbsp;
</p>
<hr>
</small>&copy;2007 - Oleh Macan
Tasikmalaya</small>
</body>
</html>

Script require”header.php” yang berada pada file demo.php akan memanggil file
require.php dan script require”footer.php” akan memanggil file footer.php.
Dengan menggunakan pemisahan header isi dan footer seperti layaknya sebuah
dokumen dengan dengan header dan footer, maka apapun isi dari dokumen itu,
maka header dan footer akan tetap dan konsisten. Ketika akan mengadakan
perubahan header dan footer maka hanya dengan sekali perubahan pada header
dan footer tersebut maka seluruh halaman dalam website tersebut akan ikut
berubah pula. Dengan konsep seperti itu maka pemrogram bisa fokus pada isi
dari website itu bukan terhadap tampilannya. Tampilan web site bisa diserahkan
pada designer web, dengan menggunakan tool-tool seperti macromedia
dreamweaver, frontpage dll.

XIII. INCLUDE()
include01.php
<?php
//include"header.php";

Nanang Durahman
29

include"demo.php";
//include"footer.php";
?>

Script include"demo.php"; pada file include01.php akan memanggil file


demo.php. File demo.php berisi script yang memanggil file header dan footer
php.

Nanang Durahman
30

FUNGSI

I. USER-DEFINED FUNCTION (UDF)

UDF adalah fungsi yang dibuat oleh user/pemrogram untuk menyelesaikan


persoalan karena tidak tersedia fungsi built-in.
fungsi_udf_01.php

<?php
function fungsi_pertama()
{
function fungsi_kedua()
{
echo "Saya tidak ada sampai fungsi fungsi_pertama() dipanggil";
}
}
/* Kita belum bisa memanggil fungsi fungsi_kedua
sampai fungsi fungsi_pertama() ada */
//fungsi fungsi_pertama(); dipanggil
fungsi_pertama();
/* Sekarang kita dapat memanggil fungsi fungsi_kedua();
karena fungsi fungsi_pertama() telah ada */
fungsi_kedua();
?>

function fungsi_pertama() berisi fungsi kedua yang akan menampilkan kalimat


“Saya tidak ada sampai fungsi fungsi_pertama() dipanggil”. fungsi_kedua tidak
bisa dipanggil sebelum fungsi pertama dipanggil. Jika hanya fungsi_pertama()
yang dipanggil maka tidak akan menampilkan apa-apa karena kalimat yang akan
ditampilkan berada pada fungsi_pertama();

Fungsi untuk menghitung selisih


fungsi_udf_02.php
<?php
function hitung_selisih($a, $b)
{
if ($a > $b)
{
$selisih = $a - $b;
}
else
$selisih = $b - $a;
return $selisih;

Nanang Durahman
31

$bilangan_1 = 12;
$bilangan_2 = 1;

$hasil = hitung_selisih($bilangan_1, $bilangan_2);


echo"Selisih antara $bilangan_1 dan $bilangan_2 = $hasil";

?>

II. INTERNAL FUNCTION

Fungsi internal adalah fungsi yang disediakan oleh PHP. Misalnya kita ingin
melihat konfigurasi server apache dengan menggunakan fungsi phpinfo();

fungsi_internal01.php
<?php
phpinfo();
?>

Ketika seorang pemrogram akan menampilkan huruf kabital dari A-Z dan
didalam fungsi internal tidak ada fungsi untuk menampilkan itu, maka
pemrogram harus membuat fungsi sendiri berdasarkan fungsi built-in. Didalam
PHP ada fungsi chr yang berfungsi untuk menampilkan huruf ASCII
berdasarkan bilangan.

fungsi_internal02.php
<?php
for($angka = 65;$angka < 91;$angka ++)
{
$huruf = chr($angka);
echo"$angka = $huruf<br>";
}
?>

Hal yang pertama dilakukan adalah membuat urutan bilangan dari 65 sampai 90,
karena angka 65 adalah huruf A. Dengan fungsi chr angka tersebut akan
dikonversi menjadi huruf ASCII. Coba modifikasi angka tersebut sehingga yang
tampil adalah huruf a-z ( a kecil sampai z kecil).

Nanang Durahman
32

PEMROSESAN FILE

File secara umum dibagi menjadi 2, yaitu file yang berisi text (ASCII) dan file
biner (binary). File text (ASCII) misalnya adalah file-file yang telah kita buat
yang berkstension *.php, contoh lainnya adalah file-file dengan ektension txt,html
dll. Sedangkan file biner adalah file program yang disimpan dalam format biner.
Pada bab ini kita akan membahas bagaimana mengolah data yang tersimpan
didalam file dengan ekntension *.txt seperti file telepon.txt dibawah ini yang
menggunakan pemisah dengan menggunakan tabulasi.
telepon.txt
Agus 0265-322684
Macan 08164669720
Ika 0265-337339
Dian 0265-337865
Buyung 08164661616

Pada dasarnya bekerja dengan file mempunyai pola sbb :


1) Membuka file.
2) Memproses file
3) Menutup file
Seperti layaknya bekerja dengan file dokumen yang sudah ada (bayangkan dengan
file MS Word yang sudah ada). Pertama kita harus membuka dokumen,
melakukan input atau edit kemudian menutup file tersebut. Sama halnya jika kita
akan bekerja dengan file teks menggunakan PHP.

I. BUKA/TUTUP FILE

Sintaks untuk membuka file : $variable = fopen(“nama/path file”,”mode


akses”);
Jika file sumber (yang mengandung fopen) berada satu direktori dengan file
yang akan dibuka (misal telepon.txt) maka :
$buka_file = fopen(“telepon.txt”,”r”);

Mode akses terdiri dari ;


Mode Akses Keterangan
r Membaca file
r+ Membaca dan menulis file, pointer di awal file
w Menulis ke dalam file,menghapus data
w+ Membaca dan menulis ke dalam file, pointer di awal file.
a Menyimpan data di awal file, pointer diakhir
a+ Membaca dan menuliskan data, pointer di akhir file.
b Binary, digunakan agar file yang disimpan tidak dibedakan
sebagai teks atau biner.

Nanang Durahman
33

Menutup file
Sintaks : fclose($variable)
$variable disini adalah $variable yang menangani pembukaan file.

II. BACA DATA

fgets()
Sintaks : $var = fgets($variable_buka_file, jumlah_data)
fgets01.php
<?php
$buka = fopen("telepon.txt", "r");

while($ambil = fgets($buka, 25))


{
echo"$ambil<br>";
}
fclose($buka);
?>
Berdasarkan file fgets01.php $variable untuk membuka file adalah $buka dan
variable untuk membaca file telepon.txt adalah $ambil. Angka 25 digunakan
sebagai 25 byte (jumlah data). Jadi fgets() digunakan untuk membaca file baris
per baris sebanyak jumlah data yang didefiniskan dalam ukuran byte.

fread()
Sintaks : $var = fread($variable_buka_file, jumlah_data)
fread akan mebaca data dengan mengabaikan data itu berada dalam satu baris
atau tidak. Fread akan membaca data dalam jumlah data yang didefiniskan dan
langsung menampilkannya. Salin isi file fgets01.php, ubah isi fgets menjadi
fread dan simpan file menjadi fread01.php.’
fread01.php
<?php
$buka = fopen("telepon.txt", "r");

while($ambil = fread($buka, 25))


{
echo"$ambil<br>";
}
fclose($buka);
?>

Lihat perbedaan tampilan antara fgets01.php dan fread01.php. Terdapat


beberapa perbedaan yang disebabkan pola/metode pembacaan data antara fread
dan fgets.

Nanang Durahman
34

fscanf()
Sintaks : list ($var1, $var2 ..... var_n) = fscanf($variable_buka_file, format)

fscanf01.php
<?php
$buka = fopen("telepon.txt", "r");

while(list ($nami, $no_telp) = fscanf($buka, "%s\t%s"))


{
echo"$nami -> $no_telp<br>";
}
fclose($buka);
?>
Karena file telpon.txt terdiri dari dua kolom, bisa dikatakan data dalam file
telpon txt terdiri dari nama dan no telepon. Oleh karena itu kita akan
membuatkan variable baru yaitu $nami dan $no_telp seperti pada file
fscanf01.php. Format “%s/t%s” menandakan ada 2 variable yang diwakili
dengan %s dan dipisahkan dengan tab (simbol /t).

feof()
Sintaks : feof($variable_buka_file)
Feof() digunakan untuk memeriksa apakah file sudah habis terbaca atau belum.
Hasilnya adalah False jika belum habis terbaca dan True jika sudah habis
terbaca.

fgetc()
Digunakan untuk membaca data yang ada didalam file per karakter. (karakter
per karakter). Fungsi fgetc() digunakan untuk pemrosesan data secara khusus.
Sintaks : string = fegtc($variable_buka_file);
kota.txt
Tasikmalaya
Garut
Ciamis

fgetc01.php
<?php
$buka_file = fopen('kota.txt', 'r');
if (!$buka_file)
{
echo 'Tidak bisa buka file kota.txt';
}
else
{
$huruf = 0;

Nanang Durahman
35

$baris = 1;
while (!feof($buka_file))
{
$baca_char = fgetc($buka_file);
if(($baca_char <> " ") && ($baca_char <> "\n") &&
($baca_char <> "\t"))
$huruf++;
if (($baca_char == "\n"))
$baris++;
}
echo "Jumlah huruf = $huruf<br>";
echo "Jumlah baris = $baris<br>";
}
?>

Jumlah huruf sama dengan 23 karena ada penambahan 1 setiap pindah baris
sehingga menjadi 25. Jumlah baris sama dengan 3. \t untuk mengabaaikan spasi,
\n untuk mengabaikan tabulasi.

readfile()
Readfile berfungsi untuk membaca dan langsung menuliskan isi file dalam
bentuk standar output.
Sintaks : $var = readfile(“nama_file”);
Misal : $buka = readfile(“telepon.txt”);
readfile01.php
<?php
$buka = readfile("telepon.txt");
echo"$buka";
?>
Berbeda dengan fopen(), readfile bisa melakukan beberapa proses sekaligus
yaitu membuka dan membaca. Baris pertama membuka dan membaca, baris
kedua menuliskan hasil pembacaan kedalam standar output.

III. MENULIS KE DALAM FILE

Sintaks : fpust($var_buka_file, nama_file);


Misal : fputs($buka_file, $isinya);
Ketika akan menuliskan data kedalam sebuah file, perlu diperhatikan mode
penulisan data agar tidak terjadi kesalahan yang sangat fatal, misalnya data anda
menjadi hilang.

fputs01.php
<?php
$nama_file = "lat_tulis01.txt";
$isinya = "Agus, Tasikmalaya, 08164669720";
$buka_file = fopen($nama_file,"w");

Nanang Durahman
36

fputs($buka_file, $isinya);
fclose($buka_file);

echo" berhasil membuat file teks dengan nama : $nama_file <br>";


echo" Data yang dituliskan : $isinya";
?>
Scrip fputs01.php akan membuat file dengan nama lat_tulis01.txt dan
menuliskan “Agus, Tasikmalaya, 08164669720” kedalam file lat_tulis01.txt
tersebut.

fputs02.php
<?php
$nama_file = "lat_tulis01.txt";
$isinya = "Agus, Tasikmalaya, 0265-322684 ";
$buka_file = fopen($nama_file,"w");
fputs($buka_file, $isinya);
echo" Data yang dituliskan : $isinya<br>";
fputs($buka_file, $isinya);
echo" Data yang dituliskan : $isinya<br>";
fclose($buka_file);

echo" Berhasil membuat file teks dengan nama : $nama_file <br>";


?>
Script fputs02.php akan menuliskan data sebanyak 2 kali ke dalam file
lat_tulis01.txt yang sebelumnya berisi data “Agus, Tasikmalaya, 08164669720”,
kemudian setelah script/file fputs02 dijalankan makan file lat_tulis.txt akan
berubah isinya. Mode “w” digunakan untuk membuat data baru dan membuang
data yang lama. Penulisan data tidak pindah baris tetapi langsung ke kanan,
untuk mengantisipasi agar penulisan data pindah baris maka digunakan karakter
ganti baris “\n”.
Coba disebelah mana kita menyisipkan karakter ganti baris tersebut.?
Coba gunakan mode “a”? Apa yang akan terjadi ?.

IV. PEMERIKSAAN FILE

Pemerikasaan file meliputi : ada atau tidaknya file yang didefiniskan, atributnya
(apakah bisa ditulis atau tidak). Hal ini sangat penting bagi programmer untuk
melakukan tindakan berikutnya terhadap file tersebut, apakah akan ditimpa atau
ditulis ulang.

file_exists();
<?php
$nama_file = "lat_tulis01.txt";
if(file_exists($nama_file))
{
echo" file $nama_file sudah ada";

Nanang Durahman
37

}
else
{
echo" file $nama_file belum ada";
}
?>
Hasil dari pemeriksaan file menggunakan script file_exists01.php adalah “file
lat_tulis01.txt sudah ada” hal ini dikarenakan file lat_tulis01.txt sudah ada dan
berada satu direktori dengan file yang memeriksanya (file_exists01.php).

copy();
Sintaks : copy($file_lama, $hasil_kopian);
copy_file01.php
<?php
$file_lama = 'lat_tulis01.txt';
$hasil_kopi = 'lat_tulis02.txt';

if (!copy($file_lama, $hasil_kopi))
{
echo "File $file_lama gagal di kopi...\n";
}
else
{
echo"file $file_lama berhasil dikopi ke $hasil_kopi";
}
?>
Dari script copy_file01.php diproses suatu penduplikatan file yaitu file
lat_tulis01.txt ke lat_tulis02.txt. Prosesnya sama seperti copy-paste di windows
explorer.

disk_free_space();
$var = disk_free_space(“C:”);
misal : $c = disk_free_space("C:");
Digunakan untuk mengetahui total spasi kosong pada tiap drive atau partisi di
windows dan linux.

disk_free_space01.php
<?php
$c = disk_free_space("C:");
$d = disk_free_space("D:");
echo"yang masih kosong di c : $c<br>";
echo"yang masih kosong di d : $d";
?>
Untuk melihat kebenaran nilai yang diberikan yaitu dengan melihat free space di
msdos dengan mengetikan < dir > bukan di windows explorer.

Nanang Durahman
38

filesize();
Digunakan untuk mengetahui ukuran dari suatu file yang didefinisikan didalam
script (dalam bytes)

filesize01.php
<?php

// misal keluarannya kota.txt: 1024 bytes

$filename = 'kota.txt';
echo $filename . ': ' . filesize($filename) . ' bytes';

?>

is_writable()
Digunakan untuk mengetahui apakah atribut file yang didefinisikan bisa ditulis
atau tidak (read only)
Kopikan file kota.txt dan rename menjadi kota2.txt. Ubah propertinya menjadi
read only.

is_writable01.php
<?php
$filename = 'kota2.txt';
if (is_writable($filename)) {
echo 'Bukan Read Only';
} else {
echo 'Read only';
}
?>

Tugas : Temukan fungsi lain yang berhubungan dengan pengolahan file.


Misalnya membuat direktori, menghapus file dll. Minimal 5 fungsi dan contoh
scriptnya.

Nanang Durahman
39

PENGOLAHAN DATA DARI FORM

FORM

Form sering juga disebut formulir. Dalam halaman web form biasa digunakan
untuk mengirimkan data yang diinputkan oleh user ke server. Data tersebut akan
diolah oleh server atau dimasukan ke dalam database. Proses validasi form bisa di
dua sisi yaitu sisi klien dan server. Pada sisi klien bahasa pemrograman yang
paling populer adalah javascript. Pada sisi server kita gunakan PHP. karena kita
membahas PHP maka validasi yang digunakan adalah disisi server.

GET
Get merupakan metode pengiriman data dari klien ke server dengan
menampilakan variable dan nilai di sisi kliennya.
get01.html
<form action='get01.php' method='get'>
Nama: <input type='text' name='nama'><br>
Email: <input type='text' name='email'><br>
<input type='submit' name='kirim' value='KIRIM'>
</form>

get01.php
<?php
// Berlaku dari PHP 4.1.0 keatas

echo 'Cara 1 :'. $_GET['nama'].'&nbsp; dan &nbsp;'.


$_GET['email'];
echo"<br>";
echo 'Cara 2 :'.$_REQUEST['nama'].'&nbsp; dan &nbsp;'.
$_REQUEST['email'];
echo"<br>";
echo 'Cara 3 :'.$HTTP_GET_VARS['nama'].'&nbsp; dan &nbsp;'.
$HTTP_GET_VARS['email'];

?>
get01.html merupakan halaman formulir yang diisi oleh klien untuk dikirimkan ke
server.
Data yang akan dikirim dalam satu kali pengiriman berada dalam tag
<form> .... </form>. Lihat pada script/file get01.html.

<form action='get01.php' method='get'> » artinya form yang berada


didalam script get01.html dan berada didalam tag <form>...</form> akan
dikirimkan ke server dan diolah oleh file yang didefinisikan setelah action, dalam
script ini yaitu get01.php dengan methode get.

Nama: <input type='text' name='nama' /><br /> » artinya Nama :


merupakan tulisan yang akan ditampilkan di halaman web. type=’text’ merupakan
tipe tulisan yang berlaku didalam form, name=’nama’ merupakan variable yang
akan dikirim adalah nama. Type submit merupakan tombol dengan nama variable

Nanang Durahman
40

yang berada sesudah name (kirim) dan tulisan yang berada didalam tombol
didefiniskan setelah value (KIRIM).
Untuk memperindah tampilan formulir, bisa menggunakan tabel. Berikut adalah
contoh formulir dengan beberapa type.

get02.html
<form method='get' action='get02.php'>
<table width='450' border='0' bgcolor=#FFFCCC>
<!-- Baris 1 -->
<tr><td width='125'>Username</td><td width='5'>:</td><td><input
type='text' name='nama_user' size='12' maxlength='30' ></td></tr>
<!-- Baris 2 -->
<tr><td>Password</td><td>:</td><td><input type='password'
name='kata_kunci' size='30' maxlength='12'></td></tr>
<!-- Baris 3 -->
<tr><td>Jenis Kelamin</td><td>:</td><td><input type='radio'
name='jk' value='L'>Laki-laki <input type='radio' name='jk'
value='P'>Perempuan</td></tr>
<!-- Baris 4 -->
<tr><td>Hobi</td><td>:</td><td><input type='checkbox'
name='hobi1' value='sport'>Olahraga <input type='checkbox'
name='hobi2' value='mancing'>Mancing<input type='checkbox'
name='hobi3' value='dugem'>Dugem</td></tr>
<!-- Baris 5 -->
<tr><td>Jurusan</td><td>:</td><td>
<SELECT NAME='jurusan'>
<OPTION value='' SELECTED>----- Pilih Jurusan ----- </OPTION>
<OPTION value='ti'>Teknik Informatika</OPTION>
<OPTION value='mi'>Managemen Informatika</OPTION>
</SELECT>
</td></tr>
<!-- Baris 6 -->
<tr><td></td><td></td><td><INPUT NAME=login TYPE=image
VALUE=login src='tombollogin.gif' width='68'
height='20'></td></tr>
</table>
</form>

get02.php
<?php
$nama_user = $_GET['nama_user'];
$kata_kunci = $_GET['kata_kunci'];
$jk = $_GET['jk'];
$hobi1 = $_GET['hobi1'];
$hobi2 = $_GET['hobi2'];
$hobi3 = $_GET['hobi3'];
$jurusan = $_GET['jurusan'];

?>

<table width='450' border='0' bgcolor=#FFFCCC>


<!-- Baris 1 -->
<tr><td width='125'>Username</td><td width='5'>:</td><td><?php
echo $nama_user ?></td></tr>

Nanang Durahman
41

<!-- Baris 2 -->


<tr><td>Password</td><td>:</td><td><?php echo $kata_kunci
?></td></tr>
<!-- Baris 3 -->
<tr><td>Jenis Kelamin</td><td>:</td><td><?php echo $jk
?></td></tr>
<!-- Baris 4 -->
<tr><td>Hobi 1</td><td>:</td><td><?php echo $hobi1 ?></td></tr>
<!-- Baris 5 -->
<tr><td>Hobi 2</td><td>:</td><td><?php echo $hobi2 ?></td></tr>
<!-- Baris 6 -->
<tr><td>Hobi 3</td><td>:</td><td><?php echo $hobi3 ?></td></tr>
<!-- Baris 7 -->
<tr><td>Jurusan</td><td>:</td><td><?php echo $jurusan
?></td></tr>
<!-- Baris 6 -->
</table>

Latihan ......
1) Salin get02.html menjadi post01.html dan get02.php menjadi post01.php
2) Ubah metode pada post01.html menjadi POST dan actionnya ke post01.php,
lakukan juga perubahan pada file post01.php.
3) Bagaimana hasilnya dengan membandingkan dengan metode get

Tugas
1) Buatlah sebuah modul buku tamu dengan dengan 4 buah file :
a) menu.html => sebagai menu utama untuk memilih antara lihat buku
tamu dan isi buku tamu.

b) input_bktm.html => berguna sebagai form masukan dari user

Nanang Durahman
42

c) bukutamu.php => sebagai tempat memproses masukan dari user


dan menyimpannya ke dalam file bukutamu.txt.

d) lihat_bktm.php => file yang digunakan untuk melihat isi buku tamu

e) bukutamu.txt => tempat meyimpan data buku tamu

2) Ke 4 file di zip/rar menjadi misal : bukutamu_32040023.rar/zip.


3) Kirim ke kategori <kirim file tugas dan latihan> sub bagian PHP.

Nanang Durahman
43

PHP-MySQL

I. SEKILAS MySQL

MySQL adalah software database yang populer di lingkungan Linux dan sudah
sifatnya yang open source, gratis dan kecepatan query.
Setiap sistem informasi memilki paket-paket setup MySQL yang telah
terintegrasi dengan sistem operasinya.
Paket distribusi MySQL terdiri atas komponen-komponen
1. Server MySQL, merupakan komponen yang menjadi inti dari MySQL
sebagai engine dan menyediakan akses kepada database
2. Program klien untuk mengakses kepada server. Program interaktif yang
memungkinkan kita untuk melakukan query dan memanipulasi data dan
kemudian melihat hasilnya secara langsung
3. Sekumpulan library ubtuk menulis program yang mengakses server
nerupakan library fungsi yang dapat digunakan untuk membuat
program.klien sendiri dengan menggunakan bahasa C, karena library yang
disediakan dalam bahasa C. Sebenarnya bisa juga digunakan oleh bahasa
pemrograman lain.

a) Platform MySQL
Database MySQL tersedia untuk banyak sistem operasi. Berikut adalah
daftar sistem operasi yang mempunyai distribusi binary nya. Artinya
mendukung MySQL.
1. Linux RedHat
2. Windows (95/98/ME/NT4/2000/XP)
3. OS/2
4. Berbagai varian UNIX seperti MacOS X, HP-UX, Intel-optimized
Linux, FreeBSD, SGI Irix dan Alpha Based Linux.
Sistem operasi lain yang tidak mempunyai distribusi binarynya dapat
melakukan kompilasi sendiri untuk membuat binarynya, mungkin perlu
membuat perubahan – perubahan agar hasilnya dapat dijalankan dan
digunakan karena source program dari MySQL dapat didownload dan
dikembangkan sesuai dengan kebutuhan sendiri.

b) Download MySQL
MySQL dapat diperoleh dengan mudah di Internet, setiap yang berminat
menggunakan MySQL dapat mengakses http://www.mysqll.com/download.
Pilih paket MySQL sesuai dengan sistem operasi yang akan digunakan pada
komputer server database yang anda siapkan.
Pada situs web MySQL ada informasi paket MySQL yang stabil (stable) dan
yang release, atau alpha/beta, pilihlah yang stabil, karena paket ini telah
dicoba dan diuji oleh banyak pemakai di seluruh dunia, mempunyai sedikit
sekali bug, dan tidak menyebabkan ‘hang’ pada saat dijalankan.

Nanang Durahman
44

c) Struktrur Direktori Database MySQL


MySQL secara default akan dipasang dalam drive dimana kita
menginstallkan xampplite dengan direktori C.\xampplite\mysql\ (dengan
asumsi kita mengintall xampplite di drive C ) pada sistem operasi Windows,
baik Windows XP, baik Windows 98/ME atau pun NT4/2000. Direktori ini
bisa saja diubah sesuai dengan keinginan dari administrator sistem, dalam
modul ini dibahas menggunakan setting default software MySQL.
Berikut adalah struktur direktori MySQL :
\ bin
\ data
\ backup
\ share

Direktori yang paling penting dalam struktur direktori mysql di atas adalah
direktori bin dan data. Di dalam subdirektori bin merupakan direktori yang
menyimpan semua program database MySQL, sedangkan suddirektori data
digunakan untuk menyimpan data bagi setiap database. Setiap database
MySQL direpresentasikan sebagai sebuah direktori di dalam subdirektori
data ini.

Di direktory mysql\bin terdapat beberapa file pendukung lainnya salah


satunya adalah beberapa varian mysqld
 Mysqld.exe
 Mysqld-nt.exe
 Mysqld-max.exe
 Mysqld-max-nt.exe
Mysqld tanpa -nt adalah server mysql yang berjalan di windows 98/98/ME.
Sedangkan yang menggunakan -nt digunakan untuk dijalankan pada
windows NT/2000/XP.
Mysql dengan max menunjukkan mysql yang telah dilengkapi dengan
kemampuan penanganan transaksi (seperti commit dan rollback) yang
menggunakan table InnoDB dan BDB.

II. MEMBUAT DATABASE DAN TABEL

Bukalah Command Prompt melalui Start Menu + Program + Accessories +


Command Prompt atau dari start menu + run (ketikan cmd untuk windows
xp). Maka akan tampil layar seperti berikut dan ikuti perintah seperti yang ada
di gambar.

Nanang Durahman
45

Untuk password coba jangan diisi (langsung tekan enter).


Langkah langkah membuat database php dan tabel mhs

1) create database php; => digunakan untuk meciptakan database php


2) user php => digunakan untuk mengaktifkan database php
3) create table mhs(nim int(8) primary key not null, nama varchar(30)); =>
digunakan untuk meciptakan tabel mhs dengan 2 kolom yaitu nim type
datanya integer dengan maksimal 8 digit tidak boleh sama (primary key)
dan nama dengan type data varchar maksimal 30 karakter.
Langkah-langkah untuk mengiputkan data dan melihat data :

Nanang Durahman
46

1) insert into mhs(nim,nama)values(32050001,'Agus R'); => digunakan


untuk memasukan data 32050001 ke kolom nim dan Agus R ke kolom
nama.
2) select * from mhs; => digunakan untuk melihat data yang ada di dalam
tabel mhs di semua kolom.

III. KONEKSI PHP-MYSQL

Sebelum melakukan pemrosesan data yang ada di dalam database, kita harus
melakukan koneksi terlebih dahulu dengan server database. Informasi yang
diperlukan untuk melakukan koneksi terhadap database adalah :
1) Nama komputer server database atau IP address server database
2) User dan password yang ada pada server database

Script php untuk melakukan koneksi ke database adalah sebagai berikut :


$konek = mysql_connect(“nama_komp/ip_address”,”user”,”password”);

test_konek.php
<?php
$konek = mysql_connect(“localhost”,”root”,””);
if($konek)
{
Echo”KONEKSI BERHASIL”;
}
Else
Echo”KONEKSI GAGAL”;
?>

$konek merupakan variable yang berisi scrip koneksi php-mysql, Jika terdapat
error berarti ada kesalahan pada 3 paramater sesudah mysql_connect ; nama
komputer, user dan password.

IV. MENAMPILKAN DATA DARI DATABASE

Jika koneksi ke database berhasil langkah berikkutnya adalah memilih database


dan melakukan query terhadap tabel-tabel yang ada di database.

Nanang Durahman
47

tampil_data.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
While($kolom = mysql_fetch_array($cari))
{
echo"$kolom[nim] &nbsp; $kolom[nama]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>
Hasilnya :

Keterangan script
$db = mysql_select_db("php"); => Memilih database
$cari = mysql_query("select * from mhs"); => query terhadap tabel
mhs.
While($kolom = mysql_fetch_array($cari))
{
echo"$kolom[nim] &nbsp; $kolom[nama]<br>";
}

Karena hasil query dengan menggunakan variable $cari menghasilkan data yang
banyak maka digunakan mysql_fetch_array. Bagaimana jika yang kita
kehendaki adalah menampilakan data-tertentu. Misal :

Nanang Durahman
48

Dengan query select * from mhs; kita hanya ingin menampilkan nama Agus R
saja.
tampil_data02.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
$hasil = mysql_result($cari,0,1);
echo"$hasil";
}
else
echo"KONEKSI GAGAL";
?>

Keterangan script tampil_data02.php


$hasil = mysql_result($cari,0,1); => digunakan untuk menampilkan data
berdasarkan baris dan kolom, berarti baris 0 kolom 1.

Kolom 0 Kolom 1
Baris 0 32050001 Agus R
Baris 1 32050002 Ahmad S
Agus R berada pada baris 0 kolom 1 sehingga $hasil = mysql_resul($cari,0,1);
Ahmad S berada pada baris 0 kolom 1 sehingga $hasil = mysql_resul($cari,1,1);

Nanang Durahman
49

V. MENCARI DATA

cari_data01.html
<form method='post' action='cari_data01.php'>
<table width='400' border='0' bgcolor=#FFFCCC>
<!-- Baris 1 -->
<tr><td width='100'>Nama</td><td width='5'>:</td><td><input
type='text' name='nama' size='12'></td></tr>
<tr><td></td><td></td><td><INPUT NAME=login TYPE=submit
VALUE=CARI></td></tr>
</form>

cari_data01.php
<?php
$nama = $_POST['nama'];
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs where nama
like'$nama%'");
While($kolom = mysql_fetch_array($cari))
{
echo"$kolom[nama] &nbsp; $kolom[nim]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>

Modifikasi hanya terjadi pada proses penangkapan variable yang dikirimkan


oleh file/script cari_data01.html yaitu : $nama = $_POST['nama']; dan
memodifikasi query menjadi select * from mhs where nama like’$nama%’.
Penggunaan like’$nama%’ adalah mencari data yang hanya disesuaikan dengan
awalannya saja. Misal kita hanya memasukan nama a, maka akan dicari ke

Nanang Durahman
50

dalam database nama yang awalannya a dan apapun kata sesudah a akan
diabaikan.

VI. MENGUBAH DATA

Dengan memodifikasi file tampil_data menjadi tampil_data03.php


tampil_data03.php
<?php
$edit = $_POST['edit'];
$nim = $_POST['nim'];
$nimna = $_POST['nimna'];
$namana = $_POST['namana'];
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
if($edit == 'EDIT')
{
mysql_query("update mhs set nim='$nimna',nama='$namana'
where nim='$nim'");
}
$cari = mysql_query("select * from mhs");
echo"<table border='1'>";
While($kolom = mysql_fetch_array($cari))
{
echo"<tr><td>$kolom[nim]</td><td>$kolom[nama]</td><td><a
href='edit_data03.php?nim=$kolom[nim]'>Edit</a></td></tr>";
}
echo"</table>";
}
else
{
echo"KONEKSI GAGAL";
}
?>

Tampilannya

Nanang Durahman
51

Keterangan Script
$edit = $_POST['edit'];

Variabel $edit merupakan variable yang dikirim oleh script yang mengandung
action ke tampil_data03.php dengan method=’POST’.

<a href='edit_data03.php?nim=$kolom[nim]'>Edit</a>

Menampikan huruf EDIT yang merupakan link ke script/file


edit_data03.php?nim=<yang didifenisikan oleh database>. Nilai nim akan
berubah-ubah sesuai dengan data yang ada di variable $kolom[nim]

Untuk lebih jelasnya kita lihat script yang mengirim formulir karena script
tampil_data03.php melakukan dua proses : Menampilkan data dan melakukan
proses pemasukan data dari form ke database.

edit_data03.php
<?php
$nim = $_GET['nim'];
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
$cari = mysql_query("select * from mhs where nim='$nim'");
$hasil = mysql_result($cari,0,1);
?>
<form method='post' action='tampil_data03.php'>
<table width='450' border='0'>
<input type='hidden' name='nim' value='<?php echo $nim; ?>'>
<!-- Baris 1 -->
<tr><td width='60'>NIM</td><td width='5'>:</td><td><input
type='text' name='nimna' size='12' value='<?php echo $nim;
?>'></td></tr>
<!-- Baris 2 -->
<tr><td>Nama</td><td>:</td><td><input type='text' name='namana'
size='12' value='<?php echo $hasil; ?>'></td></tr>
<tr><td></td><td></td><td><INPUT type=submit NAME=edit
VALUE=EDIT></td></tr>
</table>
</form>

Ketika kita menekan tombol EDIT untuk ‘Agus R’ maka link/address akan
menunjukkan edit_data03.php?nim=32050001. Seperti dibahas sebelumnya
proses ini ditangkap oleh edit_data03.php dengan metode GET. Lihat di file
edit_data03.php.
$nim = $_GET['nim'];
Script ini yang nenangkap variable dan nilainya.
$nim = ‘32050001’
Kemudian dicari ke database data-data yang nim nya 32050001
$cari = mysql_query("select * from mhs where nim='$nim'");

Nanang Durahman
52

Karena hasil dari SQL (select * from mhs where nim=’32050001’) merupakan 2
dua buah kolom yaitu nim dan nama dan yang akan kita ambil adalah nama
maka :
$hasil = mysql_result($cari,0,1);
Jadi yang dipakai adalah baris 0 kolom 1
Sehingga :
$nim = ‘32050001’
$hasil = ‘Agus R’

Pada saat menampilkan data di file edit_data03.php terjadi perubahan paramater


yang akan dikirimkan ke file yang didefinisikan di action (dalam kasus ini ke
file tampil_data03.php.
Ada dua isian : NIM dan Nama, NIM bernilai sesuai dengan variable $nim dan
nama bernilai sesuai dengan $nama. Paramater untuk NIM adalah $nimna (lihat
di property name) dan Nama adalah $namana, sedangkan variable $nim
dikirimkan dengan type disembunyikan.
Agar perubahan data hanya terjadi pada NIM yang disebutkan maka variable
$nim yang belum mengalami perubahan dikirimkan juga ke file yang
memrosesnya. Agar tidak ditampilan maka type=’hidden’.
Proses ini berlaku jika yang kita klik adalah EDIT untuk nama ‘Akhmad S’

Tugas
Buatlah satu opsi lagi disamping EDIT, yaitu DELETE yang berfungsi untuk
menghapus data. File yang akan memrosesnya adalah delete_data03.php.
Ketentuan proses, ketika DELETE diklik maka akan tampil pilihan “Ya dan
Tidak” jika “ya” maka data terhapus dan proses masuk ke tampil data dan jika
“tidak” data tidak terhapus dan masuk ke tampil data

VII. VALIDASI USER DAN PASSWORD

Buatlah sebuah table pengguna di database php dengan dua buah kolom yaitu :
nama_user dan kata_kunci

Nanang Durahman
53

SQL :
create table pengguna (nama_user varchar(10) primary key not
null, kata_kunci varchar(32));
insert into pengguna(nama_user, kata_kunci) values ('agus',
MD5('manis'));
select * from pengguna;
mysql> select * from pengguna;

+-----------+----------------------------------+
| nama_user | kata_kunci |
+-----------+----------------------------------+
| agus | 5ef3b52bf2d948fb88bd38aa5e244246 |
+-----------+----------------------------------+

nama_user=agus
kata_kunci=manis

Lihat bahwa kata_kunci dienkripsi dengan menggunakan MD5 sehingga


password/kata_kunci yang disimpan didatabase tidak akan diketahui oleh orang
lain dan hanya si user saja yang tahu.
Lalu bagaimana vrifikasinya:
SQL nya :
select count(*) from pengguna where nama_user=’agus’ and
kata_kunci=md5(’manis’);
Perintah ini kana menghasilkan angka 1 jika benar dan angka 0 jika salah. Coba
ganti salah satu nama_user dan atau kata_kunci menjadi :
select count(*) from pengguna where nama_user=’agus’ and
kata_kunci=md5(’anis’);
Maka akan menghasilkan angka 0 karena kata_kuncinya salah.

login.html
<form method='post' action='login.php'>
<table width='300' border='0'>
<!-- Baris 1 -->
<tr><td width='100'>USER</td><td width='5'>:</td><td><input
type='text' name='nama_user' size='10'></td></tr>
<tr><td width='100'>PASSWORD</td><td width='5'>:</td><td><input
type='password' name='kata_kunci' size='12'></td></tr>
<tr><td></td><td></td><td><INPUT NAME=login TYPE=submit
VALUE=LOGIN></td></tr>
</form>
Tampilannya

Nanang Durahman
54

login.php
<?php
$nama_user = $_POST['nama_user'];
$kata_kunci = $_POST['kata_kunci'];
$login = $_POST['login'];
//koneksi
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
if($login == 'LOGIN')
{
$cek = mysql_query("select count(*) from pengguna where
nama_user='$nama_user' and kata_kunci=md5('$kata_kunci')");
$hasil_cek = mysql_result($cek,0,0);
if($hasil_cek == '1')
{
echo"User dan Password betul";
}
else
{
echo"Tidak Berhak";
}
}

}
else
{
echo"KONEKSI GAGAL";
}
?>
Ada tiga parameter yang dikirimkan login.html :
$_POST['nama_user'];
$_POST['kata_kunci'];
$_POST['login'];

Ketiga dibuatkan variable menjadi :


$nama_user = $_POST['nama_user'];
$kata_kunci = $_POST['kata_kunci'];
$login = $_POST['login'];

Ketika tombol LOGIN ditekan


if($login == 'LOGIN')
{
$cek = mysql_query("select count(*) from pengguna where
nama_user='$nama_user' and kata_kunci=md5('$kata_kunci')");

//script lain free memory


}
Variable $cek akan mencari kedalam database apakah nilainya 1 atau 0.

Nanang Durahman
55

VIII. BUKU TAMU

Tugas : membuat buku tamu seperti bukutamu yang menggunakan file teks.
Syarat....data disimpan di database MySQL.

IX. PAGINATION (PENGHALAMAN)

Penghalaman berfungsi untuk menggulung halaman agar data yang ditampilkan


tidak terlalu banyak ke bawah. Misal : ada data sebanyak 108 baris dan akan
ditampilkan sebanyak per 10 baris.
pagination.php
<?php
$awal = $_GET['awal'];
$page = $_GET['page'];
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
if(empty($awal))
{
$awal = 0;
}
echo"<table width='500' border='1'>";
echo"<tr><th colspan='4' align='left'>Halaman :
$page</th></tr>";
echo"<tr><th>No</th><th>Kode</th><th>Nama Mata
Kuliah</th><th>sks</th></tr>";
$cari = mysql_query("select * from mk limit $awal,10");
While($kolom = mysql_fetch_array($cari))
{
echo"<tr><td>$kolom[no]</td><td>$kolom[kd_mtkul]</td>
<td>$kolom[nama_mtkul]</td><td>$kolom[sks]</td></tr>";
}
$cari2="SELECT * FROM mk";
$hasil=mysql_query($cari2);
$jumlah=mysql_num_rows($hasil);
$i=$jumlah/10;
$i=ceil($i);
echo"<tr><td colspan='4' align='left'>";
echo("<font face='times new roman' size='2'>");
echo("Halaman : &nbsp;");
for($j=1;$j<=$i;$j++)
{
$awal=(($j-1)*9+$j)-1;
//echo"$awal &nbsp;";
echo("<a href='pagination.php?awal=$awal&page=$j'>
$j &nbsp ");
}
echo"</td></tr>";
echo"</table>";
}
else
echo"KONEKSI GAGAL";
?>

Nanang Durahman
56

Penjelasan script.
$awal = $_GET['awal'];
$page = $_GET['page'];

digunakan untuk menangkap parameter yang dikirimkan oleh script


pagination.php yang berada di <a href='pagination.php?awal=$awal&page=$j'>

if(empty($awal))
{
$awal = 0;
}

Jika variabel $awal belum memiliki nilai maka nilai dari $awal=0;

$cari = mysql_query("select * from mk limit $awal,10");

Karena $awal = 0, maka “select * from mk limit 0,10” artinya menampilkan


data sebanyak 10 dimulai dari data ke 0. (0 artinya data pertama).

output :

Nanang Durahman
57

X. FUNGSI-FUNGSI MYSQL

1) mysql_affected_rows

Perhatikan tulisan 1 row affected, ketika terjadi satu proses penginputan


data, maka akan diinformasikan jumlah baris yang bertambah. Begitu juga
dengan proses perubahan dan penghapusan.
1 row affected artinya 1 baris berubah (bertambah/berkurang/termodifikasi)

mysql_affected_rows.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek)
{
die('Gak Konek: ' . mysql_error());
}
mysql_select_db('php');
$ubah = mysql_query("update mhs set nama='Macan' where
nama='Agus R'");
echo"Jumlah Data Yang Diubah : ", mysql_affected_rows();
?>

Penjelasan script :

if (!$konek)
{
die('Gak Konek: ' . mysql_error());
}
Jika ada yang salah dengan $koneksi (host,user dan password) maka akan
ditampilkan pesan errornya.

$ubah = mysql_query("update mhs set nama='Macan' where


nama='Agus R'");

Nanang Durahman
58

Variable $ubah akan mengubah data yang namanya “Agus R” di table mhs
kolom nama dengan “Macan”

echo"Jumlah Data Yang Diubah : ", mysql_affected_rows();

Karena hanya ada satu nama “Agus R” yang akan diubah menjadi macan
maka nilai mysql_affected_rows adalah 1.

2) mysql_close

mysql_close tidak begitu penting karena mysql_connect() akan langsung


memutus hubungan ke database server secara otomatis.

mysql_close.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
echo 'Berhasil Konek';
mysql_close($konek);
?>

3) mysql_connect

mysql_connect berfungsi untuk membuka koneksi ke database mysql,.

mysql_connect01.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
echo 'Berhasil Konek';
mysql_close($konek);
?>

mysql_connect02.php
<?php
$konek = mysql_connect('detik.com:3306', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
echo 'Berhasil Konek';
mysql_close($konek);
?>

mysql_connect03.php
<?php
$konek = mysql_connect('127.0.01:3306', 'root', '');

Nanang Durahman
59

if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
echo 'Berhasil Konek';
mysql_close($konek);
?>

mysql_connect01.php dan mysql_connect03.php bisa konek ke database


karena localhost bisa diwakilkan dengan 127.0.0.1 sedangkan 3306 adalah
port yang digunakan mysql.
mysql-connect02.php gak bisa konek karena koneksi ke situs atau komputer
detik.com tidak bisa, Uknown Server berarti server tidak bisa ditemukan.

4) mysql_error

mysql error berfungsi untuk menampilkan error yang disebabkan kesalahan


dalam database mysql. Error ini akan ditangkap oleh php dan ditampilkan
dalam browser.

mysql_error.php
<?php
$konek = mysql_connect('127.0.01:3306', 'root', '');
$konek_ke_db = mysql_select_db('administrasi');
if (!$konek_ke_db) {
die('Gak Konek : ' . mysql_error());
}
echo 'Berhasil Konek';
mysql_close($konek);
?>

Jika didalam database mysql tidak ada database dengan nama ‘administrasi’
maka mysql_error akan bernilai Unknown database 'administrasi'

5) mysql_fetch_array

Menampilkan data dalam bentuk arry asosiatif, aray nomor atau keduanya.
mysql_fetch_array01.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
While($kolom = mysql_fetch_array($cari, MYSQL_ASSOC))
{
echo"$kolom[nim] &nbsp; $kolom[nama]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>

Nanang Durahman
60

mysql_fetch_array02.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
While($kolom = mysql_fetch_array($cari, MYSQL_NUM))
{
echo"$kolom[0] &nbsp; $kolom[1]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>

mysql_fetch_array03.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
While($kolom = mysql_fetch_array($cari, MYSQL_BOTH))
{
echo"$kolom[0] &nbsp; $kolom[nama]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>

6) mysql_fetch_assoc

Menampilkan data dalam bentuk array asosiatif


mysql_fetach_assosc.php
<?php
$konek = mysql_connect("localhost","root","");
$db = mysql_select_db("php");
if($konek)
{
$cari = mysql_query("select * from mhs");
While($kolom = mysql_fetch_assoc($cari))
{
echo"$kolom[nim] &nbsp; $kolom[nama]<br>";
}
}
else
echo"KONEKSI GAGAL";
?>

Nanang Durahman
61

7) mysql_fetch_field

Untuk menampilkan informasi atau metadata kolom dalam tabel yang


didefiniskan oleh query.

mysql_fetch_field.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
mysql_select_db('php');
$hasil = mysql_query('select * from mhs');
if (!$hasil) {
die('Query gagal : ' . mysql_error());
}
/* mengambil metadata kolom */
$i = 0;
while ($i < mysql_num_fields($hasil))
{
echo "Informasi untuk kolom ke-$i:<br />\n";
$meta = mysql_fetch_field($hasil, $i);
if (!$meta)
{
echo "Tidak ada informasi tersedia <br />\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
default: $meta->def
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($hasil);
?>

8) mysql_fetch_row

Menampilkan data dalam bentuk aray enumerasi.

Nanang Durahman
62

mysql_fetch_row.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
mysql_select_db('php');
$hasil = mysql_query("SELECT nama,nim from mhs where nim
like'3%'");
if (!$hasil) {
echo 'Query gagal : ' . mysql_error();
exit;
}
$row = mysql_fetch_row($hasil);

echo"$row[0] &nbsp; $row[1]";

?>

Latihan : Buatlah sebuah file dengan nama mysql_fetch_row01.php, yang


bisa menampilkan semua data dari query pada $hasil di file
mysql_fetch_row.php.

9) mysql_num_fields

Menampilkan jumlah kolom yang didefiniskan oleh mysql_query

mysql_num_fields.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());
}
mysql_select_db('php');
$hasil = mysql_query("SELECT * from mhs");
echo mysql_num_fields($hasil);
?>

Output : 2
Karena jumlah kolom di tabel mhs adalah 2 dan sesuai dengan “select *
from mhs” yang artinya tampilkan semua table dalam tabel mhs.

10) mysql_num_rows

Menampilkan jumlah baris yang didefiniskan oleh mysql_query


mysql_num_rows.php
<?php
$konek = mysql_connect('localhost', 'root', '');
if (!$konek) {
die('Gak Konek : ' . mysql_error());

Nanang Durahman
63

}
mysql_select_db('php');
$hasil = mysql_query("SELECT * from mhs where nim
like'%1'");
$jml_baris = mysql_num_rows($hasil);

echo" jumlah baris data : $jml_baris baris";


?>

Outpunya : 1
Karena “select * from mhs where nim like’%1’ artinya menampilkan data
yang nim nya diakhiri dengan angka 1.

11) mysql_query

Melakukan permintaan (query) terhadap tabel didalam database)

12) mysql_result

Menampilkan hasil query

mysql_result01.php
<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db('php');
$result = mysql_query('SELECT * from mhs');
if (!$result) {
die('Could not query:' . mysql_error());
}
echo mysql_result($result, 0,1); //baris 0 kolom 1

mysql_close($link);
?>

13) mysql_select_db

Memilih database yang akan diproses.

XI. END

Nanang Durahman

Anda mungkin juga menyukai