Senin, 16 Januari 2012

Konversi Suhu Berbasis Java J2ME

Assalamualaikum wr wb

Salam, kali ini saya akan mencoba berbagi ilmu tentang cara membuat konversi suhu berbasis java J2ME dengan menggunakan netbeans 6.8

sedikit tentang J2ME 
J2ME adalah satu set spesifikasi dan teknologi yang fokus kepada perangkat konsumen. Perangkat ini memiliki jumlah memori yang terbatas, menghabiskan sedikit daya dari baterei,layar yang kecil dan bandwith jaringan yang rendah.
Program J2ME, seperti semua program JAVA adalah diterjemahkan oleh VM. Program-program tersebut dikompile ke dalam bytecode dan diterjemahkan denga Java Virtual Machine(JVM).Ini berarti bahwa program-program tersebut tidak berhubungan langsung dengan perangkat.
J2ME menyediakan suatu interface yang sesuai dengan perangkat. Aplikasi-aplikasi tersebut tidak harus dikompile ulang supaya mampu dijalankan pada mesin yang berbeda. Inti dari J2ME terletak pada configuration dan profile-profile. Suatu configuration menggambarkan lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan core library, virtual machine, fitur keamanan dan jaringan. 


Baiklah,Sekarang saya akan memperlihatkan tampilan serta cara pemakaiannya, disusul dengan script dari program tersebut.

1.Tampilan Utama
 tampilan utama nya terdiri atas 4 kolom dimana kolom tersebut harus diisi bilangan yang akan dikonversikan


2.Memasukan Angka
  Kita akan mencoba memasukan angka 200 di kolom celcius untuk dikonversikan ke suhu  lainnya

3.Pilihan Menu
  Klik pilihan "menu" lalu pilih "hitung" untuk mengkonversikan angka
4.Hasil
   Demikianlah hasil dari pengkonversian suhu dari celciu




5.Script Program

/*
 * 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 user
 */
public class KonversiSuhu extends MIDlet implements CommandListener{
    Display disp;
    Form frmInput,frmHasil;
    StringItem strC,strHasil,strF,strR,strHasil2,strHasil3,strK;
    TextField txtC,txtF,txtR,txtK;
    Command cmdKeluar,cmdHitung,cmdKembali;

    public KonversiSuhu(){
        frmInput = new Form("Input Satuan Suhu");
        frmHasil = new Form("Hasil");

        strC = new StringItem("", "Celcius (0-100)", StringItem.PLAIN);
        txtC = new TextField("", "", 30, TextField.NUMERIC);

        strF = new StringItem("", "Fahrenheit (32-212)", StringItem.PLAIN);
        txtF = new TextField("", "", 30, TextField.NUMERIC);

        strR = new StringItem("", "Reamur (0-80)", StringItem.PLAIN);
        txtR = new TextField("", "", 30, TextField.NUMERIC);

        strK = new StringItem("", "Kelvin (273-373)", StringItem.PLAIN);
        txtK = new TextField("", "", 30, TextField.NUMERIC);

        cmdKeluar = new Command("Keluar", Command.EXIT, 0);
        cmdHitung = new Command("Hitung", Command.OK, 1);

        frmInput.append(strC);
        frmInput.append(txtC);
        frmInput.append(strF);
        frmInput.append(txtF);
        frmInput.append(strR);
        frmInput.append(txtR);
        frmInput.append(strK);
        frmInput.append(txtK);

        frmInput.addCommand(cmdKeluar);
        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(!txtC.getString().equals("")){
                    hitungCelcius();
                }
                else if(!txtF.getString().equals("")){
                    hitungFahrenheit();
                }
                else if(!txtR.getString().equals("")){
                    hitungReamur();
                }
                else if(!txtK.getString().equals("")){
                    hitungKelvin();
                }
            }else if(c==cmdKeluar){
                destroyApp(true);
                notifyDestroyed();
            }
        }else{
            if(c == cmdKembali){
                disp.setCurrent(frmInput);
            }
        }
    }

    public void hitungCelcius(){
        frmHasil = new Form("Hasil");

        int celc = Integer.parseInt(txtC.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(txtF.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(txtR.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(txtK.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);
    }
}

 Mungkin cukup sekian sedikit ilmu yang bisa saya kemukakan,semoga dapat bermanfaat bagi rekan terutama bagi guru pembimbing dalam pemenuhan nilai tugas saya.

wassalam wr wb

-cssmr

Tidak ada komentar:

Posting Komentar