Kita pernah belajar berbagai macam jenis suhu/temperatur yang terdiri dari celcius, reamur, fahrenheit maupun kelvin. Tetapi dapatkah kita bayangkan proses perhitungan untuk konversi suhu yang rumit dan membutuhkan waktu yang lama? Oleh karena itu saya akan membuat aplikasi konversi suhu berbasis J2ME (mobile application) dengan menggunakan netbeans 6.8 yang dapat di download di sini. Pembuatan aplikasi mobile tidak disarankan menggunakan netbeans versi beta (ex : netbeans 6.9.1)karena tidak tersedia menu mobile application di dalamnya.
Langsung saja kita membuat aplikasi konversi suhu, ikutilah langkah – langkah berikut dengan seksama :
Step 1 (Langkah Awal)
1. Buka Netbens 6.8
2. Pilih Menu File -> New Project
3. Pada Categories pilih Java ME kemudian Mobile Application kemudian klik Next
4. Masukkan nama project di project name kemudian klik Next
5. Pilih DefaultFxTouchPhone1 pada device untuk memilih jenis handphone kemudian klik finish
6. Klik kanan pada Java Package pilih New pilih MIDlet
7. Pada MIDlet Name ketiklah “KonversiSuhu” (tanpa tanda petik).
Step 2 (Sripting)
1. Salin kode berikut pada MIDlet KonversiSuhu :
/*
* 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 Panji
*/
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);
}
}
}
}
* 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 Panji
*/
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);
}
}
}
}
2. Penjelasan kode dapat dibaca pada kalimat yang diawali tanda “//”
3. Pencet tombol “F6” untuk mengeksekusi program
Step 3 (Tampilan)
1. Tampilan Awal dapat dilihat sebagai berikut :
2. Pilih KonversiSuhu dan akan tampil seperti gambar di bawah ini :
3. Pada Celcius / Reamur / Fahrenheit / Kelvin isilah angka (misal : isikan 36 pada celcius)
kemudian pilih menu hitung seperti gambar di bawah ini :
4. Selanjutnya kita dapat melihat hasil konversi dari celcius ke fahrenheit, reamur, dan
Kelvin :
5. Klik “<< Kembali” untuk kembali pada tampilan No. 3
Sekian posting saya kali ini, semoga dapat bermanfaat bagi rekan – rekan pembaca sekalian. Mohon maaf apabila terdapat kesalahan penulisan yang diakibatkan kekeliruan saya dalam menulis postingan ini. Terima Kasih
0 komentar:
Posting Komentar