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

Meta Data

Laporan pratikum 2 algoritma pemograman

Jobsheet 1 PBO SMT2

Laporan Pratikum 3 algoritma pemograman

Laporan Pratikum 4 algoritma pemograman

Laporan Pratikum 5 algoritma pemograman

Jobsheet 3 PBO SMT2

Laporan Pratikum 7 algoritma pemograman