Senin, 16 Januari 2012

APLIKASI KONVERTER SUHU BERBASIS J2ME

Halo blogger. Ditahun yang baru ini kita akan membahas materi baru. Bila tahun kemarin kita berkutat di J2SE maka ditahun 2012 ini kita akan berlanjut ke J2ME. Pada kesempatan kali ini saya akan membahas mengenai Aplikasi Konverter Suhu. Aplikasi ini saya buat di NetBeans IDE 6.8 . Untuk membuat project dengan basis J2ME maka kita pilih Java ME lalu Mobile Application. Untuk Emulator Platformnya, saya gunakan defaultnya yaitu Java(TM) Platform Micro Edition SDK 3.0, Device yang digunakan yaitu DefaultFxTouchPhone1 dengan Device Configuration CLDC-1.1 dan Device Profile MIDP-2.1 . Terakhir, buat file baru dengan jenis MIDlet.
Berikut ini adalah coding dari Aplikasi Konverter Suhu Sederhana Berbasis J2ME.

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 PradistyaSY
 */
public class MidletSuhu extends MIDlet implements CommandListener{

    Display disp;
    Form frminput, frmhasil;
    StringItem strCelcius,strFahreinheit,strreamur,strhasil;
    TextField txtCelcius, txtFahreinheit, txtreamur;
    Command cmdExit, cmdhitung, cmdkembali;

    public MidletSuhu(){
        frminput = new Form("Input satuan suhu");

        strCelcius = new StringItem("" ,"Celcius", StringItem.PLAIN);
        txtCelcius = new TextField("", "", 30,TextField.NUMERIC);

        strFahreinheit = new StringItem("" ,"Fahreinheit", StringItem.PLAIN);
        txtFahreinheit = new TextField("", "", 30,TextField.NUMERIC);

        strreamur = new StringItem("" ,"Reamur", StringItem.PLAIN);
        txtreamur = new TextField("", "", 30,TextField.NUMERIC);

        cmdExit = new Command("Kembali", Command.EXIT, 0);
        cmdhitung = new Command("Hitung", Command.OK,1);

        frminput.append(strCelcius);
        frminput.append(txtCelcius);
        frminput.append(strFahreinheit);
        frminput.append(txtFahreinheit);
        frminput.append(strreamur);
        frminput.append(txtreamur);

        strCelcius = new StringItem("","Yes",StringItem.PLAIN);
        strFahreinheit = new StringItem("Coba","",StringItem.PLAIN);
        frminput.addCommand(cmdExit);
        frminput.addCommand(cmdhitung);
        frminput.setCommandListener((CommandListener) this);}

    public void startApp()
        {if(disp == null)
            {
                disp = Display.getDisplay(this);
                disp.setCurrent(frminput);
            }
        }
    public void hitungSuhu(){
    frmhasil = new Form("Hasil konversi suhu");
       if(!txtCelcius.getString().equals("")){
                int celcius = Integer.parseInt(txtCelcius.getString());
                int fahrenheit = ((celcius)*9/5+32);
                int reamur = (celcius*4/5);

                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("C -> F = "+fahrenheit+"\nC -> R = "+reamur);

            }

       else if(!txtFahreinheit.getString().equals("")){
                int fahrenheit = Integer.parseInt(txtFahreinheit.getString());
                int celcius = ((fahrenheit-32)*5/9);
                int reamur = ((fahrenheit-32)*4/9);

                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("F -> C = "+celcius+"\nF -> R = "+reamur);
            }

       else if(!txtreamur.getString().equals("")){
                int reamur = Integer.parseInt(txtreamur.getString());
                int celcius = ((reamur)*5/4);
                int fahrenheit = (((reamur)*9/4)+32);

                strhasil = new StringItem("","",StringItem.PLAIN);
                strhasil.setText("R -> C = "+celcius+"\nR -> F = "+fahrenheit);
            }

        cmdkembali = new Command("Kembali", Command.BACK, 1);
        frmhasil.append(strhasil);
        frmhasil.addCommand(cmdkembali);
        frmhasil.setCommandListener((CommandListener) this);

        disp.setCurrent(frmhasil);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
        }

    public void commandAction(Command c, Displayable d){
        if(d == frminput){
            if(c == cmdhitung){
               hitungSuhu();
            }else if(c == cmdExit){
            destroyApp(true);
            notifyDestroyed();
        }
    }else{
        if(c == cmdkembali){
            disp.setCurrent(frminput);
        }
    }

    }
}


Ketika Aplikasi dijalankan tampilan pertama yang akan muncul akan seperti gambar dibawah ini.
 Gambar 1.1 Tampilan 1

Selanjutnya inputkan angka pada bagian yang tersedia. Aplikasi ini hanya memperbolehkan anda mengisi satu bagian saja. Selanjutnya pilih menu dan pilih hitung. Berikut tampilannya.

 Gambar 1.2 Tampilan 2

Misalkan kita inputkan pada bagian Celcius dengan angka 12. Maka angka dalam Celcius tersebut akan dikonversikan ke dalam bentuk Reamur dan Fahrenheit. Berikut Tampilannya.

 Gambar 1.3 Tampilan 3

Mungkin cukup sekian yang dapat saya bagikan untuk blogger sekalian. Semoga Aplikasi ini bisa bermanfaat bagi orang banyak. Sampai jumpa di Aplikasi selanjutnya. Wassalam.

Selasa, 23 Agustus 2011

Program Sorting Number dengan Metode Ascending

Hello bloggers, kali ini saya akan berbagi ilmu mengenai cara mengurutkan bilangan dari yang terkecil sampai terbesar, atau sering disebut juga dengan metode Ascending. Program ini memiliki jumlah input bebas sesuai keinginan programmer, untuk mengetahui lebih lanjut, mari kita pelajari scriptnya.

import java.io.*;
import java.util.Scanner;
public class Ascending
{
public static void main(String[] args)throws Exception
    {
    BufferedReader nilai = new BufferedReader(new InputStreamReader(System.in));
    int a;
    System.out.print("Masukkan jumlah bilangan: ");
    a = Integer.parseInt(nilai.readLine());


    int[] Array;
    Array=new int[a];
    int temp;
    Scanner input=new Scanner(System.in);


    for(int i=0;i<a;i++)
        {
        System.out.print("Nilai " +(i+1)+" Adalah: ");
        Array[i]=Integer.parseInt(input.next());
        }


    for(int x=1;x<a;x++)
        {
            for(int y=0;y<a-x;y++)
            {
                if(Array[y]>Array[y+1])
                    {
                        temp=Array[y];
                        Array[y]=Array[y+1];
                        Array[y+1]=temp;
                    }
            }
        }

        System.out.println("");
        System.out.println("Hasil pengurutan: ");


        for(int i=0;i<a;i++)
        {
            System.out.print(" "+ Array[i]);
        }
    }
}

Tidak lupa juga harus kita buat MANIFEST dari file tersebut. Berikut MANIFEST dari program Ascending ini.
Manifest-Version: 1.0
Created-By: Lucky
Main-Class: Ascending
 
Lalu kita save script tersebut dan buat file menjadi .java. Maka kita dapat meng-compile program tersebut seperti yang terlihat pada print screen di bawah ini.


Setelah berhasil kita compile, maka kita akan dapat memanggil file yang telah kita compile dengan tampilan seperti berikut.


Itu adalah output dari script tersebut dengan memasukkan 5 jumlah bilangan. Kita juga dapat meng-input lebih banyak lagi, dapat dilihat seperti gambar di bawah ini.



Nah blogger, kira-kira seperti itulah Program Sorting Number dengan metode Ascending yang saya buat. Semoga dapat bermanfaat bagi kita semua. Terimakasih.



Senin, 15 Agustus 2011

Menghitung Nilai Rata-Rata Rapot

Program ini dibuat karena untuk memenuhi tugas dari guru pembimbing saya di sekolah dalam bidang pelajaran Java. Program ini bertemakan penghitungan nilai rapot yang terdiri dari 1 jar, 2 java, 2 class. Dengan syarat sebagai berikut:
- Nilai UAS 40%
- Nilai UTS 30%
- Nilai Tugas 20%
- Nilai Absensi 10%

Serta untuk pengecekan status Lulus atau Tidak Lulus menggunakan fungsi boolean, dengan syarat sebagai berikut:

- Jika nilai rapot lebih kecil dari 75 maka pada output adalah "Maaf Status Anda Tidak Lulus", seperti berikut:




- Sebaliknya jika nilai rapot lebih besar dari 75 maka output adalah "Status Anda Adalah Lulus", seperti berikut:




Untuk mendownload file silahkan klik disini
disini