Laporan CSAD.doc

6
KOMUNIKASI DUA ARAH ANTARA SERVER DAN CLIENT BERBASIS JAVA Use Case Diagram Diagram Kelas 1 1 Nama Kelas ChatServer.java - ss : ServerSocket - sk: Socket - cin: BufferedReader - cout: PrintStream - stdin: BufferedReader - void() : main ChatClient.java - sk: Socket - sin: BufferedReader - sout: PrintStream - stdin: BufferedReader - void() : main

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