Senin, 03 Juni 2013

Membangun Aplikasi Chatting Menggunakan Java

halo, pada kesempatan kali ini saya akan berbagi tutorial membuat aplikasi chatting dengan menggunakan bahasa pemrograman java.

bahan :
-1 pc server , 1 pc client
-kabel LAN UTP
-program java

Langkah - Langkah

1. hubungkan PC server dan PC client menggunakan  Kabel UTP

2. Atur IP PC masing2 agar dapat terhubung .
contoh
PC 1 = 192.168.1.1        Netmask : 255.255.255.0
PC 2 = 192.168.1.2        Netmask : 255.255.255.0

3.  ketik program server dibawah ini di notepad pada PC 1 , lalu simpan di D:


import java.io.*;
import java.net.*;
import java.lang.*;
public class server {
public static void main(String[] args) throws IOException {
final int port = 444;
System.out.println("==================================================");
System.out.println("*                 Aplikasi Chatting              *");
System.out.println("==================================================");
System.out.println("*               Create by Rina Triana             *");
System.out.println("*             6TCA Teknik Komputer Polsri         *");
System.out.println("===================================================");
System.out.println("Ketik 'exit' untuk keluar");
System.out.println("   Server Menunggu Koneksi Pada Port = "+port   );


ServerSocket ss = new ServerSocket(port);
Socket clientSocket = ss.accept();
System.out.println("Server Menerima Koneksi Dari "+clientSocket.getInetAddress()+" on port "+clientSocket.getPort());
RecieveFromClientThread recieve = new RecieveFromClientThread(clientSocket);
Thread thread = new Thread(recieve);
thread.start();
SendToClientThread send = new SendToClientThread(clientSocket);
Thread thread2 = new Thread(send);
thread2.start();
}}
class RecieveFromClientThread implements Runnable
{
Socket clientSocket=null;
BufferedReader brBufferedReader = null;

public RecieveFromClientThread(Socket clientSocket)
{
this.clientSocket = clientSocket;
}
public void run() {
try{
brBufferedReader = new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream()));

String messageString;
while(true){
while((messageString = brBufferedReader.readLine())!= null){
if(messageString.equals("EXIT"))
{
break;
}
System.out.println("Pesan Client: " + messageString);
System.out.println("Kirim Pesan Anda: ");
}
this.clientSocket.close();
System.exit(0);
}

}
catch(Exception ex){System.out.println(ex.getMessage());}
}
}
class SendToClientThread implements Runnable
{
PrintWriter pwPrintWriter;
Socket clientSock = null;

public SendToClientThread(Socket clientSock)
{
this.clientSock = clientSock;
}
public void run() {
try{
pwPrintWriter =new PrintWriter(new OutputStreamWriter(this.clientSock.getOutputStream()));

while(true)
{
String msgToClientString = null;
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));

msgToClientString = input.readLine();

pwPrintWriter.println(msgToClientString);
pwPrintWriter.flush();
System.out.println("Kirim Pesan Anda:");

if(msgToClientString.equals("exit"))
break;
}
clientSock.close();}catch(Exception ex){System.out.println(ex.getMessage());}
}
}

4.  Lalu buka CMD pada PC1. pindah ke drive tempat kita menyimpan file java tersebut, yaitu di D:

5. Setelah itu kita akan mengcompile file server tadi. dengan cara ketik:
    javac server.java      enter
    java server server    enter
    maka akan keluar tampilan program server . seperti gambar dibawah ini ,

    Dari gambar di atas dapat dilihat bahwa server mengunngu koneksi dari Client

6. Sekarang kita beralih ke PC 2 atau client.
    ketik program Client dibawah ini di notepad pada PC 2 , lalu simpan di D:

import java.io.*;
import java.net.Socket;
public class client {
  private static Socket sock = null;
public static void main(String[] args)
{
  // The default port.
   int portNumber = 444;
   // The default host.
   String host = "127.0.1.1";

   if (args.length < 2) {
 System.out.println("***********************************************************************");
     System.out.println("*            Jika Melakukan Koneksi Dari Komputer Lain                *");
     System.out.println("*  Gunakan Perintah: java Client \n   *");
 System.out.println("***********************************************************************");

   } else {
     host = args[0];
     portNumber = Integer.valueOf(args[1]).intValue();
    }
try {
      sock = new Socket(host, portNumber);
SendThread sendThread = new SendThread(sock);
Thread thread = new Thread(sendThread);thread.start();
RecieveThread recieveThread = new RecieveThread(sock);
Thread thread2 =new Thread(recieveThread);thread2.start();
} catch (Exception e) {System.out.println(e.getMessage());}
}
}
class RecieveThread implements Runnable
{
Socket sock=null;
BufferedReader recieve=null;

public RecieveThread(Socket sock) {
this.sock = sock;
}//end constructor
public void run() {
try{
recieve = new BufferedReader(new InputStreamReader(this.sock.getInputStream()));//get inputstream
String msgRecieved = null;
while((msgRecieved = recieve.readLine())!= null)
{
System.out.println("Dari Server: " + msgRecieved);
System.out.println("Kirim Pesan Anda:");
}
}catch(Exception e){System.out.println(e.getMessage());}
}//end run
}//end class recievethread
class SendThread implements Runnable
{
Socket sock=null;
PrintWriter print=null;
BufferedReader brinput=null;

public SendThread(Socket sock)
{
this.sock = sock;
}//end constructor
public void run(){
try{
if(sock.isConnected())
{
System.out.println("========================================================================");
System.out.println("         Client connected to "+sock.getInetAddress() + " on port "+sock.getPort());
System.out.println("========================================================================");
System.out.println("*           Ketik 'exit' untuk keluar            *");
System.out.println("========================================================================");
this.print = new PrintWriter(sock.getOutputStream(), true);
while(true){
System.out.println("Kirim Pesan Anda:");
brinput = new BufferedReader(new InputStreamReader(System.in));
String msgtoServerString=null;
msgtoServerString = brinput.readLine();
this.print.println(msgtoServerString);
this.print.flush();

if(msgtoServerString.equals("exit"))
break;
}//end while
sock.close();}}catch(Exception e){System.out.println(e.getMessage());}
}//end run method
}//end class

7.  Lalu buka CMD pada PC2. pindah ke drive tempat kita menyimpan file java tersebut, yaitu di D:


8.  Setelah itu kita akan mengcompile file Client tadi. dengan cara ketik:
    javac<spasi>client.java                         enter
    java<spasi>client<spasi>  ip server       enter
    
Sekarang aplikasi Chatting sudah dapat di jalankan.


Hasil :
Client dapat mengirim beberapa pesan ke server : 
seperti gambar berikut :
                        

Balasan dari Server
untuk mengakhiri aplikasi . ketikkan exit

Itulah tadi, tutorial membangun aplikasi chatting menggunakan java. semoga bermanfaat :)

1 komentar:

  1. Bagus sis, boleh saya coba develop lagi pake JFrame ?
    Saya newbie, masih di bangku sekolah.. hehe.. Kalo berhasil saya kontak lagi.. :) Makasih..

    BalasHapus