Anda di halaman 1dari 12

 

LAPORAN RESMI PRAKTIKUM 16


-KONSEP PEMROGRAMAN-
 Fungsi : Penggolongan
Penggolongan Variabel & Pemrograman Terstru
Terstruktur
ktur
 

 
   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
}

OddEvenTest(int b) undeclared undeclared 5


{
Int = a; 2686916 undeclared 5

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

while(i < 3 ) { 0, 1, 2 undeclared undeclared


demo(); 0, 1, 2 undeclared undeclared
i ++; 1, 2, 3 undeclared undeclared
}
}

void demo(void) undeclared undeclared undeclared


{
auto int var_auto = 0; undeclared 0,0,0 undeclared
static int var_static = 0; undeclared 0,0,0 0, 1, 2

printf(“auto = %d, static= %d\n”,  undeclared 0,0,0 0, 1, 2


var_auto, var_static); undeclared 0,0,0 0, 1, 2
++varr_auto; undeclared 1, 1, 1 0, 1, 2
++var_static: undeclared 1, 1, 1 1, 2, 3
}
 

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
}

void fung_b() 22, 21


{
x--; 21, 20
printf(“nilai x dalam fung_b() = %d\n”,x);  21, 20
}
 

   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>

float masukan(int data);


float average(int data, float total);

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; }

float masukan(int data)


{
int i,bil;
float jumlah=0;
for(i=1;i<=data;i++)
{
printf("Masukkan
printf("Masukkan suatu bilangan : ");
scanf("%d",&bil);
jumlah=jumlah+bil;
}
return(jumlah);
}

float average(int data,float total)


{
float rerata;
rerata=total/data;
return(rerata);
}
 

  Program diatas adalah program untuk menhitung total dari n bilangan


yang dimasukkan. N dimasukkan pada fungsi main. Kemudian, pada
fungsi masukan, data sebanyak n diinput dan dihitung totalnya.
Fungsi ini memberikan return value berupa jumlah semua data.
Return value ini kemudian diproses pada fungsi average untuk
kemudian dihitung rata ratanya dan hasilnya dikembalikan pada
fungsi main. Di fungsi main hasil dan rata rata ditampilkan.
 

   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>

float f_to_i(float feet);


float i_to_cm(float i);
float c_to_m(float cm);
int main()
{
float feet,i,cm,m;
printf("Masukkan
printf("Masukkan besar feet : ");
scanf("%g",&feet);
i=f_to_i(feet);
cm=i_to_cm(i);
m=c_to_m(cm);
printf("Hasil konversi %g Feet = %g Meter\n",feet,m);
return 0;
}
float f_to_i(float feet)
{
float i;
i=feet*12;
return(i);
}
float i_to_cm(float i)
{
float cm;
cm=i*2.54;
return(cm);
}
float c_to_m(float cm)
{
float m;
m=cm/100;
return(m);
}
 

 Program diatas adalah program untuk mengkonversi feet ke meter.


Pertama, besar dari feet diinput pada fungsi main. Kemudian Fungsi
f_to_i mengubah ukuran dari satuan kaki (feet) ke inci. Selanjutnya
fungsi i_to_cm mengubah ukuran dari satuan
s atuan inci ke centimeter.
Kemudian Fungsi c_to_m mengubah ukuran dari satuan sa tuan centimeter ke
meter. Terkahir hasil keluaran fungsi c_to_m dicetak pada fungsi main. 

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.

Anda mungkin juga menyukai