Anda di halaman 1dari 8

LAPORAN RESMI

PRAKTIKUM 16
KONSEP PEMROGRAMAN

Nama: Haifa Mandalika


Kelas: 1 D4 Teknik Informatika A
NRP: 2110191006
A. TUJUAN PEMBELAJARAN
1. Mengetahui perbedaan antara variable lokal, eksternal, statis, dan register.
2. Memahami komunikasi antar sejumlah fungsi.
3. Mengenal konsep pemrograman terstruktur.

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

Int a, hasil; ? ? n/a


? ? n/a
a=5 5 ? n/a
hasil=OddEvenTest(a); 5 1 n/a
printf(“a=%d;b=%d\n”,a,hasil); 5 1 n/a
} 5 1 n/a
OddEvenTest(int b) n/a n/a 5
{ n/a n/a 5
Int a; ? n/a 5
? n/a 5
a=b%2 1 n/a 5
return a; 1 n/a 5
Output:
a= 5;hasil=1
b)

Program i Var_auto Var_static


int i=0 0,1,2 n/a n/a

0,1,2 n/a n/a

While(i<3){ 0,1,2 n/a n/a

demo(); 0,1,2 ? ?
i++; 1,2 ? ?

} 1,2 ? ?

} 1,2 ? ?

void demo(void) n/a n/a n/a

{ n/a n/a n/a

auto int var_auto=0; n/a 0 n/a

static int var_static=0; n/a 0 0


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

var_auto,var_static); n/a 0,1,2 0,1

++var_auto; n/a 1,2 0,1

++var_static; n/a 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

5. Definisikanlah fungsi main(), masukan() dan average(), sebagai benirikut :


- 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.
a. Listing program
#include <stdio.h>
#include <stdlib.h>

int masukan(int t)
{
int i,n,sum=0;

printf("Masukkan bilangan :\n");


for(i=1;i<=t;i++)
{
scanf("%d",&n);
sum= sum + n;
}
printf("Totalnya adalah %d",sum);
return sum;
}
float avg(float total, float byk)
{
float hsl=0;
hsl=total/byk;
return hsl;
}
int main()
{
int a,ttl;
float hsl=0;
printf("Masukkan batasan jumlah bilangan yang diinput : ");
scanf("%d",&a);

ttl = masukan(a);
hsl = avg(ttl,a);

printf("\nMaka hasil penjumlahan dari %d bilangan adalah %d dan rata


ratanya adalah %f",a,ttl,hsl);
return 0;
}
b.Output

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

Anda mungkin juga menyukai