Senin, 03 Juni 2013

Program Kirim dan Terima SMS dengan JAVA

Assalamu'alaikum warahmatullahi wabarakaatu...
baiklah teman-teman sekalian, kali ini saya ingin coba berbagi ilmu mengenai pemrograman di dalam bahasa java, dimana kali ini kita akan coba membuat program kirim dan terima sms yang kemudian nanti akan kita jalankan dengan menggunakan sun java wireless toolkit.

langkah pertama
di langkah pertama ini pastikan komputer teman-teman sudah terinstal java jdk-nya dan sun java wireless toolkit. setelah itu ketik program berikut di notepad dan simpan dengan nama KirimSMS.java. nah berikut source code nya :

import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

public class KirimSMS extends MIDlet implements CommandListener,Runnable {

 private Form sendMessageForm;
 private TextField number, msg;
 private Command cmdOK,cmdExit;
 private String telpNum, isiPesan = "";

 public KirimSMS(){
  cmdExit = new Command("Back", Command.EXIT, 2);
  cmdOK = new Command("Send", Command.SCREEN, 2);
  sendMessageForm = new Form("Send Message");
  msg = new TextField("Message:", null, 50, TextField.ANY);
  number = new TextField("Telepon:", null, 15, TextField.PHONENUMBER);

  sendMessageForm.append(number);
  sendMessageForm.append(msg);
  sendMessageForm.addCommand(cmdOK);
  sendMessageForm.addCommand(cmdExit);
  sendMessageForm.setCommandListener(this);
 }

 protected void destroyApp(boolean arg0) {
  notifyDestroyed();
 }

 protected void pauseApp() {
 }

 protected void startApp() throws MIDletStateChangeException {
  Display.getDisplay(this).setCurrent(sendMessageForm);
 }

 public void commandAction(Command arg0, Displayable arg1) {
  if(arg0==cmdOK){
   telpNum = number.getString();
   isiPesan = msg.getString();
   new Thread(this).start();
   number.setString("");
   msg.setString("");
   Display.getDisplay(this).setCurrent(sendMessageForm);
  }else if(arg0==cmdExit){
   destroyApp(true);
  }
 }

 public void run() {
  try{
   String nomorTelp = "sms://" + telpNum + ":1234";
   MessageConnection conn = (MessageConnection)Connector.open(nomorTelp);
   TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
   msg.setPayloadText(isiPesan);
   conn.send(msg);
   conn.close();
  }catch(Exception e){
   e.printStackTrace();
  }

 }

}

langkah kedua
apabila teman-taman sekalian sudah membuat program yang diatas tadi, selanjutnya kita akan membuat program untuk terima smsnya, nah berikut source code nya dan jika selesai simpan dengan nama TerimaSMS.java

import javax.microedition.io.Connector;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;


public class TerimaSMS extends MIDlet implements Runnable, CommandListener {

 private TextBox tb;
 private String text = "Menunggu pesan...";
 private Command okComand;

 public TerimaSMS() {

  tb = new TextBox("Hello MIDlet", text, 150, 0);

 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
 }

 protected void pauseApp() {
 }

 protected void startApp() throws MIDletStateChangeException {
  Display.getDisplay(this).setCurrent(tb);
  new Thread(this).start();

 }

 public void changeScreen() {
  tb = new TextBox("SMS MIDlet", text, 150, 0);
  Display.getDisplay(this).setCurrent(tb);
 }

 public void addConfirmation(String msg) {
  tb = new TextBox("SMS MIDlet", text, 150, 0);
  tb.setString(msg);
  okComand = new Command("OK",Command.OK,1);
  tb.addCommand(okComand);
  tb.setCommandListener(this);
  Display.getDisplay(this).setCurrent(tb);
 }

 public void run() {
  try {
   MessageConnection rconn = (MessageConnection) Connector
     .open("sms://:1234");

   while (true) {
    Message msg = rconn.receive();
    if (msg instanceof TextMessage) {
     TextMessage tmsg = (TextMessage) msg;
     String msgOut = tmsg.getPayloadText();

     addConfirmation(msgOut);
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void commandAction(Command arg0, Displayable arg1) {
 }
}

langkah ketiga
jika teman-teman sekalian selesai membuat kedua program diatas tadi sekarang waktu nya kita beralih ke sun java wireless toolkit. sebelumnya saya ingatkan pastikan teman2 sekalian telah menginstal sun java wireless toolkit, jika selesai sekarang buka wireless toolkit 2.5.2 seperti gambar berikut :



maka akan tampil di dekstop teman2 sekalian seperti berikut ini 


langkah keempat
kemudian teman2 sekalian klik new project, maka akan muncul tampilan seperti berikut


kemudian pada project name dan MIDlet class name isikan KirimSMS, kemudian klik create project. kemudian pilih new project lagi dan pada project name dan MIDlet class name isikan TerimaSMS.

langkah kelima
selanjutnya, pindahkan program KirimSMS.java yang telah kita simpan tadi ke C:\Users\firman\j2mewtk\2.5.2\apps\KirimSMS\src (untuk nama users sesuaikan dengan nama user pada komputer teman2 sekalian ^_^ )


jika teman2 sekalian selesai memindahkan program KirimSMS.java, pindahkan juga program TerimaSMS.java yang telah disimpan sebelumnya ke  C:\Users\firman\j2mewtk\2.5.2\apps\TerimaSMS\src (untuk nama users sesuaikan dengan nama user pada komputer agan2 sekalian ^_^ )


langkah keenam

jika selesai, kita kembali lagi ke wireless toolkit. sekarang teman2 sekalian klik open project dan buka project dengan nama KirimSMS. untuk lebih jelasnya perhatikan gambar berikut


kemudian jika selesai klik button build, kemudian pilih edit-preferences-WMA. seperti tampilan berikut ini :


pada first assigned phone number, isikan no handphone disini saya gunakan nomor +6282178807849. no itu bertujuan sebagai no handphone yg digunakan pada simulasi program kirim dan terima sms dan no itu juga bisa diganti dengan no yang lain. jika selesai klik ok
lakukan hal yang sama pada program TerimaSMS akan tetapi isikan no yang berbeda dengan Kirim SMS. jika selesai klik run untuk menjalankan programnya sehingga akan muncul tampilan seperti berikut
untuk menjalankan program nya tinggal klik launch aja di masing2 simulasi handphone nya
jika berhasil, jika teman2 sekalian mengirim sms melalui handphone yang kiri maka akan tampil pesan tersebut pada handphone yang sebelah kanan

mungkin cukup sampai disini dulu ya pertemuan kali ini, semoga ini bermanfaat ya bagi kita semua. akhir kata Wassalamuallaikum Warahmatullahi wabarakatu..

Related Posts

Tidak ada komentar:

Posting Komentar