Agar operasi aritmatika dapat dieksekusi, nilai string numerik terlebih dahulu harus dirubah ke dalam nilai numerik. Java menyediakan kelas bersesuaian yang memiliki metoda untuk mengkonversi nilai string numerik ke nilai numerik seperti kelas Integer, Double, Byte, Short, Long dan Float.
Berikut ini adalah contoh program sederhana konversi suhu dari derajat fahrenheit ke derajat celcius. Sebagaimana yang kita tahu, rumus untuk mengkonversi suhu dari derajat fahrenheit ke derajat celcius adalah:
celcius = (5 / 9) * (Fahrenheit – 32)
Untuk melakukan operasi pembagian di program Java, Anda perlu berhati-hati ketika menggunakan perbandingan nilai integer 5 / 9. Pembagian nilai integer akan menghasilkan nilai integer sehingga 5 / 9 = 0. Anda perlu mensiasati dengan menulis 5.0 / 9 untuk mendapatkan hasil yang benar. Berikut ini adalah kode program dan hasil eksekusinya:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | // Nama file : FahrenheitKeCelcius.java // Mengkonversi suhu dari derajat fahrenheit ke celcius // Mengimpor kelas JOptionPane import javax.swing.JOptionPane; public class FahrenheitKeCelcius { public static void main(String[] args) { //deklarasi variabel String strFahrenheit; double fahrenheit, celcius; // Menginput data fahrenheit strFahrenheit = JOptionPane.showInputDialog(null, "Masukkan nilai derajat Fahrenheit", "Fahrenheit Ke Celcius", JOptionPane.QUESTION_MESSAGE); // Konversi string numerik ke numerik fahrenheit = Double.parseDouble(strFahrenheit); // Menghitung Celcius celcius = (int)((5.0 / 9) * (fahrenheit - 32) * 100) / 100.0; // Menampilkan hasil JOptionPane.showMessageDialog(null, "Suhu dalam Fahrenheit : " + fahrenheit + "\nHasil konversi ke Celcius : " + celcius, "Fahrenheit Ke Celcius", JOptionPane.INFORMATION_MESSAGE); // Mengakiri program GUI System.exit(0); } } |
Baris nomor 11 dan 12 adalah pernyataan untuk mendeklarasikan variabel strFahrenheit, fahrenheit dan celcius. Baris nomor 15 adalah pernyataan untuk memberikan nilai yang dikembalikan oleh metoda showInputDialog ke variabel strFahrenheit. Baris nomor 20 adalah konversi dari nilai string numerik yang tersimpan di variabel strFahrenheit ke nilai numerik.
Nilai numerik ini kemudian diberikan ke variabel fahrenheit. Nilai yang telah dikonversi kemudian digunakan di operasi aritmatika (baris nomor 23). Apabila diperhatikan, operasi aritmatika tersebut nampak sedikit lebih kompleks dibandingkan dengan rumus sebenarnya. Ada pengkonversian tipe (type casting) yaitu (int), perkalian dengan 100 dan pembagian dengan 100.0.
Operasi aritmatika tersebut dimaksudkan agar hasil operasi hanya menampilkan dua digit (angka) di belakang tanda desimal. Tampilan hasil operasi aritmatika akan terasa kurang menarik apabila digit dibelakang tanda desimal sangat banyak (panjang). Dapat dijelaskan, apabila hasil nilai variabel celcius adalah 36.97777778, maka hasil nilai (int) ((5.0 / 9) * (fahrenheit - 32) * 100) adalah 3697. Sehingga nilai dari (int) ((5.0 / 9) * (Fahrenheit - 32) * 100) / 100.0 adalah 36.97.