Kombinasi dalam matematika kombinatorik berarti himpunan objek yang tidak mementingkan urutan. Kombinasi berbeda dengan permutasi yang mementingkan urutan objek.
Jenis-jenis Kombinasi.
- Kombinasi Dengan Pengulangan
Permutasi dengan pengulangan adalah kondisi di saat suatu objek di susun boleh di ulang. Misalkan ada 3 objek A, B dan C di susun menjadi AAA, atau BBB, atau CCC. Maka Rumus Untuk Mencari Permuatsi tersebut adalah :
- Kombinasi Tanpa pengulangan
Permutasi tanpa pengulangan adalah kondisi duatu objek tidak di ulang saat disusun kembali. Misalkan ada 3 objek 1,2 dan 3 maka jika di susun 1,2,3 atau 2,3,1 atau 1,3,2. Maka rumus untuk mencari Permutasi tersebut adalah :
Algoritma Mencari Permutasi.
- Kombinasi Dengan Perulangan
{Diberikan 2 inputan n dan r. Kemudian r, (n-1) dan (n+r -1) di faktorialkan dan menghasilkan output kombinasi =( (n+r-1)! / r!*(n-1)! )
.
Deklarasi :
n, r, i,,j,kombinasi,a,b,c : integer.
Deskripsi :
read n,r
a <= 1
b <= 1
c <= 1
for i =1 to (n+r-1) do
a <= a*i
end for
for j =1 to r do
b <= b*j
end for
for k =1 to (n-1) do
c <= c*k
end for
kombinasi <= a div b*c
write kombinasi
- Kombinasi tanpa Pengulangan
{Diberikan 2 inputan n dan r. Kemudian n, r dan (n-r) di faktorialkan dan menghasilkan output kombinasi =( n! / r!*(n-r)! )
.
Deklarasi :
n, r, i,,j,kombinasi,a,b,c : integer.
Deskripsi :
read n,r
a <= 1
b <= 1
c <= 1
for i =1 to n do
a <= a*i
end for
for j =1 to r do
b <= b*j
end for
for k =1 to (n-r) do
c <= c*k
end for
kombinasi <= a div b*c
write kombinasi
Program Kombinasi.
- Kombinasi Dengan Perulangan
#include <iostream>
using namespace std;
using namespace std;
class deret_kombinasi{
friend istream& operator>>(istream&, deret_kombinasi&);
friend ostream& operator<<(ostream&, deret_kombinasi&);
public:
deret_kombinasi();
void hitung_kombinasi();
private:
int n,r,a,b,c,kombinasi;};
deret_kombinasi::deret_kombinasi(){
cout<<"PROGRAM MENGHITUNG KOMBINASI"<<endl;}
istream& operator>>(istream& in, deret_kombinasi& x){
cout<<"Masukkan n ="; in>>x.n;
cout<<"Masukkan r ="; in>>x.r;
return in;}
ostream& operator<<(ostream& out, deret_kombinasi& y){
out<<"Nilai n ="<<y.n<<endl;
out<<"Nilai r ="<<y.r<<endl;
out<<"Nilai (n+r-1)! ="<<y.a<<endl;
out<<"Nilai (n+r-1)! ="<<y.a<<endl;
out<<"Nilai r! ="<<y.b<<endl;
out<<"Nilai (n-1)! ="<<y.c<<endl;
out<<"Nilai Kombinasi ="<<y.kombinasi<<endl;
return out;}
void deret_kombinasi::hitung_kombinasi(){
a=1;
b=1;
c=1;
for(int i=1; i<=(n+r-1); i++){
a=a*i;}
for(int j=1; j<=r; j++){
b=b*j;}
for(int k=1; k<=(n-1); k++){
c=c*k;}
permutasi=(a/(b*c));}
int main(int argc, char *argv[]){
int main(int argc, char *argv[]){
deret_permutasi arif;
cin>>arif;
arif.hitung_permutasi();
cout<<arif;
system("PAUSE");
return EXIT_SUCCESS;}
Hasil Running Program Adalah :
Hasil Running Program Adalah :
- Kombinasi Tanpa pengulangan
#include <cstdlib>
#include <iostream>
using namespace std;
using namespace std;
class deret_kombinasi{
friend istream& operator>>(istream&, deret_kombinasi&);
friend ostream& operator<<(ostream&, deret_kombinasi&);
public:
deret_kombinasi();
void hitung_kombinasi();
private:
int n,r,a,b,c,kombinasi;};
deret_kombinasi::deret_kombinasi(){
cout<<"PROGRAM MENGHITUNG KOMBINASI"<<endl;}
istream& operator>>(istream& in, deret_kombinasi& x){
cout<<"Masukkan n ="; in>>x.n;
cout<<"Masukkan r ="; in>>x.r;
return in;}
ostream& operator<<(ostream& out, deret_kombinasi& y){
out<<"Nilai n ="<<y.n<<endl;
out<<"Nilai r ="<<y.r<<endl;
out<<"Nilai n! ="<<y.a<<endl;
out<<"Nilai n! ="<<y.a<<endl;
out<<"Nilai r! ="<<y.b<<endl;
out<<"Nilai (n-r)! ="<<y.c<<endl;
out<<"Nilai Permutasi ="<<y.permutasi<<endl;
return out;}
void deret_permutasi::hitung_permutasi(){
a=1;
b=1;
c=1;
for(int i=1; i<=n; i++){
a=a*i;}
for(int j=1; j<=r; j++){
b=b*j;}
for(int k=1; k<=(n-r); k++){
c=c*k;}
permutasi=(a/(b*c));}
int main(int argc, char *argv[]){
int main(int argc, char *argv[]){
deret_permutasi arif;
cin>>arif;
arif.hitung_permutasi();
cout<<arif;
system("PAUSE");
return EXIT_SUCCESS;}
Hasil Running Program Adalah :
Hasil Running Program Adalah :