SOAL UAS (semester 1)





UAS




FUNGSI
Suatu fungsi adalah suatu bagian dari program yang dimaksud untuk mengerjakan suatu tugas tertendtu dan letaknya dipisahkan dari bagian program yang menggunakannya.
B
Fungsi
Tipe nama_fungsi(argumen1, argumen2,…)

{
...
...
}
Definisi fungsi
U:


statemen fungsi







Contoh:

Listing program:
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include <iomanip.h>
/*sub program*/
garis() // nama fungsinya adalah garis
{
printf("\n---------------------------\n");
}
/* Program utama */
main()
{
clrscr();
garis();
cout<<"PIKSI GANESHA - Woltermonginsidi"<<endl;
garis();
getche();
}


Hasil setelah dirun
----------------------------------------
PIKSI GANESHA – Woltermonginsidi
----------------------------------------












PENGIRIMAN PARAMETER
  1. Pengiriman Parameter Secara Nilai
Pengiriman parameter secara nilai adalah pengirman secara searah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil.




Contoh
Listing Program:
/*-------------------------*/
/*Penggunaan Call By Value*/
/*Program Pertuakan Nilai*/
/*------------------------*/
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
tukar(int x,int y);
main()
{
int a, b;
a=88;
b=77;
clrscr();
cout<<"Nilai Sebelum Pemanggilan Fungsi";
cout<<"\na ="<<a<<" b ="<<b;
tukar(a, b);
cout<<"\nNilai Setelah Pemanggilan Fungsi";
cout<<"\na= "<<a<<" b ="<<b;
getch();
}
tukar(int x,int y)
{
int z;
z=x;
x=y;
y=z;
cout<<"\n\nNilai di dalam Fungsi Tukar()";
cout<<"\nx ="<<x<<" y ="<<y;
cout<<endl;
}


Hasil setelah di run


Nilai sebelum pemanggilan fungsi
a = 88 b = 77
Nilai di dalam Fungsi Tukar()
x = 77 y = 88
Nilai setelah pemanggilan fungsi
a = 88 b = 77



2. Pengiriman Parameter Secara Acuan
Pengiriman parametersecara acuan adalah pengiriman dua arah, yaitu dari bagian program yang memanggil fungsi ke fungsi yang dipanggil dan sebaliknya
Contoh
Listing Program
/*Penggunaan Call By Reference*/
/*Program Pertukaran Nilai*/
/*---------------------------*/
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
tukar(int *x,int *y);
main()
{
int a,b;
a=88;
b=77;
clrscr();
cout<<"Nilai Sebelum Pemanggilan fungsi";
cout<<"\na ="<<a<<" b ="<<b;
tukar(&a,&b);
cout<<endl;
cout<<"\nNilai Setelah Pemanggilan Fungsi";
cout<<"\na = "<<a<<" b ="<<b;
getch();
}
tukar(int *x, int *y)
{
int z;
z=*x;
*x=*y;
*y=z;
cout<<endl;
cout<<"\nNilai di Akhir Funsi Tukar()";
cout<<"\nx = "<<*x<<" y = "<<*y;
}

Hasil setelah di run


Nilai sebelum pemanggilan fungsi
a = 88 b = 77
Nilai di akhir Fungsi Tukar()
x = 77 y = 88
Nilai setelah pemanggilan fungsi
a = 77 b = 88











Pengiriman Data Konstanta
Listing Program
/*--------------------------*/
/*Pengiriman data konstanta*/
/*--------------------------*/
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs=luas(4.25);
cout<<"\nLuas Bujur Sangkar = "<<luas_bs;
getch();
}
luas(float sisi)
{
return(sisi*sisi);
}

Hasil setelah di run


Luas bujur sangkar = 18


Pengiriman Data Varibel ke Fungsi
Listing programnya
/*-------------------------*/
/*Pengiriman Data Variabel*/
/*------------------------*/
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
luas(float sisi);
main()
{
float luas_bs,sisi_bs;
clrscr();
cout<<"\nMenghitung Luas Bujur Sangkar"<<endl;
cout<<"\nMasukan Nilai Sisi Bujur Sangkar :";cin>>sisi_bs;
luas_bs=luas(sisi_bs);
cout<<"\nLuas bujur sangkar = "<<luas_bs<< "cm";
getch();
}
luas(float sisi)
{return(sisi*sisi);
}
Hasil setelah di run


Menghitung luas Bujur Sangkar
Masukan Nilai Sisi Bujur Sangkar = 5
Luas Bujur Sangkar = 25 cm







Comments