Anda di halaman 1dari 7

FAKULTAS TEKNOLOGI DAN INFORMATIKA

UJIAN AKHIR SEMESTER ANTARA TA. 2020/2021


Sifat Ujian Take Home Test
Jl. Soekarno Hatta No. 643 Bandung
Telp. 022-7320841 Jenis Ujian Teori P 3-5

Kode/Nama Dosen MAR/Marwondo Hari Kamis


Matakuliah Pengujian & Kualitas Perangkat
Tanggal 19 Agustus 2021
Lunak
Kelas Selang Waktu Ujian 3 hari

Baca baik-baik perintah soal, kemudian kerjakan sesuai petunjuk!

1. Jelaskan bagaimana transformasi dari requirements menjadi sebuah rancangan perangkat lunak pada sebuah siklus
pengembangan perangkat lunak!
2. Jelaskan mengapa penjaminan perangkat lunak harus dilakukan! Bagaimana hubungannya dengan siklus
pengembangan perangkat lunak?
3. Jelaskan perbedaan antara pengujian, pengawasan mutu, dan penjaminan perangkat lunak!
4. Berikut adalah kode program :
I. Fungsi untuk mengubah menjadi Title Case
1. Function TCase(s As String) As String
2. Dim x, ss, b As String
3.
4. For i = 1 To Len(s)
5. x = Mid(s, i, 1)
6. If x = " " Then
7. b = UCase(Mid(s, i + 1, 1))
8. ss = ss + x + b
9. i = i + 1
10. Else
11. ss = ss + x
12. End If
13. Next i
14. TCase = UCase(Left(ss, 1)) + Right(ss, Len(ss) - 1)
15. End Function

II. Fungsi untuk mengubah angka menjadi huruf dalam bahasa indonesia
1. function Terbilang2Digit(digitstr : string): string;
2. var
3. strval, strval2, code: integer;
4. begin
5. if length(digitstr) = 1 then
6. begin
7. val(digitstr, strval, code);
8. result := arrTerbilang[strval]
9. end
10. else
11. begin
12. if digitstr[1] = '0' then
13. begin
14. val(digitstr[2], strval, code);
15. result := arrTerbilang[strval];
16. end
17. else if digitstr[1] = '1' then
18. begin
19. val(digitstr[2], strval, code);
20. if digitstr[2] = '0' then
21. result := arrTerbilang[11] + arrTerbilang[12]
22. else if digitstr[2] = '1' then
23. result := arrTerbilang[11] + arrTerbilang[13]
24. else
25. result := arrTerbilang[strval] + ' ' + arrTerbilang[13]
26. end
27. else
28. begin

1 dari 7
29. val(digitstr[1], strval, code);
30. val(digitstr[2], strval2, code);
31. if digitstr[2] = '0' then
32. result := arrTerbilang[strval] + ' ' + arrTerbilang[12]
33. else
34. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] + ' '
+ arrTerbilang[strval2];
35. end;
36. end;
37. end;

a. Buatlah Flow Graph dari kode program tersebut!


b. Tentukan Region!
c. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node!
d. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Predicate Node!
e. Tentukan Independent Path!
f. Buatlah Graph matrix (Connection Matrice)!

“Seseorang yang luar biasa itu selalu sederhana dalam ucapannya, tapi selalu hebat dalam
perbuatannya”

2 dari 7
Nama : Edmar Bangkir N
NPM : 19111061

UTS Pengujian dan Kualitas Perangkat Lunak


1. Jelaskan bagaimana transformasi dari requirements menjadi sebuah rancangan perangkat lunak pada sebuah
siklus pengembangan perangkat lunak!
Jawab:
Hasil dari proses requirements yaitu analisis kebutuhan perangkat lunak berupa analisis 5W 1H selanjutnya
dilakukan proses spesifikasi dimana acuannya adalah proses requrements. Hasil dari proses spesifikasi
adalah penentuan data atau input yang masuk ke perangkat lunak, lalu informasi atau output yang keluar
dari perangkat lunak, dan juga fungsional pada perangkat lunak yaitu fitur fitur utama yang akan diterapkan
pada perangkat lunak.
Selanjutnya dilakukan proses rancangan atau modeling pada perangkat lunak yang akan dibangun

2. Jelaskan mengapa penjaminan perangkat lunak harus dilakukan! Bagaimana hubungannya dengan siklus
pengembangan perangkat lunak?
Penjaminan dilakukan untuk mengantisipasi kesalahan pada langkah demi langkah dalam proses perangkat
lunak. Penjaminan dilakukan di awal sebelum pengujian perangkat lunak dilakukan untuk menjamin setiap
kesalahan dalam pengujian

3. Jelaskan perbedaan antara pengujian, pengawasan mutu, dan penjaminan perangkat lunak
Pengujian perangkat lunak merupakan suatu proses investigasi yang dilakukan untuk mendapatkan
informasi mengenai kualitas dari suatu produk atau layanan yang sedang diuji, atau lebih spesifiknya
software testing adalah proses mengeksekusi suatu program untuk menemukan bug (kesalahan atau cacat).
pengawasan mutu adalah untuk memastikan bahwa perangkat lunak yang dibangun sesuai dengan
keperluan yang sudah didokumentasikan , pengawasan mutu dilakukan di akhir pengujian
Jaminan kualitas perangkat lunak adalah aktivitas pelindung yang diaplikasikan pada seluruh
proses perangkat lunak. untuknya. Prosedur untuk menjamin kesesuaian dengan standar
pengembangan perangkat lunak . dilakukan di awal pengujian untuk menjamin dan mengantisipasi
kesalahan pengujian

4. Berikut adalah kode program :


I. Fungsi untuk mengubah menjadi Title Case
1. Function TCase(s As String) As String
2. Dim x, ss, b As String
3.
4. For i = 1 To Len(s) (1)
5. x = Mid(s, i, 1) (2)
6. If x = " " Then (3)
7. b = UCase(Mid(s, i + 1, 1)) (4)
8. ss = ss + x + b (5)
9. i = i + 1 (6)
10. Else
11. ss = ss + x (7)
12. End If (8)
13. Next i (9)
14. TCase = UCase(Left(ss, 1)) + Right(ss, Len(ss) - 1) (10)
15. End Function (11)
a. Flow Graph
b. Tentukan Region!
c. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node!
d. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Predicate Node!
e. Tentukan Independent Path!

3 dari 7
f. Buatlah Graph matrix (Connection Matrice)!

2 R2 10
3

4 11
5
R1 7
R3
6 8 9
Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node
12 edges – 11 nodes + 2 = 3

Cyclomatic Complexity ( V(G) ) berdasarkan Predicate Node!


2P+1=3

Independent Path
1-2-3-4-5-6-8-9-1-10-11
1-2-3-7-8-9-1-10-11

Graph Matrix
1 1
  1 2 3 4 5 6 7 8 9 0 1
1   1               1  
2     1                
3       1     1        
4         1            
5           1          
6               1      
7               1      
8                 1    
9 1                    
1
0                   1  
1
1                     1

4 dari 7
II. Fungsi untuk mengubah angka menjadi huruf dalam bahasa indonesia
1. function Terbilang2Digit(digitstr : string): string;
2. var
3. strval, strval2, code: integer;
4. begin
5. if length(digitstr) = 1 then (1)
6. Begin
7. val(digitstr, strval, code); (2)
8. result := arrTerbilang[strval] (3)
9. End (4)
10. Else
11. begin
12. if digitstr[1] = '0' then (5)
13. begin
14. val(digitstr[2], strval, code); (6)
15. result := arrTerbilang[strval]; (7)
16. End (8)
17. else if digitstr[1] = '1' then (9)
18. begin
19. val(digitstr[2], strval, code); (10)
20. if digitstr[2] = '0' then (11)
21. result := arrTerbilang[11] + arrTerbilang[12] (12)
22. else if digitstr[2] = '1' then (13)
23. result := arrTerbilang[11] + arrTerbilang[13] (14)
24. Else
25. result := arrTerbilang[strval] + ' ' + arrTerbilang[13] (15)
26. End (16)
27. Else
28. begin
29. val(digitstr[1], strval, code); (17)
30. val(digitstr[2], strval2, code); (18)
31. if digitstr[2] = '0' then (19)
32. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] (20)
33. Else
34. result := arrTerbilang[strval] + ' ' + arrTerbilang[12] + ' ' (21)
+ arrTerbilang[strval2]; (22)
35. end;
36. end;
37. end; (23)

a. Buatlah Flow Graph dari kode program tersebut!


b. Tentukan Region!
c. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node!
d. Hitung Cyclomatic Complexity ( V(G) ) berdasarkan Predicate Node!
e. Tentukan Independent Path!
f. Buatlah Graph matrix (Connection Matrice)!
1
R7
2 5 18
21
17
6
R1 R3
R2 9 19
R4
10
13
11
7 20 22
3 R5 14
15 12
R6
23

5 dari 7
Region

Cyclomatic Complexity ( V(G) ) berdasarkan Edge dan Node


25 edges – 20 nodes + 2 = 7

Cyclomatic Complexity ( V(G) ) berdasarkan Predicate Node!


4P+1=5

Independent Path
1-2-3-23
1-5-6-7-23
1-5-9-10-11-12-23
1-5-9-10-11-13-14-23
1-5-9-10-11-15-23
1-5-17-18-19-20-23
1-5-17-18-21-22-23

Graph Matriks
1 1 1 1 1 1 1 1 1 1 2 2 2 2
  1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
1   1     1                                    
2     1                                        
3                                             1
4                                              
5           1     1               1            
6             1                                
7                                             1
8                                              
9                   1                          
1
0                     1                        
1
1                       1 1   1                
1
2                                             1
1
3                           1                  
1
4                                             1
1
5                                             1
1
6                                              
1
7                                   1          
1
8                                              
1
9                                       1 1    
2
0                                             1
2
1                                           1  
2
2                                             1
2
3                                              
6 dari 7
7 dari 7

Anda mungkin juga menyukai