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:
Post a Comment