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:
Kombinasi | Permutasi | Banyaknya Permutasi |
ab | ab, ba | 2 = 2 . 1 = 2! |
ac | ac, ca | 2 = 2 . 1 = 2! |
ad | ad, da | 2 = 2 . 1 = 2! |
bc | bc, cb | 2 = 2 . 1 = 2! |
bd | bd, db | 2 = 2 . 1 = 2! |
cd | cd, dc | 2 = 2 . 1 = 2! |
4 C 2 = 6 | 4 P 2 = 12 | 4 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)
Recent Comments