BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1
Implementasi
Pada tahapan ini, hasil dari tahap perancangan diterjemahkan ke dalam bahasa pemrograman. Wujud dari hasil tahap implementasi ini nantinya adalah sebuah sistem yang siap untuk diuji dan dijalankan. Dalam implementasi aplikasi ini dibutuhkan perangkat pendukung diantaranya: 1.
Perangkat Keras Perangkat keras yang digunakan dalam pengembangan perangkat lunak pada tugas akhir ini adalah:
2.
a.
Prosesor inter core i3 @2.10GHz.
b.
RAM 4,00 GB.
c.
Harddisk 500 GB.
Perangkat Lunak Perangkat lunak yang digunakan dalam pembuatan dan pengembangan aplikasi tugas akhir ini adalah: a. Sistem operasi
: Microsoft windows 7.
b. Developer Tools
: Embarcadero RAD Studio XE7
c. Software Pendukung
: Navicat Premium, Notepad ++
4.1.1 Implementasi Database
Script untuk membuat database:
65 http://digilib.mercubuana.ac.id/
66
CREATE TABLE "DATA_BPH" ( "NO" INTEGER, "BPH" TEXT(50) NOT NULL, "BLINEDATE" TEXT(15), "NETDUEDATE" TEXT(15), "AMOUNT" REAL, "ASSIGNMENT" TEXT(100), "SEQDOC" INTEGER, "DESC" TEXT(250), "STATUSADMIN" TEXT(255), "STATUSPIMPINAN" TEXT(255), "STATUSTREASURY" TEXT(255), "UPLOADDATE" TEXT(7), PRIMARY KEY ("BPH" ASC) )
CREATE TABLE "DATA_MENU" ( "MENU" TEXT NOT NULL, "ACTIONNAME" TEXT, PRIMARY KEY ("MENU" ASC) )
CREATE TABLE "DATA_SEQ" ( "SEQNAME" TEXT NOT NULL, "SEQVALUE" INTEGER, PRIMARY KEY ("SEQNAME" ASC) )
CREATE TABLE "DATA_USER" ( "USERID" TEXT(20) NOT NULL, "USERPASSWORD" TEXT(20), "USERNAME" TEXT(50), PRIMARY KEY ("USERID" ASC) )
CREATE TABLE "DATA_USERMENU" ( "MENU" TEXT(20) NOT NULL, "USERID" TEXT(20) NOT NULL, PRIMARY KEY ("MENU" ASC, "USERID" ASC), FOREIGN KEY ("USERID") REFERENCES "DATA_USER" ("USERID") )
http://digilib.mercubuana.ac.id/
67
Gambar 4.1 Relasi database
4.1.2 Implementasi Rancangan Antarmuka
4.1.2.1 Tampilan Menu Login
Gambar 4.2 Menu login
http://digilib.mercubuana.ac.id/
68
Script dalam Menu Login: unit uFormLogin; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, ExtCtrls, acPNG, sButton, sPanel, sSkinProvider, sSkinManager, sLabel, sEdit; type TFormLogin = class(TForm) Panel1: TsPanel; Image1: TImage; cxLabel1: TsLabel; cxLabel2: TsLabel; Panel2: TsPanel; btnOK: TsButton; bntCancel: TsButton; sSkinManager1: TsSkinManager; sSkinProvider1: TsSkinProvider; txtUserID: TsEdit; txtPassword: TsEdit; private { Private declarations } public { Public declarations } end; var FormLogin: TFormLogin; implementation {$R *.dfm} end.
http://digilib.mercubuana.ac.id/
69
4.1.2.2 Tampilan Menu Utama
Gambar 4.3 Menu utama
Script dalam Menu Utama: unit uFormUtama; interface uses Winapi.Windows, System.SysUtils, System.Classes, Vcl.Graphics, Vcl.Forms, Vcl.Controls, Vcl.Menus, Vcl.StdCtrls, Vcl.Dialogs, Vcl.Buttons, Winapi.Messages, Vcl.ExtCtrls, Vcl.ComCtrls, Vcl.StdActns, Vcl.ActnList, Vcl.ToolWin, Vcl.ImgList, System.Actions, sSkinProvider, sSkinManager; type TFormUtama = class(TForm) MenuUtama: TMainMenu; OpenDialog: TOpenDialog; StatusBar: TStatusBar; ImageList1: TImageList; sSkinManager1: TsSkinManager; sSkinProvider1: TsSkinProvider; mnuDataBaru: TMenuItem;
http://digilib.mercubuana.ac.id/
70
mnuAdmin: TMenuItem; mnuPimpinan: TMenuItem; mnuTreasury: TMenuItem; mnuTentang: TMenuItem; private { Private declarations } public { Public declarations } end; var FormUtama: TFormUtama; implementation {$R *.dfm} uses uModulData; { TFormUtama } end.
4.1.2.3 Tampilan Menu Administrator
Gambar 4.4 Menu administrator
http://digilib.mercubuana.ac.id/
71
Potongan Script dalam Menu Administrator: uses uModulData, uFormUserEdit, uFormMenuEdit; procedure TFormAdmin.actAddMenuExecute(Sender: TObject); var oForm: TFormMenuEdit; begin with ModulData do begin qryLookupMenuByUser.Close; qryLookupMenuByUser.Params[0].Value := qryUserUSERID.AsString; qryLookupMenuByUser.Open; oForm := TFormMenuEdit.Create(Self); qryUserMenu.Append; if oForm.ShowModal = mrOK then begin qryUserMenuUSERID.AsString := qryUserUSERID.AsString; qryUserMenuACTIONNAME.AsString := qryLookupMenuByUserACTIONNAME.AsString; qryUserMenu.Post; qryUserMenu.Refresh; end else qryUserMenu.Cancel; end; end; procedure TFormAdmin.actAddUserExecute(Sender: TObject); var oForm: TFormUserEdit; begin with ModulData do begin qryUser.Append; oForm := TFormUserEdit.Create(Self); if oForm.ShowModal = mrOK then begin qryUser.Post; qryUser.Refresh; end else qryUser.Cancel; end; end;
http://digilib.mercubuana.ac.id/
72
4.1.2.4 Tampilan Menu Data Baru
Gambar 4.5 Menu data baru
Potongan script dalam Menu Data Baru: procedure TFormDataBaru.btnUploadClick(Sender: TObject); var oFileXLS: TFileXLS; bRes: Boolean; oForm: TFormKonfirmasiDataBaru; i: integer; oData: TDataBPH; iSeq: integer; begin inherited; if not FileExists(edtFileName.Text) then MessageDlg('File '+edtFileName.Text+' is not exists', mtError, [mbOK], 0); oFileXLS := TFileXLS.Create(edtFileName.Text); //Open Excel File XLSReadWrite.Filename := edtFileName.Text; XLSReadWrite.Read; if ReadDataXLS(oFileXLS) then begin for i := 0 to ListDataXLS.Count - 1 do begin oData := TDataBPH(ListDataXLS.Objects[i]); if not (oData = nil) then begin try cdsTempBPH.Append; cdsTempBPHNO.AsString := oData.No; cdsTempBPHBPH.AsString := oData.BPH; cdsTempBPHTEXT.AsString := oData.Text; cdsTempBPHBLINEDATE.AsString := oData.BLineDate; cdsTempBPHNETDUEDATE.AsString :=
http://digilib.mercubuana.ac.id/
73
oData.NetDueDate; cdsTempBPHAMOUNT.Value := StrToFloat(oData.Amount); cdsTempBPHASSIGNMENT.AsString := oData.Assignment; cdsTempBPH.Post; finally FreeAndNil(oData); end; end; end;
4.1.2.5 Tampilan Menu Pimpinan
Gambar 4.6 Menu pimpinan Potongan script dalam Menu Pimpinan: procedure TFormPimpinan.btnSubmitClick(Sender: TObject); begin inherited; with ModulData do begin if MessageDlg('Anda yakin mengkonfirmasi data seq# '+cbLookupSeq.Text+'?',mtConfirmation,[mbOK, mbCancel],0) = mrOK then begin
http://digilib.mercubuana.ac.id/
74
qryDataPimpinan.DisableControls; qryDataPimpinan.First; while not qryDataPimpinan.Eof do begin qryDataPimpinan.Edit; qryDataPimpinanSTATUSPIMPINAN.AsString := 'Confirm'; qryDataPimpinanSTATUSTREASURY.AsString := 'Need Confirm'; qryDataPimpinan.Post; qryDataPimpinan.Next; end; qryDataPimpinan.EnableControls; MessageDlg('Data Seq# '+cbLookupSeq.Text+' berhasil di confirm', mtInformation,[mbOK],0); PrepareData; qryDataPimpinan.Refresh; end; end; end;
4.1.2.6 Tampilan Menu Treasury
Gambar 4.7 Menu treasury
http://digilib.mercubuana.ac.id/
75
Potongan script dalam Menu Treasury: procedure TFormTreasury.btnRejectClick(Sender: TObject); begin inherited; with ModulData do begin if MessageDlg('Anda yakin mereject data seq# '+cbLookupSeq.Text+'?',mtConfirmation,[mbOK, mbCancel],0) = mrOK then begin qryDataTreasury.DisableControls; qryDataTreasury.First; while not qryDataTreasury.Eof do begin qryDataTreasury.Edit; qryDataTreasurySTATUSTreasury.AsString := 'Reject'; qryDataTreasury.Post; qryDataTreasury.Next; end; qryDataTreasury.EnableControls; MessageDlg('Data Seq# '+cbLookupSeq.Text+' berhasil di reject', mtInformation,[mbOK],0); PrepareData; qryDataTreasury.Refresh; end; end; end;
4.2
Pengujian Sistem
Aplikasi Register Invoice yang telah dibangun dilakukan pengujian dengan metode black box yang memungkinkan serangkaian rekayasa kondisi input sebagai persyaratan fungsional suatu program dimulai dari rencana pengujian hingga rekayasa kasus.
4.2.1 Rencana Pengujian
Pada tahapan rencana pengujian ini akan melakukan pengujian program secara alpha dan beta.
http://digilib.mercubuana.ac.id/
76
Tabel 4.1 Rencana pengujian Item Uji
Jenis Pengujian Verifikasi Login Black Box Tambah dan Ubah User Black Box Upload data, Membuat Sequence Number Black Box Confirm Sequence Number Black Box Confirm Sequence Number Black Box Reject Sequence Number Black Box Reject Sequence Number Black Box Edit, Deleted Record Black Box Hapus Record dan Hapus Sequence Black Box Konfirmasi Logout Black Box Detail Pengujian
Login Add user Membuat Data baru Konfirmasi Pimpinan Konfirmasi Treasury Reject Pimpinan Reject Treasury Update Sequence Deleted No. Sequence Logout
4.2.2 Kasus dan Hasil Pengujian Alpha
Berdasarkan rencana pengujian yang telah disusun, maka dapat dilakukan pengujian sebagai berikut:
1. Login Tabel 4.2 Hasil pengujian login Kasus dan Hasil Uji (Data Normal) Data masukan Harapan Pengamatan Kesimpulan Data masukan Harapan Pengamatan Kesimpulan
Data masukan Harapan Pengamatan Kesimpulan
Username, password, klik OK Berhasil login ke aplikasi menuju Menu Utama. Dapat mengisi data login sesuai dengan harapan. Sukses Tidak ada, klik Cancel Menutup windows login Windows login tertutup setelah klik tombol cancel. Sukses Kasus dan Hasil Uji (Data Salah) Username salah, password salah lalu klik OK Tidak dapat masuk ke aplikasi, notif pesan kesalahan Tidak dapat login, pesan kesalahan muncul sesuai harapan. Sukses
http://digilib.mercubuana.ac.id/
77
2. Add User Tabel 4.3 Hasil pengujian add user Data masukan Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji (Data Normal) Input user ID baru Username dan Password baru telah terbentuk. Username dan Password baru telah terbentuk masuk ke database. Sukses Kasus dan Hasil Uji (Data Salah) Submit dengan field user ID kosong. Tidak terbentuk data user ID baru. Muncul error user ID tidak boleh kosong. Sukses
Data masukan Harapan Pengamatan Kesimpulan 3. Membuat Data Baru
Tabel 4.4 Hasil pengujian membuat data baru Data masukan Harapan Pengamatan Kesimpulan Data masukan Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji (Data Normal) Upload file excel 97-2003 dan membuat sequence number. File excel bisa di-upload, klik submit maka sequence number terbentuk. File excel bisa di-upload, sequence number bisa terbentuk. Sukses Kasus dan Hasil Uji (Data Salah) Upload file excel selain format 97-2003 File excel selain format 97-2003 tidak ditemukan. File tidak ditemukan. Sukses
4. Konfirmasi Pimpinan Tabel 4.5 Hasil pengujian konfirmasi pimpinan Data masukan Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji (Data Normal) Mencari sequence number yang telah terbentuk dan belum di-confirm. Data record muncul pada tampilan menu pimpinan. Data record ditampilkan. Sukses
http://digilib.mercubuana.ac.id/
78
Kasus dan Hasil Uji (Data Salah) Ketik nomor sequence yang belum masuk dalam confirm list. Data record tidak muncul pada tampilan menu pimpinan. Data record tidak ada. Sukses
Data masukan Harapan Pengamatan Kesimpulan 5. Konfirmasi Treasury
Tabel 4.6 Hasil pengujian konfirmasi treasury Data masukan Harapan Pengamatan Kesimpulan Data masukan Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji (Data Normal) Mencari sequence number yang telah terbentuk dan belum di-confirm. Data record muncul pada tampilan menu pimpinan. Data record ditampilkan. Sukses Kasus dan Hasil Uji (Data Salah) Ketik nomor sequence yang belum masuk dalam confirm list. Data record tidak muncul pada tampilan menu pimpinan. Data record tidak ada. Sukses
6. Reject Pimpinan Tabel 4.7 Hasil pengujian reject pimpinan Uji coba Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji Menampilkan data record sequence dan klik tombol Reject. Muncul notifikasi, jika klik OK data hilang dari confirm list Data record ditampilkan, notifikasi muncul, dan data tidak ditampilkan lagi dalam confirm list. Sukses
http://digilib.mercubuana.ac.id/
79
7. Reject Treasury Tabel 4.8 Hasil pengujian reject treasury Uji coba Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji Menampilkan data record sequence dan klik tombol Reject. Muncul notifikasi, jika klik OK data hilang dari confirm list Data record ditampilkan, notifikasi muncul, dan data tidak ditampilkan lagi dalam confirm list. Sukses
8. Update Sequence Tabel 4.9 Hasil pengujian update sequence Uji coba Harapan
Pengamatan
Kesimpulan
Kasus dan Hasil Uji Edit, dan deleted record dari nomor sequence yang direject. Klik edit lalu ubah data yang salah, confirm untuk resubmit, klik delete untuk menghapus record, klik insert untuk menambah record. Edit, Insert, dan Deleted berhasil, status sequence Admin berubah menjadi "Submit" dan status pimpinan menjadi "Need Confirm". Sukses
9. Delete No. Sequence Tabel 4.10 Hasil pengujian delete no. sequence Uji coba Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji Menghapus data sequence. Klik delete muncul notif kemudian OK untuk menghapus data record nomor sequence. Nomor sequence tidak ada di list dan terhapus dari database. Sukses
http://digilib.mercubuana.ac.id/
80
10. Logout Tabel 4.11 Hasil pengujian logout Uji coba Harapan Pengamatan Kesimpulan
Kasus dan Hasil Uji Keluar dari aplikasi Klik tombol logout, muncul notifikasi klik OK dan keluar dari aplikasi Proses Logout berhasil. Sukses
4.2.3 Kesimpulan Hasil Pengujian Alpha
Berdasarkan hasil pengujian dengan kasus sample uji yang telah dilakukan memberikan kesimpulan bahwa pada proses masih memungkinkan untuk terjadinya kesalahan pada sintaks karena penyaringan proses dalam bentuk validasi belum semua dilakukan, tetapi secara fungsional sistem sudah dapat bekerja dan menghasilkan output yang diharapkan.
4.2.4 Kasus dan Hasil Pengujian Beta
Pada tahapan pengujian beta dilakukan secara objektif melalui kuesioner yang diberikan kepada 4 orang responden pengguna aplikasi Register Invoice, yaitu 2 Staff Admin, 1 Supervisor, dan 1 Kasir dengan skala 1 sampai 3 untuk memastikan aplikasi yang dibuat bisa diterima atau tidak oleh pihak instansi perusahaan. Pertanyaan kuesioner yang diajukan adalah sebagai berikut: 1.
Apakah anda setuju aplikasi yang dibangun mempunyai tampilan yang menarik? a) Setuju b) Biasa saja c) Tidak Setuju
2.
Apakah anda setuju aplikasi yang dibangun ini mudah digunakan? a) Setuju b) Biasa saja c) Tidak Setuju
http://digilib.mercubuana.ac.id/
81
3.
Apakah anda setuju aplikasi yang dibangun ini mudah dimengerti? a) Setuju b) Biasa saja c) Tidak Setuju
4.
Apakah anda setuju aplikasi dapat mempermudah dalam pengolahan data pencatatan invoice? a) Setuju b) Biasa saja c) Tidak Setuju
5.
Apakah
anda
setuju
aplikasi
yang
dibangun
dapat
mengurangi
ketergantungan terhadap penggunaan kertas? a) Setuju b) Biasa saja c) Tidak Setuju 6.
Apakah anda setuju aplikasi yang dibangun dapat mengurangi beban opex departemen? a) Setuju b) Biasa saja c) Tidak Setuju
Berdasarkan data hasil kuesioner, dapat dicari prosentase masing-masing jawaban dengan menggunakan rumus: Y = P/Q *100% Keterangan: P = Banyaknya jawaban responden tiap soal Q = Jumlah responden Y = Nilai Prosentase
Maka hasil yang didapat adalah sebagai berikut:
http://digilib.mercubuana.ac.id/
82
Tabel 4.12 Hasil kuesioner. Keterangan Pertanyaan 1 Pertanyaan 2 Pertanyaan 3 Pertanyaan 4 Pertanyaan 5 Pertanyaan 6
Setuju P Y 3 75% 4 100% 4 100% 3 75% 4 100% 4 100%
Biasa Saja P Y 1 25% 0 0% 0 0% 1 25% 0 0% 0 0%
Tidak Setuju P Y 0 0% 0 0% 0 0% 0 0% 0 0% 0 0%
4.2.5 Kesimpulan Pengujian Beta
Dari hasil pengujian yang telah dilakukan dapat disimpulkan bahwa perangkat lunak yang dibangun dinilai menarik, mudah digunakan, mudah dimengerti, dapat membantu pengolahan data, dan yang terpenting adalah perangkat lunak yang dibangun sudah dapat mengurangi biaya operasional pada Finance Operation Department di PT Astra International TBK-TSO Head Office.
http://digilib.mercubuana.ac.id/