Comp_Profu MD 5

18
MODUL PROSEDUR DAN FUNGSI TUJUAN Setelah melakukan pratikum , diharapkan dapat: 1. Memahami dan menggunakan statemen Prosedur (procedure). 2. Memahami dan menggunakan statemen fungsi(function). PENDAULUAN 1. PROSEDUR Prosedur adalah suatu potongan program yang berdiri sendiri dan tidak dapat dioperasikan sendiri. Dalam suatu program Pascal, letak prosedur ini setelah bagian Deklarasi dan sebelum bagian program Induk. Untuk mendefinisikan suatu prosedur, kita harus memberikan kata “Procedure” sebagai pengenal suatu prosedur. A. BENTUK UMUM PROGRAM Judul_Program; PROCEDURE Judul_Prosedur; Begin End; BEGIN END. PEMROGRAMAN PASCAL 84

Transcript of Comp_Profu MD 5

Page 1: Comp_Profu MD 5

MODUL

PROSEDUR DAN FUNGSI

TUJUAN

Setelah melakukan pratikum , diharapkan dapat:1. Memahami dan menggunakan statemen Prosedur (procedure).2. Memahami dan menggunakan statemen fungsi(function).

PENDAULUAN

1. PROSEDUR

Prosedur adalah suatu potongan program yang berdiri sendiri dan tidak dapat

dioperasikan sendiri. Dalam suatu program Pascal, letak prosedur ini setelah bagian

Deklarasi dan sebelum bagian program Induk. Untuk mendefinisikan suatu

prosedur, kita harus memberikan kata “Procedure” sebagai pengenal suatu

prosedur.

A. BENTUK UMUM

PROGRAM Judul_Program; PROCEDURE Judul_Prosedur; Begin End; BEGIN END.

PEMROGRAMAN PASCAL 84

Page 2: Comp_Profu MD 5

Contoh :

Procedure Garis;BeginWriten(‘----------‘);

End;

BeginGaris;Writeln(‘Pascal’);Garis;

Readln;End.

Bila Program dijalankan :

Pascal

1.1 Prosedur Tanpa Parameter

Contoh :

Program Prosedur1;

Uses Crt;

Var I : Integer;

Procedure Cetak;

Begin

Writeln(‘Ini berasal dari Prosedur Cetak’);

End;

Begin

ClrScr;

For I := 1 to 5 do

Begin

Cetak;

End;

Readln;

End.

PEMROGRAMAN PASCAL 85

Page 3: Comp_Profu MD 5

1.2 Prosedur Dengan Parameter

Parameter yang dikirimkan dari modul utama ke modul prosedur di sebut

dengan parameter nyata (Actual Parameter) dan parameter yang ada dan

dituliskan pada judul prosedur di sebut dengan parameter formal (formal

parameter). Parameter nyata dan parameter formal harus dengan tipe yang sama.

Di dalam Pascal, parameter dapat dikirimkan secara nilai (by value) atau secara

acuan (by reference).

Untuk memperjelas pendeklarasian prosedur, berikut ini adalah contoh-contoh

pendeklarasian prosedur dan penjelasannya :

Procedure Cetak (A,B : Integer ; St : String);

Arti dari pendeklarasian ini adalah prosedur tersebut terdiri dari 3 parameter,

dimana parameter pertama (A) dan parameter kedua (B) mempunyai tipe

Integer, sedangkan parameter ketiga (St) mempunyai tipe string. Ketiga variabel

tersebut tidak mempengaruhi variabel yang dioperkan.

Procedure Ambil (A,B : Char ; Var Hasil : String);

Arti dari pendeklarasian ini adalah prosedur tersebut terdiri atas 3 parameter,

dimana parameter pertama (A) dan parameter kedua (B) mempunyai tipe Char

dan tidak berpengaruh terhadap variabel yang dioperkan, sedangkan parameter

ketiga (Hasil) mempunyai tipe string dan mempengaruhi variabel inputnya

dimana setiap perubahan variabel Hasil dalam prosedur ini akan mempengaruhi

variabel yang dioperkan.

PEMROGRAMAN PASCAL 86

Page 4: Comp_Profu MD 5

Pengiriman parameter secara nilai (by value)

Bila parameter dikirim secara nilai (by value), parameter formal di prosedur

akan berisi nilai yang dikirimkan yang kemudian bersifat lokal di prosedur.

Bila nilai parameter formal di prosedur tersebut berubah, tidak akan

mempengaruhi nilai parameter nyata. Pengiriman secara nilai ini merupakan

pengiriman searah, yaitu dari parameter nyata ke parameter formal, yang

tidak dikirimkan balik dari parameter formal ke parameter nyata.

Contoh :

Procedure Hitung (A,B : Integer);

Var C : Integer;

Begin

C := A + B;

Writeln(#10’Nilai C = ‘,C);

End; (*Procedure Hitung*)

Var X,Y : Integer;

Begin

Write(‘Nilai X?’);

Readln(X);

Write(‘Nilai Y?’);

Readln(Y);

Hitung(X,Y);

Readln;

End.

Bila Program dijalankan :

Nilai X? 2

Nilai Y? 3

Nilai C? 5

PEMROGRAMAN PASCAL 87

Page 5: Comp_Profu MD 5

Penjelasan :

1. Prosedur di mulai dengan deklarasi prosedur dengan judul prosedur.

Procedure Hitung (A,B : Integer);

Tipe parameter

Parameter Formal

Parameter Formal

2. Variabel lokal yang hanya dipergunakan di prosedur dan tidak termasuk

sebagai parameter formal (parameter nilai), harus didefinisikan sendiri,

sebagai berikut :

Var C : Integer;

3. Hubungan antara parameter formal di prosedur dengan parameter nyata

di modul utama adalah sebagai berikut :

Procedure Hitung (A,B : Integer);

Hitung(X,Y);

Parameter nyata

Parameter nyata

Terlihat bahwa nilai-nilai parameter nyat X dan Y di modul utama

dikirimkan ke parameter formal A dan B di prosedur. Dengan demikiann

nilai parameter A dan B di prosedur akan berisi nilai yang sama dengan

parameter X dan Y di modul utama.

PEMROGRAMAN PASCAL 88

Page 6: Comp_Profu MD 5

Pengiriman parameter secara acuan (by reference)

Bila pengiriman parameter secara acuan (by reference), maka perubahan-

perubahan yang terjadi pada nilai parameter formal di prosedur akan

mempengaruhi nilai parameter nyata. Parameter-parameter ini di sebut

dengan variabel parameter serta dideklarasikan di deklarasi prosedur dengan

menggunakan kata cadangan Var, sebgai berikut :

PROCEDURE hitung (VAR A,B,C : integer);

Pengiriman parameter secara acuan

Contoh :

Program berikut di gunakan untuk menghitung besarnya nilai suatu faktorial

dengan rumus :

Procedure factorial(Var fak,Hasi : Integer);

Var I : Integer;

Begin

Hasil := 1;

For I := 2 to fak do hasil := Hasil*I;

End; (Procedure Faktorial*)

Var N,F : Integer;

Begin

Write(‘Berapa factorial ?’);

Readln(N);

Faktorial(N,F);

Writeln; Writeln(N,’Faktorial =’,F);Readln;

End.

PEMROGRAMAN PASCAL 89

Page 7: Comp_Profu MD 5

Bila program dijalankan :

Berapa factorial ? 5

5 Faktorial = 120

Hubungan antara parameter formal dengan parameter nyata adalah sebagai

berikut :

Procedure factorial(Var fak,Hasil : Integer);

Faktorial(N,F);

B. TUGAS MANDIRI

1.Buatlah sebuah program untuk mencari luas lingkaran dengan prosedur tanpa

parameter, kemudian simpan file di PRAK61.PAS.

2.Buatlah sebuah program untuk menghitung nilai kombinasi dengan prosedur,

kemudian simpan file di PRAK62.PAS.

3.Buatlah sebuah program untuk mencari penjumlahan matrik dengan prosedur,

kemudian simpan file di PRAK63.PAS.

4.Buatlah sebuah program untuk mencari pengurangan matrik dengan prosedur,

kemudian simpan file di PRAK64.PAS.

5.Buatlah sebuah program untuk mencari invers matrik dengan

menggunakan prosedur, kemudian simpan file di PRAK65.PAS.

PEMROGRAMAN PASCAL 90

Page 8: Comp_Profu MD 5

2. FUNGSI

Fungsi merupakan suatu potongan program yang tidak berdiri sendiri dan

mempunyai suatu keluaran (hasil). Fungsi hampir sama dengan prosedur, hanya

fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe

hasil dari fungsi. Tipe tersebut di tulis pada akhir deklarasi fungsi yang didahului

dengan titik koma, sebagai berikut :

A. BENTUK UMUM

FUNCTION identifier (daftar-parameter) : type;

Contoh :

Function Faktorial (Var Fak, Hasil : Integer): Integer;

Function Pangkat(X,Y : Real): Real;

2.1 Fungsi Tanpa Parameter

Suatu fungsi yang tanpa menggunakan parameter berarti nilai bali kyang akan

dihasilkan merupakan nilai yang sudah pasti. Parameter digunakan untuk

memberikan input pada fungsi dan fungsi akan memberikan hasil balik sesuai

parameter yang diberkannya.

Fungsi yang tidak mempunyai parameter, maka hasil fungsi tersebut tidak dapat

diatur dari modul yang digunakannya, karena tidak ada parameter yang

dikirimkan. Dengan demikian fungsi yang tanpa menggunakan parameter jarang

dipergunakan.

Contoh :

Function Deteksi : Boolean;

Begin

Deteksi := True;

End;

PEMROGRAMAN PASCAL 91

Page 9: Comp_Profu MD 5

Begin

Writeln (Deteksi);

Readln;

End.

Bila program ini dijalankan :

’’ ’’

TRUE

Penjelasan :

Nilai balik yang akan diberikan fungsi oleh Deteksi selalu merupakan nilai

Boolean True, karena tidak dapat diatur dari program utama. Biasanya fungsi

seperti ini jarang dipergunakan, karena nilai tersebut dapat langsung ditentukan

di modul yang menggunakannya, sebagai berikut :

Begin

Writeln(TRUE);

Readln;

End.

PEMROGRAMAN PASCAL 92

Page 10: Comp_Profu MD 5

2.2 Fungsi Dengan Parameter

Sama dengan prosedur, parameter dalam fungsi dapat dikirimkan secara nilai

(by value) atau secara acuan (by reference). Penulisan judul fungsi yang

menggunakan parameter dengan pengiriman nilai adalah tampak sebagai

berikut:

Function Hitung (A,B : Integer) : Integer;

Contoh :

Program Fungsi1;

Uses Crt;

Var A,C : Real;

B : Integer;

Function Pangkat(Dasar : Real; Pkt : Integer) : Real;

Begin

Pangkat := exp((PKT)*ln(Dasar));

End;

Begin

ClrScr;

Write(‘Masukkan bilangan dasar =’);

Readln(A);

Masukkan pangkatnya =’);

Readln(B);

C := Pangkat(A,B);

Writeln(‘-----------------------‘);

Writeln(A:6:2, ‘pangkat ‘,B,’ =’, C:6:2);

Readln;

End.

PEMROGRAMAN PASCAL 93

Page 11: Comp_Profu MD 5

Bila program dijalankan :

Masukkan bilangan dasar = 1,5

Masukkan pangkatnya = 3

1500 pangkat 3 adalah 3.375

Keterangan :

Pada contoh fungsi perpangakatan ini, nilai pangkatnya harus dalam bentuk

bilangan Integer, karena proses perhitungan hasil perpangkatannya dilakukan

dengan cara mengalikan sebanyak jumlah pangkatnya. Yang paling banyak

dibutuhkan dalam suatu program aplikasi adalah perpangkatan dengan

pangkatnya yang dapat berupa nilai pecahan, tidak harus integer.

Nilai pangkat suatu bilangan dapat dihitung dengan rumus ekponensial, sebagai

berikut:

Rumus perpangkatan tersebut dapat diselesaikan dengan memanfaatkan fungsi-

fungsi standar yang ada, yaitu fungsi standar Exp untuk menghitung nilai

dan fungsi standar Ln untuk menghitung nilai Ln X.

Sedangakan penulisan judul fungsi menggunakan parameter dengan pengiriman

secara acuan adalah dengan menambahkan kata cadangan Var sebagai berikut :

Function Hitung (Var A,B : Integer): Integer;

Pengiriman parameter dengan secara acuan akan mengakibatkan perubahan nilai

parameter di fungsi juga merubah nilai parameter di modul yang

mengirimkannya. Dengan demikian fungsi yang menggunakan pengiriman

PEMROGRAMAN PASCAL 94

Page 12: Comp_Profu MD 5

parameter secara acuan ini mirip dengan prosedur, yaitu parameter yang

dikirimkan secara acuan tersebut dapat dimanfaatkan sebagai hasil balik.

Contoh :

Function Hitung (Var A,B,C : integer) : Integer;

Begin

Hitung := A + B;

C := A*B;

End;

Var X,Y,Z : Integer;

Begin

Write(‘Nilai X?’);

Readln(X);

Write(‘Nilai Y?’);

Readln(Y);

Writeln;

Writeln(X,’+’,Y,’=’, Hitung(X,Y,Z));

Writeln(X,’*’,Y’ =’,Z);

Readln

End.

Bila program ini dijalankan :

Nilai X? 2

Nilai Y? 3

2+3 = 5

2*3 = 6

PEMROGRAMAN PASCAL 95

Page 13: Comp_Profu MD 5

Hubungan Parameter tersebut dapat digambarkan sebagai berikut :

Function Hitung (Var A,B,C : integer) : Integer;

Begin

Hitung := A + B;

C := A*B;

End;

Writeln(X,’+’,Y,’=’, Hitung(X,Y,Z);

Writeln(X,’*’,Y’ =’,Z);

B. TUGAS MANDIRI

1.Buatlah sebuah program untuk mencari luas lingkaran dengan menggunakan

fungsi standar pi, kemudian simpan file di PRAK71.PAS.

2.Buatlah sebuah program untuk menghitung sisi miring dari suatu segitiga

siku-siku, dengan menggunakan fungsi, kemudian simpan file di

PRAK72.PAS.

3.Buatlah sebuah program untuk mencari penjumlahan matrik dengan

menggunakan fungsi, kemudian simpan file di PRAK73.PAS.

4.Buatlah sebuah program untuk mencari pengurangan matrik dengan

menggunakan fungsi, kemudian simpan file di PRAK74.PAS.

5.Buatlah sebuah program untuk mencari tabel cos, sin, dan tangent dari 0 sampai

360, dengan menggunakan fungsi untuk merubah derajat ke radian, kemudian

simpan file di PRAK75.PAS.

PEMROGRAMAN PASCAL 96

Page 14: Comp_Profu MD 5

PEMROGRAMAN PASCAL 97