PRAKTIKUM 16
KONSEP PEMROGRAMAN
B. PERCOBAAN
1. Adakah sesuatu yang salah pada sebuah fungsi yang tidak mempunyai return value ?
Jelaskan analisismu tentang sebuah fungsi yang tidak memiliki return value!
Jawab
Tidak ada yang salah jika suatu fungsi tidak memiliki return value, karena return suatu fungsi
mempunyai return value jika diperlukan respon dari fungsi tersebut oleh fungsi yang
memanggilnya. Suatu fungsi yang tidak mempunyai return value cara kerjanya hanya sebatas
memproses parameter dan tidak sampai memberi respon kepada fungsi yang memanggilnya.
a. Listing program
#include <stdio.h>
void
fungsi(void);
main()
{
fungsi();
}
void fungsi(void)
{
puts("Tidak ada Masalah");
}
b. Output
2. Apakah yang terjadi jika sebuah fungsi memberikan return value tetapi tidak diassign ke
variabel apapun ?
Jawab
Jika suatu fungsi yang memberikan return value tetapi tidak diasign ke variabel apapun maka
yang akan terjadi adalah program memunculkan bilangan tertinggi yang mampu diproses oleh
komputer, kecuali fungsi tipe void, fungsi tipe void jika diassign ke variabel tidak bisa berjalan.
a. Listing program
#include <stdio.h>
int fungsi(void);
main()
{
fungsi();
printf("Nilai dari return value adalah %d\n", fungsi());
}
int fungsi (void)
{
return (4);
}
b. Output
3. Apakah yang terjadi jika sebuah fungsi diassign ke sebuah variabel padahal fungsi tersebut
tidak memiliki return value ?
Jawab
Jika sebuah fungsi diassign ke sebuah variabel padahal fungsi tersebut tidak memiliki
return value maka program tidak bisa berjalan karena terjadi error, error tersebut
disebabkan oleh fungsi yang tipe keluarannya adalah ”void” atau fungsi tersebut tidak
memiliki tipe keluaran karena fungsi tersebut tidak memiliki return value. Namun,
akan berbeda jika fungsi tersebut memiliki tipe keluaran selain void, karena fungsi
tersebut memiliki tipe keluaran sehingga nilai dari fungsi tersebut bisa diassign ke
suatu variable meskipun tidak memiliki return value.
a. Listing Program
#include <stdio.h>
void
fungsi(int,int);
main(){
int a = 5, b = 10, x;
x = fungsi(a, b);
printf("%d\n", x);
}
void fungsi (m,n)//tanpa return value
{
m++;n--
}
a. Output : error.
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.
a)
Program a hasil b
demo(); 0,1,2 ? ?
i++; 1,2 ? ?
} 1,2 ? ?
} 1,2 ? ?
Output
auto = 0, static = 0
auto = 0, static = 1
auto = 0, static = 2
c)
Program X
int x=20; 20
x+2=2; 22
static x=5; 5
x++ 6
x-- 19
static x=5; 6
x++; 7
x--; 18
Output
Nilai x dalam fung_a() = 6
Nilai x dalam fung_b() = 19
Nilai x dalam fung_a() = 7
Nilai x dalam fung_b() = 19
Nilai x dalam main = 22
int masukan(int t)
{
int i,n,sum=0;
ttl = masukan(a);
hsl = avg(ttl,a);
6. - Fungsi f_to_i() untuk mengubah ukuran dari satuan kaki (feet) ke inci
- Fungsi i_to_cm() untuk mengubah ukuran dari satuan inci ke centimeter
- Fungsi c_to_m()untuk mengubah ukuran dari satuan centimeter ke meter
Dalam main() mintalah masukan ukuran dalam satuan kaki (feet) kemudian lakukan konversi
sampai mendapatkan keluaran berupa ukuran dalam meter. Tentukan jumlah dan tipe parameter
dan return value yang dibutuhkan.
a. Listing program
#include <stdio.h>
#include <stdlib.h>
float f_to_i(float a)
{
return a*12;
}
float i_to_cm(float x)
{
return f_to_i(x)*2.54;
}
float cm_to_m(float b)
{
return i_to_cm(b)/100;
}
int main()
{
float n,hsl;
printf("Masukkan besaran panjang dalam kaki : ");
scanf("%f",&n);
hsl=cm_to_m(n);
printf("Maka besar %f kaki dalam m adalah %f m",n,hsl);
return 0;
}
b. Output