BAB IV IMPLEMENTASI DAN PENGUJIAN Di sini merupakan proses pengkodean dari hasil perancangan yang telah dibuat sebelumnya. Pada tahap ini seolah-olah merupakan proses pemberian nyawa pada sebuah benda/object sehingga benda/object tersebut bisa melakukan tugas sesuai dengan apa yang kita perintahkan.
4.1 Implementasi Perancangan Database Pada implementasi database komputer penulis telah terinstal Navicat, yang berfungsi sebagai database management tools. Berikut tampilan halaman Navicat
Halaman utama Navicat
Tabel-tabel yang di rancang dalam bab sebelumnya diimplementasikan menggunakan Navicat dalam lingkungan sistem operasi Windows 7. Berikut tampilan halaman database:
37
Struktur tabel
Untuk menghubungkan sistem dengan dengan database di Mysql maka di gunakan sintak seperti berikut ini. Public koneksi as new connection With koneksi .type
= ”mysql”
.host
= “localhost”
.login
=”root”
.password
= “yody”
.name
= “stab”
End with
Script di atas menggambarkan salah satu contoh string koneksi ke sebuah database.
38
4.2 Implementasi Program
A. Implementasi Form Menu Utama Form login adalah form yang pertama kali akan tampil saat aplikasi akan digunakan oleh pengguna atau admin. Pada form ini terdapat kotak isian nama dan password. Kotak isian nama diisi dengan nama pengguna dan kotak password diisi dengan password pengguna. Apabila pengguna belum memiliki password maka harus menghubungi administrator untuk melakukan pendaftaran. Berikut ini adalah tampilan form login.
Form Menu Utama
Syntax dari form_load diatas adalah : Private Sub MDIForm_Load() Dim rst As New ADODB.Recordset
frmCalc.Left = frmSheet.Left + frmSheet.Width + 100 frmCalc.Width = Me.Width - frmSheet.Width - 450 frmCalc.Top = frmSheet.Top frmCalc.Show
39
frmSheet.Xtable.SetFocus frmSheet.Height = Me.Height - 1950 frmCalc.Height = Me.Height - 2200 frmSheet.Xtable.Height = frmSheet.Height - 1000 frmSheet.cmdAddRow.Top = frmSheet.Xtable.Height + 500 frmSheet.cmdCalc.Top = frmSheet.Xtable.Height + 500 stBar.Panels(1).Width = (Me.Width * 0.8) stBar.Panels(2).Width = (Me.Width * 0.2) Me.Caption = Me.Caption & " - No Name" DBConnect "localhost", "stab", "root", "yody" rst.CursorLocation = adUseClient rst.Open
"select
*
from
file_header
last_modified desc limit 5", mysqlConn If rst.RecordCount > 0 Then mnuRecent(0).Caption = rst!file_name rst.MoveNext Else mnuRecent(0).Visible = False End If j = 0 While Not rst.EOF j = j + 1 Load mnuRecent(j) mnuRecent(j).Caption = rst!file_name rst.MoveNext Wend rst.Close End Sub
40
order
by
B. Implementasi Form Input Data
Form input data dipanggil oleh pengguna ketika program selesai dibuka, form ini terletak pada menu utama dan otomatis terbuka ketika program dibuka. Pada form ini user diminta untuk input data yang akan dianalisa / dicari persamaan regresi liniernya. Data yang diinput harus berupa angka, jika bukan angka yang diinput maka akan muncul pesan “Invalid value”.
Form input data
41
Syntax dari form diatas adalah : Private Sub Xtable_EditPostValidation(Row As Integer, Col As Integer, Valid As Boolean, OldData As String, NewData As String, LastKey As Integer) If Xtable.TextMatrix(Row, Col) <> "" Then If Not IsNumeric(Xtable.TextMatrix(Row, Col)) Then MsgBox "Invalid value..." Xtable.TextMatrix(Row, Col) = "" frmMain.stBar.Panels(1).Text = "Invalid value..." Xtable.SetFocus Else Refresh_Data Col, Row If data_col1 > 0 Then frmMain.mnuSimpan.Enabled = True frmMain.tBar.Buttons(2).Enabled = True Else frmMain.mnuSimpan.Enabled = False frmMain.tBar.Buttons(2).Enabled = False End If End If End If End Sub
C. Implementasi Tombol “+” Tombol ini digunakan oleh pengguna untuk menambahkan baris pada form input sesuai keinginan penggguna jika diperlukan.
42
Tombol tambah baris
Syntax dari form di atas adalah : Private Sub cmdAddRow_Click() Xtable.AddRow End SubEND
D.
Implementasi Tombol “Calculate” Tombol ”Calculate” akan melakukan proses perhitungan kemudian
menyimpan hasil perhitungan tersebut ke dalam variabel sementara / variabel temporer dan pada yang hampir bersamaan melakukan penulisan ke Rich Text Box.
Tombol Calculate
Syntax dari tombol tersebut di atas adalah : Private Sub cmdCalc_Click() If data_col1 = 0 Then MsgBox "Tidak ada data yang sudah diinput !" Xtable.SetFocus End If
43
If (data_col1 <> data_col2) Or (data_col1 <> data_col3) Or (data_col1 <> data_col4) Then MsgBox "Jumlah data yang diinput tidak seimbang !" Xtable.SetFocus Exit Sub End If frmCalc.GrEdit.Rows = data_col1 + 1 Empty_Total Isi_Table_Bantu If data_col1 > 0 Then Write_Total End Sub
Sub Empty_Total() totY = 0 totX1 = 0 totX2 = 0 totX3 = 0 totYY = 0 totXX1 = 0 totXX2 = 0 totXX3 = 0 totYX1 = 0 totYX2 = 0 totYX3 = 0 totX1X2 = 0 totX1X3 = 0 totX2X3 = 0 EYX1 = 0 EYX2 = 0 EYX3 = 0 EX1X2 = 0 EX1X3 = 0 EX2X3 = 0 Exx1 = 0 Exx2 = 0 Exx3 = 0
44
Eyy = 0 TmpB1 = 0 TmpB2 = 0 End Sub For x = 1 To data_col1 frmCalc.GrEdit.TextMatrix(x, 0) = frmSheet.Xtable.TextMatrix(x, 0) frmCalc.GrEdit.TextMatrix(x, 1) = frmSheet.Xtable.TextMatrix(x, 1) frmCalc.GrEdit.TextMatrix(x, 2) = frmSheet.Xtable.TextMatrix(x, 2) frmCalc.GrEdit.TextMatrix(x, 3) = frmSheet.Xtable.TextMatrix(x, 3) frmCalc.GrEdit.TextMatrix(x, 4) = Val(frmSheet.Xtable.TextMatrix(x, 0)) * Val(frmSheet.Xtable.TextMatrix(x, 0)) frmCalc.GrEdit.TextMatrix(x, 5) = Val(frmSheet.Xtable.TextMatrix(x, 1)) * Val(frmSheet.Xtable.TextMatrix(x, 1)) frmCalc.GrEdit.TextMatrix(x, 6) = Val(frmSheet.Xtable.TextMatrix(x, 2)) * Val(frmSheet.Xtable.TextMatrix(x, 2)) frmCalc.GrEdit.TextMatrix(x, 7) = Val(frmSheet.Xtable.TextMatrix(x, 3)) * Val(frmSheet.Xtable.TextMatrix(x, 3)) frmCalc.GrEdit.TextMatrix(x, 8) = Val(frmSheet.Xtable.TextMatrix(x, 0)) * Val(frmSheet.Xtable.TextMatrix(x, 1)) frmCalc.GrEdit.TextMatrix(x, 9) = Val(frmSheet.Xtable.TextMatrix(x, 0)) * Val(frmSheet.Xtable.TextMatrix(x, 2)) frmCalc.GrEdit.TextMatrix(x, 10) = Val(frmSheet.Xtable.TextMatrix(x, 0)) * Val(frmSheet.Xtable.TextMatrix(x, 3))
45
frmCalc.GrEdit.TextMatrix(x, 11) = Val(frmSheet.Xtable.TextMatrix(x, 1)) * Val(frmSheet.Xtable.TextMatrix(x, 2)) frmCalc.GrEdit.TextMatrix(x, 12) = Val(frmSheet.Xtable.TextMatrix(x, 1)) * Val(frmSheet.Xtable.TextMatrix(x, 3)) frmCalc.GrEdit.TextMatrix(x, 13) = Val(frmSheet.Xtable.TextMatrix(x, 2)) * Val(frmSheet.Xtable.TextMatrix(x, 3)) totY = totY + Val(frmCalc.GrEdit.TextMatrix(x, 0)) totX1 = totX1 + Val(frmCalc.GrEdit.TextMatrix(x, 1)) totX2 = totX2 + Val(frmCalc.GrEdit.TextMatrix(x, 2)) totX3 = totX3 + Val(frmCalc.GrEdit.TextMatrix(x, 3)) totYY = totYY + Val(frmCalc.GrEdit.TextMatrix(x, 4)) totXX1 = totXX1 + Val(frmCalc.GrEdit.TextMatrix(x, 5)) totXX2 = totXX2 + Val(frmCalc.GrEdit.TextMatrix(x, 6)) totXX3 = totXX3 + Val(frmCalc.GrEdit.TextMatrix(x, 7)) totYX1 = totYX1 + Val(frmCalc.GrEdit.TextMatrix(x, 8)) totYX2 = totYX2 + Val(frmCalc.GrEdit.TextMatrix(x, 9)) totYX3 = totYX3 + Val(frmCalc.GrEdit.TextMatrix(x, 10)) totX1X2 = totX1X2 + Val(frmCalc.GrEdit.TextMatrix(x, 11)) totX1X3 = totX1X3 + Val(frmCalc.GrEdit.TextMatrix(x, 12)) totX2X3 = totX2X3 + Val(frmCalc.GrEdit.TextMatrix(x, 13))
Next x End Sub
46
Sub Write_Total() With frmCalc.txtPersamaan
.Text = "" .Font.Size = 13 .SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "Y
= "
.SelText = .SelText & Format$(totY, "#,##0.000") .SelFontName = "Symbol" .SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 0 .SelText = .SelText & " = " & Format$(totX1, "#,##0.000") .SelFontName = "Symbol" .SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & " = " & Format$(totX2, "#,##0.000") .SelFontName = "Symbol" .SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3" .SelCharOffset = 0
47
.SelText = .SelText & " = " & Format$(totX3, "#,##0.000") & vbCrLf .SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "Y" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totYY, "#,##0.000") .SelFontName = "Symbol" .SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 0 .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totXX1, "#,##0.000") .SelFontName = "Symbol" .SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totXX2, "#,##0.000") .SelFontName = "Symbol"
48
.SelText = .SelText & vbTab & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totXX3, "#,##0.000") & vbCrLf
.SelText = "Avg(Y) = " .SelText = .SelText & Format$(totY / data_col1, "#,##0.000") .SelText = .SelText & " Avg(X1) = " .SelText = .SelText & Format$(totX1 / data_col1, "#,##0.000") .SelText = .SelText & " Avg(X2) = " .SelText = .SelText & Format$(totX2 / data_col1, "#,##0.000") .SelText = .SelText & " Avg(X3) = " .SelText = .SelText & Format$(totX3 / data_col1, "#,##0.000") & vbCrLf
.SelUnderline = True .SelBold = True .SelText = "Dengan metode skor deviasi diperoleh hasil sbb : " & vbCrLf .SelUnderline = False .SelBold = False
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "Y" .SelCharOffset = 80
49
.SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totYY, "#,##0.000") & " - (" & Format$(totY, "#,##0.000") & ")" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totYY - ((totY * totY) / data_col1), "#,##0.000") & vbTab Eyy = totYY - ((totY * totY) / data_col1)
.SelFontName = "Symbol" .SelText = .SelText & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0
.SelText = .SelText & "= " & Format$(totXX1, "#,##0.000") & " - (" & Format$(totX1, "#,##0.000") & ")" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totXX1 - ((totX1 * totX1) / data_col1), "#,##0.000") & vbCrLf Exx1 = totXX1 - ((totX1 * totX1) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X"
50
.SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totXX2, "#,##0.000") & " - (" & Format$(totX2, "#,##0.000") & ")" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totXX2 - ((totX2 * totX2) / data_col1), "#,##0.000") & vbTab Exx2 = totXX2 - ((totX2 * totX2) / data_col1)
.SelFontName = "Symbol" .SelText = .SelText & Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totXX3, "#,##0.000") & " - (" & Format$(totX3, "#,##0.000") & ")" .SelCharOffset = 80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totXX3 - ((totX3 * totX3) / data_col1), "#,##0.000") & vbCrLf Exx3 = totXX3 - ((totX3 * totX3) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83)
51
.SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 0 .SelText = .SelText & "Y" .SelText = .SelText & " = " & Format$(totYX1, "#,##0.000") & " - (" & Format$(totX1, "#,##0.000") & " x " & Format$(totY, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totYX1 - ((totY * totX1) / data_col1), "#,##0.000") & vbCrLf EYX1 = totYX1 - ((totY * totX1) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "Y" .SelText = .SelText & " = " & Format$(totYX2, "#,##0.000") & " - (" & Format$(totX2, "#,##0.000") & " x " & Format$(totY, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totYX2 - ((totY * totX2) / data_col1), "#,##0.000") & vbCrLf EYX2 = totYX2 - ((totY * totX2) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3"
52
.SelCharOffset = 0 .SelText = .SelText & "Y" .SelText = .SelText & " = " & Format$(totYX3, "#,##0.000") & " - (" & Format$(totX3, "#,##0.000") & " x " & Format$(totY, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totYX3 - ((totY * totX3) / data_col1), "#,##0.000") & vbCrLf EYX3 = totYX3 - ((totY * totX3) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 0 .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totX1X2, "#,##0.000") & " - (" & Format$(totX2, "#,##0.000") & " x " & Format$(totX1, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totX1X2 - ((totX1 * totX2) / data_col1), "#,##0.000") & vbCrLf EX1X2 = totX1X2 - ((totX1 * totX2) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "1" .SelCharOffset = 0
53
.SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totX1X3, "#,##0.000") & " - (" & Format$(totX3, "#,##0.000") & " x " & Format$(totX1, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totX1X3 - ((totX1 * totX3) / data_col1), "#,##0.000") & vbCrLf EX1X3 = totX1X3 - ((totX1 * totX3) / data_col1)
.SelFontName = "Symbol" .SelText = Chr(83) .SelFontName = "Arial" .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "X" .SelCharOffset = -80 .SelText = .SelText & "3" .SelCharOffset = 0 .SelText = .SelText & "= " & Format$(totX2X3, "#,##0.000") & " - (" & Format$(totX3, "#,##0.000") & " x " & Format$(totX2, "#,##0.000") & ")" .SelText = .SelText & "/" & data_col1 & " = " .SelText = .SelText & Format$(totX2X3 - ((totX2 * totX3) / data_col1), "#,##0.000") & vbCrLf EX2X3 = totX2X3 - ((totX2 * totX3) / data_col1)
.SelText = String$(120, "-") & vbCrLf .SelText = "PERSAMAAN REGRESI LINEAR 3 VARIABEL -> " 'Y = a + b" .SelBold = True .SelColor = RGB(0, 0, 200)
54
.SelText = .SelText & "Y = a + b" .SelCharOffset = -70 .SelText = .SelText & "1" .SelCharOffset = 0 .SelText = .SelText & "X" .SelCharOffset = -70 .SelText = .SelText & "1" .SelCharOffset = 0 .SelText = .SelText & " + b" .SelCharOffset = -70 .SelText = .SelText & "2" .SelCharOffset = 0 .SelText = .SelText & "X" .SelCharOffset = -70 .SelText = .SelText & "2" .SelCharOffset = 0 .SelCharOffset = 0 .SelText = .SelText & " + b" .SelCharOffset = -70 .SelText = .SelText & "3" .SelCharOffset = 0 .SelText = .SelText & "X" .SelCharOffset = -70 .SelText = .SelText & "3" & vbCrLf .SelCharOffset = 0 .SelBold = False .SelColor = RGB(0, 0, 0) .SelText = String$(120, "-") & vbCrLf .SelText = "Untuk mencari koefisien a, b1 , b2 dan b3 digunakan persamaan sbb :" & vbCrLf Persamaan Perhitungan
55
E. Implementasi menu buka file Menu ini berfungsi untuk membuka file project yang pernah dibuat dan disimpan pada proses sebelumnya. File yang akan ditampilkan adalah maksimal 5 item dengan filter yang terakhir dibuka.
Menu Buka File
Syntax dari menu diatas adalah :
Private Sub mnuRecent_Click(Index As Integer) Dim rst As New ADODB.Recordset
Initialize Empty_Total frmCalc.GrEdit.Rows = 1 frmCalc.txtPersamaan.Text = "" rst.CursorLocation = adUseClient
56
rst.Open "select * from file_detail where file_name='" & mnuRecent(Index).Caption & "' order by file_id asc", mysqlConn frmSheet.Xtable.TableClear While Not rst.EOF If rst!y <> 0 Then data_col1 = data_col1 + 1 If rst!X1 <> 0 Then data_col2 = data_col2 + 1 If rst!X2 <> 0 Then data_col3 = data_col3 + 1 If rst!x3 <> 0 Then data_col4 = data_col4 + 1 frmSheet.Xtable.TextMatrix(data_col1, 0) = rst!y frmSheet.Xtable.TextMatrix(data_col1, 1) = rst!X1 frmSheet.Xtable.TextMatrix(data_col1, 2) = rst!X2 frmSheet.Xtable.TextMatrix(data_col1, 3) = rst!x3 rst.MoveNext Wend rst.Close frmMain.Caption = "Stab - " & mnuRecent(Index).Caption End Sub
F. Implementasi Form Grafik Setiap dataset dari variabel yang sudah diinput ke form input data bisa ditampilkan ke dalam sebuah grafik garis. Pada form ini tidak ada filter jika data kosong maka form grafik akan tetap ditampilkan.
57
Form Grafik garis Syntax dari form di atas adalah : Private Sub Form_Load() Me.Width = 7906 Me.Height = 6795 Initialise ChangeGrid End Sub
Private Sub Initialise() SetupGraph SetupDatasets Graph1.Datasets.Item(1).Visible = True Graph1.Datasets.Item(2).Visible = True Graph1.Datasets.Item(3).Visible = True Graph1.Datasets.Item(4).Visible = True
58
End Sub
Private Sub SetupGraph() With Graph1 .BarWidth = 0.8 .FixedPoints = 0 .MaxValue = 100 .MinValue = 0 .XGridInc = 1 .YGridInc = 5 .ShowAxis = False .ShowGrid = True .FadeIn = False .BackColor = RGB(255, 255, 255) .GridColor = RGB(200, 200, 200) End With End Sub
Private Sub SetupDatasets() Dim objDataset
As Dataset
Set objDataset = Graph1.Datasets.Add With objDataset .ShowPoints = True .ShowLines = True .ShowBars = False .ShowCaps = False .LineColor = RGB(0, 0, 255) .PointColor = RGB(150, 150, 255) End With Set objDataset = Graph1.Datasets.Add With objDataset .Visible = False .ShowPoints = True .ShowLines = True .ShowBars = False .ShowCaps = False
59
.LineColor = RGB(255, 0, 0) .PointColor = RGB(255, 150, 150) End With Set objDataset = Graph1.Datasets.Add With objDataset .Visible = False .ShowPoints = True .ShowLines = True .ShowBars = False .ShowCaps = False .LineColor = RGB(0, 255, 0) .PointColor = RGB(150, 255, 150) End With Set objDataset = Graph1.Datasets.Add With objDataset .Visible = False .ShowPoints = True .ShowLines = True .ShowBars = False .ShowCaps = False .LineColor = RGB(0, 0, 0) .PointColor = RGB(150, 255, 50) End With
End Sub
Private Sub ChangeGrid() Dim lngValue
As Long
Dim lngIndex
As Long
Dim j As Integer With Graph1 .Redraw = False
For j = 1 To data_col1 .Datasets.Item(1).Points.Add Val(frmSheet.Xtable.TextMatrix(j, 0))
60
Next j For j = 1 To data_col1 .Datasets.Item(2).Points.Add Val(frmSheet.Xtable.TextMatrix(j, 1)) Next j For j = 1 To data_col1 .Datasets.Item(3).Points.Add Val(frmSheet.Xtable.TextMatrix(j, 2)) Next j For j = 1 To data_col1 .Datasets.Item(4).Points.Add Val(frmSheet.Xtable.TextMatrix(j, 3)) Next j .Redraw = True End With End Sub
G. Implementasi Tombol Toolbar Pada menu toolbar ini terdapat 7 buah tombol dengan masing-masing fungsi sebagai berikut: -
New : berfungsi akan membuat proyek baaru dengan terlebih dahulu mengosongkan semua area / form kemudian merubah nama proyek menjadi ‘No Name’.
-
Save : berfungsi menyimpan data yang pernah diinput ke dalam tabel file_header dan file_detail
-
Clear : membersihkan form input data, form tabel bantu dan text box perhitungan tapa merubah nama proyek.
-
Preview : menampilkan laporan ke layar
-
Cetak : mencetak laporan hasil proses perhitungan ke layar.
-
Exit : keluar dari program.
61
Toolbar
Syntax dari toolbar tersebut adalah : Private Sub tBar_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button Case "New" If data_col1 > 0 Then x = MsgBox("Data yang sudah diinput akan dihapus ? ", vbYesNo) If x = vbYes Then frmSheet.Xtable.TableClear frmCalc.GrEdit.ClearCombo Initialize Empty_Total frmCalc.GrEdit.Rows = 1 frmCalc.txtPersamaan.Text = "" frmMain.Caption = "Stab - No Name" End If End If Case "Clear" If MsgBox("Semua data yang sudah diinput akan dihapus ?", vbYesNo) = vbYes Then frmSheet.Xtable.TableClear frmCalc.GrEdit.Rows = 1
62
frmCalc.txtPersamaan.Text = "" Initialize Empty_Total End If Case "Cetak" frmPrintRtf.PrintForm Case "Graph" frmGraph.Show Case "Preview" frmPrintRtf.RTF2.Locked = True frmPrintRtf.Show frmPrintRtf.RTF2.rtfText = frmCalc.txtPersamaan.TextRTF Case "Save" If InStr(frmMain.Caption, "No Name") > 0 Then FileName = InputBox("Ketikkan nama file", , "Project1") If FileName <> "" Then frmMain.Caption = "Stab - " & FileName Simpan_Project End If Else FileName = InputBox("Ketikkan nama file", , Right$(frmMain.Caption, Len(frmMain.Caption) - 7)) If FileName <> "" Then frmMain.Caption = "Stab - " & FileName Simpan_Project End If End If Case "Exit" End End Select End Sub
4.3 Pengujian Black Box
63
Pengujian black box ini bertujuan untuk menunjukkan fungsi perangkat lunak tentang cara beroperasinya, apakah pemasukan data keluaran telah berjalan sebagaimana yang diharapkan. Metode pengujian black box ini merupakan metode pengujian dengan program kasus pengujian yang berbasis spesifikasi, dan dapat di mulai pada saat pengembangan sistem.
Metode Pengujian Black Box Pengujian metode black box bertujuan menemukan kesalahan dalam kategori: 1. Fungsi-fungsi yang tidak benar atau hilang. 2. Kesalahan tampilan. 3. Kesalahan dalam struktur data. 4. Kesalahan kinerja
64
Skenario pengujian dapat dilihat pada tabel berikut ini.
No
Fungsi
1
Input Data
Kelompok Uji Salah Input
Kasus Uji
Hasil Yang Diharapkan
Memasukkan dataset
Jika yang diinput bukan angka akan muncul pesan "Invalid data"
2
Proses Hitung
Data
Check kelengkapan Data
Proses Hitung
Data Form
5
Clear Input Area Simpan Data
Jika data kosong Bersihkan data
Data
Simpan Data ke database
6
Buka Data
Data
7
Toolbar
Button
8
Toolbar
Button
Buka data yang ada di database Sembunyikan Form tabel bantu Preview laporan
Jika data tidak lengkap/seimbang maka tidak bisa dilakukan proses hitung Muncul pesan "tidak ada data" Semua data yang diinput akan dibersihkan Semua data yang diinput akan disimpan ke dalam database Tampilkan semua data ke form Input Data
3 4
Jika di uncheck maka toolbar akan tidak dimunculkan Tampilkan hasil perhitungan ke layar
Hasil Pengujian
No
Fungsi
1
Input Data
Kelompok Uji Salah Input
Kasus Uji
2
Proses Hitung
Data
Check kelengkapan Data
3
Proses Hitung
Data
Jika data kosong
Memasukkan dataset
65
Hasil Yang Diharapkan Jika yang diinput bukan angka akan muncul pesan "Invalid data" Jika data tidak lengkap/seimban g maka tidak bisa dilakukan proses hitung Muncul pesan "tidak ada data"
Status Sesuai
Sesuai
Sesuai
4
Clear Input Area
Form
Bersihkan data
5
Simpan Data
Data
Simpan Data ke database
6
Buka Data
Data
Buka data yang ada di database
7
Toolbar
Button
Sembunyikan Form tabel bantu
8
Toolbar
Button
Preview laporan
66
Semua data yang diinput akan dibersihkan Semua data yang diinput akan disimpan ke dalam database Tampilkan semua data ke form Input Data Jika di uncheck maka toolbar akan tidak dimunculkan Tampilkan hasil perhitungan ke layar
Sesuai
Sesuai
Sesuai
Sesuai
Sesuai