Anda di halaman 1dari 11

TUGAS PENGUJIAN DAN PENJAMIN MUTU PERANGKAT LUNAK

“Pengujian Basis Path Testing”

Oleh:
Asmarita (150155201002)

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MARITIM RAJA ALI HAJI
TANJUNGPINANG
2019
Pseudocode Pemesanan Menu makanan di Restoran
Deklarasi :
mm, p, bp, sp : integer
hrg : double
diskon, pjk, th, byr : float
Deskripsi :
Begin (1)
Pilihan (2)
Write ( MENU MAKANAN ) (3)
Write ( Masukkan Pilihan Anda ) (4)
Input ( mm ) (5)
Read ( mm ) (6)
If ( mm <= 0 ) OR ( mm > 3 ) then (7)
Write ( Menu tdk ada ) (8)
goto ( Pilihan ) (9)
end if (10)
Pilihan2 (11)
Write ( PORSI ) (12)
Write ( Masukkan Pilihan Anda ) (13)
Input ( p ) (14)
Read ( p ) (15)
If ( p <= 0 ) OR ( p > 3 ) then (16)
Write ( Porsi tdk ada ) (17)
goto ( Pilihan2 ) (18)
end if (19)
write ( Banyak Pesanan Anda ) (20)
input ( bp ) (21)
read ( bp ) (22)
Pilihan3 (23)
Write ( Status Pesanan ) (24)
Write ( Masukkan Pilihan Anda )
Input ( sp ) (25)
Read ( sp ) (26)
If ( sp <= 0 ) OR ( sp > 3 ) then (27)
Write ( status pesanan tdk ada )(28)
goto ( Pilihan3 ) (29)
end if (30)

if ( mm == 1 ) then (31)
if ( p == 1 ) then (32)
hrg  15000 (33)
else if ( p == 2 ) then (34)
hrg  20000 (35)
else (36)
hrg  25000 (37)
end if (38)

if ( mm == 2 ) then (39)
if ( p == 1 ) then (40)
hrg  30000 (41)
else if ( p == 2 ) then (42)
hrg  40000 (43)
else (44)
hrg  50000 (45)
end if (46)
else (47)
if ( mm == 2 ) then (48)
if ( p == 1 ) then (49)
hrg  30000 (50)
else if ( p == 2 ) then (51)
hrg  40000 (52)
else (53)
hrg  50000 (54)
end if (55)

th  bp*hrg (56)
if ( sp == 1 ) then (57)
pjk  10/100. *th (58)
else (59)
pjk  0 (60)
end if (61)
if ( mm == 2 ) AND ( p == 3 ) then (62)
diskon  5./100 *th (63)
else (64)
diskon  0 (65)
end if (66)

byr  th – diskon + pjk (67)

write ( Total Harga ) (68)


write ( Diskon ) (69)
write ( Pajak ) (70)
write ( Bayar ) (71)

End (72)
Implementasi dalam Program C++
#include <cstdlib>
#include <iostream>
using namespace std;

int main(int argc, char *argv[])


{
int mm, p, bp, sp;
double hrg;
float diskon, pjk, th, byr;
pilihan:
cout<<"MENU MAKANAN"<<endl;
cout<<"1. Cap Cay Goreng"<<endl;
cout<<"2. Kakap Asam Manis"<<endl;
cout<<"3. Ayam Geprek"<<endl<<endl;
cout<<"Masukkan Pilihan Anda ";cin>>mm;
if(mm<=0 || mm>3)
{
cout<<"Menu tdk ada"<<endl<<endl<<endl;
goto pilihan;
}
pilihan2:
cout<<endl<<endl;
cout<<"P O R S I"<<endl;
cout<<"1. Kecil"<<endl;
cout<<"2. Sedang"<<endl;
cout<<"3. Besar"<<endl<<endl;
cout<<"Masukkan Pilihan Anda ";cin>>p;
if(p<=0 || p>3)
{
cout<<"Porsi tdk ada"<<endl<<endl<<endl;
goto pilihan2;
}
cout<<endl<<endl;
cout<<"Banyak Pesanan anda ? ";cin>>bp;
cout<<endl<<endl;
pilihan3:
cout<<"STATUS PESANAN"<<endl;
cout<<"1. Makan Di Tempat"<<endl;
cout<<"2. Bawa Pulang"<<endl<<endl;
cout<<"Masukkan Pilihan Anda ? ";cin>>sp;
if(sp<=0 || sp>2)
{
cout<<"Status pesanan tdk ada"<<endl<<endl<<endl;
goto pilihan3;
}
cout<<endl<<endl;
if(mm==1)
{
if(p==1)
hrg=15000;
else if(p==2)
hrg=20000;
else
hrg=25000;
}
else if(mm==2)
{
if(p==1)
hrg=30000;
else if(p==2)
hrg=40000;
else
hrg=50000;
}
else
{
if(p==1)
hrg=20000;
else if(p==2)
hrg=25000;
else
hrg=30000;
}
th=bp*hrg;
if(sp==1)
pjk=10/100. * th;
else
pjk=0;
if(mm==2 && p==3)
diskon=5./100 *th;
else
diskon=0;
byr=th-diskon+pjk;
cout<<"Total Harga = "<<th<<endl;
cout<<"Diskon = "<<diskon<<endl;
cout<<"Pajak = "<<pjk<<endl;
cout<<"Bayar = "<<byr<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}
Pengujian Basis Path Testing
1. Flowgraph dan Cyclomatic Complexity
Dalam program pemesanan makanan di Restoran dibagi menjadi 3 flowgraph yaitu :
a. Flowgraph Pemesanan Makanan

Gambar 1. Flowgraph Pemesanan Makanan

b. Flowgraph Harga Makanan

Gambar 2. Flowgraph Harga Makanan


c. Flowgraph Total Bayar

Gambar 3. Flowgraph Total Bayar

2. Independent Path
Dari perhitungan cyclomatic complexity akan ditentukan independent path, yang mana
independent path dari pemesanan makanan terdiri dari 7 path, 13 path dari harga makanan, dan
3 path dari total bayar. Jadi secara keseluruhan terdapat 23 independent path pada program
pemesanan makanan di restoran yang terdiri dari :
a. Pemesanan Makanan
Path 1: 1-2-3-4-5-6-7-8-10-11-12-13-14-15-16-17-19-20-21-22-23-24-25-26-27-28-30
Path 2: 1-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-19-20-21-22-23-24-25-26-27-29-30
Path 3: 1-2-3-4-5-6-7-9-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-19-20-21-22-23-24-
25-26-27-29-30
Path 4: 1-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-11-12-13-14-15-16-18-19-20-21-
22-23-24-25-26-27-29-30
Path 5: 1-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-19-20-21-22-23-24-25-26-27-29-
23-24-25-26-27-29-30
Path 6: 1-2-3-4-5-6-7-9-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-11-12-13-14-15-16-
18-19-20-21-22-23-24-25-26-27-29-30
Path 7: 1-2-3-4-5-6-7-9-2-3-4-5-6-7-9-10-11-12-13-14-15-16-18-11-12-13-14-15-16-
18-19-20-21-22-23-24-25-26-27-29-23-24-25-26-27-29-30

b. Harga Makanan
Path 1: 31-39-47-55
Path 2: 31-32-34-36-38-39-47-55
Path 3: 31-32-33-38-39-47-55
Path 4: 31-32-34-35-38-39-47-55
Path 5: 31-32-34-36-37-38-39-47-55
Path 6: 31-32-34-36-38-39-40-42-44-46-47-55
Path 7: 31-32-34-36-38-39-40-41-46-47-55
Path 8: 31-32-34-36-38-39-40-42-43-46-47-55
Path 9: 31-32-34-36-38-39-40-42-44-45-46-47-55
Path 10: 31-32-34-36-38-39-40-42-46-47-48-50-52-54-55
Path 11: 31-32-34-36-38-39-40-42-46-47-48-49-54-55
Path 12: 31-32-34-36-38-39-40-42-46-47-48-50-51-54-55
Path 13: 31-32-34-36-38-39-40-42-46-47-48-50-52-53-54-55

c. Total Bayar
Path 1: 56-57-58-61-62-63-66-67-68-69-70-71-72
Path 2: 56-57-58-61-62-64-65-66-67-68-69-70-71-72
Path 3: 56-57-59-60-61-62-64-65-66-67-68-69-70-71-72

3. Study case
Dalam pembuatan study case ini akan dilakukan validasi dengan menguji coba dengan
program. Sehingga kita mengetahui apakah hasil yang diharapkan sesuai dengan hasil aplikasi.
Berikut ini beberapa kode yang digunakan pada skenario pengujian ini, antara lain:
 V (Valid) : menunjukkan bahwa komponen yang membentuk skenario memiliki nilai
yang benar atau valid, sehingga membuat sistem sukses.
 I (Invalid) : menunjukkan bahwa komponen yang membentuk skenario memiliki nilai
yang salah atau invalid.

Study case flowgraph total bayar


 Independent Path 1
 Skenario Uji
Nama skenario : Makan ditempat/bawa pulang
Kondisi : Jika status pesanan = 1 (makan ditempat ) maka dikenakan pajak
10% dari total harga

 Uji coba dengan data

Nama skenario Data Hasil yang diharapkan Hasil Validasi


Makan Mm=1(cap cay Total harga=2x20000 Total harga=40000
ditempat/bawa goreng) =40000 Diskon=0
pulang Porsi=2(sedang) Diskon=0 Pajak=4000
Harga=20000 Pajak=0,1x40000 Bayar=44000 V
Bp=2 =4000
Sp=1(makan Bayar=40000-0+4000
ditempat) =44000
 Independent Path 2
 Skenario Uji
Nama skenario : Makan ditempat/bawa pulang2
Kondisi : Jika status pesanan = 1 (makan ditempat ) maka dikenakan pajak
10% dari total harga,lalu jika memilih menu = 2 (kakap asam manis) dan porsi
= 3 (besar) maka diskon 5% dari total harga

 Uji coba dengan data

Nama skenario Data Hasil yang diharapkan Hasil Valid


asi
Makan Mm=2(kakap Total harga=2*50000 Total harga=100000
ditempat/bawa asam manis) =100000 Diskon=5000
pulang2 Porsi=3(besar) Diskon=0,05*100000 Pajak=10000
Harga=50000 =5000 Bayar=105000
V
Bp=2 Pajak=0,1*100000
Sp=1(makan =10000
ditempat) Bayar=100000-
5000+10000 =105000

 Independent Path 3
 Skenario Uji
Nama skenario : Makan ditempat/bawa pulang3
Kondisi : Jika memilih menu = 2 (kakap asam manis) dan porsi = 3 (besar)
maka diskon 5% dari total harga

 Uji coba dengan data

Nama skenario Data Hasil yang diharapkan Hasil Valid


asi
Makan Mm=2(kakap Total harga=1*50000 Total harga=50000
ditempat/bawa asam manis) =50000 Diskon=2500
pulang3 Porsi=3(besar) Diskon=0,05*2500 Pajak=0
Harga=50000 =2500 Bayar=47500 V
Bp=1 Pajak=0
Sp=2(bawa Bayar=50000-2500+0
pulang) =47500

Keterangan:
Total harga=banyak pesanan* harga
Bayar=Total harga-diskon+pajak
Symbol => mm(memilih menu), bp(banyak pesanan), sp(status pesanan)
Screenshoot Hasil Pengujian
 Independent path 1

 Independent path 2
 Independent path 3

Anda mungkin juga menyukai