19
8/8/2019 07 Procedure http://slidepdf.com/reader/full/07-procedure 1/19 PROCEDURE Oleh: M. Ade Erik (19870911 201001 1 006) Doc Versi. 07.00/Pas/OSN/TIK/2010 SMA Negeri 1 Tegal

07 Procedure

Embed Size (px)

Citation preview

Page 1: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 1/19

PROCEDUREOleh: M. Ade Erik (19870911 201001 1 006)

Doc Versi. 07.00/Pas/OSN/TIK/2010

SMA Negeri 1 Tegal

Page 2: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 2/19

Pembahasan:

Parameter dalam Prosedur 

Prosedur Memanggil Prosedur Lain

Nested Procedure

Prosedur Memanggil Dirinya

Prosedur Standard

Page 3: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 3/19

Pemrograman Modular 

Modular programming adalah merupakan suatu teknik

untuk menulis program yang berukuran besar. Program

dibagi menjadi beberapa bagian kecil. Tiap bagian disebut

module, yang melakukan suatu tugas tertentu. Pascal mengenal module diantaranya:

1. Procedure

a) Procedure Sederhana tidak menerima argumen (nilai atau data)

ketika dieksekusi.

b) Procedure Kompleks menerima nilai yang diproses ketika

dieksekusi.

2. Function : mempunyai kemampuan untuk menghasilkan

nilai pada procedure atau program yang memanggilnya

Page 4: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 4/19

Jika kita ingin menggunakan procedure dalam suatu

program maka procedure tersebut harus dituliskan pada

bagian deklarasi.

program tukar_ab; uses wincrt; Var a,b,c:integer;

procedure tukar;

Begin c:=a;a:=b;b:=c; end;

begin write('a= ');readln(a);write('b= ');readln(b); tukar;

write('a= ',a,'; b= ',b);

end.

Deklarasi

Header 

Statement Inti

Page 5: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 5/19

Prosedure Sederhana

Procedure yang tidak menerima argumen (nilai atau data)

ketika dieksekusi.

program sederhana;

uses wincrt; procedure pro1;

Var a,b,c:integer;

Begin readln(a,b); c:=a;a:=b;b:=c; writeln('a= ',a,';b= ',b);

end;

begin

pro1;

end.

Page 6: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 6/19

Procedure Kompleks

Procedure yang menerima nilai yang diproses ketika

dieksekusi.

program sederhana;

uses wincrt; Var d,e:integer;

procedure pro1(a,b:integer); var c:integer;

Begin c:=a;a:=b;b:=c; writeln('a= ',a,';b= ',b);

end;

Begin

Readln(d,e);pro1(d,e);

end.

Page 7: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 7/19

Jangkauan Variable

Variabel global adalah variabel yang didefinisikan/

terletak pada program utama, dimana semua sub-

program bisa mengakses, mempergunakan dan

memodifikasinya Variabel lokal adalah variabel yang hanya bekerja pada

procedure dimana mereka dideklarasikan.

Page 8: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 8/19

Keterangan gambar: Semua procedure bisa mengakses

variabel global A, F, G. Pada procedure alfa definisi global

variabel A diganti dengan variabel lokal,

Variable A,B,C pada alfa merupakan

variabel lokal yang hanya berlaku pada

procedure alfa.

Procedure Beta_1,beta_2 dapatmengakses variabel betamax, betako.

Beta_1 tidak dapat mengakses variabel

boboho, dan beta_2 tidak dapat

mengakses variable bobo.

Procedure beta dapat mengakses

procedure alfa, beta_1, dan beta_2

Page 9: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 9/19

Procedure Berparameter 

1. Procedure berparameter nilai (pass by value).

procedure bekerja dengan copy dari variabel asli. Nilai

dari variabel asli yang disampaikan ke procedure

tidak diubah. Procedure hanya menggantikan variabelasli dengan variabel yang ada di procedure , tetapi tidak

menggantikan nilai dari variabel asli. (variabel copy <>

variabel asli>

2. Procedure berparameter variabel (pass by

reference).

Procedure yang dapat mengubah nilai dari variabel asli

yang dipanggil oleh procedure. (variabel copy = variabel

asli)

Page 10: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 10/19

Procedure berparameter nilai

program sederhana;

uses wincrt;

var b:integer;

procedure pro1(a:integer);

begin

a:=a+5;

end;

begin

b:=10; pro1(b);

write(b); {output=10}

end.

Page 11: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 11/19

Procedure berparameter variable

program sederhana;

uses wincrt;

var b:integer;

procedure pro1(var a:integer);

begin

a:=a+5;

end;

begin

b:=10; pro1(b);

write(b); {output=15 karena var b = var a dalam prosedur pro1}

end.

Page 12: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 12/19

Carilah nilai maksimum dari suatu deret bilangan.

Contoh

Input: 1,7,2,4,3,6

Output: Max=7

Page 13: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 13/19

Penjelasan

Buat prosedure cari maksimum

Nilai awal maks=0;

Lakukan looping pembacaan variabel a dan

Bila a> maks then maks:=a;

Page 14: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 14/19

program maks;

uses wincrt;

var max,i,b:integer;

procedure carimaks(a:integer);

Begin if max<a then

Begin max:=a; end;

end;

begin

max:=0; for i:=1 to 6 do

Begin readln(b); carimaks(b); end;

write('maskimum= ',max);

end.

Page 15: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 15/19

Buatlah program untuk mengkonversi bilangan desimal ke

bilangan biner, oktal, dan heksadesimal.

Input:

Des= 11 Output

Biner= 1011

Oktal= 13

Heksadesimal= B

Page 16: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 16/19

Penjelasan

Baca nilai desimal

Procedure 1: menghitung panjang karakter apabila

dikonversi. Procedure 2: lakukan pengulangan n mod basis dan d div

basis sampai nilai dari n div basis=0

Procedure 3: lakukan pengecekan pada setiap kali n mod

basis, apabila n mod basis bernilai 10,11,12,13,14,15maka lakukan konversi bilangan number menjadi string

str(number,string) menjadi A,B,C,D,E,F

Procedure 4: lakukan pengaturan (x,y) dimana x bernilai

panjangkarakter-1 pada setiap kali pengulangan.

Page 17: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 17/19

program basbil;

uses wincrt; var b,i:integer;

procedure konversi(a,n,x,y:integer);

Var c,d:integer; s:string;

procedure panjang;

Begin i:=0; d:=a;

repeat

d:=d div n; i:=i+1; until d=0;

end;

Page 18: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 18/19

procedure heks;

begin

if c=10 then s:='A' else if c=11 then s:='Bµ else if c=12 then s:='C' else

if c=13 then s:='Dµ else if c=14 then s:='E' else if c=15 then s:='F';

end;

begin

panjang;

repeat c:=a mod n; str(c,s); heks; gotoxy(x+i,y);write('= ',s); a:=a div n; i:=i-1;

until a=0;

end;

Page 19: 07 Procedure

8/8/2019 07 Procedure

http://slidepdf.com/reader/full/07-procedure 19/19

begin

write('desimal= ');read(b);

gotoxy(1,5);write('biner ',b);konversi(b,2,25,5);

gotoxy(1,7);write('oktal ',b);konversi(b,8,25,7);

gotoxy(1,9);write('heksadesimal ',b);konversi(b,16,25,9);

end