Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Kuliah 6 Pengantar Pemrograman

Presentasi serupa


Presentasi berjudul: "Kuliah 6 Pengantar Pemrograman"— Transcript presentasi:

1 Kuliah 6 Pengantar Pemrograman
Prosedur Kuliah 6 Pengantar Pemrograman

2 PROSEDUR Prosedur adalah suatu program yang terpisah dalam blok sendiri yang berfungsi sebagai seubprogram (program bagian). Prosedur diawali dengan kata cadangan PROCEDURE di dalam bagian deklarasi prosedur. Prosedur dipanggil dan digunakan di dalam blok program lainnya dengan menyebutkan judul prosedurnya. Bentuk penulisan : PROGRAM judul-program; PROCEDURE judul-prosedur; BEGIN ... END; .... END.

3 Contoh : PROGRAM prosedur; USES CRT; PROCEDURE garis; BEGIN WRITELN(' '); END; CLRSCR; garis; WRITELN('BELAJAR PROSEDUR'); READLN; END. Hasil : BELAJAR PROSEDUR

4 Prosedur Prosedur dalam Pascal dapat berbentuk:
nama_prosedur Prosedur dalam Pascal dapat berbentuk: Prosedur yang didefinisikan dan dibuat sendiri oleh progammer Prosedur yang telah disediakan oleh Pascal (Standard Procedure) Prosedur yang dibuat sendiri oleh programmer harus dideklarasikan terlebih dahulu di deklarasi prosedur.

5 Subroutine Mempermudah program 2 bentuk subroutine:
Procedure (user-defined statements) Function (user-defined operators) Harus ditulis dalam bagian deklarasi

6 Procedure Procedure digunakan untuk melaksanakan tugas tertentu
Contoh prosedur standar dalam pascal: Read( ); write( ); Tanpa parameter Writeln; Dengan parameter Read(num); writeln(‘Hello’);

7 Deklarasi Prosedur Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan dimanapun di dalam program. Kata Kunci “Procedure” digunakan sebagai judul dari bagian deklarasi prosedur, diikuti oleh identifier yang merupakan nama dari prosedurnya dan secara optional dapat diikuti oleh kumpulan parameter yang diakhiri dengan titik koma.

8 Struktur Procedure Sama seperti sebuah program Pascal! Heading part
Procedure drawLine; Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(‘*’); writeln; End; Declaration part Statement part

9 Cara kerja Prosedur Procedure Tanpa Parameter
Program gambar(input, output); Var I:integer; Procedure cetakBox; Begin writeln(‘ ’); writeln(‘ ’); End; Begin { program utama } writeln(‘Halo…..’); for I:= 1 to 10 do cetakBox; writeln(‘Bye’); End. Procedure Tanpa Parameter

10 Contoh Lain Prosedur procedure Coba; begin
WriteLn (‘Saya adalah isi dari prosedur Coba’); end; {Program Utama} Begin Coba; End.

11 Prosedur Program draw; Var I:integer; Procedure drawLineStar;
Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(‘*’); writeln; End; Procedure drawLineT; write(‘T’); Begin{Main} for I:= 1 to 10 do drawLineStar; drawLineT; End. Prosedur Program draw; Var I:integer; Procedure drawLine; Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(‘*’); writeln; End; Begin {Prog utama} for I := 1 to 10 do drawLine; End.

12 Program draw; Var I:integer; Procedure drawLineStar; Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(‘*’); writeln; End; Procedure drawLineT; write(‘T’); Begin {Main} for I:= 1 to 10 do drawLineStar; drawLineT; End. Program drawnew; Var I :integer; ch : char; Procedure drawLine; Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(ch); writeln; End; Begin {Main} for I:= 1 to 10 do begin ch := ‘*’; drawLine; end; ch := ‘T’; End.

13 Prosedur dengan Parameter
Program drawnew; Var I :integer; ch : char; Procedure drawLine; Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(ch); writeln; End; Begin {Main} for I:= 1 to 10 do begin ch := ‘*’; drawLine; end; ch := ‘T’; End. Program drawAgain; Var I :integer; Procedure drawLine(ch:char); Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(ch); writeln; End; Begin {Main} for I:= 1 to 10 do drawLine(‘*’); drawLine(‘T’); End. Prosedur dengan Parameter

14 Parameter Formal Parameter Actual Parameter Program drawAgain;
Var I :integer; column : integer; Procedure drawLine(ch:char); Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(ch); writeln(I); I:= 8; End; column := 20; I := 3; drawLine(‘*’); drawLine(‘T’); writlen(column, I); End. Actual Parameter

15 Prosedur dengan parameter
tipe parameter Parameter nilai [pengiriman dgn nilai] tanpa var Nilai dikirim ke prosedur Parameter variable [pengiriman dengan acuan] dengan var Mengirim dan menerima kembali nilai

16 Program contoh3(input,output);
Var bil: integer; Procedure baca_input(var n:integer); Begin write(‘Masukkan sebuah bilangan’); readln(n); End; Procedure Cetak_hasil(hasil: integer); writleln(‘ ’); writeln(‘Hasilnya adalah ’,hasil ); writeln(‘ ’); baca_input(bil); bil := bil *10; Cetak_hasil(bil); End.

17 Parameter Prosedur dengan pengiriman Nilai
procedure Create1(A,B:integer) procedure Create2(A:integer; B:integer); procedure Create3(A:real; B:integer); Prosedur dengan pengiriman Acuan procedure Draw1(var A,B:integer) procedure Draw2(var A:integer; var B:integer); procedure Draw3(var A:real; var B:integer); Tipe Gabungan procedure DrawAgain1(var A:integer; B:integer); procedure DrawAgain2(A,B:integer; var C:char);

18 SCOPE RULE Program contoh3(input,output); Var bil: integer;
Procedure baca_input(var n:integer); Begin write(‘Please input a number’); readln(n); End; Procedure cetak_hasil(hasil: integer); writleln(‘ ’); writeln(‘Hasilnya adalah’,hasil ); writeln(‘ ’); read_input(bil); bil := bil *10; cetak_hasil(bil); End. SCOPE RULE 1. bil baca_input cetak_hasil 2. n 3. hasil

19 Scope Rule I Ch column Define the scope of the following variable:
Formal Parameter Program drawAgain; Var I :integer; column : integer; Procedure drawLine(ch:char); Const maxCol = 10; Var column : integer; Begin for column := 1 to maxCol do write(ch); writeln(I); I:= 8; End; column := 20; I := 3; drawLine(‘*’); drawLine(‘T’); writlen(column, I); End. Define the scope of the following variable: I Ch column Actual Parameter

20 Parameter dalam Prosedur
Nilai di dalam suatu modul Program Pascal sifatnya LOKAL (hanya dapat digunakan pada modul atau unit program yg bersangkutan saja, tidak dapat digunakan pada modul/unit program yg lain) Untuk bersifat GLOBAL harus dideklarasikan di luar modul atau unit program.

21 Prosedur Memanggil Prosedur
Di dalam suatu prosedur yang dbuat sendiri dapat memanggil prosedur lainnya. Contoh Procedure A1(B1 : Integer); Begin WriteLn (‘Nilai B = ‘, B1,’ ada di prosedure A1’); End; Procedure A2(B2 : Integer); WriteLn (‘Nilai B = ‘,B2,’ ada di prosedur A2’); A1(B2); Var X : Integer; X:= 5; A2(X); End.

22 Prosedur Tersarang Disebut Nested Procedure
Prosedur yang berada di dalam prosedur yang lainnya.

23 Contoh prosedur tersarang
Procedure pertama; Procedure Kedua; Begin WriteLn (‘Saya adalah prosedur kedua yg ada di dalam prosedur pertama’); End; Procedure Ketiga; WriteLn (Saya juga berada di dalam prosedur pertama, saya prosedur ketiga); Procedure Pertama; WriteLn (‘Saya Prosedur Pertama’); Kedua; Ketiga; {program utama} WriteLn (‘Saya PROGRAM UTAMA’); WriteLn; Kesatu; End.

24 Prosedur Memanggil Dirinya Sendiri
Suatu prosedur yang memanggil atau menggunakan prosedur itu juga (recursion) Contoh : Var I : Integer; Procedure Ulang; Begin WriteLn (‘Saya Belajar Pascal’); I := I +1; If I < 10 Then Ulang; End; {program utama} I := 1;

25 Latihan Buatlah Procedure untuk menghitung Volume Kubus (V=r3)
Buatlah Procedure untuk menghitung Volume Balok (V=p.l.t ) Buatlah Procedure untuk menghitung Volume Limas (V=1/3. La. t) Buatlah Procedure untuk menghitung Volume Selinder (V= π.r2.t )

26 Latihan Buat program untuk menghitung gaji harian PT. XYZ dengan ketentuan: Gaji pokok karyawan Rp /jam Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang besarnya 1.5 dari gaji pokok Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang makan sebesar Rp Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur sebesar Rp Program ini akan terdiri dari 4 buah prosedur : pokok, lembur, makan, jasa Input : NIP, Nama, Jumlah jam kerja

27 Latihan Output : LAPORAN GAJI HARIAN KARYAWAN PT. XYZ
LAPORAN GAJI HARIAN KARYAWAN PT. XYZ Bulan : April 2011 NIP Nama Gaji Pokok Lembur Uang makan Transport Lembur

28 TUGAS Buatlah flowchart + program dengan menggunakan prosedur tanpa parameter, prosedur by value, dan prosedur parameter campur untuk menghitung luas sebuah segitiga! Buatlah flowchart + program dengan menggunakan prosedur by reference untuk menghitung faktorial suatu bilangan N. (35%) Buatlah flowchart + program pada Pascal yang menerima masukan berupa nilai integer atau angka dan menampilkan nilai tersebut dalam kata-kata, khusus angka positif. Mis Masukan : 24 Keluaran : Dua Puluh Empat Masukan : 1986 Keluaran : Seribu Sembilan Ratus Delapan Puluh Enam


Download ppt "Kuliah 6 Pengantar Pemrograman"

Presentasi serupa


Iklan oleh Google