BAB IV IMPLEMENTASI DAN PENGUJIAN
Setelah dilakukan tahap analisis dan perancangan sistem, maka tahap selanjutnya yang harus dilakukan adalah pengkodean dan uji coba. Dalam tahap ini pengkodean telah dilakukan dan datanya telah terdapat pada bagian lampiran dari laporan penelitian ini. Oleh karena itu, tahap selanjutnya yang akan dibahas adalah tahap pengujian. Proses pengujian memfokuskan pada tahapa logika perangkat lunak internal yang memastikan bahwa semua pernyataan telah teruji, serta fungsional eksternal yaitu pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang didefinisikan akan menghasilkan output yang dibutuhkan.
4.1 IMPLEMENTASI SISTEM
Pada penelitian ini, implementasi sistem didukung oleh beberapa elemen pendukung, diantarannya adalah perangkat lunak dan perangkat keras. Spesifikasi perangkat lunak dan perangkat keras yang digunakan pada tahap implementasi bukan merupakan spesifikasi optimal, karena tidak dilakukan implementasi menggunakan spesifikasi perangkat lunak perangkat lunak dan perangkat keras yang berbeda dari spesifikasi yang disebutkan berikut ini:
4.1.1 Spesifikasi Perangkat Lunak
Spesifikasi perangkat lunak yang digunakan dalam pengujian sistem ini adalah sebagai berikut:
70
71
1. Sistem operasi Windows XP Professional 2. Microsoft Visual Basic version 6.0 3. Database MySQL version 5.1.33 4. Koneksi databas MyODBC version 5.1.5
4.1.2 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan dalam pengujian sistem ini adalah sebagai berikut: 1. Processor Intel Pentium Dual-Core 1.73 Ghz T2080 2. Memory DDR2 2 GB 3. Display Adapter Standard VGA 4. Harddisk 120 GB 5. Handphone Sony Ericsson K530-i 6. Kabel Data USB 7. SIMCard IM3 Indosat
4.2 PENGUJIAN SISTEM
Pada pengujian ini akan dilakukan uji coba dalam skala lab untuk menguji aplikasi yang telah dibangun. Pengujian ini dilakukan pada satu unit laptop yang telah dikoneksikan dengan handphone dan telah terdapat spesifikasi perangkat lunak dan perangkat keras seperti yang telah diuraikan sebelumnya.
72
4.2.1 Pengujian Login User
Pada saat sistem ini dijalankan oleh admin, maka akan tampil layar untuk melakukan login. Tampilan ini akan selalu tampil ketika sistem baru dijalankan. Kolom username dan password harus diisi sesuai dengan yang telah di daftarkan dalam database sistem ini. Setelah itu, klik tombol login dan sistem akan melakukan pemeriksaan berdasarkan inputan terhadap data yang ada. Tampilan menu login akan terlihat seperti pada gambar dibawah ini:
Gambar 4.1 Halaman Login User
Jika inputan username dan password salah atau tidak ditemukan (tidak berhasil), maka akan muncul pesan seperti gambar dibawah ini:
Gambar 4.2 Login Gagal
73
Jika proses login user berhasil, maka akan tampil ke halaman menu utama dari sistem.
4.2.2 Pengujian Menu Utama dan Setting Koneksi Modem
Setelah berhasil login, maka admin akan masuk ke halaman menu utama dan setting koneksi modem.
Gambar 4.3 Halaman Menu Utama
Sebelum
menggunakan
sistem
ini,
admin
harus
memilih
tipe
Communication Port dan Baudrate terlebih dahulu pada combo box yang tersedia dan kemudian mengklik tombol Tes Koneksi. Jika proses koneksi terhadap modem berjalan lancar, maka status akan berubah menjadi TERHUBUNG seperti gambar berikut ini:
Gambar 4.4 Setting Koneksi Modem
74
Apabila communication port atau baudrate yang dipilih tidak sesuai dengan modem, maka akan muncul pesan bahwa koneksi gagal.
Gambar 4.5 Koneksi Modem Gagal
Sistem tidak akan dapat dilanjutkan untuk proses kirim dan terima sms, karena proses tersebut harus mengakses ke perangkat modem handphone.
4.2.3 Pengujian Menu Maintain Data Karyawan Menu ini dapat diakses walaupun koneksi modem tidak berhasil terhubung. Karena pada prosesnya tidak memerlukan koneksi modem. Menu ini ditampilkan untuk memudahkan fungsi melihat dan memodifikasi terhadap database karyawan dan jenis-jenis tunjangan karyawan. Untuk melihat data yang lain dapat mengganti informasi pada combo box pilihan tabel.
75
Gambar 4.6 Halaman Maintain Data Karyawan
Jika admin ingin melakukan penambahan atau perubahan data dari salah satu pilihan tabel, maka admin mengklik pada baris data yang tampil dihalaman sistem. Seperti gambar berikut ini:
Gambar 4.7 Halaman Update Data Karyawan
76
4.2.4 Pengujian Menu User Login Administratsi login user dari aplikasi ini dilakukan pada menu ini. Untuk melakukan update data dapat langsung mengklik pada baris yang diinginkan dan langsung lakukan perubahan. Setelah itu, klik tombol enter. Pada kolom id tidak perlu dilakukan perubahan, karena otomatis langsung dibentuk oleh sistem.
Gambar 4.8 Halaman Menu User Login
Berikut ini gambar pada saat lakukan update data user login:
Gambar 4.9 Halaman Update User Login
77
4.2.5 Pengujian Menu Kirim SMS Menu ini dapat diakses, apabila status koneksi modem sudah terhubung. Dengan menu ini pengguna dapat mengirimkan informasi sms ke seluruh karyawan yang terdaftar atau bisa langsung memilih salah satu karyawan saja.
Gambar 4.10 Halaman Menu Kirim Sms
Untuk dapat menggunakan menu ini, terlebih dahulu harus mengklik tombol STOP Terima. Dimana berfungsi dihentikannya sistem untuk membaca sms yang masuk dan agar sistem dapat mengirimkan pesan, serta supaya tidak terjadi konfik data. Selanjutnya, admin dapat memilih jenis pengiriman sms ke karyawannya yaitu apakah ke banyak nomor tujuan atau ke satu nomor tujuan.
78
Gambar 4.11 Kirim Sms ke Semua Karyawan
Gambar 4.12 Kirim Sms ke Satu Karyawan Jika proses pengiriman selesai, maka untuk pengaktifkan terima sms kembali. Admin harus mengklik tombol START Terima.
79
Gambar 4.13 Aktifkan Terima Sms dengan Tombol START Terima
4.2.6 Pengunjian Menu Daftar Sms Masuk dan Keluar Menu ini hanya menampilkan informasi sms yang masuk ke dalam sistem dan tidak dapat dilakukan modifikasi data apapun di dalam menu ini.
Gambar 4.14 Halaman Daftar Sms Masuk
80
Menu ini hanya menampilkan informasi sms yang sudah dikirimkan oleh sistem dan tidak dapat dilakukan modifikasi data apapun di dalam menu ini.
Gambar 4.15 Halaman Daftar Sms Keluar
4.3 PENGUJIAN DENGAN BLACK BOX
Pengujian dengan menggunakan metode black box merupakan pengujian program dengan kasus pengujian yang berbasis spesifikasi. Berikut adalah hasil pengujian dengan menggunakan metode black box. Tabel 4.1 Tabel Hasil Pengujian dengan metode Black Box Skenario Pengujian validasi login
Flow User memasukkan username dan password
Pengujian koneksi modem
User memilih jenis port dan baudrate modem
Pengujian maintain data karyawan
User memilih tabel karyawan dan maintain data
Hasil yang diinginkan
Hasil pengujian
User masuk ke halaman utama
Sesuai
Status modem terhubung dan dapat menerima, serta mengirim sms Data pada daftar karyawan tampil dan user dapat melihat
Sesuai
Sesuai
81
Pengujian maintain data user login
Pengujian kirim sms ke satu karyawan
Pengujian kirim sms ke banyak karyawan
karyawan User memilih daftar user login dan maintain data user login User memilih option kirim ke satu karyawan dan pilih satu nama karyawan, serta menginput pesan singkat yang diinginkan User memilih option kirim ke banya karyawan dan menginput pesan singkat yang diinginkan
Pengujian User memilih melihat daftar daftar sms yang sms yang masuk masuk dan keluar dan keluar
hasil inputannya Data pada daftar user login tampil dan user dapat melihat hasil inputannya
Sesuai
Informasi sms terkirim ke satu karyawan yang dituju dan informasi sms tersimpan ke dalam database
Sesuai
Informasi sms terkirim ke semua daftar karyawan yang dituju dan informasi sms tersimpan ke dalam database
Sesuai
Informasi sms yang masuk dan keluar tampil pada halaman
Sesuai
4.4 PENGUJIAN DENGAN WHITE BOX
Pengujian white box biasa disebut juga sebagai glass box, merupakan pengujian cara kerja perangkat lunak secara rinci, karenanya logical path (jalur logika) perangkat lunak akan dites dengan cara mengerjakan kumpulan kondisi dan atau perulangan secara spesifik. Berikut ini pengujian pada proses login. Private Dim Dim Dim
Sub sql log pas
cmd_oke_Click() As String As String As String
log = Trim(txt_login.Text) pas = Trim(txt_pas.Text) If (log = "") Then MsgBox "Isikan Login Anda Dahulu !!!", vbInformation, " Uppss ..." txt_login.SetFocus
82
Exit Sub ElseIf (pas = "") Then MsgBox "Isikan Password Anda Dahulu !!!", vbInformation, " Uppss ..." txt_pas.SetFocus Exit Sub ElseIf (log = "admin") And (pas = "220382") Then 'save_log frmLogin.Hide frmLogin.Refresh txt_login.Text = "" txt_pas.Text = "" frmUtama.stbar1.Panels(1).Text = "User : " & log Exit Sub End If Set rsUser = New ADODB.Recordset sql = "Select * From tbl_user " rsUser.Open sql, cnSms, adOpenStatic, adLockOptimistic With rsUser .MoveFirst .Find "(user) = '" & log & "'" If .EOF Then MsgBox "Maaf, Login Anda Tidak Terdaftar !!!", vbCritical, " Akses Di Tolak ..." txt_login.Text = "" txt_pas.Text = "" txt_login.SetFocus lagi = lagi + 1 If (lagi = 3) Then MsgBox "TERIMA KASIH", vbInformation, " Sorry ..." End End If Else If (!pass = pas) Then frmLogin.Hide frmLogin.Refresh txt_login.Text = "" txt_pas.Text = "" frmUtama.stbar1.Panels(1).Text = "User : " & log MsgBox "Login Succes", vbOKOnly, "Yii Haa !!" Else MsgBox "Maaf, Salah Password !!!", vbCritical, " Akses Di Tolak ..." txt_pas.SetFocus SendKeys "{end}+{home}" lagi = lagi + 1 If (lagi = 3) Then MsgBox "TERIMA KASIH", vbInformation, " Sorry ..." End End If End If End If End With Set rsUser = Nothing End Sub
Berikut ini pengujian pada proses setting koneksi modem. Private Sub cmdKonek_Click() On Error GoTo ErrorModem
83
'pengaturan properties utk mscomm1 pPort = Len(cmbPort.Text) noPort = pPort - 3 noModem = Mid(cmbPort.Text, 4, noPort) baudrate = cmbBaudrate.Text Debug.Print noModem, baudrate With MSComm1 If .PortOpen = True Then .PortOpen = False .InBufferCount = 0 .CommPort = Val(noModem) .Settings = baudrate & ",N,8,1" .InputLen = 0 .RThreshold = 1 .Handshaking = settHShake .PortOpen = True 'memberikan perintah kepada modem melalui mscomm1 waktu = Now Do .Output = "AT" & Chr$(13) Do DoEvents buffer$ = buffer$ & .Input Loop Until InStr(buffer$, "OK") Or InStr(buffer$, "ERROR") Or Now > DateAdd("s", 5, waktu) Loop Until InStr(buffer$, "OK") Or Now > DateAdd("s", 5, waktu) If InStr(buffer$, "OK") Then 'jika hasil perintah mendapat respon (true) lblStatus.Caption = " TERHUBUNG" lblStatus.ForeColor = &HFF0000 status_modem = 1 cmd_aktif Else 'jika hasil perintah mendapat respon (false) status_modem = 0 lblStatus.Caption = " TIDAK TERHUBUNG" lblStatus.ForeColor = &HFF& .PortOpen = True MsgBox "Modem Tidak Dapat Diakses. Coba Cek Peralatan Modem !", vbOKOnly + vbCritical End If .PortOpen = False End With sql = "update tbl_koneksi set port='" baudrate='" & cmbBaudrate.Text & " '" & _ "where id_koneksi='1'" cnSms.Execute (sql)
&
cmbPort.Text
&
"',
Exit Sub ErrorModem: MsgBox "Komunikasi Tidak Terhubung! vbOKOnly + vbCritical lblStatus.Caption = " MODEM ERROR" lblStatus.ForeColor = &HFF& status_modem = 0 End Sub
Coba
Cek
Peralatan
Modem",
84
Berikut ini pengujian pada proses menampilkan data karyawan. Private Sub cmdTabel_Click() frmUtama.Height = 8900 frameTabel.Enabled = True frameTabel.Visible = True If (status_modem = 0) Then cmdLogin.Enabled = False ElseIf (status_modem = 1) Then cmdLogin.Enabled = False cmdKirimSms.Enabled = False cmdSmsMsk.Enabled = False cmdSmsKeluar.Enabled = False End If End Sub Private Sub daftar_tabel() With cmbTabel '.AddItem "- pilih tabel -" .AddItem "Karyawan" .AddItem "Leave" .AddItem "Medical" .AddItem "Hospital" .AddItem "Hotel" .AddItem "Training" End With End Sub Private Sub cmbTabel_Change() list_tabel_pilihan End Sub Private Sub cmbTabel_Click() list_tabel_pilihan End Sub Private Sub list_tabel_pilihan() piltab = Trim(cmbTabel.Text) Set rsTabel = Nothing If (piltab = "Karyawan") Then buat_tabel ("tbl_karyawan") Set dgridTabel.DataSource = rsTabel ElseIf (piltab = "Leave") Then buat_tabel ("tbl_leave") Set dgridTabel.DataSource = rsTabel ElseIf (piltab = "Hospital") Then buat_tabel ("tbl_hospital") Set dgridTabel.DataSource = rsTabel ElseIf (piltab = "Medical") Then buat_tabel ("tbl_medical") Set dgridTabel.DataSource = rsTabel ElseIf (piltab = "Hotel") Then buat_tabel ("tbl_hotel") Set dgridTabel.DataSource = rsTabel ElseIf (piltab = "Training") Then buat_tabel ("tbl_training") Set dgridTabel.DataSource = rsTabel Else MsgBox "Pilihan Nama Tabel Salah, Silahkan Coba Lagi", vbOKOnly + vbCritical End If rsTabel.Requery
85
dgridTabel.Refresh End Sub
Berikut ini pengujian pada proses menampilkan data user login. Private Sub cmdLogin_Click() frmUtama.Height = 8900 frameLogin.Enabled = True frameLogin.Visible = True list_user_login If (status_modem = 0) Then cmdTabel.Enabled = False ElseIf (status_modem = 1) Then cmdTabel.Enabled = False cmdKirimSms.Enabled = False cmdSmsMsk.Enabled = False cmdSmsKeluar.Enabled = False End If End Sub Private Sub list_user_login() koneksi_tbl_user Set dgridLogin.DataSource = rsUser rsUser.Requery dgridLogin.Refresh End Sub Public Sub koneksi_tbl_user() 'On Error Resume Next Set rsUser = Nothing With rsUser Set .ActiveConnection = cnSms .CursorLocation = adUseClient .CursorType = adOpenForwardOnly .LockType = adLockOptimistic .Source = "select * from tbl_user order by id asc" .Open End With End Sub
Berikut ini pengujian pada proses menampilkan kirim sms ke semua atau satu karyawan. Private Sub cmdKirimSms_Click() frmUtama.Height = 8900 frameKirimSms.Enabled = True frameKirimSms.Visible = True If (status_modem = 1) Then cmdTabel.Enabled = False cmdLogin.Enabled = False cmdSmsMsk.Enabled = False cmdSmsKeluar.Enabled = False End If End Sub Private Sub cmdStopTimer_Click() TmrIn.Enabled = False
86
optBroad.Enabled = optOrang.Enabled = txtPesan.Enabled = cmdKirim.Enabled = cmdHapus.Enabled = txtPesan.SetFocus
True True True True True
'Frame3.Enabled = True (ganti option smua & satu karyawan) cmdStartTimer.Enabled = True cmdStopTimer.Enabled = False End Sub Private Sub cmdKirim_Click() If (txtPesan.Text = "") Then MsgBox "Informasi Sms Harus Diisi", vbInformation txtPesan.SetFocus Else If (kirim = 1) Then 'On Error Resume Next cmdKirim.Enabled = False Set rsKosong = rsKirimSms Do Until rsKosong.EOF Kirimsms rsKosong(0), txtPesan.Text sql = "INSERT INTO tbl_message_out VALUES (NULL,'" rsKosong(0) & "', '" & Now() & "', '" & txtPesan.Text & "','TDK') " Debug.Print "Berhasil" Debug.Print sql cnSms.Execute (sql) rsKosong.MoveNext Loop MSComm1.PortOpen = True Set rsKosong = Nothing
&
ElseIf (kirim = 2) Then If (Combo1.Text = "") Then MsgBox "Pilih Nama Karyawan Dahulu", vbCritical Combo1.SetFocus Else ambil_nomor = Mid(Combo1.Text, InStr(Combo1.Text, " - ") + 3, Len(Combo1.Text) - InStr(Combo1.Text, " - ") + 1) Set rsKosong = cnSms.Execute("SELECT * FROM tbl_karyawan where no_hp='" & ambil_nomor & "'") If rsKosong.EOF Then MsgBox "Nomor Handphone Tidak Terdaftar!", vbCritical Combo1.SetFocus Debug.Print "Nomor Tidak Terdaftar" Else 'On Error Resume Next cmdKirim.Enabled = False Kirimsms ambil_nomor, txtPesan.Text sql2 = "INSERT INTO tbl_message_out VALUES (NULL,'" & ambil_nomor & "', '" & Now() & "','" & txtPesan.Text & "', 'TDK') " Debug.Print "Berhasil" Debug.Print sql2 cnSms.Execute (sql2) MSComm1.PortOpen = True Set rsKosong = Nothing End If End If End If End If End Sub
87
Berikut ini pengujian pada proses mengaktifkan sistem terima sms. Private Sub cmdStartTimer_Click() TmrIn.Enabled = True Combo1.Enabled = False optOrang.Value = False optBroad.Value = False txtPesan.Text = "" txtPesan.Enabled = False cmdStartTimer.Enabled = False cmdStopTimer.Enabled = True cmdKirim.Enabled = False cmdHapus.Enabled = False Combo1.Text = " - pilih karyawan - " txtPesan.Text = "" Set dgridKirimSms.DataSource = Nothing dgridKirimSms.Refresh End Sub Private Sub TmrIn_Timer() If (status_modem = 1) Then terima refresh_sms End If End Sub
Berikut ini pengujian pada proses menampilkan sms yang masuk. Private Sub cmdSmsMsk_Click() frmUtama.Height = 8900 frameSmsIn.Enabled = True frameSmsIn.Visible = True refresh_sms_in If (status_modem = 1) Then cmdTabel.Enabled = False cmdLogin.Enabled = False cmdKirimSms.Enabled = False cmdSmsKeluar.Enabled = False End If End Sub Sub refresh_sms_in() Set dgridSmsIn.DataSource = rsSmsIn rsSmsIn.Requery dgridSmsIn.Refresh End Sub
Berikut ini pengujian pada proses menampilkan sms yang keluar. Private Sub cmdSmsKeluar_Click() frmUtama.Height = 8900 frameSmsOut.Enabled = True frameSmsOut.Visible = True refresh_sms_out
88
If (status_modem = 1) Then cmdTabel.Enabled = False cmdLogin.Enabled = False cmdKirimSms.Enabled = False cmdSmsMsk.Enabled = False End If End Sub Sub refresh_sms_out() 'Set rsSmsOut = Nothing Set dgridSmsOut.DataSource = rsSmsOut rsSmsOut.Requery dgridSmsOut.Refresh End Sub