Punya pengetahuan tentang obyek VB tapi tidak dipakai akan luntur. Nah, sekarang mari kita pemanasan dengan mempraktekkan penggunaan combobox, textbox, perintah IF-THEN untuk membuat program konversi suhu. Program ini akan mengkonversi suhu Celcius, Farenheit, dan Reamur ke masing-masing suhu tadi dengan rumus-rumus sebagai berikut:
Celcius ke Fahrenheit adalah:
F = (C x 9/5) + 32
Celcius ke Kelvin adalah:
K = C + 273,15
Farenheit ke Celcius adalah:
C = (F - 32) x 5/9
Farenheit ke Kelvin adalah:
K = (F + 459,67) x 5/9
Kelvin ke Celcius adalah:
C = K - 273,15
Kelvin ke Fahrenheit adalah:
F = (K - 273,15) * 9/5
Kemudian buatlah form seperti dibawah ini:
Layout diatas terdiri dari 2 frame, 2 textbox, 2 combobox dan satu commandbutton. Frame paling atas digunakan untuk memasukkan nilai suhu yang akan dikonversi beserta satuan suhunya. Sedangkan frame bawah adalah tempat hasil konversi.
TextBox pada Frame1 bernama tbSuhuAsal, combobox pada frame1 bernama cbSuhuAsal. TextBox pada Frame2 bernama tbSuhuHasil, dan combobox bernama cbSuhuHasil. Lantas namakan tombol dengan cbProses
Untuk memulai konversi, user harus memasukkan nilai suhu yang diinginkan pada tbSuhuAsal, dan memilih satuan suhu yang diinginkan pada cbSuhuAsal dan suhu konversi di cbSuhuHasil. Setelah itu ia harus menekan tombol PROSES agar perhitungan dilakukan oleh program. Hasil perhitungan akan ditulis di tbSuhuHasil
Pada saat aplikasi dibuat, saya tidak menuliskan satuan suhu seperti CELCIUS, KELVIN, FARENHEIT, tetapi saya akan menuliskannya pada saat program dijalankan. Kode program untuk maksud ini saya tulis di Form_Load()
Private Sub Form_Load()
cbSuhuAsal.Clear
cbSuhuAsal.AddItem "CELCIUS"
cbSuhuAsal.AddItem "KELVIN"
cbSuhuAsal.AddItem "FARENHEIT"
cbSuhuAsal.ListIndex = 0
tbSuhuAsal.Text = "0"
cbSuhuHasil.Clear
cbSuhuHasil.AddItem "CELCIUS"
cbSuhuHasil.AddItem "KELVIN"
cbSuhuHasil.AddItem "FARENHEIT"
cbSuhuHasil.ListIndex = 0
tbSuhuHasil.Text = "0"
End Sub
cbSuhuAsal.Clear dan cbSuhuHasil.Clear ditulis untuk menghapus isi dari combo apabila sudah ada. Ini dilakukan agar kita benar-benar yakin isi combo sesuai yang kita program. Sedangkan property ListIndex untuk memastikan secara default pilihan pertama, CELCIUS, yang akan ditampilkan. Sedangkan nilai 0 pada tbSuhuHasil dan tbSuhuAsal adalah nilai defaultnya, sehingga saat program dijalankan secara otomatis textbox diatur ke nilai 0
Untuk memulai perhitungan, setelah user memasukkan nilai suhu yang akan dikonversi beserta satuan suhu asal dan suhu tujuan, maka ia harus meng-klik tombol PROSES yang pada bagian cbProses_Click
Private Sub cbProses_Click()
Dim hasil, asal As Double
asal = CDbl(tbSuhuAsal.Text)
If cbSuhuAsal.Text = "CELCIUS" Then
If cbSuhuHasil.Text = "FARENHEIT" Then
hasil = (asal * 9 / 5) + 32
ElseIf cbSuhuHasil.Text = "KELVIN" Then
hasil = asal + 273.5
Else
hasil = asal
End If
ElseIf cbSuhuAsal.Text = "KELVIN" Then
If cbSuhuHasil.Text = "CELCIUS" Then
hasil = asal - 273.5
ElseIf cbSuhuAsal.Text = "FARENHEIT" Then
hasil = (asal - 273.15) * 9 / 5
Else
hasil = asal
End If
ElseIf cbSuhuAsal.Text = "FARENHEIT" Then
If cbSuhuHasil.Text = "CELCIUS" Then
hasil = (asal - 32) * 5 / 9
ElseIf cbSuhuHasil.Text = "KELVIN" Then
hasil = (asal + 459.67) * 5 / 9
Else
hasil = asal
End If
End If
tbSuhuHasil.Text = CStr(hasil)
End Sub
Pada visual basic, Anda memang tidak perlu melakukan konversi data, tetapi saya ingin memastikan bahwa data bertipe seperti yang saya harapkan. Itulah alasan saya mengkonversikan data dari string ke double seperti ini
asal = CDbl(tbSuhuAsal.Text)
atau dari double ke string
tbSuhuHasil.Text = CStr(hasil)
dan variabel asal dan hasil saya deklarasikan sebagai double
Dim hasil, asal As Double
*Bahasa Program: Visual Basic 6
**Sistem Operasi saat praktek program: Windows XP
0 komentar:
Posting Komentar