Sabtu, 16 Mei 2009

Menghitung Penjumlahan 10 Bilangan Ganjil Pertama

Analisa masalah:

Diketahui barisan sepuluh bilangan ganjil pertama, yaitu 1,3,5,7,9,11,13,15,17,19

Untuk menghitung penjumlahan 10 bilangan ganjil pertama maka gunakan deret aritmatika, yaitu

Sn =n/2( 2a + (n-1)b)


Dengan, a= suku pertama

b=beda/selisih antar suku

Sn = suku ke-n

Prosedur Penjumlahan, Pengurangan, Perkalian, dan Transpose Matriks











Persamaan Kuadrat

Menghitung Nilai Akhir Mahasiswa

Algoritma

uses crt;
var
nt,uts,uas,rt:real;
nim,nama,grade:string[25];
tr:longint;
begin
clrscr;
writeln(’program input’);
writeln(’===============’);
write(’masukan nim :’);readln(nim);
write(’masukan nama:’);readln(nama);
write(’masukan tugas :’);readln(nt);
write(’masukan UTS :’);readln(uts);
write(’masukan UAS :’);readln(uas);
rt:=0.25*nt+0.25*uts+0.5*uas;
tr:=round(rt);
case tr of
0..44:
begin
grade:=’E';
end;
45..55:
begin
grade:=’D';
end;
56..65:
begin
grade:=’C';
end;
66..79:
begin
grade:=’B';
end;
80..100:
begin
grade:=’A';
end;
end;

clrscr;
writeln(‘program nilai mahasiswa’);
writeln(’=======================’);
writeln;
writeln(’mahasiswa yang bernama ‘,nama);
write(’dengan nim ‘,nim);
write(’ mendapatkan nilai ‘,rt:4:0);
write(’ dan gradenya adalah ‘,grade);
readln;
end.

Prosedur Menu Pilihan Mencari Luas dan Keliling Bangun Datar

program mencari_luas_dan_keliling_bangun_datar;
uses crt;
var a,b,c,r,p,lb,t,s:integer;
L, K:real;
procedure menu;
begin
writeln('1.segitiga');
writeln('2.lingkaran');
writeln('3.persegipanjang');
writeln('4.persegi');
end;

procedure segitiga;
begin
writeln('menghitung luas dan keliling segitiga');
write('panjang a='); readln(a);
write('panjang b='); readln(b);
write('panjang c='); readln(c);
write('tinggi segitiga='); readln(t);
L:= (a*t)/2;
K:= a+b+c;
write('luas segitiga =', L:2:2); readln;
write('keliling segitiga=', K:2:2); readln;
end;

procedure lingkaran;
const phi=3.14;
begin
writeln('menghitung luas dan keliling lingkaran');
write('panjang r='); readln(r);
L:= phi*r*r;
K := phi*2*r;
write('luas lingkaran adalah',L:2:2); readln;
write('keliling lingkaran adalah', K:2:2); readln;
end;

procedure persegipanjang;
begin
writeln('menghitung luas dan keliling persegipanjang');
write('p='); readln(p);
write('l='); readln(lb);
L:= p*lb;
K := 2*p + 2*lb;
write('luas persegipanjang adalah',L:2:2); readln;
write('keliling persegipanjang adalah', K:2:2); readln;
end;

procedure persegi;
begin
write('menghitung luas dan keliling persegi');
write('s='); readln(s);
L:= s*s;
K := 4*s;
write('luas persegi adalah',L:2:2); readln;
write('keliling persegi adalah',K:2:2); readln;
end;

var pil:char;
begin
repeat
clrscr;writeln('pilih menu berikut ini:');
textcolor(blue);
menu;
write('menu yang anda pilih'); readln(pil);
case pil of
'1' : begin segitiga; end;
'2' : begin lingkaran; end;
'3' : begin persegipanjang; end;
'4' : begin persegi; end;
end;
write('mau pilih menu lagi? [Y/N]'); readln(pil);
pil:=upcase(pil);
until(pil<>'Y');
readln;

end.

Menghitung Luas dan Keliling Lingkaran

program luas_dan_keliling_lingkaran;
uses crt;
var
K,L,R:real;
const
phi=3.14;
begin
clrscr;
write ('ini adalah program untuk menghitung luas dan keliling lingkaran');
write ('masukkan nilai R: '); readln (R);
L:=phi*R*R;
K:=2*phi*R;
write ('nilai L adalah ', L);
write ('nilai K adalah ', K);
end.

Sistem Persamaan Linier Tiga Variabel








































Algoritma


Persamaan Linear Tiga Variabel

Ax + By + Cz = D ………… (1)

Ex + Fy + Gz = H …………(2)

Px + Qy + Rz = S ………… (3)

Eliminasi persamaan (1) dan (2)

Ax + By + Cz = D * G AGx + BGy + CGz = DG

Ex + Fy + Gz = H * C ECx + FCy + GCz = HC -

(AG – EC)x + (BG – FC)y = DG – HC ............ (4)

Eliminasi persamaan (1) dan (3)

Ax + By + Cz = D *R ARx + BRy + CRz = DR

Px + Qy + Rz = S *C PCx + QCy + RCz = SC -

(AR – PC)x + (BR – QC)y = DR – SC ............... (5)

Eliminasi persamaan (4) dan (5)

(AG – EC)x + (BG – FC)y = DG – HC *(BR-QC) (AG – EC)(BR-QC)x + (BG – FC)(BR-QC)y = (DG – HC)(BR-QC)

(AR – PC)x + (BR – QC)y = DR – SC *(BG-FC) (AR – PC)(BG-FC)x + (BR – QC)(BG-FC)y = (DR – SC)(BG-FC) -

[(AG – EC)(BR-QC) – (AR – PC)(BG-FC)]x = (DG – HC)(BR-QC)

x = (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC)]

Masukkan nilai x ke persamaan (4) atau (5)

misalnya ke persamaan (4)

(AG – EC)x + (BG – FC)y = DG – HC

(AG – EC) (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC) + (BG – FC)y = DG – HC

y = (DG – HC)/ (BG – FC) - (AG – EC) (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC) ] (BG – FC)

Masukkan nilai x dan y ke salah satu persamaan awal, persamaan (1), (2),atau (3)

misalnya ke persamaan (1)

Ax + By + Cz = D

A (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC)] + B (DG – HC)/ (BG – FC) - (AG – EC) (DG – HC)(BR-QC) / [(AG - EC) (BR-QC) – (AR – PC)(BG-FC) ] (BG – FC) + Cz = D

z = D/C - [A (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC)] + B ((DG – HC) / (BG – FC)) - (AG – EC) (DG – HC)(BR-QC) / [(AG - EC) (BR-QC) – (AR – PC)(BG-FC) ] (BG – FC)] /C

Jadi,

x = (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC)]

y = (DG – HC)/ (BG – FC) - (AG – EC) (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC) ] (BG – FC)

z = D/C - [A (DG – HC)(BR-QC) / [(AG – EC)(BR-QC) – (AR – PC)(BG-FC)] + B ((DG – HC) / (BG – FC)) - (AG – EC) (DG – HC)(BR-QC) / [(AG - EC) (BR-QC) – (AR – PC)(BG-FC) ] (BG – FC)] /C

Jumat, 15 Mei 2009

Analisa Menghitung FPB Dua Bilangan




Jika m>n
r= m mod n
jika r=0 maka FPB nya adalah n
jika r ≠ 0 maka r1=n mod r
jika r1=0, maka FPBnya adalah r
tapi jika r1 ≠ 0, maka r2=r mod r1
jika r2=0, maka FPBnya adalah r1, dst sampai didapat rn=0 sehingga FPBnya adalah rn-1

jika m
r= n mod m
jika r=0 maka FPB nya adalah m
jika r ≠ 0 maka r1=m mod r
jika r1=0, maka FPBnya adalah r
tapi jika r1 ≠ 0, maka r2=r mod r1
jika r2=0, maka FPBnya adalah r1, dst sampai didapat rn=0 sehingga FPBnya adalah rn-1


Algoritma FPB :

Program Menentukan_FPB_dengan_Menggunakan_Algoritma_Euclide;
uses crt;
var
x,y,a,b,p,q:integer;
begin
clrscr;
writeln ('Program FPB dengan Menggunakan Algoritma Euclides ');
writeln ('*************************************************');
writeln ('masukan bilangan pertama='); readln (p);
writeln ('masukan bilangan kedua='); readln (q);
readln;
if p>q then
begin
a:=p;
b:=q;
end else
begin
a:=q;
b:=p;
end;

writeln;
y:=a mod b;
x:=a div b;

write (a);
write ('=');
write (x);
write ('*');
write (b);
write ('+');
writeln (y);
repeat
a:=b;
b:=y;
y:=a mod b;
x:=a div b;

write (a);
write ('=');
write (x);
write ('*');
write (b);
write ('+');
writeln (y);
until y=0;
write('jadi nilai FPB adalah ');
writeln (b);
readln;
end.