Pages

Saturday, 10 September 2016

Permutasi dan Kombinasi dengan PHP

Membuat program  Permutasi dan Kombinasi dengan bahasa pemrograman PHP.

Jika kamu belum tau apa itu permutasi dan kombinasi, berikut yang aku dapatkan dari wikipedia.

Permutasi adalah menggabungkan beberapa objek dari suatu grup dengan memperhatikan urutan. Di dalam permutasi, urutan diperhatikan.
{1,2,3} tidak sama dengan {2,3,1} dan {3,1,2}

Contoh:
Ada sebuah kotak berisi 3 bola masing-masing berwarna merah, hijau dan biru. Jika seorang anak ditugaskan untuk mengambil 2 bola secara acak dan urutan pengambilan diperhatikan, ada berapa permutasi yang terjadi?
Solusi: Ada 6 permutasi yaitu; M-H, M-B, H-M, H-B, B-M, B-H.

Kombinasi adalah menggabungkan beberapa objek dari suatu grup tanpa memperhatikan urutan. Di dalam kombinasi, urutan tidak diperhatikan.
{1,2,3} adalah sama dengan {2,3,1} dan {3,1,2}.

Contoh:
Seorang anak hanya diperbolehkan mengambil dua buah amplop dari tiga buah amplop yang disediakan yaitu amplop A, amplop B dan amplop C. Tentukan ada berapa banyak kombinasi untuk mengambil dua buah amplop dari tiga buah amplop yang disediakan?
Solusi: Ada 3 kombinasi yaitu; A-B, A-C dan B-C.


Jika masih kurang jelas, silahkan kamu cari referensi lain di google.
Karena di sini yang aku bahas adalah pembuatan programnya. :)

Langsung saja,
Rumus:
- Permutasi ->  n! / r!
- Kombinasi -> n! / (r! x (n-r)!)

berikut kode phpnya.

------------------------- CODE -------------------------

$n = 5;
$r = 3;

$n_fak = faktorial($n);
$r_fak = faktorial($r);

$permutasi = permutasi($n_fak, $r_fak);
echo "PERMUTASI : $permutasi";

$d = $n - $r;
$d_fak = faktorial($d);
$kombinasi = kombinasi($n_fak, $r_fak, $d_fak);
echo "KOMBINASI : $kombinasi";



function faktorial($f)
{
            $hasil=1;

            for($i=1; $i<=$f; $i++)
                        $hasil = $hasil*$i;
            return $hasil;
}
function  permutasi($fakn, $fakd)
{
            return $fakn / $fakd;
}
function kombinasi($fakn, $fakr, $fakd)
{
            return $fakn / ($fakr*$fakd);
}

------------------------- SELESAI -------------------------

Silahkan mencoba

No comments :

Post a Comment