MODUL III
FUNGSI / FUNCTION
A. Tujuan
1.
Mahasiswa mengenal function
dalam bahasa C / C++.
2.
Mahasiswa bisa membuat program
procedural denga bahasa C / C++.
B. Dasar Teori
1. Fungsi
Pada pemrograman C++ selalu terdapat
sebuah fungsi utama atau sub-program yakni “void main()”
penamaan modul memiliki karakteristik yang sama dengan penamaan variable, dengan fungsi program akan
menjadi lebih efisien dan fleksibel.
Pada umumnya fungsi memerlukan masukan
yang di namakan argument atau
parameter. Hasil akhir dari fungsi akan
berupa sebuah nilai.
|
Fungsi main()
|
|
Fungsi a()
|
|
Fungsi b()
|
|
Fungsi c()
|
|
Fungsi c1()
|
|
Fungsi c2()
|
Berikut sintaks dari suatu fungsi :
|
Penentuan-tipe
nama_fungsi (daftar parameter)
Deklarasi
parameter
{
Isi
fungsi
}
|
Setiap fungsi yang di panggil di dalam
program harus di definisikandan letaknya bisa dimana saja. Khusus untuk fungsi yang di sediakan di system, definisinya sebenarnya ada dalam
pustaka, yang akan di gabungkan dengan program sewaktu proses linking.
2. Deklarasi Fungsi
Deklarasai fungsi atau sering disebut
dengan prototype fungsi dimaksudkan
untuk mendeklarasikan fungsi agar dapat di panggil. Deklarasi fungsi berupa :
1)
Nama fungsi
2)
Tipe nilai balik
3)
Jumlah dan tipe argument
Dan diakhiri dengan titik koma,
sebagaimana pendeklarasian variable.
Sebagai contoh :
·
Long
kuadrat(long );
Pada contoh ini
fungsi kuadrat() mempunyai argument bertipe long dan nilai balik bertipe
long .
·
Int
maks(int a,intb);
Pada contoh ini fungsi maks() mempunyai dua argument
bertipe integer dan nilai balik bertipe integer juga.
·
void
garis();
Pada contoh ini fungsi garis() tidak memiliki argument
dan nilai baliknnya tidak ada (void).
Manfaat dari deklarasi fungsi adalah
untuk menjamin tipe argument yang di
lewatkan pada pemanggilan fungsi benar-benar sesuai.
3. Penggolongan Variable
Local variable adalah sebuah variable
sederhana yang dideklarasikan di dalam sebuah blok program. Ini bisa diakses
hanya dari dalam blok itu sendiri. Karena bagian dari fungsi itu sendiri adalah
blok, variable dideklarasikan ke
dalam sebuah fungsi yang local di fungsi itu. Mereka ada hanya
ketika fungsi itu sedang dieksekusi. Sebuah formal parameter (argument) dari fungsi akan menjadi local di fungsi itu.
Contoh fungsi factorial
Factorial dari bilangan n bertipe integer positif dilambangkan n! hasilnya didapatkan dengan mengalikan
bilangan n dengan semua bilangan
bertipe integer postif yang lebih kecil dengan n.
Berikut ini adalah contoh fungsi untuk
mencari nilai n!:
|
int
factorial (int n)
{
if
(n < 0) return 0;
int
f = 1;
while
(n > 1)
f
*= n--;
return
f;
|
Fungsi ini memiliki 2 variable local yaitu f dan n. Parameter n adalah local karena dia dideklarasikan di dalam daftar parameter dari
fungsi ini. Local Variable f karena dia dideklarasikan di
dalam bagian dari fungsi ini.
Global
Variable memiliki ruang lingkup sepanjang semua
program dijalankan maka Global Variable akan tetap dikenali di manapun bagian atau blok dalam kode program
dijalankan. Contoh :
|
Int
f, n;
int
factorial ()
{
if
(n < 0) return 0;
f
= 1;
while
(n > 1)
f
*= n--;
return
f;
|
4. Parameter
Parameter fungsi digunakan untuk megnirimkan parameter (nilai) ke suatu
fungsi. Pengiriman parameter dapat dilakukan dengan dua cara, yaitu :
4.1.Pengiriman Parameter Secara Nilai (By Value)
Pengiriman parameter secara nilai mempunyai karakteristik
sebagai berikut :
·
Nilai parameter yang dikirim ke
fungsi tidak mempengaruhi nilai parametere pada bagian program yang memanggil
fungsi tersebut.
·
Pengiriman parameter secara
nilai adalah pengiriman searah, yaitu dari bagian program yang memanggil fungsi
ke fungsi yang dipanggil.
·
Pengiriman parameter secara
nilai dapat dilakukan untuk suatu ungkapan, variable,
elemen array atau konstanta.
4.2.Pengiriman Parameter Secara Acuan (By Reference)
Pengiriman parameter secara acuan mempunyai
karakteristik sebagai berikut:
·
Nilai yang dikirim ke fungsi
akan merubah nilai asli pada bagian program yang memanggil fungsi tersebut.
·
Pengiriman parameter secara
acuan adalah pengiriman dua arah, yaitu bagian program yang memanggil fungsi ke
fungsi yang dipanggil dan sebaliknya.
·
Pengiriman parameter secara
acuan tidak dapat dilakukan untuk suatu ungkapan, hanya untuk sebuah variable, array atau konstanta saja.
C. PERMASALAHAN
Buatlah program dengan menggunakan enam fungsi yaitu
menghitung volume bangun ruang balok, tabung, limas segitiga, prisma segitiga,
kerucut, dan kubus.
Programnya adalah sebagai berikut:
|
#include
<iostream.h>
#include
<conio.h>
#include
<math.h>
int
balok (float p, float l, float t) {
float vb;
vb = (p * l * t);
return vb;
}
int
tabung(float r, float t1) {
float v2;
v2
= (3.14 * pow(r,2) * t1);
return v2;
}
int
limassegitiga(float a, float t2, float t3) {
float v3, la;
la = a * t2 * 1/2;
v3 = ( la *t3 ) * 1/3;
return
v3;
}
int
prismasegitiga(float a2, float t4, float t5) {
float v4;
v4
= (a2 * t4 * t5) * 1/2;
return
v4;
}
int
kerucut(float r2, float t6) {
float v5;
v5
= (3.14 * pow(r2,2) * t6) * 1/3;
return
v5;
}
int
kubus(float s) {
float v6;
v6
= pow(s,3);
return
v6;
}
void
main() {
char x;
do {
clrscr();
int pilih;
cout<<"\t \t \t Pilih Salah
Satu"<<endl<<endl;
cout<<"1. Tampilkan Volume
Balok"<<endl;
cout<<"2. Tampilkan Volume
Tabung"<<endl;
cout<<"3. Tampilkan Volume
Limas Segitiga"<<endl;
cout<<"4. Tampilkan Volume
Prisma Segitiga"<<endl;
cout<<"5. Tampilkan Volume
Kerucut"<<endl;
cout<<"6. Tampilkan Volume
Kubus"<<endl<<endl<<endl;
cout<<"Pilihan Anda :
";
cin>>pilih;
cout<<endl;
switch(pilih){
case 1:
int
p, l, t, vb;
cout<<"\t
\t \t Volume Balok "<<endl<<endl;
cout<<"\t \t Panjang =
";
cin>>p;
cout<<endl;
cout<<"\t \t Lebar =
";
cin>>l;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t;
cout<<endl;
vb = balok(p, l, t);
cout<<"\t \t Volume Balok
= "<<vb<<endl<<endl<<endl;
break;
case 2:
int
r, t1, v2;
cout<<"\t
\t \t Volume Tabung "<<endl<<endl;
cout<<"\t \t Jari-jari =
";
cin>>r;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t1;
cout<<endl;
v2
= tabung(r, t1);
cout<<"\t \t Volume
Tabung = "<<v2<<endl<<endl<<endl;
break;
case 3:
int
a, t2, t3, v3;
cout<<"\t
\t \t Volume Limas Segitiga "<<endl<<endl;
cout<<"\t \t Alas
Segitiga = ";
cin>>a;
cout<<endl;
cout<<"\t \t Tinggi
Segitiga = ";
cin>>t2;
cout<<endl;
cout<<"\t \t Tinggi Limas
= ";
cin>>t3;
cout<<endl;
v3
= limassegitiga(a, t2, t3);
cout<<"\t \t Volume Limas
Segitiga = "<<v3<<endl<<endl<<endl;
break;
case 4:
int
a2, t4, t5, v4;
cout<<"\t
\t \t Volume Prisma Segitiga "<<endl<<endl;
cout<<"\t \t Alas
Segitiga = ";
cin>>a2;
cout<<endl;
cout<<"\t \t Tinggi
Segitiga = ";
cin>>t4;
cout<<endl;
cout<<"\t \t Tinggi
Prisma = ";
cin>>t5;
cout<<endl;
v4
= prismasegitiga(a2, t4, t5);
cout<<"\t
\t Volume Prisma Segitiga =
"<<v4<<endl<<endl<<endl;
break;
case 5:
int
r2, t6, v5;
cout<<"\t
\t \t Volume Kerucut "<<endl<<endl;
cout<<"\t \t Jari-jari =
";
cin>>r2;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t6;
cout<<endl;
v5
= kerucut(r2, t6);
cout<<"\t \t Volume Kerucut
= "<<v5<<endl<<endl<<endl;
break;
case 6:
int
s, v6;
cout<<"\t
\t \t Volume Kubus "<<endl<<endl;
cout<<"\t \t Panjang
Rusuk = ";
cin>>s;
cout<<endl;
v6 = kubus(s);
cout<<"\t
\t Volume Kubus = "<<v6<<endl<<endl<<endl;
break;
default:
cout<<"\t
\t \t Anda salah memasukkan kode"<<endl;
cout<<"\t \t \t Silahkan coba
lagi!!"<<endl<<endl;
}
cout<<"Apakah Anda Ingin
Mengulang? (Y/N)"<<endl;
cin>>x;
}
while (x == 'y' || x == 'Y');
getch();
}
|
Tampilan programnya adalah sebagai berikut:
D.
ANALISA DATA
|
#include
<iostream.h>
#include
<conio.h>
#include
<math.h>
|
Penggalan script di atas
merupakan file header dari program
tersebut. File header mengandung beberapa fungsi atau perintah yang akan digunakan dalam
program. File header ini sangat
penting, karena beberapa perintah tidak akan dapat dijalankan jika file header yang mendukung perintah
tersebut tidak ditulis dalam program. File
header ini memiliki ciri berakhiran “.h” dan diarahkan oleh preprocessor dirrective #include sebagai gambaran kepada compilator
bahwa beberapa fungsi yang terdapat dalam file
header tersebut diikutkan dalam pembuatan program.
File header
yang digunakan dalam permasalah tersebut, yaitu:
·
#include <iostream.h>
File header
ini diperlukan jika program yang kita buat melibatkan cout dan cin, dimana dalam program ini cout diartikan
sebagai output yang akan ditampilkan
setelah program di compile dan cin diartikan
sebagai input untuk data yang akan di
compile.
·
#include <conio.h>
File header
ini diperlukan untuk membaca perintah getch () yaitu
untuk menunda tertutupnya program setelah di-compile.
· #include <math.h>
File header ini diperlukan pada
program yang menggunakan operasi sqrt () yang bermanfaaat untuk operasi matematika kuadrat.
|
int balok
(float p, float l, float t) {
float vb;
vb = (p * l * t);
return vb;
}
|
Penggalan script diatas
merupakan fungsi untuk menghitung volume balok.
·
int
balok (float p, float l, float t) {
Merupakan fungsi balok
yang didalamnya terdapat pendeklarasian variable
p, l dan t bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float vb;
Merupakan deklarasi variable vb bertipe float.
·
vb =
(p * l * t);
Merupakan proses perhitungam untuk nilai vb.
·
return
vb;
Merupakan pengembalian untuk nilai vb.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
int
tabung(float r, float t1) {
float v2;
v2
= (3.14 * pow(r,2) * t1);
return v2;
}
|
·
int
tabung (float r, float t1); {
Merupakan fungsi tabung
yang didalamnya terdapat pendeklarasian variable
r dan t1 bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float v2;
Merupakan deklarasi variable v2 bertipe float.
·
vb =
(p * l * t);
Merupakan proses perhitungam untuk nilai v2.
·
return
v2;
Merupakan pengembalian untuk nilai v2.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
int limassegitiga(float a, float t2, float t3) {
float v3,
la;
la = a *
t2 * 1/2;
v3 = ( la *t3 ) * 1/3;
return v3;
}
|
·
int
limassegitiga (float a, float t2, float t3); {
Merupakan fungsi tabung
yang didalamnya terdapat pendeklarasian variable
a, t2 dan t3 bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float la, v3;
Merupakan deklarasi variable v2
dan la
bertipe float.
· la = a * t2 * 1/2;
Merupakan proses perhitungam untuk nilai la.
·
v3 = (
la *t3 ) * 1/3;
Merupakan proses perhitungam untuk nilai v3.
·
return
v3;
Merupakan pengembalian untuk nilai v3.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
int prismasegitiga(float a2, float t4, float t5) {
float v4;
v4 = (a2 * t4 * t5) * 1/2;
return v4;
}
|
·
Int
prismasegitiga (float a2, float t4, float t5); {
Merupakan fungsi tabung
yang didalamnya terdapat pendeklarasian variable
a2, t4 dan t5 bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float v4;
Merupakan deklarasi variable v4 bertipe float.
·
v4 =
(a2 * t4 * t5) * 1/2;
Merupakan proses perhitungam untuk nilai v4.
·
return
v4;
Merupakan pengembalian untuk nilai v4.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
int kerucut(float r2, float t6) {
float v5;
v5 = (3.14 * pow(r2,2) * t6) * 1/3;
return v5;
}
|
·
Int
kerucut (float r2, float t6); {
Merupakan fungsi kerucut yang didalamnya terdapat pendeklarasian variable r2 dan t6 bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float v5;
Merupakan deklarasi variable v5 bertipe float.
·
v5 =
(3.14 * pow(r2,2) * t6) * 1/3;
Merupakan proses perhitungam untuk nilai v5.
·
return
v5;
Merupakan pengembalian untuk nilai v5.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
int kubus(float s) {
float v6;
v6 = pow(s,3);
return v6;
}
|
·
Int
kubus (float s); {
Merupakan fungsi kerucut yang didalamnya terdapat pendeklarasian variable s bertipe float.
·
{ merupakan operator penunjuk awal dari fungsi.
·
float v6;
Merupakan deklarasi variable v6 bertipe float.
·
v6 =
pow(s,3);
Merupakan proses perhitungam untuk nilai v6.
·
return
v6;
Merupakan pengembalian untuk nilai v6.
·
} Merupakan petunjuk akhir dari suatu fungsi.
|
void main (){
|
Penggalan script diatas
merupakan fungsi utama yang pertama kali akan dieksekusi.
·
void main() merupakan fungsi utama yang tidak memiliki nilai balik.
·
{ merupakan operator penunjuk awal dari fungsi main ()
|
char
x;
|
· char x; adalah merupakan pendeklarasian variable i bertipe karakter
|
do {
.........
cout<<"Apakah Anda
Ingin Mengulang? (Y/N)"<<endl;
cin>>x;
}
while (x == 'y' || x == 'Y');
|
Merupakan pengulangan untuk program tersebut dimana dalam program
tersebut digunakan pengulangan do – while. Saat
program sudah memberikan hasil atas inputan yang dimasukkan, maka akan
ditampilkan cout pada pengulangan diatas, yaitu “Apakah Anda Ingin Mangulang?
(Y/N)”. Terdapat pilihan Y untuk mengulang dan N untuk selesai artinya program
akan ditutup.
|
clrscr();
|
Merupakan statement untuk perintah hapus layar.
|
int pilih;
|
Pendeklarasian varible pilih dengan tipe data integer.
|
cout<<"\t
\t \t Pilih Salah Satu"<<endl<<endl;
cout<<"1.
Tampilkan Volume Balok"<<endl;
cout<<"2.
Tampilkan Volume Tabung"<<endl;
cout<<"3.
Tampilkan Volume Limas Segitiga"<<endl;
cout<<"4.
Tampilkan Volume Prisma Segitiga"<<endl;
cout<<"5.
Tampilkan Volume Kerucut"<<endl;
cout<<"6.
Tampilkan Volume Kubus"<<endl<<endl<<endl;
cout<<"Pilihan
Anda : ";
cin>>pilih;
cout<<endl;
|
Untuk menampilkan pilihan untuk
menghitung Volume Balok, Tabung, Limas segitiga, Prisma Segitiga, Kerucut, dan
Kubus. Kemudian pilihan yang sudah dimasukkan akan di-input untuk memanggil proses
selanjutnya dalam program.
|
switch(pilih){
|
Merupakan
fungsi switch untuk
menghadirkan berbagai pilihan dalam program sebanyak dengan variable pilih
|
case
1:
int
p, l, t, vb;
cout<<"\t
\t \t Volume Balok "<<endl<<endl;
cout<<"\t \t Panjang =
";
cin>>p;
cout<<endl;
cout<<"\t \t Lebar =
";
cin>>l;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t;
cout<<endl;
vb = balok(p, l, t);
cout<<"\t \t Volume Balok
= "<<vb<<endl<<endl<<endl;
break;
|
Merupakan
pilihan satu, apabila yang di-input-kan
nanti adalah angka satu, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi balok (). Terdapat break; artinya saat case 1 terpenuhi maka program
tidak dilanjutkan.
|
case
2:
int
r, t1, v2;
cout<<"\t
\t \t Volume Tabung "<<endl<<endl;
cout<<"\t \t Jari-jari =
";
cin>>r;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t1;
cout<<endl;
v2
= tabung(r, t1);
cout<<"\t \t Volume
Tabung = "<<v2<<endl<<endl<<endl;
break;
|
Merupakan
pilihan dua, apabila yang di-input-kan
nanti adalah angka dua, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi tabung (). Terdapat break; artinya saat case 2 terpenuhi maka program
tidak dilanjutkan.
|
case
3:
int
a, t2, t3, v3;
cout<<"\t
\t \t Volume Limas Segitiga "<<endl<<endl;
cout<<"\t \t Alas
Segitiga = ";
cin>>a;
cout<<endl;
cout<<"\t \t Tinggi
Segitiga = ";
cin>>t2;
cout<<endl;
cout<<"\t \t Tinggi Limas
= ";
cin>>t3;
cout<<endl;
v3
= limassegitiga(a, t2, t3);
cout<<"\t \t Volume Limas
Segitiga = "<<v3<<endl<<endl<<endl;
break;
|
Merupakan
pilihan tiga, apabila yang di-input-kan
nanti adalah angka tiga, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi limassegitiga (). Terdapat break; artinya saat case 3 terpenuhi maka program
tidak dilanjutkan.
|
case
4:
int
a2, t4, t5, v4;
cout<<"\t
\t \t Volume Prisma Segitiga "<<endl<<endl;
cout<<"\t \t Alas
Segitiga = ";
cin>>a2;
cout<<endl;
cout<<"\t \t Tinggi
Segitiga = ";
cin>>t4;
cout<<endl;
cout<<"\t \t Tinggi
Prisma = ";
cin>>t5;
cout<<endl;
v4
= prismasegitiga(a2, t4, t5);
cout<<"\t
\t Volume Prisma Segitiga =
"<<v4<<endl<<endl<<endl;
break;
|
Merupakan
pilihan empat, apabila yang di-input-kan
nanti adalah angka empat, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi prismasegitiga (). Terdapat break; artinya saat case 4 terpenuhi maka program
tidak dilanjutkan.
|
case
5:
int
r2, t6, v5;
cout<<"\t
\t \t Volume Kerucut "<<endl<<endl;
cout<<"\t \t Jari-jari =
";
cin>>r2;
cout<<endl;
cout<<"\t \t Tinggi =
";
cin>>t6;
cout<<endl;
v5
= kerucut(r2, t6);
cout<<"\t \t Volume Kerucut
= "<<v5<<endl<<endl<<endl;
break;
|
Merupakan
pilihan lima, apabila yang di-input-kan
nanti adalah angka lima, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi kerucut (). Terdapat break; artinya saat case 5 terpenuhi maka program
tidak dilanjutkan.
|
case
6:
int
s, v6;
cout<<"\t
\t \t Volume Kubus "<<endl<<endl;
cout<<"\t \t Panjang
Rusuk = ";
cin>>s;
cout<<endl;
v6 = kubus(s);
cout<<"\t
\t Volume Kubus = "<<v6<<endl<<endl<<endl;
break;
|
Merupakan
pilihan enam, apabila yang di-input-kan
nanti adalah angka enam, maka statement yang
ada didalam case tersebut akan dijalankan, yaitu memproses fungsi kubus (). Terdapat break; artinya saat case 6 terpenuhi maka program
tidak dilanjutkan.
|
default:
cout<<"\t
\t \t Anda salah memasukkan kode"<<endl;
cout<<"\t \t \t Silahkan coba
lagi!!"<<endl<<endl;
}
|
Merupakan pilihan yang akan dijalankan
jika keenam kondisi dalam program tersebut tidak terpenuhi dan akan menampilkan
“Anda salah memasukan kode. Silahkan coba lagi!!”.
|
getch ();
}
|
·
getch(); merupakan statement penundaan dimana setelah compile program tidak akan langsung tertutup.
·
} merupakan akhir dari sebuah program.
Cara
kerja program:
Saat
program dijalankan mka compiler pertama
kali akan mengeksekusi fungsi main ()
kemudian menampilkan statement-statement
yang ada pada cout ke
layar. Program akan menampilkan beberapa pilihan, dimana saat kita meng-input-kan pilihan maka program akan
menampilkan proses perhitungan volume untuk fungsi yang dipilih tersebut.
setelah penghitungan selesai untuk pilihan pertama, maka program akan
menampilkan “Apakah Anda Ingin Mengulang? <Y/N>”, dimana pilihan Y untuk
mengulang dan N untuk selesai. Jika mengulang, program akan kembali seperti
tampilan awal setelah di-compile.
E.
KESIMPULAN
Dari praktikum tersebut, dapat disimpulkan bahwa:
1. Deklarasi fungsi atau
sering disebut dengan prototype fungsi
dimaksudkan untuk mendeklarasikan fungsi agar dapat dipanggil.
2. Terdapat dua jenis variable yaitu variable local dan variable
global. Variable local adalah variable
sederhana yang dideklarasikan didalam sebuah blok program yang hanya bisa
diakses dalam blok tersebut. Sedangkan, variable
global adalah variable yang
memiliki ruang lingkp sepanjang semua program dijalankan, maka variable global akan tetap dikenali
dimanapun bagian atau blok dalam kode program yang dijalankan.
3. Parameter merupakan
fungsi yang digunakan untuk mengirimkan parameter (nilai) ke suatu fungsi yang
dapat dilakukan dengan dua cara, yaitu:
a.
Secara nilai (by value)
b.
Secara acuan (by reference)
DAFTAR PUSTAKA
Frieyadie. 2006. “Panduan pemrograman
C++”. Penerbit Andi: Yogyakarta.
Utama,
Ditdit N., Widyanti Riya.2005. “Algoritma dan Pemrograman dengan Borland C++”.
Graha Ilmu:Yogyakarta.
TUGAS TAMBAHAN
Buatlah program unutk mengkonversikan
suhu dari Celcius ke Reamur, Celcius ke Kelvin dan sebaliknya.
Program untuk permasalahn diatas
adalah:
|
#include
<iostream.h>
#include
<conio.h>
int
celciusfahrenheit (float a, float CF){
CF
= (a * 9/5) + 32;
return CF;
}
int
fahrenheitcelcius (float a, float FC){
FC = (a * 5/9) - 32;
return FC;
}
int
celciuskelvin (float a, float CK){
CK = a + 273;
return CK;
}
int
kelvincelcius (float a, float KC){
KC = a - 273;
return KC;
}
void
main (){
char
x;
do {
clrscr
();
int
suhu;
cout<<"KONVERSI
SUHU"<<endl;
cout<<endl;
cout<<"1.
Celcius--->Fahrenheit"<<endl;
cout<<"2.
Fahrenheit--->Celcius"<<endl;
cout<<"3.
Celcius--->Kelvin"<<endl;
cout<<"4.
Kelvin--->Celcius"<<endl;
cout<<endl;
cout<<"Masukkan pilihan anda =
";cin>>suhu;
switch
(suhu){
case
1: {
float
a;
float
CF;
cout<<"Masukkan
bilangan yang akan dikonversi ke Fahrenheit = ";cin>>a;
CF =
celciusfahrenheit (a,CF);
cout<<"Hasil
konversinya adalah = "<<CF<<endl;
break;}
case
2: {
float
a;
float
FC;
cout<<"Masukkan
bilangan yang akan dikonversi ke Celcius = ";cin>>a;
FC =
fahrenheitcelcius (a,FC);
cout<<"Hasil
konversinya adalah = "<<FC<<endl;
break; }
case
3: {
float
a;
float
CK;
cout<<"Masukkan
bilangan yang akan dikonversi ke Kelvin = ";cin>>a;
CK =
celciuskelvin (a,CK);
cout<<"Hasil
konversinya adalah = "<<CK<<endl;
break; }
case 4:
{
float
a;
float
KC;
cout<<"Masukkan
bilangan yang akan dikonversi ke Celcius = ";cin>>a;
KC =
kelvincelcius (a,KC);
cout<<"Hasil
konversinya adalah = "<<KC<<endl;
break; }
}
cout<<"Apakah
anda ingin mengulang???? (y/n)";cin>>x;
}
while
(x == 'y');
getch
();}
|
Tampilan setelah di-compile:
Cara kerja program:
Saat
program dijalankan maka compiler pertama
kali akan mengeksekusi fungsi main ()
kemudian menampilkan statement-statement
yang ada pada cout ke
layar. Program akan menampilkan beberapa pilihan, dimana saat kita meng-input-kan pilihan maka program akan
menampilkan proses konversi suhu untuk fungsi yang dipilih tersebut. Setelah perhitungan
untuk nilai konversi suhu selesai untuk pilihan pertama, maka program akan
menampilkan “Apakah Anda Ingin Mengulang? <Y/N>”, dimana pilihan Y untuk
mengulang dan N untuk selesai. Jika mengulang, program akan kembali seperti
tampilan awal setelah di-compile.
Tidak ada komentar:
Posting Komentar