You are on page 1of 26

Marsel Willem Aipassa, S.

Parameter & Choice


Kom.

Dasar-Dasar Pemrograman
Parameter
 Parameter adalah suatu nilai yang diberikan kepada prosedur
atau fungsi.
 Parameter diletakkan di dalam tanda kurung dari prosedur
atau fungsi.
 Parameter yang dikirimkan dari prosedur utama ke sub
prosedur disebut sebagai actual parameter. Dan parameter
yang ada pada judul sub prosedur disebut sebagai formal
parameter. Actual parameter dan formal parameter harus
memiliki tipe data yang sama.

Marsel Willem Aipassa, S. Kom.


Contoh Parameter (1)
program cobaparam;
uses crt; Formal
FormalParameter
Parameter
procedure kali2(nilai : integer);
begin
writeln(nilai,‘ * 2 = ’, (nilai*2));
end;
var
nilai : integer;
begin
clrscr;
write(‘Masukkan nilai: ’);readln(nilai);
kali2(nilai);
readln;
end. Actual
ActualParameter
Parameter

Marsel Willem Aipassa, S. Kom.


Contoh Parameter (2)
program param;
uses crt;

procedure kali2(nil1 : integer);


begin
writeln(nil1,‘ * 2 = ’,(nil1*2));
end;

function kali(nil1,nil2 : integer) : integer;


begin
kali := nil1*nil2;
end;

var
nilai1 : integer;
nilai2 : integer;
begin
clrscr;
write(‘Masukkan nilai 1: ’);readln(nilai1);
write(‘Masukkan nilai 2: ’);readln(nilai2);
writeln(‘Dari prosedur:’);
kali2(nilai1);
writeln(‘Dari fungsi:’);
writeln(nilai1,‘ * ’,nilai2,‘ = ’,kali(nilai1,nilai2));
readln;
end.
Marsel Willem Aipassa, S. Kom.
Jenis Passing Parameter
 Ada dua jenis pemberian nilai (passing) parameter
 Passing by value
 Jika melakukan passing jenis ini maka nilai parameter yang
dikirimkan tidak mempengaruhi nilai actual parameter.
 Passing by reference
 Jika melakukan passing jenis ini maka nilai parameter yang
dikirimkan dapat mempengaruhi nilai actual parameter. Untuk
menandai suatu parameter adalah reference untuk actual
parameternya dipakai kata kunci var pada subprogram yang
menerima.

Marsel Willem Aipassa, S. Kom.


Contoh Passing By Value
program cobaparam2;
uses crt;
procedure cobapro(nilai : integer);
begin
nilai := 5;
writeln('Dari pro: ',nilai);
end;
var nilai : integer;
begin
clrscr;
nilai := 3;
writeln('Utama: ',nilai);
cobapro(nilai);
writeln('Utama: ',nilai);
readln;
end.

Marsel Willem Aipassa, S. Kom.


Contoh Passing By Reference
program cobaparam2;
uses crt;
procedure cobapro(var nilai : integer);
begin
nilai := 5;
writeln('Dari pro: ',nilai);
end;
var nilai : integer;
begin
clrscr;
nilai := 3;
writeln('Utama: ',nilai);
cobapro(nilai);
writeln('Utama: ',nilai);
readln;
end.

Marsel Willem Aipassa, S. Kom.


Choice (Percabangan)
 Setiap program yan kompleks mengandung suatu
penyeleksian kondisi. Dengan menyeleksi suatu kondisi,
program dapat menentukan tindakan apa yang harus
dikerjakan tergantung dari kondisi yang diseleksi tersebut.
 Dalam pascal, untuk menyeleksi suatu kondisi digunakan
statement IF THEN ELSE dan statement CASE OF.

Marsel Willem Aipassa, S. Kom.


IF THEN
 Statement IF THEN akan membandingkan suatu kondisi dan
jika kondisi yang dibandingkan tersebut bernilai benar
(TRUE), maka program akan menjalankan perintah yang
berada di dalam begin dan end;.
 Akan tetapi jika kondisi tersebut bernilai salah (FALSE) maka
program tidak akan mengeksekusi perintah tersebut.
 Pada IF dapat digabungkan lebih dari satu kondisi dengan
menggunakan operator logika (AND, OR, XOR, dll).

Marsel Willem Aipassa, S. Kom.


Ekspresi Boolean
Notasi Makna
< Lebih kecil dari
> Lebih besar dari
= Sama dengan
<= Lebih kecil dari atau sama dengan
>= Lebih besar dari atau sama dengan
<> Tidak sama dengan

Marsel Willem Aipassa, S. Kom.


Ekspresi Boolean
Notasi Makna
NOT Negasi (~)
AND Konjungsi/dan (^)
OR Disjungsi/atau (V)
XOR Exclusive-or

Marsel Willem Aipassa, S. Kom.


Struktur IF THEN
IF kondisi THEN
BEGIN
………………
END;

Marsel Willem Aipassa, S. Kom.


Contoh IF THEN
program cobaifthen;
uses crt;
var nilai : integer;
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
if nilai > 60 then
begin
writeln('LULUS');
end; IF THEN
write('Selesai.');
readln;
end.

Marsel Willem Aipassa, S. Kom.


ELSE IF
 Pada statemen IF THEN dapat ditambahkan bagian ELSE IF

 Jika kondisi pada bagian IF THEN bernilai FALSE maka


kondisi lalu dibandingkan lagi di ELSE IF dan berlaku
ketentuan seperti pada bagian IF.
 Jika kondisi pada IF THEN bernilai TRUE maka bagian ELSE
IF akan dilewatkan.
 IF THEN dapat memiliki lebih dari satu bagian ELSE IF.

 ELSE IF bersifat optional (boleh ada, boleh tidak)

Marsel Willem Aipassa, S. Kom.


Struktur ELSE IF
IF kondisi THEN
BEGIN
………………
END {tanpa titik koma}
ELSE IF
BEGIN
………………
END;

Marsel Willem Aipassa, S. Kom.


Contoh ELSE IF
program cobaelseif;
uses crt; Operator logika digunakan
var nilai : integer; sebagai penggabung kondisi
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
if (nilai > 60) AND (nilai <= 100) then
begin

end
writeln('LULUS'); IF THEN
else if (nilai <= 60) AND (nilai >= 0)then
begin
writeln(‘TIDAK LULUS');
end;
ELSE IF
write('Selesai.');
readln; Untuk menggabungkan lebih
end. dari satu kondisi, setiap kondisi
diletakkan di dalam tanda kurung

Marsel Willem Aipassa, S. Kom.


ELSE
 IF THEN dapat ditambah suatu bagian lagi yang disebut
sebagai ELSE.
 Jika kondisi pada bagian IF THEN atau ELSE IF semuanya
bernilai FALSE, maka bagian ELSE akan dijalankan tanpa
mambandingkan kondisi.
 Jika kondisi pada bagian-bagian sebelum ELSE bernilai
TRUE maka bagian ELSE akan dilewatkan.
 ELSE bersifat optional (boleh ada, boleh tidak)

Marsel Willem Aipassa, S. Kom.


Struktur ELSE
IF kondisi THEN
BEGIN
………………
END {tanpa titik koma}
ELSE IF
BEGIN
………………
END
ELSE
BEGIN
………………
END;

Marsel Willem Aipassa, S. Kom.


Contoh ELSE
program cobaelse;
uses crt;
var nilai : integer;
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
if (nilai > 60) AND (nilai <= 100) then
begin
writeln('LULUS');
IF THEN
end
else if (nilai <= 60) AND (nilai >= 0)then
begin ELSE IF
writeln(‘TIDAK LULUS');
end
else
begin ELSE
writeln(‘INPUTAN TIDAK VALID');
end;
write('Selesai.');
readln; Bagian ELSE harus
end. diletakkan paling akhir
dari urutan choice

Marsel Willem Aipassa, S. Kom.


CASE OF
 Penggunaan statement CASE OF ini sebagai choice hampir
sama dengan IF THEN ELSE.
 Pada CASE OF terdapat dua nilai yang memberikan nilai
kondisi yaitu value dan option.
 Pernyataan pada CASE OF akan dieksekusi jika value
memiliki nilai yang sama dengan option.
 Perbedaannya dengan IF THEN ELSE yaitu CASE OF tidak
bisa menggabungkan lebih dari satu kondisi dengan
menggunakan operator logika.

Marsel Willem Aipassa, S. Kom.


CASE OF
 Selain itu CASE OF hanya menggunakan option untuk nilai
yang akan dibandingkan.
 Option harus bertipe data bilangan (integer, float, dll) atau
char.

Marsel Willem Aipassa, S. Kom.


Statement CASE OF
CASE value OF
option1 : statement1;
option2 : statement1;
option3 : statement1;
option4 : grade:='D';
ELSE statementElse;
END;

Statement ELSE bersifat optional.

Marsel Willem Aipassa, S. Kom.


Contoh 1 CASE OF
program cobacaseof;
uses crt;
var nilai : integer;
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
case nilai of
1 : writeln('Nilai satu.');
2 : writeln('Nilai dua.');
3 : writeln('Nilai tiga.');
else : writeln(‘Nilai tidak dikenal');
end;
write('Selesai.');
readln;
end.

Marsel Willem Aipassa, S. Kom.


(Contoh 1 Jika diubah ke IF THEN
ELSE)
program cobacaseof;
uses crt;
var nilai : integer;
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
if nilai = 1 then
begin
writeln('Nilai satu');
end
else if nilai = 2 then
begin
writeln('Nilai dua');
end
else if nilai = 3 then
begin
writeln('Nilai tiga');
end
else
begin
writeln('Nilai tidak dikenal.');
end;
write('Selesai.');
readln;
end.

Marsel Willem Aipassa, S. Kom.


CASE OF
 Nilai option pada CASE OF dapat di buat ke dalam bentuk
range/jangkauan dengan menggunakan notasi ‘..’
 Contoh jangkauan 1 sampai 10 akan dituliskan ‘1 .. 10’

Marsel Willem Aipassa, S. Kom.


Contoh CASE OF
program cobacaseof2;
uses crt;
var nilai : integer;
begin
clrscr;
write('Masukkan nilai: ');readln(nilai);
case nilai of
80 .. 100 : Jika dibutuhkan lebih dari
begin satu perintah untuk dieksekusi,
writeln(‘Selamat.'); dapat menggunakan begin end
writeln('Nilai A.');
end;
60 .. 79 : writeln('Nilai B.');
40 .. 59 : writeln('Nilai C.');
20 .. 39 : writeln('Nilai D.');
0 .. 19 : writeln('Nilai E.');
else : writeln(‘Nilai tidak dikenal');
end;
write('Selesai.');
readln;
end.

Marsel Willem Aipassa, S. Kom.

You might also like