Anda di halaman 1dari 7

*JAWABAN LATIHAN PERTEMUAN 6*

*Berikut program mencari maks dari 2 angka dng menggunakan function.*

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

*Perhatikan cara merubah dari fungsi ke prosedur :*


a. Tambahkan di parameter formal : var <nama variabel>:tipe data. Contoh di atas adalah
*Procedure maks(x,y :integer; var temp: integer);*
*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 : *hasil:=maks(a,b)* , maka bila menggunakan prosedur, statement di main
program menjadi *maks(a,b,hasil)*.

*Source Program dng menggunakan prosedur sbb*

program maksimum;
{mencari maks dari 2 angka dng prosedur}
uses crt;
var a,b,hasil:integer;

procedure maks(x,y:Integer;var temp:Integer);


begin
if x<y then temp:=y else temp :=x;
end;

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.

*Kita lanjut ke latihan 2*


*Berikut adalah program menentukan genap ganjil dng menggunakan function*

Program GenapGanjil;
uses crt;
Var
X : integer;
flag:boolean;

*Function* Genap(n : integer) : boolean;


var temp:boolean;
Begin
if (n mod 2) = 0 then temp:=true else temp:=false;
genap:=temp;
end;

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;

procedure Genap(n : integer; var temp: boolean);


Begin
temp := (n mod 2) = 0;
end;

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.

Anda mungkin juga menyukai