Laporan CSAD.doc
-
Upload
mandra-supraba-widya -
Category
Documents
-
view
59 -
download
0
Transcript of Laporan CSAD.doc
KOMUNIKASI DUA ARAH ANTARA SERVER DAN CLIENT BERBASIS JAVA
Use Case Diagram
Diagram Kelas
ChatServer.java
ss : ServerSocket
sk: Socket
cin: BufferedReader
cout: PrintStream
stdin: BufferedReader
void() : main
1
ChatClient.java
sk: Socket
sin: BufferedReader
sout: PrintStream
stdin: BufferedReader
void() : main
1
Nama KelasChatClient merupakan kelas yang harus terkoneksi dahulu ke server, setelah itu chatting bisa dilakukan dengan server
ChatServer merupakan kelas yang menyediakan layanan untuk client agar bisa terkoneksi dan bisa melakukan percakapan secara dua arah client dan server secara bergantianAktor
Serverbertugas menyediakan layanan koneksi untuk client atau membuka port untuk client agar bisa terkoneksi dan bisa melakukan percakapan, memutuskan koneksi ketika client mengirim kata stop
Client bertugas meminta koneksi ke server dan mengirim obrolan untuk pertama kali ke server, dari situ percakapan bisa dilakukan secara dua arah dan baergantian satu sama lainnya. Mengirimkan kata stop untuk memutus koneksi dengan server
Use Case
Mengirim pesan : dilakukan untuk mengirim pesan agar bisa melakukan percakapanMembalas pesan : dilakukan untuk membalas pesan agar bisa melakukan percakapan
Kelebihan dan kekurangan program
Kelebihan program ChatClient dan ChatServer mempunyai kelebihan yaitu dapat saling berkomunikasi atau melakukan percakapan secara dua arah antara client dan server
Kekurangan program ChatClient dan ChatServer mempunyai kekurangan yaitu percakapan yang dilakukan tidak bisa berulang-ulang dilakukan oleh satu pihak terlebih dahulu tetapi harus bergantian setelah client selesai maka server harus mengisi percakapan dan sebaliknya. Bila client atau server ingin melakukan banyak percakapan tidak bisa dilakukan setelah menekan tombol enter. Server tidak bisa memutuskan koneksi ke client, harus client terlebih dahulu yang memutuskanPengembangan kedepannya yaitu penulis ingin agar program ini bisa berjalan tidak hanya di console tetapi bisa dibuat dalam bentuk aplikasi dan program ini bisa diperbaiki agar percakapan antara client dan server tidak terbatas.
Source Code
ChatServer.java
import java.net.*;
import java.io.*;
public class chatserver{
public static void main(String args[]) throws Exception{
ServerSocket ss=new ServerSocket(2000);
System.out.println("\n =================================================================");
System.out.println("
SELAMAT DATANG DI PROGRAM CHATTING KAMI");
System.out.println("\n -----------------------------------------------------------------");
System.out.println(" \n
Mandra SW \n
Siti Nurfauziyah \n
Dian Asihing \n
Christoper Akbar ");
System.out.println("\n =================================================================");
System.out.println("\n
Menunggu Client mengirim pesan pertama ");
System.out.println(" Client yang harus pertama kali mengirim pesan");
System.out.println(" \n * chat dilakukan 2 arah, server klien, & bergantian kirim pesan.");
System.out.println("\n =================================================================");
Socket sk=ss.accept();
System.out.println("**Klien telah masuk. happy chat! untuk berhenti, ketik stop pada Client.\n");
System.out.println("\n =================================================================");
BufferedReader cin=new BufferedReader(new InputStreamReader(sk.getInputStream()));
PrintStream cout=new PrintStream(sk.getOutputStream());
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
String s;
while ( true ){
s=cin.readLine();
if (s.equalsIgnoreCase("stop")){
cout.println("Bye");
break;
}
System. out.print("Client : "+s+"\n");
System.out.print("Server : ");
s=stdin.readLine();
cout.println(s);
}
ss.close();
sk.close();
cin.close();
cout.close();
stdin.close();
}
}ChatClient.java
import java.net.*;
import java.io.*;
public class chatclient{
public static void main(String args[]) throws Exception{
Socket sk=new Socket("localhost",2000);
BufferedReader sin=new BufferedReader(new InputStreamReader(sk.getInputStream()));// untuk mendapatkan comment dari server
PrintStream sout=new PrintStream(sk.getOutputStream());// untuk proses mengirim ke luar atau server
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));// untuk proses input stream dari client keluar
String s;
while ( true ){
System.out.print("My Massage : ");
s=stdin.readLine();
sout.println(s);
s=sin.readLine();
System.out.print("Server : "+s+"\n");
if ( s.equalsIgnoreCase("Bye") )
break;
}
//untuk menutup sesion socket sehingga pesan kita akan tampil ke interface kita.
sk.close();
sin.close();
sout.close();
stdin.close();
}
} Hasil dari implementasi program chatting kami :
Untuk menu server
Untuk Menu Client