1
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
2
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
SILABUS
â¢
Pemrograman Web Dengan PHP
Tipe Data, Percabangan, Perulangan, Array, Function, Session
â¢
Object Oriented Programming (OOP)
â¢
Aplikasi Database Berbasis Web + Studi Kasus
View, Tambah, Edit, Hapus Data.
â¢
Asynchronous Javascript and XML (AJAX)
3
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Referensi
â¢
PHP Manual, http://www.php.net
â¢
MySQL Manual, http://www.mysql.com
4
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
APLIKASI TEKNOLOGI ONLINE
5
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
CONTOH KASUS
Sebuah situs toko elektronik memiliki produk sebanyak 500 jenis.
Situs ini memperbolehkan pengunjung untuk melihat produk-produk
tersebut.
Solusi 1 :
Buat halaman web untuk setiap produk. Ini berarti anda minimal
membuat 500 halaman web.
Kendala :
-Bagaimana kalau ada produk baru. Pengaturan link pasti repot.
-Pengelolaan file repot.
6
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Solusi 2 :
Gunakan web programming (Javascript, PHP, ASP, JSP). Data
produk disimpan dalam database. Untuk menampilkan 500
7
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
WEB PROGRAMMING
Aktivitas untuk membangun situs web untuk world wide web
(www) atau internet.
Ada dua jenis web programming yaitu Client Side Web
Programming dan Server Side Web Programming
CLIENT SIDE
SERVER SIDE
Bahasa
JavaScript, VBScript
PHP, ASP, JSP
Source Code
Didownload ke client,
dieksekusi di client
Dibaca di server,
dieksekusi di server
Web Server
Tidak Perlu
Wajib Ada
Mengakses Database
Sulit
Mudah
8
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
SYARAT
SERVER SIDE WEB PROGRAMMING
â¢
Web Server (server http)
â
Digunakan agar dapat melayani request menggunakan http.
â
Software yang biasa digunakan adalah
â¢
Personal Web Server (PWS) (windows),
â¢
Internet Information Service (IIS) (windows nt),
â¢
Apache (windows, unix, linux)
â¢
Interpreter Bahasa/Script
â
Digunakan untuk menterjemahkan script program
â¢
Database Server
â
Digunakan agar dapat melayani layanan database (tambah, edit, hapus,
dan layanan database lainnya)
9
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
CARA KERJA
Data General
PHP
Interpreter
Web Server
Database Server
1
2
3
4
5
Client
10
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
WAMP
â¢
Kependekan dari (W)indows, (A)pache, (M)ySQL, (P)HP
â¢
Menggabungkan semua software yang dibutuhkan untuk
mengembangakan situs berbasis server side (client side
juga)
Nama-nama paket yang termasuk WAMP adalah :
â¢
WampServer/WAMP
â¢
PHPTriad/Apache2Triad
11
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
MENGGUNAKAN WAMP
â¢
Untuk mengaktifkan WAMP, klik Start
ï
All Programs
ï
WampServer
ï
Start WampServer
â¢
Jika berhasil, anda akan melihat gambar speedometer di
tray icon.
â¢
Test menggunakan web browser dengan alamat :
â
http://localhost
â
http://namakomputer, contoh : http://andri-pc
12
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
â¢
Jika WAMP telah berjalan, maka akan tampil halaman
13
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
â¢
Halaman yang anda lihat berada di folder c:\wamp\www
dengan nama file index.php
â¢
Anda harus menyimpan semua file web anda di folder
14
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
PROGRAM PERTAMA
Contoh Kasus :
15
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Solusi 1 : Menggunakan HTML
<html>
<head>
<title>Deret Angka</title>
</head>
<body>
1<br>
2<br>
...
...
...
9999<br>
10000<br>
</body>
16
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Solusi 2 : Menggunakan PHP
<html>
<head>
<title>Deret Angka</title>
</head>
<body>
<?php
for($i=1;$i<=10000;$i++)
echo "$i<br>";
17
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
CARA MENULIS SCRIPT PHP
â¢
Agar folder anda tidak tercampur dengan folder mahasiswa
lain, buatlah folder di c:\wamp\www. Gunakan nama atau
nim kamu.
â¢
Untuk menulis script php dapat menggunakan teks editor
biasa seperti Notepad, UltraEdit, PHPCoder atau
Dreamweaver. Disarankan menggunakan Dreamweaver.
â¢
Tulis source-codenya.
â¢
Simpan dalam folder anda yang ada di
18
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
â¢
Test script php yang telah anda buat dengan memanggilnya
menggunakan web browser dengan alamat :
http://localhost/namafolderanda/deret.php
Contoh salah memanggil script php adalah :
C:\wamp\www\deret.php
19
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Untuk membuktikan bahwa source-code PHP tidak bisa dilihat
di client, caranya adalah
1. Untuk Firefox : klik kanan di web browser
ï
View Page
Source
20
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
â¢
Modifikasi source-code anda dengan menambahkan fitur
â
kalau angkanya genap maka diberi warna merah, dan kalau
21
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Source Code : Memberi warna merah dan biru sesuai angka
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
for($i=1;$i<=10000;$i++)
{
if($i % 2 == 0)
echo "<font color=red>$i</font><br>";
else
echo "<font color=blue>$i</font><br>";
}
22
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
MENGIRIM NILAI DARI LUAR PHP
â¢
Modifikasi source-code anda dengan menambahkan fitur
â
nilai awal dan akhir perulangan tergantung keinginan user,
tidak harus dari 1 sampai
10000â.
<html> <head>
<title>Title here!</title> </head>
<body> <?php
for($i=$_GET["awal"];$i<=$_GET["akhir"];$i++)
{
if($i % 2 ==0)
echo "<font color=red>$i</font><br>"; else
echo "<font color=blue>$i</font><br>"; }
23
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Cara mengirim nilai awal dan akhir untuk source-code tersebut
adalah :
http://localhost/namafolderkamu/deret.php?awal=5&akhir=15
Pemanggilan di atas akan menyebabkan variable awal akan
24
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Pengiriman nilai variable seperti slide sebelumnya akan
menjadi susah karena pengguna harus mengetahui variable
apa yang ada dalam script php.
25
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Contoh Formnya : Simpan dengan nama : form1.php
Pemanggilan : http://localhost/folderkamu/form1.php
<html>
<head>
<title>FORM</title>
</head>
<body>
<form method=
"GET
" action="
deret.php
">
Awal
: <input type="text" name=
"awal
"><br>
Akhir : <input type="text" name=
"akhir
"><br>
<input type="submit" value="Go..!!!">
<input type="reset" value="Hapus">
</form>
27
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Mengirim Nilai dengan menggunakan method=POST
Modifikasi file form1.php, edit seperti script di bawah ini,
kemudian simpan dengan nama : form2.php
<html>
<head>
<title>FORM</title>
</head>
<body>
<form method="POST" action="deret2.php">
Awal
: <input type="text" name="awa"l><br>
Akhir : <input type="text" name="akhir"><br>
<input type="submit" value="Go..!!!">
<input type="reset" value="Hapus">
</form>
28
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
Modifikasi file deret.php, edit seperti script di bawah ini,
kemudian simpan dengan nama : deret2.php
<html>
<head>
<title>Title here!</title>
</head>
<body>
<?php
for($i=$_POST["awal"];$i<=$_POST["akhir"];$i++)
{
if($i % 2 ==0)
echo "<font color=red>$i</font><br>";
else
echo "<font color=blue>$i</font><br>";
}
?>
</body>
</html>
30
Oleh : Andri Heryandi, Teknik Informatika
â
Universitas Komputer Indonesia (UNIKOM)
PERSIAPAN UNTUK PERTEMUAN
DEPAN
â¢
PELAJARI HTML
â¢
PELAJARI PEMBUATAN TABEL DAN FORM DI HTML
â¢
PELAJARI STRUKTUR PEMROGRAMAN DENGAN C
Halaman. 1
BAB I
PENDAHULUAN
LATAR BELAKANG
World Wide Web (WWW) telah berubah dengan cepat dalam berbagai cara. Bahasa standar yang dipakai dalam WWW adalah bahasa HTML (Hyper Text Markup Language). Dengan adanya teknologi ini, kita dapat melihat dokumen yang kadang-kadang berada di bagian lain di dunia ini dengan hanya sebuah program sederhana dan kita akan banyak mendapatkan informasi yang dengan cepat dapat kita terima sesuai dengan yang kita perlukan.
Sekarang kita mengharapkan lebih dari internet. Kita mengharapkan sebuah situs web yang berisi dengan informasi yang banyak dan dalam tampilan yang menarik serta kita dapat mencari dokumen yang diperlukan dengan mudah. Untuk untuk mencapai hal tersebut kita memerlukan suatu situs web yang dinamis. Karena jika hanya mengandalkan situs web yang statis maka akan memerlukan pemeliharaan yang susah, sebagai contoh jika sebuah perusahaan ingin membuat suatu situs web yang berisi promosi produk sebanyak 1000 jenis produk maka dalam situs tersebut minimal kita harus membuat 1000 web statis yang berbeda (itu pasti merepotkan). Dengan memanfaatkan teknologi situs dinamis maka dalam situs tersebut hanya memerlukan halaman web yang lebih sedikit karena data produk disimpan dalam database.
Sebuah situs web yang modern sekarang bukan hanya sebuah web server, juga harus dapat menyertakan suatu jalan untuk menyimpan data dan melayani permintaan (seperti SQL query).
CONTOH KASUS
Halaman. 2 mahasiswa). Oleh karena itu data nilai mahasiswa di simpan dalam server database yang akan diupdate setelah nilai dihitung.
Akan tetapi jika kita menggunakan halaman web yang menggunakan HTML saja, akan sulit jika kita ingin mengakses suatu database, sehingga kita memerlukan suatu script yang dapat mengakses suatu database (dimana kita menyimpan data), tetapi harus dapat menghasilkan sebuah halaman HTML (karena kita memanfaatkan web).
Karena alasan diataslah PHP diciptakan. PHP memiliki fungsi-fungsi yang banyak yang dapat mengakses database.
CARA KERJA PHP
Adapun cara kerja PHP adalah :
[image:32.612.154.468.335.523.2]Data General
PHP
Interpreter
Web Server
Database Server
1
2
3
4
5
Client
Display
Gambar 1. Alur kerja PHP Proses-proses yang terjadi adalah :
1. Client me-request halaman web yang berisi script PHP.
2. Jika file yang di-request ditemukan, maka server akan meneruskannya ke PHP Interpreter (Penterjemah PHP) yang akan bekerja menghasilkan dokumen/halaman HTML berdasarkan script PHP. Jika dalam script tersebut terdapat permintaan terhadap database, maka akan terjadi proses query data ke database server.
Halaman. 3 4. Web Server mengirim dokumen HTML (Response) ke Client
5. Web Browser akan menterjemahkan dokumen HTML ke Display/Monitor.
Halaman. 4
BAB II
MEMULAI PHP
Persyaratan Program Pertama
Mengirim Nilai Ke Variable Latihan
PERSYARATAN
Seperti yang diterangkan di bab sebelumnya, jika ingin membangun sebuah situs dinamis maka ada 3 hal yang diperlukan yaitu Web Server, Database Server dan PHP Interpreter.
Web Server yang dapat digunakan diantaranya adalah Apache, Internet Information Services (IIS), Personal Web Server (PWS) dan lain-lain.
Databas Server yang dapat digunakan diantaranya adalah MySQL, Oracle, Interbase, Informix, SQL Server, PostgreSQL dan lain-lain.
Setiap aplikasi tersebut dapat diinstall secara terpisah. Akan tetapi ada sebuah paket yang didalamnya sudah menyatukan ketiga aplikasi tersebut yaitu WAMP yang kependekan dari Windows + Apache + MySQL + PHP. (Dapat ditemukan di CD Penunjang Perkuliahan).
Oleh karena itu dalam komputer yang dimiliki harus terinstall minimal WAMP.
Untuk membuat suatu file PHP, program yang diperlukan adalah sebuah editor teks seperti Notepad, Ultra Edit, PHP Coder, PHP Editor atau Macromedia Dreamweaver.
Sekarang diasumsikan bahwa anda menggunakan WAMP. Untuk memulai pembuatan situs dinamis berbasis PHP, ada beberapa hal yang harus dikerjakan yaitu :
Halaman. 5 2. Untuk mengetes apakah web server sedang aktif, maka buka sebuah browser (Internet Explorer, Opera atau FireFox) kemudian ketik di toolbar address alamat berikut : http://localhost yang akan menampilkan halaman seperti di bawah ini.
3. Web site yang muncul di web browser sebenarnya berada di folder c:\wamp\www. Sehingga jika anda membuat file php dan ingin dapat dieksekusi, maka harus disimpan di folder tersebut. Anda dapat memindahkan folder web ke lokasi lain dengan syarat mengatur konfigurasi apache (yang ada pada file httpd.conf).
Halaman. 6
PROGRAM PERTAMA
Contoh kasus : Buatlah suatu halaman web yang dapat menampilkan bilangan 1 sampai 1000.
Solusi 1 : Dengan menggunakan HTML
<html> <head> <title>Deret Angka</title> </head> <body> 1<br> 2<br> ... ... ... 999<br> 1000<br> </body> </html>
Jika solusi 1 dikerjakan, maka kita membutuhkan banyak baris. Tentunya akan merepotkan jika bilangan yang diinginkan adalah dari 1 sampai 100000. Jika kita mengandalkan bahasa HTML murni maka akan sulit.
Solusi 2 : Dengan menggunakan PHP
1 2 3 4 5 6 7 8 9 10 11 <html> <head> <title>Deret Angka</title> </head> <body> <?php for($i=1;$i<=1000;$i++) echo "$i<br>"; ?> </body> </html>
Script PHP disisipkan dalam sebuah file HTML.
Keterangan program :
- Baris 1 â 5 : Awal dari HTML
- Baris 6 : Awal dari script php dimulai dengan tag <?php.
- Baris 7 â 8 : Perulangan dari 1 sampai 1000 untuk menghasilkan deret angka 1 sampai 1000. - Baris 9 : Akhir dari script php diakhiri dengan tab ?>.
Halaman. 7 Simpan fiel tersebut di dalam folder htdocs dengan nama file deret.php. Kemudian eksekusi file tersebut di web browser dengan alamat : http://localhost/deret.php yang akan menampilkan deret angka dari 1 sampai 1000 seperti gambar di bawah ini.
Hasil Eksekusi file deret.php
Halaman. 8 Kode sumber HTML hasil Interpreter PHP.
Sekarang kita modifikasi program di atas agar dapat menampilkan deret angka yang berwarna dengan ketentuan jika bilangan ganjil maka akan ditampilkan dengan warna merah dan jika bilangan tersebut genap maka akan ditampilkan dengan warna biru.
Untuk kasus diatas maka kita benar-benar memerlukan suatu percabangan (statement if), sehingga file deret.php akan berubah menjadi :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head> <title>Title here!</title> </head> <body> <?php for($i=1;$i<=1000;$i++) {
if($i % 2 == 0)
echo "<font color=red>$i</font><br>"; else
echo "<font color=blue>$i</font><br>"; }
Halaman. 9 Jika file telah diedit, maka sebelum dieksekusi, file tersebut harus disimpan dulu. Kemudian tekan tombol Refresh di web browser agar mengeksekusi kembali file tersebut.
MENGIRIMKAN NILAI DARI LUAR PHP
Contoh kasus : File deret.php yang telah ditulis ingin diubah dimana awal perulangannya tidak selalu 1 dan akhir perulanggnya pun tidak ingin selalu 1000 tetapi bisa berapa saja. Oleh karena itu, angka 1000 pada perulangannya harus diganti dengan sesuatu yang bisa berubah yaitu variable sebut saja variable $akhir juga angka 1 diubah menjadi variable $awal. Sehingga file deret.php akan seperti di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 <html> <head> <title>Title here!</title> </head> <body> <?php for($i=$_GET["awal"];$i<=$_GET["akhir"];$i++) {
if($i % 2 ==0)
echo "<font color=red>$i</font><br>"; else
Halaman. 10
13 14 15 16
} ?> </body> </html>
Ada beberapa cara yang dipakai untuk mengirimkan sebuah nilai ke sebuah variable dalam bahasa PHP yaitu :
1. Melalui alamat URL
Contoh : jika ingin mengisi nilai variable yang ada di file deret.php dengan nilai awal=5 dan akhir=15 adalah dengan menulis alamat URL di toolbar alamat browser sebagai berikut : http://localhost/deret.php?awal=5&akhir=15
Keterangan :
ï§ Karakter ? digunakan sebagai pemisah antara nama file dan variable
ï§ Karakter & digunakan sebagai pemisah antar variable
ï§ Nama variable harus sama persis dengan nama variable yang tertulis di test1.php (case sensitive).
Halaman. 11 2. Melalui form dengan method get
Jika ingin mengirim variable dari suatu form, maka langkah yang harus dilakukan adalah dengan membuat form HTML yang berisi textbox tempat mengisi variable awal dan akhir serta sebuah tombol Submit.
Contoh form HTML.
1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head> <title>FORM</title> </head> <body>
<form method="GET" action="deret.php"> Awal : <input type="text" name="awal"><br> Akhir : <input type="text" name="akhir"><br> <input type="submit" value="Go..!!!">
<input type="reset" value="Hapus"> </form>
</body> </html>
Simpan file ini dengan nama form1.php.
Keterangan program :
ï§ Baris 6 : Definisi karakter dengan method=post dan jika tombol Submitnya diklik akan mengeksekusi file deret.php (property action).
ï§ Baris 7 : Pembuatan objek textbox dengan nama objek awal. Nama objek harus sama dengan nama variable dalam file phpnya.
ï§ Baris 8 : Pembuatan objek textbox dengan nama objek akhir.
ï§ Baris 9 : Pembuatan tombol submit dengan tulisan pada tombolnya adalah Go..!!!.
ï§ Baris 10 : Pembuatan tombol reset dengan tulisan Hapus.
Halaman. 12 Jika textbox awal diisi dengan 4 dan textbox akhir diisi dengan 9 kemudian tombol Go..!!!
diklik maka akan menampilkan hasil seperti gambar di bawah ini.
Halaman. 13 3. Melalui form dengan method post
Jika ingin mengirim variable dari suatu form, maka langkah yang harus dilakukan adalah dengan membuat form HTML yang berisi textbox tempat mengisi variable awal dan akhir serta sebuah tombol Submit.
Edit file form1.php, ganti method=get menjadi method=post dan action=âderet.phpâ menjadi action=âderet2.phpâ. Kemudian save as file tersebut menjadi form2.php. Lihat source code di bawah ini. 1 2 3 4 5 6 7 8 9 10 11 12 13 <html> <head> <title>FORM</title> </head> <body>
<form method="POST" action="deret2.php"> Awal : <input type="text" name="awal"><br> Akhir : <input type="text" name="akhir"><br> <input type="submit" value="Go..!!!">
<input type="reset" value="Hapus"> </form>
</body> </html>
Kemudian edit file deret.php dengan mengganti semua $_GET menjadi $_POST. Kemudian save as file ini menjadi deret2.php.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <html> <head> <title>Title here!</title> </head> <body> <?php for($i=$_POST["awal"];$i<=$_POST["akhir"];$i++) {
if($i % 2 ==0)
echo "<font color=red>$i</font><br>"; else
echo "<font color=blue>$i</font><br>"; }
?> </body> </html>
Halaman. 15
PROGRAM KEDUA
Contoh kasus : Buatlah suatu halaman web yang dapat melakukan perhitungan penjualan barang. Data yang diinputkan adalah Nama Barang, Harga Satuan, Quantit, Status Pelanggan (Pelanggan dan Bukan Pelanggan), dan Kota Pengiriman (Bandung, Jakarta dan Surabaya). Ketika data tersebut disubmit, maka lakukan perhitungan, sehingga dapat menampilkan informasi Subtotal, Diskon, Ongkos Kirim, dan Total.
Ketentuan :
1. Subtotal = Harga * Quantity
2. Diskon sebesar 10% dari Subtotal bagi pelanggan yang berstatus pelanggan 3. Ongkos Kirim :
a. Kota Bandung = Rp. 10000 b. Kota Jakarta = Rp. 20000 c. Kota Surabaya = Rp. 30000 4. Total = Subtotal â Diskon + Ongkos Kirim
[image:45.612.96.467.416.594.2]Halaman. 16 Lihat Source Code :
1. Penjualan.php (Lihat file penjualan.php.pdf) Source code pertama untuk kasus penjualan. Hasil run :
Halaman. 17 2. Penjualan2.php (Lihat file penjualan2.php.pdf)
Penambahan perintah untuk mencegah tampilnya hasil perhitungan ketika user belum menekan tombol Hitung (submit).
Hasil run :
Halaman. 18 3. Penjualan3.php (Lihat file penjualan3.php.pdf)
Sama dengan Penjualan2.php, tetapi ditambah dengan kemampuan untuk menuliskan lagi data yang telah diisi di form. Jadi setelah disubmit, data akan tetap muncul seperti ketika sebelum disubmit. Untuk lebih jelas, bandingkan tampilan setelah submit data antara penjualan2.php dan penjualan3.php.
Hasil run :
Halaman. 19 4. Penjualan4.php (Lihat file penjualan4.php.pdf)
Sama dengan penjualan3.php, tetapi informasi yang berbentuk angka telah diformat dengan menggunakan perintah number_format.
Hasil run :
Halaman. 20
LATIHAN
1. Buatlah suatu halaman web yang berguna untuk menampilkan tabel harga BBM (Bensin, Solar dan Minyak Tanah).
Ketentuan :
Halaman. 21
ï§ Jenis BBM yang ditampilkan harus sesuai dengan pilihan. Jika hanya memilih bensin dan minyak tanah, maka tabel hanya berisi harga bensin dan minyak tanah saja.
Halaman. 22
Halaman. 23 2. Buatlah suatu halaman web yang berguna untuk menghitung saldo tabungan berdasarkan
saldo awal, bunga dan jangka waktunya. Formnya berbentuk :
Form2.php
Jika tombol hitung di klik, maka akan menghasilkan tampilan seperti di bawah ini. HitungTabungan.php
Setelah berhasil, anda rombak agar action dari file form2.php tidak ke hitungtabungan.php
Halaman. 24 3. Buatlah suatu halaman web yang berguna untuk menghitung biaya kost. Tampilan awalnya
adalah :
Form Pengisian Data Hasil Perhitungan
Input : Tipe Kamar, Air, dan Fasilitas yang terdiri dari Telepon, Televisi, Komputer dan Rice Cooker.
Ketentuan :
Tipe Kamar Luas Biaya Sewa
A 2 x 3 m Rp. 200.000 B 3 x 3 m Rp. 250.000 C 4 x 3 m Rp. 300.000 Biaya Bulanan :
ï§ Air PDAM : Rp. 20.000
ï§ Air Tanah : Rp. 15.000
ï§ Telepon : Rp. 20.000
ï§ Televisi : Rp. 30.000
ï§ Komputer : Rp. 60.000
ï§ Rice Cooker : Rp. 5.000
Halaman. 15
PROGRAM KEDUA
Contoh kasus : Buatlah suatu halaman web yang dapat melakukan perhitungan penjualan
barang. Data yang diinputkan adalah Nama Barang, Harga Satuan, Quantit, Status Pelanggan
(Pelanggan dan Bukan Pelanggan), dan Kota Pengiriman (Bandung, Jakarta dan Surabaya).
Ketika data tersebut disubmit, maka lakukan perhitungan, sehingga dapat menampilkan informasi
Subtotal, Diskon, Ongkos Kirim, dan Total.
Ketentuan :
1. Subtotal = Harga * Quantity
2. Diskon sebesar 10% dari Subtotal bagi pelanggan yang berstatus pelanggan
3. Ongkos Kirim :
a. Kota Bandung = Rp. 10000
b. Kota Jakarta = Rp. 20000
c. Kota Surabaya = Rp. 30000
4. Total = Subtotal â Diskon + Ongkos Kirim
[image:55.612.95.467.416.594.2]Adapun form untuk pengisian data dan contoh tampilan hasil perhitungan dapat dibuat seperti
Halaman. 16 Lihat Source Code :
1. Penjualan.php (Lihat file penjualan.php.pdf) Source code pertama untuk kasus penjualan.
Hasil run :
Halaman. 17 2. Penjualan2.php (Lihat file penjualan2.php.pdf)
Penambahan perintah untuk mencegah tampilnya hasil perhitungan ketika user belum
menekan tombol Hitung (submit).
Hasil run :
Halaman. 18 3. Penjualan3.php (Lihat file penjualan3.php.pdf)
Sama dengan Penjualan2.php, tetapi ditambah dengan kemampuan untuk menuliskan lagi
data yang telah diisi di form. Jadi setelah disubmit, data akan tetap muncul seperti ketika
sebelum disubmit. Untuk lebih jelas, bandingkan tampilan setelah submit data antara
penjualan2.php dan penjualan3.php.
Hasil run :
Halaman. 19 4. Penjualan4.php (Lihat file penjualan4.php.pdf)
Sama dengan penjualan3.php, tetapi informasi yang berbentuk angka telah diformat dengan
menggunakan perintah number_format.
Hasil run :
Array Halaman. 1
ARRAY
Membuat Array
Menambah Elemen Array Mengakses Elemen Array Pengurutan Array
Contoh-Contoh
DESKRIPSI
Array adalah sebuah variabel khusus yang memperbolehkan anda untuk menyimpan banyak data dalam satu variabel yang sama. Setiap elemen array diindex dengan angka atau string. Contoh kasus : Jika anda mempunyai 5 nilai yang harus disimpan, anda tentunya membuat 5 buah variabel. Tetapi bagaimana kalau banyaknya tidak selalu 5, bisa 10, 100 atau mungkin 500 buah nilai. Oleh karena itu maka lebih baik anda menggunakan teknik array. Kenapa?, karena array sangat flexible dimana dapat menyimpan banyak variabel tanpa harus mendefinisikan variabel lagi, juga sebuah array dapat digunakan dengan mudah karena kita dapat mengakses elemennya secara berurutan atau bahkan secara acak. Juga dapat pula array diurutkan berdasarkan nilai angkanya atau secara alpabet.
Setiap item dari sebuah array biasanya disebut dengan elemen. Setiap elemen dapat diakses secara langsung berdasarkan indexnya. Sebuah index terhadap suatu elemen array dapat berupa angka atau string.
Secara default, elemen-elemen array diindex berdasarkan dengan nomor, dimulai dengan elemen ke-0. Sangat penting untuk diingat bahwa âindex dari elemen terakhir dari sebuah array yang terurut secara angka selalu 1 lebih kecil dari banyaknya elemen arrayâ.
Sehingga jika kita mempunyai array sebanyak 5 elemen berarti elemen terakhir adalah 4 karena elemennya dimulai dari 0.
Array Halaman. 2
MEMBUAT ARRAY
Array Biasa
Secara default, array adalah sekumpulan nilai yang diindex dengan nomor. Nilai dapat diisi dalam array dengan dua cara yaitu dengan menggunakan constuctor array() atau dengan menggunakan tanda kurung siku kosong ( [] ).
Cara 1 : menggunakan constructor array()
$kampus=array("Universitas","Komputer","Indonesia");
Cara 2 : menggunakan tanda kurung siku kosong
$kampus[]="Universitas"; $kampus[]="Komputer"; $kampus[]="Indonesia";
Jika kita menulis perintah echo $kampus[1];, maka yang tampil adalah âKomputerâ.
Associative Array
Sama dengan pembuatan array biasa, cara pembuatan associative array memiliki 2 cara yang sama.
Cara 1 : menggunakan constructor array() $ibukota=array("Jabar"=>"Bandung", "Jatim"=>"Surabaya", "Jateng"=>"Semarang", "Bali"=>"Denpasar");
Cara 2 : menggunakan tanda kurung siku kosong
$ibukota["Jabar"]="Bandung"; $ibukota["Jatim"]="Surabaya"; $ibukota["Jateng"]="Semarang"; $ibukota["Bali"]="Denpasar";
Array Halaman. 3
MENAMBAH ELEMEN ARRAY
Ada dua cara untuk menambah elemen array, yaitu dengan menggunakan fungsi array_push(), atau dengan menggunakan tanda kurung siku kosong atau tanda kurung siku dengan key. Cara 1 : menggunakan fungsi array_push()
array_push($kampus,"Universitas");
Cara 2 : menggunakan tanda kurung siku kosong
$ibukota["Sumut"]="Medan";
Cara 3 : menggunakan tanda kurung siku dengan key (associative array)
$ibukota["Sumut"]="Medan";
MENGAKSES ELEMEN ARRAY
Karena kita telah memiliki 2 jenis array yaitu array biasa dan associative array, maka cara pengaksesannya pun adalah :
Mengakses array biasa
Untuk mengakses array biasa, caranya sangat simple yaitu dengan cara memanggil nama variabelnya diikuti dengan nomor indexnya.
Contoh 1 : Mengakses 1 elemen
echo "elemen ke-2 adalah $kampus[1]";
Contoh 2 : Mengakses semua elemen dengan perulangan for for($i=0;$i<count($kampus);$i++)
echo "Elemen $i : $kampus[$i]<br>";
Fungsi count() digunakan untuk mengambil banyaknya elemen.
Contoh 3 : Mengakses semua elemen dengan perulangan foreach tanpa menampilkan nomor.
foreach($kampus as $elemen) echo "$elemen<br>";
Contoh 4 : Mengakses semua elemen dengan perulangan foreach dengan menampilkan nomor.
Array Halaman. 4
Mengakses associative array
Untuk mengakses associative array biasa, caranya adalah dengan cara memanggil nama variabelnya diikuti dengan key indexnya.
Contoh 1 : Mengakses 1 elemen
$kota=$ibukota["Jateng"];
echo "Ibukota Jawa Tengah adalah $kota";
echo "Ibukota Jawa Timur adalah $ibukota[Jatim]"; $prov="Bali";
$kota=$ibukota[$prov];
echo "Ibukota $prov adalah $kota"; echo "Ibukota $prov
adalah
$ibukota[$prov]";//sama dgn baris sebelumnya
Contoh 2 : Mengakses semua elemen dengan perulangan foreach tanpa menampilkan key
foreach($ibukota as $kota) echo "$kota<br>";
Contoh 3 : Mengakses semua elemen dengan perulangan foreach dengan menampilkan key
foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>";
PENGURUTAN ARRAY
Pengurutan Array Biasa
Pengurutan terhadap array biasa dapat dilakukan secara ascending atau descending (reverse). Perintah yang digunakan adalah fungsi sort() dan rsort().
Contoh 1 : Pengurutan secara ascending
sort($kampus);
Contoh 2 : Pengurutan secara descending / reverse
Array Halaman. 5
Pengurutan Array Biasa
Pengurutan terhadap array biasa dapat dilakukan secara ascending atau descending. Pengurutan bisa berdasarkan isi elemennya atau berdasarkan key elemnnya. Perintah yang digunakan adalah fungsi asort(), arsort(), ksort(), dan krsort().
Contoh 1 : Pengurutan berdasarkan isi elemen secara ascending
asort($ibukota);
Contoh 2 : Pengurutan berdasarkan key elemen secara ascending
ksort($ibukota)
Contoh 3 : Pengurutan berdasarkan isi elemen secara descending / reverse
arsort($ibukota);
Contoh 4 : Pengurutan berdasarkan key elemen secara descending / reverse
Array Halaman. 6
CONTOH-CONTOH
1. Contoh program yang menggunakan array biasa
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 <html> <head><title>Array Biasa</title></head> <body> <?php $kampus=array("Universitas","Komputer","Indonesia"); /* Perintah di atas sama dengan perintah di bawah ini $kampus[]="Universitas";
$kampus[]="Komputer"; $kampus[]="Indonesia";
*/
echo "Kondisi Awal : <br>"; for($i=0;$i<count($kampus);$i++) echo "Elemen $i : $kampus[$i]<br>"; echo "<hr>";
array_push($kampus,"Bandung");//sama dgn: $kampus[]="Bandung";
echo "Setelah ditambah \"Bandung\"<br>"; for($i=0;$i<count($kampus);$i++)
echo "Elemen $i : $kampus[$i]<br>"; echo "<hr>";
sort($kampus);
echo "Setelah Diurutkan Ascending<br>"; foreach($kampus as $elemen)
echo "$elemen<br>"; echo "<hr>";
rsort($kampus);
echo "Setelah Diurutkan Descending/Reverse<br>"; foreach($kampus as $no=>$elemen)
echo "Elemen $no : $elemen<br>"; ?>
</body> </html>
Keterangan :
BARIS PENJELASAN
5 Pembuatan array $kampusdengan elemen pertama : âUniversitasâ, elemen ke-2
: âKomputerâ dan elemen ke-3 âIndonesiaâ. 7 - 9 Sama dengan baris 5.
12 - 13 Perulangan dengan menggunakan for untuk menampilkan isi elemen dari variabel $kampus dimulai dari elemen 0 (data pertama) sampai elemen ke
count($kampus)-1. Fungsi count() digunakan untuk mengambil nilai banyak elemen suatu array.
Array Halaman. 7 20 Pengurutan array $kampus secara ascending dengan perintah sort().
22 - 23 Menampilkan semua elemen $kampus setelah diurutkan secara ascending. Perulangan yang dipakai adalah foreach tanpa menampilkan nomor indexnya. 25 Pengurutan array $kampus secara descending / reverse dengan perintah
rsort().
Array Halaman. 8 2. Contoh program yang menggunakan array associative
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 <html> <head> <title>Array Associative</title> </head> <body> <?php $ibukota=array("Jabar"=>"Bandung", "Jatim"=>"Surabaya", "Jateng"=>"Semarang", "Bali"=>"Denpasar"); /* Perintah di atas sama dengan $ibukota["Jabar"]="Bandung"; $ibukota["Jatim"]="Surabaya"; $ibukota["Jateng"]="Semarang"; $ibukota["Bali"]="Denpasar";
*/
echo "Kondisi Awal <br>"; foreach($ibukota as $kota) echo "$kota<br>"; $ibukota["Sumut"]="Medan";
echo "<hr>Setelah ditambah dengan Sumut => Medan<br>"; foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>"; echo "<hr>Mengakses secara acak<br>";
$kota=$ibukota["Jabar"];
echo "Ibukota Jawa Barat adalah $kota<br>";
echo "Ibukota Jawa Tengah adalah $ibukota[Jateng]<br>"; $prov="Jatim";
echo "Ibukota $prov adalah $ibukota[$prov]<br>";
echo "<hr>Setelah diurutkan ascending berdasarkan isi elemen<br>"; asort($ibukota);
foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>";
echo "<hr>Setelah diurutkan ascending berdasarkan key<br>"; ksort($ibukota);
foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>";
echo "<hr>Setelah diurutkan descending berdasarkan isi elemen<br>"; arsort($ibukota);
foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>";
echo "<hr>Setelah diurutkan descending berdasarkan key<br>"; krsort($ibukota);
foreach($ibukota as $provinsi => $kota)
echo "Ibukota $provinsi adalah $kota<br>"; ?>
Array Halaman. 9 Keterangan :
BARIS PENJELASAN
7 - 10 Pembuatan array $ibukota dengan elemen dengan key âJabarâ berisi
âBandungâ, elemen dengan key âJatimâ berisi âSurabayaâ dan seterusnya. Ada
4 elemen yang dibuat pertama kali. 12 - 15 Sama dengan baris 7 â 10.
18 - 19 Menampilkan semua elemen array $ibukota dengan menggunakan foreach
tanpa menampilkan nama key-nya.
20 Menambah elemen di posisi akhir, dengan key âSumutâ dan isi âMedanâ.
22 - 23 Menampilkan semua elemen array $ibukota dengan menggunakan foreach dengan menampilkan nama key-nya
25 - 26 $kota diisi dengan elemen array $ibukotayang mempunyai key âJabarâ yang
berisi âBandungâ sehingga akan menghasilkan âIbukota Jawa Barat adalah Bandungâ.
27 Menampilkan elemen array secara langsung yang mempunyai key âJatengâ
yang berisi âSemarangâ.
28 - 29 Variabel $prov diisi dengan âJatimâ, kemudian menampilkan elemen dari array
$ibukota pada elemen yang mempunyai key sesuai dengan isi variabel $prov
($ibukota[$prov] sama dengan $ibukota[Jatim]).
31 Pengurutan secara ascending berdasarkan isi elemen arraynya.
32 - 33 Menampilkan semua elemen array $ibukota setelah diurutkan ascending berdasarkan isi elemen arraynya.
35 Pengurutan secara ascending berdasarkan isi elemen nama key-nya.
36 - 37 Menampilkan semua elemen array $ibukota setelah diurutkan ascending berdasarkan nama key-nya.
39 Pengurutan secara descending berdasarkan isi elemen arraynya.
40 â 41 Menampilkan semua elemen array $ibukota setelah diurutkan descending berdasarkan isi elemen arraynya.
43 Pengurutan secara descending berdasarkan isi elemen nama key-nya.
Array Halaman. 11 3. Contoh aplikasi penggunaan array pada form html.
Kasus : Suatu toko online menyediakan 4 buah barang yang dapat dibeli oleh pengunjung. Adapun daftar tabelnya adalah sebagai berikut :
Nama Barang Harga
Buku Tulis Rp. 4.000 Buku Gambar Rp. 5.000 Mouse Rp. 20.000 Disket Rp. 2.500
Setiap penunjung boleh memilih lebih dari 1 buah item. Contoh Form pemasukan data :
Array Halaman. 12 Solusi : FormJual.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 <html> <head><title>Perhitungan penjualan</title></head> <body>
<form method="POST" action="hitungjual.php"> <center>
<table border="0" width=400> <tr bgcolor=#FF0000>
<td colspan="3" align="center">
<b><font color=white>PENJUALAN BARANG</font></b> </td>
</tr>
<tr align=center bgcolor=#888888> <td><b>Nama Barang</b></td> <td><b>Harga Satuan</b></td> <td><b>Qty</b></td> </tr> <tr> <td>Buku Tulis</td>
<td align=right>Rp. 4.000</td> <td align=center>
<input type=hidden name="nama[]" value="Buku Tulis"> <input type=hidden name="harga[]" value="4000"> <input type=text name="qty[]" size=5 maxlength=4> </td>
</tr> <tr>
<td>Buku Gambar</td>
<td align=right>Rp. 5.000</td> <td align=center>
<input type=hidden name="nama[]" value="Buku Gambar"> <input type=hidden name="harga[]" value="5000"> <input type=text name="qty[]" size=5 maxlength=4> </td>
</tr> <tr>
<td>Mouse</td>
<td align=right>Rp. 20.000</td> <td align=center>
<input type=hidden name="nama[]" value="Mouse"> <input type=hidden name="harga[]" value="20000"> <input type=text name="qty[]" size=5 maxlength=4> </td>
</tr> <tr>
<td>Disket</td>
<td align=right>Rp. 2.500</td> <td align=center>
<input type=hidden name="nama[]" value="Disket"> <input type=hidden name="harga[]" value="2500"> <input type=text name="qty[]" size=5 maxlength=4> </td>
Array Halaman. 13 54 55 56 57 58 59 60 61 62 63 64 <tr>
<td colspan=3 bgcolor=#888888>
< center><input type=submit value="Hitung" name="submit"> </td> </tr> </table> </center> </form> </body> </html>
Keterangan Script :
BARIS PENJELASAN
5 Awal pembuatan form yang action ke file hitungjual.php 7 Awal pembuatan table
8 - 12 Pembuatan judul table âPENJUALAN BARANGâ 13 - 17 Pembuatan judul kolom
18 - 26 Pembuatan item barang yang pertama dengan nama=âBuku Tulisâ,
harga=â4000â, dan qty diisi dari textbox. Item ini dibuat dalam bentuk array.
Karena item ini dibuat pertama, maka pengaksesan nilainya adalah pada index 0 (seperti $harga[0], $nama[0], $qty[0]).
27 - 35 Pembuatan item barang yang kedua dengan nama=âBuku Gambarâ,
harga=â5000â, dan qty diisi dari textbox. Item ini dibuat dalam bentuk array.
Karena item ini dibuat kedua, maka pengaksesan nilainya adalah pada index 1 (seperti $harga[1], $nama[1], $qty[1]).
36 - 44 Pembuatan item barang yang ketiga dengan nama=âMouseâ, harga=â20000â, dan qty diisi dari textbox. Item ini dibuat dalam bentuk array. Karena item ini dibuat ketiga, maka pengaksesan nilainya adalah pada index 2 (seperti
$harga[2], $nama[2], $qty[2]).
45 - 53 Pembuatan item barang yang keempat dengan nama=âDisketâ, harga=â2500â, dan qty diisi dari textbox. Item ini dibuat dalam bentuk array. Karena item ini dibuat keempat, maka pengaksesan nilainya adalah pada index 3 (seperti
$harga[3], $nama[3], $qty[3]). 54 - 58 Pembuatan tombol Submit
Array Halaman. 14 Hitungjual.php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 <html> <head><title>Penjualan</title></head> <body>
<table border="0" align=center> <tr bgcolor=#FF0000>
<td colspan="5" align="center">
<b><font color=white>PENJUALAN BARANG</font></b> </td>
</tr>
<tr align=center bgcolor=#888888> <td><b>Nomor</b></td> <td><b>Nama Barang</b></td> <td><b>Harga</b></td> <td><b>Quantity</b></td> <td><b>Sub Total</b></td> </tr> <?php $no=0; $total=0; $totqty=0; for($i=0;$i<count($_POST["nama"]);$i++) {
// Ambil variable dari elemen array ke-$i $qty=$_POST["qty"][$i];
$nama=$_POST["nama"][$i]; $harga=$_POST["harga"][$i];
if($qty!=0)// Jika qty diisi dan tidak nol { $no++; $subtotal=$qty*$harga; echo "<tr> <td>$no</td> <td>$nama</td>
<td align=right>Rp. ".
number_format($harga,0) ."</td> <td align=center>$qty</td>
<td align=right>Rp. ".
number_format($subtotal,0) ."</td> </tr>"; $totqty=$totqty+$qty; $total=$total+$subtotal; } } ?>
<tr bgcolor=silver align=right> <td colspan=3><b>Total</b></td> <td align=center><b>
<?php echo number_format($totqty,0); ?></b></td>
<td><b>Rp. <?php echo number_format($total,0); ?></b></td> </tr>
</table> </body>
Array Halaman. 15 Keterangan Script :
BARIS PENJELASAN
4 Awal table
5 - 9 Pembuatan judul table âPENJUALAN BARANGâ
10 - 16 Pembuatan header kolom, dimana header kolom 1 adalah âNomorâ, kolom 2
adalah âNama Barangâ, kolom 3 adalah âHargaâ, Kolom 4 adalah âQuantityâ dan kolom 5 adalah âSub Totalâ
17 Awal masuk script PHP
18 Inisialisasi variable $no dengan 0. Variable ini akan digunakan untuk penomoran barang yang dipilih/diisi. Nilai variable ini akan bertambah 1 jika qty dari suatu item barang dipilih/diisi.
19 Inisialisasi variable $total dengan 0. Variabel ini digunakan untuk menyimpan total bayar dari barang-barang yang dipilih.
20 Inisialisasi variable $totqty dengan 0. Variabel ini digunakan untuk menyimpan total banyak barang (qty) dari barang-barang yang dipilih.
21 - 44 Perulangan untuk memeriksa semua elemen array dari index ke-0 sampai index ke-(count()-1). Variable counter yang dipakai adalah $i
23 - 26 Mengambil nilai-nilai elemen array ke-$i, kemudian menyimpannya di variable agar mudah dalam pengolahannya.
27 Pemeriksaan apakah elemen $qty ke-$i ($qty[$i]) bernilai tidak sama dengan 0 (!=0). Jika bernilai tidak 0, maka menunjukan bahwa textbox qty diisi, sehingga proses ini diteruskan ke proses baris 25 â 37.
29 Penambahan nilai variable $no
30 Perhitungan $subtotal dari elemen array $qty[$i] dikali dengan $harga[$i]. 31 - 39 Menampilkan item barang yang dipilih/dibeli dimana pada kolom 1 diisi dengan
$no, kolom 2 diisi dengan variable $nama, kolom 3 diisi dengan variable $harga
yang diformat tanda pecahan, kolom 4 diisi dengan variable $qty, dan kolom 5 diisi dengan variable $subtotal hasil perkalian variable $harga dan variable
$qty.
40 Variable $totqty ditambah dengan qty yang dipilih variable $qty. 41 Variable $total ditambah dengan variable $subtotal.
Function 1
FUNCTION DALAM PHP
Seperti bahasa pemrograman yang lain, PHP mendukung modularity program. Umumnya
modularity suatu program diwujudkan dalam bentuk suatu function.
Suatu fungsi dapat melakukan suatu pengeksekusian sekumpulan kode yang mempunyai
kegunaan/fungsi tertentu. Suatu function dapat bekerja berdasarkan parameter-parameter
yang diinputkan kepadanya. Suatu function juga dapat menghasilkan suatu nilai
berdasarkan proses yang ada di dalamnya.
Ada beberapa hal-hal yang penting dan harus diketahui mengenai function yaitu :
a.
Pendeklarasian Function dan Pemanggilan Function
b.
Nilai Kembalian (Return Value)
c.
Variable Function
d.
Membuat Library Function
e.
Built-in Function (Function internal dari PHP)
Pendeklarasian Function dan Pemanggilan Function
Pendeklarasian function dapat dilakukan di lokasi manapun dalam file php. Sebuah
pendefinisian function umumnya terdiri dari 3 bagian yaitu :
1.
Nama function
2.
Daftar parameter yang dipisahkan dengan tanda koma, dan diapit oleh tanda
kurung.
3.
Isi function yang diapit oleh tanda kurung kurawal ( { } )
Bentuk umum dari sebuah function PHP adalah sebagai berikut :
function function_name ($parameter1, $parameter2, ..., $parameterN) { Isi function;//Kode program ditulis disini.
return nilai; // Sifatnya opsional. }
Aturan-aturan dalam pembuatan function adalah :
1.
Aturan penamaan function mirip dengan penamaan variable. Terdiri dari huruf,
angka dan underscore ( _ ). Nama function hanya boleh dimulai dengan huruf atau
dengan underscore.
2.
Parameter sifatnya tambahan. Boleh saja function tanpa memiliki parameter.
3.
Function boleh memiliki nilai kembalian (return value) ataupun tidak.
4.
Variabel yang dideklarasikan dalam function hanya berlaku dalam function saja.
Function 2
Contoh pendeklarasian fungsi adalah sebagai berikut :
Nama File : func1.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <html> <head><title>Test Fungsi</title></head> <body> <?php function info_tanggal() { $hari=array("Minggu","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu"); $bulan=array("","Januari","Februari","Maret","April","Mei","Juni","Juli", "Agustus","September","Oktober","November","Desember"); $tgl=getdate();
echo $hari[$tgl['wday']].", $tgl[mday]-".$bulan[$tgl['mon']]."-$tgl[year]"; }
function pangkat($x, $n) {
return pow($x,$n); }
?>
Sekarang : <?php info_tanggal();?><br> 5<sup>3</sup> = <?php echo pangkat(5,3);?> </body>
</html>
Jika dieksekusi, maka akan menghasilkan tampilan seperti di bawah ini.
Keterangan :
Baris
Keterangan
5 - 11
Pendeklarasian fungsi
info_tanggal()yang akan menampilkan informasi
tanggal sekarang. Fungsi ini hanya akan menampilkan informasi tanggal dan
tidak mereturnkan suatu nilai apapun.
7
Pendeklarasian array
$hariyang merupakan array yang berisi nama-nama
hari, dimulai dari index ke-0 untuk hari Minggu.
8
Pendeklarasian array
$bulanyang merupakan array yang berisi nama-nama
bulan, dimulai dari index ke-1 untuk bulan Januari.
9
Pemanggilan fungsi
getdate()yang berguna untuk mengambil tanggal
sekarang dari komputer dan disimpan di variable
$tgl. Fungsi getdate
Function 3
yang ditampilkan adalah :
ï§
$hari[$tgl['wday']]akan menampilkan informasi nama hari yang diambil
dari array $hari.
$tgl['wday']akan menghasilkan angka yang menunjuk
ke urutan hari dimana 0 berarti hari Minggu. Jadi kalau
$hari [$tgl['wday']]akan menghasilkan nama hari sesuai dengan nomor
harinya.
ï§
$tgl[mday]akan menampilkan tanggal sekarang dimulai dari 1
â
31.
ï§
$bulan[$tgl['mon']]akan menghasilkan nama bulan sesuai dengan urutan
bulan yang ada dalam array
$bulan.
$tgl['mon']akan menghasilkan nilai
nomor bulan dimulai dari 1 -12.
ï§
$tgl[year]akan menghasilkan informasi tahun sekarang.
12
â
15
Pendeklarasian fungsi
pangkat($x, $n)yang akan menghasilkan nilai x
n.
Dimana x dan n adalah parameter input.
17
Contoh pemanggilan fungsi
info_tanggal()18
Contoh pemanggilan fungsi
pangkat()dengan parameter x=5 dan n=3 yang
akan menghasilkan 5
3= 125.
Contoh lain adalah sebagai berikut :
Nama File : func2.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 <html> <head> <title>Function 1</title> </head> <body> <?php function ip_client(){ return $_SERVER['REMOTE_ADDR']; }
function tulis_identitas($nama, $kota){ echo "Nama saya $nama dari $kota"; }
tulis_identitas("Andri Heryandi","Sweetwater"); echo "<br>";
$ip_pengunjung=ip_client(); // simpan nilai kembalian ke variabel echo "Anda memiliki IP : $ip_pengunjung"; // tampilkan isi variable ?>
</body> </html>
Function 4
Nilai kembalian adalah suatu nilai yang diberikan/dikembalikan ketika suatu function
telah selesai dieksekusi. Ada dua jenis function berdasarkan nilai kembalian yaitu :
1.
Function tanpa nilai kembalian
2.
Function dengan nilai kembalian
Function tanpa nilai kembalian sering pula disebut sebagai procedure. Penggunaan
function tanpa nilai kembalian dapat dilihat pada contoh func1.php dan func2.php yaitu
pada function info_tanggal() dan tulis_identitas(). Jika dilihat pada isi function, tidak
terdapat perintah return. Jadi function tanpa nilai kembalian hanya mengerjakan perintah
dari awal function ( { ) sampai akhir function ( } ).
Sedangkan untuk function dengan nilai kembalian, dapat dilihat pada file yang sama
yaitu pada function ip_client() dan function pangkat(). Perbedaan besar dapat dilihat pada
adanya perintah return (lihat di akhir function). Perintah return digunakan untuk
mengirimkan nilai ke baris dimana function tersebut dipanggil.
Sebagai contoh
1 2 3 4 5 6 7 8 9 10 11 <html> <head><title>Test Fungsi</title></head> <body> <?phpfunction pangkat($x, $n) {
return pow($x,$n); }
?>
5<sup>3</sup> = <?php echo pangkat(5, 3);?> </body>
</html>
Keterangan :
1.
Garis yang solid (tidak terputus) menandakan pemanggilan function. Ketika
function dipanggil dengan cara pangkat(5,3), maka alur eksekusi akan pindah ke
baris di mana ada function pangkat dengan mengirimkan angka 5 sebagai
parameter $x dan angkat 3 sebagai parameter $n.
2.
Kemudian isi function dieksekusi. Karena hanya ada 1 perintah, maka perintah
yang dieksekusi adalah perintah pow(5,3) yang akan menghasilkan perhitungan 5
pangkat 3 yaitu 125. Hasil dari pow(5,3) yaitu 125 kemudian diberikan ke
perintah return. Jadi bisa dianggap bahwa pemanggilan return pow(5,3) akan
menghasilkan perintah return 125.
3.
Perhatikan garis yang putus-putus.Ketika perintah return dieksekusi maka nilai
yang ada disebelah return yaitu 125 akan dikirim ke yang memanggilnya (baris
9).
4.
Setelah function dipanggil maka perintah âecho pangkat(5,3)â akan menghasilkan
perintah âecho 125â, sehingga akan menampilkan angka 125 di browser.
Function 5
PHP memiliki suatu kemampuan yang sangat menarik yaitu mempu untuk mengeksekusi
variable function. Variable function adalah sebuah pemanggilan dinamis terhadap suatu
fungsi yang namanya ditentukan pada waktu eksekusi. Meskipun tidak terlalu banyak
digunakan dalam kebanyakan aplikasi web, variable function dapat mengurangi ukuran
kode dan kerumitan kode program, bahkan dapat menghilangkan kondisi statement yang
tidak diperlukan.
Sebuah pemanggilan variable function dilakukan dengan memanggil nama variable
diikuti dengan diapit tanda kurung. Dalam bagian antara tanda kurung pembuka dan
penutup, boleh diisikan dengan parameter sesuai dengan pendeklarasian variablenya.
Secara umum pemanggilan variable function dapat dilakukan dengan cara berikut :
$Nama_Fungsi(daftar_parameter).
Contoh penggunaan variable function :
Nama file : var_func.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 <html> <head> <title>Variable Function</title> </head> <body> <?php function indonesia(){
echo "Selamat datang di webku<br>"; }
function inggris(){
echo "Welcome to my web<br>"; }
function jerman(){
echo "Willkommen auf meiner web<br>"; }
function italia(){
echo "Benvenuti nel Mio Web<br>"; }
$bahasa="jerman";
$bahasa(); // Akan memanggil functi jerman(); $bahasa="indonesia";
$bahasa(); // akan memanggil function indonesia(); ?>
</body> </html>
Function 6
Library function adalah salah satu cara yang paling efisien untuk menghemat waktu ketika membangun aplikasi. Sebagai contoh, jika anda sering menggunakan sebuah fungsi dalam banyak file, maka sangatlah merepotkan jika fungsi itu harus ditulis ulang di setiap file yang memanggilnya. Hal yang lebih merepotkan lagi adalah ketika kita harus mengedit isi dari fungsi tersebut, maka kita harus mengedit sebanyak file yang memanggil fungsi tersebut. Oleh karena itu sebaiknya setiap fungsi yang sering digunakan lebih baik disimpan dalam file yang terpisah. Selain fungsi, boleh pula kita menyimpan beberapa variable atau konstanta.
Untuk memanggil sebuah file library function digunakan perintah include() atau require(). Selain include() dan require() ada juga include_once() dan require_once(). Perbedaannya adalah jika suatu include ke suatu file dilakukan selama lebih dari 1 kali dalam suatu file, maka akan menghasilkan error karena dianggapnya ada pendeklarasian ulang (redeclare), tetapi jika menggunakan include_once() atau require_once() maka kejadian tersebut dapat dihindari.
Contoh penggunaan include() dan require() adalah sebagai berikut :
1 2 3 4 5 6 7 8 <?php include("file1.phpâ);
require("file2.phpâ);// sama dengan pemanggilan dengan include ..
..
Pemanggilan_fungsi(); Pemanggilan_fungsi(); ?>
Contoh pembuatan library function dapat dilihat pada : Nama File : my_func.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <?php $email_admin="admin@heryandi.net"; $nama_situs="Situs Heryandi.net"; function info_tanggal() { $hari=array("Minggu","Senin","Selasa","Rabu","Kamis","Jum'at","Sabtu"); $bulan=array("","Januari","Februari","Maret","April","Mei","Juni","Juli", "Agustus","September","Oktober","November","Desember"); $tgl=getdate();
echo $hari[$tgl['wday']].", $tgl[mday]-".$bulan[$tgl['mon']]."-$tgl[year]"; }
function pangkat($x, $n) { return pow($x,$n); } function ip_client(){ return $_SERVER['REMOTE_ADDR']; }
function tulis_identitas($nama, $kota){ echo "Nama saya $nama dari $kota"; }
Function 7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 <html> <head>
<title>Menggunakan Function Library</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head>
<body> <?php
include_once("my_func.php"); // memanggil isi library my_func.php
// Memanggil variable yang dideklarasikan dalam library funcion