Sabtu, 21 Maret 2015

Program menghitung FPB, KPK, Kombinasi, Permutasi pada Pascal

Selamat pagi. . .
Ini adalah Program Menghitung FPB, KPK, Kombinasi, Permutasi. Masih ingat? mungkin sebagian dari kalian masih ingat.
saya berbagi tentang program penghitungan keempat materi tadi yang mungkin membuat kalian kesulitan dalam menjawab soal-soal tersebut.
semoga bermanfaat pragram yang saya beri. Bahasa pemrograman yang saya gunakan adalah Bahasa Pascal dengan aplikasi Free Pascral. Apabila source code yang saya bagikan tidak mau compile di aplikasi Anda, tolong sesuaikan dengan aplikasi bawaan Anda.
Terima kasih. :)


//Nama : Muhammad Khairi Ihsan
//NIM  : J1F114037

Program FPB_KPK_Kombinasi_Permutasi;
uses crt;
var a,b,c,d,e,f,g,h,i,n,r : integer;
    fn,fr,fn_r        : real;
    Permutasi         : real;
    kombinasi         : real;
    jawab             : char;
    pilih             : shortint;

Function kpk_fpb(a,b : integer): integer;
 begin
  c:=0;
  c:=a mod b;
  if c>0
   then kpk_fpb:=kpk_fpb(b,c)
   else kpk_fpb:=b;
 end;

Function faktorial(d,e:real):real;
 begin
  if e>2
   then faktorial:=faktorial(d,e-1)*e
   else faktorial:=e;
 end;

Procedure FPB_KPK;
 begin
  repeat
  clrscr;
  gotoxy(26,1); writeln('>>> Menghitung FPB dan KPK <<<');
  gotoxy(26,2); writeln('==============================');
  writeln;
  write  ('Masukkan bilangan asli pertama = '); readln(f);
  write  ('Masukkan bilangan asli kedua   = '); readln(g);
  h:=kpk_fpb(f,g);
  writeln;
  writeln('FPB dari ',f,' dan ',g,' adalah ',h);
  writeln('KPK dari ',f,' dan ',g,' adalah ',f*g div h);
  writeln;
  write  ('Mau coba lagi [Y/T] ? '); readln(jawab);
  until upcase(jawab)='T';
  readkey;
 end;

Procedure C_P;
 begin
  repeat
  clrscr;
  gotoxy(20,1); writeln('>>> Menghitung Kombinasi dan Permutasi <<<');
  gotoxy(20,2); writeln('==========================================');
  writeln;
  write  ('Masukkan bilangan n = '); readln(n);
  write  ('Masukkan bilangan r = '); readln(r);
  i:=1;
  fn:=faktorial(i,n);
  fr:=faktorial(i,r);
  fn_r:=faktorial(i,n-r);
  kombinasi:=fn/(fr*fn_r);
  permutasi:=fn/(fn_r);
  writeln;
  writeln(n,' Kombinasi ',r,' = ',kombinasi:0:0);
  writeln(n,' Permutasi ',r,' = ',permutasi:0:0);
  write  ('Mau coba lagi [Y/T] ? '); readln(jawab);
  until upcase(jawab)='T';
  readkey;
 end;

Begin
 repeat
 clrscr;
 gotoxy(12,1);
 writeln('                   SELAMAT DATANG                       ');
 gotoxy(12,2);
 writeln('>>> PROGRAM MENCARI FPB, KPK, KOMBINASI, DAN PERMUTASI <<<');
               writeln;
 gotoxy(12,4);
 writeln('           [1] Mencari FPB dan KPK');
 gotoxy(12,5);
 writeln('           [2] Mencari Kombinasi dan Permutasi');
 gotoxy(12,6);
 writeln('           [0] Exit');
 gotoxy(12,7);
 writeln('           -----------------------------------');
 gotoxy(12,8);
 write  ('           Pilihan [0..2] : '); readln(pilih);
 case pilih of
 1 : FPB_KPK;
 2 : C_P;
 0 : EXIT;
 end;
 until pilih=0;
 readkey;
end.

Tidak ada komentar:

Posting Komentar