Senin, 10 Juni 2013

Cara Menggunakan Remote Anything

Hai agan2 sekalian kali ini kita jumpa lagi ya ^_^, kali ini saya ingin mengshare bagaimana cara menggunakan remote anything sebagai software yang dapat digunakan untuk remote desktop. Tapi sebelum itu saya ingin menjelaskan terlebih dahulu apa itu remote anything.

Remote Anything atau yang sering disingkat dengan RA adalah software yang dapat digunakan untuk kegiatan mata-mata (pengintai) akan tetapi tidak hanya itu remote anything memiliki beberapa keunggulan dibandingkan dengan software remote desktop yang lainnya.

Pada remote anything, terdapat beberapa fitur yang tidak dimiliki oleh software pengintai lainnya, fitur-fitur tersebut adalah:
  • remote control (digunakan untuk mengontrol komputer lain, dan hak penuh di tangan pengontrol)
  • file transfer (drap dan drop files PC ke PC, rename atau delete files, dll)
  • SOS calls (slave users untuk mengirim panggilan SOS untuk meminta user melakukan kontak)
  • text-chat (telepon dengan user lain dengan banyak user atau private or conference mode)
  • power-management (log-off, reboot, shutdown or wake-up remote PCs)
  • password recovery (cached passwords of remote PCs : dial-up connections, screen saver ...)

nah berikut  agan sekalian gambar berikut menjelaskan secara singkat cara kerja dari RA ^_^


nah agan2 sekalian untuk cara menggunakan remote anything nya agan2 sekalian bisa download disini




READ MORE - Cara Menggunakan Remote Anything

Senin, 03 Juni 2013

Program Kirim dan Terima SMS dengan Java Part 2

Halo agan2 sekalian kali ini kita jumpa lagi ya ^_^ pada pertemuan kali ini kita akan membuat aplikasi kirim dan terima sms dimana berbeda dengan aplikasi kirim dan terima sms sebelumnya, karena pada aplikasi ini program terima dan kirim sms kita jadikan dalam satu aplikasi. Oke agan2 sekalian mempersingkat waktu kita langsung saja ya ^_^

Langkah pertama
tulis program berikut, kemudian simpan dengan nama nilailogin.java. nah berikut ini adalah source code programnya
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 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");
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", "Aplikasi SMS buatan Awin Suganda, " +
     "source-nya saya dapatkan dari Internet",
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);//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();
}
}
}

Langkah kedua
jika selesai membuat program diatas sekarang waktunya kita membuat sun java wireless toolkit. kemudian pilih new project, pada project name dan MIDlet class name isikan smsKu lalu pilih create project. 


Langkah ketiga
jika selesai membuat project di sun java wireless toolkit, kemudian pindahkan program yang telah kita buat tadi ke C:\Users\firman\j2mewtk\2.5.2\apps\smsKu\src. jika selesai klik build dan run pada sun java wireless toolkit untuk menjalankan programnya.

nah berikut ini adalah tampilan programnya












nah agan2 inilah program kirim dan terima sms part 2 yang telah kita buat, semoga aplikasi ini dapat dikembangkan dan bermanfaat bagi kita semua ^_^ akhir kata wassalammualaikum wr.wb ^_^

DOWNLOAD SELENGKAPNYA
READ MORE - Program Kirim dan Terima SMS dengan Java Part 2

Aplikasi Nilai Login dengan Java

Halo agan2 sekalian kali ini kita jumpa lagi ya ^_^ pada pertemuan kali ini kita akan membuat aplikasi nilai dengan login sederhana di dengan bahasa pemrograman java. Oke agan2 sekalian mempersingkat waktu kita langsung saja ya ^_^

Langkah pertama
tulis program berikut, kemudian simpan dengan nama nilailogin.java. nah berikut ini adalah source code programnya

import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;
public class nilailogin extends MIDlet implements CommandListener{
  private Display display;
  private TextField userName,password;
  public Form form;
  private Command login,cancel;
  private Image img, imge, img2;
  Command cmdExit,cmdBack,cmdHitung;
  Display dis;
  Form frmInput,frmOutput;
  TextField tfMakul,tfNilai;
  StringItem siMakul,siSKS,siNilai,siGrade,siBobot;
  ChoiceGroup cg1;

  public nilailogin() {
    form = new Form("Sign in");
    userName = new TextField("LoginID:", "", 30, TextField.ANY);
    password = new TextField("Password:", "", 30, TextField.PASSWORD);
    cancel = new Command("Cancel", Command.CANCEL, 2);
    login = new Command("Login", Command.OK, 2);
    try{
      img = Image.createImage("/logo.png");
      imge = Image.createImage("/gagal.png");
      img2 = Image.createImage("/sukses.png");
    }catch(Exception e){
      System.out.println(e.getMessage());
    }
    cmdExit = new Command("Keluar",Command.EXIT,0);
    cmdBack = new Command("OK",Command.SCREEN,0);
    cmdHitung = new Command("Proses",Command.SCREEN,0);
    cg1=new ChoiceGroup("SKS",Choice.EXCLUSIVE);
    cg1.append("2 SKS",null);
    cg1.append("4 SKS",null);
    cg1.append("6 SKS",null);
    frmInput=new Form("Form Input");
    tfMakul = new TextField("Mata Kuliah","",30,TextField.ANY);
    tfNilai = new TextField("Nilai","",30,TextField.NUMERIC);
    frmInput.append(tfMakul);
    frmInput.append(cg1);
    frmInput.append(tfNilai);
    frmInput.addCommand(cmdExit);
    frmInput.addCommand(cmdHitung);
    frmInput.setCommandListener(this);
    frmOutput=new Form("Form Output");
    siMakul=new StringItem("Mata Kuliah","");
    siSKS=new StringItem("SKS","");
    siNilai=new StringItem("Nilai","");
    siGrade=new StringItem("Grade","");
    siBobot=new StringItem("Bobot Nilai",null);
    frmOutput.append(siMakul);
    frmOutput.append(siSKS);
    frmOutput.append(siNilai);
    frmOutput.append(siGrade);
    frmOutput.append(siBobot);
    frmOutput.addCommand(cmdBack);
    frmOutput.setCommandListener(this);
  }
   public void startApp() {
    display = Display.getDisplay(this);
    try{form.append(img);}catch(Exception e){}
    form.append(userName);
    form.append(password);
    form.addCommand(cancel);
    form.addCommand(login);
    form.setCommandListener(this);
    display.setCurrent(form);

  }
  public void pauseApp() {}
  public void destroyApp(boolean unconditional) {
  notifyDestroyed();
    }
    public void validateUser(String name, String password) {
      if (name.equals("firman") && password.equals("12345")) {
        showMsg();
      } else {
        tryAgain();
      }
    }
    public void showMsg() {
     dis = Display.getDisplay(this);
     dis.setCurrent(frmInput);
    }
    public void tryAgain() {
      Alert error = new Alert("Login salah", "coba lagi", imge, AlertType.ERROR);
      error.setTimeout(900);
      error.setImage(imge);
      userName.setString("");
      password.setString("");
      display.setCurrent(error, form);
    }

    public void commandAction(Command c, Displayable d) {
      String label = c.getLabel();
      if(label.equals("Cancel")) {
        destroyApp(true);
      } else if(label.equals("Login")) {
        validateUser(userName.getString(), password.getString());
      }
      if(c==cmdBack){
      dis.setCurrent(frmInput);
      }else if(c==cmdHitung){
      int nilai,nilaigrade,bobotnilai,sks;
      siMakul.setText(tfMakul.getString());
      if(cg1.isSelected(0)){
      siSKS.setText("2 SKS");
      sks=2;
      }else if(cg1.isSelected(1)){
      siSKS.setText("4 SKS");
      sks=4;
      }else{
      siSKS.setText("6 SKS");
      sks=6;
      }
      siNilai.setText(tfNilai.getString());
      nilai=Integer.parseInt(tfNilai.getString());
      if(nilai<=49){
      siGrade.setText("E");
      nilaigrade=0;
      }else if(nilai<=59){
      siGrade.setText("D");
      nilaigrade=1;
      }else if(nilai<=74){
      siGrade.setText("C");
      nilaigrade=2;
      }else if(nilai<=80){
      siGrade.setText("B");
      nilaigrade=3;
      }else{
      siGrade.setText("A");

      nilaigrade=4;
      }
      bobotnilai=sks*nilaigrade;
      siBobot.setText(Integer.toString(bobotnilai));
      dis.setCurrent(frmOutput);
      }else if(c==cmdExit){
      destroyApp(false);
      notifyDestroyed();
      }else{
      dis.setCurrent(frmInput);
}
    }
}

Langkah kedua
jika selesai membuat program diatas sekarang waktunya kita membuat sun java wireless toolkit. kemudian pilih new project, pada project name dan MIDlet class name isikan nilailogin lalu pilih create project. nah berikut tampilannya

jika selesai membuat project di sun java wireless toolkit, kemudian pindahkan program yang telah kita buat tadi ke C:\Users\firman\j2mewtk\2.5.2\apps\nilailogin\src. jika selesai klik build dan run pada sun java wireless toolkit untuk menjalankan programnya.

nah berikut ini adalah tampilan programnya


nah agan2 inilah program nilai login sederhana yang telah kita, semoga aplikasi ini dapat dikembangkan dan bermanfaat bagi kita semua ^_^ akhir kata wassalammualaikum wr.wb ^_^
READ MORE - Aplikasi Nilai Login dengan Java

Simple Browser dengan Java

Halo agan2 sekalian akhir nya kita jumpa lagi ya ^_^, kali ini agan2 sekalian saya akan mensharing sedikiti ilmu mengenai tutorial bagaimana membuat simple browser sederhjana dengan menggunakan bahasa pemrograman java. untuk mempersingkat waktu kita langsung saja ya ^_^

Langkah pertama
seperti biasanya agan2 sekalian, ketikkan source code program berikut ini di TextPad kemudian simpan dengan nama browser.java. Nah berikut ini adalah source code programnya ^_^

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;
public class Browser{
public static void main(String[] args){
try {
BufferedReader input = new BufferedReader(new
InputStreamReader(System.in));
int menu=0;
int pil;
Scanner masuk = new Scanner(System.in);
while(menu==0){
System.out.println("1. Membuka URL web *");
System.out.println("2. Pencarian Google *");
System.out.println("3. Pencarian Gambar di Google *");
System.out.println("4. Google Translate *");
System.out.println("5. EXIT *");
System.out.print("");
System.out.print("Masukkan Pilihan :");
pil = masuk.nextInt();
if(pil < 1 || pil > 5){
System.out.print("");
System.out.println("Input Salah!!");
} else if (pil==5){
System.exit(0);}
switch (pil) {
case 1:
String URL = null;
System.out.print("Masukkan URL : ");
URL = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create(URL));
break;
case 2:
String src2 = null;
System.out.print("Masukkan Kata Pencarian : ");
src2 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/#sclient=psy-ab&q="+ src2));
break;
case 3:
String gmbr3 = null;
System.out.print("Masukkan Nama Gambar : ");
gmbr3 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://www.google.co.id/search?site=imghp&tbm=isch&source=hp&biw=1360&bih=642&q="+ gmbr3));
break;
case 4:
String kata4 = null;
System.out.print("Masukkan Kata Yang akan di terjemah : ");
kata4 = input.readLine();
java.awt.Desktop.getDesktop().browse(java.net.URI.create("https://translate.google.co.id/?hl=id&tab=wT#"+ kata4));
break;
}
}
}
catch (Exception ex) {System.out.println("Error");}
}
}

Langkah kedua
setelah program diatas dibuat di textpad, kemudian compile program diatas dengan menekan tombol ctrl+1 atau klik Tools > Compile Java pad toolbar TextPad. nah jika muncul bacaan tool completed succesfully di sudut kiri bawah, berarti agan2 sekali berhasil membut program browser nya.

Langkah ketiga
setelah program diatas di compile dalam bentuk java dan berhasil selanjutnya tinggal agan2 sekalian jalankan aplikasi tersebut dengan menekan ctrl+2 atau klik Tools > Run Java Application. jika agan2 sekalian berhasil maka akan muncul tampilan seperti berikut

nah agan2 sekalian ini adalah tampilan menu dari simple browser yang telah kita buat sebelumnya. disana terdapat beberapa menu pilihan antara lain:
  1. Masukkan URL Web
    masukkan url web, pada pilihan ini kita dapat langsung memasukkan alamat website yang ingin kita buka dengan mengetikkan https://www.(alamat url yang dituju) kemudian tekan enter.
    nah kurang lebih tampilannya seperti berikut agan2


    setelah dari sini maka mozilla/media browser yang lainnya diminta untuk membuka alamat url yang telah dituliskan di dalam pilihan.
  2. Pencarian Google
    kemudian pada pencarian google agan2 sekalian, tinggal memasukkan apa yang ingin dicari kemudian tekan enter maka mozilla/media browser yang lainnya diminta untuk mencarikan/membuka daftar url yang sesuai dengan apa yang diperintahkan didalam lembar tampilan program yang telah kita buat sebelumnya.




    nah agan2 sekalian kurang lebih berikut tampilannya ^_^
  3. Pencarian Gambar di Google
    kemudian pada pencarian gambar di google agan2 sekalian tinggal memasukkan apa yang ingin dicari kemudian tekan enter maka mozilla/media browser yang lainnya diminta untuk mencarikan/membuka gambarl yang sesuai/berhubungan dengan apa yang diperintahkan didalam lembar tampilan program yang telah kita buat sebelumnya.




  4. Google Translate
  5. Exit
    dan yang terakhir menu exit adalah menu yang dapat agan2 sekalian gunakan untuk keluar dari program ^_^
nah agan2 sekalian inilah program simple browser yang telah kita buat tadi, semoga ini bermanfaat bagi kita semua ^_^ akhir kata wassalammuallaikum wr.wb ^_^

DOWNLOAD SELENGKAPNYA
READ MORE - Simple Browser dengan Java

Aplikasi Login Form dengan java

Hai agan2 sekalian ternyata jumpa lagi ya kita hari ini ^_^
kali ini agan2 sekalian saya ingin berbagi ilmu tentang membuat aplikasi form login sederhana dalam pemrograman java, dimana seperti biasa nantinya aplikasi ini akan kita jalankan dengan menggunakan aplikasi wireless toolkit. oke mempersingkat waktu kita langsung saja ya ^_^

Langkah pertama
seperti biasa ketikkan program berikut ini kemudian simpan dengan nama LoginForm.java. berikut ini adalah source code programnya

import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;

public class LoginForm extends MIDlet implements CommandListener{
  private Display display;
  private TextField userName,password;
  public Form form;
  private Command login,cancel;
  private Image img, imge, img2;
     
  public LoginForm() {
    form = new Form("Sign in");
    userName = new TextField("LoginID:", "", 30, TextField.ANY);
    password = new TextField("Password:", "", 30, TextField.PASSWORD);
    cancel = new Command("Cancel", Command.CANCEL, 2);
    login = new Command("Login", Command.OK, 2);
    try{
      img = Image.createImage("/logo.png");
      imge = Image.createImage("/gagal.png");
      img2 = Image.createImage("/sukses.png");
    }catch(Exception e){
      System.out.println(e.getMessage());
    }   
  }

   public void startApp() {
    display = Display.getDisplay(this);
    try{form.append(img);}catch(Exception e){}
    form.append(userName);
    form.append(password);
    form.addCommand(cancel);
    form.addCommand(login);
    form.setCommandListener(this);
    display.setCurrent(form);
  }

  public void pauseApp() {}

  public void destroyApp(boolean unconditional) {
    notifyDestroyed();
  }

  public void validateUser(String name, String password) {
    if (name.equals("anak") && password.equals("berbakti")) {
      showMsg();
    } else {
      tryAgain();
    }
  } 

  public void showMsg() {
    Alert success = new Alert("Login Successfully",
    "Login berhasil!", img2, AlertType.INFO);
    success.setImage(img2);
    userName.setString("");
    password.setString("");
    display.setCurrent(success, form);   
  }

  public void tryAgain() {
    Alert error = new Alert("Login salah", "coba lagi", imge, AlertType.ERROR);
    error.setTimeout(900);
    error.setImage(imge);
    userName.setString("");
    password.setString("");
    display.setCurrent(error, form);
  }
 
  public void commandAction(Command c, Displayable d) {
    String label = c.getLabel();
    if(label.equals("Cancel")) {
      destroyApp(true);
    } else if(label.equals("Login")) {
      validateUser(userName.getString(), password.getString());
    }
  }
}

Langkah kedua
Jika selesai membuat program diatas, sekarang buka sun java wireless toolkit


kemudian pilih new project, dan isikan LoginForm di project name dan MIDlet Class Name kemudian pilih create project. untuk lebih jelasnya perhatikan gambar berikut.


Langkah ketiga
pindahkan program yang telah kita buat ke C:\Users\firman\j2mewtk\2.5.2\apps\LoginForm\src. jika selesai klik build dan run pada sun java wireless toolkit untuk menjalankan programnya.

nah agan2 sekalian berikut tampilan program aplikasi nilai yang telah kita buat tadi


nah agan2 sekalian inilah program login form sederhana yang telah kita buat ^_^ dan gambar yang paling bawah adalah tampilan jika login kita tidak berhasil .
oke agan2 sekalian mungkin cukup disini dulu ya perjumpaan kita kali ini semoga bermanfaat ^_^


DOWNLOAD SELENGKAPNYA
READ MORE - Aplikasi Login Form dengan java

Aplikasi Nilai Sederhana Dengan Java

Halo agan2 sekalian kali ini saya ingin berbagi ilmu mengenai aplikasi nilai sederhana dengan menggunakan bahasa java yang mana nantinya akan kita jalankan di sun java wireless toolkit. Oke agan2 sekalian kita langsung saja ya ^_^

Langkah pertama
Ketikkan program berikut dan simpan program berikut dengan nama AplikasiNilai.java, nah berikut kode program nya

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class AplikasiNilai extends MIDlet implements CommandListener{
    Command cmdExit,cmdBack,cmdHitung;
    Display dis;
    Form frmInput,frmOutput;
    TextField tfMakul,tfNilai;
    StringItem siMakul,siSKS,siNilai,siGrade,siBobot;
    ChoiceGroup cg1;
   
    public AplikasiNilai(){               
        cmdExit = new Command("Keluar",Command.EXIT,0);
        cmdBack = new Command("OK",Command.SCREEN,0);
        cmdHitung = new Command("Proses",Command.SCREEN,0);
       
        cg1=new ChoiceGroup("SKS",Choice.EXCLUSIVE);
        cg1.append("2 SKS",null);
        cg1.append("4 SKS",null);
        cg1.append("6 SKS",null);
       
        frmInput=new Form("Form Input");
        tfMakul = new TextField("Mata Kuliah","",30,TextField.ANY);
        tfNilai = new TextField("Nilai","",30,TextField.NUMERIC);
        frmInput.append(tfMakul);
        frmInput.append(cg1);
        frmInput.append(tfNilai);
        frmInput.addCommand(cmdExit);
        frmInput.addCommand(cmdHitung);
        frmInput.setCommandListener(this);
       
        frmOutput=new Form("Form Output");
        siMakul=new StringItem("Mata Kuliah","");
        siSKS=new StringItem("SKS","");
        siNilai=new StringItem("Nilai","");
        siGrade=new StringItem("Grade","");
        siBobot=new StringItem("Bobot Nilai",null);
        frmOutput.append(siMakul);
        frmOutput.append(siSKS);
        frmOutput.append(siNilai);
        frmOutput.append(siGrade);
        frmOutput.append(siBobot);
        frmOutput.addCommand(cmdBack);
        frmOutput.setCommandListener(this);
    }
   
    public void startApp(){
        dis = Display.getDisplay(this);
        dis.setCurrent(frmInput);
    }
    public void pauseApp(){
    }
    public void destroyApp(boolean unc){
    }
    public void commandAction(Command c,Displayable d){
        if(c==cmdBack){
            dis.setCurrent(frmInput);
        }else if(c==cmdHitung){
            int nilai,nilaigrade,bobotnilai,sks;
   
            siMakul.setText(tfMakul.getString());
            if(cg1.isSelected(0)){
                siSKS.setText("2 SKS");
                sks=2;
            }else if(cg1.isSelected(1)){
                siSKS.setText("4 SKS");
                sks=4;
            }else{
                siSKS.setText("6 SKS");
                sks=6;
            }
            siNilai.setText(tfNilai.getString());
            nilai=Integer.parseInt(tfNilai.getString());
            if(nilai<=49){
                siGrade.setText("E");
                nilaigrade=0;
            }else if(nilai<=59){
                siGrade.setText("D");
                nilaigrade=1;
            }else if(nilai<=74){
                siGrade.setText("C");
                nilaigrade=2;
            }else if(nilai<=80){
                siGrade.setText("B");
                nilaigrade=3;
            }else{
                siGrade.setText("A");
                nilaigrade=4;
            }
            bobotnilai=sks*nilaigrade;
            siBobot.setText(Integer.toString(bobotnilai));
            dis.setCurrent(frmOutput);
        }else if(c==cmdExit){
            destroyApp(false);
            notifyDestroyed();
        }else{
            dis.setCurrent(frmInput);
        }
    }
}

Langkah kedua
Jika selesai membuat program diatas, sekarang buka sun java wireless toolkit


kemudian pilih new project, dan isikan AplikasiNilai di project name dan MIDlet Class Name kemudian pilih create project. untuk lebih jelasnya perhatikan gambar berikut.


Langkah ketiga
pindahkan program yang telah kita buat ke C:\Users\firman\j2mewtk\2.5.2\apps\AplikasiNilai\src. jika selesai klik build dan run pada sun java wireless toolkit untuk menjalankan programnya.

nah agan2 sekalian berikut tampilan program aplikasi nilai yang telah kita buat tadi

nah agan2 sekalian inilah program aplikasi nilai sederhana yang telah kita buat ^_^.
oke agan2 sekalian mungkin cukup disini dulu ya semoga bermanfaat ^_^


READ MORE - Aplikasi Nilai Sederhana Dengan Java

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

Sabtu, 18 Mei 2013

Program Chat Sederhana Dengan Java

Halo agan2 sekalian akhir nya kita jumpa lagi ya ^_^ setelah beberapa waktu ini kita tidak dapat berjumpa hehe
kali ini agan2 sekalian saya akan mencoba berbagi ilmu mengenai pemrograman dalam bahasa java, dimana kali ini saya akan mencoba mengsharing tentang bagaimana cara membuat program chatting sederhana di dalam pemrograman java. Oke langsung saja ya agan2 sekalian berikut ini merupakan list program nya ^_^

import java.io.*;
import java.net.*;
import java.util.Scanner;

public class chat{
    static void Server() throws IOException {
        String ip;
        BufferedReader cmb=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Masukkan IP Client : ");
        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("Server : ");
        s=stdin.readLine();
        sout.println(s);
        s=sin.readLine();
        System.out.print("Client : "+s+"\n");
        if(s.equalsIgnoreCase("Bye"))
        break;
        }
        stdin.close();
        sout.close();
        client.close();
        sin.close();
    }

    static void Client() throws IOException {
        ServerSocket server=null;
        Socket client=null;
        try{
        server=new ServerSocket(8888);
        System.out.println("Anda telah online sebagai client");
        client=server.accept();
        System.out.println("Anda 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("Server : "+pesan);
        System.out.print("Client : ");
        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("Menu Utama");
    System.out.println("1. Client");
    System.out.println("2. Server");
    System.out.println("3. Keluar");
    System.out.println();
    System.out.println("Masukkan Pilihan Anda : ");
    Scanner input = new Scanner(System.in);
        pil = Integer.parseInt(input.next());
    switch(pil){
        case 1:
        Client();
        break;
        case 2:
        Server();
        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");
        break;
    }
    }
}

nah dari listing program diatas saya akan mencoba menjelaskan sedikit mengenai program tersebut ^_^

dimulai dari bagian yang paling awal ya

import java.io.*;
import java.net.*;
import java.util.Scanner;

pada bagian ini agan2 sekalian menjelaskan bahwa program yang kita gunakan itu merupakan sebuah program yang membutuhkan input dan output data sehingga paket import java.io dalam program ini perlu diaktifkan. paket ini diaktifkan karena program yang kita buat tadi buka merupakan program yang hanya sekedar menampilkan karakter saja melainkan program yang kita buat ini dapat menerima input data melalui perangkat io.

selanjutnya import java.net, karena program chatting ini menggunakan hubungan antara jaringan komunikasi maka kita perlu mengaktifkan paket tersebut sebab dalam program ini kita menggunakan ip address dalam menghubungkan antara server dan client.

kemudian import java.util.scanner, paket ini digunakan karena dalam program yang kita buat ini terdapat tampilan menunya. fungsi dari java util scanner ini yaitu mencocokkan nilai yang kita input kan terhadap menu pilihan. Tanpa adanya paket ini maka perintah untuk membuat menu tidak akan berjalan.

oke kita berlari kepada script selanjutnya

public class chat{
    static void Server() throws IOException {
        String ip;
        BufferedReader cmb=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Masukkan IP Client : ");
        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("Server : ");
        s=stdin.readLine();
        sout.println(s);
        s=sin.readLine();
        System.out.print("Client : "+s+"\n");
        if(s.equalsIgnoreCase("Bye"))
        break;
        }
        stdin.close();
        sout.close();
        client.close();
        sin.close();
    }

    static void Client() throws IOException {
        ServerSocket server=null;
        Socket client=null;
        try{
        server=new ServerSocket(8888);
        System.out.println("Anda telah online sebagai client");
        client=server.accept();
        System.out.println("Anda 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("Server : "+pesan);
        System.out.print("Client : ");
        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("Menu Utama");
    System.out.println("1. Client");
    System.out.println("2. Server");
    System.out.println("3. Keluar");
    System.out.println();
    System.out.println("Masukkan Pilihan Anda : ");
    Scanner input = new Scanner(System.in);
        pil = Integer.parseInt(input.next());
    switch(pil){
        case 1:
        Client();
        break;
        case 2:
        Server();
        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");
        break;
    }
    }
}

nah agan2 sekalian kita langsung masuk ke program intinya ya
disana bisa agan2 sekalian lihat bahwa ada perintah yang bernama "Public Class Chat " perintah ini menyatakan bahwa program yang kita buat ini disimpan dalam class yang bernama chat, jika agan2 sekalian ingin menyimpan program ini dengan nama yang lainnya jangan lupa di public class nya namanya juga harus dirubah sesuai dengan nama yang agan2 gunakan waktu menyimpan program nya.


   public static void main(String args[]) throws IOException {
        int pil;
    System.out.println("Menu Utama");
    System.out.println("1. Client");
    System.out.println("2. Server");
    System.out.println("3. Keluar");
    System.out.println();
    System.out.println("Masukkan Pilihan Anda : ");
    Scanner input = new Scanner(System.in);
        pil = Integer.parseInt(input.next());
    switch(pil){
        case 1:
        Client();
        break;
        case 2:
        Server();
        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");
        break;
    }
    }


nah berikut ini merupakan potongan program yang digunakan sebagai tampilan menu dari program chatting ini. program ini merupakan program utama yang akan dieksekusi karena disana terdapat perintah " public static void main(String args[]) throws IOException { ", setelah perintah ini dieksekusi maka ia akan menampilkan tampilan menu seperti berikut :



nah agan2 sekalian ini lah tampilan menu dari program chatting kita. Perintah "Scanner input = new Scanner(System.in)", perintah tersebut didalam program diatas ini digunakan untuk menscan input an yang dimasukkan melalui media I/O, yang mana akan dicocokkan dengan nilai yang terdapat dalam perintah switch. Disana terlihat bahwa jika nilai inputan bernilai 1 maka program akan mengeksekusi statement client, sedangkan jika inputan bernilai 2 maka program akan mengeksekusi statement server, kemudian jika inputan bernilai 3 maka program akan keluar.

nah berikut ini merupakan potongan program yang terdapat pada bagian statement client,

static void Client() throws IOException {        ServerSocket server=null;
        Socket client=null;
        try{
        server=new ServerSocket(8888);
        System.out.println("Anda telah online sebagai client");
        client=server.accept();
        System.out.println("Anda 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("Server : "+pesan);
        System.out.print("Client : ");
        pesan=stdin.readLine();
        out.println(pesan);
        }
        server.close();
        client.close();
        in.close();
        out.close();
        stdin.close();
    }

nah pada bagian perintah ini "server=new ServerSocket(8888);" perintah ini menyatakan bahwa server berada dalam port 8888, antara port client dan server ini harus sama agar keduanya dapat terhubung.

kemudian pada potongan program berikut ini menjelaskan bahwa,

        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));

program chatting ini tidak dapat melakukan pengiriman pesan secara serentak, karena antara client dan server harus menunggu terlebih dahulu balasan setelah mengirimkan pesan.

kemudian potongan berikut ini menyatakan bahwa

  if(pesan.equalsIgnoreCase("stop"))
        {
        out.println("sampai jumpa");
        break;
        }
        System.out.println("Server : "+pesan);
        System.out.print("Client : ");
        pesan=stdin.readLine();
        out.println(pesan);
        }
        server.close();
        client.close();
        in.close();
        out.close();
        stdin.close();

jika client mengirimkan pesan dengan bertuliskan "stop" maka perintah ini akan membuat client terputus koneksinya dengan server atau dengan kata lain client telah keluar dari percakapan.

selanjutnya berikut ini merupakan potongan program yang terdapat pada statement server

static void Server() throws IOException {
        String ip;
        BufferedReader cmb=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Masukkan IP Client : ");
        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("Server : ");
        s=stdin.readLine();
        sout.println(s);
        s=sin.readLine();
        System.out.print("Client : "+s+"\n");
        if(s.equalsIgnoreCase("Bye"))
        break;
        }
        stdin.close();
        sout.close();
        client.close();
        sin.close();
    }

pada bagian program berikut

        String ip;
        BufferedReader cmb=new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Masukkan IP Client : ");
        ip=cmb.readLine();
        Socket client=null;
        client=new Socket(""+ip,8888);

menjelaskan bahwa pada saat statement server pertama kali dijalankan maka akan diminta untuk memasukkan ip dari client setelah nilai ip di input kan maka akan dihubungkan dengan ip server yang dituju setelah no ip yang dituju di temukan maka akan dicocokkan juga dengan no port nya apakah sama dengan no port yang ada pada client atau tidak, no port disana yaitu "8888" dan nilai nya sama seperti pada no port yang terdapat pada statement client.

kemudian pada potongan program berikut ini

       while (true){
        System.out.print("Server : ");
        s=stdin.readLine();
        sout.println(s);
        s=sin.readLine();
        System.out.print("Client : "+s+"\n");
        if(s.equalsIgnoreCase("Bye"))
        break;
        }
        stdin.close();
        sout.close();
        client.close();
        sin.close();

potongan program menjelaskan bahwa jika server mengirim pesan "Bye" maka itu akan membuat server mengakhiri percakapannya dengan client.

nah agan2 sekalian mungkin cukup sampai disini ya penjelasan nya ^_^ mohon maaf jika terjadi kesalahan ^_^ oke sampai jumpa lagi ya

DOWNLOAD SELENGKAPNYA
READ MORE - Program Chat Sederhana Dengan Java