Comp_Profu MD 5
-
Upload
zukrinurmustapa -
Category
Documents
-
view
162 -
download
2
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
PEMROGRAMAN PASCAL 97