ok deh tidak banyak cingcong langsung aja kita masuk ke penjelasan program. Program yang saya buat kali ini adalah program Mobile pertama saya berbasis J2ME dengan judul "Konversi Suhu".
dari judulnya kita sudah bisa menebak program seperti apa itu?
ya program ini mengkonversi dari mulai suhu celcius, fahrenheit juga reamur. konversi ini berdasarkan perhitungan yang akurat.
Code :
/* * To change this template, choose Tools | Templates * and open the template in the editor. */ 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 Yudith Pratama */ public class suhu extends MIDlet implements CommandListener { Display disp; Form frmInput, frmHasil; Command cmdKeluar, cmdKembali, cmdHitung; TextField txtSuhu, txtKategori; StringItem strCelcius, strHasilCelcius, strHasilFahrenheit, strHasilReamur, strFahrenheit, strReamur, strKategori, strSuhu; public suhu() { frmInput = new Form("Form Input Suhu"); strCelcius = new StringItem("1.","Celcius", StringItem.PLAIN); strFahrenheit = new StringItem("2.","Fahrenheit", StringItem.PLAIN); strReamur = new StringItem("3.","Reamur", StringItem.PLAIN); strKategori = new StringItem("*","Kategori", StringItem.PLAIN); txtKategori = new TextField("","", 1, TextField.NUMERIC); strSuhu = new StringItem("*","Suhu", StringItem.PLAIN); txtSuhu = new TextField("","", 4, TextField.NUMERIC); cmdKeluar = new Command("Keluar", Command.EXIT, 0); cmdKembali = new Command("Kembali", Command.BACK, 1); cmdHitung = new Command("Hitung", Command.ITEM, 1); frmInput.append(strCelcius); frmInput.append(strFahrenheit); frmInput.append(strReamur); frmInput.append(strKategori); frmInput.append(txtKategori); frmInput.append(strSuhu); frmInput.append(txtSuhu); frmInput.addCommand(cmdKeluar); frmInput.addCommand(cmdHitung); frmInput.setCommandListener(this); } private void hitungsuhuCelcius(int nilaiCelcius) { frmHasil = new Form("Form Hasil"); strHasilFahrenheit = new StringItem(nilaiCelcius + " Celcius = ", "", StringItem.PLAIN); strHasilReamur = new StringItem(nilaiCelcius +" Celcius = ", "", StringItem.PLAIN); //celcius ke fahrenheit dan reamur int hasilFahrenheit = (5 * nilaiCelcius / 9) + 32; int hasilReamur = (5 * nilaiCelcius / 4); strHasilFahrenheit.setText(hasilFahrenheit + " Fahrenheit"); strHasilReamur.setText(hasilReamur + " Reamur"); cmdKeluar = new Command("Keluar", Command.EXIT, 0); cmdKembali = new Command("Kembali", Command.BACK, 1); frmHasil.append(strHasilFahrenheit); frmHasil.append(strHasilReamur); frmHasil.addCommand(cmdKembali); frmHasil.addCommand(cmdKeluar); frmHasil.setCommandListener(this); disp.setCurrent(frmHasil); } private void hitungsuhuFahrenheit(int nilaiFahrenheit) { frmHasil = new Form("Form Hasil"); strHasilCelcius = new StringItem(nilaiFahrenheit + " Fahrenheit = ", "", StringItem.PLAIN); strHasilReamur = new StringItem(nilaiFahrenheit +" Fahrenheit = ", "", StringItem.PLAIN); //fahrenheit ke celcius dan reamur int hasilCelcius = (9 * nilaiFahrenheit / 5) - 32; int hasilReamur = (9 * nilaiFahrenheit / 4) - 32; strHasilCelcius.setText(hasilCelcius + " Celcius"); strHasilReamur.setText(hasilReamur + " Reamur"); cmdKeluar = new Command("Keluar", Command.EXIT, 0); cmdKembali = new Command("Kembali", Command.BACK, 1); frmHasil.append(strHasilCelcius); frmHasil.append(strHasilReamur); frmHasil.addCommand(cmdKembali); frmHasil.addCommand(cmdKeluar); frmHasil.setCommandListener(this); disp.setCurrent(frmHasil); } private void hitungsuhuReamur(int nilaiReamur) { frmHasil = new Form("Form Hasil"); strHasilFahrenheit = new StringItem(nilaiReamur + " Reamur = ", "", StringItem.PLAIN); strHasilCelcius = new StringItem(nilaiReamur + " Reamur = ", "", StringItem.PLAIN); //reamur ke celcius dan fahrenheit int hasilCelcius = (4 * nilaiReamur / 5); int hasilFahrenheit = (4 * nilaiReamur / 9) + 32; strHasilCelcius.setText(hasilCelcius + " Celcius"); strHasilFahrenheit.setText(hasilFahrenheit + " Fahrenheit"); cmdKeluar = new Command("Keluar", Command.EXIT, 0); cmdKembali = new Command("Kembali", Command.BACK, 1); frmHasil.append(strHasilCelcius); frmHasil.append(strHasilFahrenheit); frmHasil.addCommand(cmdKembali); frmHasil.addCommand(cmdKeluar); frmHasil.setCommandListener(this); disp.setCurrent(frmHasil); } public void startApp() { if (disp == null){ disp = Display.getDisplay(this); } disp.setCurrent(frmInput); } public void pauseApp() { } public void commandAction(Command c, Displayable d) { if(d == frmInput){ if(c == cmdHitung){ switch(Integer.parseInt(txtKategori.getString())) { case 1: hitungsuhuCelcius(Integer.parseInt(txtSuhu.getString())); break; case 2: hitungsuhuFahrenheit(Integer.parseInt(txtSuhu.getString())); break; case 3: hitungsuhuReamur(Integer.parseInt(txtSuhu.getString())); break; default: System.out.println("Sorry, you failed!"); } } else if(c == cmdKeluar){ destroyApp(true); notifDestroyed(); } } else if(d == frmHasil) { if (c == cmdKeluar) { destroyApp(true); notifyDestroyed(); } else if (c == cmdKembali) { disp.setCurrent(frmInput); } } } public void notifDestroyed() { } public void destroyApp(boolean unconditional) { } }




Tidak ada komentar:
Posting Komentar