Senin, 10 Juni 2013

Aplikasi Chatting Dengan menggunakan Java



Nama  : Ririn Jayanti Mandasari
Kelas   : 6TCA
NIM     : 0610 3070 1213

Aplikasi Chatting Dengan menggunakan Java

Alat yang diperlukan
·         2 buah PC
·         1 buah Kabel cross

Langkah – langkah
1.       Ketikkan program server dibawah ini dengan menggunakan notepad, textpad ataupun notepad++.
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class chat{
static void Client() throws IOException {
String ip;
BufferedReader cmb=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Masukkan IP Server : ");
ip=cmb.readLine();
Socket client=null;
client=new Socket(""+ip,8888);
BufferedReader sin=new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintStream sout=new PrintStream(client.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String s;
while (true){
System.out.print("Client : ");
s=stdin.readLine();
sout.println(s);
s=sin.readLine();
System.out.print("Server : "+s+"\n");
if(s.equalsIgnoreCase("Bye"))
break;
}
stdin.close();
sout.close();
sin.close();
client.close();
}
static void Server() throws IOException {
ServerSocket server=null;
Socket client=null;
try{
server=new ServerSocket(8888);
System.out.println("Server telah online");
client=server.accept();
System.out.println("Client telah masuk dan bisa online");
}
catch(IOException e){
System.out.println(e.getMessage());
System.exit(-1);
}
System.out.println("Silahkan chat");
InputStream masuk=client.getInputStream();
OutputStream keluar=client.getOutputStream();
BufferedReader in=new BufferedReader(new
InputStreamReader(client.getInputStream()));
PrintStream out=new PrintStream(client.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String pesan;
while (true){
pesan=in.readLine();
if(pesan.equalsIgnoreCase("stop"))
{
out.println("sampai jumpa");
break;
}
System.out.println("Client chat : "+pesan);
System.out.print("Server : ");
pesan=stdin.readLine();
out.println(pesan);
}
server.close();
client.close();
in.close();
out.close();
stdin.close();
}
public static void main(String args[]) throws IOException {
int pil;
System.out.println("Masukkan Angka yang akan Anda Pilih");
System.out.println("1. Server");
System.out.println("2. Client");
System.out.println("3. Keluar");
System.out.println();
System.out.println("Masukkan Pilihan : ");
Scanner input = new Scanner(System.in);
pil = Integer.parseInt(input.next());
switch(pil){
case 1:
Server();
break;
case 2:
Client();
break;
case 3:
System.out.println();
System.out.println("Terima Kasih Telah Menggunakan Aplikasi Ini");
break;
default :
System.out.println("Maaf Keyword Yang Anda Masukkan Salah");
System.out.println("Silahkan Ulangi Lagi");
break;
}
}
}
2.       Koneksi PC1 dengan PC2 dengan menggunakan kabel cross. Kemudian atur ip PC tersebut.
3.       Lalu ketikkan perintah berikut ini

4.       Gambar diatas  sebagai server
5.       Gambar dibawah ini  menjelaskan  server telah online

6.        Pada gambar di bawah ini  chatting berhasil dilaksanakan


MENGIRIM DAN MENERIMA SMS MENGGUNAKAN PROGRAM JAVA


MENGIRIM DAN MENERIMA SMS MENGGUNAKAN PROGRAM JAVA

Tujuan :
·         Dapat memahami cara Mengirim dan menerima sms menggunakan program java
Alat – alat yang diperlukan :                            
·         Sun java(tm)wireless Toolkit 25.2_01 for CLDC. Untuk menginstallnya, terlebih dahulu install   jdk
·         Notepad ++
 
1.      Buka aplikasi Wireless Toolkit 2.5.2.
2.       Buat project baru dengan nama sms

3.       kemudian atur Target Platform menjadi JTWI dan Configuration CLDC 1.1. kemudian klik OK

4.       ketikkan perintah dibawah dengan menggunakan Notepad, Notepad++ atau textpad. Simpan dengan nama sms.java. disimpan di folder C:\Users\axio\j2mewtk\2.5.2\apps\sms\src.
import java.util.*;
import java.io.IOException;
import javax.microedition.io.*;
import javax.microedition.lcdui.*;
import javax.wireless.messaging.*;
import javax.microedition.midlet.*;
public class sms extends MIDlet implements CommandListener, Runnable,
MessageListener {
Display display;
Form form;
List menuList; //list untuk menu awal
Command exitCom, replyCom, backCom, clrCom, sendCom; //macam macam command yg digunakan
TextBox textSmsMasuk, textSmsKeluar; //tempat untuk text sms yg masuk dan 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 sms() {
display = Display.getDisplay(this);
form = new Form("sms");
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", List.IMPLICIT);
port = "4321"; //port yang saya gunakan, silakan ganti sesuai keinginan masing masing
textSmsMasuk = new TextBox(null, null, 500, TextField.ANY);
textSmsKeluar = new TextBox("Silakan Menulis Pesan", 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(); // tampilan menu awal
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
//sebelum aplikasinya keluar atau koneksi mati ditutup dulu
done = true;
thread = null;
if (smsconn != null) {
try {
smsconn.close();
} catch (IOException e) {
}
}
//aplikasi ditutup
notifyDestroyed();
}
public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu dulu
menuList.append("Tulis Pesan", null);//1. menu tulis sms baru
menuList.append("about", null);      //2. menu about
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 yang mau dikirimi sms
form.setTitle("Sms Siap dikirim"); //peringatan sms siap dikirim
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 dengan perintah dibawah ini
new Thread(new Runnable() {
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) { //ini untuk tempat membaca sms yang 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) {
//mengubah format "sms://+6285XXXX" jadi "+6285XXX"
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", "Aplikasi SMS dengan java oleh Ririn JM",
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();
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);//ini memasukan sms yg diterima ke textbox
}
tutupKoneksi();
bukaKoneksi();
} catch (IOException e) {
}
}
public void notifyIncomingMessage(MessageConnection conn) {
if (thread == null) {
done = false;
thread = new Thread(this);
thread.start();
}
}
}
5.       klik Build. program ada kesalahan maka akan tampil seperti ini

Namun jika program benar maka building complete

6.      klik Run maka akan membuka simulator handphone

7.      buka satu lagi aplikasi Wireless Toolkit 2.5.2. klik Open project pilih sms.

8.      klik Run maka akan membuka simulator handphone.

9.      Kemudian klik launch pada dua simulator.

10.  pada simulator pertama pilih kirim Pesan > masukkan Pesan > pilih menu > pilih kirim.

11.  masukkan no simulator kedua seperti : +5550001. Lalu kirim. Maka pada simulator kedua akan tampil pesan dari simulator pertama.

12.  klik balas untuk membalas pesan. Pilih kirim masukkan nomor simulator pertama. Lalu kirim.