Kamis, 30 Mei 2013

Program Kirim dan Terima SMS dengan JAVA

Halo agan2 sekalian akhirnya kita jumpa lagi ya ^_^ setelah beberapa waktu ini saya sibuk di dunia nyata akhir nya kali ini kita dapat jumpa lagi. Oke agan2 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.

oke agan2 sekalian untuk mempersingkat waktu kita langsung saja ya ^_^

langkah pertama
di langkah pertama ini pastikan komputer agan2 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
nah jika agan2 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 agan2 sekalian selesai membuat kedua program diatas tadi sekarang waktu nya kita beralih ke sun java wireless toolkit. sebelumnya saya ingatkan pastikan agan2 sekalian telah menginstal sun java wireless toolkit, jika selesai sekarang buka wireless toolkit 2.5.2 seperti gambar berikut :


maka akan tampil di dekstop agan2 sekalian seperti berikut ini ^_^



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


nah 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 agan2 sekalian ^_^ )


jika agan2 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 agan2 sekalian klik open project dan buka project dengan nama KirimSMS. untuk lebih jelasnya perhatikan gambar berikut


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



nah pada pada first assigned phone number, isikan no handphone disini saya gunakan nomor +628877722968. 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


nah agan2 sekalian untuk menjalankan program nya tinggal klik launch aja di masing2 simulasi handphone nya

nah jika agan2 berhasil, jika agan2 sekalian mengirim sms melalui handphone yang kiri maka akan tampil pesan tersebut pada handphone yang sebelah kanan


nah agan2 sekalian mungkin cukup sampai disini dulu ya pertemuan kali ini ^_^ semoga ini bermanfaat ya bagi kita semua. akhir kata Wassalamuallaikum Wr. Wb.
READ MORE - Program Kirim dan Terima SMS dengan JAVA