
· Fungsi adalah model program yang digunakan untuk menghitung sebuah nilai berdasar satu atau beberapa nilai masukan dan memberikan sebuah nilai yang bertipe sederhana (integer, real, boolean, string)
· Aturan Penulisan deklarasi fungsi :
Function nama_fungsi (input daftar parameter formal) tipe_hasil
Deklarasi
{semua nama yang dipakai didalam algoritma fungsi dideklarasikan disini. Nama yang didefinisikan didalam deklarasi lokal hanya dikenal dan dipakai didalam fungsi ini saja}
Deskripsi
{berisi instruksi-instruksi untuk menghasilkan nilai yang akan dikembalikan oleh fungsi}
Return hasil atau nama_fungsi hasil
· Nilai yang dapat dikirimkan oleh fungsi hanya satu, misal :
Jika ingin mengirimkan luas dan keliling sebuah empat persegi panjang, maka harus dibuat dua fungsi yang masing-masing menghitung dan mengirimkan luas dan keliling.
· Pada bagian Deskripsi, harus dituliskan statemen yang mengirimkan hasil dengan melakukan assignmen atau pemberian harga kepada nama fungsi dengan hasil atau nilai yang dikirimkan atau dihitung oleh fungsi tersebut.
· Contoh :
1) Fungsi menghitung gaya, F = massa x percepatan
Function gaya (m, a: real) real
Deklarasi
Tidak ada
Deskripsi
gaya m * a
Penjelasan :
- Gaya adalah nama fungsi.
- Fungsi mempunyai dua parameter yaitu m dan a bertipe real.
- Tipe hasil, gaya tergantung kepada tipe m dan a.
- Pengiriman nilai hasil perhitungan fungsi dilakukan dengan memberikan hargahasil perkalian m dan a kepada gaya (nama fungsi, yaitu dengan statemen gaya m * a
2) Bagaimana fungsi menghitung gaya dengan parameter integer.
3) Buatlah fungsi yang mengirimkan nilai terbesar dari dua buah integer yang diberikan.
Function terbesar (a, b: integer) integer
Deklarasi
Tidak ada
Deskripsi
If a > b then
Terbesar a
Else
Terbesar b
End
4) Buatlah fungsi yang menjumlah deret integer {1+2+3…….+N, N > 0}
Function Jumlahderet (N: integer) integer
Deklarasi
i, jumlah: integer
Deskripsi
jumlah 0
for i to N do
jumlah jumlah + i
End for
jumlahderet jumlah
Penjelasan :
Fungsi dapat menggunakan variabel tambahan jika diperlukan, misal : variabel i, jumlah, tetapi variabel-variabel yang dituliskan tersebut hanya dikenal oleh fungsi tersebut dan karenanya disebut variabel lokal.
Ø Nama fungsi hanya digunakan untuk pengiriman hasil dan nama fungsi tidak dapat dilibatkan dalam perhitungan.
Contoh :
Function jumlah_deret (N: integer) integer
Deklarasi
i: integer
Deskripsi
jumlah_deret 0
for i 1 to N do
jumlah_deret jumlah_deret + i
End for
5) Buatlah fungsi yang memeriksa, apakah kelipatan 3 ?
Function kelipatan3 (n: integer) boolean
Deklarasi
Tidak ada
Deskripsi
If (n mod 3 = 0) then
Kelipatan3 true
Else
Kelipatan3 false
End if
Pemanggilan Fungsi
· Sebuah fungsi dipanggil dengan menuliskan nama fungsi dan parameternya.
· Karena fungsi menghasilkan nilai, maka nilai tersebut dapat ditampung dalam sebuah variabel yang bertipe sama dengan tipe fungsi.
Variabel Nama_fungsi (daftar parameter aktual)
· Atau nilai yang diberikan oleh fungsi langsung dimanipulasi seperti :
(a) Write (nama_fungsi (daftar parameter aktual))
(b) If nama_fungsi (daftar parameter aktual) <0 then…
(c) Z 2*nama_fungsi (daftar parameter aktual) – x + y
· Contoh :
Progrm cari terbesar
Deklarasi
angka1, angka2, palingbesar : integer
Function terbesar (a, b: integer) integer
Deklarasi
Tidak ada
Deskripsi
If a > b then
Terbesar a
Else
Terbesar b
End if
Deskripsi
Write (‘Angka pertama= ‘);read (angka1)
Write (‘Angka kedua= ‘);read (angka2)
palingbesar terbesar (angka1, angka2) statemen pemanggilan
write (‘Angka terbesar adalah ;palingbesar)
Tidak ada komentar:
Posting Komentar