# Fungsi dalam algoritama : (Definisi, deklarasi, parameter, nilai balik, rekursif dan contoh fungsi)

Fungsi di dlm algoritma dan bahasa pemrograman bergotong-royong ialah belahan yg tak bisa dipisahkan, bahkan nyaris semua bahasa pemrograman tingkat tinggi melibatkan fungsi di dlm kaidah struktur kode bahasa yg digunakan nya.

Fungsi keberadaannya memiliki peran yg sangat signifikan karena dapat mempersingkat penulisan program & mampu memajukan kualitas struktur acara sehingga lebih modular serta gampang diketahui.

Saya yakin jikalau anda pertama kali mempelajari algoritma, & anda dikenalkan dgn materi algoritma wacana fungsi, maka anda akan dibentuk gundah, pasalnya memang fungsi untuk orang awam sukar sekali diketahui, tetapi sebetulnya kalau sudah dapat dimengerti fungsi itu tidaklah sesulit apa yg dibayangkan.

dan bahasa pemrograman sebenarnya adalah bagian yg tak bisa dipisahkan # Fungsi dlm algoritama : (Definisi, deklarasi, parameter, nilai balik, rekursif & contoh fungsi)

Di artikel kali ini saya akan menerangkan dengan-cara terperinci mengenai algoritma pemrograman fungsi. apa yg akan saja jelaskan meliputi, definisi fungsi, deklarasi fungsi, parameter, nilai balik, rekursif funsi & contoh fungsi.

Definisi atau pemahaman Fungsi

Fungsi ialah sebuah blok kode program yg melakukan operasi khusus yg sudah didefinisikan & mengembalikan hasil yg telah diproses, dgn adanya fungsi program lebih kelihatan rapi, mudah dipahami & lebih terorganisir, alasannya adalah dgn adanya blog fungsi maka tatkala di dlm program dengan-cara keseluruhan ternyata ada proses yg serupa lebih dr satu dgn blok fungsi yg sudah dibuat, tak perlu menciptakan ulang, cukup memakai blok fungsi tersebut dgn cara memanggil nama fungsi tersebut tanpa harus menulis kode kembali.

Deklarasi Fungsi dlm algoritma

Deklarasi fungsi dlm algoritma yaitu aturan penulisan kode algoritma untuk blok fungsi, deklarasi fungsi dlm algoritma biasanya sungguh tergantung sekali dgn pendekatan bahasa pemrograman yg akan mengkonversinya, untuk pendekatan ke dlm bahasa pemrograman pascal deklarasi fungsi biasanya dimulai dgn kata Function selaku berikut:

Function NamaFungsi (input : deklarasi parameter, jika ada) à Tipe data
Spesifikasi fungsi, berisi penjelasan perihal apa yg dijalankan  dan dikembalikan oleh fungsi .
DEKLARASI semua nama yg digunakan di dlm fungsi & hanya berlaku lokal di dlm prosedur didefinisikan di sini
ALGORITMA badan fungsi, berisi urutan isyarat yg menghasilkan nilai yg akan dikembalikan oleh fungsi
Return  ekspresi pengembalikan nilai yg dihasilkan fungsi

NamaFungsi bisa disesuaikan kebanyakan diberi nama sesuai dgn kegunaan dr blok fungsi itu sendiri,  sedangkan yg ada di dlm kurung itu yaitu parameter, fungsi harus mengembalikan suatu nilai dr pengolahan data atau proses fungsi, perintahnya biasanya diletakan di simpulan baris fungsi, kode perintahnya adalah Return…..

  Ini struktur dasar algoritma dan pemrograman: Sequential atau runtunan, selection atau pemilihan dan repetititon atau pengulangan

Aturan penulisan nama fungsi
Nama fungsi memiliki aturan penulisan khusus, sebagai berikut:

  • Tidak boleh di awalai oleh angka
  • Tidak boleh mengandung spasi
  • Tidak boleh memakai kata kuncidr bahasa pemrograman yg digunakan

Parameter Fungsi dlm algoritma

Parameter fungsi adalah variable yg dilewatkan ke dlm fungsi, tatkala fungsi dibuat parameter sifatnya opsional, boleh ada atau pun boleh tak digunakan, pertimbangannya yaitu, jika variable-variable yg dilibatkan di dlm fngsi sifatnya dinamic atau bisa diubah-ubah atau berlawanan-beda maka parameter wajib dilibatkan, tetapi jika sebaliknya tak perlu melibatkan variable di dlm fungsi tersebut.

Dalam algoritma fungsi penulisan parameter biasanya di dlm kurung setelah nama fungsi, dgn perintah input: deklarasi varameter, seperti tampakpada potongan kode fungsi di bawah ini:

Function NamaFungsi (input : deklarasi parameter, kalau ada) : Tipe data…..….endfunction 

Kode yg berwarna merah di atas itu disebut parameter, parameter yg dimasukan yakni nama variable & tipe datanya, bisa lebih dr satu atau dikosongkan saja.

Nilai balik fungsi dlm algoritma

Nilai balik fungsi yaitu return value atau nilai yg diperoleh dr proses yg dijalankan oleh fungsi itu sendiri,  tipe data nilai balik fungsi sesuai dgn yg didefinisikan oleh fungsi itu sendiri, bila tipe datanya integer maka nilai baliknya pula harus integer, bila tipe datanya string maka nilai balik yg dikembalikan pula mesti berformat string.
Karena fungsi mempunyai nilai balik, maka tatkala nama blog fungsi tersebut di panggil di dlm struktur acara bisa kita anggap itu ialah sebuah nilai bukan rangkaian struktur perintah acara. sama halnya tatkala kita ingin memproses angka atau kata, sebab suatu nilai maka tatkala dipanggil fungsi tersebut mesti dilibatkan untuk sebuah proses perhitungan atau dicetak.

Fungsi mesti diundang untuk dijalankan oleh program

Tatkala struktur kode acara dibaca oleh komputer, & di dlm struktur acara tersebut terdapat blok-blok fungsi, maka blok fungsi tersebut hanya akan dibaca saja & tak akan diproses, blok fungsi baru akan diproses tatkala ada kode acara yg memanggil fungsi tersebut.
Untuk memproses blok fungsi maka fungsi tersebut harus di panggil di dlm struktur program dgn cara menulis nama & pula parameternya.
Misalkan saja di dlm struktur acara kita sudah menciptakan funsi sebagai berikut:

Function jumlahkan(var a,b,c,d,e… integer) : integer
…..
…..
reurn ……

Fungsi diatas namanya adalah jumlahkan yg mengembalikan sebuah nilai dlm bentuk integer, blok fungsi di atas tatkala dibaca oleh acara maka hanya sekedar akan dibaca saja tak akan dihukum atau diproses, nah semoga fungsi tersebut diproses maka nama fungsi tersebut perlu diundang di dlm struktur program.

  Algoritma flowchart menghitung luas (lingkaran, segitiga, persegi panjang dan menampilkan hasilnya)

Misalkan saja hasil dr fungsi tersebut ingin kita cetak ke layar maka kita harus mengundang fungsi tersebut untuk dicetak

writeln(‘Totalnya ialah:’, jumlahkan(10,5)); 

Kode yg berwarna merah di atas adalah contoh dr pemanggilan nama fungsi.

atau

…….
Jumlah ß jumlah + jumlahkan(5,5)……..

Kode acara di atas pula selaku salah satu contoh pemanggilan fungsi, alasannya fungsi mengembalikan suatu nilai & nilai yg dikembalikan dr contoh fungsi diatas yaitu integer maka kita bisa memanggil fungsi tersebut di dlm proses perkiraan mirip di atas.

Fungsi Rekursif

Fungsi rekursif yakni Fungsi yg mengundang dirinya sendiri atau pemanggilan fungsi yg bersangkutan di dlm struktur fungsi itu sendiri, misalkan anda memiliki fungsi jumlahkan, nah di struktur fungsi jumlahkan yg 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 dlm struktur fungsi jumlahkan. itu yg disebut sebagai rekursif atau fungsi yg memanggil dirinya sendiri.

Contoh Kasus Struktur algoritma yg melibatkan fungsi

Untuk lebih memahami fungsi maka saya sajikan contoh masalah  struktur algoritma untuk menjumlah luas persegi panjang dgn fungsi & tanpa 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)

B. Algoritma mengkalkulasikan persegi panjang menggunakan fungsi

algoritma hitung_persegi_panjang
DEKLARASI
var panjang. lebar : integer

ALGORITMA:
write (‘masukan panjang : ‘); readln(panjang);
write (‘masukan lebar : ‘);readln(lebar);

writeln(hitung_luas(panjang,lebar));

writeln(hitung_luas(10,5));
writeln(hitung_luas(97,50));


function hitung_luas(var P,L:integer) : integer
var luas : integer
luas ß P * L

return luas;
endfunction.

Algoritma di atas hanya contoh sederhana saja, bisa kita bandingkan kedua struktur algoritma di atas, algortma yg memakai fungsi jauh lebih efektif alasannya tatkala kita ingin memproses perkiraan persegi panjang yg nilai panjang & lebarnya diinput oleh pengguna maka kita tinggal panggil saja perintah hitung_luas(panjang, lebar) dimana variable panjang & lebar sudah diisi oleh pengguna lewat perintah readln.
Dan tatkala kita ingin mengkalkulasikan kembali perhitungan luas persegi panjang dgn panjang & lebar dgn nilai lainnya, maka kita tak perlu menciptakan struktur porgram perkiraan yg baru cukup kerjakan saja pemanggilan fungsi
hitung_luas(10,5) ini bila ingin menjumlah persegi panjang dgn panjang 10 & lebar 5
hitung_luas(97,50) ini jikalau angka yg ingin dijumlah panjangnya 97 & lebarnya 50.  
Bayangkan bila tak menggunakan fungsi, maka tatkala kita ingin menjumlah pesegi panjang dgn nilai berbeda maka kita harus menulis ulang struktur serupa sehingga program akan semakin panjang.
Sekali lagi contoh di atas hanya contoh masalah sederhana saja sehingga panjangnya program tak bisa dijadikan teladan, tetapi jika perkara yg dipecahkan sungguh kompleks penggunaan fungsi betul-betul sangat bermanfaat & sungguh efektif, contoh di atas hanyalah selaku bahan supaya anda bisa memahami tentang fungsi.

Lho kenapa kode perintah algoritma di atas berlawanan dengann yg saya pelajari?

Bisa saja tatkala anda membaca algoritma di atas strukturnnya berlainan dgn apa yg sedang anda pelajari, perlu anda ketahui bahwa perintah algoritma sangat tergantung sekali dgn pendekatan bahasa pemrograman yg ingin anda kembangkan, algoritma di atas menggunakan bahasa pemrograman pascal, bila yg sedang anda pelajari adalah bahasa C++ atau java, maka kode perintah algoritmanya akan sedikit berlawanan.
Yang harus anda perhatikan yaitu akal cara berfikirnya, jika anda bisa menguasai akal cara berfikir yg di uraikan di struktur algoritma maka akan dgn gampang anda mengkonversi ke algoritma sesuai dgn pendekatan bahasa pemrograman yg anda pelajari.