Minggu, 18 Juli 2010

Koneksi database SQL ke VB NET

Rekan-rekan semua pada kesempatan kali ini saya sedang mencoba belajar menghubungkan database SQL dengan VB NET. Percobaan ini sekarang saya menggunakan MySQL 5.0 sebagai wadah databasenya.

Langkah yang pertama tentunya kita buat dulu databasenya beserta tabel yang akan kita gunakan, OK kita masih memakai consule, buka terlebih dahulu cmd prompt lalu masuk dulu ke server sql.

ketikkan
> mysql -p -uroot --port 3307;

Pemilihan nomer Port disini tergantung port yang temen-temen gunakan pada server sql di komputer masing-masing. kebetulan saya menggunakan port 3307. langkah selanjutnya buat database dengan mengetikkan perintah di bawah ini.

> create databases master_produk;

> use master_produk;

langkah selanjutnya buat tabelnya dengan perintah seperti di bawah ini, untuk lebih jelasnya silahkan lihat manual book tutorial MySQL:

> CREATE TABLE `master_produk`.`produk` (
`RECID` char(1) default NULL,
`DIVISI` char(1) default NULL,
`DEPART` char(2) default NULL,
`KATEGORI` char(2) default NULL,
`CAT_COD` char(5) default NULL,
`PRDCD` varchar(8) NOT NULL default '',
`PLUMD` varchar(8) default NULL,
`KDMERK` char(4) default NULL,
`MERK` varchar(15) default NULL,
`NAMA` varchar(30) default NULL,
`FLAVOUR` varchar(15) default NULL,
`KEMASAN` char(3) default NULL,
`SIZE` varchar(10) default NULL,
`SINGKATAN` varchar(30) default NULL,
`BKP` enum('N','Y') default 'N',
`SUB_BKP` char(1) default NULL,
`BBS_PPN` char(1) default NULL,
`DESC2` varchar(50) default '',
`FRAC` decimal(4,0) default '0',
`PSNDULU` char(1) default NULL,
`UNIT` varchar(4) default NULL,
`ACOST` decimal(15,6) default '0.000000',
`LCOST` decimal(15,6) default '0.000000',
`RCOST` decimal(15,6) default '0.000000',
`ACOST_1` decimal(15,6) default '0.000000',
`RCOST_1` decimal(15,6) default '0.000000',
`MARKUP` decimal(14,6) default '0.000000',
`PRICE` decimal(14,6) default '0.000000',
`PRDGRP` char(7) default NULL,
`CTGR` char(2) default NULL,
`KONS` char(1) default NULL,
`SUPCO` char(5) default NULL,
`PTAG` char(1) default NULL,
`TGL_TAMBAH` date default NULL,
`REORDER` decimal(7,0) default '0',
`KEL_ORD` char(1) default NULL,
`LENGTH` decimal(7,2) default '0.00',
`WIDTH` decimal(7,2) default '0.00',
`HEIGHT` decimal(7,2) default '0.00',
`K_LENGTH` decimal(7,2) default '0.00',
`K_WIDTH` decimal(7,2) default '0.00',
`K_HEIGHT` decimal(7,2) default '0.00',
`BERAT_SAT` decimal(7,0) default '0',
`BERAT_KRT` decimal(7,0) default '0',
`EXP_MONTH` decimal(5,0) default '0',
`BARCSTS` char(2) default NULL,
`KET` varchar(30) default NULL,
`TGL_HJB` date default NULL,
`TP_BELI` char(1) default NULL,
`RCG` decimal(6,0) default '0',
`BRG_AKTIF` enum('N','Y') default 'N',
`EXPRICE` decimal(11,3) default '0.000',
`PLUTABUNG` varchar(7) default NULL,
`OPENPRICE` char(1) default NULL,
`QTYTABUNG` decimal(6,0) default '0',
`NonSO` char(1) default NULL,
`NONRET` char(1) default NULL,
`ADDID` varchar(45) default NULL,
`ADDTIME` datetime default NULL,
`UPDID` varchar(45) default NULL,
`UPDTIME` datetime default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Setelah tabel sudah terbentuk langkah selanjutnya kita masuk ke Programming visual Basic Net. Pertama buat Form dengan komponen DataGridview dan MysqlConnenction.


Listing program sederhananya adalah sebagai berikut:

Imports mysql.data.mysqlclient
Public Class frmjabatan
Dim dv As DataView

Private Sub frmjabatan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
loaddata()
End Sub Private Sub loaddata()
Dim oconn As New mysqlconnection
Dim strsql As String
strsql = "Database=master_produk;server=localhost;user id=root;password=xxx;port=3307"
oconn = New MySqlConnection(strsql)
strsql = "select * from produk"

Dim ocmd As New MySqlCommand

ocmd = New MySqlCommand(strsql, oconn)

Dim ds As DataSet
ds = New DataSet

Dim dt As DataTable
dt = ds.Tables.Add("produk")

Dim da As MySqlDataAdapter
da = New MySqlDataAdapter(ocmd)

da.Fill(ds, "produk")

dv = New DataView
dv.Table = dt

DataGridView1.DataSource = dv

End Sub
End Class


Hasil Eksekusinya tampak seperti di bawah ini:



Share/Bookmark

Senin, 12 Juli 2010

Modul Proportional Integrator Differensiator

Modul PID atau Proportional Integrator Differensiator merupakan salah satu kontrol konvensional yang sampai sekarang masih tetap dipakai pada proses otomatisasi di industri karena kehandalannya. PID merupakan merupakan kontroler untuk menentukan presisi suatu sistem instrumentasi dengan karakteristik adanya umpan balik pada sistem tesebut. Komponen kontrol PID ini terdiri dari tiga jenis yaitu Proportional, Integratif dan Derivatif. Ketiganya dapat dipakai bersamaan maupun sendiri-sendiri tergantung dari respon yang kita inginkan terhadap suatu plant. sistem ini juga merupakan sistem kontrol loop tertutup yang cukup sederhana dan kompatibel dengan sistem kontrol lainnya sehingga dapat dikombinasikan dengan sistem kontrol lain seperti Fuzzy control, Adaptif control dan Robust control.

Fungsi alih H(s) pada sistem kontrol PID merupakan besaran yang nilainya tergantung pada nilai konstanta dari sistem P, I dan D
Sistem kontrol PID terdiri dari tiga buah cara pengaturan yaitu kontrol P (Proportional), D (Derivative) dan I (Integral), dengan masing-masing memiliki kelebihan dan kekurangan.Dalam perancangan sistem kontrol PID yang perlu dilakukan adalah mengatur parameter P, I atau D agar tanggapan sinyal keluaran sistem terhadap masukan tertentu sebagaimana yang diiginkan.

Untuk merancang sistem kontrol PID, kebanyakan dilakukan dengan metoda coba-coba atau (trial & error). Hal ini disebabkan karena parameter Kp, Ki dan Kd tidak independent. Untuk mendapatkan aksi kontrol yang baik diperlukan langkah coba-coba dengan kombinasi antara P, I dan D sampai ditemukan nilai Kp, Ki dan Kd seperti yang diiginkan.

Metode Pembelajaran Konvensional

Langkah awal dalam pembelajaran perancangan sistem kontrol yaitu menjelaskan bagaimana membuat diagram blok sistem. Diagram blok digunakan sebagai bahan analisis yaitu dengan memberikan aksi pengontrolan yang berbeda. Tanggapan sistem dapat dilihat setelah sistem diberikan sinyal masukan yang berbeda. Kombinasi antara sinyal masukan dan aksi pengontrolan ini akan menghasilkan tanggapan yang berbeda-beda. (Ogata, Katsuhiko, 1997) menjelaskan langkah-lamhkah yang harus dilakukan dalam perancangan sistem kontrol sebagai berikut:

(1) Memahami cara kerja system,
(2) Mencari model sistem dinamik dalam persamaan differensial,
(3) Mendapatkan fungsi alih sistem dengan Transformasi Laplace,
(4) Memberikan aksi pengontrolan dengan menentukan konstanta Kp, Ki dan Kd,
(5) Menggabungkan fungsi alih yang sudah didapatkan dengan jenis aksi pengontrolan,
(6) Menguji sistem dengan sinyal masukan fungsi langkah, fungsi undak dan impuls ke dalam fungsi alih yang baru,
(7) Melakukan Transformasi Laplace balik untuk mendapatkan fungsi dalam kawasan waktu,
(8) Menggambar tanggapan sistem dalam kawasan waktu

Dalam pembelajaran konvensional untuk melihat tanggapan suatu sistem dengan berbagai macam kombinasi sinyal masukan dan aksi pengontrolan merupakan hal yang sulit, diperlukan kesabaran dan ketelitian untuk mendapatkan hasil penggambaran yang baik dan hasilnya pun seringkali kurang akurat. Hal ini menjadikan mahasiswa merasa bahwa materi perancangan sistem control sangat sulit yang berdampak pada keengganan untuk mempelajari lebih jauh tentang materi sistem kontrol.

Metode Pembelajaran Dengan Simulasi Komputer

Hadirnya software komputer sangat membantu perhitungan dan proses analisis tanggapan sistem terhadap sinyal masukan dan aksi pengontrolan. Berbeda dengan perhitungan manual yang rumit dan lama, perhitungan dengan bantuan software komputer jauh lebih mudah dan cepat dan hasilnya tepat. Matlab merupakan salah satu software yang dikembangkan dalam bidang pengaturan yang dilengkapi Control Toolbox. Toolbox ini dilengkapi dengan berbagai macam fungsi pendukung yang dipergunakan dalam analisis sistem kontrol. Beberapa fungsi pendukung yang sering dipergunakan untuk menganalisis suatu sistem adalah : feedback, step, rlocus, series, dll. Untuk menganalisis suatu sistem, software hanya memerlukan masukan berupa fungsi alih yang ditulis dalam Transformasi Laplace (kawasan frekuensi) atau matriks ruang keadaan. Sebagai contoh, suatu sistem kontrol memiliki fungsi alih sebagai berikut :Gambar 2. Sistem rangkaian listrik RLC

Model matematik sistem dinamik dapat dituliskan dengan menggunakan Hukum Kirchoff Arus dan Tegangan sehingga menjadi :
Fungsi alih dari model dinamik sistem di atas dapat dilakukan dengan melakukan transformasi Laplace sehingga di dapat persamaan sbb:
Dari fungsi alih inilah akan dicari tanggapan sistem terhadap sinyal masukan yang beragam. Tanggapan sistem yang baik dari suatu sistem kontrol mempunyai criteria: Waktu naik cepat, Minimasi overshoot dan minimasi kesalahan keadaan tunak.
Adapun langkah-langah yang harus dilakukan untuk analisis dengan Matlab adalah menentukan nilai R, L dan C (misal R = 100 ohm, L = 1.25 mH dan C = 6250 uF) memasukkan koefisien pembilang (Ps) dan penyebut (Qs) dari fungsi alih, dan memilih jenis masukan yang akan dimasukkan ke sistem (fungsi langkah, undak, impuls atau lainnya).
Contoh penulisan Command Editor di Matlab


Tanggapan sistem terbuka diperlihatkan pada Gambar 3.
Gambar 3. Tanggapan sistem terhadap masukan fungsi langkah

tinggi sebesar 0,88 hal ini dapat dilihat pada tanggapan sistem menuju ke nilai amplitudo 0,12. Dari Gambar3 dapat juga diketahui bahwa sistem memiliki waktu naik yang lama (1,5 detik). Untuk menghasilkan sistem kontrol yang baik, diperlukan sistem loop tertutup.

Pembelajaran Aksi Kontrol Proporsional

Karakteristik aksi pengontrolan Proporsional adalah mengurangi waktu naik, menambah overshoot, dan mengurangi kesalahan keadaan tunak. Fungsi alih sistem dengan menambahkan aksi pengontrolan P menjadi :
Misal, diambil konstanta Kp = 80, maka :

Kp = 80;
Ps = [Kp];
Qs = [1 5 8+Kp];
t = 0 : 0.01 : 2;
step(Ps, Qs)
title(‘Tanggapan Sistem Loop Tertutup Proporsional’)

Gambar 4. Tanggapan sistem terhadap aksi kontrol proporsional

Penambahan aksi kontrol P mempunyai pengaruh mengurangi waktu naik dan kesalahan keadaan tunak, tetapi konsekuensinya overshoot naik cukup besar. Kenaikan overshoot ini sebanding dengan kenaikan nilai parameter Kp. Waktu turun juga menunjukkan kecenderungan yang membesar.

Pembelajaran Aksi Kontrol Proportional Derivative

Fungsi alih sistem dengan aksi pengontrolan PD menjadi :

Misal, Kp = 80 dan Kd = 6, maka :
Kp = 80;
Kd = 6;
Ps = [Kd Kp];
Qs = [1 5+Kd 8+Kp];
t = 0 : 0.01 : 2;
step(Ps, Qs)
title(‘Tanggapan Sistem Loop Tertutup PD’)

Tanggapan sistem ini diperlihatkan seperti Gambar 5.
Gambar 5. Tanggapan sistem terhadap aksi kontrol Proporsional Derivative

Pada grafik di atas terlihat bahwa penggunaan control Proporsional Derivative (PD) dapat mengurangi overshoot dan waktu turun, tetapi kesalahan keadaan tunak tidak mengalami perubahan yang berarti.

Pembelajaran Aksi Kontrol Proportional-Integral

Fungsi alih sistem dengan penambahan aksi pengontrolan PI menjadi :
Integral Controller memiliki karakteristik mengurangi waktu naik, menambah overshoot dan waktu turun, serta menghilangkan kesalahan keadaan tunak.
Misal, Kp = 9 dan Ki = 16, maka tanggapan sistem dapat diperoleh dengan cara menuliskan sintaks berikut dalam editor Matlab :

Kp = 9;
Ki = 16;
Ps = [Kp Ki];
Qs = [1 5 8+Kp Ki];
t = 0 : 0.01 : 2;
step(Ps,Qs)

Aksi kontrol P dan I memiliki karakteristik yang sama dalam waktu naik dan overshoot. Oleh karena itu, nilai Kp harus dikurangi untuk menghindari overshoot yang berlebihan.

Gambar 6. Tanggapan sistem terhadap aksi kontrol Proporsional Integral

Dari grafik gambar 6 di atas terlihat bahwa waktu naik sistem menurun, dengan overshoot yang kecil, serta kesalahan keadaan tunak dapat diminimalkan. Tanggapan sistem memberikan hasil yang lebih baik daripada aksi control sebelumnya tetapi masih mempunyai waktu naik yang lambat.

Pembelajaran Aksi Kontrol Proportional-Integral-Derivative

Aksi kontrol PID merupakan gabungan dari aksi P, I dan D dan fungsi alih sistem menjadi :
Kp = 85;
Ki = 90;
Kd = 20;
Ps = [Kd Kp Ki];
Qs = [1 5+Kd 8+Kp Ki];
t = 0 : 0.01 : 2;
step(Ps,Qs)
title(‘Tanggapan Sistem Loop Tertutup PID’)


Gambar 7. Tanggapan sistem terhadap aksi kontrol PID

Dengan aksi kontrol P, I dan D, terlihat bahwa kriteria sistem yang diinginkan hampir mendekati, terlihat dari grafik tanggapan sistem tidak memiliki overshoot, waktu naik yang cepat, dan kesalahan keadaan tunaknya sangat kecil mendekati nol. Grafik tanggapan sistem terhadap sinyal masukan fungsi langkah, tergantung pada nilai parameter Kp, Kd dan Ki.

Share/Bookmark

Proses sampling/pencuplikan

Sebenarnya saya ga tahu Proses Sampling atau pencuplikan ini apa sih... Aku dapat mata kuliahnya namun aku ga tahu sama sekali, sehingga aku coba cari tahu ah ya biasa lewat mbah google...

Proses Sampling ini ternyata mengubah representasi sinyal yang tadinya berupa sinyal kontinyu menjadi sinyal diskrit, dapat juga diibaratkan sebagai sebuah sakelar on/off yang membuka dan menutup setipa periode tertentu (T).

Sinyal Sampling ideal (r*(t)) dapat kita nyatakan dalam bentuk perkalian sinyal input r(t) dan sinyal impuls (P(t))

Share/Bookmark

Twitter Delicious Facebook Digg Stumbleupon Favorites More