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 :
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
Langkah langkah
- 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”);
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.
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]
—-
- beberapa merk flashdisk tdk bisa dibaca di PC file *.txt yg telah dicreate arduino.
- diantara yg bisa dibaca hasilnya di PC antaralain merk sandisk .
- ukuran data per file hanya 512 byte selebihnya akan terpotong
- source kode contoh ada disini : https://arduinobasics.blogspot.com/2015/05/ch376s-usb-readwrite-module.html
- dan disini https://github.com/Jazy-TechDataShare/CH376s-CH376T
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.
Gambar 1. Aplikasi Report Builder untuk membuat dokument lamporan ( *.rdl )
Tahapan membuat Report dengan Report Viewer
- Buat dokumen Report (*.rdl) dengan Report Builder 2014
- Buat project baru dan drag and drop report viewer dari toolbox ke form
- tambahkan textbox dan button
- import namespace untuk provider database yg dipakai dan report viwer
- Isi kode di artikel di bawah
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:
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
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:
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
- Connection : Untuk koneksi ke database
- Command : melaksanakan perintah query sql
- DataReader : membaca data read only , data sedikit
- DataAdafter : membaca data dgn membuat buffer/catch localy
- 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)
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
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:
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
gambar 4. Menu Membuat ODBC di control panel
Adapun step step selanjut adalah sebagai berikut pd gambar dibawah ini:
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
source:
- VB programming database
- modul Training mitrafay.com
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