Pemrograman Komputer - Fungsi
Fungsi adalah blok kode terorganisir dan dapat digunakan kembali yang digunakan untuk melakukan satu tindakan terkait. Functions menyediakan modularitas yang lebih baik untuk aplikasi Anda dan penggunaan ulang kode tingkat tinggi. Anda telah melihat berbagai fungsi sepertiprintf() dan main(). Ini disebut fungsi bawaan yang disediakan oleh bahasa itu sendiri, tetapi kita juga dapat menulis fungsi kita sendiri dan tutorial ini akan mengajari Anda cara menulis dan menggunakan fungsi tersebut dalam bahasa pemrograman C.
Hal yang baik tentang fungsi adalah mereka terkenal dengan beberapa nama. Bahasa pemrograman yang berbeda menamainya dengan berbeda, misalnya fungsi, metode, sub-rutin, prosedur, dll. Jika Anda menemukan terminologi seperti itu, bayangkan saja konsep yang sama, yang akan kita bahas dalam tutorial ini.
Mari kita mulai dengan program di mana kita akan mendefinisikan dua larik angka dan kemudian dari setiap larik, kita akan menemukan bilangan terbesar. Diberikan di bawah ini adalah langkah-langkah untuk mengetahui jumlah maksimum dari satu set angka -
1. Get a list of numbers L1, L2, L3....LN
2. Assume L1 is the largest, Set max = L1
3. Take next number Li from the list and do the following
4. If max is less than Li
5. Set max = Li
6. If Li is last number from the list then
7. Print value stored in max and come out
8. Else prepeat same process starting from step 3
Mari terjemahkan program di atas ke dalam bahasa pemrograman C -
#include <stdio.h>
int main() {
int set1[5] = {10, 20, 30, 40, 50};
int set2[5] = {101, 201, 301, 401, 501};
int i, max;
/* Process first set of numbers available in set1[] */
max = set1[0];
i = 1;
while( i < 5 ) {
if( max < set1[i] ) {
max = set1[i];
}
i = i + 1;
}
printf("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = set2[0];
i = 1;
while( i < 5 ) {
if( max < set2[i] ) {
max = set2[i];
}
i = i + 1;
}
printf("Max in second set = %d\n", max );
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Max in first set = 50
Max in second set = 501
Jika Anda memahami contoh di atas dengan jelas, maka akan mudah untuk memahami mengapa kita membutuhkan suatu fungsi. Dalam contoh di atas, hanya ada dua set bilangan, set1 dan set2, tetapi pertimbangkan situasi di mana kita memiliki 10 atau lebih set bilangan yang serupa untuk mengetahui bilangan maksimum dari setiap set. Dalam situasi seperti itu, kita harus mengulang, memproses 10 kali atau lebih dan pada akhirnya, program akan menjadi terlalu besar dengan kode yang berulang. Untuk menangani situasi seperti itu, kami menulis fungsi kami di mana kami mencoba untuk menyimpan kode sumber yang akan digunakan berulang kali dalam pemrograman kami.
Sekarang, mari kita lihat bagaimana mendefinisikan suatu fungsi dalam bahasa pemrograman C dan kemudian di bagian selanjutnya, kami akan menjelaskan cara menggunakannya.
Mendefinisikan Fungsi
Bentuk umum definisi fungsi dalam bahasa pemrograman C adalah sebagai berikut -
return_type function_name( parameter list ) {
body of the function
return [expression];
}
Definisi fungsi dalam pemrograman C terdiri dari header fungsi dan badan fungsi . Inilah semua bagian dari sebuah fungsi -
Return Type- Suatu fungsi dapat mengembalikan nilai. Itureturn_typeadalah tipe data dari nilai yang dikembalikan fungsi. Beberapa fungsi melakukan operasi yang diinginkan tanpa mengembalikan nilai. Dalam kasus ini, return_type adalah kata kuncivoid.
Function Name- Ini adalah nama sebenarnya dari fungsinya. Nama fungsi dan daftar parameter bersama-sama membentuk tanda tangan fungsi.
Parameter List- Parameter seperti placeholder. Saat suatu fungsi dipanggil, Anda meneruskan nilai sebagai parameter. Nilai ini disebut sebagai parameter atau argumen sebenarnya. Daftar parameter mengacu pada jenis, urutan, dan jumlah parameter suatu fungsi. Parameter bersifat opsional; artinya, suatu fungsi mungkin tidak berisi parameter.
Function Body - Badan fungsi berisi kumpulan pernyataan yang mendefinisikan apa yang dilakukan fungsi.
Memanggil Fungsi
Saat membuat fungsi C, Anda memberikan definisi tentang apa yang harus dilakukan fungsi tersebut. Untuk menggunakan suatu fungsi, Anda harus memanggil fungsi itu untuk melakukan tugas yang ditentukan.
Sekarang, mari kita tulis contoh di atas dengan bantuan sebuah fungsi -
#include <stdio.h>
int getMax( int set[] ) {
int i, max;
max = set[0];
i = 1;
while( i < 5 ) {
if( max < set[i] ) {
max = set[i];
}
i = i + 1;
}
return max;
}
main() {
int set1[5] = {10, 20, 30, 40, 50};
int set2[5] = {101, 201, 301, 401, 501};
int max;
/* Process first set of numbers available in set1[] */
max = getMax(set1);
printf("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = getMax(set2);
printf("Max in second set = %d\n", max );
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Max in first set = 50
Max in second set = 501
Fungsi di Java
Jika Anda jelas tentang fungsi dalam pemrograman C, maka mudah untuk memahaminya di Java juga. Pemrograman Java menamakannya sebagaimethods, tetapi konsep lainnya kurang lebih tetap sama.
Berikut ini adalah program setara yang ditulis di Java. Anda dapat mencoba menjalankannya untuk melihat hasilnya -
public class DemoJava {
public static void main(String []args) {
int[] set1 = {10, 20, 30, 40, 50};
int[] set2 = {101, 201, 301, 401, 501};
int max;
/* Process first set of numbers available in set1[] */
max = getMax(set1);
System.out.format("Max in first set = %d\n", max );
/* Now process second set of numbers available in set2[] */
max = getMax(set2);
System.out.format("Max in second set = %d\n", max );
}
public static int getMax( int set[] ) {
int i, max;
max = set[0];
i = 1;
while( i < 5 ) {
if( max < set[i] ) {
max = set[i];
}
i = i + 1;
}
return max;
}
}
Ketika program di atas dijalankan, menghasilkan hasil sebagai berikut -
Max in first set = 50
Max in second set = 501
Fungsi dengan Python
Sekali lagi, jika Anda mengetahui konsep fungsi dalam pemrograman C dan Java, maka Python tidak jauh berbeda. Diberikan di bawah ini adalah sintaks dasar untuk mendefinisikan fungsi dengan Python -
def function_name( parameter list ):
body of the function
return [expression]
Menggunakan sintaks fungsi ini dengan Python, contoh di atas dapat ditulis sebagai berikut -
def getMax( set ):
max = set[0]
i = 1
while( i < 5 ):
if( max < set[i] ):
max = set[i]
i = i + 1
return max
set1 = [10, 20, 30, 40, 50]
set2 = [101, 201, 301, 401, 501]
# Process first set of numbers available in set1[]
max = getMax(set1)
print "Max in first set = ", max
# Now process second set of numbers available in set2[]
max = getMax(set2)
print "Max in second set = ", max
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
Max in first set = 50
Max in second set = 501