t 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. Selanjutnya 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, karena di 

dalamnya terdapat 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; 

 

?> 


5

 

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. 


6

 

Apabila kita lihat konsep di atas, maka dapat kita lihat terdapat 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? 


7

 

<?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. Selanjutnya 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: 


8

Buatlah form untuk mengisikan saldo awalnya dan N (jangka waktu tabungan). 

 

3. Dengan menggunakan script PHP, buatlah tampilan daftar perkalian berikut ini 

menggunakan 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 menggunakan 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. 


9

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 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 70

BAB 10 

Statement WHILE 

 

 

Pada bab 9, Anda sudah mempelajari bentuk perulangan FOR. Masihkah Anda ingat 

kapan kita harus menggunakan 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 terdapat 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. Apabila 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 />"; 


 71

    $bil++; 

}  

?> 

 

Sekarang kita analisis prosesnya… 

 

Nilai awal dari $bil adalah 1. Selanjutnya terdapat while dengan syarat $bil <= 3. Nah.. 

apabila dicek syaratnya, maka dalam hal ini syarat bernilai BENAR karena 1 <= 3, 

sehingga sekarang menuju ke bagian yang diulang. Di dalam bagian yang diulang 

terdapat 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 karena 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.  

 

Selanjutnya dicek kembali syaratnya apakah $bil <= 3 dan ternyata BENAR karena 3 <= 3. 

Karena 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 karena 

4 <= 3 tidak berlaku. Dengan demikian perulangan berhenti. Sehingga bilangan yang 

tampil secara keseluruhan adalah  

 

 

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 menggunakan WHILE. 

Sekarang misalkan ditambahkan perintah berikut ini 


 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 (menggunakan 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. 


 73

 

Catatan: output yang tampil akan berubah-ubah setiap kali di REFRESH 

 

Trus… kira-kira bisa tidak apabila 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 karena itu secara umum saya bisa katakan bahwa tidak semua bentuk WHILE dapat 

dinyatakan ke bentuk FOR. Apabila 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 />"; 

    } 


 74

 

?> 

 

 

Contoh-contoh script menggunakan 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; 

 

?> 

 

 

 

 

 


 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>"; 

?> 

 


 76

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. Selanjutnya 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! 


 77

 

2. Kerjakan kembali soal nomor 1, pada bab 9 menggunakan WHILE 

3. Kerjakan kembali soal nomor 2, pada bab 9 menggunakan WHILE 

4. Kerjakan kembali soal nomor 3, pada bab 9 menggunakan WHILE 

5. Kerjakan kembali soal nomor 4, pada bab 9 menggunakan WHILE 

6. Kerjakan kembali soal nomor 5, pada bab 9 menggunakan WHILE 

7. Buatlah script PHP menggunakan 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 menggunakan 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 . 

 

 

 

 

 

 

 

 

 

 


 78

BAB 11 

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 menggunakan perintah  

 

include "namafilemodul"; 

 

Perhatikan gambaran penggunaan konsep modularitas berikut ini: 

 

Misalkan Anda membuat modul dan disimpan dalam script bernama modulku.php. 

Selanjutnya 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 


 79

Contoh: 

 

Dalam contoh ini kita akan menggunakan 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. 

Selanjutnya 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"; 


 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 terdapat 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"> 


 81

      <h1><font face="arial">…</font></h1> 

      <p><font face="verdana"> … </font></p> 

   </body> 

</html>   

 

Nah… misalkan kita akan membuat 3 halaman web menggunakan 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 selanjutnya, 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> 

 


 82

Nah… selanjutnya 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 


 83

warna background menjadi hijau. Yang Anda lakukan hanyalah mengedit modul 

header.php karena pengaturan warna background terdapat 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 menggunakan 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> 

 


 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 


 85

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> 

 

 

Selanjutnya kita buat form yang terletak dalam halaman yang menggunakan layout 

ini  

 

 

 

 

 

 

 


 86

 

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"; 

?> 

 

 

 

 

 

 


 87

Tugas Untuk Anda 

 

1. Coba buatlah desain layout sebuah halaman web (tanpa menggunakan tool 

apapun selain Notepad atau Notepad++) dengan tampilan berikut ini: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Dengan menggunakan teknik modularitas, coba buat modul config.php, 

header.php dan footer.php dari hasil soal nomor 1. Modul config.php digunakan 

untuk mengatur konfigurasi seperti jenis font, ukuran font, warna background 

dll. 

 

Keterangan:  

 

Untuk bagian “Nama Situs Anda”, “Link” dan “Copyright” bersifat fixed, artinya 

kelima halaman ini  memiliki tampilan yang sama. Sehingga dalam hal ini 

bagian yang berubah-ubah untuk setiap halaman hanyalah bagian “Heading dan 

Konten” saja. 

 

3. Dari hasil soal nomor 2, buat 5 halaman web berisi konten yang berbeda. Kelima 

halaman web ini  harus terintegrasi dengan link yang ada pada bagian link 

(lihat desain layout dari soal no. 1) 

 

Keterangan : hasil pekerjaan no.1 s/d 3 dijadikan dalam satu script yang sama 

 

4. Kerjakan kembali tugas No. 2 bab 9 dengan mengintegrasikannya bersama layout 

yang Anda buat pada soal no. 1 di atas. 

 

Keterangan: hasil pekerjaan no. 4 dijadikan dalam script tersendiri 

 

5. Kerjakan kembali tugas No. 8 bab 10 dengan mengintegrasikannya bersama 

layout yang Anda buat pada soal no. 1 di atas.  

Nama Situs Anda 

Link 

Link 

Link 

 

copyright  

Heading(Judul 

Konten) 

 

Konten/isi 


 88

Keterangan: hasil pekerjaan no. 5 dijadikan dalam script tersendiri 

 

6. Coba cari dan download lah sebuah layout instant dari internet, disarankan 

berasal dari http://freecsstemplates.org, buatlah modul header.php dan 

footer.php. Lalu buatlah 5 halaman web menggunakan layout ini  dengan 

teknik modularitas. 

 

Keterangan: 

 

Biasanya desain layout template terdiri dari 4 bagian, yaitu: bagian header 

(bagian yang terletak di atas konten), footer (bagian yang terletak di bawah 

konten), sidebar (bagian yang terletak di samping kiri atau kanan konten), dan 

bagian konten itu sendiri. Nah.. dari keempat bagian, hanya bagian konten saja 

yang berubah-ubah, sedangkan bagian yang lain adalah fixed. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 89

BAB 12 

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, selanjutnya 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 

 

 

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 terdapat 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(); 

 

Selanjutnya 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 


 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 menggunakan seperti berikut ini: 

 

<?php 

$x = array(0 => 10, 1 => 12, 2 => 3, 3 => 44, 4 => 50, 5 => "hallo"); 

?> 

 

Selanjutnya, 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 karena sudah ditimpa -3) 

 

?> 


 91

 

Kita juga bisa menampilkan semua value array sekaligus secara berturut-turut 

menggunakan 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 menggunakan 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 karena dalam array $x 

ini  terdapat 6 ruang yang terisi value. Penggunaan 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 terdapat 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. 


 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 

menggunakan 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 


 93

 

$x[6] = 100; 

 

atau 

 

<?php 

 

$x = array(10, 12, 3, 44, 50, "hallo"); 

 

$x[6] = 100; 

 

?> 

 

Atau dengan cara kedua menggunakan 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. 

 


 94

Contoh Kasus 

 

Sekarang kita akan mencoba membahas beberapa contoh kasus yang menggunakan 

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 menggunakan array untuk menghitungnya. Anda bisa saja sih 

menggunakan 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 menggunakan 

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); 

 

?> 

 

Selanjutnya.. 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 (karena 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. Selanjutnya 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. 


 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.  

 


 96

Anda yang sudah berumur 17 tahun ke atas, mungkin tidak merasakan logika atau 

konsep ini karena 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, karena 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. Selanjutnya bilangan terbesar asumsi 

ini kita bandingkan dengan setiap bilangan yang ada secara urut satu persatu. Jika 

terdapat 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. Selanjutnya bilangan terbesar ini kita bandingkan dengan 

bilangan ke-1, yaitu 9. Karena 9 tidak lebih besar dari 9, maka bilangan terbesarnya 

tetap 9. Selanjutnya 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];  

 


 97

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, selanjutnya 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> 

 

Selanjutnya kita buat form kedua untuk menampilkan form dinamis guna memasukkan 

masing-masing bilangan. Karena 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++) 


 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 ☺ 

 


 99

Selanjutnya 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… karena nama komponen dari form kan bentuknya name='data0', name='data1', 

name='data2', dst. Maka dalam membaca valuenya harusnya juga menggunakan 

$_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>";  


 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]; 

 


 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; 

 

?> 

 

 

 

 

 


 102

Tugas Untuk Anda  

 

1. Perhatikan kembali kasus no. 2 pada bab ini. Apakah asumsi bilangan terbesar 

untuk pertama kali harus diberikan pada bilangan yang pertama? Jelaskan 

jawaban Anda 

 

2. Identik dengan kasus no. 2 pada bab ini, sekarang coba Anda buat script PHP 

untuk mencari nilai terkecil dari bilangan-bilangan 283, 182, 381, 119, 391, 591, 

123, 124, 284, 215, 312. 

 

Keterangan: tanpa menggunakan form input 

 

3. Identik dengan kasus no. 3 pada bab ini, coba Anda buat form input untuk 

memasukkan n buah bilangan, yang selanjutnya dicari nilai terbesar dan nilai 

terkecil, serta nilai jangkauan yang diperoleh dari nilai terbesar dikurangi nilai 

terkecil. 

 

4. Diketahui sebuah data bilangan berikut ini: 

 

273 

281 

384 

119 

392 

184 

105 

129 

204 

219 

274 

275 

263 

 

Buatlah script untuk fasilitas pencarian data bilangan. Mula-mula buatlah form 

untuk memasukkan bilangan yang ingin dicari. Selanjutnya apabila ditekan 

submit, maka berikutnya muncul status ‘ada atau tidaknya’ bilangan yang dicari 

dalam keseluruhan data. Jika ada, maka tampilkan urutan data ke berapa dari 

keseluruhan data (urutan dimulai dari 1, 2, 3, …) 

 

Contoh: 

 

Masukkan Bilangan yang dicari = 281 [submit] 

 


 103

Selanjutnya muncul keterangan: 

 

“Bilangan yang Anda cari ada dalam data pada urutan ke-2” 

 

5. Sebuah toko swalayan ingin membuat aplikasi sederhana untuk menghitung 

total harga yang harus dibayarkan si pembeli. Misalkan dalam toko ini  

hanya terdapat 10 jenis barang saja. Berikut daftar barang yang ada dalam toko 

beserta harganya 

 

Kode Barang  Nama Barang   Harga Satuan 

1001   Sabun Lifebuoy  Rp.   1.500,- 

1002   Permen Blaster  Rp.   5.600,- 

1003   Pasta Gigi Pepsodent  Rp.   4.560,- 

1004   Madu Arbain   Rp. 30.000,- 

1005   Kecap ABC   Rp.   7.250,- 

1006   Saus Tomat ABC  Rp.   6.700,- 

1007   Gula Gulaku   Rp.   8.900,- 

1008   Rinso    Rp.   7.100,- 

1009   Super Pel   Rp.   6.450,- 

1010   Permen Tango   Rp.   5.600,- 

 

Aplikasi ini terletak pada kasir. Berikut ini tampilan aplikasinya 

 

Form pertama 

 

Masukkan banyaknya jenis barang yang dibeli   [BANYAK JENIS BARANG] 

 

[ SUBMIT ] 

 

Form kedua 

 

Masukkan kode barang yang dibeli dan banyaknya 

 

Barang ke -1 [MASUKKAN KODE BARANG] [JUMLAH BRG] 

Barang ke -2 [MASUKKAN KODE BARANG] [JUMLAH BRG] 

Barang ke -3 [MASUKKAN KODE BARANG] [JUMLAH BRG] 

[ SUBMIT ] 

 

Tampilan Output 

 

Daftar Barang Yang Dibeli 

 


 104

KODE BARANG NAMA BARANG JUM BRG HARGA 

XXX   XXX   XXX  Rp. XXX 

XXX   XXX   XXX  Rp. XXX 

XXX   XXX   XXX  Rp. XXX 

TOTAL HARGA : Rp. XXX  

 

Contoh: 

Misalkan ada konsumen yang membeli sabun Lifebuoy (10 buah), dan permen 

Blaster (20 pack), maka formnya: 

 

Form Pertama: 

 

Masukkan banyaknya jenis barang yang dibeli   [ 2 ] 

 

[SUBMIT] 

 

Form Kedua 

 

Masukkan kode barang yang dibeli dan banyaknya 

 

Barang ke -1 [ 1001 ] [ 10 ] 

Barang ke -2 [ 1002 ] [ 20 ] 

 

[ SUBMIT ] 

 

Tampilan Output 

 

Daftar Barang Yang Dibeli 

 

KODE BARANG NAMA BARANG JUM BRG HARGA 

1001   Sabun Lifebuoy 10  Rp. 15000,-   

1002   Permen Blaster 20  Rp. 112000,- 

 

TOTAL HARGA : Rp. 127000,- 

 

 

 

 

 

 

 


 105

BAB 13 

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. Selanjutnya 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>"; 

?> 

 

Apabila 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 terdapat pula link menuju script lanjut.php. Dalam script lanjut.php 

ini, kita juga akan menampilkan kedua bilangan yang diinputkan sebelumnya. 

 

 

 


 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, karena 

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 terdapat 2 solusi yang bisa digunakan, yaitu menggunakan GET 

method atau SESSION. 

 

Apabila kita menggunakan GET method, maka caranya adalah menyisipkan parameter 

untuk kedua bilangan pada link menuju lanjut.php ini . Selanjutnya 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>"; 

?> 


 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 

terdapat kelemahan yaitu ditampilkannya nilai input sebagai parameter dalam URL link.  

 

Trus… bagaimana dengan menggunakan SESSION? Ya… dengan menggunakan 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.  

 

Selanjutnya bagaimana cara menyimpan nilai ke dalam suatu variabel SESSION? Ya… 

sebelum mulai menyimpan, kita harus mengaktifkan SESSION nya terlebih dahulu 

menggunakan 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 apabila konsep ini diterapkan pada contoh di atas, maka berikut ini adalah 

script submit.php yang telah dimodifikasi 

 


 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() karena 

dalam script lanjut.php ini kita masih memanfaatkan variabel SESSION. 

 

 


 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 apabila 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, karena 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/ 

 

 

 

 

 

 

 

 

 

 


 110

Tugas Untuk Anda 

 

Buatlah autentifikasi user dari suatu aplikasi web menggunakan konsep SESSION. 

Adapun username-username yang boleh mengakses aplikasi ini adalah 

 

USERNAME PASSWORD 

A password1 

B password2 

C password3 

D password4 

E password5 

 

Username dan password di atas harus disimpan dalam sebuah ARRAY. 

Adapun konsepnya sama seperti pada pengerjaan soal no. 5 Bab 11. 

 

Berikut ini gambaran aplikasinya: 

 

Terlebih dahulu buatlah sebuah desain halaman web dengan layout seperti di bawah ini: 

 

 

 

 

 

 

 

 

 

 

 

 

 

Selanjutnya, bagi-bagilah layout ini  ke dalam modul header.php dan footer.php 

Untuk halaman utama, tampilkan form login untuk user.  

 

 

 

 

 

 

 

 

 

 

TITLE 

FOOTER 

KONTEN 


 111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Selanjutnya bila login berhasil tampilkan halaman berikut ini (munculkan link navigasi) 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Keterangan: 

 

• Login dikatakan berhasil bila password yang dimasukkan oleh seorang user 

melalui form login sama dengan password yang tersimpan dalam aplikasi (dalam 

hal ini password yang ada dalam array). 

• XXX adalah username yang sukses login. 

 

Untuk setiap halaman Link 1, 2, dan 3 berikut ini tampilannya 

 

 

 

 

 

 

 

TITLE 

FOOTER 

Silakan Login 

 

                   Username   

                   Password     

                                      [ SUBMIT ] 

TITLE 

 

Username : XXX 

FOOTER 

Link 1 | Link 2 | Link 3 | Logout 

 

 

Anda telah berhasil login 

 

 


 112

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Catatan: 

 

• Aplikasi yang dibuat harus bisa menghandle apabila login salah, misalnya muncul 

keterangan “Password yang dimasukkan salah” bila username terdaftar namun 

passwordnya salah, atau “Username tidak terdaftar” bila usernamenya tidak 

terdaftar dalam aplikasi. 

 

Bila password login salah atau user tidak terdaftar, maka menu link navigasi tidak 

ditampilkan 

 

• Aplikasi yang dibuat harus bisa menghandle adanya penyusup yang ingin 

langsung masuk ke halaman Link 1, 2 dan 3 tanpa melalui login (autentifikasi). 

• Aplikasi yang dibuat harus bisa menghandle proses logout. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TITLE 

 

Username : XXX 

FOOTER 

Link 1 | Link 2 | Link 3 | Logout 

 

 

Ini adalah isi dari halaman Link 1 

 

 


 113

BAB 14 

Penggunaan Cookie 

 

Pada Bab 13, Anda telah belajar bagaimana menggunakan SESSION untuk menyimpan 

data atau value supaya dikenali di beberapa script halaman web. Selain menggunakan 

SESSION untuk melakukan hal ini, Anda juga bisa menggunakan COOKIE. 

 

Apa perbedaan antara SESSION dan COOKIE? Dari sisi fungsi atau kegunaan, keduanya 

adalah sama, namun perbedaannya adalah jika SESSION value disimpan dalam server 

web sedangkan value COOKIE disimpan dalam komputer client. 

 

Memang keduanya ada plus dan minusnya. Kelebihan SESSION adalah bahwa user tidak 

bisa menghapus value yang tersimpan kecuali dirinya sendiri, misal dengan menutup 

browser atau ketika dalam proses logout. Namun kelemahannya adalah ketika tiba-tiba 

jaringan internetnya putus setelah proses login. Bila jaringannya putus, maka otomatis 

SESSION akan terhapus sehingga apabila hal ini terjadi ketika Anda mengakses halaman 

web yang terdapat autentifikasi maka Anda diharuskan login kembali. 

 

Sedangkan COOKIE, value disimpan di komputer client. Dengan demikian value ini  

tetap tersimpan meskipun jaringan internetnya putus atau dalam kondisi offline. Namun 

kelemahannya adalah value COOKIE ini  bisa dihapus oleh orang lain yang juga 

menggunakan komputer ini , atau mungkin user komputer ini  telah menge-

set bahwa browsernya tidak bisa menerima COOKIE sehingga COOKIE tidak bisa 

tersimpan dalam komputer client. 

 

Sehingga apabila ditanya, lebih baik pakai yang mana? COOKIE atau SESSION? Ya… hal 

ini saya serahkan kepada Anda saja. Sebagai gambaran, bahwa sistem login Google Mail 

sepertinya menggunakan COOKIE, demikian pula dengan Wordpress. Namun banyak 

juga situs atau aplikasi yang menggunakan SESSION untuk membuat sistem login ini. 

Saya sendiri lebih senang menggunakan SESSION ☺ 

 

Cara Menyimpan Value Ke Dalam COOKIE 

 

Untuk menyimpan value ke dalam COOKIE caranya adalah dengan memberikan perintah 

berikut ini: 

 

setcookie("nama cookie", value, expired time); 

 

Pada perintah di atas, parameter ‘nama cookie’ bisa diisi dengan sebarang nama. Nama 

COOKIE ini seperti halnya Anda memberi nama pada SESSION. Parameter ‘value’ 


 114

nantinya diisi dengan value yang akan disimpan. Sedangkan parameter ‘expired time’ 

adalah lama waktu untuk mengatur masa berlaku COOKIE. 

 

Catatan: 

 

• Nama COOKIE tidak boleh mengandung spasi 

• Expired Time dihitung dalam satuan detik 

 

Contoh: 

 

<?php 

$kata = "Saya sedang belajar COOKIE"; 

setcookie("mycookie", $kata, time()+3600); 

?> 

 

Script di atas akan menyimpan value berupa teks ‘Saya sedang belajar COOKIE’ ke dalam 

COOKIE. Bila script di atas dijalankan, maka kita bisa lihat valuenya dalam COOKIE. 

Apabila Anda menggunakan Firefox, maka cara melihat COOKIE nya adalah: 

 

1. Klik TOOLS > OPTIONS 

2. Pilih menu tab PRIVACY 

3. Klik tombol SHOW COOKIES 

4. Kemudian dicari nama situsnya, karena Anda mencobanya melalui LOCALHOST 

maka LOCALHOST pada site name 

5. Lalu akan tampil seperti pada gambar berikut ini 

 


 115

 

 

Oya… pada script di atas, parameter ‘expired time’ nya diberikan time()+3600 itu 

maksudnya bahwa cookie ini  akan disimpan selama 1 jam (3600 detik). Setelah 1 

jam maka cookie akan terhapus secara otomatis. Bila parameter ‘expired time’ ini tidak 

dituliskan maka cookie akan terhapus begitu browser ditutup, seperti halnya SESSION. 

 

Nah… konsep COOKIE yang bisa diatur jangka waktu atau umurnya ini sering 

dimanfaatkan oleh program-program bisnis afiliasi. Mungkin Anda pernah mendengar 

atau bahkan sering bahwa suatu program afiliasi X menggunakan sistem COOKIE selama 

3 bulan, 9 bulan atau bahkan tahunan. COOKIE dalam bisnis afiliasi ini digunakan untuk 

menyimpan nomor ID dari referalnya. Bila terdapat konsumen yang membeli produk di 

bawah ID referal seseorang selama usia COOKIE ini masih aktif, maka orang yang 

memiliki ID referal tadi akan mendapatkan komisi. 

 

Membaca Value Cookie 

 

Setelah COOKIE tersimpan, selanjutnya kita bisa membaca valuenya. Untuk membaca 

value COOKIE, caranya adalah menggunakan perintah 

 

$_COOKIE['nama cookie']; 

 

Contoh: 

 

<?php 

if isset($_COOKIE['mycookie']) 


 116

    echo $_COOKIE['mycookie']; 

else echo "Cookie Tidak Ada";  

?> 

 

Script di atas digunakan untuk menampilkan value dari COOKIE bernama ‘mycookie’ bila 

COOKIE ini  ada (masih tersimpan dalam komputer), sedangkan bila sudah tidak 

ada maka tampilkan ‘Cookie Tidak Ada’. 

 

Nah… mungkin Anda berpikir, bagaimana bila terdapat nama COOKIE yang sama lebih 

dari satu yang tersimpan dalam komputer? Bila nama COOKIE yang sama ini  

berasal dari situs yang sama, maka sifat timpa menimpa value seperti halnya dalam 

variabel akan terjadi. 

 

Contoh: 

 

script1.php 

 

<?php 

$kata = "COOKIE 1"; 

setcookie("mycookie", $kata, time()+3600); 

?> 

 

 

script2.php 

 

<?php 

$kata = "COOKIE 2"; 

setcookie("mycookie", $kata, time()+3600); 

?> 

 

Kedua script di atas akan melakukan proses penyimpanan COOKIE sebanyak 2 kali 

dengan value yang berbeda namun nama COOKIE nya sama. Jika Anda jalankan script di 

atas dalam LOCALHOST (sebagai nama situsnya), maka value COOKIE pertama akan 

ditimpa dengan COOKIE yang kedua. 

 

Namun… misalkan Anda punya dua situs atau server yang berbeda katakanlah A dan B, 

kemudian script1.php Anda upload ke A sedangkan script2.php diupload ke B. 

Selanjutnya script1.php di A dijalankan dan script2.php di B juga dijalankan. Bila 

diperhatikan, maka proses ini akan menghasilkan 2 buah COOKIE yang berbeda, 

meskipun nama COOKIE nya sama. Di sini yang membedakan adalah nama server atau 

situsnya. 

 


 117

Tugas Untuk Anda 

 

1. Buatlah sebuah halaman web berisi sebarang konten yang bisa 

menginformasikan nama pengunjungnya, kapan kunjungan terakhir.  

 

Bila seseorang baru pertama kali mengunjungi halaman web ini , maka 

akan muncul form untuk memasukkan nama pengunjung. Berikut ini contoh 

gambarannya: 

 

Misalkan ada seorang seseorang bernama AGUS sedang membuka halaman web 

ini  untuk pertama kalinya pada tanggal 20/4/2009 melalui laptop 

pribadinya dan mengisi namanya pada form nama pengunjung yang disediakan.  

 

Selanjutnya bila si AGUS tadi membuka kembali halaman web ini  pada 

tanggal 29/4/2009 dengan laptop yang sama, maka form untuk memasukkan 

nama pengunjung tidak akan muncul melainkan muncul keterangan: “Terima 

kasih AGUS atas kunjungannya kembali ke halaman ini. Anda terakhir 

mengunjungi halaman ini pada tanggal 20/4/2009”.  

 

Gunakan COOKIE untuk menyelesaikan kasus di atas! 

 

2. Buatlah sistem login dan autentifikasi halaman web seperti halnya tugas di Bab 

13. Namun untuk tugas kali ini silakan dibuat dengan menggunakan COOKIE. 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 118

BAB 15 

Tentang Function 

 

Dalam suatu pengaturan organisasi, biasanya perlu dibentuk semacam bagian-bagian 

kerja atau divisi yang spesifik kerjanya. Sebagai contoh misalkan dalam suatu organisasi 

ada divisi humas yang tugasnya spesifik mengurusi masalah kehumasan, divisi HRD yang 

khusus menangani masalah SDM dan pengembangannya, serta divisi-divisi yang lain. 

 

Mengapa dalam pengaturan organisasi perlu dibentuk divisi atau suborganisasi yang 

lebih kecil dalam kinerjanya? Ya… tujuannya adalah efisiensi kerja. Dalam hal ini, 

seorang ketua atau manajer pastilah akan repot bila semua kegiatan harus dibebankan 

kepadanya. Selain itu apabila dilihat dari efektifitas, jelas akan efektif karena dengan 

dibentuknya suborganisasi maka seorang ketua organisasi lebih mudah memberikan 

komando. Sebagai contoh misalkan ketika sang ketua butuh informasi tentang 

kehumasan, maka dia tinggal menyuruh divisi humas untuk bekerja dan memberikan 

informasi. Informasi ini  nantinya akan digunakan sang ketua untuk menentukan 

kebijakan organisasi dalam proses selanjutnya. 

 

Nah.. mengadopsi hal di atas, konsep pembentukan suborganisasi ini juga bisa 

diterapkan ke dalam suatu script atau program. Dalam hal ini, sebuah program 

ibaratnya sebuah organisasi besar. Sedangkan Anda (programmer) sebagai ketua 

organisasinya. Dengan dibuatnya suatu subprogram yang memiliki tugas atau kerja yang 

spesifik maka dapat membawa ke efisiensi dan efektifitas kerja dari program atau script 

ini . Sekaligus, Anda pun akan lebih mudah dalam mengatur proses programnya.  

 

Perhatikan contoh script berikut ini yang digunakan untuk menghitung operasi 

 

310

4  

 

Dalam PHP sebenarnya terdapat perintah untuk menghitung pangkat bilangan. Namun 

di sini diasumsikan kita tidak menggunakan perintah ini  melainkan harus 

membuat program sendiri. 

 

Untuk menghitung n pangkat m, kita bisa menggunakan program berikut ini 

 

$hasil = 1; 

for ($i = 1; $i <= m; $i++) 

     $hasil = $hasil * n; 


 119

 

Konsep program di atas didasarkan pada ide nm = n x n x n x … x n (sejumlah m kali 

perkalian) 

 

Nah… bila program di atas kita terapkan ke dalam kasus yang kita hadapi maka script 

atau program PHP akan menjadi seperti ini: 

 

 

<?php 

 

// menghitung 3 pangkat 4 

 

$hasil_a = 1; 

for ($i = 1; $i <= 4; $i++) 

     $hasil_a = $hasil_a * 3; 

 

// menghitung 10 pangkat 3 

 

$hasil_b = 1; 

for ($i = 1; $i <= 3; $i++) 

     $hasil_b = $hasil_b * 10; 

 

// menghitung 4 pangkat 5 

 

$hasil_c = 1; 

for ($i = 1; $i <= 5; $i++) 

     $hasil_c = $hasil_c * 4; 

 

// hitung hasil terakhir 

 

$hasil = $hasil_a * $hasil_b / $hasil_c; 

 

echo $hasil; 

 

?> 

 


 120

Wah… ternyata panjang juga ya. Bila kita perhatikan bahwa dalam script di atas ada 

beberapa pekerjaan yang dilakukan secara berulang-ulang yaitu ‘menghitung pangkat’. 

Nah… mungkin untuk keperluan efisiensi dan efektifitas, bagaimana seandainya kita 

buat ‘Divisi Perpangkatan‘ dalam program yang tugasnya khusus menghitung pangkat 

bilangan ☺  

 

Dengan kehadiran divisi ini , kita dapat dengan cepat menghitung pangkat bilangan 

karena urusan memangkatkan bilangan kita serahkan ke divisi ini . Dalam 

programming, divisi ini kita namakan function atau subprogram. 

 

OK… sejenak kita tinggalkan kasus di atas. Sekarang kita lanjutkan dahulu tentang 

bagaimana membuat function. 

 

Secara umum, bentuk function adalah seperti di bawah ini 

 

function nama_function(parameter) 

   .. 

   .. 

   return variabel;  

}   

 

Keterangan:  

 

Setiap function pasti dan harus memiliki nama function. Nama function ini nantinya 

akan dipanggil oleh program utama bila akan digunakan. Parameter di sini sifatnya 

optional (boleh ada, boleh tidak). Parameter ini ibaratnya input yang akan diolah oleh 

function.  

 

Sedangkan return variabel merupakan perintah untuk memberikan hasil setelah 

dikerjakan oleh function. Dalam hal ini perintah return variabel ini juga bersifat optional 

(boleh ada, boleh tidak).  

 

Kapan return variabel ini digunakan? Dan kapan tidak perlu digunakan? return variabel 

ini perlu digunakan bila hasil dari pengolahan function ini akan digunakan untuk proses 

yang lain dalam program. Sedangkan bila hasil dari function tidak akan digunakan oleh 

program, maka tidak perlu diberikan perintah ini. 

 

Contoh: 

 

<?php 

 

function jumlah($a, $b) 


 121

    $c = $a + $b; 

    return $c;  

 

echo "Hasil penjumlahannya = ".jumlah(3, 5); 

 

?> 

 

Script di atas menunjukkan penggunaan function untuk menjumlahkan dua buah 

bilangan. Apabila dikembangkan lagi untuk kasus menghitung (3 + 5) ditambah (7 + 6), 

maka scriptnya dapat berbentuk seperti di bawah ini 

 

<?php 

 

function jumlah($a, $b) 

    $c = $a + $b; 

    return $c;  

 

$hasil = jumlah(3, 5) + jumlah(7, 6); 

 

echo "Hasil penjumlahannya = ". $hasil; 

 

?> 

 

Atau 

 

<?php 

 

function jumlah($a, $b) 

    $c = $a + $b; 

    return $c;  

 

$hasil = jumlah(jumlah(3, 5), jumlah(7, 6)); 

 

echo "Hasil penjumlahannya = ". $jumlah; 

?> 

 

Sedangkan berikut ini contoh function yang tidak perlu menggunakan return. Script 

berikut ini hanya sekedar menampilkan suatu string melalui sebuah function. 

 


 122

<?php 

 

function tulis($x) 

   echo "Anda menampilkan ". $x . "<br>";  

 

tulis("Hello World.."); 

tulis("Apa kabar?"); 

 

?> 

 

Nah… kembali lagi ke kasus semula, yaitu mencari hasil dari 

 

310

4  

 

Maka kita bisa membuat script yang lebih sederhana daripada sebelumnya 

menggunakan function 

 

<?php 

 

function pangkat($m, $n) 

   $hasil = 1; 

   for ($i = 1; $i <= $n; $i++) 

   { 

       $hasil = $hasil * $m; 

   } 

   return $hasil; 

 

$jwb = pangkat(3, 4) * pangkat(10, 3) / pangkat(4, 5); 

echo "Hasilnya adalah : ".$jwb; 

 

?> 

 

Anda juga bisa membuat beberapa function dalam file tersendiri, semacam daftar 

function. Selanjutnya setiap kali butuh suatu function dalam daftar ini , cukup 

meng-include-kan saja nama file nya, lalu panggil nama functionnya. Trik ini sering 

digunakan oleh para programmer handal dalam membuat aplikasi. Berikut ini 

contohnya: 

 

 


 123

functions.php 

 

<?php 

 

function jumlah($a, $b) 

   $hasil = $a + $b; 

   return $hasil;  

 

function kurang($a, $b) 

   $hasil = $a - $b; 

   return $hasil;  

 

function kali($a, $b) 

   $hasil = $a * $b; 

   return $hasil;  

 

function bagi($a, $b) 

   $hasil = $a / $b; 

   return $hasil;  

 

?> 

 

jumlah.php 

 

<?php 

 

include "functions.php"; 

 

$bil1 = 103; 

$bil2 = 192; 

 

echo "Hasil ".$bil1." + ".$bil2. " = " . jumlah($bil1, $bil2) ;  

 

?> 

 

 


 124

kurang.php 

 

<?php 

 

include "functions.php"; 

 

$bil1 = 103; 

$bil2 = 192; 

 

echo "Hasil ".$bil1." - ".$bil2. " = " . kurang($bil1, $bil2) ;  

 

?> 

 

kali.php 

 

<?php 

 

include "functions.php"; 

 

$bil1 = 103; 

$bil2 = 192; 

 

echo "Hasil ".$bil1." x ".$bil2. " = " . kali($bil1, $bil2) ;  

 

?> 

 

bagi.php 

 

<?php 

 

include "functions.php"; 

 

$bil1 = 103; 

$bil2 = 192; 

 

echo "Hasil ".$bil1." / ".$bil2. " = " . bagi($bil1, $bil2) ;  

?> 

 

Built in Functions dalam PHP 

 

Sebuah function dapat kita create sendiri seperti halnya di atas, namun dapat pula kita 

langsung gunakan karena sudah disediakan oleh PHP. Function yang sudah disediakan 

oleh PHP ini selanjutnya disebut built in functions. 

 


 125

Berikut ini beberapa built in functions yang sudah ada dalam PHP berdasarkan kategori 

penggunaannya. 

 

Mathematics Built in Functions 

 

abs() 

 

Untuk menghitung nilai mutlak atau absolute 

 

Contoh: 

 

<?php 

$bil = -10; 

echo abs($bil);  // menghasilkan 10 

?> 

 

ceil() 

 

Untuk membulatkan ke atas suatu bilangan real 

 

Contoh: 

 

<?php 

$bil = 19.1; 

echo ceil($bil);  // menghasilkan 20 

?> 

 

floor() 

 

Untuk membulatkan ke bawah suatu bilangan real 

 

Contoh: 

 

<?php 

$bil = 19.5; 

echo floor($bil);  // menghasilkan 19 

?> 

 

max() 

 

Mencari nilai terbesar dari suatu data bertipe array 

 

Contoh: 


 126

<?php 

 

$data = array(19, 23, 11, 45); 

 

$max = max($data); 

echo "Nilai max = ".$max;  // menghasilkan 45 

 

?> 

 

min() 

 

Mencari nilai minimum dari suatu data bertipe array 

 

mt_rand(x, y) 

 

Untuk menghasilkan bilangan bulat random antara x s/d y. 

 

Contoh: 

 

<?php 

 

$random = mt_rand(4, 10); // menghasilkan bilangan random antara 4 s/d 10 

echo $random; 

 

?> 

 

pow(x, y) 

 

Digunakan untuk mencari hasil x pangkat y. 

 

Contoh: 

 

<?php 

 

$hasil = pow(4, -5); // menghitung 4 pangkat -5 

echo $hasil; 

 

?> 

 

 

 

 

 


 127

round() 

 

Membulatkan bilangan real ke bawah bila desimal di belakang komanya kurang dari 0.5, 

dan membulatkan ke atas bila desimal di belakang komanya lebih dari atau sama 

dengan 0.5.  

 

Contoh: 

 

<?php 

 

echo round(10.23);  // menghasilkan 10 

echo round(10.6);  // menghasilkan 11 

echo round(-10.2);  // menghasilkan -10 

 

?> 

 

 

Array Built in Functions 

 

Berikut ini beberapa function yang bisa digunakan untuk mengolah data berbentuk 

array 

 

array_multisort() 

 

Digunakan untuk mensorting beberapa array terkait sekaligus. Bisa juga digunakan 

untuk mensorting dalam sebuah array saja. 

 

Sintaks dari penggunaan array_multisort() adalah 

 

array_multisort(x, metode, a, b, c, …); 

 

dengan ‘x’ adalah array yang digunakan sebagai acuan dalam sorting, ‘metode’ adalah 

metode yang digunakan sorting (ascending atau descending), dan a, b, c,… adalah array 

lain yang ikut disorting. 

 

Contoh: 

 

Script berikut ini akan mengurutkan data mahasiswa (NIM dan NAMA) berdasarkan NIM 

dari 2 buah array yang bersesuaian secara ascending. 

 

<?php 

 

$nim = array("M0197002","M0197004","M0197001","M0197008","M0197003"); 


 128

$nama = array("Amir","Joko","Budi","Siti","Agus"); 

 

array_multisort($nim, SORT_ASC, $nama); 

 

for ($i = 0; $i <= count($nim)-1; $i++) 

     echo $nim[$i]. " " .$nama[$i]. "<br>";  

 

?> 

 

Keterangan: 

 

Untuk sorting secara descending, gunakan parameter SORT_DESC 

 

array_rand() 

 

Digunakan untuk mengambil salah satu elemen dari array secara random 

 

Contoh: 

 

<?php 

$bil = array(3, 1, 4, 5, 2, 6); 

$ambilAcak = array_rand($bil); 

echo $ambilAcak; 

?> 

 

array_reverse() 

 

Digunakan untuk membalik urutan data dalam array 

 

Contoh: 

 

<?php 

 

$data = array("mangga","jambu","jeruk","apel"); 

$balik = array_reverse($data); 

 

foreach($balik as $index => $buah) 

   echo $buah. "<br>"; // menampilkan apel, jeruk, jambu, mangga 

 


 129

?> 

 

array_search() 

 

Digunakan untuk mencari nomor urut elemen tertentu dalam array (dimulai dari 0) 

 

Contoh: 

 

Script berikut ini akan mencari nomor urut elemen dari data ‘jambu’ dalam array buah 

 

<?php 

 

$data = array("mangga","jambu","jeruk","apel"); 

$no = array_search("jambu", $data); 

 

echo $no;  // akan menampilkan 1 (nomor urut elemen dalam array) 

 

?> 

 

count() 

 

Digunakan untuk menghitung jumlah elemen yang ada dalam suatu array. 

 

 

String Built in Functions 

 

explode() 

 

Digunakan untuk memecah suatu string ke dalam array berdasarkan karakter tertentu. 

 

Contoh: 

 

 

<?php 

 

$date = "20-01-2009"; 

 

$pecah = explode("-", $date);   // memecah string berdasarkan karater ‘-’ 

echo "Tanggal : ". $pecah[0];   // menampilkan 20  

echo "Bulan : ". $pecah[1];      // menampilkan 01 

echo "Tahun : ". $pecah[2];      // menampilkan 2009 

 

?> 


 130

 

 

md5() 

 

Digunakan untuk mengenkripsi (hashing) suatu string. Biasanya function ini digunakan 

untuk keperluan enkripsi password login ke suatu aplikasi. Hasilnya adalah suatu string 

yang tidak dapat dibaca dengan panjang 32 karakter 

 

<?php 

$passwordAsli = "hello"; 

$passwordEnkrip = md5($passwordAsli); 

echo $passwordEnkrip;  // menampilkan ‘5d41402abc4b2a76b9719d911017c592’ 

?> 

 

Keterangan: 

 

Tidak ada function untuk membalik dari hasil md() ke string asli. 

 

number_format() 

 

Memformat angka dengan mengelompokkan berdasarkan ribuan. 

 

Contoh: 

 

Berikut ini contoh script untuk menyajikan angka Rp. 1002372 menjadi bentuk Rp. 

1.002.372,- 

 

<?php 

 

$harga = 1002372; 

$formatted = number_format($harga, 0, "", "."); 

echo "Harganya Rp. ".$formatted. ",-"; 

 

?> 

 

Keterangan: 

 

Parameter pertama dari number_format() menunjukkan bilangan yang akan diformat, 

parameter kedua menunjukkan jumlah digit desimal di belakang koma, parameter 

ketiga menunjukkan tanda pemisah untuk digit desimal di belakang koma, dan 

parameter keempat menunjukkan tanda pemisah untuk ribuan. 

 

Contoh: 


 131

 

Berikut ini contoh script untuk menyajikan bilangan real 123456789.111111 menjadi 

bentuk 123.456.789,111 (tanda pemisah desimal menggunakan koma, jumlah digit 

desimal sebanyak 3 dan menggunakan tanda titik untuk pemisah ribuan) 

 

<?php 

 

$bil = 123456789.111111; 

$formatted = number_format($bil, 3, ",", "."); 

echo "Bilangannya ".$formatted; 

 

?> 

 

str_replace() 

 

Digunakan untuk mereplace suatu substring dengan substring lain dalam string. 

 

Contoh: 

 

Script berikut ini akan mengganti substring ‘be’ menjadi ‘bi’ 

 

 

<?php 

 

$kalimat = "saya ingin bebas seperti burung beo"; 

$replace = str_replace("be", "bi", $kalimat); 

 

echo $replace;  // menampilkan ‘saya ingin bibas seperti burung bio’  

 

?> 

 

strip_tags() 

 

Digunakan untuk menghilangkan tag HTML dalam suatu string. Biasanya untuk 

keamanan dalam form guna mencegah disisipkannya tag-tag HTML yang bisa merusak 

halaman web. 

 

<?php 

 

$string = "<font face='verdana' size='2'>Hello world</font>"; 

$hilangkanTag = strip_tags($string); 

 

echo $hilangkanTag;  // akan menghasilkan ‘Hello World’  


 132

 

?> 

 

 

strlen() 

 

Digunakan untuk menghitung jumlah karakter dari suatu string 

 

 

Contoh: 

 

<?php 

 

$kata = "Hello World"; 

$jumKarakter = strlen($kata); 

 

echo $jumKarakter;   // akan menghasilkan 11 (spasi ikut dihitung)  

 

?> 

 

strtolower() 

 

Digunakan untuk mengubah semua huruf penyusun string menjadi huruf kecil 

 

Contoh: 

 

<?php 

 

$kata = "Rosihan Ari Yuana"’; 

$kecil = strtolower($kata); 

 

echo $kecil;  // menghasilkan ‘rosihan ari yuana’ 

 

?> 

 

strtoupper() 

 

Merupakan kebalikan strtolower() 

 

substr_count() 

 

Menghitung jumlah substring dalam suatu string 

 


 133

Contoh: 

 

<?php 

 

$lagu = "topi saya bundar, bundar topi saya, kalau tidak bundar, bukan topi saya"; 

$hitungTopi = substr_count($lagu, "topi"); 

 

echo $hitungTopi;   // akan menghasilkan 3. 

 

?> 

 

substr() 

 

Mengambil sejumlah karakter substring dari suatu string 

 

Contoh: 

 

Script berikut ini akan mengambil tahun angkatan mahasiswa dari NIM ‘M0197001’, 

dimana tahun angkatan terletak pada digit ke 4 dan 5 dari NIM (dalam hal ini tahun 

angkatannya adalah 97) 

 

<?php 

 

$nim = "M0197001"; 

$angkatan = substr($nim, 3, 2); 

 

echo $angkatan;   // menghasilkan 97 

?>  

 

Keterangan: 

 

Parameter pertama dari substr() menunjukkan string aslinya. Parameter kedua 

menunjukkan posisi awal substring yang akan diambil (dihitung mulai 0 dari karakter 

paling kiri string), dan parameter ketiga menunjukkan jumlah karakter subtring yang 

akan diambil. 

 

Sehingga dari contoh di atas, karena posisi awal tahun angkatan itu terletak pada 

karakter ke-3 dari string NIM, dan tahun angkatan ini terdiri dari 2 karakter maka 

perintahnya adalah 

 

substr($nim, 3, 2) 

 

 

 


 134

Tugas Untuk Anda 

 

1. Di SMA tentu Anda telah mengenal rumus kombinasi C(m, n) kan? C(m, n) 

dirumuskan dengan 

 

 



,

 


!

!

 

 

 

Simbol ! menunjukkan faktorial.Sebagai contoh, 5! = 5 x 4 x 3 x 2 x 1 = 120. 

 

Nah.. buatlah script PHP untuk menghitung nilai C(m, n) dengan m dan n nya 

suatu input, dimana m ≥ n. 

 

Dalam hal ini buatlah sebuah function yang khusus untuk menghitung nilai 

faktorial suatu bilangan. Selanjutnya gunakanlah function ini  untuk 

menghitung C(m, n). 

 

2. Buatlah script untuk menghitung jumlah bilangan ganjil antara 10 dan 123456. 

Gunakan function untuk mengecek apakah suatu bilangan termasuk bilangan 

ganjil atau tidak. 

 

3. Buatlah script untuk mencari selisih jumlah detik dari dua waktu yang berbeda. 

Format input waktu harus dalam bentuk hh:mm:ss 

 

Contoh: 

 

Waktu 1 = 12:03:10 

Waktu 2 = 13:03:20 

 

Selisih kedua waktu adalah 3610 detik. 

 

Petunjuk: Anda dapat gunakan function explode() untuk memecah waktu ke 

dalam satuan jam, menit dan detik untuk perhitungan. 

 

4. Misalkan dalam suatu kelas terdapat 5 orang siswa dengan nama dan NIS 

sebagai berikut 

 

NIS Nama Siswa 

 

A001 Agus 

A002 Budi 


 135

A003 Amir 

A004 Acong 

A005 Siti 

 

Buatlah sebuah form untuk memasukkan nilai ujian 1 dan ujian 2 pelajaran 

Matematika kelima siswa ini . Selanjutnya tampilkan data NIS, Nama Siswa 

dan Rata-rata Ujiannya, dan urutkan berdasarkan Rat