Minggu, 17 Juni 2012

FINAL 4: PROGRAM MENU GABUNGAN DENGAN PROCEDURE

program gabungan;
uses crt;
type data = array[1..10,1..10] of integer;
var matrikI,matrikII : data;
    baris,kolom,pil : integer;
    m,z,n,i,b:longint;
procedure isimatrik;
var  i,j : integer;
begin

     writeln('Penentuan Ordo Matriks I');
     write('Masukan banyak baris matriks I = ');readln(baris);
     write('Masukan banyak kolom matriks I = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikI[i,j]);
             end;
     clrscr;
     writeln('Penentuan Ordo Matriks II');
     write('Masukan banyak baris matrik II = ');readln(baris);
     write('Masukan banyak kolom matrik II = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikII[i,j]);
             end;
end;
procedure jumlahmatrik(m1,m2 : data);
var hasil : data;
    i,j   : integer;
begin
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
                 hasil[i,j]:=m1[i,j]+m2[i,j];
             end;
     clrscr;
     writeln('Hasil Penjumlahan Matriks');
     writeln('_________________________');
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             write(hasil[i,j]);
             end;
end;
procedure faktorial(var a:longint);
var
x:longint;
begin
x:=1;
for i := a downto 1 do
x:=x*i;
a:=x;
end;
procedure kombinasi(var l:longint);
begin
faktorial(z);
b:=n*z;
l:=m div b;
writeln;
writeln('Hasil dari Kombinasi = ',l);
writeln('______________________________');
end;
procedure isikombinasi;
begin
gotoxy(30,2); writeln('FINAL 2: KOMBINASI');
gotoxy(24,3); writeln('_______________________________');
writeln;
write('masukkan nilai n! =  '); readln(m);
b:=m;
faktorial(m);
write('masukkan nilai r! =  '); readln(n);
z:=b-n;
end;
procedure kalimatrik(m1,m2 : data);
var hasil : data;
    i,j,z   : integer;
    begin
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
                  hasil[i,j]:=0;
                  for z:=1 to baris do
                  hasil[i,j]:=hasil[i,j]+matrikI[i,z]*matrikII[z,j];
             end;
     clrscr;
     writeln('Hasil Perkalian Matriks');
     writeln('_______________________');
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             write(hasil[i,j]);
             end;
end;
{modul utama}
begin
repeat
     clrscr;
     gotoxy(24,2); writeln('NAMA              = MUHAMMAD BIBI');
     gotoxy(24,3); writeln('STAMBUK           = F1A1 11 103');
     gotoxy(24,4); writeln('JURUSAN           = MATEMATIKA');
     gotoxy(24,5); writeln('_________________________________');
     gotoxy(32,8); writeln('MENU FINAL PEMKOM');
     gotoxy(24,9); writeln('________________________________');
     gotoxy(24,11); writeln('(1) FINAL 1: Penjumlahan Matriks');
     gotoxy(24,12); writeln('(2) FINAL 2: Kombinasi');
     gotoxy(24,13); writeln('(3) FINAL 3: Perkalian Matriks');
     gotoxy(24,14); writeln('(4) Keluar');
     gotoxy(24,15); writeln('________________________________');
     gotoxy(24,17); write('Pilihan = ');readln(pil);
     clrscr;
     if pil = 1 then
     begin
              isimatrik;
              jumlahmatrik(matrikI,matrikII);
         end;
     if pil = 2 then
     begin
              faktorial(n);
              isikombinasi;
              kombinasi(n);
         end;
     if pil = 3 then
     begin
              isimatrik;
              kalimatrik(matrikI,matrikII);
         end;
         readln;
         until pil = 4 ;
end.

FINAL 3: PROGRAM PERKALIAN MATRIKS DENGAN PROCEDURE

program matriks;
uses crt;
type data = array[1..10,1..10] of integer;
var matrikI,matrikII : data;
    baris,kolom,pil : integer;
procedure isimatrik;
var  i,j : integer;
begin
     writeln('Penentuan ORDO MATRIKS I');
     write('Masukan banyak baris matriks I = ');readln(baris);
     write('Masukan banyak kolom matriks I = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikI[i,j]);
             end;
     clrscr;
     writeln('Penentuan ORDO MATRIKS II');
     write('Masukan banyak baris matriks II = ');readln(baris);
     write('Masukan banyak kolom matriks II = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikII[i,j]);
             end;
end;
procedure kalimatrik(m1,m2 : data);
var hasil : data;
    i,j,z   : integer;
    begin
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
                  hasil[i,j]:=0;
                  for z:=1 to baris do
                  hasil[i,j]:=hasil[i,j]+matrikI[i,z]*matrikII[z,j];
             end;
     clrscr;
     writeln('Hasil Perkalian Matriks');
     writeln('_________________________');
     gotoxy(40,10); writeln('programmed by MUHAMMAD BIBI');
     gotoxy(40,11); writeln('              F1A1 11 103');
     gotoxy(40,12); writeln('              MATEMATIKA');
     gotoxy(40,13); writeln('              ____________');
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             write(hasil[i,j]);
             end;
end;
begin
clrscr;
isimatrik;
kalimatrik(matrikI,matrikII);
readln;
end.

FINAL 2: PROGRAM KOMBINASI DENGAN PROCEDURE

program combination;
uses crt; {atau uses wincrt;}
var m,z,n,i,b:longint;
procedure faktorial(var a:longint);
var
x:longint;
begin
x:=1;
for i := a downto 1 do
x:=x*i;
a:=x;
end;
procedure kombinasi(var l:longint);
begin
faktorial(z);
b:=n*z;
l:=m div b;
writeln;
writeln('Hasil dari Kombinasi = ',l);
writeln('______________________________');
end;
begin
clrscr;
gotoxy(23,2); writeln('NAMA           = MUHAMMAD BIBI');
gotoxy(23,3); writeln('STAMBUK        = F1A1 11 103');
gotoxy(23,4); writeln('JURUSAN        = MATEMATIKA');
gotoxy(20,5); writeln('______________________________________');
writeln;
write('masukkan nilai n! =  '); readln(m);
b:=m;
faktorial(m);
write('masukkan nilai r! =  '); readln(n);
z:=b-n;
faktorial(n);
kombinasi(n);
readkey;
end.

FINAL 1: PENJUMLAHAN MATRIKS DENGAN PROCEDURE


program matriks;
uses crt;
type data = array[1..10,1..10] of integer;
var matrikI,matrikII : data;
    baris,kolom,pil : integer;
procedure isimatrik;
var  i,j : integer;
begin
     writeln('Penentuan ORDO MATRIKS I');
     write('Masukan banyak baris matriks I = ');readln(baris);
     write('Masukan banyak kolom matriks I = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikI[i,j]);
             end;
     clrscr;
     writeln('Penentuan ORDO MATRIKS II');
     write('Masukan banyak baris matriks II = ');readln(baris);
     write('Masukan banyak kolom matriks II = ');readln(kolom);
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             readln(matrikII[i,j]);
             end;
end;
procedure jumlahmatrik(m1,m2 : data);
var hasil : data;
    i,j   : integer;
begin
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
                 hasil[i,j]:=m1[i,j]+m2[i,j];
             end;
     clrscr;
     writeln('Hasil Penjumlahan Matriks');
     writeln('___________________________');
     gotoxy(40,10); writeln('programmed by MUHAMMAD BIBI');
     gotoxy(40,11); writeln('              F1A1 11 103');
     gotoxy(40,12); writeln('              MATEMATIKA');
     gotoxy(40,13); writeln('              _____________');
     for i:=1 to baris do
         for j:=1 to kolom do
             begin
             gotoxy(j*10,i*5);
             write(hasil[i,j]);
             end;
end;
begin
clrscr;
isimatrik;
jumlahmatrik(matrikI,matrikII);
readln;
end.