Program Konversi Suhu


Saya mencoba membuat program konversi suhu menggunakan procedure.
Didalam program ini terdapat percabangan case of else dan perulangan repeat until. Coba pahami kegunaannya.

Program Konversi_Suhu;
Uses WinCrt;

var f,c,r : real;
a,ul : char;

procedure farein_celcius;
begin
  Writeln('Program Konversi Fareinheit Ke Celcius');
  Writeln('======================================');
  Writeln;
Write('Masukan Suhu dalam Farenheit: ');readln(f);
c:=5/9*(f-32);
Writeln;
Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2);
end;

procedure farein_reamur;
begin
Writeln('Program Konversi Fareinheit Ke Reamur');
Writeln('=====================================');
Writeln;
Write('Masukan Suhu dalam Farenheit: ');readln(f);
r:=4/9*(f-32);
Writeln;
Writeln('Jadi Suhu Dalam Reamur Adalah: ',r:4:2);
end;

procedure celcius_farein;
begin
Writeln('Program Konversi Celcius Ke Fareinheit');
Writeln('======================================');
Writeln;
Write('Masukan Suhu dalam Celcius: ');readln(c);
f:=(9/5)*c+32;
Writeln;
Writeln('Jadi Suhu Dalam Fareinheit Adalah: ',f:4:2);
end;

procedure celcius_reamur;
begin
Writeln('Program Konversi Celcius ke Reamur');
Writeln('==================================');
Writeln;
Write('Masukan Suhu dalam Celcius: ');readln(c);
r:=(4/5)*c;
Writeln;
Writeln('Jadi Suhu Dalam Reamur Adalah: ',r:4:2);
end;

procedure reamur_celcius;
begin
writeln('Program Konversi Reamur ke Celcius');
Writeln('==================================');
Writeln;
Write('Masukan Suhu dalam Reamur: ');readln(r);
c:=(5/4)*r;
Writeln;
Writeln('Jadi Suhu Dalam Celcius Adalah: ',c:4:2);
end;

procedure reamur_farein;
begin
writeln('Program Konversi Reamur ke Fareinheit');
Writeln('=====================================');
Writeln;
Write('Masukan Suhu dalam Reamur: ');readln(r);
f:= (9/4)*r+32;
Writeln;
Writeln('Jadi Suhu Dalam Fareinheit Adalah: ',f:4:2);
end;

begin
repeat
clrscr;
writeln ('Program konversi suhu');
writeln;
writeln ('1. fareinheit - celcius');
writeln ('2. fareinheit - reamur');
writeln ('3. celcius - reamur');
writeln ('4. celcius - fareinheit');
writeln ('5. reamur - celcius');
writeln ('6. reamur - farenheit');
writeln;
write ('pilih nomor konversi : '); read (a);
writeln;
case a of
'1' : farein_celcius;
'2' : farein_reamur;
'3' : celcius_reamur;
'4' : celcius_farein;
'5' : reamur_celcius;
'6' : reamur_farein;
else
writeln ('Nomor yang anda masukkan salah');
end;
Writeln;Writeln;
Write('Mau Coba Lagi [Y/T]: ');Readln(ul);
Until Upcase(ul) = 'Y';
End.

program konversi suhu ini saya buat menggunakan prosedur supaya mudah dibaca dan dipahami.
variabelnya menggunakan variabel global karana semua variabel di prosedur maupun di program utamasama.
saya menggunakan repeat until di program utama supaya program ini dapat diulang berulangkali sampaipengguna mengetikkan huruf T.

dalam percabangannya saya menggunakan case of karena lebih singkat daripada if then else. kalau menggunakan if then else percabangannya bentuknya seperti ini:

if a=’1′ then

farein_celcius

else

if a=’2′ then

farein_reamur

else

if a=’3′ then

celcius_reamur

else

if a=’4′ then

celcius_farein

else

if a=’5′ then

reamur_celcius

else

if a=’6′ then

reamur_farein;

karena menurutku terlalu panjang, maka saya menggunakan case of untuk percabangan atau pemilihannya.

dalam pemilihannya angka berada diantara petik satu karena variabelnya dalam bentuk char,

bila variabelnya dalam bentuk integer maka angka-angkanya tidak perlu diberi tanda petik, saya menggunakan char karena bitnya lebih rendah.

logikanya.

pertama program akan menampilkan

Program konversi suhu

1. fareinheit – celcius

2. fareinheit – reamur

3. celcius – reamur

4. celcius – fareinheit

5. reamur – celcius

6. reamur – farenheit

pilih nomor konversi :

nomor konversi kita isikan dengan angka 1-6 untuk memilih program konversi

bila kita memasukkan angka 5 maka yang keluar adalah program konversi reamur ke celcius

kerena kita mengetikkan 5 maka program utama memanggil prosedur konversi reamur-celcius

karena dalam percabangan/pemilihan, angka lima adalah prsedur reamur-celcius.

selanjutnya tampilannya seperti ini :

Program konversi suhu

1. fareinheit – celcius

2. fareinheit – reamur

3. celcius – reamur

4. celcius – fareinheit

5. reamur – celcius

6. reamur – farenheit

pilih nomor konversi : 5

Program Konversi Reamur ke Celcius

==================================

Masukan Suhu dalam Reamur : 40

Jadi Suhu Dalam Reamur adalah: 50.00

Mau Coba Lagi [Y/T]:

bila kita ketikkan y, maka program akan mulai lagi seperti yang pertama.

Program konversi suhu

1. fareinheit – celcius

2. fareinheit – reamur

3. celcius – reamur

4. celcius – fareinheit

5. reamur – celcius

6. reamur – farenheit

pilih nomor konversi : dan kita tinggal memilih program konversi kembali. bila anda ingin menghentikan program maka ketikkan t. setelah itu program akan berhenti.

Mau Coba Lagi [Y/T]:

saya menggunakan repeat until supaya program dapat diulang-ulang selama ul tidak samadengan t maka program akan diulangi terus. Ini merupaka salah satu bentuk perulangan.
bila masih kurang mengerti kirim aja @mail di. [email protected]
saya tunggu kritik dan sarannya.

Semoga bermanfaat.

sumber: ilmukomputer.com, kumpulan program pascal. Decky Hendarsyah.
dengan pengembangan sendiri.

Saipul Bahrie
[email protected]


10 responses to “Program Konversi Suhu”

  1. writeln(‘Program Konversi Reamur ke Fareinheit’);
    Writeln(‘=====================================’);
    Writeln;
    Write(‘Masukan Suhu dalam Reamur: ‘);readln(r);
    f:= (9/4)*r+32;
    Writeln;
    Writeln(‘Jadi Suhu Dalam Fareinheit Adalah: ‘,f:4:2);

    mas.. kan farenheint uda rumusnya uda selese di
    f:= (9/4)*r+32;

    tapi kok hasil akhirnya jadi
    Writeln(‘Jadi Suhu Dalam Fareinheit Adalah: ‘,f:4:2);
    ??

    kenapa masih harus f:4:2;?? kenapa masih harus dibagi? kan rumusnya udah fix seharusnya?

    makasih sebelumnya….

  2. mas artikelnya bagus banget. tapi saya mau tanya klo code ini >>>> Write(‘Mau Coba Lagi [Y/T]: ‘);Readln(ul);
    Until Upcase(ul) = ‘Y’; itu diisi dengan huruf ‘T’ dan keluar programnya gimana?

Leave a Reply