Friday, November 16, 2007

Kombinasi dan Program Aplikasinya Menggunakan C++


Kombinasi adalah menggabungkan beberapa objek dari suatu grup tanpa memperhatikan urutan. Sebagai contoh suatu himpunan {1,2,3} adalah sama dengan himpunan {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?
Jawaban: Ada 3 kombinasi yaitu:
1. AB atau BA, karena pengambilan amplop A dan B sama dengan pengambilan B dan A.
2. AC atau CA.
3. BC atau CB.


Salah satu aplikasi kombinasi digunakan untuk mencari peluang suatu kejadian atau menghitung kombinasi kejadian tertentu. Kombinasi dari n dan r kita bisa notasikan nCr, dirumuskan dengan:

nCr = n faktorial/(r factorial * (n-r) faktorial)
dimana n faktorial = n! = 1 * 2 * 3 * … * n.

Misalkan dalam suatu pertemuan arisan keluarga terdapat 7 orang yang melakukan jabat tangan. Berapa jumlah jabat tangan yang dilakukan oleh 7 orang tersebut?
Jawaban:
Diketahui n=7;    r=2;
Maka 7 C 2 = 7! /(2! * (7-2)!)
                    = 5040/(2*120)
                    = 21 kali jabat tangan.

Kejadian tersebut dapat kita hitung dengan mengunkan rumus kombinasi, karena pada jabat tangan tersebut tidak memperhatikan urutan jabat tangan, maksudnya jabat tangan antara Budi dan Iwan adalah sama urutannya dengan jabat tangan antar Iwan dan Budi.
Dengan bahasa pemograman C++, kita dapat membuat sebuah aplikasi yang dapat mengitung nilai Kombinasi dari dua nilai missal n dan r.

Dibawah ini saya lampirkan sebuah program dengan menggunakan bahasa pemrograman C++ untuk menghitung Combinasi, dimana program tersebut terdiri dari beberapa fungsi yaitu:
1. Fungsi untuk menghitung Faktorial, dan
2. Fungsi untuk menghitung Kombinasi.
Contoh program Kombinasi dengan C++
/*
Deskripsi : Program untuk menghitung nilai Kombinasi dari nCr
Pembuat   : Wawan Hendriawan Nur
Tanggal   : 15 November 2007
*/

#include
#include

int factorial(int n); //Fungsi untuk menghitung nilai faktorial
int combination(int, int); //fungsi untuk mengitung nilai kombinasi nCr

main()
{ int n,r; //dekalasi variabel
  cout <<"Masukan nilai n: "; cin >> n; //input nilai n
  cout <<"Masukan nilai r: "; cin >> r; //input nilai r
  cout <=1;
}

//Fungsi untuk menghitung nilai Kombinasi nCr
int combination(int n, int r)
{ int f1 = factorial(n); //hitung nilai faktorial n
  int f2 = factorial(r); //hitung nilai faktorial r
  int f3 = factorial(n-r); //hitung nilai faktorial (n-r)
  //mengembalikan nilai Kombinasi, C=(n!/(n!*(n-r)!)))
  return (f1/(f2*f3));
}
Previous Post
First

0 comments: