Anda di halaman 1dari 126

1

BAB I
PENGANTAR PEMROGRAMAN INTERNET I

1.1. Pendahuluan
Pemrograman Internet berkaitan dengan segala bentuk aplikasi berbasis internet. Aplikasi
berbasis internet merupakan suatu jenis aplikasi yang menerapkan arsitektur sistem
terdistribusi dengan menggunakan internet sebagai media komunikasi antar komponennya.
Pemrograman web adalah salah satu aplikasi berbasis internet yang
perkembangannya melaju pesat dalam beberapa dekade terakhir. Pemrograman web secara
luas telah digunakan baik dalam lingkungan pembuatan website maupun pembuatan sistem
berbasis web yang berjalan melalui internet.
Salah satu bahasa pemrograman yang umum digunakan untuk membangun sebuah
website maupun sistem berbasis web adalah PHP. Penggunaannya saat ini bahkan sudah
mencapai 25 juta situs web. Sedangkan untuk database, banyak website dan sisem berbasis
web yang menggunakan MySQL.

1.2. Pemrograman Web
PHP (PHP Hypertext Preprocessor) merupakan bahasa pemrograman web yang selain
bersifat open source, juga bersifat multiplatform sehingga dapat berjalan dengan baik di
beberapa OS seperti Windows, Linux, dan Macintosh. PHP merupakan bahasa
pemrograman web yang dapat disisipkan dalam script HTML. Banyak sintaks PHP yang
mirip dengan bahasa C, Java, dan Perl. Tujuan dari bahasa ini adalah untuk membantu para
pengembang web agar dapat membuat web dinamis secara mudah dan cepat.
Ketika seseorang mengunjungi web berbasis PHP, web server akan memproses kode-
kode PHP. Beberapa perintah atau kode 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.
Berikut ini adalah hal-hal yang bisa dilakukan dengan PHP.
1. Mengurangi waktu untuk membuat web berskala besar.
2. Mampu menciptakan web interaktif.
3. Menciptakan berbagai tool untuk keperluan online.
2

4. Mendukung e-commerce (shopping carts).

Sebelum mempelajari PHP, ada beberapa hal yang harus dikuasai, yaitu
1. HTML
2. Dasar-dasar pemrograman (C/C++)

1.3. Aplikasi yang Diperlukan
Ada beberapa aplikasi yang diperlukan agar dapat bekerja dengan PHP, yaitu
1. Web server (Apache, IIS, Personal Web Server/PWS)
2. PHP server (dapat didownload di PHP.net)
3. Database server (MySQL, Interbase, MS SQL, dll)
4. Editor (Dreamweaver, Frontpage, Notepad++, dll)
Anda dapat pula menggunakan tool aplikasi yang di dalamnya sudah terdapat web
server (Apache), PHP server, dan MySQL yang terintegrasi menjadi satu, seperti XAMPP.












3

BAB II
DASAR-DASAR PEMROGRAMAN PHP

2.1 Pengenalan Sintaks PHP
PHP merupakan script yang bersifat server-side, yang artinya semua proses akan
dikerjakan di sisi server sehingga hanya hasilnya saja yang akan dikirimkan ke client.
Sintaks PHP bisa diletakkan dimana saja diantara kode HTML. Penulisan script PHP selalu
diawali dengan tanda <?php dan diakhiri dengan tanda ?> .
Setiap program yang berisikan script php, wajib disimpan dengan ekstensi .php dan
kemudian disimpan di dalam folder c:/xampp/htdocs. Sebagai contoh, tuliskan kode
program seperti berikut ini.

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

Setelah selesai, simpan file tersebut dengan nama hello.php di dalam folder
c:/xampp/htdocs. Selanjutnya buka web browser dan ketikkan http://localhost/hello.php.

2.2. Elemen Dasar PHP
2.2.1 Variabel
Variabel merupakan tempat penyimpanan data yang nilainya bisa berubah-ubah. Di PHP,
kita tidak perlu mendeklarasikan variabel terlebih dahulu. Variabel di PHP diawali dengan
karakter $. Pemberian nilai pada variabel dapat dilakukan dengan menggunakan tanda
sama dengan (=). Berikut ini adalah sintaks penulisan variabel di PHP.
$nama_variabel = nilai;

4

Ada beberapa aturan dalam penulisan nama variabel di PHP, yaitu
1. Nama variabel harus diawali dengan huruf atau underscore (_).
2. Nama variabel hanya boleh dituliskan dengan alpha numeric a-z, A-Z, 0-9 dan
underscore.
3. Nama variabel yang terdiri lebih dari satu kata dapat dipisahkan dengan underscore.
4. Nama variabel tidak boleh sama dengan nama fungsi yang telah tersedia dalam
PHP.
5. Nama variabel bersifat case sensitive.

Contoh penulisan variabel di PHP:
<?php
$hello = "Hello World!";
$x = 4;
$y = 8;
$z = $x * $y;
?>

2.2.2. Tipe Data
Tipe Data Keterangan Contoh
Integer Tipe data ini meliputi semua bilangan
bulat dengan range -2,147,483,648
sampai +2,147,483,647 pada platform
32bit.
$i = -5;
$jumlah = 199;
Floating Point /
Double
Tipe data ini biasa digunakan dalam
bilangan pecahan namun bisa juga
bilangan desimal. Tipe ini memiliki
range 1.7E-308 sampai 1.7E+308.
$ipk = 4.00;
$ip = 3.95;
String Tipe data teks yang penggunaannya
diapit oleh tanda petik tunggal ( )
atau tanda petik ganda ( ).
$kata = Hello;
$kalimat =
Selamat Pagi;
Array Tipe data ini mengandung satu atau
lebih data yang dapat diindeks
menggunakan numeric atau string.
PHP juga mendukung array multi
$buah = {apel,
jeruk};
5

dimensi.
Objek Tipe data object merupakan tipe data
yang didalamnya dapat berupa
bilangan, variable atau fungsi. Data
harus didefinisikan sebagai class
terlebih dahulu.

Boolean Menyatakan nilai kebenaran (true,
false)
$mulai = true;
$selesai = false;

2.2.3. Konstanta
Define adalah sebuah fungsi yang disediakan oleh PHP untuk mendefiniskan sebuah
konstanta, dimana konstanta tersebut hanya diberi nilai di awal program dan tidak dapat
diubah nilainya selama program berjalan (statis). PHP sendiri telah mendefinisikan
beberapa konstanta, seperti PHP_VERSION yaitu konstanta yang memberikan informasi
tentang versi PHP yang sedang digunakan. Struktur define adalah sebagai berikut :

define(nama konstanta, nilai konstanta);

Contoh script penulisan define:
<html>
<head></head>
<body>
<?php
define("PHI", 3.14);
echo PHI;
?>
</body>
</html>

2.3. Operator
Dalam bahasa pemrograman secara umum, operator digunakan untuk memanipulasi nilai
dari sebuah variabel. Sampai saat ini, kita telah mengenal operator . (penggabungan
string) dan = (proses assignment). Beberapa jenis operator lain yang dikenal di PHP
adalah sebagai berikut.
6

2.3.1. Operator Aritmatika
Operator Aritmatika adalah operator yang berhubungan dengan fungsi matematika. Berikut
ini adalah tabel operator aritmatika, makna, dan contoh penggunaannya.

Operator Makna Contoh
+ Penjumlahan 2 + 4
- Pengurangan 6 2
* Perkalian 5 * 3
/ Pembagian 15 / 3
% Modulus 43 % 10

Contoh script penggunaan operator aritmarika:
<?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;
?>

2.3.2. Operator Perbandingan
Operator perbandingan digunakan untuk menguji hubungan antara nilai dan atau variabel.
Operator ini digunakan dalam suatu statement bersyarat yang selalu menghasilkan nilai
TRUE atau FALSE.
Operator Makna Contoh Hasil
== Sama dengan $x == $y
TRUE jika $x sama
dengan $y
!= Tidak sama dengan $x != $y
TRUE jika $x tidak sama
dengan $y
7

< Lebih kecil dari $x < $y
TRUE jika $x lebih kecil
dari $y
> Lebih besar dari $x > $y
TRUE jika $x lebih besar
dari $y
<=
Lebih kecil atau sama dengan
dari
$x <= $y
TRUE jika $x lebih kecil
atau sama dengan $y
>=
Lebih besar atau sama
dengan dari
$x >= $y
TRUE jika $x lebih besar
atau sama dengan $y

Contoh script penggunaan operator perbandingan:
<?php
$x = 4;
$y = 5;

if($x < $y)
echo "$x lebih kecil dari $y";
else if($x > $y)
echo "$x lebih besar dari $y";
?>

2.3.3. Operator Logika
Operator Makna Contoh Hasil
! Tidak !$x TRUE jika $x tidak TRUE
&& Dan $x && $y TRUE jika $x dan $y TRUE
|| Atau $x || $y TRUE jika $x atau $y TRUE


2.3.4. Operator Increment/Decrement
Operator Makna Contoh Keterangan
++
Pre-increment ++$x
Increment $x dengan 1,
kemudian kembalikan nilai
$x
Post-increment $x++
Kembalikan nilai $x,
kemudian increment $x
8

dengan 1
--
Pre-decrement --$x
Decrement $x dengan 1,
kemudian kembalikan nilai
$x
Post-decrement $x--
Kembalikan nilai $x,
kemudian decrement $x
dengan 1

Contoh script penggunaan operator increment/decrement:
<?php
$x = 10;
$y = $x++;

echo "Nilai dari \$y = ".$y."<br>";
echo "Nilai dari \$x = ".$x."<br>";

$x = 10;
$y = ++$x;

echo "Nilai dari \$y = ".$y."<br>";
echo "Nilai dari \$x = ".$x;
?>

2.3.5. Operator Assignment
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";

2.3.6. Operator Ternary
Operator ternary menggunakan karakter ? dan : dengan sintaks (ekspresi1) ? (ekspresi2)
: (ekspresi3) yang berarti jika ekpresi1 bernilai TRUE, maka ekspresi2 akan dijalankan.
Tetapi jika ekspresi1 bernilai FALSE, ekspresi3 akan dijalankan.
Contoh script penggunaan operator ternary:

9

<?php
$x = 4;
$y = 5;

$hasil = ($x<$y) ? ("$x lebih kecil dari $y") :
("$x lebih besar dari $y");

echo $hasil;
?>
2.4. Menampilkan Data
Untuk menampilkan data di PHP bias menggunakan print maupun echo. Sintaks yang
dapat digunakan antara lain :
print(data);
print data;
echo(data);
echo data;
printf(data, %tipedata);

Contoh script untuk menampilkan data:
<?php
print("1. Hello dengan print()<br>");
print "2. Hello dengan print<br>";
echo("3. Hello dengan echo()<br>");
echo "4. Hello dengan echo<br>";
printf("5. Hello dengan printf<br>", "string");
?>








10

BAB III
Struktur Kontrol

3.1. Struktur Logika IF
3.1.1. Logika IF Tunggal
Bentuk umum dari struktur logika IF dalam PHP adalah
if (syarat)
{
statement1;
statement2;
}

Untuk menyatakan syarat, biasanya digunakan operator perbandingan seperti yang
telah dibahas sebelumnya. Apabila syarat bernilai TRUE maka statement-statement 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, statement3, statement4, dst akan dijalankan apabila
syarat bernilai FALSE.
Contoh: percabangan1.php:
<?php
$my_name = "adam";
if ($my_name == "adam")
{
echo "My name is adam!<br>";
}
11

else
{
echo "My name is not adam!<br>";
}

echo "Welcome to my homepage!";
?>


Gambar 1, percabangan1.php

3.1.2. Logika IF Majemuk
Digunakan untuk memberikan alternative urutan perintah apabila ada proses yang
memberikan dua alternative benar atau salah.
Bentuk umum dari struktur logika IF majemuk adalah
if (syarat1)
{ statement11;
statement12;
}
elseif (syarat2)
{ statement21;
statement22;
}
else
{ statement1;
statement2;
}
12

Jika syarat1 bernilai TRUE, maka statement11, statement12 dst akan dijalankan.
Sedangkan jika syarat1 FALSE maka selanjutnya akan dicek untuk syarat2. Jika syarat2
TRUE maka statemen21, statement22, dst akan dijalankan, sedangkan jika syarat2 FALSE
akan dicek syarat berikutnya (jika masih ada). Statement1, statement2, dst baru akan
dijalankan apabila semua syarat sebelumnya bernilai FALSE.

Contoh: percabangan2.php:
<?php
$karyawan = "Bob";
if($karyawan == "Tanner")
{
echo "Hello Tanner!";
}
elseif($karyawan == "Bob")
{
echo "Hello Bob!";
}
else
{
echo "Hello!";
}
?>


Gambar 2, percabangan2.php

3.2. Struktur Logika Switch
Statement switch digunakan untuk menguji suatu ekspresi untuk melakukan sejumlah
tindakan berbeda, dan biasaya digunakan untuk menggantikan statement ifelseifelse.
13

Bentuk umum dari struktur logika switch 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 sama dengan nilai variabel, maka statement-
statement di bawah option tersebutlah yang akan dijalankan. Bagian default adalah
optional (boleh ada, boleh tidak).

Contoh: percabangan_switch.php
<?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;
14

case "Caribbean Islands":
echo " $700";
break;
}
?>


Gambar 3, percabangan_switch.php


3.3. Struktur Logika While
Statement ini digunakan untuk mengerjakan suatu statement secara berulang-ulang ketika
syarat bernilai benar / TRUE. Bentuk umum dari struktur logika while adalah
while (syarat)
{ statement;
statement;
}
Pada sintaks di atas, selama syarat bernilai TRUE maka statement-statement di
dalam while akan terus dijalankan secara berulang-ulang. Perulangan baru akan berhenti
apabila syarat bernilai FALSE. Sebelum statement yang diulang-ulang dilakukan, terlebih
dahulu akan dicek syarat nya apakah bernilai TRUE atau FALSE. Apabila TRUE maka
statement akan dijalankan.
Sedangkan apabila FALSE, perulangan akan langsung berhenti. Dengan kata lain,
statement dalam WHILE bisa jadi tidak akan pernah dilakukan, yaitu apabila syaratnya
langsung bernilai FALSE.
Contoh,: perulangan_while.php:
<?php
$harga_sikat = 1500;
$jumlah_sikat = 10;
15

echo "<table border=1 ";
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>";
?>

Gambar 4, perulangan_while.php

Kode di atas akan menampilkan hasil di browser berupa tabel yang berisi jumlah
sikat dan harganya, dengan asumsi harga sebuah sikat adalah Rp. 1.500. Jumlah sikat yang
ditampilkan adalah kelipatan 10 dengan batas sampai 100 buah.








16

3.4. Struktur Logika Do While
Statement ini merupakan bentuk modifikasi dari WHILE. Bentuk umum dari struktur
logika do while adalah:
do
{ statement;
}
while (syarat);

Coba bandingkan dengan sintaks WHILE sebelumnya. Dilihat dari posisi statement yang
diulang, posisi statement yang diulang pada DO WHILE terletak di atas syarat. Dengan
demikian, sebelum syarat dicek TRUE atau FALSE nya, statement akan dikerjakan
terlebih dahulu.Sedangkan pada WHILE, sebelum statement yang diulang dikerjakan,
terlebih dahulu syarat akan dicek.
Prinsip kerja DO WHILE sama dengan WHILE yaitu statement akan terus
dikerjakan selama syarat bernilai TRUE dan perulangan akan berhenti apabila FALSE.
Perhatikan contoh berikut ini yang membandingkan DO WHILE dengan WHILE.

Contoh, perulangan_dowhile.php:
<?php
$i = 0;
do
{
echo "Haloo ".$i++"<br>";
} while ($i < 10);
?>















Gambar 5, perulangan_dowhile.php
17

3.5. Struktur Logika For
Statement FOR mirip dengan WHILE yang memiliki sintaks berikut ini
for (inisialisasi counter; syarat; increment/decrement counter)
{
statement;
}

Untuk memperjelas pemahaman tentang FOR, berikut ini adalah contoh kode
dengan for untuk menghasilkan tampilan yang sama dengan contoh while sebelumnya
(tentang jumlah sikat dan harganya). Coba bandingkan dengan kode contoh while
sebelumnya.
Contoh: perulangan_for.php:
<?php
$harga_sikat = 1500;
echo "<table border=1>";
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>";
}
echo "</table>";
?>
18


Gambar 6, perulangan_for.php

3.6. Struktur Logika Foreach
Perulangan foreach banyak digunakan untuk membaca elemen sebuah array. Statement
foreach membaca elemen array dengan menyimpan setiap elemen array pada variable yang
didefinisikan dalam sebuah keyword yaitu as.
Bentuk umum dari struktur logika foreach adalah
foreach(variabelarray as kunci => value)
{
statement;
}

Berikut ini adalah contoh kode PHP yang akan menampilkan semua karyawan
beserta usianya dengan menggunakan foreach.
Contoh: perulangan_foreach.php :
<?php
$UsiaKaryawan["Lisa"] = "28";
$UsiaKaryawan["Jack"] = "16";
$UsiaKaryawan["Ryan"] = "35";
$UsiaKaryawan["Rachel"] = "46";
$UsiaKaryawan["Grace"] = "34";
19

foreach($UsiaKaryawan as $Nama => $umur)
{
echo "Nama Karyawan: $Nama, Usia: $umur"." th <br>";
}
?>

Gambar 7, perulangan_foreach.php

3.7. Struktur Logika Break dan Continue
Continue digunakan dalam suatu perulangan untuk melompati kondisi yang ditentukan,
kemudian melanjutkan perulangan berikutnya. Sedangkan Break akan menyebabkan
program menghentikan perulangan (langsung keluar dari perulangan).
Bentuk umum dari struktur logika continue adalah
for(inisialisasi; kondisi; increment)
{ statement{
continue; }
}

Contoh : continue.php:
<?php
for($a=0; $a<5; ++$a){
if($a == 2){
continue;
}
echo "$a<br/>";
}
?>
20


Gambar 8, continue.php

Contoh : continue2.php
<?php
for($i=1; $i<=10; $i++){
if($i==5)
continue;
if($i==8)
break;
echo "$i";
}
?>






Gambar 9, continue2.php

3.8. Struktur Logika EXIT
Dalam kenyataannya dalam kondisi tertentu, suatu perulangan ingin dihentikan (keluar dari
perulangan sebelum waktunya). Untuk keluar dari suatu perulangan dapat digunakan
perintah exit. Perintah- perintah ini secara otomatis akan menyebabkan program akan
keluar dari perulangan.




21

Contoh : exit.php
<?php
for($i=1; $i<=15; $i++)
{
echo("$i <br>");
if($i==5)
exit;
}
echo "selesai <br>";
?>


Gambar 10, exit.php


SOAL-SOAL LATIHAN
1. susun algoritma untuk mencetak nilai-nilai, shngga tercetak:
11 12 13
21 22 23
31 32 33
41 42 43
51 52 53

2. Susunlah sebuah program sehingga menghasilkan pola berikut :
2
3 4
4 5 6
5 6 7 8
6 7 8 9 10
22


3. Buatlah program untuk menentukan besarnya rekening listrik yang harus dibayar
oleh seorang pelanggan PLN, bila besarnya rekening listrik ditentukan dengan aturan sb:
Pemakaian Biaya
Pemakaian <= 100Kwh 100,000
100< pemakaian<=500Kwh 100,000 + 1.500 setiap kelebihan dari 100
Kwh
Pemakaian > 500Kwh 700,000 +2000 setiap kelebihan 500Kwh

4. Buatlah program membentuk deretan fibonaci ( <300) .
5. Buatlah program untuk mencari semua factor yang dipunyai oleh sebuah bilangan.
Contoh: bilangan 6 punya factor 1,2,3,6.
6. Buatlah program sehingga membentuk pola ini:
**++
**++
++**
++**
7. Buatlah program yang berisikan menu untuk melaukan konversi suhu dari Reamur/
Fahrenheit atau Kelvin ke satuan Celcius.
Celcius Reamur : 5/4 * suhu
Celcius Fahreinheit : 5/9 *(suhu-32)
Celcius Kelvin : Suhu -273
8. Buatlah program untuk menampilkan digit sebuah bilangan secara menurun mulai
dari digit yang paling belakang ke digit paling depan. Misalkan bilangan tsb 1234 ,
hasil di monitor 4321.
9. Buatlah program sehingga menghasilkan
N : 5 8 13 20 29 40 53
10. Buatlah program untuk mencetak table perkalian (5x5)-> hasil bebas bentuknya.





23

BAB IV
ARRAY

4.1 Definisi Array
Array adalah variabel jamak, variabel yang mempunyai banyak elemen yang diacu dengan
satu nama yang sama. Setiap elemen variabel diacu dengan menggunakan nomor elemen.
Array dalam PHP juga merupakan tipe data, bukan sekedar variabel.

4.2 Penulisan Array
Dalam PHP, indeks untuk array dapat berupa numerik dan dapat pula berupa suatu nilai
atau yang sering disebut dengan array assosiatif.

4.2.1. Array Berindeks Numerik
Sintaks umum untuk menyatakan suatu array berindeks numerik beserta nilainya adalah
$nama_array[$key] = value;
Dalam hal ini $k ey berupa bilangan bulat mulai dari 0, 1, 2, Contoh:
$karyawan[0] = "Bob";
$karyawan[1] = "Sally";
$karyawan[2] = "Charlie";
$karyawan[3] = "Clare";

Berikut ini adalah contoh untuk menampilkan nilai dari suatu array berindeks numerik.
<?php
// array numerik
$buah[0] = "apel";
$buah[1] = "mangga";
$buah[2] = "pisang";
$buah[3] = "jambu";
$buah[4] = "semangka";

echo "Buah ke 1 = ".$buah[0];
?>



24

4.2.2. Array Assosiatif
Untuk array assosiatif, sintaksnya sama dengan array berindeks numerik namun
perbedaannya adalah pada $key. Pada array assosiatif, $key dapat berupa suatu string.
Contohnya adalah sebagai berikut.
<?php
$buah["pertama"] = "apel";
$buah["kedua"] = "mangga";
$buah["ketiga"] = "pisang";
$buah["keempat"] = "jambu";
$buah["kelima"] = "semangka";

echo "Buah pertama = ".$buah["pertama"];
?>

4.3. Array Multidimensi
Array satu dimensi adalah array yang indeksnya hanya satu, sedangkan array multidimensi
adalah array yang indeksnya lebih dari satu. Contoh penggunaan array multidimensi adalah
sebagai berikut.
<?php
$buah["pertama"]["nama"] = "apel";
$buah["pertama"]["warna"] = "merah";
$buah["kedua"]["nama"] = "mangga";
$buah["kedua"]["warna"] = "hijau";
$buah["ketiga"]["nama"] = "pisang";
$buah["ketiga"]["warna"] = "kuning";

echo "<table border='1'>
<tr>
<th></th>
<th>Nama</th>
<th>Warna</th>
</tr>";
foreach($buah as $index => $value)
{
echo "<tr>
<th>".$index."</th>";
foreach($buah[$index] as $index1 => $value1)
echo "<td>".$buah[$index][$index1]."</td>";
25

echo "</tr>";
}
echo "</table>";
?>

4.4. Fungsi Array di PHP
4.4.1 array()
Fungsi ini digunakan untuk membuat array. Sintaksnya adalah sebagai berikut.
array(nilai1, nilai2 [, , nilaiN])
Contoh penggunaan array() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet');
foreach($test_array as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.2 array_merge()
Fungsi ini digunakan untuk menggabungkan beberapa array. Sintaksnya adalah
sebagai berikut.
array_merge(array1, array2, [, , arrayN])
Contoh penggunaan array_merge() adalah sebagai berikut.
<?php
$test_array1 = array('pemrograman', 'internet');
$test_array2 = array('PHP', 'HyperText', 'Preprocessor');

$test_merge = array_merge($test_array1, $test_array2);
foreach($test_merge as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.3. array_pop()
Fungsi ini digunakan untuk menghapus elemen terakhir dari suatu array.
Sintaksnya adalah sebagai berikut.
26

array_pop(array)
Contoh penggunaan array_pop() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet', 'satu');
array_pop($test_array);

foreach($test_array as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.4. array_push()
Fungsi ini digunakan untuk menambah satu atau lebih elemen baru di akhir
array. Sintaksnya adalah sebagai berikut.
array_push(array, variabel1, variabel2 [, , variabelN])
Contoh penggunaan array_push() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet');
array_push($test_array, 'dengan', 'PHP');

foreach($test_array as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.5. array_reverse()
Fungsi ini digunakan untuk membalik susunan elemen sebuah array.
Sintaksnya adalah sebagai berikut.
array_reverse(array)
Contoh penggunaan array_reverse() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet');
$test_reverse = array_reverse($test_array);

foreach($test_reverse as $key => $val)
{
27

echo $key." = ".$val."<br>";
}
?>

4.4.6. array_search()
Fungsi ini digunakan untuk mencari nilai tertentu pada sebuah array. Bila
ditemukan, nilai yang dikembalikan adalah index elemen array tersebut.
Sintaksnya adalah sebagai berikut.
array_search(nilai_yang_dicari, array)
Contoh penggunaan array_search() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet');

$key = array_search('internet', $test_array);
echo $key;
?>

4.4.7. array_unique()
Fungsi ini digunakan untuk menghapus elemen array yang nilainya sama.
Sintaksnya adalah sebagai berikut.
array_unique(array)
Contoh penggunaan array_unique() adalah sebagai berikut.
<?php
$test_array = array('satu', 'pemrograman', 'internet',
'satu');

$test_unique = array_unique($test_array);
foreach($test_unique as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.8. count()
Fungsi ini digunakan untuk menghitung jumlah elemen dalam sebuah array.
Sintaksnya adalah sebagai berikut.
count(array)
28

Contoh penggunaan count() adalah sebagai berikut.
<?php
$test_array = array(pemrograman, internet, satu);

echo count($test_array);
?>

4.4.9. list()
Fungsi ini digunakan untuk mengambil komponen-komponen array sebagai
variabel-variabel yang terpisah. Sintaksnya adalah sebagai berikut.
list(var1, var2 [, , varN]) = array(nilai1, nilai2 [, , nilaiN])

Contoh penggunaan list() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet', 'satu');
list($val1, $val2, $val3) = $test_array;

echo "Variabel 1 = ".$val1."<br>";
echo "Variabel 2 = ".$val2."<br>";
echo "Variabel 3 = ".$val3."<br>";
?>

4.4.10. rsort()
Fungsi ini digunakan untuk mengurutkan elemen array secara descending.
Sintaksnya adalah sebagai berikut.
rsort(array)
Contoh penggunaan rsort() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet');
rsort($test_array);
foreach($test_array as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>



29

4.4.11. shuffle()
Fungsi ini digunakan untuk mengacak elemen dalam sebuah array. Sintaksnya
adalah sebagai berikut.
shuffle(array)
Contoh penggunaan shuffle() adalah sebagai berikut.
<?php
$test_array = array('pemrograman', 'internet', 'satu');
shuffle($test_array);
foreach($test_array as $key => $val)
{
echo $key." = ".$val."<br>";
}
?>

4.4.12. sort()
Fungsi ini digunakan untuk mengurutkan elemen array secara ascending.
Sintaksnya adalah sebagai berikut.
sort(array)
Contoh penggunaan sort() adalah sebagai berikut.
<?php
$test_array = array(pemrograman, internet);
sort($test_array);
foreach($test_array as $key => $val)
{
echo $key. = .$val.<br>;
}
?>



SOAL-SOAL LATIHAN
1. Buatlah sebuah program untuk mengurutkan nilai yang disimpan dalam sebuah array
dengan menggunakan Bubble Sort.
contoh:
input : 4 35 1 2 78 67 5 5 2 3
output : 1 2 2 3 4 5 5 35 67 78

30


2. Buatlah sebuah program untuk mengurutkan elemen-elemen dalam sebuah array dengan
ketentuan sebagai berikut.
- jika jumlah elemen array tersebut genap, urutkan elemen array secara ascending
kemudian hapus elemen terakhir dalam array
- jika jumlah elemen array tersebut ganjil, urutkan elemen array secara descending
kemudian tambah sebuah elemen di akhir array

3. Buatlah sebuah program untuk menyatukan elemen-elemen berupa kata dalam sebuah
array dengan ketentuan sebagai berikut.
- tiap kata dipisahkan dengan spasi.
- setiap 5 kata, bubuhi tanda titik sebelum spasi.
contoh:
array("mahasiswa", jurusan,"teknologi", "informasi", "fakultas", "ilmu",
"komputer", "dan", "teknologi", "informasi", "angkatan", "2012");
output:
mahasiswa jurusan teknologi informasi fakultas. ilmu komputer dan teknologi informasi.
angkatan 2012

4. Buatlah program untuk mengisi array seperti berikut

elemen 0 1 2 3 4 5 6 7 8 9 10
+-------------------------------------------+
array | 1 | | 2 | | 3 | | 4 | | 5 | | 6 |
+-------------------------------------------+

elemen 0 1 2 3 4 5 6 7 8 9 10
+-------------------------------------------+
array | 0 | 1 | | 3 | | | 6 | | | | 10|
+-------------------------------------------+

5. Buatlah array dua dimensi untuk menampilkan data sebagai berikut.
+------------------------------------------------------+
| NAMA | NIM | IPK | Alamat |
31

+------------------------------------------------------+
| Apa | 121402001 | 3.99 | Jl. Setia Budi No.1 |
| Dimana | 121402002 | 3.88 | Jl. Setia Budi No.2 |
| Siapa | 121402003 | 3.77 | Jl. Setia Budi No.3 |
| Kenapa | 121402004 | 3.66 | Jl. Setia Budi No.4 |
| Bagaimana | 121402005 | 3.55 | Jl. Setia Budi No.5 |
+------------------------------------------------------+























32


BAB V
Fungsi
5.1 Definisi Fungsi
Sebuah fungsi merupakan sebuah nama yang kita berikan pada suatu blok program yang
sewaktu-waktu dapat kita panggil dan gunakan. Sebuah fungsi dapat diletakkan di bagian
manapun, bisa di awal, tengah, dan akhir dari keseluruhan bagian kode PHP.

5.2 Fungsi Tanggal dan Waktu
5.2.1. Fungsi Waktu
Fungsi date memudahkan kita dalam memanipulasi tanggal ke dalam halaman web.
Tanggal yang akan ditampilkan menyesuaikan waktu server, bukan waktu yang ada di
client. Hal ini disebabkan PHP merupakan server side programming. Sintaksnya adalah :
date(format, timestamp);

Parameter Deskripsi
format Sifatnya harus, merinci format dari waktu yang ingin kita tampilkan
timestamp Sifatnya opsional, secara default berisi data waktu saat ini

Contoh, date1.php:
<?php
echo "Hari ini tanggal : ".date("m/d/y");
?>



Gambar 11, date1.php
33


Function date() digunakan untuk menampilkan tanggal pada saat itu (sesuai waktu
server). Contoh program di atas tidak menggunakan timestamp, jadi program di atas hanya
menampilkan tanggal pada saat itu. Lalu bagaimana kalau kita ingin menampilkan tanggal
pada hari yang berbeda? kita dapat menggunakan timestamp.
Function mktime() digunakan untuk membuat timestamp, sintaksnya adalah
sebagai berikut:
mktime(hour, minute, second, month, day, year)
Contoh, date2.php:
<?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>";
?>


Gambar 12, date2.php

Beberapa ini beberapa jenis timestamp yang dapat digunakan untuk mengatur
format tampilan tanggal dan waktu.

34


Time:
a : am atau pm
A : AM atau PM
g : Jam tanpa 0 di depan. Bernilai antara 1- 12.
G : Jam tanpa 0 di depan (format 24 jam). Bernilai antara 0- 23.
h : Jam dengan 0 di depan. Bernilai antara 01- 12.
H : Jam dengan 0 di depan (format 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 mingguan (disingkat). Bernilai antara Sun-Sat
l : Hari dalam mingguan. Bernilai antara Sunday-Saturday
w : Hari dalam mingguan tanpa 0 di depan. Bernilai antara 0-6.
z : Hari dalam tahunan tanpa 0 di depan. Bernilai antara 0-365.
Month:
m : Nomor bulan dengan 0 di depan (01-12)
n : Nomor bulan tanpa 0 di depan (1-12)
M : Singkatan dari bulan. (Jan-Dec)
F : Nama bulan lengkap. (January-December)
t : Jumlah hari dalam sebulan. (28-31)
Year:
L : 1 jika melompati tahun dan 0 jika tidak.
Y : Format tahun 4 digit
y : Format tahun 2 digit. (00-99)







35


Contoh, date3.php:
<?php
$today = date("F j, Y, g:i a");
echo "$today<br>";
$today = date("m.d.y");
echo "$today<br>";
$today = date("j, n, Y");
echo "$today<br>";
$today = date("Ymd");
echo "$today<br>";
$today = date("H:i:s");
echo "$today<br>";
?>

Gambar 12, date3.php


5.3. Fungsi Math
Fungsi math digunakan untuk melakukan perhitungan yang berhubungan dengan angka.
Beberapa bagian fungsi math yaitu :

5.3.1. Fungsi Floor()
Fungsi Floor Digunakan untuk membulatkan bilangan ke arah bawah (misal :1.4 menjadi
1). Bentuk umumnya : floor(bilangan)
Contoh: math_floor.php
<?
echo Fungsi Floor <br>;
echo 4.34 dibulatkan menjadi .floor(4.34). "<br>";
echo 3.25 dibulatkan menjadi .floor(3.25);
36

?>








Gambar 13, math_floor.php

5.3.2. Fungsi round()
Berkebalikan dengan fungsi floor, fungsi round akan membulatkan bilangan kea rah atas
(mis : 1,4 menjadi 2). Bentuk umum fungsi round :
round(bilangan)

Contoh : math_round.php
<?
echo "FUNGSI ROUND : <br>";
echo "3.63 dibulatkan menjadi ".round(3.63). "<br>";
echo "5.55 dibulatkan menjadi ".round(5.55);
?>







Gambar 14, math_round.php

5.3.3. Fungsi rand()
Digunakan untuk menampilkan bilangan integer secara random. Bentuk umum fungsi rand
dalam php : rand(min,max)

37



Contoh : math_rand.php
<?
echo "Fungsi Random <br>";
echo "Random tanpa pembatas : ".rand()."<br>";
echo "Random dengan pembatas :" .rand(1,20);
?>









Gambar 15, math_rand.php

5.3.4. Fungsi abs()
Digunakan untuk mengubah nilai pada variable menjadi nilai mutlak, apabila nilai dalam
variable adalah bilangan positif maka bilangan iitu akan langsung ditampilkan. Namun,
apabila bilangan negative maka bilangan tersebut akan dikalikan -1(negative 1).
Bentuk umum fungsi ini: abs(bilangan)

Contoh : math_abs.php
<?
echo "Fungsi Abs <br>";
echo "Contoh Bilangan negatif ".abs(-10)."<br>";
echo "contoh Bilangan positif ".abs(10);
?>









38

Gambar 16, math_abs.php


5.3.5. Fungsi pi()
Digunakan untuk memberikan nilai pendekatan dari pi(22/7).
Bentuk umum fungsi pi : pi()

Contoh : math_pi.php
<?
$r=8;
echo "nilai pi : ".pi()."<br>";
echo "Luas lingkaran dgn jari2 $r = ".(pi() *$r * $r)."<br>";
$r=7;
echo "Luas lingkaran dgn jari2 $r = ".(pi() *$r * $r);
?>









Gambar 17, math_pi.php

5.3.6. Fungsi cos
Digunakan untuk mengembalikan nilai cosines dari nilai sudut(dalam radian). Bentuk
umum fungsi ini adalah cos(bilangan)
Contoh : math_cos.php
<?
echo "Fungsi Cosinus <br>";
echo "Cos 0 : ".cos(0)."<br>";
echo "Cos 90 : ".cos(90)."<br>";
echo "Cos 180 : ".cos(180)."<br>";
echo "Cos 360 : ".cos(360)."<br>";
echo "Cos 4* pi : ".cos(4 * pi());
?>
39










Gambar 18, math_cos.php

5.3.7. Fungsi sin ()
Digunakan untuk menghasilkan nilai sinus dari ilai sudut (dalam radian) pada argument.
Bentuk umum fungsi ini: sin(bilangan)
Contoh : math_sin.php
<?
echo "Fungsi Sinus : <br>";
echo "Sin 0 : ".sin(0)."<br>";
echo "Sin 90 : ".sin(90)."<br>";
echo "Sin 180 :".sin(180)."<br>";
echo "Sin 360 :".sin(360);
?>








Gambar 19, math_sinus.php

5.3.8. Fungsi tan()
Digunkaan untuk menghasilkan nilai tangent dari sudut (dalam radian) pada argument
sudut. Bentuk umum fungsi ini : tan(bilangan)
40


Contoh : math_tan()
<?
echo "Fungsi tan : <br>";
echo "Tan 0 : ".tan(0)."<br>";
echo "Tan 90 : ".tan(90)."<br>";
echo "Tan 180 :".tan(180)."<br>";
echo "Tan 360 :".tan(360);
?>



Gambar 20, math_tan.php

5.3.9. Fungsi sqrt()
Sqrt kepanjangan dari square root(kuadrat). Namun dip hp, fungsi ini digunakan untuk
menghitung akar bilangan. Bentuk umum dari fungsi ini: sqrt(bilangan)
Contoh : math_sqrt.php
<?
echo "Fungsi sqrt <br>";
echo "sqrt (100) = ".sqrt(100)."<br>";
echo "sqrt (50) = ".sqrt(50);
?>






41

Gambar 21, math_sqrt.php
5.4. Fungsi isset()
Digunakan untuk menyatakan variabel sudah diset atau tidak. Jika variabel sudah diset
maka variavel akan mengembalikan nilai true, sebaliknya akan bernilai false.
Bentuk umum sintaksnya : isset ( mixed var )


5.5 Membuat Fungsi dan Prosedur
Berikut ini adalah bentuk penulisan dari sebuah fungsi biasa(tanpa kembalian/return) dan
cara pemanggilannya:
function nama_fungsi(parameter1, parameter2)
{ statement;
statement2;
}
nama_fungsi(parameter1, parameter2);

Penulisan fungsi adalah dengan menuliskan function kemudian diikuti dengan
nama fungsi. Parameter adalah variabel yang akan dilewatkan pada saat pemanggilan
fungsi. Parameter fungsi dituliskan di dalam tanda kurung biasa(). Parameter fungsi
bersifat opsional(boleh ada atau tidak ada). Sedangkan statement/perintah dari function
dituliskan di dalam kurung kurawal {}.
Sedangkan bagian paling bawah dari sintaks di atas merupakan cara memanggil
function. Perhatikan contoh berikut ini:
Contoh, function1.php:
<?php
function greetings()
{
echo "Selamat Pagi";
echo "<br>Selamat Malam";

}
greetings();
?>

42


Gambar 22, function1.php


Fungsi dengan Parameter
Contoh function sebelumnya tidak menggunakan parameter. Peran parameter adalah
sebagai input untuk function yang selanjutnya akan diolah oleh function tersebut. Berikut
ini contoh penggunaan parameter pada function.
Contoh, function2.php :
<?php
function tampil($nama)
{
echo "Nama saya adalah ".$nama."<br>";
}
tampil ("Agus");
tampil ("Ahmad");
tampil ("Budi");
tampil ("Fauzan");

?>








Gambar 23, function2.php


43


Pada contoh di atas, variabel $nama merupakan parameter dari function tampil.
Nilai dari variabel tersebut akan ditambahkan pada string yang di-echo-kan.
Pengembalian Nilai (Return Value)
Sebuah function juga dapat mengembalikan suatu nilai. Function hanya dapat
mengembalikan sebuah nilai saja. Nilai yang dikembalian dapat berupa suatu bilangan
(bulat, real), string, maupun array, dll. Berikut ini adalah contoh penggunaan function yang
mengembalikan nilai.
Contoh, function3.php:
<?php
function luas_persegi($panjang, $lebar)
{
return $panjang*$lebar;
}
$panjang = 5;
$lebar = 6;
echo "Luas Persegi dengan panjang $panjang dan lebar $lebar =
".luas_persegi($panjang, $lebar);
?>


Gambar 24, function3.php









44

SOAL-SOAL LATIHAN
1. Buatlah program untuk menghitung total nilai M bilangan prima yang pertama.
Sebagai contoh, bila M dimasukkan angka 3, maka diharapkan program akan
mengeluarkan total dari 3 bilangan prima yang pertama yaitu 10 ( didapat dari
2+3+5). Buatlah suatu fungsi tertentu yang dapat membantu penyelesaian program
secara keseluruhan.
2. Buatlah program menghitung tanggal berapa untuk 1 bulan ke depan tanpa
menghitung hari minggu.
3. Buatlah program untuk total hari yang telah dilalui dari tanggal lahir hingga
sekarang.




















45

BAB VI
STRING

6.1 Menampilkan String
String merupakan untaian karakter berupa teks yang penggunaannya dalam PHP ditulis
dengan menggunakan apitan berupa petik tunggal () atau petik ganda (). Untuk dapat
menampilkan string, dapat dilakukan dengan beberapa cara, yaitu :
a. Dengan menggunakan perintah printf
Contoh :
<?php
$year = 2012;
$month = 10;
$day = 1;
printf(%d - %d - %d, $day, $month, $year);
?>

b. Dengan menggunakan perintah print tanpa tanda kurung
Contoh :
<?php
print Universitas Sumatera Utara;
?>

c. Dengan menggunakan perintah echo
Contoh :
<?php
echo Teknologi Informasi;
?>

6.2 Fungsi Operasi String
6.2.1. addslashes()
Fungsi ini digunakan untuk menambahkan backslash (\) di setiap tanda kutip
dalam string. Sintaksnya adalah sebagai berikut.
addslashes(string)

46

Contoh penggunaan addslashes() adalah sebagai berikut.
<?php
$originalString = " Hari ini hari jumat ";
$test_addslashes = addslashes($originalString);
echo "Original string: ".$originalString." <br>";
echo "String dengan addslashes: ".$test_addslashes;
?>

6.2.2. explode()
Fungsi ini digunakan untuk memecah string menjadi komponen array
berdasarkan karakter pemisah tertentu. Sintaksnya adalah sebagai berikut.
explode(pemisah, string)
Contoh penggunaan explode() adalah sebagai berikut.
<?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]";
?>

6.2.3. implode()
Fungsi ini digunakan untuk menyatukan komponen array menjadi satu
kesatuan string. Sintaksnya adalah sebagai berikut.
implode(penggabung, komponen_array)
Contoh penggunaan implode() adalah sebagai berikut.
<?php
$pecahan = array("Hello", "World,", "I", "am", "Here!");
$disatukandenganspasi = implode(" ", $pecahan);
$disatukandengandash = implode("-", $pecahan);
echo "$disatukandenganspasi <br>";
echo "$disatukandengandash ";
?>



47

6.2.4. join()
Fungsi ini memiliki kegunaan yang sama dengan fungsi implode(), yaitu
menyatukan komponen array menjadi satu kesatuan string. Sintaksnya adalah
sebagai berikut.
join(penggabung, komponen_array)
Contoh penggunaan join() adalah sebagai berikut.
<?php
$pecahan = array("1", "1,", "2013");
$tanggal = join("/", $pecahan);
echo "$tanggal";
?>

6.2.5. md5()
Fungsi ini digunakan untuk mengenkripsi string yang bersifat satu arah
sehingga tidak bisa didekripsi. Sintaksnya adalah sebagai berikut.
md5(string)
Contoh penggunaan md5() adalah sebagai berikut.
<?php
$password = array("password");
$enkripsi = md5($password);
echo $enkripsi;
?>

6.2.6. number_format()
Fungsi ini digunakan untuk memberi format pada angka. Sintaksnya adalah
sebagai berikut.
number_format(angka, banyak_desimal, pemisah_desimal,
pemisah_ribuan)
Contoh penggunaan number_format() adalah sebagai berikut.
<?php
$number = 123564888.567;
$format_number = number_format($number, 2, ".", ",");
echo $format_number;
?>


48

6.2.7. split()
Fungsi ini memiliki kegunaan yang sama dengan fungsi explode(), yaitu
memecah string menjadi komponen array berdasarkan karakter pemisah
tertentu. Sintaksnya adalah sebagai berikut.
split(pemisah, string)
Contoh penggunaan split() adalah sebagai berikut.
<?php
$tanggal = "1/1/2013";
$pecahan = split("/", $tanggal);
echo "Tanggal: ".$pecahan[0]."<br>";
echo "Bulan: ".$pecahan[1]."<br>";
echo "Tahun: ".$pecahan[2];
?>

6.2.8. stripslashes
Fungsi ini digunakan untuk menghilangkan backslash (\) dalam string.
Sintaksnya adalah sebagai berikut.
stripslashes(string)
Contoh penggunaan stripslashes() adalah sebagai berikut.
<?php
$originalString = "Hari ini hari jum\at";
$test_stripslashes = stripslashes($originalString);
echo "Original string: ".$originalString." <br>";
echo "String dengan stripslashes: ".$test_stripslashes;
?>

6.2.9. strlen()
Fungsi ini digunakan untuk memperoleh panjang sebuah string. Sintaksnya
adalah sebagai berikut.
strlen(string)
Contoh penggunaan strlen() adalah sebagai berikut.
<?php
$test_strlen = "Fasilkom-TI";
echo "Panjang string = ".strlen($test_strlen);
?>

49

6.2.10. strpos()
Fungsi ini digunakan untuk menentukan posisi awal dari suatu substring dalam
sebuah string. Fungsi ini akan mengembalikan bilangan integer yang
merupakan urutan posisi substring tersebut. Sintaksnya adalah sebagai berikut.
strpos(string, substring)
Contoh penggunaan strpos() adalah sebagai berikut.
<?php
$num = "1234567855";
$posisi = strpos($num, "5");
echo "Posisi awal dari karakter 5 dalam string .$num.
adalah $posisi";
?>

6.2.11. strrchr()
Fungsi ini digunakan untuk mencari posisi terakhir sebuah karakter dalam
string. Sintaksnya adalah sebagai berikut.
strrchr(string, karakter)
Contoh penggunaan strrchr() adalah sebagai berikut.
<?php
$file = "img01.01.2013.jpg";
$ekstensi = strrchr($file, ".");
echo $ekstensi;
?>

6.2.12. strrpos()
Fungsi ini digunakan untuk menentukan posisi terakhir dari suatu substring
dalam sebuah string. Fungsi ini akan mengembalikan bilangan integer yang
merupakan urutan posisi substring tersebut. Sintaksnya adalah sebagai berikut.
strrpos(string, substring)
Contoh penggunaan strrpos() adalah sebagai berikut.
<?php
$num = "1234567855";
$posisi = strrpos($num, "5");
echo "Posisi terakhir dari karakter 5 dalam string .$num.
adalah $posisi";
?>
50


6.2.13. str_replace()
Fungsi ini digunakan untuk mengganti suatu string atau substring dalam sebuah
string dengan string atau substring lain. Sintaksnya adalah sebagai berikut.
str_replace(string_yang diganti, string_pengganti, string)
Contoh penggunaan str_replace() adalah sebagai berikut.
<?php
$originalString = "Fungsi manipulasi array";
$replace = str_replace("array", "string", $originalString);
echo "Old string - $originalString <br>";
echo "New String - $replace";
?>

6.2.14. strrev()
Fungsi ini digunakan untuk membalik string. Sintaksnya adalah sebagai
berikut.
strrev(string)
Contoh penggunaan strrev() adalah sebagai berikut.
<?php
$originalString = "String Capitalization 1234";
$test_rev = strrev($originalString);
echo "Old string - $originalString <br>";
echo "New String - $test_rev";
?>

6.2.15. strtolower()
Fungsi ini digunakan untuk mengubah semua karakter pada suatu string
menjadi huruf kecil. Sintaksnya adalah sebagai berikut.
strtolower(string)
Contoh penggunaan strtolower() adalah sebagai berikut.
<?php
$originalString = "String Capitalization 1234";
$lowerCase = strtolower($originalString);
echo "Old string - $originalString <br>";
echo "New String - $lowerCase";
?>
51


6.2.16. strtoupper()
Fungsi ini digunakan untuk mengubah semua karakter pada suatu string
menjadi huruf kapital. Sintaksnya adalah sebagai berikut.
strtoupper(string)
Contoh penggunaan strtoupper() adalah sebagai berikut.
<?php
$originalString = "String Capitalization 1234";
$upperCase = strtoupper($originalString);
echo "Old string - $originalString <br>";
echo "New String - $upperCase";
?>

6.2.17. str_word_count()
Fungsi ini digunakan untuk menghitung jumlah kata dalam string. Sintaksnya
adalah sebagai berikut.
str_word_count(string)
Contoh penggunaan str_word_count() adalah sebagai berikut.
<?php
$test_count = "Hello World";
echo str_word_count($test_count);
?>

6.2.18. substr ()
Fungsi ini digunakan untuk mengambil suatu bagian dari sebuah string.
Sintaksnya adalah sebagai berikut.
substr(string, posisi_awal, panjang_substring)
Contoh penggunaan substr() adalah sebagai berikut.
<?php
echo substr("Fakultas Ilmu Komputer dan Teknologi
Informasi", 0, 8);
echo "<br>";

echo substr("Fakultas Ilmu Komputer dan Teknologi
Informasi", 9, 5);
echo "<br>";
?>
52

6.2.19. ucwords()
Fungsi ini digunakan untuk mengubah karakter pertama dari sebuah kata dalam
string menjadi huruf kapital. Sintaksnya adalah sebagai berikut.
ucwords(string)
Contoh penggunaan ucwords() adalah sebagai berikut.
<?php
$titleString = "a title that could use some hELP";
$ucTitleString = ucwords($titleString);
echo "Old title - $titleString <br>";
echo "New title - $ucTitleString";
?>

6.2.20. ucfirst()
Fungsi ini digunakan untuk mengubah karakter pertama dari sebuah string
menjadi huruf kapital. Sintaksnya adalah sebagai berikut.
ucfirst(string)
Contoh penggunaan ucfirst() adalah sebagai berikut.
<?php
$titleString = "a title that could use some hELP";
$ucTitleString = ucfirst($titleString);
echo "Old title - $titleString <br>";
echo "New title - $ucTitleString";
?>

SOAL-SOAL LATIHAN

1. Disediakan string sebaga berikut:
"The market in general-purpose Java texts is an exceptionally well populated one, as can
be seen from just a cursory examination of the programming language section of any major
bookshop. Surprisingly, the market in Java network programming texts is a much less
exploited one, featuring very few texts. It is true that the better general purpose Java texts
provide some guidance on aspects of network programming, but this almost invariably
takes the form of rather superficial coverage, often relegated to the end of the particular
text and offering little more than an outline of the relevan concepts."

53

- Ubahlah semua huruf 'a' menjadi 'i'
- ubahlah semua huruf 'i' menjadi 'u'
- ubahlah semua huruf 'u' menjadi 'e'
- ubahlah semua huruf 'e' menjadi 'o'

2. Buatlah sebuah program untuk mengubah case dari string dengan ketentuan:
- jika jumlah kata ganjil tetapi jumlah karakter genap,
ubah string menjadi huruf kecil.
- jika jumlah kata genap tetapi jumlah karakter ganjil,
ubah string menjadi huruf besar.

3. Validasi data
- email : harus terdapat 1 buah '@' dan minimal satu '.';
- nomor handphone : digit harus 10, 11, 12
- nama : harus karakter











54

BAB VII
SESSION DAN COOKIE

7.1 Session
7.1.1 Pengertian Session
Session digunakan untuk mengirim data ke beberapa halaman web. Sebuah halaman web,
secara normal tidak akan mengirim suatu data dari satu halaman ke halaman yang lain.
Dengan kata lain, semua informasi tentang data tersebut akan hilang begitu halaman web
direload.
Karena session menyimpan data di server, maka data tersebut selanjutnya dapat
diakses di beberapa halaman. Setiap pengunjung akan diberikan sebuah session id yang
unik, sehingga masing-masing pengguna dapat dicatat aktivitasnya. Penggunaan session
sering diterapkan pada aplikasi web yang bersifat multiuser, seperti online shopping, web
based mail, e-banking, dll.
Data yang yang tersimpan dalam session bersifat temporary/ sementara. Biasanya
akan terhapus secara otomatis begitu user menutup browser, atau melakukan logout.

7.1.2 Memulai dan Mengakhiri Session
Sebelum Anda menyimpan data dalam session, terlebih dahulu harus memulai session.
Untuk memulai session, perintahnya adalah:
session_start()
Untuk mengakhiri session :
session_destroy()
Sedangkan untuk mengetahui pengenal session kita / session id :
session_id()
Contoh, session1.php :
<?php
session_start();
echo "ID session ketika session aktif = ".session_id();
session_destroy();
echo "<br>id session ketika session mati = ".session_id();
?>

55



Gambar 23, session1.php


7.1.3. Mendaftarkan dan Mengakses Variabel Session
Untuk menyimpan data ke dalam session, digunakan perintah
$_SESSION['nama_session'] = data;
Contoh, session2.php:
<?php
session_start();
$_SESSION['nama'] = "Rudi Hartati";
echo "Nama yang didaftarkan dalam session adalah:
".$_SESSION['nama']." <br><br>";
session_destroy();
?>


Gambar 24, session2.php

Untuk menghapus sebuah variabel yang telah didaftarkan di dalam session, maka gunakan
unset().
56

Contoh :
<?php
unset($_SESSION['nama']);
?>


7.2. Cookie
7.2.1. Pengertian Cookie
Berbeda dengan session yang menyimpan data di sisi server, cookie menyimpan
data di sisi client. Atas permintaan server web, browser kita akan membuat sebuah file teks
yang berisikan cookie, sehingga web server tersebut bisa mengakses cookie tersebut.
Cookie memiliki tanggal kadaluarsa, sehingga browser dapat menghapus cookie
yang kadaluarsa ketika mereka sudah melewati tanggal kadaluarsa yang telah ditetapkan.

7.2.2. Menciptakan dan Mengakses Cookie
Untuk membuat cookies, caranya dengan menggunakan perintah setcookie(name,
value, expiration). Perintah ini memiliki 3 buah argumen, yaitu
1. name, merupakan nama dari cookie. Nama cookie ini dapat dipanggil sewaktu-
waktu
untuk mendapatkan informasi. Jadi jangan sampai nama cookie ini lupa.
2. value, merupakan informasi atau data yang disimpan dalam cookie. Biasanya value
ini
berupa username atau tanggal pengaksesan suatu halaman web.
3. expiration, merupakan batas waktu penyimpanan cookie (dalam detik timestamp).
Apabila lama penyimpanan sebuah cookie melebihi batas waktu ini, maka secara
otomatis cookie tersebut akan terhapus.
Contoh, cookie1.php :
Pada contoh ini akan dibuat perintah PHP untuk membuat cookie yang digunakan
untuk menyimpan data waktu kunjungan terakhir seorang user yang mengakses suatu
halaman web. Cookie ini diberi batas waktu sampai 2 bulan (60 hari) penyimpanan.
<?php
$duabulanlagi = time() + 60 * 24 * 3600;
setcookie("KunjunganTerakhir", date("G:i - m/d/y"), $duabulanlagi);
echo "Cookie berhasil dibuat";
?>

57


Gambar 25, cookie1.php

Apabila cookie belum terhapus, maka kita dapat mengambil informasi dari cookie.
Untuk mengecek apakah suatu cookie sudah terhapus atau belum menggunakan perintah
isset($_COOKIE['nama_cookie'])
Apabila cookie masih ada, maka perintah di atas menghasilkan TRUE. Sedangkan
apabila sudah terhapus, akan menghasilkan nilai FALSE. Sedangkan untuk mengambil
informasi dari cookie, menggunakan perintah
$_COOKIE['nama_cookie']
Berikut ini contoh perintah PHP untuk menampilkan tanggal kunjungan terakhir user
yang mengunjungi halaman web.
Contoh, cookie2.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";
?>

58


Gambar 26, cookie2.php


SOAL-SOAL LATIHAN
1. Buatlah sebuah form login dengan menggunakan session dan cookie.





















59

BAB VIII
MYSQL

8.1. Pengenalan MySQL
MySQL adalah salah satu Relational Database Management System (RDBMS) diantara
banyak RDBMS, seperti MS SQL, Oracle, PostgreSQL, dan lain-lain. MySQL mendukung
SQL (Structured Query Language). SQL merupakan perintah perintah query yang dapat
digunakan untuk mengelola suatu database.
MySQL merupakan Database Server yang bersifat :
1. Open Source
2. Multiplatform
3. Berbasis database relasional
MySQL memiliki dua lisensi yaitu freeware dan shareware, sehingga bisa digunakan
untuk kepentingan pribadi hingga korporat berskala kecil dan besar.
Untuk dapat mengelola database dengan MySQL, terdapat dua buah cara, yaitu dengan
menggunakan console atau dengan menggunakan phpmyadmin yang sudah tersedia di
dalam paket xampp dan memiliki GUI (Graphical User Interface). Dalam hal ini, kita akan
mempelajari bagaimana menggunakan MySQL berbasis console.
Adapun langkah-langkah untuk menggunakan MySQL melalui console adalah
sebagai berikut.
1. Buka terminal dan masuk ke direktori xampp di c:/xampp . Kemudian ketikkan
xampp_start.exe dan Enter.
2. Masuk ke direktori c:/xampp/mysql/bin.
3. Ketik perintah mysql u root

Untuk keluar dari MySQL, cukup ketikkan perintah exit.






60

8.2. Tipe Data pada MySQL
Tipe data Keterangan
INT(M) [UNSIGNED] Angka -2147483648 s/d 2147483647
FLOAT(M,D) Angka pecahan
DATE Tanggal dengan format : YYYY-MM-DD
DATETIME Tanggal dan Waktu dengan format :
YYYY-MM-DD HH:MM:SS
CHAR(M)

String dengan panjang tetap sesuai dengan yang
ditentukan. Panjangnya 1-255 karakter
VARCHAR(M)

String dengan panjang yang berubah-ubah sesuai
dengan yang disimpan saat itu. Panjangnya 1 255
karakter
BLOB Teks dengan panjang maksimum 65535 karakter
LONGBLOB Teks dengan panjang maksimum 4294967295
Karakter

8.3. Dasar-Dasar MySQL
8.3.1. Membuat Database
Untuk membuat database, sintaks yang digunakan adalah sebagai berikut
CREATE DATABASE nama_database;
Contoh penggunaan:
CREATE DATABASE pemrograman_internet;

8.3.2. Memilih Database
Untuk memilih database, sintaks yang digunakan adalah sebagai berikut
USE nama_database;
Contoh penggunaan:
USE pemrograman_internet;

8.3.3. Menghapus Database
Untuk menghapus database, sintaks yang digunakan adalah sebagai berikut
DROP DATABASE nama_database;

61

Contoh penggunaan:
DROP DATABASE pemrograman_internet;

8.3.4. Membuat Table
Setelah memilih database, maka kita dapat membuat sebuah tabel. Untuk
membuat sebuah tabel, gunakan perintah CREATE TABLE. Penulisannya
adalah sebagai berikut :
CREATE TABLE nama_table
(
Nama_field1 tipe1(ukuran1),
Nama_field2 tipe2(ukuran2),
..
) ;

Contoh :
CREATE TABLE mahasiswa
(
Nim varchar(9),
Nama varchar(100),
Kelas enum(A,B)
);

8.4. Query Sederhana
8.4.1. Insert
Insert digunakan untuk menambah data ke dalam tabel. Sintaksnya adalah
sebagai berikut.
INSERT INTO nama_tabel(nama_field1, nama_field2, )
VALUES(data1, data2, )
Contoh :
INSERT INTO mahasiswa(nim, nama, kelas) VALUES(091402043,
Andin, A);

8.4.2. Update
Update digunakan untuk mengubah nilai pada suatu data di dalam tabel.
Sintaksnya adalah sebagai berikut.
62

UPDATE nama_tabel SET nama_field1 = data1, nama_field2 = data2,
WHERE [kondisi]
Contoh :
UPDATE mahasiswa SET nama = Ari WHERE nim = 091402043;

8.4.3. Delete
Delete digunakan untuk menghapus data pada tabel. Sintaksnya adalah sebagai
berikut.
DELETE FROM nama_tabel WHERE [kondisi]
Contoh :
DELETE FROM mahasiswa nim = 091402043;

8.4.4. Select
Select digunakan untuk menampilkan data dari sebuah atau beberapa tabel.
Sintaksnya adalah sebagai berikut.
SELECT nama_field1, nama_field2, .. FROM nama_tabel
Contoh :
SELECT nim FROM mahasiswa;
















63

SOAL-SOAL LATIHAN
1. Buatlah sebuah database bernama "perpustakaan" yang terdiri dari 3 buah tabel,
yaitu
- anggota
+----------------------+---------------+--------+--------+-----------+--------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+---------------+--------+-------+-----------+--------------------+
| id_anggota | int(11) | NO | PRI | NULL | auto_increment |
| nama_anggota | varchar(50) | YES | | NULL | |
| alamat | varchar(100) | YES | | NULL | |
| jenis_kelamin | enum('P','L') | YES | | NULL | |
| tempat_lahir | varchar(30) | YES | | NULL | |
| tanggal_lahir | date | YES | | NULL | |
+-----------------------+----------------+-------+--------+-----------+-------------------+
- buku
+---------------+--------------+--------+------+-----------+---------------------+
| Field | Type | Null | Key | Default | Extra |
+---------------+--------------+--------+-------+-----------+--------------------+
| id_buku | int(11) | NO | PRI | NULL | auto_increment |
| judul_buku | varchar(50) | YES | | NULL | |
| pengarang | varchar(30) | YES | | NULL | |
| penerbit | varchar(30) | YES | | NULL | |
| keterangan | text | YES | | NULL | |
+---------------+---------------+-------+-------+-----------+--------------------+









64

- transaksi
+-------------------------------+---------+--------+-----+----------+---------------------+
| Field | Type | Null | Key | Default | Extra |
+-------------------------------+---------+--------+-----+----------+---------------------+
| id_transaksi | int(11) | NO | PRI | NULL | auto_increment |
| id_anggota | int(11) | NO | PRI | 0 | |
| id_buku | int(11) | NO | PRI | 0 | |
| tanggal_peminjaman | date | YES | | NULL | |
| tanggal_pengembalian | date | YES | | NULL | |
+-------------------------------+---------+-------+------+-----------+--------------------+

Isi tabel tersebut dengan data berikut.
+------------+--------------+----------------------+---------------+--------------+---------------+
| id_anggota | nama_anggota | alamat | jenis_kelamin | tempat_lahir | tanggal_lahir
|
+------------+--------------+----------------------+---------------+--------------+---------------+
| 1 | Nanda | Jl. Matahari No. 1 | P | Medan | 1992-01-01 |
| 2 | Hari | Jl. Matahari No. 5 | L | Pekanbaru | 1995-09-14 |
| 3 | Ridho | Jl. Matahari No. 590 | L | Jakarta | 1991-09-28 |
| 4 | Ilmi | Jl. Matahari No. 11 | P | Jakarta | 1991-11-28 |
| 5 | Sheila | Jl. Matahari No. 11 | P | Yogyakarta | 1994-11-28 |
+------------+--------------+----------------------+---------------+--------------+---------------+

| id_buku | judul_buku | pengarang | penerbit | keterangan
|
+---------+-------------------------+----------------+------------------------+---------------------------
---------------------------------+
| 1 | Algoritma dengan Java | M. Sjukani | Mitra Wacana Media | Menjelaskan
algoritma pemrograman dengan bahasa Java |
| 2 | Artificial Intelligence | Sri Kusumadewi | Gramedia Pustaka Utama | Buku ini
berisi tentang pembagian kecerdasan buatan |
| 3 | PHP | Sri Kusumadewi | Gramedia Pustaka Utama | Buku ini berisi
tentang cara pembuatan aplikasi dengan PHP |
65

+---------+-------------------------+----------------+------------------------+---------------------------
---------------------------------+
+--------------+------------+---------+--------------------+----------------------+
| id_transaksi | id_anggota | id_buku | tanggal_peminjaman | tanggal_pengembalian |
+--------------+------------+---------+--------------------+----------------------+
| 1 | 1 | 1 | 2013-10-16 | 2013-10-23 |
| 2 | 1 | 3 | 2013-10-16 | 2013-10-23 |
| 3 | 4 | 3 | 2013-10-23 | 2013-10-30 |
| 4 | 3 | 1 | 2013-10-25 | 2013-11-02 |
+--------------+------------+---------+--------------------+----------------------+

tampilkan data transaksi seperti tabel berikut.
+--------------+-------------------------+--------------------+----------------------+
| nama_anggota | judul_buku | tanggal_peminjaman | tanggal_pengembalian |
+--------------+-------------------------+--------------------+----------------------+
| Nanda | Algoritma dengan Java | 2013-10-16 | 2013-10-23 |
| Nanda | PHP | 2013-10-16 | 2013-10-23 |
| Ilmi | PHP | 2013-10-23 | 2013-10-30 |
| Ridho | Artificial Intelligence | 2013-10-25 | 2013-11-02 |
+--------------+-------------------------+--------------------+----------------------+
tampilkan data buku yang pernah dipinjam dan berapa kali buku tersebut dipinjam, seperti
tabel berikut.
+-----------------------+----------------+------------------------+-------------------+
| judul_buku | pengarang | penerbit | dipinjam_sebanyak |
+-----------------------+----------------+------------------------+-------------------+
| Algoritma dengan Java | M. Sjukani | Mitra Wacana Media | 2 |
| PHP | Sri Kusumadewi | Gramedia Pustaka Utama | 2 |
+-----------------------+----------------+------------------------+-------------------+





66

tampilkan data buku yang memiliki keterangan tentang kecerdasan buatan, seperti tabel
berikut.
+---------+-------------------------+----------------+------------------------+---------------------------
--------------------------+
| id_buku | judul_buku | pengarang | penerbit | keterangan
|
+---------+-------------------------+----------------+------------------------+---------------------------
--------------------------+
| 2 | Artificial Intelligence | Sri Kusumadewi | Gramedia Pustaka Utama | Buku ini
berisi tentang pembagian kecerdasan buatan |
+---------+-------------------------+----------------+------------------------+---------------------------
--------------------------+





















67

BAB IX
PHP Database

9.1 Koneksi ke Database
Sebelum kita melakukan koneksi ke MySQL ada beberapa parameter yang harus kita
ketahui terlebih dahulu. Untuk melakukan koneksi, dibutuhkan:
1. Server name, merupakan nama server atau no. IP server dimana MySQL tersebut
diinstall.
2. Username, merupakan nama user yang diberikan wewenang untuk mengakses
database dalam MySQL.
3. Password, merupakan password yang dimiliki username dalam rangka autentifikasi.
4. Database name, merupakan nama database dalam MySQL yang ingin kita akses.
Sedangkan perintah PHP untuk melakukan koneksi ke MySQL adalah
mysql_connect(nama_server, username, password);

Contoh, koneksi1.php :
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
echo "Koneksi ke MySQL Sukses<br>";
?>


Gambar 27, koneksi1.php


68

Perintah di atas akan menampilkan pesan Koneksi ke MySQL sukses apabila koneksi
telah berhasil, sedangkan apabila gagal akan menampilkan pesan kesalahan.
Memilih Database
Setelah koneksi berhasil, selanjutnya kita dapat memilih database yang kita
inginkan. Adapun perintahnya menggunakan :
mysql_select_db(nama_database);
Dengan menggunakan contoh database teknologi_informasi pada bab
sebelumnya, kita akan mencoba untuk melakukan koneksi ke database tersebut.
Contoh, koneksi2.php:
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
echo "Connected to MySQL<br />";
mysql_select_db("teknologi_informasi") or die(mysql_error());
echo "Connected to Database";
?>


Gambar 28, koneksi2.php

9.2 Proses Input Data
Proses Input data ke dalam sebuah database menggunakan query INSERT seperti yang
sudah dijelaskan pada bab sebelumnya. Di dalam bahasa PHP, tersedia sebuah fungsi
untuk melakukan berbagai jenis query, fungsi tersebut adalah fungsi mysql_query().

mysql_query(kalimat_query);

69

Misalnya, terdapat sebuah tabel bernama example yang mempunyai sebuah
kolom bernama nama, maka contoh penggunaan mysql_query() untuk melakukan INSERT
ke dalam tabel tersebut adalah :

<?php
$nama = $_POST[nama];
$input = mysql_query(INSERT INTO example(nama)
VALUES($nama)) or die(mysql_error());
echo Berhasil input;
?>

Untuk mempermudah programmer dalam melacak kesalahan pada saat
menggunakan fungsi mysql_query() , maka sebaiknya digunakan fungsi die() dan
mysql_error(). Fungsi die() akan secara otomatis mematikan halaman sedangkan fungsi
mysql_error() berfungsi untuk menampilkan pesan kesalahan yang berhubungan dengan
query mysql.

9.2.1 Metode POST dan GET
Terdapat dua buah metode pengiriman, yaitu POST dan GET. Untuk melihat
perbedaan post dan get, kita akan sedikit mengubah file HTML form dan file submit.php
sebelumnya.
<html>
<body>
<form action=submit.php method=GET >
Masukkan nama = <input type=text name=nama >
<input type=submit value=Kirim >
</form>
</body>
</html>

Submit.php
<?php
$nama = $_GET[nama];
$input = mysql_query(INSERT INTO example(nama)
VALUES($nama)) or die(mysql_error());
Echo Berhasil input;
?>

70

Metode pengiriman data input dari form menggunakan get, dan dalam submit.php
$_POST diganti dengan $_GET. Apabila aplikasi di atas dijalankan, maka secara sekilas
hasil yang tampak sama dengan ketika digunakan metode post. Namun, coba perhatikan
URL yang tampak ketika muncul. Pada URL tersebut terdapat tambahan ?nama=... setelah
nama file. 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 ditampilkan pada URL. Sehingga inilah perbedaan antara keduanya. Dengan
demikian, hendaknya kita jangan menggunakan metode get ketika akan memproses data
input melalui form. Bayangkan seandainya form tersebut digunakan untuk login atau untuk
keperluan yang menyangkut privasi. Apabila Anda gunakan metode get, maka semua input
data akan ditampilkan pada URL. Bisa-bisa password Anda akan kelihatan di URL (jika
terdapat input password ketika login).
Untuk metode get, biasanya digunakan untuk input data melalui link (bukan
melalui form). Untuk contoh aplikasinya dapat dilihat pada contoh-contoh aplikasi pada
bab-bab berikutnya.
POST GET
Nilai variabel tidak ditampilkan
di URL
Nilai variabel ditampilkan di URL sehingga
user dapat dengan mudah memasukkan nilai
variabel baru
Lebih aman Kurang aman
Tidak dibatasi panjang string Dibatasi panjang string sampai 2047 karakter
Pengambilan variabel dengan
$_POST Pengambilan variabel dengan $_GET
Biasanya untuk input data
melalui form Biasanya untuk input data melalui link
Digunakan untuk mengirim
data-data penting seperti
password
Digunakan untuk mengirim data-data tidak
penting


9.3 Menampilkan Data dari Database
Mengambil data di sini terkait dengan penggunaan query SELECT. Berikut ini contoh
untuk menampilkan record pertama dari tabel example.
71

<?php
mysql_connect("localhost", "root", "") 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 $result
$record = mysql_fetch_array( $result );
// menampilkan data dari $record untuk setiap field
echo "Namanya: ".$record['nama']. "<br>";
echo "Umurnya: ".$record['umur'];
?>

Perintah di atas hanya akan menampilkan record pertama dari tabel example.
Lalu, bagaimana caranya untuk menampilkan record yang lebih dari satu? Untuk
menampilkan record yang lebih dari satu, kita gunakan looping. Perhatikan contoh berikut
ini.
<?php
mysql_connect("localhost", "root", "") 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>";
}
?>

9.4 Mengubah dan Menghapus Data
Untuk dapat mengubah dan menghapus data dapat digunakan perintah query
UPDATE dan DELETE. Sebagai contoh :
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("test") or die(mysql_error());
$update = mysql_query("UPDATE example SET umur = 21 WHERE
nama = budiman");
$hapus = mysql_query("DELETE FROM example WHERE nama =
surti");
?>
72

SOAL LATIHAN
1. Buatlah sebuah form pendaftaran sehingga menghasilkan seperti ini






















73

BAB X
APLIKASI BERBASIS WEB

10.1 Membuat Database
Aplikasi sederhana yang akan dibahas dalam buku ini adalah aplikasi sederhana Database
Mahasiswa. Untuk dapat membuat aplikasi tersebut, terlebih dahulu kita harus merancang
database yang akan digunakan di dalam aplikasi tersebut.
Untuk mempermudah pengembang dalam pembuatan database, maka
digunakanlah sebuah aplikasi manajemen database bernama phpmyadmin. phpmyadmin
adalah sebuah tool bersifat free dan opensource yang digunakan untuk mempermudah
manajemen database mysql dan digunakan melalui web browser. Dengan phpmyadmin,
kita dapat melakukan pembuatan database, pembuatan tabel, seleksi, update, delete, setting
privilege, user management, dan lain-lain.
Untuk membuka phpmyadmin, cukup ketikkan localhost/phpmyadmin kemudian
tkan Enter pada address bar web browser Anda.



Gambar 29, tampilan phpmyadmin



74

1. Nama Database : teknologi_informasi
2. Tabel 1 : user
Nama Kolom Tipe(Panjang) Auto Increment
id_user int(5) Yes
username Varchar(100)
password Varchar(100)
level_user Enum(a,u)
pro_pic Varchar(100)
3. Tabel 2 : mahasiswa
Nama Kolom Tipe(Panjang) Auto Increment
nim Varchar(9)
nama Varchar(100)
kelas Enum(A,B)
4. Tabel 3 : modul
Nama Kolom Tipe(Panjang) Auto Increment
id_modul Int(5) Yes
nama_modul Varchar(100)
location Varchar(100)
5. Table 4 : hak_akses
Nama Kolom Tipe(Panjang) Auto Increment
level_user Enum(a,u)
id_modul Int(5)

10.2 Mengisi Database
- Tabel User
Id_user Username Password Level_user Pro_pic
1 Admin 12345(MD5) a
2 User 12345(MD5) u





75

- Tabel Modul
Id_modul Nama_modul location
1 Profile Picture update_prof_pic/index.php
2 Tambah Mahasiswa tambah_mahasiswa/index.php
3 Ganti Password change_pass/index.php
4 Control Panel privilege_setting/index.php
5 Mahasiswa mahasiswa/index.php

- Tabel Hak Akses
Id_modul Level_user
1 a
2 a
3 a
4 a
5 a
1 u
2 u
3 u

- Tabel Mahasiswa
Nim Nama Kelas
111402002 Fahrunnisa Khairani B
111402004 Carmelo Tumanggor B
111402006 Faisal Fadli B
111402008 Anwar Pasaribu B
111402010 Irzal Sofyan B
111402012 Masyunita B
111402014 Environt Spratly B


10.3 Membuat Struktur Direktori
Untuk mempermudah pengembang dalam pembuatan aplikasi, dibutuhkan sebuah
standar dalam pembuatan aplikasi.
76

define
uploads
template
module
include
phplib
jslib
APLIKASI
DATABASE
MAHASISWA
tambah_mahasisw
a
privilege_setting
mahasiswa
change_pass
authentication
update_prof_pic
Index.php
files
files
files
files
files
files
files
files
files
config.php
define.php
deafult
css
Index.php
style.css
Index.php

Keterangan :
Kotak berwarna biru : folder
Kotak berwarna hijau : file

10.4. Penulisan Kode Program
10.4.1 File Index.php
File index.php merupakan file root dari keseluruhan sistem.
index.php
<?php
session_start();

error_reporting(E_ALL ^ E_NOTICE);

include "define/define.php";
include "define/config.php";
77

include "include/phplib/safeinput.php";

safeinput();

if(!isset($_SESSION["id_user"]))
include "module/authentication/index.php";
else
{
if(isset($_GET["tpl"]) && $_GET["tpl"] == "no")
include "module/index.php";
else
include "template/default/index.php";
}
?>

10.4.2 Folder Define
Folder define berisi file-file setting seperti config.php dan define.php.
File Define.php
File ini adalah file yang menyimpan informasi variabel global. Variabel global
tersebut akan digunakan di seluruh file php yang ada di sistem. Dalam hal ini,
variabel global kita beri nama APLIKASI.
define.php
<?php
define("APLIKASI","DM");
?>

File Config.php
File ini adalah configuration file. File ini menyimpan setting username dan
password mysql. File ini juga digunakan untuk mengatur database yang
digunakan.
config.php
<?php
defined("APLIKASI") or die("Restricted Access");

$koneksi = mysql_connect("localhost", "root", "") or
die("Gagal koneksi mysql");
$database = mysql_select_db("teknologi_informasi") or
die("Gagal memilih database");
?>

10.4.3. Folder Include
Folder include berisikan file-file pustaka(library) yang dibutuhkan di dalam
sistem, baik pustaka php maupun pustaka javascript. Folder include berisi dua
buah folder, yaitu folder jslib dan phplib.
78

Folder jslib
Folder jslib berisi pustaka javascript. Di dalam pembuatan aplikasi ini,
dibutuhkan sebuah pustaka javascript bernama jQuery. File yang berada dalam
folder ini hanyalah file jquery tersebut, yaitu : jquery-1.7.2.min.js . File ini
dapat didownload di halaman resminya, di www.jquery.com.
Folder phplib
Folder phplib berisi pustaka php. Di dalam folder ini terdapat sebuah
pustaka php bernama fpdf yang berguna untuk melakukan print to pdf. Selain
itu, terdapat juga sebuah file library buatan bernama safeinput.php yang
menyimpan fungsi filtering / pengamanan data transfer baik metode POST
maupun GET untuk mencegah sql injection.
safeinput.php
<?php
function safeinput()
{
foreach ($_GET as $key => $value) {
$_GET[$key] = mysql_real_escape_string($value);
}

foreach ($_POST as $key => $value)
{
if(!is_array($_POST[$key]))
$_POST[$key] =
mysql_real_escape_string($value);
else
{
foreach($_POST[$key] as $key2 => $value2)
{
if(!is_array($_POST[$key][$key2]))
$_POST[$key][$key2]=
mysql_real_escape_string ($value2);
else
{
foreach($_POST[$key][$key2] as $key2 =>
$value3)
{
$_POST[$key][$key2][$key2]=
mysql_real_escape_string($value3);
}
}
}
}
}
}


79

function datetodatabase($string)
{
$explode = explode("-", $string);

return $explode[2]."-".$explode[1]."-".$explode[0];
}

function databasetodate($string)
{
$explode = explode("-", $string);

return $explode[2]."-".$explode[1]."-".$explode[0];
}

?>

10.4.4. Folder Module
Folder module merupakan folder dimana modul-modul utama sistem berada.
Terdapat 6 buah modul di dalam sistem ini yaitu:
Autentikasi
Profile Picture
Ganti Password
Data Mahasiswa
Registrasi Mahasiswa
Control Panel
Di setiap folder-folder tersebut, terdapat sebuah file controller index.php yang
berfungsi sebagai pengontrol file. Mengenai isi dari masing-masing folder modul tersebut
akan dibahas pada materi selanjutnya.

10.4.5. Folder Template
Folder ini berisikan sebuah template file yang akan digunakan untuk seluruh sistem.
Di dalam folder ini terdapat sebuah file template index.php, file css style.css, dan folder
images yang berisikan semua gambar yang digunakan oleh sistem.
index.php
<?php
defined("APLIKASI") or die("Restricted Access");
?>
<html>
<head>
80

<title>Aplikasi Database Mahasiswa</title>
<link type="text/css" href="template/default/css/style.css"
rel="stylesheet" media="screen" />
<script type="text/javascript" src="include/jslib/jquery-
1.7.2.min.js"></script>
</head>
<body>
<div id="wrapper">
<div id="left_side">
<?php
// menampilkan profile picture
// mulai sini
$q = mysql_query("SELECT propic FROM user WHERE
id_user = '".$_SESSION["id_user"]."'") or die(mysql_error());
$d = mysql_fetch_array($q);
echo "<center><img src='uploads/".$d["propic"]."'
width='100px' height='100px'></img><br>";
echo "<a href='index.php'>".$_SESSION["username"]."</a></center>";
// sampe sini
?>
<ul>
<?php
// menampilkan menu berdasarkan hak akses
$q = mysql_query("select modul.nama_modul from
hak_akses, modul where hak_akses.level_user =
'".$_SESSION["level_user"]."' and hak_akses.id_modul = modul.id_modul")
or die(mysql_error());
while($d = mysql_fetch_array($q))
{
?>
<li><a href="?module=<?php echo
$d["nama_modul"]; ?>" ><?php echo $d["nama_modul"]; ?></a></li>
<?php
}
?>
<li><a href="?module=Authentication&action=logout"
>Logout</a></li>
</ul>
</div>
<div id="right_side">
<?php
if(empty($_GET["module"]))
echo "<h2>HALAMAN UTAMA</h2>
<p>Selamat datang <a
href='index.php'>".$_SESSION["username"]."</a></center>, ini adalah
Halaman Utama. Silahkan memilih salah satu menu di sebelah kiri.</p>";
else
include "module/index.php";
?>
</div>
</div>
</body>
</html>
81


style.css

body{
background-color:#CFC;
}
#wrapper{
width:800px;
height:450px;
background:#FFFFFF;
margin-left:auto;
margin-right:auto;
margin-top:100px;
}
#left_side{
float:left;
width:250px;
height:100%;
background-color:#96C;
}
#left_side img{
margin-top:30px;
border:#FFF solid thick;
}
#left_side a{
color:#FFF;
text-decoration:none;
font:"Courier New", Courier, monospace;
font-size:18px;
text-transform:uppercase;
}
#left_side a:hover{
margin-left:10px;
}
#left_side ul li{
text-decoration:none;
list-style:none;
margin-top:5px;
}
#right_side{
float:left;
width:500px;
height:100%;
padding-left:20px;
color:#666;
}
#right_side a{
color:#666;
text-decoration:none;
text-transform:lowercase;
}
#right_side a:hover{
color:#999;
82

text-decoration:none;
text-transform:lowercase;
}
#right_side h2{
text-transform:uppercase;
text-align:center;
color:#666;
}
#right_side table{
width:100%;
}
#right_side table tr th{
text-transform:uppercase;
font-weight:normal;
background-color:#96C;
color:#FFF;
}
#right_side table tr th a{
text-transform:uppercase;
text-decoration:none;
font-weight:normal;
background-color:#96C;
color:#FFF;
}
#right_side table tr th a:hover{
text-transform:uppercase;
text-decoration:none;
font-weight:normal;
background-color:#96C;
color:#FFF;
padding-left:3px;
}
#right_side table tr td{
padding-left:10px;
}
#right_side input[type=text]{
width:100%;
}
#right_side input[type=password]{
width:100%;
}
#right_side input[type=submit]{
width:300px;
margin:20px;
}
.paging{
margin:2px;
}
.aktif{
color:#FFF;
}


83

10.4.6. Folder Uploads
Folder uploads berisi gambar-gambar profil user yang diupload ke sistem.

10.5 Modul Modul Sistem
Terdapat enam buah modul di dalam sistem, yaitu autentikasi, profile picture, ganti
password, registrasi mahasiswa, data mahasiswa, dan control panel. Seperti yang sudah
dibahas sebelumnya, folder module merupakan tempat modul-modul sistem berada. Di
dalam folder module, terdapat sebuah file controller index.php yang berfungsi sebagai
pengontrol modul sistem.
10.5.1 File Controller Index.php
File controller index.php digunakan untuk melakukan kontrol terhadap modul.
index.php
<?php
defined("APLIKASI") or die("Restricted Access");

$q = mysql_query("SELECT modul.location FROM hak_akses, modul
WHERE hak_akses.level_user = '".$_SESSION["level_user"]."' AND
hak_akses.id_modul = modul.id_modul AND modul.nama_modul =
'".$_GET["module"]."' ") or die(mysql_error());
if(mysql_num_rows($q)>0)
{
$fetch = mysql_fetch_array($q);
include "module/".$fetch["location"];
}
else if($_GET["module"]=="Authentication")
include "module/authentication/index.php";
?>

10.5.2 Autentikasi
Autentikasi adalah sebuah modul yang berfungsi mengatasi masalah login dan
logout sistem. Terdapat dua buah level user yang dapat melakukan login di dalam sistem
ini, yaitu level Administrator dan level User. Masing-masing level tersebut memiliki hak
akses yang berbeda, oleh karena itu sistem harus mempu membedakan apakah user yang
melakukan login berlevel Administrator atau berlevel User.
Di setiap module, terdapat sebuah file controller yang berfungsi mengontrol action.
Di dalam modul autentikasi, terdapat tiga buah action, yaitu login_submit, logout, dan
sebuah default action yang menampilkan halaman login.
index.php
<?php
defined("APLIKASI") or die("Restricted Access");
84


if($_GET["action"] == "login_submit")
include "module/authentication/login_submit.php";
else if($_GET["action"] == "logout")
include "module/authentication/logout.php";
else
include "module/authentication/login.php";
?>

login.php
<?php
defined("APLIKASI") or die("Restricted Access");
?>
<body style=" background-color:#CFF;">
<div style="width:300px; height:180px; background-color:#FFF;
border-left:#96C thick solid; margin: 100px auto 0 auto; padding: 25px;"
>
<center><h2>Aplikasi Database Mahasiswa</h2></center>
<form
action="?tpl=no&module=authentication&action=login_submit" method="post"
>
<table>
<tr>
<th width="120px">Username</th>
<td><input type="text" name="username"
></td>
</tr>
<tr>
<th>Password</th>
<td><input type="password" name="password"
></td>
</tr>
</table>
<br />
<input type="submit" value="Login" style="width:150px;
float:right">
</form>
</div>
</body>

login_submit.php
<?php
defined("APLIKASI") or die("Restricted Access");
$username = $_POST["username"];
$password = $_POST["password"];

// mencari user apakah terdaftar di database
$query = mysql_query("SELECT * FROM user WHERE username =
'".$username."' AND password = MD5('".$password."')") or
die(mysql_error());
if(mysql_num_rows($query) == 1)
{
$fetch = mysql_fetch_array($query);
85

// mendaftarkan id user dan username ke dalam session
$_SESSION["username"] = $username;
$_SESSION["id_user"] = $fetch["id_user"];
$_SESSION["level_user"] = $fetch["level_user"];
?>
<script language="javascript">document.location.href =
"index.php"; </script>
<?php
}
else
{
?>
<script language="javascript">
alert("Username atau password Anda salah!");
document.location.href = "index.php";
</script>
<?php
}
?>

logout.php
<?php
defined("APLIKASI") or die("Restricted Access");
session_destroy();
?>
<script language="javascript">document.location.href="index.php";
</script>


Gambar 30, halaman login
86


Gambar 31, tampilan login ketika salah menginputkan username atau password


Gambar 32, Tampilan Halaman Utama ketika berhasil login




87

10.5.3 .Edit Foto Profil
Terdapat tiga buah file di dalam modul ini, yaitu :
index.php
<?php
defined("APLIKASI") or die("Restricted Access");

if($_GET["action"] == "proses")
include "module/update_prof_pic/upload_proses.php";
else
include "module/update_prof_pic/edit_gambar.php";
?>

edit_gambar.php
<?php
defined("APLIKASI") or die("Restricted Access");
?>
<h2>Edit Foto Profil</h2>
<form enctype="multipart/form-data" method="post"
action="?module=Profile Picture&action=proses">
<table border="0">
<tr>
<th>Pilih Foto</th>
<td><input type="file" name="propic"></td>
</tr>
</table>
<input type="submit" name="tombol" value="Upload">
</form>

upload_proses.php
<?php
defined("APLIKASI") or die("Restricted Access");

$lokasi_file = $_FILES['propic']['tmp_name'];
$tipe_file = $_FILES['propic']['type'];
$nama_file = $_FILES['propic']['name'];
$direktori = "uploads/$nama_file";

if (!empty($lokasi_file))
{
move_uploaded_file($lokasi_file,$direktori);

$sql = "UPDATE user SET propic = '$nama_file' WHERE
id_user = ".$_SESSION["id_user"];
$aksi = mysql_query($sql) or die(mysql_error());

if (!$aksi)
{
?>
88

<script language="javascript" >
alert("Maaf gagal memasukan gambar");

document.location.href="?module=Update Profile Picture";
</script>
<?php
}
else
{
?>
<script language="javascript" >
alert("Selamat, gambar berhasil di
upload");
document.location.href="?";
</script>
<?php
}
}
else
{
?>
<script language="javascript" >
alert("Terjadi kesalahan");
document.location.href="?";
</script>
<?php
}
?>


Gambar 33, halaman edit foto profil
89


Gambar 34, halaman edit foto profil ketika tombol browse ditekan


Gambar 35, Tampilan ketika proses edit foto profil berhasil
90


Gambar 36, Tampilan foto profil berubah (di sebelah kiri atas)

10.5.4. Registrasi Mahasiswa
Modul ini berfungsi untuk meregristrasi mahasiswa baru. Modul ini mengecek
terlebih dahulu apakah nim yang diinputkan sudah terlebih dahulu ada di database atau
tidak. Selain itu, formulir registrasi ini juga dilengkapi dengan validasi.
Di dalam modul ini, terdapat empat buah file, yaitu :
index.php
<?php
defined("APLIKASI") or die("Restricted Access");

if($_GET["action"] == "registrasi_mahasiswa_submit")
include
"module/tambah_mahasiswa/registrasi_mahasiswa_submit.php";
else if($_GET["action"] == "check")
include "module/tambah_mahasiswa/check_nim.php";
else
include
"module/tambah_mahasiswa/registrasi_mahasiswa.php";
?>

check_nim.php
<?php
defined("APLIKASI") or die("Restricted Access");

91

$q = mysql_query("SELECT * FROM mahasiswa WHERE nim =
'".$_GET["nim"]."'");
if(mysql_num_rows($q)==0)
echo "tidak ada";
else
echo "sudah ada";
?>

registrasi_mahasiswa.php
<?php
defined("APLIKASI") or die("Restricted Access");
?>
<script type="text/javascript">
$(document).ready(function() {
function cek_nim(nim)
{
var hasil;
$.ajax({
type : "GET",
url : "?tpl=no&module=Tambah
Mahasiswa&action=check&nim="+nim,
async : false,
success : function(data){
if(data == "tidak ada")
hasil = true;
else
hasil = false;
}
});
return hasil;
}

$("#txtnim").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
if($("#txtnim").val()=="")
{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
tidak boleh kosong");
}
else if($("#txtnim").val().length!=9)
{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
harus sebesar 9 karakter");
}
else if(!cek_nim($("#txtnim").val()))
92

{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
sudah terdaftar sebelumnya");
}
else
{
$("#txtnim").css("border",
"#0FF solid medium");
error_message("");
}
}
});

$("#txtnama").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
if($("#txtnama").val()=="")
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
tidak boleh kosong");
}
else if($("#txtnama").val().length<3)
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
minimal 3 karakter");
}
else
{
$("#txtnama").css("border",
"#0FF solid medium");
error_message("");
}
}
});

$("#FormRegistrasi").submit(function(){
if($("#txtnim").val()=="")
{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
tidak boleh kosong");
return false;
93

}
else if(!cek_nim($("#txtnim").val()))
{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
sudah terdaftar sebelumnya");
return false;
}
else if($("#txtnim").val().length!=9)
{
$("#txtnim").focus();
$("#txtnim").css("border",
"#F00 solid medium");
error_message("NIM Mahasiswa
harus sebesar 9 karakter");
return false;
}
else
{
$("#txtnim").css("border",
"#0FF solid medium");
error_message("");
}

if($("#txtnama").val()=="")
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
tidak boleh kosong");
return false;
}
else if($("#txtnama").val().length<3)
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
minimal 3 karakter");
return false;
}
else
{
$("#txtnama").css("border",
"#0FF solid medium");
error_message("");
}

return true;
});
94


function error_message(error){
$("#error_message").html(error);
}
});
</script>
<h2>REGISTRASI DATA MAHASISWA</h2>
<form id="FormRegistrasi" action="?module=Tambah
Mahasiswa&action=registrasi_mahasiswa_submit" method="post">
<table>
<tr>
<th width="200px">Nim</th>
<td><input id="txtnim" type="text"
name="txtnim" size="9"></td>
</tr>
<tr>
<th>Nama</th>
<td><input id="txtnama" type="text"
name="txtnama" size="50"></td>
</tr>
<tr>
<th>Kelas</th>
<td>
<input checked="checked" type="radio"
name="rdokelas" value="A">A
<input type="radio" name="rdokelas"
value="B">B
</td>
</tr>
</table>
<input type="submit" value="Simpan">
</form>
<div id="error_message"></div>

registrasi_mahasiswa_submit.php
<?php
defined("APLIKASI") or die("Restricted Access");

$nim= $_POST['txtnim'];
$nama= $_POST['txtnama'];
$kelas= $_POST['rdokelas'];

$SQL = "INSERT INTO mahasiswa
VALUES('$nim','$nama','$kelas')";
$q = mysql_query($SQL) or die (mysql_error());
if($q)
{
?>
<div id="pesan">
<h4>Selamat,</h4>
Anda berhasil melakukan registrasi mahasiswa!<br />
95

<a href="?module=Tambah Mahasiswa">Kembali Ke Halaman Tambah
Mahasiswa</a>
</div>
<?php
}
else
{
?>
<div id="pesan">
<h4>Maaf,</h4>
Anda tidak berhasil melakukan registrasi mahasiswa.<br />
<a href="?module=Tambah Mahasiswa">Kembali Ke Halaman Tambah
Mahasiswa</a>
</div>
<?php
}
?>


Gambar 37, Tampilan Formulir Registrasi Mahasiswa Awal
96


Gambar 38, Tampilan formulir registrasi mahasiswa pada saat nim kosong


Gambar 39, Tampilan formulir registrasi mahasiswa pada saat nim tidak sesuai
97


Gambar 40, Tampilan formulir registrasi mahasiswa ketika nim sudah valid


Gambar 41, Tampilan formulir registrasi mahasiswa ketika nama kosong
98


Gambar 42, Tampilan formulir registrasi mahasiswa ketika nim dan nama sudah valid


Gambar 43, Tampilan ketika mahasiswa berhasil diinput




99


10.5.5. Ubah Password
Modul ini digunakan untuk mengubah password pengguna. Pengguna harus terlebih
dahulu mengetikkan password lama untuk bisa menggantinya dengan password baru.
Sistem akan mengecek ke database apakah password lama yang diketikkan pengguna
sesuai dengan password yang disimpan di dalam database.
Terdapat empat buah file di dalam modul ini, yaitu :
index.php
<?php
defined("APLIKASI") or die("Restricted Access");

switch($_GET["action"])
{
case "check" :
include "module/change_pass/check.php";
break;
case "ubah_password_submit" :
include
"module/change_pass/ubah_password_submit.php";
break;
default:
include "module/change_pass/ubah_password.php";
break;
}
?>

check.php
<?php

defined("APLIKASI") or die("Restricted");

$query = mysql_query("select * from user where
id_user='".$_SESSION["id_user"]."' and
password='".md5($_GET["oldPassword"])."' ");
$rows = mysql_num_rows($query);

if($rows == 0)
echo "<div class='alert error'>Password Lama Yang Anda Masukkan
Tidak Sesuai</div>";

?>

ubah_password.php
<?php
defined("APLIKASI") or die("Restricted Access");
100


$id_user = $_SESSION["id_user"];
?>
<script type="text/javascript">
$(document).ready(function() {
function cek_password_lama(oldpass)
{
var hasil;
$.ajax({
type : "GET",
url : "?tpl=no&module=Ganti
Password&action=check&oldPassword="+oldpass,
async : false,
success : function(data){
if(data == "")
hasil = true;
else
hasil = false;
}
});
return hasil;
}

$("#oldpassword").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
//e.preventDefault();
if($("#oldpassword").val()=="")
{
$("#oldpassword").focus();
$("#password").attr("disabled",
"");

$("#cpassword").attr("disabled", "");
$("#oldpassword").css("border",
"#F00 solid medium");
error_message("Password Lama
Tidak Boleh Kosong");
}
else
if(cek_password_lama($(this).val()))
{

$("#password").removeAttr("disabled");

$("#cpassword").removeAttr("disabled");
$("#password").focus();
$("#oldpassword").css("border",
"#0FF solid medium");
error_message("");
}
else
{
101

$("#oldpassword").focus();
$("#password").attr("disabled",
"");

$("#cpassword").attr("disabled", "");
$("#oldpassword").css("border",
"#F00 solid medium");
error_message("Password Lama
salah");
}
}
});

$("#password").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
if($("#password").val()=="")
{
$("#password").focus();
$("#password").css("border",
"#F00 solid medium");
error_message("Password Baru
tidak boleh kosong");
}
else
if($("#password").val().length<5)
{
$("#password").focus();
$("#password").css("border",
"#F00 solid medium");
error_message("Password Baru
minimal 5 karakter");
}
else
{
$("#password").css("border",
"#0FF solid medium");
error_message("");
}
}
});

$("#cpassword").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
if($("#cpassword").val()=="")
{
$("#cpassword").focus();
$("#cpassword").css("border",
"#F00 solid medium");
error_message("Password Ulangi
tidak boleh kosong");
}
102

else
if($("#cpassword").val()!=$("#password").val())
{
$("#cpassword").focus();
$("#cpassword").css("border",
"#F00 solid medium");
error_message("Password Ulangi
harus sama dengan Password Baru");
}
else
{
$("#cpassword").css("border",
"#0FF solid medium");
error_message("");
}
}
});

$("#form_ubah_password").submit(function(){
if($("#oldpassword").val()=="")
{
$("#oldpassword").focus();
$("#password").attr("disabled",
"");

$("#cpassword").attr("disabled", "");
$("#oldpassword").css("border",
"#F00 solid medium");
error_message("Password Lama
Tidak Boleh Kosong");
return false;
}
else
if(cek_password_lama($("#oldpassword").val()))
{

$("#password").removeAttr("disabled");

$("#cpassword").removeAttr("disabled");
$("#password").focus();
$("#oldpassword").css("border",
"#0FF solid medium");
error_message("");
}
else
{
$("#oldpassword").focus();
$("#password").attr("disabled",
"");

$("#cpassword").attr("disabled", "");
$("#oldpassword").css("border",
"#F00 solid medium");
103

error_message("Password Lama
salah");
return false;
}

if($("#password").val()=="")
{
$("#password").focus();
$("#password").css("border",
"#F00 solid medium");
error_message("Password Baru
tidak boleh kosong");
return false;
}
else
if($("#password").val().length<5)
{
$("#password").focus();
$("#password").css("border",
"#F00 solid medium");
error_message("Password Baru
minimal 5 karakter");
return false;
}
else
{
$("#password").css("border",
"#0FF solid medium");
error_message("");
}

if($("#cpassword").val()=="")
{
$("#cpassword").focus();
$("#cpassword").css("border",
"#F00 solid medium");
error_message("Password Ulangi
tidak boleh kosong");
return false;
}
else
if($("#cpassword").val()!=$("#password").val())
{
$("#cpassword").focus();
$("#cpassword").css("border",
"#F00 solid medium");
error_message("Password Ulangi
harus sama dengan Password Baru");
return false;
}
else
{
104

$("#cpassword").css("border",
"#0FF solid medium");
error_message("");
}

return true;
});

function error_message(error){
$("#error_message").html(error);
}

$("#password").attr("disabled", "");
$("#cpassword").attr("disabled", "");
});
</script>
<?php
$sql = "select * from user";

$query = mysql_query($sql) or die(mysql_error());
$fetch = mysql_fetch_array($query);

?>
<h2>Ubah Password</h2>
<form id="form_ubah_password" action="?module=Ganti
Password&action=ubah_password_submit" method="POST">
<table>
<tr>
<th width="40%">Username</th>
<td>
<?php echo $_SESSION['username']; ?>
</td>
</tr>
<tr>
<th>
Password Lama
</th>
<td>
<input type="password"
name="oldpassword" id="oldpassword"/>
</td>
</tr>
<tr>
<th>
Password Baru
</th>
<td>
<input name="password" id="password"
type="password">
</td>
</tr>
<tr>
<th>
105

Konfirmasi Password
</th>
<td>
<input name="cpassword"
id="cpassword" type="password">
</td>
</tr>
</table>
<input class="submit" value="Simpan" type="submit">
</form>
<div id="error_message"></div>

ubah_password_submit.php
<?php
defined("APLIKASI") or die("Restricted Access");

$pass1 = $_POST["oldpassword"];
$pass2 = $_POST["password"];

$query = mysql_query("select password from user where id_user
= ".$_SESSION["id_user"]." and password = md5('".$pass1."')") or
die(mysql_error());
if(mysql_num_rows($query) > 0)
{
$query_update = mysql_query("update user set password =
md5('".$pass2."') where id_user = ".$_SESSION["id_user"]) or
die(mysql_error());
if($query_update)
$m = "<h4>Selamat,</h4> Password Anda sudah
berhasil di-update!<br /><a href='?module=Ganti Password'>Kembali
Ke Halaman Ganti Password</a>";
else
$m = "<h4>Maaf,</h4> Password Anda tidak berhasil
di-update.<br /><a href='?module=Ganti Password'>Kembali Ke Halaman
Ganti Password</a>";
}
else
$m = "<h4>Maaf,</h4> Password Anda tidak berhasil di-
update.<br /><a href='?module=Ganti Password'>Kembali Ke Halaman
Ganti Password</a>";

?>
<div id="pesan">
<?php echo $m; ?>
</div>

106


Gambar 44, Tampilan awal halaman ubah password


Gambar 45, Tampilan halaman ubah password ketika password lama dikosongkan
107


Gambar 46, Tampilan halaman ubah password ketika password lama salah


Gambar 47, Tampilan halaman ubah password ketika password lama benar
108


Gambar 48, Tampilan halaman ubah password ketika password baru tidak memenuhi


Gambar 49, Tampilan halaman ubah password ketika password baru sudah memenuhi
109


Gambar 50, Tampilan halaman ubah password ketika konfirmasi password tidak sama
dengan password baru


Gambar 51, Tampilan halaman ubah password ketika semua kolom memenuhi
110


Gambar 52, Tampilan halaman ubah password ketika berhasil mengubah password


10.5.6. Modul Control Panel
Modul ini berfungsi untuk mengatur hak akses masing-masing level user. Hak akses untuk
setiap level user dibedakan. Hak akses level user terhadap modul bersifat dinamis,
sehingga dapat diubah hak aksesnya sewaktu-waktu.
Di dalam modul ini, terdapat tiga buah file, yaitu :
index.php
<?php
defined("APLIKASI") or die("Restricted Access");
if($_GET["action"] == "hak_akses_submit")
include
"module/privilege_setting/hak_akses_submit.php";
else
include "module/privilege_setting/hak_akses.php";
?>

hak_akses.php
<?php
defined("APLIKASI") or die("Restricted Access");
?>
<h2>Hak Akses</h2>
<form action="?module=Control Panel&action=hak_akses_submit"
method="post" >
111

<table id='tbl' border='0' align='left' cellpadding='5'
cellspacing='1'>
<tr id='tbl-label'>
<th></th>
<th>Administrator</th>
<th>User</th>
</tr>
<?php
$query_modul = mysql_query("select * from modul
order by id_modul");
while($fetch_modul =
mysql_fetch_array($query_modul))
{
$id_modul = $fetch_modul["id_modul"];

echo "<tr>";
echo "
<th>".$fetch_modul["nama_modul"]."</th>";
$query_hak_akses = mysql_query("select * from hak_akses
where id_modul = '$id_modul' and level_user = 'a'");
$hak_akses =
mysql_num_rows($query_hak_akses);

if($hak_akses==1)
echo "<td align='center' id='tbl-
content'><input type='checkbox'
name='hak_akses[".$id_modul."][a]' checked='checked'></td>";
else
echo "<td align='center' id='tbl-
content'><input type='checkbox'
name='hak_akses[".$id_modul."][a]'></td>";

$query_hak_akses = mysql_query("select *
from hak_akses where id_modul = '$id_modul' and level_user =
'u'");
$hak_akses =
mysql_num_rows($query_hak_akses);

if($hak_akses==1)
echo "<td align='center' id='tbl-
content'><input type='checkbox'
name='hak_akses[".$id_modul."][u]' checked='checked'></td>";
else
echo "<td align='center' id='tbl-
content'><input type='checkbox'
name='hak_akses[".$id_modul."][u]'></td>";

echo "
</tr>";
}
?>
</table>
<br/><br/>
112

<input type="reset" value="Undo">
<input type="submit" value="Simpan">
</form>

hak_akses_submit.php
<?php
defined("APLIKASI") or die("Restricted Access");

$query_hapus_semua_hak_akses = mysql_query("truncate table
hak_akses") or die(mysql_error());

foreach($_POST["hak_akses"] as $id_modul => $val1)
foreach($_POST["hak_akses"][$id_modul] as $level_user
=> $val2)
$query_insert_hak_akses = mysql_query("insert
into hak_akses(id_modul, level_user) values('$id_modul',
'".$level_user."')") or die(mysql_error());

?>
<div id="pesan">
<h4>Selamat,</h4>
Anda berhasil menyimpan hak akses!<br />
<a href="?module=Control Panel">Kembali Ke Halaman Control
Panel</a>
</div>


Gambar 53, tampilan halaman hak akses
113


Gambar 54, tampilan halaman hak akses ketika profile picture dan tambah mahasiswa
diubah

Gambar 55, tampilan halaman hak akses ketika berhasil disimpan




114

10.5.7. Modul Data Mahasiswa
Modul data mahasiswa menampilkan list seluruh mahasiswa yang disajikan dalam
bentuk tabel dinamis dan pagination. Tabel tersebut dinamis karena mampu mengurutkan
berdasarkan salah satu kolom baik secara ascending maupun descending. Tampilan list
mahasiswa disajikan dalam beberapa halaman. Di dalam modul ini juga terdapat fasilitas
untuk mencetak seluruh data mahasiswa ke bentuk pdf dan fasilitas untuk mengubah dan
menghapus data mahasiswa.
Terdapat enam buah file di dalam module data mahasiswa tersebut :
index.php
<?php
defined("APLIKASI") or die("Restricted Access");

if($_GET["action"] == "print")
include "module/mahasiswa/mahasiswa.php";
else if($_GET["action"] == "hapus")
include "module/mahasiswa/delete.php";
else if($_GET["action"] == "edit")
include "module/mahasiswa/edit.php";
else if($_GET["action"] == "edit_submit")
include "module/mahasiswa/edit_submit.php";
else
include "module/mahasiswa/tampil.php";
?>

tampil.php
<?php
defined("APLIKASI") or die("Restricted Access");

if(isset($_GET["sort"]))
$sort = $_GET["sort"];
else
$sort = "nim";

if(isset($_GET["order"]))
$order = $_GET["order"];
else
$order = "ASC";

if(isset($_GET["page"]))
$page = $_GET["page"];
else
$page = 1;

$items_per_page = 5;

115

$query_select = mysql_query("SELECT * FROM mahasiswa") or
die(mysql_error());
$total_items = mysql_num_rows($query_select);

$total_page = ceil($total_items / $items_per_page);

$limit = " LIMIT ".($page-1)*$items_per_page.",
".$items_per_page;

$query2 = mysql_query("SELECT * FROM mahasiswa ORDER BY
".$sort." ".$order." ".$limit) or die(mysql_error());
?>
<h2>Menampilkan Isi Tabel Mahasiswa</h2>

<table>
<tr>
<th> No </th>
<?php
if($sort=="nim" && $order=="ASC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nim&order=DESC'>NIM<
img src='template/default/images/sortarrow-desc.png'></a></th>";
else if($sort=="nim" && $order=="DESC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nim&order=ASC'>NIM<i
mg src='template/default/images/sortarrow-asc.png'></a></th>";
else
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nim&order=ASC'>NIM</
a></th>";

if($sort=="nama" && $order=="ASC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nama&order=DESC'>NAM
A<img src='template/default/images/sortarrow-
desc.png'></a></th>";
else if($sort=="nama" && $order=="DESC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nama&order=ASC'>NAMA
<img src='template/default/images/sortarrow-asc.png'></a></th>";
else
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=nama&order=ASC'>NAMA
</a></th>";

if($sort=="kelas" && $order=="ASC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=kelas&order=DESC'>KE
LAS<img src='template/default/images/sortarrow-
desc.png'></a></th>";
else if($sort=="kelas" && $order=="DESC")
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=kelas&order=ASC'>KEL
116

AS<img src='template/default/images/sortarrow-
asc.png'></a></th>";
else
echo "<th><a title='Ubah Urutan'
href='?module=mahasiswa&page=".$page."&sort=kelas&order=ASC'>KEL
AS</a></th>";

?>
<th> Aksi </th>
</tr>
<?php
$ganjil=true;
$no = 1;
while($hasil = mysql_fetch_array($query2))
{
echo "<tr
class='".($ganjil==true?"ganjil":"genap")."'>
<td> $no </td>
<td> $hasil[nim] </td>
<td> $hasil[nama] </td>
<td> $hasil[kelas] </td>
<td>
<a
href=?module=mahasiswa&action=edit&nim=$hasil[nim]>Edit</a>
<a
href=?module=mahasiswa&action=hapus&nim=$hasil[nim]
onclick=\"return confirm('Apakah Anda yakin ingin menghapus
mahasiswa dengan nim ".$hasil['nim']."?')\">Hapus</a>
</td>
</tr>";
$ganjil!=$ganjil;
$no++;
}
?>
</table><br />
<?php
echo"<aclass='paging'href='?module=mahasiswa&page=1&sort=".$s
ort."&order=".$order."'>Pertama</a>";
if($page>1)

echo"<aclass='paging'href='?module=mahasiswa&page=".($page-
1)."&sort=".$sort."&order=".$order."'>Sebelum</a>";
for($i=1; $i<=$total_page; $i++)
{
if($i==$page)
echo "<a class='paging aktif'
href='?module=mahasiswa&page=".$i."&sort=".$sort."&order=".$orde
r."'>".$i."</a>";
else
echo "<a class='paging'
href='?module=mahasiswa&page=".$i."&sort=".$sort."&order=".$orde
r."'>".$i."</a>";
}
117

if($page<$total_page)
echo "<a class='paging'
href='?module=mahasiswa&page=".($page+1)."&sort=".$sort."&order=
".$order."'>Sesudah</a>";
echo "<a class='paging'
href='?module=mahasiswa&page=".$total_page."&sort=".$sort."&orde
r=".$order."'>Terakhir</a>";
?><br /><br /><br />
<a target="_blank" href="?tpl=no&module=mahasiswa&action=print"
>Print PDF</a>

edit.php
<?php
defined("APLIKASI") or die("Restricted Access");

$nim = $_GET["nim"];
$sql = mysql_query("SELECT * FROM mahasiswa WHERE
nim='$nim';");
$data = mysql_fetch_array($sql);

?>
<script type="text/javascript">
$(document).ready(function() {
$("#txtnama").live('keydown', function(e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) { // tab
if($("#txtnama").val()=="")
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
tidak boleh kosong");
}
else if($("#txtnama").val().length<3)
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
minimal 3 karakter");
}
else
{
$("#txtnama").css("border",
"#0FF solid medium");
error_message("");
}
}
});

$("#edit_mahasiswa").submit(function(){
118

if($("#txtnama").val()=="")
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
tidak boleh kosong");
return false;
}
else if($("#txtnama").val().length<3)
{
$("#txtnama").focus();
$("#txtnama").css("border",
"#F00 solid medium");
error_message("Nama Mahasiswa
minimal 3 karakter");
return false;
}
else
{
$("#txtnama").css("border",
"#0FF solid medium");
error_message("");
}

return true;
});

function error_message(error){
$("#error_message").html(error);
}
});
</script>
<h2>Edit Mahasiswa</h2>
<form id="edit_mahasiswa"
action="index.php?module=mahasiswa&action=edit_submit"
method="post" class="form">
<input type="hidden" name="nim" value="<?php echo $nim;
?>" />
<table>
<tr>
<th>NIM</th><td><?php echo $data["nim"]; ?></td>
</tr>
<tr>
<th>Nama</th><td><input type="text" name="nama"
id="txtnama" value="<?php echo $data["nama"] ?>" /></td>
</tr>
<tr>
<th>Kelas</th><td><input type="radio" name="kelas"
value="A" <?php if($data["kelas"] == "A") echo "checked=yes"; ?>
/>Kelas A
<input type="radio" name="kelas" value="B"
<?php if($data["kelas"] == "B") echo "checked=yes"; ?>/>Kelas B
119

</td>
</tr>
</table>
<input type="submit" value="Simpan" />

</form>
<div id="error_message"></div>

edit_submit.php
<?php
defined("APLIKASI") or die("Restricted Access");

$nim = $_POST["nim"];
$nama = $_POST["nama"];
$kelas = $_POST["kelas"];

$q = mysql_query("UPDATE mahasiswa SET nama='$nama',
kelas='$kelas' WHERE nim = '$nim'") or die(mysql_error());
?>
<div id="pesan">
<?php

if($q)
echo "<h4>Selamat,</h4>Mahasiswa dengan nim =
$nim berhasil di-update!";
else
echo "<h4>Maaf,</h4>Mahasiswa dengan nim = $nim
gagal di-update!";
?>

<br><a href="?module=mahasiswa">Kembali Ke Halaman
Mahasiswa</a>
</div>

hapus.php
<?php
defined("APLIKASI") or die("Restricted Access");

$nim=$_GET['nim'];
$SQL = "DELETE FROM mahasiswa WHERE nim='$nim'";
$hasil_query = mysql_query($SQL) or die(mysql_error());
?>
<div id="pesan">
<?php

if($hasil_query)
echo "<h4>Selamat,</h4>Mahasiswa dengan nim =
$nim berhasil dihapus!";
else
echo "<h4>Maaf,</h4>Mahasiswa dengan nim = $nim
gagal dihapus!";
120

?>

<br><a href="?module=mahasiswa">Kembali Ke Halaman
Mahasiswa</a>
</div>

mahasiswa.php (print to pdf)
<?php
defined("APLIKASI") or die("Restricted Access");

include "include/phplib/fpdf/fpdf.php";

class PDF extends FPDF{
function Title($title)
{
//Select Arial bold 15
$this->SetFont('Arial','B',15);
//Move to the right
$this->Cell(80);
//Framed title
$this->Cell(30,10,$title,0,0,'C');
//Line break
$this->Ln(20);
}

function FancyTable($header,$data)
{
//Header
//Colors, line width and bold font
$this->SetFillColor(67,200,0); // hijau
$this->SetTextColor(255); // putih
$this->SetLineWidth(.3);
$this->SetFont('Arial','B');
$w=array(40,80,30);
for($i=0;$i<count($header);$i++)
$this-
>Cell($w[$i],7,$header[$i],1,0,'C',true);
$this->Ln();
//Body
//Color and font restoration
$this->SetFillColor(224,235,255); // abu-abu
$this->SetTextColor(0); //
hitam
$this->SetFont('Arial');
//Data
$fill=false;
for($i=0; $i<count($data); $i++)
{
for($j=0; $j<count($data[$i]); $j++)
{
$this-
>Cell($w[$j],6,$data[$i][$j],'LR',0,'L',$fill);
121

}
$this->Ln();
$fill=!$fill;
}
$this->Cell(array_sum($w),0,'','T');
}
}

if(isset($_SESSION["username"]))
{
// membuat objek
$pdf = new PDF();
$header = array('NIM','Nama','Kelas');
$data = array();
$i = 0;
$query = mysql_query("select * from mahasiswa") or
die(mysql_error());
while($fetch = mysql_fetch_array($query)){
$data[$i][0] = $fetch["nim"];
$data[$i][1] = $fetch["nama"];
$data[$i][2] = $fetch["kelas"];
$i++;
}

$pdf->SetFont('Arial','',14);
$pdf->AddPage();
$pdf->SetMargins(30, 30);
$pdf->Title("Laporan Seluruh Mahasiswa");
$pdf->FancyTable($header, $data);
$pdf->Output("Laporan Seluruh Mahasiswa.pdf", "I");
}
else
{
?>
<script language="javascript" >
alert("Anda belum login!");
document.location.href="login.php";
</script>
<?php
}
?>

122


Gambar 56, tampilan halaman data mahasiswa


Gambar 57, tampilan halaman data mahasiswa diurutkan berdasarkan nim secara
descending
123


Gambar 58, tampilan halaman data mahasiswa diurutkan berdasarkan nama secara
ascending


Gambar 59, tampilan halaman data mahasiswa diurutkan berdasarkan nama secara
descending
124


Gambar 60, tampilan edit data mahasiswa


Gambar 61, tampilan edit data mahasiswa ketika berhasil disimpan
125


Gambar 62, tampilan hapus data mahasiswa ketika muncul kotak konfirmasi penghapusan


Gambar 63, tampilan hapus data mahasiswa ketika berhasil
126


Gambar 64, tampilan data mahasiswa yang terbaru dan tombol print pdf (di bawah)


Gambar 65, tampilan cetak data seluruh mahasiswa ke bentuk pdf

Anda mungkin juga menyukai