Jumat, 05 Desember 2014

Laporan Praktikum Algoritma dan Pemrograman (Modul III Fungsi/Function)



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 bagan konsep sebuah fungsi :




 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