Anda di halaman 1dari 8

Modul Teori Konsep Pemrograman MR-IT Center Madiun

Praktikum 5 : FUNGSI

1. Memanggil fungsi berulang-ulang

/* File program :ulang.c */


#include <stdio.h>

void cetak_pesan(void);

main()
{
int i;

for(i=1; i<=5; i++)


cetak_pesan();
printf("\n");
}

void cetak_pesan()
{
printf("Cetak pesan ini\n");
}

2. Fungsi untuk menghitung jumlah triangular n

/* File program : triangular.c */


#include <stdio.h>

void hitung_triangular(int);

main()
{
hitung_triangular(10);
hitung_triangular(20);
hitung_triangular(50);
}

void hitung_triangular(int n)
{
int i, jumlah = 0;

for (i=1; i <= n; i++)


jumlah = jumlah + i;

printf("Jumlah triangular %d adalah %d\n", n, jumlah);


}

Praktikum 5 hlm. 1
Modul Teori Konsep Pemrograman MR-IT Center Madiun

3. Menentukan faktor pembagi terbesar dari 2 bilangan bulat positif.

/* File program : fpb1.c */


#include <stdio.h>

void fpb(int, int);

main()
{
fpb(150, 35);
fpb(1026, 405);
fpb(83, 240);
}

void fpb(int u, int v)


{
int tampung;

printf("FPB dari %d dan %d adalah ", u, v);


while(v != 0)
{
tampung = u % v;
u = v;
v = tampung;
}
printf("%d\n", u);
}

Praktikum 5 hlm. 2
Modul Teori Konsep Pemrograman MR-IT Center Madiun

4. Menentukan faktor pembagi terbesar dari 2 bilangan bulat positif dan memberikan nilai kembali
(return value)-nya.

/* File program : fpb2.c */


#include <stdio.h>

int fpb(int, int);

main()
{
int hasil;

hasil = fpb(150, 35);


printf("FPB dari 150 dan 35 adalah %d\n", hasil);

hasil = fpb(1026, 405);


printf("FPB dari 1026 dan 405 adalah %d\n", hasil);

printf("FPB dari 83 dan 240 adalah %d\n", fpb(83, 240));


}

int fpb(int u, int v)


{
int tampung;

while(v != 0)
{
tampung = u % v;
u = v;
v = tampung;
}
return(u);
}

Praktikum 5 hlm. 3
Modul Teori Konsep Pemrograman MR-IT Center Madiun

5. Menghitung nilai absolut


/* File program : absolut.c */
#include <stdio.h>

float nilai_absolut(float);

main()
{
float f1 = -15.5f, hasil;

hasil = nilai_absolut(f1);
printf("Nilai absolut dari %g adalah %g\n", f1, hasil);

printf("Nilai absolut dari -6/4 adalah %g\n",


nilai_absolut((-6)/4));
}

float nilai_absolut(float x)
{
if(x < 0)
x = -x;

return(x);
}

6. Fungsi dengan keluaran bertipe float.


/* File program : minimum.c */
#include <stdio.h>

float minimum (float, float);

main()
{
float a, b, kecil;

printf("Masukkan nilai a : ");


scanf("%f", &a);
printf("Masukkan nilai b : ");
scanf("%f", &b);

kecil = minimum(a, b);


printf("\nBilangan terkecil antara %g dan %g adalah %g\n\n",
a, b, kecil);
}

float minimum(float x, float y)


{
if (x < y)
return(x);
else
return(y);
} Praktikum 5 hlm. 4
Modul Teori Konsep Pemrograman MR-IT Center Madiun

7. Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua bilangan.

/* File program : tukar.c */


#include <stdio.h>

void tukar (int, int);

main()
{
int a,b;

a=88;
b=77;

printf("Nilai sebelum pemanggilan fungsi\n");


printf("a = %d b = %d\n", a, b);

tukar(a,b);

printf("\nNilai setelah pemanggilan fungsi\n");


printf("a = %d b = %d\n", a, b);
}

void tukar(int x, int y)


{
int z;

z = x;
x = y;
y = z;

printf("\nNilai di akhir fungsi tukar()\n");


printf("x = %d y = %d\n", x, y);
}

Praktikum 5 hlm. 5
Modul Teori Konsep Pemrograman MR-IT Center Madiun

8. Ilustrasi variabel auto dan static.

/* File program : auto.c */


#include <stdio.h>

void demo(void); /* ANSI function prototypes */

main()
{
int i=0;

while(i < 3) {
demo();
i++;
}
}

void demo(void)
{
auto int var_auto = 0;
static int var_static = 0;

printf("auto = %d, static = %d\n", var_auto, var_static);


++var_auto;
++var_static;
}

Praktikum 5 hlm. 6
Modul Teori Konsep Pemrograman MR-IT Center Madiun

Soal-soal latihan Praktikum V :

1. Apa hasil eksekusi dari program berikut :

/* File program : lat1.c */


#include <stdio.h>

void fung_a(void);
void fung_b(void);

int x = 20;

main()
{
x += 2;
fung_a();
fung_a();
printf("\nNilai x dalam main() = %d\n\n", x);
}

void fung_a(void)
{
static x = 5;

x++;
printf("Nilai x dalam fung_a() = %d\n", x);
fung_b();
}

void fung_b(void)
{
x--;
printf("Nilai x dalam fung_b() = %d\n", x);
}

Praktikum 5 hlm. 7
Modul Teori Konsep Pemrograman MR-IT Center Madiun

2. Apa hasil eksekusi dari program berikut :

#include <stdio.h>

void ubah(int);

main()
{
int x;

printf("Masukkan nilai x : ");


scanf("%d", &x);
ubah(x);
printf("x = %d\n", x);
}

void ubah(int y)
{
y = 85;
}

3. Buatlah suatu fungsi ganjil() yang mengembalikan nilai 1 jika argumen yang diberikan adalah
bilangan ganjil dan mengembalikan nilai 0 jika argumen tsb bukan bilangan ganjil.

4. Buatlah program untuk menghitung faktorial dengan menggunakan 2 fungsi (main() dan faktorial()).
Fungsi faktorial() memberikan return value bertipe long int yang akan dicetak ke layar dalam fungsi
main().

5. Menghitung permutasi dan kombinasi dari suatu pasangan bilangan dinyatakan dengan rumus sbb :
Permutasi : P(n, r) = n! / (n-r)!
Kombinasi : C(n, r) = n! / r!(n-r)!

Buatlah program untuk menghitung permutasi dan kombinasi dari bilangan n dan r yang diinputkan.
(Petunjuk : Gunakan fungsi main(), faktorial(), permutasi() dan kombinasi())

Praktikum 5 hlm. 8