Fungsi keberadaannya mempunyai tugas yang sangat signifikan sebab sanggup mempersingkat penulisan kegiatan dan sanggup meningkatkan kualitas struktur kegiatan sehingga lebih modular serta gampang dipahami.
Saya yakin bila anda pertama kali mempelajari algoritma, dan anda dikenalkan dengan materi algoritma wacana fungsi, maka anda akan dibentuk bingung, pasalnya memang fungsi untuk orang awam sulit sekali dipahami, tapi bergotong-royong bila sudah sanggup 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 kegiatan yang melaksanakan operasi khusus yang sudah didefinisikan dan mengembalikan hasil yang telah diproses, dengan adanya fungsi kegiatan lebih kelihatan rapi, gampang dipahami dan lebih terstruktur, sebab dengan adanya blog fungsi maka saat di dalam kegiatan secara keseluruhan ternyata ada proses yang serupa lebih dari satu dengan blok fungsi yang sudah dibuat, tidak perlu menciptakan 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 ialah 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, bila ada) Ã Tipe data
{Spesifikasi fungsi, berisi klarifikasi wacana apa yang dilakukan dan dikembalikan oleh fungsi .}
DEKLARASI{semua nama yang digunakan di dalam fungsi dan hanya berlaku lokal di dalam mekanisme didefinisikan di sini}
ALGORITMA{badan fungsi, berisi urutan arahan yang menghasilkan nilai yang akan dikembalikan oleh fungsi}
Return ekspresi {pengembalikan nilai yang dihasilkan fungsi}
NamaFungsi bisa diubahsuaikan pada umumnya diberi nama sesuai dengan kegunaan dari blok fungsi itu sendiri, sedangkan yang ada di dalam kurung itu ialah parameter, fungsi harus mengembalikan sebuah nilai dari pengolahan data atau proses fungsi, perintahnya biasanya diletakan di selesai baris fungsi, kode perintahnya ialah Return.....
Aturan penulisan nama fungsi
Nama fungsi mempunyai 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 ialah variable yang dilewatkan ke dalam fungsi, saat fungsi dibentuk parameter sifatnya opsional, boleh ada atau pun boleh tidak digunakan, pertimbangannya adalah, bila variable-variable yang dilibatkan di dalam fngsi sifatnya dinamic atau bisa diubah-ubah atau berbeda-beda maka parameter wajib dilibatkan, namun bila sebaliknya tidak perlu melibatkan variable di dalam fungsi tersebut.Dalam algoritma fungsi penulisan parameter biasanya di dalam kurung sehabis nama fungsi, dengan perintah input: deklarasi varameter, menyerupai terlihat pada potongan kode fungsi di bawah ini:
Function NamaFungsi (input : deklarasi parameter, bila ada) : Tipe data.........endfunction
Kode yang berwarna merah di atas itu disebut parameter, parameter yang dimasukan ialah nama variable dan tipe datanya, bisa lebih dari satu atau dikosongkan saja.
Nilai balik fungsi dalam algoritma
Nilai balik fungsi ialah return value atau nilai yang diperoleh dari proses yang dijalankan oleh fungsi itu sendiri, tipe data nilai balik fungsi sesuai dengan yang didefinisikan oleh fungsi itu sendiri, bila tipe datanya integer maka nilai baliknya juga harus integer, bila tipe datanya string maka nilai balik yang dikembalikan juga harus berformat string.
Karena fungsi mempunyai nilai balik, maka saat nama blog fungsi tersebut di panggil di dalam struktur kegiatan bisa kita anggap itu ialah sebuah nilai bukan rangkaian struktur perintah program. sama halnya saat kita ingin memproses angka atau kata, sebab sebuah nilai maka saat dipanggil fungsi tersebut harus dilibatkan untuk sebuah proses perhitungan atau dicetak.
Fungsi harus dipanggil untuk dijalankan oleh program
Ketika struktur kode kegiatan dibaca oleh komputer, dan di dalam struktur kegiatan tersebut terdapat blok-blok fungsi, maka blok fungsi tersebut hanya akan dibaca saja dan tidak akan diproses, blok fungsi gres akan diproses saat ada kode kegiatan yang memanggil fungsi tersebut.
Untuk memproses blok fungsi maka fungsi tersebut harus di panggil di dalam struktur kegiatan dengan cara menulis nama dan juga parameternya.
Misalkan saja di dalam struktur kegiatan kita sudah menciptakan funsi sebagai berikut:
Function jumlahkan(var a,b,c,d,e... integer) : integer
.....
.....
reurn ......
Fungsi diatas namanya ialah jumlahkan yang mengembalikan sebuah nilai dalam bentuk integer, blok fungsi di atas saat dibaca oleh kegiatan maka hanya sekedar akan dibaca saja tidak akan dihukum atau diproses, nah semoga 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 ialah contoh dari pemanggilan nama fungsi.
atau
.......Kode kegiatan di atas juga sebagai salah satu contoh pemanggilan fungsi, sebab fungsi mengembalikan sebuah nilai dan nilai yang dikembalikan dari contoh fungsi diatas ialah integer maka kita bisa memanggil fungsi tersebut di dalam proses perhitungan menyerupai di atas.
Jumlah ß jumlah + jumlahkan(5,5)........
Fungsi Rekursif
Fungsi rekursif ialah Fungsi yang memanggil dirinya sendiri atau pemanggilan fungsi yang bersangkutan di dalam struktur fungsi itu sendiri, misalkan anda mempunyai 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
Untuk lebih memahami fungsi maka saya sajikan contoh perkara struktur algoritma untuk menghitung luas persegi panjang dengan fungsi dan tanpa fungsi:
algoritma hitung_persegi_panjang;
DEKLARASI
panjang : integer
lebar : integer
luas : integer
ALGORITMA:
lebar ß 5
panjang ß 10
luas ß panjang * lebar
write(luas)
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 menghitung 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 yang menggunakan fungsi jauh lebih efektif sebab saat kita ingin memproses perhitungan persegi panjang yang nilai panjang dan lebarnya diinput oleh pengguna maka kita tinggal panggil saja perintah hitung_luas(panjang, lebar) dimana variable panjang dan lebar sudah diisi oleh pengguna melalui perintah readln.
Dan saat kita ingin menghitung kembali perhitungan luas persegi panjang dengan panjang dan lebar dengan nilai lainnya, maka kita tidak perlu menciptakan struktur porgram perhitungan yang gres cukup lakukan saja pemanggilan fungsi
hitung_luas(10,5) ini bila ingin menghitung persegi panjang dengan panjang 10 dan lebar 5
hitung_luas(97,50) ini bila angka yang ingin dihitung panjangnya 97 dan lebarnya 50.
Bayangkan bila tidak menggunakan fungsi, maka saat kita ingin menghitung pesegi panjang dengan nilai berbeda maka kita harus menulis ulang struktur serupa sehingga kegiatan akan semakin panjang.
Sekali lagi contoh di atas hanya contoh perkara sederhana saja sehingga panjangnya kegiatan tidak bisa dijadikan acuan, namun bila perkara yang dipecahkan sangat kompleks penggunaan fungsi benar-benar sangat bermanfaat dan sangat efektif, contoh di atas hanyalah sebagai materi semoga anda bisa memahami wacana fungsi.
Lho kenapa kode perintah algoritma di atas berbeda dengann yang saya pelajari?
Bisa saja saat anda membaca algoritma di atas strukturnnya berbeda dengan apa yang sedang anda pelajari, perlu anda ketahui bahwa perintah algoritma sangat tergantung sekali dengan pendekatan bahasa pemrograman yang ingin anda kembangkan, algoritma di atas menggunakan bahasa pemrograman pascal, bila yang sedang anda pelajari ialah bahasa C++ atau java, maka kode perintah algoritmanya akan sedikit berbeda.
Yang harus anda perhatikan ialah logika cara berfikirnya, bila anda bisa menguasai logika cara berfikir yang di uraikan di struktur algoritma maka akan dengan gampang anda mengkonversi ke algoritma sesuai dengan pendekatan bahasa pemrograman yang anda pelajari.
Emoticon