Minggu, 14 Juni 2015

Pratikum 10 – Komunikasi Ethernet

Assalamualaikum wr.wb ....

kembali lagi di blog saya mengenai pemograman c# pada Ms. visual c# 2010 kali ini saya akan menshare hasil pratikum saya pada minggu lalu mengenai Komunikasi Ethernet. Baik langsung saja kita mulai 


Komunikasi Ethernet merupakan salah satu jenis komunikasi yang paling sering ditemui saat ini. Penggunaannya juga beragam, bisa digunakan untuk komunikasi antar PC, PC dengan mikrokontroller, PC dengan PLC, PLC dengan PLC dan sebagainya. 
Komunikasi Ethernet dapat menggunakan media berupa kabel maupun nirkabel. Media kabel yang digunakan biasanya berupa kabel UTP yang ditiap ujungnya terdapat konektor RJ45, sedangkan yang nirkabel biasanya memanfaatkan router wireless. Untuk mengenali tujuan pengiriman data, komunikasi ini menggunakan IP address dan port. IP Address dianalogikan sebagai kompleks perumahan, dan port dianalogikan sebagai nomor rumah. Jika IP Address dan port yang digunakan asal-asalan, maka paket data yang dikirimkan juga tidak akan pernah sampai ke device tujuan.
Pada komunikasi Ethernet terdapat 2 jenis protocol pengiriman data, yaitu TCP dan UDP. Kedua protocol tersebut memiliki kelebihan dan kekurangan masing-masing. Pada praktikum kali ini, kita akan membuat sebuah aplikasi chatting teks sederhana menggunakan protocol UDP.
Berikut langkah-langkah program :


1. Tentunya anda harus membuka Microsoft visual C# 2010.
2. Buatlah form desain seperti berikut ini :


3.Buatlah codingan seperti di bawah ini :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace komunikasi_ethernet
{
public partial class Form1 : Form
{
delegate void AddMessage(string Message);
string username;
int port = 11000;
const string broadcastAddress=”192.168.0.255″;
UdpClient receivingClient = new UdpClient(11000);
UdpClient sendingClient;
Thread receivingThread;
public Form1()
{
InitializeComponent();
this.Load += new EventHandler (Form1_Load);
button1.Click += new EventHandler (button1_click);
}
private void Form1_Load(object sender, EventArgs e)
{
button1.Focus();
InitializeSender();
InitializeReceive();
}
private void InitializeSender()
{
sendingClient = new UdpClient(broadcastAddress, port);
sendingClient.EnableBroadcast = true;
}
private void InitializeReceive()
{
ThreadStart start = new ThreadStart(Receiver) ;
receivingThread = new Thread (start) ;
receivingThread.IsBackground=true;
receivingThread.Start();
}
private void button1_click(object sender, EventArgs e)
{
button1.Text = button1.Text.TrimEnd();
if (!string.IsNullOrEmpty(button1.Text))
{
string toSend = “<” + Environment.MachineName + “>:” + button1.Text;
byte[] data = Encoding.ASCII.GetBytes(toSend);
sendingClient.Send(data, data.Length);
button1.Text = “”;
}
button1.Focus();
}
private void Receiver ()
{
IPEndPoint endpoint = new IPEndPoint (IPAddress.Any,port);
AddMessage messagedelegate= MessageReceived;
while (true)
{
byte[] data = receivingClient.Receive(ref endpoint);
string message = Encoding.ASCII.GetString(data);
Invoke(messagedelegate, message);
System.Console.Beep(1500, 300);
}
}
private void MessageReceived(string message)
{
richTextBox1.Text += message + “\n”;
}
}
}
5.lalu jalankan (F5) start debbugging
6.Coba ganti IP address dan port yang digunakan.
7.Compile aplikasi kemudian amati.
terimakasih sudah menyelpatkan diri untuk membaca postingan saya, kritik dan saran anda sangat berguna buat saya dan juga kemajuan blog ini kedepannya
wassalamualaikum wr.wb