Percobaan 1
Adakah sesuatu yang
yang salah pada sebuah fungsi yyang
ang tidak mempunyai
mempunyai
return value ? Jelaskan analisismu tentang sebuah fungsi yang
yang tidak
memiliki return value!
Tidak. Karena di bahasa C, terdapat tipe data void yang digunakan
untuk mendeklarasikan fungsi yang tidak memiliki return value.
value .
Setiap fungsi tidak harus memiliki return value. Hanya fungsi
fun gsi yang
digunakan kembali dalam fungsi main() atau fungsi lain sebagai suatu
nilai output yang harus memiliki return value.
Percobaan 2
Apakah yang terjadi jika sebuah fungsi memberikan return value tetapi
tidak diassign ke variabel apapun ?
Fungsi yang memiliki return value tanpa di assign ke suatu variabel
tertentu, tidak akan terjadi error atau warning. Namun, fungsi yang
dipanggil tidak akan memberikan hasil, sehingga pemanggilan
p emanggilan fungsi
tersebut tidak berguna.
Percobaan 3
Apakah yang terjadi jika sebuah fungsi diassign ke sebuah variabel padahal
fungsi tersebut tidak memiliki return value ?
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
dalam deklarasinya.
Percobaan 4
Trace secara manual semua program di bawah ini baris per barisnya, dan
tampilkan nilai semua variabel pada setiap baris
b aris prosesnya. Selain itu, tebaklah
tampilkan keluaran programnya
a.
Int OddEvenTest(int)
main ()
{ a hasil b
Int a, hasil; 2 67 undeclared
a = 5; 5 67 undeclared
hasil = OddEvenTest(a); 5 1 undeclared
printf(“a=%d;hasil =%d\n”,a,hasil); 5 1 undeclared
}
a = b % 2; 1 undeclared 5
return a; 1 undeclared 5
}
b.
void demo(void);
main()
{ i var_auto var_static
int i=0; 0 undeclared undeclared
c.
void fung_a(void);
void fung_b(void);
x
int x = 20; 20
main() 20
{
x += 2 ; 22
fung_a(); 21
fung a(); 20
printf(“ \nilai x dalam main() + %d\n\n”,x); 20
}
void fung_a(void
fung_a(void)
) 20
{
static x = 5; 5, 6
x++; 6, 7
printf(“nilai x dalam fung_a() = %d\n”,x); 6, 7
fung_b(); 6, 7
}
Percobaan 5
Definisikanlah fungsi main(), masukan() dan average(), sebagai
berikut :
- Fungsi masukan() menerima satu parameter berupa jumlah data yang
akan dimasukkan dan memberikan return value berupa nilai total dari
seluruh data yang dimasukkan. Fungsi ini bertugas menerima masukan data
sebanyak n kali dan sekaligus menghitung total nilai seluruh data.
- Fungsi average() menerima dua parameter berupa jumlah data yang
telah dimasukkan dan nilai total seluruh data. Fungsi ini memberikan return
value berupa nilai rata-rata dari seluruh data yang dimasukkan.
- Pada fungsi main()mintalah masukan jumlah data yang akan diinputkan.
Selanjutnya lakukan pemanggilan fungsi masukan() dan average(),
kemudian tampilkan nilai rata-rata dari seluruh datanya.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int data;
float total,ratarata;
printf("Masukkan
printf("Masukkan jumlah data yang akan diinput : ");
scanf("%d",&data);
total=masukan(data);
printf("\n");
printf("Total seluruh bilangan = %g\n",total);
ratarata=average(data,total);
printf("Rata Rata seluruh bilangan = %g \n", ratarata);
return 0; }
Percobaan 6
Definisikanlah fungsi-fungsi sebagai berikut :
- 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
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
Keterangan : 1 tipe
kakiparameter
= 12 inchi,dan return
1 inchi valuecm,
= 2.54 yang dibu
dibutuhkan
100 cmtuhkan
= 1 meter
#include <stdio.h>
#include <stdlib.h>
I. KESIMPULAN
1. Variabel dapat digolongkan berdasarkan kelas penyimpanan yaitu berupa :
variabel lokal, variabel eksternal, variabel statis dan variabel register.
2. Masing-masing kelas penyimpanan memiliki karakteristik sendiri.
a. Variabel Lokal : Hanya dapat diakses dalam fungsi tempat dia
dideklarasikan.
b. Variabel Eksternal : Dapat diakses di fungsi mana saja di dalam
program.
c. Variabel Statis : Nilainya disimpan dan dapat diakses ketika fungsi
dijalankan lagi
d. Variabel Register : Variabel yang nilainya disimpan dalam register
bukan di RAM
3. Pada C suatu program disusun dari sejumlah fungsi dengan tugas tertentu.
Selanjutnya masing masing fungsi dipecah -pecah lagi menjadi fungsi yang
lebih kecil.