Ajari halaman web klinikmu mengambil keputusan, mengulang tugas, menyimpan banyak data, dan menghitung otomatis lewat function PHP.
Bayangkan kamu petugas pendaftaran klinik yang harus menghitung usia dan BMI ratusan pasien setiap hari. Pakai kalkulator? Capek, dan rawan salah pencet. Di sinilah function PHP berperan: tulis rumusnya sekali, panggil berapa kali pun kamu mau.
Di artikel 5 dari 16 seri Pemrograman Web D4 MIK ini, kamu akan praktik membuat halaman web yang bisa mengambil keputusan (percabangan), mengulang tugas (perulangan), menyimpan banyak data (array), lalu membungkus semuanya dalam function. Semua pakai XAMPP dan Sublime Text, dengan data pasien fiktif. Baru belajar dan merasa logika itu menyeramkan? Tenang, artikel ini memang ditulis untuk kamu. Siap bikin webmu makin pintar?
Persiapan Praktikum: XAMPP, htdocs, dan Sublime Text
Seperti chef yang tidak mulai masak sebelum kompor menyala, kamu perlu memastikan Apache hidup dulu. Ikuti langkah ini di komputer laboratorium Windows:
C:\xampp\htdocs, lalu buat folder klinik (lewati jika sudah ada dari artikel 4).klinik..php di folder itu, lalu dibuka lewat http://localhost/klinik/namafile.php.Percabangan: Fondasi Sebelum Belajar Function PHP
Di IGD ada petugas triase: demam tinggi dan sesak masuk jalur merah, batuk ringan masuk jalur hijau. Itulah percabangan, yaitu logika "kalau... maka...". PHP menyediakan if, elseif, else, dan switch. Pahami ini dulu, karena hampir setiap function PHP yang berguna pasti berisi keputusan.
Kita mulai dari kategori BMI pasien. Buat file percabangan.php:
Pasien Siti Aminah memiliki BMI 27.6: Berat badan lebih
Poli Gigi: Ruang 2
Perulangan dan Array: Bahan Baku Function PHP
Array itu seperti rak rekam medis: satu rak, banyak map pasien. Perulangan adalah petugas yang membuka map itu satu per satu tanpa kamu suruh berkali-kali. Array asosiatif memakai key bernama (misalnya "nama" dan "berat"), jadi datanya mudah dibaca. Nanti, setiap function PHP yang kamu buat akan memproses data dari array seperti ini.
| Struktur | Fungsinya | Contoh kasus klinik |
|---|---|---|
if / elseif / else | Memilih satu jalur dari beberapa kondisi | Kategori BMI pasien |
switch | Mencocokkan satu nilai dengan banyak pilihan tetap | Menentukan ruang poli |
for / while | Mengulang dengan hitungan atau syarat | Mencetak nomor antrean 1–20 |
foreach | Mengulang setiap isi array | Menampilkan daftar pasien |
function | Membungkus kode agar bisa dipakai ulang | Hitung usia dan BMI |
Sekarang kita tampilkan daftar pasien fiktif dalam tabel. Buat file array.php:
Function PHP: Hitung Usia dan BMI Pasien Sekali Tulis
Pikirkan mesin kopi. Kamu memasukkan biji kopi (input), mesin bekerja, lalu keluar kopi (output). Kamu tidak perlu tahu cara kerja gilingannya setiap kali minum. Function PHP bekerja persis begitu: ia menerima data lewat parameter, memproses, lalu mengembalikan hasil lewat return.
[ berat, tinggi ] ──► ┌──────────────┐ ──► [ BMI = 27.6 ]
(parameter) │ hitungBMI() │ (return)
└──────────────┘
Rumus BMI ditulis ulang untuk tiap pasien. Untuk 100 pasien ada 100 salinan rumus. Rumus berubah? Kamu mengedit 100 tempat.
Rumus ditulis sekali di
hitungBMI(). Untuk 100 pasien kamu cukup 100 kali memanggil. Rumus berubah? Edit satu tempat saja.Sekarang kita gabungkan semuanya: percabangan, perulangan, array, dan function. Ikuti langkah berikut:
fungsi_pasien.php di folder klinik.hitungUsia(). Function ini memakai class DateTime bawaan PHP, lalu mengambil selisih tahun lewat diff().hitungBMI() dengan rumus berat (kg) dibagi tinggi (m) kuadrat, dibulatkan satu desimal memakai round().kategoriBMI() yang berisi percabangan dari bagian sebelumnya.foreach, simpan, lalu buka http://localhost/klinik/fungsi_pasien.php.Siti Aminah · 36 tahun · 27.6 · Berat badan lebih
Budi Santoso · 40 tahun · 19.6 · Normal
Rina Wulandari · 25 tahun · 17.6 · Berat badan kurang
Error yang Sering Muncul pada Function PHP & Cara Mengatasinya
Muncul tulisan merah atau kuning di browser itu normal, bahkan programmer berpengalaman melihatnya setiap hari. Anggap saja pesan itu petunjuk arah, bukan vonis.
| Pesan error | Penyebab umum | Cara mengatasi |
|---|---|---|
Call to undefined function hitungUsia() | Salah ketik nama function, atau function belum ditulis | Samakan ejaan dan huruf besar-kecil nama function |
Undefined variable $berat | Variabel di luar function tidak terbaca di dalamnya (scope) | Kirim nilai lewat parameter, jangan mengandalkan variabel luar |
Undefined array key "nama" | Key array salah ketik | Cocokkan key di pemanggilan dengan key di array |
Division by zero | Tinggi badan bernilai 0 saat menghitung BMI | Tambahkan if ($tinggiCm > 0) sebelum menghitung |
Cannot redeclare hitungBMI() | Function dengan nama sama ditulis dua kali | Hapus salah satu atau beri nama berbeda |
Parse error: syntax error | Kurang titik koma, kurung, atau tanda kutip | Cek baris yang disebut pesan, juga baris tepat di atasnya |
Latihan Mandiri: Uji Function PHP Buatanmu
kategoriUsia($usia): Anak (kurang dari 12), Remaja (12–17), Dewasa (18–59), Lansia (60 ke atas). Tampilkan sebagai kolom baru di tabel rekap.hitungRataBMI($daftarPasien) yang mengembalikan rata-rata BMI semua pasien.cetakKartuPasien($pasien) yang menampilkan nama, usia, BMI, dan kategori dalam bentuk kartu HTML. Jika kategorinya bukan Normal, tambahkan pesan "Disarankan konsultasi gizi".Kesimpulan: Function PHP Bikin Web Kamu Makin Pintar
Hari ini kamu sudah memakai percabangan untuk mengambil keputusan, perulangan untuk memproses data, array untuk menyimpan banyak pasien, dan function untuk membungkus rumus usia dan BMI. Ingat polanya: parameter masuk, proses, return keluar. Dengan function PHP, kodemu lebih rapi, bebas pengulangan, dan siap dipakai ulang di halaman klinik berikutnya.
Bagian mana yang paling bikin kamu mikir keras? Ceritakan di kolom komentar, dan bagikan artikel ini ke temanmu yang sedang ngoding juga!
💬 Tulis Komentar 🔗 Bagikan Artikel- PHP Manual: Functions
- PHP Manual: Control Structures
- PHP Manual: Arrays
- PHP Manual: DateTime class
- World Health Organization: Body Mass Index (BMI)
Artikel ini bagian dari seri 16 artikel. Lihat urutan lengkap materi di Daftar Isi.
Buka Daftar Isi Artikel →
No comments:
Post a Comment