Membuat Program Konversi Suhu dengan Java Menggunakan NetBeans (Mobile Programming)

Selamat pagi sobat astronaut semua! Kali ini kita akan membahasa sebuah program, yaitu program konversi suhu yang dibuat dengan bahasa pemrograman Java, menggunakan NetBeans IDE.
Ok, langsung saja, berikut source code-nya :

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package hello;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.StringItem;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.*;

/**
 * @author www.astronaut11.blogspot.com
 */
public class KonversiSuhu extends MIDlet implements CommandListener {
    //inisialisasi
    Display dis;
    Form frminput, frmhasil;
    StringItem strCelcius,strFahreinheit,strReamur,strKelvin,strhasil;
    TextField txtCelcius, txtFahreinheit, txtReamur, txtKelvin;
    Command cmdExit, cmdhitung, cmdkembali;

    public KonversiSuhu()
    {
        // judul pada form input
        frminput = new Form("Pilihan Satuan Suhu");

        //membuat label dan text field celcius
        strCelcius = new StringItem("" ,"Celcius", StringItem.PLAIN);
        txtCelcius = new TextField("", "", 30,TextField.NUMERIC);

        //membuat label dan text field fahrenheit
        strFahreinheit = new StringItem("" ,"Fahreinheit", StringItem.PLAIN);
        txtFahreinheit = new TextField("", "", 30,TextField.NUMERIC);

        //membuat label dan text field reamur
        strReamur = new StringItem("" ,"Reamur", StringItem.PLAIN);
        txtReamur = new TextField("", "", 30,TextField.NUMERIC);

        //membuat label dan text field kelvin
        strKelvin = new StringItem("" ,"Reamur", StringItem.PLAIN);
        txtKelvin = new TextField("", "", 30,TextField.NUMERIC);

        //membuat command exit dan hitung
        cmdExit = new Command("Keluar [X]", Command.EXIT, 0);
        cmdhitung = new Command("Hitung", Command.OK,1);

        //menampilkan label dan text field
        frminput.append(strCelcius);
        frminput.append(txtCelcius);
        frminput.append(strFahreinheit);
        frminput.append(txtFahreinheit);
        frminput.append(strReamur);
        frminput.append(txtReamur);
        frminput.append(strKelvin);
        frminput.append(txtKelvin);

        //menampilkan command
        frminput.addCommand(cmdExit);
        frminput.addCommand(cmdhitung);
        frminput.setCommandListener((CommandListener) this);
    }

    public void startApp() {
        if(dis == null)
            {
                // menampilkan frminput pada saat aplikasi dimulai
                dis = Display.getDisplay(this);
                dis.setCurrent(frminput);
            }
    }

    public void hitungSuhu(){
       if(!txtCelcius.getString().equals(""))
            {
                //judul frmhasil celcius
                frmhasil = new Form("Hasil Konversi dari Celcius");

                //proses perhitungan celcius
                double celcius = Double.parseDouble(txtCelcius.getString());
                double fahrenheit = ((celcius)*9/5+32);
                double reamur = (celcius*4/5);
                double kelvin = (celcius+273);

                //tampil hasil perhitungan celcius
                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("Celcius ke Fahrenheit = "+fahrenheit+"\nCelcius ke Reamur = "+reamur+"\nCelcius ke Kelvin = "+kelvin);

            }

       else if(!txtFahreinheit.getString().equals(""))
            {
                //judul frmhasil fahrenheit
                frmhasil = new Form("Hasil Konversi dari Fahrenheit");

                //proses perhitungan fahrenheit
                double fahrenheit = Double.parseDouble(txtFahreinheit.getString());
                double celcius = ((fahrenheit-32)*5/9);
                double reamur = ((fahrenheit-32)*4/9);
                double kelvin = ((fahrenheit-32)*5/9+273);

                //tampil hasil perhitungan fahrenheit
                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("Fahrenheit ke Celcius = "+celcius+"\nFahrenheit ke Reamur = "+reamur+"\nFahrenheit ke Kelvin = "+kelvin);
            }

       else if(!txtReamur.getString().equals(""))
            {
                //judul frmhasil reamur
                frmhasil = new Form("Hasil Konversi dari Reamur");

                //proses perhitungan reamur
                double reamur = Double.parseDouble(txtReamur.getString());
                double celcius = ((reamur)*5/4);
                double fahrenheit = (((reamur)*9/4)+32);
                double kelvin = (((reamur)*5/4)+273);

                //tampil hasil perhitungan reamur
                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("Reamur ke Celcius = "+celcius+"\nReamur ke Fahrenheit = "+fahrenheit+"\nReamur ke Kelvin = "+kelvin);
            }

       else if(!txtKelvin.getString().equals(""))
            {
                //judul frmhasil kelvin
                frmhasil = new Form("Hasil Konversi dari Kelvin");

                //proses perhitungan kelvin
                double kelvin = Double.parseDouble(txtKelvin.getString());
                double celcius = (kelvin-273);
                double fahrenheit = ((kelvin-273)*9/5);
                double reamur = ((kelvin-273)*4/5);

                //tampil hasil perhitungan kelvin
                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("Kelvin ke Celcius = "+celcius+"\nKelvin ke Fahrenheit = "+fahrenheit+"\nKelvin ke Reamur = "+reamur);
            }

        //menampilkan command dan hasil perhitungan
        cmdkembali = new Command("<< Kembali", Command.BACK, 1);
        frmhasil.append(strhasil);
        frmhasil.addCommand(cmdkembali);
        frmhasil.setCommandListener((CommandListener) this);

        //frmhasil ditampilkan
        dis.setCurrent(frmhasil);
    }
    public void pauseApp() {

    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command cm, Displayable dply){
    //tampil command dan hasil sesuai kondisi
    if(dply == frminput)
        {
            if(cm == cmdhitung)
                {
                    hitungSuhu();
                }
            
            else if(cm == cmdExit)
                {
                    destroyApp(true);
                    notifyDestroyed();
                }
        }
    
    else
        {
            if(cm == cmdkembali)
                {
                    dis.setCurrent(frminput);
                }
        }
    }
}


Disini saya sertakan video tutorialnya, tapi jujur saya akui kualitasnya jauh dari kata bagus, karena saya menggunakan webcam dari laptop (cuma VGA hahaha), jadi bagi yang mau sekedar melihat silahkan, bagi yang tidak mau juga tidak apa-apa hahahhaa, thank you para astronaut! :D





1 komentar:

  1. Wah ternyata panjang juga ya mas. Tapi lengkap dan aku suka. :v Hehe... Izin praktik ya mas. Wah jadi terinpirasi untuk menulis di blog dengan tema java juga nih. Thanks mas.

    BalasHapus

Diberdayakan oleh Blogger.