PROCEDURE DAN FUNCTION PROCEDURE. Parameter dalam Prosedur: C/: PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real;

dokumen-dokumen yang mirip
PROCEDURE DAN FUNCTION

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

Dasar Komputer & Pemrograman 2A

dengan menyebutkan judul prosedurnya. dalam bentuk prosedur-prosedur. diperlukan.

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

Sesi/Perkuliahan ke: VII

Procedure. Pertemuan 6 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015

menunjukkan tipe hasil dari fungsi. sqr, succ dan sebagainya. buat sendiri.

BAB I TUJUAN DAN LANDASAN TEORI

PROSEDUR DAN FUNCTION

Materi ke-4 Praktikum Algoritma dan Pemrograman kelas Matematika PEMROGRAMAN MODULAR

OPERASI STRING. Delete(var s:string;index:integer;count:integer);

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

PRAKTIKUM 8 SUB PROGRAM

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

IT132 Dasar-Dasar Pemrograman. Ramos Somya, S.Kom., M.Cs.

Pertemuan 3 Prosedur dan Fungsi

MATERI 5 Procedure. Pendeklarasian suatu procedure pada program : PROGRAM Judul_Program; PROCEDURE Nama_Prosedur; BEGIN. {Statemen prosedur} END.

Algoritma Pemrograman

Function. Pertemuan 7 Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Gunadarma 2015

Subprogram. Definisi

Algoritma Pemrograman

Algoritma Pemrograman

BAB V S U B R U T I N STMIK AMIKOM PURWOKERTO

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Algoritma Pemrograman

Algoritma Pemrograman

Memulai Pemrograman Pascal dengan Delphi Console 1. Buka aplikasi delphi 2. Pilih File New Other Console Application

Algoritma Pemrograman

Teori Algoritma. Struktur Algoritma

IT132 Dasar-Dasar Pemrograman. Ramos Somya

KONSEP DASAR BAHASA PASCAL

Algoritma Pemrograman

Algoritma Pemrograman

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

SUB PROGRAM : PROSEDUR & FUNGSI. Konsep Pemrograman

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

Catatan Kuliah PAM 282 Pemrograman Komputer II

POKOK BAHASAN - 2 PEMROGRAMAN MODULAR

SMA SANTO PAULUS PONTIANAK

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Algoritma Pemrograman

Algoritma Pemrograman

ALGORTIMA DAN PEMROGRAMAN

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-6 - Hal 21

Algoritma Pemrograman

Procedure. Brigida Arie Minartiningtyas, M.Kom

PROSEDUR DAN FUNGSI. Altien Jonathan Rindengan, S.Si., M.Kom

PERTEMUAN - 3 PEMROGRAMAN MODULAR

Contoh Prosedur tanpa parameter: uses crt; var i:byte;

Algoritma Pemrograman

Sesi/Perkuliahan ke: I

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

STRUKTUR KENDALI. Memanfaatkan struktur kendali untuk kasus komputasi

Bab 1 Algoritma dan Pemrograman Tersruktur

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

Bambang Heru S Departemen Teknik Kimia Universitas Indonesia

Rekursif. Rekursif adalah salah satu metode dalam dunia matematika dimana definisi sebuah fungsi mengandung fungsi itu sendiri.

Struktur Data. Pertemuan 2

STRUKTUR BAHASA PEMROGRAMAN

Dasar Pemrograman TIP FTP UB

[1997] NUS: var x,y=byte; c. program xyz ; 1. Manakah identifier yang benar untuk menamakan nama program : a. prog-a b. prog_a c. prog+a d.

Algoritma Pemrograman 2B (Pemrograman C++)

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

Pengenalan Pascal. Sejarah Singkat Pascal

PROSES PENJUALAN BUKU

Prosedur dan Fungsi ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

PROCEDURE DAN FUNCTION PADA ALGORITMA

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

FUNGSI DAN PROCEDURE

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Prosedur dan Fungsi di Turbo Pascal

Procedure. Pertemuan 10 Algoritma Pemrograman

- KONSEP MODULAR Pengertian Konsep Modular memecah program ke dalam modul-modul. Contoh modul yang sering digunakan adalah : Prosedur & Fungsi

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

SUBPROGRAM (SUBRUTIN)

MODUL 1. Struktur Bahasa PASCAL secara umum

Procedure bertujuan untuk membagi-bagi sebuah program menjadi beberapa sub program, sehingga program menjadi lebih sederhana dan efisien.

Algoritma Pemrograman

MODUL PEMROGRAMAN DENGAN MENGGUNAKAN BAHASA PASCAL CONTOH PROGRAM DENGAN MENGGUNAKAN BAHASA PASCAL (FPC)

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Dasar Komputer & Pemrogaman 2A

SOAL PASCAL A. 1. Lengkapi Source Code Dibawah ini : {* Program Menghitung dengan Operator Matematika*}

MODUL I DAN 2 PENGANTAR dan IDENTIFIER PASCAL

ARRAY. Brigida Arie Minartiningtyas, M.Kom

TIPE, NAMA, DAN NILAI

BAB 6 Array Dua Dimensi

Algoritma dan Struktur Data

PERKEMBANGAN PASCAL. Pascal adalah bahasa tingkat tinggi ( high level language) yang orientasinya pada segala tujuan

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Pemrograman Dasar M E T H O D / F U N G S I

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

PRAKTIKUM 4 STATEMENT KENDALI

Transkripsi:

PROCEDURE Prosedur diawali dengan kata Procedure PROCEDURE DAN FUNCTION Prosedure ini digunakan untuk aktivitas yang harus dilakukan lebih dari satu kali dan untuk menghindari penulisan teks program yang sama secara berulang kali. Prosedur ini cukup ditulis sebanyak satu kali namun dapat dipanggil dari bagian program utama. Pada dasarnya, struktur prosedur sama dengan struktur program yang sudah kita kenal, hanya saja bagian judul (header) ditulis PROSEDURE (bukan lagi PROGRAM) Prosedur ini dapat disebut juga sebagai SUB ROUTINE. BU Atau PROCEDURE nama; PROCEDURE nama(formal parameter:jenis); Untuk memanggil prosedur yang telah kita buat, cukup dengan menuliskan nama dari prosedur yang bersangkutan. PROCEDURE maksimum; VAR max : integer; IF a>b THEN max := a ELSE max := b; IF c>max THEN max := c; WRITELN(max); END; PROGRAM contoh_1; VAR a,b,c : integer; PROCEDURE maksimum; VAR max : integer; IF a>b THEN max := a ELSE max := b; IF c>max THEN max := c; WRITELN(max); END; READLN(a,b,c); Maksimum; END. Algoritma dan Pemrograman 2 Ticha Hal 43 PROGRAM CONTOH_2; VAR p,l,t,vol,panj : real; PROCEDURE kotak; VAR v,pl : real; v := p * l * t ; pl := p + 2.0 * t; writeln(v,pl); END; writeln( panjang :10, lebar :10, tinggi : 10); readln(p,l,t); kotak; END. Parameter dalam Prosedur: Nilai dalam suatu suatu Prosedur sifatnya hanya lokal, artinya hanya dapat digunakan pada prosedur yang bersangkutan. Dengan demikian dalam suatu program yang menggunakan prosedur terdapat dua istilah variabel local dan variabel global. 1. PROGRAM P1; VAR x : real; PROCEDURE pl; VAR y : integer; ; daerah y daerah x ; end; ; ; end. Var x variabel global Var y variabel lokal Algoritma dan Pemrograman 2 Ticha Hal 44

2. Program P2 ; Var x,y : real; Procedure Pl ; Var y : integer; y (int) hanya berlaku di P1 saja (lokal) Procedure P2; Var x : char; x (char) hanya berlaku di P2 saja (lokal). x :=. x dan y adalah x dan y real y :=. (variabel global) PROCEDURE DENGAN PARAMETER Supaya nilai variabel dalam prosedur dapt digunakan dalam sub program lain atau dalam program utama, dapat dilakukan du cara; yaitu : 1. Variabel di buat global 2. Variabel di kirim sebagai parameter ke sub program yang membutuhkan. Procedure Tanya_hitung; Var X,Y :real; Write ( Nilai X? ); Y:=X*X; Writeln( Nilai Y =,Y:6:2); Tanya_Hitung; Nilai X? 5 Nilai Y = 25.00 Algoritma dan Pemrograman 2 Ticha Hal 45 Procedure Tanya_hitung; Var X,Y :real; Write ( Nilai X? ); Y:=X*X; Tanya_Hitung; Writeln( Nilai Y =,Y:6:2); Error 31: Unknown identifier 1. Dibuat Variabel bersifat global Procedure kesatu;. (*akhir dari procedure kesatu *) Var A,B : word; Procedure kedua; (*akhir dari procedure kedua*) Procedure ketiga; (*akhir dari procedure ketiga*) (*akhir dari modul utama*) Variabel yang berada pada prosedur pertama tidak akan dikenal oleh program utama atau prosedur lain. Namun variabel dari program utama (A dan B) akan dikenal oleh prosedur kedua dan prosedur ketiga. Demikian pula variabel yang berada pada pros. Kedua dan ketiga tidak akan dikenal oleh program utama. Algoritma dan Pemrograman 2 Ticha Hal 46

Var A,B : real; Procedure kesatu; (*akhir dari procedure kesatu *) Procedure kedua; (*akhir dari procedure kedua*) Procedure ketiga; (*akhir dari procedure ketiga*) (*akhir dari modul utama*) Dengan meletakkan dekalrasi variabel lebih dulu dari pada deklarasi prosedur maka seluruh variabel yang dibuat (A & B) akan dikenali oleh ke tiga prosedur di bawahnya. Program Prosedur1; Var C1, C2 : Char; Variabel Global Procedure RUBAH Var T : char; T := C1; C1 := C2; C2 := T; Write( Masukkan dua buah huruf ); ReadLn (C1, C2); WriteLn; IF C1 > C2 Then RUBAH WriteLn ( Huruf yang anda masukkan adalah, C1, dan, C2); 2. Dikirimkan sebagai parameter ke modul yang membutuhkannya. Parameter yang di kirimkan dari program utama ke sub program di sebut dengan Parameter Nyata (actual parameter) Parameter yang dituliskan pada judul prosedur disebut dengan parameter formal (Formal parameter). Jika suatu parameter akan dikirim dari program utama dan akan diterima oleh sub program, maka tipe datannya harus sama. Dalam Pascal, paremeeter dapat dikirmkan secara nilai (by value) dan secara acuan (by reference) c/: Procedure konversi; f := (5/9) * c + 32; writeln(c,f); end; penulisan dengan parameter Procedure konversi (var f : real; c : real); F := (5/9) * c + 32; {disebut formal parameter} Writeln(c,f); Dipanggil dengan cara : konversi (x,y) ; actual parameter Aturan Penting yang harus diperhatikan dalam menggunakan parameter actual dan parameter formal; yaitu : Jumlah parameter actual pada pemanggilan prosedur harus sama dengan dengan jumlah parameter formal pada deklarasi prosedurnya. Tiap parameter actual dan tipe parameter formal harus bertipe sama 2.1 Pengiriman parameter secara nilai Bila pengiriman secara nilai, maka parameter formal pada prosedur akan berisi nilai yang dikirim dan bersifat local. Bila hail operasi dalam prosedur mengubah nilai-nilai tersebut, hal itu tidak akan mempengaruhi nilai asli pada program utama. Algoritma dan Pemrograman 2 Ticha Hal 47 Algoritma dan Pemrograman 2 Ticha Hal 48

Procedure Hitung1(A,B : integer); Var C : integer; Writeln( Nilai C =,C) Var X,Y : integer; Write( Nilai X? ); Write( Nilai Y? ); Readln(Y); Hitung1(X,Y); Nilai X? 2 Nilai Y? 3 Nilai C = 5 Procedure Hitung2(A,B,C : integer); A := A + 2; B := B + 4; Writeln; Writeln( Nilai A =,A, Nilai B =,B, Nilai C =,C); Write( MASUKKAN Nilai X, Y, Z? ); Readln(X, Y, Z); Hitung2(X,Y,Z); Writeln( Nilai X =,X, Nilai Y =,Y, Nilai Z =,Z); MASUKKAN NILAI Nilai X, Y, Z? 3 5 7 Nilai A = 5 Nilai B = 9 Nilai C = 8 Nilai X = 3 Nilai Y = 5 Nilai Z = 7 2.2 Pengiriman parameter secara acuan Bila pengiriman secara acuan, maka perubahan yang terjadi pada parameter formal akan mempengaruhi nilai parameter nyata. Procedure hitung(var A,B,C : integer); Menunjukkan pengiriman parameter secara acuan. Procedure Hitung3(Var A,B,C : integer); X := 2; Y:= 3; Hitung3(X,Y,Z); Writeln( X =,X, Y =,Y, Z =,Z); X = 2 Y = 3 Z = 5 Procedure Hitung4(A,B : integer; Var C : integer); A := A + 2; B := B + 4; Writeln; Writeln( Nilai A =,A, Nilai B =,B, Nilai C =,C); Write( MASUKKAN Nilai X, Y, Z? ); Readln(X, Y, Z); Hitung4(X,Y,Z); Writeln( Nilai X =,X, Nilai Y =,Y, Nilai Z =,Z); Algoritma dan Pemrograman 2 Ticha Hal 49 MASUKKAN NILAI Nilai X, Y, Z? 3 5 7 Nilai A = 5 Nilai B = 9 Nilai C = 8 Nilai X = 3 Nilai Y = 5 Nilai Z = 8 Algoritma dan Pemrograman 2 Ticha Hal 50

Latihan! Program Latih1 Var A,B : integer; Procedure Hitung5(Var A,B : integer); Writeln(A,B); A := 3; B := 4; Writeln(A,B); A := 1; B := 2; WriteLn(A, B); Hitung5(A,B); WriteLn(A,B); Program Latih2 Var A,B : integer; Procedure Hitung6(X : integer; Var Y : integer); Var A, B : integer; Writeln(X,Y); A := 3; B := 4; Writeln(A,B); X := 3; Y := 4; Writeln(X,Y); A := 1; B := 2; WriteLn(A, B); Hitung6(A,B); WriteLn(A,B); Prosedur Standar Prosedur yang disediakan oleh Turbo Pascal : 1. Prosedur standar EXIT Digunakan untuk keluar dari suatu blok. 2. Prosedur standar HALT Digunakan untuk menghentikan proses program baik di program bagian maupun di program utama. 3. Prosedur standar MOVE Digunakan untuk menyalin suatu blok sebanyak count byte memori dari blok dimulai byte pertama source dan disalinkan ke byte pertama dest. Bentuk umum : MOVE (Var source,dest; count : word); 4. Prosedur standar FILLCHAR Digunakan untuk mengisi sejumlah byte nilai ke dalam suatu variabel, sebagai berikut FillChar(x;count :word;ch); Algoritma dan Pemrograman 2 Ticha Hal 51 FUNCTION Fungsi diawali dengan kata Function Fungsi ini merupakan suatu sub program yang akan mengembalikan sebuah nilai dengan tipe sederhana (dalam namanya). Fungsi ini, sama dengan prosedur, cukup ditulis sebanyak satu kali namun dapat dipanggil dari bagian program utama. Pada dasarnya, struktur prosedur sama dengan struktur program yang sudah kita kenal, hanya saja bagian judul (header) ditulis FUNCTION BU : Atau FUNCTION nama : jenis hasil; FUNCTION nama (formal parameter : jenis ) : jenis_hasil; 1. fungsi MAX yang dapat menentukan integer terbesar di antara dua integer. Function MAX (x,y : integer) : integer; If x < y then MAX := y ; Else MAX := x; Contoh P := MAX(a,b); Z := MAX(a+b,a*b); Q := MAX(MAX(a,b),c); dsb. 2. Function LOG (x : real) : real; LOG := ln (x) / ln (10.0); 3. Function POWER (x,y : real) : real; POWER := exp (y * ln (X)) Algoritma dan Pemrograman 2 Ticha Hal 52

a b = POWER (a,b) b a = POWER (b,a) (p + q) r/s = POWER (p + q, r/s) dll Pada dasarnya penggunaan parameter formal dan parameter acuan sama dengan pada prosedur. Tapi ada satu hal yang perlu diingat bahwa karena setiap nama fungsi akan menyimpan data, maka jenis data yang akan dihasilkan jangan samapai lupa di ikutsertakan pada setiap fungsi yang dibuat. Function Hitung(Var A,B : integer): integer; Hitung := A + B; Write( Nilai X? ); Write( Nilai Y? ); Readln(Y); Z := HITUNG(X,Y); Writeln; Writeln(X, +,Y, =,Z); Nilai X? 2 Nilai Y? 3 1 + 3 = 5 Perbedaan fungsi dengan prosedur adalah : 1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya pada prosedur pada parameter yang dikirimkan secara acuan REKURSIF Suatu fungsi atau prosedur dapat bersifat rekursif. dapat memanggil dirinya sendiri. function faktorial (nilai : integer) : integer; if nilai <= 0 then faktorial := 1; else faktorial := nilai * faktorial (nilai-1) end; Var N : integer; Write( Berapa faktorial? ); Readln(N); Writeln(N, faktorial =,faktorial(n):9:0); faktorial (4) = 4 * faktorial (3) 3 * faktorial (2) 2 * faktorial (1) 1 * faktorial (0) = 4 * 3 * 2 * 1 * 1 = 24 1 2. fungsi dapat langsung digunakan untuk dicetak hasilnya, sebagai berikut : Writeln(X, +,Y, =,Hitung(X,Y)); Nama fungsi yang langsung digunakan untuk ditampilkan hasilnya. Atau Hasil := Hitung(X,Y); Writeln(X, +,Y, +,Hasil); Pada prosedur tersebut nama tidak dapat digunakan langsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik. Algoritma dan Pemrograman 2 Ticha Hal 53 Algoritma dan Pemrograman 2 Ticha Hal 54