Permutasi adalah penyusunan kembali suatu kumpulan objek dalam urutan yang berbeda dari urutan yang semula. Dalam permutasi urutan sangant di perhatikan kerena {1,2,3} tidak akan sama dengan {2,3,1} ataupun {3,2,1}. Proses mengembalikan objek-objek tersebut pada urutan yang baku (sesuai ketentuan) disebut sorting.
Jenis-jenis Permutasi.
Algoritma Mencari Permutasi.
Program Permutasi.
Jenis-jenis Permutasi.
- Permutasi 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 :
- Permutasi 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.
- Permutasi Dengan Perulangan
{Diberikan 2 inputan n dan r. Kemudian masing-masing inputan di faktorialkan dan menghasilkan output permutasi =( n! / r! ).
Deklarasi :
n, r, i,,j,permutasi,a,b : integer.
Deskripsi :
read n,r
a <= 1
b <= 1
for i =1 to n do
a <= a*i
end for
for j =1 to r do
b <= b*j
end for
permutasi <= a div b
write permutasi
- Permutasi tanpa Pengulangan
{Diberikan 2 inputan n dan r. Kemudian masing-masing inputan di faktorialkan dan menghasilkan output permutasi =( n! / (n-r)! ).
Deklarasi :
n, r, i,,j,permutasi,a,b : integer.
Deskripsi :
read n,r
a <= 1
b <= 1
for i =1 to n do
a <= a*i
end for
for j =1 to (n-r) do
b <= b*j
end for
permutasi <= a div b
write permutasi
Program Permutasi.
- Permutasi Dengan Perulangan|
#include <iostream>
using namespace std;
using namespace std;
class deret_permutasi{
friend istream& operator>>(istream&, deret_permutasi&);
friend ostream& operator<<(ostream&, deret_permutasi&);
public:
deret_permutasi();
void hitung_permutasi();
private:
int n,r,a,b,permutasi;};
deret_permutasi::deret_permutasi(){
cout<<"PROGRAM MENGHITUNG PERMUTASI"<<endl;}
istream& operator>>(istream& in, deret_permutasi& x){
cout<<"Masukkan n ="; in>>x.n;
cout<<"Masukkan r ="; in>>x.r;
return in;}
ostream& operator<<(ostream& out, deret_permutasi& 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 Permutasi ="<<y.permutasi<<endl;
return out;}
void deret_permutasi::hitung_permutasi(){
a=1;
b=1;
for(int i=1; i<=n; i++){
a=a*i;}
for(int j=1; j<=r; j++){
b=b*j;}
permutasi=(a/b);}
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 :
- Permutasi Tanpa pengulangan
#include <iostream>
using namespace std;
class deret_permutasi{
friend istream& operator>>(istream&, deret_permutasi&);
friend ostream& operator<<(ostream&, deret_permutasi&);
public:
deret_permutasi();
void hitung_permutasi();
private:
int n,r,a,b,permutasi;};
deret_permutasi::deret_permutasi(){
cout<<"PROGRAM MENGHITUNG PERMUTASI"<<endl;}
istream& operator>>(istream& in, deret_permutasi& x){
cout<<"Masukkan n ="; in>>x.n;
cout<<"Masukkan y ="; in>>x.r;
return in;}
ostream& operator<<(ostream& out, deret_permutasi& y){
out<<"Nilai n ="<<y.n<<endl;
out<<"Nilai r ="<<y.r<<endl;
out<<"Nilai n-r ="<<y.c<<endl;
out<<"Nilai n! ="<<y.a<<endl;
out<<"Nilai (n-r)! ="<<y.b<<endl;
out<<"Nilai Permutasi ="<<y.permutasi<<endl;
return out;}
void deret_permutasi::hitung_permutasi(){
a=1;
b=1;
for(int i=1; i<=n; i++){
a=a*i;}
for(int j=1; j<=(n-r); j++){
b=b*j;}
permutasi=(a/b);}
int main(int argc, char *argv[]){
deret_permutasi arif;
cin>>arif;
arif.hitung_permutasi();
cout<<arif;
system("PAUSE");