assalamu'alaikum warahmatullahi wabarakaatu....!!
Baikalah teman-teman sekalian. Kali ini 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. berikut ini
merupakan list programnya
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
import java.io.*;
import java.net.*;
import java.util.Scanner;
pada bagian ini menjelaskan bahwa program yang kita
gunakan itu merupakan sebuah program yang membutuhkan input dan output
data sehingga paket import java. I/O 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 I/O.
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 teman-teman sekalian kita langsung masuk ke program intinya ya
disana bisa teman-teman 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 teman-teman sekalian ingin
menyimpan program ini dengan nama yang lainnya jangan lupa di public
class nya namanya juga harus dirubah sesuai dengan nama yang teman
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;
}
}
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 teman-teman 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.
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();
}
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.
Teman-teman sekalian, mungkin cukup sampai disini dulu ya penjelasan dari saya.
mohon maaf jika terjadi kesalahan sampai jumpa dilain kesempata. akhir kata wassalamu'alaikum warahmatullahi wabarakaatu..
Donwload file