Kali ini saya membuat sebuah program yang digunakan untuk menghitung suhu. kita tinggal memasukan angka yang akan dihitung kemudian kita tinggal melihat hasilnya. berikut source code beserta gambarnya :
Source Code :
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 TOSIBA
*/
public class Midletsuhu extends MIDlet implements CommandListener{
Display disp;
Form frmInput,frmHasil;
StringItem strCelcius,strFahrenheit,strHasil,strReamur,strHasil2,strHasil3,strKelvin;
TextField txtCelcius,txtFahrenheit,txtReamur,txtKelvin;
Command cmdExit,cmdHitung,cmdKembali;
public Midletsuhu(){
frmInput = new Form("Input Satuan Suhu");
frmHasil = new Form("Hasil");
strCelcius = new StringItem("", "Celcius (0-100)", StringItem.PLAIN);
txtCelcius = new TextField("", "", 30, TextField.NUMERIC);
strFahrenheit = new StringItem("", "Fahrenheit (32-212)", StringItem.PLAIN);
txtFahrenheit = new TextField("", "", 30, TextField.NUMERIC);
strReamur = new StringItem("", "Reamur (0-80)", StringItem.PLAIN);
txtReamur = new TextField("", "", 30, TextField.NUMERIC);
strKelvin = new StringItem("", "Kelvin (273-373)", StringItem.PLAIN);
txtKelvin = new TextField("", "", 30, TextField.NUMERIC);
cmdExit = new Command("Keluar", Command.EXIT, 0);
cmdHitung = new Command("Hitung", Command.OK, 1);
frmInput.append(strCelcius);
frmInput.append(txtCelcius);
frmInput.append(strFahrenheit);
frmInput.append(txtFahrenheit);
frmInput.append(strReamur);
frmInput.append(txtReamur);
frmInput.append(strKelvin);
frmInput.append(txtKelvin);
frmInput.addCommand(cmdExit);
frmInput.addCommand(cmdHitung);
frmInput.setCommandListener(this);
}
public void startApp() {
disp = Display.getDisplay(this);
disp.setCurrent(frmInput);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
public void commandAction(Command c, Displayable d) {
if(d == frmInput){
if(c == cmdHitung){
if(!txtCelcius.getString().equals("")){
hitungCelcius();
}
else if(!txtFahrenheit.getString().equals("")){
hitungFahrenheit();
}
else if(!txtReamur.getString().equals("")){
hitungReamur();
}
else if(!txtKelvin.getString().equals("")){
hitungKelvin();
}
}else if(c==cmdExit){
destroyApp(true);
notifyDestroyed();
}
}else{
if(c == cmdKembali){
disp.setCurrent(frmInput);
}
}
}
public void hitungCelcius(){
frmHasil = new Form("Hasil");
int celc = Integer.parseInt(txtCelcius.getString());
int hasilR = (4*celc/5);
int hasilK = (celc+273);
int hasilF = (9*celc/5+32);
strHasil = new StringItem("", "",StringItem.PLAIN);
strHasil.setText("C->F = "+hasilF);
strHasil2 = new StringItem("", "",StringItem.PLAIN);
strHasil2.setText("C->R = "+hasilR);
strHasil3 = new StringItem("", "",StringItem.PLAIN);
strHasil3.setText("C->K = "+hasilK);
cmdKembali = new Command("Kembali", Command.BACK, 1);
frmHasil.append(strHasil);
frmHasil.append(strHasil2);
frmHasil.append(strHasil3);
frmHasil.addCommand(cmdKembali);
frmHasil.setCommandListener(this);
disp.setCurrent(frmHasil);
}
private void hitungFahrenheit() {
frmHasil = new Form("Hasil");
int fahr = Integer.parseInt(txtFahrenheit.getString());
int hasilC = (5*(fahr-32)/9);
int hasilR = (4*(fahr-32)/9);
int hasilK = (5*(fahr-32)/9)+273;
strHasil = new StringItem("", "",StringItem.PLAIN);
strHasil.setText("F->C = "+hasilC);
strHasil2 = new StringItem("", "",StringItem.PLAIN);
strHasil2.setText("F->R = "+hasilR);
strHasil3 = new StringItem("", "",StringItem.PLAIN);
strHasil3.setText("F->K = "+hasilK);
cmdKembali = new Command("Kembali", Command.BACK, 1);
frmHasil.append(strHasil);
frmHasil.append(strHasil2);
frmHasil.append(strHasil3);
frmHasil.addCommand(cmdKembali);
frmHasil.setCommandListener(this);
disp.setCurrent(frmHasil);
}
private void hitungReamur() {
frmHasil = new Form("Hasil");
int ream = Integer.parseInt(txtReamur.getString());
int hasilC = (5*ream/4);
int hasilF = (9*ream/4)+32;
int hasilK = (5*ream/4)+273;
strHasil = new StringItem("", "",StringItem.PLAIN);
strHasil.setText("R->C = "+hasilC);
strHasil2 = new StringItem("", "",StringItem.PLAIN);
strHasil2.setText("R->F = "+hasilF);
strHasil3 = new StringItem("", "",StringItem.PLAIN);
strHasil3.setText("R->K = "+hasilK);
cmdKembali = new Command("Kembali", Command.BACK, 1);
frmHasil.append(strHasil);
frmHasil.append(strHasil2);
frmHasil.append(strHasil3);
frmHasil.addCommand(cmdKembali);
frmHasil.setCommandListener(this);
disp.setCurrent(frmHasil);
}
private void hitungKelvin() {
frmHasil = new Form("Hasil");
int kelv = Integer.parseInt(txtKelvin.getString());
int hasilC = (kelv-273);
int hasilR = (4*hasilC/5);
int hasilF = (9*hasilC/5+32);
strHasil3 = new StringItem("", "",StringItem.PLAIN);
strHasil3.setText("K->C = "+hasilC);
strHasil = new StringItem("", "",StringItem.PLAIN);
strHasil.setText("K->F = "+hasilF);
strHasil2 = new StringItem("", "",StringItem.PLAIN);
strHasil2.setText("K->R = "+hasilR);
cmdKembali = new Command("Kembali", Command.BACK, 1);
frmHasil.append(strHasil);
frmHasil.append(strHasil2);
frmHasil.append(strHasil3);
frmHasil.addCommand(cmdKembali);
frmHasil.setCommandListener(this);
disp.setCurrent(frmHasil);
}
}
Gambar Program
setelah keluar tampilan pertama kita akan masuk ke tampilan selanjutnya, atau disebut form hitung .
Gambar Program
Form ini untuk melihat hasil penghitungan.
Kelebihan :
* Dapat menghitung suhu Celcius, Reamur, Fahrenheit dan Kelvin
Kelemahan :
* Tidak dapat menghitung selain suhu
Program ini dibuat untuk memenuhi nilai tugas JAVA, terima kasih..
Tidak ada komentar:
Posting Komentar