Modul praktikum ini akan dilakukan pembuatan aplikasi chat (pengiriman dan penerimaan pesan
teks) sebagai contoh sederhana dalam pengiriman paket data yang dilakukan oleh computer client dan
computer server yang terhubung dalam sebuah jaringan. Penghubung antara computer client dan
computer server menggunakan IP dan nomor port. Pada praktikum ini menggunakan Bahasa C# melalui
.Net pada Visual Studio 2019. Ikuti Langkah-langkah berikut untuk memulai pembuatan aplikasi.
8. Buka jendela kode program (View Code) dengan cara menekan tombol F7, atau klik kanan pilih
View Code
9. Tambahkan kode berikut untuk mendeklarasikan Pustaka .Net, Socket dan IO dan pada bagian
deklarasi Pustaka:
using System.Net;
using System.Net.Sockets;
using System.IO;
10. Tambahkan kode berikut untuk mendeklarasikan variable pada Class Form
private TcpClient client;
public StreamReader STR;
public StreamWriter STW;
public string recieve;
public string TextToSend;
11. Tambahkan kode berikut pada procedure Form untuk mendapatkan IP Address Local computer,
letakkan tepat dibawah baris InitializeComponent();
13. Tambahkan kode berikut pada tombol ConnectButton untuk memulai koneksi dari Client Ke
Server
private void ConnectButton_Click(object sender, EventArgs e)
{
client = new TcpClient();
IPEndPoint iPEnd = new IPEndPoint(IPAddress.Parse(ClientIPtextBox.Text),
int.Parse(ClientPorttextBox.Text));
try
{
client.Connect(iPEnd);
if (client.Connected)
{
ChatScreentextBox.AppendText("Koneksi ke Server" + "\r\n");
STR = new StreamReader(client.GetStream());
STW = new StreamWriter(client.GetStream());
STW.AutoFlush = true;
backgroundWorker1.RunWorkerAsync();
backgroundWorker2.WorkerSupportsCancellation = true;
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
14. Tambahkan kode berikut pada backgroundWorker1_DoWork untuk mendeteksi pesan masuk pada
sisi Server
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
while (client.Connected)
{
try
{
recieve = STR.ReadLine();
this.ChatScreentextBox.Invoke(new MethodInvoker(delegate()
{
ChatScreentextBox.AppendText("Dia: " + recieve + "\r\n");
}));
recieve = "";
}
catch(Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
15. Tambahkan kode berikut pada backgroundWorker2_DoWork
private void backgroundWorker2_DoWork(object sender, DoWorkEventArgs e)
{
if (client.Connected)
{
STW.WriteLine (TextToSend);
this.ChatScreentextBox.Invoke(new MethodInvoker(delegate ()
{
ChatScreentextBox.AppendText("Saya: " + TextToSend + "\r\n");
}));
}
else
{
MessageBox.Show("Sending Failed.!");
}
backgroundWorker2.CancelAsync();
}
Gambar 6: Tampilan simulasi kedua aplikasi dari sisi server maupun client
Pada jendela Clien isikan IP Addres Server dan PORT (sesuai yang tertera pada computer
masing-masing), koneksi yang terbuka pada server yaitu port 123.
Tekan tombol CONNECT untuk memulai koneksi ke server
19. Lakukankan pengiriman pesan yang dimulai dari sisi Server atau client, Hasilnya akan terlihat
seperti gambar berikut:
Hasil Simulasi Aplikasi Chat.
** SELAMAT MENCOBA**