Category Archives: Daftar isi

Contoh Code modbus client VB net Membaca dan Menulis Modbus TCP device Server

Pendahuluan

Berikut ini contoh mudah membaca dan menulis dgn vb net ke device yg menggunakan protokol Modbus

Imports EasyModbus
Public Class Form1
    Dim ComError
    Dim ModbusClient
    Dim modClient As New EasyModbus.ModbusClient

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim dataku As Integer()
        Try
            dataku = modClient.ReadHoldingRegisters(Convert.ToInt16(TextBox7.Text), Convert.ToInt16(TextBox8.Text))
            ListBox1.Items.Clear()
            If dataku.Length > 0 Then
                For Each value As Integer In dataku
                    ListBox1.Items.Add(value)
                Next
            End If
            TextBox4.Text = "read berhasil"
        Catch ex As Exception
            ' MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox4.Text = ex.Message
        End Try


    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        'Modbus_Client = New EasyModbus.ModbusClient(TextBox1.Text, 502)
        modClient.IPAddress = TextBox1.Text
        modClient.Port = TextBox2.Text

        ComError = 0
        Try

            modClient.Connect()
            TextBox4.Text = "Communication OK!"
        Catch ex As Exception
            ' MessageBox.Show("An error occurred: " & ex.Message, "Error Occurred", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning)
            TextBox4.Text = ex.Message
            ComError = 1
        End Try
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Try
            modClient.Disconnect()
            TextBox4.Text = "diskonek berhasil"
        Catch ex As Exception
            TextBox4.Text = ex.Message
        End Try


    End Sub

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

            modClient.WriteSingleRegister(Convert.ToInt16(TextBox6.Text), Convert.ToInt16(TextBox3.Text))
            TextBox4.Text = "writw berhasil"
        Catch ex As Exception
            TextBox4.Text = ex.Message
        End Try
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        '  TextBox5.Text = EasyModbus.ModbusClient.ConvertRegistersToLong(modClient.ReadHoldingRegisters(4, 2))
        '  UShort[] holdingRegisters = modbusClient.ReadHoldingRegisters(100, 2)
        Dim holdingRegisters As Integer() = modClient.ReadHoldingRegisters(4, 2)

        ' Convert the registers to a long integer
        Dim value As Long = ModbusClient.ConvertRegistersToLong(holdingRegisters)
        TextBox5.Text = value.ToString()
    End Sub
End Class

Doownload Source Code disini

Untuk Modbus TCP Servernya Kita gunakan aplikasi Simulator counter produksi sbb:

Target akan increment 1 setiap sekian detik sesuai waktu cycleTime yg diset . misal cycle time = 5 , maka setiap 5 detik target akan bertambah 1.

Download aplikasi counter simulator disini

Referensi :

  1. http://easymodbustcp.net
  2. http://counterproduksi.com

Cara Praktis Mengatasi Noise Pada Lingkungan Industri.

[Draft Article]

Berikut ini cara praktis mengatasi Noise pada Lingkungan Industri yang menyebabkan terganggunya rangkaian elektronik yang kita buat

  • Guanakan capacitor 100nF pada VCC – Gnd untuk setiap IC.
  • Tambahkan capasitor pada power dc .
  • Gunakan Emi filter dan wajib kaki ground emi filternya dihubungkan ke eart ground.
  • Disarankan gunakan casing berbahan metal/logam daripada plastik.
  • Gunakan Power Supply yang berkualitas .
  • Lakukan uji emi noise sebelum alat dipasang di lingkungan industri.
  • Beri jarak antara cable data dan cable power
  • gunakan kabel yg shielded
  • Untuk komunikasi data serial gunakan rs485 dari pada rs232
  • gunakan komponen yg berkualitas, jika ada pilihan pakai chip yg punya fitur noise imunnity

Silahkan di tambahan dikolom komentar jika ada solusi atau pendapat lain..

Pengetahuan Dasar Membaca Arus 4-20ma dengan Arduino

Langsung saja caranya ada disini : https://www.youtube.com/watch?v=zSiV1d5COys

Modul converter 4-20ma to voltage 3,3/5/10v dc

Specifications:

  • Output : 0-3.3V/5V/10V
  • Voltage Supply Voltage : 7-24v ( apabila output 10v, power suply harus di atas 12v).
  • When the current input is minimum (0mA or 4mA), adjust the ZERO potentiometer, so that the output of VOUT is minimum (0.0V or other voltage)
  •  When the current input is the maximum (20mA), adjust the SPAN potentiometer, so that the VOUT output is the maximum value (3.3V or 5V or 10V, when the input is 4-20mA, the minimum output can be 2.5V).

4–20ma:

  • 0-2.5V range: J1 1,2 feet short, 3,4 feet shorted
  • 0 – 3.3V range: J1 1,2 feet off, 3,4 feet off
  • 0 – 5.0V range: J1 1,2 feet short, 3,4 feet shorted
  • 0–10.0V range: J1 1,2 feet short, 3,4 feet off

 0–20ma:

  • 0–3.3V range: J1 1,2 feet short, 3,4 feet shorted
  • 0 – 5.0V range: J1 1,2 feet short, 3,4 feet shorted
  • 0–10.0V range: J1 1,2 feet short, 3,4 feet off

Wiring Diagram

Contoh Code Arduino membaca data Analog ADC

void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}

// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1); // delay in between reads for stability
}

================================================

Dengan mengambil Nilai Rata Rata hasil analogRead

*/

// the loop routine runs over and over again forever:
void loop() {
i++;
int sensorValueA0 = analogRead(A0);
akumulasiA0=akumulasiA0 + sensorValueA0;
if(i==100)
{
i=0;
rata2A0 = (float) akumulasiA0/100;
delay(5);
akumulasiRata2A0=akumulasiRata2A0 + rata2A0;
j++;
rata2A0=0;
akumulasiA0=0;
if(j==10){
j=0;
rata2akumulasiRata2A0= akumulasiRata2A0/10;
float dataA0 = ((rata2akumulasiRata2A0/1023.00)*400.00)-200.00;
// Serial.print(“dataA0 = “);
Serial.println(dataA0,1);
akumulasiRata2A0=0;
delay(400);
}

}

}

untuk methode filter noise lainnya bisa dibaca disini

 

Pengetahuan Dasar Arduino : simpan data Arduino ke database mysql melalui ethernet

untuk  percobaan yg harus disiapkan

-software : xampp   (   webserver  dan mysql  server)

-hardware : arduino + ethernet shield  + kabel data utp   + komputer

-sedikit pengetahuan dasar  script    php.

Kita akan menyimpan data arduino  melalui webserver  (script php). disini  arduino  berlaku sebagai web client spt  chrome atau ie

arduinosbgwebclient

Langkah langkah

  1.  upload sketch arduino sbb

Arduino -webserver (script php)  -> mysql
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server(192,168,1,10); //   alamat IP  komputer yg terinstall webserver  + mysql
//char server[] = “www.websiteku.com”; // name address for websiteku.com (using DNS)

// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192, 168, 1, 177);

// Initialize the Ethernet client library
EthernetClient client;

void setup() {
// Open serial communications
Serial.begin(115200);

// start the Ethernet connection:
if (Ethernet.begin(mac) == 0) {
Ethernet.begin(mac, ip);
}
// give the Ethernet shield a second to initialize:
delay(1000);
Serial.println(“connecting…”);

// if you get a connection, report back via serial:
if (client.connect(server, 80))
{
Serial.println(“connected”);
// Make a HTTP request:
client.println(“GET /latihan1/update_data.php?temperature=99 HTTP/1.1”);
client.println(“Host: http://www.google.com&#8221;);
client.println(“Connection: close”);
client.println();
} else
{
// if you didn’t get a connection to the server:
Serial.println(“connection failed”);
}

}

void loop()
{
// if there are incoming bytes available
// from the server, read them and print them:
if (client.available())
{
char c = client.read();
Serial.print(c);
}

// if the server’s disconnected, stop the client:
if (!client.connected())
{
Serial.println();
Serial.println(“disconnecting.”);
client.stop();

// do nothing forevermore:
while (true);
}
}

2.  tulis script PHP  berikut dan simpan dgn nama :  update_data.php  , tempat menyimpan di  folder latihan1 di dldm folder httdoc

<?php
$servername = “localhost”;
$username = “root”;
$password = “pasword”;
$dbname = “test”;

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die(“Connection failed: ” . mysqli_connect_error());
}

$sql = “UPDATE temperature SET celsius = ‘”.$_GET[“temperature”].”‘ WHERE censor = ’12′”;

if (mysqli_query($conn, $sql)) {
echo “update ok”;
} else {
echo “Error: ” ;
}

mysqli_close($conn);
?>

 

3.  jalankan xampp  ,  start   webserver apache dan mysql server.

xampp.jpg

4. buat tabel temperature   di database test    .  buat menggunakan phpMyadmin

5. restart arduino

6. buka localhost/phpmyadmin lihat database test dan tabel temperatur apakah data sdh tersimpan/terupdate.

Ahlan Wa Sahlan Ya Ramadhan

Ahlan Wa Sahlan Ya Ramadhan

Oleh Dr. Ahzami Sami’un Jazuli, MA

وَإِنَّهُ لَذِكْرٌ لَكَ وَلِقَوْمِكَ وَسَوْفَ تُسْأَلُونَ

Dan sesungguhnya al-Qur’an itu benar-benar adalah suatu kemuliaan
besar bagimu dan bagi kaummu dan kelak kamu akan diminta pertanggungan
jawab” (QS Az-Zukhruf: 44).

Ketika Allah Swt.. menjadikan Islam sebagai rahmat buat alam semesta; ketika Allah Swt. menghendaki dari umat Islam menjadi umat terbaik; ketika Allah Swt. menghendaki agar umat Islam mampu memikul amanah untuk memimpin dunia ini; ketika Allah menghendaki agar umat Islam menjadi saksi bagi seluruh umat manusia, maka ketika itulah Allah Swt. mempersiapkan umat Islam sedemikian rupa, agar umat Islam ini layak menjadi umat yang terbaik. Di antara sarananya adalah dengan pembentukan manusia yang bertaqwa. Pembentukan manusia yang bertaqwa inilah yang banyak dilupakan manusia, sehingga ukuran kemajuan atau ukuran kesejahteraan hidup diukur dengan paradigma materi. Lupa bahwa manusia itu bukan hanya dari unsur materi saja, tetapi manusia punya nurani yang harus diperhatikan, yang harus dibina sehingga pantas untuk menjadi manusia yang terbaik. Oleh karena itu Ramadhan hadir di tengah-tengah kita dalam rangka untuk menjadikan umat Islam sebagai umat terbaik yang layak memimpin dunia ini.

Di dalam bulan Ramadhan banyak sekali kebajikan ilahi yang harus kita dapatkan, sehingga kita keluar dari bulan Ramadhan ini benar-benar menjadi manusia terbaik, manusia yang berkualitas, manusia yang berprestasi. Oleh karena itu marilah kita berupaya benar-beanr memahami puasa itu sebagaimana yang diharapkan Allah Swt.

Pertama, puasa membentuk manusia yang mengoptimalkan kontrol diri (self control). Mengapa? Karena puasa sangat terkait dengan keimanan seseorang. Seseorang bisa saja mengatakan dirinya sedang berpuasa, sekalipun sebenarnya tidak. Oleh karena itu puasa disebut ‘ibaadah sirriyyah (ibadah yang bersifat rahasia). Rahasia antara seorang hamba dengan Al-Kholiq. Sampai-sampai Allah Swt. mengatakan dalam sebuah hadits Qudsi yang sering kita dengar “Kulluu ‘amali ibnu aadama lahu illash-shiyaam. Fa innahu lii wa ana ajzii bihi (setiap amal manusia untuk dirinya sendiri, kecuali puasa. Sesungguhnya puasa itu untuk aku. Dan akulah yang membalasnya)”. Pertanyaannya adalah apakah amal selain puasa tidak dibalas Allah? Dibalas. Tetapi kenapa dalam masalah puasa Allah menegaskan bahwa Dia yang akan membalasnya sehingga seolah-olah amal yang lain itu bukan Allah yang membalasnya? Ini merupakan isyarat Rabbaniyah bahwa amal manusia yang bernama ash-shiyam benar-benar insya Allah akan dijamin diterima oleh Allah Swt. Apakah yang lain tidak dijamin? Ini karena puasa itu adalah ibadah sirriiyyah, dimana orang tidak mengetahui dan tidak melihat ketika dia berpuasa. karean ketika kita berpuasa, tidak ada orang lain yang tahu. Maka ibadah yang sirriyyah itu adaah sangat dekat dengan keikhlasan. Dan syarat agar suatu amal itu diterima oleh Allah, selain harus benar sesuai dengan ajaaran Rasulullah Saw., harus ikhlas. Makanya kalau ingin menjadi orang yang populer, tidak bisa melewati pintu puasa. Kalau terkenal sebagai seorang mubaligh, bisa. Terkenal menjadi qori’ dan qori’ah, bisa. Terkenal menjadi politikus, bisa. Dan itu semuanya sangat rawan dengan riya’, dan riya’ itu menjadikan amal tidak diterima oleh Allah Swt. Itulah sebabnya mengapa dalam kaitannya dengan puasa ini Allah menegaskan bahwa Dia sendiri yang akan membalasnya. Inilah yang dikatakan bahwa puasa akan melatih kita untuk mempunyai tingkat kontrol yang tinggi, baik ketika kita menjadi seorang pemimpin, atau karyawan, ulama’ atau yang lainnya. Kita tidak merasa dikontrol oleh yang lainnya, akan tetapi yang terpentinga dalah bahwa kita sadar bahwa kita dikontrol oleh Allah Swt.

Yang kedua, lembaga shiyam ini mendorong kita agar kita agar obsesi kita tentang kehidupan akherat itu lebih dominan daripada obsesi dunia. Jadi obsesi ukhrowi kita, agar kita menjadi hamba Allah yang akan mendapatkan kenikmatan abadi, itu harus lebih dominan daripada kesenangan yang sifatnya sementara. Karena seluruh kenikmatan yang ada di dunia ini, nikmat apa pun namanya, harta, pangkat, dan sebagainya itu semuanya bersifat sementara. Makanya dalam bahasa Al-Qur’an kenikmatan dunia itu tidak disebut nikmat, akan tetapi disebut mata’. Mata’ itu arti adalah maa yatamatta’u bihil insan tsumma yazulu qoliilan-qoliilan (mata’ adalah sesuatu yang disukai oleh manusia, akan tetapi sedikit demi sedikit akan hilang)”. Kalau kita ditakdirkan Allah mempunyai istri yang sangat cantik, ketika sudah berusai 60 tahun, maka kecantikannya pasti akan luntur, sehingga mungkin kita berpikir mencari yang masih muda lagi. Kenapa? karena kenikmatan dunia itu pasti ada batasnya. Ini adalah halyang manusiawi. Puasa itu melatih kita agar obsesi yang ada dalam diri kita itu obsesi yang tentang kehidupan yang abadi di akhirat. Makanya makanan, minuman, istri, dan semua yang halal itu kita gapai dalam rangka untuk mendapatkan kenikmatan yang abadi.

Di negara kita yang sedang terkena krisis multi dimensional ini dan dipenuhi dengan kerusuhan, disebabkan karena banyak manusia di negara ini ytang obsesinya bukan obsesi ukhrowi. Adaorang yang ingin menjatuhkan orang lain, ada orang yang khawatir kalau-kalau dijatuhkan. Kalau obsesi duniawi ini dominan, bisa-bisa kita akan kehilangan kehidupan ukhrowi kita. Ketika kita memasuki bilan Ramadhan, maka kita akan ditarbiyah oleh Allah agar obsesi kit aadalah obsesi ukhrowi. Namun ini bukan berarti kehidupan duniawi dilarang. Akan tetapi duniawi itu bukan yang dominan dalam kehidupan kita. Makanya kita diajarkan untuk berdo’a “Walaa taj’al mushiibatana fii diinina, walaa taj’aliddun-yaa akbaro hammina (jangan jadikan dunia sebagai obsesi terbesar dalam kehidupan kami), walaa mablagho ‘ilmina, walaa ilannaari mashiirona. Do’a ini sering dibaca, akan tetapi dalam perbuatannya warnanya lain.

Yang ketiga, dari lembaga shiyam ini akan melahirkan manusia-manusia yang benar-benanr mempunyai al-hasasiyyah al-ijtima’iyyah (mempunyai kepekaan sosial yang tinggi). Dari mana bisa kita ketahui? Ketika kita berpuasa sunnah, baik Senin-Kamis atau puasa ayyamul bidh, kita merasakan berpuasa sendirian. Dibandingkan dengan puasa di bulan Ramadhan, puasa sunnah ini perasaan kita lebih berat, karena dilaksanakan sendirian. Ini yang harus kita perhatikan, sekarang ini bangsa kita (sebagian besar) sudah kehilangan kepekaan sosial. Kalau ada tindak kejahatan di tempat keramaian, sangat langka kita temukan orang yang peduli dengan membantu melawan penjahat. Kalau ada wanita yang sangat cantik lewat dan hampir semua mata melihat, apakah ada orang yang memprotes hal itu? Padahal, bukankah wanita itu isterinya orang yang haram untuk dipelototi? Bahkan perbuatan seperti ini kadangkala diberikan pembenaran dengan dalih ‘mubadzir’ kalau tidak dilihat. Ini menunjukkan rendahnya sensitifitas keimanan (hasasiyah imaniyah). Yang ada adalah kerawanan dalam kehidupan sosial, karena kemaksiatan sudah melembaga dan orang diam saja ketika melihatnya. Padahal di masa Rasulullah SAW, orang tidak akan tinggal diam ketika melihta suatu kemungkaran. Bahkan ketika jauh setelah kehidupan Rasulullah, baik di jaman tabi’in maupun tabi’it tabi’in, tetapi mereka masih komitmen dengan ajaran Allah, maka sensitifitas sosial itu sangat tinggi. Misalnya, di jaman dahulu kalau kita shalat jama’ah di masjid, kemudian kita melihat ada tetangga atau saudara kita tidak datang, maka setelah selesai shalat, semua jama’ah langsung mendatangi orang yang tidak shalat berjama’ah tadi untuk menziarahinya, seolah-olah orang yang tidak shalat jama’ah itu adalh orang yang mati sehingga perlu dita’ziyahi. Kalau seandainya kita tidak shalat jama’ah dan kemudia kita dita’ziyahi, maka kita akan termotivasi untuk selalu shalat jama’ah. Dan shalat jama’ah adalah ibadah yang sangat terkait dengan sensitifitas sosial. Ironisnya di negara ini ketika ada orang diganggu, dicopet, atau digoda, yang lainnya diam saja, dan bisikan yang ada dalam dirinya adalah ‘yang penting saya selamat’. Orang seperti ini adalah orang yang mati dalam kehidupannya, karena bahasa masing-masing itu bahasa akhirat, bahasa ketika kiamat tiba, sehingga orang sibuk dengan urusannya masing-masing. Suami lari dari istri dan anaknya, anak lari dari orang tuanya. Allah berfirman:

“Dan apabila datang suara yang memekakkan (tiupan sangkalala yang kedua). Pada hari ketika manusia lari dari saudaranya, dari ibu dan bapaknya, dari istri dan anak-anaknya. Setiap orang dari mereka pada hari itu mempunyai urusan yang cukup menyibukkannya” (QS ‘Abasa: 33-37).

Jadi kehidupan masing-masing itu adalah kehidupan akherat. Akan tetapi sekarang ini sudah ada di dunia., Berarti seolah-olah sebagian masyarakat sudah merindukan kematian, padahal masih hidup. Makanya banyak kebajikan yang tidak jalan, keadilan tidak tegak. Dalam kondisi demikian, puasa hadir di tengah-tengah kita untuk memperlihatkan bagaimana Islam itu benar-benar mempunyai kepedulian terhadap kehiduapan bermasyarakat.

Pada masa Rasulullah Saw., ada juga kemaksiatan. Adajuga shahabat yang berbuat maksiat, karena mereka bukan malaikat. Sekalipunsebaik-baik generasi adalah genarasi Rasulullah Saw., akan tetapi ada saja yang berbuat maksiat. Adayang pernah mencuri, ada yang pernah berbuat zina dan yang lainnya. Akan tetapi kriminalitas itu masih sangat kecil sekali, sehingga jarang ditemui. Itu pun bersifat pribadi dan dilakukan dengan sembunyi-sembunyi. Ironisnya, sekarang maksiat itu dilakukan ramai-ramai dan secara terang-terangan tanpa malu-malu. Sehingga yang benar itu tertutup, keamanan tidak nampak. Yang nampak adalah sesuatu yang menakutkan. Bahkan kadang-kadang sampai di tempat yang suci seperti masjid, kadang-kadang orang tidak bisa khusyu’ shalatnya karena takut sepatu atau sandalnya hilang. Kalau di masjid saja orang masih tidak khusyu’ beribadah karena khawatir menjadi korban kejahatan, bagaimana di tempat yang lain? Ini semua karena bayak orang yang telah kehilangan kepedulian sosialnya. Inilah bedanya antara jaman kita dengan jaman Rasulullah Saw. Bahkan di masa Rasulullah Saw., ketika ada seorang berbuat zina dan kemudian dia hamil, dia sendiri kemudian bertaubat dan malah dia sendirilah yang melakukan perbuatannya itu kepada Rasulullah Saw., karena ketika dia berzina, itu terjadi karena kelemahamn iamnnya. Dalam hadits dijelaskan “Laa yadri azzani ila yazni wahuwa mu’min (tidaklah seseorang berani berbuat zina ketika zina, sementara dia dalam keadaan beriman)”. Ketika seorang perempuan tadi berzina, dan setelah itu ia sadar bahwa ia telah berbuat dosa, langsung dia datang kepada Rasulullah Saw. minta agar dia dihukum sesuai dengan ajaran Islam. mari kita merenung. Memang benar bahwa pada masa Raulullah pun ada orang yang berbuat salah. Akan tetapi ketika ada diantara mereka yang berbuat salah, dia langsung mengaku dan minta dihukum, padahal oranmg lain tidak tahu. Sekarang bagaimana kondisinya? Jadi kalau kita bersalah, hendaklah kita datang untuk minta dihukum. Kenapa? Karena seorang mukmin yang benar-benar beriman, benar-benar yakin bahwa siksa akhirat itu lebih pedih. Dengan demikian, benar-benar akan efisien tenaga itu. Kalau seandainya semua orang sama dengan wanita yang bertaubat ini, maka aparat hukum tidak perlu capai-capai.

Ash-shiyam secara bahasa artinya adalah al-habsu (menahan diri), menahan diri dari seluruh bentuk kemaksiatan. Kalau setiap kita menahan diri, jangankan terhadap yang haram, yang mubah saja akan kita tinggalkan. Makanan, minuman, istri itukan boleh. Akan tetapi di bulan Ramadhan pada siang harinya semua bisa kita tahan. Kalau yang halal saja bisa kita tahan, apalagi yang haram? Oleh karena itu jangan dalam berpuasa malah terbalik, yaitu yang mubah ditinggalkan tetapi yang haram dilakukan. Makanan, minuman ditinggalkan, ghibah dilakukan, korupsi jalan terus, dengan alasan untuk persiapan lebaran.

Inilah kepekaan-kepekaan ruhani yang benar-beanr mengalir dalam setiap diri kita ketika kita berpuasa sebagaimana yang dikehendaki Allah Swt. Dan jangan sampai ada di antara kita yang menganggap bahwa puasa itu berat. Bahkan Rasulullah Saw. dan para shahabat serta para tabi’in, banyak yang menggunakan Ramadhan untuk berjihad di jalan Allah Swt. Perang Badar, Perang Fathu Makkah, Perang ‘Iinu Jaalut yang terjadi pada abad ke-7 Hijriyah, dimana tentara-tentara Islam di bawah pimpinan mamaalik (jama’ dari mamluk) bisa mengalahkan tentara-tentara salib, terjadi di bulan Ramadhan. Saking hebatnya kemenangan yang dicapai umat Islam pada bulan Ramadhan, Allah Swt. mengabadikannya dalam Al-Qur’an, sebagaimana yang terdapat pada QS Al-Anfal, dimana perang Badar dikatakan sebagai yaumal furqoon, sebagaimana yang terdapat pada firmanNya:

“Ketahuilah, sesungguhnya apa saja yang dapat kamu peroleh sebagai rampasan perang, maka sesungguhnya seperlima untuk Allah, Rasul, kerabat Rasul, anak-anak yatim, orang-orang miskin dan Ibnu sabil, jika kamu beriman kepada Allah dan kepada apa yang Kami turunkan kepada hamba Kami (Muhammad) dihari Furqaan, yaitu di hari bertemunya dua pasukan. Dan Allah Maha Penguasa segala sesuatu” (QS Al-Anfal: 41).

Pasukan kebenaran yang jumlahnya sedikit, tetapi dimenangkan oleh Allah Swt. dalam melawan kekuatan bathil yang mempunyai kekuatan besar dan jumlah tentara yang sangat banyak. Oleh karena itu Ramadhan yang akan kita lalui ini semoga mengantarkan kita pada kemenenagan, kemenangan melawan hawa nafsu, kemenangan bangsa ini dalam melawan krisis, kemenangan umat Islam dalam melawan perselisihan, percekcokan antara sesama umat Islam, kemenangan bangsa ini dalam menghadapi konspirasi dunia internasional yang dimotori oleh Yahudi, yang mereka tidak senang melihat Indonesia maju karena negara ini adalah negara Islam. oleh karena itu marilah kita jadikan Ramadhan ini kita jadikan momentum Islam untuk kembali kepada Allah sehingga mencapai kemenangan yang hakiki. Wallahu a’lam bishshawab.

Pengetahuan Dasar Arduino : Membaca dan menulis Flashdisk dgn Modul CH376s

Pengetahuan Dasar Arduino : Membaca dan menulis Flashdisk dgn Modul CH376s

[draft]

modulch376s

—-

fdd

 

Pengetahuan Dasar VB.Net : Membuat laporan dengan Report Viewer dan Report Builder

[Draft]    test

Software yang digunakan pada artikel:  Visual Studio express 2013, database Sql Server express 2014 dan Report Builder 2014.

reportBuilder

Gambar 1. Aplikasi Report Builder untuk membuat dokument lamporan ( *.rdl )

 

Tahapan membuat Report dengan Report Viewer

  1. Buat dokumen Report  (*.rdl) dengan  Report Builder 2014
  2. Buat project baru dan drag and drop report viewer dari toolbox ke form
  3. tambahkan textbox dan button
  4. import namespace  untuk provider database yg dipakai dan report viwer
  5. Isi kode di artikel di bawah

report1

Gambar 2.  Tampilan Report viewer pada Form

kode program

Imports Microsoft.Reporting.WinForms
Imports System.Data.SqlClient

Public Class Form1

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

Me.ReportViewer1.RefreshReport()
End Sub

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim CONN As New SqlConnection
CONN.ConnectionString = “Data Source=neng-pc\sqlexpress;Initial Catalog=dbPOS;Integrated Security=True ”
CONN.Open()

Dim DA As New SqlDataAdapter
Dim sql As New SqlCommand(“select * from TBLBARANG WHERE STOK >” + TextBox1.Text + “”, CONN)
Dim tabelDataku As New DataTable

DA.SelectCommand = sql
DA.Fill(tabelDataku)

Dim BS As New BindingSource
BS.DataSource = tabelDataku

Try
Dim RDS As New ReportDataSource(“DataSet1”, tabelDataku)

Me.ReportViewer1.LocalReport.ReportPath = “D:\reportku.rdl”
Me.ReportViewer1.LocalReport.DataSources.Clear()
Me.ReportViewer1.LocalReport.DataSources.Add(RDS)
Me.ReportViewer1.RefreshReport()
Catch ex As Exception
MsgBox(ex.Message)
End Try

CONN.Close()

End Sub

End Class


sumber : modul training VB.NET   MITRAFAY.COM

Pengetahuan Dasar pemrograman Database POSTGRESQL dengan VB.Net

[DRAFT]

Import Npgsql

Dim CONN As NpgsqlCONNection
Dim CMD As NpgsqlCMDand
Dim DA As NpgsqlDataAdapter

Dim DS As DataSet
DS = New DataSet
CONN = New NpgsqlCONNection(“Server=127.0.0.1;Port=5432;Userid=Test;password=test;SslMode=Disable”)
CMD = New NpgsqlCMDand
CMD.CONNection = CONN
CONN.Open()
CMD.CMDandType = CMDandType.Text
CMD.CMDandText = “SELECT * FROM “”Customers””;”
DA = New NpgsqlDataAdapter(CMD)
DA.Fill(DS)
dgCustomers.DataSource = DS
dgCustomers.DataBind()

CMD.Close()
CONN.Close()

Pengetahuan Dasar pemrograman Database dengan VB.Net

  • Apa itu ADO.net ?
  • Koneksi Database SQL Server dengan Sql Server data provider
  • Koneksi DataBase  dengan OLEDB Data Provider
  • Koneksi database dengan ODBC  data Provider

Mengenal ADO.NET

Pada pemrograman sebelum .NET (VB6), pengembang menggunakan teknologi akses data seperti ODBC, OLEDB, dan ActiveX Objek Data (ADO).  Untuk pemrograman VB.NET, Microsoft membuat teknologi baru menciptakan cara baru untuk bekerja  dengan database, yang disebut ADO.NET.  dan ADO.NET bukan kelanjutan ADO teknologi sebelum NET.

ADO.NET adalah sekumpulan Class  yang menyediakan  layanan akses data untuk programer .NET,  menyediakan seperangkat komponen  untuk membuat aplikasi  data yang didistribusikan.
ADO.NET adalah bagian integral dari .NET Framework yang menyediakan akses ke database .Class ADO.NET  ada 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  VB.NET 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  sementara (catching) dan mengelola data . Dataset berupa tabel2 .  Lebih jelasnya bisa dilihat dlm arsitektur ADO.Net berikut ini:

adonet

gambar 1.  Arsitektur ADO.NET

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

ARSITEKTUR

Gambar 2.   arsitektur ADO.NET
Object2 Dataprovider digunakan untuk menghubungkan aplikasi dgn database, mengeksekusi perintah dan mengambil data, menyimpannya dalam dataset, membaca data yang diambil dan memperbarui database.  object data provider  yang akan kita bahas adalah  bagian yg spt tampak berikut ini:

dataprovider

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.

berikut penjelasan singkat  bagian/object  yang ada di  ADO.NET

  1. Connection       :  Untuk koneksi ke database
  2. Command         :   melaksanakan perintah query sql
  3. DataReader      :   membaca data read only , data sedikit
  4. DataAdafter     :    membaca data dgn  membuat buffer/catch localy
  5. DataSet             :    tempat tampungan data output dataadafter

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. Method yang sering dipakai antara lain

  • ExcuteNonQuery : tdk menhasilkan output data (delete,insert,update)
  • ExcuteScalar : menghasilkan 1 data scalar (select count(*)  )
  • ExcuteReader : menghasilkan output 0 baris atau lebih (select )

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. berikut pilihan untuk membuat object dataadafter

Dim DA As SqlDataAdapter=New SqlAdapter
Dim DA As SqlDataAdapter=New SqlAdapter(cmd)
Dim DA As SqlDataAdapter=New SqlAdapter(sql,conn)
Dim DA As SqlDataAdapter=New SqlAdapter(sql,connstring)

dataprovider

Gambar 3.  blok diagram data provider

Tiap  data provider  mempunyai namespace masing2 yg ada di NET Framework antara lain :

  • data provider  untuk  SQL Server  namespacenya  : System.Data.SqlClient
  • data provider untuk  Oracle namespacenya              : System.Data.OracleClient
  • data provider untuk  ODBC namespacenya                : System.Data.Odbc
  • data provider  untuk  OLEDB namespacenya             : System.Data.OleDb

1. Data Provider  untuk  database SQL SERVER

Data Provider untuk database  SQL Server ada di namespace System.Data.SqlClient. Berikut ini  beberapa class class   yg sering digunakan   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  yg sering digunakan antara lain:

  • OracleConnection
  • OracleCommand
  • OracleDataAdafter
  • OracledataReader

3. Data provider  OLEDB  untuk database dg teknoogi yg lama ( ms access,  sql server versi < 7 )

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 data provider 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

4. Data provider  ODBC  untuk berbagai database dg teknoogi yg lama

ODBC adalah teknologi akses data  “general purpose” asli Microsoft. ODBC masih banyak digunakan untuk sumber data yang tidak memiliki provider OLE DB atau data provider .NET Framework.
provider data ODBC ada di namespace System.Data.Odbc. Arsitektur ODBC pada dasarnya adalah proses tiga-tier. data provider ODBC kurang efisien daripada komunikasi langsung  dgn data provider  spesifik database  (sqlClient, mysqlClient, oracleClient ),  jadi  untuk kinerja lebih baik  hindari   provider data ODBC.
berikut ini beberapa class class  penting dalam namespace Odbc.

  • OdbcCommand
  • OdbcConnection
  • OdbcDataAdapter
  • OdbcDataReader
  • OdbcError
  • OdbcParameter
  • OdbcTransaction

Berikut tabel ringkasan class yang sering dipakai untuk tiap data provider

classdataprofider

Contoh  Kode Program

Sekarang waktunya kita akan lihat contoh konkrit  bagaimana aplikasi  VB.Net mengakses database secara “conected” dgn objek DataReader .


Contoh  aplikasi  mengakases database sql server dgn  data provider  SQL Server

Imports  System.Data.sqlClient

Dim CONN As New SqlConnection
conn.ConnectionString = “Data Source=.\sqlexpress;

Dim sql As String = “select * from tblKaryawan”
Dim DR As SqlDataReader = Nothing
CONN.Open()
Dim  CMD As New SqlCommand(sql, CONN)
DR = CMD.ExecuteReader()

While DR.Read()
Console.WriteLine(“{0} | {1}”,  DR(“FirstName”).ToString(),  DR(1).ToString())
End While

DR.Close()
CONN.Close()


Untuk menghubungkan aplikasi  vb.net  dg  database sql server selain dengan data provider  khusus untuk sql server spt diatas ( import System.Data.SqlClient) juga bisa dengan OLEDB ataupun dgn ODBC adapun  dimana letak perbedaan utamanya  bisa dilihat di table berikut ini:

perbedaan1

akan tetapi usahakan menggunakan provider spesifik untuk database   sebelum menetukan pilihan  kpd  data provider  OLEDB atau ODBC


Contoh Kode Program mengakses database SQL Server menggunakan data provider OLEDB

Import  System.Data.OLEDB

Dim CONN As New OleDbConnection
conn.ConnectionString = “Provider=sqloledb;Data Source=.\sqlexpress;”
Dim sql As String = “select * from tblKaryawan”
Dim DR As OleDbDataReader = Nothing
conn.Open()
Dim CMD As New OleDbCommand(sql, CONN)
DR = CMD.ExecuteReader()

While DR.Read()
Console.WriteLine(“{0} | {1}”,  DR(“FirstName”).ToString(),  DR(1).ToString())

End While

DR.Close()
CONN.Close()


Contoh Kode Program mengakses database SQL Server menggunakan data provider ODBC 

sebelumnya buat dsn ODBC melalui control panel

odbc

gambar  4.  Menu Membuat ODBC di control panel

Adapun step step selanjut  adalah sebagai berikut pd gambar dibawah ini:

odbcStep

Gambar 5. Langkah langkah membuat koneksi dsn ODBC

setelah selesai membuat  koneksi dsnODBC dengan bantuan menu di control panel baru kita buat program untuk menggunakan nya yaitu sbb:

import  System.Data.ODBC

Dim connString As String = “dsn=namaDsnODBC”

Dim sql As String = “select * from tblKaryawan”
Dim DR As OdbcDataReader = Nothing
Dim CONN As New OdbcConnection(connString)
CONN.Open()
Dim CMD As New OdbcCommand(sql, CONN)
DR = CMD.ExecuteReader()

While DR.Read()
Console.WriteLine(“{0} | {1}”,  DR(“FirstName”).ToString(),  DR(1).ToString())
End While

DR.Close()


contoh kode program VB.Net mengakses  database MYSQL menggunakan data provider khusus MYSQL 

data provider khusus MYSQL  menggunakan namespace MySql.Data.MySqlClient

https://pccontrol.wordpress.com/2014/12/17/pengetahuan-dasar-koneksi-vb-net-dan-database-mysql/

contoh  source code vb net lainnya bisa di download disini  https://drive.google.com/file/d/1c1wlosm_K5kGsOpsiKJ_8KsdJQ_qMDnU/view?usp=sharing

Kesimpulan  

  • data provider ODBC dan OLEDB bisa digunakan untuk mengakses berbagai macam database
  • tapi prioritaskan penggunaan data provider khusus yg sdh disediakan untuk database tsb .
  • cara akses database menggunakan ODBC dan OLEDB membutuhkan waktu akses lebih lama dibanding data provider khusus untuk database tsb.
  • Contoh perbedaan  data provider Sql Server dgn data provider OLEDB dlm mengakses database SQL server bisa dilihat pada gambar dibawah ini

perbedaanDataprovider

source:

Pengetahuan Dasar Grounding Pada Rangkaian Elektronik

[draft]

Pengetahuan Dasar Grounding Pada Rangkaian Elektronik

  • Grounding dalam 1 rangkain PCB
  • Grounding pada chasis
  • Siklus/loop  Grounding
  • Grounding Power supply
  • grounding pada sinyal input
  • grounding pada sinyal output
  • Koneksi ground antar pcb
  • Shielding
  • safety earth