Laporan Pratikum 10 algoritma pemograman
LAPORAN PRAKTEK 10 ( PERTEMUAN KE-13)
TUGAS 10
ALGORITMA PEMOGRAMAN
Disusun Oleh : Syafri Wardian
18214046
Mata Kuliah Praktek :
FUNGSI dengan return VALUE
Dosen Pembimbing : 
Sri Nofri Wihandri ,S.Pd,M.Pd.T
Program Studi :
Teknik Elektronika
Akademi Komunitas Negeri Padang
Pariaman
PDDF Universitas Negeri Padang
Tahun 2018
1.     
Fungsi dengan
return value (dalam bahasa lain disebut function)
a.      
Tanpa passing
parameter
Bentuk:
tipe namaFungsi()
{
   aksi-aksi;
   return(....);
}
Contoh:
double volTabung() //nama
fungsi “volTabung” pada contoh ini, berubah menjadi variabel (membawa suatu
nilai. Sehingga nilai vol pada “return” akan menjadi nilai volTabung. Oleh
karena itu, perlu digunakan penampung, ex: a=volTabung(); artinya nilai di volTabung
ditampung oleh a.
{
      double vol, jari, tinggi;
      printf("Menghitung Volume
Tabung\n");
      printf("Ketikkan nilai jari-jari:
");
      scanf("%lf", &jari);
fflush(stdin);
      printf("Ketikkan nilai tinggi   : ");
      scanf("%lf", &tinggi);
fflush(stdin);
      vol = PHI * pow(jari, 2) * tinggi;
return(vol);
      printf("Volume Tabung tersebut =
%0.2lf kubik\n", vol);
}
Contoh Program:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define PHI 3.14
double volTabung();
main()
{
      double a;
      a = volTabung();
      printf("Volume Tabung tersebut = %0.2lf kubik\n", a);
      printf("Volume Tabung yang lain = %0.2lf kubik\n",
volTabung());
}
double volTabung()
{
      double vol, jari, tinggi;
      printf("Menghitung Volume Tabung\n");
      printf("Ketikkan nilai jari-jari: ");
      scanf("%lf", &jari); fflush(stdin);
      printf("Ketikkan nilai tinggi   : ");
      scanf("%lf", &tinggi); fflush(stdin);
      vol = PHI * pow(jari, 2) * tinggi;
      return(vol);
}
Hasilnya
setelah dijalankan running:
b.     
Dengan passing
parameter
è Hanya bisa menghasilkan 1 hasil, terlihat pada
contoh di bawah, misalnya hanya untuk mencari hasil “vol”.
Bentuk:
tipe namaFungsi(Parameter)
{
   aksi-aksi;
   return(....);
}
Contoh:
double volTabung(double j,
double t)
{
   double vol;
   vol = PHI * pow(j, 2) * t;
   return vol;
}
Atau: sebaiknya gunakan
contoh di bawah untuk efektifitas, meskipun hasilnya sama.
double volTabung(double j,
double t)
{
   return(PHI * pow(j, 2) * t);
}
Contoh program:
/*
      Program Menghitung Volume benda geometris
*/
#include
<stdio.h>
#include
<stdlib.h>
#include
<math.h>
#define
PHI 3.14
//deklarasi
fungsi
void
judul();
void
menu();
double
volTabung();
double
volKotak();
double
volBalok();
main()
{
      judul();
      menu();
}
void
judul()
{
      printf("Program Menghitung Volume
Benda Geometris\n");
      printf("Programmer: Antu\n");
      printf("Nama Pacar: Balau\n");
      printf("Created 1-1-2001\n\n");
}
void
menu()
{
      int pilih;
      printf("MENU\n");
      printf("1. Menghitung volume
tabung\n");
      printf("2. Menghitung volume
kotak\n");
      printf("3. Menghitung volume
balok\n\n");
      printf("Pilih nomor yg diinginkan:
");
      scanf("%d", &pilih);
fflush(stdin);
      switch(pilih)
      {
            case 1: printf("Volume Tabung
tersebut = %0.2lf kubik\n", volTabung()); break;
            case 2: printf("Volume Kotak
tersebut = %0.2lf kubik\n", volKotak()); break;
            case 3: printf("Volume Balok
tersebut = %0.2lf kubik\n", volBalok()); break;
            default: printf("Nomor pilihan
tidak ada!!!\n");
      }
}
double
volTabung()
{
      double vol, jari, tinggi;
      printf("Menghitung Volume
Tabung\n");
      printf("Ketikkan nilai jari-jari:
");
      scanf("%lf", &jari);
fflush(stdin);
      printf("Ketikkan nilai tinggi   : ");
      scanf("%lf", &tinggi);
fflush(stdin);
      vol = PHI * pow(jari, 2) * tinggi;
      return vol;
}
double
volKotak()
{
      double vol, rusuk;
      printf("Menghitung Volume
Kotak\n");
      printf("Ketikkan nilai rusuk   : ");
      scanf("%lf", &rusuk);
fflush(stdin);
      vol = pow(rusuk, 3);
      return vol;
}
double
volBalok()
{
      double vol, tinggi, panjang, lebar;
      printf("Menghitung Volume
Balok\n");
      printf("Ketikkan nilai panjang:
");
      scanf("%lf", &panjang);
fflush(stdin);
      printf("Ketikkan nilai tinggi   : ");
      scanf("%lf", &tinggi);
fflush(stdin);
      printf("Ketikkan nilai lebar   : ");
      scanf("%lf", &lebar);
fflush(stdin);
      vol = panjang * lebar * tinggi;
      return vol;
}
Hasilnya
setelah dijalankan running:
contoh
lain:
/*
      Program Mengelula Nilai Algoritma
*/
#include <stdio.h>
#include <stdlib.h>
#define N 5
//deklarasi fungsi
void judul();
void bacaData();
void hitungNilai();
double hitungAkhir(double a,
double b, double c);
char konversi(double k);
void info();
//deklarasi array 
double mid[N];
double uas[N];
double tugas[N];
double akhir[N];
char huruf[N];
main()
{
      judul();
      bacaData();
      hitungNilai();
      info();
}
//definisi fungsi
void judul()
{
      printf("Program Mengolah Nilai Algoritma\n");
      printf("Programmer: Antu\n");
      printf("Nama Pacar: Balau\n");
      printf("Created 1-1-2001\n\n");
}
void bacaData()
{
      int i;
      printf("\nMengentri Nilai\n");
      for(i=0;i<N;i++)
      {
            printf("Mahasiswa ke-%d: \n",(i+1));
            printf("Nilai MID  
: ", (i+1));
            scanf("%lf", &mid[i]); fflush(stdin);
            printf("Nilai UAS  
: ", (i+1));
            scanf("%lf", &uas[i]); fflush(stdin);
            printf("Nilai TUGAS : ", (i+1));
            scanf("%lf", &tugas[i]); fflush(stdin);
      }     
}
void hitungNilai()
{
      int i;
      printf("\nMenghitung Nilai\n");
      for(i=0;i<N;i++)  
      {
            akhir[i]=hitungAkhir(mid[i], uas[i], tugas[i]);
            huruf[i]=konversi(akhir[i]);
      }
}
double hitungAkhir(double a,
double b, double c)
{
      return(a*0.3 + b*0.3 + c*0.4);
}
char konversi(double k)
{
      if((k>=81.0) && (k<=100.0))
            return 'A';
      else if((k>=66.0) && (k<81.0))
            return 'B';
      else if((k>=55.0) && (k<66.0))
            return 'C';
      else if((k>=45.0) && (k<55.0))
            return 'D';
      else return 'E';
}
void info()
{
      int i;
      printf("\nMenampilkan Nilai\n");
      for(i=0;i<N;i++)
      {
            printf("Nilai Makasiswa ke-%d: \n", (i+1));
            printf("    
MID    : %0.2lf\n", mid[i]);
            printf("    
UAS    : %0.2lf\n", uas[i]);
            printf("    
TUGAS  : %0.2lf\n",
tugas[i]);
            printf("     N
AKHIR: %0.2lf\n", akhir[i]);
            printf("     N
HURUF: %c\n", huruf[i]);
      }
}
Hasilnya
setelah dijalankan running:
Berdasarkan 3 buah contoh program di atas, jelaskan perbedaan antara fungsi yang tanpa
pasing parameter dengan fungsi dengan menggunakan passing parameter! 
- Fungsi Tanpa Passing Parameter
Fungsi yang berarti nilai balik yang akan
dihasilkan sudah pasti , pembuatan fungsi tanpa passing parameter hanya
memanggil fungsi tersebut tanpa mengirimkan sebuah atau beberapa nilai .
- Fungsi Menggunakan Passing Parameter
Parameter dalam fungsi dapat dikirimkan secara
nilai/secara acuan.
Keuntungan :
1. Mengurangi duplikasi program
2. Memecahkan masalah yang rumit dalam masalah -
masalah yang lebih kecil dan lebih mudah diselesaikan (menghitung vol tabung,
vol balok , vol kotak)
3. Membuat kode program lebih mudah dibaca

Komentar