Wednesday, May 25, 2011

SYNTAK PROGRAM KOMBINASI DANPERMUTASI

uses wincrt;                                 
ar fn,fk,fn_k:real;                     
    n,k:byte;                                   
    lagi:char;
    pil:1..3;
function kombinasi1(x,y:byte):real;
var i:byte;
   kmb:real;
begin
fn:=1;
fk:=1;
fn_k:=1;
if (x=0) and (y=0) then begin fn:=1;fk:=1;fn_k:=1; end
else
for i:=1 to x do
fn:=fn*i;
for i:=1 to y do
fk:=fk*i;
for i:=1 to (x-y) do
fn_k:=fn_k*i;
kmb:=fn/(fk*fn_k);
kombinasi1:=kmb;
end;
function permutasi(x,y:byte):real;
var i:byte;
    komb:real;
begin
 fn:=1;
 fk:=1;
 fn_k:=1;
 if (x=0) and (y=0) then begin fn:=1;fk:=1;fn_k:=1; end
 else
 for i:=1 to x do
     fn:=fn*i;
 for i:=1 to (x-y) do
fn_k:=fn_k*i;
komb:=fn/fn_k;
permutasi:=komb;
end;
begin
repeat
clrscr;
writeln;
writeln(' PERGHITUNGAN KOMBINASI & PERMUTASI DENGAN LOGIKA FAKTORIAL ');
writeln;
writeln(' 1. Penghitungan Kombinasi ');
writeln(' 2. Penghitungan Permutasi ');
writeln(' 3. Pernyataan ');
writeln;
writeln(' Masukan pilihan anda[1..3] ');readln(pil);
case pil of
1:
begin
write(' masukkan bilangan n = ');readln(n);
write(' masukkan bilangan r = ');readln(k);
writeln(' dengan lop hasil ',n,' kombinasi ',k,' adalah ',kombinasi1(n,k):0:0);
end;
2:
begin
write(' masukkan bilangan n = ');readln(n);
write(' masukkan bilangan r = ');readln(k);
writeln(' dengan lop hasil ',n,' permutasi ',k,' adalah ',permutasi(n,k):0:0);
end;
3:
begin
writeln;
writeln(' *********** program sukses ************ ');
writeln(' ########## untuk berhenti tekan ==> t ######### ');
end;
end;
writeln;write(' coba lagi<y/t> ==> ');readln(lagi);
until (lagi='t');
end.

No comments:

Adsens