L 1. Lampiran 1 Coding frmmain.cs
|
|
|
- Hartanti Johan
- 9 tahun lalu
- Tontonan:
Transkripsi
1 L 1 Lampiran 1 Coding frmmain.cs // using berfungsi seperti include di c using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; // namespace merupakan kumpulan dari namespace atau class namespace MSPC /// <summary> /// Summary description for Form1. /// </summary> public class frmmain : System.Windows.Forms.Form // ini merupakan komponen dari variabel-variabel yang digunakan private Infragistics.Win.UltraWinToolbars.UltraToolbarsManager toolbarmanager; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _frmmain_toolbars_dock_area_left; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _frmmain_toolbars_dock_area_right; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _frmmain_toolbars_dock_area_top; private Infragistics.Win.UltraWinToolbars.UltraToolbarsDockArea _frmmain_toolbars_dock_area_bottom; private Infragistics.Win.UltraWinTabbedMdi.UltraTabbedMdiManager mdimanager; private Infragistics.Win.UltraWinStatusBar.UltraStatusBar statusbar; private System.ComponentModel.IContainer components; // public static merupakan variabel yang pada saat aplikasi dijalankan akan tetap ada //hingga aplikasi dihentikan. public disini merupakan metode akses/sifat akses variabel //yang mengijinkan variabel ini // diakses oleh class lain selain class yang memilikinya. static // berarti variabel ini selalu ada di stack memori public static frmfase1 ffase1; public static frmfase2 ffase2; public static frmviewf1 fviewf1; public static frmviewf2 fviewf2; // ini merupakan constructor. constructor pertama kali dijalankan
2 L 2 // ketika suatu objek dari suatu kelas diinisialisasi (objek dalam hal ini berarti aplikasi //ini). pada aplikasi ini constructor melakukan // inisialisasi komponen yang digunakan //dalam form ini. Additional note: setiap form memiliki constructor dan destructor //karena form adalah class. public frmmain() // // Required for Windows Form Designer support // InitializeComponent(); // merupakan build-in function yang sudah disediakan oleh.net yang // berguna untuk inisialisasi dan binding semua komponen yang digunakan // dalam form ini // // TODO: Add any constructor code after InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> // merupakan garbage collector, fungsinya untuk menghapus semua // resource yang telah digunakan protected override void Dispose( bool disposing ) if( disposing ) if (components!= null) components.dispose(); base.dispose( disposing ); /// <summary> /// The main entry point for the application. /// </summary> [STAThread] static void Main() Application.Run(new frmmain()); // dibawah ini adalah sintaks atau perintah yang dijalankan pada saat
3 L 3 // toolbar diklik private void toolbarmanager_toolclick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e) switch (e.tool.key) // ini adalah sintaks yang dijalankan saat user memilih menu 'Input // Data Acuan (fase 1)' case "mnufase1": if (ffase1 == null) // cek apakah form ini sudah ada atau // belum ffase1 = new frmfase1(); // inisialisasi objek baru dari // class frmfase1 ffase1.mdiparent = this; // untuk binding objek ffase1 // sebagai bagian dari frmmain ffase1.show(); // untuk menampilkan ffase1 else ffase1.focus(); // jika sudah ada sebelumnya, maka // aplikasi akan memfokuskan pada // form 1 yang sudah dibuka break; // ini adalah sintaks yang dijalankan saat user memilih menu // 'Input Data Baru (fase 2)' case "mnufase2": if (ffase2 == null) // cek apakah form ini sudah ada atau // belum ffase2 = new frmfase2(); // inisialisasi objek baru dari // frmfase2 ffase2.mdiparent = this; // untuk binding objek ffase2 sbg // bagian dari frmmain ffase2.show(); // untuk menampilkan ffase2
4 L 4 else ffase2.focus(); // untuk memfokuskan pada frmfase2 // yang sudah dibuka sebelumnya break; // ini adalah sintaks yang dijalankan saat user memilih menu // 'Keluar program' case "mnuexit": this.close(); // maksudnya menutup frmmain break; // ini adalah sintaks yang dijalankan saat user memilih menu // 'Laporan Fase 1' case "mnuviewf1": if (fviewf1 == null) fviewf1 = new frmviewf1(); fviewf1.mdiparent = this; fviewf1.show(); else fviewf1.focus(); break; case "mnuviewf2": if (fviewf2 == null) fviewf2 = new frmviewf2(); fviewf2.mdiparent = this; fviewf2.show(); else fviewf2.focus(); break;
5 L 5 // ini adalah fungsi yang dijalankan saat user akan keluar dari // aplikasi atau menjalankan sintaks this.close(); private void frmmain_closing(object sender, System.ComponentModel.CancelEventArgs e) DialogResult hsl = MessageBox.Show("Anda yakin untuk keluar dari program ini?", "Exit Program", MessageBoxButtons.YesNo, MessageBoxIcon.Question); // DialogResult adalah tipe data yang menampung hasil dari dialog // box if (hsl == DialogResult.No) e.cancel = true; // e.cancel = true; berarti form closing dari frmmain // dibatalkan // e.cancel = false; berarti form closing dari // frmmain tidak dibatalkan, tapi tidak diperlukan // karena secara default pasti akan keluar dari // aplikasi
6 L 6 Coding frmfase1.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb; namespace MSPC /// <summary> /// Summary description for frmfase1. /// </summary> public class frmfase1 : System.Windows.Forms.Form #region User Interface Component private System.ComponentModel.IContainer components; private System.Windows.Forms.DateTimePicker datefase1; private System.Windows.Forms.OpenFileDialog openfile; private System.Windows.Forms.ComboBox cboalpha; private System.Windows.Forms.ToolTip tooltip1; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdata; private Infragistics.Win.UltraWinEditors.UltraOptionSet radioinputmode; private Infragistics.Win.UltraWinChart.UltraChart chartcl; private Infragistics.Win.Misc.UltraGroupBox grbimport; private Infragistics.Win.Misc.UltraGroupBox grbdatafase1; private Infragistics.Win.Misc.UltraGroupBox grbkesimpulan; private Infragistics.Win.Misc.UltraGroupBox grbcl; private Infragistics.Win.Misc.UltraGroupBox grbinput; private Infragistics.Win.Misc.UltraGroupBox grbdate_part; private Infragistics.Win.Misc.UltraGroupBox grbinputdatafase1; private Infragistics.Win.Misc.UltraButton btnhitung; private Infragistics.Win.Misc.UltraButton btnreset; private Infragistics.Win.Misc.UltraButton btnsave; private Infragistics.Win.Misc.UltraButton btnopenfile; private Infragistics.Win.Misc.UltraButton btnplhpart; private Infragistics.Win.Misc.UltraButton btnvalidate_ok; private Infragistics.Win.Misc.UltraButton btnimport; private Infragistics.Win.Misc.UltraButton btnok; private Infragistics.Win.Misc.UltraButton btninput; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label2;
7 L 7 private System.Windows.Forms.Label label3; private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label8; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label lblvar; private System.Windows.Forms.Label lblsample; private System.Windows.Forms.Label lblucl; private System.Windows.Forms.Label lbllcl; private System.Windows.Forms.Label lblkesimpulan; private System.Windows.Forms.TextBox txtopenfile; public System.Windows.Forms.TextBox txtprocessname; private System.Windows.Forms.ContextMenu contextvarf1; private System.Windows.Forms.MenuItem mnuadd; private System.Windows.Forms.MenuItem mnudel; #endregion /// <summary> /// Variabel yang di pakai pada aplikasi private DataTable dtfase1, dtperhitungan, dtcl; private DataColumn dcf, dccl; private DataRow drf, drcl; public DataTable dtvarf1; private CMSPC MSPC; private string strdataout; private double[] arrt2; private double UCL, LCL; private int incontrol = -1; public int processnumber; private double alpha; private string kesimpulan; public frmplhprocess fplhprocess = null; public frmvarf1 fvarf1 = null; public frmfase1() // // Required for Windows Form Designer support
8 L 8 // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing ) if(components!= null) components.dispose(); base.dispose( disposing ); private void frmfase1_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.ffase1 = null; // fungsi untuk mengambil hasil perhitungan dari MSPC apakah incontrol atau tidak, lcl, //ucl dan T2 nya berapa dan tampilkan pada datagrid private void calculate_fase1() int i = 0; // ambil nilai yg melambangkan apakah data acuan ini incontrol atau // tidak setelah di hitung incontrol = MSPC.FaseI(dtFase1, alpha); // ambil hasil ucl dan lcl LCL = MSPC.getLCL(1); UCL = MSPC.getUCL(1); lbllcl.text = LCL.ToString(); // tampilkan LCL lblucl.text = UCL.ToString(); // tampilkan UCL
9 L 9 // inisialisasi array arrt2 sejumlah banyak baris // data acuannya arrt2 = new double[dtfase1.rows.count]; // copy array T2 hasil perhitungan dari MSPC ke arrt2 MSPC.getArrT2(1).CopyTo(arrT2, 0); // cek apakah kolom "T-Square" pada datatable sudah ada atau //blm if (dtperhitungan.columns["t-square"] == null) // tambahkan kolom T-Square ke dalam table data fase 1 //yang di tampilkan dtperhitungan.columns.add(new DataColumn("T- Square", typeof(double))); = arrt2[i]; // input T-Square ke dalam kolom yang baru di tambah // ke tabel for (i = 0; i < arrt2.length; i++) dtperhitungan.rows[i][dtperhitungan.columns.count - 1] // Tabel untuk Control Chart dtcl = new DataTable(); // inisialisasi tabel // inisialisasi kolom - kolom tabel dccl = new DataColumn("T-Square", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("LCL", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("UCL", typeof(double)); dtcl.columns.add(dccl); for (i = 0; i < arrt2.length; i++) // inisialisasi baris baru drcl = dtcl.newrow(); // input data ke baris yang baru drcl["t-square"] = arrt2[i]; drcl["lcl"] = LCL; drcl["ucl"] = UCL; // tambah baris baru ke tabel
10 L 10 dtcl.rows.add(drcl); ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////// // assign data yang akan di tampilkan oleh grafik chartcl.data.datasource = dtcl; chartcl.data.swaprowsandcolumns = true; chartcl.titletop.text = "Peta Kontrol Fase 1 " + datefase1.value.toshortdatestring(); chartcl.databind(); // jika data hasil perhitungan berada di dalam // kontrol if (incontrol == 1) kesimpulan = "Data acuan yang dimasukkan sudah normal, bisa digunakan sebagai data acuan untuk perhitungan fase 2."; lblkesimpulan.text = kesimpulan; btnhitung.text = "Hitung data Fase 1"; btnhitung.enabled = false; // jika data hasil perhitungan berada di luar kontrol else if (incontrol == 0) // ambil data apa saja yang keluar kontrol //(tipe data nya string) strdataout = MSPC.getDataOutOfControl(); btnhitung.text = "Hitung ulang Data"; kesimpulan = "Data acuan yang dimasukkan tidak normal, yang ditandai dengan adanya data diluar kontrol, yaitu data " + strdataout + " Anda bisa menghapus data diluar kontrol untuk menciptakan data acuan yang normal, atau anda bisa menginput ulang data acuan."; lblkesimpulan.text = kesimpulan + "\njika anda ingin membuang data yang di luar kontrol (" + strdataout + ") dan menghitung ulang data untuk menjaga keseragaman data dari variansi anda bisa menekan tombol \"HITUNG ULANG DATA\"."; btnhitung.enabled = true; // fungsi yang di jalankan apabila user ingin menginput
11 L 11 // manual data fase 1 // fungsi ini untuk menampilkan nama nama variable yang // kita tambahkan secara manual public void inputvarf1() dtfase1 = new DataTable(); for (int i = 0; i < dtvarf1.rows.count; i++) // tambahkan variable variable yang kita input manual pada // dtvarf1 ke dtfase1 dcf = new DataColumn(dtVarF1.Rows[i][0].ToString(), typeof(double)); dtfase1.columns.add(dcf); dgdata.datasource = dtfase1; dgdata.databind(); // tampilkan jumlah variable yang user telah // tambahkan lblvar.text = dtfase1.columns.count.tostring(); contextvarf1; if (dtfase1.columns.count > 0) dgdata.contextmenu = // perintah yang di jalankan pada saat form di load private void frmfase1_load(object sender, System.EventArgs e) dtperhitungan = new DataTable(); dtfase1 = new DataTable(); MSPC = new CMSPC(); incontrol = -1; 1", typeof(string))); dtvarf1 = new DataTable(); dtvarf1.columns.add(new DataColumn("Nama Variabel Fase // datagrid boleh di edit dgdata.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.True; // perintah yang di jalankan pada saat user ingin memilih proses
12 L 12 private void btnplhpart_click(object sender, System.EventArgs e) if (fplhprocess == null) fplhprocess = new frmplhprocess(); fplhprocess.show(); else fplhprocess.focus(); // perintah agar pada combobox untuk memilih alfa tidak bisa di edit private void cboalpha_keypress(object sender, System.Windows.Forms.KeyPressEventArgs e) e.handled = true; // seandainya teks yang ada combobox untuk memilih alpha // berubah maka akan di kembalikan pada nilai awal private void cboalpha_textchanged(object sender, System.EventArgs e) if (cboalpha.selectedindex == -1) cboalpha.text = "[Pilih]"; else if (cboalpha.selectedindex == 0) cboalpha.text = "0.01"; else if (cboalpha.selectedindex == 1) cboalpha.text = "0.05"; else if (cboalpha.selectedindex == 2) cboalpha.text = "0.001"; else if (cboalpha.selectedindex == 3) cboalpha.text = "alpha"; // setiap kali index dari combobox yang terpilih berubah, // maka hasil pilihan ini dimasukkan pada variable alpha private void cboalpha_selectedindexchanged(object sender, System.EventArgs e) alpha = double.parse(cboalpha.items[cboalpha.selectedindex].tostring());
13 L 13 // fungsi untuk memvalidasi apakah data sebelumnya telah ada atau belum private void btnvalidate_ok_click(object sender, System.EventArgs e) if (txtprocessname.text!= "" && cboalpha.selectedindex!= -1) OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); OleDbDataReader dr = null; com.connection = con; if (con.state == ConnectionState.Closed) con.open(); com.commandtext = "select * from ms_fase1 where tgl_f1 = '" + datefase1.value.toshortdatestring() + "' and process_number = " + processnumber + " and alpha = " + alpha; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); // jika data ternyata sudah ada pada database if (dr.read()) MessageBox.Show("Data Fase 1 untuk tanggal, proses dan tingkat kepercayaan ini sudah ada. Jika anda tetap ingin menginput data pada tanggal, proses dan tingkat kepercayaan ini, anda harus menghapus data yang sebelumnya sudah ada terlebih dahulu dengan menggunakan tombol HAPUS DATA pada Form Laporan Data Acuan (Fase 1).", "Data sudah pernah ada", MessageBoxButtons.OK, MessageBoxIcon.Stop); else txtprocessname.clear(); datefase1.focus(); grbdate_part.enabled = false; grbinputdatafase1.enabled = true;
14 L 14 grbinput.enabled = true; grbimport.enabled = false; else kepercayaan harus diisi."); dr.close(); con.close(); MessageBox.Show("Nama Proses dan tingkat btnplhpart.focus(); // fungsi atau perintah yang di jalankan saat index dari radio // button berubah private void radioinputmode_valuechanged(object sender, System.EventArgs e) // mengubah menjadi sebaliknya, apabila sebelumnya // true menjadi false dan sebaliknya (negasi) grbinput.visible = (!grbinput.visible); grbinput.enabled = (!grbinput.enabled); grbimport.visible = (!grbimport.visible); grbimport.enabled = (!grbimport.enabled); // jika radio button yang terpilih adalah input // manual if (radioinputmode.checkedindex == 0) // datagrid bisa di edit dgdata.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.True; // pada datagrid bisa klik kanan untuk tambah // baris dan hapus baris dgdata.contextmenu = contextvarf1; dgdata.datasource = dtfase1; dgdata.databind(); // apabila jumlah proses (kolom) yang ada pada // data acuan<1 maka datagrid tidak bisa diisi
15 L 15 if (dtfase1.columns.count < 1) dgdata.contextmenu = null; else dgdata.contextmenu = contextvarf1; // jika radiobutton yang terpilih adalah import data else // datagrid tidak bisa di edit dan tidak bisa // klik kanan untuk tambah dan hapus baris dgdata.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.False; dgdata.contextmenu = null; dgdata.datasource = null; // perintah yang dijalankan pada saat button open file di klik private void btnopenfile_click(object sender, System.EventArgs e) try // tampilkan file yang bisa di buka dalam // format excel openfile.filter = "Excel Files (*.xls) *.xls"; openfile.showdialog(); txtopenfile.text = openfile.filename; catch (Exception ex) MessageBox.Show(ex.Message, "Import Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // perintah yg di jalankan saat user ingin menginput manual // data acuan. // fungsi ini menampilkan satu form untuk user menginput // variable apa saja yang akan di pakai private void btninput_click(object sender, System.EventArgs e) if (fvarf1 == null) fvarf1 = new frmvarf1(); fvarf1.show();
16 L 16 else fvarf1.focus(); // perintah yang di jalankan saat menu untuk tambah baris di klik private void mnuadd_click(object sender, System.EventArgs e) drf = dtfase1.newrow(); dtfase1.rows.add(drf); if (dtfase1.rows.count > 0) btnok.enabled = true; contextvarf1.menuitems[1].enabled = true; dgdata.activerow = dgdata.rows[dtfase1.rows.count - 1]; // tampilkan jumlah sampel yang telah user tambahkan // secara manual lblsample.text = dtfase1.rows.count.tostring(); // perintah yang di jalankan saat menu hapus baris di klik private void mnudel_click(object sender, System.EventArgs e) dtfase1.rows.removeat(dgdata.activerow.index); if (dtfase1.rows.count > 0) dgdata.activerow = dgdata.rows[0]; else btnok.enabled = false; contextvarf1.menuitems[1].enabled = false; lblsample.text = dtfase1.rows.count.tostring();
17 L 17 // perintah yang dijalankan pada saat user telah selesai // menginput data secara manual private void btnok_click(object sender, System.EventArgs e) // datagrid tidak bisa di edit dgdata.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.False; dgdata.contextmenu = null; // cek apakah ada data yang di input merupakan data // yang kosong for (int i = 0; i < dtfase1.rows.count; i++) for (int j = 0; j < dtfase1.columns.count; j++) if (dtfase1.rows[i][j].tostring() == "") MessageBox.Show("Semua data Fase 1 harus diisi semua.", "Ada data yang kosong", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; dtperhitungan = dtfase1.copy(); dgdata.datasource = dtperhitungan; dgdata.databind(); btnhitung.enabled = true; grbinputdatafase1.enabled = false; // perintah yang di jalan kan pada saat user ingin // mengimport file excel ke aplikasi private void btnimport_click(object sender, System.EventArgs e) if (txtopenfile.text!= "") CExcel conexcel = new CExcel(); try // import isi dari file excel ke data table // melalui object conexcel dari class CExcel
18 L 18 dtfase1 = conexcel.excelimporter(txtopenfile.text).copy(); catch (Exception ex) MessageBox.Show(ex.Message); return; for (int i = 0; i < dtfase1.rows.count; i++) for (int j = 0; j < dtfase1.columns.count; j++) if (dtfase1.rows[i][j].tostring() == "") MessageBox.Show("Sistem tidak dapat mengimport masuk file data Fase 1 anda, hal ini dikarenakan file data Fase 1 mengandung data kosong, semua data Fase 1 harus diisi semua.", "Ada data yang kosong", MessageBoxButtons.OK, MessageBoxIcon.Stop); dtfase1 = new DataTable(); return; dtperhitungan = dtfase1.copy(); dgdata.datasource = dtperhitungan; dgdata.databind(); btnhitung.enabled = true; aplikasi harus diisi."); else grbinputdatafase1.enabled = false; MessageBox.Show("Lokasi file yang akan diimport ke btnopenfile.focus(); // perintah yg di jalan saat user menekan tombol hitung private void btnhitung_click(object sender, System.EventArgs e) // jika belum di hitung sama sekali
19 L 19 if (incontrol == -1) calculate_fase1(); // jika hitung ulang data karena perhitungan // sebelumnya masih out of control else if (incontrol == 0) strdataout = strdataout.replace(", ", ""); while (strdataout!= "") if (dtfase1.rows.count > 1) dtfase1.rows.removeat(int.parse(strdataout[0].tostring()) - 1); strdataout = strdataout.remove(0, 1); else MessageBox.Show("Tidak ada data lagi yang bisa di buang. Silahkan hitung ulang data"); btnhitung.enabled = false; btnsave.enabled = false; lblkesimpulan.text = "Semua data berada di luar kontrol, hal ini menyebabkan semua data habis terbuang. Silahkan menginput ulang data"; return; dtperhitungan = dtfase1.copy(); dgdata.datasource = dtperhitungan; dgdata.databind(); calculate_fase1(); btnsave.enabled = true;
20 L 20 private void btnreset_click(object sender, System.EventArgs e) if (dtcl!= null) dtcl = new DataTable(); if (dtfase1!= null) dtfase1 = new DataTable(); if (dtperhitungan!= null) dtperhitungan = new DataTable(); dgdata.contextmenu = null; contextvarf1.menuitems[1].enabled = false; txtopenfile.clear(); txtprocessname.clear(); lblkesimpulan.text = ""; lbllcl.text = ""; lblucl.text = ""; lblvar.text = "<Belum Ada Input>"; lblsample.text = "<Belum Ada Input>"; radioinputmode.checkedindex = 0; incontrol = -1; btnhitung.enabled = false; btnsave.enabled = false; grbdate_part.enabled = true; grbinputdatafase1.enabled = false; dgdata.datasource = null; chartcl.data.datasource = null; datefase1.focus(); // save hasil perhitungan ke dalam database private void btnsave_click(object sender, System.EventArgs e) int i, j; string kd_f1 = datefase1.value.toshortdatestring() + "-" + processnumber.tostring() + "-" + alpha.tostring();; DialogResult hsl = MessageBox.Show("Anda yakin untuk menyimpan data hasil perhitungan ini?", "Simpan Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (hsl == DialogResult.No) return;
21 L 21 OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); com.connection = con; if (con.state == ConnectionState.Closed) con.open(); // input database (tabel MS_Fase1) try com.commandtext = "insert into ms_fase1 values ('" + kd_f1 + "', '" + datefase1.value.toshortdatestring() + "', " + processnumber + ", " + alpha + ", " + dtfase1.columns.count + ", " + LCL + ", " + UCL + ", " + incontrol + ", '" + kesimpulan + "')"; com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); // input database (tabel DT_Fase1_Var) for (i = 0; i < dtfase1.columns.count; i++) try com.commandtext = "insert into dt_fase1_var values ('" + kd_f1 + "', " + i + ", '" + dtfase1.columns[i].columnname + "')"; com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); // input database (tabel DT_Fase1_Data) for (i = 0; i < dtfase1.rows.count; i++) for (j = 0; j < dtfase1.columns.count; j++) try com.commandtext = "insert into dt_fase1_data values ('" + kd_f1 + "', " + i + ", " + j + ", " + dtfase1.rows[i][j] + ")"; com.executenonquery();
22 L 22 catch (OleDbException ex) MessageBox.Show(ex.Message); // input database (tabel DT_Fase1_T2) for (i = 0; i < arrt2.length; i++) try com.commandtext = "insert into dt_fase1_t2 values ('" + kd_f1 + "', " + i + ", " + arrt2[i] + ")"; con.close(); com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); if (frmmain.fviewf1!= null) frmmain.fviewf1.loadlist(); MessageBox.Show("Data Fase 1 berhasil disimpan ke dalam database.", "Simpan File Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); btnreset.performclick();
23 L 23 Coding frmvarf1.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb; namespace MSPC /// <summary> /// Summary description for frmvarf1. /// </summary> public class frmvarf1 : System.Windows.Forms.Form internal Infragistics.Win.UltraWinGrid.UltraGrid dgvar; private Infragistics.Win.Misc.UltraButton btnok; private Infragistics.Win.Misc.UltraButton btncancel; private Infragistics.Win.Misc.UltraLabel ultralabel1; /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.Container components = null; private System.Windows.Forms.ContextMenu contextvarf1; private System.Windows.Forms.MenuItem mnudel; private System.Windows.Forms.MenuItem mnuadd; DataTable dt; DataColumn dc; DataRow dr; public frmvarf1() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call //
24 L 24 /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing ) if(components!= null) components.dispose(); base.dispose( disposing ); private void frmvarf1_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.ffase1.fvarf1 = null; private void frmvarf1_load(object sender, System.EventArgs e) dt = frmmain.ffase1.dtvarf1.copy(); dgvar.datasource = dt; dgvar.databind(); if (dt.rows.count < 1) btnok.enabled = false; contextvarf1.menuitems[1].enabled = false; else btnok.enabled = true; contextvarf1.menuitems[1].enabled = true; private void mnuadd_click(object sender, System.EventArgs e) dr = dt.newrow(); dt.rows.add(dr); if (dt.rows.count > 0)
25 L 25 btnok.enabled = true; contextvarf1.menuitems[1].enabled = true; dgvar.activerow = dgvar.rows[dt.rows.count - 1]; private void mnudel_click(object sender, System.EventArgs e) dt.rows.removeat(dgvar.activerow.index); if (dt.rows.count > 0) dgvar.activerow = dgvar.rows[0]; else btnok.enabled = false; contextvarf1.menuitems[1].enabled = false; private void btncancel_click(object sender, System.EventArgs e) this.close(); private void btnok_click(object sender, System.EventArgs e) for (int i = 0; i < dt.rows.count; i++) if (dt.rows[i][0].tostring() == "") MessageBox.Show("Nama variabel tidak boleh dikosongkan. Apabila anda ingin menghapusnya, anda bisa menggunakan klik kanan dan pilih \"HAPUS VARIABEL INI\".", "Ada nama variabel yang kosong", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; frmmain.ffase1.dtvarf1 = dt.copy(); frmmain.ffase1.inputvarf1(); this.close();
26 L 26 Coding frmpilihprocess.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace MSPC /// <summary> /// Summary description for frmplhprocess. /// </summary> public class frmplhprocess : System.Windows.Forms.Form internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatapart; private Infragistics.Win.Misc.UltraLabel ultralabel1; private Infragistics.Win.Misc.UltraButton btncancel; private Infragistics.Win.Misc.UltraButton btnok; /// <summary> /// Required designer variable. System.Data.OleDb.OleDbConnection con; System.Data.OleDb.OleDbDataAdapter da; System.Data.DataTable dt; /// </summary> private System.ComponentModel.Container components = null; public frmplhprocess() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing )
27 L 27 if(components!= null) components.dispose(); base.dispose( disposing ); private void frmplhprocess_load(object sender, System.EventArgs e) con = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); da = new System.Data.OleDb.OleDbDataAdapter("select process_number as [No Proses], process_name as [Nama Proses] from MS_Process order by process_number", con); dt = new System.Data.DataTable(); try da.fill(dt); catch (System.Data.OleDb.OleDbException ex) MessageBox.Show(ex.Message); dgdatapart.datasource = dt; dgdatapart.databind(); if (dt.rows.count < 1) btnok.enabled = false; else dgdatapart.activerow = dgdatapart.rows[0]; private void frmplhprocess_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.ffase1.fplhprocess = null; private void btncancel_click(object sender, System.EventArgs e) this.close();
28 L 28 private void btnok_click(object sender, System.EventArgs e) frmmain.ffase1.processnumber = int.parse(dgdatapart.rows[dgdatapart.activerow.index].cells[0].text); frmmain.ffase1.txtprocessname.text = dgdatapart.rows[dgdatapart.activerow.index].cells[1].text; this.close();
29 L 29 Coding frmfase2.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb; namespace MSPC /// <summary> /// Summary description for frmfase2. /// </summary> public class frmfase2 : System.Windows.Forms.Form #region User Interface Component private Infragistics.Win.Misc.UltraGroupBox grbdate_part; private Infragistics.Win.Misc.UltraButton btnvalidate_ok; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; private Infragistics.Win.Misc.UltraGroupBox grbinput; private System.Windows.Forms.Label label5; private System.Windows.Forms.Label label4; private Infragistics.Win.Misc.UltraGroupBox grbimport; private System.Windows.Forms.TextBox txtopenfile; private Infragistics.Win.Misc.UltraButton btnimport; private System.Windows.Forms.Label label3; private Infragistics.Win.Misc.UltraButton btnopenfile; private Infragistics.Win.UltraWinEditors.UltraOptionSet radioinputmode; private Infragistics.Win.Misc.UltraButton btnplhdatepartfase1; private System.Windows.Forms.Label label8; private Infragistics.Win.Misc.UltraGroupBox grbdatafase1; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label10; private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label14; private Infragistics.Win.Misc.UltraGroupBox grbkesimpulan; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatafase1; private Infragistics.Win.Misc.UltraGroupBox grbclfase1; private System.Windows.Forms.Label lbllcl1; private System.Windows.Forms.Label lblucl1; private Infragistics.Win.Misc.UltraGroupBox grbclfase2; private System.Windows.Forms.Label lbllcl2; private System.Windows.Forms.Label lblucl2;
30 L 30 private Infragistics.Win.Misc.UltraGroupBox grbdatafase2; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatafase2; private Infragistics.Win.UltraWinChart.UltraChart chartcl; public System.Windows.Forms.TextBox txtprocessname; private System.Windows.Forms.DateTimePicker datefase2; private Infragistics.Win.Misc.UltraGroupBox grbinputdatafase2; public System.Windows.Forms.TextBox txtdatefase1; private System.Windows.Forms.OpenFileDialog openfile; private Infragistics.Win.Misc.UltraButton btnreset; private Infragistics.Win.Misc.UltraButton btnhitung; private Infragistics.Win.Misc.UltraButton btnsave; private System.Windows.Forms.Panel panel1; private System.Windows.Forms.Label lblkesimpulan; public System.Windows.Forms.TextBox txtalpha; private System.Windows.Forms.Label label11; private System.Windows.Forms.Label lblsample; private System.Windows.Forms.Label lblvar; private System.Windows.Forms.ContextMenu contextvarf2; private System.Windows.Forms.MenuItem mnuadd; private System.Windows.Forms.MenuItem mnudel; private Infragistics.Win.Misc.UltraButton btnok; #endregion dtcl; /// <summary> // Variabel yang di pakai pada aplikasi private DataTable dtfase1, dtfase2, dtperhitungan1, dtperhitungan2, private DataColumn dcf, dccl; private DataRow drf, drcl; private CMSPC MSPC; private string strdataout; private double[] arrt2; private double UCL1, LCL1, UCL2, LCL2; private int incontrol = -1; private int varfase1; public int processnumber = 0; public double alpha = 0; public string kd_f1 = ""; public string kd_f2 = ""; public frmdateprocessfase1 fdatepartfase1 = null; //////////////////////////////////////////////////////////// /// </summary>
31 L 31 private System.ComponentModel.Container components = null; public frmfase2() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing ) if(components!= null) components.dispose(); base.dispose( disposing ); // fungsi untuk mengambil hasil perhitungan dari MSPC // apakah incontrol atau tidak, // lcl, ucl dan T2 nya berapa dan tampilkan pada datagrid private void calculate_fase2() int i = 0; // ambil nilai yg melambangkan apakah data baru ini // incontrol atau tidak // setelah di hitung incontrol = MSPC.FaseII(dtFase1, dtfase2, alpha); // ambil hasil dari ucl dan lcl LCL2 = MSPC.getLCL(2); UCL2 = MSPC.getUCL(2); lbllcl2.text = LCL2.ToString(); // tampilkan LCL lblucl2.text = UCL2.ToString(); // tampilkan UCL
32 L 32 arrt2 = new double[dtfase2.rows.count]; MSPC.getArrT2(2).CopyTo(arrT2, 0); if (dtperhitungan2.columns["t-square"] == null) // tambahkan kolom T-Square ke dalam table data // fase 1 yang di tampilkan dtperhitungan2.columns.add(new DataColumn("T- Square", typeof(double))); 1] = arrt2[i]; // input T-Square ke dalam kolom yang baru di tambah // ke tabel for (i = 0; i < arrt2.length; i++) dtperhitungan2.rows[i][dtperhitungan2.columns.count - // Tabel untuk Control Chart dtcl = new DataTable(); // inisialisasi tabel // inisialisasi kolom - kolom tabel dccl = new DataColumn("T-Square", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("LCL", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("UCL", typeof(double)); dtcl.columns.add(dccl); for (i = 0; i < arrt2.length; i++) // inisialisasi baris baru drcl = dtcl.newrow(); // input data ke baris yang baru drcl["t-square"] = arrt2[i]; drcl["lcl"] = LCL2; drcl["ucl"] = UCL2; // tambah baris baru ke tabel dtcl.rows.add(drcl); ////////////////////////////////////////////////////////// chartcl.data.datasource = dtcl; chartcl.data.swaprowsandcolumns = true;
33 L 33 chartcl.titletop.text = "Peta Kontrol Fase 2 " + datefase2.value.toshortdatestring() + " berdasarkan Data Fase 1 " + txtdatefase1.text; chartcl.databind(); if (incontrol == 1) lblkesimpulan.text = "Data baru yang dimasukkan didalam kontrol seluruhnya. Hal ini berarti kualitas produk masih baik. Belum terjadi penurunan kualitas."; else if (incontrol == 0) strdataout = MSPC.getDataOutOfControl(); lblkesimpulan.text = "Terdapat data baru yang berada diluar kontrol, yaitu data " + strdataout + " Hal ini menunjukkan adanya penurunan kualitas yang bisa disebabkan oleh salah satu atau seluruh variabel yang berpengaruh dalam perhitungan ini."; btnhitung.enabled = false; private void frmfase2_load(object sender, System.EventArgs e) dtperhitungan1 = new DataTable(); dtperhitungan2 = new DataTable(); dtfase1 = new DataTable(); dtfase2 = new DataTable(); MSPC = new CMSPC(); // datagrid tidak bisa di edit dgdatafase2.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.True; private void frmfase2_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.ffase2 = null; // perintah yang dijalankan pada saat ingin memilih fase 1.
34 L 34 // pada saat ini akan menampilkan 1 form untuk user memilih // fase satu yang mana yang akan di pakai sebagai data // acuan dari data yang baru private void btnplhdatepartfase1_click(object sender, System.EventArgs e) if (fdatepartfase1 == null) fdatepartfase1 = new frmdateprocessfase1(); fdatepartfase1.show(); else fdatepartfase1.focus(); // untuk memvalidasi apakah data sebelumnya telah ada pada // database private void btnvalidate_ok_click(object sender, System.EventArgs e) int idx; idx = 0; if (txtdatefase1.text!= "" && txtprocessname.text!= "" && txtalpha.text!= "") OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); OleDbDataReader dr = null; com.connection = con; if (con.state == ConnectionState.Closed) con.open(); com.commandtext = "select * from ms_fase2 where kd_f1 = '" + kd_f1 + "' and tgl_f2 = '" + datefase2.value.toshortdatestring() + "'"; try dr = com.executereader(); catch (OleDbException ex)
35 L 35 MessageBox.Show(ex.Message); // apabila sudah ada data tersebut pada // database if (dr.read()) MessageBox.Show("Data Fase 2 untuk tanggal Fase 1, proses Fase 1, tingkat kepercayaan Fase 1 dan tanggal Fase 2 ini sudah ada. Jika anda tetap ingin menginput data pada tanggal, proses dan tingkat kepercayaan ini, anda harus menghapus data yang sebelumnya sudah ada terlebih dahulu dengan menggunakan tombol HAPUS DATA pada Form Laporan Data Baru (Fase 2).", "Data sudah pernah ada", MessageBoxButtons.OK, MessageBoxIcon.Stop); else txtdatefase1.clear(); txtprocessname.clear(); txtalpha.clear(); datefase2.focus(); grbdate_part.enabled = false; grbinputdatafase2.enabled = true; grbinput.enabled = true; grbimport.enabled = false; dr.close(); ////////////////////////////////////////////////////////////// /// load data dari tabel ms_fase1 /////////////// ////////////////////////////////////////////////////////////// // jika data sebelumnya belum pernah ada maka // load data fase satu sebagai data acuan kd_f1 = '" + kd_f1 + "'"; // load data fase 1 yang memiliki kode seperti // yang user pilih // kode = tanggal fase 1 + no proses + alpha com.commandtext = "select * from MS_Fase1 where try dr = com.executereader();
36 L 36 catch (OleDbException ex) MessageBox.Show(ex.Message); if (dr.read()) varfase1 = int.parse(dr[4].tostring()); alpha = double.parse(dr[3].tostring()); LCL1 = double.parse(dr[5].tostring()); UCL1 = double.parse(dr[6].tostring()); lbllcl1.text = LCL1.ToString(); lblucl1.text = UCL1.ToString(); ////////////////////////////////////////////////////////////// dr.close(); //////////////////////////////////////////////////////////////////////////////////// /// load nama variabel fase 1 dari tabel dt_fase1_var //////// /////////////////////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_var where kd_f1 = '" + kd_f1 + "' order by kd_f1 asc, kol asc"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dtfase1 = new DataTable(); typeof(double)); while (dr.read()) dcf = new DataColumn (dr[2].tostring(), dtfase1.columns.add(dcf); //////////////////////////////////////////////////////////////
37 L 37 dr.close(); ////////////////////////////////////////////////////////////// /// load data fase 1 (tanpa data) ke datatable fase 2 untuk di // tampilkan pada dgdatafase2 dtfase2 = dtfase1.copy(); dgdatafase2.datasource = dtfase2; dgdatafase2.databind(); lblvar.text = dtfase2.columns.count.tostring(); ////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////// /// load data fase 1 dari tabel dt_fase1_data //////////// ////////////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_data where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); idx = 0; drf = dtfase1.newrow(); while (dr.read()) if (idx == varfase1) dtfase1.rows.add(drf); drf = dtfase1.newrow(); idx = 0; drf[idx++] = dr[3]; dtfase1.rows.add(drf);
38 L 38 dtperhitungan1 = dtfase1.copy(); ////////////////////////////////////////////////////////////// dr.close(); /////////////////////////////////////////////////////////////////////////// /// load T-Square fase 1 dari tabel dt_fase1_t2/////// ////////////////////////////////////////////////////////////////////////// com.commandtext = "select t2_f1 from DT_Fase1_T2 where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dcf = new DataColumn("T-Square", typeof(double)); dtperhitungan1.columns.add(dcf); idx = 0; while (dr.read()) dtperhitungan1.rows[idx++][dtperhitungan1.columns.count - 1] = double.parse(dr[0].tostring()); ////////////////////////////////////////////////////////////// dr.close(); con.close(); else dgdatafase1.datasource = dtperhitungan1; dgdatafase1.databind(); MessageBox.Show("Nama Proses harus diisi."); btnplhdatepartfase1.focus(); // sama seperti penjelasan pada frmfase1
39 L 39 private void radioinputmode_valuechanged(object sender, System.EventArgs e) grbinput.visible = (!grbinput.visible); grbinput.enabled = (!grbinput.enabled); grbimport.visible = (!grbimport.visible); grbimport.enabled = (!grbimport.enabled); if (radioinputmode.checkedindex == 0) dgdatafase2.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.True; dgdatafase2.contextmenu = contextvarf2; dgdatafase2.datasource = dtfase2; dgdatafase2.databind(); else dgdatafase2.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.False; dgdatafase2.contextmenu = null; dgdatafase2.datasource = null; // sama seperti penjelasan pada frmfase1 private void btnopenfile_click(object sender, System.EventArgs e) try openfile.filter = "Excel Files (*.xls) *.xls"; openfile.showdialog(); txtopenfile.text = openfile.filename; catch (Exception ex) MessageBox.Show(ex.Message, "Import Error", MessageBoxButtons.OK, MessageBoxIcon.Error); // sama seperti penjelasan pada frmfase1 private void mnuadd_click(object sender, System.EventArgs e)
40 L 40 drf = dtfase2.newrow(); dtfase2.rows.add(drf); if (dtfase2.rows.count > 0) btnok.enabled = true; contextvarf2.menuitems[1].enabled = true; dgdatafase2.activerow = dgdatafase2.rows[dtfase2.rows.count - 1]; lblsample.text = dtfase2.rows.count.tostring(); // sama seperti penjelasan pada frmfase1 private void mnudel_click(object sender, System.EventArgs e) dtfase2.rows.removeat(dgdatafase2.activerow.index); if (dtfase2.rows.count > 0) dgdatafase2.activerow = dgdatafase2.rows[0]; else btnok.enabled = false; contextvarf2.menuitems[1].enabled = false; lblsample.text = dtfase2.rows.count.tostring(); // sama seperti penjelasan pada frmfase1 private void btnok_click(object sender, System.EventArgs e) dgdatafase2.displaylayout.override.allowupdate = Infragistics.Win.DefaultableBoolean.False; dgdatafase2.contextmenu = null; for (int i = 0; i < dtfase2.rows.count; i++) for (int j = 0; j < dtfase2.columns.count; j++) if (dtfase2.rows[i][j].tostring() == "")
41 L 41 MessageBox.Show("Semua data Fase 2 harus diisi semua.", "Ada data yang kosong", MessageBoxButtons.OK, MessageBoxIcon.Stop); return; dtperhitungan2 = dtfase2.copy(); dgdatafase2.datasource = dtperhitungan2; dgdatafase2.databind(); btnhitung.enabled = true; grbinputdatafase2.enabled = false; // sama seperti penjelasan pada frmfase1 private void btnimport_click(object sender, System.EventArgs e) if (txtopenfile.text!= "") CExcel conexcel = new CExcel(); try dtfase2 = conexcel.excelimporter(txtopenfile.text).copy(); catch (Exception ex) MessageBox.Show(ex.Message); return; for (int i = 0; i < dtfase2.rows.count; i++) for (int j = 0; j < dtfase2.columns.count; j++) if (dtfase2.rows[i][j].tostring() == "") MessageBox.Show("Sistem tidak dapat mengimport masuk file data Fase 1 anda, hal ini dikarenakan file data Fase 2 mengandung data kosong, semua data Fase 2 harus diisi semua.", "Ada data yang kosong", MessageBoxButtons.OK, MessageBoxIcon.Stop); dtfase2 = new DataTable();
42 L 42 return; dtperhitungan2 = dtfase2.copy(); dgdatafase2.datasource = dtperhitungan2; dgdatafase2.databind(); btnhitung.enabled = true; aplikasi harus diisi."); else grbinputdatafase2.enabled = false; MessageBox.Show("Lokasi file yang akan diimport ke btnopenfile.focus(); // perintah yang di jalan kan pada saat user menekan tombol hitung fase 2 // berbeda dengan fase satu, pada fase 2 ini, user hanya // bisa menghitung sekali, tidak bisa // tidak bisa hitung ulang seperti fase 1 private void btnhitung_click(object sender, System.EventArgs e) try calculate_fase2(); catch (Exception ex) MessageBox.Show(ex.Message); btnsave.enabled = true; private void btnreset_click(object sender, System.EventArgs e) if (dtcl!= null) dtcl = new DataTable(); if (dtfase1!= null) dtfase1 = new DataTable(); if (dtfase2!= null) dtfase2 = new DataTable();
43 L 43 if (dtperhitungan1!= null) dtperhitungan1 = new DataTable(); if (dtperhitungan2!= null) dtperhitungan2 = new DataTable(); dgdatafase2.contextmenu = null; contextvarf2.menuitems[1].enabled = false; txtopenfile.clear(); txtdatefase1.clear(); txtprocessname.clear(); txtalpha.clear(); lblkesimpulan.text = ""; lbllcl1.text = ""; lblucl1.text = ""; lbllcl2.text = ""; lblucl2.text = ""; lblvar.text = "<Belum Ada Input>"; lblsample.text = "<Belum Ada Input>"; radioinputmode.checkedindex = 0; incontrol = -1; btnhitung.enabled = false; btnsave.enabled = false; grbdate_part.enabled = true; grbinputdatafase2.enabled = false; dgdatafase1.datasource = null; dgdatafase2.datasource = null; chartcl.data.datasource = null; btnplhdatepartfase1.focus(); private void btnsave_click(object sender, System.EventArgs e) int i, j; DialogResult hsl = MessageBox.Show("Anda yakin untuk menyimpan data hasil perhitungan ini?", "Simpan Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (hsl == DialogResult.No) return; kd_f2 = datefase2.value.toshortdatestring() + "-" + kd_f1;
44 L 44 OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); com.connection = con; if (con.state == ConnectionState.Closed) con.open(); // input database (tabel MS_Fase2) try com.commandtext = "insert into ms_fase2 values ('" + kd_f2 + "', '" + datefase2.value.toshortdatestring() + "', '" + kd_f1 + "', " + LCL2 + ", " + UCL2 + ", " + incontrol + ", '" + lblkesimpulan.text + "')"; com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); // input database (tabel DT_Fase2_Data) for (i = 0; i < dtfase2.rows.count; i++) for (j = 0; j < dtfase2.columns.count; j++) try com.commandtext = "insert into dt_fase2_data values ('" + kd_f2 + "', " + i + ", " + j + ", " + dtfase2.rows[i][j] + ")"; com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); // input database (tabel DT_Fase2_T2) for (i = 0; i < arrt2.length; i++) try com.commandtext = "insert into dt_fase2_t2 values ('" + kd_f2 + "', " + i + ", " + arrt2[i] + ")"; com.executenonquery(); catch (OleDbException ex)
45 L 45 MessageBox.Show(ex.Message); con.close(); if (frmmain.fviewf2!= null) frmmain.fviewf2.loadlist(); MessageBox.Show("Data Fase 2 berhasil disimpan ke dalam database.", "Simpan File Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); btnreset.performclick();
46 L 46 Coding frmplhdateprocessfase1.cs using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; namespace MSPC /// <summary> /// Summary description for frmplhprocess. /// </summary> public class frmdateprocessfase1 : System.Windows.Forms.Form internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatapart; private Infragistics.Win.Misc.UltraLabel ultralabel1; private Infragistics.Win.Misc.UltraButton btncancel; private Infragistics.Win.Misc.UltraButton btnok; /// <summary> /// Required designer variable. System.Data.OleDb.OleDbConnection con; System.Data.OleDb.OleDbDataAdapter da; System.Data.DataTable dt; /// </summary> private System.ComponentModel.Container components = null; public frmdateprocessfase1() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing )
47 L 47 if(components!= null) components.dispose(); base.dispose( disposing ); private void frmdateprocessfase1_load(object sender, System.EventArgs e) con = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); da = new System.Data.OleDb.OleDbDataAdapter("select MS_Fase1.tgl_f1 as [Tanggal Fase 1], MS_Fase1.process_number as [No Proses], MS_Process.process_name as [Nama Proses], MS_Fase1.alpha as [Tingkat Kepercayaan] from MS_Fase1 inner join MS_Process on MS_Fase1.process_number = MS_Process.process_number where MS_Fase1.inControl = true", con); dt = new System.Data.DataTable(); try da.fill(dt); catch (System.Data.OleDb.OleDbException ex) MessageBox.Show(ex.Message); dgdatapart.datasource = dt; dgdatapart.databind(); if (dt.rows.count < 1) btnok.enabled = false; else dgdatapart.activerow = dgdatapart.rows[0]; private void frmdateprocessfase1_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.ffase2.fdatepartfase1 = null; private void btncancel_click(object sender, System.EventArgs e)
48 L 48 this.close(); private void btnok_click(object sender, System.EventArgs e) frmmain.ffase2.txtdatefase1.text = dgdatapart.rows[dgdatapart.activerow.index].cells[0].text; frmmain.ffase2.processnumber = int.parse(dgdatapart.rows[dgdatapart.activerow.index].cells[1].text); frmmain.ffase2.txtprocessname.text = dgdatapart.rows[dgdatapart.activerow.index].cells[2].text; frmmain.ffase2.alpha = double.parse(frmmain.ffase2.txtalpha.text = dgdatapart.rows[dgdatapart.activerow.index].cells[3].text); frmmain.ffase2.kd_f1 = frmmain.ffase2.txtdatefase1.text + "-" + String.Format("0", frmmain.ffase2.processnumber) + "-" + String.Format("0", frmmain.ffase2.alpha); this.close();
49 L 49 Coding frmviewf1.cs using System; using System.Drawing; using System.Drawing.Printing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.Printing; namespace MSPC /// <summary> /// Summary description for frmviewf1. /// </summary> public class frmviewf1 : System.Windows.Forms.Form #region User Interface Component private System.Windows.Forms.Panel frmviewf1_fill_panel; public System.Windows.Forms.TextBox txtalpha; private System.Windows.Forms.Label label11; public System.Windows.Forms.TextBox txtdatefase1; private System.Windows.Forms.Label label2; private System.Windows.Forms.Label label1; private Infragistics.Win.Misc.UltraButton btnnext; private Infragistics.Win.Misc.UltraButton btnlast; private Infragistics.Win.Misc.UltraLabel ultralabel1; private Infragistics.Win.Misc.UltraButton btnprev; private Infragistics.Win.Misc.UltraButton btnfirst; private Infragistics.Win.Misc.UltraGroupBox grbcl; private System.Windows.Forms.Label lbllcl; private System.Windows.Forms.Label lblucl; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label8; private Infragistics.Win.Misc.UltraGroupBox grbkesimpulan; private Infragistics.Win.Misc.UltraGroupBox grb_fase1; private Infragistics.Win.Misc.UltraButton btndel; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdata; private Infragistics.Win.Misc.UltraGroupBox grbdatafase1; private Infragistics.Win.UltraWinChart.UltraChart chartcl; internal Infragistics.Win.UltraWinGrid.UltraGrid dglist;
50 L 50 private Infragistics.Win.Misc.UltraButton btnprintdata; private Infragistics.Win.Misc.UltraButton btnprintchart; private Infragistics.Win.Printing.UltraPrintPreviewDialog ultraprintpreviewdialogdata; private Infragistics.Win.Printing.UltraPrintPreviewDialog ultraprintpreviewdialogchart; public System.Windows.Forms.TextBox txtprocessname; private Infragistics.Win.UltraWinGrid.UltraGridPrintDocument printdocdatafase1; private System.Windows.Forms.Label lblkesimpulan; private System.ComponentModel.IContainer components; #endregion private OleDbConnection conlist; private OleDbDataAdapter dalist; private DataTable dtlist; private DataTable dtfase1; private DataTable dtcl; private DataColumn dcf1, dccl; private DataRow drf1, drcl; private int idx = 0; private int varfase1 = 0; private string kd_f1 = ""; public frmviewf1() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing ) if( disposing ) if(components!= null)
51 L 51 components.dispose(); base.dispose( disposing ); // fungsi untuk mengload semua list fase 1 yang telah // tercatat pada database sebelumnya public void loadlist() conlist = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); dalist = new OleDbDataAdapter("select MS_Fase1.tgl_f1 as [Tanggal Fase 1], MS_Fase1.process_number as [No Proses], MS_Process.process_name as [Nama Proses], MS_Fase1.alpha as [Tingkat Kepercayaan] from MS_Fase1 inner join MS_Process on MS_Fase1.process_number = MS_Process.process_number order by MS_Fase1.tgl_f1, MS_Fase1.process_number, MS_Fase1.alpha", conlist); dtlist = new DataTable(); try // load list data fase 1 yang sudah ada pada // database sebelumnya dalist.fill(dtlist); catch (OleDbException ex) MessageBox.Show(ex.Message); dglist.datasource = dtlist; dglist.databind(); if (dtlist.rows.count < 1) btnlast.enabled = false; btnnext.enabled = false; btnprev.enabled = false; btnfirst.enabled = false; btnprintdata.enabled = true; btnprintchart.enabled = true; btndel.enabled = false;
52 L 52 else if (dtlist.rows.count < 2) btnlast.enabled = false; btnnext.enabled = false; btnprev.enabled = false; btnfirst.enabled = false; btnprintdata.enabled = true; btnprintchart.enabled = true; btndel.enabled = true; else idx = 0; loaddatafase1(); btnlast.enabled = true; btnnext.enabled = true; btnprev.enabled = true; btnfirst.enabled = true; btnprintdata.enabled = true; btnprintchart.enabled = true; btndel.enabled = true; idx = 0; loaddatafase1(); // fungsi untuk mengload data fase 1 yang terpilih pada // datagrid secara detil private void loaddatafase1() int i = 0; kd_f1 = dtlist.rows[idx][0].tostring() + "-" + dtlist.rows[idx][1].tostring() + "-" + dtlist.rows[idx][3].tostring(); dglist.activerow = dglist.rows[idx]; OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); OleDbDataReader dr = null;
53 L 53 com.connection = con; if (con.state == ConnectionState.Closed) con.open(); ////////////////////////////////////////////////////////////// /// load data dari tabel ms_fase1 /////////////// ////////////////////////////////////////////////////////////// com.commandtext = "select var_f1, lcl_f1, ucl_f1, kesimpulan from MS_Fase1 where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); if (dr.read()) varfase1 = int.parse(dr[0].tostring()); txtdatefase1.text = dtlist.rows[idx][0].tostring(); txtprocessname.text = dtlist.rows[idx][2].tostring(); txtalpha.text = dtlist.rows[idx][3].tostring(); lbllcl.text = dr[1].tostring(); lblucl.text = dr[2].tostring(); lblkesimpulan.text = dr[3].tostring(); ////////////////////////////////////////////////////////////// dr.close(); ////////////////////////////////////////////////////////////// /// load nama variabel fase 1 dari tabel dt_fase1_var //////// ////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_var where kd_f1 = '" + kd_f1 + "' order by kd_f1 asc, kol asc"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message);
54 L 54 dtfase1 = new DataTable(); typeof(double)); while (dr.read()) dcf1 = new DataColumn (dr[2].tostring(), dtfase1.columns.add(dcf1); ////////////////////////////////////////////////////////////// dr.close(); ////////////////////////////////////////////////////////////////////// /// load data fase 1 dari tabel dt_fase1_data ////// //////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_data where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); i = 0; drf1 = dtfase1.newrow(); while (dr.read()) if (i == varfase1) dtfase1.rows.add(drf1); drf1 = dtfase1.newrow(); i = 0; drf1[i++] = dr[3]; dtfase1.rows.add(drf1);
55 L 55 ////////////////////////////////////////////////////////////// dr.close(); //////////////////////////////////////////////////////////////////////// /// load T-Square fase 1 dari tabel dt_fase1_t2 /// /////////////////////////////////////////////////////////////////////// com.commandtext = "select t2_f1 from DT_Fase1_T2 where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dcf1 = new DataColumn("T-Square", typeof(double)); dtfase1.columns.add(dcf1); i = 0; while (dr.read()) dtfase1.rows[i++][dtfase1.columns.count - 1] = double.parse(dr[0].tostring()); ////////////////////////////////////////////////////////////// dr.close(); con.close(); dgdata.datasource = dtfase1; dgdata.databind(); loadchartcl(); private void loadchartcl() int i = 0; ////////////////////////////////////////////////////////// /// Tabel untuk Control Chart /////////////// ////////////////////////////////////////////////////////// dtcl = new DataTable(); // inisialisasi tabel
56 L 56 // inisialisasi kolom - kolom tabel dccl = new DataColumn("T-Square", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("LCL", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("UCL", typeof(double)); dtcl.columns.add(dccl); for (i = 0; i < dtfase1.rows.count; i++) // inisialisasi baris baru drcl = dtcl.newrow(); // input data ke baris yang baru drcl["t-square"] = dtfase1.rows[i][dtfase1.columns.count - 1]; drcl["lcl"] = double.parse(lbllcl.text); drcl["ucl"] = double.parse(lblucl.text); // tambah baris baru ke tabel dtcl.rows.add(drcl); ////////////////////////////////////////////////////////// txtdatefase1.text; chartcl.data.datasource = dtcl; chartcl.data.swaprowsandcolumns = true; chartcl.titletop.text = "Peta Kontrol Fase 1 " + chartcl.databind(); private void frmviewf1_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.fviewf1 = null; // perintah yang dijalankan pada saat form di load private void frmviewf1_load(object sender, System.EventArgs e) // begitu form di load langsung load list fase 1 yang // sudah ada database // dan otomatis load data fase 1 secara detil pada // index pertama list data fase 1 loadlist();
57 L 57 e) // perintah ini di jalankan pada saat index pada datagrid //(dglist) berubah. // perintah ini akan mengload data fase 1 secara detil // sesuai tanggal, proses dan alpha yang terpilih pada // datagrid (dglist) private void dglist_afterrowactivate(object sender, System.EventArgs idx = dglist.rows[dglist.activerow.index].index; loaddatafase1(); // load data fase 1 yang terpilih // secara detil // ketika button last di tekan private void btnlast_click(object sender, System.EventArgs e) idx = dglist.rows[dglist.rows.count - 1].Index; loaddatafase1(); // load data fase 1 yang terpilih // secara detil // ketika tombol first di tekan private void btnfirst_click(object sender, System.EventArgs e) idx = 0; loaddatafase1(); // load data fase 1 yang terpilih // secara detil // ketika button next di tekan private void btnnext_click(object sender, System.EventArgs e) if (idx < dglist.rows.count - 1) idx++; loaddatafase1(); // load data fase 1 yang terpilih // secara detil //ketika button prev di tekan private void btnprev_click(object sender, System.EventArgs e) if (idx > 0) idx--;
58 L 58 loaddatafase1(); // load data fase 1 yang terpilih // secara detil // perintah yang di jalankan ketika user menekan tombol // hapus data private void btndel_click(object sender, System.EventArgs e) // tampilkan pertanyaan untuk menyakinkan user apakah // benar ingin menghapus data atau tidak DialogResult hsl = MessageBox.Show("Anda akan menghapus data fase 1 berikut ini :\n" + "Tanggal Data Acuan : " + txtdatefase1.text + "\n" + "Nama Proses : " + txtprocessname.text + "\n" + "Tingkat Kepercayaan : " + txtalpha.text + "\n" + "Data tersebut akan TERHAPUS dan TIDAK DAPAT DIKEMBALIKAN LAGI, apabila ada data fase 2 yang berkaitan dengan data fase 1 ini maka MAKA DATA FASE 2 TERSEBUT JUGA AKAN TERHAPUS.\n" + "Anda yakin untuk menghapus data fase 1 ini?", "Hapus Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question); // jika user tetap yakin untuk menghapus data if (hsl == DialogResult.Yes) OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); com.connection = con; kd_f1 = '" + kd_f1 + "'"; // tentukan sql command yang akan di eksekusi nanti com.commandtext = "delete from MS_Fase1 where if (con.state == ConnectionState.Closed) con.open(); try // jalan kan sql command untuk menghapus com.executenonquery(); catch (OleDbException ex)
59 L 59 MessageBox.Show(ex.Message); con.close(); txtalpha.text = ""; dtfase1.clear(); dtcl.clear(); chartcl.datasource = null; dgdata.datasource = null; dglist.datasource = null; txtdatefase1.text = txtprocessname.text = lbllcl.text = lblucl.text = lblkesimpulan.text = ""; loadlist(); MessageBox.Show("Data telah berhasil dihapus", "Hapus Data", MessageBoxButtons.OK, MessageBoxIcon.Information); // perintah yang di jalankan ketika user menekan tombol // print data private void btnprintdata_click(object sender, System.EventArgs e) printdocdatafase1.printcolorstyle = ColorRenderMode.GrayScale; printdocdatafase1.header.textleft = "[User Name]"; printdocdatafase1.header.textcenter = printdocdatafase1.documentname + " Tanggal " + txtdatefase1.text; printdocdatafase1.header.textright = "[Date Printed]"; printdocdatafase1.header.borderstyle = UIElementBorderStyle.Solid; printdocdatafase1.header.bordersides = Border3DSide.Bottom; printdocdatafase1.footer.textleft = "[Time Printed]"; printdocdatafase1.footer.textright = "[Page #]"; printdocdatafase1.footer.reversetextonevenpages = true; printdocdatafase1.pagebody.margins.top = 5; printdocdatafase1.pagebody.margins.bottom = 5;
60 L 60 printdocdatafase1.page.borderstyle = UIElementBorderStyle.Solid; printdocdatafase1.page.padding.left = 2; printdocdatafase1.page.padding.right = 2; printdocdatafase1.page.padding.top = 2; printdocdatafase1.page.padding.bottom = 2; printdocdatafase1.page.appearance.bordercolor = Color.Black; printdocdatafase1.appearance.forecolor = Color.Black; ultraprintpreviewdialogdata.document = printdocdatafase1; ultraprintpreviewdialogdata.show(); // perintah yang di jalankan ketika user menekan tombol // print chart private void btnprintchart_click(object sender, System.EventArgs e) ultraprintpreviewdialogchart.document = chartcl.printdocument; ultraprintpreviewdialogchart.show();
61 L 61 Coding frmviewf2.cs using System; using System.Drawing; using System.Drawing.Printing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Data.OleDb; using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.Printing; namespace MSPC /// <summary> /// Summary description for frmviewf2. /// </summary> public class frmviewf2 : System.Windows.Forms.Form #region User Interface Component private System.Windows.Forms.Panel frmviewf1_fill_panel; private Infragistics.Win.Misc.UltraGroupBox grbdatafase1; private Infragistics.Win.Misc.UltraGroupBox grb_fase1; private Infragistics.Win.Misc.UltraButton btnfirst; private Infragistics.Win.Misc.UltraButton btnprev; private Infragistics.Win.Misc.UltraButton btnnext; public System.Windows.Forms.TextBox txtalpha; private System.Windows.Forms.Label label11; public System.Windows.Forms.TextBox txtprocessname; private System.Windows.Forms.Label label2; private Infragistics.Win.Misc.UltraButton btnlast; private Infragistics.Win.Misc.UltraLabel ultralabel1; internal Infragistics.Win.UltraWinGrid.UltraGrid dglist; private Infragistics.Win.Misc.UltraButton btndel; private Infragistics.Win.Misc.UltraGroupBox grbkesimpulan; private Infragistics.Win.Misc.UltraGroupBox grbcl; private System.Windows.Forms.Label lbllcl; private System.Windows.Forms.Label lblucl; private System.Windows.Forms.Label label9; private System.Windows.Forms.Label label8; public System.Windows.Forms.TextBox txtdatefase1; private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label3; private Infragistics.Win.Misc.UltraGroupBox ultragroupbox1;
62 L 62 private Infragistics.Win.UltraWinChart.UltraChart chartcl; private System.Windows.Forms.Label lblkesimpulan; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatafase1; public System.Windows.Forms.TextBox txtdatefase2; internal Infragistics.Win.UltraWinGrid.UltraGrid dgdatafase2; private System.Windows.Forms.Panel pnlkesimpulan; private Infragistics.Win.Misc.UltraButton btnprintdata; private Infragistics.Win.Misc.UltraButton btnprintchart; private Infragistics.Win.Printing.UltraPrintPreviewDialog ultraprintpreviewdialogdata; private Infragistics.Win.Printing.UltraPrintPreviewDialog ultraprintpreviewdialogchart; private Infragistics.Win.UltraWinGrid.UltraGridPrintDocument printdocdatafase2; private System.ComponentModel.IContainer components; #endregion private OleDbConnection conlist; private OleDbDataAdapter dalist; private DataTable dtlist; private DataTable dtfase1, dtfase2; private DataTable dtcl; private DataColumn dcf, dccl; private DataRow drf, drcl; private int idx = 0; private int varfase1 = 0; private string kd_f1 = ""; private string kd_f2 = ""; public frmviewf2() // // Required for Windows Form Designer support // InitializeComponent(); // // TODO: Add any constructor code after // InitializeComponent call // /// <summary> /// Clean up any resources being used. /// </summary> protected override void Dispose( bool disposing )
63 L 63 if( disposing ) if(components!= null) components.dispose(); base.dispose( disposing ); private void frmviewf2_closing(object sender, System.ComponentModel.CancelEventArgs e) frmmain.fviewf2 = null; // fungsi untuk mengload semua list fase 1 & 2 yang telah // tercatat pada database sebelumnya public void loadlist() conlist = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); dalist = new OleDbDataAdapter("SELECT MS_Fase1.tgl_f1 as [Tanggal Fase 1], " +"MS_Fase2.tgl_f2 as [Tanggal Fase 2], " +"MS_Fase1.process_number as [No Proses], " +"MS_Process.process_name as [Nama Proses], " + "MS_Fase1.alpha as [Tingkat Kepercayaan] " + "FROM (MS_Fase1 inner join MS_Process on MS_Fase1.process_number = MS_Process.process_number) " + "inner join MS_Fase2 on MS_Fase1.kd_f1 = MS_Fase2.kd_f1 " + "ORDER BY MS_Fase2.tgl_f2, MS_Fase1.tgl_f1, MS_Fase1.process_number, MS_Fase1.alpha", conlist); dtlist = new DataTable(); try // load list data fase 1 & 2 yang sudah ada // pada database sebelumnya dalist.fill(dtlist); catch (OleDbException ex) MessageBox.Show(ex.Message);
64 L 64 dglist.datasource = dtlist; dglist.databind(); if (dtlist.rows.count < 1) btnlast.enabled = false; btnnext.enabled = false; btnprev.enabled = false; btnfirst.enabled = false; btnprintdata.enabled = false; btnprintchart.enabled = false; btndel.enabled = false; else if (dtlist.rows.count < 2) btnlast.enabled = false; btnnext.enabled = false; btnprev.enabled = false; btnfirst.enabled = false; btnprintdata.enabled = true; btnprintchart.enabled = true; btndel.enabled = true; idx = 0; else // load data fase 1 dan 2 yang terpilih secara // detil loaddatafase1(); loaddatafase2(); btnlast.enabled = true; btnnext.enabled = true; btnprev.enabled = true; btnfirst.enabled = true; btnprintdata.enabled = true; btnprintchart.enabled = true; btndel.enabled = true; idx = 0; // load data fase 1 dan 2 yang terpilih secara // detil
65 L 65 loaddatafase1(); loaddatafase2(); // fungsi untuk mengload data fase 1 yang terpilih pada // datagrid secara detil private void loaddatafase1() int i = 0; kd_f1 = dtlist.rows[idx][0].tostring() + "-" + dtlist.rows[idx][2].tostring() + "-" + dtlist.rows[idx][4].tostring(); kd_f2 = dtlist.rows[idx][1].tostring() + "-" + kd_f1; dglist.activerow = dglist.rows[idx]; OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); OleDbDataReader dr = null; com.connection = con; if (con.state == ConnectionState.Closed) con.open(); ////////////////////////////////////////////////////////////// /// load data dari tabel ms_fase1 /////////////// ////////////////////////////////////////////////////////////// com.commandtext = "select var_f1 from MS_Fase1 where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); if (dr.read()) varfase1 = int.parse(dr[0].tostring()); txtdatefase1.text = dtlist.rows[idx][0].tostring();
66 L 66 txtprocessname.text = dtlist.rows[idx][3].tostring(); txtalpha.text = dtlist.rows[idx][4].tostring(); ////////////////////////////////////////////////////////////// dr.close(); ////////////////////////////////////////////////////////////////////////////// /// load nama variabel fase 1 dari tabel dt_fase1_var // ///////////////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_var where kd_f1 = '" + kd_f1 + "' order by kd_f1 asc, kol asc"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dtfase1 = new DataTable(); typeof(double)); while (dr.read()) dcf = new DataColumn (dr[2].tostring(), dtfase1.columns.add(dcf); ////////////////////////////////////////////////////////////// dr.close(); /////////////////////////////////////////////////////////////////// /// load data fase 1 dari tabel dt_fase1_data //// /////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_data where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex)
67 L 67 MessageBox.Show(ex.Message); i = 0; drf = dtfase1.newrow(); while (dr.read()) if (i == varfase1) dtfase1.rows.add(drf); drf = dtfase1.newrow(); i = 0; drf[i++] = dr[3]; dtfase1.rows.add(drf); ////////////////////////////////////////////////////////////// dr.close(); /////////////////////////////////////////////////////////////////////// /// load T-Square fase 1 dari tabel dt_fase1_t2 // ////////////////////////////////////////////////////////////////////// com.commandtext = "select t2_f1 from DT_Fase1_T2 where kd_f1 = '" + kd_f1 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dcf = new DataColumn("T-Square", typeof(double)); dtfase1.columns.add(dcf); i = 0; while (dr.read()) dtfase1.rows[i++][dtfase1.columns.count - 1] = double.parse(dr[0].tostring());
68 L 68 ////////////////////////////////////////////////////////////// dr.close(); con.close(); dgdatafase1.datasource = dtfase1; dgdatafase1.databind(); // fungsi untuk mengload data fase 2 yang terpilih pada // datagrid secara detil private void loaddatafase2() int i = 0; OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand(); OleDbDataReader dr = null; com.connection = con; if (con.state == ConnectionState.Closed) con.open(); ////////////////////////////////////////////////////////////// /// load data dari tabel ms_fase2 /////////////// ////////////////////////////////////////////////////////////// com.commandtext = "select lcl_f2, ucl_f2, kesimpulan from MS_Fase2 where kd_f2 = '" + kd_f2 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); if (dr.read()) txtdatefase2.text = dtlist.rows[idx][1].tostring(); lbllcl.text = dr[0].tostring(); lblucl.text = dr[1].tostring(); lblkesimpulan.text = dr[2].tostring();
69 L 69 ////////////////////////////////////////////////////////////// dr.close(); ////////////////////////////////////////////////////////////////////////////// /// load nama variabel fase 1 dari tabel dt_fase1_var // ///////////////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase1_var where kd_f1 = '" + kd_f1 + "' order by kd_f1 asc, kol asc"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dtfase2 = new DataTable(); typeof(double)); while (dr.read()) dcf = new DataColumn (dr[2].tostring(), dtfase2.columns.add(dcf); ////////////////////////////////////////////////////////////// dr.close(); /////////////////////////////////////////////////////////////////// /// load data fase 2 dari tabel dt_fase2_data //// /////////////////////////////////////////////////////////////////// com.commandtext = "select * from DT_Fase2_data where kd_f2 = '" + kd_f2 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message);
70 L 70 i = 0; drf = dtfase2.newrow(); while (dr.read()) if (i == varfase1) dtfase2.rows.add(drf); drf = dtfase2.newrow(); i = 0; drf[i++] = dr[3]; dtfase2.rows.add(drf); ////////////////////////////////////////////////////////////// dr.close(); //////////////////////////////////////////////////////////////////////// /// load T-Square fase 2 dari tabel dt_fase2_t2 //// //////////////////////////////////////////////////////////////////////// com.commandtext = "select t2_f2 from DT_Fase2_T2 where kd_f2 = '" + kd_f2 + "'"; try dr = com.executereader(); catch (OleDbException ex) MessageBox.Show(ex.Message); dcf = new DataColumn("T-Square", typeof(double)); dtfase2.columns.add(dcf); i = 0; while (dr.read()) dtfase2.rows[i++][dtfase2.columns.count - 1] = double.parse(dr[0].tostring()); ///////////////////////////////////////////////////////////////////////////////////////////
71 L 71 dr.close(); con.close(); dgdatafase2.datasource = dtfase2; dgdatafase2.databind(); loadchartcl(); private void loadchartcl() int i = 0; ////////////////////////////////////////////////////////// /// Tabel untuk Control Chart /////////////// ////////////////////////////////////////////////////////// dtcl = new DataTable(); // inisialisasi tabel // inisialisasi kolom - kolom tabel dccl = new DataColumn("T-Square", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("LCL", typeof(double)); dtcl.columns.add(dccl); dccl = new DataColumn("UCL", typeof(double)); dtcl.columns.add(dccl); for (i = 0; i < dtfase2.rows.count; i++) // inisialisasi baris baru drcl = dtcl.newrow(); // input data ke baris yang baru drcl["t-square"] = dtfase2.rows[i][dtfase2.columns.count - 1]; drcl["lcl"] = double.parse(lbllcl.text); drcl["ucl"] = double.parse(lblucl.text); // tambah baris baru ke tabel dtcl.rows.add(drcl); ////////////////////////////////////////////////////////// chartcl.data.datasource = dtcl; chartcl.data.swaprowsandcolumns = true;
72 L 72 chartcl.titletop.text = "Peta Kontrol Fase 2 " + txtdatefase2.text + " berdasarkan Data Fase 1 " + txtdatefase1.text; chartcl.databind(); // perintah yang dijalankan pada saat form di load private void frmviewf2_load(object sender, System.EventArgs e) // begitu form di load langsung load list fase 1 & 2 // yang sudah ada database dan otomatis load data // fase 1 & 2 secara detil pada index pertama list // data fase 1 loadlist(); e) // sama seperti yang di jelaskan pada frmviewf1 private void dglist_afterrowactivate(object sender, System.EventArgs idx = dglist.rows[dglist.activerow.index].index; // load data fase 1 dan 2 yang terpilih secara detil loaddatafase1(); loaddatafase2(); // sama seperti yang di jelaskan pada frmviewf1 private void btnlast_click(object sender, System.EventArgs e) idx = dglist.rows[dglist.rows.count - 1].Index; // load data fase 1 dan 2 yang terpilih secara detil loaddatafase1(); loaddatafase2(); // sama seperti yang di jelaskan pada frmviewf1 private void btnfirst_click(object sender, System.EventArgs e) idx = 0; // load data fase 1 dan 2 yang terpilih secara detil loaddatafase1();
73 L 73 loaddatafase2(); // sama seperti yang di jelaskan pada frmviewf1 private void btnnext_click(object sender, System.EventArgs e) if (idx < dglist.rows.count - 1) idx++; // load data fase 1 dan 2 yang terpilih secara detil loaddatafase1(); loaddatafase2(); // sama seperti yang di jelaskan pada frmviewf1 private void btnprev_click(object sender, System.EventArgs e) if (idx > 0) idx--; // load data fase 1 dan 2 yang terpilih secara detil loaddatafase1(); loaddatafase2(); // sama seperti yang di jelaskan pada frmviewf1 private void btndel_click(object sender, System.EventArgs e) DialogResult hsl = MessageBox.Show("Anda akan menghapus data fase 2 berikut ini :\n" + "Tanggal Data Acuan : " + txtdatefase1.text + "\n" + "Tanggal Data Baru : " + txtdatefase2.text + "\n" + "Nama Proses : " + txtprocessname.text + "\n" + "Tingkat Kepercayaan : " + txtalpha.text + "\n" + "Data tersebut akan TERHAPUS dan TIDAK DAPAT DIKEMBALIKAN LAGI.\n" + "Anda yakin untuk menghapus data fase 2 ini?", "Hapus Data", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (hsl == DialogResult.Yes) OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\Data.mdb;Persist Security Info=False"); OleDbCommand com = new OleDbCommand();
74 L 74 kd_f2 = '" + kd_f2 + "'"; com.connection = con; com.commandtext = "delete from MS_Fase2 where if (con.state == ConnectionState.Closed) con.open(); try com.executenonquery(); catch (OleDbException ex) MessageBox.Show(ex.Message); con.close(); dtfase1.clear(); dtfase2.clear(); dtcl.clear(); chartcl.datasource = null; dglist.datasource = null; dgdatafase1.datasource = null; dgdatafase2.datasource = null; txtdatefase1.text = txtdatefase2.text = txtprocessname.text = txtalpha.text = ""; lbllcl.text = lblucl.text = lblkesimpulan.text = ""; loadlist(); MessageBox.Show("Data telah berhasil dihapus", "Hapus Data", MessageBoxButtons.OK, MessageBoxIcon.Information); // perintah yang di jalankan ketika user menekan tombol // print data private void btnprintdata_click(object sender, System.EventArgs e) printdocdatafase2.printcolorstyle = ColorRenderMode.GrayScale; printdocdatafase2.header.textleft = "[User Name]"; printdocdatafase2.header.textcenter = printdocdatafase2.documentname + " Tanggal " + txtdatefase1.text; printdocdatafase2.header.textright = "[Date Printed]";
75 L 75 printdocdatafase2.header.borderstyle = UIElementBorderStyle.Solid; printdocdatafase2.header.bordersides = Border3DSide.Bottom; printdocdatafase2.footer.textleft = "[Time Printed]"; printdocdatafase2.footer.textright = "[Page #]"; printdocdatafase2.footer.reversetextonevenpages = true; printdocdatafase2.pagebody.margins.top = 5; printdocdatafase2.pagebody.margins.bottom = 5; printdocdatafase2.page.borderstyle = UIElementBorderStyle.Solid; printdocdatafase2.page.padding.left = 2; printdocdatafase2.page.padding.right = 2; printdocdatafase2.page.padding.top = 2; printdocdatafase2.page.padding.bottom = 2; printdocdatafase2.page.appearance.bordercolor = Color.Black; printdocdatafase2.appearance.forecolor = Color.Black; ultraprintpreviewdialogdata.document = printdocdatafase2; ultraprintpreviewdialogdata.show(); // perintah yang di jalankan ketika user menekan tombol // print chart private void btnprintchart_click(object sender, System.EventArgs e) ultraprintpreviewdialogchart.document = chartcl.printdocument; ultraprintpreviewdialogchart.show();
76 L 76 Coding CStatistics.cs using System; using System.Data; using System.Windows.Forms; namespace MSPC /// <summary> /// Class Multivariate Statistic Process Controls /// </summary> public class CMSPC private DataTable dtacuan, dtbaru; private double alpha; private double FLCL1, FUCL1, LCL1, UCL1; private double FLCL2, FUCL2, LCL2, UCL2; private double[] arrmean, arrt2f1, arrt2f2; private double[,] arrs, arrsinv; private string dataoutofcontrol = ""; private double[][] arrdata; public CMSPC() // Constructor private void hit_mean() int i, j; arrmean = new double[dtacuan.columns.count]; for (j = 0; j < dtacuan.columns.count; j++) arrmean[j] = 0; for (j = 0; j < dtacuan.columns.count; j++) for (i = 0; i < dtacuan.rows.count; i++) arrmean[j] += double.parse(dtacuan.rows[i][j].tostring()); for (j = 0; j < dtacuan.columns.count; j++) arrmean[j] = Math.Round(arrMean[j] / dtacuan.rows.count, 4); #region ini Fungsi Hitung Mean arrdata = new double[dtacuan.columns.count][];
77 L 77 for (i = 0; i < dtacuan.columns.count; i++) arrdata[i] = new double[dtacuan.rows.count]; for (i = 0; i < dtacuan.columns.count; i++) for (j = 0; j < dtacuan.rows.count; j++) arrdata[i][j] = double.parse(dtacuan.rows[j][i].tostring()); #endregion private void hit_s() int row, col1, col2; arrs = new double[dtacuan.columns.count, dtacuan.columns.count]; for (col1 = 0; col1 < dtacuan.columns.count; col1++) for (col2 = 0; col2 < dtacuan.columns.count; col2++) for (row = 0; row < dtacuan.rows.count; row++) arrs[col1, col2] += ((double.parse(dtacuan.rows[row][col1].tostring()) - arrmean[col1]) * (double.parse(dtacuan.rows[row][col2].tostring()) - arrmean[col2])); (dtacuan.rows.count - 1), 4); arrs[col1, col2] = Math.Round(arrS[col1, col2] / #region Ini Fungsi Hitung Matrix S Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.ApplicationClass(); for (col1 = 0; col1 < dtacuan.columns.count; col1++) for (col2 = 0; col2 < dtacuan.columns.count; col2++) if (col1!= col2) arrs[col1, col2] = Math.Round((double)(xlApp.WorksheetFunction.Covar(arrData[col1], arrdata[col2])), 4); #endregion private void hit_sinv() double[,] arrtemp = new double[dtacuan.columns.count, dtacuan.columns.count];
78 L 78 arrsinv = new double[dtacuan.columns.count, dtacuan.columns.count]; int i, j, k; int up, down; double p; Indentitas for (i = 0; i < dtacuan.columns.count; i++) for (j = 0; j < dtacuan.columns.count; j++) arrtemp[i, j] = arrs[i, j]; arrsinv[i, j] = (i == j)? 1 : 0; // Generate Matrix for (k = 0; k < dtacuan.columns.count; k++) //////////////////////////////////////////////////////// /// Ubah diagonal utama menjadi 1 dengan bi(p) ///////// //////////////////////////////////////////////////////// if (arrtemp[k, k]!= 1) p = arrtemp[k, k]; / p, 4); / p, 4); for (j = 0; j < dtacuan.columns.count; j++) arrtemp[k, j] = Math.Round(arrTemp[k, j] arrsinv[k, j] = Math.Round(arrSINV[k, j] //////////////////////////////////////////////////////// /// bi = bi + p.bj //////////////////////////////// /////////////////////////////////////////////////////// up = k - 1; down = k + 1; while (up >= 0) p = -arrtemp[up, k]; j] + (arrtemp[k, j] * p), 4); for (j = 0; j < dtacuan.columns.count; j++) arrtemp[up, j] = Math.Round(arrTemp[up,
79 L 79 j] + (arrsinv[k, j] * p), 4); arrsinv[up, j] = Math.Round(arrSINV[up, up--; while (down < dtacuan.columns.count) p = -arrtemp[down, k]; for (j = 0; j < dtacuan.columns.count; j++) arrtemp[down, j] = Math.Round(arrTemp[down, j] + (arrtemp[k, j] * p), 4); arrsinv[down, j] = Math.Round(arrSINV[down, j] + (arrsinv[k, j] * p), 4); down++; //////////////////////////////////////////////////////// private void hit_t2(int fase) int i, j, k; if (fase == 1) double[] arrtemp = new double[dtacuan.columns.count]; double[] dotproduct = new double[dtacuan.columns.count]; arrt2f1 = new double[dtacuan.rows.count]; for (i = 0; i < dtacuan.rows.count; i++) /// Hitung matrix (xi - mean) for (j = 0; j < dtacuan.columns.count; j++) arrtemp[j] = double.parse(dtacuan.rows[i][j].tostring()) - arrmean[j]; dengan inverse(s) /// Hitung perkalian matrix transpose(xi - mean) for (j = 0; j < dtacuan.columns.count; j++)
80 L 80 k++) arrsinv[k, j]); dotproduct[j] = 0; for (k = 0; k < dtacuan.columns.count; dotproduct[j] += (arrtemp[k] * /// Kalikan hasil dari perkalian /// matrix transpose(xi - mean) dengan inverse(s) /// dengan matrix (xi - mean) arrt2f1[i] = 0; for (j = 0; j < dtacuan.columns.count; j++) arrt2f1[i] += dotproduct[j] * arrtemp[j]; arrt2f1[i] = Math.Round(arrT2F1[i], 4); else if (fase == 2) double[] arrtemp = new double[dtacuan.columns.count]; double[] dotproduct = new double[dtacuan.columns.count]; arrt2f2 = new double[dtbaru.rows.count]; for (i = 0; i < dtbaru.rows.count; i++) /// Hitung matrix (xi - mean) for (j = 0; j < dtbaru.columns.count; j++) arrtemp[j] = double.parse(dtbaru.rows[i][j].tostring()) - arrmean[j]; dengan inverse(s) /// Hitung perkalian matrix transpose(xi - mean) for (j = 0; j < dtbaru.columns.count; j++) dotproduct[j] = 0; k++) arrsinv[k, j]); for (k = 0; k < dtbaru.columns.count; dotproduct[j] += (arrtemp[k] * /// Kalikan hasil dari perkalian
81 L 81 /// matrix transpose(xi - mean) dengan inverse(s) /// dengan matrix (xi - mean) arrt2f2[i] = 0; for (j = 0; j < dtacuan.columns.count; j++) arrt2f2[i] += dotproduct[j] * arrtemp[j]; arrt2f2[i] = Math.Round(arrT2F1[i], 4); private void hit_cl_fase(int fase) double a, b,c, d; Microsoft.Office.Interop.Excel.Application xlapp = new Microsoft.Office.Interop.Excel.ApplicationClass(); if (fase == 1) FLCL1 = (double)xlapp.worksheetfunction.finv(1 - alpha, dtacuan.columns.count, dtacuan.rows.count - dtacuan.columns.count - 1); FUCL1 = (double)xlapp.worksheetfunction.finv(alpha, dtacuan.columns.count, dtacuan.rows.count - dtacuan.columns.count - 1); FLCL1 = Math.Round(FLCL1, 4); FUCL1 = Math.Round(FUCL1, 4); xlapp.quit(); a = (double)math.pow(dtacuan.rows.count - 1, 2); b = (double)dtacuan.rows.count; c = (double)((double)dtacuan.columns.count / (double)(dtacuan.rows.count - dtacuan.columns.count - 1)) * FLCL1; d = 1 + (double)((double)dtacuan.columns.count / (double)(dtacuan.rows.count - dtacuan.columns.count - 1)) * FLCL1; LCL1 = (double)(a / b) * (double)(c / d); LCL1 = Math.Round(LCL1, 4); c = (double)((double)dtacuan.columns.count / (double)(dtacuan.rows.count - dtacuan.columns.count - 1)) * FUCL1; d = 1 + ((double)dtacuan.columns.count / (double)(dtacuan.rows.count - dtacuan.columns.count - 1)) * FUCL1; UCL1 = (double)(a / b) * (double)(c / d); UCL1 = Math.Round(UCL1, 4); else if (fase == 2) FLCL2 = (double)xlapp.worksheetfunction.finv(1 - alpha / 2, dtacuan.columns.count, dtacuan.rows.count - dtacuan.columns.count);
82 L 82 FUCL2 = (double)xlapp.worksheetfunction.finv(alpha / 2, dtacuan.columns.count, dtacuan.rows.count - dtacuan.columns.count); FLCL2 = Math.Round(FLCL2, 4); FUCL2 = Math.Round(FUCL2, 4); xlapp.quit(); a = (double)(dtacuan.columns.count * (dtacuan.rows.count + 1) * (dtacuan.rows.count - 1)); b = (double)(dtacuan.rows.count * (dtacuan.rows.count - dtacuan.columns.count)); LCL2 = (double)(a / b) * FLCL2; LCL2 = Math.Round(LCL2, 4); a = (double)(dtacuan.columns.count * (dtacuan.rows.count + 1) * (dtacuan.rows.count - 1)); b = (double)(dtacuan.rows.count * (dtacuan.rows.count - dtacuan.columns.count)); UCL2 = (double)(a / b) * FUCL2; UCL2 = Math.Round(UCL2, 4); private int isincontrol(int fase) int i; dataoutofcontrol = ""; ", i + 1); ", i + 1); if (fase == 1) for (i = 0; i < dtacuan.rows.count; i++) if (arrt2f1[i] < LCL1 arrt2f1[i] > UCL1) dataoutofcontrol += String.Format("0, else if (fase == 2) for (i = 0; i < arrt2f2.length; i++) if (arrt2f2[i] < LCL2 arrt2f2[i] > UCL2) dataoutofcontrol += String.Format("0, if (dataoutofcontrol!= "") dataoutofcontrol = dataoutofcontrol.substring(0, dataoutofcontrol.length - 2);
83 L 83 return (dataoutofcontrol == "")? 1 : 0; public int FaseI(DataTable dataacuan, double alpha) dtacuan = dataacuan.copy(); this.alpha = alpha; hit_mean(); hit_s(); hit_sinv(); hit_t2(1); hit_cl_fase(1); return isincontrol(1); alpha) public int FaseII(DataTable dataacuan, DataTable databaru, double FaseI(dataAcuan, alpha); dtbaru = databaru.copy(); hit_t2(2); hit_cl_fase(2); return isincontrol(2); public double getflcl(int fase) return (fase == 1)? FLCL1 : FLCL2; public double getfucl(int fase) return (fase == 1)? FUCL1 : FUCL2; public double getlcl(int fase) return (fase == 1)? LCL1 : LCL2; public double getucl(int fase)
84 L 84 return (fase == 1)? UCL1 : UCL2; public double[] getarrt2(int fase) return (fase == 1)? arrt2f1 : arrt2f2; public string getdataoutofcontrol() return dataoutofcontrol;
85 L 85 Coding CExcel.cs using System; namespace MSPC /// <summary> /// Summary description for conexcel. /// </summary> public class CExcel public CExcel() // // TODO: Add constructor logic here // public System.Data.DataTable ExcelImporter(string pathexcel) System.Data.DataTable dtdata = new System.Data.DataTable(); System.Data.OleDb.OleDbConnection condata; System.Data.OleDb.OleDbDataAdapter dadata; condata = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; " + "data source='" + pathexcel + " '; " + "Extended Properties=Excel 8.0;"); dadata = new System.Data.OleDb.OleDbDataAdapter("select * from [sheet1$]", condata); try dadata.fill(dtdata); catch System.Windows.Forms.MessageBox.Show("Lokasi file tidak valid, file tidak ditemukan."); return null; return dtdata;
86 Lampiran Surat Keterangan Survey PT. EMPI Senajaya L 86
TUGAS POLA-POLA PERANCANGAN SISTEM INFORMASI PERSEWAAN VCD DAN DVD. Dengan Design pattern (Factory Method)
TUGAS POLA-POLA PERANCANGAN SISTEM INFORMASI PERSEWAAN VCD DAN DVD Dengan Design pattern (Factory Method) Disusun Oleh : Ety Sudarwati 09120008 Putu Reksa Winda Perdana 09120046 TEKNIK INFORMATIKA UNIVERSITAS
LAMPIRAN. 2. Berapa penghasilan yang anda terima per bulan? 3. Apakah anda sering menggunakan kendaraan pribadi anda?
LAMPIRAN 1. Kuisioner Pengguna Tanggal : / /2013 Jenis Kelamin : L/P 1. Berapa usia anda saat ini? a. 21 30 tahun b. 31 40 tahun c. 41 50 tahun d. > 50 tahun 2. Berapa penghasilan yang anda terima per
LAMPIRAN 1 SISTEM PENDUKUNG KEPUTUSAN..., DIMAS ANGGIT WIJIATMOKO, F.TEKNIK UMP,2017
LAMPIRAN 1 73 Lampiran 1. Data Kesesuaian Lahan Pohon Acacia Mangium Karakteristik Lahan Ketinggian (m dpl) Kelas Kesesuaian Lahan S1 S2 S3 N1 N2 300 700 Kemiringan (Topografi) Tekstur Tanah SL, L, SCL,
PEMROGRAMAN VB.NET. Koneksi Ke Database
PEMROGRAMAN VB.NET Koneksi Ke Database Hal : 1 MEMBUAT DATABASE Buat sebuah aplikasi / project dengan nama AplikasiPenjualan. Buat sebuah database dengan nama Penjualan.accdb. dan buatlah tabel Barang
APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses
APLIKASI MENGELOLA DATA ACCESS LOG MENGGUNAKAN C# Melihat LOG berdasar Hari, Jam, dan URL Terbanyak diakses Disusun oleh Bayu Pratama RN [M0507011] S1 TEKNIK INFORMATIKA UNS FAKULTAS MIPA Batasan Aplikasi
Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung
L.1 Lampiran 1: Data Hasil Penelitian Data Hasil Penelitian bobot 200 butir persilangan tanaman jagung Hibrida/inbrida BOBOT Tetua jantan Tetua betina Ulangan 200 BUTIR 1 2 3 1 A A 38 72 52 2 B A 66 58
PEMROGRAMAN VB.NET. Sintaks Pada Class
PEMROGRAMAN VB.NET Sintaks Pada Class Hal : 1 MEMBUAT CLASS BARANG Tambahkan sebuah class dengan cara Klik kanan pada Project lalu pilih Add Class Atau klik menu Project Add Class Simpan dengan nama clsbarang
BAB II MICROSOFT VISUAL STUDIO
BAB II MICROSOFT VISUAL STUDIO 2.1 Pembuatan Database Pada Microsoft SQL Server Langkah-langkah pembuatan database pada Sql Server dapat dilakukan seperti berikut ini: 1. Langkah pertama yang dilakukan
PEMROGRAMAN VISUAL BASIC
PEMROGRAMAN VISUAL BASIC Setelah memahami bahasa Visual Basic dasar untuk menuliskan kode program, langkah selanjutnya adalah mempelajari pemrograman VB itu sendiri. 6.1 Sub Procedure Sejauh ini, Anda
MEMBUAT FORM INPUT DATA DENGAN VB NET 2005 DAN DATABASE MS SQL SERVER 2005 EXPRESS
MEMBUAT FORM INPUT DATA DENGAN VB NET 2005 DAN DATABASE MS SQL SERVER 2005 EXPRESS A. Membuat Database 1. Buka jendela Server Explorer. 2. Klik kanan pada connection, dan pilih add new Database 3. Akan
Fitur trial termasuk hal yang sering ditanyakan para pembuat program, tujuannya sederhana yaitu agar pemakaian program memiliki batas waktu tertentu. Jika anda memahami logikanya pembuatan fitur trial
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM. telah dibuat sebelumnya, sehinggga user dapat memahami jalannya sistem tersebut.
BAB IV IMPLEMENTASI DAN EVALUASI SISTEM 4.1 Implementasi Sistem Implementasi program adalah implementasi dari analisis dan desain sistem yang telah dibuat sebelumnya, sehinggga user dapat memahami jalannya
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM
BAB V IMPLEMENTASI DAN PENGUJIAN SISTEM 5.1. Implementasi sistem Implementasi sistem yang akan dibahas terutama pada bagian file hasil implementasi dan antarmuka hasil implementasi dari Aplikasi Kamus
LAMPIRAN L.1. Lampiran 1 Coding Inisialisasi Program
L.1 LAMPIRAN Lampiran 1 Coding Inisialisasi Program using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using System.Reflection; namespace Skripsi static class
BAB IV HASIL DAN ANALISIS
29 BAB IV HASIL DAN ANALISIS 4.1 Hasil Karya 4.1.1 Tampilan Form a. Home Gambar 4.1 Tampilan awal aplikasi Pada saat membuka aplikasi, pengguna akan disuguhkan tampilan awal yang sederhana. Skema adalah
Koneksi Sederhana Database dengan C# (Lihat, Tambah, dan Hapus Data)
Koneksi Sederhana Database dengan C# (Lihat, Tambah, dan Hapus Data) Database merupakan suatu hal penting dalam membuat sebuah aplikasi, baik aplikasi berbasis desktop, maupun aplikasi berbasis web. Untuk
Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, & MySQL. Bahtiar Imran
Aplikasi CRUD dengan Visual Basic 2012 [APLIKASI CRUD DENGAN VISUAL BASIC 2012 & MYSQL] September 18, 2013 & MySQL Bahtiar Imran Assalamualaikum.. Pada kesempatan kali ini kita akan membahas mengenai bagaimana
MODUL 2 SELECTION & LOOPING PADA FORM
MODUL 2 SELECTION & LOOPING PADA FORM TUJUAN : Mahasiswa mampu menguasai dan memahami penggunaan logika selection dan looping di Visual Basic.Net dengan implementasi pada Form dan object. Materi : Selection
APLIKASI PENGOLAHAN NILAI - VB.NET Peminat silakan hubungi : Email : [email protected] Facebook : [email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Membuat Database Dan Tabel Lakukan langkah-langkah
BAB IV IMPLEMENTASI DAN TESTING
BAB IV IMPLEMENTASI DAN TESTING 4.1. Spesifikasi Kebutuhan Sumber Daya. Dalam merancang sistem informasi untuk klinik Sumber Sehat, ada beberapa hal yang perlu dan harus di siapkan antara lain : Perangkat
Membuat Project Baru APLIKASI PENJUALAN - VB.Net Peminat silakan hubungi : Email : [email protected] Facebook : [email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Tahapan pertama dalam
P11 & 12 Operasi DML pada Form Aplikasi (Project Aplikasi Rumah Sakit)
P11 & 12 Operasi DML pada Form Aplikasi (Project Aplikasi Rumah Sakit) A. Tujuan Mahasiswa dapat melakukan operasi Data Manipulation Language (DML) melalui form aplikasi Mahasiswa dapat membuat koneksi
visit : www.marisharingilmu.wordpress.com
Lisensi Pocket Book Pocket Book ini dapat anda copy dan distribusikan dengan gratis untuk kegiatan pembelajaran. Selamat datang di Pocket Book edisi selanjutnya yaitu Pocket Book : Membuat Aplikasi Java
Budi Permana, S.Kom [email protected]. Pendahuluan. Lisensi Dokumen:
Aplikasi Simpan, Edit, Cari, Hapus Menggunakan Visual Basic 2010 Budi Permana, S.Kom [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
Irvan Lewenusa
Membuat Grafik VB.Net Menggunakan MSChart Irvan Lewenusa [email protected] http://belajar-it.web.id Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
WAWANCARA. beserta tanggapan dari beliau sebagai berikut : paling kritis apa?
L 1 WAWANCARA Kami melakukan wawancara ini dengan bapak hendra, selaku country manager pada PT Prodian Chemicals Indonesia. Berikut ini adalah beberapa pertanyaan wawancara yang kami anggap penting, beserta
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dibahas mengenai implementasi atau cara penggunaan aplikasi dan juga pengujian sistem dengan metode Black-Box. 4.1 IMPLEMENTASI APLIKASI Pada implementasi
BAB IV IMPLEMENTASI DAN PENGUJIAN. Dalam pembuatan program ini penulis menggunakan Visual Basic. Net
BAB IV IMPLEMENTASI DAN PENGUJIAN 4. 1 Instalasi Software Dalam pembuatan program ini penulis menggunakan Visual Basic. Net dalam menjalankan program aplikasi ini dan menggunakan aplikasi Crystal Report
Bab 4 Hasil dan Pembahasan
Bab 4 Hasil dan Pembahasan Setelah melakukan tahap perancangan yang ada pada bab 3, langkah selanjutnya adalah mengimplementasikannya. Dari hasil tahap implementasi dihasilkanlah sebuah sistem dengan nama
PENDAHULUAN. A. Membuat Database dalam SQL SERVER. 1. Klik Kanan pada databases lalu pilih new database
PENDAHULUAN Ada Beberapa perintah query dalam VB.Net yang digunakan untuk mengelola database SQL SERVER diantaranya adalah sebagai berikut: SELECT Perintah ini digunakan untuk menampilkan tabel dalam database
Modul x login dan Periode
A.Tujuan 1.Membuat form untuk kegiatan proses posting B.Teori B.1 Membuat Pesan Modul x login dan Periode Dim msgrslt As MsgBoxResult = MsgBox("Are you 21 years old or older?.", MsgBoxStyle.YesNo) If msgrslt
PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK
1 PRAKTEK 1 CLASS, ATTRIBUTE, METHOD, DAN OBJEK 1.1 NetBeans 8.1 Sebelum membuat project ada baiknya kenali dulu windows yang ada pada NetBeans 8.1 Projects/Services/Files Editor Output Navigator Projects
Membuat SlideShow Gambar
Membuat SlideShow Gambar Pada E-Trik ini kita akan membuat program yang bisa menampilkan SlideShow Gambar. Berikut deskripsi program yang akan kita buat. Program berguna untuk menampilkan slideshow gambar;
Gambar 5.1 Hierarki Sistem Admin
BAB V IMPLEMENTASI SISTEM 5.1 Hierarki Sistem 5.1.1 Hirarki Sistem Admin Login Menu Utama Bahan Baku Gudang Produksi Laporan Kelola Bahan Baku Simpan Hapus Update Close Barang Masuk Gudang Simpan Masukan
Membuat Slide Show Gambar
Membuat Slide Show Gambar Oleh: Sendy PK Halo Sobat Coding, kali ini kita akan membuat program yang bisa menampilkan SlideShow Gambar. Berikut deskripsi program yang akan kita buat : Program berguna untuk
Gratis Tutorial Pemograman Visual Basic MEMBUAT CRUD VISUAL BASIC.NET DATABASE MYSQL
MEMBUAT CRUD VISUAL BASIC.NET DATABASE MYSQL Pada pembelajaran ini akan dijelaskan cara membuat CRUD ( cread, read, update and delete) atau bahasa indonesianya Input, Edit, Delete Visual Basic.NET database
LAMPIRAN I LISTING PROGRAM
A-1 LAMPIRAN I LISTING PROGRAM 1. Main form. Cs public partial class MainForm :Form public MainForm() InitializeComponent(); TODO: void Button1Click(object sender, System.EventArgs e) Artikata tampil =
BAB IV IMPLEMENTASI DAN PENGUJIAN
58 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 IMPLEMENTASI SISTEM Implementasi sistem dilakukan setelah bab 3 yaitu perancangan dan pembuatan program aplikasi selesai dilakukan. Implementasi sistem kali ini
Membuat Slide Show Gambar
Membuat Slide Show Gambar Oleh: Sendy PK Halo Sobat Coding, kali ini kita akan membuat program yang bisa menampilkan SlideShow Gambar. Berikut deskripsi program yang akan kita buat : Program berguna untuk
int i = 0; while (i < 10) { System.out.println( Informatika Unpas ); i++; }
I. Bahan Kajian 1. Perulangan (Iterasi) Perulangan(iterasi), menyatakan bahwa suatu instruksi tertentu akan diulang sampai tercapai kondisi tertentu, tanpa kita harus menulis perintah tersebut secara berulang.
KONEKSI DATABASE SQL DENGAN VB.NET
KONEKSI DATABASE SQL DENGAN VB.NET ADO. NET ADO merupakan singkatan dari Active X Data Object yang dipakai untuk mengaskes data dalam suatu database seperti SQL Server, MS Access, Oracle ataupu file seperti
BAB III LANDASAN TEORI. muka yang bersifat grafis Graphical User Interface (GUI). Daripada menulis
BAB III LANDASAN TEORI 3.1 Visual Basic 6.0 Visual Basic merupakan cara termudah dan tercepat untuk membuat aplikasi yang dijalankan di sistem operasi Microsoft Windows. Apakah Anda seorang profesional
DASHBOARD LIBRARY UNTUK VISUALISASI INFORMASI
DASHBOARD LIBRARY UNTUK VISUALISASI INFORMASI Yulia 1), Harry Timothy Tumalewa 2), Hans Juwiantho 3) 1,2,3) Teknik Informatika Fakultas Teknologi Industri Universitas Kristen Petra, Surabaya Siwalankerto
Pengenalan APLIKASI DATABASE
Page 1 of 23 APLIKASI DATABASE Pengenalan Aplikasi database merupakan aplikasi yang menggunakan database berbasis komputerisasi dan tampilan form sebagai media penghubung antara user dan database, dimana
DASAR PEMOGRAMAN JAVA
DASAR PEMOGRAMAN JAVA Pertemuan ke-2 Oleh: Winda Aprianti Tipe Data Bilangan Karakter Kata atau Kalimat Boolean Literal merepresentasikan nilai suatu tipe, dimana tipe itu sendiri menjelaskan bagaimana
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE
Tutorial Jasper Report with JDBC Prerequisites: Jasper Report, ireport installed, MySQL installed, and NetBeans IDE 1. Buka XAMPP control panel, start MySQL dan Apache server. 2. Import file electicalgoods.sql
BAB IV IMPLEMENTASI DAN PENGUJIAN
66 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Instalasi Software Dalam penulisan tugas akhir ini dalam pembuatan programnya menggunakan aplikasi XAMPP dan MySQL sebagai databasenya dengan bahasa pemrograman
Disini kita akan bahas cara koneksi antara Database MySQL dengan VB.Net 2010, semoga dengan ini E-book ini bisa ingat sepanjang jaman ya ^ ^
Penulis : Nizar_Aluk Email @ [email protected] YMessenger @ Nizar_aluk Facebook @ Nizar al varez WebBlog @ http://www.arekmbolong.wordpress.com/ Assalamualaikum Wr. Wb Disini kita akan bahas cara koneksi
Source Code Test Program Dengan VB Net
Source Code Test Program Dengan VB Net Jastis Bago [email protected] [email protected] http://niascommunity.web.id Lisensi Dokumen: Copyright 2003-2006 IlmuKomputer.Com Seluruh dokumen
BAB VII MENU, TOOLBAR DAN STATUSBAR
BAB VII MENU, TOOLBAR DAN STATUSBAR Pembahasan Materi : Mengenal dan mengetahui cara pembuatan Menu, Toolbar dan StatusBar. Tujuan Belajar : Mahasiswa dapat membuat program menggunakan Menu, Toolbar dan
Budi permana, S.Kom
Aplikasi Password VB 2010 Dengan Database Ms. Access 2007 Budi permana, S.Kom [email protected] http://budinobipermana.wordpress.com/ Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan,
Input, edit dan hapus data Master Barang
FORM UNTUK INPUT EDIT DAN HAPUS DATA MASTER BARANG FORM INPUT DATA BARANG Form Input Data Barang Desain Form untuk Form Input Data Barang adalah sbb: Control yang digunakan pada form tersebut adalah :
JOBSHEET 8 DATABASE IN VB
JOBSHEET 8 DATABASE IN VB Tujuan: 1. Mampu membuat tabel menggunakan program Ms. Access 2. Mampu membuat koneksi antara VB dengan Ms. Access 3. Dapat menampilkan data tabel pada DataGridView 4. Mengoneksikan
Koneksi Database Mysql dengan C#
Koneksi Database Mysql dengan C# Oleh: Cecep Yusuf Tutorial Cheyuz: Tutorial bagaimana melakukan koneksi MySQL pada aplikasi Visual C#.Net dengan membuat tombol koneksi dengan MySQL Driver. Selamat pagi
Tugas II II5166 (Keamanan Informasi Lanjut)
Tugas II II5166 (Keamanan Informasi Lanjut) Membuat aplikasi TWITTER yang mengambil data dari API-nya TWITTER Semester 1-2012/2013 Dosen: Dr. Ir. Budi Rahardjo Dikerjakan Oleh: 23512036 - Wahyu Widodo
Program Database Penjualan Barang
Program Database Penjualan Barang 1. Perancangan Struktur Database (dbpenjualan) a. Tabel Barang (tabel_barang) Tabel barang adalah tabel yang digunakan sebagai penyimpanan data data barang. Berikut struktur
KA2173 Pemrograman Berorientasi Objek. 10 BAB X PENGAKSESAN DATABASE. H a l 64
10 BAB X PENGAKSESAN DATABASE 101 IDENTITAS Kajian Relasi Antar Kelas 2, Exception Handling, Akses Database Topik Pengaksesan Basis Data MySQL Kompetensi Utama 1 Mahasiswa memahami konsep pengaksesan basis
STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET
STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit),
MODUL VII VISUAL BASIC
MODUL VII VISUAL BASIC Tujuan 1. Praktikan dapat mengetahui apa itu pemrogaman berbasis objek (OOP) 2. Praktikan dapat mengetahui IDE pada Visual Basic 3. Praktikan dapat memahami struktur project pada
8 H Ya Ya 0 Tidak Tidak 0 Tidak G gejala
Lampiran 1. Data Pasien Data berdasarkan rekam medis yang diambil di Rumah Sakit Dr. Soetomo Surabaya pada tanggal 9 Desember 2011. No. Pasien Mata merah Sakit kepala Mual muntah Efek pelangi Nyeri sakit
Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL
Belajar Java 2 Tambah, Simpan & Cari Data di Netbeans dengan Database MySQL Assalamualaikum Wr. Wb Salam NewGen, pada kesempatan kali ini saya akan share tentang Java 2 dimana kita akan belajar tambah,
Bab 4. Visualisasi dan Penggunaan Program
Bab 4. Visualisasi dan Penggunaan Program Bab ini akan membahas cara menjalankan program dan melihat output yang dihasilkan oleh program ini. Sebelum melakukan running terlebih dahulu akan dijelaskan mengenai
Aplikasi Login Dengan Database dan Tanpa Database Pada Visual Basic 2010
Aplikasi Login Dengan Database dan Tanpa Database Pada Visual Basic 2010 Budi Permana, S.Kom [email protected] Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan
Pengenalan JavaScript
Pengenalan JavaScript Tujuan - Mahasiswa memahami konsep dasar Javascript - Mahasiswa mampu memahami cara menggunakan Javascript - Mahasiswa mampu memahami dasar variabel di Javascript - Mahasiswa mampu
Firma Firmansyah Adi B. Resume Web Service
Resume Web Service Web service adalah sebuah sofware aplikasi yang tidak terpengaruh oleh platform, ia akan menyediakan method-method yang dapat diakses oleh network. Ia juga akan menggunakan XML untuk
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Proses Aplikasi Pada bab ini akan dibahas implementasi sistem rancang bangun Aplikasi pencarian pasal-pasal undang-undang hukum dengan metode String Matching hingga
Bab 4 Hasil dan Pembahasan
Bab 4 Hasil dan Pembahasan Bab ini berisi pemaparan mengenai hasil dari perancangan sistem dalam bentuk pembahasan mengenai uji implementasi dari hasil perancangan tersebut. Pengujian dilakukan untuk memperoleh
BAB IV IMPLEMENTASI DAN PENGUJIAN
BAB IV IMPLEMENTASI DAN PENGUJIAN Setelah melakukan analisis dan perancangan terhadap aplikasi check point dan penghitung jumlah pada bus AKAP berbasis Android. Pada bab ini akan dibahas mengenai implementasi
Perancangan Sistem Informasi Sistem Pengelolaan Data Jemaat Gereja Bethel Maranatha Pekalongan
Perancangan Sistem Informasi Sistem Pengelolaan Data Jemaat Gereja Bethel Maranatha Pekalongan Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi Untuk Memperoleh Gelar Sarjana Sistem Informasi
APLIKASI PENGGAJIAN - VB.NET Peminat silakan hubungi : Email : [email protected] Facebook : [email protected] (Uus Rusmawan) Phone : 0812 8438 1118 4.2 Normalisasi File Dan Relasi Tabel Normalisasi
Jeffrey Hermanto Halimsetiawan tutorialpemrograman.wordpress.com 22 Maret 2009
Oracle Database (Oracle XE) dan C# Connectivity Jeffrey Hermanto Halimsetiawan [email protected] tutorialpemrograman.wordpress.com 22 Maret 2009 tutorialpemrograman.wordpress.com - 2009 1 Langkah-langkah
INSTRUKSI PENCABANGAN
INSTRUKSI PENCABANGAN Sebagai pengembang (programmer) sudah pasti mengetahui jenis operasi instruksi. Salah satu yang perlu dipelajari atau dimengerti adalah operasi instruksi pencabangan. 3.1 Pencabangan
CHAPTER #9 Mengenal ADO.NET dan Koneksi Database
CHAPTER #9 Mengenal ADO.NET dan Koneksi Database Pembahasan pada bab terakhir ini berkaitan dengan perancangan aplikasi yang dapat melakukan interaksi dengan database pada SQL server. Teknologi yang digunakan
Program Piano 1 Oktaf
Program Piano 1 Oktaf Oleh: Sendy PK Halo Sobat Coding, siapa yang suka musik? kalau saya suka sekali main piano jadi pada tutorial kali ini kita akan membuat program piano1 oktaf sederhana, jadi kita
BAB 4 HASIL DAN PEMBAHASAN
BAB 4 HASIL DAN PEMBAHASAN 4.1 Implementasi Database Berikut ini adalah basis data dari rancangan tabel yang telah dibuat kedalam MySql Server. Gambar 4.1 Struktur Tabel Data Wajib Pajak 48 49 Gambar 4.2
2 TIPE DATA DAN VARIABEL
BAB 2 TIPE DATA DAN VARIABEL Kompetensi Dasar dan Indikator : Setelah mengikuti materi kuliah ini mahasiswa mampu menggunakan tipe data dan variable yang ada dalam Java, dengan indikator mahasiswa mampu:
BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti
BAB 2 LANDASAN TEORI 2.1 Pengertian Komputer Istilah komputer (computer) berasal dari bahasa latin computere yang berarti menghitung. Dalam bahasa Inggris komputer berasal dari kata to compute yang artinya
Bab IV Implementasi Sistem
37 Bab IV Implementasi Sistem Implementasi aplikasi penjadwalan kereta api dengan menggunakan algoritma genetik didalam penelitian ini menggunakan bahasa pemrogramman C# dan database MySQL 5. Adapun perancangan
APLIKASI SERVICE KENDARAAN - VB.NET Peminat silakan hubungi : Email : [email protected] Facebook : [email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Rancangan Database Database dalam aplikasi
Badiyanto, S.Kom., M.Kom. PBO java
Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).
Gambar 4.57 Layar Ubah Pemasok. Data pemasok dapat diubah di sini. Data-data akan disimpan ke
184 Gambar 4.57 Layar Ubah Pemasok Data pemasok dapat diubah di sini. Data-data akan disimpan ke tabel pemasok jika kolom nama, alamat dan telepon pemasok telah diisi. 185 Gambar 4.58 Layar Transaksi Pembelian
LAMPIRAN 1. Kuesioner Rating Kebutuhan Aplikasi Telepon Genggam
L1 LAMPIRAN 1 Kuesioner Rating Kebutuhan Aplikasi Telepon Genggam Berikan tanda checklist ( ) pada rating/nilai yang paling mengenai sesuai untuk aplikasi telepon genggam di bawah ini sesuai dengan tingkat
- Menuliskan business logic dari aplikasi untuk mengakses data source
MODUL 4 IMPLEMENTASI DAO Teori Singkat DAO merupakan design pattern berkaitan dengan database access. DAO memisahkan persistence logic dari business atau presentation logic. DAO merupakan representasi
STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO
STEP BY STEP IN JAVA NETBEANS PROGRAMMING BY SUYANTO Langkah-Langkah Membuat Aplikasi Database Menggunakan Java NetBean dan MySQL 1. Buat Project 2. Buat Form Menu Utama (Jframe Form) Suyanto Page 1 3.
PENGKODEAN AKSES FORM SISTEM USER
WIRATSOFT INC CORPORATION 2012 PENGKODEAN AKSES FORM SISTEM USER MICROSOFT VISUAL BASIC.NET 2005 WIRAT.NET 10/11/2012 Hak Akses USER Pengantar Tulisan Pada saat membuat aplikasi (vb.net) untuk materi skripsi,
BAB VIII PENGENALAN DATABASE
BAB VIII PENGENALAN DATABASE Pembahasan Materi : Mengetahui cara pembuatan database menggunakan MySQL. Mengetahui cara mengkoneksikan VB.NET 2008 dengan MySQL. Mengetahui cara menyimpan, mengedit dan menghapus
Algoritma Pemrograman A
Algoritma Pemrograman A Memahami Proyek Proyek dan Dasar Dasar Delphi Code Memahami proyek Delphi Komponen Proyek Project Explorer Windows Dasar-Dasar Delphi Code Procedures IDE (Intregated Development
Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5)
Membuat Webservice Pada Visual Studio 2012 (C#.NET ver.4.5) Mohammad Rizal Ghani [email protected] :: http://infotemenn.blogspot.com Abstrak ASP.NET adalah bahasa pemrograman yang bertujuan untuk
Pemrograman Visual (Borland Delphi 7.0)
Pemrograman Visual (Borland Delphi 7.0) Pengenalan Aplikasi Visual Aplikasi adalah adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas
Modul 6 Mengoperasikan Perangkat Lunak Lembar Sebar (Open Source) 1 KEGIATAN BELAJAR 2
Modul 6 Mengoperasikan Perangkat Lunak Lembar Sebar (Open Source) 1 KEGIATAN BELAJAR 2 3.1. Modul 3.1.1. Mengenali Bagian-Bagian, Menu dan Istilah dalam Open Office Calc. Open Office Calc adalah salah
MODUL 2 PERANCANGAN INTERFACE
6 MODUL 2 PERANCANGAN INTERFACE A. Tujuan Praktikum 1. Mahasiswa mampu memahami struktur dasar dan konsep pemrograman berbasis objek pada Visual Basic 2. Mahasiswa mampu membuat interface antar muka untuk
APLIKASI RAWAT INAP (VB.Net 2008) Peminat silakan hubungi : Email : [email protected] Facebook : [email protected] (Uus Rusmawan) Phone : 0812 8438 1118 Pada bab ini akan dibahas tentang aplikasi
MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1
2017 MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1 Modul praktikum ini berisikan materi praktikum struktur data yang telah dipelajari dalam perkuliahan teori, harapannya mahasiswa dapat memahami dan menerapkan
Form Login Menggunakan Combobox Dengan VB.Net dan MySQL Workbench
Form Login Menggunakan Combobox Dengan VB.Net dan MySQL Workbench Oleh: Hilman Habibi Form login digunakan untuk memprotect program supaya tidak semua orang bisa melihat informasi yang ada pada program
BAHASA PEMROGRAMAN JAVA
MI1274 Algoritma & Pemrograman Lanjut Genap 2015-2016 BAHASA PEMROGRAMAN JAVA Disusun Oleh: Reza Budiawan Untuk: Tim Dosen Algoritma & Pemrograman Lanjut Hanya dipergunakan untuk kepentingan pengajaran
LISTING PROGRAM. namespace NTRUEOF { public class parameterenkripsi { public static readonly parameterenkripsi parameterenkripsi(401, 2048, 113, 60);
A-1 LISTING PROGRAM 1. parameterenkripsi.cs System; System.Collections.Generic; System.Linq; System.Text; System.Threading.Tasks; namespace NTRUEOF public class parameterenkripsi parameterenkripsi(401,
