Tugas Pendahuluan 10.
PRAKTIKUM
ALGORITMA DAN
PEMROGRAMAN
OLEH
LUH PUTU SUCI VANDASARI
F1A113054
KELAS A
JURUSAN MATEMATIKA
PROGRAM STUDI
MATEMATIKA
FAKULTAS MATEMATIKA
DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS HALU OLEO
2014
SOAL.
1.
Perbedaan
function dengan procedure! Contoh function.
2.
Buat
program function untuk menentukan nilai faktorial dan kombinasi!
3.
Buat
program menjumlahkan pecahan!
PENYELESAIAN.
1.
Function merupakan sebuah kumpulan statement yang akan mengembalikan sebuah nilai
balik pada pemanggilnya. Nilai yang dihasilkan Function harus ditampung kedalam
sebuah variabel. Perbedaan antara function dan procedure adalah function akan
mengembalikan suatu nilai pada pemanggilnya, sedangkan pada procedure tidak
akan mengembalikan nilai apapun pada fungsi pemanggilnya
Contoh
function.
uses crt;
function pangkat(S :real; U:integer):real;
var c : real;
y : integer;
begin
y:=abs(U);
if (S<>0) and (U=0) then pangkat:=1
else if U>0 then
pangkat:=S*pangkat(S,U-1)
else if (U<0) then pangkat:=1/(S*pangkat(S,y-1));
end;
var S: real;
U: integer;
begin
TEXTBACKGROUND(1);
clrscr;
TEXTCOLOR(14);
writeln('******** PROGRAM PANGKAT ********');
writeln;
writeln;
TEXTCOLOR(15);
write('Masukkan bilangan yang dipangkatkan : ');readln(S);
write('Masukkan bilangan pangkat : ');readln(U);
writeln;
writeln(S:0:2,' Pangkat ',U,' = ',pangkat(S,U):0:2);
gotoxy(45,10);writeln('TERIMA KASIH .^^');
readln;
end.
Hasil
RUN.
2.
Program nilai
factorial dan kombinasi.
a.
Program nilai
factorial.
USES CRT;
FUNCTION FACTORIAL (N: BYTE):LONGINT;
BEGIN
IF N<2 THEN
FACTORIAL :=1
ELSE
FACTORIAL:=N*FACTORIAL(N-1);
END;
VAR X:BYTE;
BEGIN
TEXTBACKGROUND(5);
TEXTCOLOR(14);
CLRSCR;
WRITELN('========== MENENTUKAN FAKTORIAL SUATU
NILAI ==========');
WRITELN;
WRITELN;
WRITE('Masukkan nilai yang Anda inginkan :
');READLN(X);
WRITELN;
WRITELN('Nilai dari ',X,'! adalah ',FACTORIAL(X));
GOTOXY(45,10);WRITELN('TERIMA KASIH .^^');
READLN;
END.
Hasil
RUN.
a.
Program kombinasi.
uses crt;
var V,A:integer;
function kombinasi1(S:integer):longint;
begin
if S=0 then
kombinasi1:=1
else
kombinasi1:=S*kombinasi1(S-1);
end;
function kombinasi2(U,C:integer):longint;
begin
kombinasi2:=trunc(kombinasi1(U)/(kombinasi1(C)*kombinasi1(U-C)));
end;
begin
while V<=A do
begin
textbackground(1);
textcolor(14);
clrscr;
writeln;
writeln('========= PROGRAM KOMBINASI =========');
WRITELN('______________________________________');
writeln;
writeln('RUMUS KOMBINASI!');
writeln;
writeln(' n! ');
writeln('C(n,k) =
--------');
writeln('
(n-k)!k!');
writeln;
write(' Masukan nilai n= ');readln(V);
writeln;
write(' Masukan nilai k= ');readln(A);
writeln(' Maka :');
writeln;
writeln(' ',V,'!');
writeln('C(',V,',',A,') = --------');
writeln('
(',V,'-',A,')!',A,'!');
writeln;
end;
writeln;
writeln('Banyaknya kombinasi ',V,' unsur dari
',A,' unsur adalah = ',kombinasi2(V,A));
writeln;
writeln('TERIMA KASIH .^^');
readln;
end.
Hasil
RUN.
3.
Program
menjumlahkan pecahan.
uses crt;
var a,b,c,d,e,f : integer;
ulang : char;
function pecahan(u,y : integer):integer;
begin
e:=d;
f:=c;
pecahan:=u*e+f*y;
end;
function jawab(v,n :integer):integer;
begin
jawab:=v*n;
end;
begin
textbackground(1);
clrscr;
repeat
writeln('==##== PROGRAM PENJUMLAHAN PECAHAN ==##==');
writeln('_________________________________________');
writeln;
writeln;
writeln('Pecahan I');
write('Masukkan pembilang = ');readln(a);
write('Masukkan penyebut
= ');readln(c);
writeln;
writeln('Pecahan II');
write('Masukkan pembilang = ');readln(b);
write('Masukkan penyebut
= ');readln(d);
writeln;
writeln('Hasil penjumlahan kedua pecahan tersebut adalah :');
writeln;
writeln(a,'/',c,' + ',b,'/',d,' =
',pecahan(a,b),'/',jawab(c,d));
gotoxy(45,20);writeln('TERIMA KASIH .^^');
readln;
clrscr;
writeln('Keterangan : Y = Yes/Iya');
writeln(' N =
No/Tidak');
writeln;
write('Apakah Anda ingin mengulang program ini? :
');readln(ulang);
clrscr;
until ulang='N'
end.
Hasil
RUN.
Tidak ada komentar:
Posting Komentar