parameter & choice
DESCRIPTION
Parameter & Choice. Dasar-Dasar Pemrograman. Parameter. Parameter adalah suatu nilai yang diberikan kepada prosedur atau fungsi. Parameter diletakkan di dalam tanda kurung dari prosedur atau fungsi. - PowerPoint PPT PresentationTRANSCRIPT
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)
Marsel Willem Aipassa, S. Kom.
program cobaparam;uses crt;
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.
Formal Parameter
Actual Parameter
Contoh Parameter (2)
Marsel Willem Aipassa, S. Kom.
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.
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
Marsel Willem Aipassa, S. Kom.
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.
Contoh Passing By Reference
Marsel Willem Aipassa, S. Kom.
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.
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.
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
Contoh IF THEN
Marsel Willem Aipassa, S. Kom.
program cobaifthen;uses crt;var nilai : integer;begin clrscr; write('Masukkan nilai: ');readln(nilai); if nilai > 60 then begin writeln('LULUS'); end; write('Selesai.'); readln;end.
IF THEN
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)
Struktur ELSE IF
Marsel Willem Aipassa, S. Kom.
IF kondisi THENBEGIN………………END {tanpa titik koma}ELSE IFBEGIN………………END;
Contoh ELSE IF
Marsel Willem Aipassa, S. Kom.
program cobaelseif;uses crt;var nilai : integer;begin clrscr; write('Masukkan nilai: ');readln(nilai); if (nilai > 60) AND (nilai <= 100) then begin writeln('LULUS'); end else if (nilai <= 60) AND (nilai >= 0)then begin writeln(‘TIDAK LULUS'); end; write('Selesai.'); readln;end.
Untuk menggabungkan lebihdari satu kondisi, setiap kondisi
diletakkan di dalam tanda kurung
IF THEN
ELSE IF
Operator logika digunakansebagai penggabung kondisi
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)
Struktur ELSE
Marsel Willem Aipassa, S. Kom.
IF kondisi THENBEGIN………………END {tanpa titik koma}ELSE IFBEGIN………………ENDELSEBEGIN………………END;
Contoh ELSE
Marsel Willem Aipassa, S. Kom.
program cobaelse;uses crt;var nilai : integer;begin clrscr; write('Masukkan nilai: ');readln(nilai); if (nilai > 60) AND (nilai <= 100) then begin writeln('LULUS'); end else if (nilai <= 60) AND (nilai >= 0)then begin writeln(‘TIDAK LULUS'); end else begin writeln(‘INPUTAN TIDAK VALID'); end; write('Selesai.'); readln;end.
Bagian ELSE harusdiletakkan paling akhir
dari urutan choice
IF THEN
ELSE IF
ELSE
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.
Statement CASE OF
Marsel Willem Aipassa, S. Kom.
CASE value OF option1 : statement1; option2 : statement1; option3 : statement1; option4 : grade:='D'; ELSE statementElse;END;
Statement ELSE bersifat optional.
Contoh 1 CASE OF
Marsel Willem Aipassa, S. Kom.
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.
(Contoh 1 Jika diubah ke IF THEN ELSE)
Marsel Willem Aipassa, S. Kom.
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’
Contoh CASE OF
Marsel Willem Aipassa, S. Kom.
program cobacaseof2;uses crt;var nilai : integer;begin clrscr; write('Masukkan nilai: ');readln(nilai); case nilai of 80 .. 100 : begin writeln(‘Selamat.'); 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.
Jika dibutuhkan lebih darisatu perintah untuk dieksekusi,dapat menggunakan begin end