61
BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dilakukan implementasi dan pengujian terhadap aplikasi perangkat ajar pengelolaan dan perhitungan ekspresi matematika. Tahapan ini dilakukan
setelah
tahap
perancangan
selesai
dan
selanjutnya
akan
diimplementasikan pada bahasa pemrograman Visual Basic 6.0. Setelah diimplementasikan maka akan dilakukan pengujian terhadap aplikasi yang telah dibuat untuk mengetahui apakah aplikasi bekerja sesuai
dengan apa yang
diharapkan atau tidak.
4.1
IMPLEMENTASI
Implementasi merupakan kelanjutan dari kegiatan perancangan sistem dan dapat dipandang sebagai usaha untuk mewujudkan sistem yang akan dirancang. Pada tahap ini akan dibagi dalam beberapa bagian penting.
4.1.1
Lingkup Implementasi
Lingkup implementasi mencakup lingkup hardware (perangkat keras) dan software (perangkat lunak) yang digunakan penulis untuk mengimplementasikan sistem.
4.1.1.1 Hardware (Perangkat Keras)
Lingkup Hardware merupakan perangkat atau tools yang digunakan pada proses implementasi dari sistem yang telah dibuat. Adapun hardware yang digunakan penulis untuk mengimplementasikan aplikasi ini adalah:
61
62
1.
Processor Intel Core 2 Duo 1.66GHz
2.
RAM 1GB
3.
Hardisk 120 GB
4.
Monitor 15”
5.
Keyboard dan Mouse
4.1.1.2 Software (Perangkat Lunak)
Lingkup software merupakan aplikasi yang digunakan dalam proses implementasi sistem yang telah dibuat. Adapun software yang digunakan untuk mengimplementasikan aplikasi ini adalah sebagai berikut: 1.
Sistem Operasi Windows XP
2.
Microsoft Visual Basic 6.0
4.1.2
Hasil Implementasi
Hasil implementasi yang akan dibahas adalah hasil implementasi pada structure data type dan algoritma serta hasil implementasi pada antarmuka.
4.1.2.1 Implementasi Structure Data Type dan Algoritma
Berikut ini akan dijelaskan secara rinci mengenai implementasi structure data type dan algoritma. Untuk structure data type implementasinya adalah sebagai berikut: Public Const MaxStack = 100 '-- Untuk proses konversi infix ke postfix Public Type TipeStackPostfix Info(MaxStack) As String * 1 Top As Integer End Type
63
'-- Untuk proses konversi infix ke prefix Public Type TipeStackPrefix Info(MaxStack) As String * 1 Top As Integer End Type '-- Untuk proses Evaluasi Public Type TipeStackEvaluasi Info(MaxStack) As Double Top As Integer End Type
Untuk implementasi algoritmanya adalah sebagai berikut: 1.
Pengujian penulisan input notasi infix
'-- Fungsi IsOperator: menguji apakah token merupakan operator '-- Operator terdiri dari "+,-,*,/,^" Public Function IsOperator(token As String) As Boolean Dim result As Boolean Dim p As Integer Dim DafOperator As String DafOperator = "+-*/^" p = InStr(1, DafOperator, token) If p > 0 Then result = True Else result = False End If IsOperator = result End Function '-- Fungsi IsOperand: menguji apakah token merupakan operand '-- Operand terdiri dari huruf A-Z,a-z,0-9 Public Function IsOperand(token As String) As Boolean Dim result As Boolean Dim DafVar As String DafVar = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789" If InStr(1, DafVar, token) > 0 Then result = True Else result = False End If IsOperand = result End Function '-- Fungsi CekNotasi,memeriksa penulisan ekspresi yang benar Public Function CekErrorNotasi(stInfix As String) As Integer Dim SintakSah As Boolean Dim bk, k As Integer Dim token1 As String * 1 Dim token2 As String * 1 Dim token3 As String * 1 Dim token As String * 2 Dim dtSalah, DafSimbol As String Dim bKurung, tKurung As Integer Dim stErr As String Dim Optr1, Opnd1, Opnd2 As Integer
64
CekErrorNotasi = 0 SintakSah = True stInfix = Trim(Replace(stInfix, " ", "")) '-- Menghilangkan spasi DafSimbol = "ABCDEFGHIJKLMNOPQRSTUVWXYZ_ abcdefghijklmnopqrstuvwxyz0123456789+-*/^()" bk = Len(stInfix) bKurung = 0 tKurung = 0 '-- Menguji tanda kurung For k = 1 To bk token1 = Mid(stInfix, k, 1) token2 = Mid(stInfix, k + 1, 1) token3 = Mid(stInfix, bk, 1) If token1 = "(" Then bKurung = bKurung + 1 ElseIf token1 = ")" Then tKurung = tKurung + 1 End If If IsOperand(token1) = True And token2 = "(" Or _ token1 = ")" And IsOperand(token2) = True Then CekErrorNotasi = 1 SintakSah = False End If If token1 = ")" And token2 = "(" Or _ token1 = "(" And token2 = ")" Or _ token1 = ")" And token3 = "(" Then CekErrorNotasi = 2 SintakSah = False End If '-- Menguji simbol yang tak dikenal If (InStr(1, DafSimbol, token1) = 0) Then CekErrorNotasi = 3 SintakSah = False Exit For End If Next k '-- Menguji jumlah tanda kurung If bKurung <> tKurung Then CekErrorNotasi = 4 SintakSah = False End If '-- Menguji penulisan operand dan operator If SintakSah = True Then Optr1 = 0 Opnd1 = 0 Opnd2 = 0 dtSalah = "++ -- ** // ^^ +- -+ +* *+ +/ /+ +^ +^ -* *- -/ /- -^ ^- */ /* *^ ^* /^ ^/" For k = 1 To bk token1 = Mid(stInfix, k, 1) token2 = Mid(stInfix, k + 1, 1) If IsOperator(token1) Then Optr1 = Optr1 + 1 End If If IsOperand(token1)=True And IsOperator(token2)=True Then Opnd1 = Opnd1 + 1 End If
65
If IsOperator(token1)=True And IsOperand(token2)=True Then Opnd2 = Opnd2 + 1 End If '-- Menguji penulisan operator di awal dan akhir notasi If IsOperator(Mid(stInfix, 1, 1)) Or IsOperator(token3) Then CekErrorNotasi = 5 SintakSah = False End If '---Menguji penulisan operator berturut-turut If IsOperator(token1)=True And IsOperator(token2)=True Then token = token1 & token2 If InStr(1, dtSalah, token) > 0 Then CekErrorNotasi = 6 SintakSah = False End If End If Next k '-- Menguji penulisan jika If Optr1 = 0 Then CekErrorNotasi = 7 SintakSah = False '-- Menguji penulisan jika ElseIf Opnd1 = 0 Then CekErrorNotasi = 8 SintakSah = False '-- Menguji penulisan jika ElseIf (Optr1 = 1) And CekErrorNotasi = 9 SintakSah = False End If End If If SintakSah = False Then Select Case CekErrorNotasi Case 1: stErr = "Error 1 : Case 2: stErr = "Error 2 : Case 3: stErr = "Error 3 : Case 4: stErr = "Error 4 : Case 5: stErr = "Error 5 : atau akhir notasi!" Case 6: stErr = "Error 6 : turut!" Case 7: stErr = "Error 7 : Case 8: stErr = "Error 8 : Case 9: stErr = "Error 9 : End Select MsgBox stErr, vbCritical + End If End Function
2.
tidak ada operator
tidak ada operand
notasi kurang operand (Opnd1 = 1) And (Opnd2 = 0) Then
Periksa operator atau tanda kurung!" Periksa tanda kurung!" Terdapat simbol yang tak dikenal!" Periksa jumlah tanda kurung!" Terdapat penulisan operator di awal Terdapat penulisan operator berturutNotasi tidak ada operator!" Notasi tidak ada operand!" Notasi kurang operand!" vbOKOnly, "Pesan Kesalahan"
Konversi notasi infix ke notasi prefix
'-- PushPrefix : menambahkan item ke dalam stack operator Public Sub PushPrefix(ByRef stack As TipeStackPrefix, item As String) If stack.Top >= MaxStack Then MsgBox "Stack Overflow", vbCritical + vbOKOnly, "Error" Exit Sub
66
End If stack.Top = stack.Top + 1 stack.Info(stack.Top) = item End Sub '-- PopPrefix : mengambil elemen top dari stack operand Public Sub PopPrefix(ByRef stack As TipeStackPrefix, ByRef item As String) If stack.Top <= 0 Then MsgBox "Stack Underflow. Stack.top = " & stack.Top, vbCritical + vbOKOnly, "Error" Exit Sub End If item = stack.Info(stack.Top) stack.Top = stack.Top - 1 End Sub '-- Fungsi Preseden : menentukan hierarki/derajat operator Public Function Preseden(token As String) As Integer Dim p As Integer Select Case token Case "+": Preseden = 1 Case "-": Preseden = 1 Case "*": Preseden = 2 Case "/": Preseden = 2 Case "^": Preseden = 3 Case Else: Preseden = 0 End Select End Function '-- Fungsi Prefix : mengkonversikan notasi Infix ke Prefix Public Function Prefix(stInfix As String) As String Dim stHasil As String Dim stack As TipeStackPrefix Dim bk As Integer Dim k As Integer Dim token As String * 1 Dim bukaKurung As String * 1 Dim tutupKurung As String * 1 Dim item As String * 1 bukaKurung = "(" tutupKurung = ")" stHasil = "" stack.Top = 0 PushPrefix stack, tutupKurung stInfix = bukaKurung + Replace(stInfix, " ", "") bk = Len(stInfix) For k = 0 To bk stInfix = Mid(stInfix, 1, bk - k) token = Right(stInfix, 1) If IsOperand(token) Then stHasil = token + stHasil End If If token = tutupKurung Then '-- jika ketemu tutup kurung PushPrefix stack, tutupKurung End If If IsOperator(token) Then stHasil = " , " + stHasil Do item = stack.Info(stack.Top)
67
If Preseden(item) >= Preseden(token) Then PopPrefix stack, item stHasil = " , " + item + stHasil Else Exit Do End If Loop PushPrefix stack, token End If If token = bukaKurung Then '-- jika ketemu buka kurung Do PopPrefix stack, item If item = tutupKurung Then Exit Do Else stHasil = item + " , " + stHasil End If Loop End If Next k Prefix = stHasil End Function
3.
Konversi notasi infix ke notasi postfix
'-- PushPostfix : menambahkan item ke dalam stack operator Public Sub PushPostfix(ByRef stack As TipeStackPostfix, item As String) If stack.Top >= MaxStack Then MsgBox "Stack Overflow", vbCritical + vbOKOnly, "Error" Exit Sub End If stack.Top = stack.Top + 1 stack.Info(stack.Top) = item End Sub '-- PopPostfix : mengambil elemen top dari stack operand Public Sub PopPostfix(ByRef stack As TipeStackPostfix, ByRef item As String) If stack.Top <= 0 Then MsgBox "Stack Underflow. Stack.top = " & stack.Top, vbCritical + vbOKOnly, "Error" Exit Sub End If item = stack.Info(stack.Top) stack.Top = stack.Top - 1 End Sub '-- Fungsi Postfix : mengkonversi notasi Infix ke Postfix Public Function Postfix(stInfix As String) As String Dim stHasil As String Dim stack As TipeStackPostfix Dim bk As Integer Dim k As Integer Dim token As String * 1 Dim bukaKurung As String * 1 Dim tutupKurung As String * 1
68
Dim item As String * 1 bukaKurung = "(" tutupKurung = ")" stHasil = "" stack.Top = 0 PushPostfix stack, bukaKurung stInfix = Replace(stInfix, Chr(32), "") + tutupKurung ' bk = Len(stInfix) For k = 1 To bk token = Mid(stInfix, k, 1) If IsOperand(token) Then stHasil = stHasil + token End If If token = bukaKurung Then '-- jika ketemu buka kurung PushPostfix stack, bukaKurung End If If IsOperator(token) Then stHasil = stHasil + " , " Do item = stack.Info(stack.Top) If Preseden(item) >= Preseden(token) Then PopPostfix stack, item stHasil = stHasil + item + " , " Else Exit Do End If Loop PushPostfix stack, token End If If token = tutupKurung Then '-- jika ketemu tutup kurung Do PopPostfix stack, item If item = bukaKurung Then Exit Do Else stHasil = stHasil + " , " + item End If Loop End If Next k Postfix = stHasil End Function
4.
Evaluasi notasi postfix
'-- PushEval : menambahkan item ke dalam stack operand Public Sub PushEval(ByRef stack As TipeStackEvaluasi, Double) If stack.Top >= MaxStack Then MsgBox "Stack Overflow", vbCritical + vbOKOnly, "Error" Exit Sub End If stack.Top = stack.Top + 1 stack.Info(stack.Top) = item End Sub
item
As
69
'-- PopEval : mengambil elemen top dari stack operator Public Sub PopEval(ByRef stack As TipeStackEvaluasi, ByRef item As Double) If stack.Top <= 0 Then MsgBox "Stack Underflow. Stack.top = " & stack.Top, vbCritical + vbOKOnly, "Error" Exit Sub End If item = stack.Info(stack.Top) stack.Top = stack.Top – 1 End Sub '-- Fungsi Evaluasi : mengevaluasi notasi postfix Public Function EvalPostfix(stPostfix As String) As Double Dim bk As Integer Dim inPostfix As String Dim token As String * 1 Dim token2 As String * 1 Dim stack As TipeStackEvaluasi Dim stPost As String Dim k As Integer Dim Hasil As String Dim stHasil As Double Dim item As Double Dim DafKons As String Dim opLeft As Double Dim opRight As Double DafKons = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" inPostfix = Trim(Replace(stPostfix, " ", "")) bk = Len(inPostfix) Hasil = "" stack.Top = 0 For k = 1 To bk '-- Memeriksa operand dari notasi,jika bkn angka hasil evaluasi=0 token = Mid(inPostfix, k, 1) If InStr(1, DafKons, token) > 0 Then Var = 1 Exit For End If Next k If Var = 1 Then EvalPostfix = 0 Else stPost = inPostfix + ")" bk = Len(stPost) For k = 1 To bk token = Mid(stPost, k, 1) token2 = Mid(stPost, k + 1, 1) If token = ")" Then Exit For End If If IsOperand(token) Then Hasil = Hasil + token End If If token2 = "," And IsOperand(token) Then PushEval stack, CDbl(Hasil) Hasil = "" End If If IsOperator(token) Then PopEval stack, opRight
70
PopEval stack, opLeft Select Case token Case "+": stHasil = Round(opLeft Case "-": stHasil = Round(opLeft Case "*": stHasil = Round(opLeft Case "/": stHasil = Round(opLeft Case "^": stHasil = Round(opLeft End Select PushEval stack, stHasil End If
+ * / ^
opRight, opRight, opRight, opRight, opRight,
2) 2) 2) 2) 2)
Next k PopEval stack, stHasil EvalPostfix = stHasil End If End Function
4.1.2.2 Implementasi Antarmuka
Implementasi antarmuka diimplementasikan pada setiap halaman aplikasi yang dibuat dan pengkodeannya dalam bentuk file program. Berikut ini adalah implementasi antarmuka yang dibuat.
Tabel 4.1 Nama File Antarmuka Form Splash
Nama File Splash.frm
Deskripsi Form untuk menampilkan splash pada saat startup program.
Menu Utama
frmUtama.frm
Form untuk menampilkan menu utama Aplikasi Perangkat Ajar Pengelolaan dan Perhitungan Ekspresi Matematika.
Menu Teori
frmTeori.frm
Form untuk menampilkan modul atau materi keseluruhan.
frmTeoriEkspresi.frm
Form untuk menampilkan modul atau materi berdasarkan isi. Isi materi: ekspresi matematika.
frmTeoriStack.frm
Form untuk menampilkan modul atau materi berdasarkan isi. Isi materi: stack.
71
Tabel 4.1 Nama File Antarmuka ( lanjutan ) Form
Nama File frmTeoriAlgoritma.frm
Deskripsi Form untuk menampilkan modul atau materi berdasarkan isi.
frmTeoriSoal.frm
Isi materi: algoritma. Form untuk menampilkan modul atau materi berdasarkan isi. Isi materi: latihan soal dan jawaban.
Menu
frmKonversi.frm
Form untuk menampilkan menu
frmDemo1.frm
Konversi dan Perhitungan. Merupakan sub menu dari menu
Konversi dan Perhitungan
Konversi dan Perhitungan, digunakan untuk menampilkan form demo simulasi sistem kerja stack konversi notasi infix ke notasi frmDemo2.frm
prefix. Merupakan sub menu dari menu Konversi dan Perhitungan, digunakan untuk menampilkan form demo simulasi sistem kerja stack konversi notasi infix ke notasi
frmDemo3.frm
postfix. Merupakan sub menu dari menu konversi dan Perhitungan, digunakan untuk menampilkan form demo simulasi sistem kerja
Menu Tentang frmAbout.frm
stack evaluasi notasi postfix. Form untuk menampilkan menu
Program Menu Bantuan
frmBantuan.frm
Tentang Program. Form untuk menampilkan menu
ModFungsi.bas
Bantuan. Module yang berisi kode program
ModTampilan.bas
untuk mengatur fungsi. Module yang berisi kode program
-
untuk mengatur tampilan.
72
Untuk implementasi tampilan antarmukanya adalah sebagai berikut:
1.
Form splash Berikut ini adalah implementasi tampilan form splash.
Gambar 4.1 Form Splash
73
2.
Form menu utama Berikut ini adalah implementasi tampilan form menu utama.
Gambar 4.2 Form Menu Utama
74
3.
Form menu teori Berikut ini adalah implementasi tampilan form menu teori.
Gambar 4.3 Form Menu Teori
75
4.
Form menu konversi dan perhitungan Berikut ini adalah implementasi tampilan form menu konversi dan perhitungan.
Gambar 4.4 Form Menu Konversi dan Perhitungan
5.
Form menu simulasi sistem kerja stack Simulasi sistem kerja stack terdiri dari tiga form yaitu form simulasi kerja konversi infix ke prefix, form simulasi kerja konversi infix ke postfix dan form simulasi evaluasi postfix. Berikut ini adalah implementasi tampilan dari ketiga form simulasi sistem kerja stack.
76
Gambar 4.5 Form Simulasi Konversi Infix ke Prefix
Gambar 4.6 Form Simulasi Konversi Infix ke Postfix
Gambar 4.7 Form Simulasi Evaluasi Postfix
77
6.
Form menu tentang program Berikut ini adalah implementasi tampilan form menu tentang program.
Gambar 4.8 Form Menu Tentang Program
7.
Form menu bantuan Berikut ini adalah implementasi tampilan form menu bantuan.
Gambar 4.9 Form Menu Bantuan
78
4.2
PENGUJIAN
Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. Pada bagian ini dilakukan pengujian terhadap aplikasi yang telah dibuat . Metode pengujian yang akan digunakan adalah metode pengujian black box. Metode pengujian black box berfokus pada spesifikasi fungsional dari perangkat lunak yaitu dengan mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program.
4.2.1 Skenario Uji
Berikut ini akan ditampilkan skenario uji dari form konversi dan perhitungan dan form bantuan.
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan No 1
ID
Item Uji
FKP_01 Menguji penulisan input jika tanda tutup kurung “)”
Skenario 1. User menjalankan aplikasi. 2. User memilih menu
diikuti dengan
Konversi dan
operand.
Perhitungan. 3. User mengetik (AA+BB)CC pada kolom input.
4. User memilih tombol Konversi.
Hasil yang diharapkan Akan keluar pesan kesalahan "Error 1 : Periksa operator atau tanda kurung!".
79
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 2
ID
Item Uji
FKP_02 Menguji penulisan input jika operand diikuti dengan
Skenario 1. User menjalankan aplikasi. 2. User memilih menu
tanda buka kurung
Konversi dan
“(“.
Perhitungan.
Hasil yang diharapkan Akan keluar pesan kesalahan "Error 1 : Periksa operator atau tanda kurung!".
3. User mengetik AA(BB-CC) pada kolom input.
4. User memilih tombol Konversi.
3
FKP_03 Menguji penulisan input jika tanda kurung terbalik.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan
Akan keluar pesan kesalahan "Error 2 : Periksa tanda kurung!".
Perhitungan. 3. User mengetik )( pada kolom input.
4. User memilih tombol Konversi.
4
FKP_04 Menguji penulisan input jumlah tanda kurung.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik 100+500)*5 pada kolom input.
4. User memilih tombol Konversi.
Akan keluar pesan kesalahan "Error 4 : Periksa jumlah tanda kurung!".
80
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 5
ID
Item Uji
FKP_05 Menguji penulisan input simbol yang tidak dikenal.
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik AA%A+BB pada
Hasil yang diharapkan Akan keluar pesan kesalahan "Error 3 : Terdapat simbol yang tak dikenal!".
kolom input.
4. User memilih tombol Konversi.
6
FKP_06 Menguji penulisan input operator yang berurutan.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik AAA**BB+CC pada kolom input.
Akan keluar pesan kesalahan "Error 6 : Terdapat penulisan operator berturutturut!".
4. User memilih tombol Konversi.
7
FKP_07 Menguji penulisan input jika operator berada di belakang notasi.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik AAA-BB* pada kolom input. 4. User memilih tombol Konversi.
Akan keluar pesan kesalahan "Error 5 : Terdapat penulisan operator di awal atau akhir notasi!".
81
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 8
ID
Item Uji
FKP_08 Menguji penulisan input jika operator berada di depan notasi.
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik +AAA-BB pada kolom input. 4. User memilih
Hasil yang diharapkan Akan keluar pesan kesalahan "Error 5 : Terdapat penulisan operator di awal atau akhir notasi!".
tombol Konversi.
9
FKP_09 Menguji penulisan input jika notasi tidak ada operand.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan.
Akan keluar pesan kesalahan "Error 8 : Notasi tidak ada operand!".
3. User mengetik + pada kolom input. 4. User memilih tombol Konversi.
10
FKP_10 Menguji penulisan input jika notasi tidak ada operator.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik BBB pada kolom input. 4. User memilih tombol Konversi.
Akan keluar pesan kesalahan "Error 7 : Notasi tidak ada operator!".
82
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 11
ID
Item Uji
FKP_11 Menguji penulisan input jika notasi kurang operand.
Hasil yang
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Konversi dan
diharapkan Akan keluar pesan kesalahan "Error 9 : Notasi kurang operand!".
Perhitungan. 3. User mengetik 1000* pada kolom input. 4. User memilih tombol Konversi.
12
FKP_12 Menguji penulisan input yang valid dengan operand berupa variabel.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik (AA+BB)*CC^D(EE/HH) pada kolom input. 4. User memilih tombol Konversi.
13
FKP_13 Menguji penulisan input yang valid dengan operand berupa angka.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User mengetik (100+25)*2^2125+(1000/2) pada kolom input. 4. User memilih tombol Konversi.
Akan keluar pada kolom output: Prefix = - , * , + , AA , BB , ^ , CC , D , / , EE , HH Postfix = AA , BB , + , CC , D , ^ , * , EE , HH , / ,Evaluasi = 0. Akan keluar pada kolom output: Prefix = - , * , + , 100 , 25 , ^ , 2 , 2 , + , 125 , / , 1000 ,2 Postfix = 100 , 25 ,+,2,2,^,*, 125 , - , 1000 , 2 , /,+ Evaluasi = 875.
83
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 14
ID
Item Uji
FKP_14 Menguji penyimpanan hasil konversi dan evaluasi.
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Konversi dan
Hasil yang diharapkan Hasil konversi dan perhitungan akan tersimpan dalam file text.
Perhitungan. 3. User mengisi kolom input dengan notasi infix yang valid. 4. User memilih tombol konversi. 5. User memilih tombol simpan. 6. User memilih lokasi penyimpanan dan memberi nama file berekstensi txt. 7. User memilih tombol save.
15
FKP_15 Menguji pembatalan penyimpanan hasil
1. User menjalankan aplikasi. 2. User memilih menu
konversi dan
Konversi dan
evaluasi.
Perhitungan. 3. User mengisi kolom input dengan notasi infix yang valid. 4. User memilih tombol konversi. 5. User memilih tombol simpan. 6. User memilih tombol cancel.
Kembali ke menu Konversi dan Perhitungan.
84
Tabel 4.2 Skenario Uji Form Konversi dan Perhitungan (lanjutan) No 16
ID
Item Uji
FKP_16 Menguji input notasi melalui file text.
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User memilih tombol buka file. 4. User memilih file text yang berisi
Hasil yang diharapkan Notasi infix yang tersimpan di dalam file text akan ditampilkan pada kolom input notasi infix dan setelah diklik tombol konversi,
notasi infix yang
kolom output
akan dibuka.
akan terisi oleh
5. User memilih tombol open.
hasil konnversi dan evaluasi.
6. User memilih tombol konversi.
17
FKP_17 Menguji pembatalan input notasi melalui file.
1. User menjalankan aplikasi. 2. User memilih menu Konversi dan Perhitungan. 3. User memilih tombol buka file. 4. User memilih tombol cancel.
Kembali ke menu Konversi dan Perhitungan.
85
Tabel 4.3 Skenario Uji Form Bantuan No 1
ID FB_01
Item Uji Menguji kata kunci dengan huruf kapital semua.
Skenario 1. User menjalankan aplikasi. 2. User memilih menu Bantuan. 3. User mengetik kata kunci pada textbox dengan menggunakan huruf
Hasil yang diharapkan Kata yang ditemukan akan disorot baik kata yang menggunakan huruf kapital atau huruf kecil.
kapital semua. Misal : STACK.
4. User memilih tombol cari.
2
FB_02
Menguji kata kunci dengan huruf kapital pada awal kata
1. User menjalankan aplikasi. 2. User memilih menu Bantuan. 3. User mengetik kata kunci pada textbox dengan menggunakan huruf kapital pada awal kata. Misal : Stack.
4. User memilih tombol cari.
Kata yang ditemukan akan disorot baik kata yang menggunakan huruf besar atau huruf kecil.
86
Tabel 4.3 Skenario Uji Form Bantuan (lanjutan) No 3
ID FB_03
Item Uji Menguji kata kunci
1. User menjalankan
yang tidak akan ditemukan
Hasil yang
Skenario
aplikasi. 2. User memilih menu Bantuan. 3. User mengetik kata kunci pada textbox dengan kata yang tidak akan ditemukan.
diharapkan Kata tidak ditemukan dan akan muncul pesan pemberitahuan bahwa kata yang dicari tidak ditemukan.
Misal : paku.
4. User memilih tombol cari.
4.2.2 Hasil Uji
Berikut ini adalah hasil uji dari skenario-skenario di atas.
Tabel 4.4 Hasil Skenario Uji Form Konversi dan Perhitungan No
ID
Item Uji
Hasil Pengujian
1
FKP_01
Menguji penulisan input jika tanda tutup kurung “)”
Sesuai
diikuti dengan operand.
2
FKP_02
3 4 5 6
FKP_03 FKP_04 FKP_05 FKP_06
7
FKP_07
Menguji penulisan input jika operand diikuti dengan
Sesuai
tanda buka kurung “(“. Menguji penulisan input jika tanda kurung terbalik. Menguji penulisan input jumlah tanda kurung. Menguji penulisan input simbol yang tidak dikenal. Menguji penulisan input operator yang berurutan. Menguji penulisan input jika operator berada di
Sesuai Sesuai Sesuai Sesuai Sesuai
belakang notasi.
8
FKP_08
Menguji penulisan input jika operator berada di depan notasi.
Sesuai
87
Tabel 4.4 Hasil Skenario Uji Form Konversi dan Perhitungan (lanjutan) No
ID
Item Uji
9 10 11
FKP_09 Menguji penulisan input jika notasi tidak ada operand. FKP_10 Menguji penulisan input jika notasi tidak ada operator. FKP_11 Menguji penulisan input jika notasi kurang operand.
12
FKP_12
13
FKP_13
14
FKP_14 Menguji penyimpanan hasil konversi dan evaluasi.
15
FKP_15
16 17
FKP_16 Menguji input notasi melalui file text. FKP_17 Menguji pembatalan input notasi melalui file.
Menguji penulisan input yang valid dengan operand
Hasil Pengujian Sesuai Sesuai Sesuai Sesuai
berupa variabel. Menguji penulisan input yang valid dengan operand
Sesuai
berupa angka. Menguji pembatalan penyimpanan hasil konversi dan
Sesuai Sesuai
evaluasi.
Sesuai Sesuai
Tabel 4.5 Hasil Skenario Uji Form Bantuan No
ID
1
FB_01
2
FB_02
Item Uji Menguji kata kunci dengan huruf kapital semua. Menguji kata kunci dengan huruf kapital pada awal
Hasil Pengujian Sesuai Sesuai
kata
3
4.2.3
FB_03
Menguji kata kunci yang tidak akan ditemukan
Sesuai
Kesimpulan Hasil Pengujian
Berdasarkan hasil pengujian dengan skenario-skenario uji di atas dapat ditarik kesimpulan bahwa sistem sudah berjalan dengan semestinya, output sesuai dengan apa yang diharapkan dan sistem dapat memfilter jika terjadi kesalahankesalahan.