Implementasi Kombinasi pada Bahasa pemrograman C++

Kombinasi adalah suatu susunan r unsur yang diambil dari n unsur (r ≤ n) tanpa memperhatikan urutan. Kombinasi dinyatakan dengan nCr atau C(n,r). Berbeda dengan permutasi, dimana urutannya menjadi pertimbangan.

Misalkan dari kumpulan harus a, b, c dan d akan disusun kombinasi dengan dua elemen diperoleh:

KombinasiPermutasiBanyaknya Permutasi
abab, ba2 = 2 . 1 = 2!
acac, ca2 = 2 . 1 = 2!
adad, da2 = 2 . 1 = 2!
bcbc, cb2 = 2 . 1 = 2!
bdbd, db2 = 2 . 1 = 2!
cdcd, dc2 = 2 . 1 = 2!
4 C 2 = 64 P 2 = 124 P 2 = 6 ∙ 2!

Catatan

(i) pada kombinasi: ab = ba            *urutan tidak diperhatikan

                                ac = ca

(i) pada permutasi: ab ≠ ba         *urutan diperhatikan

                               ac ≠ ca

Berdasarkan table diatas terlihat bahwa:

4 P 2 = 6 ∙ 2!

4 P 2 = 4 C 2 ∙ 2!

Dengan demikian secara umum, maka:

Keterangan:

C = Banyaknya kombinasi

n = Banyaknya elemen himpunan keseluruhan

r = Banyaknya elemen himpunan yang diamati

Bahasa Pemrograman C++ adalah bahasa pemrograman yang bisa digunakan dengan banyak tujuan. Bahasa C++ juga mendukung OOP (Object Oriented Programming) yang memudahkan programmer dalam memelihara program hasil karyanya. Bahasa C++ ini merupakan bahasa compiled language, dimana soucecode melakukan proses compliling sehingga dihasilkan suatu program binary. Dimana binary file-nya adalah binary file yang sesuai dengan sistem operasi maupun platfrom dan apabila dijalankan akan sesuai sourcecode yang kita buat.

Contoh:

Hitunglah hasil dari:

a. C(6,2)

b. C(8,3)

c. P(6,2)

SourceCode Program:

int faktorial(int X){

int i=1, f;

f=1;

while(i<=X)

{

f=f*i;

i++;

}

return(f);

}

#include <iostream>

using namespace std;

int main(){

int n, r, a, permutasi, kombinasi;

char h;

cout<<“PERMUTASI DAN KOMBINASI”<<endl;

cout<<“=======================”<<endl<<endl;

cout<<“Permutasi atau Kombinasi ? (p/c) : “;

cin>>h;

cout<<endl;

cout<<“Tentukan nilai n : “;

cin>>n;

cout<<“Tentukan nilai r : “;

cin>>r;

cout<<endl;

a=n-r;

switch (h)

{

case ‘p’:

permutasi=faktorial(n)/faktorial(a);

cout<<“Hasil permutasi dari “<<n<<” dan “<<r<<” adalah “<<permutasi<<endl;

break;

case ‘c’:

kombinasi=faktorial(n)/(faktorial(a)*faktorial(r));

cout<<“Hasil kombinasi dari “<<n<<” dan “<<r<<” adalah “<<kombinasi<<endl;

break;

}

}

Tampilan Program:

a. C(6,2)

b. C(8,3)

c. P(6,2)

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha 31 − = 26