Fungsi Pada Pemrograman Bahasa C

Fungsi Pada Pemrograman Bahasa C


Apa Itu Fungsi ?

Fungsi atau Function adalah suatu bagian dari program yang dirancang untuk melaksanakan tugas tertentu dan letaknya dipisahkan dari program yang menggunakannya. Elemen utama dari program bahasa C berupa fungsi-fungsi, dalam hal ini program dari bahasa C dibentuk dari kumpulan fungsi pustaka (standar) dan fungsi yang dibuat sendiri oleh pemrogram.

Macam Fungsi

Standard, sudah disediakan oleh compiler, tinggal dipakai dengan menyebutkan headernya (kamusnya) pada preprosessor include. Misalnya fungsi printf() headernya adalah stdio.h dan fungsi exit() headernya adalah stdlib.h
User, didefinisikan oleh user dan disesuaikan dengan kebutuhan user.

Tujuan Fungsi

Fungsi banyak digunakan pada program C dengan tujuan :
  • Program menjadi terstruktur, sehingga mudah dipahami dan mudah dikembangkan. Dengan memisahkan langkah-langkah detail ke satu atau lebih fungsi-fungsi, maka fungsi utama (main()) menjadi lebih pendek, jelas dan mudah dimengerti.
  • dapat mengurangi pengulangan (duplikasi) kode. Langkah-langkah program yang sama dan dipakai berulang-ulang di program dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi-fungsi. Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, tetapi cukup memanggil fungsi-fungsi tersebut.

Dasar Fungsi

Fungsi dasar C yang mengemban tugas khusus contohnya adalah:

- printf(), yaitu untuk menampilkan informasi atau data ke layar.
- scanf(), yaitu untuk membaca kode tombol yang diinputkan.

Pada umumnya fungsi memerlukan nilai masukan atau parameter yang disebut sebagai argumen. Nilai masukan ini akan diolah oleh fungsi. Hasil akhir fungsi berupa sebuah nilai (disebut sebagai return value atau nilai keluaran fungsi).

Oleh karena itu fungsi sering digambarkan sebagai "kotak gelap" seperti ditunjukkan pada gambar di bawah ini.


    Fungsi Pada Pemrograman Bahasa C
    Fungsi Sebagai Sebuah Kotak Gelap
    Parameter bisa diatikan sebagai “bahan baku”yang akan diproses dalam fungsi dan dikirim dari tempat fungsi tersebut dipanggil. Keluaran fungsi (return value) bisa diartikan sebagai “oleh-oleh”
    yang akan dibawa ketika proses kembali ke tempat asal fungsi tersebut dipanggil.

    Penggambaran sebagai kotak gelap di antaranya menjelaskan bahwa bagian dalam fungsi bersifat pribadi bagi fungsi. Tak ada suatu pernyataan di luar fungsi yang bisa mengakses bagian dalam fungsi, selain melalui parameter (atau variabel eksternal yang akan dibahas belakangan). Misalnya melakukan goto dari pernyataan di luar fungsi ke pernyataan dalam fungsi adalah tidak diperkenankan.

    Bentuk umum dari definisi sebuah fungsi adalah sebagai berikut :
    tipe-keluaran-fungsi nama-fungsi (deklarasi argumen)
    {
        tubuh fungsi;
    }
    
    Keterangan:

    tipe-keluaran-fungsi, dapat berupa salah satu tipe data C, misalnya char atau int . Kalau penentu tipe tidak disebutkan maka dianggap bertipe int (secara default).
    tubuh fungsi, berisi deklarasi variabel (kalau ada) dan statemen-statemen yang akan melakukan tugas yang akan diberikan kepada fungsi yang bersangkutan. Tubuh fungsi ini ditulis di dalam tanda kurung kurawal buka dan kurung kurawal tutup.

    Sebuah fungsi yang sederhana bisa saja tidak mengandung parameter sama sekali dan tentu saja untuk keadaan ini deklarasi parameter juga tidak ada. Contoh :
    int inisialisasi()
    {
        return(0);
    }
    inisialisasi()
    {
        return(0);
    }
    
    Pada fungsi di atas:
    • tipe keluaran fungsi tidak disebutkan, berarti keluaran fungsi ber tipe int.
    • inisialisasi adalah nama fungsi.
    • Tanda () sesudah nama fungsi menyatakan bahwa fungsi tak memiliki parameter.
    • Tanda { dan } adalah awal dan akhir fungsi.
    • return(0) merupakan sebuah pernyataan dalam tubuh fungsi.
    Fungsi Pada Pemrograman Bahasa C
    Penjelasan Definisi Sebuah Fungsi

    Jenis Fungsi

    Berdasarkan keberadaan nilai keluaran (return value), maka fungsi dibagi menjadi 2 jenis, yaitu :

    1. Punya return value, ciri-cirinya :
    • Ada nama tipe data di depan nama fungsi, kecuali jika return valuenya integer, boleh tidak ditulis karena merupakan tipe default.
    • Ada statement return di dalam body fungsi.
    2. Tidak punya return value, ciri-cirinya :
    • Ada tipe void di depan nama fungsi.
    • Tidak ada statement return di dalam fungsi.

    Fungsi Dengan Return Value Integer

    Suatu fungsi dibuat untuk maksud menyelesaikan tugas tertentu. Suatu fungsi dapat hanya melakukan suatu tugas saja tanpa memberikan suatu hasil keluaran atau melakukan suatu tugas dan kemudian memberikan hasil keluaran.

    Fungsi yang hanya melakukan suatu tugas saja tanpa memberikan hasil keluaran misalnya adalah fungsi untuk menampilkan hasil di layar.

    Dalam tubuh fungsi, pernyataan yang digunakan untuk memberikan nilai keluaran fungsi berupa return. Sebagai contoh, pada fungsi inisialisasi() di atas terdapat pernyataan return(0); yang merupakan pernyataan untuk memberikan nilai keluaran fungsi berupa nol.

    Fungsi yang memiliki return value integer, maka di depan nama fungsi boleh dituliskan tipe int atau tanpa tipe sama sekali.
    Fungsi Pada Pemrograman Bahasa C
    Proses Pemanggilan Fungsi
    Program di atas sekaligus menjelaskan bahwa suatu fungsi cukup didefinisikan satu kali tetapi bisa digunakan beberapa kali. Pada keadaan semacam ini seandainya tubuh fungsi mengandung banyak pernyataan, maka pemakaian fungsi dapat menghindari duplikasi kode dan tentu saja menghemat penulisan program maupun kode dalam memori.

    Misalnya pada pernyataan x = inisialisasi(); dijalankan, mula-mula eksekusi akan diarahkan ke fungsi inisialisasi(), selanjutnya suatu nilai keluaran (hasil fungsi) akhir fungsi diberikan ke x. Proses yang serupa, dilakukan untuk pernyataan y = inisialisasi();

    Bagi suatu fungsi, jika suatu pernyataan return dieksekusi, maka eksekusi terhadap fungsi akan berakhir dan nilai pada parameter return akan menjadi keluaran fungsi. Untuk fungsi yang tidak memiliki pernyataan return, tanda } pada bagian akhir fungsi akan menyatakan akhir eksekusi fungsi.

    Di bawah ini diberikan contoh sebuah fungsi yang mengandung dua buah pernyataan return. Fungsi digunakan untuk memperoleh nilai minimum di antara 2 buah nilai yang menjadi parameternya.
    int minimum(int x, int y)
    {
        if (x < y)
            return(x);
        else
            return(y);
    }
    
    Pada fungsi di atas terdapat dua buah parameter berupa x dan y. Oleh karena itu fungsi juga mengandung bagian untuk mendeklarasikan parameter, yang menyatakan x dan y bertipe int. Adapun penentuan nilai keluaran fungsi dilakukan pada tubuh fungsi, berupa pernyataan
    if (x < y)
        return(x);
    else
        return(y);
    
    Yang menyatakan :
    • jika x < y maka nilai keluaran fungsi adalah sebesar nilai x.
    • Untuk keadaan lainnya (x >= y) maka keluaran fungsi adalah sebesar y.

    Fungsi Dengan Return Value Bukan Integer

    Untuk fungsi yang mempunyai keluaran bertipe bukan integer, maka fungsi haruslah didefiniskan dengan diawali tipe keluaran fungsinya (ditulis di depan nama fungsi). Sebagai contoh untuk menghasilkan nilai terkecil di antara dua buah nilai real, maka definisinya berupa:
    float minimum(float x, float y)
    {
        if (x < y)
            return(x);
        else
            return(y);
    }
    Perhatikan, di depan nama minimum diberikan tipe keluaran fungsi berupa float. Seluruh parameter sendiri juga didefinisikan dengan tipe float.

    Fungsi Tanpa Return Value

    Khusus untuk fungsi yang dirancang tanpa memberikan nilai keluaran (melainkan hanya menjalankan suatu tugas khusus) biasa didefinisikan dengan diawali kata kunci void (di depan nama fungsi).

    Contoh fungsi info_program() yang tugasnya menampilkan informasi tentang sebuah program.
    #include <stdio.h>
    void info_program();
    main() {
        info_program();
    }
    
    void info_program() {
        puts("================================");
        puts("Program dibuat oleh Wap Wibowo  ");
        puts("Tanggal : 15 Oktober 2018       ");
        puts("                                ");
        puts("Selamat menggunakannya.......   ");
        puts("=============================== ");
    }

    Prototype atau Deklarasi Fungsi

    Prototype fungsi digunakan untuk menjelaskan kepada kompiler mengenai :

    • Tipe keluaran fungsi
    • Jumlah parameter
    • Tipe dari masing-masing parameter
    Bagi kompiler, informasi dalam prototipe akan dipakai untuk memeriksa keabsahan (validitas) parameter dalam pemanggilan fungsi. Salah satu keuntungannya adalah, kompiler akan melakukan konversi seandainya antara tipe parameter dalam fungsi dan parameter saat pemanggilan fungsi tidak sama, atau akan menunjukan kesalahan bila jumlah parameter dalam definisi dan saat pemanggilan berbeda.

    Conntoh Prtotype fingsi :
        float jumlah (float x, float y);
    atau
        float jumlah (float, float);
    Penjelasannya adalah sebagai berikut :
    Fungsi Pada Pemrograman Bahasa C
    Prototype Fungsi
    Untuk fungsi yang tidak memiliki argumen (contoh program void.c), maka deklarasinya adalah
        void info_program(void);
    Menyatakan bahwa info_program()tidak memiliki parameter.

    Catatan :
    • Untuk fungsi-fungsi pustaka, prototipe dari fungsi-fungsi berada di file-file judulnya (header file). Misalnya fungsi pustaka printf() dan scanf() prototipenya berada pada file dengan nama stdio.h
    • Untuk fungsi pustaka pencantuman pada prototipe fungsi dapat dilakukan dengan menggunakan preprocessor directive #include.

    Parameter Formal dan Paremeter Aktual

    Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Pada contoh program di atas misalnya, maka dalam fungsi jumlah() variabel x dan y dinamakan sebagai parameter formal.

    Adapun parameter aktual adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan fungsi.
    Fungsi Pada Pemrograman Bahasa C
    Parameter Formal dan Parameter Aktual
    Pada Pernyataan :
    x = jumlah(a, b);
    y = jumlah(20.1, 25.6);
    
    a dan b merupakan parameter aktual dari fungsi jumlah() dalam hal ini parameter berupa variabel. Demikian juga 20.1 dan 45.6 adalah parameter aktual, dalam hal ini berupa konstanta.

    Bahkan bisa juga parameter aktual berupa ungkapan yang melibatkan operator, misalnya
        printf("%g\n", jumlah(2+3, 3+6));





    Demikian artikel tentang Fungsi Pada Pemrograman Bahasa C. Semoga bermanfaat :)

    "Setiap teknologi memiliki resiko yang dapat menghancurkan kehidupan. Tapi kita juga memerlukan teknologi tersebut untuk membangun kehidupan yang lebih baik."

    Related Posts

    Previous
    Next Post »
    Load comments

    Ketentuan Komentar !!!
    ------------------------------
    1. Komentar sesuai dengan artikel di atas
    2. Komentar SPAM otomatis di blokir dan tidak akan dimunculkan
    3. Komentar meninggalkan link aktif otomatis terhapus
    4. Berkomentar dengan etika

    Terima kasih atas komentarnya, semoga postingan di atas bermanfaat :)