Galih Tegar Febrianto
Galih Tegar Febrianto
PRAKTIKUM 16
KONSEP PEMROGRAMAN
2. Apakah yang terjadi jika sebuah fungsi memberikan return value tetapi tidak diassign ke
variabel apapun ?
Jawab: Tidak terjadi apa-apa. Fungsi tetap menjalankan proses di dalamnya. Tetapi, hasil
dari proses itu tidak bisa digunakan dalam fungsi main() atau fungsi lain.
3. Apakah yang terjadi jika sebuah fungsi diassign ke sebuah variabel padahal fungsi tersebut
tidak memiliki return value ?
Jawab: selama tipe data fungsi tersebut bukan void, fungsi tetap bisa memberi return value
tanpa deklarasi return pada fungsi secara eksplisit. Dengan syarat ada suatu variable dalam
fungsi itu yang bertipe data sama dengan return fungsi tersebut dalam deklarasinya.
4. Trace secara manual semua program di bawah ini baris per barisnya, dan tampilkan nilai
semua variabel pada setiap baris prosesnya. Selain itu, tebaklah tampilkan keluaran
programnya
int OddEvenTest(int);
main() a hasil b
{
int a, hasil; tak tentu tak tentu undefined
tak tentu tak tentu undefined
a = 5; 5 tak tentu undefined
hasil = OddEvenTest(a); 5 1 undefined
printf("a=%d; hasil=%d\n",a,hasil); 5 1 undefined
} undefined undefined undefined
undefined undefined undefined
OddEvenTest(int b) undefined undefined 5
{ undefined undefined 5
int a; tak tentu undefined 5
a = b % 2; 1 undefined 5
return a; 1 undefined 5
} undefined undefined undefined
void fung_a(void); x
void fung_b(void); 20
20
int x = 20; 20
20
main() 22
{ 6 dan 21
x += 2; 7 dan 20
fung_a(); 20
fung_a(); 20
printf("\nNilai x dalam main()=%d\n\n",x); 20
} 20
20
void fung_a(void) 5
{ 5
static x = 5; 6
6
x++; 22
printf("Nilai x dalam fung_a() = %d\n", x); 22
fung_b(); 22
} 22
22
void fung_b(void) 21
{ 21
x--; 21
printf("Nilai x dalam fung_b() = %d\n", x);
}
void demo(void); i var_auto var_stactic
0 undefined undefined
main() 0 undefined undefined
{ 0 1 1
int i=0; 1 undefined undefined
while(i < 3) { 1 undefined undefined
demo(); undefined undefined undefined
i++; undefined undefined undefined
} undefined undefined undefined
} undefined undefined undefined
undefined 0 undefined
void demo(void) undefined 0 0
{ undefined 0 0
auto int var_auto = 0; undefined 0 0
static int var_static = 0; undefined 0 0
undefined 1 0
printf("auto = %d, static = %d\n", undefined 1 1
var_auto, var_static); undefined undefined undefined
++var_auto;
++var_static;
}
#include<stdio.h>
#include<stdlib.h>
int masukan(int);
int average(int, int);
int main()
{
int banyak_nilai, total_nilai, rata;
printf("masukan banyak nilai: ");
scanf("%d", &banyak_nilai);
total_nilai = masukan(banyak_nilai);
rata = average(total_nilai, banyak_nilai);
printf("total nilai: %d\nrata-rata: %d", total_nilai, rata);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
float f_to_i(float);
float i_to_cm(float);
float cm_to_m(float);
int main()
{
float feet, inchi, centi, meter;
printf("masukan nilai(feet): ");
scanf("%f", &feet);
inchi = f_to_i(feet);
centi = i_to_cm(inchi);
meter = cm_to_m(centi);
printf("dalam meter: %g", meter);
return 0;
}