Laporan Praktikum Struktur Data Modul 2 Fungsi/Function C/C++

PRAKTIKUM


    • Praktikum 1
  • Studi Kasus
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
  • Script Program
#include <iostream>
#include <conio.h>
using namespace std;

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;
}
main()
{
 int hasil1, hasil2, a, b;
 cout<<"Nilai 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();

  • Ouput


  • Penjelasan
Pada program diatas terdapat sebuah fungsi utama main() dan fungsi buatan sediri yaitu fungsi tambah dan kali. Fungsi tambah didefinisikan tipe int dengan nama tambah yang mempunyai parameter a dan b, begitu juga dengan fungsi kali dengan nama yang berbeda tetapi tipe dan parameternya sama, fungsi tambah mempunyai tugas menghitung penjumlahan antara variable a dan b, dan fungsi kali untuk menghitung perkalian antara a dan b. Hasil dari fungsi tambah dikembalikan melalui perintah return hasil1 dan kali return hasil2.

Selanjutnya fungsi tambah dan kali dipanggil dalam fungsi utama main() dengan lebih dahulu memasukan nilai ke variable a dan b, yang nantinya akan menjadi parameter dari fungsi. Kemudian hasil balikan fungsi tambah disimpan dalam variable hasil1 dan ditampilkan ke layar, dan untuk fungsi kali disimpan dalam variable hasil2 dan timpilkan ke layar melalui fungsi standar cout.


    • Praktikum 2
  • Studi Kasus
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.

  • Script Program

#include <iostream>
#include <conio.h>
using namespace std;

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;
}
main ()
{
 int p,l,j;
 cout<<"Masukan Nilai Panjang Balok \t: ";
 cin>>p;
 cout<<"\nMasukan Nilai Lebar Balok \t: ";
 cin>>l;
 j=luas(p,l);
 cout<<"\nVolume balok adalah \t\t: "<<j<<endl;
 getch();

}


  • Output

  • Penjelasan
Pada program diatas terdapat sebuah fungsi utama main() dan fungsi buatan sediri yaitu fungsi luas dan volume. Fungsi luas didefinisikan tipe int dengan nama luas yang mempunyai parameter dan l, dan untuk fungsi volume dengan tipe fungsi int dan parameternya adalah l , fungsi luas mempunyai tugas menghitung luas dari sebauh balok, dan fungsi volume untuk menghitung volume dari sebuah balok. Hasil dari fungsi luas dikembalikan melalui perintah return x dan volume adalah return l.

Selanjutnya fungsi luas dipanggil dalam fungsi utama main() dengan lebih dahulu memasukan nilai ke variable dan l, yang nantinya akan menjadi parameter dari fungsi luas. Kemudian hasil dari fungsi luas ditampilkan terlebih dahulu, selanjutnya didalam fungsi luas program akan memanggil fungsi volume dengan x (hasil dari proses mencari luas) sebagai parameternya, karena fungsi volume menggunakan pass by reference, maka nilai parameternya akan terpengaruh yaitu menjadi nilai dari x. Setelah itu, proses untuk mencari volume akan dilanjutkan dengan perkalian antara l dan (masukan dari user), dan hasil dari fungsi volume akan disimpan di variabel j pada fungsi main(), dan terakhir nilai j ditampilkan menggunakan cout.


    • Praktikum 3
  • Studi Kasus
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 ?

  • Script Program

#include<stdio.h>
#include<iostream>
#include<conio.h>
using namespace std;

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


  • Output


  • Penjelasan
Pada program tersebut terdapat 3 fungsi buatan yaitu pertama, kedua, ketiga dan hasil proses dari ketiga fungsi tersebut akan dijumlahkan didalam fungsi main() dan disimpan ke variable h


LATIHAN

    • Latihan 1
  • Studi Kasus
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 . Lengkapilah program dibawah ini untuk menyelesaikan kasus diatas.

  • Script Program

#include<stdio.h>
#include<iostream>
#define kilo 5000;
using namespace std;

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;
}
int main()
{
 int i,pilih;
 float l_bidang, hasil;
 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;
 hasil = tinggi(l_bidang);
 printf("Jumlah cat yang dibutuhkan = %.1f Kg",hasil);
 break;
}
 case 2:
{
 cout<<"Kualitas Sedang"<<endl;
 cout<<"Luas Bidang\t= ";
 cin>>l_bidang;
 hasil = sedang(l_bidang);
 printf("Jumlah cat yang dibutuhkan = %.1f Kg",hasil);
 break;
}
 case 3:
{
 cout<<"Kualitas Sedang"<<endl;
 cout<<"LuasBidang\t= ";
 cin>>l_bidang;
 hasil = rendah(l_bidang);
 printf("Jumlah cat yang dibutuhkan = %.1f Kg",hasil);
 break;
}
   default : printf ("Yang anda masukan salah : ");

}
return 0;
}

  • Output

  • Penjelasan
Pada syntax program Latihan 1 ini akan menghitung jumlah cat yang dibutuhkan untuk mengecat sebidang tembok. Dan akan ditentukan berdasarkan pilihan dengan kualitas rendah, sedang, dan tinggi. Program ini menggunakan 3 function untuk menghitung masing – masing kualitas. Dan menggunaan switch case untuk menentukan pilihan yang akan kita pilih.


    • Latihan 2
  • Studi Kasus

Studi Kasus :
No Harga BBM Jarak Tarif
1 Rp. 6.700 800KM Rp. 6.700.000
2 Rp. 6.700 600KM Rp. 5.900.000
3 Rp. 6.700 400KM Rp. 5.000.000
4 Rp. 6.700 200KM Rp. 4.700.000
Tabel diatas menunjukan biaya pengiriman barang dengan menggunakan kendraan truk dengan asumsi bahwa konsumsi BBM kendraan 1:3. Berapakah rasio BBM terhadap tariff tersebut dalam persentase (%) yang diinput jarak dan tarif? Lengkapilah program di bawah ini untuk menyelesaikan studi kasus di atas.

  • Script Program
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
long rasio(float tarif, float km)
{
 float olah, pros;
 olah = 6700 * (km / 3);
 pros = (olah / tarif) * 100;
 return pros;
}

int main()
{
 float km,hasil,tarif;
 cout<<"Program Perhitungan Rasio Tarif"<<endl;
 cout<<"Masukan Jarak Tempuh KM = ";
 cin>>km;
 cout<<"Masukan Tarif : ";
 cin>>tarif;
 hasil = rasio(tarif, km);
 printf("Prosentase rasio BBM dan Tarif adalah :%.2f%", hasil);
 return 0;
}

  • Output
  • Penjelasan
Pada syntax program latihan 2 ini yaitu akan menentukan berapa tarif  bbm untuk jarak tempuh kendaraaan. Menggukana satu function yaitu untuk menentukan berapa tarifnya, dan inti main programnya untuk input berapa jarak tempuh dan harga bbmnya. Tipe datanya menggunakan float.










Postingan terkait:

1 Tanggapan untuk "Laporan Praktikum Struktur Data Modul 2 Fungsi/Function C/C++"