Langsung ke konten utama

Belajar Pemrograman C: Mengenal Fungsi pada Bahasa C

Belajar Pemrograman C: Memahami Fungsi pada Pemrograman C
Dalam pemrograman, fungsi sering digunakan untuk membungkus program menjadi bagian-bagian kecil.
Logika program yang ada di dalam fungsi dapat kita gunakan kembali dengan memanggilnya.
Sehingga tidak perlu menulis ulang.
Pada kesempatan ini, kita akan belajar tentang fungsi pada bahasa pemrograman C.
Mulai dari cara membuat, memanggil, hingga membuat program CRUD sederhana dengan fungsi.
Mari kita mulai…

Apa itu Fungsi?

Fungsi adalah sub-program yang bisa digunakan kembali baik di dalam program itu sendiri, maupun di program yang lain.
Contoh fungsi yang sering kita buat adalah fungsi main().
Fungsi ini memang wajib ada di setiap program C karena akan dieksekusi pertama kali.
Kita juga sebenarnya bisa membuat fungsi yang lain…
Bagaimana caranya?
Silahkan lanjutkan membaca:

Cara Membuat Fungsi pada Bahasa C

Fungsi pada bahasa pemrograman C dapat kita buat dengan cara seperti ini:
Cara Membuat Fungsi pada C
Fungsi biasanya akan mengembalikan sebuah nilai dari hasil prosesnya. Karena itu, kita harus menentukan tipe data untuk nilai yang akan dikembalikan.
Apabila fungsi tersebut tidak memiliki nilai kembalian, maka kita harus menggunakan tipe void untuk menyatakan kalau fungsi tersebut tidak akan mengembalikan nilai apa-apa.
Contoh:
void nama_fungsi(){
    printf("Ini adalah sebuah fungsi\n");
}
Lalu untuk parameter bersifat opsional, nanti akan kita bahas lebih dalam.
Sekarang mari kita coba membaut program C dengan fungsi.
Silahkan buat file baru bernama contoh_fungsi.c kemudian isi dengan kode berikut:
#include <stdio.h>

// membuat fungsi say_hello()
void say_hello(){
    printf("Hello Selamat Datang!\n");
}

void main(){
    // memanggil fungsi say_hello()
    say_hello();
}
Hasilnya:
Program fungsi say_hello
Fungsi say_hello() dapat kita panggil berulang kali pada fungsi main().
Contoh:
#include <stdio.h>

// membuat fungsi say_hello()
void say_hello(){
    printf("Hello Selamat Datang!\n");
}

void main(){
    // memanggil fungsi say_hello()
    say_hello();
    say_hello();
    say_hello();
}
Maka hasilnya:
Program fungsi say_hello
Jadi, cukup buat fungsi satu kali. Kita bisa panggil berkali-kali.

Fungsi dengan Parameter

Parameter adalah variabel yang menyimpan nilai untuk diproses di dalam fungsi.
Parameter akan menyimpan nilai yang akan diinputkan ke dalam fungsi.
Contoh:
void say_hello(char name[]){
    printf("Hello %s!\n", name);
}
Pada contoh di atas, name adalah sebuah parameter berupa array dengan tipe char. Parameter ini hanya akan dikenali di dalam fungsi.
Lalu, bagaimana cara memanggil fungsi yang memiliki parameter?
Berikut caranya:
say_hello("Petani Kode");
Perhatikan! "Petani Kode" adalah nilai yang akan kita berikan ke parameter.
Biar lebih paham… mari kita coba dalam program.
Silahkan buat program baru dengan nama parameter.c, kemudian isi dengan kode berikut:
#include <stdio.h>

void say_hello(char name[]){
    printf("Hello %s!\n", name);
}

void main(){
    say_hello("Dian");
    say_hello("Petani");
    say_hello("Kode");
}
Hasilnya:
Program fungsi dengan parameter pada C
Hasil outputnya akan menyesuaikan dengan nilai parameter yang kita berikan ke dalam fungsi.
Lalu bagaimana kalau ada lebih dari satu parameter?
Gampang…
Tinggal ditambahkan dan dipisah dengan tanda koma seperti ini:
void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}
Mari kita coba…
Buatlah program baru barnama dua_param.c, kemudian isi dengan kode berikut:
#include <stdio.h>

void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}

void main(){
    add(1, 4);
    add(8, 2);
    add(3, 2);
}
Hasilnya:
Program fungsi dengan parameter pada C

Fungsi yang Mengembalikan Nilai

Pada contoh di atas, kita memberikan nilai masukan ke dalam fungsi berupa integer…
…lalu di dalamnya dilakukan operasi penjumlahan.
void add(int a, int b){
    printf("%d + %d = %d\n", a, b, a+b);
}
Fungsi ini tidak akan mengembalikan apa-apa, karena tipe data yang diberikan pada nilai kembalian adalah void.
Fungsi kadang harus mengembalikan sebuah nilai agar dapat diproses di tahap berikutnya.
Kita bisa menggunakan kata kunci return untuk mengembalikan nilai dari fungsi.
Contoh:
int add(int a, int b){
    return a+b;
}
Maka fungsi add() akan mengembalikan nilai berupa integer dari hasil penjumlahan nilai a dan b.
Mari kita coba contoh yang lain…
Silahkan buat program baru bernama fungsi_bagi.c, kemudian isi dengan kode berikut:
#include <stdio.h>

float bagi(int a, int b){
    float hasil = (float)a / (float)b;
    return hasil;
}

void main(){
    printf("Hasil 5/2: %.2f\n", bagi(5, 2));
}
Hasilnya:
Program fungsi pada C

Fungsi Rekursif pada C

Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri.
Maksudnya?
Biasanya kita memanggil fungsi pada fungsi main atau fungsi yang lainnya. Namun, pada fungsi rekursif…
…fungsi itu akan memanggil dirinya sendiri di dalam tubuh fungsi.
Biar lebih jelas!
Coba perhatikan contoh berikut:
#include <stdio.h>
int sum(int n);

void main(){
    int number, result;

    printf("Enter a positive integer: ");
    scanf("%d", &number);

    result = sum(number);

    printf("sum = %d", result);
}

int sum(int num){
    if (num!=0)
        return num + sum(num-1); // fungsi sum() memanggil dirinya sendiri
    else
        return num;
}
Hasilnya:
Program fungsi pada C
Mengapa hasilnya bisa 21?
Karena kita menginputkan nilai 6, maka akan sama dengan:
1 + 2 + 3 + 4 + 5 + 6 = 21

Variabel Lokal dan Variabel Global

Variabel lokal dan variabel global akan sering kita temukan dalam pembuatan fungsi.
Variabel global adalah variabel yang bisa diakses dari semua fungsi. Sedangkan variabel lokal adalah variabel yang hanya bisa diakses dari dalam fungsi itu sendiri.
Contoh:
#include <stdio.h>

// membuat variabel global
int nilai = 9;

void main(){
    // membuat variabel lokal
    int nilai = 7;

    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}
Pada contoh di atas, kita membuat variabel global bernama nilai.
Lalu di dalam fungsi main(), kita membuat variabel lagi bernama nilai dengan nilai yang berbeda.
Variabel yang ada di dalam fungsi main() adalah variabel lokal.
Lalu, berapakah hasil outputnya?
Jawabannya: 7
Mengapa bisa 7?
Karena variabel nilai kita buat ulang di dalam fungsi main.
Sekarang coba hapus variabel lokal yang ada di dalam main, sehingga akan menjadi seperti ini:
#include <stdio.h>

// membuat variabel global
int nilai = 9;

void main(){
    // mencetak variabel
    printf("Nilai: %d\n", nilai);
}
Maka hasil outputnya akan 9. Karena variabel yang dipakai adalah variabel global.

Pass by Value dan Pass by Reference

Pass by value dan pass by reference adalah cara untuk memberikan nilai pada paramaeter.
Biasanya kita langsung memberikan nilai kepada parameter dengan cara seperti ini:
kali_dua(4);
Ini disebut pass by value, karena di sana kita memberikan nilai 4.
Nah kalau seperti ini:
kali_dua(&nama_variabel);
Ini disebut pass by reference, karena kita memberikan alamat memori.
Contoh:
#include <stdio.h>

void kali_dua(int *num){
    *num = *num * 2;
}

void main(){
    int angka = 9;

    // memanggil fungsi
    kali_dua(&angka);

    // mencetak isi variabel
    // setelah fungsi dipanggil
    printf("isi variabel angka = %d\n", angka);
}
Hasilnya:
Fungsi dengan pass by reference
Fungsi kali_dua() memiliki parameter berupa pointer, artinya kita harus memberikan alamat memori untuk pointer ini.
Pada saat pemanggilan, fungsi kali_dua() kita isi parameternya dengan alamat memori dari variabel angka.
Maka hasilnya nilai variabel angka akan dikalikan dengan 2 berdasarkan rumus pada fungsi yang kita berikan.

Apa Selanjutnya?

Fungsi merupakan hal yang wajib dipahami pada pemrograman C, karena dalam pembuatan program yang besar kita akan banyak menggunakan fungsi.
Tulisan ini hanya mengajari dasar-dasar saja. Sebenarnya masih banyak lagi hal yang harus dibahas tentang fungsi.
Kerena itu…
Tunggu saja update berikutnya, 😏.

Komentar

  1. buat teman-teman semua.. silahkan bertanya jika ada yang belum dimengerti sebelum saya beri penugasan

    BalasHapus
    Balasan
    1. Bagaimna itu yang dimaksud dengan fungsi pada bahasa c?

      Hapus
    2. Fungsi dalam C merupakan sekumpulan code yang dibungkus ke dalam sebuah scope untuk menjalankan tugas tertentu... Fungsi memungkinkan kita untuk menghemat penulisan kode yang sering ditulis berulang-ulang, bisa juga dibungkus ke dalam sebuah fungsi dan kita tinggal memanggilnya saja.. bgtu gambaran umumnya tentang fungsi di bahasa C

      Hapus
  2. silahkan baca dlu materinya bru brtnya kalau ad yg mau ditanyakan.. silahkan bertanya d comment section

    BalasHapus
  3. untuk tugas seperti biasa silahkan diringkas materinya.. usahakan semua kode/script dicatat... hasilnya silahkan kirim via wa pribadi... jangan lupa sertakan foto saat mengerjakan tgsnya...

    BalasHapus
  4. Elsa Wulandari Hadir tapi tidak bisa ki komentar hp nya

    BalasHapus
  5. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  6. untuk tugas seperti biasa silahkan diringkas materinya.. usahakan semua kode/script dicatat... hasilnya silahkan kirim via wa pribadi... jangan lupa sertakan foto saat mengerjakan tgsnya...

    BalasHapus

Posting Komentar

Postingan populer dari blog ini

Membuat layanan PBX dengan MizuVoIP

  1. Pastikan komputer server telah terinstal OS minimal Windows 8 dan terkoneksi dengan internet 2. Unduh aplikasi MizuVoIP pada link berikut. 3. Sesuaikan jenis paket instalasi dengan sistem operasi komputer server yang digunakan setelah proses unduhan selesai, jalankan file instalasi tersebut. 4. Pilih Next untuk memulai proses instalasi 5. Pilih opsi I accept the agreement sebagai tanda anda menyetujui lisensi instalasi, kemudian pilih Next. 6. Tentukan lokasi folder instalasi dari Mizu, lalu pilih Next. 7. Berikan nama Start Menu Folder dari Mizu lalu pilih Next 8. Klik Install untuk memulai proses instalasi. 9. Tunggu beberapa saat hingga proses instalasi selesai. 10. Klik Finish untuk mengakihiri proses instalasi dan menjalankan aplikasi Mizu. 11. Berikut adalah tampilan dari aplikasi PBXAdmin Mizu. 12. Pada saat konfigurasi instalasi awal, akan muncul Configuration Wizard, pilih Quick/Auto configuration kemudian pilih Next. 13. Lengkapi detail isian konfigurasi Mizu seperti gam

Media Penyimpanan Data Eksternal

A. Pengertian Media penyimpanan data eksternal.      Computer Data Storage (Penyimpanan Data Komputer) adalah media yang digunakan dengan fungsi untuk menyimpan berbagai macam data digital yang tersedia pada perangkat komputer dengan waktu tertentu sehingga dapat dibaca dan dibuka kembali untuk diproses ulang pada perangkat. Untuk saat ini Media penyimpanan komputer terbagi menjadi 3 kategori, yaitu Media penyimpanan Magnetik (Magnetic Disk), Media Penyimpanan Optical (Optical Disk), dan Media Penyimpanan Awan (Cloud Storage). Dan selanjutnya akan saya bahas ketiga kategori tersebut secara detail, jenis-jenis dan juga contoh dari setiap kategori tersebut. B. Macam macam Media penyimpanan data eksternal. 1. Magnetic Disc Penyimpanan Magnetik merupakan media penyimpanan yang termasuk ke dalam penyimpanan sekuder (secondary storage) yang paling banyak dipakai pada sistem komputer modern. Kelebihan dan Kekurangan : Kelebihan : Kapasitas penyimpanan pada me

Menganalisis relasi logika dasar, kombinasi dan sekuensial (NOT, AND, OR); (NOR,NAND, EXOR, EXNOR); (Flip Flop, counter)

  A. Relasi Logika. Informasi dalam bentuk sinyal 0 dan 1 saling memberikan kemungkinan hubungan secara logik. Fungsi dasar relasi logik adalah : Fungsi AND, OR, dan Fungsi NOT. Disamping ketiga fungsi dasar tersebut ada beberapa fungsi logik yang sering digunakan yaitu : Fungsi EXCLUSIVE OR ( EX-OR ) dan Fungsi EQUIVALENCE. Di dalam Eletronika, fungsi-fungsi logik diatas dinyatakan dalam bentuk : Simbol, Tabel Kebenaran, Persamaan Fungsi dan Diagram Sinyal Fungsi Waktu. B. Gerbang Logika. Gerbang Logika atau dalam bahasa Inggris disebut dengan Logic Gate adalah dasar pembentuk Sistem Elektronika Digital yang berfungsi untuk mengubah satu atau beberapa Input (masukan) menjadi sebuah sinyal Output (Keluaran) Logis. Gerbang Logika beroperasi berdasarkan sistem bilangan biner yaitu bilangan yang hanya memiliki 2 kode simbol yakni  0  dan  1  dengan menggunakan Teori Aljabar Boolean. C. Jenis-jenis Gerbang Logika Dasar dan Simbolnya. Terdapat 7 jenis Gerbang Logika Dasar yang membentuk seb