BAB IV IMPLEMENTASI DAN PENGUJIAN
4.1 IMPLEMENTASI Setelah melakukan analisa dan perancangan terhadap pembuatan aplikasi bantu perhitungan MEP, tahapan selanjutnya adalah tahapan implementasi dan pengujian. Pada tahapan implementasi ini terdapat dua cakupan yang dilakukan terhadap aplikasi bantu tersebut, yaitu cakupan pertama yang berkaitan dengan spesifikasi kebutuhan sistem yang meliputi penggunaan bahasa pemrograman Bolrand Delphi dan komputer serta cakupan implementasi yang kedua berkaitan dengan proses pengkodean desain antarmuka dan hal-hal yang hubungannya dengan pengujian aplikasi bantu perhitungan MEP tersebut.
4.1.1 Lingkungan Implementasi Berikut ini adalah lingkungan sistem dimana aplikasi bantu perhitungan MEP ini dirancang atau dibuat dan diimplementasikan menggunakan bahasa pemrograman Boland Delphi dan Komputer : 1.
Komputer Desktop (Hardware) dengan spesifikasi :
a.
Prosesor Intel Pentium Dual Core CPU 2.0 GHz
b.
Memory DDR 2 RAM 1.50 GB
c.
Harddisk 320 GB
2.
Perangkat Lunak (Software) dengan spesifikasi :
a.
Delphi 7 Second Edition v7.2 yang berplatform Windows
b.
Xampp-win32-1.7.7-VC9
91
92
4.1.2 Pengkodean dan Desain Antarmuka Pada Sub bab ini akan dijelaskan potongan-potongan dari kode sumber program (source code) dan pengaturan form aplikasi bantu perhitungan MEP. Potongan-potongan dari kode sumber program (source code) yang akan dijelaskan mengacu pada analisa bab sebelumnya dimana penulis merancang form login dan source code aplikasi bantu tersebut sebagai berikut : Tabel 4.1 Pengaturan Form Login Komponen Label 1 Label 2 Edit 1 Edit 2 Button 1 Button 2
Properti nama caption nama caption nama nama nama caption nama caption
Nilai label 1 User name label 2 Password Edit 1 Edit 2 button 1 Login button 2 Cancel
Gambar 4.1 Form Login
93
Setelah selesai mendesain form login diatas, penulis memasukan pada halaman kode pemrograman sesuai dengan kode program berikut: Source Code Form Login : procedure Tlogin.Button1Click(Sender: TObject); var role:string; begin if ((Edit1.Text = '') and (Edit2.Text = '')) then MessageBox(0, 'Username dan Password tidak boleh kosong', 'Login Warning', +mb_ok +MB_ICONWARNING) else begin with DataModule1.ADOQuery do begin Close; sql.Clear; sql.Add('SELECT * FROM user WHERE nama="'+Edit1.Text+'" AND password="'+Edit2.Text+'"'); open; if DataModule1.ADOQuery.RecordCount > 0 then begin role := DataModule1.ADOQuery['jabatan']; login.Hide; if (role = 'admin') then begin
94
MessageBox(0, 'Anda login sebagai Admin', 'Login Warning', +mb_ok +MB_ICONWARNING); admin.show; end else begin Kabel.show; end end else begin showmessage ('Username dan password belum ada, silahkan menghubungi admin !!!') ; end; end end end;
Kemudian setelah form login jadi maka penulis membuat form Perhitungan Kabel yang nantinya akan digunakan oleh user (pengguna) untuk perhitungan kapasitas kabel. Berikut ini adalah rancangan form perhitungan kabel dan source codenya untuk form tersebut:
95
Tabel 4.2 Pengaturan Form Perhitungan Kabel Komponen GroupBox 1 GroupBox 2 GroupBox 3 Button 1 Button 2 Button 3 Button 4 Button 5 Button 6 Label 1 Label 2 Label 3 Label 4 Label 5
Properti nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption nama caption
Label 6
nama caption
Label 7
nama caption nama caption nama caption nama nama
Label 8 Label 9 Edit 1 Edit 2
Nilai GroupBox 1 menu GroupBox 2 Breaker GroupBox 3 Catatan Engineer button 1 Breaker button 2 Motor button 3 Dia. Pipa button 4 Grille button 5 Exit button 6 Hitung label 1 Input Beban label 2 Daya Listrik (dlm Watt) label 3 Output label 4 Kapasitas Breaker : label 5 Size Kabel Tembaga (Cu) : label 6 Size Kabel Almunium (Al) : label 7 Cu Bar R/S/T/N : label 8 Cu Bar P/E : label 9 Edit 1 Edit 2
96
Lanjutan Tabel 4.2 Edit 3 Edit 4 Edit 5 Edit 6 Edit 7 RadioButton 1 RadioButton 2
nama nama nama nama nama nama caption nama caption
Edit 3 Edit 4 Edit 5 Edit 6 Edit 7 RadioButton 1 1phase RadioButton 2 3phase
Gambar 4.2 Form Perhitungan Kabel Setelah selesai mendesain form diatas, masukan pada halaman kode pemrograman sesuai dengan kode program berikut: Source Code Form Perhitungan Kabel : var Kabel: TKabel; implementation uses Unitmotor, Unitdiapipa, Unitac, koneksi_login; {$R *.dfm} procedure TKabel.Button1Click(Sender: TObject);
97
begin Kabel.show; end; procedure TKabel.Button2Click(Sender: TObject); begin Motor.show; Kabel.Hide; end; procedure TKabel.Button3Click(Sender: TObject); begin Grille.show; Kabel.Hide; end; procedure TKabel.Button4Click(Sender: TObject); begin Dia_pipa.show; Kabel.Hide; end; procedure TKabel.Button5Click(Sender: TObject); begin if MessageBox(0, 'Anda yakin ingin keluar dari aplikasi ?', 'Warning !!!', +mb_YesNo +MB_ICONWARNING) then Application.Terminate; end;
98
procedure TKabel.Button6Click(Sender: TObject); var input,hasil:real; begin input:=strtoint(edit1.Text); //proses if radioButton1.Checked then hasil:=input/176*1.2; if radioButton2.Checked then hasil:=input/526*1.2; //konversi var input edit2.Text:=floattostr(hasil); // begin query with DataModule1.ADOQuerybreaker do begin Close; SQL.Clear; sql.Add ('SELECT * FROM kabel WHERE (min_breaker = (SELECT MAX(min_breaker) FROM kabel WHERE min_breaker <= "'+Edit2.Text+'") AND max_breaker >= "'+Edit2.Text+'")'); open; if (DataModule1.ADOQuerybreaker.RecordCount > 0) then begin edit3.Text:=DataModule1.ADOQuerybreaker['breaker']; edit4.Text:=DataModule1.ADOQuerybreaker['tembaga']; edit5.Text:=DataModule1.ADOQuerybreaker['almunium']; edit6.Text:=DataModule1.ADOQuerybreaker['RSTN'];
99
edit7.Text:=DataModule1.ADOQuerybreaker['PE']; label9.caption:= DataModule1.ADOQuerybreaker['Keterangan']; end end // end query end; end.
Penggalan source code diatas digunakan sebagai source code untuk memproses nilai masukan (input beban) menjadi keluaran/ output apabila user (pengguna) menekan tombol hitung (mengoperasikan perhitungan) yang ada pada form perhitungan kabel. Dari kode-kode program diatas akan menampilkan keluaran/ output yang terlihat pada gambar berikut :
Gambar 4.3 Output Form Perhitungan Kabel
100
4.2 Pengujian Dalam perancangan aplikasi bantu perhitungan MEP ini perlu dilakukan pengujian aplikasi tersebut sebagai verifikasi atas aplikasi bantu tersebut dirancang. Verifikasi dilakukan untuk mengetahui kemungkinan terjadinya kesalahan dan untuk memastikan fungsi-fungsi yang terdapat pada modul-modul aplikasi bantu tersebut apakah sudah berjalan dengan baik. Tahapan pengujian ini meliputi berbagai skenario pengujian, hasil pengujian dan analisis hasil pengujian. Dalam proses pengujiannya metode yang digunakan adalah Pengujian Black-box. Metode Pengujian Black-box merupakan pengujian dengan metode uji dari persfektif eksternal, tidak ada informasi mengenai struktur internal perangkat lunak baik yang berkaitan dengan desain atau source code program. Pengujian
ini bisa dilakukan baik secara fungsional maupun non-
fungsional; walaupun pada umumnya yang dilakukan kebanyakan secara fungsional. Pengujian ini dapat dilakukan pada semua level uji. Semakin tinggi level yang diuji, semakin besar keharusan untuk melakukan pengujian menggunakan metode Pengujian Black-box. Pengujian tipe ini dapat mendeteksi adanya bagian dari spesifikasi yang diimplementasikan, tetapi tidak bisa mendeteksi keseluruhan kemungkinan kesalahan operasional. 4.2.1 Pengujian Black Box Dalam skenario pengujian ini dilakukan pengujian terhadap tombol-tombol yang terdapat pada aplikasi bantu perhitungan MEP ini. Pada skenario pengujian ini penulis tidak mencantumkan keseluruhan pengujian dan penulis juga
101
menggunakan metode Pengujian Black-box yang lebih jelasnya terdapat pada Tabel 4.3 Skenario Pengujian Form Perhitungan Kabel. Pengujian dengan menggunakan notasi Pengujian Black-box dilakukan dengan menjalankan aplikasi bantu perhitungan MEP ini terlebih dahulu. Kemudian dilakukan pengujian dengan menekan tombol-tombol yang terdapat pada jendela-jendela dari aplikasi bantu tersebut apakah sesuai dengan yang diharapkan dan sesuai dengan fungsinya. Selanjutnya pengujian dilakukan ketika aplikasi sedang berjalan. Adapun skenario pengujian lebih jelasnya terdapat pada tabel skenario pengujian berikut ini : Tabel 4.3 Skenario Pengujian Form Perhitungan Kabel N o
Antar muka yang diuji
status aplikasi
Hasil yang diharapkan
fungsi menu tombol_hitun g
Bagian Antar muka yang diuji menu tombol_hitun g
1
fungsi menu tombol_hitung belum dioperasikan
2
fungsi menu tombol_kabel
menu tombol_kabel
fungsi menu tombol_kabel belum dioperasikan
3
fungsi menu tombol_motor
menu tombol_motor
4
fungsi menu tombol_Dia. pipa
menu tombol_Dia. Pipa
5
fungsi menu tombol_grille
menu tombol_grille
6
fungsi menu tombol_Exit
menu tombol_Exit
fungsi menu tombol_motor belum dioperasikan fungsi menu tombol_Dia. pipa belum dioperasikan fungsi menu tombol_grille belum dioperasikan fungsi menu tombol_Exit belum
pada fungsi output menampilkan nilai keluaran/ output menampilkan form perhitungan kabel & breaker menampilkan form perhitungan motor menampilkan form perhitungan Diameter Pipa menampilkan form perhitungan VAC menampilkan peringatan untuk
102
Lanjutan Tabel 4.3 dioperasikan
meyakinkan user, jika "Ya" maka aplikasi terminate/ keluar, jika "Tidak" maka akan kembali ke form perhitungan semula
4.2.2 Hasil Pengujian Black Box Dalam tahapan ini dilakukan pengujian sama seperti yang ada pada Tabel 4.3 Skenario Pengujian Form Perhitungan Kabel, dengan menambahkan hasil dari pengujian tersebut. Adapun hasil dari skenario pengujian lebih jelasnya terdapat pada tabel hasil skenario pengujian Form Perhitungan Kabel berikut ini : Tabel 4.4 Hasil Skenario Pengujian Form Perhitungan Kabel N o
Antar muka yang diuji
status aplikasi
Hasil
fungsi menu tombol_hitun g
Bagian Antar muka yang diuji menu tombol_hitun g
1
fungsi menu tombol_hitung sudah dioperasikan
2
fungsi menu tombol_kabel
menu tombol_kabel
fungsi menu tombol_kabel sudah dioperasikan
3
fungsi menu tombol_motor
menu tombol_motor
4
fungsi menu tombol_Dia. pipa
menu tombol_Dia. Pipa
5
fungsi menu tombol_grille
menu tombol_grille
fungsi menu tombol_motor sudah dioperasikan fungsi menu tombol_Dia. pipa sudah dioperasikan fungsi menu tombol_grille sudah
pada fungsi output menampilkan nilai keluaran/ output menampilkan form perhitungan kabel & breaker menampilkan form perhitungan motor menampilkan form perhitungan Diameter Pipa menampilkan form perhitungan
103
Lanjutan Tabel 4.4 6
fungsi menu tombol_Exit
menu tombol_Exit
dioperasikan fungsi menu tombol_Exit sudah dioperasikan
VAC menampilkan peringatan untuk meyakinkan user, jika "Ya" maka aplikasi terminate/ keluar, jika "Tidak" maka akan kembali ke form perhitungan semula
Pengujian terhadap aplikasi bantu perhitungan MEP dilakukan dengan menggunakan metode Pengujian Black-box yaitu pengujian dilakukan untuk mengetahui kesalahan dalam lingkup kategori-kategori berikut: 1. Fungsi-fungsi yang tidak benar atau missing (hilang), hasil dari pengujian disini tidak ada fungsi yang tidak benar maupun hilang 2. Kesalahan desain antarmuka, hasil dari pengujian ini tidak ada desain antarmuka yang salah. 3. Kesalahan kinerja dan struktur data, hasil dari pengujian ini data yang diambil sesuai dengan data yang diinginkan. 4. Inisialiasasi dan kesalahan terminasi, hasil dari pengujian ini tidak ada kesalahan terminasi program .
4.2.3 Analisis Hasil Pengujian dengan Black Box Setelah melakukan pengujian maka dapat dianalisis bahwa: 1. Hasil pengujian berdasarkan pada analisis perancangan, sistem berjalan dengan baik dan benar.
104
2. Selama pengujian tombol-tombol atau menu strip item berfungsi dengan baik dan berjalan sesuai dengan fungsi-fungsi yang diinginkan. Hal tersebut terbukti dengan dapat berjalannya seluruh proses analisis perancangan dan implementasi.
4.2.4 Pengujian White Box Pengujian White Box juga dikenal dengan nama glass box, structural, clear box dan
open box testing. Pengujian White Box merupakan teknik
pengujian perangkat lunak guna mengetahui secara detail tentang perangkat lunak yang akan diuji. Pengujian white box adalah metode perancangan uji kasus yang menggunakan struktur kontrol dari perancangan prosedural. Dengan menggunakan pengujian white box, analisis sistem akan memperoleh uji kasus seperti berikut: 1.
Menjamin seluruh independent path di dalam modul akan dikerjakan
sekurang-kurangnya satu kali. 2.
Mengerjakan seluruh keputusan logika.
3.
Mengerjakan seluruh loop yang sesuai dengan batasannya.
4.2.4.1
Pengujian White Box pada Proses Login
Berikut adalah pengujian white box pada proses login : 1
procedure Tlogin.Button1Click(Sender: TObject);
var role:string; 2
3
begin
if ((Edit1.Text = '') and (Edit2.Text = '')) then
105
MessageBox(0, 'Username dan Password tidak boleh kosong', 'Login Warning', +mb_ok +MB_ICONWARNING) 4
else begin with DataModule1.ADOQuery do begin Close; sql.Clear;
5
sql.Add('SELECT * FROM user WHERE nama="'+Edit1.Text+'"
AND password="'+Edit2.Text+'"'); open; 6
if DataModule1.ADOQuery.RecordCount > 0 then Begin
7
role := DataModule1.ADOQuery['jabatan'];
8
login.Hide;
9
if (role = 'admin') then
10
begin
MessageBox(0, 'Anda login sebagai Admin', 'Login Warning', +mb_ok +MB_ICONWARNING); 11
admin.show; End else Begin
12
Kabel.show;
106
end end 13
else begin
showmessage ('Username dan password tidak benar,silahkan masukkan kembali !!!') ; end; 14
end
Berdasarkan pseudocode diatas maka dapat digambarkan diagram alirnya sebagai berikut :
Gambar 4.4 Diagram Alir Algoritma Login
107
Jalur logika (path) yang terjadi pada proses login seperti terlihat di bawah ini: Path 1 : 1-2-3-14 Path 2 : 1-2-4-5-6-13-14 Path 3 : 1-2-4-5-6-7-8-9-10-11-14 Path 4 : 1-2-4-5-6-7-8-9-12-14 Untuk melakukan uji coba basis path di atas digunakan graph matrik. Graph matrik merupakan matrik empat persegi yang mempunyai ukuran yang sama dengan jumlah node pada flowgraph. Adapun graph matrik pada flowgraph proses login diatas adalah sebagai berikut: 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Sum(E)+1
2 1
3
4
1
1
5
6
7
8
9
10
11
12
13
1 1 1
1 1 1 1
1 1
14 n(E)-1 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 4
Gambar 4.5 Graph Matrik Proses Login 4.2.4.2 Pengujian White Box Algoritma Pressure-drop Pipa pada Form Perhitungan Diameter Pipa 1
procedure TForm2.ComboBox1Change(Sender: TObject);
2
begin // begin query with DataModule1.ADOQuerybreaker do
108
begin Close; SQL.Clear; sql.Add ('SELECT * FROM asme WHERE (min_dia = (SELECT MAX(min_dia) FROM asme WHERE min_dia <= "'+Edit3.Text+'") AND max_dia >= "'+Edit3.Text+'")'); open; 3
if (DataModule1.ADOQuerybreaker.RecordCount > 0) then begin
4
if combobox1.Text='40' then begin
5
edit6.Text:=DataModule1.ADOQuerybreaker['sch_40']; end
6
else if combobox1.Text='30' then begin
7
edit6.Text:=DataModule1.ADOQuerybreaker['sch_30']; end
8
else if combobox1.Text='10' then begin
9
edit6.Text:=DataModule1.ADOQuerybreaker['sch_10']; end end
10 11
end; procedure TForm2.Edit6Change(Sender: TObject);
109
var ins_dia,out_dia,wall:real; 12
begin
out_dia:=strtofloat(edit5.text); wall:= strtofloat(edit6.text); ins_dia:=out_dia-(2*wall); //konversi input edit7.Text:=floattostr(ins_dia); end; 13
procedure TForm2.Button6Click(Sender: TObject);
var pd,min_dia,ins_dia,a,b,c:real; 14
begin
min_dia:=strtofloat(edit3.text); ins_dia:=strtofloat(edit7.text)/1000; a:=exp(1.85*ln(min_dia)); b:=exp(1.85*ln(100)); c:=exp(4.87*ln(ins_dia)); pd:=10.67*a/(b*c); //konversi input edit8.Text:=floattostr(pd); end; 15
end.
Berdasarkan pseudocode diatas maka dapat digambarkan diagram alirnya sebagai berikut :
110
Gambar 4.6 Diagram Alir Algoritma Pressure-drop Pipa Jalur logika (path) yang terjadi pada pressure-drop seperti terlihat di bawah ini: Path 1 : 1-2-11-12-13-14-15 Path 2 : 1-2-3-4-5-10-11-12-13-14-15 Path 3 : 1-2-3-6-7-10-11-12-13-14-15 Path 4 : 1-2-3-8-9-10-11-12-13-14-15 Adapun graph matrik pada flowgraph pressure-drop pipa diatas adalah sebagai berikut:
111
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Sum(E)+1
2 1
3
4
5
6
7
8
9
10
1
11
12
13
14
1 1
1
1
1 1 1 1 1 1 1 1 1 1
15 n(E)-1 0 1 2 0 0 0 0 0 0 0 0 0 0 1 0 0 4
Gambar 4.7 Graph Matrik Pressure-drop Pipa 4.2.4.3 Analisis Hasil Pengujian dengan White Box Dari keseluruhan proses pengujian dapat dianalisis bahwa: 1. Aplikasi ini dapat terkoneksi dengan database dimana tidak ada kesalahan dalam proses pengambilan dan menampilkan data. Hal ini terlihat ketika dalam aplikasi mengambil data dari database MEP, data yang ada pada database tersebut dapat ditampilkan sesuai dengan perintah yang ada dalam aplikasi bantu perhitungan MEP ini. 2. Aplikasi dapat memproses nilai input yang dimasukkan oleh user (drafter) dengan benar. 3. Pada form admin proses kelola database MEP ini dapat berjalan dengan baik. Admin dapat menambah, menghapus dan juga dapat merubah database MEP dan hasilnya sesuai dengan yang diingkan. 4.2.5 Analisis Hasil Pengujian dengan Uji Perbandingan Selain dengan menggunakan pengujian Black-Box dan White-Box penulis juga membandingkan hasil perancangan aplikasi bantu perhitungan MEP ini
112
dengan uji perbandingan dengan mengacu pada variabel yaitu waktu dan jumlah gambar yang dihasilkan. Oleh karena itu, skenario uji perbandingan di buat seperti berikut: Perbandingan dengan menggunakan 2 orang drafter sebagai sampel, yaitu drafter A dan drafter B dengan pengalaman kerja dan devisi yang sama. Waktu pengerjaan sama yaitu dari mulai jam 09.00 sampai dengan jam 11.00 dengan menggunakan alat bantu penghitung waktu (stopwatch). Aplikasi bantu perhitungan MEP ini diterapkan pada drafter B dan drafter A tidak menggunakan aplikasi bantu (secara manual). Materi gambar yang dikerjakan sama yaitu dengan ketentuan: 1. Gambar panel gedung 5 lantai (P-5, P-4, P-3, P-2, P-1) yang tergabung dalam satu SDB (Sub Distribution Board). 2. Setiap panel lantai terdiri dari 35 item perhitungan terdiri 15 buah MCB-Box dan 20 group beban listrik. 3. Dikerjakan dengan urutan panel lantai 5 (P-5) dikerjakan terlebih dahulu, kemudian panel lantai 4 (p-4), kemudian panel lantai 3 (P-3), kemudian panel lantai 2 (P-2), kemudian panel lantai 1 (P-1) dan terakhir adalah SDB. 4. Setiap panel lantai dikerjakan dari MCB-Box nomor satu sampai MCB-Box nomor 15 kemudian dilanjutkan mengerjakan group beban listrik nomor satu sampai dengan group beban listrik nomor 20.
113
Tabel 4.5 Perbandingan Penggunaan Aplikasi bantu perhitungan MEP WAKTU
DRAFTER A DRAFTER B JUMLAH ITEM TOTAL ITEM PERSENTASE JUMLAH ITEM TOTAL ITEM PERSENTASE PERHITUNGAN PERHITUNGAN PERHITUNGAN PERHITUNGAN PER 15 MENIT PER 15 MENIT 15 menit 22 22 12.20% 35 35 19.40% 30 menit 18 40 22.20% 36 71 39.50% 45 menit 30 70 38.80% 37 108 60.00% 60 menit 20 90 50.00% 35 143 79.40% 75 menit 21 111 61.60% 37 180 100.00% 90 menit 27 138 76.60% 105 menit 22 160 88.80% 120 menit 20 180 100.00% TOTAL 180 180
(data per tanggal 20 Juni 2012) Dari tabel dapat terlihat bahwa dalam waktu yang sama hasil gambar kerja, lebih banyak drafter yang menggunakan aplikasi bantu perhitungan MEP dari pada drafter yang tidak menggunakan aplikasi bantu. Rata-rata gambar tiap menit untuk drafter yang tidak menggunakan aplikasi adalah : 180 / 120 menit = 1,5 gambar Rata-rata gambar tiap menit untuk drafter yang menggunakan aplikasi adalah : 180 / 75 menit = 2,4 gambar Persentase waktu dan jumlah gambar drafter yang tidak menggunakan aplikasi dengan yang menggunakan aplikasi ini adalah : 1,5 / 2,4 x 100% = 62,5 %