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”
kok programny gx bisa jalan mas?
@yofiku
iyah .. masih ada yang kurang sedikit (tanda sama dengan / = ) pada baris ke 100 ..
sudah di perbaiki … :)
TERIMAKASIH BANYAK ATAS INFONYA
mas kok ngak jalan codingnya pada sofware java creator ??
mas paham tentang array kan?
ada soal sulit bagi saya ,,kira2 bisa bantu memecahkan gak mas?
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….
keren….
kak. bisa nta tlong g..???
tlong jelasin cara kerjanya program pascal konversi suhu ..???
terimakasih sebelumnya..
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?
Makasi atas source kodenya, saya jadi bisa membayangkan gimana listingnya. Thanks banget, artikelnya bagus :)