Category Archives: Visual C#
contoh code C# menulis-write type data long ke modbus register
buat project baru
buat form sbb
code
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 www.counterproduksi.com;
namespace ConvertInt32ToMSBandLSB
{
public partial class Form1 : Form
{
// private www.counterproduksi.com.CounterEthernet MBCounter1;
private www.counterproduksi.com.CounterEthernet MBCounter1;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int PLAN = Convert.ToInt32(textBox1.Text);
int HighINT = (PLAN >> 16) & 0x0000ffff;
int LowINT = PLAN & 0x0000ffff;
int LSBUnsigned = (Int16)LowINT; // y = -1
txtMSB.Text = HighINT.ToString();
txtLSB.Text = LSBUnsigned.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
MessageBox.Show(" di disable");
/*
byte[] data1 = new Byte[2];
int[] word = new int[1];
word[0] = Convert.ToInt16(txtLSB.Text);
byte[] dat = BitConverter.GetBytes((short)IPAddress.HostToNetworkOrder((short)word[0]));
data1[0] = dat[0];
data1[1] = dat[1];
try
{
// MBCounter1.WriteSingleRegister(4, 0, 30, data1);
MBCounter1.WriteDataCounter(4, 0, 5, data1);
}
catch (SystemException error)
{
MessageBox.Show(error.Message);
}
*/
}
private void button3_Click(object sender, EventArgs e)
{
try
{
MBCounter1 = new CounterEthernet("127.0.0.1", 502);
txtVersiLibrary.Text = MBCounter1.versi;
// MBCounter1.OnResponseData += new ModbusTCP.Master.ResponseData(MBCounter1_OnResponseData);
// MBCounter1.timeout = 6000;
button3.Enabled = false;
button4.Enabled = true;
button5.Enabled = true;
button6.Enabled = true;
button2.Enabled = true;
}//end try
catch (SystemException ex)
{
}
}
private void button4_Click(object sender, EventArgs e)
{
try
{
MBCounter1.disconnect();
MBCounter1.Dispose();
button3.Enabled = true;
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button2.Enabled = false;
}//end try
catch (SystemException ex)
{
}
}
private void Form1_Load(object sender, EventArgs e)
{
button4.Enabled = false;
button5.Enabled = false;
button6.Enabled = false;
button2.Enabled = false;
}
private void button5_Click(object sender, EventArgs e)
{
MessageBox.Show(" di disable");
/*
byte[] data1 = new Byte[2];
int[] word = new int[1];
word[0] = Convert.ToInt16(txtMSB.Text);
byte[] dat = BitConverter.GetBytes((short)IPAddress.HostToNetworkOrder(( short)word[0]));
data1[0] = dat[0];
data1[1] = dat[1];
try
{
// MBCounter1.WriteSingleRegister(4, 0, 30, data1);
MBCounter1.WriteDataCounter(4, 0, 4, data1);
}
catch (SystemException error)
{
MessageBox.Show(error.Message);
}
*/
}
private void button6_Click(object sender, EventArgs e)
{
byte[] data1 = new Byte[4];
int[] word = new int[2];
word[0] = Convert.ToInt16(txtMSB.Text);
byte[] dat = BitConverter.GetBytes((short)IPAddress.HostToNetworkOrder((short)word[0]));
data1[0] = dat[0];
data1[1] = dat[1];
word[1] = Convert.ToInt16(txtLSB.Text);
byte[] dat1 = BitConverter.GetBytes((short)IPAddress.HostToNetworkOrder((short)word[1]));
data1[2] = dat1[0];
data1[3] = dat1[1];
try
{
// MBCounter1.WriteDataCounter(4, 0, 5, data1);
MBCounter1.WriteMultipleRegister(4, 0, 4, data1);
}
catch (SystemException error)
{
MessageBox.Show(error.Message);
}
//======================
}
}
}
Pengetahuan Dasar Membuat Aplikasi VB.Net untuk Monitoring Counter Produksi via LAN
sumber : www.counterproduksi.com
Panduan teknis untuk membaca/menulis data ke mikro counter dan Andon 7 segment maupun Andon matrik p10.
Untuk mengakses data counter menggunakan aplikasi VB.Net atau C# anda akan diberikan class library untuk setiap pembelian counter produksi. Dengan class library ini pemrograman VB.net atau C# untuk mengakses data counter menjadi sangat mudah dilakukan.
1. Menambahkan library counter* ke dalam projet VB.net
Melalui menu Project->Add reference
Lalu pada code tambahkan:
Imports CounterTCP
——————————————————————————–
2. Membuat Obect counter
Private CounterLineA As CounterTCP.Client
Private CounterLineB As CounterTCP.Client
——————————————————————————–
3. Membuat koneksi ke Counter
Try
‘ Create new client Counter and add event functions
CounterLineA = New Client(txtAlamatIPLineA..Text, NoPort)
AddHandler CounterLineA.OnResponseData, New CounterTCP.Client.ResponseData(AddressOf CounterLineA_OnResponseData)
Catch [error] As SystemException
‘MessageBox.Show([error].Message)
End Try
——————————————————————————–
4. Membaca Counter
// Membaca data Counter Line A
Try
CounterLineA.ReadDataCounter( 0, 15) ‘baca data 0 – 15
Catch [error] As SystemException
MessageBox.Show(“READ EROR”)
End Try
// Membaca data Counter Line B
Try
CounterLineB.ReadDataCounter( 0, 15) ‘baca data 0 – 15
Catch [error] As SystemException
MessageBox.Show(“READ EROR”)
End Try
——————————————————————————–
5. Menampilkan Data Counter ke Form
Private Sub CounterLineA_OnResponseData()
Dim data As Byte()
data = values
TextBox1.Text = (data(0) * 256 + data(1)).ToString() ‘ data ke-1 plan
TextBox2.Text = (data(2) * 256 + data(3)).ToString() ‘data ke-2 actual
TextBox3.Text = (data(4) * 256 + data(5)).ToString() ‘data ke-3 target
TextBox4.Text = (data(6) * 256 + data(7)).ToString() ‘data ke- 4… dst
End Sub
——————————————————————————–
6. Menulis data ke Counter
Private Sub Button9_Click()
Dim data(1) As Integer
Dim Address As UShort
Address = Convert.ToUInt16(txtAdress.Text)
data(0) = Convert.ToInt16(txtData.Text)
Try
CounterLineA.WriteDataCounter(Address, data)
Catch [error] As SystemException
MessageBox.Show([error].ToString)
End Try
End Sub
——————————————————————————–
7. Memutus koneksi aplikasi dgn Counter
CounterLineA.disconnect()
——————————————————————————–
Contoh Form menampilkan data Counter
*Class Library Counter untuk VB.net / C# disertakan pada setiap pembelian counter produksi . www.counterproduksi.com
Contoh Program C# Menyimpan Data string di Slave Modbus RTU
Seperti kita ketahui bahwa type data yg dipakai dlm Modbus RTU, master atau slave adalah integer.namun seringkali kita membutuhkan menyimpan data dalambentuk string / ascii . untuk ini kita bisa mensiasati memperlakukan string/ kode ascii sebagai integer.
Gambar 1. Contoh sebuah Slave Modbus RTU yg menerima/menyimpan “data string”
Untuk jelasnya langsung saja kita lihat contoh program di PC sebagai Master modbus yg akan menulis string berupa 8 buah kode ascii ke modbus slave.
1.Buatlah project C# baru
2. buat form dan isi dengan objek textBoxt ganti namamenjadi txtDataString dan Buton menjadi btnSimpan spt pada gambar dibawah ini
isikan kode berikut ini
private void btnSimpan_Click(object sender, EventArgs e)
{
int i,j,tambahanchar;
byte address = 1; // alamat slave yg akan ditulis
ushort[] value = new ushort[4];
if (txtDataString.Text.Length < 8) // tambahkan space
{
tambahanchar = 8 – txtDataString.Text.Length;
for (j = 0; j < tambahanchar; j++)
txtDataString.Text =txtDataString.Text + ” “;
}
if (txtDataString.Text.Length > 8) // potong string
{
MessageBox.Show(“batas max 8 huruf”);
txtDataString.Text = txtDataString.Text.Substring(0, 8);
}
this.Convertstrtohex();
for (i = 0; i < 4; i++)
value[i] = Convert.ToUInt16(datasend[i]);
if (mb.Open(lstPorts.SelectedItem.ToString(), Convert.ToInt32(lstBaudrate.SelectedItem.ToString()),
8, Parity.None, StopBits.One))
{
try
{
if (ModbusObjek.SendFc16(address, 8, (ushort)4, value)) ; // modbus fungsi 16 menyimpan data ke beberapa register
{
lbstatus.Text = “berhasil ditulis”;
}
}
catch (Exception err)
{
lbstatus.Text =”gagal ditulis”;
}
}
mb.Close();
}
private void Convertstrtohex()
{ //BUAT ARRAY STRING HEXA
// AB CD EF GH
//4142 4344 4546 4748
// 0 4 8 12
// 0 1 2 3
string hexResult, SubstringResult, nilairegister;
hexResult = this.ConvertToHex(txtDataString.Text).ToString();
SubstringResult = hexResult.Substring(0, 4);
nilairegister = (int.Parse(SubstringResult, System.Globalization.NumberStyles.HexNumber)).ToString();
for (int i = 0; i < 4; i++)
{
datasend[i] = (int.Parse(hexResult.Substring(i * 4, 4), System.Globalization.NumberStyles.HexNumber)).ToString();
}
}
public string ConvertToHex(string asciiString)
{
string hex = “”;
foreach (char c in asciiString)
{
int tmp = c;
hex = hex + String.Format(“{0:x2}”, (uint)System.Convert.ToUInt32(tmp.ToString()));
}
return hex;
}
Menampilkan data register dlm bentuk string pada arduino
setelah arduino menerima data ascii dalam bentuk hex ,maka untuk menampilkan kita harus merubah data hex tersebut menjadi ascii .
berikut ini contoh mudah merubah data 4 buah register menjadi string sebanyak 8 karakter yg disimpan di variable array namaModelDariPc . 1 register dirubah menjadi 2 karater.
seperti kita ketahui , string adalah array yg berakhiran NULL .
void printNamaModel(int regAwal)
{
namaModelDariPc[0] =(Mb.MbData[regAwal] & 0xff00)>>8;
namaModelDariPc[1] = Mb.MbData[regAwal] & 0x00ff;
namaModelDariPc[2] = (Mb.MbData[regAwal+1] & 0xff00)>>8;
namaModelDariPc[3] = Mb.MbData[regAwal+1] & 0x00ff;
namaModelDariPc[4] =(Mb.MbData[regAwal+2] & 0xff00)>>8;
namaModelDariPc[5] = Mb.MbData[regAwal+2] & 0x00ff;
namaModelDariPc[6] = (Mb.MbData[regAwal+3] & 0xff00)>>8;
namaModelDariPc[7] = Mb.MbData[regAwal+3] & 0x00ff;
namaModelDariPc[8] = 0x00;
Serial.print(namaModelDariPc);
}
Kesimpulan
Modbus RTU tetap tidak bisa menyimpan data kode ascii secara langsung. contoh diatas adalah merubah tiap kode ascii dari sebuah string menjadi type integer.
Pengetahuan Dasar C# : Menulis dan Membaca File
Untuk menulis file text kita bisa menggunakan objek dari class StreamWriter dan untuk membaca file text kita gunakan objek dari class StreamReader. Class class tsb berada pada namespace System.IO.
Langkah langkah membuat aplikasi sederhana menulis dan membaca file text.
1. Buat project C# baru jenis windows application , buat form spt pd gambar berikut
2. Kode program
using System; using System.Text; using System.Windows.Forms; using System.IO; namespace aksesfile { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnsave_Click(object sender, EventArgs e) { StreamWriter ObjekTulis = new StreamWriter(System.Windows.Forms.Application.StartupPath + "\\test.txt"); ObjekTulis.Write(txtuser.Text + "\r\n" ); ObjekTulis.Write(txtpassword.Text + "\r\n"); ObjekTulis.Close(); ObjekTulis = null; } private void btnRead_Click(object sender, EventArgs e) { StreamReader objekbaca = new StreamReader("test.txt"); txtoutput.Text = objekbaca.ReadToEnd(); objekbaca.Close(); objekbaca = null; } } }
3. buat file text dgn notepad atau text editor lainya, save as file test.txt simpan di output direktory yaitu ..\bin/debug
Pengetahuan Dasar Membuat Class Library ( file berektensi *.dll) dgn C#
Dalam pembuatan program dgn C# supaya lebih simple, class class kita pisahkan ke dlm file terpisah antara lain yg berextensi *.dll atau bisa disebut class library.
Keuntungan dipisahnya code class ke dlm class library antara lain:
– Menyederhanakan program
– Class tsb mudah digunakan kembali di program lain.
Langkah langkah membuat class library.
1. Buka project baru
2. Pilih kategory class library
3. Klik menu project properties, rubah output type defaultnya dari “windows application” menjadi “class library” .
3. Ketik class yg anda buat , pastikan access modifier class nya public !
misal
namespace librariku
{
public class librarymu // class modifier diset public agar bisa diakses dari luar
{
//code disini
}
}
4. Simpan file project.
kemudian compile dengan perintah sbb:
csc /target:library namafile.cs
Seperti tampak pd gambar berikut:
jangan lupa sebelumnya set PATH environment dgn tambahan ;C:\WINDOWS\Microsoft.NET\Framework\v3.5
Pengetahuan Dasar ADO.NET C# untuk Pemrograman Database
Aplikasi yang kita buat seringkali menyertakan database untuk menyimpan data misalnya aplikasi monitoring temperatur , data temperatur harian atau per menit kita simpan di MsAccess , Mysql atau yg lainya. Untuk menghubungkan aplikasi berbasisi .NET (dot net) spt C#, VB.net, ASPX dll dengan berbagai database dibutuhkan suatu penghubung yaitu ADO.NET . Pada masa sebelumnya untuk menghubungkan aplikasi dgn database kita menggunakan ADO , OLEDB dan ODBC.
Mengenal ADO.NET
ADO.NET merupakan kumpulan class yang memberikan akses ke database serta XML ditujukan buat para programmer .NET. Class class tsb merupakan bagian dari framework .NET yg terletak di namespace system.data.dll
Didalam ADO.NET tersedia berrbagai data provider spt OLEDB, ODBC dan data provider khusus untuk database tertentu spt untuk SQL server dan oracle. Selain untuk database juga tersedia data provider untuk XML.
XML digunakan untuk pertukaran data antar system yg berbeda contoh sebuah system di linux dgn aplikasi java dan mysql akan bertukar data dgn system lain yg mengunakan os windows dgn aplikasi C# dan MsAccess . Cara mudah pertukaran data antara dua system tsb adalah data yg dipertukarkan mempunyai format yang sama yaitu dlm bentuk XML. Pada artikel ini sy tdk membahas tentang XML.
Arsitektur ADO.NET
Terdapat 2 kelompok class utama dlm ADO.Net:
Pertama data provider : digunakan untuk koneksi ke database .
Kedua adalah data set : digunankan untuk menyimpan dan mengelola data. Lebih jelasnya bisa dilihat dlm arsitektur ADO.Net berikut ini:
Conected dan Disconected
ADO.NET menyediakan mode conected dan disconected dlm mengelola database. Pada Mode conected client memodifikasi data dlm keadaan online sedangkan mode disconected adalah fitur baru ADO.NET gambaran mekanismenya antara lain sbb: client membuka koneksi ke server database kemudian data disimpan di buffer(dataset) client lalu koneksi server diputus setelah data diolah baru dibuat lagi koneksi ke server untuk transfer data. model disconected spt ini sangat membantu karena bisa mengurangi trafik data dlm jaringan terutama jika jumlah client sangat banyak
Melalui gambar arsitektur diatas saya ingin memperjelas perbedaan cara mengases database dgn conected ( client dan server database tergubung terus selama manipulasi data) dgn data reader. dan disconected , pemilihan kedua cara tsb tergantung kebutuhan aplikasi yg kita buat. misalnya untuk mengisi datagridview maka kita gunakan data adafter dan data set sedangkan jika kita ingin mengambil satu baris atau beberapa baris data maka kita gunakan data reader.
Connection
Komponen ini digunakan untuk mengatur koneksi dengan sebuah data source..
Command
command adalah pernyataan SQL atau prosedur yang tersimpan digunakan untuk mengambil, insert, delete atau update data dalam sebuah data source.
DataReader
Datareader digunakan untuk mengambil data dari database dalam mode read-only dan mode forward.
DataSet
DataSet adalah representasi data di memori . dataset terputus dari database, ia menyimpan cached sejumlah record yang diambil dari database. Ketika sambungan dibuat dengan database, data adapter membuat dataset dan menyimpan data di dalamnya. Setelah data diambil dan disimpan dalam dataset, koneksi dengan database ditutup. Hal ini yg disebut sebagai ‘arsitektur terputus/disconected’. dataset bekerja sebagai database virtual yg berada di memori yang berisi tabel.
DataAdapter
DataAdapter merupakan bagian integral dari kerja ADO.Net karena data ditransfer ke dan dari database melalui data adafter. Data adafter mengambil data dari database dan menyimpanya ke dalam dataset selain itu data adafter juga mengupdate database.
Ketika perubahan terjadi di dataset, perubahan juga terjadi di dalam database yg dilakukan oleh data adapter
Data Provider
Dataprovider digunakan untuk menghubungkan aplikasi dgn database, mengeksekusi perintah dan mengambil data, menyimpannya dalam dataset, membaca data yang diambil dan memperbarui database.
sedangkan yang dimaksud data provider adalah bagian yg spt tampak berikut ini:
Tiap data provider mempunyai namespace masing2 yg ada di NET Framework antara lain :
– System.Data.SqlClient : data provider untuk SQL Server
– System.Data.OracleClient : data provider untuk Oracle
– System.Data.Odbc : data provider untuk ODBC
-System.Data.OleDb : data provider untuk OLEDB
1. Data Provider untuk database SQL SERVER
Data Profider SQL Server ada di namespace System.Data.SqlClient. Berikut ini beberapa class class yg disediakan dlm namespace tsb :
– SqlConnection: class yg digunakan untuk koneksi ke database SQL Server
– SqlCommand : class yg digunakan untuk mengeksekusi SQL query atau store procedures
– SqlDataAdapter: class yg menghubungkan dataset dan database SQL Server
– SqlDataReader : class yg digunakan untuk membaca database secara read only.
2. Data provider untuk database ORACLE
Data provider khusus untuk database Oracle tersedia di namespace System.Data.OracleClient. Berikut ini beberapa class class yg disediakan dlm namespace tsb :
– OracleConnection
– OracleCommand
– OracleDataAdafter
– OracledataReader
3. Data provider OLEDB untuk database dg teknoogi yg lama
OLEDB digunakan untuk database lama antara lain : Pradox, Dbase, MsAccess ,Mysql ,DB2 dan sql server versi lama. selain itu OLEDB juga digunakan ketika kita menggunakan 2 database yg berbeda misal kita menggunakan MsAccess dan SQL server dlm satu aplikasi secara simultan.
Data provider OLEDB harus melalui beberapa layer untuk mengakses database. sehingga lebih efisien anda menggunakan data provider yg spesifik untuk tiap database. mial untuk Oracle gunakanlah data provider yg ada di System.Data.OracleClient bgitupun untuk SQL Server lebih efisien menggunakan dataprovider yg tersedia di System.Data.SqlClient dari pada anda menggunakan data provider OLEDB (System.Data.OleDb).
Class class yg digunakan oleh data provider OLEDB (class class tsb ada di namespace System.Data.OleDb) antar lain:
– OleDbConnection, class untuk mengkoneksi database
– OleDbCommand, class untuk menjalankan SQL query
– OleDbDataAdapter, class untuk menghubungkan dataset dg database
– OleDbDataReader, membaca hasil output dari database
=================teori end=========================
Sekarang waktunya kita akan lihat contoh konkrit bagaimana aplikasi C# mengakses database secara “conected” dgn objek DataReader .
Contoh1 : aplikasi console C# mengkases database sql server dgn data provider SQL Server (using System.Data.SqlClient ) :
using System; using System.Data.SqlClient; // namespace data provider sql server namespace ContohAksesSqlServer { class ContohSqlServerProvider { static void Main(string[] args) { // buat string untuk koneksi string stringKoneksi = @ &quot; server = .\sqlexpress; integrated security = true; database = perpustakaan &quot; ; // buat query string SQL = @ &quot; select * from data_buku &quot;; // deklarasikan objek connection dan data reader SqlConnection koneksi_database = null; SqlDataReader baca_data = null; try { // 1. buka koneksi ke database koneksi_database = new SqlConnection(stringkoneksi); koneksi_database.Open(); // 2. jalankan query SqlCommand cmd = new SqlCommand(SQL, koneksi_database); // tampilkan judul kolom data Console.WriteLine(&quot;Judul buku \t Pengarang\n&quot;); // 3. proses output table baca_data = cmd.ExecuteReader(); while(baca_data.Read()) { Console.WriteLine(&quot;{0} | {1}&quot;, baca_data[0].ToString(baca_data[1].ToString()); } } catch (Exception e) { Console.WriteLine(&quot;Error: &quot; + e); } finally { //4. Tutup Koneksi koneksi_database.Close(); } } }
Untuk menghubungkan aplikasi C# dng database sql server selain dengan data provider khusu untuk sql server spt diatas ( using System.Data.SqlClient) juga bisa dengan OLEDB ataupun dgn ODBC adapun dimana letak perbedaan utamanya bisa dilihat di table berikut ini:
Contoh2 : Koneksi Aplikasi C# dg database MsAccess menggunakan data provider OLEDB (using System.Data.OleDb;)
contoh3 : koneksi aplikasi C# dengan MYSQL menggunakan data provider milik mysql (using MySql.Data.MySqlClient;)
https://pccontrol.wordpress.com/2011/04/28/pemrograman-c-dengan-mysql/
contoh4: VB.Net dengan database MYSQL
https://pccontrol.wordpress.com/2014/12/17/pengetahuan-dasar-koneksi-vb-net-dan-database-mysql/
Pengetahuan Dasar C# .Net Micro Framework untuk microcontroller ARM (modul Netduino)
Apa itu .Net Micro Framework?
.Net Micro Framework adalah flatform NET untuk pemrograman embeded yg terintegrasi dengan Visual studio , menggunakan bahasa pemrograman C#.
Kelebihan .Net Micro:
- Easily develop powerful, interactive, and complex applications
- Securely connect devices over wired or wireless protocol
- Develop full solutions using .NET including devices, servers, and the cloud
- Rich base class library
Sofware yg dibutuhkan
1. Microsoft Visual C# Express 2010
2. Microsoft .NET Micro Framework v4.1 SDK
3. Netduino1 SDK 4 (disediakan oleh SecretLabs)
(jika anda menggunakan modul selain netduino maka kebutuhan software no 3 juga di sesuaikkan dgn modul yg anda gunakan)
Hardware
Modul hardware yang kita gunakan adalah Netduino sebuah open-source electronic platform yg menggunakan .NET Micro Framework . Rangkaiannya ada disini . Kalau mau beli sepertinya sudah ada di prasimax.
saat ini Netduino ada 3 model
1. Netduino
2. Netduino mini
3. Netduino plus
Membuat Project Baru
1. Buka Visual Studio atau C# express
2. New Project
3. Pilih template Micro Framework spt tampak dibawah ini , sesuaikan dgn modul netduino yg anda miliki.
5. Klik program.cs
copy dan pasta program C# Net Micro Netduino berikut ini.
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
public class BlinkingLed
{
public static void Main()
{
var ledPort = new OutputPort(Pins.ONBOARD_LED, false);
while (true)
{
ledPort.Write(true); // LED on
Thread.Sleep(500); // delay 500 ms
ledPort.Write(false); // LED off
Thread.Sleep(500); // delay 500 ms
}
}
}
6. klik menu Debug->Build Solution
Jika sukses maka kita bisa melanjutkan dengan mengirim program yang sudah di buld ke Modul melalui port komunikasi USB.
Langkah mentrasfer program yg sudah dibuild ke modul sebagai berikut
1. klik kanan pada project dan klik properties
2. klik tab menu .NET Micro Framework. kemudian set spt gambar antara lain:
- Configuration : Active (Debug)
- Platform : Active (Any CPU)
- Transport : USB
- Device : select your Netduino from the drop-down list.
- Generate native stubs for internal methods : unchecked
Kalau pada isian text boxt “Device” kosong , kita harus mengkoneksi modul netduino ke PC kita dulu lewat port USB nya.
3. Klik menu Debug-Start Debugging , maka program akan ditransfer ke Modul Netduino.
Untuk menghapus program di modul gunakan MFDeploy lokasinya ada di :
C:\Program Files\Microsoft .NET Micro framework\v4.1\Tools\MFDeploy.exe
Langkah langkah Menghapus program di Modul Netduino
1. Buka MFDeploy pastikan pilih “USB” pada pilihan Device spt pd gambar diatas.
2. Cabut dan pasang kembali USB cable sambil tombol di netduino ditekan.
3. lepas tombol dan klik erease pada MFDeploy.
selesai.
Contoh 2 membaca penekanan tombol
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using SecretLabs.NETMF.Hardware;
using SecretLabs.NETMF.Hardware.Netduino;
namespace ButtonApp
{
public class Program
{
public static void Main()
{
// write your code here
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false);
InputPort button = new InputPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled);
bool buttonState = false;
while (true)
{
buttonState = button.Read();
led.Write(!buttonState);
}
}
}
}
Untuk memperdalam C# .Net Micro Framework ada baiknya anda pelajari juga dasar bahasa pemrograman C# .
sumber
Dasar Merancang Tabel , Relasi antar Tabel dan Data Integrity dgn MYSQL – C#
Buat anda yang sedang atau pernah kuliah di informatika mungkin artikel ini tdk terlalu berguna. Artikel ini saya tujukan buat anda yang belum pernah mempelajari dasar membuat tabel di dalam sebuah database.
Merancang Tabel
Penjelasan tujuan perancangan tabel di dalam database diantaranya bisa dilihat pada contoh berikut:
Misalnya pada sebuah manufacture yang memproduksi Televisi , mempunya tabel output produksi sbb:
no | LINE | TGL | WAKTU | MODEL | SIZE | Tujuan |
1 | A | 4/27/2010 | 09:03:22 | AAA | 14 | Australia |
2 | A | 4/27/2010 | 09:04:21 | AAA | 14 | Australia |
3 | B | 4/27/2010 | 09:05:13 | ABC | 21 | Pilipina |
4 | B | 4/28/2010 | 09:05:34 | ABC | 21 | Pilipina |
5 | B | 4/28/2010 | 09:06:22 | ABC | 21 | Pilipina |
TABEL 1
Tabel diatas sepertinya tampak biasa saja bagi anda yang belum pernah mempelajari dasar dasar merancang tabel / database. Tapi sebenarnya tabel diatas bukanlah tabel yang baik. Kekurangan dari tabel diatas antara lain:
– Jika pada hari itu tdk ada produksi di line B , maka kita akan kehilangan informasi ttg model ABC. ini disebut anomali.
– Jika saya ingin mengganti data kolom Tujuan untuk model ABC dari Pilipina ke Banglades maka semua tujuan pd tiap baris harus diganti satu persatu. begitu juga jika size ingin dirubah maka semua data size tiap baris harus dirubah. hal ini tentu bukan cara yg efisien.
– Adanya data yang sama di input berulang, data size dan tujuan untuk model yg sama akan diinput kembali pada tiap baris hal ini disebut redudant . ini memboroskan lokasi memori tempat menyimpan data.
Tabel yang baik tdk mengandung anomali ataupun redudant.
Untuk memperbaiki tabel diatas, hilangkan anomali dan redudant. Salah satu caranya adalah dengan membuat tabel di atas menjadi 2 tabel sbb:
Tabel MasterModel :
idmodel | MODEL | SIZE | Tujuan |
01A | AAA | 14 | Australia |
01B | AAA | 14 | Belgia |
02A | ABC | 21 | Jepang |
02B | ABC | 21 | Rusia |
02C | ABC | 21 | Pilipina |
TABEL 2
Tabel OutputProduksi :
idmodel | TGL | WAKTU | LINE |
01A | 4/27/2010 | 09:03:22 | A |
01B | 4/27/2010 | 09:04:21 | A |
02C | 4/27/2010 | 09:05:13 | B |
02C | 4/28/2010 | 09:05:34 | B |
02C | 4/28/2010 | 09:06:22 | B |
02C | 4/29/2010 | 09:06:22 | A |
02C | 4/29/2010 | 09:06:22 | A |
02B | 4/29/2010 | 09:06:22 | B |
02B | 4/30/2010 | 09:06:22 | B |
01A | 4/30/2010 | 09:06:22 | A |
02C | 4/30/2010 | 09:06:22 | A |
TABEL 3
Setelah tabel 1 dipecah menjadi dua tabel yaitu tabel 2 dan tabel 3 maka :
– Jika kita ingin merubah data pada model , size atau data pd kolom tujuan kita cukup sekali saja merubahnya yaitu pada tabel 2.
– Jika tdk ada produksi pada tgl berapapun data informasi model tdk akan hilang dan tetap ada di tabel 2.
– Data output produksi menjadi lebih hemat memori karena kolom model size dan tujuan tdk diikutkan dalam tabel output produksi.
Yang jadi pertanyaan sekarang adalah dari mana aplikasi tahu kalau tabel 3 mempunyai hubungan /relasi dengan tabel 2?
Pada contoh di atas idmodel pada tabel 3 mengacu pada idmodel pada tabel2.
kesimpulan yg bisa diambil dari hubungan/relasi antara tabel 2 dan tabel3 :
- pertama : data dalam kolom idmodel pada tabel2 tdk boleh kosong ( ketika kolom lain ada isinya) atau istilahnya NOT NULL. contoh pada baris kedua data pada tabel dibawah ini.
idmodel | MODEL | SIZE | Tujuan |
01A | AAA | 14 | Australia |
AAA | 14 | Belgia | |
02A | ABC | 21 | Jepang |
- kedua : data dalam kolom idmodel tabel2 tidak boleh ada yg sama. contoh pada tabel dibawah ini data kolom idmodel ada yg sama hal ini tdk di izinkan.
idmodel | MODEL | SIZE | Tujuan |
01A | AAA | 14 | Australia |
01A | AAA | 14 | Belgia |
02A | ABC | 21 | Jepang |
- kolom idmodel pada tabel 3 mengacu pada idmodel tabel 2 dan isinya boleh kosong atau NULL.
Dalam istilah database, kolom idmodel pada tabel 2 disebut Primary Key yaitu kolom yang unik sebagai indentitas record dlm sebuah tabel dan idmodel pada tabel 3 disebut Foreign Key.
Untuk membuat Tabel2 dengan Primary key dan tabel 3 dgn Foreign Key perintah nya SQL untuk database mysql seperti dibawah ini:
CREATE TABLE MasterModel(
idmodel INT NOT NULL PRIMARY KEY,
MODEL VARCHAR(50),
SIZE VARCHAR(50),
Tujuan VARCHAR(50),
);
Sedangkan untuk membuat tabel 3 dengan idmodel sebagai Foreign key
CREATE TABLE OutputProduksi(
idmodel FOREIGN KEY REFERENCES MasterModel(idmodel))
TGL DATE,
WAKTU TIME,
LINE VARCHAR(10)
);
Baris perintah diatas memberitahu DBMS bahwa terjadi hubungan antara tabel sbb:
Data Integrity (integritas data)
Data integrity artinya data di database benar dan konsisten. Ada dua aspek yang membentuk data integrity yaitu:
- Entity Integrity (EI) : Bahwa nilai data pada primary key harus ada dan nilainya tdk boleh ada yang sama. DBMS (database managamen system spt SQL Server, MYSQl dll) memberlakukan EI dgn tdk mengijinkan operasi INSERT atau UPDATE dan menghasilkan pesan kesalahan jika ada Nilai kosong atau sama. Untuk membuat EI anda harus mendefinisikan kolom yg dijadikan Primary Key.
- Referensial Integrity adalah konsep database yang memastikan bahwa hubungan antara tabel tetap konsisten. Misalnya Pada contoh hubungan tabel MasterModel dan OutputProduksi. Kita tidak bisa menghapus data model di tabel MasterModel, karena data tsb terkait ke tabel OutputProduksi.
to be continyu
referensi:
Contoh Koneksi C# dengan MS Access 2003 (*.mdb) dan 2007 (*.accdb)
Artikel ini adalah lanjutan/contoh program dari artikel Pengetahuan Dasar ADO.NET C# untuk Pemrograman Database using System; using System.Data; using System.Data.OleDb; using System.Collections.Generic; using System.Text; /* untuk Ms aceess2007 ganti connStr dengan: @"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=D:\dataaccess2007.accdb;Persist Security Info=False;" */ private void cmdConnect_Click(object sender, EventArgs e) { string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\dataaccess2003.mdb;Persist Security Info=False;"; if (connMsAccess != null) connMsAccess.Close(); string connStrMsaccess = String.Format(connStr); try { connMsAccess = new OleDbConnection(connStrMsAccess); connMsAccess.Open(); txtRemark.Text = "ONLINE"; tmrUpdate_datanya.Enabled = true; } catch { this.txtRemark.Text = "koneksi gagal"; } } private void tmrupdate_datanya_Tick(object sender, EventArgs e) { OleDbCommand cmdMsaccess = new OleDbCommand(); cmdMsaccess.Connection = connMsAccess; cmdMsaccess.CommandText = "select * from tabel_output_akhir where id = 1"; OleDbDataReader ReaderMsAccess = null; try { ReaderMsAccess = cmdMsaccess.ExecuteReader(); while (ReaderMsAccess.Read()) txtPlanF.Text = reader["plan"].ToString(); txtTargetF.Text = reader["target"].ToString(); txtActualF.Text = reader["actual"].ToString(); ReaderMsAccess.Close(); txtRemarkG.Text = "Network ok"; } catch { txtRemarkG.Text = "terputus"; } }
Konversi Bilangan Integer ke Hexa pada C# (C sharp)
Code Program C# untuk konversi Integer ke Hexa dan sebaliknya:
privatevoid button1_Click(object sender, EventArgs e)
{
textBox2.Text = Int16.Parse(textBox1.Text).ToString(“X”); // integer to hex
}
privatevoid button2_Click(object sender, EventArgs e)
{
textBox3.Text = ( int.Parse(textBox2.Text ,System.Globalization.NumberStyles.HexNumber)).ToString();
}