Algoritma dan Program Permutasi

Posted in
Algoritma :
Deklarasi
    n, r, i                      : integer
    faktorn,  faktorr    : integer
    hasil                      : integer
Deskripsi
    read n
    read r
    faktorn    <- 1
    faktorr <- 1
    for i <- n downto 0 do
        faktorn <- faktorn * i
    end for
    for  i <- n – r  downto 0  do
        faktorr <- faktorr * i
    end for
    hasil <- faktorn / faktorr
    write hasil
    end
 
Program Biasa :
#include <iostream.h>
#include <conio.h>
int main(){
int n,r,i;
int faktorn=1,faktorr=1;
cout<<"\t\tPERMUTASI"<<endl;
cout<<"Masukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;
for(i=n;i>0;i--){
faktorn=faktorn*i;}
for(i=n-r;i>0;i--){
faktorr=faktorr*i;}
cout<<"Permutasi ("<<n<<","<<r<<") : "<<faktorn/faktorr;
getch();
return 0;}

Program Class :
#include <iostream.h>
#include <conio.h>
class permutasi{
public:
void masukan();
void proses();
void keluaran();
private:
int n,r,i;
int faktorn,faktorr;};
void permutasi::masukan(){
cout<<"\t\tPERMUTASI"<<endl;
cout<<"Masukkan n : ";
cin>>n;
cout<<"Masukkan r : ";
cin>>r;}
void permutasi::proses(){
faktorn=1;faktorr=1;
for(i=n;i>0;i--){
faktorn=faktorn*i;}
for(i=n-r;i>0;i--){
faktorr=faktorr*i;}}
void permutasi::keluaran(){
cout<<"Permutasi ("<<n<<","<<r<<") : "<<faktorn/faktorr;}
int main(){
permutasi x;
x.masukan();
x.proses();
x.keluaran();
getch();
return 0;}

Program Jeliot :
import jeliot.io.*;
public class MyClass {
public static void main() {
permutasi x = new permutasi();
x.masukan();
x.proses();
x.keluaran();}}
class permutasi{
void masukan(){
System.out.print("\t\tPERMUTASI");
System.out.print("\n");
System.out.print("Masukkan n : ");
n = Input.readInt();
System.out.print("Masukkan r : ");
r = Input.readInt();}
void proses(){
faktorn =1;
faktorr =1;
for(i =n;i>0;i--){
faktorn =faktorn *i;}
for(i =n-r;i>0;i--){
faktorr =faktorr *i;}}
void keluaran(){
System.out.print("Permutasi (");
System.out.print(n);
System.out.print(",");
System.out.print(r);
System.out.print(") : ");
System.out.print(faktorn/faktorr);}
private int n;
private int r;
private int i;
private int faktorn;
private int faktorr;}

Penjelasan :
Program di atas adalah program yang digunakan untuk mencari nilai permutasi dari 2 bilangan. Permutasi sendiri mempunyai rumus n!/(n-r)!. Jadi untuk pembilangnya adlah n faktorial dan untuk penyebutnya n-r faktorial. Untuk mencari nilai faktorial dari suatu bilangan menggunakan fungsi perulangan atau for, untuk program di atas perulangan yang pertama untuk mencari hasil dari faktorial bilangan n dan perulangannya mengalami pengurangan 1, contoh 5! adalah 5x4x3x2x1=120 dan akan disimpan pada variabel faktorn, begitu pula untuk  mencari nilai n-r akan disimpan pada variabel faktorr. Jadi kita tinggal menampilkan hasil dari faktorn dibagi dengan faktorr.