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.

Selasa, 01 Mei 2012

PROGRAM GABUNGAN LUAS DAN KELILING BANGUN DATAR

Menggabungkan bangun datar dalam satu program memang tidak mudah, tapi kata bang H. Roma Irama "banyak jalan menuju roma" dan tentu pernah mendengar istilah diman ada kemauan disitu pasti ada jalan. oleh karena tiu janganlah ragu dan gunda sebab didepan anda telah ada jalan keluar.
Bagi agan-agan yang bingung dengan tugasnya membuat program gabungan bangun datar ini gue kasih sedikit contoh programnya.
ini programnya.

uses crt;
var n: char;
    sa,sb,t,t1,ts,a,b,c,d,a1,b1,c1,ab,bc,cd,da,a3,b3,r,d1,d2,kt,ks,kb,ky,dg1,dg2:longint;
    ls,ll,kl,lb,lt,ly: real;
begin
repeat
clrscr;
gotoxy(26,2); writeln('NAMA               = ?');
gotoxy(26,3); writeln('STAMBUK        = ?');
gotoxy(26,4); writeln('JURUSAN         = ?');
gotoxy(20,5); writeln('__________________________________________');
writeln;
writeln;
gotoxy(16,8); writeln('PROGRAM MENGHITUNG LUAS DAN KELILING BANGUN DATAR');
gotoxy(14,9);writeln('_____________________________________________________');
writeln;
writeln('>> 1. TRAPESIUM');
writeln('>> 2. LAYANG-LAYANG');
writeln('>> 3. BELAH KETUPAT');
writeln('>> 4. 1/2 LINGKARAN');
writeln('>> 5. SEGITIGA');
writeln('>> 6. keluar');
writeln('__________________________________________');
writeln;
write('pilih perhitungan yang diinginkan (1/2/3/4/5/6) = '); readln(n);
if n= '1' then
begin
clrscr;
gotoxy(23,2); writeln('Menghitung Luas dan Keliling Trapesium');
gotoxy(23,3); writeln('______________________________________');
writeln;
write('masukkan nilai sisi a = '); readln(a);
write('masukkan nilai sisi b = '); readln(b);
write('masukkan nilai sisi c = '); readln(c);
write('masukkan nilai sisi d = '); readln(d);
write('masukkan nilai tinggi = '); readln(t);
lt:= (a+b)*t/2;
kt:= a+b+c+d;
writeln('luas trapesium yaitu     = ',lt:6:2);
writeln('keliling trapesium yaitu = ',kt:6);
readln;
end;
if n= '2' then
begin
clrscr;
gotoxy(23,2); writeln('Menghitung Luas dan Keliling Layang-Layang');
gotoxy(23,3); writeln('____________________________________________');
writeln;
write('masukkan nilai sisi a         = '); readln(a3);
write('masukkan nilai sisi b         = '); readln(b3);
write('masukkan nilai diagonal 1 = '); readln(dg1);
write('masukkan nilai diagonal 2 = '); readln(dg2);
ly:= dg1*dg2/2 ;
ky:= 2*(a3+b3) ;
writeln('luas layang-layang yaitu     = ',ly:6:2);
writeln('keliling layang-layang yaitu = ',ky:6);
readln;
end;
if n= '3' then
begin
clrscr;
gotoxy(23,2); writeln('Menghitung Luas dan Keliling Belah Ketupat');
gotoxy(23,3); writeln('__________________________________________');
writeln;
write('masukkan nilai sisi ab    = '); readln(ab);
write('masukkan nilai sisi bc    = '); readln(bc);
write('masukkan nilai sisi cd    = '); readln(cd);
write('masukkan nilai sisi da    = '); readln(da);
write('masukkan nilai diagonal 1 = '); readln(d1);
write('masukkan nilai diagonal 2 = '); readln(d2);
lb:= d1*d2/2;
kb:= ab+bc+cd+da;
writeln('luas belah ketupat yaitu     = ',lb:6:2);
writeln('keliling belah ketupat yaitu = ',kb:6);
readln;
end;
if n= '4' then
begin
clrscr;
gotoxy(23,2); writeln('Menghitung Luas dan Keliling Setengah Lingkaran');
gotoxy(23,3); writeln('_______________________________________________');
writeln;
write('masukkan nilai jari-jari = '); readln(r);
ll:= 3.14*r*r/2;
kl:= 3.14*r;
writeln('luas setengah lingkaran yaitu     = ',ll:6:2);
writeln('keliling setengah lingkaran yaitu = ',kl:6:2);
readln;
end;
if n= '5' then
begin
clrscr;
gotoxy(23,2); writeln('Menghitung Luas dan Keliling Segi Tiga');
gotoxy(23,3); writeln('______________________________________');
writeln;
write('masukkan nilai sisi a = '); readln(a1);
write('masukkan nilai sisi b = '); readln(b1);
write('masukkan nilai sisi c = '); readln(c1);
write('masukkan nilai tinggi = '); readln(t1);
ls:= a1*b1*t1/2;
ks:= a1+b1+c1;
writeln('luas segi tiga yaitu     = ',ls:6:2);
writeln('keliling segi tiga yaitu = ',ks:6);
readln;
end;
until n= '6'
end.

hasil runnya:
 

Selamat mencoba!!!!!!!!!!
goog luck