Pernah mendengan kata-kata seperti Celcius, Fahrenheit, Reamur dan Kelvin???, mereka bukanlah nama-nama binatang apalagi nama tumbuh-tumbuhan.. he he, tetapi mereka merupakan satuan yang sering digunakan pada temperatur suhu. Jika anda pernah mendengarnya, Pernahkan anda melakukan konversi suhu dari suatu satuan ke satuan lainnya?.
Dalam tulisan ini saya mencoba untuk membuat sebuah program komputer yang dapat digunakan untuk mengkonversi suhu dari satu satuan ke satuan lainnya. Program saya buat menggunakan bahasa Pascal.
Bahasa Pascal merupakan bahasa yang didunia industri kurang banyak dipakai, tapi merupakan bahasa yang sangat banyak digunakan oleh instansi-instansi pendidikan untuk membangun kuda-kuda yang tangguh bagi seorang programmer.
Berikut adalah program Pascal yang saya gunakan untuk memecahkan persoalan konversi suhu. Satuan suhu yang saya libatkan hanya empat yaitu Celcius, Reamur, Fahrenheit dan Kelvin. Sebenarnya banyak satuan untuk temperatur yang dipakai dalam dunia ini, kebetulan cuma empat itu yang pernah saya pelajari dari pelajaran Fisika sewaktu duduk dibangku SMP.
OK.. sekarang masuk kebagian aplikasi, Secara teknis aplikasi akan meminta input Jenis dan Besar Temperatur Suhu yang akan dikonversi, jika jenis input suhu adalah Celcius, maka output program adalah satuan suhu dalam Reamur, Fahrenheit dan Kelvin. Jika jenis suhu adalah Reamur, maka output program adalah suhu dalam Celcius, Fahrenheit dan Kelvin, dst…
Versi Pascal yang saya pakai adalah Pascal versi Windows, tepatnya Pascal 1.5. Jika anda menggunakan Pascal for DOS / Turbo Pascal, silahkan ganti statement Uses WinCrt dengan Uses Crt dan diawal program utama ditambahkan dengan ClrScr.
Program KonversiSuhu;
uses wincrt;
var InpSuhu:real; {C=Celcius, R=Reamur, F=Fahrenheit, K=Kelvin}
OutC, OutR, OutF, OutK:real;
JenisSuhu:char;
InpSuhuString:string; {var penampung input suhu dalam string}
tempSuhu:real; {var sementara untuk konver string ke real}
ErrCode:integer; {var untuk menampung error saat konversi string ke real}
label 100,200;
{program utama}
begin
{menu}
100: {label 100}
write('Masukan jenis suhu C/R/F/K : ');
readln(JenisSuhu);
JenisSuhu:=upcase(JenisSuhu); {mengubah jenis suhu ke upper case}
if (JenisSuhu <> 'C') then
if (JenisSuhu <> 'R' ) then
if (JenisSuhu <> 'F' ) then
if (JenisSuhu <> 'K' ) then
begin
writeln ('Jenis suhu salah, silahkan ulangi!');
writeln;
goto 100;
end;
200: {label 200}
write('Masukan besar suhu : ');
readln(InpSuhuString);
val(InpSuhuString,inpSuhu,ErrCode);
if ErrCode <> 0 then
begin
writeln('Data suhu yang dimasukan tidak valid, masukan data numerik!');
writeln;
goto 200;
end;
writeln;
{ hitung konversi suhu}
writeln('Hasil Konversi Suhu, Untuk Suhu ', inpSuhu:6:2,' ',JenisSuhu);
writeln('--------------------------------------');
if (JenisSuhu = 'C') then {jika input suhu dalam celcius}
begin
OutR:=InpSuhu * 4/5;
OutF:=(InpSuhu *9/5) + 32;
OutK:=InpSuhu + 273;
writeln('Suhu dalam Reamur = ', OutR:6:2);
writeln('Suhu dalam Fahrenheit = ', OutF:6:2);
writeln('Suhu dalam Kelvin = ', OutK:6:2);
end
else if (JenisSuhu = 'R') then {jika input suhu dalam reamur}
begin
OutC:=InpSuhu * 5/4;
OutF:=(InpSuhu * 9/4) + 32;
OutK:=(InpSuhu * 5/4) + 273;
writeln('Suhu dalam Celcius = ', OutC:6:2);
writeln('Suhu dalam Fahrenheit = ', OutF:6:2);
writeln('Suhu dalam Kelvin = ', OutK:6:2);
end
else if (JenisSuhu = 'F') then {jika input suhu dalam fahrenheit}
begin
OutC:=InpSuhu * 5/9;
OutR:=(InpSuhu * 4/9) + 32;
OutK:=(InpSuhu * 5/9) + 273;
writeln('Suhu dalam Celcius = ', OutC:6:2);
writeln('Suhu dalam Reamur = ', OutR:6:2);
writeln('Suhu dalam Kelvin = ', OutK:6:2);
end
else if (JenisSuhu = 'K') then {jika input suhu dalam kelvin}
begin
OutC:=InpSuhu - 273;
OutR:=(InpSuhu - 273) * 4/5;
OutF:=((InpSuhu - 273) * 9/5) + 32;
writeln('Suhu dalam Celcius = ', OutC:6:2);
writeln('Suhu dalam Reamur = ', OutR:6:2);
writeln('Suhu dalam Fahrenheit = ', OutF:6:2);
end;
readln;
end. {end program}
bagai mana caranya membuat program yang apabila dimasukkan angka 5 maka akan menghasilkan keluaran sebagai berikut :
[IMG]http://i406.photobucket.com/albums/pp141/oniapocalypse/untitled.jpg[/IMG]
dimohon solusinya.
@Acopalypse
Kasusnya sangat menarik …, jadi tertantang menyelesaikannya.
Ok deh, tak coba buat, kalau dah selesai tak posting sourcenya.
bagaimana caranya membuat algoritma sebuah bilangan habis dibagi 7?
mohon pencerahan.
Trims
@adek
kalau maksudnya adalah setiap bilangan yang kita input akan habis dibagi oleh 7, maka kita dapat gunakan fungsi mod, jika hasil dari mod adalah 0 (nol) maka bilangan tersebut habis dibagi oleh angka 7.
contoh:
program bagi7; uses crt; var bil : integer; begin clrscr; write('Masukan bilangan! ');readln(bil); if bil mod 7 = 0 then writeln('Bilangan ',bil,' habis dibagi 7') else writeln('Bilangan ',bil,' tidak habis dibagi 7!'); readln; end.Mas mu tnya. Klu tempSuhu, tnda , val truz :6:2 tu stu prstu pnya mksd apa dlm program konversi suhu tu?
D m0hon bgt pnjLzan’a, sya bth skLi inf0 ini..
6:2 itu untuk memformat data bilangan real,
misal punya bilangan 20, jika format tidak kita atur maka pascal akan menampilkan bilangan 20 menjadi 2.0000000000E+01.
Tetapi jika kita format dengan 6:2 (dialokasikan untuk keseluruhan 6 digit, dan 2 digit dibelakang koma), sehinggal 20 menjadi 20.00.
6:2 -> —-.–
Mksd’a tanda ..?
Tanda lebih kecil lebih bzar itu lo?
…? itukan tanda tidak sama dengan (Not Equal Then)