Contoh
Procedure
Penyelesaian:
Program bintang;
Uses crt;
Procedure tulisbintang (n:integer);
Var i : integer;
begin
for i:=1 to n do
write (‘*’);
writeln;
end;
var a:integer;
begin
write(‘masukan banyak bintang’);readln(a);
tulisbintang(a);
end.
OUTPUTNYA
program pertukaran;
uses crt;
var angka1,angka2:integer;
procedure tukar (var a, b : integer);
{menukar isi a menjadi b dan sebaliknya}
Var temp: integer;
Begin
Temp:=a;
a:=b;
b:= temp;
end;
{program utama}
Begin
Writeln(‘sebelum pertukaran’);
Write(‘angka 1:’);readln(angka1);
Write(‘angka2:’);readln(angka2);
Tukar(angka1,angka2);
Writeln;
Write(‘angka1:’, angka1);
Write(‘angka2:’,angka2);
End.
OUTPUTNYA
Contoh
Function
program f_jumlah;
Uses crt;
Var
X, Y : integer ;
Function Hitung(Var A,B : integer): integer;
Begin
Hitung := A + B;
End;
Begin
Write('Nilai X ? '); readln(X);
Write('Nilai Y ? '); readln(Y);
Writeln;
Writeln(X,' + ',Y,' = ', Hitung(X,Y));
End.
outputnya
program fungsi1;
uses
crt;
function
luas (a,b:integer):integer;
begin
luas :=a*b;
end;
var
x,y:integer;
begin
clrscr;
writeln('Program Menghitung Luas
Persegi Panjang');
writeln;
write('Masukan Lebar= ');readln(x);
write('Masukan Panjang= ');readln(y);
writeln;
writeln('Luas Persegi Panjang adalah=
',luas(x,y));
readln;
end.
outputnya
Program terbesar;
Uses crt
Var angka1,angka2:integer;
Terbesar:integer;
Function maks(a,b : integer) : integer;
Begin
If a>b then
Maks:=a
Else maks:=b;
End;
{program utama}
Begin
Write (‘angka pertama=’);readln(angka1);
Write (‘angka kedua=’);readln(angka2);
Terbesar:=maks(angka1,angka2);
Write (‘angka terbesar adalah’,terbesar);
OUTPUT
Buatlah sebuah fungsi untuk mengkonversi nilai mata uang dalam rupiah ke dolar, yang menerima dua buah integer yang masing masing menyatakan nilai uang dalam rupiah dan nilai tukar 1 dolar dalam rupiah, serta mengirimkan nilai rupiah tersebut dalam dolar
Penyelesain:
Program kurs_uang;
Var rupiah,kursdolar:integer;
Dolar:real;
Function nilaidolar(rp,kurs : integer) : real
Begin
Nilaidolar:=rp/kurs;
End;
{program utama}
Begin
Write(‘masukan nilai rupiah=’);readln(rupiah);
Write(‘kurs 1 dolar=’);readln(kursdolar);
Dolar:=nilaidolar(rupiah,kursdolar);
Write(‘Rp’, rupiah, ‘=’, dolar:3:2, ‘dolar’);
End.
Contoh
Rekusi
Contoh 1:
Proses rekursif yang tidak pernah berakhir
(karena tidak mengandung kondisi untuk mengakhirkan rekursi tersebut)
Program
REKURSI_DENGAN_AKHIR;
Uses crt;
Var
ulang : integer;
procedure Rekursi;
Begin
if ulang < 5 then
begin
write(‘UNINDRA’);
ulang := ulang +
1;
Rekursi;
end;
end;
Begin
ulang := 0;
Rekursi;
End.
Hasil
Output :
Bila program dijalankan, maka proses rekursi akan terus
dijalankan tanpa berhenti sebagai berikut:
UNINDRA UNINDRA UNINDRA UNINDRA UNINDRA . . .
Contoh 2:
Proses rekursi sebanyak 5 kali, yaitu dengan
menyeleksi kondisi dari peubah ulang sampai dengan bernilai 5
Program REKURSI_DENGAN_AKHIR;
Uses crt
Var
ulang : integer;
procedure Rekursi;
Begin
if ulang < 5 then
begin
write(‘Informatika
’);
ulang := ulang +
1;
Rekursi;
end;
end;
Begin
ulang := 0;
Rekursi;
End.
OUTPUT
Contoh
3:
Prosedur Deret untuk
menampilkan suatu deret bilangan bulat N dari 0 sampai dengan 5
Program DERET_BILANGAN;
var
N : integer;
procedure Deret(N : integer);
begin
write(N:3);
if N < 5 then
Deret(N+1);
end;
end;
begin
N := 0;
Deret(N);
end.
Hasil Output:
0 1 2 3 4 5
Contoh 4:
(Faktorial)
- Faktorial
adalah 1x2x3x4x...N (dengan asumsi N lebih besar dari 3) dan
dapat dirumuskan dengan:
PROGRAM HITUNG_FAKTORIAL;
var
N : integer;
function Faktorial(N:
integer):
integer;
begin
if N <= 1 then
Faktorial := 1
else
Faktorial := N * Faktorial(N-1);
end;
begin
write(‘Berapa faktorial ?’);
readln(N);
write(‘Faktorial= ‘,Faktorial(N));
end.
Contoh
Iterasi
Angka
Fungsi: Tak ada fungsi khusus, hanya
menampilkan pola-pola angka saja…
Hint : Begitu jalan, langsung
masukan angka saja, Jangan masukan angka terlalu kecil atau besar.
Contoh outputnya
uses crt;
var inp,i,a,t,r:integer;
begin
readln(inp);
t:=inp;
for i:=1 to inp do
begin
for a:=1 to inp do
write(a-t);
writeln;
t:=t-1;
end;
readln;
end.
Jumlah Pangkat
Fungsi: untuk menghasilkan
deret pangkat, misal : 1, 4, 9, 16, 25 dst dan menjumlahkannya
Hint : Masukan jumlah deret pangkat
yang akan ditampilkan untuk di jumlah…
uses crt;
var k,jum:double;
i,n:longint;
begin
clrscr;
readln(n);
jum:=0;
for i:=1 to n do
begin
k:=sqr(i);
write(k:0:0);
if i<>n then
write('+');
jum:=jum+k;
end;
write('=',jum:0:0);
readln;
end.
Tebak Angka
Fungsi: Permainan Tebak angka,
masukan angka rahasia dan suruh teman untuk menebaknya
Hint : Permainan ini tidak
akan asik bila dilakukan sendirian.
uses crt;
var a,teb,c,d,rhs:integer;
begin
Write('Bilangan Rahasia : ');readln(rhs);
clrscr;
repeat
write('masukan Tebakan anda : ');readln(teb);
if (teb<>rhs) and (teb>rhs) then
writeln('Bilangan terlalu besar!')
else if (teb<>rhs) and (teb
writeln('bilangan terlalu kecil');
until (teb=rhs);
writeln('Tebakan Anda Benar!!!!,
selamat!!!!');
readln;
end.
Z
Fungsi: Melukis huruf Z dengan
karakter ‘*’ sebesar jumlah perulangan yang di inputkan
Hint : Masukan angka untuk
menentukan besar huruf Z
uses crt;
var n,i,a:integer;
begin
readln(n);
for i:=1 to n do
begin
for a:=1 to n do
begin
if (i=1) or (i=n) then
write('#')
else if (i<>1) and (i<>n)
then
begin
if a+i=n then
write('#')
else
write(' ');
end;
end;
writeln;
end;
readln;
end.
thanks gan sudah share
BalasHapussolder infrared