F U N C T I O N (F U N G S I)
Assalamualakum Guys Kali ini Ane mau share Mata Pelajaran Pemrograman Dasar kk2013 Nih..
Langsung aja cekidot ke materinya..
Langsung aja cekidot ke materinya..
Blok Fungsi hampir sama dengan blok prosedur, hanya fungsi
harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil
dari fungsi.
FUNGSI
merupakan suatu program terpisah dalam blok tersendiri yang berfungsi sebagai
subprogram dan dideklarasikan dengan tipe yang menunjukkan tipe hasil dari
fungsi
Bentuk Umum :
Function
Identifier(daftar-parameter):type;
Contoh :
Function Faktorial(Var
Fak,Hasil : Integer):Integer;
Function Pangkat(X,Y :
Real):Real;
Blok Fungsi diawali dengan kata cadangan Begin dan diakhiri dengan kata
cadangan End dan titik koma.
Contoh :
1.
Function Hitung(Var A,B :
Integer):Integer; Output
:
Begin
Hitung :=A+B; Nilai
X ? 2
End; Nilai
Y ? 3
Var 2
+ 3 = 5
X,Y : Integer;
Begin
Write(‘Nilai X ?’);
Readln(X);
Write(‘Nilai Y ?’);
Readln(Y);
Writeln;
Writeln(X,’+’,Y,
‘=’,Hitung(X,Y));
End.
2.
Function Hitung(Var A,B,C :
Integer): Integer; Output
:
Begin
A:=A+2; Nilai
X ? 2
B:=B+2; Nilai
Y ? 3
C:=A+B;
Hitung:=C; 4
+ 5 = 9
End;
Var
X,Y,Z,Hasil :
Integer;
Begin
Write(‘Nilai X ?’);
Readln(X);
Write(“Nilai Y ?’);
Readln(Y);
Writeln;
Hasil :=Hitung(X,Y,Z);
Writeln(X,’+’,Y,
‘=’,Hasil);
End.
·
Perbedaan Fungsi dengan Prosedur adalah :
1.
Pada fungsi, nilai yang
dikirimkan balik terdapat pada nama Fungsinya (kalau pada prosedur pada Parameter yang
dikirimkan secara acuan). Pada contoh, nama Fungsi tersebut adalah Hitung dan
nilai yang dikirim balik berada pada nama Fungsi tersebut. Sehingga nama Fungsi
ini harus digunakan untuk menampung hasil yang akan dikirimkan dari Fungsi
sebagai berikut :
Hitung := A+B;
Nama Fungsi yang berisi nilai yang akan
dikirimkan
2.
Karena nilai balik berada di
nama Fungsi tersebut, maka Fungsi tersebut dapat langsung digunakan untuk
dicetak hasil sebagai berikut :
Writeln(X,’+’,Y, ‘=’, Hitung(X,Y);
Nama Fungsi yang langsung digunakan untuk ditampilkan hasilnya
Atau Nilai Fungsi tersebut dapat juga langsung dipindahkan ke pengenal
Variabel yang lainnya, sebagai berikut :
Hasil := Hitung(X,Y);
Writeln(X, ‘+’ ,Y, ‘=’, Hasil);
Sedang pada Prosedur, nama Prosedur tersebut tidak dapat digunakan
langsung, yang dapat langsung digunakan adalah parameternya yang langsung
mengandung nilai balik.
Parameter
Parameter
merupakan suatu nilai atau referensi yang dilewatkan ke dalam rutin tertentu
dan kehadirannya akan mempengaruhi proses maupun nilai yang terdapat di dalam
rutin itu sendiri. Parameter ditempatkan di dalam tanda kurung setelah nama
rutin bersangkutan.
Suatu fungsi umumnya mempunyai
parameter. Namun bisa saja suatu fungsi tidak memiliki paramater.
Setiap parameter
yang dilewatkan harus memiliki tipe data tersendiri yang dapat berupa dari tipe
dasar maupun bentukan seperti array, record atau pointer. Untuk mengetahui arti
parameter, perhatikan fungsi matematika di bawah ini.
f (x) = 2x2 + 5x – 3
Bila x=1, maka f akan
mengembalikan nilai 4, yang berasal dari
f (1) = 2(1)2 + 5(1) – 3 = 2 + 5 – 3 = 4
Bila x=2, maka f akan
mengembalikan nilai 15, yang berasal dari
f (2) = 2(2)2 + 5(2) – 3 = 8 + 10 – 3 = 15
Dari ilustrasi
tersebut terlihat jelas bahwa hasil nilai dari fungsi f ditentukan oleh
besarnya nilai x, sehingga x disebut sebagai parameter dari fungsi f.
Contoh:
Function hitung(Var A,B : integer):integer;
è Var A,B:
integer merupakan
Begin parameter
hitung:=A+B;
end;
·
Fungsi Tanpa Parameter
Suatu Fungsi yang tanpa menggunakan parameter berarti nilai balik yang akan
dihasilkan merupakan nilai yang sudah pasti. Pada Fungsi yang tidak mempunyai
parameter, maka hsail tersebut tidak dapat diatur dari modul yang
menggunakannya, karena tidak ada parameter yang dikirimkan.
Contoh :
Type
Huruf = String;
Function Garis : Huruf; Output:
Begin --------
Garis := ‘-----------‘; Pascal
End; --------
Begin
Writeln(Garis);
Writeln(‘Pascal’);
Writeln(Garis);
End.
Atau dapat juga didefinisikan sebagai suatu konstanta dibagian definisi
konstanta, sebagai berikut :
Contoh :
Const Output :
Garis:=’---------‘; ---------
Begin Pascal
Writeln(Garis); ---------
Writeln(‘Pascal’);
Writeln(Garis);
End.
·
Pengiriman Parameter Dalam Fungsi
Parameter dalam fungsi dapat dikirimkan secara Nilai (By Value) atau secara
Acuan (By Reference).
Pengiriman parameter secara Nilai (By Value) adalah tampak sebagai berikut :
Function Hitung(A,B : Integer): Integer;
Contoh :
Suatu Fungsi yang akan menghasilkan nilai terbesar dari 2 buah Nilai Real.
Function Terbesar(X,Y:Real):Real;
Begin Output :
If X>Y then Nilai Pertama ?
12,356
Terbesar :=X Nilai Kedua ? 55.182
Else Nilai Terbesar
adalah 55,182
Terbesar :=Y;
End;
Var
Nilai1,Nilai2 :Real;
Begin
Write(‘Nilai Pertama ?’);Readln(Nilai1);
Write(‘Nilai Kedua ?’);
Readln(Nilai2);
Writeln(‘Nilai Terbesar
adalah’ ,Terbesar(Nilai1,Nilai2):9:3);
End.
Pengiriman parameter secara Acuan (By Reference) 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 dimodul yang mengirimkannya.
Contoh :
Function Hitung(Var A,B,C : Integer):Integer; Output :
Begin
Hitung :=A+B; Nilai
X ? 2
C :=A*B; Nilai
Y ? 3
End.
2
+ 3 = 5
Var 2
* 3 = 6
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);
End.
·
Fungsi Pangkat
Pascal tidak menyediakan Fungsi untuk perpangkatan tinggi, yang ada
hanyalah SQR, yaitu untuk pemangkatan kuadrat. Bila akan melakukan perpangkatan
lebih dari pangkat 2, maka harus dibuat program tersendiri.
Contoh :
Function PangkatI(X:Real; Y:Integer):Real;
Var
Pangkat :=1;
For I := 1 to Y do
Pangkat := Pangkat
* X;
PangkatI :=
Pangkat;
End;
Var
A: Real;
B : Integer;
Begin
Write(‘Nilai akan dipangkatkan
?’);
Readln(A);
Write(‘Dipangkatkan dengan
?’);
Readln(B);
Writeln(A:9:3, ‘Pangkat’ ,B,
‘adalah’,PangkatI(A,B):9:3);
End.
Output :
Nilai akan dipangkatkan ? 1.5
Dipangkatkan dengan ? 3
1.500 pangkat 3 adalah 3.375
·
Fungsi Memanggil Dirinya
Sendiri (Fungsi Rekursif)
Suatu Fungsi dapat juga memanggil dirinya sendiri atau disebut dengan
Recursion
Fungsi Rekursif : fungsi yang dapat memanggil dirinya sendiri. Berikut ini
sebuah contoh fungsi rekursif
Contoh :
Function Faktorial(Nilai :Integer):Real;
Begin
If Nilai = 0 Then
Faktorial := 1
Else
Faktorial := Nilai
* Faktorial(Nilai-1);
End;
Var
N:=Integer;
Begin
Write(‘Berapa Faktorial ?’);
Readln(N);
Writeln(N,’Faktorial =
‘,Faktorial(N):9:0);
End.
Output :
Berapa Faktorial ? 5
5 Faktorial = 120
·
Fungsi Memanggil Fungsi Yang
Lain
Suatu Fungsi dapat juga
memanggil Fungsi yang lainnya. Fungsi yang dipanggil letaknya harus berada
diatas Fungsi yang memanggil.
Contoh : Output
:
Function Fungsi2(Y:Integer):Integer; 11
Begin
Fungsi2 := Y*2; Didapat dari :
End;
Fungsi1 := Fungsi2(X) + 5
Function Fungsi1(X:Integer):Integer; Fungsi1
:= Y * 2+5
Begin Maka untuk Nilai Fungsi(3)
adalah
3 * 2 + 5 = 11
Fungsi1 := Fungsi2(X)+5;
End;
Begin
Writeln(Fungsi1(3));
End.
Materi Pemprograman Dasar Function(Fungsi) ~ Berbagi Itu Indah >>>>> Download Now
ReplyDelete>>>>> Download Full
Materi Pemprograman Dasar Function(Fungsi) ~ Berbagi Itu Indah >>>>> Download LINK
>>>>> Download Now
Materi Pemprograman Dasar Function(Fungsi) ~ Berbagi Itu Indah >>>>> Download Full
>>>>> Download LINK