web ii php 06.ppt
TRANSCRIPT
17 September 2011 1
By I Wayan Simpen
17 September 2011 2
FUNGSI/FUNCTION• Fungsi = blok code yg ditujukan untuk
melaksanakan suatu tugas tertentu.• Deklarasikan fungsi:
Function nama_fungsi ([parameter])
{
blok kode
}
17 September 2011 3
Contoh:
Function cetak_tebal ($teks)
{
print(“<b>$teks</b>”);
}
Nama Fungsi
Parameter
Blok Code
17 September 2011 4
Contoh Lengkap
<?php function ctk_tebal($teks) {
print("<br><b>$teks</b>"); } function ctk_miring($teks) {
print("<br><i>$teks</i>"); }
17 September 2011 5
function judul() { print("<center>IMPLEMENTASI FUNGSI"); ctk_tebal("STMIK"); ctk_miring("Dipanegara Makassar"); print("</center><hr>"); } judul(); ctk_tebal("STMIK"); ctk_miring("Dipanegara Makassar");?>
17 September 2011 6
Hasil
17 September 2011 7
Nilai Balik• Umumnya fungsi
mempunyai nilai balik• Statemen RETURN
digunakan untuk memberikan nilai balik suatu fungsi
17 September 2011 8
Contoh<?php function kuadrat($bilangan) { $tmp = $bilangan * $bilangan; return $tmp; } print("<U>KUADRAT BILANGAN</U><BR>"); printf("5<sup>2</sup> = %f",kuadrat(5)); print("<BR>\n"); printf("5.5<sup>2</sup> = %f",kuadrat(5.5)); ?>
17 September 2011 9
Hasil
17 September 2011 10
Melewatkan nilai dengan Referensi
• Secara bawaan, parameter (argumen) dilewatkan ke dalam fungsi berdasarkan nilai sehinnga nilai paramenter pemanggil tidak dapat diubah oleh fungsi.
17 September 2011 11
Contoh:
<?php
function tukar($x, $y)
{
$tmp = $x;
$x = $y;
$y = $tmp;
}
17 September 2011 12
$a = 10; $b = 20; print("Sebelum penukaran : "); printf("a = %d b = %d <BR>\n", $a, $b);
tukar($a, $b);
print("Sesudah penukaran : "); printf("a = %d b = %d <BR>\n", $a, $b); ?>
17 September 2011 13
Hasil
Tidak ada perubahan
17 September 2011 14
Contoh: (gunakan tanda &)
<?php
function tukar(&$x, &$y)
{
$tmp = $x;
$x = $y;
$y = $tmp;
}
17 September 2011 15
$a = 10; $b = 20; print("Sebelum penukaran : "); printf("a = %d b = %d <BR>\n", $a, $b);
tukar($a, $b);
print("Sesudah penukaran : "); printf("a = %d b = %d <BR>\n", $a, $b); ?>
17 September 2011 16
Hasil
Ada Perubahan
17 September 2011 17
Lingkup Variavel
• Variabel LOCAL sangat bermanfaat untuk variabel tidak saling bergantung
• Variabel GLOBAL digunakan agar variabel dapat dikenali pada seluruh fungsi
• Dua mekanisme untuk menyatakan variabel GLOBAL dgmenggunakan:pernyataan globalglobalarray GLOBALSarray GLOBALS
17 September 2011 18
Contoh: <?php function ganti() { $bunga = "Mawar"; } $bunga = "Melati"; Print("Sebelum Penggantian = "); print("$bunga"); print("<br>"); ganti(); Print(“Setelah Penggantian = "); Print("$bunga"); ?>
Dua variabel berbeda
17 September 2011 19
Hasil
17 September 2011 20
Contoh: <?php function ganti() { global $bunga; $bunga = "Mawar"; } $bunga = "Melati"; Print("Sebelum Penggantian = "); print("$bunga"); print("<br>"); ganti(); Print("Sebelum Penggantian = "); Print("$bunga"); ?>
Dua variabel Yang sama
VARIABEL GLOBAL
17 September 2011 21
Hasil
17 September 2011 22
ATAU: <?php function ganti() { $GLOBALS[“bunga”] = "Mawar"; } $bunga = "Melati"; Print("Sebelum Penggantian = "); print("$bunga"); print("<br>"); ganti(); Print("Sebelum Penggantian = "); Print("$bunga"); ?>
Dua variabel Yang sama
ARRAY GLOBAL
17 September 2011 23
Hasil
17 September 2011 24
Variabel Statis• Sifat
Hanya dapat diakses oleh fungsi yg mendeklarasikan
Variabel tidak hilang saat eksekusi fungsi berakhir
Inisialisasi hanya dilakukan sekali saja
17 September 2011 25
Contoh:<?php function hitung() { static $pencacah = 0; return ++$pencacah; }
printf("%d <BR>\n", hitung()); printf("%d <BR>\n", hitung()); printf("%d <BR>\n", hitung()); ?>
17 September 2011 26
Hasil
17 September 2011 27
Fungsi Rekursive• Fungsi rekursive adalah suatu fungsi yg
dpt memanggil dirinya sendiri• Proses pemanggilan fungsi terebut disebut
rekursive
17 September 2011 28
Contoh: <?php function faktorial($m) { if ($m == 0) return 1; else return $m * faktorial($m - 1); }
printf("1! = %d <BR>\n", faktorial(1)); printf("4! = %d <BR>\n", faktorial(4)); ?>
17 September 2011 29
Hasil
17 September 2011 30
• Buat script PHP untuk menghitung nilai dari kompbinasi n dan m. Dimana n dan mdi-input lewat form
)!(!
!
mnm
ncnm −
=
Catatan: Gunakan fungsi rekursi
• Tuliskan script untuk mencari hasil perpangkatan dari sebuah bilangan dengan pangkat, dimana bilangan dan pangkat diinput pada Form (gunakan fungsi untuk menghitung hasil perpangkatan)
17 September 2011 31