Minggu, 14 Juni 2015

Komunikasi Ethernet

>>>Halo!<<<
Salam teman teman sekalian,pada kesempatan kali ini saya akan menunjukkan sebuah aplikasi komunikasi untuk ethernet tapi sebelum itu,apa itu ETHERNET?

1.ETHERNET
Ethernet merupakan jenis perkabelan dan pemrosesan sinyal untuk data jaringan komputer yang dikembangkan oleh Robert Metcalfe dan David Boggs di Xerox Palo Alto Research Center (PARC) pada tahun 1972.
Ethernet merupakan sebuah teknologi yang sudah dikenal oleh masyarakat luas sebagai interface yang digunakan untuk konektivitas perangkat komputer maupun laptop, hampir di setiap jaringan LAN (Local Area Network) di seluruh dunia.
Selain karena harganya terjangkau, teknologi Ethernet sangat mudah diadaptasi oleh perangkat seperti modem, printer, scanner, faksimile, VoIP phone, serta perangkat teknologi informasi lainnya. Sejalan dengan perkembangan teknologi dan senakin meningkatnya kebutuhan masyarakat akan layanan komunikasi data, teknologi Ethernet juga digunakan sebagai interface dari layanan broadband data comunication, yang lebih dikenal dengan nama Metro Ethernet.

Ethernet adalah teknologi jaringan yang terkenal dan banyak digunakan dengan menggunakan topologi BUS. Ethernet ditemukan oleh Xerox Corporation di awal tahun 1970. Digital Equipment Corporation, Intel Corporation, dan Xerox kemudian bekerja sama untuk merancang standar produksi yang secara informal disebut DIX Ethernet untuk inisial dari tiga perusahaan. IEEE sekarang mengontrol standar Ethernet.




Ethernet dikembangkan oleh Robert Metcalfe dan David Boggs di Pusat Riset Palo Alto Research Center (PARC) milik perusahaan XeroxCorporation pada tahun 1972. Perlu diketahui bahwa Bob Metcalfe adalah seorang insinyur lulusan MIT, penyandang gelar Ph.D dari Harvard, pendiri perusahaan 3Com, dan pernah bekerja sebagai editor di majalah InfoWorld. Pada awalnya ethernet dirancang oleh Robert Metcalfe untuk menghubungkan sebuah PC ke sebuah printer laser. Ethernet versi II dikeluarkan pada tahun 1975 dan didesain untuk menyambungkan 100 komputer pada kecepatan 2,94 megabit per detik melalui kabel sepanjang satu kilometer. Versi ini lebih dikenal dengan sebutan DIX, yang merupakan huruf-huruf pertama dari ketiga perusahaan yang mendukung standar ini, yaitu Digital Equipment Coorporation (DEC), Intel dan Xerox yang sampai saat ini masih banyak digunakan pada jaringan. Teknologi ini menggunakan kabel coaxial sebagai media transmisinya. Proses standardisasi teknologi Ethernet disetujui pada tahun 1980 oleh Institute of Electrical and Electronics Engineers (IEEE), dengan sebuah standar yang dikenal dengan Project 802. Standar IEEE ini selanjutnya diadopsi oleh International Organization for Standardization (ISO), sehingga menjadikannya sebuah standar internasional dan mendunia yang ditujukan untuk membentuk jaringan komputer. Karena kesederhanaan dan keandalannya, ethernet pun dapat bertahan hingga saat ini, dan bahkan menjadi arsitektur jaringan yang paling banyak digunakan.

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


2.KOMUNIKASI ETHERNET
Baiklah setelah melihat apa itu ethernet,mari kita lihat pengaplikasian nya pada C#
ini program yang saya buat 
dapat kita lihat bahwa aplikasi yang saya buat lebih seperti aplikasi chatting sederhana,ya tapi memang itulah tujuan nya...

kira kira ini lah kodingan keseluruhan nya


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace WindowsFormsApplication1
{
    public partial class chatform : Form
    {
        delegate void Addmessage(string message);
        //string username;
       // TcpClient topclient = new TcpClient();
        int port = 11000;
        const string broadcastAddress = "192.168.0.255";
        UdpClient receivingclient = new UdpClient(11000);
        UdpClient sendingclient;
        Thread receivingthread;

        public chatform()
        {
            InitializeComponent();
            this.Load += new EventHandler(chatform_Load);
            btnsend.Click += new EventHandler(btnsend_Click);
            //topclient.Connect("192.168.0.255",11000);
        }
       
        private void chatform_Load(object sender, EventArgs e)
        {
            textBoxtbsend.Focus();
            initializesender();
            initializeReceiver();

        }
        private void initializesender()
        {
            sendingclient = new UdpClient(broadcastAddress, port);
            sendingclient.EnableBroadcast = true;
        }

        private void initializeReceiver()
        {
            ThreadStart start = new ThreadStart (Receiver); //</p>
            receivingthread = new Thread(start); //</p>
            receivingthread .IsBackground  = true ;
            receivingthread.Start();

        }

        private void btnsend_Click(object sender, EventArgs e)
        {
            textBoxtbsend.Text = textBoxtbsend.Text.TrimEnd();
            if (!string.IsNullOrEmpty(textBoxtbsend.Text))
            {
                string tosend = "<" + Environment.MachineName + ">:" + textBoxtbsend.Text;
                byte[] data = Encoding.ASCII.GetBytes(tosend);
                sendingclient.Send(data, data.Length);
                textBoxtbsend.Text = "";

            }
            textBoxtbsend.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)
        {
            richTextBoxrtbchat.Text += message + "/n";
        }
    }
}