Program Java konversi suhu Fahrenheit ke Celcius
Program Konversi Suhu Fahrenheit Ke Celcius Di Java
Di artikel Konversi Data Dari String Ke Tipe-Tipe Numerik Di Java, Anda diperkenalkan pada cara mengkonversi tipe String (string numerik) yang dikembalikan metoda showInputDialog ke tipe-tipe numerik (int, double, byte, short, long dan float). Nilai string numerik tidak dapat digunakan dalam operasi aritmatika.

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);
   }
}

Program Java konversi suhu dari fahrenheit ke celcius

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.