Minggu, 13 November 2016

# Fungsi Dalam Algoritama : (Definisi, Deklarasi, Parameter, Nilai Balik, Rekursif Dan Teladan Fungsi)

Fungsi di dalam algoritma dan bahasa pemrograman bahwasanya yaitu bab yang tidak bisa dipisahkan, bahkan hampir semua bahasa pemrograman tingkat tinggi melibatkan fungsi di dalam kaidah struktur kode bahasa yang digunakan nya.

Fungsi keberadaannya mempunyai tugas yang sangat signifikan alasannya yaitu sanggup mempersingkat penulisan kegiatan dan sanggup meningkatkan kualitas struktur kegiatan sehingga lebih modular serta gampang dipahami.

Saya yakin jikalau 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 bahwasanya jikalau sudah sanggup dipahami fungsi itu tidaklah sesulit apa yang dibayangkan.

dan bahasa pemrograman bahwasanya yaitu bab yang tidak bisa dipisahkan # Fungsi dalam algoritama : (Definisi, deklarasi, parameter, nilai balik, rekursif dan contoh fungsi)


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, alasannya yaitu 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 yaitu 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, jikalau 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 isyarat yang menghasilkan nilai yang akan dikembalikan oleh fungsi}
Return  ekspresi {pengembalikan nilai yang dihasilkan fungsi}


NamaFungsi bisa diadaptasi pada umumnya diberi nama sesuai dengan kegunaan dari blok fungsi itu sendiri,  sedangkan yang ada di dalam kurung itu yaitu parameter, fungsi harus mengembalikan sebuah nilai dari pengolahan data atau proses fungsi, perintahnya biasanya diletakan di tamat baris fungsi, kode perintahnya yaitu 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 yaitu variable yang dilewatkan ke dalam fungsi, saat fungsi dibentuk parameter sifatnya opsional, boleh ada atau pun boleh tidak digunakan, pertimbangannya adalah, jikalau variable-variable yang dilibatkan di dalam fngsi sifatnya dinamic atau bisa diubah-ubah atau berbeda-beda maka parameter wajib dilibatkan, namun jikalau 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 pecahan kode fungsi di bawah ini:

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

Kode yang berwarna merah di atas itu disebut parameter, parameter yang dimasukan yaitu nama variable dan tipe datanya, bisa lebih dari satu atau dikosongkan saja.

Nilai balik fungsi dalam algoritma

Nilai balik fungsi yaitu 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, jikalau tipe datanya integer maka nilai baliknya juga harus integer, jikalau 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 yaitu sebuah nilai bukan rangkaian struktur perintah program. sama halnya saat kita ingin memproses angka atau kata, alasannya yaitu 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 yaitu 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 yaitu contoh dari pemanggilan nama fungsi.

atau

.......
Jumlah ß jumlah + jumlahkan(5,5)........
Kode kegiatan di atas juga sebagai salah satu contoh pemanggilan fungsi, alasannya yaitu fungsi mengembalikan sebuah nilai dan nilai yang dikembalikan dari contoh fungsi diatas yaitu integer maka kita bisa memanggil fungsi tersebut di dalam proses perhitungan menyerupai di atas.

Fungsi Rekursif

Fungsi rekursif yaitu 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 kasus  struktur algoritma untuk menghitung luas persegi panjang dengan fungsi dan 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 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 alasannya yaitu 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 jikalau ingin menghitung persegi panjang dengan panjang 10 dan lebar 5
hitung_luas(97,50) ini jikalau angka yang ingin dihitung panjangnya 97 dan lebarnya 50.  

Bayangkan jikalau 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 kasus sederhana saja sehingga panjangnya kegiatan tidak bisa dijadikan acuan, namun jikalau kasus 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, jikalau yang sedang anda pelajari yaitu bahasa C++ atau java, maka kode perintah algoritmanya akan sedikit berbeda.

Yang harus anda perhatikan yaitu logika cara berfikirnya, jikalau 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.



Sumber http://referensisiswa.blogspot.com/