Fungsi di dalam algoritma dan bahasa pemrograman sebenarnya adalah bagian yang tidak bisa dipisahkan, bahkan hampir semua bahasa pemrograman tingkat tinggi melibatkan fungsi di dalam kaidah struktur kode bahasa yang digunakan nya.
Fungsi keberadaannya memiliki peran yang sangat signifikan karena dapat mempersingkat penulisan program dan dapat meningkatkan kualitas struktur program sehingga lebih modular serta mudah dipahami.
Saya yakin jika anda pertama kali mempelajari algoritma, dan anda dikenalkan dengan materi algoritma tentang fungsi, maka anda akan dibuat bingung, pasalnya memang fungsi untuk orang awam sulit sekali dipahami, tapi sebenarnya jika sudah dapat dipahami fungsi itu tidaklah sesulit apa yang dibayangkan.
Di artikel kali ini saya akan menjelaskan secara terperinci mengenai algoritma pemrograman fungsi. apa yang akan saja jelaskan meliputi, definisi fungsi, deklarasi fungsi, parameter, nilai balik, rekursif funsi dan contoh fungsi.
Definisi atau pengertian Fungsi
Fungsi adalah sebuah blok kode program yang melakukan operasi khusus yang sudah didefinisikan dan mengembalikan hasil yang telah diproses, dengan adanya fungsi program lebih kelihatan rapi, mudah dipahami dan lebih terstruktur, karena dengan adanya blog fungsi maka ketika di dalam program secara keseluruhan ternyata ada proses yang serupa lebih dari satu dengan blok fungsi yang sudah dibuat, tidak perlu membuat ulang, cukup menggunakan blok fungsi tersebut dengan cara memanggil nama fungsi tersebut tanpa harus menulis kode kembali.Deklarasi Fungsi dalam algoritma
Deklarasi fungsi dalam algoritma adalah aturan penulisan kode algoritma untuk blok fungsi, deklarasi fungsi dalam algoritma biasanya sangat tergantung sekali dengan pendekatan bahasa pemrograman yang akan mengkonversinya, untuk pendekatan ke dalam bahasa pemrograman pascal deklarasi fungsi biasanya dimulai dengan kata Function sebagai berikut:Function NamaFungsi (input : deklarasi parameter, jika ada) à Tipe data
{Spesifikasi fungsi, berisi penjelasan tentang apa yang dilakukan dan dikembalikan oleh fungsi .}
DEKLARASI{semua nama yang dipakai di dalam fungsi dan hanya berlaku lokal di dalam prosedur didefinisikan di sini}
ALGORITMA{badan fungsi, berisi urutan instruksi yang menghasilkan nilai yang akan dikembalikan oleh fungsi}
Return ekspresi {pengembalikan nilai yang dihasilkan fungsi}
NamaFungsi bisa disesuaikan pada umumnya diberi nama sesuai dengan kegunaan dari blok fungsi itu sendiri, sedangkan yang ada di dalam kurung itu adalah parameter, fungsi harus mengembalikan sebuah nilai dari pengolahan data atau proses fungsi, perintahnya biasanya diletakan di akhir baris fungsi, kode perintahnya adalah Return.....
Aturan penulisan nama fungsi
Nama fungsi memiliki aturan penulisan khusus, sebagai berikut:
- Tidak boleh di awalai oleh angka
- Tidak boleh mengandung spasi
- Tidak boleh menggunakan keyword dari bahasa pemrograman yang digunakan
Parameter Fungsi dalam algoritma
Parameter fungsi adalah variable yang dilewatkan ke dalam fungsi, ketika fungsi dibuat parameter sifatnya opsional, boleh ada atau pun boleh tidak digunakan, pertimbangannya adalah, jika variable-variable yang dilibatkan di dalam fngsi sifatnya dinamic atau bisa diubah-ubah atau berbeda-beda maka parameter wajib dilibatkan, namun jika sebaliknya tidak perlu melibatkan variable di dalam fungsi tersebut.Dalam algoritma fungsi penulisan parameter biasanya di dalam kurung setelah nama fungsi, dengan perintah input: deklarasi varameter, seperti terlihat pada potongan kode fungsi di bawah ini:
Function NamaFungsi (input : deklarasi parameter, jika ada) : Tipe data.........endfunction
Kode yang berwarna merah di atas itu disebut parameter, parameter yang dimasukan adalah nama variable dan tipe datanya, bisa lebih dari satu atau dikosongkan saja.
Nilai balik fungsi dalam algoritma
Fungsi harus dipanggil untuk dijalankan oleh program
Function jumlahkan(var a,b,c,d,e... integer) : integer
.....
.....
reurn ......
Fungsi diatas namanya adalah jumlahkan yang mengembalikan sebuah nilai dalam bentuk integer, blok fungsi di atas ketika dibaca oleh program maka hanya sekedar akan dibaca saja tidak akan dieksekusi atau diproses, nah agar fungsi tersebut diproses maka nama fungsi tersebut perlu dipanggil di dalam struktur program.
Misalkan saja hasil dari fungsi tersebut ingin kita cetak ke layar maka kita harus memanggil fungsi tersebut untuk dicetak
writeln('Totalnya adalah:', jumlahkan(10,5));
Kode yang berwarna merah di atas adalah contoh dari pemanggilan nama fungsi.
atau
.......Kode program di atas juga sebagai salah satu contoh pemanggilan fungsi, karena fungsi mengembalikan sebuah nilai dan nilai yang dikembalikan dari contoh fungsi diatas adalah integer maka kita bisa memanggil fungsi tersebut di dalam proses perhitungan seperti di atas.
Jumlah ß jumlah + jumlahkan(5,5)........
Fungsi Rekursif
Fungsi rekursif adalah Fungsi yang memanggil dirinya sendiri atau pemanggilan fungsi yang bersangkutan di dalam struktur fungsi itu sendiri, misalkan anda memiliki fungsi jumlahkan, nah di struktur fungsi jumlahkan yang anda buat anda memanggil fungsi jumlahkan.contoh struktur fungsi rekursif
function jumlahkan(var a,b : integer) : integer
....
jumlahkan(10,5)
....
endfunction
Bisa dilihat di struktur algoritma di atas bahwa fungsi jumlahkan di panggil di dalam struktur fungsi jumlahkan. itu yang disebut sebagai rekursif atau fungsi yang memanggil dirinya sendiri.
Contoh Kasus Struktur algoritma yang melibatkan fungsi
A. Algoritma Menghitung persegi panjang tanpa Fungsi
algoritma hitung_persegi_panjang;
DEKLARASI
panjang : integer
lebar : integer
luas : integer
ALGORITMA:
lebar ß 5
panjang ß 10
luas ß panjang * lebar
write(luas)