SlideShare a Scribd company logo
Program SMS Menggunakan Java
Membuat Aplikasi Kirim SMS Menggunakan Java J2ME
Program ini digunakan untuk membuat aplikasi kirim sms dengan menggunakan
java. Untuk membuatnya, berikut langkah-langkahnya:
1. Kita jalankan dulu Sun Java (TM) Wireless Toolkit 2.5.2. Setelah itu, klik New
Project, di ProjectName kita ketikkan nama project kita
sesuai keinginan, misalnya sms, di MIDlet Class Name ketikkan tulisan yang
sama, Lalu klik Create Project.
2. Selanjutnya akan muncul kotak dialog setting, kita klik OK saja.
Setelah itu akan tampil tulisan
a. Creating project “smsKu”
b. Place Java source files in “I:Documents and
Settingsmiaej2mewtk2.5.2appssmsKusrc”
Ket: Disinilah tempat kita menyimpan source atau koding program yang kita buat
yaitu pada direktori SRC
c. Place Aplication resource files in “I:Documents and
Settingsmiaej2mewtk2.5.2appssmsKures”
Ket: Disinilah tempat kita menyimpan file gambar atau animasi yang kita buat
yaitu pada direktori RES
3. Kita beralih ke TextPad, dan ketikkan listing progra2.54 berikut:
import java.util.*;
import java.io.IOException; import javax.microedition.io.*;
importjavax.microedition.lcdui.*;
import javax.wireless.messaging.*;
importjavax.microedition.midlet.*;
public class smsKu extends MIDlet implements CommandListener, Runnable,
MessageListener {
Display display; Form form;
List menuList; //list untuk menu awal
Command exitCom, replyCom, backCom, clrCom, sendCom; //command yg
digunakan
TextBox textSmsMasuk, textSmsKeluar; //tempat text sms yg masuk & yg
mau dikirim
TextField textNo; //untuk tempat memasukan no tujuan
String port, isiSmsKeluar; //port dan isi sms
Thread thread; String[] connections; boolean done; MessageConnection smsconn;
Message msg;
public smsKu() {
display = Display.getDisplay(this);
form = new Form("sms-an Yuk");
display.setCurrent(textSmsKeluar);
} else if (c == sendCom) {
isiSmsKeluar = textSmsKeluar.getString();
textSmsKeluar.setString("");
kirim();
}
}
}
public void run() { //untuk menerima sms yang masuk try {
msg = smsconn.receive();
String senderAddress = msg.getAddress(); Date waktuSms =
msg.getTimestamp();
if (msg instanceof TextMessage) {
String isiSmsMasuk = ((TextMessage) msg).getPayloadText();
terima(isiSmsMasuk, senderAddress, waktuSms);//memasukan sms ke texbok
} tutupKoneksi(); bukaKoneksi();
} catch (IOException e) {
}
}
public void notifyIncomingMessage(MessageConnection conn) {
if (thread == null) {
done = false;
thread = new Thread(this);
thread.start();
}
}
}
4.
Simpan program tersebut pada direktori src seperti di atas dengan nama din
i.java (nama file harus sama dengan nama kelas pada saat kita membuat new
project). Selanjutnya kita kembali lagi ke Sun Java (TM) Wireless Toolkit
2.5.2_01 for CLDC.
5. Kemudian, klik Build untuk mengetahui apakah program yang kita buat sudah
benar
atau belum. Jika masih terdapat kesalahan maka perhatikan kesalahannya
pada baris. Kesalahan dan lokasi kesalahan yang ditunjukan pada layar
konsul. Perbaiki kesalahan program tersebut hingga selesai simpan dan ulangi
Build kembali. Setelah proses build selesai jika tidak terdapat kesalahan, klik Run.
Kita bisa coba jalankan aplikasi buatan kita. Dalam percobaan aplikasi ini, kita
klik Run sebanyak 2kali agar tampilan handphone menjadi 2 buah dengan nomor
yang berbeda.
6. Berikut adalah urutan hasil tampilan aplikasi yang telah dibuat.
Tampilan Ketika Program Dijalankan
Tampilan Awal Program dan Tulis SMS kirim nomor sesuai nomor tujuan
Tampilan ketika SMS yang dikirim telah sampai di nomor tujuan
exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new
Command("balas", Command.SCREEN, 1); backCom = new
Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus
Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK,
1); menuList = new List("Menu sms Ku", List.IMPLICIT);
port = "4321"; //port yang aku gunakan, ganti sesuai keinginan masing masing
textSmsMasuk = new TextBox(null, null, 500, TextField.ANY);
textSmsKeluar = new TextBox("Silakan Menulis Sms", null,
500, TextField.ANY);
textNo = new TextField("Masukan Nomor Tujuan", "",
15, TextField.PHONENUMBER);
}
public void startApp() {
bukaKoneksi(); //disini membuka koneksi untuk siap menerima sms masuk
menu(); // bikin tampilan menu awal
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
//sebelum aplikasinya keluar ato mati koneksi ditutup dulu done = true;
thread = null;
if (smsconn != null) {
try {
smsconn.close();
} catch (IOException e) {
}
}
//disini mati deh aplikasi kita notifyDestroyed();
}
public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu
menuList.append("Tulis Sms", null);//1. menu tulis sms baru
menuList.append("about", null);//2. menu about (gak penting sih sebenarnya)
menuList.append("Keluar", null);//3. menu untuk keluar aplikasi
menuList.addCommand(exitCom); //add command keluar
menuList.setCommandListener(this);
display.setCurrent(menuList);
}
public void tulisSms() { //membuat textbox untuk menulis sms baru
textSmsKeluar.addCommand(sendCom); //add command untuk kirim
textSmsKeluar.addCommand(clrCom); // add command untuk clear text
textSmsKeluar.addCommand(backCom); //add command untuk kembali kemenu
awal
textSmsKeluar.setCommandListener(this);
display.setCurrent(textSmsKeluar);
}
public void masukNo() { //disini untuk memasukan nomor tujuan
form.setTitle("Sms Siap dikirim"); //udah taukan yang ini? form.append(textNo);
//menambahkan textField untuk nomor tujuan form.addCommand(backCom);
//menambahkan command untuk kembali ke menu awal
form.addCommand(sendCom); //menambahkan command untuk mengirim
form.setCommandListener(this);
display.setCurrent(form);
}
public void kirim() { //disini sms yang udah ditulis dikirim dgn perintah
new Thread(new Runnable() {
//perhatiin ya public void run() { try {
String isiSms = isiSmsKeluar;
String noTujuan = textNo.getString();
String address = "sms://" + noTujuan + ":" + port;
MessageConnection smsConnKir = null; Message isiSmsNya = null;
smsConnKir = (MessageConnection) Connector.open(address); TextMessage
txtmessage =
(TextMessage)
smsConnKir.newMessage(MessageConnection.TEXT_MESSAGE);
txtmessage.setAddress(address); txtmessage.setPayloadText(isiSms); isiSmsNya
= txtmessage; smsConnKir.send(isiSmsNya);
} catch (Throwable t) {
t.printStackTrace();
}
}
}).start();
public void terima(String isi, String no, Date tgl) { //tempat sms masuk
String nonya = fixNomer(no);
textSmsMasuk = new TextBox("Sms dari:" + nonya + " " + tgl, isi, isi.length(),
TextField.ANY);
textSmsMasuk.addCommand(replyCom);
textSmsMasuk.addCommand(exitCom);
textSmsMasuk.setCommandListener(this); display.setCurrent(textSmsMasuk);
}
public void bukaKoneksi() { //membuka koneksi agar bisa menerima sms yg
masuk
String smsConnection = "sms://:" + port;
done = true;
thread = null;
try {
smsconn = (MessageConnection) Connector.open(smsConnection);
smsconn.setMessageListener(this);
} catch (IOException ioe) {
ioe.printStackTrace();
}
connections = PushRegistry.listConnections(true);
done = false;
thread = new Thread(this);
thread.start();
}
public void tutupKoneksi() { //untuk menutup koneksi sms try {
smsconn.close();
} catch (IOException e) {
}
}
public String fixNomer(String no) {
//dari format no gini "sms://+6285XXXX" jadi "+6285XXX" gitu fungsinya
String hs = null;
hs = no.substring(6, no.length());
return hs;
}
public void commandAction(Command c, Displayable d) {
if (c == exitCom) {
destroyApp(true);
}
if (d == menuList) {
if (menuList.isSelected(0)) {
tulisSms();
} else if (menuList.isSelected(1)) {
Alert about = new Alert("About", "Selamat Datang di Fhadil, " + "Mari Belajar
Java",
null, AlertType.INFO);
display.setCurrent(about);
} else if (menuList.isSelected(2)) {
destroyApp(true);
}
}
if (d == textSmsKeluar) { if (c == sendCom) { form.deleteAll(); masukNo();
} else if (c == clrCom) {
textSmsKeluar.setString("");
} else if (c == backCom) {
display.setCurrent(menuList);
}
}
if (d == textSmsMasuk) { if (c == exitCom) { display.setCurrent(menuList);
} else if (c == replyCom) {
tulisSms();
}
}
if (d == form) {
if (c == backCom) {
form.deleteAll();
exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new
Command("balas", Command.SCREEN, 1); backCom = new
Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus
Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK,
1); menuList = new List("Menu sms Ku", List.IMPLICIT);
port = "4321"; //port yang aku gunakan, ganti sesuai keinginan masing masing
textSmsMasuk = new TextBox(null, null, 500, TextField.ANY);
textSmsKeluar = new TextBox("Silakan Menulis Sms", null,
500, TextField.ANY);
textNo = new TextField("Masukan Nomor Tujuan", "",
15, TextField.PHONENUMBER);
}
public void startApp() {
bukaKoneksi(); //disini membuka koneksi untuk siap menerima sms masuk
menu(); // bikin tampilan menu awal
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
//sebelum aplikasinya keluar ato mati koneksi ditutup dulu done = true;
thread = null;
if (smsconn != null) {
try {
smsconn.close();
} catch (IOException e) {
}
}
//disini mati deh aplikasi kita
notifyDestroyed();
}
public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu
menuList.append("Tulis Sms", null);//1. menu tulis sms baru
menuList.append("about", null);//2. menu about (gak penting sih sebenarnya)
menuList.append("Keluar", null);//3. menu untuk keluar aplikasi
menuList.addCommand(exitCom); //add command keluar
menuList.setCommandListener(this);
display.setCurrent(menuList);
}
public void tulisSms() { //membuat textbox untuk menulis sms baru
textSmsKeluar.addCommand(sendCom); //add command untuk kirim
textSmsKeluar.addCommand(clrCom); // add command untuk clear text
textSmsKeluar.addCommand(backCom); //add command untuk kembali kemenu
awal
textSmsKeluar.setCommandListener(this);
display.setCurrent(textSmsKeluar);
}
public void masukNo() { //disini untuk memasukan nomor tujuan
form.setTitle("Sms Siap dikirim"); //udah taukan yang ini? form.append(textNo);
//menambahkan textField untuk nomor tujuan form.addCommand(backCom);
//menambahkan command untuk kembali ke menu awal
form.addCommand(sendCom); //menambahkan command untuk mengirim
form.setCommandListener(this);
display.setCurrent(form);
}
public void kirim() { //disini sms yang udah ditulis dikirim dgn perintah
new Thread(new Runnable() {
//perhatiin ya public void run() { try {
String isiSms = isiSmsKeluar;
String noTujuan = textNo.getString();
String address = "sms://" + noTujuan + ":" + port; MessageConnection
smsConnKir = null;
Message isiSmsNya = null;
smsConnKir = (MessageConnection) Connector.open(address); TextMessage
txtmessage =
(TextMessage)
smsConnKir.newMessage(MessageConnection.TEXT_MESSAGE);
txtmessage.setAddress(address); txtmessage.setPayloadText(isiSms); isiSmsNya
= txtmessage; smsConnKir.send(isiSmsNya);
} catch (Throwable t) {
t.printStackTrace();
}
}
}).start();
}
public void terima(String isi, String no, Date tgl) { //tempat sms masuk
String nonya = fixNomer(no);
textSmsMasuk = new TextBox("Sms dari:" + nonya + " " + tgl, isi, isi.length(),
TextField.ANY);
textSmsMasuk.addCommand(replyCom);
textSmsMasuk.addCommand(exitCom);
textSmsMasuk.setCommandListener(this); display.setCurrent(textSmsMasuk);
}
public void bukaKoneksi() { //membuka koneksi agar bisa menerima sms yg
masuk
String smsConnection = "sms://:" + port;
done = true;
thread = null;
try {
smsconn = (MessageConnection) Connector.open(smsConnection);
smsconn.setMessageListener(this);
} catch (IOException ioe) {
ioe.printStackTrace();
}
connections = PushRegistry.listConnections(true);
done = false;
thread = new Thread(this);
thread.start();
}
public void tutupKoneksi() { //untuk menutup koneksi sms try {
smsconn.close();
} catch (IOException e) {
}
}
public String fixNomer(String no) {
//dari format no gini "sms://+6285XXXX" jadi "+6285XXX" gitu fungsinya
String hs = null;
hs = no.substring(6, no.length());
return hs;
}
public void commandAction(Command c, Displayable d) {
if (c == exitCom) {
destroyApp(true);
}
if (d == menuList) {
if (menuList.isSelected(0)) {
tulisSms();
} else if (menuList.isSelected(1)) {
Alert about = new Alert("About", "Selamat Datang di Fhadil, " + "Mari Belajar
Java",
null, AlertType.INFO);
display.setCurrent(about);
} else if (menuList.isSelected(2)) {
destroyApp(true);
}
}
if (d == textSmsKeluar) { if (c == sendCom) { form.deleteAll(); masukNo();
} else if (c == clrCom) {
textSmsKeluar.setString("");
} else if (c == backCom) {
display.setCurrent(menuList);
}
}
if (d == textSmsMasuk) { if (c == exitCom) { display.setCurrent(menuList);
} else if (c == replyCom) {
tulisSms();
}
}
if (d == form) {
if (c == backCom) {
form.deleteAll();

More Related Content

What's hot

Kombinasi keyboard
Kombinasi keyboardKombinasi keyboard
Kombinasi keyboardAmrul Rizal
 
Belajar program nilai siswa visual basic 6
Belajar program nilai siswa visual basic 6Belajar program nilai siswa visual basic 6
Belajar program nilai siswa visual basic 6
Irvan Sevenfold
 
Modul 3-p3-4
Modul 3-p3-4Modul 3-p3-4
Modul 3-p3-4windryika
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingIndividual Consultants
 
Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2
zuckcruel
 
Modul praktikum javascript
Modul praktikum javascriptModul praktikum javascript
Modul praktikum javascript
hardyta
 
Dasar-dasar javascript
Dasar-dasar javascriptDasar-dasar javascript
Dasar-dasar javascriptHaidarNayo
 
Laporan6
Laporan6Laporan6
Laporan6Sa Lam
 
Praktikum javascript
Praktikum javascriptPraktikum javascript
Praktikum javascript
Yunia Ikawati
 
Praktikum 4B
Praktikum 4BPraktikum 4B
Praktikum 4B
Indra Wijaya
 

What's hot (14)

Kombinasi keyboard
Kombinasi keyboardKombinasi keyboard
Kombinasi keyboard
 
T
TT
T
 
Belajar program nilai siswa visual basic 6
Belajar program nilai siswa visual basic 6Belajar program nilai siswa visual basic 6
Belajar program nilai siswa visual basic 6
 
Modul 3-p3-4
Modul 3-p3-4Modul 3-p3-4
Modul 3-p3-4
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
 
Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2Tutorial membuat form dalam netbeans versi2
Tutorial membuat form dalam netbeans versi2
 
Modul praktikum javascript
Modul praktikum javascriptModul praktikum javascript
Modul praktikum javascript
 
Dasar-dasar javascript
Dasar-dasar javascriptDasar-dasar javascript
Dasar-dasar javascript
 
Laporan6
Laporan6Laporan6
Laporan6
 
Praktikum javascript
Praktikum javascriptPraktikum javascript
Praktikum javascript
 
Os2013 lap4-ridwan
Os2013 lap4-ridwanOs2013 lap4-ridwan
Os2013 lap4-ridwan
 
Os2013 lap5-ridwan
Os2013 lap5-ridwanOs2013 lap5-ridwan
Os2013 lap5-ridwan
 
Praktikum 4B
Praktikum 4BPraktikum 4B
Praktikum 4B
 
Java6
Java6Java6
Java6
 

Viewers also liked

Waxraninaka pdf
Waxraninaka pdfWaxraninaka pdf
Waxraninaka pdf
Jayma Bolivia
 
Info server dan info client
Info server dan info clientInfo server dan info client
Info server dan info clientyayaria
 
Facebook Dilemma
Facebook DilemmaFacebook Dilemma
Facebook Dilemma
Rashmi Sinha
 
Chatting dengan beberapa pc laptop
Chatting dengan beberapa pc laptopChatting dengan beberapa pc laptop
Chatting dengan beberapa pc laptopyayaria
 
Sustainable transport
Sustainable transportSustainable transport
Sustainable transport
Francesco Contino
 
The ABC of IoT
The ABC of IoTThe ABC of IoT
The ABC of IoT
cprojector
 
Mosa book es-de
Mosa book es-deMosa book es-de
Mosa book es-de
Arilio Silva
 
Herbology review HiH
Herbology review HiHHerbology review HiH
Herbology review HiHlouise searle
 
instalar google drive en windows
instalar google drive en windowsinstalar google drive en windows
instalar google drive en windows
Albertolisan Albertolisan
 
Capps vacation
Capps vacationCapps vacation
Capps vacation
mtcapps
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
Lesli Marbun
 
This is What Matters
This is What MattersThis is What Matters
This is What Matters
amizen
 
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
helderoliveira85
 

Viewers also liked (16)

Waxraninaka pdf
Waxraninaka pdfWaxraninaka pdf
Waxraninaka pdf
 
Info server dan info client
Info server dan info clientInfo server dan info client
Info server dan info client
 
Facebook Dilemma
Facebook DilemmaFacebook Dilemma
Facebook Dilemma
 
Chatting dengan beberapa pc laptop
Chatting dengan beberapa pc laptopChatting dengan beberapa pc laptop
Chatting dengan beberapa pc laptop
 
Sustainable transport
Sustainable transportSustainable transport
Sustainable transport
 
The ABC of IoT
The ABC of IoTThe ABC of IoT
The ABC of IoT
 
Mosa book es-de
Mosa book es-deMosa book es-de
Mosa book es-de
 
Asap methodology
Asap methodologyAsap methodology
Asap methodology
 
Herbology review HiH
Herbology review HiHHerbology review HiH
Herbology review HiH
 
Sinha_WhitePaper
Sinha_WhitePaperSinha_WhitePaper
Sinha_WhitePaper
 
instalar google drive en windows
instalar google drive en windowsinstalar google drive en windows
instalar google drive en windows
 
Muaz
MuazMuaz
Muaz
 
Capps vacation
Capps vacationCapps vacation
Capps vacation
 
Tugas 1
Tugas 1Tugas 1
Tugas 1
 
This is What Matters
This is What MattersThis is What Matters
This is What Matters
 
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
 

Similar to Program sms menggunakan java ria

Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanUNIVERSITY Of LAMPUNG
 
Tugas struktur data
Tugas struktur dataTugas struktur data
Tugas struktur dataDevandy Enda
 
Jeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileJeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileUNIVERSITY Of LAMPUNG
 
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileJeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileIndividual Consultants
 
Aplinet 1100631006
Aplinet 1100631006Aplinet 1100631006
Aplinet 1100631006yolandalala
 
Dokumentasi Gammu
Dokumentasi GammuDokumentasi Gammu
Dokumentasi Gammu
Robby Firmansyah
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
STMIK AKAKOM
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascalNadya Olivia
 
Penggunaan tipe data dan variabel
Penggunaan tipe data dan variabelPenggunaan tipe data dan variabel
Penggunaan tipe data dan variabel
Weldan Kusuf
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Tatalazy
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Azka Mutia
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaEko Kurniawan Khannedy
 
DASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptxDASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptx
AnnaUrnika1
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionPolytechnic State Semarang
 
Chat33237 33308 33529_ok
Chat33237 33308 33529_okChat33237 33308 33529_ok
Chat33237 33308 33529_okAlvin Setiawan
 

Similar to Program sms menggunakan java ria (20)

Jeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik TambahanJeni J2 Me Bab11 Topik Topik Tambahan
Jeni J2 Me Bab11 Topik Topik Tambahan
 
Jeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahanJeni j2 me-bab11-topik-topik tambahan
Jeni j2 me-bab11-topik-topik tambahan
 
Tugas struktur data
Tugas struktur dataTugas struktur data
Tugas struktur data
 
Jeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobileJeni j2 me-bab02-memulai pemrograman mobile
Jeni j2 me-bab02-memulai pemrograman mobile
 
pemrograman mobile
pemrograman mobilepemrograman mobile
pemrograman mobile
 
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman MobileJeni J2 Me Bab02 Memulai Pemrograman Mobile
Jeni J2 Me Bab02 Memulai Pemrograman Mobile
 
Java1
Java1Java1
Java1
 
Aplinet 1100631006
Aplinet 1100631006Aplinet 1100631006
Aplinet 1100631006
 
Tm c++
Tm c++Tm c++
Tm c++
 
Dokumentasi Gammu
Dokumentasi GammuDokumentasi Gammu
Dokumentasi Gammu
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Bahasa pemrograman pascal
Bahasa pemrograman pascalBahasa pemrograman pascal
Bahasa pemrograman pascal
 
Penggunaan tipe data dan variabel
Penggunaan tipe data dan variabelPenggunaan tipe data dan variabel
Penggunaan tipe data dan variabel
 
Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1Laporan Algoritma dan Pemrograman Modul 1
Laporan Algoritma dan Pemrograman Modul 1
 
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
Laporan hasil praktikum Alpro I Modul 1 (Pengenalan Pascal)
 
PBO Pratikum 1
PBO Pratikum 1PBO Pratikum 1
PBO Pratikum 1
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan java
 
DASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptxDASPRO - KENDALI PERBANGAN.pptx
DASPRO - KENDALI PERBANGAN.pptx
 
Modul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_functionModul3 algoritma dan pemrograman procedure dan_function
Modul3 algoritma dan pemrograman procedure dan_function
 
Chat33237 33308 33529_ok
Chat33237 33308 33529_okChat33237 33308 33529_ok
Chat33237 33308 33529_ok
 

Program sms menggunakan java ria

  • 1. Program SMS Menggunakan Java Membuat Aplikasi Kirim SMS Menggunakan Java J2ME Program ini digunakan untuk membuat aplikasi kirim sms dengan menggunakan java. Untuk membuatnya, berikut langkah-langkahnya: 1. Kita jalankan dulu Sun Java (TM) Wireless Toolkit 2.5.2. Setelah itu, klik New Project, di ProjectName kita ketikkan nama project kita sesuai keinginan, misalnya sms, di MIDlet Class Name ketikkan tulisan yang sama, Lalu klik Create Project. 2. Selanjutnya akan muncul kotak dialog setting, kita klik OK saja. Setelah itu akan tampil tulisan a. Creating project “smsKu” b. Place Java source files in “I:Documents and Settingsmiaej2mewtk2.5.2appssmsKusrc” Ket: Disinilah tempat kita menyimpan source atau koding program yang kita buat yaitu pada direktori SRC c. Place Aplication resource files in “I:Documents and Settingsmiaej2mewtk2.5.2appssmsKures” Ket: Disinilah tempat kita menyimpan file gambar atau animasi yang kita buat yaitu pada direktori RES 3. Kita beralih ke TextPad, dan ketikkan listing progra2.54 berikut: import java.util.*;
  • 2. import java.io.IOException; import javax.microedition.io.*; importjavax.microedition.lcdui.*; import javax.wireless.messaging.*; importjavax.microedition.midlet.*; public class smsKu extends MIDlet implements CommandListener, Runnable, MessageListener { Display display; Form form; List menuList; //list untuk menu awal Command exitCom, replyCom, backCom, clrCom, sendCom; //command yg digunakan TextBox textSmsMasuk, textSmsKeluar; //tempat text sms yg masuk & yg mau dikirim TextField textNo; //untuk tempat memasukan no tujuan String port, isiSmsKeluar; //port dan isi sms Thread thread; String[] connections; boolean done; MessageConnection smsconn; Message msg; public smsKu() { display = Display.getDisplay(this); form = new Form("sms-an Yuk"); display.setCurrent(textSmsKeluar); } else if (c == sendCom) { isiSmsKeluar = textSmsKeluar.getString(); textSmsKeluar.setString(""); kirim(); } } }
  • 3. public void run() { //untuk menerima sms yang masuk try { msg = smsconn.receive(); String senderAddress = msg.getAddress(); Date waktuSms = msg.getTimestamp(); if (msg instanceof TextMessage) { String isiSmsMasuk = ((TextMessage) msg).getPayloadText(); terima(isiSmsMasuk, senderAddress, waktuSms);//memasukan sms ke texbok } tutupKoneksi(); bukaKoneksi(); } catch (IOException e) { } } public void notifyIncomingMessage(MessageConnection conn) { if (thread == null) { done = false; thread = new Thread(this); thread.start(); } } } 4. Simpan program tersebut pada direktori src seperti di atas dengan nama din i.java (nama file harus sama dengan nama kelas pada saat kita membuat new project). Selanjutnya kita kembali lagi ke Sun Java (TM) Wireless Toolkit 2.5.2_01 for CLDC. 5. Kemudian, klik Build untuk mengetahui apakah program yang kita buat sudah benar atau belum. Jika masih terdapat kesalahan maka perhatikan kesalahannya
  • 4. pada baris. Kesalahan dan lokasi kesalahan yang ditunjukan pada layar konsul. Perbaiki kesalahan program tersebut hingga selesai simpan dan ulangi Build kembali. Setelah proses build selesai jika tidak terdapat kesalahan, klik Run. Kita bisa coba jalankan aplikasi buatan kita. Dalam percobaan aplikasi ini, kita klik Run sebanyak 2kali agar tampilan handphone menjadi 2 buah dengan nomor yang berbeda. 6. Berikut adalah urutan hasil tampilan aplikasi yang telah dibuat. Tampilan Ketika Program Dijalankan
  • 5. Tampilan Awal Program dan Tulis SMS kirim nomor sesuai nomor tujuan Tampilan ketika SMS yang dikirim telah sampai di nomor tujuan exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new Command("balas", Command.SCREEN, 1); backCom = new
  • 6. Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK, 1); menuList = new List("Menu sms Ku", List.IMPLICIT); port = "4321"; //port yang aku gunakan, ganti sesuai keinginan masing masing textSmsMasuk = new TextBox(null, null, 500, TextField.ANY); textSmsKeluar = new TextBox("Silakan Menulis Sms", null, 500, TextField.ANY); textNo = new TextField("Masukan Nomor Tujuan", "", 15, TextField.PHONENUMBER); } public void startApp() { bukaKoneksi(); //disini membuka koneksi untuk siap menerima sms masuk menu(); // bikin tampilan menu awal } public void pauseApp() { } public void destroyApp(boolean unconditional) { //sebelum aplikasinya keluar ato mati koneksi ditutup dulu done = true; thread = null; if (smsconn != null) { try { smsconn.close(); } catch (IOException e) { } }
  • 7. //disini mati deh aplikasi kita notifyDestroyed(); } public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu menuList.append("Tulis Sms", null);//1. menu tulis sms baru menuList.append("about", null);//2. menu about (gak penting sih sebenarnya) menuList.append("Keluar", null);//3. menu untuk keluar aplikasi menuList.addCommand(exitCom); //add command keluar menuList.setCommandListener(this); display.setCurrent(menuList); } public void tulisSms() { //membuat textbox untuk menulis sms baru textSmsKeluar.addCommand(sendCom); //add command untuk kirim textSmsKeluar.addCommand(clrCom); // add command untuk clear text textSmsKeluar.addCommand(backCom); //add command untuk kembali kemenu awal textSmsKeluar.setCommandListener(this); display.setCurrent(textSmsKeluar); } public void masukNo() { //disini untuk memasukan nomor tujuan form.setTitle("Sms Siap dikirim"); //udah taukan yang ini? form.append(textNo); //menambahkan textField untuk nomor tujuan form.addCommand(backCom); //menambahkan command untuk kembali ke menu awal form.addCommand(sendCom); //menambahkan command untuk mengirim form.setCommandListener(this); display.setCurrent(form); }
  • 8. public void kirim() { //disini sms yang udah ditulis dikirim dgn perintah new Thread(new Runnable() { //perhatiin ya public void run() { try { String isiSms = isiSmsKeluar; String noTujuan = textNo.getString(); String address = "sms://" + noTujuan + ":" + port; MessageConnection smsConnKir = null; Message isiSmsNya = null; smsConnKir = (MessageConnection) Connector.open(address); TextMessage txtmessage = (TextMessage) smsConnKir.newMessage(MessageConnection.TEXT_MESSAGE); txtmessage.setAddress(address); txtmessage.setPayloadText(isiSms); isiSmsNya = txtmessage; smsConnKir.send(isiSmsNya); } catch (Throwable t) { t.printStackTrace(); } } }).start(); public void terima(String isi, String no, Date tgl) { //tempat sms masuk String nonya = fixNomer(no); textSmsMasuk = new TextBox("Sms dari:" + nonya + " " + tgl, isi, isi.length(), TextField.ANY); textSmsMasuk.addCommand(replyCom); textSmsMasuk.addCommand(exitCom); textSmsMasuk.setCommandListener(this); display.setCurrent(textSmsMasuk); } public void bukaKoneksi() { //membuka koneksi agar bisa menerima sms yg
  • 9. masuk String smsConnection = "sms://:" + port; done = true; thread = null; try { smsconn = (MessageConnection) Connector.open(smsConnection); smsconn.setMessageListener(this); } catch (IOException ioe) { ioe.printStackTrace(); } connections = PushRegistry.listConnections(true); done = false; thread = new Thread(this); thread.start(); } public void tutupKoneksi() { //untuk menutup koneksi sms try { smsconn.close(); } catch (IOException e) { } } public String fixNomer(String no) { //dari format no gini "sms://+6285XXXX" jadi "+6285XXX" gitu fungsinya String hs = null; hs = no.substring(6, no.length());
  • 10. return hs; } public void commandAction(Command c, Displayable d) { if (c == exitCom) { destroyApp(true); } if (d == menuList) { if (menuList.isSelected(0)) { tulisSms(); } else if (menuList.isSelected(1)) { Alert about = new Alert("About", "Selamat Datang di Fhadil, " + "Mari Belajar Java", null, AlertType.INFO); display.setCurrent(about); } else if (menuList.isSelected(2)) { destroyApp(true); } } if (d == textSmsKeluar) { if (c == sendCom) { form.deleteAll(); masukNo(); } else if (c == clrCom) { textSmsKeluar.setString(""); } else if (c == backCom) { display.setCurrent(menuList); } } if (d == textSmsMasuk) { if (c == exitCom) { display.setCurrent(menuList); } else if (c == replyCom) {
  • 11. tulisSms(); } } if (d == form) { if (c == backCom) { form.deleteAll(); exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new Command("balas", Command.SCREEN, 1); backCom = new Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK, 1); menuList = new List("Menu sms Ku", List.IMPLICIT); port = "4321"; //port yang aku gunakan, ganti sesuai keinginan masing masing textSmsMasuk = new TextBox(null, null, 500, TextField.ANY); textSmsKeluar = new TextBox("Silakan Menulis Sms", null, 500, TextField.ANY); textNo = new TextField("Masukan Nomor Tujuan", "", 15, TextField.PHONENUMBER); } public void startApp() { bukaKoneksi(); //disini membuka koneksi untuk siap menerima sms masuk menu(); // bikin tampilan menu awal } public void pauseApp() { }
  • 12. public void destroyApp(boolean unconditional) { //sebelum aplikasinya keluar ato mati koneksi ditutup dulu done = true; thread = null; if (smsconn != null) { try { smsconn.close(); } catch (IOException e) { } } //disini mati deh aplikasi kita notifyDestroyed(); } public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu menuList.append("Tulis Sms", null);//1. menu tulis sms baru menuList.append("about", null);//2. menu about (gak penting sih sebenarnya) menuList.append("Keluar", null);//3. menu untuk keluar aplikasi menuList.addCommand(exitCom); //add command keluar menuList.setCommandListener(this); display.setCurrent(menuList); } public void tulisSms() { //membuat textbox untuk menulis sms baru textSmsKeluar.addCommand(sendCom); //add command untuk kirim textSmsKeluar.addCommand(clrCom); // add command untuk clear text textSmsKeluar.addCommand(backCom); //add command untuk kembali kemenu awal textSmsKeluar.setCommandListener(this); display.setCurrent(textSmsKeluar);
  • 13. } public void masukNo() { //disini untuk memasukan nomor tujuan form.setTitle("Sms Siap dikirim"); //udah taukan yang ini? form.append(textNo); //menambahkan textField untuk nomor tujuan form.addCommand(backCom); //menambahkan command untuk kembali ke menu awal form.addCommand(sendCom); //menambahkan command untuk mengirim form.setCommandListener(this); display.setCurrent(form); } public void kirim() { //disini sms yang udah ditulis dikirim dgn perintah new Thread(new Runnable() { //perhatiin ya public void run() { try { String isiSms = isiSmsKeluar; String noTujuan = textNo.getString(); String address = "sms://" + noTujuan + ":" + port; MessageConnection smsConnKir = null; Message isiSmsNya = null; smsConnKir = (MessageConnection) Connector.open(address); TextMessage txtmessage = (TextMessage) smsConnKir.newMessage(MessageConnection.TEXT_MESSAGE); txtmessage.setAddress(address); txtmessage.setPayloadText(isiSms); isiSmsNya = txtmessage; smsConnKir.send(isiSmsNya); } catch (Throwable t) { t.printStackTrace();
  • 14. } } }).start(); } public void terima(String isi, String no, Date tgl) { //tempat sms masuk String nonya = fixNomer(no); textSmsMasuk = new TextBox("Sms dari:" + nonya + " " + tgl, isi, isi.length(), TextField.ANY); textSmsMasuk.addCommand(replyCom); textSmsMasuk.addCommand(exitCom); textSmsMasuk.setCommandListener(this); display.setCurrent(textSmsMasuk); } public void bukaKoneksi() { //membuka koneksi agar bisa menerima sms yg masuk String smsConnection = "sms://:" + port; done = true; thread = null; try { smsconn = (MessageConnection) Connector.open(smsConnection); smsconn.setMessageListener(this); } catch (IOException ioe) { ioe.printStackTrace(); } connections = PushRegistry.listConnections(true); done = false; thread = new Thread(this);
  • 15. thread.start(); } public void tutupKoneksi() { //untuk menutup koneksi sms try { smsconn.close(); } catch (IOException e) { } } public String fixNomer(String no) { //dari format no gini "sms://+6285XXXX" jadi "+6285XXX" gitu fungsinya String hs = null; hs = no.substring(6, no.length()); return hs; } public void commandAction(Command c, Displayable d) { if (c == exitCom) { destroyApp(true); } if (d == menuList) { if (menuList.isSelected(0)) { tulisSms(); } else if (menuList.isSelected(1)) { Alert about = new Alert("About", "Selamat Datang di Fhadil, " + "Mari Belajar Java", null, AlertType.INFO); display.setCurrent(about); } else if (menuList.isSelected(2)) {
  • 16. destroyApp(true); } } if (d == textSmsKeluar) { if (c == sendCom) { form.deleteAll(); masukNo(); } else if (c == clrCom) { textSmsKeluar.setString(""); } else if (c == backCom) { display.setCurrent(menuList); } } if (d == textSmsMasuk) { if (c == exitCom) { display.setCurrent(menuList); } else if (c == replyCom) { tulisSms(); } } if (d == form) { if (c == backCom) { form.deleteAll();