Upload
ade-sidabutar
View
580
Download
2
Embed Size (px)
Citation preview
1
BAB 1
Mengenal Dasar-dasar PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu mengenal dasar-dasar PHP. Mengetahui cara kerja variable, operator, penulisan komentar.
A. SEKILAS PHP
PHP pertama kali ditemukan oleh Rasmus Lerdorf, dia adalah seorang
programer unix dan perl pada waktu itu . Pada saat itu, Rasmus adalah seorang
pengangguran, sehingga ia berusaha untuk meluangkan waktu kekosongannya
dengan membuat sebuah skrip makro perl CGI, yang pada awal tujuannya hanya
untuk mengetahui siapa saja yang melihat resume tulisan pada homepage
pribadinya. Saat ini PHP berkembang dengan sangat cepatnya, dan menjadikan
andalan (populer)bagi situs-situs web, baik besar maupun kecil.
PHP secara mendasar dapat mengerjakan semua yang dapat dikerjakan oleh
program CGI, seperti mendapatkan data dari form, menghasilkan isi halaman web
yang dinamik, dan menerima cookies. Kemampuan ( Feature ) PHP yang paling
diandalkan dan signifikan adalah dukungan kepada banyak database. Membuat
halaman web yang menggunakan data dari database dengan sangat mudah
dapat dilakukan. Berikut adalah daftar database yang didukung oleh PHP :
• Adabas D
• Dbase
• Empress
• FilePro ( read only )
• FrontBase
• Hyperwave
• IBM DB2
• Informix
• Ingres
2
• Interbase
• MSQL
• Direct MS SQL
• MySQL
• ODBC
• Oracle ( OCI7 dan OCI8 )
• Ovrimos
• PostgreSQL
• Solid
• SQLit
• Sybase
• Velocis
• Unix DBM
PHP juga mendukung untuk berkomunikasi dengan layanan lain
menggunakan protokol IMAP, SNMP, NNTP, POP3, HTTP, dan lainnya.
Pemrogram juga dapat membuka soket jaringan secara mentah dan beinteraksi
dengan menggunakan protocol lainnya.
B. KONSEP PHP
Konsep PHP sangat sederhana, bahkan lebih sederhana daripada CGI.
Sehingga dalam membuat dokumen PHP, cukup membuat sebuah HTML biasa,
hanya saja ditambahkan dengan kode-kode program yang diapit dalam tanda
<?....?>. Dalam hal ini, Interpreter PHP dalam mengeksekusi kode PHP ini
berjalan pada sisi server (disebut server-side), sehingga sangat berbeda sekali
3
dengan program maya java yang mengeksekusi program pada sisi client (client-
side).
C. PENULISAN PHP
PHP dalam penulisannya dapat dengan berbagai cara. Ada beberapa model
penulisan PHP seperti dibawah ini:
Berikut ini adalah cara menyisipkan kode PHP pada halaman HTML biasa.
<script language="php">
. . kode PHP ditaruh disini . . .
</script>
Cara yang lebih singkat adalah:
<?php
. . . . kode PHP ditaruh disini . . . .
?>
Atau bisa juga
<?
. . . . kode PHP ditaruh disini. . . .
?>
D. MENJALANKAN KODE PHP
Secara default semua file PHP harus diletakkan didalam direktori root.
Biasanya terletak di didalam direktori htdocs bila anda menggunakan engine
phpTriad atau menggunakan paket Apache secara sendiri. Atau direktori www
bila anda menggunakan engine appServer. Contoh pemanggilan pada browser
adalah sebagai berikut:
Missal : direktori root anda ditambah satu folder bernama:latWeb, maka
pemanggilannya adalah http://localhost/latWeb/namaFile.php
Cobalah jalankan file dibawah ini
gaya_tulis.php <html>
<head>
<title> mengenal model penulisan php skrip</title>
</head>
<body >
<h1>
Contoh penulisan kode php
dengan berbagai gaya</h1><br>
<script language="php">
print("Jika editor tidak mampu memproses kode ini,gunakan gaya javaskrip <br>");
# ini adalah gaya java skrip
</script>
Cara yang lebih singkat adalah:
<?php
print("Model penulisan seperti XML dokumen success<br>");
?>
<h2>Atau bisa juga </h2>
<?
print(" Model paling sederhana ini juga success ".
" akan kita gunakan seterusnya, karena paling mudah<br>\n");
?>
</body>
</html>
Akhir skrip
E. MENGENAL VARIABEL
Semua bahasa pemrograman pasti menyediakan variable, yang berfungsi
menyimpan suatu nilai dan nilai yang ada didalamnya dapat diubah-ubah
sewaktu-waktu. Penulisan variable dalam PHP diawali dengan tanda $. Ada dua
buah skrip yang dapat anda coba untuk memahami variable dalam PHP.
Ada beberapa aturan yang diikuti berkenaan dengan penggunaan nama
variabel. Aturan pemberian nama variabel :
• Dimulai dengan tanda $
• Karakter pertama harus huruf atau garis bawah ( _ )
• Karakter berikutnya boleh huruf, angka, atau garis bawah.
Direktori Root
Folder Aktif
gaya_tulis.php
var1.php <html>
<body>
<head>
<title>Program Php yang pertama</title>
</head>
<?
print("<center>");
print("Sekarang adalah tanggal:");
print(date(" d F Y"));
print("</center>");
?>
<hr>
klik kirim dan lihat hasilnya pada
<br>
<form action="bacaVar.php" method="post">
Nama: <input type="text" name="nama">
<input type="submit" name="submit" value="kirim">
</form>
</body>
</html>
Akhir skrip
bacaVar.php <html>
<body>
<head>
<title>Program Php yang pertama</title>
</head>
<?
print("sekarang adalah tanggal:");
print(date(" d F Y"));
print("<h1>"." Selamat $nama <br>");
print("</h1>");
print("Sekarang anda diharapkan paham mengenai manfaat php");
?>
</body>
</html>
Akhir skrip
F. MENGENAL TIPE DATA
Tipe-Tipe Data Dalam Program PHP
Program PHP membagi tipe data menjadi lima jenis data, yaitu Integer,
Floating Point, String, Array dan Object. Tipe data yang digunakan oleh program
PHP otomatis akan ditentukan oleh PHP tanpa harus dideklarasikan lebih dahulu.
1. Tipe Data Integer
Tipe data in berisi data semua bilangan bulat yang besar rangenya sama
dengan data pada bahasa C, yaitu antara -2,147,483,648 sampai
+2,147,483,647 pada platform 32 bit. Apabila data di luar kisaran tersebut,
maka PHP akan secara otomatis mengkonversikan data tersebut dari tipe
Integer menjadi tipe Floating Point.
2. Tipe Data Floating Point
Tipe data ini berisi bilangan pecahan atau bilangan desimal. Kisaran data
floating adalah anatara 1.7E-308 sampai 1.7E+308. bentuk data ini adalah
desimal ataupun dalam bentuk pangkat. Perhatikan contoh berikut:
$decimal=0.075;
$data_pangkat=75.0E-5
3. Tipe Data String
Tipe data ini berisi tentang string. String merupakan kumpulan karakter. Pada
php karakter sama dengan tipe bilangan byte yang mana memiliki 256
karakter berbeda. Panjang dari string yang dapat dibuat dibatasi oleh ukuran
memori komputer kita. Jadi panjang string tak terbatas sepanjang memori kita
mencukupi. Penulisan string pada php dapat diapit dengan tanda petik tunggal
(') atau petik ganda (") . Contoh penulisan string :
4. Tipe Data Array
Data array disebut juga data bertingkat, artinya data yang mengandung
beberapa data di dalamnya dan diindeks berdasarkan data numerik atau
string. Bahkan, dalam data array ini dapat mengandung data jenis array juga.
Data array yang ada di dalam array ini membolehkan tipe data yang berbeda-
beda.
5. Tipe Data Objek
Tipe data merupakan tipe data baru, merupakan pengembangan PHP untuk
mendukung pemrograman berorientasi objek. Tipe data objek adalah tipe data
yang didalamnya mempunyai data dan method. Data yang dipunyai oleh
suatu objek umumnya berupa suatu fungsi.
G. MENGENAL KOMENTAR
Keberadaan suatu komentar dalam bahasa pemrograman sangatlah penting,
karena dapat digunakan untuk menganalisis suatu source code yang kompleks
atau mengecek apabila terjadi kesalahan. Terdapat beberapa model penulisan
komentar dalam PHP yaitu sebagai berikut:
// Ini adalah komentar dalam satu baris
/* Kalau yang ini, komentar
dalam banyak baris, yang baru
akan selesai setelah diakhiri
dengan */
komentar.php <html>
<body> <pre>
kalau komentar bertanda #, // maupun /*...*/ <br>ditampilkan berarti anda salah
menempatkan komentar
<?
// Ini adalah komentar dalam satu baris
print ("komentar jenis satu berhasil ");
/* Kalau yang ini, komentar
dalam banyak baris, yang baru
akan selesai setelah diakhiri
dengan */
print "komentar banyak baris juga bisa <br>";
print"<hr>";
print ("begitu pula komentar model shell");
# komentar model shell ?>
<h3>
Ditambah lagi model
<? # echo "baris";?>
komentar didalam skrip juga jalan
</h3>
<hr bgcolor="red" size="5">
<h2>Sehingga jenis komentar diatas,
semuanya dapat digunakan di dalam php
</h2>
</body>
</html>
Akhir skrip
H. MENGENAL OPERATOR
Operator digunakan dalam program untuk melakukan suatu operasi, baik itu
penjumlahan, perkalian, maupun perbandingan. Nilai yang dioperasikan oleh
operator dinamakan operand atau argumen sehingga akan membentuk suatu
ekspresi(ungkapan).
1. Operator Aritmatika
Operator aritmatika merupakan operator yang digunakan untuk melakukan
operasi matematika dasar. Adapun contohnya yaitu:
4+2*5
Catatan:
tanda + dan * disebut operator, sedangkan nilai 4,2 dan 5 itu dinamakan
operand atau argumen.
Table 1.1. Operator Aritmatika
Contoh Nama Hasil
$a + $b Penjumlahan Jumlah dari $a dan b
$a - $b Pengurangan Sisa dari penguranga $a dan $b
$a * $b Pekalian Perkalian dari $a dan $b
$a / $b Pembagian Pembagian dari $a dan $b
$a % $b Modulus Sisa hasil bagi dari $a dibagi dengan $b
operatorku.php <html>
<head>
<title>Contoh Operator Aritmatik</title>
</head>
<body>
<?
print("penjumlahan dan pengurangan:<br>\n");
printf("6+1 = %d<br>\n",6+1);
printf("6-1 = %d<br>\n",6-1);
print("perkalian:<br>\n");
printf("6*2 = %d<br>\n",6*1);
print("Pembagian:<br>\n");
printf("6/4 ="); print(6/4);
print("<br>\n");
print("6 % 5 ="); print(6%5);
print("<br>\n");
print("6 % 4 ="); print(6%4);
print("<br>\n");
?>
</body>
</html>
Akhir skrip
2. Operator Pembanding
Operator pembanding biasanya digunakan untuk melakukan pembandingan
dua buah operand untuk menghasilkan nilai benar atau salah.
Table 1.2. Operator Pembanding
Operator Arti < Kurang dari == Sama dengan > Lebih dari <= Kurang dari atau sama dengan <> Tidak sama dengan < Kurang dari >= Lebih dari atau sama dengan > Lebih dari != Tidak sama dengan
operatorPembanding.php <html> <head>
<title>Contoh Operator Pembanding</title>
</head>
<body>
<?
$a =1;
$b= 2;
$c= 1;
printf("$a > $b -> %d<br>\n", $a > $b);
printf("$b > $a -> %d<br>\n", $b > $a);
printf("$a < $b -> %d<br>\n", $a < $b);
printf("$a==$c -> %d<br>\n", $a== $c);
printf("$a==$b -> %d<br>\n", $a== $b);
printf("$a!=$c -> %d<br>\n", $a!= $b);
printf("$a<>$c -> %d<br>\n", $a<> $b);
?> </body> </html>
Akhir skrip
3. Operator logika
Operator logika biasanya digunakan untuk membandingkan dua ekspresi
perbandingan dan menghasikan nilai yang bersifat Boolean. Jenis operator
logika dapat dilihat pada tabel berikut
Tabel 1.3 Operator Logika
Operator Arti Hasil $a and $ b Operasi and True jika $a dan $ b true
$a or $ b Operasi or True jika salah satu $a atau $ b true $a xor $b Operasi X or True jika salah satu saja $a atau $ b
true ! $a Operasi not True jika $a false
$a && $ b Operasi and True jika $a dan $ b true
$a || $ b Operasi or True jika salah satu $a dan $ b true
operatorLogika.php
<html>
<head>
<title>Contoh Operator Logika</title>
</head>
<body>
<?
$kar=a;
printf("$kar adalah huruf kapital : %d<br>\n",$kar>= 'A' and $kar<='Z');
printf("$kar adalah huruf kecil : %d<br>\n", $kar>= 'a' and $kar<='z');
printf("$kar adalah huruf angka : %d<br>\n",$kar>= '0' and $kar<='9');
?>
</body>
</html>
Akhir skrip
4. Operator String
Ada dua operator string yaitu “.” Dan “.=”. untuk pemakaiannya cobalah
perhatikan potongan skrip berikut:
$a= ” lagi belajar”;
$b= $a.”PHP”;
gaya lain
$a= ” lagi belajar”;
$a.= “PHP”
Potongan skrip diatas akan menghasilkan string baru yaitu lagi belajar PHP.
PHP juga mengenal penulisan dengan menggunakan karakter khusus, yang
biasanya didahului dengan simbol backslash.
Table 3.5. karakter–karakter yang didahului tanda \
Penulisan Makna pada karakter \” Petik ganda \\ Backshash \$ Tanda dolar \n Newline (pindah baris) \t Tab \00 s/d \ff Karakter heksadesimal
operatorString.php
<?
$str = "Ini Tambahannya ";
echo "Ini menggunakan Double Quoted dan $str \n Ganti Baris\n";
echo 'Yang ini Single Quoted $str akan tetap \n juga..';
echo "Untuk Menuliskan \nkutip gunakan \" untuk dolar \$ \n";
echo "dan gunakan \\ untuk backslash...\n";
echo 'Pada Kutip Tunggal \' dan \\ akan berubah.';
echo 'tetapi \$ \" dan \n akan tetap.';
?>
BAB II
Elemen Kontrol pada PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu memahami elemen kontrol selain itu diharapkan mengerti kerangka pemograman dengan PHP
A. ELEMEN KONTROL
Salah satu kemampuan PHP adalah dapat melakukan proses pemilihan dari
beberapa alternative sesuai dengan kondisi yang diberikan.Ada tiga macam
bentuk pernyataan if yang dapat digunakan dalam PHP yaitu:
• if saja
• if- else
• if - elseif
A.1 Model if saja
Adapun model pernyataan if saja yaitu:
if ( ekspresi )
pernyataan
Atau dapat ditulis:
if ( ekspresi )
{
pernyataan
}
Pada bentuk diatas, bagian pernyataan akan dijalankan hanya jika bagian
ekspresi bernilai benar.
ifSaja.php
<?php
$input=-1;
if($input<=0)
{
$cetak="bil negatif";
echo $cetak;?>
Akhir skrip
A.2 Model if-else
Model kondisi if-else yaitu:
if ( ekspresi )
pernyataan1
else
pernyataan2
Atau dapat ditulis:
if ( ekspresi )
{
pernyataan1
}
else
{
pernyataan2
}
ifElse.php
<?php
$input=12;
if($input<=0)
{
$cetak="bil negatif";
}
elseif($input>=0)
{$cetak="bil positif";}
echo $cetak;?>
Akhir skrip
A.3 Model if-elseif
Model kondisi if-elseif yaitu:
if
( ekspresi1 )
pernyataan1
elseif
(ekspresi2)
pernyataan2
else
pernyataan3
Atau dapat ditulis
if ( ekspresi1 )
{
pernyataan1
}
elseif (ekspresi2)
{
pernyataan2
}
else
{
pernyataan3
}
ifElseiF.php
<?
$nilai=55;
if($nilai>=85) $grade="A";
elseif($nilai>=74) $grade="B";
elseif($nilai>=60) $grade="C";
elseif($nilai>=50) $grade="D";
else $grade="E";
echo "Nilai $nilai Grade $grade";
?>
Akhir skrip
formKondisi.php
<html>
<head>
<title>
form kondisi
</title>
</head>
<body>
<pre>
<form>
Nama:
<input type="text" name="nama"><br>
Besar pembelian:
<input type="text" name="total_beli"><br>
<center>
<hr>
<br>
<input type="submit" value="peroleh diskon"><br>
</center>
</form>
<?
printf($nama);//untuk mencetak nama berdasarkan masukan
print("<br>");
if (isset($total_beli))
{
$t_beli= intval ($total_beli);
$diskon =0;
if($t_beli >= 100000)
$diskon= intval (0.1 * $t_beli);
printf ("diskon yang anda peroleh=%d<br>", $diskon);
//mencetak keluaran diskon
# mencetak jumlah yang harus dibayarkan
printf ("<b><br>yang harus anda bayar=%d !</b>", $t_beli - $diskon);
}
?>
</body>
</html>
Akhir skrip
A.4 Pendekatan dengan Case of (switch)
Bentuk umum:
switch ($variabel){
case pil1 : statement 1; break;
case pil2 : statement 2; break;
case piln : statement n; break;
default : statementd;break;
}
contohSwitch.php
<?
$nilai=70;
switch($nilai){
case $nilai>=80 : $grade="A";break;
case $nilai>=70 : $grade="B";break;
case $nilai>=60 : $grade="C";break;
case $nilai>=50 : $grade="D";break;
default : $grade="E";
}
echo "Nilai $nilai Grade $grade";
?>
Akhir skrip
B. LOOPING DALAM PHP
Pernyataan dalam PHP yang dapat melakukan perulangan (looping) adalah
dengan menggunakan beberapa diantaranya yaitu WHILE dan FOR.
B.1 Pernyataan while
Merupakan salah satu pernyataan yang dapat melakukan suatu perulangan.
Anda dapat menampilkan bilangan 1 sampai 10 hanya dengan menggunakan
kode yang pendek.
Adapun bentuk pernyataan ini adalah sebagai berikut:
While (ekspresi)
{
pernyataan- pernyataan
}
Pada kondisi diatas, memungkinkan kita untuk menampilkan pernyataan-
pernyataan yang berada diantara {} untuk dijalankan
kondisiWhile.php
<html>
<head>
<title>
kondisi while
</title>
</head>
<body>
<?
$bilangan=1;
while ($bilangan <=20)
{
print ("$bilangan<br>\n");
$bilangan++;
}
print("<b><br>selamat!</b>");
print("<br>Sekarang Anda boleh melanjutkan pembelajaran");
?>
</body>
</html>
Akhir skrip
B.2 Pernyataan for
Pada prinsipnya hampir sama dengan pernyataan while. Pernyataan ini juga
digunakan untuk menangani perulangan proses. Bentuk umum dari pernyataan
ini adalah sebagai berikut:
For (ekspresi1; ekspresi2; ekspresi3)
{
pernyataan- pernyataan
}
Pada pernyataan diatas terdapat beberapa pernyataan yaitu:
Ekspresi1.
Digunakan untuk memberi nilai awal (inisialisasi) terhadap variable yang akan
digunakan untuk melakukan pencacahan pengulangan
Ekspresi2.
Digunakan sebagai kondisi untuk menentukan perngulangan terhadap
peryataan yang ada didalam {}, untuk dilaksanakan atau tidak
Ekspresi3.
Digunakan untuk mengatur variable yang digunakan pada ekspresi1
kondisiFor.php
<html>
<head>
<title>
kondisi for php
</title>
</head>
<body>
<?
for($bilangan = 1; $bilangan < 20 ; $bilangan++)
{
print ("$bilangan<br>\n");
}
print("<b><br>selamat!</b>");
print("<br>Sekarang Anda boleh melanjutkan pembelajaran");
?>
</body>
</html>
Akhir skrip
BAB III
Elemen Array pada PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu memahami elemen array pada PHP,baik secara konsep, inisialisasi dan proses pemanggilan array menggunakan code PHP
A. KONSEP ARRAY
Array adalah kumpulan beberapa data yang disimpan dalam satu variabel.
Jadi, berbeda dengan variabel sebelumnya yang hanya menyimpan satu nilai
saja, array dapat menampung lebih dari satu nilai.
Sebagai contoh, kita akan menyimpan data teman-teman kita dalam satu
variabel $teman. Ada tiga orang teman yang akan kita masukkan ke dalam
variabel tersebut. Secara visual, dapat digambarkan sebagai berikut :
Nando Kiki Iwan $teman
Tiap nilai dalam array (disebut elemen) diakses dengan menggunakan index.
PHP mengenal dua macam index, yaitu index numerik dan index asosiatif. Index
numerik menggunakan angka untuk menandai tiap elemen, sedangkan index
asosiatif memberi nama untuk masing-masing elemen. Penggunaan index akan
dibahas lebih detail di bawah.
B. Inisialisasi array
Inisialisasi (mengisi nilai) array $teman di atas dilakukan dengan cara sebagai
berikut :
$teman = array(“Nando”, “Kiki”, “Iwan”);
Kode di atas akan menjadikan $teman array berindex numerik. Selain dengan
cara di atas, kita juga dapat membuat array yang sama dengan cara :
$teman[] = “Nando”;
$teman[] = “Kiki”;
$teman[] = “Iwan”;
Hasilnya adalah array berindeks numerik yang dapat digambarkan sebagaiberikut
Nando Kiki Iwan 0 1 2
$teman
Untuk membuat array berindex asosiatif, kita membutuhkan label atau nama
untuk masing-masing elemen. Contoh di atas akan dikembangkan agar dapat
menyimpan nomer telepon masing-masing teman. Gambaran visualnya adalah
sebagai berikut :
Nando Kiki Iwan 123 528 456
$rekan
Pada hasil di atas, nama masing-masing teman akan dijadikan label untuk
nilai nomer telepon yang disimpan. Kode programnya adalah sebagai berikut :
$rekan = array (“Nando”=>123, “Kiki”=>528, “Iwan”=>456);
atau
$rekan = array(“Nando”=>123);
$rekan [“Kiki”] = 528;
$rekan [“Iwan”] = 456;
array1.php
<?
$teman=array("nando","kiki","iwan");
echo "Data Temanku yang Pertama adalah $teman[0]<br>\n";
echo "Data Temanku yang Kedua adalah $teman[1]<br>\n";
echo "Data Temanku yang Ketiga adalah $teman[2]<br>\n";
?>
Akhir skrip
C. Navigasi array
Navigasi (mengakses nilai) array dapat dilakukan dengan looping.
Misalnya untuk menampilkan isi array berindex numerik di atas, kita akan
menggunakan kode seperti berikut :
for($i=0; $i<length($teman);$i++){
echo(“Array \$teman index ke [$i] adalah $teman[$i]”);
echo(“<br>”);
}
Untuk mengakses array berindex asosiatif, kita tidak dapat menggunakan loop
seperti di atas, karena label/index elemen disimpan dalam bentuk string.
Loop untuk mengakses array berindex asosiatif dapat dilihat pada sampel
kode di bawah :
while(list($index, $nilai) = each($rekan)){
echo(“Array \$rekan index $index berisi nilai $nilai”);
echo(“<br>”);
}
Ada dua fungsi yang terlibat di atas, each dan list. Fungsi each berguna untuk
mengakses masing-masing elemen dalam array. Elemen yang dihasilkan
adalah pasangan key dan value, dimana key adalah
indexnya dan value adalah isinya. Pasangan tersebut akan dipisahkan oleh
fungsi list dan dimasukkan ke dalam variabel $index dan $nilai.
array2.php
<?
$teman=array("nando"=>123,"kiki"=>528,"iwan"=>456);
for($i=0; $i<3;$i++){
echo("Array \$teman index ke [$i] adalah $teman[$i]");
echo("<br>");
}
?>
Akhir skrip
array3.php
<?
$teman=array("nando"=>123,"kiki"=>528,"iwan"=>456);
While(list($index,$nilai) = each($teman)){
echo("Array \$teman index $index adalah $nilai");
echo("<br>");
}
?>
Akhir skrip
foreachArray.php
<?
$teman=array("nando", "kiki","iwan");
Foreach($teman as $temanDekat){
echo("Array \$temanDekatku adalah $temanDekat");
echo("<br>");
}
?>
Akhir skrip
D. Fungsi-fungsi array
D.1 sort
Elemen-elemen dalam array dapat diurutkan dengan menggunakan fungsi sort().
Contoh penggunaannya adalah sebagai berikut :
sortArray.php
<?
$teman=array("nando"=>123,"kiki"=>528,"iwan"=>456);
asort($teman);
While(list($index,$nilai) = each($teman)){
echo("Array \$teman index $index adalah $nilai");
echo("<br>");
}
?>
Akhir skrip
D.2 asort dan ksort
Asort digunakan untuk mengurutkan asosiatif array menurut isinya. Contoh
penggunaan :
asortArray.php
<?
$teman=array("nando"=>123,"kiki"=>528,"iwan"=>456);
asort($teman);
While(list($index,$nilai) = each($teman)){
echo("Array \$teman index $index adalah $nilai");
echo("<br>");
}
?>
Akhir skrip
Ksort digunakan untuk mengurutkan asosiatif array menurut indexnya.
Contoh penggunaan :
ksortArray.php
<?
$teman=array("nando"=>123,"kiki"=>528,"iwan"=>456);
ksort($teman);
While(list($index,$nilai) = each($teman)){
echo("Array \$teman index $index adalah $nilai");
echo("<br>");
}
?>
Akhir skrip
BAB IV
Memproses file pada PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu memahami proses pemanipulasian file menggunakan code PHP, baik buka file, menyimpan file, maupun menutup file dan operasi file lainnya.
A. KONSEP MEMPROSES FILE
Adapun secara umum, untuk bekerja dengan file susunan yang dilaksanakan
yaitu:
1. Buka file
Adapun fungsi yang digunakan untuk membuka file yaitu dengan fungsi fopen.
Struktur pemanggilan fungsi fopen adalah sebagai berikut:
Sintaks: fopen(“nama file”,”mode”);
Keterangan;
Argument namafile adalah string yang menyatakan nama file yang akan
dibuka.
Argument mode adalah jenis atau mode yang digunakan untuk membuka file.
2. Proses/ memanipulasi file
3. Tutup file
Adapun fungsi yang digunakan untuk menutup file yaitu dengan fungsi fclose.
Struktur pemanggilan fungsi fclose adalah sebagai berikut:
Sintaks: fclose($fp);
Keterangan;
Argument $fp adalah variable string yang menyatakan nama file yang akan
dibuka.
Jenis mode Keterangan
r untuk membaca file.
r+ Membaca dan menulis kedalam file, penunjuk file akan diletakkan diawal
file.
`w Mode perekaman data dengan menciptakan file baru kalau belum ada,
dapat menulis data kedalam file dengan menghapus data yang sudah ada.
`w+ Mode perekaman data dengan menciptakan file baru kalau belum ada,,
dapat membaca dan menulis data kedalam file dengan menghapus data
yang sudah ada.
‘a
Mode penambahan data dengan menciptakan file baru kalau belum ada,
digunakan untuk menyimpan data dengan mode baca.
Penunjuk file diletakkan diakhir file
‘a+
Mode penambahan data dengan menciptakan file baru kalau belum ada,
digunakan untuk menyimpan data dengan mode baca dan tulis. Penunjuk
file diletakkan diakhir file
‘b File binary, digunakan untuk menyatakan file dibuka dalam bentuk biner
B. IMPLEMENTASI FUNGSI DALAM MEMPROSES FILE
Fungsi Fputs
Adalah fungsi bawaan untuk membuat file baru. Cermati contoh skrip dibawah ini:
fputsFungsi.php
<html>
<head>
<title>Demo Buat File Teks - fputs</title>
</head>
<body>
<h1>Demo Buat File Teks - fputs</h1>
<?
$namafile="dataTeman.txt";
$mydata="Nando, Tangerang, 54200053";
$fp=fopen($namafile,"w");
fputs($fp,$mydata);
fclose($fp);
?><hr>
Sukses membuat file teks dengan nama : <?echo $namafile?>
Data yang di tuliskan : <?echo $mydata?>
</body>
<html>
Akhir skrip
Fungsi file_exists
Fungsi diatas adalah untuk melakukan pengecekan apakah sebuah file sudah
dibentuk atau tidak. Contoh kita akan mengecek file dengan nama file
fputsFungsi.php diatas apakah sudah terbentuk atau belum.
file_existsFungsi.php
<html>
<head>
<title>Demo Buat Periksa File</title>
</head>
<body>
<h1>Demo Periksa File</h1>
<?
$namafile="dataTemen.txt";
if(file_exists($namafile)) {
echo "$namafile SUDAH ADA!";
}
else {
echo "$namafile BELUM ADA!";
}
?>
</body>
<html>
Akhir skrip
Fungsi fgets
Fungsi ini adalah digunakan untuk membaca dan menampilkan jumlah karakter
file
fgetsFungsi.php
<html>
<head>
<title>Membaca file Buku Telpon</title>
</head>
<body>
<h1>Membaca Data Buku Telpon dengan fgets()</h1>
<?
$fp=fopen("dataTeman.txt","r");
while($isi=fgets($fp,30)) {
echo $isi."<br>";
}
?>
</body>
<html>
Akhir skrip
Fungsi unlink
Fungsi ini digunakan untuk menghapus sebuah file
unlinkFungsi.php
<html>
<head>
<title>Menghapus File</title>
</head>
<body>
<h1>MMenghapus file dengan unlink()</h1>
<?
$hapusFile = unlink("dataTeman.txt");
if($hapusFile){
echo "namaFile dihapus";
}else{echo "namaFile tidak dihapus";}
//fclose($fp);
?>?>
</body>
<html>
Akhir skrip
Fungsi fgetc
Fungsi ini digunakan untuk membaca karakter file dan bias menghitung jumlah
karakter pada suatu file
fgetcFungsi.php
<html>
<head>
<title>Demo fgetc()</title>
</head>
<body>
<h1>Demo fgetc()</h1>
Statistik file: dataTeman.txt
<br>
<?
$fp=fopen("dataTeman.txt","r");
$huruf=0;
$baris=1;
while(!feof($fp)) {
// menajalankan fungsi fgetc
$ch=fgetc($fp);
if(($ch!=" ") && ($ch!="\n") && ($ch!="\t")) $huruf++;
if(($ch=="\n")) $baris++;
}
echo "<br>";
echo "Jumlah huruf : $huruf ";
echo "<br>";
echo "Jumlah Baris : $baris";
?>
</body>
</html>
Akhir skrip
Fungsi fscanf
Fungsi ini digunakan untuk membaca dan menampilkan file dengan dukungan
variable. Contoh masukkanlah data dibawah ini dan simpan dengan nama
bukutelpon.txt
Nando 021-5420053
Kiki 022-1234567
Iwan 022-7188899
Dinan 022-212121
Kemudian buatlah contoh penggunaan fscanf seperti dibawah ini:
fscanfFungsi.php
<html>
<head>
<title>Membaca File Buku Telpon</title>
</head>
<body>
<h1>Membaca Data Buku Telpon dengan fscanf()</h1>
<?
$fp=fopen("bukutelpon.txt","r");
while(list($nama,$telpon)=fscanf($fp,"%s\t%s\n")) {
echo $nama.".".$telpon."<br>";
}
?>
</body>
<html>
Akhir skrip
bukuTamu.php
<html>
<head>
<TITLE>Contoh Guestbook</TITLE>
<STYLE>
FONT,body,td,table
{
font-family : verdana;font-size : 14px;
}
b
{
font-family : Arial;
font-weight : bold;
}
a,a:hover,.link
{
font-family: verdana;font-size: 14pt;font-color: 66666;}
</STYLE>
</head>
<body bgcolor="#999999" leftmargin="0" topmargin="30" margin-width="0" marginheight="0">
<b><center>Silahkan isi <h3> BUKU TAMU </h3></center></b>
<table width="100%" border="0" cellspacing="4" cellpadding="4">
<tr>
<td height="50"></td>
</tr>
<tr>
<td><form action="simpanBukuTamu.php" method="post">
<table width="498" border="0" cellspacing="4" cellpad-ding="4" align="center">
<tr>
<td>Nama</td>
<td>
<input name="name" size=30 value="">
</td>
</tr>
<tr>
<td>Email</td>
<td>
<input name="email" size=30 value="">
</td>
</tr>
<tr>
<td>Homepage</td>
<td>
<input name="url" size=30 value="http://">
</td>
</tr>
<tr>
<td valign="top">Komentar</td>
<td>
<textarea name="message" cols=50 rows=10 wrap=soft>
</textarea>
</td>
</tr>
<tr>
<td valign="top">
</td>
<td>
<input type="submit" value="Kirim" name="submit">
</tr>
</table>
</form>
</td>
</tr>
<tr>
<td>
<center>
</table>
<p> </p>
</body>
</html>
Akhir skrip
simpanBukuTamu.php
<html>
<body>
<head>
<title>halaman penyimpanan data </title>
</head>
<body bgcolor="#999999">
<center>
<h1> Terima Kasih</h1>
<h2>anda telah mengisi buku tamu kami</h2>
</center>
<?
$today = getdate();
$bulan = $today[month];
$mday = $today[mday];
$tahun = $today[year];
$tanggal = "$bulan $mday, $tahun";
$today = date( "Ymd", time() );
$fp=fopen("dataBukuTamu.dat","a");
fputs($fp,
"<TABLE BORDER=\"0\" CELLPADDING=\"1\" bgcolor=EEEEEE width=\"500\">
<TR>
<TD colspan=\"2\">
</TD>
</TR>
<TR>
<TD align=\"right\" colspan=\"2\">
<i>$tanggal</i>
</TD>
</TR>
<TR>
<TR>
<TD width=\"30%\">
<B>Nama :</B></TD><TD>$name</TD>
</TR>
<TR>
<TD>
<B>Email :</B>
</TD>
<TD>
<A HREF=\"mailto:$email\">$email</A>
</TD>
</TR>
<TR>
<TD>
<B>Homepage :</B>
</TD>
<TD>
<A HREF=\"$url\" target=\"_blank\">$url</A>
</TD>
</TR>
<TR>
<TD valign=\"top\" colspan=\"1\">
<B>Komentar :</B>
</TD>
<TD>
$message </TD>
</TR>
<TR>
<TD colspan=\"2\">
</TD>
</TR>
</TABLE>");
?>
<a href="./bacaDataBukuTamu.php">Lihat buku tamu</a>
<br>
<a href="./bukuTamu.php">Ngisi buku tamu</a>
</body>
</html>
Akhir skrip
bacaDataBukuTamu.php
<html>
<body>
<head>
<title>halaman informasi data yang masuk </title>
</head>
<body bgcolor="#999999">
<center>
<?
$filesize = filesize("dataBukuTamu.dat");
$file = fopen("dataBukuTamu.dat","r");
$buffer = fread($file,$filesize);
echo "$buffer";
fclose($file);
?>
</td></tr></tr></table>
<p> </p>
<a href="./bukuTamu.php">Ngisi buku tamu</a></center>
</body>
</html>
Akhir skrip
BAB V
Membuat Fungsi pada PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu memahami penggunaan Fungsi pada PHP,baik secara konsep, inisialisasi dan proses pemanggilan fungsi menggunakan code PHP
A. KONSEP FUNGSI PHP
Fungsi merupakan sejenis prosedure yang berupa blok kode yang ditujukan
untuk melaksanakan suatu tugas tertentu. Sehingga dalam hal ini, fungsi dapat
dipanggil berulang kali di bagian manapun dalam skrip, walaupun hanya dibuat
sekali. Oleh karena itu, ketika nanti kita ingin membuat sebuah aplikasi yang
kompleks yang notabene banyak menggukan skrip atau kode program, kita bisa
meminimalkan dengan adanya mekanisme fungsi ini. Kegunaan dalam
pembuatan fungsi adalah dapat menjaga konsistensi dari code yang digunakan.
Berikut ini contoh pendeklarasian fungsi secara umum:
Function nama_fungsi ( parameter)
{
blok kode
}
B. RETURN VALUE DAN PARAMETER
Perhatikan kode berikut :
function tambah($a, $b){
return $a + $b;
}
Function sederhana di atas akan menerima masukan berupa dua angka.
Kemudian kedua angka tersebut akan dijumlahkan, dan hasilnya dikembalikan
kepada pemanggil function.
Nilai yang dikembalikan tersebut disebut return value. Sedangkan nilai yang
dimasukkan ke dalam function ($a dan $b) disebut parameter.
C. DEKLARASI FUNCTION
Ada beberapa hal utama yang perlu diperhatikan dalam deklarasi function
pada PHP.
• nama function
• parameter
• function body
Contoh function:
function tambahNilai($x, $y) {
z = x + y; echo(z);
} function jumlahkanlah(int x, int y) {
z = x + y; return z;
}
Perhatikan contoh function tambahNilai di atas.
Baris satu merupakan deklarasi function. deklarasi berisi :
• keyword function
• nama function
• parameter
Parameter adalah nilai yang dimasukkan ke dalam function untuk diproses
sehingga menghasilkan output.
Nama function ditentukan dengan memenuhi aturan sebagai berikut :
• Tidak boleh sama dengan function yang telah ada dalam PHP.
• Hanya boleh terdiri dari huruf, angka, dan garis bawah (underscore)
• Tidak boleh diawali dengan angka
function 4uOnly(){} // tidak boleh
Bahasa pemrograman lain mendukung fasilitas overloading, yaitu sebuah
function dapat memiliki nama yang sama dan hasil yang berbeda, dengan syarat
parameternya berbeda. PHP tidak mendukung overloading. Jadi, kita tidak dapat
menggunakan nama yang telah digunakan sebelumnya.
D. IMPLEMENTASI FUNCTION
tambahNilai.php
<?
function tambahNilai($a,$b){
return $a+$b;
}
function jumlahkan($x, $y)
{
$z = $x + $y;
echo($z);
}
echo tambahNilai(5,7)."<br>\n";
echo jumlahkan(8,7)."<br>\n";
?>
Akhir skrip
fungsiTulisTebal.php
<html>
<head>
<title>
Membuat fungsi sederhana
</title>
</head>
<body>
<?
function tulis_tebal ($kalimat)
{
print ("<b> $kalimat </b><br>\n");
}
tulis_tebal("selamat!");
tulis_tebal("Sekarang pahamilah fungsi dasar ini");
print("perhatikanlah hasilnya, tinggal panggil nama fungsi sajakan");
?>
</body>
</html>
Akhir skrip
defaultFungsi.php
<?
function buatKopi($jenis="mocacino"){
return "minum kopi jenis $jenis<br>\n";
}
echo buatKopi();
echo buatKopi("vanilla");
?>
Akhir skrip
modelFungsi.php
<?
//value.php
function hitung($harga){
return $harga=$harga-(0.1*$harga);
}
$harga=5000;
echo (hitung($harga));
echo $harga;
//reference.php
function hitungReference(&$harga1){
return $harga1=$harga1-(0.1*$harga1);
}
$harga1=5000;
echo (hitungReference($harga1));
echo $harga1;
/* reference1.php
function hitungReference1(&$harga2){
return $harga2=$harga2-(0.1*$harga2);
}
echo (hitungReference1(5000));
echo $harga2;
*/
//fungsidefault.php
function hitungDefault($harga3=1000){
return $harga3=$harga3-(0.1*$harga3);
}
echo (hitungDefault());
echo (hitungDefault(3000));
?>
Akhir skrip
E. PENGGUNAAN FUNGSI BAWAAN
Banyak fungsi bawaan yang disediakan pada PHP yang sangat bermanfaat
dalam proses penggunaan ulang code php diantaranya adalah fungsi require dan
include.
Menggunakan REQUIRE
Penggunaan require sangat baik untuk diterapkan bila code yang digunakan
terjaga kekonsistenannya. Sehingga penggunaan require sangat tepat digunakan
untuk template.
requireFungsi.php
<?
echo "ini adalah contoh yang paling sederhana<br>\n";
?>
Akhir skrip
requireFungsi1.php
<?
echo "Ini bagian Atas</br>\n";
require("requireFungsi.php");
echo"</br>\n";
echo "Ini bagian Bawah</br>\n";
?>
Akhir skrip
Menggunakan INCLUDE()
Penggunaan fungsi include() pada dasarnya tidak jauh berbeda dengan fungsi
require(). Perbedaan keduanya hanyalah ketika terjadi kesalahan. pada fungsi
require() akan terbentuk 'fatal error' dan pada fungsi include() hanya
memberingan sebuah 'warning'.
Fungsi include() akan mengevaluasi perintah/pernyataan hanya bila
pernyataan/ perintah yang dieksekusi saja tidak mengevaluasi semuanya
sedangkan fungsi require() akan mengevaluasi perintah/pernyataan secara
keseluruhan dan akan dieksekusi pada saat pertama kali sehingga bila server
sedang sibuk akan terasa lambat dalam pengoperasiannya. Contoh dibawah ini
bila menggunakan perintah require() maka ‘file1. inc’ dan ‘file2.inc’ akan
dieksekusi pada saat pertama kali. Namun bila menggunakan perintah include()
hanya akan mengeksekusi ‘file1.inc’.
Menggunakan perintah require()
if($variable == true){
require('file1.inc');
}else{
require('file2.inc');
}.
Menggunakan perintah include()
if($variable == true){
include('file1.inc');
}else{
include('file2.inc');
}
BAB VI
Pemahaman Class pada PHP
Tujuan : Pada bab ini, pembaca diharapkan mampu memahami pembuatan Class pada PHP,baik secara konsep, inisialisasi Class dan proses pemanggilan Class menggunakan code PHP
A. KONSEP CLASS DAN OBJECT
Secara konsep object Merupakan abstraksi sesuatu dalam dunia nyata, misal
benda, aktivitas, manusia, bussiness system, atau workflow sedangkan Class
merupakan instance dari object atau class bisa disebut sebuah template. Object
memiliki attribute dan method. Attribute adalah data yang terkandung di dalam
object sedangkan method adalah operasi-operasi yang disediakan oleh object
untuk mengakses atau memodifikasi attribute yang dimilikinya.
Adapun struktur dari Class didefinisikan dengan kode sebagai berikut :
<?
class Pelajar{
}
?>
Object dari class Pelajar dibuat dengan kode sebagai berikut :
$nando = new Pelajar();
$kiki = new Pelajar();
$iwan = new Pelajar();
B. METHOD DAN PROPERTIES
Pengembangan dari class pasti terdiri dari method dan properties. Istilah
properties bisa diartikan sebagai karakter unik dari suatu objek sedangkan
method adalah merupakan suatu action atau tingkah laku dari sebuah class.
B.1 Object Properties
Setiap object selalu mempunyai variabel yang biasa disebut properties yang
dapat dideklasrasikan didalam sebuah class.yang dapat dideklarasikan
dimanasaja namun untuk keutamaan seharusnya didefinisikan dibagian atas.
sebuah property dapat sebuah nilai, array atau objek lain contoh:
class pertamaClass
{
var $nama = "nando";
}
Objek pertamaClass telah terbentuk dengan nama properti yang isinya adalah
nando. Cara mengakses class diatas adalah sebagai berikut atau prosesnya
dinamakan instantiasi. Instansiasi adalah proses pendefinisian objek baru
berdasarkan class yang dibentuk: operator -> memperbolehkan untuk mengakses
properti pada suatu objek.
$obj1 = new pertamaClass();
$obj2 = new pertamaClass();
$obj1 -> nama = "kiki";
echo "$obj1->nama<br>\n";
echo "$obj2->nama<br>\n";
untuk lebih memahami proses instatiasi cobalah contoh class dibawah ini:
classContact.php
<?
class Contact{
//membuat variable
var $namaLengkap;
var $telp;
var $alamat;
var $namaPanggilan;
//method
function panggil($namaPanggilan){
//echo("Memanggil kontak"+ $contact->namaLengkap);
//
return $this->namaPanggilan=$namaPanggilan;
}
}
//PEMANGGILAN KELAS DALAM SATU HALAMAN
$nando = new Contact();//instantiation class
echo $nando->namaLengkap = "Nando Keren--";
echo $nando->telp = 528;
echo $nando->alamat = "Tangerang--<br>\n";
$panggilanNando = $nando->panggil("keren Sekali");
echo "Panggilan Contact Nando adalah\n".$panggilanNando."<br>\n<hr>";
$kiki = new Contact();
echo $kiki->namaLengkap = "Kiki Manis";
echo $kiki->telp = 456;
echo $kiki->alamat = "Bandung--<br>\n";
$panggilanKiki = $kiki->panggil("Manis Sekali");
echo "Panggilan Contact Kiki adalah\n".$panggilanKiki."<br>\n<hr>";
$iwan = new Contact();
echo $iwan->namaLengkap = "Iwan Malas";
echo $iwan ->telp = 123;
echo $iwan ->alamat = "USA--<br>\n";
$panggilanIwan = $iwan->panggil("Males Sekali");
echo "Panggilan Contact Iwan adalah\n".$panggilanIwan."<br>\n";
?>
Akhir skrip
B.2 Object Method.
Setiap class didefinisikan dan bila terdapat fungsi didalamnya, maka itulah
yang dinamakan method dari suatu class. Berikut ini sebuah method yang
bernama sayHello dari class pertamaClass.
class pertamaClass {
var $nama;
function sayHello(){
echo "hello";
}
}
$obj1 = new pertamaClass();
$obj1->sayHello();
?>
maka output dari file diatas adalah "hello";
berikut ini adalah contoh class dengan method yang sudah terdapat nilai
default pada property nama yaitu “nando”.
<?
class pertamaClass{
var $nama = "nando";
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
$obj1 = new pertamaClass();
$obj1->sayHello();
?>
Maka output dari class diatas adalah “hai nama saya adalah nando”.
Pada contoh class diatas, nilai property nando dapat diganti dengan membuat
sebuah method lagi yang menampung parameter pengganti pada method
tersebut. Berikut ini contoh untuk mengganti property pada class pertamaClass
agar tidak default.
<?
class pertamaClass{
var $nama="nando";
function setNama($n){
$this->nama = $n;
}
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
//proses instansiasi
$obj1 = new pertamaClass();
$obj1->setNama("Rizky");
$obj1->sayHello();
?>
Output dari contoh diatas adalah “hai nama saya adalah Rizky”.
C. CONSTRUCTOR
Setiap class pasti memiliki operator dengan tipe spesial dan biasa disebut
constructor. Constructor dipanggil ketika objek dibentuk. biasanya konstrustor
dideklarasikan sama dengan operator dan mempunyai nama yang sama dengan
class. satu hal yang perlu diingat PHP tidak terlalu suport fungsi overloading.
Berikut ini contoh class dengan pendekatan constructor.
constructorClass.php
<?
class pertamaClass{
var $nama;
function pertamaClass($n = "nando"){
$this->nama = $n;
}
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
$obj1 = new pertamaClass("rizky");
$obj2 = new pertamaClass("iwan");
$obj3 = new pertamaClass();
echo $obj1->sayHello()."<br>\n";
echo $obj2->sayHello()."<br>\n";
echo $obj3->sayHello()."<br>\n";
?>
Akhir skrip
class pertamaClass menggunakan pendekatan constructor sehingga secara
otomatis dipanggil pada saat proses instansiasi objek class pertamaClass. nilai
default adalah string "nando" akan diproses bila kita tidak memasukkan
parameter pada saat pembuatan objek. Contoh lain:
contohKonstruktorClass.php
<?
class rekeningTabungan{
var $saldo;
//konstruktor
function rekeningTabungan(){
$this->saldo=40000;
}
function cekSaldo(){
return $this->saldo;
}
function setor($jumlahUang){
$this->saldo = $this->saldo+$jumlahUang;
}
function ambil($jumlahUang){
$this->saldo = $this->saldo-$jumlahUang;
}
}
//PEMANGGILAN CLASS
$rekeningNando = new rekeningTabungan();
$saldoNandoAwal = $rekeningNando->cekSaldo();
echo "\$saldoNando awal=Rp".$saldoNandoAwal."<br>";
$rekeningNando->setor(400000);
echo "\$saldoNando sekarang=Rp".$rekeningNando->cekSaldo()."<br>";
$rekeningNando->ambil(100000);
echo "\$saldoNando akhir=Rp".$rekeningNando->cekSaldo(); ?>
Akhir skrip
D. INHERITANCE
Preses pembuatan sebuah class baru berdasarkan pada class yang sudah
ada sebelumnya dan biasanya mewarisi sifat-sifat class sebelumnya (subclass)
dan class yang mewariskan sifat-sifatnya(superclass). Model ini bisa
menimbulkan tingkatan-tinkatan pada class yang disebut hierarchy. Semakin
banyak tingkatan class semakin spesifik class yang akan diperoleh. Keuntungan
dari model ini adalah:
1. Di dalam sublass dapat didefinisikan method yang lebih spesifik berdasar
pada method yang ada di superclass (reuse code).
2. Dapat dibuat sebuah superclass yang bersifat generik yang disebut abstract
class yang berisikan method ”kosong” yang kemudian dapat diisi sesuai
spesifikasi dari subclass. Istilah turunan dari class bermanfaat untuk
perampingan.
Potongan class baru dengan nama class keduaClass yang merupakan
turunan dari class pertamaClass. Perintah extends adalah perintah turunan
sehingga semua fungsi yang ada pada class pertamaClass diturunkan kepada
class keduaClass.
inheritanceClass.php
<?
class pertamaClass{
var $nama;
function pertamaClass($n = "nando"){
$this->nama = $n;
}
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
//membuat class turunan
class keduaClass extends pertamaClass{
}
$anakClass = new keduaClass("siti anak dari nando");
$anakClass->sayHello();
Akhir skrip
E. OVERRIDING
Istilah overriding adalah sebenarnya adalah pendekatan untuk objek yang
memiliki berbagai bentuk, yaitu sebagai objeck dari classnya sendiri ataupun
sebagai object dari superclassnya(turunannya). Overriding terbagi menjadi 2 yaitu
overloading dan overriding
Overloading adalah penggunaan satu nama untuk beberapa method yang
berbeda dalam suatu kelas dan bisa dibedakan dengan parameter pada setiap
methodnya.
Overriding adalah mendeklarasikan sebuah method dengan nama dan
parameter yang sama dengan suatu method dari superclass, sehingga method
yang dideklarasikan di subclass akan meng override method dari superclassnya.
Pada proses inheritance secara default semua method diwariskan dari
superclass kepada subclass. Kemudian di dalam subclass dapat didefinisikan
sebuah method dengan nama dan parameter yang sama dengan method
superclass-nya (override) atau method yang sama dengan parameter berbeda
(overload).
overridingClass.php
<?
class pertamaClass{
var $nama;
function pertamaClass($n = "nando"){
$this->nama = $n;
}
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
// turunan Class dengan pendekatan overriding
class keduaClass extends pertamaClass{
function sayHello(){
echo "saya tidak ingin memberitahukan nama saya<br>\n";
}
}
$anakClass = new keduaClass("siti anak dari nando");
$anakClass->sayHello();
Akhir skrip
Pada class diatas output yang dihasilkan adalah "saya tidak ingin
memberitahukan nama saya", padahal seharusnya yang diharapkan keluar
adalah pernyataan “hai nama saya siti anak nando”, oleh karena itu untuk
menampilkan method override digunakan cara seperti berikut”
callOverridingClass.php
<?
class pertamaClass{
var $nama;
function pertamaClass($n = "nando"){
$this->nama = $n;
}
function sayHello(){
echo "hai nama saya adalah $this->nama<br>\n";
}
}
// turunan Class dengan pendekatan overriding
class keduaClass extends pertamaClass{
function sayHello(){
echo "saya tidak ingin memberitahukan nama saya<br>\n";
pertamaClass::sayHello();
}
}
$anakClass = new keduaClass("siti anak dari nando");
$anakClass->sayHello();
Akhir skrip
Maka hasil output dari class diatas adalah “saya tidak ingin memberitahukan
nama saya : hai nama saya nando"
BAB VII
Memahami Administrasi MySQL
Tujuan : Pada BAB ini, pembaca diharapkan mampu memahami administrasi user pada MySQL serta memahami hak akses serta kewenangan (privileges) oleh serorang user, mengerti perintah Grant dan perintah Revoke.
A. SEKILAS MYSQL
Berdasarkan informasi dari situs resmi sendiri yaitu www.mysql.com, MySQL
merupakan software database yang dikembangkan oleh sebuah perusahaan
Swedia Bernama MySQL AB, yang pada waktu itu bernama TcX Data Konsult
AB. Pada awalnya MySQL AB memakai mSQL atau “mini SQL “ sebagai antar
muka yang digunakan, ternyata dengan menggunakan mSQL itu mengalami
banyak hambatan yaitu sangat lambat dan tidak fleksibel. Oleh karena itu,
Michael Widenius (“Monty”), panggilan akrabnya, berusaha mengembangkan
interface tersebut hingga ditemukanlah MySQL.
Hingga kini, MySQL dapat dijalankan diberbagai sistim operasi, walaupun
pada awalnya MySQL hanya bisa dijalankan pada sistim unix beserta variannya.
MySQL menjadi salah satu database server Open Source yang sangat popular
dan merupakan database relational (RDBMS) yang mempunyai kemampuan
yang sangat cepat untuk dapat menjalankan SQL (Structured Query Language)
dengan multi-threaded dan multi-user. Oleh karena itu, dengan melihat begitu
tingginya potensi MySQL untuk dijadikan sebagai database yang handal, segala
feature pendukung terus dikembangkan agar penggunaan MySQL dapat lebih
optimal lagi.1
B. MENGAKTIFKAN MYSQL
Setelah melakukan penginstallan MySQL, langkah berikutnya yang harus
dikerjakan adalah mengecek/mengaktifkan MySQL. Secara default, MySQL
berada ditempat/direktori mysql\bin.
Cara pertama:
1 Fernando S, Membuat Aplikasi Web database dinamis menggunakan perangkat open source, Elex Media
Komputindo.
1. Buka Windows Explorer, kemudian masuk kedirektori c:\apache\mysql.
Carilah File WinMySQLAdmin kemudian klik ganda. Jika pertama kali maka
muncul jendela seperti gambar 5.1.
Gambar 7.1. Tampilan WinMySQLAdmin quick Setup.
2. Kemudian isikan username dan password. Tujuan pengisian tersebut adalah
untuk membentuk File my.cnf yaitu berguna untuk memberikan konfigurasi
awal untuk mengakses database.
3. Setelah itu perhatikan lampu traffic light pada taskbar pojok kanan, apabila
hijau berarti Host MySQL anda dapat dijalankan.
Cara kedua
1. Buka MsDOSPrompt, hingga tampil jendela Dos .
2. Masuklah kedirektori MySQL, ketikkan perintah C:/apache/mysql/bin, hingga
direktori berubah menjadi c:\apache\mysql\bin>
3. ketikkan perintah mysqld.
4. ketikkan perintah mysql, hingga tampil seperti gambar 5.2 berikut.
Gambar 5.2. Jendela MySQL dengan shell lewat MS-DOS yang sedang aktif
C. ADMINISTRASI USER
Administrasi User ini sangat penting sekali dalam memanajemen pengolahan
database. Secara default MySQL telah mengkonfigurasikan user yang paling tinggi. User
ini disebut sebagai root (user yang telah memiliki semua hak akses).
Menghapus user yang tidak mempunyai password
1. Aktifkan MySQL hingga tampil seperti gambar 5.2.
2. Masuk ke database MySQL dengan perintah Use MySQL (perintah yang wajib
dijalankan terlebih dahulu)
3. lakukan perintah untuk menampilkan data pada Table user;
4. lakukan perintah hapus user yang tidak mempunyai password:
Memberikan password pada user root
1) dalam keadaan promp MySQL, lakukan perintah update user:
2) Berikan perintah :Flush Privileges
Menambah User Baru
Dalam menambah user baru ada dua cara penulisannya yaitu sebagai berikut:
Cara I
Cara II
Jangan lupa Berikan perintah :Flush Privileges dan setelah penambahan user
ini untuk memastikan terjadi perubahan pastikan untuk melihat data pada Table
user.
D. PEMBUKTIAN HAK AKSES
Dalam pembuktian ini kita uji coba dengan 2 user yang telah dibuat dengan
langkah-langkah sebagai berikut:
Pembuktian user default
1. Masuk kedalam direktori MySQL yaitu (c:\apache\mysql\bin)
2. Berikan perintah mysql
Pembuktian user root
1. Berikan perintah masuk ke MySQL sebagai berikut:
2. Coba tampilkan data pada Table user.
3. kemudian keluar lagi dengan perintah \q
Pembuktian user fitri
1. Lakukan langkah sama dengan user root hanya saja nama usernya yang
berbeda.
2. Coba masuk dengan user fitri
3. Ingat setiap ingin menggunakan perintah lainnya harus terlebih dahulu
mengaktifkan database dengan perintah use mysql
4. Coba tampilkan data pada Table user.
Pembuktian user lulu
Untuk lebih jelasnya coba lakukan langkah yang sama seperti pada user fitri. Dan
amati hasilnya.
E. JENIS-JENIS HAK AKSES
Salah satu kelebihan MySQL adalah adanya pengaturan hak akses terhadap
user. Pentingnya hak akses ini adalah demi keamanan data.
Sistem Privileges
Privileges adalah hak akses untuk melakukan operasi dalam mysql.
Informasi Privileges disimpan dalam tabel user, db, host, Tables_priv dan
columns_priv di database mysql, tabel-tabel tersebut biasa disebut dengan tabel
grant. Nama yang digunakan pada Privilege yang disediakan oleh mysql
ditunjukkan sebagai berikut :
Tabel 7.1. Sistem Privileges Privileges Field Penjelasan Select Select_priv Tabel Insert Insert_priv Tabel Update Update_priv Tabel Delete Delete_priv Tabel Index Index_priv Tabel Alter Alter_priv Tabel Create Create_priv Database, tabel, index Drop Drop_priv Database, Table Grant Grant_priv Database, Table References References_priv Database, Table Reload Reload_priv Adminsitrasi server Shutdown Shutdown_priv Adminsitrasi server Process Process_priv Adminsitrasi server File File_priv Akses File pada server
Penjelasan Privilege
1. Privilege select, Insert, update, dan delete memungkinkan untuk melakukan
operasi pada baris-baris tabel suatu database.
2. Privilege index memungkinkan user untuk membuat atau menghapus index
pada suatu tabel.
3. Privilege create dan drop memungkinkan user untuk membuat tabel dan tabel
baru atau menghapus yang sudah ada.
4. Privilege grant adalah untuk memberikan ke user lainnya Privilege yang
dimiliki.
5. Privilege File adalah ijin untuk membaca atau menulis File pada server
dengan menggunakan load data inFile dan select …. Into outFile.
6. Privilege lainnya adalah untuk keperluan admistrasi server.
Reload : Flush-Privileges, Flush-hosts, reload, File Flush-log,Flush-
Table.
Shutdown : shutdown server MySQL
Process : processlist, kill.
Perintah Grant
Grant merupakan perintah untuk memberikan hak izin akses bagi user agar
dapat mengakses database, Table dan kolom.
Memberikan perintah grant secara penuh.
Untuk memperjelas perintah grant, kita berikan hak akses secara penuh
kepada user fitri dengan cara sebagai berikut:
1. Masuk ke MySQL sebagai user root
2. Berikan perintah kepada user fitri:
3. Berikan perintah Flush Privileges;
4. Tampilkan hasil grant yang diberikan
5. Keluar dengan perintah \q
6. Kemudian lakukan langkah yang sama seperti langkah-langkah dalam
pembuktian pada user fitri.
7. Amati hasilnya
Perintah Revoke
Revoke adalah kebalikan dari perintah grant yaitu untuk mencabut hak akses
bagi user yang sebelumnya telah diberikan.
Mencabut perintah revoke secara keseluruhan
Untuk memperjelas perintah revoke, lakukan pencabutan hak akses secara
penuh kepada user fitri dengan cara sebagai berikut:
1. Masuk ke MySQL sebagai user root
2. Berikan perintah revoke sebagai berikut:
3. Berikan perintah Flush Privileges;
4. Ulangi dari langkah 5-7 pada perintah grant
BAB VIII
Menjalankan perintah SQL pada MySQL
Tujuan : Pada BAB ini, pembaca diharapkan mampu memahami perintah SQL, menjalankan query pada MySQL serta mengerti fungsi-fungsi yang ada pada MySQL, Serta dapat menggunakan salah satu tools untuk menjalankan MySQL dengan MySQL Front.
A. PERINTAH DASAR SQL
SQL (Structure Query Language), yang pada awalnya didefinisikan oleh ISO
(International Standards Organization ) dan ANSI ( the American National Standards
Institute), telah mengalami perkembangan begitu pesat, sehingga saat ini banyak
perangkat lunak yang dapat menggunakannya, salah satunya yaitu MySQL. Secara
umum, perintah dasar SQL dapat digolongkan menjadi tiga kelompok, yaitu:
1. DDL (Data Definiton Language ), yaitu perintah yang berkaitan dengan
penciptaan atau penghapusan objek, misalnya, create Table, alter Table..
2. DML (Data Manipulation Language), yaitu perintah yang digunakan untuk
memanipulasi data, misalnya, Insert, Update, select dan delete
3. DCL (Data Control Language), yaitu perintah yang digunakan untuk
melakukan otorisasi terhadap pengaksesan data, misalnya, Grant, Revoke,
Commit dan Rollback.
B. MENJALANKAN SQL
1. Membuat basis data
Perintah umum untuk membuat basis data yaitu:
Create database NamaDatabase.
Contoh:
Create database dataku
2. Membentuk Tabel
Perintah umum untuk membuat Table yaitu:
Create Table nama_tabel (
Nama_kolom1 tipe_data([ukuran]),
Nama_kolom2 tipe_data([ukuran]),
…
Nama_kolomN tipe_data([ukuran]));
Buatlah Table sebagai berikut:
3. Menambah data
Perintah umumnya adalah sebagai berikut:
insert into Nama_tabel
nama_kolom1,nama_kolom2, kolomN) values (nilai1,nilai2,nilaiN);
1. Isikan data sebagai berikut:
2. Isikan data sebanyak 5 buah sebagai berikut
S01 Savitri Lombok 20
I01 Ina Tangerang 18
B01 Bekkah Tangerang 17
L01 Lulu Lombok 22
F02 Fera Jakarta 19
4. Menampilkan data
Secara umum untuk menampilkan data pada MySQL yaitu hanya dengan
menggunakan perintah select. Perintahnya adalah sebagai berikut:
Select * from Nama_tabel;
Tampilkan data dengan perintah select: 1.Select * from teman;
2.Select * from teman order by nama desc;
3.Select * from teman order by nama Asc;
4.Select nim,nama, alamat,usia from teman;
5.Select nim,nama from teman where alamat=’tangerang’;
Tampilkan data dengan model perintah select
6.select * from teman order by nama ASC, alamat DESC;
7.select * from teman group by alamat;
8.Select nama,alamat from teman Group by nama Having alamat
<>'tangerang';
9.Select nama,alamat from teman Group by nama Having
alamat='tangerang';
Fungsi Agregate
Fungsi Agregat adalah fungsi yang disediakan oleh SQL untuk menghasilkan
sebuah nilai berdasarkan sejumlah data. Fungsi ini sering disebut fungsi grup
atau fungsi ringkasan
Select avg(usia) from teman;
Select count(*) from teman;
Select max(usia) from teman;
Select min(usia) from teman;
Select sum(usia) from teman;
Table 8.1. Daftar fungsi agregate pada MySQL Fungsi Agregate
Keterangan
Avg Memperoleh nilai rata-rata Count Menghitung cacah data Max Menghasilkan nilai terbesar Min Menghasilkan nilai terkecil Sum Memperoleh penjumlahan data
5. Menghapus data
Perintah Umum dalam Menghapus data adalah sebagai berikut:
delete from nama_Table where kolom='isi_kolom'
contoh:
delete from teman where nama=’fera’;
6. Mengupdate data
UPDATE nama_Table SET nama_kolom='isinya'
WHERE nilai_unik='isinya'
UPDATE teman SET alamat='lombok timur'
WHERE NIM=S01;
7. Memberikan Perintah Alter Table
Perintah alter Table sangat bermanfaat untuk memodifikasi Table, baik
menambah, menghapus, maupun mengganti kolom yang ada pada Table
tersebut.
Perintah Umum Alter Table adalah sebagai berikut:
Menambah kolom
ALTER TABLE nama_Table ADD nama_kolom tipe_data(5)
contoh
ALTER TABLE teman ADD no_telp int(5);
Menghapus kolom ALTER TABLE nama_Table DROP nama_kolom
Contoh
ALTER TABLE teman DROP no_telp;
Mengubah kolom ALTER TABLE nama_Table change nama_kolom tipe_data(5)
contoh
ALTER TABLE teman change usia usia int(5);
8. Mengenal perintah Show
Perintah Show yang bisa dilaksanakan dalam MySQL adalah sebagai berikut:
SHOW VARIABLES
SHOW STATUS
SHOW PROCESSLIST
SHOW DATABASES
SHOW TABLES FROM dataku
SHOW FIELDS
C. MENGGUNAKAN TOOLS MYSQL FRONT
MySQLFront adalah sebuah software yang dapat digunakan sebagai interface
untuk menjalankan database MySQL di lingkungan Windows. Sehingga dalam
pembuatan suatu aplikasi dengan menggunakan MySQL itu sangat mudah,
karena tampilannya berbasis GUI atau visual. Sehingga untuk mencoba intruksi-
instruksi MySQL tidak perlu mengetikkan banyak perintah seperti kita
menjalankannya pada Shell MySQL yang mempunyai kerumitan yang sangat
tinggi.
Gambar 8.1. Mengkoneksi ke MySQL Server
Sekilas penjelasan mengenai komponen – komponen pada saat menjalankan
MySQLFront adalah sebagai berikut:
Host menyatakan nama host.
Nama host dapat berupa alamat seperti 192.168.6.1. atau dalam bentuk DNS seperti uad.ac.id.
User menyatakan nama pemakai
Password menyatakan password pemakai
Gambar 8.2. Tampilan awal koneksi database pada MySQL Front
Struktur Menu pada MySQLFront
Menu File
1. Connection.
Menu ini dipakai untuk membuat koneksi baru, sehingga anda dapat
menampilkan koneksi baru dengan window yang berbeda atau bisa dibilang
dengan menu MDI (Multiple Dokumen Interface) yakni tampilan dokumen
secara banyak.
2. Close.
Menu ini dipakai untuk menutup koneksi
3. Reset Window-Option.
Menu ini digunakan untuk mereset/ menghapus opsi pada Window yang telah
digunakan.
4. Export Settings.
Menu ini digunakan untuk mengexport hasil settingan pada window option ke
dalam format yang berextensi .reg
5. Import Settings.
Menu ini digunakan untuk mengimport atau mengambil hasil settingan dari
dokumen lain yang berextensi .reg
Menu Edit
Menu ini tidak aktif dalam MySQLFront, namun untuk dapat menggunakannya
dapat dengan cara lain yaitu dengan metode klik kanan.
Menu Tools
Menu ini adalah ada menu yang sering digunakan dalam membantu menjalankan
intruksi- intruksi dan pengaturan pada lingkungan MySQL Front.
1. File.
Menu ini digunakan untuk melakukan File.
2. Create Database.
Menu ini digunakan untuk membuat database baru.
3. Create Tabel.
Menu ini digunakan untuk membuat Table baru.
4. Drop Database.
Menu ini digunakan untuk menghapus database yang ada.
5. Drop Tabel.
Menu ini digunakan untuk menghapus Table yang ada.
6. Flush.
Menu ini digunakan untuk memberikan efek perubahan tehadap data yang
sudah dimodifikasi.
Adapun jenis Flush ini terbagi kedalam beberapa bagian yaitu:
Flush host yaitu menetapkan efek perubahan yang terjadi pada host.
Flush logs yaitu menetapkan efek perubahan yang terjadi pada File log.
Flush Privileges yaitu menetapkan efek perubahan yang terjadi pada user
Flush Tables yaitu menetapkan efek perubahan yang terjadi pada Table.
Flush Tables with read clock yaitu menetapkan efek perubahan pada Table
yang telah dikunci.
Flush Status yaitu memberikan efek perubahan yang terjadi pada status.
7. User Manager.
Menu ini adalah menu yang sangat penting, karena menu dapat digunakan
untuk menambah atau mengedit user baru, mengganti hak akses, bahkan
dapat mengganti password root.
8. Table Diagnostics.
Menu ini digunakan untuk melakukan diagnostics Table baik itu memeriksa
status Table, mengoptimalkan Table maupun memperbaikinya bila terjadi
kerusakan
9. Preference.
Menu ini bisa dibilang sebagai tempat untuk mengkonfigurasi tampilan pada
MySQL Front.
Menu Im-/Export
Menu ini adalah menu yang bisa digunakan untuk memindahkan File atau
database ke bentuk lain. Anda dapat melihat komponen yang terdapat pada
menu Im-/Export.
1. Import TextFile.
Menu ini berguna untuk mengambil File atau data dari bentuk CVS ke dalam
dalam database, atau bisa dikenal dengan nama (local inFile).
2. ODBC Import.
Menu ini berguna untuk memindahkan File atau data pada database kedalam
database lain yang dikenal oleh MySQL.
3. Export Tables.
Menu ini berguna untuk memindahkan data atau Table kedokumen lain.
4. Copy As CVS data.
Mengcopy data ke dalam bentuk CVS.
5. Copy As HTML Tables.
Mengcopykan Table ke dalam bentuk HTML.
6. Save As CVS data.
Menyimpan data ke dalam bentuk CVS.
7. Save As HTML Tables.
Menyimpan Table kedalam bentuk HTML untuk ditampilkan kedalam browser.
Menu Window
Menu ini digunakan untuk mengatur tampilan MySQL Front
1. Cascade.
Mengatur tampilan secara Cascade ( ukuran standar)
2. Tile Horizontal.
Mengatur tampilan dengan judul mendatar
3. Tile Vertical.
Mengatur tampilan dengan judul vertikal
Menu Help
Menu Help adalah menu yang dapat digunakan untuk melihat panduan manual
yang diberikan oleh pihak pembuat atau pertanyaan-pertanyaan seputar MySQL
Front.
1. Readme
Menu ini berisikan informasi mengenai MySQL Front
2. Online FAQ
Menu ini merupakan media untuk mengajukan segala macam pertanyaan
tentang MySQL Front.
3. MySQL Front on the web
Menu ini digunakan untuk menampilkan bantuan MySQL se-cara online
4. Donation.
Menu ini menuju ke situs MySQL Front.
5. About.
Menu ini berisi penjelasan mengenai MySQL Front.
Icon untuk memanipulasi data dalam MySQL Front
Seperti software lainnya, untuk memudahkan user dalam melakukan
pemanipulasian data MySQL Front menyediakan sejumlah Icon yang dapat
langsung digunakan dalam mengeksekusi sebuah teable. Sehingga kita tidak
perlu lagi melakukan perintah sql dalam mengeksekusi Table seperti menambah
record, menghapus record dan sebagainya.
Gambar 8.3 icon dalam MySQL Front
Penjelasan singkat mengenai gambar diatas yaitu:
1. View data.
Icon ini digunakan untuk melihat hasil data yang ada pada suatu tabel
2. Show tabel properties.
Icon ini digunakan untuk melihat property dari pada sebuah Table, dan dapat
digunakan untuk mengubah atau menambahkan atribut atau tipe data dari
sebuah field atau record.
3. Insert record.
Icon ini digunakan untuk menambahkan data secara langsung kedalam
sebuah Table .
4. Empty Table.
Icon ini digunakan untuk mengosongkan isi suatu Table tanpa menghapus
tabel itu sendiri.
5. Delete Table.
Icon ini digunakan untuk menghapus tabel beserta isinya.
6. Create a copy Table.
Icon ini digunakan untuk membuat sebuah tabel baru dengan tabel yang lama.
7. First record.
Icon ini digunakan untuk melihat isi record pertama pada tabel.
8. Prior record.
Icon ini digunakan untuk menuju kerecord sebelumnya
9. Next record.
Icon ini digunakan untuk menuju ke record selanjutnya
10. Last record.
Icon ini digunakan untuk menuju ke record paling akhir
11. Insert record.
Icon ini digunakan untuk menambahkan record baru.
12. Delete record.
Icon ini digunakan untuk menghapus record.
13. Edit record.
Icon ini digunakan untuk mengganti isi record
14. Post edit.
Icon ini digunakan untuk memastikan pengeditan data, baik itu penambahan
maupun penggantian data (hampir sama dengan File data).
15. Cancel edit.
Icon ini digunakan untuk melakukan pembatalan dalam melakukan pengeditan
16. File data.
Icon ini digunakan untuk melakukan File pada data.
BAB IX
Membuat aplikasi e-news (berita online)
Tujuan : Pada BAB ini, pembaca diharapkan mampu membuat aplikasi e-news secara online yang meliputi penambahan, pengupdatean maupun penghapusan berita yang sudah tidak layak ditampilkan.
A. MEMBUAT SKRIP KONEKSI (Antara PHP dan MySQL)
Skrip db.php
<?
$db_hostname="localhost";
$db_username="root";
$db_password="";
$db_name="webNando";
mysql_connect($db_hostname,$db_username,$db_password);
mysql_select_db($db_name);
?>
Akhir skrip
B. MEMBUAT DATABASE
Perintahnya adalah sebagai berikut: CREATE DATABASE webnando;
C. MEMBUAT TABEL
Membuat Tabel dengan Perintah sebagai berikut:
CREATE TABLE news
(
id int(11) NOT NULL auto_increment,
tanggal varchar(50) NOT NULL,
judul varchar(255) NOT NULL,
isi text NOT NULL,
foto text,
penulis varchar(255) NOT NULL,
PRIMARY KEY (id)
) ;
D. MEMBUAT SKRIP ATAS
atas.php
<html>
<body>
<div align="center">
<table width="460" border="0" cellpadding="" cellspacing="0" >
<tr bgcolor="#00428C" >
<td width="100%" align="center"><b><font color="white">
BERITA TERBARU</font></b></td>
</tr>
</table>
</div>
</body>
</html>
Akhir skrip
E. MEMBUAT SKRIP LINK
link.php
<table width="460" border="0" cellpadding="" cellspacing="0" >
<tr bgcolor="#00428C" >
<td width="100%" align="center">
[<a href="./form_news.php"> <font color="white">
Tambah Berita</font></a>]
[<a href="./ubah.php"><font color="white">
Ubah Berita</font></a>]
[<a href="./lihat_detail.php"> <font color="white">
Lihat Berita </font></a>]
[<a href="./hapus.php"> <font color="white">
Hapus Berita </font></a>]
</td>
</tr>
</table>
Akhir skrip
F. MEMBUAT SKRIP FORM TAMBAH BERITA
form_news.php
<html>
<body>
<? include("atas.php");?>
<table align="center" width="460">
<tr>
<td width="400" bgcolor="#EAECCA" align=center>
<form name="forml" method="post" action="insert_news.php"
enctype="multipart/form-data">
<table border="1" bgcolor="#bffff17" width="460">
<tr>
<td><b>Waktu Masuk Berita:</b></td>
<td>
<select name="tanggal">
<option value="0" selected> Tanggal
<?
for ($i=1;$i<32;$i++)
{
if($tanggal==$i)
$sel="SELECTED";
ELSE
$sel="";
printf("<option value=\"$i\" $sel>$i");
}
?>
</option></select>
<select name="bulan">
<option value=0 selected> Bulan
<?
for ($i=1;$i<13;$i++)
{
$sele[$i]="";
if($bulan==$i)
$sele[$i]="selected";
}
printf("<option value=\"$i\" $sele[1]>Januari");
printf("<option value=\"$i\" $sele[2]>Februari");
printf("<option value=\"$i\" $sele[3]>Maret");
printf("<option value=\"$i\" $sele[4]>April");
printf("<option value=\"$i\" $sele[5]>Mei");
printf("<option value=\"$i\" $sele[6]>Juni");
printf("<option value=\"$i\" $sele[7]>Juli");
printf("<option value=\"$i\" $sele[8]>Agustus");
printf("<option value=\"$i\" $sele[9]>September");
printf("<option value=\"$i\" $sele[10]>Oktober");
printf("<option value=\"$i\" $sele[11]>November");
printf("<option value=\"$i\" $sele[12]>Desember");
?>
</option></select>
<select name="tahun">
<option value="0" selected> Tahun
<?
$saatini=(integer) date ("Y");
for ($i=1982;$i<=$saatini;$i++)
{
if($i==$Tahun)
$sel="selected";
else
$sel="";
printf("<option value=\"$i\" $sel>$i");
}
?>
</option></select>
</td>
</tr>
<tr>
<td><b>Judul Berita :</b></td>
<td><input type=text name=judul size=30 ></td>
</tr>
<tr>
<td><b>Penulis :</b></td>
<td><input type=text name=penulis size=30 ></td>
</tr>
<tr>
<td><b>Foto :</b></td>
<td><input type=file name='foto' size=30 ></td>
</tr>
<tr>
<td><b>Isi:</b></td>
<td><textarea name='isi' cols='37'rows='10'></textarea></td>
</tr>
<tr>
<td align=right>
<input type='submit' name='Submit' value='Tambah'>
</td>
<td>
<input type='Reset' name='Reset' value='Hapus'>
</td>
</tr>
</table>
</form>
<BR>
<? include("link.php");?>
</body>
</html>
Akhir Skrip
G. MEMBUAT SKRIP MASUKIN BERITA
insert_news.php
<html>
<body>
<div align="center">
<? include("atas.php");?>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<?
include("db.php");
move_uploaded_file($foto,"image/$foto_name");
mysql_db_query($db_name, "INSERT INTO
news(id,tanggal,judul,isi,foto,penulis)
values('','$tanggal-$bulan-$tahun','$judul','$isi','$foto_name','$penulis')");
if (mysql_affected_rows()>0)
print("Data dengan penulis $penulis telah ditambahkan");
else
print("data Gagal ditambahkan");
?>
<!--bawah-->
</td>
</tr>
<tr>
<td width="460" bgcolor="#00428C"></td>
</tr>
</table>
<BR>
<? include("link.php");?>
</div>
</body>
</html>
Akhir skrip
H. SKRIP MENAMPILKAN BERITA YANG MASUK
lihat_detail.php
<html>
<body>
<div align="center">
<? include("atas.php");?>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<? include("./db.php");
$hasil = mysql_db_query($db_name,"SELECT * FROM news
order by id desc");
while ($data = mysql_fetch_row($hasil))
{
$id=$data[0];
$tanggal=$data[1];
$judul=$data[2];
$isi=$data[3];
$foto=$data[4];
$penulis=$data[5];
?>
<BR>
<? echo"<img src='./image/$foto' width=100 height=125
align=Left>"; ?>
<p align=justify><font color=#0C4BAB>
<b><? echo $judul; ?></b></font>
<BR>
Oleh:
<font color=blue><? echo($penulis);?></font>
<BR>
<? echo $tanggal; ?>
<BR>
<? echo $isi; ?><BR><BR><BR><BR>
<?
}
?>
</td>
</tr>
<tr>
<td width="460" bgcolor="#00428C"></td>
</tr>
</table><BR>
<? include("link.php");?>
</div>
</body>
</html>
Akhir skrip
I. SKRIP PENGUBAHAN BERITA
ubah.php
<html>
<body>
<div align="center">
<? include("atas.php");?>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<? include("./db.php");
$hasil = mysql_db_query($db_name,"SELECT * FROM news order by id
desc");
while ($data = mysql_fetch_row($hasil))
{
$id=$data[0];
$tanggal=$data[1];
$judul=$data[2];
$isi=$data[3];
$foto=$data[4];
$penulis=$data[5];
}
?>
<div align="center">
<form name="forml" method="post" action="ubah_detail.php?id=
<? echo "$id";?>" enctype="multipart/form-data">
<table border="0" bgcolor="#bffff17"width="460">
<tr>
<td><b>Waktu Masuk Berita:</b></td>
<td>
<select name="tanggal" >
<option value="0" selected> Tanggal
<?
for ($i=1;$i<32;$i++)
{
if($tanggal==$i)
$sel="SELECTED";
ELSE
$sel="";
printf("<option value=\"$i\" $sel>$i");
}
?>
</option></select>
<select name="bulan">
<option value=0 selected> Bulan
<?
for ($i=1;$i<13;$i++)
{
$sele[$i]="";
if($bulan==$i)
$sele[$i]="selected";
}
printf("<option value=\"$i\" $sele[1]>Januari");
printf("<option value=\"$i\" $sele[2]>Februari");
printf("<option value=\"$i\" $sele[3]>Maret");
printf("<option value=\"$i\" $sele[4]>April");
printf("<option value=\"$i\" $sele[5]>Mei");
printf("<option value=\"$i\" $sele[6]>Juni");
printf("<option value=\"$i\" $sele[7]>Juli");
printf("<option value=\"$i\" $sele[8]>Agustus");
printf("<option value=\"$i\" $sele[9]>September");
printf("<option value=\"$i\" $sele[10]>Oktober");
printf("<option value=\"$i\" $sele[11]>November");
printf("<option value=\"$i\" $sele[12]>Desember");
?>
</option></select>
<select name="tahun">
<option value="0" selected> Tahun
<?
$saatini=(integer) date ("Y");
for ($i=1982;$i<=$saatini;$i++)
{
if($i==$Tahun)
$sel="selected";
else
$sel="";
printf("<option value=\"$i\" $sel>$i");
}
?>
</option></select>
</td>
</tr>
<tr>
<td><b>Judul Berita :</b></td>
<td><input type=text name=judul size=30 value=
<? echo"$judul";?>></td>
</tr>
<tr>
<td><b>Penulis :</b></td>
<td><input type=text name=penulis size=30 value=
<? echo"$penulis";?>></td>
</tr>
<tr>
<td><b>Foto :</b></td>
<td><input type=file name='foto' size=30 value=
<? echo"$foto";?>></td>
</tr>
<tr>
<td><b>Isi:</b></td>
<td><textarea name='isi' cols='37'rows='10'>
<? echo"$isi";?></textarea></td>
</tr>
<tr>
<td align=right>
<input type='submit' name='Submit' value='Update'>
</td>
<td>
<input type='Reset' name='Reset' value='Hapus'>
</td>
</tr>
</table>
</form>
</div>
</td>
</tr>
<tr>
<td width="460" bgcolor="#00428C">
</td>
</tr>
</table>
<BR>
<? include("link.php");?>
</div>
</body>
</html>
Akhir skrip
ubah_detail.php
<html> <body>
<div align="center">
<? include("atas.php");?>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<? include ("db.php");
move_uploaded_file($foto,"image/$foto_name");
$rubah="update news set judul='$judul', penulis='$penulis',
tanggal=' $tanggal/$bulan/$tahun', foto='$foto_name',
isi='$isi' where id='$id'";
mysql_query($rubah);
if (mysql_affected_rows()>0)
print("Berita Tanggal $tanggal-$bulan-$tahun telah dirubah");
else
print("Berita Gagal dirubah");
?>
<!--bawah-->
</td>
</tr>
<tr>
<td width="460" bgcolor="#00428C"></td>
</tr>
</table>
<BR>
<? include("link.php");?></div>
</body>
</html>
Akhir skrip
J. SKRIP PENGHAPUSAN BERITA
hapus.php
<html>
<body>
<div align="center">
<? include("atas.php");?>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<? include("./db.php");
$hasil = mysql_db_query($db_name,"SELECT id,tanggal FROM news
order by id ");
?>
<table border="1">
<?
while ($data = mysql_fetch_row($hasil))
{
$id=$data[0];
?>
<tr>
<td><? echo $tanggal=$data[1]; ?> </td>
<td><? echo "<a href=hapus_detail.php?id=$id>Hapus
</a>"; ?></td>
</tr>
<?
}
?>
</table>
<tr>
<td align=center>
</td>
</tr>
</table>
<BR>
<? include("link.php");?>
</div>
</body>
</html>
Akhir skrip
hapus_detail
<html>
<body>
<div align="center">
<table width="460" border="0" cellpadding="" cellspacing="0" >
<tr bgcolor="#00428C" >
<td width="100%" align="center">
<b><font color="white">BERITA TERBARU</font></b></td>
</tr>
</table>
<table width="460" border="1" cellpadding="0" cellspacing="0"
style="border-collapse: collapse" bordercolor="#111111" >
<tr>
<td width="460" bgcolor="#EAECCA" p align=center>
<?
include("db.php");
$hapus= "delete from news where id = $id ";
mysql_query($hapus);
if (mysql_affected_rows()>0)
print("Berita $tanggal telah dihapus");
else
print("Berita Gagal dihapus");
?>
</td>
</tr>
<tr>
<td width="460" bgcolor="#00428C"></td>
</tr>
</table>
<BR>
<? include("link.php");?></div>
</body>
</html>
Akhir skrip
BAB X
Membuat aplikasi e-news (berita online)
advance
Tujuan : Pada BAB ini, pembaca diharapkan mampu membuat aplikasi e-news secara online dengan model atau mekanisme waktu secara otomatis.
A. MEMBUAT SKRIP PENGELOLAAN BERITA DALAM SATU WINDOW
tabel.php
<?
function opentable($lebar,$warna,$jd,$nmjdl)
{
echo ("<table width=$lebar border=0 cellspacing=0 cellpading=1 bgcolor=$warna>
<tr><td>");
echo ("<table width=100% border=1 cellspacing=0 cellpading=0 bgcolor=#ffffff>");
if ($jd=='Y') echo ("<tr><td bgcolor=$warna align=center><marquee><font
color=white><b>$nmjdl</b></td></tr>");
echo ("<tr><td>");
}
function closetable(){
echo ("</td></tr></table></td></tr></table>");
}
?>
Akhir skrip
jamtgl.php
<?
function tgl()
{
global $bulan,$hari,$tgl,$tahun;
$nmbulan=array("","Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","Sept
ember","Oktober","Nopember","Desember");
$nmhari=array("Ahad","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu");
$hari_ini=getdate();
$bulan=$nmbulan[$hari_ini['mon']];
$hari=$nmhari[$hari_ini['wday']];
$tgl=$hari_ini['mday'];
$tahun=$hari_ini['year'];
}
function jam()
{
global $jj,$mm,$dd;
$saat_ini=getdate();
$jj=$saat_ini['hours'];
$mm=$saat_ini['minutes'];
$dd=$saat_ini['seconds'];
}
tgl();
jam();
//echo"<Font color=blue>";
//echo"$hari, $tgl $bulan $tahun Jam $jj:$mm:$dd";
?>
Akhir skrip
setup.php
<html>
<body>
<?
include("./include/db.php");
include("./include/tabel.php");
include("./include/outputlib.php");
include("./include/jamtgl.php");
//Memasukkan
if($Submit=="Add")
{
tgl();
$isibrt=format_output($isi);
move_uploaded_file($foto,"image/$foto_name");
mysql_db_query($db_name, "INSERT INTO news
(tanggal,judul,isi,foto,penulis)values('$hari, $tgl $bulan
$tahun','$judul','$isibrt','$foto_name','$penulis')");
}
//Megupdate
elseif ($Submit=="Edit")
{
tgl();
$isibrt=format_output($isi);
move_uploaded_file($foto,"image/$foto_name");
$rubah="update news set judul='$judul', penulis='$penulis', tanggal='$hari, $tgl
$bulan $tahun', foto='$foto_name', isi='$isibrt' where id=$ID";
mysql_query($rubah);
}
//Meghapus
if($hapus=="hapus")
{
$delete="delete from news where id=$ID";
mysql_query($delete);
}
?>
<form name="forml" method="post" action="" enctype="multipart/form-data">
<?
echo"<div align='center'>";
opentable('460','red','Y',’KELOLA NEWS ONLINE');
echo"<center>";
if(!$kirim == edit)
{
opentable('460','white','','');
echo "<p align=right><b>Judul Berita :</td>";
echo"<TD><input type=text name=judul size=30 ></td></tr>";
echo "<td width=100 align=right><b>Penulis :</td>";
echo"<td><input type=text name=penulis size=30></td></tr>";
echo "<td width=100 align=right><b>Foto :</td>";
echo"<td><input type=file name=foto size=30 ></td></tr>";
echo "<td width=100 align=right><b>Isi :</td><td><textarea name='isi' cols='37'
rows='10'></textarea></TD></TR>";
echo"<tr><td></td><td><input type='submit' name='Submit' value='Add'>";
echo"<input type='Reset' name='Reset' value='Reset'><td></tr></div>";
}
else
{
$sql1=mysql_query ("select * from news where id=$ID");
$row1 = mysql_fetch_row ($sql1);
opentable('460','white','','');
echo "<p align=right><tr>";
echo "<td width=100 align=right><b>Judul Berita :</td><TD><input type=text name=judul
size=30 value= $row1[2] ></td></tr>";
echo "<td width=100 align=right><b>Penulis :";
echo"<td><input type=text name=penulis size=30 value= $row1[5]></td></tr>";
echo "<td width=100 align=right><b>Foto :";
echo"<td><input type=file name=foto size=30 value= $row1[4]></td></tr>";
echo "<td width=100 align=right><b>Isi:</td><td><textarea name=isi cols='37'
rows='10'>$row1[3]</textarea></TD></TR>";
echo"<tr><td></td><td><input type='submit' name='Submit' value='$kirim'>";
}
closetable();
?>
</form>
<center>
<table border="1" width=100% cellspacing=0 cellpading=1>
<tr>
<td><b>Judul Berita
<td><b>Penulis
<td><b>Tanggal Kirim
<td><b>Foto
<td><b>Isi Berita
<td colspan=2><b>Perintah
<?
if(empty($awal))
$awal=0;
$sql=mysql_query ("select * from news order by id DESC limit $awal,5");
while ($row = mysql_fetch_row ($sql))
{
echo "<tr>";
echo "<td valign=top>$row[2]";
echo "<td valign=top>$row[5]";
echo "<td valign=top>$row[1]";
echo "<td valign=top>$row[4]";
echo "<td valign=top>";
$string=explode(" ",$row[3]);
$penggalan="";
for($i=0;$i<5;$i++)
$penggalan=$penggalan." ".$string[$i];
$penggalan=$penggalan."....";
echo"<font size=2 face=verdana>$penggalan\n"."</font>";
echo "<td align=center><a href=setup.php?ID=$row[0]&kirim=Edit </a>edit";
echo "<td align=center><a href=setup.php?ID=$row[0]&hapus=hapus </a>hapus";
}
echo"</table>";
$query2=mysql_query("select * from news ");
$jumlah=mysql_num_rows($query2);
$i=$jumlah/5;
$i=ceil($i);
echo("<center>");
print("Halaman :");
for($j=1;$j<=$i;$j++)
{
$awal=(($j-1)*4+$j)-1;
print("<a href='setup.php?awal=$awal&page=$j'><font color=red>[$j</a>]\n");
}
?></body>
</html>
Akhir skrip
B. MENAMPILKAN BERITA DENGAN SECARA PERHALAMAN
lihat_news.php
<table width="460" border="0" cellpadding="0" cellspacing="0" align="center">
<tr><td><br></td></tr>
<? include("./include/db.php");
echo"<TR><TD align='center' colspan='3'><font color=black><b>Halaman Ke : $page
</font></b></TD></TR>";
if(empty($awal))
$awal=0;
$hasil = mysql_query("SELECT * FROM news order by id DESC limit $awal,5 ");
while($data = mysql_fetch_row($hasil))
{
echo "<table width=\"430\" align = \"center\">";
echo "<tr><td rowspan=\"4\" valign=top width=\"100\"><img src='./image/$data[4]'
width='100' height='100'>
</td>";
echo "<tr><td bgcolor=\"#9cbee6\" width=\"330\"><font color=\"black\">oleh:
<a href=\"mailto:$data[5]\"><font color=\"black\">$data[5]</font></a></td>";
echo "<tr><td width=\"330\"><font color=\"black\">$data[2] </font>
<font size='2pt' color = 'black'>($data[1])</font></td>";
echo "<tr><td colspan=\"2\" width=\"350\">";
$string=explode(" ","<font color=\"black\">$data[3]</font>");
$penggalan="";
for($i=0;$i<10;$i++)
$penggalan=$penggalan." ".$string[$i];
$penggalan=$penggalan."<a href=\"lihat_detail.php?id=$data[0]\"><i><font
color=#KKFFBB>
Selengkapnya...</font></i></a><br><BR>";
echo"<font size=2 face=verdana>$penggalan\n"."</font>";
echo"</td></tr></table>";
}
$query2=mysql_query("select * from news ");
$jumlah=mysql_num_rows($query2);
$i=$jumlah/5;
$i=ceil($i);
echo "<div align = center>";
for($j=1;$j<=$i;$j++)
{
$awal=(($j-1)*4+$j)-1;
print("[<a href='lihat_news.php?awal=$awal&page=$j'><font
color=black>$j</a>]");
}
echo"</div>";
?>
</td>
</tr>
<tr>
</tr>
</table>
<div align="center"<BR><a href="setup">Tambah Berita baru</a></div>
Akhir skrip
C. MENAMPILKAN BERITA SECARA DETAIL
lihat_detail.php
<div align="center">
<table width="460" border="1" cellpadding="0" cellspacing="0">
<tr>
<? include("./include/db.php");
$hasil = mysql_query("SELECT * FROM news where id=$id");
$data = mysql_fetch_row($hasil);
list($id,$tanggal,$judul,$isi,$foto,$penulis)=$data;
$id=$data[0];
$tanggal=$data[1];
$judul=$data[2];
$isi=$data[3];
$foto=$data[4];
$penulis=$data[5];
?>
<BR>
<? echo"<img src='./image/$foto' width=100 height=125 align=Left>"; ?>
<p align=justify><font color=#0C4BAB>
<b><? echo $judul; ?></b></font>
<BR>
Oleh: <font color=blue><? echo($penulis);?></font>
BR><? echo $tanggal; ?>
<BR><? echo $isi; ?>
</td>
</tr>
<tr><td width="460" bgcolor="#00428C"></td></tr>
</table><BR><a href="lihat_news">back to news</a>
</div>
Akhir skrip
DAFTAR PUSTAKA
[1]. Fernando Sitindaon, Belajar Sendiri Membuat Aplikasi Web Database Dinamis
Menggunakan Perangkat Open Source, 2003, Elex Media Komputindo, Jakarta
[2]. Setiawan Suryatmoko, Belajar Sendiri Membuat Web Portal dengan PHP Nuke,
2003, Elex Media Komputindo, Jakarta.
Didik Dwi Prasetyo, Administrasi Database Server MySQL, 2003, PT
ElexMedia Komputindo, Yogyakarta
[3]. Didik Dwi Prasetyo, Administrasi Database Server MySQL, 2003, PT ElexMedia
Komputindo, Yogyakarta
[4]. Luke Welling, Laura Thomson, PHP and MySQL Web Development
[5]. Matt Zandstra, PHP4 in 24 Hours, SAMS Teach Yourself
Internet
http://www.php.net
http://www.mysql.com
http://ilmukomputer.com
http://phpkitchen.com
http://www.phpbuilder.com
http://www.zend.com
http://www.phpfeaks.com