Masih ingat dengan Permutasi? Kalau sudah lupa, silakan mampir di Om Wiki yang serba tahu itu Tadinya sih, sudah lupa juga, tapi gara-gara Pak Dosen memberi PR soal Permutasi, jadi ya sudah, mau tidak mau belajar lagi ilmu zaman SMP/SMU ini (eh, apa malah SD ya?).
Pertama, buat dulu fungsi faktorial. Karena fungsi ini akan dipakai minimal dua kali. Dan menurut saran Pak Dosen, hal-hal yang berulang itu, ada baiknya dijadikan fungsi saja. Untuk menghemat code, katanya. Sekalian latihan buat fungsi.
OK, langsung saja, berikut adalah fungsi faktorial sederhana dalam PHP.
<?php /** * Count factorial of given number * @param <int> $number * @return <int> $result */ function factorial($number) { $result = 1; for ($i = 1; $i <= $number; $i++) { $result = $result * $i; } return $result; } ?>
Simpan dengan nama factorial.php
. Selanjutnya kita tulis kode utamanya untuk perhitungan Permutasi-k dari n benda.
<?php include 'isUnsignedInteger.php'; include 'factorial.php'; $stdin = fopen('php://stdin', 'r'); while (!(isUnsignedInteger($k)) || !(isUnsignedInteger($n)) || ($k > $n)) { echo "Menghitung Permutasi-k dari n benda.n"; echo "Masukkan nilai n: "; $n = trim(fgets($stdin)); echo "Masukkan nilai k: "; $k = trim(fgets($stdin)); echo "n"; } $result = factorial($n) / (factorial($n - $k)); echo "Permutasi-" . $k . " dari " . $n . " benda adalah " . $result . "n"; fclose($stdin); ?>
Bagi yang tidak mengikuti dari awal, kode isUnsignedInteger.php
bisa dilihat di sini. Simpan kode di atas dengan nama answer26.php
. Dan berikut hasilnya jika kode di atas dijalankan:
C:xamppphp>php answer26.php Menghitung Permutasi-k dari n benda. Masukkan nilai n: 4 Masukkan nilai k: 2 Permutasi-2 dari 4 benda adalah 12
Silakan mencoba. Saya tunggu komentar dan koreksinya jika ada 😉
One thought on “Permutasi”