RSS

Pages

Multi Thread Chat Server dan Client


Multi thread chat server dan client ialah  program yang dapat melakukan chatting lebih dari satu komputer. Dalam pelajaran ini akan melakukan percobaan multi thread chat server dan client menggunakan bahasa java. Pertama jalankan telebih dahulu program server jika sudah berhasil maka jalankan program client, pada program client samakan terlebih dahulu IP dengan server. Jika sudah sama maka kita dapat terhubung dengan semua komputer yang terhubung dengan server.

Program Multi Thread Chat Server :
import java.io.DataInputStream;
import java.io.PrintStream;
import java.io.IOException;
import java.net.Socket;
import java.net.ServerSocket;

/*
 * chat server yang mengantar pesan publik dan private.
 */
public class MultiThreadChatServer {

  // server socket.
  private static ServerSocket serverSocket = null;
  // client socket.
  private static Socket clientSocket = null;

  // chat server dapat menerima sampai maxClientsCount pada koneksi client.
  private static final int maxClientsCount = 10;
  private static final clientThread[] threads = new clientThread[maxClientsCount];

  public static void main(String args[]) {

    // default port number.
    int portNumber = 2222;
    if (args.length < 1) {
      System.out
          .println("Usage: java MultiThreadChatServer <portNumber>\n"
              + "Now using port number=" + portNumber);
    } else {
      portNumber = Integer.valueOf(args[0]).intValue();
    }

    /*
     * buka server socket pada portNumber (default 2222). catatan:kita tidak da
     * pat memilih port dibawah 1023 jika kita bukan administrator (root).
     */
    try {
      serverSocket = new ServerSocket(portNumber);
    } catch (IOException e) {
      System.out.println(e);
    }

    /*
     * buat client socket untuk setiap koneksi dan sesuaikan dengan thread 
     * client baru.
     */
    while (true) {
      try {
        clientSocket = serverSocket.accept();
        int i = 0;
        for (i = 0; i < maxClientsCount; i++) {
          if (threads[i] == null) {
            (threads[i] = new clientThread(clientSocket, threads)).start();
            break;
          }
        }
        if (i == maxClientsCount) {
          PrintStream os = new PrintStream(clientSocket.getOutputStream());
          os.println("Server too busy. Try later.");
          os.close();
          clientSocket.close();
        }
      } catch (IOException e) {
        System.out.println(e);
      }
    }
  }
}

/*
 * Thread chat client . thread client ini membuka input dan output
 * streams untuk hubungan client, menanyakan nama client,menginformasikan semua
 * client yang terhubung ke server bahwa ada client baru yang terhubung ke da-
 * lam chatroom, selama data diterima, data di kembalikan ke semua
 * client. saat client meninggalkan chatroom thread ini juga menginformasikan
 * pada client lainnya.
 */
class clientThread extends Thread {

  private DataInputStream is = null;
  private PrintStream os = null;
  private Socket clientSocket = null;
  private final clientThread[] threads;
  private int maxClientsCount;

  public clientThread(Socket clientSocket, clientThread[] threads) {
    this.clientSocket = clientSocket;
    this.threads = threads;
    maxClientsCount = threads.length;
  }

  public void run() {
    int maxClientsCount = this.maxClientsCount;
    clientThread[] threads = this.threads;

    try {
      /*
       * membuat input dan output streams  untuk client.
       */
      is = new DataInputStream(clientSocket.getInputStream());
      os = new PrintStream(clientSocket.getOutputStream());
      os.println("Enter your name.");
      String name = is.readLine().trim();
      os.println("Hello " + name
          + " to our chat room.\nTo leave enter /quit in a new line");
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] != null && threads[i] != this) {
          threads[i].os.println("*** A new user " + name
              + " entered the chat room !!! ***");
        }
      }
      while (true) {
        String line = is.readLine();
        if (line.startsWith("/quit")) {
          break;
        }
        for (int i = 0; i < maxClientsCount; i++) {
          if (threads[i] != null) {
            threads[i].os.println("<" + name + "&gr; " + line);
          }
        }
      }
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] != null && threads[i] != this) {
          threads[i].os.println("*** The user " + name
              + " is leaving the chat room !!! ***");
        }
      }
      os.println("*** Bye " + name + " ***");

      /*
       * buat variabel thread terakhir menjadi null agar client baru
       * dapat diterima oleh server.
       */
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] == this) {
          threads[i] = null;
        }
      }

      /*
       * tutup output stream, tutup input stream, tutup socket.
       */
      is.close();
      os.close();
      clientSocket.close();
    } catch (IOException e) {
    }
  }
}

Hasil dari program sever di atas adalah :


Program Multi Thread Chat Client :
import java.io.DataInputStream;
import java.io.PrintStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class MultiThreadChatClient implements Runnable {

  //  client socket
  private static Socket clientSocket = null;
  //  output stream
  private static PrintStream os = null;
  //  input stream
  private static DataInputStream is = null;

  private static BufferedReader inputLine = null;
  private static boolean closed = false;

  public static void main(String[] args) {

    //  default port.
    int portNumber = 2222;
    //  default host.
    String host = "192.168.1.1";

    if (args.length < 2) {
      System.out
          .println("Usage: java MultiThreadChatClient <host> <portNumber>\n"
              + "Now using host=" + host + ", portNumber=" + portNumber);
    } else {
      host = args[0];
      portNumber = Integer.valueOf(args[1]).intValue();
    }

    /*
     * Buka sebuah socket pada host dan port. Buka input dan output streams.
     */
    try {
      clientSocket = new Socket(host, portNumber);
      inputLine = new BufferedReader(new InputStreamReader(System.in));
      os = new PrintStream(clientSocket.getOutputStream());
      is = new DataInputStream(clientSocket.getInputStream());
    } catch (UnknownHostException e) {
      System.err.println("Don't know about host " + host);
    } catch (IOException e) {
      System.err.println("Couldn't get I/O for the connection to the host "
          + host);
    }

    /*
     * Jika semua telah diinisialisasi lalu kita ingin menulis data pada socket yang kita buka pada koneksi port number.
     */
    if (clientSocket != null && os != null && is != null) {
      try {

        /* Buat sebuah thread untuk membaca dari server. */
        new Thread(new MultiThreadChatClient()).start();
        while (!closed) {
          os.println(inputLine.readLine().trim());
        }
        /*
         * tutup output stream, tutup input stream, tutup socket.
         */
        os.close();
        is.close();
        clientSocket.close();
      } catch (IOException e) {
        System.err.println("IOException:  " + e);
      }
    }
  }

  /*
   * buat sebuah thread untuk membaca dari server.
   */
  public void run() {
    /*
     * tetap membaca dari socket sampai kita menerima "Bye" dari
     * server. setelah diterima maka break.
     */
    String responseLine;
    try {
      while ((responseLine = is.readLine()) != null) {
        System.out.println(responseLine);
        if (responseLine.indexOf("*** Bye") != -1)
          break;
      }
      closed = true;
    } catch (IOException e) {
      System.err.println("IOException:  " + e);
    }
  }
}

Hasil dari program client di atas seperti gambar di bawah ini :

                                    
Silahkan download materi di bawah ini agar lebih memudahkan untuk mempraktekkan dan memahami materi multi thread chat server dan client.
Download Di Sini

Browser

Kali ini kita akan mempraktekkan program tentang membuat program browser dari bahasa pemrograman java. Program ini akan menghubungkan langsung ke koneksi internet. 

Program Browser :
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;
public class browseresa{
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
("==================================")
;
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.Pencarian video di Youtube *")
;
System.out.println
("6.Cari Aplikasi Playstore *")
;
System.out.println
("7.Cari berita di Sriwijaya Post *")
;
System.out.println
("8.EXIT *")
;
System.out.println
("==================================")
;
System.out.println
("")
;
System.out.println
("Masukkan Pilihan :")
;
pil = masuk.nextInt
(

)
;
if
(pil < 1 || pil > 8)
{
System.out.print
("")
;
System.out.print
("")
;
System.out.println
("Input Salah!!")
;
} else if
(pil==8)
{
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.com/search?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#en/id/"+kata4)

)
;
break;
case 5:
String kata5 = null;
System.out.print
("Masukkan video yang dicari : ")
;
kata5 = input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("http://www.youtube.com/results?search_query="+kata5)

)
;
break;
case 6:
String kata7 = null;
System.out.print
("Masukkan aplikasi yang dicari : ")
;
kata7= input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("https://play.google.com/store/search?q="+kata7)

)
;
break;
case 7:
String kata8 = null;
System.out.print
("Masukkan berita yang dicari : ")
;
kata8= input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("http://palembang.tribunnews.com/search/?q="+kata8)

)
;
break;
}
}
}
catch
(
Exception ex
)
{System.out.println
("Error")
;}
}}


Tampilan dari program di atas :
                           


Dari tampilan di atas kita harus memilih ini menjalankan pilihan nomor berapa. Contohnya seperti dibawah ini:
                             
Dan akan menampilkan perintah yang diinginkan, langsung terkoneksi dengan internet.
                                  
 Praktekkanlah program di bawah ini untuk lebih memahami materinya.
Baca Selengkapnya

Info Server dan Client


Pada materi kali ini kita akan mempraktekkan program server dan client. Pada program ini program server dan client harus di jalankan dan akan ada tampilan pada program client. Jika pada program server sudah dijalankan, maka hasil dari program akan mencul.

Program Sever :
import java.io.*;
import java.net.*;
import java.util.*;

public class InfoServer {
private final int INFO_PORT=50000;
private String datafromClient;

public InfoServer() {
BufferedReader inFromClient;
DataOutputStream outToClient;
Socket serverSocket;
try {

ServerSocket infoServer =
new ServerSocket(INFO_PORT);
System.out.println("Server telah siap...");

while (true){

serverSocket = infoServer.accept();
System.out.println("Ada client" +
"yang terkoneksi!");

inFromClient =
new BufferedReader(
new InputStreamReader(
serverSocket.getInputStream()));
outToClient =
new DataOutputStream(
serverSocket.getOutputStream());
outToClient.writeBytes("InfoServer versi 0.1\n"+
"hanya untuk testing..\n"+
"Silahkan berikan perintah TIME|NET|QUIT\n");

boolean isQUIT = false;
while (!isQUIT) {
datafromClient = inFromClient.readLine();
if (datafromClient.startsWith("TIME")){
outToClient.writeBytes(new
Date().toString() + "\n");
} else if (datafromClient.startsWith("NET")){
outToClient.writeBytes(
InetAddress.getByName("localhost").toString()+
"\n");
} else if (datafromClient.startsWith("QUIT"))
{
isQUIT = true;
}
}
outToClient.close();
inFromClient.close();
serverSocket.close();
System.out.println("Koneksi client tertutup..");
}
}
catch (IOException ioe) {
System.out.print("error:" + ioe);
}
catch (Exception e) {
System.out.print("error:" + e);
}
}

public static void main(String[]args) {
new InfoServer();
}
}

Hasil dari program server adalah :


Program Info Client :

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

public class InfoClient {
private final int INFO_PORT=50000;
private final String TargetHost = "localhost";
private final String QUIT = "QUIT";

public InfoClient() {
try {

BufferedReader inFromUser =
new BufferedReader(new
InputStreamReader(System.in));

Socket clientSocket = new
Socket(TargetHost, INFO_PORT);

DataOutputStream outToServer =
new DataOutputStream(
clientSocket.getOutputStream());

BufferedReader inFromServer =
new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));

System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println("");
boolean isQuit = false;
while (!isQuit) {

System.out.print("Perintah Anda : ");
String cmd = inFromUser.readLine();
cmd = cmd.toUpperCase();
if (cmd.equals(QUIT)) {
isQuit = true;
}
outToServer.writeBytes(cmd + "\n");
String result = inFromServer.readLine();
System.out.println("Dari Server: " + result);
}

outToServer.close();
inFromServer.close();
clientSocket.close();
}

catch (IOException ioe) {
System.out.println("Error:" + ioe);
}

catch (Exception e) {
System.out.println("Error:" + e);
}
}
public static void main(String[]args) {
new InfoClient();
}
}

Maka jalankan Client dan akan muncul tampilan seprti gambar di bawah ini.

                             

 Agar lebih memudah untuk memahami silahkan praktekkan program di bawah ini.
Baca Selengkapnya

Kamis, 26 Juni 2014

Multi Thread Chat Server dan Client

0 komentar

Multi thread chat server dan client ialah  program yang dapat melakukan chatting lebih dari satu komputer. Dalam pelajaran ini akan melakukan percobaan multi thread chat server dan client menggunakan bahasa java. Pertama jalankan telebih dahulu program server jika sudah berhasil maka jalankan program client, pada program client samakan terlebih dahulu IP dengan server. Jika sudah sama maka kita dapat terhubung dengan semua komputer yang terhubung dengan server.

Program Multi Thread Chat Server :
import java.io.DataInputStream;
import java.io.PrintStream;
import java.io.IOException;
import java.net.Socket;
import java.net.ServerSocket;

/*
 * chat server yang mengantar pesan publik dan private.
 */
public class MultiThreadChatServer {

  // server socket.
  private static ServerSocket serverSocket = null;
  // client socket.
  private static Socket clientSocket = null;

  // chat server dapat menerima sampai maxClientsCount pada koneksi client.
  private static final int maxClientsCount = 10;
  private static final clientThread[] threads = new clientThread[maxClientsCount];

  public static void main(String args[]) {

    // default port number.
    int portNumber = 2222;
    if (args.length < 1) {
      System.out
          .println("Usage: java MultiThreadChatServer <portNumber>\n"
              + "Now using port number=" + portNumber);
    } else {
      portNumber = Integer.valueOf(args[0]).intValue();
    }

    /*
     * buka server socket pada portNumber (default 2222). catatan:kita tidak da
     * pat memilih port dibawah 1023 jika kita bukan administrator (root).
     */
    try {
      serverSocket = new ServerSocket(portNumber);
    } catch (IOException e) {
      System.out.println(e);
    }

    /*
     * buat client socket untuk setiap koneksi dan sesuaikan dengan thread 
     * client baru.
     */
    while (true) {
      try {
        clientSocket = serverSocket.accept();
        int i = 0;
        for (i = 0; i < maxClientsCount; i++) {
          if (threads[i] == null) {
            (threads[i] = new clientThread(clientSocket, threads)).start();
            break;
          }
        }
        if (i == maxClientsCount) {
          PrintStream os = new PrintStream(clientSocket.getOutputStream());
          os.println("Server too busy. Try later.");
          os.close();
          clientSocket.close();
        }
      } catch (IOException e) {
        System.out.println(e);
      }
    }
  }
}

/*
 * Thread chat client . thread client ini membuka input dan output
 * streams untuk hubungan client, menanyakan nama client,menginformasikan semua
 * client yang terhubung ke server bahwa ada client baru yang terhubung ke da-
 * lam chatroom, selama data diterima, data di kembalikan ke semua
 * client. saat client meninggalkan chatroom thread ini juga menginformasikan
 * pada client lainnya.
 */
class clientThread extends Thread {

  private DataInputStream is = null;
  private PrintStream os = null;
  private Socket clientSocket = null;
  private final clientThread[] threads;
  private int maxClientsCount;

  public clientThread(Socket clientSocket, clientThread[] threads) {
    this.clientSocket = clientSocket;
    this.threads = threads;
    maxClientsCount = threads.length;
  }

  public void run() {
    int maxClientsCount = this.maxClientsCount;
    clientThread[] threads = this.threads;

    try {
      /*
       * membuat input dan output streams  untuk client.
       */
      is = new DataInputStream(clientSocket.getInputStream());
      os = new PrintStream(clientSocket.getOutputStream());
      os.println("Enter your name.");
      String name = is.readLine().trim();
      os.println("Hello " + name
          + " to our chat room.\nTo leave enter /quit in a new line");
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] != null && threads[i] != this) {
          threads[i].os.println("*** A new user " + name
              + " entered the chat room !!! ***");
        }
      }
      while (true) {
        String line = is.readLine();
        if (line.startsWith("/quit")) {
          break;
        }
        for (int i = 0; i < maxClientsCount; i++) {
          if (threads[i] != null) {
            threads[i].os.println("<" + name + "&gr; " + line);
          }
        }
      }
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] != null && threads[i] != this) {
          threads[i].os.println("*** The user " + name
              + " is leaving the chat room !!! ***");
        }
      }
      os.println("*** Bye " + name + " ***");

      /*
       * buat variabel thread terakhir menjadi null agar client baru
       * dapat diterima oleh server.
       */
      for (int i = 0; i < maxClientsCount; i++) {
        if (threads[i] == this) {
          threads[i] = null;
        }
      }

      /*
       * tutup output stream, tutup input stream, tutup socket.
       */
      is.close();
      os.close();
      clientSocket.close();
    } catch (IOException e) {
    }
  }
}

Hasil dari program sever di atas adalah :


Program Multi Thread Chat Client :
import java.io.DataInputStream;
import java.io.PrintStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class MultiThreadChatClient implements Runnable {

  //  client socket
  private static Socket clientSocket = null;
  //  output stream
  private static PrintStream os = null;
  //  input stream
  private static DataInputStream is = null;

  private static BufferedReader inputLine = null;
  private static boolean closed = false;

  public static void main(String[] args) {

    //  default port.
    int portNumber = 2222;
    //  default host.
    String host = "192.168.1.1";

    if (args.length < 2) {
      System.out
          .println("Usage: java MultiThreadChatClient <host> <portNumber>\n"
              + "Now using host=" + host + ", portNumber=" + portNumber);
    } else {
      host = args[0];
      portNumber = Integer.valueOf(args[1]).intValue();
    }

    /*
     * Buka sebuah socket pada host dan port. Buka input dan output streams.
     */
    try {
      clientSocket = new Socket(host, portNumber);
      inputLine = new BufferedReader(new InputStreamReader(System.in));
      os = new PrintStream(clientSocket.getOutputStream());
      is = new DataInputStream(clientSocket.getInputStream());
    } catch (UnknownHostException e) {
      System.err.println("Don't know about host " + host);
    } catch (IOException e) {
      System.err.println("Couldn't get I/O for the connection to the host "
          + host);
    }

    /*
     * Jika semua telah diinisialisasi lalu kita ingin menulis data pada socket yang kita buka pada koneksi port number.
     */
    if (clientSocket != null && os != null && is != null) {
      try {

        /* Buat sebuah thread untuk membaca dari server. */
        new Thread(new MultiThreadChatClient()).start();
        while (!closed) {
          os.println(inputLine.readLine().trim());
        }
        /*
         * tutup output stream, tutup input stream, tutup socket.
         */
        os.close();
        is.close();
        clientSocket.close();
      } catch (IOException e) {
        System.err.println("IOException:  " + e);
      }
    }
  }

  /*
   * buat sebuah thread untuk membaca dari server.
   */
  public void run() {
    /*
     * tetap membaca dari socket sampai kita menerima "Bye" dari
     * server. setelah diterima maka break.
     */
    String responseLine;
    try {
      while ((responseLine = is.readLine()) != null) {
        System.out.println(responseLine);
        if (responseLine.indexOf("*** Bye") != -1)
          break;
      }
      closed = true;
    } catch (IOException e) {
      System.err.println("IOException:  " + e);
    }
  }
}

Hasil dari program client di atas seperti gambar di bawah ini :

                                    
Silahkan download materi di bawah ini agar lebih memudahkan untuk mempraktekkan dan memahami materi multi thread chat server dan client.
Download Di Sini

Senin, 23 Juni 2014

Browser

0 komentar
Kali ini kita akan mempraktekkan program tentang membuat program browser dari bahasa pemrograman java. Program ini akan menghubungkan langsung ke koneksi internet. 

Program Browser :
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.Scanner;
public class browseresa{
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
("==================================")
;
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.Pencarian video di Youtube *")
;
System.out.println
("6.Cari Aplikasi Playstore *")
;
System.out.println
("7.Cari berita di Sriwijaya Post *")
;
System.out.println
("8.EXIT *")
;
System.out.println
("==================================")
;
System.out.println
("")
;
System.out.println
("Masukkan Pilihan :")
;
pil = masuk.nextInt
(

)
;
if
(pil < 1 || pil > 8)
{
System.out.print
("")
;
System.out.print
("")
;
System.out.println
("Input Salah!!")
;
} else if
(pil==8)
{
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.com/search?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#en/id/"+kata4)

)
;
break;
case 5:
String kata5 = null;
System.out.print
("Masukkan video yang dicari : ")
;
kata5 = input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("http://www.youtube.com/results?search_query="+kata5)

)
;
break;
case 6:
String kata7 = null;
System.out.print
("Masukkan aplikasi yang dicari : ")
;
kata7= input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("https://play.google.com/store/search?q="+kata7)

)
;
break;
case 7:
String kata8 = null;
System.out.print
("Masukkan berita yang dicari : ")
;
kata8= input.readLine
(

)
;
java.awt.Desktop.getDesktop
(

)
.browse
(
java.net.URI.create
("http://palembang.tribunnews.com/search/?q="+kata8)

)
;
break;
}
}
}
catch
(
Exception ex
)
{System.out.println
("Error")
;}
}}


Tampilan dari program di atas :
                           


Dari tampilan di atas kita harus memilih ini menjalankan pilihan nomor berapa. Contohnya seperti dibawah ini:
                             
Dan akan menampilkan perintah yang diinginkan, langsung terkoneksi dengan internet.
                                  
 Praktekkanlah program di bawah ini untuk lebih memahami materinya.
Baca Selengkapnya

Sabtu, 21 Juni 2014

Info Server dan Client

0 komentar

Pada materi kali ini kita akan mempraktekkan program server dan client. Pada program ini program server dan client harus di jalankan dan akan ada tampilan pada program client. Jika pada program server sudah dijalankan, maka hasil dari program akan mencul.

Program Sever :
import java.io.*;
import java.net.*;
import java.util.*;

public class InfoServer {
private final int INFO_PORT=50000;
private String datafromClient;

public InfoServer() {
BufferedReader inFromClient;
DataOutputStream outToClient;
Socket serverSocket;
try {

ServerSocket infoServer =
new ServerSocket(INFO_PORT);
System.out.println("Server telah siap...");

while (true){

serverSocket = infoServer.accept();
System.out.println("Ada client" +
"yang terkoneksi!");

inFromClient =
new BufferedReader(
new InputStreamReader(
serverSocket.getInputStream()));
outToClient =
new DataOutputStream(
serverSocket.getOutputStream());
outToClient.writeBytes("InfoServer versi 0.1\n"+
"hanya untuk testing..\n"+
"Silahkan berikan perintah TIME|NET|QUIT\n");

boolean isQUIT = false;
while (!isQUIT) {
datafromClient = inFromClient.readLine();
if (datafromClient.startsWith("TIME")){
outToClient.writeBytes(new
Date().toString() + "\n");
} else if (datafromClient.startsWith("NET")){
outToClient.writeBytes(
InetAddress.getByName("localhost").toString()+
"\n");
} else if (datafromClient.startsWith("QUIT"))
{
isQUIT = true;
}
}
outToClient.close();
inFromClient.close();
serverSocket.close();
System.out.println("Koneksi client tertutup..");
}
}
catch (IOException ioe) {
System.out.print("error:" + ioe);
}
catch (Exception e) {
System.out.print("error:" + e);
}
}

public static void main(String[]args) {
new InfoServer();
}
}

Hasil dari program server adalah :


Program Info Client :

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

public class InfoClient {
private final int INFO_PORT=50000;
private final String TargetHost = "localhost";
private final String QUIT = "QUIT";

public InfoClient() {
try {

BufferedReader inFromUser =
new BufferedReader(new
InputStreamReader(System.in));

Socket clientSocket = new
Socket(TargetHost, INFO_PORT);

DataOutputStream outToServer =
new DataOutputStream(
clientSocket.getOutputStream());

BufferedReader inFromServer =
new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));

System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println(inFromServer.readLine());
System.out.println("");
boolean isQuit = false;
while (!isQuit) {

System.out.print("Perintah Anda : ");
String cmd = inFromUser.readLine();
cmd = cmd.toUpperCase();
if (cmd.equals(QUIT)) {
isQuit = true;
}
outToServer.writeBytes(cmd + "\n");
String result = inFromServer.readLine();
System.out.println("Dari Server: " + result);
}

outToServer.close();
inFromServer.close();
clientSocket.close();
}

catch (IOException ioe) {
System.out.println("Error:" + ioe);
}

catch (Exception e) {
System.out.println("Error:" + e);
}
}
public static void main(String[]args) {
new InfoClient();
}
}

Maka jalankan Client dan akan muncul tampilan seprti gambar di bawah ini.

                             

 Agar lebih memudah untuk memahami silahkan praktekkan program di bawah ini.
Baca Selengkapnya