Minggu, 14 Juni 2015

Tutorial KOMUNIKASI ETHERNET

Dasar Teori
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.

baiklah pertama-tama , kita membuka ms.c# seperti biasanya . lalu buat design seperti disamping :

lalu buatlah kodingnya seperti dibawah ini :
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";
        }
    }
}


Rabu, 20 Mei 2015

PENGENDALI (KONTROL LED) C#

ASSALAMUALAIKUM WR.WB

oke , pada kesempatan kali ini kita akan membahas tentang program c komunikasi , yaitu dimana kita akan mengontrol 3 led. yaitu kita akan menghidupkan led sesuai dengan kode atau kodingan yang telah ditentukan. sebelumnya jangan lupa untuk mendownload hterm dan virtual port . itu berfungsi untuk menghubungkan port-port yang ada.

pertama kita membuat designnya terlebih dahulu.
jangan lupa tambahkan serial port dan timer.

lalu buatlah kodingnya:









Lalu jangan lupa buka virtual ports , dan pairs com yang akan digunakan . contohnya com1 dan com2:

lalu runningkan yang berada pada microsoft visual studio    c# express :
ports pilih com1 


lalu buka heterm , setting ports com2 dan baud 9600 dan baud pada serial port 9600:



Sabtu, 02 Mei 2015

Pemograman Membuat Game TIC TAC TOE

Assalamualikum wr.wb
Dalam kesempatan kali ini kita akan membuat sebuah game sederhana, mungkin bagi pembaca blog ini sudah tidak asing lagi yang namanya game Tic Tac Toe. Nah bagi temen temen yang belum tau , yuuuuuk liat gimana sh gamenya :)
oke, game ini kita buat menggunakan visual studio 2010.

Untuk yang pertama ini adalah tictactoe yang easy :
ini designnys
Ini programnya , namun lanjutkan sendiri samapai private void picturebox 9 karna isinya sama saja:



Nah untuk cara membuka visual studio 2010 sudah saya jelaskan pada pertemuan yang kemarin , nah sekarang langsung masuk yuuk ke designnya :)

Nah yang diatas itu adalah design dari saya , yang kotak tersusun 9 itu adalah picture box , reset:exit:x:o adalah button , textbox dan label yang diambil dari toolbox , kemudian diedit menggunakan properties windows.



Nah kalau yang ini adalah program nya 


nah ini adalah proses untuk mempersulit pemain dalam bermain tictacte , namun ini hanya sampai masukan 3 , kalian lanjutkan sampai masukan 9
yang ini untuk progran didalan even click picturebox 1-9

kalau yang ini untuk button x dan o
Kalau yang ini untuk button reset dan kemungkinan menang 


Nah ini hasil runningnya :)

Jika ada yang masih bingun dengan program diatas maka dapat melihat vidio tutorialnya : http://youtu.be/-cG-8LvmyDQ

Kamis, 12 Maret 2015

PRAKTIKUM 6 STRING dan PARSING DATA

ASSALAMUALAIKUM WR.WB

alhamdulillah kita masih bisa untuk shareing pembelajaran , tentunya pemograman lanjut menggunakan visual c# 2010 . Nah pastinya temen-temen penasarankan sama tema kita pada kali ini. Oke tema kita yaitu STRING !
temen-temen ada yang tau string nggak ???
aduuuuh kalo belum tau cari tau dulu dehhh :D

Pada PRAKTIKUM 6 kali ini ,kita akan belajar tentang to lower , to upper , join , split, trim , indext of string int , indext of string , last of string int , last of string dan lain-lain.
yuuuuuuuuuuuuuuuuuuuuuk mari ,kita langsung bahas cara-cara nya :
untuk cara membuka visual c# saya tidak akan menjelaskannya , buang-buang waktu cin
TIME is money :D
Ini adalah Design form :

Ini adalah KODDINGAN saya :
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;

namespace PR6_string
{
    public partial class Form1 : Form
    {
        string[] hasil;
        string str;
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            str = textBox1.Text;
            hasil = textBox1.Text.Split(' ');
            //inisial insert
            textBox2.Text=textBox1.Text.Insert(9,"!");
            //inisial remove
             textBox14.Text =str.Remove(2,1);
            //inisial ToLower
            textBox5.Text = str.ToLower();
            //inisial To Upper
            textBox4.Text =str.ToUpper();
            //inisial index of sting
            textBox8.Text=Convert.ToString(str.IndexOf("ring"));
            //inisial indexof (string,int)
            textBox11.Text = Convert.ToString(str.IndexOf("ring",5));
            //inisial last index
            textBox13.Text = Convert.ToString(str.LastIndexOf("ring"));
            //inisial last index int
            textBox9.Text = Convert.ToString(str.LastIndexOf("ring",5));
      
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //inisial join
            textBox10.Text = string.Join(",", hasil);
            //inisial split
            textBox7.Text = hasil[0];
            textBox12.Text = hasil[1];
            //inisial substring
            textBox6.Text = str.Substring(0, 2);
            //inisial trim

            textBox3.Text = str.Trim();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox4.Clear();
            textBox5.Clear();
            textBox6.Clear();
            textBox7.Clear();
            textBox8.Clear();
            textBox9.Clear();
            textBox10.Clear();
            textBox11.Clear();
            textBox12.Clear();
            textBox13.Clear();
            textBox14.Clear();
        }
    }
}


Ini adalah RUNNINGAAN nya ya :)






PARSING DATA 
Ini adalah PARSING DATA . Misalnya awal dari protokol ditandai dengan karakter "abcde", akhir dari
satu paket protokol ditandai dengan flag "edcba". Kemudian 2 byte
berikutnya menunjukkan source port, diikuti 2 byte destination address.
Lalu HLEN sebanyak 5 byte yang menunjukkan banyaknya data.
Setelah itu data sebanyak HLEN. Terdapat trailer 4 byte, sebelum
ditutup CRC 4 byte.
Buat program untuk memisah-misahkan satu paket protokol. Misalnya
data yang diterima dari internet sebagai berikut:


  *&(ikh)(abcde304900015halo apa kabar?okeh5986edcbaio test*0iou


Program anda harus bisa mengambil satu paket protokol yang ditandai
dengan flag awal dan akhir protokol. Kemudian memisah-misahkan
source port, destination port, data dan trailer. 
Ini adalah desaign dari saya :


Nah kalau ini KODDINGAN saya :
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace pr6
{
    public partial class Form1 : Form
    {
        //private string str = "*&(ikh)(abcde304900015halo apa kabar?okeh5986edcbaio test*0iou";
        string[] hasil;
        string str;
        private int dat = 15;
        private int source = 2;
        private int trailer = 4;
        private int c = 4;
        private int hl = 5;

        public Form1()
        {
            InitializeComponent();
            textBox1.Text = str;
        }
                void kita()
        {
            str = textBox1.Text;
            hasil = textBox1.Text.Split(' '); 
            string dt = str.Substring(22, dat);
            string source_port = str.Substring(13, source);
            string destination_port = str.Substring(15, source);

            string trail = str.Substring(37, trailer);
            string cr = str.Substring(41, c);
            string hln = str.Substring(17, hl);

            dts.Text = dt;
            sps.Text = source_port;
            dps.Text = destination_port;
            trs.Text = trail;
            crcc.Text = cr;
            hlen.Text = hln;
        }

        private void button1_Click(object sender, EventArgs e)
        {
                kita();

       
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            dts.Clear();
            sps.Clear();
            dps.Clear();
            trs.Clear();
            crcc.Clear();
            hlen.Clear();
        }
    }
}


Nahini dia runningannya :)


PRAKTIKUM Minggu 5 dan PAINT

ASSALAMU'ALAIKUM WR.WB
alhamdulillah kita sampai juga pada praktikum 5 , praktikum yang ke-lima ini kita akan berkaitan dengan paint. pastinya temen-temen semua sudah tau dan sudah mempunyai peint sendiri di PC masing-masing.
Nah temen-temen pernah kefikiran gak sih untuk membuat aplikasi paint sesuai dengan keinginan temen-temen ? hahaha pastinya KEPENGEN kaaaaaann ???
OKE tanpa panjang lebar kita akan desain paint dengan kreativitas kita sendiri , CEKIDOTTT !

and after that , saya mau nunjukin dulu nih praktikum ke 5 saya. Ini juga bisa loh buat temen-temen pelajari sebagai dasar membuat paint, agar enggak kesusahan nantinya . Maklum semakin Bagus paint-nya semakin ribet juga Koddingnya :D

pertama , buka microsoft visual studio . Lalu pilih NEWPROJECT, kemudian pilih windows form application dan ubah nama file sesuai dengan yang diinginkan :


kedua , kalau sudah muncul  form design kayak gini :

ketiga untuk nambahin koddingannya , kita tinggal klik 2 kali dikolom form design sampe muncul form1.cs :
1. Tambahkan dulu deklarasi object graphis , yang diletakkan sebagai global

2. Lalu untuk menambahkan event , klik satu kali pada form design, lalu klik ikon petir dan klik dua kali pada mouse down , mouse move dan mouse up.

3. Ini adalah koddingan saya :)

4. Kalau yang ini hasil runningannya :)




Dan pada akhirnya kita akan masuk kebagian intiiiiiiii , yaitu kita buat paint :))
Hehe ikuti langkahnya baik-baik ya , HATI-HATI ntar ada eror lagi :D just kidding !
untuk langkah-langkah awal seperti membukan MS.VISUAL STUDIO gak usah dijelasin lagi kan dah pada tau tuh
setelah FORM design kebuka ,kita harus edit-edit dulu nih biar cakep paintnya hhe

ini nih cara untuk mengedit form designnya :

dan ini untuk koddingannya :

alhamdulillah ini hasil RUNNINGnya , happy trying :)



jika ada yang kurang mengerti atau ada yag mau ditanyakan tentang program tersebut dapat bertanya pada kolom komentar dan ini adalah vidio proses pembutannya :)
https://www.youtube.com/watch?v=BNdKR0okdXQ&feature=youtu.be


Praktikum 4 Dengan ARRAY

Assalamualaikum Wr.Wb ^_^
Apa Kabar temam-teman semua , Pada kesempata kali ini kita akan membahas pemograman visual studio menggunakan array. Mungkin yang sudah pernah belajar menggunakan C++ akan mengerti bagaimana prinsip kerja dari array tersebut.  nah ini adalah praktikum keempat saya :

Seperti biasa pertama-tama kita buka software Visual Studionya dan pilih new project :

Kemudian pilihlah microsoft windows form application dan ubahlah nama filenya :

Lalu akan muncul Form design yang kosong dan yang dibawah ini adalah design yang sudah saya buat :

untuk mengambil checkBox,label, button dapat diambil di toolbox . sementara untuk mengeditnya dapat menggunakan propertis:
Setelah itu untuk kodding klik 2 kali pada button hitung ,kemudian dapat menambahkan :
1.Buat variabel global untuk array.

    CheckBox[] pilihan = new CheckBox[5]; 

2.Inisialisasi array checkbox.

            pilihan[0] = checkBox1;
            pilihan[1] = checkBox2;
            pilihan[2] = checkBox3; 
            pilihan[3] = checkBox4;
            pilihan[4] = checkBox5;
3. Ini untuk button “hitung”, buat programnya untuk melakukan perhitungan total. 
            
   int harga = 5000; 
            int total = 0;
            for(int i=0;i<pilihan.Length;i++) {
                if(pilihan[i].Checked) {
                    total += harga;
                }
                harga += 1000; 
            }
            textBox1.Text = total.ToString(); 

Dan ini adalah kodding saya pada visual studio :

Lalu untuk menjalankan program dapat klik tombol berikut :

Inilah hasil RUNNING nyaaaaaa , yeeeeeeeeeeeeeeeeeeeaaaaaah !!!

SELAMAT MENCOBA :)