Percobaan 6
MENGEMBANGKAN FUNGSI-FUNGSI SENDIRI
Assalamualaikum Wr.Wb
Salam PENS !! POLITEKNIK ?? JOSS !! ….
Asek berjumpa kembali dengan saya Ahmada Haiz Zakiyil Ilahi dari jurusan D4 Teknik Elektronika B (1110191054) akan menjelasakan bagaiamana mempelajari pembuatan fungsi-fungsi diluar fungsi-fungsi yang ada.
Sedikit pembahasan, suatu fungsi adalah bagian program yang terpisah dari fungsi program utamanya main() dan berdiri sendiri untuk mengerjakan suatu proses tertentu.suatu fungsi dapat digunakan pada bahasa pemrogramman BASIC atau PASCAL.
Seperti biasanya tanpa basa-basi langsung cuss ke percobaanya :
TUGAS 6.5.1
Membuat fungsi kabisat() yang akan memberikan nilai balik 1 bila tahun adalah kabisat , dan 0 bila tahun bukan kabisat.
#include <stdio.h>
kabisat(tahun){
if(tahun%4 == 0) printf(“\n1 => maka merupakan tahun kabisat\n”);
else printf(“\n0 => maka merupakan bukan tahun kabisat\n”);
return(tahun);
}
main()
{
int tahun;
printf(“PROGRAM PENENTU TAHUN KABISAT”);
printf(“\n\nKeterangan :\n”);
printf(“Tahun Kabisat\t = 1\n”);
printf(“Tahun bukan Kabisat = 0”);
printf(“\n\nMasukkan tahun = “);
scanf(“%d”, &tahun);
kabisat(tahun);
}
TUGAS 6.5.2
Membuat fungsi factorial() untuk menghitung nilai factorial.
#include <stdio.h>
long int factorial(long int X)
{
int n, jumlah =1;
for(n=1;n<=X;n++){
printf(“%d”,n);
if(n != X)
printf(” x “);
jumlah=jumlah*n;
}
return(jumlah);
}
main()
{
long int X;
printf(“FUNGSI FACTORIAL”);
printf(“\n\nMasukkan bilangan = “);
scanf(“%d”, &X);
printf(“\n%d!= “, X);
printf(” = %d \n”,factorial(X));
getch();
}
TUGAS 6.5.3
Membuat fungsi permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan.
#include <stdio.h>
int i,n,r,P,C,hasil1=1,hasil2=1,hasil3=1;
main()
{
printf(“PROGRAM SUATU FUNGSI PERMUTASI DAN KOMBINASI”);
printf(“\n\nRumus yang digunakan :”);
printf(“\n*PERMUTASI => P(n,r) = n!”);
printf(“\n\t\t ——–“);
printf(“\n\t\t (n-r)!\n”);
printf(“\n*KOMBINASI => P(n,r) = n!”);
printf(“\n\t\t ———-“);
printf(“\n\t\t R!(n-r)!\n”);
printf(“\nMasukkan nilai n dan r :”);
printf(“\nn = “); scanf(“%d”,&n);
printf(“\nr = “); scanf(“%d”,&r);
for(i = 1; i<=n; i++){
hasil1 = hasil1 * i;
}
for(i=1; i<=r; i++){
hasil2 = hasil2 * i;}
for(i=1; i<=(n-r); i++){
hasil3 = hasil3 * i;}
permutasi();
kombinasi();
printf(“\n\nHasil Permutasi P(%d,%d) = %d”, n,r,P);
printf(“\nHasil Kombinasi C(%d,%d) = %d\n”, n,r,C);
}
permutasi(){
P = hasil1/hasil3;
}
kombinasi(){
C = hasil1/(hasil3*hasil2);
}
TUGAS 6.5.4
Membuat suatu fungsi untuk mengkonversi suatu suhu dari celcius, fahrenheit, reamur, hingga kelvin.
#include <stdio.h>
float konversi (float suhu, char asal, char tujuan);
int main()
{
float x, hasil;
char y, z;
printf(“Masukkan suhu sumber : “);
scanf(“%f %c”, &x,&y);
printf(“\n\nMasukkan suhu tujuan : “);
fflush(stdin);
scanf(“%c”, &z);
hasil = konversi (x,y,z);
printf(“\n\nHasil konversi suhu %.2f %c = %.2f %c”, x, y, hasil, z);
}
float konversi (float suhu, char asal, char tujuan){
float hasil;
if (asal == ‘c’ || tujuan == ‘C’){
if (tujuan == ‘r’ || tujuan == ‘R’)
hasil = 0.8 * suhu;
else if (tujuan == ‘f’ || tujuan == ‘F’)
hasil = (1.8 * suhu) + 32;
else if (tujuan == ‘k’ || tujuan == ‘K’)
hasil = suhu + 273;
}
else if (asal == ‘r’ || tujuan == ‘R’){
if (tujuan == ‘c’ || tujuan == ‘C’)
hasil = 1.25 * suhu;
else if (tujuan == ‘f’ || tujuan == ‘F’)
hasil = (2.25 * suhu) + 32;
else if (tujuan == ‘k’ || tujuan == ‘K’)
hasil = (1.25 * suhu) + 273;
}
else if (asal == ‘f’ || tujuan == ‘F’){
if (tujuan == ‘r’ || tujuan == ‘R’)
hasil = (0.8) * (5/9) * (suhu – 32);
else if (tujuan == ‘c’ || tujuan == ‘C’)
hasil = (5/9) * (suhu – 3);
else if (tujuan == ‘k’ || tujuan == ‘K’)
hasil = (5/9) * (suhu – 3) + 273;
}
else if (asal == ‘k’ || tujuan == ‘K’){
if (tujuan == ‘r’ || tujuan == ‘R’)
hasil = (0.8) * (5/9) * (suhu – 32);
else if (tujuan == ‘f’ || tujuan == ‘F’)
hasil = (5/9) * (suhu – 3);
else if (tujuan == ‘c’ || tujuan == ‘C’)
hasil = (5/9) * (suhu – 3) + 273;
}
return hasil;
}
TUGAS 6.5.5
Membuat fungsi prima() yang memberikan nilai balik 1 bila bilangan tersebut prima dan 0 bila bilangan tersebut bukan prima.
#include <stdio.h>
int prima (int bil)
{
int a, faktor=1;
for (a=1;a<=bil;a++)
if (bil%a==0)
faktor++;
if(faktor==3)
return 1;
else
return 0;
}
main()
{
int bil;
printf(“\tFungsi prima\n”);
printf(“\n\nKeterangan :”);
printf(“\nJika hasil = 1 bilangan prima\n”);
printf(“Jika hasil = 0 bukan bilangan prima\n\n”);
printf(“Masukkan sebuah bilangan = “);
scanf(“%d”,&bil);
printf(“\nHasil = %d\n”,prima(bil));
getch();
}
TUGAS 6.5.6
Membandingkan waktu yang diperlukan untuk masing-masing tipe variable.
#include <stdio.h>
#include <time.h>
int main(){
int x=0;
clock_t t;
mulai:
t = clock();
if (x==0){integerwaktu();} else{registerwaktu();}
t = clock() – t;
double waktuyangdibutuhkan = ((double)t)/CLOCKS_PER_SEC;
if (x==0){printf(” integer membutuhkan %g detik untuk eksekusi \n”, waktuyangdibutuhkan);}
else{printf(” register %g detik untuk eksekusi \n”, waktuyangdibutuhkan);}
if(x==0){x++;goto mulai;}
getch();
}
void registerwaktu()
{
register z;
for(z=1;z<=2000;z++)
printf(“a”);
}
void integerwaktu()
{
int c;
for(c=1;c<=2000;c++)
printf(“a”);
}
KESIMPULAN
Dari beberapa percobaan diatas tujuan digunakan fungsi adalah untuk mencegah penggunaan program secara berulang-ulang, sehingga program menjadi yang dibuat tidak terlalu panjang.
Sekiranya begitu saja yang bisa saya bahas kepada teman-teman semua.
Tunggu pembahasan menarik lainnya. Terima Kasih J
Wassalamualaikum Wr.Wb
Recent Comments