Program sederhana konversi suhu di artikel ini dibuat untuk mendemokan pemakaian TComboBox, perintah IF, FormatFloat, dan konversi data.
Berikut ini adalah rumus-rumus yang dipakai:
Rumus mengubah Celcius ke Fahrenheit adalah:
F = (C x 9/5) + 32
Rumus mengubah Celcius ke Kelvin adalah:
K = C + 273,15
Rumus mengubah Farenheit ke Celcius adalah:
C = (F - 32) x 5/9
Rumus mengubah Farenheit ke Kelvin adalah:
K = (F + 459,67) x 5/9
Rumus mengubah Kelvin ke Celcius adalah:
C = K - 273,15
Rumus mengubah Kelvin ke Fahrenheit adalah:
F = (K - 273,15) * 9/5
Langkah pertama untuk membuat programnya adalah menciptakan form terlebih dahulu. Buatlah form seperti dibawah ini:
Form diatas terdiri dari 1 TEdit, 1 TStaticText, 2 TComboBox, 2 Groupbox dan sebuah TButton. GroupBox paling atas digunakan untuk memasukkan nilai suhu yang akan dikonversikan. Groupbox bawah adalah tempat meletakkan jawaban/hasil perhitungan.
Obyek-obyek pada Groupbox atas adalah edtSuhuAsal dan cbSuhuAsal. Sedangkan Groupbox bawah berisi obyek bernama stSuhuHasil dan cbSuhuHasil.
User harus memasukkan suhu dulu di edtSuhuAsal, kemudian satuan suhu yang akan dikonversi di cbSuhuAsal serta suhu konversi di cbSuhuHasil. Setelah selesai, barulah user menekan tombol Proses dan mendapatkan jawaban di stSuhuHasil.
Pada saat aplikasi berjalan. Secara otomatis program akan mengisi TCombo di event OnCreate milik form:
procedure TForm1.FormCreate(Sender: TObject);
begin
cbSuhuAsal.Clear;
cbSuhuAsal.Items.Add('CELCIUS');
cbSuhuAsal.Items.Add('KELVIN');
cbSuhuAsal.Items.Add('FAHRENHEIT');
cbSuhuHasil.Clear;
cbSuhuHasil.Items.Add('CELCIUS');
cbSuhuHasil.Items.Add('KELVIN');
cbSuhuHasil.Items.Add('FAHRENHEIT');
end;
Untuk memulai perhitungan, rumus-rumus diatas dimasukkan pada event OnClick milik TButton sebagai berikut:
procedure TForm1.btnProsesClick(Sender: TObject);
var
Hasil, Asal : Double;
begin
Asal := StrToFloat(edtSuhuAsal.Text);
if cbSuhuAsal.Text = 'CELCIUS' then
begin
if cbSuhuHasil.Text = 'FAHRENHEIT' then
begin
Hasil := (Asal * 9/5) + 32;
end else
if cbSuhuHasil.Text = 'KELVIN' then
begin
Hasil := Asal + 273.5;
end else
Hasil := Asal;
end else
if cbSuhuAsal.Text = 'FAHRENHEIT' then
begin
if cbSuhuHasil.Text = 'CELCIUS' then
begin
Hasil := (Asal - 32) * 5/9
end else
if cbSuhuHasil.Text = 'KELVIN' then
begin
Hasil := (Asal + 459.67) * 5/9
end else
Hasil := Asal;
end else
begin
if cbSuhuHasil.Text = 'CELCIUS' then
begin
Hasil := Asal - 273.5
end else
if cbSuhuHasil.Text = 'FAHRENHEIT' then
begin
Hasil := (Asal - 273.15) * 9/5;
end;
end;
stSuhuHasil.Caption := FormatFloat('#,##0.00;;0',Hasil);
end;
Program selengkapnya:
0 comments:
Posting Komentar