Pada artikel sebelumnya telah terdapat penjelasan tentang fungsi dan prosedur dalam pemrograman Bahasa C tapi belum admin beri contohnya. Nah untuk artikel kali ini admin khusus membahas tentang contoh penggunaan fungsi dan prosedur dalam pemrograman Bahasa C. Langsung saja simak ulasan berikut.
Contoh Penggunaan Fungsi :
1. Membuat fungsi untuk mengitung Volume Tabung
//Program Menghitung Volume Tabung #include <stdio.h> #define PHI 3.14 float hit_volume(float r, float t); int main(){ float jari_jari,tinggi,volume; printf("\t========Menghitung Volume Tabung========\n"); printf("Masukkan jari-jari tabung : "); scanf("%f",&jari_jari); printf("Masukkan tinggi tabung : "); scanf("%f",&tinggi); volume = hit_volume(jari_jari,tinggi); printf("Volume Tabung adalah : %.2f",volume); } float hit_volume(float r, float t){ float v; v = PHI*r*r*t; return v; }
Maka akan didapatkan output :
Dari listing diatas kita melakukan pendeklarasian fungsi hit_volume() pada bagian atas fungsi utama, sehingga kita boleh atau dapat mendefenisikan fungsi hit_volume()pada bagian akhir program atau setelah fungsi utama. Kemudian pada fungsi hit_volume() diatas admin menyerakan 2 parameter yaitu float r dan float t. float r dan float t ini lah yang disebut dengan parameter formal. Sedangkan parameter yang admin ikutsertakan saat pemanggilan fungsi hit_volume(jari_jari,tinggi)yaitu variable jari_jari dan tinggi merupakan parameter actual.
Pada pendefenisian fungsi hit_volume() pada bagian tubuh fungsi, terdapat beberapa statement, dan salah satunya return v. renturn vmaksudnya nilai balik diambil dari nilai v dan menjadi nilai yang dihasilkan saat pemanggilan fungsi hit_volume().
2. Membuat Fungsi untuk menghitung Luas Sisi Tabung
//Program Menghitung Luas Sisi Tabung #include <stdio.h> #define PHI 3.14 float hit_luas(float r, float t){ float l; l = 2*PHI*r*(r+t); return l; } int main(){ float jari_jari,tinggi,luas; printf("\t========Menghitung Luas Sisi Tabung========\n"); printf("Masukkan jari-jari tabung (cm): "); scanf("%f",&jari_jari); printf("Masukkan tinggi tabung (cm): "); scanf("%f",&tinggi); luas = hit_luas(jari_jari,tinggi); printf("Luas Sisi Tabung adalah : %.2f cm\xFD",luas); }
Akan menghasilkan output :
Dari listing diatas fungsi hit_luas() telah di defenisikan diawal atau sebelum fungsi utama (main()), sehingga tidak perlu lagi melakukan pendeklarasian fungsi.
Contoh Penggunaan Fungsi Rekursif :
1. Program Menghitung Factorial
//Menghitung Nilai faktorial menggunakan Fungsi Rekursif #include<stdio.h> int hit_faktorial(int bil, int x , int i){ if(i>bil) return x; x *= i; i++; hit_faktorial(bil,x,i); } int main(){ int hasil = 1,bil; printf("Masukkan bilangan faktorial: "); scanf(" %d",&bil); hasil = hit_faktorial(bil,hasil,1); printf("Nilai Faktorial dari bilangan %d! adalah : %d",bil,hasil); }
Untuk mencari nilai factorial sebenarnya tidak harus menggunakan fungsi. Bisa juga hanya dengan menggunakan perulangan for. Hanya saja admin disini menggunakan fungsi dengan tujuan agar sobat tau bagaimana bentuk fungsi rekursif secara langsung.
2. Penjabaran penghitung perpangkatan dengan program rekursif
//Penjabaran penghitungan nilai berpangkat dengan fungsi rekursif #include<stdio.h> int kalikan(int bil, int p, int hasil, int i); int pangkatkan(int bil, int p, int hasil, int i); int main(){ int hasil = 1,bil, p; printf("Masukkan bilangan: "); scanf(" %d",&bil); printf("Masukkan pangkat: "); scanf(" %d",&p); hasil = pangkatkan(bil,p,hasil,0); printf("Jadi hasil dari bilangan %d dipangkatkan dengan %d adalah : %d",bil,p,hasil); } int kalikan(int bil, int p, int hasil, int i){ i++; hasil*=bil; pangkatkan(bil,p,hasil,i); } int pangkatkan(int bil, int p, int hasil, int i){ printf("%d dipangkatkan %d = %d\n",bil,i,hasil); if(i==p) return hasil; kalikan(bil,p,hasil,i); }
Sebenarnya dalam pemrograman Bahasa C, fungsi untuk mencari hasil perpangkatan bilangan sudah ada yaitu dengan menggunakan fungsi pow() yang terdapat pada file header math.h. contoh diatas hanyalah fungsi yang admin buat sendiri dengan ujuan agar sobat dapat mengerti bagaimana bentuk fungsi rekursif secara tidak langsung.
Contoh penggunaan prosedur / fungsi tanpa nilai balik :
1. Program menampilkan menu secara berulang kondisi(y/n)
//Program menampilkan menu secara berulang (y/n) #include <stdio.h> #includevoid menu(); void main(void){ menu(); } void menu(){ char pilihan; printf("\n==============Menu==============\n" "1. Tambah data\n" "2. Tampilkan\n" "3. Ubah data\n" "4. Hapus data\n\n"); printf("Apakah ingin menampilkan Menu kembali? (y/n)"); pilihan = getche(); if(toupper(pilihan)=='Y') menu(); else exit(0); }
Pada contoh prosedur diatas terlihat kemiripan dengan fungsi, hanya saja prosedur bertype void (dinyatakan tanpa type) dan tidak menggunakan perintah returnsehingga tidak memiliki nilai balik.
2. Contoh Prosedur lainnya
#include <stdio.h> void tampil(int x){ int i; for(i=0;i<x;i++){ printf("%d. abangkoding.blogspot.com\n",(i+1)); } } void main(void){ int x; printf("Berapa kali akan ditampilkan? : "); scanf("%d",&x); tampil(x); }
Seperti halnya fungsi yang telah didefenisikan sebelum fungsi utama, tidak perlu dideklarasikan kembali, begitu juga dengan prosedur.
Jadi itulah ulasan tentang Contoh Fungsi dan prosedur dalam Bahasa C. Semoga sobat dapat memahami dan mempraktekkannya. Pada artikel selanjutnya admin akan membahas tentang struktur dalam pemrograman Bahasa C¸ Mungkin hanya ini yang dapat admin bagikan pada artikel kali ini, semoga bermanfaat untuk kita semua.
Wassalamu’alaikum.
y
ReplyDelete