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