Lompat ke konten Lompat ke sidebar Lompat ke footer

Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C

Pada Bahasa C, jika sebuah fungsi dipanggil sebelum dilakukan proses deklarasi fungsi, maka kompilator akan mengasumsikan bahwa tipe return dari fungsi tersebut adalah integer.

Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C
Fungsi Sebelum Deklarasi Bahasa C

Sebelum memahami lebih dalam materi tentang Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C, terlebih dahulu pelajari materi tentang: Menampilkan Tipe Return Secara Implisit pada Bahasa C [klik], Fungsi EXIT, ABORT, dan ASSERT Bahasa C [klik], dan Fungsi Static Bahasa C dan Penjelasannya [klik].

Contoh: Program berikut akan gagal melakukan proses kompilasi program.

#include <stdio.h>


int main(void)

{

// Fungsi funt() tidak

// dideklarasikan.

printf("%c\n", fun());

return 0;

}


char fun()

{

return 'G';

}


Penjelasan: Jika fungsi char fun() pada contoh sebelumnya didefinisikan kemudian, setelah fungsi main, dan dilakukan pemanggilan statement. Karena hal tersebut, maka proses kompilasi gagal dilakukan, karena kompilator mengasumsikan bahwa tipe return-nya adalah integer secara default. Sedangkan pada bagian deklarasi fungsi, jika tipe return-nya tidak bersesuaian dengan tipe integer, maka kompilator akan memberikan pesan error.

Baca Juga:

Contoh: Berikut adalah program yang akan dikompilasi secara benar, dimana fungsi didefinisikan sebelum fungsi main().

#include <stdio.h>


int fun()

{

return 10;

}


int main(void)

{

// Fungsi fun() tidak

// dideklarasikan.

printf("%d\n", fun());


return 0;

}


Penjelasan: Kompilator tidak akan mengasumsikan apapun tentang nilai parameter. Kompilator tidak akan mampu bekerja untuk menampilkan pemeriksaan waktu kompilasi dari tipe argumen ketika fungsi diterapkan ke beberapa jenis argumen, dimana hal ini akan menyebabkan permasalahan.

Contoh: Program berikut akan dikompilasi secara baik menggunakan GCC dan akan mengasilkan nilai sisa sebagai nilai output.

#include <stdio.h>


int main (void)

{

printf("%d", sum(10, 5));


return 0;

}


int sum (int b, int c, int a)

{

return (a+b+c);

}


Penjelasan: Terdapat kesalahpahaman bahwa kompilator akan mengasumsikan nilai parameter input juga adalah nilai integer. Karena kompilator mengasumsikan nilai input parameter adalah tipe integer, maka program sebelumnya akan mengakibatkan proses gagal kompilasi.

Catatan: Selalu direkomendasikan untuk mendeklarasikan sebuah fungsi sebelum fungsi tersebut digunakan, sehingga tidak mengakibatkan munculnya input atau hasil yang tidak terduga ketika program tersebut dikompilasi menggunakan kompilator.

Artikel ini didedikasikan kepada: Endah Cahyo Ningrum, Fahrul Irawan, Farlian Sanjana, Faza Ulfiana, dan Junistia Eka Nursetiawati.

6 komentar untuk "Pemanggilan Fungsi Sebelum Deklarasi pada Bahasa C"

  1. Kenapa fungsi harus dipanggil sebelum deklarasi?

    BalasHapus
    Balasan
    1. Karena klo fungsi dipanggil setelah deklarasi berarti fungsi tersebut tidak dipanggil sebelum deklarasi.

      Hapus
  2. Kenapa fungsi harus dipanggil sebelum deklarasi, ini adalah contoh pertanyaan bani israil.

    BalasHapus
    Balasan
    1. Hey kamu, dasar wahyuni, pergi kamu dari tanah arab.

      Hapus
  3. Apa yang dimaksud dengan proses pemanggilan fungsi bahasa C?

    BalasHapus
    Balasan
    1. Proses pemanggilan fungsi adalah proses mengaktifkan suatu fungsi pada program untuk melakukan instruksi tertentu pada komputer.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -