26
Parameter & Choice Dasar-Dasar Pemrograman Marsel Willem Aipassa, S. Kom.

Parameter & Choice

Embed Size (px)

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 Presentation

Citation preview

Parameter & ChoiceDasar-Dasar PemrogramanM

ars

el

Wil

lem

Aip

assa,

S.

Kom

.

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

Struktur IF THEN

Marsel Willem Aipassa, S. Kom.

IF kondisi THENBEGIN………………END;

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