BAB 8.2A – PARAMETER DAN RETURN VALUE PADA FUNCTION
Tujuan Pembelajaran
Setelah mempelajari bab ini, peserta didik mampu:
- Memahami konsep parameter dan argumen.
- Membuat function dengan satu atau lebih parameter.
- Menggunakan nilai bawaan (default parameter).
- Mengembalikan nilai menggunakan
return. - Memahami perbedaan
echodanreturn. - Menerapkan function dalam studi kasus perhitungan.
- Menulis kode yang lebih fleksibel dan mudah digunakan kembali.
Pendahuluan
Pada Bab 8.1 kita telah membuat function seperti berikut.
function salam()
{
echo "Selamat Datang";
}
Function tersebut selalu menghasilkan output yang sama.
Bagaimana jika kita ingin menampilkan nama pengguna yang berbeda?
Misalnya:
Selamat Datang Andi
Selamat Datang Budi
Selamat Datang Citra
Apakah kita harus membuat tiga function?
Tentu tidak.
Kita cukup menggunakan parameter.
Apa itu Parameter?
Parameter adalah variabel yang dideklarasikan pada saat membuat function.
Ilustrasi:
Function
↓
Menerima Data
↓
Mengolah Data
↓
Menghasilkan Output
Parameter vs Argument
Banyak pemula menganggap keduanya sama.
Padahal berbeda.
Perhatikan contoh berikut.
function salam($nama)
{
echo "Halo ".$nama;
}
salam("Andi");
Pada kode tersebut:
$nama
adalah Parameter.
Sedangkan:
"Andi"
adalah Argument.
Sederhananya:
Parameter adalah tempat menerima data.
Argument adalah data yang dikirim.
Function dengan Satu Parameter
<?php
function salam($nama)
{
echo "Selamat Datang ".$nama;
}
salam("Andi");
?>
Output
Selamat Datang Andi
Contoh lain.
<?php
function sekolah($namaSekolah)
{
echo "Belajar di ".$namaSekolah;
}
sekolah("SMK Negeri 1");
?>
Output
Belajar di SMK Negeri 1
Function Dipanggil Berkali-kali
<?php
function salam($nama)
{
echo "Halo ".$nama."<br>";
}
salam("Andi");
salam("Budi");
salam("Citra");
?>
Output
Halo Andi
Halo Budi
Halo Citra
Inilah kekuatan function.
Function dengan Dua Parameter
<?php
function biodata($nama,$kelas)
{
echo "Nama : ".$nama;
echo "<br>";
echo "Kelas : ".$kelas;
}
biodata("Andi","XI RPL");
?>
Output
Nama : Andi
Kelas : XI RPL
Function dengan Banyak Parameter
<?php
function siswa($nama,$kelas,$jurusan,$umur)
{
echo "Nama : ".$nama."<br>";
echo "Kelas : ".$kelas."<br>";
echo "Jurusan : ".$jurusan."<br>";
echo "Umur : ".$umur;
}
siswa(
"Andi",
"XI",
"RPL",
17
);
?>
Urutan Parameter Sangat Penting
Perhatikan.
function data($nama,$umur)
{
echo $nama;
echo "<br>";
echo $umur;
}
data(18,"Andi");
Output
18
Andi
Mengapa salah?
Karena urutan argument tidak sesuai dengan parameter.
Seharusnya:
data("Andi",18);
Default Parameter
Kadang kita ingin memberi nilai bawaan.
Contoh:
<?php
function salam($nama="Pengunjung")
{
echo "Halo ".$nama;
}
salam();
?>
Output
Halo Pengunjung
Jika dipanggil:
salam("Andi");
Output
Halo Andi
Contoh lain.
function negara($nama="Indonesia")
{
echo $nama;
}
negara();
echo "<br>";
negara("Malaysia");
Output
Indonesia
Malaysia
Mengapa Default Parameter Berguna?
Misalnya aplikasi kasir.
Jika pelanggan tidak mengisi kota.
Secara otomatis:
Kota = Semarang
Atau:
Negara = Indonesia
Program tetap dapat berjalan.
Apa itu Return Value?
Selama ini function langsung menampilkan output menggunakan echo.
Namun programmer profesional sering menggunakan:
return
Mengapa?
Karena hasilnya bisa digunakan kembali.
Function Menggunakan echo
function tambah()
{
echo 5+5;
}
tambah();
Output
10
Function Menggunakan return
function tambah()
{
return 5+5;
}
echo tambah();
Output
10
Sekilas terlihat sama.
Tetapi sebenarnya sangat berbeda.
Perbedaan echo dan return
| echo | return |
|---|---|
| Langsung menampilkan output | Mengembalikan nilai |
| Tidak dapat disimpan | Dapat disimpan ke variabel |
| Cocok untuk tampilan | Cocok untuk proses perhitungan |
Contoh Return
<?php
function luasPersegi($sisi)
{
return $sisi*$sisi;
}
echo luasPersegi(8);
?>
Output
64
Return Dapat Disimpan
<?php
function luas($p,$l)
{
return $p*$l;
}
$hasil=luas(10,5);
echo $hasil;
?>
Output
50
Return Digunakan Dalam Perhitungan
<?php
function tambah($a,$b)
{
return $a+$b;
}
$total=tambah(10,20)+100;
echo $total;
?>
Output
130
Function Menghitung Nilai Rata-rata
<?php
function rataRata($tugas,$uts,$uas)
{
return ($tugas+$uts+$uas)/3;
}
echo rataRata(
80,
90,
85
);
?>
Output
85
Studi Kasus 1
Menghitung Luas Persegi Panjang
<?php
function luas($panjang,$lebar)
{
return $panjang*$lebar;
}
echo "Luas = ".luas(12,6);
?>
Studi Kasus 2
Menghitung Gaji
<?php
function gaji($pokok,$bonus)
{
return $pokok+$bonus;
}
echo gaji(
5000000,
750000
);
?>
Studi Kasus 3
Menghitung Diskon
<?php
function diskon($harga)
{
return $harga*0.1;
}
$harga=500000;
echo "Diskon = ".diskon($harga);
?>
Best Practice Programmer
Gunakan Nama Function yang Jelas
Lebih baik
function hitungLuas()
daripada
function x()
Gunakan Return Untuk Perhitungan
Kurang baik
function luas()
{
echo 50;
}
Lebih baik
function luas()
{
return 50;
}
Gunakan Parameter Sesedikit Mungkin
Jika parameter sudah terlalu banyak (lebih dari 5 atau 6), pertimbangkan menggunakan array atau objek agar kode lebih mudah dipelihara.
Kesalahan yang Sering Dilakukan Pemula
Lupa Mengirim Argument
function halo($nama)
{
echo $nama;
}
halo();
Akan menghasilkan error karena parameter wajib tidak diberikan.
Menggunakan echo Padahal Membutuhkan Return
$hasil=tambah(5,5);
Tidak akan bekerja jika function hanya menggunakan echo.
Salah Urutan Parameter
data(
18,
"Andi"
);
Output menjadi tidak sesuai.
Latihan Praktik
Latihan 1
Buat function:
identitas($nama)
yang menampilkan:
Selamat Datang, [Nama]
Latihan 2
Buat function:
perkalian($a,$b)
yang mengembalikan hasil perkalian menggunakan return.
Latihan 3
Buat function:
volumeKubus($sisi)
Gunakan rumus:
sisi × sisi × sisi
Latihan 4
Buat function:
nilaiAkhir($tugas,$uts,$uas)
Hitung rata-rata menggunakan return.
Latihan 5
Buat function dengan default parameter.
Contoh:
kota($nama="Semarang")
Tugas Praktik Bab 8.2A
Sistem Penggajian Sederhana
Buat sebuah program menggunakan beberapa function.
Minimal terdiri atas:
hitungGajiPokok()hitungBonus()hitungPajak()totalGaji()
Ketentuan:
- Seluruh perhitungan menggunakan return.
- Gunakan parameter pada setiap function.
- Hasil akhir ditampilkan dalam bentuk tabel HTML yang berisi:
- Nama Karyawan
- Gaji Pokok
- Bonus
- Pajak
- Total Gaji Bersih
- Tambahkan minimal tiga data karyawan.
Tantangan (Opsional)
- Gunakan default parameter untuk persentase pajak (misalnya 5%).
- Buat function
formatRupiah()yang mengembalikan format mata uang Indonesia menggunakan fungsi bawaan PHPnumber_format().
