Assalmalualakum Wr. Wb
Salam sejahtera dan salam sukses untuk kita semua,
pada kesempatan kali ini saya akan memposting ulasan mengenai tugas praktikum
mata kuliah Struktur Data mengenai materi Fungsi/function. Untuk kali ini akan ada beberapa study kasus yang kita
akan coba selesaikan. Oke tidak usah banyak basa – basi langsung saja kita
simak ulasannya dibawah ini,,!
Dasar Teori
Fungsi atau function adalah sejumlah
instruksi yang
dikelompokan menjadi satu, dan berdiri
sendiri untuk menyelasikan suatu
pekerjaan tertentu. setiap fungsi mempunyai
nama. Bahasa C/C++ minimal
memiliki satu buah nama yang disebut
fungsi main(). Nama main () adalah nama
fungsi yang ditentukan dalam bahasa
C/C++ yang tidak boleh diganti dengan nama
lain, fungsi-fungsi lain dapat dibuat
sesuaidengan keperluannya dan nama
fungsinya dapat dikarang.
Fungsi merupakan blok dari kode yang
dirancang untuk melakukan tugas
khusus. Adapun tujuan dari pembuatan
fungsi ini adalah :
1.
Program menjadi terstruktur
2.
Dapat mengurang duplikasi kode
3.
Fungsi dapat dipanggil dari program atau fungsi yang lain
Adapun bentuk umum definisi sebuah
fungsi adalah sebagai berikut :
Penentu-tipe nama_fungsi (daftar
parameter)
Deklarasi parameter
{
tubuh
fungsi
)
sebuah fungsi sederhana mempunyai bentuk
penulisan sebagai berikut :
nama_fungsi(argumen)
{
...pernyataan/perintah
...pernyataan/perintah
...pernyataan/perintah
}
Nah itu dia sedikit penjelasan atau pengertian dari
fungsi atau function, sekarang kita akan langsung ulas study kasus yang ada..
Praktikum
Study kasus 1 :
“Membuat
program yang dapat melakukan operasi dua operator penjumlahan dan
perkalian dengan masukan hanya dua buah
variabel tampa ada nilai variabel yang
dipindahkan ke variabel baru, dan
ditempatkan pada dua variabel keluaran”
Syntax :
#include <iostream.h>
#include <conio.h>
int tambah (int a, int b)
{
int hasil1; hasil1= a+b;
return hasil1;
}
int kali (int a, int b)
{
int hasil2;
hasil2= a*b; return hasil2;}
void main()
{
int hasil1, hasil2, a, b;
cout<<"Nlai a = "; cin>>a;
cout<<"Nilai b = "; cin>>b;
hasil1=tambah(a,b)
cout<<"Hasil Tambah : "<<hasil1<<endl;
getch();
hasil2=kali(a,b);
cout<<"Hasil Kali : "<<hasil2<<endl;
getch();
}
#include <iostream.h>
#include <conio.h>
int tambah (int a, int b)
{
int hasil1; hasil1= a+b;
return hasil1;
}
int kali (int a, int b)
{
int hasil2;
hasil2= a*b; return hasil2;}
void main()
{
int hasil1, hasil2, a, b;
cout<<"Nlai a = "; cin>>a;
cout<<"Nilai b = "; cin>>b;
hasil1=tambah(a,b)
cout<<"Hasil Tambah : "<<hasil1<<endl;
getch();
hasil2=kali(a,b);
cout<<"Hasil Kali : "<<hasil2<<endl;
getch();
}
Hasil Running
Studi kasus 2
Terdapat sebuah balok dengan ukuran yang
belum ditentukan, yaitu panjang, lebar dan tinggi, bagaimana membuat program
yang dapat menghitung luas balok dan volumenya dengan mengunakan function
Berikut ini program dalam menyelesaikan
studi kasus diatas
Syntax
#include <iostream.h>
#include <conio.h>
int volume(int &l)
{
int t;
cout<<"\nMasukan Nilai Tinggi
Balok :\t"; cin>>t;
l =l*t; return l;
}
int luas(int p, int l)
{
int x;
x=p*l;
cout<<"\nTampilkan Nilai Luas
Balok :\t"<<x<<endl;
volume(x); return x;
}
void main ()
{
int p,l,j;
cout<<"Masukan Nilai Panjang
Balok :\t"; cin>>p;endl;
cout<<"\nMasukan Nilai Lebar
Balok :\t"; cin>>l;endl;
j=luas(p,l);
cout<<"\nVolume balok adalah
: "<<j<<endl; getch();
}
Hasul Running
Studi kasus 3
Sebuah kendaraan roda empat melaju
dengan kecepatan maksimum 85 KM/jam selama 3 jam dengan demikian total jarak
yang ditempuh sudah dapat diketahui yaitu 85 KM/Jam X 3 jam = 255 KM, namun
bila mana kendaraan tersebut melaju dengan kecepatan yang tidak konstan dengan
ketentuan di 1 jam pertama melaju dengan kecepatan 72% dan pada jam ke dua
hanya melaju 35% dari kecepatan maksimum dan pada jam ke tiga melaju 21% dari
kecepatan maksimum berapakah jarak yang ditempuh oleh kendaraan tersebut ?
Syntax :
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
float b = 85; float pertama(float a)
{
float km1; km1 = (a / 100) * b; return
km1;
}
float kedua(float c)
{
float km2; km2 = (c / 100) * b; return
km2;
}
float ketiga(float d)
{
float km3; km3 = (d / 100) * b; return
km3;
} main()
{
float a,c,d,h;
printf("Mengitung Jarak Tempuh
Kendaraan dalam waktu dinamis 3 Jam\n");
cout<<"\nMasukan Kecepatan
pada Jam Pertama %: "; cin>>a;
cout<<"\nMasukan Kecepatan
pada Jam Kedua % : "; cin>>c;
cout<<"\nMasukan Kecepatan
pada Jam Ketiga % : "; cin>>d;
h = pertama(a) + kedua(c) + ketiga(d);
printf("\nJarak yang ditempuh
kendaraan tersebut sejauh%.2f Kilometer",h);
return 0;
}
Latihan
Study Kasus 1 :
Seorang tukang cat tembok mempunyai
ukuran dalam pengecatan yang terbagi dalam 3 kategori kualitas yaitu kualitas
tinggi, kualitas sedang dan kualitas rendah. Untuk kualitas tingggi 5 Kg cat
tembok dapat menutupi bidang dengan baik seluas 3 X 4 m2 atau seluas 12 m2 dan
kualitas sedang 5 Kg cat tembok dapat menutupi bidaang seluas 4 X 5 m2 atau
seluas 20 m2 serta kualitas rendah 5 Kg cat tembok dapat menutupi seluas 6 X 11
m2 atau seluas 66 m2.
Syntax ;
#include<stdio.h>
#include<iostream.h>
#define kilo 5000;
float tinggi(float l_bidang)
{
float temp1,nilai;
nilai = (l_bidang/12)*kilo;
temp1 = nilai/1000;
return temp1;
}
float sedang(float l_bidang)
{
float temp2,nilai;
nilai = (l_bidang/20)*kilo;
temp2 = nilai/1000;
return temp2;
}
float rendah(float l_bidang)
{
float temp3,nilai;
nilai = (l_bidang/66)*kilo;
temp3 = nilai / 1000;
return temp3;
}
main()
{
int i,pilih; float l_bidang,harga;
printf(" PROGRAM PERHITUNGAN JUMLAH
CAT \n");
for (i = 0;i < 33;i++)
printf("=");printf("\n");
printf(" 1. Kualitas Tinggi\n 2.
Kualitas Sedang\n 3. Kualitas Rendah\n");
printf("Masukan Nomor Pilihan
Kualitas : ");
scanf("%d",&pilih);
switch(pilih)
{
case 1:
{
cout<<"Kualitas
Tinggi"<<endl;
cout<<"Luas Bidang\t= ";
cin>>l_bidang;
harga = tinggi (l_bidang);
cout<<"Jumlah Cat Yang
Dibutuhkan :" <<harga;
break;
}
case 2:
{
cout<<"Kualitas
Sedang"<<endl;
cout<<"Luas Bidang\t= ";
cin>>l_bidang;
harga = sedang (l_bidang);
cout<<"Jumlah Cat Yang
Dibutuhkan :" <<harga;
break;
}
case 3:
{
cout<<"Kualitas
Sedang"<<endl;
cout<<"Luas Bidang\t= ";
cin>>l_bidang;
harga = rendah (l_bidang);
cout<<"Jumlah Cat Yang
Dibutuhkan :" <<harga;
break;
}
}
return 0;
}
Hasil Running
Study Kasus 2
No
|
Harga BBM
|
Jarak
|
Tarif
|
1
|
Rp. 6.700
|
800 KM
|
Rp. 6.700.000
|
2
|
Rp. 6.700
|
600 Km
|
Rp. 5.900.000
|
3
|
Rp. 6.700
|
400 KM
|
Rp. 5.000.000
|
4
|
Rp. 6.700
|
200 KM
|
Rp. 4.700.000
|
Tabel diatas menujukan biaya pengiriman
barang dengan menggunakan kendaraan truk dengan asumsi bahwa konsumsi BBM
kendaraan 1:3 berapakah rasio BBM terhadap tarif tersebut dalam prosentase (%)
yang diinput jarak dan tarif Lengkapilah program dibawah ini untuk
menyelesaikan studi kasus diatas:
Syntax :
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
rasio(float s)
{
float rasio; rasio = s / 3; return
rasio;
}
int main() {
float s,tarif,olah,pros,liter;
cout<<"Program Perhitungan
Rasio Tarif"<<endl;
cout<<"Masukan Jarak Tempuh
KM = ";
cin>>s;
cout<<"Masukan Tarif :
";
cin>>tarif;
liter = rasio (s);
olah = 6700 * liter;
pros = (olah / tarif) * 100;
printf("Prosentase rasio BBM dan
Tarif adalah :%.2f%",pros);
return 0;
}
Hasil Running:





Sudah diperiksa
BalasHapus