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 order by 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
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.SelText = Chr(83).SelText =.SelText & "Y = ".SelText =.SelText & Format$(totY, "#,##0.000").SelText =.SelText & vbtab & Chr(83).SelText =.SelText & "1".SelText =.SelText & " = " & Format$(totX1, "#,##0.000").SelText =.SelText & vbtab & Chr(83).SelText =.SelText & " = " & Format$(totX2, "#,##0.000").SelText =.SelText & vbtab & Chr(83).SelText =.SelText & "3" 47
.SelText =.SelText & " = " & Format$(totX3, "#,##0.000") & vbcrlf.seltext = Chr(83).SelText =.SelText & "Y".SelCharOffset = 80.SelText =.SelText & "= " & Format$(totYY, "#,##0.000").SelText =.SelText & vbtab & Chr(83).SelText =.SelText & "1".SelCharOffset = 80.SelText =.SelText & "= " & Format$(totXX1, "#,##0.000").SelText =.SelText & vbtab & Chr(83).SelCharOffset = 80.SelText =.SelText & "= " & Format$(totXX2, "#,##0.000") 48
.SelText =.SelText & vbtab & Chr(83).SelText =.SelText & "3".SelCharOffset = 80.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.SelText = Chr(83).SelText =.SelText & "Y".SelCharOffset = 80 49
.SelText =.SelText & "= " & Format$(totYY, "#,##0.000") & " - (" & Format$(totY, "#,##0.000") & ")".SelCharOffset = 80.SelText =.SelText & "/" & data_col1 & " = ".SelText =.SelText & Format$(totYY - ((toty * toty) / data_col1), "#,##0.000") & vbtab Eyy = totyy - ((toty * toty) / data_col1).seltext =.SelText & Chr(83).SelText =.SelText & "1".SelCharOffset = 80.SelText =.SelText & "= " & Format$(totXX1, "#,##0.000") & " - (" & Format$(totX1, "#,##0.000") & ")".SelCharOffset = 80.SelText =.SelText & "/" & data_col1 & " = ".SelText =.SelText & Format$(totXX1 - ((totx1 * totx1) / data_col1), "#,##0.000") & vbcrlf Exx1 = totxx1 - ((totx1 * totx1) / data_col1).seltext = Chr(83) 50
.SelCharOffset = 80.SelText =.SelText & "= " & Format$(totXX2, "#,##0.000") & " - (" & Format$(totX2, "#,##0.000") & ")".SelCharOffset = 80.SelText =.SelText & "/" & data_col1 & " = ".SelText =.SelText & Format$(totXX2 - ((totx2 * totx2) / data_col1), "#,##0.000") & vbtab Exx2 = totxx2 - ((totx2 * totx2) / data_col1).seltext =.SelText & Chr(83).SelText =.SelText & "3".SelCharOffset = 80.SelText =.SelText & "= " & Format$(totXX3, "#,##0.000") & " - (" & Format$(totX3, "#,##0.000") & ")".SelCharOffset = 80.SelText =.SelText & "/" & data_col1 & " = ".SelText =.SelText & Format$(totXX3 - ((totx3 * totx3) / data_col1), "#,##0.000") & vbcrlf Exx3 = totxx3 - ((totx3 * totx3) / data_col1).seltext = Chr(83) 51
.SelText =.SelText & "1".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).seltext = Chr(83).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).seltext = Chr(83).SelText =.SelText & "3" 52
.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).seltext = Chr(83).SelText =.SelText & "1".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).seltext = Chr(83).SelText =.SelText & "1" 53
.SelText =.SelText & "3".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).seltext = Chr(83).SelText =.SelText & "3".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 = -70.SelText =.SelText & "1".SelText =.SelText & " + b".selcharoffset = -70.SelCharOffset = -70.SelText =.SelText & " + b".selcharoffset = -70.SelText =.SelText & "3".SelCharOffset = -70.SelText =.SelText & "3" & vbcrlf.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 Kelompok Uji Kasus Uji 1 Input Data Salah Input Memasukkan dataset 2 Proses Hitung Data Check kelengkapan Data 3 Proses Hitung Data Jika data kosong 4 Clear Input Area 5 Simpan Data Data Simpan Data ke database Hasil Yang Diharapkan Jika yang diinput bukan angka akan muncul pesan "Invalid data" Jika data tidak lengkap/seimbang maka tidak bisa dilakukan proses hitung Muncul pesan "tidak ada data" Form Bersihkan data Semua data yang diinput akan dibersihkan 6 Buka Data Data Buka data yang ada di database 7 Toolbar Button Sembunyikan Form tabel bantu 8 Toolbar Button Preview laporan 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 Hasil Pengujian No Fungsi Kelompok Uji Kasus Uji 1 Input Data Salah Input Memasukkan dataset 2 Proses Hitung Data Check kelengkapan Data 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 3 Proses Hitung Data Jika data kosong Muncul pesan "tidak ada data" Status Sesuai Sesuai Sesuai 65
4 Clear Input Area Form Bersihkan data Semua data yang diinput akan dibersihkan 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 Semua data yang diinput akan disimpan ke dalam database Tampilkan semua data ke form Input Data Jika di uncheck maka toolbar akan tidak dimunculkan 8 Toolbar Button Preview laporan Tampilkan hasil perhitungan ke layar Sesuai Sesuai Sesuai Sesuai Sesuai 66