Kamis, 12 November 2015

Modul tentang algoritma dan pemograman turbo pascal

MODUL ALGORITMAN 
DAN 
PEMROGRAMAN TURBO PASCAL  

Assalamualaikum warohmatulohi wabarokatuh
disini saya akan share tentang belajar algoritma dan pemograman menggunakan aplikasi turbo pascal.
ok langsung saja ke pokok pembahasan mengenai belajar algoritma dan pemograman turbo pascal
mohon simak di bawah ini !

I. DASAR PEMROGRAMAN 
 Untuk membuat sebuah program kita pastinya membutuhkan sebuah atau beberapa software yang mendukung pembuatan program tersebut dan sesuai dengan kemampuan kita dalam bahasa pemrograman. Bahasa pemrograman diklasifikasikan menjadi 3 jenis yaitu :
 Low – level programing language Tingkat bahasa pemrograman ini disebut “ rendah ” (low level) dikarenakan kurangnya abstraksi atau kurangnya penggambaran oleh kode instruksi yang ada antara bahasa natural (manusia) dan bahasa mesin. Dan karena itu bahasa ini sering disebut bahasa mesin.  High – level programing language Bahasa pemrograman di tingkat ini  sudah memiliki abstraksi yang luas dan memiliki kemiripan dengan bahasa natural (manusia) terutama bahasa inggris. Dan bahasa ini sangat mudah di gunakan dan biasanya bahasa pemrograman ini digunakan untuk orang awam yang ingin belajar bahasa pemrograman.  Very high – level programing language. Bahasa ini memiliki abstraksi yang sangat tinggi dari pada High – level language dan biasanya digunakan untuk menunjang produktivitas para programer profesional.
Nah .. untuk pembelajaran tahap awal kita akan membahas tentang salah satu bahasa pemrograman tingakt tinggi yaitu bahasa pemrograman PASCAL. Sebelum itu kita harus belajar tentang algoritma pemrograman yang biasanya diimplementasikan dengan Flowchart atau Pseudocode . Pembuatan algoritma ini bertujuan untuk mempermudah pembuatan program, algoritma juga bisa dikatakan sebagai kerangka awal sebuah program.
I.1      Flowchart
Flowchart merupakan skema penggambaran tahap – tahap esekusi dalam sebuah program yang akan kita buat dalam bentuk simbol. Beberapa macam simbol itu adalah :  
Terminator Sebagai “Start” atau “End” pada Sebuah Flowchart
 
2 Input/Output  Untuk menerima inputan atau menampilkan  sebuah output hasil proses    Proses Digunakan untuk  menuliskan proses yang diperlukan, misalnya operasi aritmatika  (a = b + c)   Conditional/Decision Digunakan untuk menyatakan proses yang membutuhkan keputusan (ya/tidak)   Preparation  Digunakan untuk memberikan nilai awal  
Arrow Sebagai penunjuk alur proses  
Connector (On-page) Dugunakan untuk menyatukan beberapa arrow    Connector (Off-page) Digunakan untuk menghubungkan flowchart yang harus digambarkan pada halaman yang berbeda. Biasanya simboli ini diberi nomor sebagai penanda.
 
 
3 Contoh dari penggunaan flowchart secara sederhana adalah seperti gambar dibawah ini, merupakan flowchart menghitung harga barang. Dan satu lagi hal yang penting dalam flowchart,yaitu dalam penulisan jika terdapat spasi maka digunakan tanda “_” underscore.
Begin
Input nama_barang, jumlah, harga
Total_harga = jumlah *harga
Output nama_barang, Total_harga
End
 
4 Dengan menggunakan flowchart maka tahapan – tahapan yang akan digunakan atau dilaksanakan akan lebih mudah dipahami. Tapi flowchar juga memiliki kelemahan, jika kita akan membuat algoritma sebuah kasus yang besar maka akan menghabiskan kertas atau jika menggunkan komputer maka menggunakan banyak page.
I.2      Pseudocode
Selain flowchart kita juga dapat menyusun algoritma dengan menggunakan pseudocode . Pseudocode adalah bentuk informal untuk menggambarkan struktur bahasa pemrograman. Tujuan digunakannya pseudocode adalah :
1. Lebih mudah dipahami 2. Lebih mudah dibaca oleh manusia 3. Lebih mudah dalam pencurahan ide/ gagasan  4. Dan lebih mudah dalam pentransformasian kedalam bahasa pemrograman
Karena penggunaanya lebih simpel makan pseudocode sangat dianjurkan untuk programer pemula dalam menyusun sebuah algoritma sebuah kasus. Dan biasanya pseudocode menggunakan campuran antara bahasa pemrograman dan bahasa manusia, terutama dengan bahasa pascal. Jika dibandingkan dengan bahasa pascal, pseudocode memiliki kemiripan dalam menuliskan sintaks program dengan pascal sehingga lebih mudah dipelajari. Berikut contoh dari penggunaan pseudocode. Pascal Pseudocode Program hitungGaji; Var    Nama: string;   jk, tarif, gaji : integer; Begin {input}  Write („masukan  nama : „); readln(Nama);  Write („masukan  Jamkerja : „); readln(jk);  Write („masukan  Tarif : „); readln(tarif);
{proses}  gaji := jk*tarif;
{output}
Write(„Nama : „);
Algoritma menghitung gaji
Kamus  nama : text  jamkerja, tarifperjam, gaji : numerik
Algoritma   Input (nama, jamkerja, tarifperjam)  Gaji  jamkerja * tarif perjam  Output ( nama, Gaji)
 
5 Writeln(Nama) Write(„Gaji : ‟); Writeln(gaji); End.
I.3      Input/Output (I/O)
Perintah inputan dalam bahasa pascal ada 2 yaitu,
Read dan
Readln . Namun yang
sering digunkan pada proses input adalah
Readln . Readln dan Read memiliki sedikit perbedaan. Readln digunakan untuk memasukan data perbaris, artinya setelah menekan tombol Enter maka apa yang kita inputan akan segera masuk lalu berganti baris ke baris yang selanjutnya. Perintah Read sama seperti Readln hanya saja tidak beraganti baris kebaris selanjutnya, melainkan tetap pada baris yang sama.
Perintah output dalam bahasa pascal ada 2 yaitu, Write dan Writeln . Seperti halnya Read dan Readln, Write  akan mengoutputkan data dalam baris yang sama dan Writeln akan mengoutputkan pada suatu baris lalu output yang selnjutnya akan tertulis pada baris setelahnya.
Untuk lebih memahami silahkan tuliskan program ini kedalam program turbo pascal :
  Program InputOutput; Var
nama1, nama2 : String;
Begin
{Input}
  Write(‘Masukkan Nama ke 1 : ’);read(nama1);
 Writeln(‘Masukkan Nama ke 2 : ’);readln(nama2);
{Output}
Writeln(nama1);
Write(nama2);
Readln;
End.
 
6 II. Tipe Data, Variabel dan Konstanta
II.1   Tipe Data
Tipe data dapat di kelompokkan menjadi 2 macam : tipe data dasar dan tipe data bentukan. Tipe data dasar adalah tipe data yang dapat langsung dipakai, sedangkan tipe data bentukan adalah tipe yang telah dihasilkan dari kumpulan tipe data dasar.   A. Tipe data dasar 1. Integer  Tipe data integer digunakan untuk variabel yang menyimpan nilai atau data bilangan bulat, rentang nilainya secara teoritis tidak terhingga dari minus tak hingga (-∞) plus tak hingga (∞). Agar dalam pembuata program tidak memakan merori yang banyak maka tipe data integer dibagi menjadi 5 macam, yaitu :
Tipe  Rentang nilai Byte 0..255 Shortint -128..127 Word 0..65535 Integer -32768..32767 Longint -2147483648..2147483647
Contoh : 1,         2 ,        89,     -900,        10000099,          -9988787
2. Real Tipe data real merupakan tipe data yang digunkan untuk variabel yang menyimpan data berupa bilangan desimal atau pecahan. Pemisah desimal dalam bahasa pascal menggunkan titik (“.”). Berikut merupakan macam – macam tipe data integer :
Tipe Ketelitian Real 2.9 x 10-39 .. 1.7 x 1038 Single 1.5 x 10-45 .. 3.4 x 1038 Double 5.0 x 10-324 .. 1.7 x 10308 Extended 3.4 x 10-4932 .. 1.1 x 104932 Dalam ke 4 tipe tesebut tidak menunjukan rentaang nilai melainkan tingkat ketelitian.  
   
3. Char Tipe data Char digunakan untuk variabel yang akan menyimpan data berupa karakter. Yang termasuk kedalam tipe data karakter adalah huruf – huruf alfabet, tanda baca, angka dan karakter – karakter khusus seperti „#‟, ‟@‟,‟&‟…dll. Penulisannya dalam bahasa pascal adalah Char .
4. String Tipe data string digunakan untuk variabel yang menyimpan lebih dari satu karakter. Pengertian string sendiri merupakan deretan karakter dengan panjang tertentu. Contoh : „ halo „, „HAI‟, „LaGi ngapain ?‟.. dll.
5. Boolean Tipe data boolean digunakan untuk variabel yang akan menyimpan nilai True atau False. Berdasarkan deskripsi tersebut maka dapat disimpulkan bahwa tipe data boolean hanya memiliki rentang nilaiTrue dan False.
B. Tipe data bentukan Tipedata bentukan merupakan sekumpulan tipe data dasar yang didefinisikan sendiri oleh sang programer dan digunakan hanya pada program yang sedang ia buat. Contohnya penggunaan tipe data bentukan adalah :
Dalam Algoritma Dalam Pascal type NamaTipe :<      filed1  : tipeData;      filed2 : tipeData ;      . . .      filedN: Tipedata;            > type NamaTipe=record      filed1  : tipeData;      filed2 : tipeData ;      . . .      filedN: Tipedata;           end; Contoh Penggunaan Algoritma Pendataan_mahasiswa;
Kamus  type mahasiswa :<      nim  : longint;      nama : string;      umur : word;
program pendataan_mahasiswa; uses crt; type mahasiswa = record      nim  : longint;      nama : string;      umur : word; end;
 
8    >    mhs : mahasiswa;
Algoritma {input}      mhs.nim := 30208079;      mhs.nama:= ‘Luna Maya’;      mhs.umur:= 18; {outpu}      output(mhs.nim);      output (mhs.nama);      output (mhs.umur);
var    mhs : mahasiswa;
begin clrscr; {input}      mhs.nim := 30208079;      mhs.nama:= ‘Luna Maya’;      mhs.umur:= 18;
{output}      writeln(mhs.nim);      writeln(mhs.nama);      writeln(mhs.umur);      readln; end.
Penggunaan tipe data bentukan atau sering disebut Record biasanya digunakan bersama Array… (akan dibahas nanti).
II.2   Variabel  Variabel atau peubah dapat dianalogikan sebagai sebuah tempat untuk menyimpan nilai suatu data atau menyimpan nilai suatu hasil eksekusi program. Nilai yang ditempatkan kedalam variabel tentunya harus sama dengan tipe data variabel tersebut. Nilai suatu variabel dapat berubah – ubah sesuai dengan konteks dan keperluan proses. Contoh :  
Variabel X bertipe integer berarti hanya bisa diisi oleh nilai bilangan bulat saja dan variabel Nama bertipe string berarti hanya bisa diisi oleh deretan karakter. Dalam penulisan variabel harus diperhatikah beberapa hal berikut :
1. Nama variabel tidak mengandung spasi kosong tau karakter khusus !@#$%^&*()- +{}:”<>?[];‟,./ dan ~. Biasanya sebagai pengganti spasi para programer menggunkan „_‟, contoh : Nama_pasien, Kode_produk,dll 2. Cara lain untuk memisahkan kata adalah dengan cara setiap awal kata diberikan huruf kapital. Contoh : JenisKelamin, NilaiAkhir, HasilUjian,dll 3. Nama variabel harus cukup jelas menunjukan tujuan kegunaan variabel tersebut.
Var     X         : integer;
           Nama : string;
II.3   Konstanta
Jika sebuah variabel nilainya dapa berubah – ubah dalam program, lain halnya dengan konstanta mamiliki nilai yang tetap dari awal dideklarasikan hingga akhir program. Artinya setelah konstanta telah diberikan nilai maka nilainya langsung dapat dipergunakan dan nilainya selalu tetap. Deklarasi konstanta dalam flowchart menggunakan simbol proses (persegi). Contoh :
Dalam Flowchart Dalam Pascal     Conts    Maks = 200;    Phi    = 3.14; End;
III. Operator Dalam sebuah operasi perhitungan dibutuhkan sebuah atau beberapa operator untuk dapat mengeksekusi nilai yang diinputkan. Nah dalam bahasa pemrograman pascal terdapat beberapa operator, operator itu dibagi 3 jenis yaitu operator aritmatika, operator relasional dan operator logika.
III.1    Operator Aritmatika
 Operator ini merupakan operator perhitungan aritmatik. Dan ada yang membutuhkan nilai integer atau real. Yang termasuk tipe operator inni adalah :
Simbol Deskripsi Contoh + Penjumlahan XY+Z – Pengurangan ZK-A * Perkalian MX*S / Pembagian RO/P Div Hasil bagi GE Div R Mod Modulo (sisah bagi) C A Mod B
Mungkin untuk orang biasa masih awam denga operan Div dan Mod . Untuk itu akan saya jelaskan. Untuk operan Div merupakan Hasil bagi dan Mod merupakan Sisah Bagi, contohnya :
C  13 / 2,, 13 di bagi 2 hasilnya adalah 6 dan sisah 1. Nah angka 6 meripakan hasil operasi Div dan 1 merupakan hasil operasi Mod.
Phi = 3.14
Maks = 200
 
C13 Div 2, maka hasilnya 6 dan C 13 Mod 2, maka hasilnya 1.
III.2    Operator Relasional
Operator Relasional akan membandingkan 2 nilai variabel. Yang termasuk tipe operan relasional adala :
Simbol Deskripsi Contoh = Sama dengan C = A ≠ Tidak sama dengan L != M atau K <> L > Lebih dari S > R < Kurang dari O < P >= Lebih besar sama dengan Y >= T <= Lebih kecil sama dengan J <= F
III.3    Operator Logika
Operator logika adalah operator yang akan menghasilkan nilai Boolean (Benar atau Salah). Berikut adalah tipe operator logika :
Simbol Deskripsi Contoh AND Dan (X > 9) AND (y < 9) OR Atau (K>=1) OR (P>=5) NOT Tidak / Bukan Not X > 7
III.4    Urutan Operasi  
 Jika dalam sebuah proses terdapat lebih dari satu operan seperti :
Hasil  x * 2 Mod 2 > y And ( x <> 3 )
Maka terdapat prioritas dalam proses penghitungan yang dilakukan, untuk itu dibuatlah pelevelan opreran yaitu tingkat prioritas  eksekusi operan yang ter diri dari 5 level. Berikut adalah levelnya :
Simbol Deskripsi Level () Kurung  1 NOT Tidak / Bukan  2
 
* Perkalian

/ Pembagian Div Hasil bagi Mod Modulo (sisah bagi) + Penjumlahan

– Pengurangan < Lebih kecil 5 <= Lebih kecil sama dengan >= Lebih besar sama dengan > Lebih besar = Sama dengan 6 <> Tidak sama dengan AND Dan 7 OR Atau 8
Jadi soal : Hasil  x * 2 Mod 2 > y And ( x <> 3 ) dapat diselesaikan misalnya jika inputannya x  5 dan y  3 maka tahap pengerjaanya adalah :
Tahap Proses 1 Hasil  5 * 2 Mod 2 > y And (5 <> 3) Hasil  5 * 2 Mod 2 > y And (True) 2 Hasil  5 * 2 Mod 2 > y And (True) Hasil  10 Mod 2 > y And (True) Hasil  0 > y And (True) 3 Hasil  0 > 3 And (True) Hasil  False And (True) 4 Hasil  False.


Sekian dari saya kurang lebih nya mohon di maafkan..
Semoga bermanfaat..
amminnn..
wasalamualaikum warohmatulohi wabarokatuh  

Rabu, 11 November 2015

Cara-cara membuat database menggunakan aplikasi microsoft access dan mengkoneksikan ke visual basic 2010

 CARA-CARA MEMBUAT DATABASE MENGGUNAKAN APLIKASI MICROSOFT ACCESS DAN MENGKONEKSIKAN KE VISUAL BASIC 2010
1.Mengenal Database
Data base adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS).
Ok langksung saja buka microsoft access dengan cara sbb :
1. Klik start All Program àMicrosoft Office à Microsoft Access 2007
2. Kemudian akan tampil jendela Microsoft Access seperti gambar dibawah ini, lalu clik Blank
Database untuk membuat database.
3. Membuat database Database1.accdb kemudian klik tombol create

2. Langkah-langkah membuat tabel pada microsoft access
1. Clik tab create pada jendela à Click Table àclick view àmasukkan nama tabel kemudian klik ok.
2. Masukkan nama field beserta tipe datannya, dengan cara klik menu cite, pilih table disgn, masukan  kemudian simpan tabel (Ctrl+s)
3. Kemudian klik ribbon view pada tab home, lalu pilih Datasheet View  untuk masukkan data ke dalam tabel.
4. Setelah selesai klik file, klik save dan publish. Pada colomn save database klik Access 2002-2003 agar diubah ke acces 2002-2003, karena visual basic 2010 masih belum bisa menerima data dari Access 2010 jika menggunakan Program Microsoft Access 2010
5. Setelah kita membuat databasenya , selanjutnya kita buat program menggunakan Visual Basic 2010

3.Cara mengkoneksikkan Database Microsoft Access 2010 ke Visual Basic 2010 :
1) Klik start program Microsoft Visual Basic 2010
2) klik new project à windows from application lalu ok
 

3) Pada menu toolbar, klik toolbox, klik binding navigator, klik binding source, klik data gridview

4) Kemudian akan muncul gambar sebagai berikut. Selanjutnya klik binding source kemudian lihat di properties data source,  add project, data source, database, data set, new connection kemudian ganti data source dengan memilih menu change, masukan database yang telah kita buat pada Microsoft access, jika muncul dialog box seperti pada gambar maka klik yes.


Langkah selanjutnya untuk memperlihatkan data yang ada pada data base agar bisa terlihat di dalam program nantinya adalah dengan melihat properties pada data gridview1 lalu pilih data source yang sudah di setup. Expance form1 list instances-pilih database yang tadi kita masukkan


5) Buatlah 6 button dan 1 textbox seperti pada gambar di bawah ini

6) Klik 2 kali pada form list dan masukkan listing berikut
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

‘TODO: This line of code loads data into the ‘Database1DataSet.Penerbit’ table. You can move, or remove it, as needed.

Me.PenerbitTableAdapter.Fill(Me.Database1DataSet.Penerbit)

‘TODO: This line of code loads data into the ‘Database1DataSet.Buku’ table. You can move, or remove it, as needed.

Me.BukuTableAdapter.Fill(Me.Database1DataSet.Buku)

‘TODO: This line of code loads data into the ‘Database1DataSet.Buku’ table. You can move, or remove it, as needed.

Me.BukuTableAdapter.Fill(Me.Database1DataSet.Buku)

End Sub

7)      Untuk pendeklarasian tulislah Pada class form1

Public Class Form1

Private Sub BukuBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Me.Validate()

Me.BukuBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

8)      Untuk tombol Tambah data, klik 2x pada button 2 lalu masukka  listing berikut:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Me.BukuBindingSource.AddNew()

BukuDataGridView.Enabled = True

End Sub

9)      Untuk tombol hapus data, klik 2x pada button 3 lalu masukka  listing berikut:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Me.BukuBindingSource.RemoveCurrent()

End Sub

10)  Untuk tombol simpan perubahan data klik 2x pada button 1 lalu masukkan  listing berikut:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.Validate()

Me.BukuBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

11)  Untuk tombol ubah data klik 2x pada button 6 lalu masukkan  listing berikut:

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click

Me.Validate()

Me.BukuBindingSource.EndEdit()

Me.TableAdapterManager.UpdateAll(Me.Database1DataSet)

End Sub

12)   Untuk tombol keluar klik 2x pada button 4 lalu masukkan  listing berikut

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click

Close()

End Sub

13)  Untuk tombol masukkan judul buku yang dicari klik 2x pada button 45lalu masukkan  listing berikut

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

BukuDataGridView.DataSource = Me.Database1DataSet.Buku.Select(“Judul like'” & TextBox1.Text & “%” & “‘”)

End Sub

Lalu coba untuk merunning program yang telah dibuat dengan menekan F5

gan bisa langsung lihat program nya dan bisa langsung di unduh lewat link dibawah ini :

http://www.mediafire.com/?6crxs5wwdnhh05k


Sekian cara-cara membuat databese menggunakan microsoft access 2010 dan mengkoneksikan ke visual basic 2010.. kurang lebih nya mohon di maafkan..

wasallamualaikum waroh matulohi wabarokatuh..
 









 

cara membuat program aplikasi chatting via ethernet menggunakan visual studio c# 2010

CARA MEMBUAT PROGRAM APLIKASI CHATTING MENGGUNAKAN
VISUAL STUDIO C# 2010

Assalamualaikum Warohmatulohi Wabarokatuh..
 
Sebelum membuat program aplikasi chatting menggunakan visual basic 2010 alangkah baik nya anda mengenal sejarah microsoft visual basic yang akan di paparkan di bawah ini
berikut sejarah dan perkembangan microsoft visual basic :

1. sejarah
Visual Basic 2010 merupakan salah satu bagian dari produk pemogramana terbaru yang dikeluarkan oleh Microsoft, yakni Microsoft Visual Studio 2010. Visual Studio merupakan produk pemograman andalan dari Microsoft Corporation, di mana di dalamnya berisi beberapa jenis IDE pemograman seperti Visual Basic, Visual C#, Visual C++, Visual Web Developer, & Visual F#.

Semua IDE pemograman tersebut sudah mendukung penuh implementasi .Net Framework terbaru, yaitu .Net Framework 4.0 yang merupakan pengembangan dari .Net Framework 3.5. Adapun database standar yang disertakan adalah Microsoft SQL Server 2008  express.

Visual Basic 2010 merupakan versi perbaikan dan pengembangan dari versi pendahulunya, yakni Visual Basic 2008. Beberapa pengembangan yang terdapat di dalamnya antara lain dukungan terhadap pengembangan aplikasi menggunakan Microsofft SilverLight, dukungan terhadap aplikasi berbasis Cloud Computing, serta perluasan dukungan terhadap database, baik standalone ataupun database server.

Bahasa Visual Basic 2010 sendiri awalnya berasal dari bahasa pemograman yang sangat populer di kalangan programmer komputer, yakni bahasa BASIC, yang oleh Microsoft diadaptasi dalam program Microsoft Quick BASIC. Seiring dengan semakin berkembangnya teknologi komputasi serta desain, Microsoft mengeluarkan produk yang dinamakan Microsoft Visual Studio dengan Visual Basic di dalamnya.

Langkah pertama yang akan kita pelajari adalah IDE (Integrated Development Enviroment) dari visual basic.net. Untuk menjalankan Microsoft Visual Studio 2010 pilih Start --> All Program --> Microsoft Visual Studio 2010. Maka pada layar akan muncul tampilan gambar seperti ini:
 


Untuk membuat project visual basic.net silahkan pilih Menu File --> New Project atau bisa juga dengan menekan tombol CTRL + N. Maka akan muncul sebuah dialog seperti gambar berikut ini:

 Pilih Windows Forms Aplikation, dan beri nama sesuai program yang akan dibuat, sebelumnya pastikan yang dipilih adalah bahasa pemograman visual basic. Setelah itu klik OK maka akan muncul tampilan Visual Basic.Net IDE untuk membangun sebuah aplikasi. Pada IDE Visual Basic.Net untuk WindowsApplication1 akan terdapat sebuah form untuk meletakkan kontrol-kontrol atau komponen untuk menyusun sebuah aplikasi. Form dan kontrol inilah yang sering disebut GUI (Graphical User Interface) atau antar muka dari program visual basic.net.
 

 Sebelum membuat program aplikasi chatting menggunakan visual basic 2010 anda harus mempersiap kan bahan alat dan bahan dengan ketentuan sbb :

1. Alat :
           Pc / Laptop
2. Bahan
           Software microsoft Visual basic 2010
setelah semua peralatan di atas tersebut terpenuhi di atas, ok langsung saja ke pokok pembahasan
mengnai membuat aplikasi chatting menggunakan visual basic 2010 
adalah sebagai berikut :

Program yang akan dibahas terdiri dari dua bagian, yaitu:

1.       Server, sebagai server yang mana semua client akan mengirim pesan ke computer yang ada aplikasi ini dan mem-broadcast semua pesan ke client.

2.       Client, aplikasi yang dipakai oleh user untuk melakukan chat yang akan terhubung ke server.

hal pertama membuat aplikasi chatting via ethernet menggunakan visual sutudio 2010 diantarnya :

1. Membuat server
Pertama bukalah aplikasi Visual Studio C# 2010. Lalu pilih new project. Kemudian pilih Console Application dan berilah nama project chat_server pada bagian bawah form, lalu klik OK.
Setelah itu cobalah masukan kode di bawah ini.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Net.Sockets;

using System.Net;

namespace ConsoleApplication1

{

class Program

{

const int portNo = 500;

static void Main(string[] args)

{

//==================================================================

//Mendapatkan Local Machine’s Host Name & IPAddress

//==================================================================

String strHostName = “”;

if (args.Length == 0)

{

// Mendapatkan Ip address dari local machine…

// Pertama cari host name dari local machine.

strHostName = Dns.GetHostName();

Console.WriteLine(“Local Machine’s Host Name: ” + strHostName);

}

else

{

strHostName = args[0];

}

IPHostEntry ipEntry = Dns.GetHostByName(strHostName);

IPAddress[] addr = ipEntry.AddressList;

for (int i = 0; i < addr.Length; i++)

{

Console.WriteLine(“IP Address {0}: {1} “, i, addr[i].ToString());

}

//===================================================================

System.Net.IPAddress localAdd = System.Net.IPAddress.Parse(addr[0].ToString());

TcpListener listener = new TcpListener(localAdd, portNo);

listener.Start();

while (true)

{

ChatClient user = new

ChatClient(listener.AcceptTcpClient());

}

}

}

}

Setelah codding diatas itu selesai di buat, buat class baru dengan nama “ChatClient” dengan cara klik kanan pada nama project seperti di bawah ini.

setelah tampilan di atas akan muncul seperti gambar berikut ini :




 Pilih Class dan jangan lupa beri nama “ChatClient” pada bagian bawah form dan klik Add. Setelah itu coba masukan kode seperti di bawah ini.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Net.Sockets;

using System.Collections;

namespace ConsoleApplication1

{

class ChatClient

{

//—berisi daftar semua client—

public static Hashtable AllClients = new Hashtable();

//—informasi tentang client—

private TcpClient _client;

private string _clientIP;

private string _clientNick;

//—digunakan untuk mengirim/menerima data—

private byte[] data;

//—apakah nickname sudah dikirim—

private bool ReceiveNick = true;

public ChatClient(TcpClient client)

{

_client = client;

//—mendapatkan client IP address—

_clientIP = client.Client.RemoteEndPoint.ToString();

//—menambahkan client saat ini ke hash table—

AllClients.Add(_clientIP, this);

//—memulai membaca data dari client pada

// thread terpisah—

data = new byte[_client.ReceiveBufferSize];

client.GetStream().BeginRead(data, 0,

System.Convert.ToInt32(_client.ReceiveBufferSize), ReceiveMessage, null);

}

public void ReceiveMessage(IAsyncResult ar)

{

//—membaca dari client—

int bytesRead;

try

{

lock (_client.GetStream())

{

bytesRead = _client.GetStream().EndRead(ar);

}

//—client tidak tersambung—

if (bytesRead < 1)

{

AllClients.Remove(_clientIP);

Broadcast(_clientNick + ” has left the chat.”);

return;

}

else

{

//—mendapat pesan yang telah dikirim—

string messageReceived = System.Text.Encoding.ASCII.GetString(data, 0, bytesRead);

//—client mengirimkan nicknamenya—

if (ReceiveNick)

{

_clientNick = messageReceived;

//—memberitahu semua client memasuki

// chat—

Broadcast(_clientNick + ” has joined the chat.”);

ReceiveNick = false;

}

else

{

//—memberikan pesan pada semuanya—

Broadcast(_clientNick + “>” + messageReceived);

}

}

//—melanjutkan membaca dari client—

lock (_client.GetStream())

{

_client.GetStream().BeginRead(data, 0,

System.Convert.ToInt32(_client.ReceiveBufferSize),ReceiveMessage,null);

}

}

catch (Exception ex)

{

AllClients.Remove(_clientIP);

Broadcast(_clientNick + ” has left the chat.”);

}

}

public void SendMessage(string message)

{

try

{

//—mengirim text—

System.Net.Sockets.NetworkStream ns;

lock (_client.GetStream())

{

ns = _client.GetStream();

}

byte[] bytesToSend =

System.Text.Encoding.ASCII.GetBytes(message);

ns.Write(bytesToSend, 0, bytesToSend.Length);

ns.Flush();

}

catch (Exception ex)

{

Console.WriteLine(ex.ToString());

}

}

public void Broadcast(string message)

{

//—log secara lokal—

Console.WriteLine(message);

foreach (DictionaryEntry c in AllClients)

{

//—memberi pesan pada semua user—

((ChatClient)(c.Value)).SendMessage(

message + Environment.NewLine);

}

}

}

}

2. Membuat Client
Buatlah project baru dan pilih template Windows Form Application dan berilah nama project tersebut dengan nama “chat” pada bagian bawah form lalu klik OK. Setelah itu, buatlah form seperti pada gambar di bawah ini.

Setelah itu buatlah kode 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.Sockets;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

const int portNo = 500;

TcpClient client;

byte[] data;

public Form1()

{

InitializeComponent();

}

private void btnSignIn_Click(object sender, EventArgs e)

{

if (btnSignIn.Text == “Sign In”)

{

try

{

//—menghubungkan ke server—

client = new TcpClient();

client.Connect(IPServer.Text, portNo);

data = new byte[client.ReceiveBufferSize];

//—membaca dari server—

SendMessage(txtNick.Text);

client.GetStream().BeginRead(data, 0,

System.Convert.ToInt32(

client.ReceiveBufferSize),

ReceiveMessage, null);

btnSignIn.Text = “Sign Out”;

btnSend.Enabled = true;

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

else

{

//—disconnect dari server—

Disconnect();

btnSignIn.Text = “Sign In”;

btnSend.Enabled = false;

}

}

private void btnSend_Click(object sender, EventArgs e)

{

SendMessage(txtMessage.Text);

txtMessage.Clear();

}

public void SendMessage(string message)

{

try

{

//—mengirim pesan ke server—

NetworkStream ns = client.GetStream();

byte[] data =

System.Text.Encoding.ASCII.GetBytes(message);

//—mengirim text—

ns.Write(data, 0, data.Length);

ns.Flush();

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

public void ReceiveMessage(IAsyncResult ar)

{

try

{

int bytesRead;

//—membaca data dari server—

bytesRead = client.GetStream().EndRead(ar);

if (bytesRead < 1)

{

return;

}

else

{

//—memanggil delegate untuk menampilkan

// data yang diterima—

object[] para = {System.Text.Encoding.ASCII.GetString(data, 0, bytesRead) };

this.Invoke(new delUpdateHistory(UpdateHistory),

para);

}

//—melanjutkan membaca…—

client.GetStream().BeginRead(data, 0,

System.Convert.ToInt32(client.ReceiveBufferSize),

ReceiveMessage, null);

}

catch (Exception ex)

{

//—abaikan error, dibuang ketika pengguna sign off—

}

}

//—delegate dan subroutine untuk mengupdate TextBox control—

public delegate void delUpdateHistory(string str);

public void UpdateHistory(string str)

{

txtMessageHistory.AppendText(str);

}

public void Disconnect()

{

try

{

//—Disconnect dari server—

client.GetStream().Close();

client.Close();

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}

}

private void Form_Closing(object sender,FormClosingEventArgs e)

{

Disconnect();

}

}

}

Setelah itu, double clik pada Form1.Designer.cs dan tambahkan kode seperti di bawah ini.

private void InitializeComponent()

{



this.FormClosing += new

System.Windows.Forms.FormClosingEventHandler(this.Form_Closing);

}

Setelah kedua aplikasi diatas (chat server dan client) sudah selesai dibuat, maka program bisa langsung dites pada komputer yang berbeda atau pada satu komputer. Akan tetapi, jika menggunakan satu komputer, aturlah IP address yang diakses oleh client adalah “127.0.0.1” (computer’s loopback address).

    Demikian cara membuat program aplikasi chatting via ethernet menggunakan visual studio c# 2010, kurang lebih nya mohon di maafkan !

Terimakasih ...
wasalamualaikum waroh matulohi wabarokatuh