"i lebih kecil dari 3 tapi tidak negatif";
break;
case 3:
echo "i sama dengan 3";
}
?>
Nah… berikutnya, saya akan coba berikan contoh pemakaian SWICTH dalam studi
kasus. Studi kasus yang saya ambil di sini adalah bagaimana menampilkan nama bulan
sekarang (current month) dalam bahasa Indonesia.
Adapun ide penyelesaian dari studi kasus ini adalah sebagai berikut :
Langkah pertama kita harus tahu bulan sekarang. Untuk mengetahui nama bulan
sekarang, kita bisa memakai function date("n") dalam PHP. Function ini akan
menghasilkan bilangan bulat 1-12 yang mencerminkan angka bulan sekarang.
Trus… apakah Anda sudah punya ide berikutnya? Angka-angka ini mau diapain? …
Yes… Good idea.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 55
Langkah kedua, dari angka bulan yang telah diperoleh ini lalu kita
nyatakan ke dalam bahasa Indonesia. Bagaimana menyatakannya? Ya… caranya kita
gunakan logika seperti ini:
Jika angka bulan sama dengan 1, maka nama bulannya ‘Januari’. Jika angka bulan sama
dengan 2, maka bulannya ‘Pebruari’ dan seterusnya.
Untuk mengimplementasikan logika di atas, kita harus memakai pernyataan
kondisional. Apakah kita bisa memakai SWITCH? Oh… tentu bisa, sebab operasi
perbandingan yang digunakan adalah ’sama dengan’. Sehingga bentuk script PHP nya
untuk menampilkan nama bulan dalam bahasa Indonesia adalah sbb:
<?php
$angkaBln = date("n");
switch($angkaBln)
{
case 1 : $namaBln = "Januari";
break;
case 2 : $namaBln = "Pebruari";
break;
case 3 : $namaBln = "Maret";
break;
case 4 : $namaBln = "April";
break;
case 5 : $namaBln = "Mei";
break;
case 6 : $namaBln = "Juni";
break;
case 7 : $namaBln = "Juli";
break;
case 8 : $namaBln = "Agustus";
break;
case 9 : $namaBln = "September";
break;
case 10: $namaBln = "Oktober";
break;
case 11: $namaBln = "Nopember";
break;
case 12: $namaBln = "Desember";
break;
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 56
echo "Nama bulan sekarang adalah : ".$namaBln;
?>
Selain memakai date(”n”); untuk mengetahui bulan sekarang, kita juga bisa
memakai date(”M”). pemakaian date(”M”) ini akan menghasilkan nama bulan
akan tetapi dalam 3 huruf depan saja, misalnya ‘Jan’, ‘Feb’, ‘Mar’, ‘Apr’, … , ‘Dec’.
jika kita memakai function date(”M”) ini, maka scriptnya menjadi
<?php
$bln = date("M");
switch($bln)
{
case "Jan" : $namaBln = "Januari";
break;
case "Feb" : $namaBln = "Pebruari";
break;
case "Mar" : $namaBln = "Maret";
break;
case "Apr" : $namaBln = "April";
break;
case "May" : $namaBln = "Mei";
break;
case "Jun" : $namaBln = "Juni";
break;
case "Jul" : $namaBln = "Juli";
break;
case "Aug" : $namaBln = "Agustus";
break;
case "Sep" : $namaBln = "September";
break;
case "Oct" : $namaBln = "Oktober";
break;
case "Nov" : $namaBln = "Nopember";
break;
case "Dec" : $namaBln = "Desember";
break;
}
echo "Nama bulan sekarang adalah : ".$namaBln;
?>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 57
Perhatikan script di atas ! sebab value yang akan dicocokkan berupa string, maka setiap
value pada option CASE diapit tanda petik
Catatan:
Perintah date() merupakan salah satu function. Apa itu function?, selain date() apakah
ada function yang lain? Dan bagaimana cara membuat function, semuanya akan
dijelaskan lebih lanjut di bab yang lain.
Tugas Untuk Anda
1. Misalkan diberikan script berikut ini
<?php
$bil = 10;
switch ($bil)
{
case 5 : echo "Bilangan sama dengan 5 <br />";
break;
case 8 : echo "Bilangan sama dengan 8 <br />";
break;
case 10 : echo "Bilangan sama dengan 10 <br />";
case 12 : echo "Bilangan sama dengan 12 <br />";
default : echo "Bilangan tidak sama dengan 5, 8, 10 dan 12 <br />";
break;
}
?>
Dengan tanpa menjalankan script di browser, coba tebak kira-kira apa outputnya
hayoo?? Bila sudah, coba bandingkan hasilnya bila dijalankan di browser.
lalu simpulkan!
2. Kerjakan kembali soal no. 6 Modul 7. Gunakan konsep SWITCH!
Keterangan:
Gunakan komponen radiobutton dalam memilih golongan gaji.
3. Kerjakan kembali soal no. 2 Modul 7 memakai konsep SWITCH
4. Dengan memakai konsep SWITCH, buatlah script untuk membaca bulan
saat ini dan tampilkan jumlah hari dalam bulan ini .
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 58
5. Buatlah aplikasi sederhana untuk menghitung luas beberapa bangun datar.
Pertama buat halaman index.php yang isinya menu pilihan berbentuk
radiobutton atau combobox yang itemnya sbb:
- Bujur sangkar
- Persegi panjang
- Lingkaran
- Segitiga
Dan sebuah tombol submit di bawah pilihan menu ini .
Misalkan jika user memilih menu Bujur Sangkar dan ia mengklik submit,
maka nantinya akan muncul form untuk mengisikan panjang sisi bujur sangkar
dan sebuah tombol submit. Jika tombol submit ini diklik maka lalu akan
muncul hasil luasnya. lalu bila user memilih Persegi Panjang dalam
menunya dan ia mengklik submit maka akan muncul form untuk mengisikan
panjang dan lebar persegi panjang serta sebuah tombol submit. Bila tombol ini
diklik maka akan memunculkan hasil luas persegi panjang. Begitu seterusnya….
Paham kan? Ya… sambil mengingat-ingat pelajaran di SD ☺
Catatan: Gunakan konsep SWITCH dalam menerapkan pemilihan menunya.
Statement FOR
Statement ini merupakan salah satu statement yang dapat digunakan untuk
menyatakan proses yang diulang-ulang atau looping.
Tentu kita tahu, bahwa suatu saat looping itu harus berhenti sebab tidak mungkin tidak
pernah berhenti ☺ Nah.. berdasarkan hal ini , ada 2 kondisi yang dapat
menghentikan looping ini . Coba perhatikan 2 pernyataan sehari-hari berikut ini:
Hari ini saya makan bakso 10 kali.
Hari ini saya terus makan bakso sampai saya kenyang.
Kedua pernyataan di atas sama-sama mengandung proses yang diulang-ulang yaitu
‘makan bakso’. Namun proses ‘makan bakso’ dari kedua pernyataan ini berbeda
cara berhentinya. Pernyataan pertama menunjukkan bahwa ‘makan bakso’ akan
diulang-ulang sampai dengan 10 kali. Setelah sampai 10 kali, maka ‘makan bakso’ ini
akan berhenti. Sedangkan pernyataan yang kedua, dalam hal ini jumlah berapa kali
makan bakso tidak diketahui, namun yang diketahui hanyalah syarat kapan perulangan
ini akan berhenti yaitu ketika ‘sudah kenyang’.
Kedua bentuk looping berdasarkan kapan berhentinya di atas diadopsi ke dalam konsep
pemrograman. Dalam pemrograman, khususnya PHP, nantinya juga akan dijumpai
bentuk-bentuk perulangan ini .
Untuk menyatakan looping yang telah diketahui jumlah perulangannya, kita bisa
memakai statement FOR atau WHILE.
Sedangkan bila perulangannya tidak diketahui jumlah perulangannya atau hanya
diketahui kondisi kapan dia harus berakhir maka bisa digunakan WHILE.
Dalam bab ini kita akan bahas terlebih dahulu statement FOR.
Sintaks statement FOR adalah sebagai berikut
for (variabel = nilaiawal; variabel operatorlogika nilaiakhir; increment)
{
Proses yang diulang
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 60
Variabel yang digunakan pada FOR di atas, dinamakan variabel counter atau pencacah.
Contoh:
Script berikut ini akan menghasilkan teks heading mulai dari heading 1, 2 s/d 5.
<?php
$teks = "Hello World";
for ($a = 1; $a <= 5; $a++)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
Hasil output di atas adalah:
Pada for di atas, variabel counternya dalam hal ini adalah $a. Nilai $a ini memiliki nilai
awal sama dengan 1. lalu operator increment (kenaikan) yang digunakan adalah
$a++ atau $a = $a + 1 (kenaikannya satu) dan nilai akhir untuk $a adalah sama dengan 5.
Perhatikan proses loopingnya sebagai berikut:
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 61
• $a = 1 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h1>Hello World</h1>"
• $a = 2 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h2>Hello World</h2>"
• $a = 3 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h3>Hello World</h3>"
• $a = 4 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h4>Hello World</h4>"
• $a = 5 dalam hal ini masih memenuhi kondisi ($a <= 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h5>Hello World</h5>"
• $a = 6 dalam hal ini sudah tidak memenuhi kondisi ($a <= 5), sehingga
perulangan berhenti.
Catatan:
Operator increment tidak harus memakai kenaikan 1, contoh
<?php
$teks = "Hello World";
for ($a = 1; $a <= 10; $a+=2)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
Pada contoh di atas, increment yang digunakan adalah kenaikan 2 ($a += 2). Adapun
prosesnya adalah:
• $a = 1 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h1>Hello World</h1>"
• $a = 3 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h3>Hello World</h3>"
• $a = 5 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h5>Hello World</h5>"
• $a = 7 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h7>Hello World</h7>"
• $a = 9 dalam hal ini masih memenuhi kondisi ($a <= 10), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h9>Hello World</h9>"
• $a = 11 dalam hal ini sudah tidak memenuhi kondisi ($a <= 10), sehingga
perulangan berhenti.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 62
Catatan:
Nilai awal variabel counter tidak harus dimulai dari 1, tapi boleh dari bilangan yang lain.
Catatan:
Selain operator increment, kita juga bisa memakai operator decrement (turun)
Contohnya
<?php
$teks = "Hello World";
for ($a = 10; $a > 5; $a--)
{
echo "<h".$a.">".$teks."</h".$a.">";
}
?>
Contoh di atas memakai decrement $a-- (nilainya turun 1). Berikut ini prosesnya:
• $a = 10 dalam hal ini masih memenuhi kondisi ($a > 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h10>Hello World</h10>"
• $a = 9 dalam hal ini masih memenuhi kondisi ($a > 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h9>Hello World</h9>"
• $a = 8 dalam hal ini masih memenuhi kondisi ($a > 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h8>Hello World</h8>"
• $a = 7 dalam hal ini masih memenuhi kondisi ($a > 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h7>Hello World</h7>"
• $a = 6 dalam hal ini masih memenuhi kondisi ($a > 5), sehingga lakukan
echo "<h".$a.">".$teks."</h".$a.">"; atau mencetak "<h6>Hello World</h6>"
• $a = 5 dalam hal ini sudah tidak memenuhi kondisi ($a > 5), sehingga perulangan
berhenti.
Anda juga bisa memakai operator decrement yang lain selain $a--, misalkan $a -= 2,
$a -= 3, dst.
FOR di dalam FOR (nested FOR)
Statement FOR dapat terletak di dalam sebuah FOR, seperti contoh berikut ini
<?php
for ($a = 1; $a < =3; $a++)
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 63
{
for ($b = 1; $b <= 2; $b++)
{
echo "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
}
}
?>
Contoh di atas disebut juga “nested FOR tingkat 2”.
Proses yang terjadi pada script di atas adalah sbb:
• $a = 1 (masih memenuhi $a < =3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 1 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
• $a = 2 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 2 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
• $a = 3 (masih memenuhi $a <= 3), maka lakukan for yang terletak di dalam
o $b = 1 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 1"
o $b = 2 (masih memenuhi $b <= 2) maka cetak "Nilai a = 3 Nilai b = 2"
o $b = 3 (tidak memenuhi $b <= 2), maka STOP
• $a = 4 (tidak memenuhi $a <= 3), maka STOP
Dengan demikian script di atas akan menghasilkan output
Nilai a = 1 Nilai b = 1
Nilai a = 1 Nilai b = 2
Nilai a = 2 Nilai b = 1
Nilai a = 2 Nilai b = 2
Nilai a = 3 Nilai b = 1
Nilai a = 3 Nilai b = 2
FOR juga dapat tersusun 3 tingkat atau lebih sesuai kebutuhan yang diinginkan
programmer.
Contoh-contoh script memakai FOR:
A. Script PHP untuk menampilkan bilangan bulat 5 s/d 100 yang berkelipatan 10
Konsep untuk menampilkan bilangan bulat ini kita bisa memakai
looping. Looping dimulai dari bilangan 5, 6, 7, dst sampai dengan 100. Untuk
setiap bilangan nantinya kita cek apakah dia kelipatan 10 atau tidak (kita
gunakan IF). Jika bilangan tsb merupakan kelipatan 10, maka kita tampilkan.
Sedangkan jika tidak, maka abaikan. Berikut ini script PHP nya
<?php
for ($bil = 5; $bil <= 100; $bil++)
{
if ($bil % 10 == 0) echo $bil. "<br />";
}
?>
B. Script PHP untuk menjumlahkan bilangan bulat 2 s/d 50
Yang dimaksud menjumlahkan di sini adalah kita mencari hasil dari 2 + 3 + 4 + 5 +
… + 50
Wah… gimana konsepnya nih? Gampang… konsepnya adalah kita ambil suatu
variabel sembarang terlebih dahulu, misalkan namanya ‘jumlah’. Nah… pertama-
tama ‘jumlah’ ini bernilai 0. lalu kita jumlahkan ‘jumlah’ dengan bilangan
pertama yaitu 2, dan hasilnya kita simpan ke dalam ‘jumlah’ yang baru. Sehingga
nilai ‘jumlah’ sekarang adalah 0 + 2 = 2. Trus… kita jumlahkan lagi ‘jumlah’
dengan bilangan kedua yaitu 3. Dan lagi-lagi hasilnya kita simpan dalam ‘jumlah’
lagi. Sehingga hasil ‘jumlah’ yang baru adalah 2 + 3 = 5. Berikutnya ‘jumlah’ kita
jumlahkan lagi dengan bilangan ketiga yaitu 4, dan diperoleh ‘jumlah’ = 5 + 4 = 9.
Proses ini berlanjut sampai dengan 50.
Nah… konsep di atas bisa kita terapkan ke dalam suatu proses looping, sebab di
dalamnya ada proses yang diulang-ulang yaitu proses penjumlahan antara
‘jumlah’ dengan bilangan.
<?php
$jumlah = 0;
for ($bil = 2; $bil <= 50; $bil++)
{
$jumlah = $jumlah + $bil;
}
echo "Hasilnya adalah ".$jumlah;
?>
C. Script PHP untuk mencari banyaknya bilangan bulat mulai dari 3 s/d 127 yang
merupakan kelipatan 6.
Konsep untuk membuat script ini, mirip dengan A dan B. Dalam hal ini kita harus
mengecek untuk setiap bilangan apakah dia merupakan kelipatan 6 atau tidak.
Jika ya, maka dia ikut dihitung. Jika tidak, maka dia diabaikan.
<?php
$hitung = 0;
for ($bil = 3; $bil <= 127; $bil++)
{
if ($bil % 6 == 0) $hitung = $hitung + 1;
}
echo "Banyaknya bilangan bulat adalah ".$hitung;
?>
D. Script PHP untuk membuat tabel dengan n baris dan m kolom secara otomatis
Nah… untuk kasus yang satu ini, kita harus tahu tag untuk membuat tabel
terlebih dahulu. Tentu kita tahu bahwa tag untuk membuat tabel dengan 3 baris
2 kolom misalnya, adalah sebagai berikut:
<table border="1">
<tr><td>…</td><td>… </td></tr>
<tr><td>…</td><td>… </td></tr>
<tr><td>…</td><td>… </td></tr>
</table>
Perhatikan baik-baik tag di atas. Untuk membuat tabel di atas, tag <td>..</td>
dalam satu baris ditulis 2 kali (sesuai jumlah kolom yang diinginkan). Sedangkan
<tr> dan </tr> ditulis 3 kali (sesuai jumlah baris yang diinginkan).
Konsep untuk membuat script PHP yang bisa mengenerate tabel dengan n baris
dan m kolom secara otomatis adalah sebagai berikut.
Kita membuat baris pertama <tr> terlebih dahulu, kemudian dilanjutkan dengan
membuat kolom <td>..</td> sebanyak jumlah kolom. Setelah selesai membuat
kolom, ditutup dengan </tr>. Baris pertama selesai. Berikutnya buat baris ke
dua. Pertama kita juga buat <tr>, lalu dilanjutkan dengan <td>…</td> sebanyak
jumlah kolom dan diakhiri dengan </tr>. Nah.. proses ini diulang terus sampai
dengan jumlah baris.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 66
jika kita lihat konsep di atas, maka dapat kita lihat ada dua proses
perulangan yaitu untuk membuat baris dan kolomnya. Sehingga dalam hal ini
kita gunakan FOR di dalam FOR (nested FOR tingkat 2)
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
for ($baris = 1; $baris <= $jumBaris; $baris++)
{
echo "<tr>";
for ($kolom = 1; $kolom <= $jumKolom; $kolom++)
{
echo"<td>…</td>";
}
echo "</tr>";
}
echo "</table>";
?>
E. Script PHP untuk menghasilkan list combo box berisi tahun mulai 1930 s/d 2008
secara otomatis
Anda mau membuat combo box berisi pilihan tahun 1930 s/d 2008? Jika secara
manual, maka Anda harus membuat tag seperti di bawah ini
<select name="tahun">
<option value="1930">1930</option>
<option value="1931">1931</option>
<option value="1932">1932</option>
<option value="1933">1933</option>
<option value="1934">1934</option>
.
.
</select>
Hwaduh… panjang banget yah… !!! Males dah… Eh, ngapain gak coba pakai
looping saja? Kan bisa cepet?
<?php
echo "<select name=’tahun’>";
for ($tahun = 1930; $tahun <= 2008; $tahun++)
{
echo "<option value=’".$tahun."’>".$tahun."</option>";
}
echo "</select>";
?>
Tugas Untuk Anda
1. Tentu Anda mengenal syair lagu anak-anak berikut ini:
Anak ayam turun 10
Anak ayam turun 10, mati satu tinggal 9
Anak ayam turun 9, mati satu tinggal 8
Anak ayam turun 8, mati satu tinggal 7
Anak ayam turun 7, mati satu tinggal 6
Anak ayam turun 6, mati satu tinggal 5
Anak ayam turun 5, mati satu tinggal 4
Anak ayam turun 4, mati satu tinggal 3
Anak ayam turun 3, mati satu tinggal 2
Anak ayam turun 2, mati satu tinggal 1
Anak ayam turun 1, mati satu tinggal induknya
Nah.. coba buatlah script PHP untuk mengenerate syair lagu anak ayam ini
untuk jumlah anak ayam mula-mula adalah N. Buatlah form untuk memasukkan
sembarang nilai N ini, setelah itu tekan SUBMIT. lalu akan muncul baris
syair seperti di atas.
Contoh di atas hanyalah untuk N = 10.
2. Seorang nasabah bank, mula-mula memiliki saldo awal Rp. 1.000.000,- di suatu
bank X. Bank ini memiliki kebijakan memberikan bunga 3% jika besar saldo
kurang dari Rp. 1.100.000,- dan 4% bila saldo lebih besar atau sama dengan Rp.
1.100.000,- . Perhitungan bunga dihitung dari besar saldo terakhir. Selain itu di
setiap bulannya nasabah dikenai biaya administrasi Rp. 9.000,-. Buatlah script
PHP untuk menentukan saldo akhir setelah N bulan.
Keterangan:
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 68
Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan).
3. Dengan memakai script PHP, buatlah tampilan daftar perkalian berikut ini
memakai looping
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
1 x 4 = 4
.
.
1 x 10 = 10
2 x 1 = 2
2 x 2 = 4
.
.
2 x 10 = 20
.
.
10 x 10 = 100
Petunjuk : Gunakan nested FOR 2 tingkat
4. Buatlah script PHP untuk menampilkan formasi bintang seperti berikut ini
*
* *
* * *
* * * *
Formasi bintang di atas untuk N = 4
Terlebih dahulu Anda harus membuat form untuk menerima input sembarang N
dan script Anda harus menampilkan formasi bintang N ini .
Petunjuk:
• Coba kaitkan antara jumlah bintang untuk setiap barisnya dengan urutan
barisnya.
• Gunakan nested FOR 2 tingkat
5. Dengan memakai script PHP, tampilkan semua pasangan nilai x, y dan z
yang memenuhi persamaan x + y + z = 25, dengan x, y, dan z adalah bilangan asli.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 69
Serta tampilkan pula banyaknya pasangan x, y, dan z yang memenuhi persaman
ini
Contoh tampilan:
x = 1, y = 1, z = 23
x = 1, y = 2, z = 22
x = 1, y = 3, z = 21
.
.
.
Jumlah penyelesaian : …
Petunjuk:
• Tentukan dahulu nilai-nilai yang mungkin dari x, y , dan z. Berapa nilai
minimum yang mungkin dari ketiganya, dan berapa maksimumnya.
• Gunakan nested FOR 3 tingkat
Statement WHILE
Pada bab 9, Anda sudah mempelajari bentuk perulangan FOR. Masihkah Anda ingat
kapan kita harus memakai perulangan FOR? Yup… ketika kita tahu jumlah
perulangannya.
Nah… pada bab 10 ini, kita akan membahas tentang perulangan WHILE. Seperti halnya
FOR, statement WHILE ini juga dapat digunakan untuk menyatakan perulangan yang
telah diketahui jumlah perulangan ini harus dilakukan. Namun… tidak hanya itu,
WHILE juga dapat digunakan untuk menyatakan perulangan jika jumlah perulangannya
tidak diketahui.
Dari pernyataan di atas, dapat kita simpulkan bahwa setiap bentuk perulangan FOR pasti
dapat juga dinyatakan ke dalam bentuk WHILE. Namun… tidak berlaku kebalikannya,
bahwa tidak semua bentuk WHILE dapat dinyatakan ke dalam FOR. Nanti akan kita lihat
contohnya.
OK… bentuk umum statement WHILE adalah sbb:
while (syarat)
{
// bagian yang diulang
}
Perhatikan bentuk umum WHILE di atas! Sebelum menuju bagian yang diulang, di
atasnya ada syarat. Syarat inilah yang menentukan apakah bagian yang diulang
akan dijalankan atau tidak. Selama syarat ini dipenuhi atau bernilai BENAR, maka bagian
yang diulang akan terus dijalankan. jika suatu saat syarat sudah tidak terpenuhi lagi
atau bernilai SALAH maka perulangan berhenti.
Contoh: Script berikut ini akan menampilkan bilangan 1 s/d 3
<?php
$bil = 1;
while ($bil <= 3)
{
echo $bil. "<br />";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 71
$bil++;
}
?>
Sekarang kita analisis prosesnya…
Nilai awal dari $bil adalah 1. lalu ada while dengan syarat $bil <= 3. Nah..
jika dicek syaratnya, maka dalam hal ini syarat bernilai BENAR sebab 1 <= 3,
sehingga sekarang menuju ke bagian yang diulang. Di dalam bagian yang diulang
ada echo $bil, sehingga di browser akan tampil bilangan 1. Berikutnya nilai $bil
bertambah menjadi 2 ($bil++).
Kembali lagi syaratnya dicek, dalam hal ini masih bernilai BENAR sebab 2 <= 3.
Akibatnya proses sekarang menuju kembali ke bagian yang diulang, yaitu tampilkan $bil
(muncul bilangan 2 dalam browser) dan $bil bertambah satu menjadi 3.
lalu dicek kembali syaratnya apakah $bil <= 3 dan ternyata BENAR sebab 3 <= 3.
sebab syaratnya BENAR maka tampilkan $bil, sehingga muncul bilangan 3 di browser
dan $bil bertambah satu menjadi 4.
Lagi-lagi di cek syaratnya apakah $bil <= 3. Nah.. sekarang syarat bernilai SALAH sebab
4 <= 3 tidak berlaku. Dengan demikian perulangan berhenti. Sehingga bilangan yang
tampil secara keseluruhan adalah
1
2
3
Sekarang.. coba kita bandingkan dengan FOR. Script berikut ini juga akan menampilkan
bilangan 1 s/d 3.
<?php
for ($bil = 1; $bil <= 3; $bil++)
{
echo $bil. "<br />";
}
?>
Kedua script di atas akan ekuivalen.
Kembali lagi pada script PHP untuk menampilkan bilangan 1 s/d 3 memakai WHILE.
Sekarang misalkan ditambahkan perintah berikut ini
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 72
<?php
$bil = 1;
while ($bil <= 3)
{
echo $bil. "<br />";
$bil++;
}
echo "Nilai bil sekarang adalah:".$bil;
?>
Dengan tanpa menjalankannya di browser, menurut Anda kira-kira perintah yang diberi
warna biru ini akan menampilkan apa hayoo..?? apakah 3 atau berapa?
Bagi yang menjawab 3… Anda SALAH.
Bagi yang menjawab 4… OK Anda benar.
Lho kok bisa? Padahal pada syarat while tertulis $bil <= 3. Ya.. Anda benar, tapi coba
lihat kembali analisis yang pernah kita singgung di atas. Nilai terakhir $bil ketika dalam
perulangan WHILE adalah 4. Ketika $bil = 4 inilah yang menyebabkan perulangan WHILE
berhenti. Dengan demikian, nilai $bil pada dasarnya sudah berubah menjadi 4 sehingga
setelah WHILE selesai, dan ditampilkan nilai $bil nya maka akan tampil 4.
Sekarang… mari kita tinjau contoh script WHILE berikutnya. Script berikut ini akan
menampilkan bilangan random/acak 0 s/d 10 (memakai function rand()). Proses
pengacakan ini akan terus dilakukan selama bilangan acak yang terpilih tidak sama
dengan 0.
<?php
$bil = rand(0, 10);
while ($bil != 0)
{
echo $bil."<br />";
$bil = rand(0, 10);
}
?>
Nah… dari contoh kasus di atas, tentu kita tahu bahwa jumlah perulangan dalam hal ini
tidak diketahui. Perulangan ini hanya diketahui kapan perulangan harus berhenti,
yaitu ketika bilangan acak yang terpilih sama dengan 0.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 73
Catatan: output yang tampil akan berubah-ubah setiap kali di REFRESH
Trus… kira-kira bisa tidak jika kita terapkan perulangan WHILE di atas ke dalam
bentuk FOR? Sebenarnya dalam PHP bisa dilakukan, namun hal ini tidak berlaku di
semua bahasa pemrograman, misalnya dalam PASCAL (mungkin Anda pernah dengar
namanya).
Oleh sebab itu secara umum saya bisa katakan bahwa tidak semua bentuk WHILE dapat
dinyatakan ke bentuk FOR. jika Anda menjumpai bentuk perulangan yang tidak
diketahui jumlah perulangannya, maka saya sarankan gunakanlah WHILE.
WHILE di dalam WHILE (nested WHILE)
Seperti halnya FOR, statement WHILE juga dapat terletak di dalam sebuah WHILE,
seperti contoh berikut ini
<?php
$a = 1;
while ($a <= 3)
{
$b = 1;
while ($b <= 2)
{
echo "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
$b++;
}
$a++;
}
?>
Script di atas ekuivalen dengan script nested FOR berikut ini
<?php
for ($a = 1; $a < =3; $a++)
{
for ($b = 1; $b <= 2; $b++)
{
echo "Nilai a = ".$a. " Nilai b = ".$b. "<br />";
}
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 74
?>
Contoh-contoh script memakai WHILE:
Contoh-contoh script berikut ini mengadopsi kasus yang ada di modul 9 (tentang FOR)
A. Script PHP untuk menampilkan bilangan bulat 5 s/d 100 yang berkelipatan 10
<?php
$bil = 5;
while ($bil <= 100)
{
if ($bil % 10 == 0) echo $bil. "<br />";
$bil++;
}
?>
B. Script PHP untuk menjumlahkan bilangan bulat 2 s/d 50
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
$jumlah = $jumlah + $bil;
$bil++;
}
echo "Hasilnya adalah ".$jumlah;
?>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 75
C. Script PHP untuk mencari banyaknya bilangan bulat mulai dari 3 s/d 127 yang
merupakan kelipatan 6.
<?php
$hitung = 0;
$bil = 3;
while ($bil <= 127)
{
if ($bil % 6 == 0) $hitung = $hitung + 1;
$bil++;
}
echo "Banyaknya bilangan bulat adalah ".$hitung;
?>
D. Script PHP untuk membuat tabel dengan n baris dan m kolom secara otomatis
<?php
$jumBaris = 10;
$jumKolom = 6;
echo "<table border=’1’>";
$baris = 1;
while ($baris <= $jumBaris)
{
echo "<tr>";
$kolom = 1;
while ($kolom <= $jumKolom)
{
echo"<td>…</td>";
$kolom++;
}
echo "</tr>";
$baris++;
}
echo "</table>";
?>
E. Script PHP untuk menghasilkan list combo box berisi tahun mulai 1930 s/d 2008
secara otomatis
<?php
echo "<select name=’tahun’>";
$tahun = 1930;
while ($tahun <= 2008)
{
echo "<option value=’".$tahun."’>".$tahun."</option>";
$tahun++;
}
echo "</select>";
?>
Tugas Untuk Anda
1. Pandang kembali contoh script B (untuk menjumlahkan bilangan bulat 2 s/d 50)
dalam bab ini. lalu saya ubah sedikit scriptnya menjadi seperti di bawah
ini.
<?php
$jumlah = 0;
$bil = 2;
while ($bil <= 50)
{
$bil++;
$jumlah = $jumlah + $bil;
}
echo "Hasilnya adalah ".$jumlah;
?>
Pada script di atas, saya hanya membalik urutan 2 perintah yang saya blok hitam
(bold). Dengan tanpa menjalankan scriptnya, coba analisislah script di atas, kira-
kira hasilnya sama tidak dengan script pada contoh B ini ? Jika tidak sama,
jelaskan alasannya!
2. Kerjakan kembali soal nomor 1, pada bab 9 memakai WHILE
3. Kerjakan kembali soal nomor 2, pada bab 9 memakai WHILE
4. Kerjakan kembali soal nomor 3, pada bab 9 memakai WHILE
5. Kerjakan kembali soal nomor 4, pada bab 9 memakai WHILE
6. Kerjakan kembali soal nomor 5, pada bab 9 memakai WHILE
7. Buatlah script PHP memakai WHILE untuk menampilkan formasi bintang
seperti berikut ini
* * * *
* * *
* *
*
Formasi bintang di atas untuk N = 4
Terlebih dahulu Anda harus membuat form untuk menerima input sembarang N
dan script Anda harus menampilkan formasi bintang N ini .
8. Buatlah script PHP memakai WHILE untuk menampilkan formasi bintang
seperti berikut ini
*
* *
* * *
* * * *
* * *
* *
*
Formasi bintang di atas untuk N = 4
Terlebih dahulu Anda harus membuat form untuk menerima input sembarang N
dan script Anda harus menampilkan formasi bintang N ini .
Teknik Modularitas
Konsep modularitas dalam programming diperlukan untuk mempermudah dalam
pengorganisasian script/program. Adapun prinsip dari konsep ini adalah meletakkan
beberapa perintah yang menjalankan suatu tugas khusus ke dalam modul atau file script
tersendiri. Setiap kali modul ini dibutuhkan, kita hanya menyisipkan modul
ini ke dalam script yang sedang dibuat dengan cara memanggilnya.
Adapun cara memanggil modul dengan memakai perintah
include "namafilemodul";
Perhatikan gambaran pemakaian konsep modularitas berikut ini:
Misalkan Anda membuat modul dan disimpan dalam script bernama modulku.php.
lalu Anda sedang membuat script tertentu katakanlah diberinama file
scriptku.php. Kebetulan dalam scriptku.php Anda membutuhkan modulku.php, maka
skema yang terjadi adalah:
Dari skema di atas, jelas tampak bahwa bila Anda memberikan perintah
include "modulku.php"; dalam scriptku.php, maka akan identik dengan bila Anda
menyisipkan script yang ada dalam modulku.php ke dalam scriptku.php secara manual.
modulku.php
.
.
.
.
.
scriptku.php
.
.
include "modulku.php";
.
.
scriptku.php
.
.
.
.
.
modulku.php
Contoh:
Dalam contoh ini kita akan memakai konsep modularitas untuk membuat script
operasi aritmatika penjumlahan dan pengurangan dari 2 buah bilangan. Untuk input
bilangannya disimpan dalam modul tersendiri, misalkan dinamakan bilangan.php.
lalu modul ini akan diincludekan ke dalam script penjumlahan dan pengurangan.
bilangan.php
<?php
$bil1 = 10;
$bil2 = -5;
?>
jumlah.php
<?php
include "bilangan.php";
$hasil = $bil1 + $bil2;
echo "Hasil penjumlahannya adalah : ".$hasil;
?>
Bentuk script jumlahkan.php di atas akan identik dengan script berikut ini
<?php
$bil1 = 10;
$bil2 = -5;
$hasil = $bil1 + $bil2;
echo "Hasil penjumlahannya adalah : ".$hasil;
?>
kurang.php
<?php
include "bilangan.php";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 80
$hasil = $bil1 - $bil2;
echo "Hasil pengurangannya adalah : ".$hasil;
?>
Script kurang.php di atas akan identik dengan
<?php
$bil1 = 10;
$bil2 = -5;
$hasil = $bil1 - $bil2;
echo "Hasil pengurangannya adalah : ".$hasil;
?>
Penerapan Teknik Modularitas
Teknik modularitas dapat dipergunakan dalam pengaturan layout halaman web supaya
lebih mudah. Sebelum Anda mengenal teknik modularitas, apa yang Anda lakukan bila
diminta membuat halaman web sejumlah 20 buah dengan desain layout yang sama,
namun kontennya berbeda? Tentu Anda akan membuat satu buah desain template
untuk layout, lalu Anda tinggal mengganti kontennya saja.
OK.. itu mudah, namun bagaimana seandainya dari 20 buah halaman web ini Anda
ingin ubah desainnya? Tentu Anda harus mengubah semua halaman satu persatu.
Bagaimana bila ada 100 buah halaman web dan kesemuanya Anda ingin ubah
desainnya? Wah repot ya kalau satu persatu.
Nah… di sinilah kita akan gunakan teknik modularitas. Dengan teknik modularitas ini,
Anda dapat mengubah desain layout dari banyak halaman web dengan satu langkah saja
secara cepat.
Perhatikan contoh berikut ini:
Misalkan kita buat desain layout untuk halaman web kita sebagai berikut:
<html>
<head>
<title>Halaman Webku</title>
</head>
<body background="yellow">
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 81
<h1><font face="arial">…</font></h1>
<p><font face="verdana"> … </font></p>
</body>
</html>
Nah… misalkan kita akan membuat 3 halaman web memakai layout di atas. Maka
caranya, kita cari blok dalam HTML layout yang nantinya akan diisi dengan konten yang
berbeda-beda untuk masing-masing halaman.
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="yellow">
<h1><font face="arial">…</font></h1>
<p><font face="verdana"> … </font></p>
</body>
</html>
Keterangan:
Bagian yang diblok di atas merupakan bagian tag yang nantinya akan diisi dengan
konten yang berbeda-beda untuk setiap halamannya.
Langkah lalu , kita pindahkan tag HTML mulai bagian paling atas dari layout
sampai dengan sebelum tag yang dicetak tebal. Tag-tag ini kita pindahkan ke
dalam modul tersendiri, misalkan dinamakan header.php
header.php
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="yellow">
Kemudian pindahkan tag setelah bagian yang dicetak tebal dalam layout sampai dengan
tag terakhir ke dalam modul tersendiri dan simpan dengan nama footer.php.
footer.php
</body>
</html>
Nah… lalu untuk setiap halaman yang ingin Anda buat, berikan include
"header.php" dan include "footer.php";
hal1.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 1</font></h1>
<p><font face="verdana">Ini isi halaman 1. Ini isi halaman 1</font></p>
<?php
include "footer.php";
?>
hal2.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 2</font></h1>
<p><font face="verdana">Ini isi halaman 2. Ini isi halaman 2</font></p>
<?php
include "footer.php";
?>
hal3.php
<?php
include "header.php";
?>
<h1><font face="arial">Ini Halaman 3</font></h1>
<p><font face="verdana">Ini isi halaman 3. Ini isi halaman 3</font></p>
<?php
include "footer.php";
?>
Nah… dengan demikian, kita akan peroleh 3 halaman web yang pasti memiliki layout
yang sama. Terus… bagaimana bila kita ingin mengubah layoutnya? Misal kita ubah
warna background menjadi hijau. Yang Anda lakukan hanyalah mengedit modul
header.php sebab pengaturan warna background ada pada modul ini .
header.php
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="green">
Secara ajaib ketiga halaman web tadi akan otomatis backgroundnya berubah menjadi
hijau semuanya.
Selain cara di atas, Anda juga bisa memakai cara yang lain dalam pengaturan
layout. Misalkan konfigurasi pengaturan layout seperti jenis font, dan warna background
Anda letakkan dalam modul tersendiri.
config.php
<?php
$warnaBackground = "yellow";
$jenisFontHeading = "arial";
$jenisFontParagraf = "verdana";
?>
header.php
<?php
include "config.php";
?>
<html>
<head>
<title>Halaman Webku</title>
</head>
<body bgcolor="<?php echo $warnaBackground; ?>">
footer.php
</body>
</html>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 84
hal1.php
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading; ?>">Ini Halaman 1</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Ini isi halaman 1. Ini isi halaman
1</font></p>
<?php
include "footer.php";
?>
hal2.php
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading; ?>">Ini Halaman 2</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Ini isi halaman 2. Ini isi halaman
2</font></p>
<?php
include "footer.php";
?>
hal3.php
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading; ?>">Ini Halaman 3</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Ini isi halaman 3. Ini isi halaman
3</font></p>
<?php
include "footer.php";
?>
Nah… dengan demikian, bila Anda ingin mengubah layout ketiga halaman web maka
Anda cukup mengubah modul config.php
Sekarang kita lanjutkan, bagaimana bila kita mengintegrasikan konsep modularitas yang
terkait dengan pengaturan layout di atas dengan form processing?
OK… untuk contoh sederhananya, saya ambil contoh script menjumlahkan dua buah
bilangan dengan inputnya melalui form.
Misalkan kita ambil desain layout halaman webnya seperti contoh sebelumnya, yaitu
terdiri dari modul header.php dan footer.php nya sebagai berikut:
config.php
<?php
$warnaBackground = "yellow";
$jenisFontHeading = "arial";
$jenisFontParagraf = "verdana";
?>
header.php
<?php
include "config.php";
?>
<html>
<head>
<title>Penjumlahan Bilangan</title>
</head>
<body bgcolor="<?php echo $warnaBackground; ?>">
footer.php
</body>
</html>
lalu kita buat form yang terletak dalam halaman yang memakai layout
ini
form.php
<?php
include "header.php";
?>
<h1><font face="<?php echo $jenisFontHeading; ?>">Input Bilangan</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Masukkan dua buah bilangan pada
form berikut ini</font></p>
<form method="post" action="proses.php">
Bilangan 1 <input type="text" name="bil1" /><br />
Bilangan 2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Jumlahkan" />
</form>
<?php
include "footer.php";
?>
proses.php
<?php
include "header.php";
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
$hasil = $bil1 + $bil2;
?>
<h1><font face="<?php echo $jenisFontHeading; ?>">Output</font></h1>
<p><font face="<?php echo $jenisFontParagraf; ?>">Hasil penjumlahannya adalah
<?php echo $hasil; ?> </font></p>
<?php
include "footer.php";
?>
Tentang ARRAY
Selama ini bentuk variabel yang kita buat untuk menyimpan suatu value atau nilai
adalah berbentuk tunggal. Maksudnya, satu variabel hanya bisa untuk menyimpan
sebuah value saja. Misalkan sebuah value telah disimpan atau diassign ke dalam sebuah
variabel, lalu variabel ini akan diassign kembali dengan sebuah value yang
lain, maka value yang sebelumnya akan ditimpa oleh value yang baru.
Nah… kira-kira ada tidak ya, variabel yang dapat diassign oleh beberapa value yang lebih
dari satu? Oya.. ada, namanya adalah variabel bertipe data array.
Misalkan suatu variabel bernama X bertipe data array, maka X ini dapat Anda bayangkan
seperti gambar berikut
X
0 1 2 3 4 … N-1
Wah… kok ‘X’ nya seperti memiliki beberapa ruang/kamar/bilik atau apalah terserah
namanya ☺ yang jelas jumlah ruangnya adalah berhingga yaitu sejumlah N. Tiap-tiap
kamar ada semacam nomor ruangan: 0, 1, 2, 3, …, N-1. Nah.. di dalam ruangan-
ruangan inilah kita bisa assign beberapa value sekaligus.
Ingat ya… untuk PHP, nomor ruang array dimulai dari 0, bukan 1.
Dalam PHP, untuk mendeklarasikan suatu variabel (misalkan $x) bertipe data array
adalah sebagai berikut:
$x = array();
lalu bagaimana perintah untuk mengassign suatu value ke dalam ruangan array?
Oya… sebelumnya, saya perlu sampaikan bahwa untuk PHP, variabel bertipe data array
ini bisa diassign dengan berbagai tipe data. Maksudnya, untuk setiap ruang yang ada,
boleh diassign dengan nilai berbagai tipe data yang berlainan, misalnya untuk ruang
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 90
nomor 1 akan diisi dengan nilai berupa bilangan bulat (integer), ruang no. 2 diisi dengan
real, no. 3 diisi dengan string dsb. Itu bisa dilakukan.
Nah.. berikut ini contoh mengassign ruang variabel yang bertipe data array. Sebagai
contoh misalkan kita akan mengassign ruang nomor 3 dengan value bilangan integer 10,
dan ruang no. 5 dengan string ‘I love PHP’ perintahnya:
<?php
$x = array();
$x[3] = 10;
$x[5] = "I love PHP";
?>
Kita juga bisa mengisi value untuk setiap ruang array sekaligus secara berturut-turut
seperti contoh berikut ini:
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>
atau cara kedua bisa pula memakai seperti berikut ini:
<?php
$x = array(0 => 10, 1 => 12, 2 => 3, 3 => 44, 4 => 50, 5 => "hallo");
?>
lalu , bagaimana cara kita menampilkan value-value yang tersimpan dalam
kamar array ini ? Ya.. caranya mudah, tinggal panggil saja nomor kamarnya lantas
di echo kan.
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
echo $x[0]; // akan menampilkan value pada ruang ke-0, yaitu 10
echo $x[5]; // akan menampilkan value pada ruang ke-5, yaitu ‘hallo’
$x[2] = -3; // mengganti value pada ruang ke-2 dengan value yang baru (-3)
echo $x[2]; // akan menghasilkan -3 (yang tampil bukan 3 sebab sudah ditimpa -3)
?>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 91
Kita juga bisa menampilkan semua value array sekaligus secara berturut-turut
memakai looping
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
for ($i = 0; $i <= 5; $i++)
{
echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />";
}
?>
atau cara kedua, kita bisa memakai perintah count() untuk menentukan jumlah
ruang array yang telah diisi value.
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
for ($i = 0; $i <= count($x)-1; $i++)
{
echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />";
}
?>
Dalam script di atas, perintah count($x) akan menghasilkan 6 sebab dalam array $x
ini ada 6 ruang yang terisi value. pemakaian count() ini akan efektif bila kita
malas menghitung jumlah ruang array yang telah diisi value secara manual, ibaratnya
kita minta tolong si PHP untuk menghitungkannya. Bayangkan seandainya ada 100
lebih ruang dalam suatu array, masa’ kita akan menghitungnya satu-persatu secara
manual? Capee deh… ☺
Array Asosiatif
Dari contoh-contoh di atas, kita lihat bahwa ruang atau kamar dari array diberikan
nomor ruang sebagai penanda, yaitu mulai dari 0, 1, 2, dst… Nah… yang menjadi
pertanyaan, apakah penanda setiap ruang ini harus berupa angka? Jawabnya tidak,
Anda juga bisa memberi penanda setiap ruang dengan suatu kata atau karakter. Array
yang demikian ini disebut array asosiatif.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 92
Berikut ini contoh membuat array asosiatif dan cara menampilkan value pada suatu
ruangnya
<?php
$x = array("kamar1" => 10, "kamar2" => 12, "kamar3" => 3, "kamar4" => "hallo");
echo $x['kamar2']; // akan menampilkan 12
echo $x['kamar4']; // akan menampilkan "hallo"
?>
Sekarang bagaimana cara menampilkan semua value yang tersimpan dalam array
asositif ini sekaligus? Sama caranya dengan sebelumnya, namun kita khusus akan
memakai looping foreach. Looping ini khusus untuk array asosiatif.
<?php
$x = array("kamar1" => 10, "kamar2" => 12, "kamar3" => 3, "kamar4" => "hallo");
foreach($x as $ruang => $value)
{
echo "Isi dari ruang : ".$ruang. " adalah : ".$value. "<br />";
}
?>
Menambah Elemen Array
Misalkan kita sebelumnya telah memiliki array dengan value-value tertentu dalam
setiap ruangnya, perhatikan script berikut ini
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
?>
Nah… bagaimana seandainya jika kita ingin menambahkan sebuah ruang lagi untuk diisi
dengan suatu value? Dalam hal ini pada array di atas nomor ruangnya terdiri dari 0, 1, 2,
…, 5. Atau dengan kata lain kita akan menambah sebuah ruang lain yaitu ruang nomor 6
untuk diisi dengan suatu value, misalkan 100. OK.. caranya adalah sebagai berikut
Cara pertama, Anda bisa langsung memberikan perintah
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 93
$x[6] = 100;
atau
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[6] = 100;
?>
Atau dengan cara kedua memakai perintah
$x[] = 6;
Atau
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[] = 100;
?>
Sekarang kita lihat apakah ruangnya benar-benar bertambah.
<?php
$x = array(10, 12, 3, 44, 50, "hallo");
$x[] = 100;
for ($i = 0; $i <= count($x)-1; $i++)
{
echo "Nilai kamar ke ".$i. " dari array = ".$x[$i]. "<br />";
}
?>
Yes… benar-benar bertambah ruang arraynya ☺ Anda dapat melihat hasilnya ketika
dijalankan di browser.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 94
Contoh Kasus
Sekarang kita akan mencoba membahas beberapa contoh kasus yang memakai
array.
Kasus 1. Menghitung Rata-rata beberapa bilangan
Misalkan diberikan bilangan-bilangan berikut ini 9, 2, 10, 3, 7, 5, 2. Kemudian kita
diminta membuat script untuk mencari rata-rata dari semua bilangan ini . Nah..
dalam hal ini, kita bisa memakai array untuk menghitungnya. Anda bisa saja sih
memakai script berikut ini
<?php
$rataRata = (9 + 2 + 10 + 3 + 7 + 5 + 2)/7;
echo $rataRata;
?>
Namun… bagaimana bila jumlah data bilangannya sampai dengan 100 atau bahkan
ribuan? He… 3x Anda bisa bayangkan sendiri alangkah repotnya dalam menulis
formulanya. Nah.. untuk memudahkan perhitungan, kita akan memakai
pendekatan array.
Langkah pertama: kita buat suatu array yang ruangannya diisi oleh bilangan-bilangan
ini .
<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
?>
lalu .. langkah kedua: kita hitung dulu hasil penjumlahan setiap value dalam
array ini . Untuk menghitungnya, kita manfaatkan looping. Konsepnya adalah
seperti ini: mula-mula kita asumsikan hasil jumlahnya adalah 0 (sebab kita belum mulai
menjumlahkan), kemudian kita baca array ke-0, yaitu 9. Value ini kita jumlahkan dengan
hasil penjumlahan sebelumnya yaitu 0 atau 0 + 9 = 9. Dengan demikian hasil
penjumlahan sekarang adalah 9. lalu kita baca array ke-1, yaitu 2. Value ini
kembali kita jumlahkan dengan hasil penjumlahan sebelumnya yaitu 9 atau 9 + 2 = 11.
So.. hasil penjumlahan sekarang menjadi 11. Proses ini terus diulang sampai pada value
terakhir dari array. Setelah selesai, maka akan kita peroleh hasil dari penjumlahan total
semua value.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 95
<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
$jumlah = 0;
for ($i = 0; $i <= count($bil)-1; $i++)
{
$jumlah = $jumlah + $bil[$i]; // atau bisa dituliskan $jumlah += $bil[$i];
}
?>
Setelah kita peroleh hasil penjumlahan setiap value dari array, langkah ketiga kita bisa
hitung deh rata-rata bilangannya.
<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
$jumlah = 0;
for ($i = 0; $i <= count($bil)-1; $i++)
{
$jumlah = $jumlah + $bil[$i]; // atau bisa dituliskan $jumlah += $bil[$i];
}
$rataRata = $jumlah/count($bil);
echo "Rata-ratanya adalah : ".$rataRata;
?>
Kasus 2. Mencari Nilai Terbesar dari Kumpulan Bilangan
Misalkan diberikan bilangan-bilangan berikut ini 9, 2, 10, 3, 7, 5, 2. Kita diminta
membuat script untuk menampilkan bilangan terbesar dari bilangan-bilangan ini .
Tentu kita tahu, dalam hal ini bilangan terbesarnya adalah 10. Nah… yang jadi masalah,
bagaimana cara mendapatkan 10 ini sebagai bilangan terbesar bila dinyatakan
dalam program.
Secara sekilas, kasusnya tampak sederhana namun ketika dinyatakan dalam program
bisa jadi membuat pusing orang ☺
Untuk mencari nilai terbesar, kita gunakan konsep perbandingan.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 96
Anda yang sudah berumur 17 tahun ke atas, mungkin tidak merasakan logika atau
konsep ini sebab Anda sudah banyak makan garam dalam masalah perhitungan
sederhana seperti ini. Secara tidak sadar, ketika Anda diminta mencari bilangan
terbesar, sebenarnya dalam pikiran Anda terjadi proses perbandingan ini
beberapa kali. Namun, sebab proses yang terjadi begitu cepat (seiring bertambahnya
pengalaman dalam berpikir), maka proses ini seakan tidak terasa. Mungkin hal inilah
yang kadang membuat para pembelajar program sering sulit mengekspresikan proses
yang terjadi dalam pikirannya ke dalam bentuk program.
Tapi… sebenarnya tidak demikian, membuat program pada dasarnya mirip ketika Anda
sedang mengajarkan konsep atau ide penyelesaian suatu kasus pada anak kecil yang
sebelumnya belum tahu apa-apa. Kita harus bisa menyatakan setiap proses langkah
demi langkah secara urut.
Nah… stop ber-intermezzo… Now.. back to the case.. ☺
Trus… idenya bagaimana untuk mencari bilangan terbesar?
OK.. idenya adalah, kita harus membuat asumsi terlebih dahulu. Kita asumsikan bilangan
terbesar mula-mula adalah bilangan pertamanya. lalu bilangan terbesar asumsi
ini kita bandingkan dengan setiap bilangan yang ada secara urut satu persatu. Jika
ada bilangan yang lebih besar dari bilangan terbesar asumsi, maka bilangan
ini akan dianggap sebagai bilangan terbesar asumsi berikutnya. Dengan demikian
setelah proses perbandingan selesai semuanya, maka akan kita peroleh bilangan
terbesar dari semua bilangan.
Contoh: dari kasus di atas, pertama kita asumsikan bilangan terbesarnya adalah
bilangan pertama yaitu 9. lalu bilangan terbesar ini kita bandingkan dengan
bilangan ke-1, yaitu 9. sebab 9 tidak lebih besar dari 9, maka bilangan terbesarnya
tetap 9. lalu dibandingkan dengan bilangan ke-2, yaitu 2. Dalam hal ini 2 tidak
lebih besar dari 9, maka bilangan terbesarnya tetap 9. Trus.. kita bandingkan dengan
bilangan ke-3 yaitu 10. Nah… 10 lebih besar dari 9, maka bilangan terbesarnya sekarang
menjadi 10. Proses ini dilanjutkan sampai dengan bilangan terakhir.
<?php
$bil = array(9, 2, 10, 3, 7, 5, 2);
$max = $bil[0];
for ($i = 0; $i <= count($bil)-1; $i++)
{
if ($bil[$i] > $max) $max = $bil[$i];
}
echo "Bilangan terbesarnya adalah : ".$max;
?>
Kasus 3. Identik dengan kasus 1, namun bilangan-bilangan yang akan dicari rata-
ratanya diinputkan melalui form.
Adapun skenario untuk input bilangannya adalah: pertama kali akan muncul form untuk
memasukkan jumlah bilangan yang akan dimasukkan. Setelah dimasukkan jumlah
bilangannya, kemudian disubmit berikutnya akan muncul form baru yang berisi
komponen textbox untuk memasukkan masing-masing bilangan. Jumlah komponen
textbox ini sejumlah bilangan yang sebelumnya diinputkan. Misalkan pada form
pertama tadi kita masukkan jumlah bilangannya 10, maka setelah disubmit akan muncul
form baru berisi 10 buah textbox untuk memasukkan ke-10 bilangan. Setelah
dimasukkan masing-masing bilangan, lalu disubmit dan akhirnya akan muncul
jumlah rata-ratanya.
Untuk itu pertama kita buat form untuk memasukkan jumlah bilangannya terlebih
dahulu.
form1.htm
<h1>Cari Rata-rata Bilangan</h1>
<form method="post" action="form2.php">
Masukkan Banyaknya Bilangan <input type="text" name="n" />
<input type="submit" name="submit" value="Submit" />
</form>
lalu kita buat form kedua untuk menampilkan form dinamis guna memasukkan
masing-masing bilangan. sebab sesuai skenario bahwa jumlah textboxnya sejumlah
banyaknya bilangan yang dimasukkan pada form pertama, maka untuk mudahnya kita
buat melalui perulangan FOR dengan jumlah perulangannya n kali.
form2.php
<h1>Cari Rata-rata Bilangan</h1>
<?php
$n = $_POST['n'];
echo "<form method='post' action='proses.php'>";
echo "<table>";
for ($i = 0; $i <= $n-1; $i++)
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 98
{
echo "<tr><td>Bil ke-".($i+1)."</td>
<td><input type='text' name='data".$i."' /></td></tr>";
}
echo "<tr><td></td>
<td><input type='submit' name='submit' value='Submit' /></td></tr>";
echo "</table>";
echo "</form>";
?>
Hasil script di atas akan menghasilkan tag HTML seperti di bawah ini (jika n = 4)
<h1>Cari Rata-rata Bilangan</h1>
<form method='post' action='proses.php'>
<table>
<tr>
<td>Bil ke-1</td>
<td><input type='text' name='data0' /></td>
</tr>
<tr>
<td>Bil ke-2</td>
<td><input type='text' name='data1' /></td>
</tr>
<tr>
<td>Bil ke-3</td>
<td><input type='text' name='data2' /></td>
</tr>
<tr>
<td>Bil ke-4</td>
<td><input type='text' name='data3' /></td>
</tr>
<tr>
<td></td>
<td><input type='submit' name='submit' value='Submit' /></td>
</tr>
</table>
</form>
Perhatikan tag HTML di atas! Untuk setiap komponen textbox yang dihasilkan tampak
pada bagian atribut name=’’ secara otomatis akan membentuk nama: ‘data0’, ‘data1’,
dst. Mengapa dimulai dari ‘data0’? kok tidak mulai dari ‘data1’? ya… ini masalah
kesukaan saja. Kalau saya biasa mulai dari ke-0. Kalau Anda mulai dari ‘data1’ ya gpp ☺
lalu kita buat script untuk memprosesnya. Nah… pada bagian ini, mungkin yang
sulit adalah bagaimana cara membaca value yang diisikan pada setiap komponen
textbox mengingat komponen ini dihasilkan secara dinamis (dengan jumlah textbox
yang berubah-ubah).
OK… trik untuk membaca value yang berasal dari komponen yang dinamis seperti ini
adalah: kita memanfaatkan perulangan saja
for ($i=0; $i <= jumlahkomponen – 1; $i++)
{
$bilangan[$i] = $_POST['data'.$i];
}
Perhatikan! Mengapa pada bagian $_POST berbentuk $_POST['data'.$i] ?
Ya… sebab nama komponen dari form kan bentuknya name='data0', name='data1',
name='data2', dst. Maka dalam membaca valuenya harusnya juga memakai
$_POST['data0'], $_POST['data1'], dst.
Nah… supaya mudah, maka kita gunakan $_POST['data'.$i] dengan $i nya diperoleh dari
FOR. Simpel bukan? Dengan alasan inilah mengapa saya suka memberi nama komponen
dalam formnya mulai dari 0 terlebih dahulu, seperti name='data0', name='data1', dst…
Kemudian… muncul masalah lagi yang lain. Untuk FOR nya harusnya $i bergerak dari 0,
1, 2, sampai dengan ‘jumlah komponen’ dikurangi 1. Nah.. yang menjadi masalah,
bagaimana mendapatkan ‘jumlah komponen’ pada script ini? Padahal jumlah komponen
ini berada pada form2.php. Atau dengan kata lain, bagaimana caranya jumlah
komponen yang berada pada form2.php ini juga bisa dikenali di script untuk memproses
inputnya ini? Ya… solusinya mudah, kita tinggal buat saja komponen ‘hidden textbox’
yang berisi jumlah komponennya.
form2.php
<h1>Cari Rata-rata Bilangan</h1>
<?php
$n = $_POST['n'];
echo "<form method='post' action='proses.php'>";
echo "<table>";
for ($i = 0; $i <= $n-1; $i++)
{
echo "<tr><td>Bil ke-".($i+1)."</td>
<td><input type='text' name='data".$i."' /></td></tr>";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 100
}
echo "<tr><td></td>
<td><input type='submit' name='submit' value='Submit' /></td></tr>";
echo "<tr><td></td>
<td><input type='hidden' name='n' value='".$n."' /></td></tr>";
echo "</table>";
echo "</form>";
?>
Ingat… komponen hidden text ini harus terletak dalam <form></form>. Sesuai namanya,
maka komponen ini tersembunyi (tidak tampak dalam browser). Namun begitu user
mengklik submit, maka value ini ikut tersubmit untuk diproses pada script pemrosesnya.
OK… masalah teratasi, dan sekarang kita bisa buat scriptnya
proses.php
<h1>Cari Rata-rata Bilangan</h1>
<?php
// membaca jumlah komponen dari hidden textbox
$n = $_POST['n'];
// membaca value dari masing-masing komponen textbox
for ($i=0; $i <= $n - 1; $i++)
{
$bilangan[$i] = $_POST['data'.$i];
}
// menjumlahkan nilai semua bilangan
$jumlah = 0;
for ($i=0; $i <= $n - 1; $i++)
{
$jumlah += $bilangan[$i];
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 101
// hitung rata-rata
$rataRata = $jumlah/$n;
echo "Rata-ratanya adalah : ".$rataRata;
?>
Atau cara lain Anda bisa menggabung proses menjumlahkan nilai semua bilangan
bersama proses membaca bilangan dari form menjadi satu bagian
proses.php
<h1>Cari Rata-rata Bilangan</h1>
<?php
// membaca jumlah komponen dari hidden textbox
$n = $_POST['n'];
// membaca value dari masing-masing komponen textbox dan menjumlahkannya
$jumlah = 0;
for ($i=0; $i <= $n - 1; $i++)
{
$bilangan[$i] = $_POST['data'.$i];
$jumlah += $bilangan[$i];
}
// hitung rata-rata
$rataRata = $jumlah/$n;
echo "Rata-ratanya adalah : ".$rataRata;
?>
Tentang SESSION
Untuk menjelaskan tentang SESSION dan kegunaannya, saya akan mulai dengan
memberikan contoh visualisasi terlebih dahulu.
Misalkan kita memiliki sebuah form sebagai berikut
<form method="post" action="submit.php">
Bilangan ke-1 <input type="text" name="bil1" /><br />
Bilangan ke-1 <input type="text" name="bil1" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
Form di atas digunakan untuk memasukkan dua buah bilangan. lalu kita buat
script untuk membaca kedua bilangan yang diinputkan ini
submit.php
<?php
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
echo "<a href='lanjut.php'>Klik di sini</a>";
?>
jika kita telah memasukkan dua buah bilangan melalui form, kemudian
mensubmitnya maka pada script submit.php akan memunculkan kedua bilangan
ini dengan sukses.
Pada submit.php ini ada pula link menuju script lanjut.php. Dalam script lanjut.php
ini, kita juga akan menampilkan kedua bilangan yang diinputkan sebelumnya.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 106
lanjut.php
<?php
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
echo "<a href='lanjut.php'>Klik di sini</a>";
?>
Nah… apa yang terjadi bila kita mengklik link menuju ke lanjut.php ini ? Apakah
kedua bilangan yang diinputkan tadi masih bisa terbaca nilainya? Jawabannya adalah
TIDAK. Kedua bilangan hanya bisa terbaca pada script submit.php saja, sebab
submit.php adalah halaman pertama setelah pemrosesan form.
Mungkin Anda berpikiran bahwa perlu ditambahkan perintah
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
pada lanjut.php. Cara ini pun juga tidak bisa untuk membaca kedua bilangan.
Trus.. bagaimana supaya dalam lanjut.php ini kedua bilangan yang diinputkan masih bisa
dibaca nilainya?
Untuk mengatasi hal ini ada 2 solusi yang bisa digunakan, yaitu memakai GET
method atau SESSION.
jika kita memakai GET method, maka caranya adalah menyisipkan parameter
untuk kedua bilangan pada link menuju lanjut.php ini . lalu dalam
lanjut.php, parameter kedua bilangan ini dibaca nilainya.
submit.php
<?php
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
echo "<a href='lanjut.php?bil1= ".$bil1."&bil2=".$bil2."'>Klik di sini</a>";
?>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 107
lanjut.php
<?php
$bil1 = $_GET['bil1'];
$bil2 = $_GET['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
?>
Cara di atas akan dapat memunculkan kedua bilangan pada lanjut.php. Namun… cara ini
ada kelemahan yaitu ditampilkannya nilai input sebagai parameter dalam URL link.
Trus… bagaimana dengan memakai SESSION? Ya… dengan memakai SESSION,
kita tidak perlu menuliskan nilai input dalam URL link. Nilai input ini nantinya akan
disimpan dalam suatu variabel SESSION. Selama browser kita masih aktif (browser
belum ditutup) atau sengaja dinonaktifkan (dihapus) SESSION nya, maka variabel
SESSION ini masih terus aktif.
Nilai yang disimpan dalam variabel SESSION ini bisa dibaca atau dikenali di beberapa
halaman script. Beda dengan variabel biasa. Kalau variabel biasa itu hanya dikenali pada
halaman script ini saja.
lalu bagaimana cara menyimpan nilai ke dalam suatu variabel SESSION? Ya…
sebelum mulai menyimpan, kita harus mengaktifkan SESSION nya terlebih dahulu
memakai perintah
session_start();
Setelah SESSION aktif, barulah kita bisa membuat variabel SESSION untuk menyimpan
nilai. Berikut ini perintah untuk menyimpan sebuah nilai ke dalam variabel SESSION
$_SESSION['namaSession'] = value;
Nilai yang bisa disimpan dalam SESSION ini bisa berupa bilangan, array, karakter
maupun string.
Sehingga jika konsep ini diterapkan pada contoh di atas, maka berikut ini adalah
script submit.php yang telah dimodifikasi
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 108
submit.php
<?php
session_start(); // mengaktifkan SESSION
$bil1 = $_POST['bil1'];
$bil2 = $_POST['bil2'];
// menyimpan kedua bilangan ke dalam SESSION
$_SESSION['bil1'] = $bil1;
$_SESSION['bil2'] = $bil2;
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
echo "<a href='lanjut.php'>Klik di sini</a>";
?>
Kemudian, bagaimana dengan script lanjut.php nya? Bagaimana cara menampilkan nilai
kedua bilangan yang disimpan dalam SESSION? Ini dia scriptnya.
lanjut.php
<?php
session_start();
// membaca nilai dari variabel SESSION
$bil1 = $_SESSION['bil1'];
$bil2 = $_SESSION['bil2'];
echo "Anda memasukkan bilangan ke-1 : ".$bil1."<br />";
echo "Anda memasukkan bilangan ke-2 : ".$bil2."<br />";
?>
Keterangan:
Dalam script lanjut.php di atas, kita tetap memberikan perintah session_start() sebab
dalam script lanjut.php ini kita masih memanfaatkan variabel SESSION.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 109
Menghapus Variabel SESSION
Kemudian, bagaimana cara menghapus variabel SESSION? Cara pertama, Anda akan
langsung bisa menghapus SESSION bila Anda keluar dari browser (EXIT), buka
meminimize lho! Cara kedua, gunakan perintah berikut ini pada script.
session_destroy();
Dengan perintah ini , maka semua variabel SESSION akan terhapus. Namun,
bagaimana bila hanya ingin menghapus suatu variabel SESSION tertentu saja? Untuk hal
ini, gunakan perintah unset()
unset($_SESSION['nama session']);
Penerapan SESSION
Biasanya, SESSION ini digunakan untuk keperluan autentifikasi user melalui login.
Adapun idenya adalah jika user sukses melakukan login, maka username ini akan
disimpan dalam sebuah SESSION.
Mengapa username ini harus disimpan ke dalam SESSION? Ya… dengan disimpannya
username ke dalam SESSION sekaligus bisa digunakan untuk mencegah adanya
penyusup yang masuk ke aplikasi tanpa melalui login.
Lho? Kok bisa, logikanya bagaimana? Ya.. untuk mengecek ada tidaknya penyusup yang
masuk ke aplikasi tanpa login, bisa hanya dengan mengecek SESSION nya. Jika penyusup
tadi masuk ke aplikasi tanpa login, otomatis SESSION nya belum ada, sebab SESSION
baru ada ketika user login dengan sukses.
Lebih lanjut mengenai bagaimana menerapkan SESSION dalam autentifikasi user ini,
baca artikel saya di http://blog.rosihanari.net/apa-sih-gunanya-session-di-php/
Pada Bab 13, Anda telah belajar bagaimana memakai SESSION untuk menyimpan
data atau value supaya dikenali di beberapa script halaman web. Selain memakai
SESSION untuk melakukan hal



