Ringkasan mengenai Function dan Recursion
2201738522
Michael
Dragon
Kali ini
saya akan menjelaskan mengenai function dan recursion yang terdapat di bahasa
C, atau bahasa yang sering kita gunakan dalam pemrograman. Pertama saya akan
bahas modular programming
Modular Programming
Suatu program
dibagi menjadi bebrapa modul, dan modul ini sendiri diimplementasikan
menggunakan suatu function dalam bahasa C, apa itu function? Function merupakan
grup dari statement yang digunakan untuk menjalankan beberapa pekerjaan. Kegunaan
dari menggunakan modular programming adalah:
·
Memudahkan untuk debug karena logical flow mudah diikuti dan mudah mencari kesalahannya
·
Memudahkan untuk didokumentasikan
·
Perubahan dapat dilakukan tanpa mempengaruhi semua
code
Function
Dalam bahasa
C, function dibagi menjadi 2:
·
Library function (function standar yang diberikan dari
compiler C, biasanya menggunakan .h)
·
User defined function (suatu function yang mendefine
dirinya sendiri)
lalu untuk membentuk suatu function, caranya adalah:
Return-value-type function
name (parameter)
{
Statements:
}
Dan biasanya suatu
function dibuat di sebelum int main() sehingga function dapat diketahui oleh
int main()[function parameter]. Dalam
suatu function juga terdapat identifikasi yang dibagi menjadi 2 yaitu global
dan local, perbedaannya adalah sebagai berikut:
·
Local identifier
Suatu identifier
dideklarasi di dalam function termasuk dengan parameternya, dan biasanya hanya
dapat dipakai di local saja
·
Global identifier
Identifier yang
dideklarasi di luar function dan berada di paling atas suatu program, sehingga
dapat digunakan di semua tempat, global identifier sendiri dapat di deklarasi
ulang jika perlu di dalam subprogram. Terkadang global identifier tidak
disarankan digunakan, karena:
1) Risiko error
bisa meningkat karena baris kode juga meningkat
2) Sulit untuk
debugging
Recursive Definition
Recursive adalah
function yang memanggil function itu sendiri, berguna untuk masalah recursive
seperti faktorial.
Function recursive
mempunyai 2 komponen, yaitu:
·
Base Case
Nilai return tidak memanggil kembali recursivenya
·
Reduction Step
Nilai return kembali memanggil function recursivenya
Tidak ada komentar:
Posting Komentar