modul PHP universitas .pdf
-
Upload
inu-fajar-nugraha-santana -
Category
Documents
-
view
81 -
download
2
description
Transcript of modul PHP universitas .pdf
PERTEMUAN 1
Mengenal Dasar-dasar PHPTujuan : Pada Pertemuan ini, siswa 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
Created By: Fernando Sitindaon, S.T 1
• Informix
• Ingres
• 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
Created By: Fernando Sitindaon, S.T 2
berjalan pada sisi server (disebut server-side), sehingga sangat berbeda sekali
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:
Created By: Fernando Sitindaon, S.T 3
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.
Created By: Fernando Sitindaon, S.T 4
Direktori RootFolder 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,
Created By: Fernando Sitindaon, S.T 5
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.
Created By: Fernando Sitindaon, S.T 6
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).
Created By: Fernando Sitindaon, S.T 7
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
Created By: Fernando Sitindaon, S.T 8
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
Created By: Fernando Sitindaon, S.T 9
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";
Created By: Fernando Sitindaon, S.T 10
echo 'Pada Kutip Tunggal \' dan \\ akan berubah.'; echo 'tetapi \$ \" dan \n akan tetap.';?>
Created By: Fernando Sitindaon, S.T 11
PERTEMUAN II
Elemen Kontrol pada PHPTujuan : Pada Pertemuan ini, siswa 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
Created By: Fernando Sitindaon, S.T 12
A.2 Model if-else
Model kondisi if-else yaitu:
if ( ekspresi ) pernyataan1
elsepernyataan2
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 ) pernyataan1elseif (ekspresi2) pernyataan2else pernyataan3
Atau dapat ditulis
if ( ekspresi1 ){ pernyataan1}elseif (ekspresi2){ pernyataan2}else
Created By: Fernando Sitindaon, S.T 13
{ 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 masukanprint("<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 dibayarkanprintf ("<b><br>yang harus anda bayar=%d !</b>", $t_beli - $diskon);
}?>
Created By: Fernando Sitindaon, S.T 14
</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
Created By: Fernando Sitindaon, S.T 15
}
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
Created By: Fernando Sitindaon, S.T 16
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
Created By: Fernando Sitindaon, S.T 17
PERTEMUAN III
Elemen Array pada PHPTujuan : Pada Pertemuan ini, siswa 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 Royal aini Farhan$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”, “Royal aini”, “Farhan”);
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”;
Created By: Fernando Sitindaon, S.T 18
$teman[] = “Royal aini”;
$teman[] = “Farhan”;
Hasilnya adalah array berindeks numerik yang dapat digambarkan sebagaiberikut
Nando Royal aini Farhan0 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 Royal aini Farhan123 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, “Royal aini”=>528, “Farhan”=>456);
atau
$rekan = array(“Nando”=>123);
$rekan [“Royal aini”] = 528;
$rekan [“Farhan”] = 456;
array1.php<? $teman=array("nando","Royal aini","Farhan"); 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.
Created By: Fernando Sitindaon, S.T 19
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,"Royal aini"=>528,"Farhan"=>456);
for($i=0; $i<3;$i++){echo("Array \$teman index ke [$i] adalah $teman[$i]");echo("<br>");}?>
Akhir skrip
Created By: Fernando Sitindaon, S.T 20
array3.php<?$teman=array("nando"=>123,"Royal aini"=>528,"Farhan"=>456);While(list($index,$nilai) = each($teman)){
echo("Array \$teman index $index adalah $nilai");echo("<br>");
}?>
Akhir skrip
foreachArray.php<?$teman=array("nando", "Royal aini","Farhan");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,"Royal aini"=>528,"Farhan"=>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 :
Created By: Fernando Sitindaon, S.T 21
asortArray.php<?$teman=array("nando"=>123,"Royal aini"=>528,"Farhan"=>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,"Royal aini"=>528,"Farhan"=>456);ksort($teman);While(list($index,$nilai) = each($teman)){echo("Array \$teman index $index adalah $nilai");echo("<br>");}?>
Akhir skrip
Created By: Fernando Sitindaon, S.T 22
PERTEMUAN IV
Memproses file pada PHPTujuan : Pada Pertemuan ini, siswa 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.
Created By: Fernando Sitindaon, S.T 23
Jenis mode Keterangan
‘r untuk membaca file.
r+Membaca dan menulis kedalam file, penunjuk file akan diletakkan diawal file.
`wMode 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
Keterangan: tanda ‘ tidak dipakai
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
Created By: Fernando Sitindaon, S.T 24
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
Created By: Fernando Sitindaon, S.T 25
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";
Created By: Fernando Sitindaon, S.T 26
?></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
Royal aini 022-1234567
Farhan 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 {
Created By: Fernando Sitindaon, S.T 27
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>
Created By: Fernando Sitindaon, S.T 28
</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>
Created By: Fernando Sitindaon, S.T 29
</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
PERTEMUAN V
Created By: Fernando Sitindaon, S.T 30
Membuat Fungsi pada PHPTujuan : Pada Pertemuan ini, siswa 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
Created By: Fernando Sitindaon, S.T 31
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
Created By: Fernando Sitindaon, S.T 32
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");
Created By: Fernando Sitindaon, S.T 33
?>
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.
Created By: Fernando Sitindaon, S.T 34
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’.
Created By: Fernando Sitindaon, S.T 35
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');
}
Created By: Fernando Sitindaon, S.T 36
PERTEMUAN VI
Pemahaman Class pada PHPTujuan : Pada Pertemuan ini, siswa 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();$Royal aini = new Pelajar();$Farhan = 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
Created By: Fernando Sitindaon, S.T 37
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 = "Royal aini";
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 variablevar $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 classecho $nando->namaLengkap = "Nando Keren--";echo $nando->telp = 528;echo $nando->alamat = "Tangerang--<br>\n";$panggilanNando = $nando->panggil("keren Sekali");
Created By: Fernando Sitindaon, S.T 38
echo "Panggilan Contact Nando adalah\n".$panggilanNando."<br>\n<hr>";
$Royal aini = new Contact();echo $Royal aini->namaLengkap = "Royal aini Manis";echo $Royal aini->telp = 456;echo $Royal aini->alamat = "Bandung--<br>\n";$panggilanRoyal aini = $Royal aini->panggil("Manis Sekali");echo "Panggilan Contact Royal aini adalah\n".$panggilanRoyal aini."<br>\n<hr>";$Farhan = new Contact();echo $Farhan->namaLengkap = "Farhan Malas";echo $Farhan ->telp = 123;echo $Farhan ->alamat = "USA--<br>\n";$panggilanFarhan = $Farhan->panggil("Males Sekali");echo "Panggilan Contact Farhan adalah\n".$panggilanFarhan."<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”.
Created By: Fernando Sitindaon, S.T 39
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("Farhan");$obj3 = new pertamaClass();echo $obj1->sayHello()."<br>\n";echo $obj2->sayHello()."<br>\n";echo $obj3->sayHello()."<br>\n";?>
Akhir skrip
Created By: Fernando Sitindaon, S.T 40
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
Created By: Fernando Sitindaon, S.T 41
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 turunanclass 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
Created By: Fernando Sitindaon, S.T 42
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 overridingclass 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
Created By: Fernando Sitindaon, S.T 43
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 overridingclass 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"
Created By: Fernando Sitindaon, S.T 44
PERTEMUAN VII
Memahami Administrasi MySQLTujuan : Pada PERTEMUAN ini, siswa 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 MYSQL1 Fernando S, Membuat Aplikasi Web database dinamis menggunakan perangkat open source, Elex Media Komputindo.
Created By: Fernando Sitindaon, S.T 45
Setelah melakukan penginstallan MySQL, langkah berikutnya yang harus
dikerjakan adalah mengecek/mengaktifkan MySQL. Secara default, MySQL
berada ditempat/direktori mysql\bin.
Cara pertama:
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.
Created By: Fernando Sitindaon, S.T 46
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
Created By: Fernando Sitindaon, S.T 47
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
Created By: Fernando Sitindaon, S.T 48
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 PrivilegesPrivileges Field PenjelasanSelect Select_priv TabelInsert Insert_priv TabelUpdate Update_priv TabelDelete Delete_priv TabelIndex Index_priv TabelAlter Alter_priv TabelCreate Create_priv Database, tabel, indexDrop Drop_priv Database, TableGrant Grant_priv Database, TableReferences References_priv Database, TableReload Reload_priv Adminsitrasi serverShutdown Shutdown_priv Adminsitrasi serverProcess Process_priv Adminsitrasi serverFile File_priv Akses File pada server
Created By: Fernando Sitindaon, S.T 49
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
Created By: Fernando Sitindaon, S.T 50
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
PERTEMUAN VIII
Created By: Fernando Sitindaon, S.T 51
Menjalankan perintah SQL pada MySQLTujuan : Pada PERTEMUAN ini, siswa 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 (
Created By: Fernando Sitindaon, S.T 52
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 20I01 Ina Tangerang 18B01 Bekkah Tangerang 17L01 Lulu Lombok 22F02 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;
Created By: Fernando Sitindaon, S.T 53
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 MySQLFungsi Agregate
Keterangan
Avg Memperoleh nilai rata-rataCount Menghitung cacah dataMax Menghasilkan nilai terbesarMin Menghasilkan nilai terkecilSum 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
Created By: Fernando Sitindaon, S.T 54
ALTER TABLE nama_Table ADD nama_kolom tipe_data(5)contohALTER TABLE teman ADD no_telp int(5);
Menghapus kolomALTER TABLE nama_Table DROP nama_kolomContohALTER TABLE teman DROP no_telp;
Mengubah kolomALTER TABLE nama_Table change nama_kolom tipe_data(5)contohALTER TABLE teman change usia usia int(5);
8. Mengenal perintah Show
Perintah Show yang bisa dilaksanakan dalam MySQL adalah sebagai berikut:
SHOW VARIABLESSHOW STATUSSHOW PROCESSLISTSHOW DATABASESSHOW TABLES FROM datakuSHOW 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.
Created By: Fernando Sitindaon, S.T 55
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
Created By: Fernando Sitindaon, S.T 56
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.
Created By: Fernando Sitindaon, S.T 57
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.
Created By: Fernando Sitindaon, S.T 58
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.
Created By: Fernando Sitindaon, S.T 59
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
Created By: Fernando Sitindaon, S.T 60
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
Created By: Fernando Sitindaon, S.T 61
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
Created By: Fernando Sitindaon, S.T 62
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.
Created By: Fernando Sitindaon, S.T 63
PERTEMUAN IX
Membuat aplikasi e-news (berita online)Tujuan : Pada PERTEMUAN ini, siswa 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 DATABASEPerintahnya adalah sebagai berikut:
CREATE DATABASE webnando;
C. MEMBUAT TABELMembuat 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" >
Created By: Fernando Sitindaon, S.T 64
<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
Created By: Fernando Sitindaon, S.T 65
$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
Created By: Fernando Sitindaon, S.T 66
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];
}
Created By: Fernando Sitindaon, S.T 67
?><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>
Created By: Fernando Sitindaon, S.T 68
<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 ");?>
Created By: Fernando Sitindaon, S.T 69
<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
Created By: Fernando Sitindaon, S.T 70
PERTEMUAN X
Membuat aplikasi e-news (berita online) advance
Tujuan : Pada PERTEMUAN ini, siswa 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","September","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");
Created By: Fernando Sitindaon, S.T 71
include("./include/outputlib.php");include("./include/jamtgl.php");//Memasukkanif($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
Created By: Fernando Sitindaon, S.T 72
<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 ");
Created By: Fernando Sitindaon, S.T 73
$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
Created By: Fernando Sitindaon, S.T 74
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.nethttp://www.mysql.comhttp://ilmukomputer.comhttp://phpkitchen.comhttp://www.phpbuilder.comhttp://www.zend.comhttp://www.phpfeaks.com
Created By: Fernando Sitindaon, S.T 75