Pertemuan 6 - Jawaban Latihan
Pertemuan 6 - Jawaban Latihan
program maksimum;
{mencari maks dari 2 angka dng function dan dng peubah}
uses crt;
var a,b,hasil:integer;
function maks(x,y:Integer):Integer ;
var temp:integer;
begin
if x<y then temp:=y else temp :=x;
maks:=temp;
end;
begin
clrscr;
Writeln(‘Program Mencari Maks dng Menggunakan Function’);
write('a : ');ReadLn(a);
Write('b : ');ReadLn(b);
hasil:=maks(a,b);
WriteLn('nilai maks : ',hasil);
writeln('Press enter to continue');
readln;
end.
*Latihan1 : Modifikasi Program diatas (mencari maks dari 2 bilangan) dengan output seperti
berikut tetapi menggunakan prosedur yang memiliki parameter pass by value dan pass
by reference (keduanya harus ada)*
Bila sudah selesai,silahkan *source programnya dan outputnya* di posting di wag ini
*JAWAB*
hasil
program maksimum;
{mencari maks dari 2 angka dng prosedur}
uses crt;
var a,b,hasil:integer;
begin
clrscr;
Writeln(‘Program Mencari Maks dng Menggunakan Prosedur’);
write('a : ');ReadLn(a);
Write('b : ');ReadLn(b);
maks(a,b,hasil);
WriteLn('nilai maks : ',hasil);
writeln('Press enter to continue');
readln;
end.
Program GenapGanjil;
uses crt;
Var
X : integer;
flag:boolean;
Begin
clrscr;
write('maukkan bilangan : ');Readln(x);
Flag:=genap(x);
if flag
then writeln('Genap')
else writeln('Ganjil');
writeln('Press enter to continue');
readln;
end.
*Latihan2 : Modikasi Program diatas (menentukan ganjilgenap) dengan output seperti berikut
tetapi menggunakan prosedur yang memiliki parameter pass by value dan pass by
reference (keduanya harus ada)*
*Bila sudah selesai,silahkan *source programnya* di posting di wag ini*
*Jawab:*
*Perhatikan cara merubah dari fungsi ke prosedur :*
a. Tambahkan di parameter formal : var <nama variabel>:tipe data. Contoh di atas adalah
*Procedure genap(n:integer; var temp: boolean);*
*Perhatikan tipe data di var sama dengan tipe data di function*
b. Tambahkan parameter aktual di pemanggil (main program) untuk menampung
perubahan nilai. Contoh disini adalah jumlah . Bila menggunakan fungsi, di main program
statementnya sbb : *flag:=genap(x)* , maka bila menggunakan prosedur, statement di main
program menjadi *genap(x,flag)*.
Program GenapGanjil;
{Program genapganjil dng menggunakan prosedur}
uses crt;
Var
x : integer;
flag:boolean;
Begin
clrscr;
write('masukkan bilangan : ');Readln(x);
genap(x,flag);
if flag
then writeln('Genap')
else writeln('Ganjil');
writeln('Press enter to continue');
readln;
end.